Title: [196975] trunk/Source
Revision
196975
Author
[email protected]
Date
2016-02-23 06:36:32 -0800 (Tue, 23 Feb 2016)

Log Message

Remove tab suspension code
https://bugs.webkit.org/show_bug.cgi?id=154585

Reviewed by Andreas Kling.

Source/WebCore:

It causes too many problems.

* page/Page.cpp:
(WebCore::networkStateChanged):
(WebCore::Page::Page):
(WebCore::Page::setPageActivityState):
(WebCore::Page::setIsVisible):
(WebCore::Page::setIsVisibleInternal):
(WebCore::Page::setIsPrerender):
(WebCore::Page::setResourceUsageOverlayVisible):
(WebCore::Page::canTabSuspend): Deleted.
(WebCore::Page::setIsTabSuspended): Deleted.
(WebCore::Page::setTabSuspensionEnabled): Deleted.
(WebCore::Page::updateTabSuspensionState): Deleted.
(WebCore::Page::tabSuspensionTimerFired): Deleted.
* page/Page.h:
(WebCore::Page::setEditable):
(WebCore::Page::isEditable):
(WebCore::Page::setShowAllPlugins):

Source/WebKit2:

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebProcessPool::platformInitializeWebProcess):
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (196974 => 196975)


--- trunk/Source/WebCore/ChangeLog	2016-02-23 12:22:39 UTC (rev 196974)
+++ trunk/Source/WebCore/ChangeLog	2016-02-23 14:36:32 UTC (rev 196975)
@@ -1,3 +1,30 @@
+2016-02-23  Antti Koivisto  <[email protected]>
+
+        Remove tab suspension code
+        https://bugs.webkit.org/show_bug.cgi?id=154585
+
+        Reviewed by Andreas Kling.
+
+        It causes too many problems.
+
+        * page/Page.cpp:
+        (WebCore::networkStateChanged):
+        (WebCore::Page::Page):
+        (WebCore::Page::setPageActivityState):
+        (WebCore::Page::setIsVisible):
+        (WebCore::Page::setIsVisibleInternal):
+        (WebCore::Page::setIsPrerender):
+        (WebCore::Page::setResourceUsageOverlayVisible):
+        (WebCore::Page::canTabSuspend): Deleted.
+        (WebCore::Page::setIsTabSuspended): Deleted.
+        (WebCore::Page::setTabSuspensionEnabled): Deleted.
+        (WebCore::Page::updateTabSuspensionState): Deleted.
+        (WebCore::Page::tabSuspensionTimerFired): Deleted.
+        * page/Page.h:
+        (WebCore::Page::setEditable):
+        (WebCore::Page::isEditable):
+        (WebCore::Page::setShowAllPlugins):
+
 2016-02-23  Youenn Fablet  <[email protected]>
 
         Refactor DOM Iterator next signature

Modified: trunk/Source/WebCore/page/Page.cpp (196974 => 196975)


--- trunk/Source/WebCore/page/Page.cpp	2016-02-23 12:22:39 UTC (rev 196974)
+++ trunk/Source/WebCore/page/Page.cpp	2016-02-23 14:36:32 UTC (rev 196975)
@@ -151,7 +151,6 @@
 }
 
 static const ViewState::Flags PageInitialViewState = ViewState::IsVisible | ViewState::IsInWindow;
-bool Page::s_tabSuspensionIsEnabled = false;
 
 Page::Page(PageConfiguration& pageConfiguration)
     : m_chrome(std::make_unique<Chrome>(*this, *pageConfiguration.chromeClient))
@@ -233,7 +232,6 @@
     , m_visitedLinkStore(*WTFMove(pageConfiguration.visitedLinkStore))
     , m_sessionID(SessionID::defaultSessionID())
     , m_isClosing(false)
-    , m_tabSuspensionTimer(*this, &Page::tabSuspensionTimerFired)
 {
     setTimerThrottlingEnabled(m_viewState & ViewState::IsVisuallyIdle);
 
@@ -1325,8 +1323,6 @@
 void Page::setPageActivityState(PageActivityState::Flags activityState)
 {
     chrome().client().setPageActivityState(activityState);
-    
-    updateTabSuspensionState();
 }
 
 void Page::setIsVisible(bool isVisible)
@@ -1378,8 +1374,6 @@
         if (FrameView* view = mainFrame().view())
             view->hide();
     }
-
-    updateTabSuspensionState();
 }
 
 void Page::setIsPrerender()
@@ -1878,64 +1872,4 @@
 }
 #endif
 
