Title: [117113] trunk/Source/WebCore
Revision
117113
Author
[email protected]
Date
2012-05-15 12:20:19 -0700 (Tue, 15 May 2012)

Log Message

https://bugs.webkit.org/show_bug.cgi?id=86506
REGRESSION (tiled drawing): No scrollbar while page is loading
-and corresponding
<rdar://problem/11444589>

Reviewed by Anders Carlsson.

We have always had a mechanism in place to suppress painting overlay 
scrollbars while the page is loading. However, that mechaism is 
overriden if the page has been scrolled. It should be, anyway. It was 
not being overriden when the scrolling was handled as a wheel event by 
the scrolling tree. This patch takes advantage of the fact that 
ScrollingTree::handleWheelEvent() already calls back to the main 
thread for handleWheelEventPhase() and just patches 
handleWheelEventPhase to mark m_haveScrolledSincePageLoad as true.
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::handleWheelEventPhase):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (117112 => 117113)


--- trunk/Source/WebCore/ChangeLog	2012-05-15 19:05:52 UTC (rev 117112)
+++ trunk/Source/WebCore/ChangeLog	2012-05-15 19:20:19 UTC (rev 117113)
@@ -1,3 +1,23 @@
+2012-05-15  Beth Dakin  <[email protected]>
+
+        https://bugs.webkit.org/show_bug.cgi?id=86506
+        REGRESSION (tiled drawing): No scrollbar while page is loading
+        -and corresponding
+        <rdar://problem/11444589>
+
+        Reviewed by Anders Carlsson.
+
+        We have always had a mechanism in place to suppress painting overlay 
+        scrollbars while the page is loading. However, that mechaism is 
+        overriden if the page has been scrolled. It should be, anyway. It was 
+        not being overriden when the scrolling was handled as a wheel event by 
+        the scrolling tree. This patch takes advantage of the fact that 
+        ScrollingTree::handleWheelEvent() already calls back to the main 
+        thread for handleWheelEventPhase() and just patches 
+        handleWheelEventPhase to mark m_haveScrolledSincePageLoad as true.
+        * platform/mac/ScrollAnimatorMac.mm:
+        (WebCore::ScrollAnimatorMac::handleWheelEventPhase):
+
 2012-05-15  Jessie Berlin  <[email protected]>
 
         WKContextSetCacheModel(contextref, kWKCacheModelDocumentViewer) doesn't prevent pages from

Modified: trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm (117112 => 117113)


--- trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm	2012-05-15 19:05:52 UTC (rev 117112)
+++ trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm	2012-05-15 19:20:19 UTC (rev 117113)
@@ -963,6 +963,10 @@
 
 void ScrollAnimatorMac::handleWheelEventPhase(PlatformWheelEventPhase phase)
 {
+    // This may not have been set to true yet if the wheel event was handled by the ScrollingTree,
+    // So set it to true here.
+    m_haveScrolledSincePageLoad = true;
+
     if (phase == PlatformWheelEventPhaseBegan)
         didBeginScrollGesture();
     else if (phase == PlatformWheelEventPhaseEnded || phase == PlatformWheelEventPhaseCancelled)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to