[prev in list] [next in list] [prev in thread] [next in thread]
List: webkit-changes
Subject: [webkit-changes] [75227] trunk/WebCore
From: cmarrin () apple ! com
Date: 2011-01-07 4:53:15
Message-ID: 20110107045318.328B0625CC8C () 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>[75227] 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/75227">75227</a></dd> \
<dt>Author</dt> <dd>cmarrin@apple.com</dd> <dt>Date</dt> <dd>2011-01-06 20:53:08 \
-0800 (Thu, 06 Jan 2011)</dd> </dl>
<h3>Log Message</h3>
<pre>2011-01-06 Chris Marrin <cmarrin@apple.com>
Unreviewed.
Back out changes in http://trac.webkit.org/changeset/75199
This breaks the Windows build. Fixing it on that side. Until
then I'll back this out.</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>Removed 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 (75226 => 75227)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/ChangeLog 2011-01-07 04:32:59 UTC (rev 75226)
+++ trunk/WebCore/ChangeLog 2011-01-07 04:53:08 UTC (rev 75227)
</span><span class="lines">@@ -1,3 +1,11 @@
</span><ins>+2011-01-06 Chris Marrin <cmarrin@apple.com>
+
+ Unreviewed.
+
+ Back out changes in http://trac.webkit.org/changeset/75199
+ This breaks the Windows build. Fixing it on that side. Until
+ then I'll back this out.
+
</ins><span class="cx"> 2011-01-06 Jenn Braithwaite <jennb@chromium.org>
</span><span class="cx">
</span><span class="cx"> Reviewed by Dmitry Titov.
</span></span></pre></div>
<a id="trunkWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/WebCore.xcodeproj/project.pbxproj \
(75226 => 75227)</h4> <pre class="diff"><span>
<span class="info">--- trunk/WebCore/WebCore.xcodeproj/project.pbxproj 2011-01-07 \
04:32:59 UTC (rev 75226)
+++ trunk/WebCore/WebCore.xcodeproj/project.pbxproj 2011-01-07 04:53:08 UTC (rev \
75227) </span><span class="lines">@@ -1007,7 +1007,6 @@
</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><del>- 493E5E0912D6420500020081 /* PlatformCALayerClient.h \
in Headers */ = {isa = PBXBuildFile; fileRef = 493E5E0812D6420500020081 /* \
PlatformCALayerClient.h */; }; </del><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">@@ -7334,7 +7333,6 @@ </span><span class="cx"> \
490707E41219C04300D90E51 /* ANGLEWebKitBridge.cpp */ = {isa = PBXFileReference; \
fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = \
ANGLEWebKitBridge.cpp; sourceTree = "<group>"; }; </span><span \
class="cx"> 490707E51219C04300D90E51 /* ANGLEWebKitBridge.h */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \
ANGLEWebKitBridge.h; sourceTree = "<group>"; }; </span><span \
class="cx"> 492863981253B8FC00F792D6 /* ResourceLoadInfo.h */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \
ResourceLoadInfo.h; sourceTree = "<group>"; }; \
</span><del>- 493E5E0812D6420500020081 /* PlatformCALayerClient.h */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = \
PlatformCALayerClient.h; path = ca/PlatformCALayerClient.h; sourceTree = \
"<group>"; }; </del><span class="cx"> 49484FB3102CF23C00187DD3 /* \
CanvasGradient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType \
= sourcecode.cpp.cpp; name = CanvasGradient.cpp; path = canvas/CanvasGradient.cpp; \
sourceTree = "<group>"; }; </span><span class="cx"> \
49484FB4102CF23C00187DD3 /* CanvasGradient.h */ = {isa = PBXFileReference; \
fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CanvasGradient.h; path = \
canvas/CanvasGradient.h; sourceTree = "<group>"; }; </span><span \
class="cx"> 49484FB5102CF23C00187DD3 /* CanvasGradient.idl */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = \
CanvasGradient.idl; path = canvas/CanvasGradient.idl; sourceTree = \
"<group>"; }; </span><span class="lines">@@ -13243,7 +13241,6 @@
</span><span class="cx"> 499B3ED5128CD31400E726C2 /* GraphicsLayerCA.h */,
</span><span class="cx"> 499B3EDC128DB50100E726C2 /* PlatformCAAnimation.h */,
</span><span class="cx"> 499B3EC3128CCC4700E726C2 /* PlatformCALayer.h */,
</span><del>- 493E5E0812D6420500020081 /* PlatformCALayerClient.h */,
</del><span class="cx"> 494BC40C12AEDD9E00743BD2 /* TransformationMatrixCA.cpp \
*/, </span><span class="cx"> );
</span><span class="cx"> name = ca;
</span><span class="lines">@@ -22275,7 +22272,6 @@
</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><del>- 493E5E0912D6420500020081 /* \
PlatformCALayerClient.h in Headers */, </del><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 (75226 => 75227)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/config.h 2011-01-07 04:32:59 UTC (rev 75226)
+++ trunk/WebCore/config.h 2011-01-07 04:53:08 UTC (rev 75227)
</span><span class="lines">@@ -220,11 +220,6 @@
</span><span class="cx"> #define WTF_USE_SAFARI_THEME 1
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>-// CoreAnimation is available to IOS, Mac and Windows if using CG
-#if PLATFORM(MAC) || PLATFORM(IOS) || (PLATFORM(WIN) && PLATFORM(CG))
-#define WTF_PLATFORM_CA 1
-#endif
-
</del><span class="cx"> #if PLATFORM(QT) && USE(V8) && \
defined(Q_WS_X11) </span><span class="cx"> /* protect ourselves from evil X11 defines \
*/ </span><span class="cx"> #include <bridge/npruntime_internal.h>
</span></span></pre></div>
<a id="trunkWebCoreplatformgraphicsGraphicsLayerh"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/platform/graphics/GraphicsLayer.h \
(75226 => 75227)</h4> <pre class="diff"><span>
<span class="info">--- trunk/WebCore/platform/graphics/GraphicsLayer.h 2011-01-07 \
04:32:59 UTC (rev 75226)
+++ trunk/WebCore/platform/graphics/GraphicsLayer.h 2011-01-07 04:53:08 UTC (rev \
75227) </span><span class="lines">@@ -53,7 +53,10 @@
</span><span class="cx"> typedef void* PlatformLayer;
</span><span class="cx"> #endif
</span><span class="cx"> #elif PLATFORM(WIN)
</span><del>-typedef struct _CACFLayer PlatformLayer;
</del><ins>+namespace WebCore {
+class WKCACFLayer;
+typedef WKCACFLayer 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">@@ -311,7 +314,7 @@
</span><span class="cx"> // Callback from the underlying graphics system to draw \
layer contents. </span><span class="cx"> void \
paintGraphicsLayerContents(GraphicsContext&, const IntRect& clip); \
</span><span class="cx"> // Callback from the underlying graphics system when the \
layer has been displayed </span><del>- virtual void \
layerDidDisplay(PlatformLayer*) { } </del><ins>+ virtual void \
didDisplay(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">@@ -327,8 +330,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() const { return m_client ? \
m_client->showDebugBorders() : false; }
- bool showRepaintCounter() const { return m_client ? \
m_client->showRepaintCounter() : false; } </del><ins>+ bool showDebugBorders() \
{ return m_client ? m_client->showDebugBorders() : false; } + bool \
showRepaintCounter() { return m_client ? m_client->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 (75226 => 75227)</h4> <pre \
class="diff"><span> <span class="info">--- \
trunk/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp 2011-01-07 04:32:59 UTC (rev \
75226)
+++ trunk/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp 2011-01-07 04:53:08 UTC \
(rev 75227) </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::platformCALayerAnimationStarted(CFTimeInterval \
startTime) </del><ins>+void GraphicsLayerCA::animationStarted(CFTimeInterval \
startTime) </ins><span class="cx"> {
</span><span class="cx"> if (m_client)
</span><span class="cx"> m_client->notifyAnimationStarted(this, \
startTime); </span><span class="lines">@@ -660,8 +660,6 @@
</span><span class="cx">
</span><span class="cx"> m_uncorrectedContentsImage = newImage;
</span><span class="cx"> m_pendingContentsImage = newImage;
</span><del>-
-#if !PLATFORM(WIN)
</del><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">@@ -671,7 +669,6 @@
</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><del>-#endif
</del><span class="cx"> m_contentsLayerPurpose = ContentsLayerForImage;
</span><span class="cx"> if (!m_contentsLayer)
</span><span class="cx"> noteSublayersChanged();
</span><span class="lines">@@ -691,15 +688,9 @@
</span><span class="cx"> if (m_contentsLayer && mediaLayer == \
m_contentsLayer->platformLayer()) </span><span class="cx"> return;
</span><span class="cx">
</span><del>- // 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; </del><ins>+ // Create the \
PlatformCALayer to wrap the incoming layer + m_contentsLayer = mediaLayer ? \
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">@@ -720,7 +711,7 @@
</span><span class="cx"> noteLayerPropertyChanged(ContentsCanvasLayerChanged);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void GraphicsLayerCA::layerDidDisplay(PlatformLayer* layer)
</del><ins>+void GraphicsLayerCA::didDisplay(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">@@ -912,7 +903,7 @@
</span><span class="cx"> newSublayers.append(childLayer);
</span><span class="cx"> }
</span><span class="cx">
</span><del>- for (size_t i = 0; i < newSublayers.size(); --i)
</del><ins>+ for (size_t i = 0; i < newSublayers.size(); ++i)
</ins><span class="cx"> newSublayers[i]->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 (75226 => 75227)</h4> <pre \
class="diff"><span> <span class="info">--- \
trunk/WebCore/platform/graphics/ca/GraphicsLayerCA.h 2011-01-07 04:32:59 UTC (rev \
75226)
+++ trunk/WebCore/platform/graphics/ca/GraphicsLayerCA.h 2011-01-07 04:53:08 UTC (rev \
75227) </span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #include "GraphicsLayer.h"
</span><span class="cx"> #include "Image.h"
</span><span class="cx"> #include "PlatformCAAnimation.h"
</span><del>-#include "PlatformCALayerClient.h"
</del><span class="cx"> #include <wtf/HashMap.h>
</span><span class="cx"> #include <wtf/HashSet.h>
</span><span class="cx"> #include <wtf/RetainPtr.h>
</span><span class="lines">@@ -41,7 +40,7 @@
</span><span class="cx">
</span><span class="cx"> class PlatformCALayer;
</span><span class="cx">
</span><del>-class GraphicsLayerCA : public GraphicsLayer, public \
PlatformCALayerClient { </del><ins>+class GraphicsLayerCA : public GraphicsLayer {
</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">@@ -50,11 +49,12 @@ </span><span class="cx">
</span><span class="cx"> GraphicsLayerCA(GraphicsLayerClient*);
</span><span class="cx"> virtual ~GraphicsLayerCA();
</span><ins>+
+ virtual void animationStarted(CFTimeInterval beginTime);
</ins><span class="cx">
</span><span class="cx"> virtual void setName(const String&);
</span><span class="cx">
</span><span class="cx"> virtual PlatformLayer* platformLayer() const;
</span><del>- virtual PlatformCALayer* platformCALayer() const { return \
primaryLayer(); } </del><span class="cx">
</span><span class="cx"> virtual bool setChildren(const \
Vector<GraphicsLayer*>&); </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&);
</span><span class="cx"> virtual void setDebugBorder(const Color&, float \
borderWidth); </span><span class="cx">
</span><del>- virtual void layerDidDisplay(PlatformLayer*);
</del><ins>+ virtual void didDisplay(PlatformLayer*);
</ins><span class="cx">
</span><span class="cx"> void recursiveCommitChanges();
</span><span class="cx">
</span><span class="lines">@@ -123,21 +123,6 @@
</span><span class="cx"> virtual void setOpacityInternal(float);
</span><span class="cx">
</span><span class="cx"> private:
</span><del>- // 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& context, const \
IntRect& 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); }
-
</del><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 \
(75226 => 75227)</h4> <pre class="diff"><span>
<span class="info">--- \
trunk/WebCore/platform/graphics/ca/PlatformCALayer.h 2011-01-07 04:32:59 UTC (rev \
75226)
+++ trunk/WebCore/platform/graphics/ca/PlatformCALayer.h 2011-01-07 04:53:08 UTC (rev \
75227) </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 "GraphicsContext.h"
</span><ins>+#include "GraphicsLayerCA.h"
</ins><span class="cx"> #include "PlatformCAAnimation.h"
</span><del>-#include "PlatformCALayerClient.h"
</del><span class="cx"> #include "PlatformString.h"
</span><span class="cx"> #include <wtf/HashMap.h>
</span><span class="cx"> #include <wtf/PassRefPtr.h>
</span><span class="lines">@@ -47,17 +47,27 @@
</span><span class="cx">
</span><span class="cx"> class PlatformCALayer : public \
RefCounted<PlatformCALayer> { </span><span class="cx"> public:
</span><del>- // 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 }; </del><ins>+ // \
TiledLayer used in GraphicsLayer has constant settings: + // \
cTiledLayerTileSize = 512 + // setTileSize:(cTiledLayerTileSize, \
cTiledLayerTileSize) + // setLevelsOfDetail:1
+ // setLevelsOfDetailBias:0
+ // setContentsGravity:@"bottomLeft"
+ //
+ // 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 }; </ins><span class="cx"> enum \
FilterType { Linear, Nearest, Trilinear }; </span><span class="cx">
</span><del>- static PassRefPtr<PlatformCALayer> create(LayerType, \
PlatformCALayerClient*); </del><ins>+ static PassRefPtr<PlatformCALayer> \
create(LayerType, GraphicsLayerCA*); </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<PlatformCALayer> create(void* platformLayer, \
PlatformCALayerClient*); </del><ins>+ static PassRefPtr<PlatformCALayer> \
create(void* platformLayer, GraphicsLayerCA*); </ins><span class="cx">
</span><span class="cx"> ~PlatformCALayer();
</span><span class="cx">
</span><span class="lines">@@ -66,29 +76,20 @@
</span><span class="cx"> static PlatformCALayer* platformCALayer(void* \
platformLayer); </span><span class="cx">
</span><span class="cx"> PlatformLayer* platformLayer() const;
</span><del>-
- PlatformCALayer* rootLayer() const;
</del><span class="cx">
</span><span class="cx"> static bool isValueFunctionSupported();
</span><span class="cx">
</span><del>- PlatformCALayerClient* owner() const { return m_owner; }
- void setOwner(PlatformCALayerClient*);
</del><ins>+ GraphicsLayerCA* owner() const { return m_owner; }
+ void setOwner(GraphicsLayerCA* owner);
</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->platformCALayerAnimationStarted(beginTime);
</del><ins>+ m_owner->animationStarted(beginTime);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>- // Layout support
- void setNeedsLayout();
-
-
</del><span class="cx"> void setNeedsDisplay(const FloatRect* dirtyRect = 0);
</span><span class="cx">
</span><del>- // This tells the layer tree to commit changes and perform a render, \
without do a setNeedsDisplay on any layer.
- void setNeedsCommit();
-
</del><span class="cx"> void setContentsChanged();
</span><span class="cx">
</span><span class="cx"> LayerType layerType() const { return m_layerType; }
</span><span class="lines">@@ -103,7 +104,6 @@
</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><del>- // Any sublayers previously in \
the current layer are removed. </del><span class="cx"> void \
adoptSublayers(PlatformCALayer* source); </span><span class="cx">
</span><span class="cx"> void addAnimationForKey(const String& 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>- CFTypeRef contents() const;
- void setContents(CFTypeRef);
</del><ins>+ void* contents() const;
+ void setContents(void*);
</ins><span class="cx">
</span><span class="cx"> FloatRect contentsRect() const;
</span><span class="cx"> void setContentsRect(const FloatRect&);
</span><span class="lines">@@ -183,25 +183,18 @@
</span><span class="cx"> CFTimeInterval timeOffset() const;
</span><span class="cx"> void setTimeOffset(CFTimeInterval);
</span><span class="cx">
</span><del>-#if PLATFORM(WIN) && !defined(NDEBUG)
- void printTree() const;
-#endif
-
</del><span class="cx"> protected:
</span><del>- PlatformCALayer(LayerType, PlatformLayer*, PlatformCALayerClient*);
</del><ins>+ PlatformCALayer(LayerType, PlatformLayer*, GraphicsLayerCA*);
</ins><span class="cx">
</span><span class="cx"> private:
</span><del>- PlatformCALayerClient* m_owner;
</del><ins>+
+ GraphicsLayerCA* 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<PlatformLayer> m_layer;
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>-#if PLATFORM(WIN)
- HashMap<String, RefPtr<PlatformCAAnimation> > m_animations;
-#endif
-
</del><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx"> #ifdef __OBJC__
</span><span class="cx"> RetainPtr<NSObject> m_delegate;
</span></span></pre></div>
<a id="trunkWebCoreplatformgraphicscaPlatformCALayerClienth"></a>
<div class="delfile"><h4>Deleted: \
trunk/WebCore/platform/graphics/ca/PlatformCALayerClient.h (75226 => 75227)</h4> <pre \
class="diff"><span> <span class="info">--- \
trunk/WebCore/platform/graphics/ca/PlatformCALayerClient.h 2011-01-07 04:32:59 UTC \
(rev 75226)
+++ trunk/WebCore/platform/graphics/ca/PlatformCALayerClient.h 2011-01-07 04:53:08 \
UTC (rev 75227) </span><span class="lines">@@ -1,70 +0,0 @@
</span><del>-/*
- * 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 "GraphicsContext.h"
-#include "GraphicsLayer.h"
-#include "PlatformCAAnimation.h"
-#include "PlatformString.h"
-#include <wtf/HashMap.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-#include <wtf/RetainPtr.h>
-#include <wtf/Vector.h>
-#include <wtf/text/StringHash.h>
-
-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&, const \
IntRect& 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
</del></span></pre></div>
<a id="trunkWebCoreplatformgraphicscamacPlatformCALayerMacmm"></a>
<div class="modfile"><h4>Modified: \
trunk/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm (75226 => 75227)</h4> \
<pre class="diff"><span> <span class="info">--- \
trunk/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm 2011-01-07 04:32:59 UTC \
(rev 75226)
+++ trunk/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm 2011-01-07 04:53:08 \
UTC (rev 75227) </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(PlatformCALayerClient* owner)
</del><ins>+void PlatformCALayer::setOwner(GraphicsLayerCA* 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<PlatformCALayer> PlatformCALayer::create(LayerType \
layerType, PlatformCALayerClient* owner) \
</del><ins>+PassRefPtr<PlatformCALayer> PlatformCALayer::create(LayerType \
layerType, GraphicsLayerCA* 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<PlatformCALayer> PlatformCALayer::create(void* \
platformLayer, PlatformCALayerClient* owner) \
</del><ins>+PassRefPtr<PlatformCALayer> PlatformCALayer::create(void* \
platformLayer, GraphicsLayerCA* owner) </ins><span class="cx"> {
</span><span class="cx"> return adoptRef(new PlatformCALayer(LayerTypeCustom, \
static_cast<PlatformLayer*>(platformLayer), owner)); </span><span class="cx"> }
</span><span class="cx">
</span><del>-PlatformCALayer::PlatformCALayer(LayerType layerType, PlatformLayer* \
layer, PlatformCALayerClient* owner) \
</del><ins>+PlatformCALayer::PlatformCALayer(LayerType layerType, PlatformLayer* \
layer, GraphicsLayerCA* 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,7 +168,6 @@
</span><span class="cx"> Class layerClass = Nil;
</span><span class="cx"> switch(layerType) {
</span><span class="cx"> case LayerTypeLayer:
</span><del>- case LayerTypeRootLayer:
</del><span class="cx"> layerClass = [CALayer class];
</span><span class="cx"> break;
</span><span class="cx"> case LayerTypeWebLayer:
</span><span class="lines">@@ -569,15 +568,15 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-CFTypeRef PlatformCALayer::contents() const
</del><ins>+void* 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(CFTypeRef value)
</del><ins>+void PlatformCALayer::setContents(void* value)
</ins><span class="cx"> {
</span><span class="cx"> BEGIN_BLOCK_OBJC_EXCEPTIONS
</span><del>- [m_layer.get() \
setContents:static_cast<id>(const_cast<void*>(value))]; </del><ins>+ \
[m_layer.get() setContents:static_cast<id>(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 \
(75226 => 75227)</h4> <pre class="diff"><span>
<span class="info">--- trunk/WebCore/platform/graphics/mac/WebGLLayer.mm 2011-01-07 \
04:32:59 UTC (rev 75226)
+++ trunk/WebCore/platform/graphics/mac/WebGLLayer.mm 2011-01-07 04:53:08 UTC (rev \
75227) </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->layerDidDisplay(self);
</del><ins>+ m_layerOwner->didDisplay(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 \
(75226 => 75227)</h4> <pre class="diff"><span>
<span class="info">--- trunk/WebCore/platform/graphics/mac/WebLayer.h 2011-01-07 \
04:32:59 UTC (rev 75226)
+++ trunk/WebCore/platform/graphics/mac/WebLayer.h 2011-01-07 04:53:08 UTC (rev \
75227) </span><span class="lines">@@ -32,7 +32,6 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> class GraphicsLayer;
</span><del>- class PlatformCALayerClient;
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if defined(BUILDING_ON_LEOPARD)
</span><span class="lines">@@ -48,8 +47,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::PlatformCALayerClient*);
-void setLayerNeedsDisplayInRect(CALayer *, WebCore::PlatformCALayerClient*, CGRect);
</del><ins>+void drawLayerContents(CGContextRef, CALayer *, WebCore::GraphicsLayer*);
+void setLayerNeedsDisplayInRect(CALayer *, WebCore::GraphicsLayer*, 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 \
(75226 => 75227)</h4> <pre class="diff"><span>
<span class="info">--- trunk/WebCore/platform/graphics/mac/WebLayer.mm 2011-01-07 \
04:32:59 UTC (rev 75226)
+++ trunk/WebCore/platform/graphics/mac/WebLayer.mm 2011-01-07 04:53:08 UTC (rev \
75227) </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::PlatformCALayerClient* layerContents) </del><ins>+void \
drawLayerContents(CGContextRef context, CALayer *layer, WebCore::GraphicsLayer* \
layerContents) </ins><span class="cx"> {
</span><span class="cx"> if (!layerContents)
</span><span class="cx"> return;
</span><span class="lines">@@ -48,38 +48,50 @@
</span><span class="cx"> CGContextSaveGState(context);
</span><span class="cx">
</span><span class="cx"> CGRect layerBounds = [layer bounds];
</span><del>- if (layerContents->platformCALayerContentsOrientation() == \
WebCore::GraphicsLayer::CompositingCoordinatesBottomUp) { </del><ins>+ if \
(layerContents->contentsOrientation() == \
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>- [NSGraphicsContext saveGraphicsState];
</del><ins>+ if (layerContents->client()) {
+ [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->platformCALayerContentsOpaque()) {
- // Turn off font smoothing to improve the appearance of text rendered onto a \
transparent background.
- graphicsContext.setShouldSmoothFonts(false);
</del><ins>+ if (!layerContents->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->paintGraphicsLayerContents(graphicsContext, clip);
+
+ [NSGraphicsContext restoreGraphicsState];
</ins><span class="cx"> }
</span><del>-
- // 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->platformCALayerPaintContents(graphicsContext, clip);
</del><ins>+#ifndef NDEBUG
+ else {
+ ASSERT_NOT_REACHED();
</ins><span class="cx">
</span><del>- [NSGraphicsContext restoreGraphicsState];
</del><ins>+ // 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
</ins><span class="cx">
</span><del>- if (layerContents->platformCALayerShowRepaintCounter()) {
</del><ins>+ if (layerContents->showRepaintCounter()) {
</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), "%d", \
layerContents->platformCALayerIncrementRepaintCount()); </del><ins>+ \
snprintf(text, sizeof(text), "%d", \
layerContents->incrementRepaintCount()); </ins><span class="cx">
</span><span class="cx"> CGContextSaveGState(context);
</span><span class="cx"> if (isTiledLayer)
</span><span class="lines">@@ -105,26 +117,26 @@
</span><span class="cx"> CGContextRestoreGState(context);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void setLayerNeedsDisplayInRect(CALayer *layer, \
WebCore::PlatformCALayerClient* layerContents, CGRect rect) </del><ins>+void \
setLayerNeedsDisplayInRect(CALayer *layer, WebCore::GraphicsLayer* layerContents, \
CGRect rect) </ins><span class="cx"> {
</span><del>- if (layerContents && \
layerContents->platformCALayerDrawsContent()) { </del><ins>+ if (layerContents \
&& layerContents->client() && layerContents->drawsContent()) { \
</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->platformCALayerContentsOrientation() \
== WebCore::GraphicsLayer::CompositingCoordinatesBottomUp) </del><ins>+ if \
(layerContents->contentsOrientation() == \
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(&layerSuper, @selector(setNeedsDisplayInRect:), rect); \
</span><span class="cx"> </span><span class="cx"> #ifndef NDEBUG
</span><del>- if (layerContents->platformCALayerShowRepaintCounter()) {
</del><ins>+ if (layerContents->showRepaintCounter()) {
</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->platformCALayerContentsOrientation() == \
WebCore::GraphicsLayer::CompositingCoordinatesBottomUp) </del><ins>+ if \
(layerContents->contentsOrientation() == \
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(&layerSuper, \
@selector(setNeedsDisplayInRect:), indicatorRect); </span><span class="lines">@@ \
-143,7 +155,7 @@ </span><span class="cx"> - (void)setNeedsDisplay
</span><span class="cx"> {
</span><span class="cx"> PlatformCALayer* layer = \
PlatformCALayer::platformCALayer(self); </span><del>- if (layer && \
layer->owner() && layer->owner()->platformCALayerDrawsContent()) \
</del><ins>+ if (layer && layer->owner() && \
layer->owner()->client() && layer->owner()->drawsContent()) \
</ins><span class="cx"> [super setNeedsDisplay]; </span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -159,7 +171,7 @@
</span><span class="cx"> [super display];
</span><span class="cx"> PlatformCALayer* layer = \
PlatformCALayer::platformCALayer(self); </span><span class="cx"> if (layer \
&& layer->owner()) </span><del>- \
layer->owner()->platformCALayerLayerDidDisplay(self); </del><ins>+ \
layer->owner()->didDisplay(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 (75226 => 75227)</h4> <pre \
class="diff"><span> <span class="info">--- \
trunk/WebCore/platform/graphics/mac/WebTiledLayer.mm 2011-01-07 04:32:59 UTC (rev \
75226)
+++ trunk/WebCore/platform/graphics/mac/WebTiledLayer.mm 2011-01-07 04:53:08 UTC (rev \
75227) </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 && \
layer->owner() && layer->owner()->platformCALayerDrawsContent()) \
</del><ins>+ if (layer && layer->owner() && \
layer->owner()->client() && layer->owner()->drawsContent()) \
</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 \
&& layer->owner()) </span><del>- \
layer->owner()->platformCALayerLayerDidDisplay(self); </del><ins>+ \
layer->owner()->didDisplay(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 \
(75226 => 75227)</h4> <pre class="diff"><span>
<span class="info">--- trunk/WebCore/rendering/RenderLayerBacking.cpp 2011-01-07 \
04:32:59 UTC (rev 75226)
+++ trunk/WebCore/rendering/RenderLayerBacking.cpp 2011-01-07 04:53:08 UTC (rev \
75227) </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()->compositorShowDebugBorders() \
: false; </del><ins>+ return compositor() ? compositor()->showDebugBorders() : \
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()->compositorShowRepaintCounter() : false; </del><ins>+ return \
compositor() ? compositor()->showRepaintCounter() : false; </ins><span class="cx"> \
} </span><span class="cx">
</span><span class="cx"> bool RenderLayerBacking::startAnimation(double timeOffset, \
const Animation* anim, const KeyframeList& keyframes) </span></span></pre></div>
<a id="trunkWebCorerenderingRenderLayerCompositorcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/rendering/RenderLayerCompositor.cpp \
(75226 => 75227)</h4> <pre class="diff"><span>
<span class="info">--- trunk/WebCore/rendering/RenderLayerCompositor.cpp 2011-01-07 \
04:32:59 UTC (rev 75226)
+++ trunk/WebCore/rendering/RenderLayerCompositor.cpp 2011-01-07 04:53:08 UTC (rev \
75227) </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(this);
</del><ins>+ m_clipLayer = GraphicsLayer::create(0);
</ins><span class="cx"> #ifndef NDEBUG
</span><span class="cx"> m_clipLayer->setName("iframe \
Clipping"); </span><span class="cx"> #endif
</span><span class="cx"> m_clipLayer->setMasksToBounds(true);
</span><span class="cx">
</span><del>- m_scrollLayer = GraphicsLayer::create(this);
</del><ins>+ m_scrollLayer = GraphicsLayer::create(0);
</ins><span class="cx"> #ifndef NDEBUG
</span><span class="cx"> m_scrollLayer->setName("iframe \
scrolling"); </span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkWebCorerenderingRenderLayerCompositorh"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/rendering/RenderLayerCompositor.h \
(75226 => 75227)</h4> <pre class="diff"><span>
<span class="info">--- trunk/WebCore/rendering/RenderLayerCompositor.h 2011-01-07 \
04:32:59 UTC (rev 75226)
+++ trunk/WebCore/rendering/RenderLayerCompositor.h 2011-01-07 04:53:08 UTC (rev \
75227) </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 : public GraphicsLayerClient {
</del><ins>+class RenderLayerCompositor {
</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 "compositing \
mode" (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,6 +71,9 @@
</span><span class="cx">
</span><span class="cx"> bool canRender3DTransforms() const;
</span><span class="cx">
</span><ins>+ bool showDebugBorders() const { return m_showDebugBorders; }
+ bool showRepaintCounter() const { return m_showRepaintCounter; }
+
</ins><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">@@ -169,22 +172,7 @@
</span><span class="cx">
</span><span class="cx"> String layerTreeAsText();
</span><span class="cx">
</span><del>- // 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; }
-
</del><span class="cx"> private:
</span><del>- // GraphicsLayerClient Implementation
- virtual void notifyAnimationStarted(const GraphicsLayer*, double) { }
- virtual void notifySyncRequired(const GraphicsLayer*) { scheduleSync(); }
- virtual void paintContents(const GraphicsLayer*, GraphicsContext&, \
GraphicsLayerPaintingPhase, const IntRect&) { }
-
- // 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; }
-
</del><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