Title: [167749] trunk/Source/WebKit2
Revision
167749
Author
simon.fra...@apple.com
Date
2014-04-23 22:16:45 -0700 (Wed, 23 Apr 2014)

Log Message

[iOS WK2] Missing content inside long overflow-scrolling:touch
https://bugs.webkit.org/show_bug.cgi?id=132105

Reviewed by Tim Horton.

PlatformCALayerRemote needs to track bounds origin as well as size,
since iOS uses bounds origin for overflow scrolling.

* Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::applyPropertiesToLayer):
* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::dumpChangedLayers):
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::updateBackingStore):
(WebKit::PlatformCALayerRemote::bounds):
(WebKit::PlatformCALayerRemote::setBounds):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (167748 => 167749)


--- trunk/Source/WebKit2/ChangeLog	2014-04-24 04:49:22 UTC (rev 167748)
+++ trunk/Source/WebKit2/ChangeLog	2014-04-24 05:16:45 UTC (rev 167749)
@@ -1,3 +1,26 @@
+2014-04-23  Simon Fraser  <simon.fra...@apple.com>
+
+        [iOS WK2] Missing content inside long overflow-scrolling:touch 
+        https://bugs.webkit.org/show_bug.cgi?id=132105
+
+        Reviewed by Tim Horton.
+        
+        PlatformCALayerRemote needs to track bounds origin as well as size,
+        since iOS uses bounds origin for overflow scrolling.
+
+        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
+        (WebKit::applyPropertiesToLayer):
+        * Shared/mac/RemoteLayerTreeTransaction.h:
+        * Shared/mac/RemoteLayerTreeTransaction.mm:
+        (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
+        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
+        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
+        (WebKit::dumpChangedLayers):
+        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
+        (WebKit::PlatformCALayerRemote::updateBackingStore):
+        (WebKit::PlatformCALayerRemote::bounds):
+        (WebKit::PlatformCALayerRemote::setBounds):
+
 2014-04-23  Andreas Kling  <akl...@apple.com>
 
         Remove unused WKPageSetMemoryCacheClientCallsEnabled API.

Modified: trunk/Source/WebKit2/Shared/mac/RemoteLayerTreePropertyApplier.mm (167748 => 167749)


--- trunk/Source/WebKit2/Shared/mac/RemoteLayerTreePropertyApplier.mm	2014-04-24 04:49:22 UTC (rev 167748)
+++ trunk/Source/WebKit2/Shared/mac/RemoteLayerTreePropertyApplier.mm	2014-04-24 05:16:45 UTC (rev 167749)
@@ -128,8 +128,8 @@
         layer.anchorPointZ = properties.anchorPoint.z();
     }
 
-    if (properties.changedProperties & RemoteLayerTreeTransaction::SizeChanged)
-        layer.bounds = FloatRect(FloatPoint(), properties.size);
+    if (properties.changedProperties & RemoteLayerTreeTransaction::BoundsChanged)
+        layer.bounds = properties.bounds;
     
     if (properties.changedProperties & RemoteLayerTreeTransaction::BackgroundColorChanged)
         layer.backgroundColor = cgColorFromColor(properties.backgroundColor).get();

Modified: trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.h (167748 => 167749)


--- trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.h	2014-04-24 04:49:22 UTC (rev 167748)
+++ trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.h	2014-04-24 05:16:45 UTC (rev 167749)
@@ -54,7 +54,7 @@
         NameChanged = 1 << 1,
         ChildrenChanged = 1 << 2,
         PositionChanged = 1 << 3,
-        SizeChanged = 1 << 4,
+        BoundsChanged = 1 << 4,
         BackgroundColorChanged = 1 << 5,
         AnchorPointChanged = 1 << 6,
         BorderWidthChanged = 1 << 7,
@@ -127,7 +127,7 @@
 
         WebCore::FloatPoint3D position;
         WebCore::FloatPoint3D anchorPoint;
-        WebCore::FloatSize size;
+        WebCore::FloatRect bounds;
         WebCore::FloatRect contentsRect;
         std::unique_ptr<RemoteLayerBackingStore> backingStore;
         std::unique_ptr<WebCore::FilterOperations> filters;

Modified: trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm (167748 => 167749)


--- trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm	2014-04-24 04:49:22 UTC (rev 167748)
+++ trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm	2014-04-24 05:16:45 UTC (rev 167749)
@@ -111,7 +111,7 @@
     , keyPathsOfAnimationsToRemove(other.keyPathsOfAnimationsToRemove)
     , position(other.position)
     , anchorPoint(other.anchorPoint)
-    , size(other.size)
+    , bounds(other.bounds)
     , contentsRect(other.contentsRect)
     , maskLayerID(other.maskLayerID)
     , timeOffset(other.timeOffset)
@@ -164,8 +164,8 @@
     if (changedProperties & PositionChanged)
         encoder << position;
 
-    if (changedProperties & SizeChanged)
-        encoder << size;
+    if (changedProperties & BoundsChanged)
+        encoder << bounds;
 
     if (changedProperties & BackgroundColorChanged)
         encoder << backgroundColor;
@@ -280,8 +280,8 @@
             return false;
     }
 
-    if (result.changedProperties & SizeChanged) {
-        if (!decoder.decode(result.size))
+    if (result.changedProperties & BoundsChanged) {
+        if (!decoder.decode(result.bounds))
             return false;
     }
 
@@ -999,8 +999,8 @@
         if (layerProperties.changedProperties & RemoteLayerTreeTransaction::PositionChanged)
             dumpProperty(ts, "position", layerProperties.position);
 
-        if (layerProperties.changedProperties & RemoteLayerTreeTransaction::SizeChanged)
-            dumpProperty(ts, "size", layerProperties.size);
+        if (layerProperties.changedProperties & RemoteLayerTreeTransaction::BoundsChanged)
+            dumpProperty(ts, "bounds", layerProperties.bounds);
 
         if (layerProperties.changedProperties & RemoteLayerTreeTransaction::AnchorPointChanged)
             dumpProperty(ts, "anchorPoint", layerProperties.anchorPoint);

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


--- trunk/Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemote.cpp	2014-04-24 04:49:22 UTC (rev 167748)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemote.cpp	2014-04-24 05:16:45 UTC (rev 167749)
@@ -169,7 +169,7 @@
     if (!m_properties.backingStore)
         return;
 
-    m_properties.backingStore->ensureBackingStore(this, expandedIntSize(m_properties.size), m_properties.contentsScale, m_acceleratesDrawing, m_properties.opaque);
+    m_properties.backingStore->ensureBackingStore(this, expandedIntSize(m_properties.bounds.size()), m_properties.contentsScale, m_acceleratesDrawing, m_properties.opaque);
 }
 
 void PlatformCALayerRemote::setNeedsDisplay(const FloatRect* rect)
@@ -334,16 +334,16 @@
 
 FloatRect PlatformCALayerRemote::bounds() const
 {
-    return FloatRect(FloatPoint(), m_properties.size);
+    return m_properties.bounds;
 }
 
 void PlatformCALayerRemote::setBounds(const FloatRect& value)
 {
-    if (value.size() == m_properties.size)
+    if (value == m_properties.bounds)
         return;
 
-    m_properties.size = value.size();
-    m_properties.notePropertiesChanged(RemoteLayerTreeTransaction::SizeChanged);
+    m_properties.bounds = value;
+    m_properties.notePropertiesChanged(RemoteLayerTreeTransaction::BoundsChanged);
     
     if (requiresCustomAppearanceUpdateOnBoundsChange())
         m_properties.notePropertiesChanged(RemoteLayerTreeTransaction::CustomAppearanceChanged);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to