| Index: Source/core/frame/FrameDestructionObserver.h
|
| diff --git a/Source/core/frame/FrameDestructionObserver.h b/Source/core/frame/FrameDestructionObserver.h
|
| index fd3b11a06ebb8ec1fc2769bc6ff0e219cdc999fb..13e77dfd046e178cc1b8abbd1d4bc3845f8b5443 100644
|
| --- a/Source/core/frame/FrameDestructionObserver.h
|
| +++ b/Source/core/frame/FrameDestructionObserver.h
|
| @@ -26,24 +26,38 @@
|
| #ifndef FrameDestructionObserver_h
|
| #define FrameDestructionObserver_h
|
|
|
| +#include "platform/heap/Handle.h"
|
| +
|
| namespace blink {
|
|
|
| class LocalFrame;
|
|
|
| -class FrameDestructionObserver {
|
| +class FrameDestructionObserver : public WillBeGarbageCollectedMixin {
|
| public:
|
| explicit FrameDestructionObserver(LocalFrame*);
|
|
|
| +#if !ENABLE(OILPAN)
|
| + // Oilpan: there is no known need for directly observing
|
| + // frameDestroyed() with Oilpan enabled, as its clearing is
|
| + // handled by keeping a weak reference.
|
| + //
|
| + // A weak callback version of frameDestroyed() can be reintroduced
|
| + // later, should the need arise.
|
| virtual void frameDestroyed();
|
| +#endif
|
| virtual void willDetachFrameHost();
|
|
|
| LocalFrame* frame() const { return m_frame; }
|
|
|
| + virtual void trace(Visitor*);
|
| +
|
| protected:
|
| +#if !ENABLE(OILPAN)
|
| virtual ~FrameDestructionObserver();
|
| +#endif
|
| void observeFrame(LocalFrame*);
|
|
|
| - LocalFrame* m_frame;
|
| + RawPtrWillBeWeakMember<LocalFrame> m_frame;
|
| };
|
|
|
| }
|
|
|