-bool Page::canTabSuspend()
-{
-    if (!s_tabSuspensionIsEnabled)
-        return false;
-    if (m_isPrerender)
-        return false;
-    if (isVisible())
-        return false;
-    if (m_pageThrottler.activityState() != PageActivityState::NoFlags)
-        return false;
-
-    for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNext()) {
-        if (frame->loader().state() != FrameStateComplete)
-            return false;
-        if (frame->loader().isLoading())
-            return false;
-        if (!frame->document() || !frame->document()->canSuspendActiveDOMObjectsForDocumentSuspension(nullptr))
-            return false;
-    }
-
-    return true;
-}
-
-void Page::setIsTabSuspended(bool shouldSuspend)
-{
-    if (m_isTabSuspended == shouldSuspend)
-        return;
-    m_isTabSuspended = shouldSuspend;
-
-    for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNext()) {
-        if (auto* document = frame->document()) {
-            if (shouldSuspend)
-                document->suspend(ActiveDOMObject::PageWillBeSuspended);
-            else
-                document->resume(ActiveDOMObject::PageWillBeSuspended);
-        }
-    }
-}
-
-void Page::setTabSuspensionEnabled(bool enable)
-{
-    s_tabSuspensionIsEnabled = enable;
-}
-
-void Page::updateTabSuspensionState()
-{
-    if (canTabSuspend()) {
-        const auto tabSuspensionDelay = std::chrono::minutes(1);
-        m_tabSuspensionTimer.startOneShot(tabSuspensionDelay);
-        return;
-    }
-    m_tabSuspensionTimer.stop();
-    setIsTabSuspended(false);
-}
-
-void Page::tabSuspensionTimerFired()
-{
-    setIsTabSuspended(canTabSuspend());
-}
-
 } // namespace WebCore

Modified: trunk/Source/WebCore/page/Page.h (196974 => 196975)


--- trunk/Source/WebCore/page/Page.h	2016-02-23 12:22:39 UTC (rev 196974)
+++ trunk/Source/WebCore/page/Page.h	2016-02-23 14:36:32 UTC (rev 196975)
@@ -138,7 +138,6 @@
 public:
     WEBCORE_EXPORT static void updateStyleForAllPagesAfterGlobalChangeInEnvironment();
     WEBCORE_EXPORT static void clearPreviousItemFromAllPages(HistoryItem*);
-    WEBCORE_EXPORT static void setTabSuspensionEnabled(bool);
 
     WEBCORE_EXPORT explicit Page(PageConfiguration&);
     WEBCORE_EXPORT ~Page();
@@ -372,8 +371,6 @@
     // with exponential growth in the number of frames.
     static const int maxNumberOfFrames = 1000;
 
-    static bool s_tabSuspensionIsEnabled;
-
     void setEditable(bool isEditable) { m_isEditable = isEditable; }
     bool isEditable() { return m_isEditable; }
 
@@ -500,7 +497,6 @@
 
     void setShowAllPlugins(bool showAll) { m_showAllPlugins = showAll; }
     bool showAllPlugins() const;
-    void setIsTabSuspended(bool);
 
 private:
     WEBCORE_EXPORT void initGroup();
@@ -528,9 +524,6 @@
     void setTimerThrottlingEnabled(bool);
     void setDOMTimerAlignmentInterval(double);
     void timerAlignmentIntervalTimerFired();
-    bool canTabSuspend();
-    void updateTabSuspensionState();
-    void tabSuspensionTimerFired();
 
     const std::unique_ptr<Chrome> m_chrome;
     const std::unique_ptr<DragCaretController> m_dragCaretController;
@@ -673,8 +666,6 @@
     SessionID m_sessionID;
 
     bool m_isClosing;
-    bool m_isTabSuspended { false };
-    Timer m_tabSuspensionTimer;
 
     MediaProducer::MediaStateFlags m_mediaState { MediaProducer::IsNotPlaying };
     

Modified: trunk/Source/WebKit2/ChangeLog (196974 => 196975)


--- trunk/Source/WebKit2/ChangeLog	2016-02-23 12:22:39 UTC (rev 196974)
+++ trunk/Source/WebKit2/ChangeLog	2016-02-23 14:36:32 UTC (rev 196975)
@@ -1,3 +1,21 @@
+2016-02-23  Antti Koivisto  <[email protected]>
+
+        Remove tab suspension code
+        https://bugs.webkit.org/show_bug.cgi?id=154585
+
+        Reviewed by Andreas Kling.
+
+        * Shared/WebProcessCreationParameters.cpp:
+        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
+        (WebKit::WebProcessCreationParameters::encode):
+        (WebKit::WebProcessCreationParameters::decode):
+        * Shared/WebProcessCreationParameters.h:
+        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+        (WebKit::registerUserDefaultsIfNeeded):
+        (WebKit::WebProcessPool::platformInitializeWebProcess):
+        * WebProcess/cocoa/WebProcessCocoa.mm:
+        (WebKit::WebProcess::platformInitializeWebProcess):
+
 2016-02-22  Ryuan Choi  <[email protected]>
 
         [EFL] Merge WebView and WebViewEfl

