[chromium] Store scrollable layer's contents size for coordinated scrollable layers
authorjamesr@google.com <jamesr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 11 Jan 2013 00:07:22 +0000 (00:07 +0000)
committerjamesr@google.com <jamesr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 11 Jan 2013 00:07:22 +0000 (00:07 +0000)
https://bugs.webkit.org/show_bug.cgi?id=106518

Reviewed by Adrienne Walker.

Source/WebCore:

This stores a scrollable layer's contentsSize in the scroll layer's bounds, which is otherwise not useful. This
value is currently calculated based on fragile knowledge of the tree structure immediately beneath a scrollable
layer.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated):

LayoutTests:

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@139385 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/platform/chromium/TestExpectations
Source/WebCore/ChangeLog
Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp

index 02b220d..7b82938 100644 (file)
@@ -1,3 +1,12 @@
+2013-01-10  James Robinson  <jamesr@chromium.org>
+
+        [chromium] Store scrollable layer's contents size for coordinated scrollable layers
+        https://bugs.webkit.org/show_bug.cgi?id=106518
+
+        Reviewed by Adrienne Walker.
+
+        * platform/chromium/TestExpectations:
+
 2013-01-10  Michael Pruett  <michael@68k.org>
 
         IndexedDB: Update expected results for IndexedDB layout tests
index 3a2326b..39a042f 100644 (file)
@@ -3124,8 +3124,6 @@ webkit.org/b/81145 [ Lion MountainLion ] compositing/plugins/composited-plugin.h
 webkit.org/b/81145 [ Lion MountainLion ] platform/chromium/virtual/softwarecompositing/plugins/composited-plugin.html [ Failure ]
 webkit.org/b/81145 [ Lion MountainLion ] fast/repaint/transform-absolute-in-positioned-container.html [ Failure ]
 webkit.org/b/81145 [ Lion MountainLion ] animations/cross-fade-webkit-mask-box-image.html [ ImageOnlyFailure ]
-webkit.org/b/81145 [ Lion MountainLion ] compositing/iframes/iframe-content-flipping.html [ ImageOnlyFailure ]
-webkit.org/b/81145 [ Lion MountainLion ] platform/chromium/virtual/softwarecompositing/iframes/iframe-content-flipping.html [ ImageOnlyFailure ]
 webkit.org/b/81145 [ Lion MountainLion ] fast/frames/invalid.html [ Failure ImageOnlyFailure Pass Slow ]
 webkit.org/b/81145 [ Lion MountainLion ] fast/repaint/background-scaling.html [ ImageOnlyFailure ]
 webkit.org/b/81145 [ Lion MountainLion ] fast/repaint/scale-page-shrink.html [ ImageOnlyFailure ]
@@ -4113,6 +4111,8 @@ webkit.org/b/101408 platform/chromium/fast/forms/calendar-picker/calendar-picker
 
 webkit.org/b/104993 [ XP ] fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html [ Failure ]
 
+webkit.org/b/106518 compositing/iframes/iframe-content-flipping.html [ ImageOnlyFailure ]
+webkit.org/b/106518 platform/chromium/virtual/softwarecompositing/iframes/iframe-content-flipping.html [ ImageOnlyFailure ]
 
 webkit.org/b/101539 [ Linux Win ] editing/execCommand/switch-list-type-with-orphaned-li.html [ Failure ]
 
index 73a669e..12630b8 100644 (file)
@@ -1,3 +1,17 @@
+2013-01-10  James Robinson  <jamesr@chromium.org>
+
+        [chromium] Store scrollable layer's contents size for coordinated scrollable layers
+        https://bugs.webkit.org/show_bug.cgi?id=106518
+
+        Reviewed by Adrienne Walker.
+
+        This stores a scrollable layer's contentsSize in the scroll layer's bounds, which is otherwise not useful. This
+        value is currently calculated based on fragile knowledge of the tree structure immediately beneath a scrollable
+        layer.
+
+        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
+        (WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated):
+
 2013-01-10  Dan Beam  <dbeam@chromium.org>
 
         Implement AutocompleteErrorEvent#reason
index b43a906..a741f8d 100644 (file)
@@ -106,7 +106,7 @@ ScrollingCoordinatorChromium::~ScrollingCoordinatorChromium()
     delete m_private;
 }
 
-void ScrollingCoordinatorChromium::frameViewLayoutUpdated(FrameView*)
+void ScrollingCoordinatorChromium::frameViewLayoutUpdated(FrameView* frameView)
 {
     ASSERT(m_page);
 
@@ -121,6 +121,8 @@ void ScrollingCoordinatorChromium::frameViewLayoutUpdated(FrameView*)
     computeAbsoluteTouchEventTargetRects(m_page->mainFrame()->document(), touchEventTargetRects);
     setTouchEventTargetRects(touchEventTargetRects);
 #endif
+    if (m_private->scrollLayer())
+        m_private->scrollLayer()->setBounds(frameView->contentsSize());
 }
 
 void ScrollingCoordinatorChromium::touchEventTargetRectsDidChange(const Document* document)