| 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 efcc7dc33c4506361dfee89c1daf1cdb8454da7c..0bdd69f0088ff6ac54b83ddf0df64a961d5e41c7 100644
|
| --- a/third_party/WebKit/Source/core/dom/MainThreadTaskRunner.h
|
| +++ b/third_party/WebKit/Source/core/dom/MainThreadTaskRunner.h
|
| @@ -35,16 +35,18 @@
|
| #include "wtf/OwnPtr.h"
|
| #include "wtf/PassOwnPtr.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();
|
|
|
| @@ -64,15 +66,18 @@ private:
|
|
|
| void postTaskInternal(const WebTraceLocation&, PassOwnPtr<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<OwnPtr<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
|
|
|