[prev in list] [next in list] [prev in thread] [next in thread] 

List:       webkit-changes
Subject:    [webkit-changes] [75199] trunk/WebCore
From:       cmarrin () apple ! com
Date:       2011-01-06 22:26:41
Message-ID: 20110106222643.8B25C6254ACF () beta ! macosforge ! org
[Download RAW message or body]

[Attachment #2 (text/html)]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[75199] trunk/WebCore</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: \
verdana,arial,helvetica,sans-serif; font-size: 10pt;  } #msg dl a { font-weight: \
bold} #msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: \
bold; } #msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: \
6px; } #logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em \
0; } #logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg \
h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; } \
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; \
} #logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: \
-1.5em; padding-left: 1.5em; } #logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em \
1em 0 1em; background: white;} #logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid \
#fa0; border-bottom: 1px solid #fa0; background: #fff; } #logmsg table th { \
text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted \
#fa0; } #logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: \
0.2em 0.5em; } #logmsg table thead th { text-align: center; border-bottom: 1px solid \
#fa0; } #logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: \
6px; } #patch { width: 100%; }
#patch h4 {font-family: \
verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
 #patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, \
#patch .copfile {border:1px solid #ccc;margin:10px 0;} #patch ins \
{background:#dfd;text-decoration:none;display:block;padding:0 10px;} #patch del \
{background:#fdd;text-decoration:none;display:block;padding:0 10px;} #patch .lines, \
                .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a \
href="http://trac.webkit.org/projects/webkit/changeset/75199">75199</a></dd> \
<dt>Author</dt> <dd>cmarrin@apple.com</dd> <dt>Date</dt> <dd>2011-01-06 14:26:35 \
-0800 (Thu, 06 Jan 2011)</dd> </dl>

<h3>Log Message</h3>
<pre>2011-01-06  Chris Marrin  &lt;cmarrin@apple.com&gt;

        Reviewed by Simon Fraser.

        Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
        https://bugs.webkit.org/show_bug.cgi?id=49388

        Changed PlatformCALayer API. Added PlatformCALayerClient abstract class which \
                is
        used to communicate from PlatformCALayer to the owner. This replaces passing
        GraphicsLayerCA pointer when creating PlatformCALayer. It also includes the
        API that used to be in PlatformCALayerLayout. GraphicsLayerCA now implements
        the PlatformCALayerClient API.

        This change has little impact on the Mac side but makes the Windows
        interface simpler, especially when handling video layers on Windows.

        * WebCore.xcodeproj/project.pbxproj:
        * config.h:
        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::layerDidDisplay):
        (WebCore::GraphicsLayer::showDebugBorders):
        (WebCore::GraphicsLayer::showRepaintCounter):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
        (WebCore::GraphicsLayerCA::setContentsToImage):
        (WebCore::GraphicsLayerCA::setContentsToMedia):
        (WebCore::GraphicsLayerCA::layerDidDisplay):
        (WebCore::GraphicsLayerCA::updateSublayerList):
        * platform/graphics/ca/GraphicsLayerCA.h:
        (WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer):
        (WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges):
        (WebCore::GraphicsLayerCA::platformCALayerContentsOrientation):
        (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
        (WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders):
        (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
        (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount):
        (WebCore::GraphicsLayerCA::platformCALayerContentsOpaque):
        (WebCore::GraphicsLayerCA::platformCALayerDrawsContent):
        (WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay):
        (WebCore::GraphicsLayerCA::platformCALayer):
        * platform/graphics/ca/PlatformCALayer.h:
        (WebCore::PlatformCALayer::owner):
        (WebCore::PlatformCALayer::animationStarted):
        * platform/graphics/ca/PlatformCALayerClient.h: Added.
        (WebCore::PlatformCALayerClient::~PlatformCALayerClient):
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::setOwner):
        (PlatformCALayer::create):
        (PlatformCALayer::PlatformCALayer):
        (PlatformCALayer::contents):
        (PlatformCALayer::setContents):
        * platform/graphics/mac/WebGLLayer.mm:
        (-[WebGLLayer display]):
        * platform/graphics/mac/WebLayer.h:
        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents):
        (setLayerNeedsDisplayInRect):
        (-[WebLayer setNeedsDisplay]):
        (-[WebLayer display]):
        * platform/graphics/mac/WebTiledLayer.mm:
        (-[WebTiledLayer setNeedsDisplay]):
        (-[WebTiledLayer display]):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::showDebugBorders):
        (WebCore::RenderLayerBacking::showRepaintCounter):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
        * rendering/RenderLayerCompositor.h:
        (WebCore::RenderLayerCompositor::compositorShowDebugBorders):
        (WebCore::RenderLayerCompositor::compositorShowRepaintCounter):
        (WebCore::RenderLayerCompositor::notifyAnimationStarted):
        (WebCore::RenderLayerCompositor::notifySyncRequired):
        (WebCore::RenderLayerCompositor::paintContents):
        (WebCore::RenderLayerCompositor::showDebugBorders):
        (WebCore::RenderLayerCompositor::showRepaintCounter):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkWebCoreChangeLog">trunk/WebCore/ChangeLog</a></li>
<li><a href="#trunkWebCoreWebCorexcodeprojprojectpbxproj">trunk/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
 <li><a href="#trunkWebCoreconfigh">trunk/WebCore/config.h</a></li>
<li><a href="#trunkWebCoreplatformgraphicsGraphicsLayerh">trunk/WebCore/platform/graphics/GraphicsLayer.h</a></li>
 <li><a href="#trunkWebCoreplatformgraphicscaGraphicsLayerCAcpp">trunk/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp</a></li>
 <li><a href="#trunkWebCoreplatformgraphicscaGraphicsLayerCAh">trunk/WebCore/platform/graphics/ca/GraphicsLayerCA.h</a></li>
 <li><a href="#trunkWebCoreplatformgraphicscaPlatformCALayerh">trunk/WebCore/platform/graphics/ca/PlatformCALayer.h</a></li>
 <li><a href="#trunkWebCoreplatformgraphicscamacPlatformCALayerMacmm">trunk/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm</a></li>
 <li><a href="#trunkWebCoreplatformgraphicsmacWebGLLayermm">trunk/WebCore/platform/graphics/mac/WebGLLayer.mm</a></li>
 <li><a href="#trunkWebCoreplatformgraphicsmacWebLayerh">trunk/WebCore/platform/graphics/mac/WebLayer.h</a></li>
 <li><a href="#trunkWebCoreplatformgraphicsmacWebLayermm">trunk/WebCore/platform/graphics/mac/WebLayer.mm</a></li>
 <li><a href="#trunkWebCoreplatformgraphicsmacWebTiledLayermm">trunk/WebCore/platform/graphics/mac/WebTiledLayer.mm</a></li>
 <li><a href="#trunkWebCorerenderingRenderLayerBackingcpp">trunk/WebCore/rendering/RenderLayerBacking.cpp</a></li>
 <li><a href="#trunkWebCorerenderingRenderLayerCompositorcpp">trunk/WebCore/rendering/RenderLayerCompositor.cpp</a></li>
 <li><a href="#trunkWebCorerenderingRenderLayerCompositorh">trunk/WebCore/rendering/RenderLayerCompositor.h</a></li>
 </ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkWebCoreplatformgraphicscaPlatformCALayerClienth">trunk/WebCore/platform/graphics/ca/PlatformCALayerClient.h</a></li>
 </ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/ChangeLog (75198 => 75199)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/ChangeLog	2011-01-06 22:07:41 UTC (rev 75198)
