Chromium Code Reviews| Index: Source/core/inspector/PromiseTracker.cpp |
| diff --git a/Source/core/inspector/PromiseTracker.cpp b/Source/core/inspector/PromiseTracker.cpp |
| index c4830d5b812d74d4a16e48d5a51d0b45f7df9785..016c43be573531eacbf587d4f60b9ab9d37a9643 100644 |
| --- a/Source/core/inspector/PromiseTracker.cpp |
| +++ b/Source/core/inspector/PromiseTracker.cpp |
| @@ -23,7 +23,11 @@ class PromiseTracker::PromiseWeakCallbackData final { |
| WTF_MAKE_NONCOPYABLE(PromiseWeakCallbackData); |
| public: |
| PromiseWeakCallbackData(PromiseTracker* tracker, int id) |
| +#if ENABLE(OILPAN) |
| + : m_tracker(tracker) |
| +#else |
| : m_tracker(tracker->m_weakPtrFactory.createWeakPtr()) |
| +#endif |
| , m_id(id) |
| { |
| } |
| @@ -36,7 +40,7 @@ public: |
| m_tracker->m_listener->didUpdatePromise(InspectorFrontend::Debugger::EventType::Gc, promiseDetails.release()); |
|
haraken
2015/08/21 00:16:25
This does complicated things like posting a messag
|
| } |
| - WeakPtr<PromiseTracker> m_tracker; |
| + WeakPtrWillBeWeakPersistent<PromiseTracker> m_tracker; |
| int m_id; |
| }; |
| @@ -73,7 +77,9 @@ PromiseTracker::PromiseTracker(Listener* listener, v8::Isolate* isolate) |
| , m_captureStacks(false) |
| , m_listener(listener) |
| , m_isolate(isolate) |
| +#if !ENABLE(OILPAN) |
| , m_weakPtrFactory(this) |
| +#endif |
| , m_idToPromise(isolate) |
| { |
| clear(); |