| Index: Source/core/dom/DocumentLifecycleNotifier.cpp | 
| diff --git a/Source/core/dom/DocumentLifecycleNotifier.cpp b/Source/core/dom/DocumentLifecycleNotifier.cpp | 
| index 39a4c2d47d9d424537556e26fefb62763bf9358c..7a6fbde93ed8cc165888963ea39b93e2914e49a6 100644 | 
| --- a/Source/core/dom/DocumentLifecycleNotifier.cpp | 
| +++ b/Source/core/dom/DocumentLifecycleNotifier.cpp | 
| @@ -28,47 +28,36 @@ | 
| #include "core/dom/DocumentLifecycleNotifier.h" | 
|  | 
| #include "core/dom/DocumentLifecycleObserver.h" | 
| -#include "wtf/Assertions.h" | 
|  | 
| namespace blink { | 
|  | 
| DocumentLifecycleNotifier::DocumentLifecycleNotifier(Document* document) | 
| -    : LifecycleNotifier<Document>(document) | 
| +    : LifecycleNotifier<Document, DocumentLifecycleObserver>(document) | 
| { | 
| } | 
|  | 
| -void DocumentLifecycleNotifier::addObserver(DocumentLifecycleNotifier::Observer* observer) | 
| +void DocumentLifecycleNotifier::addObserver(DocumentLifecycleObserver* observer) | 
| { | 
| -    if (observer->observerType() == Observer::DocumentLifecycleObserverType) { | 
| -        RELEASE_ASSERT(m_iterating != IteratingOverDocumentObservers); | 
| -        m_documentObservers.add(static_cast<DocumentLifecycleObserver*>(observer)); | 
| -    } | 
| - | 
| -    LifecycleNotifier<Document>::addObserver(observer); | 
| +    LifecycleNotifier<Document, DocumentLifecycleObserver>::addObserver(observer); | 
| } | 
|  | 
| -void DocumentLifecycleNotifier::removeObserver(DocumentLifecycleNotifier::Observer* observer) | 
| +void DocumentLifecycleNotifier::removeObserver(DocumentLifecycleObserver* observer) | 
| { | 
| -    if (observer->observerType() == Observer::DocumentLifecycleObserverType) { | 
| -        RELEASE_ASSERT(m_iterating != IteratingOverDocumentObservers); | 
| -        m_documentObservers.remove(static_cast<DocumentLifecycleObserver*>(observer)); | 
| -    } | 
| - | 
| -    LifecycleNotifier<Document>::removeObserver(observer); | 
| +    LifecycleNotifier<Document, DocumentLifecycleObserver>::removeObserver(observer); | 
| } | 
|  | 
| void DocumentLifecycleNotifier::notifyDocumentWasDetached() | 
| { | 
| -    TemporaryChange<IterationType> scope(m_iterating, IteratingOverDocumentObservers); | 
| -    for (DocumentLifecycleObserver* observer : m_documentObservers) | 
| +    TemporaryChange<IterationType> scope(m_iterating, IteratingOverAll); | 
| +    for (DocumentLifecycleObserver* observer : m_observers) | 
| observer->documentWasDetached(); | 
| } | 
|  | 
| #if !ENABLE(OILPAN) | 
| void DocumentLifecycleNotifier::notifyDocumentWasDisposed() | 
| { | 
| -    TemporaryChange<IterationType> scope(m_iterating, IteratingOverDocumentObservers); | 
| -    for (DocumentLifecycleObserver* observer : m_documentObservers) | 
| +    TemporaryChange<IterationType> scope(m_iterating, IteratingOverAll); | 
| +    for (DocumentLifecycleObserver* observer : m_observers) | 
| observer->documentWasDisposed(); | 
| } | 
| #endif | 
|  |