Title: [173563] branches/safari-600.1-branch/Source/WebCore

Diff

Modified: branches/safari-600.1-branch/Source/WebCore/ChangeLog (173562 => 173563)


--- branches/safari-600.1-branch/Source/WebCore/ChangeLog	2014-09-12 17:11:23 UTC (rev 173562)
+++ branches/safari-600.1-branch/Source/WebCore/ChangeLog	2014-09-12 17:17:10 UTC (rev 173563)
@@ -1,5 +1,39 @@
 2014-09-12  Lucas Forschler  <lforsch...@apple.com>
 
+        Merge r173544
+
+    2014-09-11  Beth Dakin  <bda...@apple.com>
+
+            WebKit scrollbars flash in non-dominant spaces when entering Mission Control
+            https://bugs.webkit.org/show_bug.cgi?id=136761
+            -and corresponding-
+            rdar://problem/18195616
+
+            Reviewed by Tim Horton.
+
+            This patch makes our logic about when to call ScrollableArea::contentAreaDidHide/
+            Show match the logic in AppKit. We only want these notifications when the window 
+            has become both visible and active (or lost both, in the case of hide).
+
+            Re-name setIsVisibleInternal() to setIsVisibleAndActiveInternal(), and call it 
+            only when both visibility and active-state have changed.
+            * page/FocusController.cpp:
+            (WebCore::FocusController::setViewState):
+            (WebCore::FocusController::setIsVisibleAndActiveInternal):
+            (WebCore::FocusController::setIsVisibleInternal): Deleted.
+            * page/FocusController.h:
+
+            FocusController::setViewState() is the only place that needs to call 
+            ScrollableArea::contentAreaDidHide/Show, so remove these callers.
+            * page/FrameView.cpp:
+            (WebCore::FrameView::didMoveOnscreen): Deleted.
+            (WebCore::FrameView::willMoveOffscreen): Deleted.
+            * page/FrameView.h:
+            * page/Page.cpp:
+            (WebCore::Page::setIsVisibleInternal):
+
+2014-09-12  Lucas Forschler  <lforsch...@apple.com>
+
         Merge r173533
 
     2014-09-11  Jer Noble  <jer.no...@apple.com>

Modified: branches/safari-600.1-branch/Source/WebCore/page/FocusController.cpp (173562 => 173563)


--- branches/safari-600.1-branch/Source/WebCore/page/FocusController.cpp	2014-09-12 17:11:23 UTC (rev 173562)
+++ branches/safari-600.1-branch/Source/WebCore/page/FocusController.cpp	2014-09-12 17:17:10 UTC (rev 173563)
@@ -645,10 +645,11 @@
 
     if (changed & ViewState::IsFocused)
         setFocusedInternal(viewState & ViewState::IsFocused);
-    if (changed & ViewState::WindowIsActive)
+    if (changed & ViewState::WindowIsActive) {
         setActiveInternal(viewState & ViewState::WindowIsActive);
-    if (changed & ViewState::IsVisible)
-        setIsVisibleInternal(viewState & ViewState::IsVisible);
+        if (changed & ViewState::IsVisible)
+            setIsVisibleAndActiveInternal(viewState & ViewState::WindowIsActive);
+    }
 }
 
 void FocusController::setActive(bool active)
@@ -679,7 +680,7 @@
         scrollableArea->contentAreaDidHide();
 }
 
-void FocusController::setIsVisibleInternal(bool contentIsVisible)
+void FocusController::setIsVisibleAndActiveInternal(bool contentIsVisible)
 {
     FrameView* view = m_page.mainFrame().view();
     if (!view)

Modified: branches/safari-600.1-branch/Source/WebCore/page/FocusController.h (173562 => 173563)


--- branches/safari-600.1-branch/Source/WebCore/page/FocusController.h	2014-09-12 17:11:23 UTC (rev 173562)
+++ branches/safari-600.1-branch/Source/WebCore/page/FocusController.h	2014-09-12 17:17:10 UTC (rev 173563)
@@ -95,7 +95,7 @@
 private:
     void setActiveInternal(bool);
     void setFocusedInternal(bool);
-    void setIsVisibleInternal(bool);
+    void setIsVisibleAndActiveInternal(bool);
 
     bool advanceFocusDirectionally(FocusDirection, KeyboardEvent*);
     bool advanceFocusInDocumentOrder(FocusDirection, KeyboardEvent*, bool initialFocus);

Modified: branches/safari-600.1-branch/Source/WebCore/page/FrameView.cpp (173562 => 173563)


--- branches/safari-600.1-branch/Source/WebCore/page/FrameView.cpp	2014-09-12 17:11:23 UTC (rev 173562)
+++ branches/safari-600.1-branch/Source/WebCore/page/FrameView.cpp	2014-09-12 17:17:10 UTC (rev 173563)
@@ -1032,16 +1032,6 @@
     return !renderView || !renderView->compositor().has3DContent();
 }
 
-void FrameView::didMoveOnscreen()
-{
-    contentAreaDidShow();
-}
-
-void FrameView::willMoveOffscreen()
-{
-    contentAreaDidHide();
-}
-
 void FrameView::setIsInWindow(bool isInWindow)
 {
     if (RenderView* renderView = this->renderView())

Modified: branches/safari-600.1-branch/Source/WebCore/page/FrameView.h (173562 => 173563)


--- branches/safari-600.1-branch/Source/WebCore/page/FrameView.h	2014-09-12 17:11:23 UTC (rev 173562)
+++ branches/safari-600.1-branch/Source/WebCore/page/FrameView.h	2014-09-12 17:17:10 UTC (rev 173563)
@@ -177,8 +177,6 @@
     // a faithful representation of the content.
     bool isSoftwareRenderable() const;
 
-    void didMoveOnscreen();
-    void willMoveOffscreen();
     void setIsInWindow(bool);
 
     void resetScrollbars();

Modified: branches/safari-600.1-branch/Source/WebCore/page/Page.cpp (173562 => 173563)


--- branches/safari-600.1-branch/Source/WebCore/page/Page.cpp	2014-09-12 17:11:23 UTC (rev 173562)
+++ branches/safari-600.1-branch/Source/WebCore/page/Page.cpp	2014-09-12 17:17:10 UTC (rev 173563)
@@ -1253,11 +1253,6 @@
     if (isVisible) {
         m_isPrerender = false;
 
-        for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNext()) {
-            if (FrameView* frameView = frame->view())
-                frameView->didMoveOnscreen();
-        }
-
         resumeScriptedAnimations();
 
         if (FrameView* view = mainFrame().view())
@@ -1280,11 +1275,6 @@
         if (m_settings->hiddenPageCSSAnimationSuspensionEnabled())
             mainFrame().animation().suspendAnimations();
 
-        for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNext()) {
-            if (FrameView* frameView = frame->view())
-                frameView->willMoveOffscreen();
-        }
-
         suspendScriptedAnimations();
 
         if (FrameView* view = mainFrame().view())
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to