Title: [173563] branches/safari-600.1-branch/Source/WebCore
- Revision
- 173563
- Author
- lforsch...@apple.com
- Date
- 2014-09-12 10:17:10 -0700 (Fri, 12 Sep 2014)
Log Message
Merged r173544. rdar://problem/18195616
Modified Paths
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