Chromium Code Reviews| Index: third_party/WebKit/Source/core/dom/ContextLifecycleObserver.h |
| diff --git a/third_party/WebKit/Source/core/dom/ContextLifecycleObserver.h b/third_party/WebKit/Source/core/dom/ContextLifecycleObserver.h |
| index a2fddd3a8a0a455b98b1fea132826f8ded0d4213..91eb2cdebf97e5276e260b3cda0d8bc58f363d0b 100644 |
| --- a/third_party/WebKit/Source/core/dom/ContextLifecycleObserver.h |
| +++ b/third_party/WebKit/Source/core/dom/ContextLifecycleObserver.h |
| @@ -35,6 +35,31 @@ namespace blink { |
| class LocalFrame; |
| +// ContextClient is a lightweight version of ContextLifecycleObserver. |
| +// If you just want to use getExecutionContext() and frame(), use |
|
dcheng
2016/12/20 07:20:43
Nit: I've heard some people prefer to avoid pronou
|
| +// ContextClient. If you need to listen contextDestroyed() notifications, |
| +// use ContextLifecycleObserver. |
| +class CORE_EXPORT ContextClient : public GarbageCollectedMixin { |
| + public: |
| + // Returns null after the observing context is detached. |
| + ExecutionContext* getExecutionContext() const; |
| + |
| + // Returns null after the observing context is detached or if the context |
| + // doesn't have a frame (i.e., if the context is not a Document). |
| + LocalFrame* frame() const; |
| + |
| + DECLARE_VIRTUAL_TRACE(); |
| + |
| + protected: |
| + explicit ContextClient(ExecutionContext* executionContext) |
| + : m_executionContext(executionContext) {} |
| + |
| + explicit ContextClient(LocalFrame*); |
| + |
| + private: |
| + WeakMember<ExecutionContext> m_executionContext; |
| +}; |
| + |
| class CORE_EXPORT ContextLifecycleObserver |
| : public LifecycleObserver<ExecutionContext, ContextLifecycleObserver> { |
| public: |