| Index: third_party/WebKit/Source/core/dom/MainThreadTaskRunner.h
|
| diff --git a/third_party/WebKit/Source/core/dom/MainThreadTaskRunner.h b/third_party/WebKit/Source/core/dom/MainThreadTaskRunner.h
|
| index 39d79adb290dda3c919d325f6d3a24e518f85904..0d1d6cd517780d76cc4d483bead43d934c2c3d65 100644
|
| --- a/third_party/WebKit/Source/core/dom/MainThreadTaskRunner.h
|
| +++ b/third_party/WebKit/Source/core/dom/MainThreadTaskRunner.h
|
| @@ -33,16 +33,18 @@
|
| #include "wtf/Allocator.h"
|
| #include "wtf/Noncopyable.h"
|
| #include "wtf/Vector.h"
|
| +#include "wtf/WeakPtr.h"
|
|
|
| namespace blink {
|
|
|
| class ExecutionContext;
|
| class ExecutionContextTask;
|
|
|
| -class CORE_EXPORT MainThreadTaskRunner final : public GarbageCollectedFinalized<MainThreadTaskRunner> {
|
| +class CORE_EXPORT MainThreadTaskRunner final {
|
| + USING_FAST_MALLOC(MainThreadTaskRunner);
|
| WTF_MAKE_NONCOPYABLE(MainThreadTaskRunner);
|
| public:
|
| - static MainThreadTaskRunner* create(ExecutionContext*);
|
| + static PassOwnPtr<MainThreadTaskRunner> create(ExecutionContext*);
|
|
|
| ~MainThreadTaskRunner();
|
|
|
| @@ -62,15 +64,18 @@ private:
|
|
|
| void postTaskInternal(const WebTraceLocation&, std::unique_ptr<ExecutionContextTask>, bool isInspectorTask);
|
|
|
| - Member<ExecutionContext> m_context;
|
| + // Untraced back reference to the owner Document;
|
| + // this object has identical lifetime to it.
|
| + UntracedMember<ExecutionContext> m_context;
|
| Timer<MainThreadTaskRunner> m_pendingTasksTimer;
|
| Vector<std::unique_ptr<ExecutionContextTask>> m_pendingTasks;
|
| bool m_suspended;
|
| + WeakPtrFactory<MainThreadTaskRunner> m_weakFactory;
|
| };
|
|
|
| -inline MainThreadTaskRunner* MainThreadTaskRunner::create(ExecutionContext* context)
|
| +inline PassOwnPtr<MainThreadTaskRunner> MainThreadTaskRunner::create(ExecutionContext* context)
|
| {
|
| - return new MainThreadTaskRunner(context);
|
| + return adoptPtr(new MainThreadTaskRunner(context));
|
| }
|
|
|
| } // namespace blink
|
|
|