+++ trunk/WebCore/ChangeLog	2011-01-06 22:26:35 UTC (rev 75199)
</span><span class="lines">@@ -1,3 +1,79 @@
</span><ins>+2011-01-06  Chris Marrin  &lt;cmarrin@apple.com&gt;
+
+        Reviewed by Simon Fraser.
+
+        Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
+        https://bugs.webkit.org/show_bug.cgi?id=49388
+
+        Changed PlatformCALayer API. Added PlatformCALayerClient abstract class \
which is +        used to communicate from PlatformCALayer to the owner. This \
replaces passing +        GraphicsLayerCA pointer when creating PlatformCALayer. It \
also includes the +        API that used to be in PlatformCALayerLayout. \
GraphicsLayerCA now implements +        the PlatformCALayerClient API.
+
+        This change has little impact on the Mac side but makes the Windows
+        interface simpler, especially when handling video layers on Windows.
+
+        * WebCore.xcodeproj/project.pbxproj:
+        * config.h:
+        * platform/graphics/GraphicsLayer.h:
+        (WebCore::GraphicsLayer::layerDidDisplay):
+        (WebCore::GraphicsLayer::showDebugBorders):
+        (WebCore::GraphicsLayer::showRepaintCounter):
+        * platform/graphics/ca/GraphicsLayerCA.cpp:
+        (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
+        (WebCore::GraphicsLayerCA::setContentsToImage):
+        (WebCore::GraphicsLayerCA::setContentsToMedia):
+        (WebCore::GraphicsLayerCA::layerDidDisplay):
+        (WebCore::GraphicsLayerCA::updateSublayerList):
+        * platform/graphics/ca/GraphicsLayerCA.h:
+        (WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer):
+        (WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges):
+        (WebCore::GraphicsLayerCA::platformCALayerContentsOrientation):
+        (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
+        (WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders):
+        (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
+        (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount):
+        (WebCore::GraphicsLayerCA::platformCALayerContentsOpaque):
+        (WebCore::GraphicsLayerCA::platformCALayerDrawsContent):
+        (WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay):
+        (WebCore::GraphicsLayerCA::platformCALayer):
+        * platform/graphics/ca/PlatformCALayer.h:
+        (WebCore::PlatformCALayer::owner):
+        (WebCore::PlatformCALayer::animationStarted):
+        * platform/graphics/ca/PlatformCALayerClient.h: Added.
+        (WebCore::PlatformCALayerClient::~PlatformCALayerClient):
+        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
+        (PlatformCALayer::setOwner):
+        (PlatformCALayer::create):
+        (PlatformCALayer::PlatformCALayer):
+        (PlatformCALayer::contents):
+        (PlatformCALayer::setContents):
+        * platform/graphics/mac/WebGLLayer.mm:
+        (-[WebGLLayer display]):
+        * platform/graphics/mac/WebLayer.h:
+        * platform/graphics/mac/WebLayer.mm:
+        (drawLayerContents):
+        (setLayerNeedsDisplayInRect):
+        (-[WebLayer setNeedsDisplay]):
+        (-[WebLayer display]):
+        * platform/graphics/mac/WebTiledLayer.mm:
+        (-[WebTiledLayer setNeedsDisplay]):
+        (-[WebTiledLayer display]):
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::showDebugBorders):
+        (WebCore::RenderLayerBacking::showRepaintCounter):
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
+        * rendering/RenderLayerCompositor.h:
+        (WebCore::RenderLayerCompositor::compositorShowDebugBorders):
+        (WebCore::RenderLayerCompositor::compositorShowRepaintCounter):
+        (WebCore::RenderLayerCompositor::notifyAnimationStarted):
+        (WebCore::RenderLayerCompositor::notifySyncRequired):
+        (WebCore::RenderLayerCompositor::paintContents):
+        (WebCore::RenderLayerCompositor::showDebugBorders):
+        (WebCore::RenderLayerCompositor::showRepaintCounter):
+
</ins><span class="cx"> 2011-01-06  Tony Gentilcore  &lt;tonyg@chromium.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Reviewed by Eric Seidel.
</span></span></pre></div>
<a id="trunkWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/WebCore.xcodeproj/project.pbxproj \
(75198 => 75199)</h4> <pre class="diff"><span>
<span class="info">--- trunk/WebCore/WebCore.xcodeproj/project.pbxproj	2011-01-06 \
                22:07:41 UTC (rev 75198)
+++ trunk/WebCore/WebCore.xcodeproj/project.pbxproj	2011-01-06 22:26:35 UTC (rev \
75199) </span><span class="lines">@@ -1007,6 +1007,7 @@
</span><span class="cx"> 		490707E61219C04300D90E51 /* ANGLEWebKitBridge.cpp in \
Sources */ = {isa = PBXBuildFile; fileRef = 490707E41219C04300D90E51 /* \
ANGLEWebKitBridge.cpp */; }; </span><span class="cx"> 		490707E71219C04300D90E51 /* \
ANGLEWebKitBridge.h in Headers */ = {isa = PBXBuildFile; fileRef = \
490707E51219C04300D90E51 /* ANGLEWebKitBridge.h */; }; </span><span class="cx"> \
492863991253B8FC00F792D6 /* ResourceLoadInfo.h in Headers */ = {isa = PBXBuildFile; \
fileRef = 492863981253B8FC00F792D6 /* ResourceLoadInfo.h */; settings = {ATTRIBUTES = \
(Private, ); }; }; </span><ins>+		493E5E0912D6420500020081 /* PlatformCALayerClient.h \
in Headers */ = {isa = PBXBuildFile; fileRef = 493E5E0812D6420500020081 /* \
PlatformCALayerClient.h */; }; </ins><span class="cx"> 		49484FC1102CF23C00187DD3 /* \
CanvasGradient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = \
49484FB3102CF23C00187DD3 /* CanvasGradient.cpp */; }; </span><span class="cx"> \
49484FC2102CF23C00187DD3 /* CanvasGradient.h in Headers */ = {isa = PBXBuildFile; \
fileRef = 49484FB4102CF23C00187DD3 /* CanvasGradient.h */; }; </span><span \
class="cx"> 		49484FC4102CF23C00187DD3 /* CanvasPattern.cpp in Sources */ = {isa = \
PBXBuildFile; fileRef = 49484FB6102CF23C00187DD3 /* CanvasPattern.cpp */; }; \
</span><span class="lines">@@ -7333,6 +7334,7 @@ </span><span class="cx"> \
490707E41219C04300D90E51 /* ANGLEWebKitBridge.cpp */ = {isa = PBXFileReference; \
fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = \
ANGLEWebKitBridge.cpp; sourceTree = &quot;&lt;group&gt;&quot;; }; </span><span \
class="cx"> 		490707E51219C04300D90E51 /* ANGLEWebKitBridge.h */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \
ANGLEWebKitBridge.h; sourceTree = &quot;&lt;group&gt;&quot;; }; </span><span \
class="cx"> 		492863981253B8FC00F792D6 /* ResourceLoadInfo.h */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \
ResourceLoadInfo.h; sourceTree = &quot;&lt;group&gt;&quot;; }; \
</span><ins>+		493E5E0812D6420500020081 /* PlatformCALayerClient.h */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = \
PlatformCALayerClient.h; path = ca/PlatformCALayerClient.h; sourceTree = \
&quot;&lt;group&gt;&quot;; }; </ins><span class="cx"> 		49484FB3102CF23C00187DD3 /* \
CanvasGradient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType \
= sourcecode.cpp.cpp; name = CanvasGradient.cpp; path = canvas/CanvasGradient.cpp; \
sourceTree = &quot;&lt;group&gt;&quot;; }; </span><span class="cx"> \
49484FB4102CF23C00187DD3 /* CanvasGradient.h */ = {isa = PBXFileReference; \
fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CanvasGradient.h; path = \
canvas/CanvasGradient.h; sourceTree = &quot;&lt;group&gt;&quot;; }; </span><span \
class="cx"> 		49484FB5102CF23C00187DD3 /* CanvasGradient.idl */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = \
CanvasGradient.idl; path = canvas/CanvasGradient.idl; sourceTree = \
&quot;&lt;group&gt;&quot;; }; </span><span class="lines">@@ -13241,6 +13243,7 @@
</span><span class="cx"> 				499B3ED5128CD31400E726C2 /* GraphicsLayerCA.h */,
</span><span class="cx"> 				499B3EDC128DB50100E726C2 /* PlatformCAAnimation.h */,
</span><span class="cx"> 				499B3EC3128CCC4700E726C2 /* PlatformCALayer.h */,
</span><ins>+				493E5E0812D6420500020081 /* PlatformCALayerClient.h */,
</ins><span class="cx"> 				494BC40C12AEDD9E00743BD2 /* TransformationMatrixCA.cpp \
*/, </span><span class="cx"> 			);
</span><span class="cx"> 			name = ca;
</span><span class="lines">@@ -22272,6 +22275,7 @@
</span><span class="cx"> 				7EE6846D12D26E3800E79415 /* ResourceRequest.h in Headers \
*/, </span><span class="cx"> 				7EE6846F12D26E3800E79415 /* ResourceRequestCFNet.h \
in Headers */, </span><span class="cx"> 				7EE6847012D26E3800E79415 /* \
ResourceResponse.h in Headers */, </span><ins>+				493E5E0912D6420500020081 /* \
PlatformCALayerClient.h in Headers */, </ins><span class="cx"> 			);
</span><span class="cx"> 			runOnlyForDeploymentPostprocessing = 0;
</span><span class="cx"> 		};
</span></span></pre></div>
<a id="trunkWebCoreconfigh"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/config.h (75198 => 75199)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/config.h	2011-01-06 22:07:41 UTC (rev 75198)
+++ trunk/WebCore/config.h	2011-01-06 22:26:35 UTC (rev 75199)
</span><span class="lines">@@ -220,6 +220,11 @@
</span><span class="cx"> #define WTF_USE_SAFARI_THEME 1
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+// CoreAnimation is available to IOS, Mac and Windows if using CG
+#if PLATFORM(MAC) || PLATFORM(IOS) || (PLATFORM(WIN) &amp;&amp; PLATFORM(CG))
+#define WTF_PLATFORM_CA 1
+#endif
+
</ins><span class="cx"> #if PLATFORM(QT) &amp;&amp; USE(V8) &amp;&amp; \
defined(Q_WS_X11) </span><span class="cx"> /* protect ourselves from evil X11 defines \
*/ </span><span class="cx"> #include &lt;bridge/npruntime_internal.h&gt;
</span></span></pre></div>
<a id="trunkWebCoreplatformgraphicsGraphicsLayerh"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/platform/graphics/GraphicsLayer.h \
(75198 => 75199)</h4> <pre class="diff"><span>
<span class="info">--- trunk/WebCore/platform/graphics/GraphicsLayer.h	2011-01-06 \
                22:07:41 UTC (rev 75198)
