Chromium Code Reviews| Index: Source/core/frame/FrameDestructionObserver.h |
| diff --git a/Source/core/frame/FrameDestructionObserver.h b/Source/core/frame/FrameDestructionObserver.h |
| index fd3b11a06ebb8ec1fc2769bc6ff0e219cdc999fb..1ce014568874d89b1ed8c3128b24db88e0c9da93 100644 |
| --- a/Source/core/frame/FrameDestructionObserver.h |
| +++ b/Source/core/frame/FrameDestructionObserver.h |
| @@ -26,24 +26,35 @@ |
| #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: Frame finalization can now only be observed via |
|
Mads Ager (chromium)
2014/09/16 12:17:45
The alternative is to register custom weak process
sof
2014/09/17 09:42:57
The intent of this comment was to offer up a solut
|
| + // a weak callback -- deriving objects should register such |
| + // a weak callback if they need to catch when that happens. |
| 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; |
| }; |
| } |