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

Unified Diff: Source/core/dom/ScriptExecutionContext.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/dom/ScriptExecutionContext.cpp
diff --git a/Source/core/dom/ScriptExecutionContext.cpp b/Source/core/dom/ScriptExecutionContext.cpp
index f8d343ea7a8576f50da45f2c832c0fcd0ebac5d1..dddcea23d89a35d8f4fe8abc7083a4b8531f8749 100644
--- a/Source/core/dom/ScriptExecutionContext.cpp
+++ b/Source/core/dom/ScriptExecutionContext.cpp
@@ -195,16 +195,6 @@ void ScriptExecutionContext::suspendActiveDOMObjectIfNeeded(ActiveDOMObject* obj
object->suspend(m_reasonForSuspendingActiveDOMObjects);
}
-void ScriptExecutionContext::wasObservedBy(ContextLifecycleObserver* observer, ContextLifecycleObserver::Type as)
-{
- lifecycleNotifier()->addObserver(observer, as);
-}
-
-void ScriptExecutionContext::wasUnobservedBy(ContextLifecycleObserver* observer, ContextLifecycleObserver::Type as)
-{
- lifecycleNotifier()->removeObserver(observer, as);
-}
-
void ScriptExecutionContext::closeMessagePorts() {
HashSet<MessagePort*>::iterator messagePortsEnd = m_messagePorts.end();
for (HashSet<MessagePort*>::iterator iter = m_messagePorts.begin(); iter != messagePortsEnd; ++iter) {
@@ -301,12 +291,10 @@ double ScriptExecutionContext::timerAlignmentInterval() const
ContextLifecycleNotifier* ScriptExecutionContext::lifecycleNotifier()
{
- if (!m_lifecycleNotifier)
- m_lifecycleNotifier = const_cast<ScriptExecutionContext*>(this)->createLifecycleNotifier();
- return m_lifecycleNotifier.get();
+ return static_cast<ContextLifecycleNotifier*>(LifecycleContext::lifecycleNotifier());
}
-PassOwnPtr<ContextLifecycleNotifier> ScriptExecutionContext::createLifecycleNotifier()
+PassOwnPtr<LifecycleNotifier> ScriptExecutionContext::createLifecycleNotifier()
{
return ContextLifecycleNotifier::create(this);
}
@@ -316,7 +304,6 @@ void ScriptExecutionContext::reportMemoryUsage(MemoryObjectInfo* memoryObjectInf
MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
SecurityContext::reportMemoryUsage(memoryObjectInfo);
info.addMember(m_messagePorts, "messagePorts");
- info.addMember(m_lifecycleNotifier, "lifecycleObserver");
info.addMember(m_timeouts, "timeouts");
info.addMember(m_pendingExceptions, "pendingExceptions");
info.addMember(m_publicURLManager, "publicURLManager");

Powered by Google App Engine
This is Rietveld 408576698