Title: [219645] trunk/Source/WebCore
Revision
219645
Author
[email protected]
Date
2017-07-18 18:13:11 -0700 (Tue, 18 Jul 2017)

Log Message

Media controls are missing content in fullscreen when document has scroll offset.
https://bugs.webkit.org/show_bug.cgi?id=174644
<rdar://problem/32415323>

Reviewed by Simon Fraser.

If a non-user initiated scrolling (result of resize for example) is processed asynchronously, it might
leapfrog other, programatic scrollings and trigger unintentional scroll offsets (and turn into unwanted clippings).
This patch ensures that both resize and top content inset change are translated into programatic scrolling.

Unable to test full screen video.

* page/FrameView.cpp:
(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::topContentInsetDidChange):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (219644 => 219645)


--- trunk/Source/WebCore/ChangeLog	2017-07-19 01:05:45 UTC (rev 219644)
+++ trunk/Source/WebCore/ChangeLog	2017-07-19 01:13:11 UTC (rev 219645)
@@ -1,3 +1,21 @@
+2017-07-18  Zalan Bujtas  <[email protected]>
+
+        Media controls are missing content in fullscreen when document has scroll offset.
+        https://bugs.webkit.org/show_bug.cgi?id=174644
+        <rdar://problem/32415323>
+
+        Reviewed by Simon Fraser.
+
+        If a non-user initiated scrolling (result of resize for example) is processed asynchronously, it might
+        leapfrog other, programatic scrollings and trigger unintentional scroll offsets (and turn into unwanted clippings). 
+        This patch ensures that both resize and top content inset change are translated into programatic scrolling. 
+
+        Unable to test full screen video.
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::setFrameRect):
+        (WebCore::FrameView::topContentInsetDidChange):
+
 2017-07-18  Andy Estes  <[email protected]>
 
         [Xcode] Enable CLANG_WARN_OBJC_LITERAL_CONVERSION

Modified: trunk/Source/WebCore/page/FrameView.cpp (219644 => 219645)


--- trunk/Source/WebCore/page/FrameView.cpp	2017-07-19 01:05:45 UTC (rev 219644)
+++ trunk/Source/WebCore/page/FrameView.cpp	2017-07-19 01:13:11 UTC (rev 219645)
@@ -528,7 +528,8 @@
     IntRect oldRect = frameRect();
     if (newRect == oldRect)
         return;
-
+    // Every scroll that happens as the result of frame size change is programmatic.
+    SetForScope<bool> changeInProgrammaticScroll(m_inProgrammaticScroll, true);
     ScrollView::setFrameRect(newRect);
 
     updateScrollableAreaSet();
@@ -1175,7 +1176,8 @@
         platformSetTopContentInset(newTopContentInset);
     
     layout();
-
+    // Every scroll that happens as the result of content inset change is programmatic.
+    SetForScope<bool> changeInProgrammaticScroll(m_inProgrammaticScroll, true);
     updateScrollbars(scrollPosition());
     if (renderView->usesCompositing())
         renderView->compositor().frameViewDidChangeSize();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to