Index: Source/core/page/Page.cpp |
diff --git a/Source/core/page/Page.cpp b/Source/core/page/Page.cpp |
index 31a8fa12704beb45077e542707626b5e8de7c864..f7d2e784597497e8dcc29052937f7d8e5ccea415 100644 |
--- a/Source/core/page/Page.cpp |
+++ b/Source/core/page/Page.cpp |
@@ -45,6 +45,7 @@ |
#include "core/page/FrameView.h" |
#include "core/page/PageConsole.h" |
#include "core/page/PageGroup.h" |
+#include "core/page/PageLifecycleNotifier.h" |
#include "core/page/PointerLockController.h" |
#include "core/page/Settings.h" |
#include "core/page/scrolling/ScrollingCoordinator.h" |
@@ -636,6 +637,9 @@ void Page::setVisibilityState(PageVisibilityState visibilityState, bool isInitia |
return; |
m_visibilityState = visibilityState; |
+ if (!isInitialState) |
+ lifecycleNotifier()->notifyPageVisibilityChanged(); |
+ |
if (!isInitialState && m_mainFrame) |
m_mainFrame->dispatchVisibilityStateChangeEvent(); |
@@ -831,6 +835,16 @@ void Page::multisamplingChanged() |
(*it)->multisamplingChanged(m_settings->openGLMultisamplingEnabled()); |
} |
+PageLifecycleNotifier* Page::lifecycleNotifier() |
+{ |
+ return static_cast<PageLifecycleNotifier*>(LifecycleContext::lifecycleNotifier()); |
+} |
+ |
+PassOwnPtr<LifecycleNotifier> Page::createLifecycleNotifier() |
+{ |
+ return PageLifecycleNotifier::create(this); |
+} |
+ |
Page::PageClients::PageClients() |
: chromeClient(0) |
, contextMenuClient(0) |