Title: [193664] trunk/Source/WebKit2
Revision
193664
Author
commit-qu...@webkit.org
Date
2015-12-07 16:22:16 -0800 (Mon, 07 Dec 2015)

Log Message

Unreviewed, rolling out r193655.
https://bugs.webkit.org/show_bug.cgi?id=151970

This change broke existing LayoutTests on mac-wk2 (Requested
by ryanhaddad on #webkit).

Reverted changeset:

"UIProcess should determine AppNap state for WebPage"
https://bugs.webkit.org/show_bug.cgi?id=151964
http://trac.webkit.org/changeset/193655

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (193663 => 193664)


--- trunk/Source/WebKit2/ChangeLog	2015-12-08 00:08:56 UTC (rev 193663)
+++ trunk/Source/WebKit2/ChangeLog	2015-12-08 00:22:16 UTC (rev 193664)
@@ -1,3 +1,17 @@
+2015-12-07  Commit Queue  <commit-qu...@webkit.org>
+
+        Unreviewed, rolling out r193655.
+        https://bugs.webkit.org/show_bug.cgi?id=151970
+
+        This change broke existing LayoutTests on mac-wk2 (Requested
+        by ryanhaddad on #webkit).
+
+        Reverted changeset:
+
+        "UIProcess should determine AppNap state for WebPage"
+        https://bugs.webkit.org/show_bug.cgi?id=151964
+        http://trac.webkit.org/changeset/193655
+
 2015-12-05  Gavin Barraclough  <barraclo...@apple.com>
 
         UIProcess should determine AppNap state for WebPage

Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (193663 => 193664)


--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp	2015-12-08 00:08:56 UTC (rev 193663)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp	2015-12-08 00:22:16 UTC (rev 193664)
@@ -338,8 +338,6 @@
     , m_notificationPermissionRequestManager(*this)
     , m_userMediaPermissionRequestManager(*this)
     , m_viewState(ViewState::NoFlags)
-    , m_activityState(PageActivityState::NoFlags)
-    , m_userActivityStarted(false)
     , m_viewWasEverInWindow(false)
 #if PLATFORM(IOS)
     , m_alwaysRunsAtForegroundPriority(m_configuration->alwaysRunsAtForegroundPriority())
@@ -1450,15 +1448,6 @@
     m_viewWasEverInWindow |= isNowInWindow;
 }
 
-void WebPageProxy::setPageActivityState(PageActivityState::Flags activityState)
-{
-    if (m_activityState == activityState)
-        return;
-
-    m_activityState = activityState;
-    updateActivityToken();
-}
-
 void WebPageProxy::updateActivityToken()
 {
     if (m_viewState & ViewState::IsVisuallyIdle)
@@ -1466,14 +1455,6 @@
     else if (!m_pageIsUserObservableCount)
         m_pageIsUserObservableCount = m_process->processPool().userObservablePageCount();
 
-    // Start the activity to prevent AppNap if the page activity is in progress,
-    // the page is visible and non-idle, or process suppression is disabled.
-    bool shouldHoldUserActivity = m_activityState || !(m_viewState & ViewState::IsVisuallyIdle) || !m_preferences->pageVisibilityBasedProcessSuppressionEnabled();
-    if (m_userActivityStarted != shouldHoldUserActivity) {
-        m_process->send(Messages::WebPage::SetUserActivityStarted(shouldHoldUserActivity), m_pageID);
-        m_userActivityStarted = shouldHoldUserActivity;
-    }
-
 #if PLATFORM(IOS)
     if (!isViewVisible() && !m_alwaysRunsAtForegroundPriority)
         m_activityToken = nullptr;
@@ -2751,7 +2732,6 @@
 #endif
 
     updateProccessSuppressionState();
-    updateActivityToken();
 
     m_pageClient.preferencesDidChange();
 

Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (193663 => 193664)


--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h	2015-12-08 00:08:56 UTC (rev 193663)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h	2015-12-08 00:22:16 UTC (rev 193664)
@@ -420,7 +420,6 @@
     bool isInWindow() const { return m_viewState & WebCore::ViewState::IsInWindow; }
     void waitForDidUpdateViewState();
     void didUpdateViewState() { m_waitingForDidUpdateViewState = false; }
-    void setPageActivityState(WebCore::PageActivityState::Flags);
 
     void layerHostingModeDidChange();
 
@@ -1557,8 +1556,6 @@
     UserMediaPermissionRequestManagerProxy m_userMediaPermissionRequestManager;
 
     WebCore::ViewState::Flags m_viewState;
-    WebCore::PageActivityState::Flags m_activityState;
-    bool m_userActivityStarted;
     bool m_viewWasEverInWindow;
 #if PLATFORM(IOS)
     bool m_allowsMediaDocumentInlinePlayback { false };

Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in (193663 => 193664)


--- trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in	2015-12-08 00:08:56 UTC (rev 193663)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in	2015-12-08 00:22:16 UTC (rev 193664)
@@ -447,6 +447,4 @@
 #endif
 
     DidRestoreScrollPosition()
-
-    SetPageActivityState(unsigned activityState)
 }

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (193663 => 193664)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2015-12-08 00:08:56 UTC (rev 193663)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2015-12-08 00:22:16 UTC (rev 193664)
@@ -341,7 +341,7 @@
     , m_scrollPinningBehavior(DoNotPin)
     , m_useAsyncScrolling(false)
     , m_viewState(parameters.viewState)
-    , m_activityState(PageActivityState::NoFlags)
+    , m_processSuppressionEnabled(true)
     , m_userActivity("Process suppression disabled for page.")
     , m_pendingNavigationID(0)
 #if ENABLE(WEBGL)
@@ -448,6 +448,7 @@
     m_page->setViewState(m_viewState);
     if (!isVisible())
         m_page->setIsPrerender();
+    updateUserActivity();
 
     updateIsInWindow(true);
 
@@ -533,16 +534,18 @@
 
 void WebPage::setPageActivityState(PageActivityState::Flags activityState)
 {
-    if (m_activityState == activityState)
-        return;
+    PageActivityState::Flags changed = m_activityState ^ activityState;
+    m_activityState = activityState;
 
-    m_activityState = activityState;
-    send(Messages::WebPageProxy::SetPageActivityState(activityState));
+    if (changed)
+        updateUserActivity();
 }
 
-void WebPage::setUserActivityStarted(bool started)
+void WebPage::updateUserActivity()
 {
-    if (started)
+    // Start the activity to prevent AppNap if the page activity is in progress,
+    // the page is visible and non-idle, or process suppression is disabled.
+    if (m_activityState || !(m_viewState & ViewState::IsVisuallyIdle) || !m_processSuppressionEnabled)
         m_userActivity.start();
     else
         m_userActivity.stop();
@@ -2368,6 +2371,9 @@
     ViewState::Flags changed = m_viewState ^ viewState;
     m_viewState = viewState;
 
+    if (changed)
+        updateUserActivity();
+
     m_page->setViewState(viewState);
     for (auto* pluginView : m_pluginViews)
         pluginView->viewStateDidChange(changed);
@@ -2925,6 +2931,12 @@
     settings.setServiceControlsEnabled(store.getBoolValueForKey(WebPreferencesKey::serviceControlsEnabledKey()));
 #endif
 
+    bool processSuppressionEnabled = store.getBoolValueForKey(WebPreferencesKey::pageVisibilityBasedProcessSuppressionEnabledKey());
+    if (m_processSuppressionEnabled != processSuppressionEnabled) {
+        m_processSuppressionEnabled = processSuppressionEnabled;
+        updateUserActivity();
+    }
+
     platformPreferencesDidChange(store);
 
     if (m_drawingArea)

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (193663 => 193664)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h	2015-12-08 00:08:56 UTC (rev 193663)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h	2015-12-08 00:22:16 UTC (rev 193664)
@@ -991,7 +991,7 @@
     void executeEditCommand(const String&, const String&);
     void setEditable(bool);
 
-    void setUserActivityStarted(bool);
+    void updateUserActivity();
 
     void mouseEvent(const WebMouseEvent&);
     void keyEvent(const WebKeyboardEvent&);
@@ -1394,6 +1394,7 @@
     WebCore::ViewState::Flags m_viewState;
     WebCore::PageActivityState::Flags m_activityState;
 
+    bool m_processSuppressionEnabled;
     UserActivity m_userActivity;
 
     uint64_t m_pendingNavigationID;

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in (193663 => 193664)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in	2015-12-08 00:08:56 UTC (rev 193663)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in	2015-12-08 00:22:16 UTC (rev 193664)
@@ -23,7 +23,6 @@
 messages -> WebPage LegacyReceiver {
     SetInitialFocus(bool forward, bool isKeyboardEventValid, WebKit::WebKeyboardEvent event, uint64_t callbackID)
     SetViewState(unsigned viewState, bool wantsDidUpdateViewState, Vector<uint64_t> callbackIDs)
-    SetUserActivityStarted(bool started)
     SetLayerHostingMode(unsigned layerHostingMode)
 
     SetSessionID(WebCore::SessionID sessionID)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to