- 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);