Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(595)

Unified Diff: Source/core/page/Page.cpp

Issue 18777003: Extract simpler classes for observing context lifecycle and observe Page lifecycle inNavigatorVibra… (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Ensure m_scriptExecutionContext is maintained and not just null. Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)

Powered by Google App Engine
This is Rietveld 408576698