Title: [161013] trunk/Source/WebKit2
Revision
161013
Author
[email protected]
Date
2013-12-23 13:09:44 -0800 (Mon, 23 Dec 2013)

Log Message

REGRESSION (r160672): Random remote layers are getting shadows
https://bugs.webkit.org/show_bug.cgi?id=126126

Reviewed by Anders Carlsson.

In http://trac.webkit.org/changeset/160672, we unconditionally
check m_properties.customAppearance without regard for whether it
has ever been initialized. This would result in sending an uninitialized
custom appearance to the UI process, which could end up requesting a shadow.

* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
Initialize LayerProperties to the CoreAnimation defaults.

* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::PlatformCALayerRemote):
Remove wrongly-placed default initialization of contentsScale;
there's no reason to send it across the wire for every new layer
if it's left at the default.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (161012 => 161013)


--- trunk/Source/WebKit2/ChangeLog	2013-12-23 20:44:28 UTC (rev 161012)
+++ trunk/Source/WebKit2/ChangeLog	2013-12-23 21:09:44 UTC (rev 161013)
@@ -1,3 +1,25 @@
+2013-12-23  Tim Horton  <[email protected]>
+
+        REGRESSION (r160672): Random remote layers are getting shadows
+        https://bugs.webkit.org/show_bug.cgi?id=126126
+
+        Reviewed by Anders Carlsson.
+
+        In http://trac.webkit.org/changeset/160672, we unconditionally
+        check m_properties.customAppearance without regard for whether it
+        has ever been initialized. This would result in sending an uninitialized
+        custom appearance to the UI process, which could end up requesting a shadow.
+
+        * Shared/mac/RemoteLayerTreeTransaction.mm:
+        (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
+        Initialize LayerProperties to the CoreAnimation defaults.
+
+        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
+        (PlatformCALayerRemote::PlatformCALayerRemote):
+        Remove wrongly-placed default initialization of contentsScale;
+        there's no reason to send it across the wire for every new layer
+        if it's left at the default.
+
 2013-12-23  Anders Carlsson  <[email protected]>
 
         Use std::chrono::milliseconds for message wait timeouts in WebKit2

Modified: trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm (161012 => 161013)


--- trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm	2013-12-23 20:44:28 UTC (rev 161012)
+++ trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm	2013-12-23 21:09:44 UTC (rev 161013)
@@ -71,6 +71,25 @@
 RemoteLayerTreeTransaction::LayerProperties::LayerProperties()
     : changedProperties(NoChange)
     , everChangedProperties(NoChange)
+    , backgroundColor(Color::transparent)
+    , anchorPoint(0.5, 0.5, 0)
+    , borderWidth(0)
+    , borderColor(Color::black)
+    , opacity(1)
+    , hidden(false)
+    , geometryFlipped(false)
+    , doubleSided(true)
+    , masksToBounds(false)
+    , opaque(false)
+    , maskLayerID(0)
+    , contentsRect(FloatPoint(), FloatSize(1, 1))
+    , contentsScale(1)
+    , minificationFilter(PlatformCALayer::FilterType::Linear)
+    , magnificationFilter(PlatformCALayer::FilterType::Linear)
+    , speed(1)
+    , timeOffset(0)
+    , edgeAntialiasingMask(kCALayerLeftEdge | kCALayerRightEdge | kCALayerBottomEdge | kCALayerTopEdge)
+    , customAppearance(GraphicsLayer::NoCustomAppearance)
 {
 }
 

Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemote.cpp (161012 => 161013)


--- trunk/Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemote.cpp	2013-12-23 20:44:28 UTC (rev 161012)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemote.cpp	2013-12-23 21:09:44 UTC (rev 161013)
@@ -90,8 +90,6 @@
     , m_acceleratesDrawing(false)
     , m_context(context)
 {
-    // FIXME: match all default values from CA.
-    setContentsScale(1);
 }
 
 PassRefPtr<PlatformCALayer> PlatformCALayerRemote::clone(PlatformCALayerClient* client) const
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to