diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/page/page_visibility_observer.h')
-rw-r--r-- | chromium/third_party/blink/renderer/core/page/page_visibility_observer.h | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/chromium/third_party/blink/renderer/core/page/page_visibility_observer.h b/chromium/third_party/blink/renderer/core/page/page_visibility_observer.h index 2c57411b245..29e0b32773e 100644 --- a/chromium/third_party/blink/renderer/core/page/page_visibility_observer.h +++ b/chromium/third_party/blink/renderer/core/page/page_visibility_observer.h @@ -28,20 +28,29 @@ #define THIRD_PARTY_BLINK_RENDERER_CORE_PAGE_PAGE_VISIBILITY_OBSERVER_H_ #include "third_party/blink/renderer/core/core_export.h" -#include "third_party/blink/renderer/core/page/page.h" -#include "third_party/blink/renderer/platform/lifecycle_observer.h" +#include "third_party/blink/renderer/platform/heap/handle.h" namespace blink { -class CORE_EXPORT PageVisibilityObserver - : public LifecycleObserver<Page, PageVisibilityObserver> { +class Page; + +class CORE_EXPORT PageVisibilityObserver : public GarbageCollectedMixin { public: - virtual void PageVisibilityChanged() {} + virtual void PageVisibilityChanged() = 0; + + // Call before clearing an observer list. + void ObserverListWillBeCleared(); - Page* GetPage() const { return LifecycleContext(); } + Page* GetPage() const { return page_; } + void SetPage(Page*); + + void Trace(Visitor* visitor) override; protected: - explicit PageVisibilityObserver(Page* page) : LifecycleObserver(page) {} + explicit PageVisibilityObserver(Page*); + + private: + WeakMember<Page> page_; }; } // namespace blink |