Index: Source/core/dom/DocumentLifecycleNotifier.cpp |
diff --git a/Source/core/dom/DocumentLifecycleNotifier.cpp b/Source/core/dom/DocumentLifecycleNotifier.cpp |
index 12fc7db522b4032cb733342f5e647fd83d44e211..44222cbab98a677742992ad6cc4fd856f12c7a4d 100644 |
--- a/Source/core/dom/DocumentLifecycleNotifier.cpp |
+++ b/Source/core/dom/DocumentLifecycleNotifier.cpp |
@@ -34,16 +34,24 @@ namespace blink { |
void DocumentLifecycleNotifier::notifyDocumentWasDetached() |
{ |
TemporaryChange<IterationType> scope(m_iterating, IteratingOverAll); |
- for (DocumentLifecycleObserver* observer : m_observers) |
+ for (DocumentLifecycleObserver* observer : m_observers) { |
+#if !ENABLE(OILPAN) |
+ if (!isObserverAlive(observer)) |
+ continue; |
+#endif |
observer->documentWasDetached(); |
+ } |
} |
#if !ENABLE(OILPAN) |
void DocumentLifecycleNotifier::notifyDocumentWasDisposed() |
{ |
TemporaryChange<IterationType> scope(m_iterating, IteratingOverAll); |
- for (DocumentLifecycleObserver* observer : m_observers) |
+ for (DocumentLifecycleObserver* observer : m_observers) { |
+ if (!isObserverAlive(observer)) |
+ continue; |
observer->documentWasDisposed(); |
+ } |
} |
#endif |