+++ trunk/WebCore/platform/graphics/GraphicsLayer.h	2011-01-06 22:26:35 UTC (rev \
75199) </span><span class="lines">@@ -53,10 +53,7 @@
</span><span class="cx"> typedef void* PlatformLayer;
</span><span class="cx"> #endif
</span><span class="cx"> #elif PLATFORM(WIN)
</span><del>-namespace WebCore {
-class WKCACFLayer;
-typedef WKCACFLayer PlatformLayer;
-}
</del><ins>+typedef struct _CACFLayer PlatformLayer;
</ins><span class="cx"> #elif PLATFORM(QT)
</span><span class="cx"> #if USE(TEXTURE_MAPPER)
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -314,7 +311,7 @@
</span><span class="cx">     // Callback from the underlying graphics system to draw \
layer contents. </span><span class="cx">     void \
paintGraphicsLayerContents(GraphicsContext&amp;, const IntRect&amp; clip); \
</span><span class="cx">     // Callback from the underlying graphics system when the \
layer has been displayed </span><del>-    virtual void didDisplay(PlatformLayer*) { }
</del><ins>+    virtual void layerDidDisplay(PlatformLayer*) { }
</ins><span class="cx">     
</span><span class="cx">     // For hosting this GraphicsLayer in a native layer \
hierarchy. </span><span class="cx">     virtual PlatformLayer* platformLayer() const \
{ return 0; } </span><span class="lines">@@ -330,8 +327,8 @@
</span><span class="cx">     virtual void \
setContentsOrientation(CompositingCoordinatesOrientation orientation) { \
m_contentsOrientation = orientation; } </span><span class="cx">     \
CompositingCoordinatesOrientation contentsOrientation() const { return \
m_contentsOrientation; } </span><span class="cx"> 
</span><del>-    bool showDebugBorders() { return m_client ? \
                m_client-&gt;showDebugBorders() : false; }
-    bool showRepaintCounter() { return m_client ? m_client-&gt;showRepaintCounter() \
: false; } </del><ins>+    bool showDebugBorders() const { return m_client ? \
m_client-&gt;showDebugBorders() : false; } +    bool showRepaintCounter() const { \
return m_client ? m_client-&gt;showRepaintCounter() : false; } </ins><span \
class="cx">      </span><span class="cx">     void updateDebugIndicators();
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkWebCoreplatformgraphicscaGraphicsLayerCAcpp"></a>
<div class="modfile"><h4>Modified: \
trunk/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp (75198 => 75199)</h4> <pre \
class="diff"><span> <span class="info">--- \
trunk/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp	2011-01-06 22:07:41 UTC (rev \
                75198)