Modified: trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp (196974 => 196975)


--- trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp	2016-02-23 12:22:39 UTC (rev 196974)
+++ trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp	2016-02-23 14:36:32 UTC (rev 196975)
@@ -43,9 +43,6 @@
     , shouldEnableJIT(false)
     , shouldEnableFTLJIT(false)
 #endif
-#if PLATFORM(MAC)
-    , shouldEnableTabSuspension(false)
-#endif
     , memoryCacheDisabled(false)
 #if ENABLE(SERVICE_CONTROLS)
     , hasImageServices(false)
@@ -123,10 +120,6 @@
         encoder << bundleParameterData->dataReference();
 #endif
 
-#if PLATFORM(MAC)
-    encoder << shouldEnableTabSuspension;
-#endif
-
 #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
     encoder << notificationPermissions;
 #endif
@@ -270,11 +263,6 @@
     }
 #endif
 
-#if PLATFORM(MAC)
-    if (!decoder.decode(parameters.shouldEnableTabSuspension))
-        return false;
-#endif
-
 #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
     if (!decoder.decode(parameters.notificationPermissions))
         return false;

Modified: trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h (196974 => 196975)


--- trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h	2016-02-23 12:22:39 UTC (rev 196974)
+++ trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h	2016-02-23 14:36:32 UTC (rev 196975)
@@ -144,10 +144,6 @@
 
 #endif // PLATFORM(COCOA)
 
-#if PLATFORM(MAC)
-    bool shouldEnableTabSuspension;
-#endif
-
 #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
     HashMap<String, bool> notificationPermissions;
 #endif

Modified: trunk/Source/WebKit2/UIProcess/Cocoa/WebProcessPoolCocoa.mm (196974 => 196975)


--- trunk/Source/WebKit2/UIProcess/Cocoa/WebProcessPoolCocoa.mm	2016-02-23 12:22:39 UTC (rev 196974)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/WebProcessPoolCocoa.mm	2016-02-23 14:36:32 UTC (rev 196975)
@@ -86,10 +86,6 @@
 
 static NSString * const WebKitSuppressMemoryPressureHandlerDefaultsKey = @"WebKitSuppressMemoryPressureHandler";
 
-#if PLATFORM(MAC)
-NSString *WebKitTabSuspension = @"WebKitTabSuspension";
-#endif
-
 namespace WebKit {
 
 NSString *SchemeForCustomProtocolRegisteredNotificationName = @"WebKitSchemeForCustomProtocolRegisteredNotification";
@@ -107,10 +103,6 @@
     [registrationDictionary setObject:[NSNumber numberWithBool:YES] forKey:WebKitJSCJITEnabledDefaultsKey];
     [registrationDictionary setObject:[NSNumber numberWithBool:YES] forKey:WebKitJSCFTLJITEnabledDefaultsKey];
 
-#if PLATFORM(MAC)
-    [registrationDictionary setObject:[NSNumber numberWithBool:YES] forKey:WebKitTabSuspension];
-#endif
-
 #if ENABLE(NETWORK_CACHE)
     [registrationDictionary setObject:[NSNumber numberWithBool:YES] forKey:WebKitNetworkCacheEnabledDefaultsKey];
     [registrationDictionary setObject:[NSNumber numberWithBool:NO] forKey:WebKitNetworkCacheEfficacyLoggingEnabledDefaultsKey];
@@ -182,10 +174,6 @@
 
     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
 
-#if PLATFORM(MAC)
-    parameters.shouldEnableTabSuspension = [defaults boolForKey:WebKitTabSuspension];
-#endif
-
     parameters.shouldEnableJIT = [defaults boolForKey:WebKitJSCJITEnabledDefaultsKey];
     parameters.shouldEnableFTLJIT = [defaults boolForKey:WebKitJSCFTLJITEnabledDefaultsKey];
     parameters.shouldEnableMemoryPressureReliefLogging = [defaults boolForKey:@"LogMemoryJetsamDetails"];

Modified: trunk/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm (196974 => 196975)


--- trunk/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm	2016-02-23 12:22:39 UTC (rev 196974)
+++ trunk/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm	2016-02-23 14:36:32 UTC (rev 196975)
@@ -145,7 +145,6 @@
 
 #if PLATFORM(MAC)
     WebCore::FontCache::setFontWhitelist(parameters.fontWhitelist);
-    Page::setTabSuspensionEnabled(parameters.shouldEnableTabSuspension);
 #endif
 
     m_compositingRenderServerPort = WTFMove(parameters.acceleratedCompositingPort);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to