+++ trunk/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp	2011-01-06 22:26:35 UTC \
(rev 75199) </span><span class="lines">@@ -640,7 +640,7 @@
</span><span class="cx">     noteLayerPropertyChanged(AnimationChanged);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void GraphicsLayerCA::animationStarted(CFTimeInterval startTime)
</del><ins>+void GraphicsLayerCA::platformCALayerAnimationStarted(CFTimeInterval \
startTime) </ins><span class="cx"> {
</span><span class="cx">     if (m_client)
</span><span class="cx">         m_client-&gt;notifyAnimationStarted(this, \
startTime); </span><span class="lines">@@ -660,6 +660,8 @@
</span><span class="cx">         
</span><span class="cx">         m_uncorrectedContentsImage = newImage;
</span><span class="cx">         m_pendingContentsImage = newImage;
</span><ins>+
+#if !PLATFORM(WIN)
</ins><span class="cx">         CGColorSpaceRef colorSpace = \
CGImageGetColorSpace(m_pendingContentsImage.get()); </span><span class="cx"> 
</span><span class="cx">         static CGColorSpaceRef deviceRGB = \
CGColorSpaceCreateDeviceRGB(); </span><span class="lines">@@ -669,6 +671,7 @@
</span><span class="cx">             static CGColorSpaceRef genericRGB = \
CGDisplayCopyColorSpace(kCGDirectMainDisplay); </span><span class="cx">             \
m_pendingContentsImage.adoptCF(CGImageCreateCopyWithColorSpace(m_pendingContentsImage.get(), \
genericRGB)); </span><span class="cx">         }
</span><ins>+#endif
</ins><span class="cx">         m_contentsLayerPurpose = ContentsLayerForImage;
</span><span class="cx">         if (!m_contentsLayer)
</span><span class="cx">             noteSublayersChanged();
</span><span class="lines">@@ -688,9 +691,15 @@
</span><span class="cx">     if (m_contentsLayer &amp;&amp; mediaLayer == \
m_contentsLayer-&gt;platformLayer()) </span><span class="cx">         return;
</span><span class="cx">         
</span><del>-    // Create the PlatformCALayer to wrap the incoming layer
-    m_contentsLayer = mediaLayer ? PlatformCALayer::create(mediaLayer, this) : 0;
-
</del><ins>+    // FIXME: The passed in layer might be a raw layer or an externally \
created  +    // PlatformCALayer. To determine this we attempt to get the
+    // PlatformCALayer pointer. If this returns a null pointer we assume it's
+    // raw. This test might be invalid if the raw layer is, for instance, the
+    // PlatformCALayer is using a user data pointer in the raw layer, and
+    // the creator of the raw layer is using it for some other purpose.
+    // For now we don't support such a case.
+    PlatformCALayer* platformCALayer = PlatformCALayer::platformCALayer(mediaLayer);
+    m_contentsLayer = mediaLayer ? (platformCALayer ? platformCALayer : \
PlatformCALayer::create(mediaLayer, this)) : 0; </ins><span class="cx">     \
m_contentsLayerPurpose = mediaLayer ? ContentsLayerForMedia : NoContentsLayer; \
</span><span class="cx">  </span><span class="cx">     noteSublayersChanged();
</span><span class="lines">@@ -711,7 +720,7 @@
</span><span class="cx">     noteLayerPropertyChanged(ContentsCanvasLayerChanged);
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-void GraphicsLayerCA::didDisplay(PlatformLayer* layer)
</del><ins>+void GraphicsLayerCA::layerDidDisplay(PlatformLayer* layer)
</ins><span class="cx"> {
</span><span class="cx">     PlatformCALayer* currentLayer = \
PlatformCALayer::platformCALayer(layer); </span><span class="cx">     \
PlatformCALayer* sourceLayer; </span><span class="lines">@@ -903,7 +912,7 @@
</span><span class="cx">             newSublayers.append(childLayer);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        for (size_t i = 0; i &lt; newSublayers.size(); ++i)
</del><ins>+        for (size_t i = 0; i &lt; newSublayers.size(); --i)
</ins><span class="cx">             newSublayers[i]-&gt;removeFromSuperlayer();
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkWebCoreplatformgraphicscaGraphicsLayerCAh"></a>
<div class="modfile"><h4>Modified: \
trunk/WebCore/platform/graphics/ca/GraphicsLayerCA.h (75198 => 75199)</h4> <pre \
class="diff"><span> <span class="info">--- \
trunk/WebCore/platform/graphics/ca/GraphicsLayerCA.h	2011-01-06 22:07:41 UTC (rev \
                75198)
+++ trunk/WebCore/platform/graphics/ca/GraphicsLayerCA.h	2011-01-06 22:26:35 UTC (rev \
75199) </span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> #include &quot;GraphicsLayer.h&quot;
</span><span class="cx"> #include &quot;Image.h&quot;
</span><span class="cx"> #include &quot;PlatformCAAnimation.h&quot;
</span><ins>+#include &quot;PlatformCALayerClient.h&quot;
</ins><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><span class="cx"> #include &lt;wtf/RetainPtr.h&gt;
</span><span class="lines">@@ -40,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx"> class PlatformCALayer;
</span><span class="cx"> 
</span><del>-class GraphicsLayerCA : public GraphicsLayer {
</del><ins>+class GraphicsLayerCA : public GraphicsLayer, public \
PlatformCALayerClient { </ins><span class="cx"> public:
</span><span class="cx">     // The width and height of a single tile in a tiled \
layer. Should be large enough to </span><span class="cx">     // avoid lots of small \
tiles (and therefore lots of drawing callbacks), but small enough </span><span \
class="lines">@@ -49,12 +50,11 @@ </span><span class="cx"> 
</span><span class="cx">     GraphicsLayerCA(GraphicsLayerClient*);
</span><span class="cx">     virtual ~GraphicsLayerCA();
</span><del>-    
-    virtual void animationStarted(CFTimeInterval beginTime);
</del><span class="cx"> 
</span><span class="cx">     virtual void setName(const String&amp;);
</span><span class="cx"> 
</span><span class="cx">     virtual PlatformLayer* platformLayer() const;
</span><ins>+    virtual PlatformCALayer* platformCALayer() const { return \
primaryLayer(); } </ins><span class="cx"> 
</span><span class="cx">     virtual bool setChildren(const \
Vector&lt;GraphicsLayer*&gt;&amp;); </span><span class="cx">     virtual void \
addChild(GraphicsLayer*); </span><span class="lines">@@ -112,7 +112,7 @@
</span><span class="cx">     virtual void setDebugBackgroundColor(const Color&amp;);
</span><span class="cx">     virtual void setDebugBorder(const Color&amp;, float \
borderWidth); </span><span class="cx"> 
</span><del>-    virtual void didDisplay(PlatformLayer*);
</del><ins>+    virtual void layerDidDisplay(PlatformLayer*);
</ins><span class="cx"> 
</span><span class="cx">     void recursiveCommitChanges();
</span><span class="cx"> 
</span><span class="lines">@@ -123,6 +123,21 @@
</span><span class="cx">     virtual void setOpacityInternal(float);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><ins>+    // PlatformCALayerClient overrides
+    virtual void platformCALayerLayoutSublayersOfLayer(PlatformCALayer*) { }
+    virtual bool platformCALayerRespondsToLayoutChanges() const { return false; }
+
+    virtual void platformCALayerAnimationStarted(CFTimeInterval beginTime);
+    virtual CompositingCoordinatesOrientation platformCALayerContentsOrientation() \
const { return contentsOrientation(); } +    virtual void \
platformCALayerPaintContents(GraphicsContext&amp; context, const IntRect&amp; clip) { \
paintGraphicsLayerContents(context, clip); } +    virtual bool \
platformCALayerShowDebugBorders() const { return showDebugBorders(); } +    virtual \
bool platformCALayerShowRepaintCounter() const { return showRepaintCounter(); } +    \
virtual int platformCALayerIncrementRepaintCount() { return incrementRepaintCount(); \
} +
+    virtual bool platformCALayerContentsOpaque() const { return contentsOpaque(); }
+    virtual bool platformCALayerDrawsContent() const { return drawsContent(); }
+    virtual void platformCALayerLayerDidDisplay(PlatformLayer* layer) { return \
layerDidDisplay(layer); } +
</ins><span class="cx">     void updateOpacityOnLayer();
</span><span class="cx"> 
</span><span class="cx">     PlatformCALayer* primaryLayer() const { return \
m_structuralLayer.get() ? m_structuralLayer.get() : m_layer.get(); } \
</span></span></pre></div> <a \
id="trunkWebCoreplatformgraphicscaPlatformCALayerh"></a> <div \
class="modfile"><h4>Modified: trunk/WebCore/platform/graphics/ca/PlatformCALayer.h \
(75198 => 75199)</h4> <pre class="diff"><span>
<span class="info">--- \
trunk/WebCore/platform/graphics/ca/PlatformCALayer.h	2011-01-06 22:07:41 UTC (rev \
                75198)
+++ trunk/WebCore/platform/graphics/ca/PlatformCALayer.h	2011-01-06 22:26:35 UTC (rev \
75199) </span><span class="lines">@@ -29,8 +29,8 @@
</span><span class="cx"> #if USE(ACCELERATED_COMPOSITING)
</span><span class="cx"> 
</span><span class="cx"> #include &quot;GraphicsContext.h&quot;
</span><del>-#include &quot;GraphicsLayerCA.h&quot;
</del><span class="cx"> #include &quot;PlatformCAAnimation.h&quot;
</span><ins>+#include &quot;PlatformCALayerClient.h&quot;
</ins><span class="cx"> #include &quot;PlatformString.h&quot;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="lines">@@ -47,27 +47,17 @@
</span><span class="cx"> 
</span><span class="cx"> class PlatformCALayer : public \
RefCounted&lt;PlatformCALayer&gt; { </span><span class="cx"> public:
</span><del>-    // TiledLayer used in GraphicsLayer has constant settings:
-    //      cTiledLayerTileSize = 512
-    //      setTileSize:(cTiledLayerTileSize, cTiledLayerTileSize)
-    //      setLevelsOfDetail:1
-    //      setLevelsOfDetailBias:0
-    //      setContentsGravity:@&quot;bottomLeft&quot;
-    //
-    // TiledLayer also has drawing functions like WebLayer
-    //
-    // WebLayer is a CALayer with drawing functions specific to WebKit
-    //
-    // Layer and TransformLayer are used as is
-
-    enum LayerType { LayerTypeLayer, LayerTypeWebLayer, LayerTypeTransformLayer, \
LayerTypeWebTiledLayer, LayerTypeCustom }; </del><ins>+    // LayerTypeRootLayer is \
used on some platforms. It has no backing store, so setNeedsDisplay +    // should \
not call CACFLayerSetNeedsDisplay, but rather just notify the renderer that it +    \
// has changed and should be re-rendered. +    enum LayerType { LayerTypeLayer, \
LayerTypeWebLayer, LayerTypeTransformLayer, LayerTypeWebTiledLayer, \
LayerTypeRootLayer, LayerTypeCustom }; </ins><span class="cx">     enum FilterType { \
Linear, Nearest, Trilinear }; </span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;PlatformCALayer&gt; create(LayerType, \
GraphicsLayerCA*); </del><ins>+    static PassRefPtr&lt;PlatformCALayer&gt; \
create(LayerType, PlatformCALayerClient*); </ins><span class="cx">     
</span><span class="cx">     // This function passes the layer as a void* rather than \
a PlatformLayer because PlatformLayer </span><span class="cx">     // is defined \
differently for Obj C and C++. This allows callers from both languages. </span><del>- \
static PassRefPtr&lt;PlatformCALayer&gt; create(void* platformLayer, \
GraphicsLayerCA*); </del><ins>+    static PassRefPtr&lt;PlatformCALayer&gt; \
create(void* platformLayer, PlatformCALayerClient*); </ins><span class="cx"> 
</span><span class="cx">     ~PlatformCALayer();
</span><span class="cx">     
</span><span class="lines">@@ -76,20 +66,29 @@
</span><span class="cx">     static PlatformCALayer* platformCALayer(void* \
platformLayer); </span><span class="cx">     
</span><span class="cx">     PlatformLayer* platformLayer() const;
</span><ins>+
+    PlatformCALayer* rootLayer() const;
</ins><span class="cx">     
</span><span class="cx">     static bool isValueFunctionSupported();
</span><span class="cx">     
</span><del>-    GraphicsLayerCA* owner() const { return m_owner; }
-    void setOwner(GraphicsLayerCA* owner);
</del><ins>+    PlatformCALayerClient* owner() const { return m_owner; }
+    void setOwner(PlatformCALayerClient*);
</ins><span class="cx"> 
</span><span class="cx">     void animationStarted(CFTimeInterval beginTime)
</span><span class="cx">     {
</span><span class="cx">         if (m_owner)
</span><del>-            m_owner-&gt;animationStarted(beginTime);
</del><ins>+            m_owner-&gt;platformCALayerAnimationStarted(beginTime);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    // Layout support
+    void setNeedsLayout();
+
+
</ins><span class="cx">     void setNeedsDisplay(const FloatRect* dirtyRect = 0);
</span><span class="cx">     
</span><ins>+    // This tells the layer tree to commit changes and perform a render, \
without do a setNeedsDisplay on any layer. +    void setNeedsCommit();
+
</ins><span class="cx">     void setContentsChanged();
</span><span class="cx">     
</span><span class="cx">     LayerType layerType() const { return m_layerType; }
</span><span class="lines">@@ -104,6 +103,7 @@
</span><span class="cx">     size_t sublayerCount() const;
</span><span class="cx"> 
</span><span class="cx">     // This method removes the sublayers from the source and \
reparents them to the current layer. </span><ins>+    // Any sublayers previously in \
the current layer are removed. </ins><span class="cx">     void \
adoptSublayers(PlatformCALayer* source); </span><span class="cx">     
</span><span class="cx">     void addAnimationForKey(const String&amp; key, \
PlatformCAAnimation* animation);     </span><span class="lines">@@ -150,8 +150,8 @@
</span><span class="cx">     bool acceleratesDrawing() const;
</span><span class="cx">     void setAcceleratesDrawing(bool);
</span><span class="cx"> 
</span><del>-    void* contents() const;
-    void setContents(void*);
</del><ins>+    CFTypeRef contents() const;
+    void setContents(CFTypeRef);
</ins><span class="cx"> 
</span><span class="cx">     FloatRect contentsRect() const;
</span><span class="cx">     void setContentsRect(const FloatRect&amp;);
</span><span class="lines">@@ -183,18 +183,25 @@
</span><span class="cx">     CFTimeInterval timeOffset() const;
</span><span class="cx">     void setTimeOffset(CFTimeInterval);
</span><span class="cx"> 
</span><ins>+#if PLATFORM(WIN) &amp;&amp; !defined(NDEBUG)
+    void printTree() const;
+#endif
+
</ins><span class="cx"> protected:
</span><del>-    PlatformCALayer(LayerType, PlatformLayer*, GraphicsLayerCA*);
</del><ins>+    PlatformCALayer(LayerType, PlatformLayer*, PlatformCALayerClient*);
</ins><span class="cx">     
</span><span class="cx"> private:
</span><del>-    
-    GraphicsLayerCA* m_owner;
</del><ins>+    PlatformCALayerClient* m_owner;
</ins><span class="cx">     LayerType m_layerType;
</span><span class="cx">     
</span><span class="cx"> #if PLATFORM(MAC) || PLATFORM(WIN)
</span><span class="cx">     RetainPtr&lt;PlatformLayer&gt; m_layer;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if PLATFORM(WIN)
+    HashMap&lt;String, RefPtr&lt;PlatformCAAnimation&gt; &gt; m_animations;
+#endif
+
</ins><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx"> #ifdef __OBJC__
</span><span class="cx">     RetainPtr&lt;NSObject&gt; m_delegate;
</span></span></pre></div>
<a id="trunkWebCoreplatformgraphicscaPlatformCALayerClienth"></a>
<div class="addfile"><h4>Added: \
trunk/WebCore/platform/graphics/ca/PlatformCALayerClient.h (0 => 75199)</h4> <pre \
class="diff"><span> <span class="info">--- \
trunk/WebCore/platform/graphics/ca/PlatformCALayerClient.h	                        \
                (rev 0)
+++ trunk/WebCore/platform/graphics/ca/PlatformCALayerClient.h	2011-01-06 22:26:35 \
UTC (rev 75199) </span><span class="lines">@@ -0,0 +1,70 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef PlatformCALayerClient_h
+#define PlatformCALayerClient_h
+
+#if USE(ACCELERATED_COMPOSITING)
+
+#include &quot;GraphicsContext.h&quot;
+#include &quot;GraphicsLayer.h&quot;
+#include &quot;PlatformCAAnimation.h&quot;
+#include &quot;PlatformString.h&quot;
+#include &lt;wtf/HashMap.h&gt;
+#include &lt;wtf/PassRefPtr.h&gt;
+#include &lt;wtf/RefCounted.h&gt;
+#include &lt;wtf/RetainPtr.h&gt;
+#include &lt;wtf/Vector.h&gt;
+#include &lt;wtf/text/StringHash.h&gt;
+
+namespace WebCore {
+
+class PlatformCALayer;
+
+class PlatformCALayerClient {
+public:
+    virtual void platformCALayerLayoutSublayersOfLayer(PlatformCALayer*) = 0;
+    virtual bool platformCALayerRespondsToLayoutChanges() const = 0;
+
+    virtual void platformCALayerAnimationStarted(CFTimeInterval beginTime) = 0;
+    virtual GraphicsLayer::CompositingCoordinatesOrientation \
platformCALayerContentsOrientation() const = 0; +    virtual void \
platformCALayerPaintContents(GraphicsContext&amp;, const IntRect&amp; inClip) = 0; +  \
virtual bool platformCALayerShowDebugBorders() const = 0; +    virtual bool \
platformCALayerShowRepaintCounter() const = 0; +    virtual int \
platformCALayerIncrementRepaintCount() = 0; +    
+    virtual bool platformCALayerContentsOpaque() const = 0;
+    virtual bool platformCALayerDrawsContent() const = 0;
+    virtual void platformCALayerLayerDidDisplay(PlatformLayer*) = 0;
+
+protected:
+    virtual ~PlatformCALayerClient() {}
+};
+
+}
+
+#endif // USE(ACCELERATED_COMPOSITING)
+
+#endif // PlatformCALayerClient_h
</ins></span></pre></div>
<a id="trunkWebCoreplatformgraphicscamacPlatformCALayerMacmm"></a>
<div class="modfile"><h4>Modified: \
trunk/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm (75198 => 75199)</h4> \
<pre class="diff"><span> <span class="info">--- \
trunk/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm	2011-01-06 22:07:41 UTC \
                (rev 75198)
+++ trunk/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm	2011-01-06 22:26:35 \
UTC (rev 75199) </span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx">     return sHaveValueFunction;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PlatformCALayer::setOwner(GraphicsLayerCA* owner)
</del><ins>+void PlatformCALayer::setOwner(PlatformCALayerClient* owner)
</ins><span class="cx"> {
</span><span class="cx">     m_owner = owner;
</span><span class="cx">     
</span><span class="lines">@@ -145,17 +145,17 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;PlatformCALayer&gt; PlatformCALayer::create(LayerType \
layerType, GraphicsLayerCA* owner) </del><ins>+PassRefPtr&lt;PlatformCALayer&gt; \
PlatformCALayer::create(LayerType layerType, PlatformCALayerClient* owner) \
</ins><span class="cx"> { </span><span class="cx">     return adoptRef(new \
PlatformCALayer(layerType, 0, owner)); </span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;PlatformCALayer&gt; PlatformCALayer::create(void* \
platformLayer, GraphicsLayerCA* owner) </del><ins>+PassRefPtr&lt;PlatformCALayer&gt; \
PlatformCALayer::create(void* platformLayer, PlatformCALayerClient* owner) \
</ins><span class="cx"> { </span><span class="cx">     return adoptRef(new \
PlatformCALayer(LayerTypeCustom, static_cast&lt;PlatformLayer*&gt;(platformLayer), \
owner)); </span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PlatformCALayer::PlatformCALayer(LayerType layerType, PlatformLayer* \
layer, GraphicsLayerCA* owner) </del><ins>+PlatformCALayer::PlatformCALayer(LayerType \
layerType, PlatformLayer* layer, PlatformCALayerClient* owner) </ins><span \
class="cx">     : m_owner(owner) </span><span class="cx"> {
</span><span class="cx">     BEGIN_BLOCK_OBJC_EXCEPTIONS
</span><span class="lines">@@ -168,6 +168,7 @@
</span><span class="cx">         Class layerClass = Nil;
</span><span class="cx">         switch(layerType) {
</span><span class="cx">             case LayerTypeLayer:
</span><ins>+            case LayerTypeRootLayer:
</ins><span class="cx">                 layerClass = [CALayer class];
</span><span class="cx">                 break;
</span><span class="cx">             case LayerTypeWebLayer:
</span><span class="lines">@@ -568,15 +569,15 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void* PlatformCALayer::contents() const
</del><ins>+CFTypeRef PlatformCALayer::contents() const
</ins><span class="cx"> {
</span><span class="cx">     return [m_layer.get() contents];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PlatformCALayer::setContents(void* value)
</del><ins>+void PlatformCALayer::setContents(CFTypeRef value)
</ins><span class="cx"> {
</span><span class="cx">     BEGIN_BLOCK_OBJC_EXCEPTIONS
</span><del>-    [m_layer.get() setContents:static_cast&lt;id&gt;(value)];
</del><ins>+    [m_layer.get() \
setContents:static_cast&lt;id&gt;(const_cast&lt;void*&gt;(value))]; </ins><span \
class="cx">     END_BLOCK_OBJC_EXCEPTIONS </span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkWebCoreplatformgraphicsmacWebGLLayermm"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/platform/graphics/mac/WebGLLayer.mm \
(75198 => 75199)</h4> <pre class="diff"><span>
<span class="info">--- trunk/WebCore/platform/graphics/mac/WebGLLayer.mm	2011-01-06 \
                22:07:41 UTC (rev 75198)
+++ trunk/WebCore/platform/graphics/mac/WebGLLayer.mm	2011-01-06 22:26:35 UTC (rev \
75199) </span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx"> {
</span><span class="cx">     [super display];
</span><span class="cx">     if (m_layerOwner)
</span><del>-        m_layerOwner-&gt;didDisplay(self);
</del><ins>+        m_layerOwner-&gt;layerDidDisplay(self);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> @end
</span></span></pre></div>
<a id="trunkWebCoreplatformgraphicsmacWebLayerh"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/platform/graphics/mac/WebLayer.h \
(75198 => 75199)</h4> <pre class="diff"><span>
<span class="info">--- trunk/WebCore/platform/graphics/mac/WebLayer.h	2011-01-06 \
                22:07:41 UTC (rev 75198)
+++ trunk/WebCore/platform/graphics/mac/WebLayer.h	2011-01-06 22:26:35 UTC (rev \
75199) </span><span class="lines">@@ -32,6 +32,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx">     class GraphicsLayer;
</span><ins>+    class PlatformCALayerClient;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if defined(BUILDING_ON_LEOPARD)
</span><span class="lines">@@ -47,8 +48,8 @@
</span><span class="cx"> @end
</span><span class="cx"> 
</span><span class="cx"> // Functions allows us to share implementation across \
WebTiledLayer and WebLayer </span><del>-void drawLayerContents(CGContextRef, CALayer \
                *, WebCore::GraphicsLayer*);
-void setLayerNeedsDisplayInRect(CALayer *, WebCore::GraphicsLayer*, CGRect);
</del><ins>+void drawLayerContents(CGContextRef, CALayer *, \
WebCore::PlatformCALayerClient*); +void setLayerNeedsDisplayInRect(CALayer *, \
WebCore::PlatformCALayerClient*, CGRect); </ins><span class="cx"> 
</span><span class="cx"> #endif // USE(ACCELERATED_COMPOSITING)
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkWebCoreplatformgraphicsmacWebLayermm"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/platform/graphics/mac/WebLayer.mm \
(75198 => 75199)</h4> <pre class="diff"><span>
<span class="info">--- trunk/WebCore/platform/graphics/mac/WebLayer.mm	2011-01-06 \
                22:07:41 UTC (rev 75198)
+++ trunk/WebCore/platform/graphics/mac/WebLayer.mm	2011-01-06 22:26:35 UTC (rev \
75199) </span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> 
</span><span class="cx"> @implementation WebLayer
</span><span class="cx"> 
</span><del>-void drawLayerContents(CGContextRef context, CALayer *layer, \
WebCore::GraphicsLayer* layerContents) </del><ins>+void \
drawLayerContents(CGContextRef context, CALayer *layer, \
WebCore::PlatformCALayerClient* layerContents) </ins><span class="cx"> {
</span><span class="cx">     if (!layerContents)
</span><span class="cx">         return;
</span><span class="lines">@@ -48,50 +48,38 @@
</span><span class="cx">     CGContextSaveGState(context);
</span><span class="cx"> 
</span><span class="cx">     CGRect layerBounds = [layer bounds];
</span><del>-    if (layerContents-&gt;contentsOrientation() == \
WebCore::GraphicsLayer::CompositingCoordinatesBottomUp) { </del><ins>+    if \
(layerContents-&gt;platformCALayerContentsOrientation() == \
WebCore::GraphicsLayer::CompositingCoordinatesBottomUp) { </ins><span class="cx">     \
CGContextScaleCTM(context, 1, -1); </span><span class="cx">         \
CGContextTranslateCTM(context, 0, -layerBounds.size.height); </span><span class="cx"> \
} </span><span class="cx"> 
</span><del>-    if (layerContents-&gt;client()) {
-        [NSGraphicsContext saveGraphicsState];
</del><ins>+    [NSGraphicsContext saveGraphicsState];
</ins><span class="cx"> 
</span><del>-        // Set up an NSGraphicsContext for the context, so that parts of \
                AppKit that rely on
-        // the current NSGraphicsContext (e.g. NSCell drawing) get the right one.
-        NSGraphicsContext* layerContext = [NSGraphicsContext \
                graphicsContextWithGraphicsPort:context flipped:YES];
-        [NSGraphicsContext setCurrentContext:layerContext];
</del><ins>+    // Set up an NSGraphicsContext for the context, so that parts of \
AppKit that rely on +    // the current NSGraphicsContext (e.g. NSCell drawing) get \
the right one. +    NSGraphicsContext* layerContext = [NSGraphicsContext \
graphicsContextWithGraphicsPort:context flipped:YES]; +    [NSGraphicsContext \
setCurrentContext:layerContext]; </ins><span class="cx"> 
</span><del>-        GraphicsContext graphicsContext(context);
</del><ins>+    GraphicsContext graphicsContext(context);
</ins><span class="cx"> 
</span><del>-        if (!layerContents-&gt;contentsOpaque()) {
-            // Turn off font smoothing to improve the appearance of text rendered \
                onto a transparent background.
-            graphicsContext.setShouldSmoothFonts(false);
-        }
-        
-        // It's important to get the clip from the context, because it may be \
                significantly
-        // smaller than the layer bounds (e.g. tiled layers)
-        CGRect clipBounds = CGContextGetClipBoundingBox(context);
-        IntRect clip(enclosingIntRect(clipBounds));
-        layerContents-&gt;paintGraphicsLayerContents(graphicsContext, clip);
-
-        [NSGraphicsContext restoreGraphicsState];
</del><ins>+    if (!layerContents-&gt;platformCALayerContentsOpaque()) {
+        // Turn off font smoothing to improve the appearance of text rendered onto a \
transparent background. +        graphicsContext.setShouldSmoothFonts(false);
</ins><span class="cx">     }
</span><del>-#ifndef NDEBUG
-    else {
-        ASSERT_NOT_REACHED();
</del><ins>+    
+    // It's important to get the clip from the context, because it may be \
significantly +    // smaller than the layer bounds (e.g. tiled layers)
+    CGRect clipBounds = CGContextGetClipBoundingBox(context);
+    IntRect clip(enclosingIntRect(clipBounds));
+    layerContents-&gt;platformCALayerPaintContents(graphicsContext, clip);
</ins><span class="cx"> 
</span><del>-        // FIXME: ideally we'd avoid calling -setNeedsDisplay on a layer \
                that is a plain color,
-        // so CA never makes backing store for it (which is what -setNeedsDisplay \
                will do above).
-        CGContextSetRGBFillColor(context, 0.0f, 1.0f, 0.0f, 1.0f);
-        CGContextFillRect(context, layerBounds);
-    }
-#endif
</del><ins>+    [NSGraphicsContext restoreGraphicsState];
</ins><span class="cx"> 
</span><del>-    if (layerContents-&gt;showRepaintCounter()) {
</del><ins>+    if (layerContents-&gt;platformCALayerShowRepaintCounter()) {
</ins><span class="cx">         bool isTiledLayer = [layer \
isKindOfClass:[CATiledLayer class]]; </span><span class="cx"> 
</span><span class="cx">         char text[16]; // that's a lot of repaints
</span><del>-        snprintf(text, sizeof(text), &quot;%d&quot;, \
layerContents-&gt;incrementRepaintCount()); </del><ins>+        snprintf(text, \
sizeof(text), &quot;%d&quot;, \
layerContents-&gt;platformCALayerIncrementRepaintCount()); </ins><span class="cx"> 
</span><span class="cx">         CGContextSaveGState(context);
</span><span class="cx">         if (isTiledLayer)
</span><span class="lines">@@ -117,26 +105,26 @@
</span><span class="cx">     CGContextRestoreGState(context);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void setLayerNeedsDisplayInRect(CALayer *layer, WebCore::GraphicsLayer* \
layerContents, CGRect rect) </del><ins>+void setLayerNeedsDisplayInRect(CALayer \
*layer, WebCore::PlatformCALayerClient* layerContents, CGRect rect) </ins><span \
class="cx"> { </span><del>-    if (layerContents &amp;&amp; \
layerContents-&gt;client() &amp;&amp; layerContents-&gt;drawsContent()) { \
</del><ins>+    if (layerContents &amp;&amp; \
layerContents-&gt;platformCALayerDrawsContent()) { </ins><span class="cx">         \
struct objc_super layerSuper = { layer, class_getSuperclass(object_getClass(layer)) \
}; </span><span class="cx"> #if defined(BUILDING_ON_LEOPARD)
</span><span class="cx">         rect = CGRectApplyAffineTransform(rect, [layer \
contentsTransform]); </span><span class="cx"> #else
</span><del>-        if (layerContents-&gt;contentsOrientation() == \
WebCore::GraphicsLayer::CompositingCoordinatesBottomUp) </del><ins>+        if \
(layerContents-&gt;platformCALayerContentsOrientation() == \
WebCore::GraphicsLayer::CompositingCoordinatesBottomUp) </ins><span class="cx">       \
rect.origin.y = [layer bounds].size.height - rect.origin.y - rect.size.height; \
</span><span class="cx"> #endif </span><span class="cx">         \
objc_msgSendSuper(&amp;layerSuper, @selector(setNeedsDisplayInRect:), rect); \
</span><span class="cx">  </span><span class="cx"> #ifndef NDEBUG
</span><del>-        if (layerContents-&gt;showRepaintCounter()) {
</del><ins>+        if (layerContents-&gt;platformCALayerShowRepaintCounter()) {
</ins><span class="cx">             CGRect bounds = [layer bounds];
</span><span class="cx">             CGRect indicatorRect = \
CGRectMake(bounds.origin.x, bounds.origin.y, 46, 25); </span><span class="cx"> #if \
defined(BUILDING_ON_LEOPARD) </span><span class="cx">             indicatorRect = \
CGRectApplyAffineTransform(indicatorRect, [layer contentsTransform]); </span><span \
class="cx"> #else </span><del>-            if \
(layerContents-&gt;contentsOrientation() == \
WebCore::GraphicsLayer::CompositingCoordinatesBottomUp) </del><ins>+            if \
(layerContents-&gt;platformCALayerContentsOrientation() == \
WebCore::GraphicsLayer::CompositingCoordinatesBottomUp) </ins><span class="cx">       \
indicatorRect.origin.y = [layer bounds].size.height - indicatorRect.origin.y - \
indicatorRect.size.height; </span><span class="cx"> #endif
</span><span class="cx">             objc_msgSendSuper(&amp;layerSuper, \
@selector(setNeedsDisplayInRect:), indicatorRect); </span><span class="lines">@@ \
-155,7 +143,7 @@ </span><span class="cx"> - (void)setNeedsDisplay
</span><span class="cx"> {
</span><span class="cx">     PlatformCALayer* layer = \
PlatformCALayer::platformCALayer(self); </span><del>-    if (layer &amp;&amp; \
layer-&gt;owner() &amp;&amp; layer-&gt;owner()-&gt;client() &amp;&amp; \
layer-&gt;owner()-&gt;drawsContent()) </del><ins>+    if (layer &amp;&amp; \
layer-&gt;owner() &amp;&amp; layer-&gt;owner()-&gt;platformCALayerDrawsContent()) \
</ins><span class="cx">         [super setNeedsDisplay]; </span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -171,7 +159,7 @@
</span><span class="cx">     [super display];
</span><span class="cx">     PlatformCALayer* layer = \
PlatformCALayer::platformCALayer(self); </span><span class="cx">     if (layer \
&amp;&amp; layer-&gt;owner()) </span><del>-        \
layer-&gt;owner()-&gt;didDisplay(self); </del><ins>+        \
layer-&gt;owner()-&gt;platformCALayerLayerDidDisplay(self); </ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)drawInContext:(CGContextRef)context
</span></span></pre></div>
<a id="trunkWebCoreplatformgraphicsmacWebTiledLayermm"></a>
<div class="modfile"><h4>Modified: \
trunk/WebCore/platform/graphics/mac/WebTiledLayer.mm (75198 => 75199)</h4> <pre \
class="diff"><span> <span class="info">--- \
trunk/WebCore/platform/graphics/mac/WebTiledLayer.mm	2011-01-06 22:07:41 UTC (rev \
                75198)
+++ trunk/WebCore/platform/graphics/mac/WebTiledLayer.mm	2011-01-06 22:26:35 UTC (rev \
75199) </span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx"> - (void)setNeedsDisplay
</span><span class="cx"> {
</span><span class="cx">     PlatformCALayer* layer = \
PlatformCALayer::platformCALayer(self); </span><del>-    if (layer &amp;&amp; \
layer-&gt;owner() &amp;&amp; layer-&gt;owner()-&gt;client() &amp;&amp; \
layer-&gt;owner()-&gt;drawsContent()) </del><ins>+    if (layer &amp;&amp; \
layer-&gt;owner() &amp;&amp; layer-&gt;owner()-&gt;platformCALayerDrawsContent()) \
</ins><span class="cx">         [super setNeedsDisplay]; </span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx">     [super display];
</span><span class="cx">     PlatformCALayer* layer = \
PlatformCALayer::platformCALayer(self); </span><span class="cx">     if (layer \
&amp;&amp; layer-&gt;owner()) </span><del>-        \
layer-&gt;owner()-&gt;didDisplay(self); </del><ins>+        \
layer-&gt;owner()-&gt;platformCALayerLayerDidDisplay(self); </ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)drawInContext:(CGContextRef)context
</span></span></pre></div>
<a id="trunkWebCorerenderingRenderLayerBackingcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/rendering/RenderLayerBacking.cpp \
(75198 => 75199)</h4> <pre class="diff"><span>
<span class="info">--- trunk/WebCore/rendering/RenderLayerBacking.cpp	2011-01-06 \
                22:07:41 UTC (rev 75198)
+++ trunk/WebCore/rendering/RenderLayerBacking.cpp	2011-01-06 22:26:35 UTC (rev \
75199) </span><span class="lines">@@ -1101,12 +1101,12 @@
</span><span class="cx"> 
</span><span class="cx"> bool RenderLayerBacking::showDebugBorders() const
</span><span class="cx"> {
</span><del>-    return compositor() ? compositor()-&gt;showDebugBorders() : false;
</del><ins>+    return compositor() ? compositor()-&gt;compositorShowDebugBorders() : \
false; </ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool RenderLayerBacking::showRepaintCounter() const
</span><span class="cx"> {
</span><del>-    return compositor() ? compositor()-&gt;showRepaintCounter() : false;
</del><ins>+    return compositor() ? compositor()-&gt;compositorShowRepaintCounter() \
: false; </ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool RenderLayerBacking::startAnimation(double timeOffset, \
const Animation* anim, const KeyframeList&amp; keyframes) </span></span></pre></div>
<a id="trunkWebCorerenderingRenderLayerCompositorcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/rendering/RenderLayerCompositor.cpp \
(75198 => 75199)</h4> <pre class="diff"><span>
<span class="info">--- trunk/WebCore/rendering/RenderLayerCompositor.cpp	2011-01-06 \
                22:07:41 UTC (rev 75198)
+++ trunk/WebCore/rendering/RenderLayerCompositor.cpp	2011-01-06 22:26:35 UTC (rev \
75199) </span><span class="lines">@@ -1351,13 +1351,13 @@
</span><span class="cx">         if (!m_clipLayer) {
</span><span class="cx">             ASSERT(!m_scrollLayer);
</span><span class="cx">             // Create a clipping layer if this is an iframe
</span><del>-            m_clipLayer = GraphicsLayer::create(0);
</del><ins>+            m_clipLayer = GraphicsLayer::create(this);
</ins><span class="cx"> #ifndef NDEBUG
</span><span class="cx">             m_clipLayer-&gt;setName(&quot;iframe \
Clipping&quot;); </span><span class="cx"> #endif
</span><span class="cx">             m_clipLayer-&gt;setMasksToBounds(true);
</span><span class="cx">             
</span><del>-            m_scrollLayer = GraphicsLayer::create(0);
</del><ins>+            m_scrollLayer = GraphicsLayer::create(this);
</ins><span class="cx"> #ifndef NDEBUG
</span><span class="cx">             m_scrollLayer-&gt;setName(&quot;iframe \
scrolling&quot;); </span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkWebCorerenderingRenderLayerCompositorh"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/rendering/RenderLayerCompositor.h \
(75198 => 75199)</h4> <pre class="diff"><span>
<span class="info">--- trunk/WebCore/rendering/RenderLayerCompositor.h	2011-01-06 \
                22:07:41 UTC (rev 75198)
+++ trunk/WebCore/rendering/RenderLayerCompositor.h	2011-01-06 22:26:35 UTC (rev \
75199) </span><span class="lines">@@ -54,11 +54,11 @@
</span><span class="cx"> // 
</span><span class="cx"> // There is one RenderLayerCompositor per RenderView.
</span><span class="cx"> 
</span><del>-class RenderLayerCompositor {
</del><ins>+class RenderLayerCompositor : public GraphicsLayerClient {
</ins><span class="cx"> public:
</span><span class="cx">     RenderLayerCompositor(RenderView*);
</span><span class="cx">     ~RenderLayerCompositor();
</span><del>-    
</del><ins>+
</ins><span class="cx">     // Return true if this RenderView is in &quot;compositing \
mode&quot; (i.e. has one or more </span><span class="cx">     // composited \
RenderLayers) </span><span class="cx">     bool inCompositingMode() const { return \
m_compositing; } </span><span class="lines">@@ -71,9 +71,6 @@
</span><span class="cx"> 
</span><span class="cx">     bool canRender3DTransforms() const;
</span><span class="cx"> 
</span><del>-    bool showDebugBorders() const { return m_showDebugBorders; }
-    bool showRepaintCounter() const { return m_showRepaintCounter; }
-    
</del><span class="cx">     // Copy the accelerated compositing related flags from \
Settings </span><span class="cx">     void cacheAcceleratedCompositingFlags();
</span><span class="cx"> 
</span><span class="lines">@@ -172,7 +169,22 @@
</span><span class="cx"> 
</span><span class="cx">     String layerTreeAsText();
</span><span class="cx"> 
</span><ins>+    // These are named to avoid conflicts with the functions in \
GraphicsLayerClient +    // These return the actual internal variables.
+    bool compositorShowDebugBorders() const { return m_showDebugBorders; }
+    bool compositorShowRepaintCounter() const { return m_showRepaintCounter; }
+
</ins><span class="cx"> private:
</span><ins>+    // GraphicsLayerClient Implementation
+    virtual void notifyAnimationStarted(const GraphicsLayer*, double) { }
+    virtual void notifySyncRequired(const GraphicsLayer*) { scheduleSync(); }
+    virtual void paintContents(const GraphicsLayer*, GraphicsContext&amp;, \
GraphicsLayerPaintingPhase, const IntRect&amp;) { } +
+    // These calls return false always. They are saying that the layers associated \
with this client +    // (the clipLayer and scrollLayer) should never show debugging \
info. +    virtual bool showDebugBorders() const { return false; }
+    virtual bool showRepaintCounter() const { return false; }
+    
</ins><span class="cx">     // Whether the given RL needs a compositing layer.
</span><span class="cx">     bool needsToBeComposited(const RenderLayer*) const;
</span><span class="cx">     // Whether the layer has an intrinsic need for \
compositing layer. </span></span></pre>
</div>
</div>

</body>
</html>



_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic