OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "config.h" | 5 #include "config.h" |
6 #include "core/inspector/PromiseTracker.h" | 6 #include "core/inspector/PromiseTracker.h" |
7 | 7 |
8 #include "bindings/core/v8/ScopedPersistent.h" | 8 #include "bindings/core/v8/ScopedPersistent.h" |
9 #include "bindings/core/v8/ScriptCallStackFactory.h" | 9 #include "bindings/core/v8/ScriptCallStackFactory.h" |
10 #include "bindings/core/v8/ScriptState.h" | 10 #include "bindings/core/v8/ScriptState.h" |
11 #include "bindings/core/v8/ScriptValue.h" | 11 #include "bindings/core/v8/ScriptValue.h" |
12 #include "wtf/CurrentTime.h" | 12 #include "wtf/CurrentTime.h" |
13 #include "wtf/PassOwnPtr.h" | 13 #include "wtf/PassOwnPtr.h" |
14 #include "wtf/WeakPtr.h" | 14 #include "wtf/WeakPtr.h" |
15 | 15 |
16 using blink::TypeBuilder::Array; | 16 using blink::TypeBuilder::Array; |
17 using blink::TypeBuilder::Console::CallFrame; | 17 using blink::TypeBuilder::Console::CallFrame; |
18 using blink::TypeBuilder::Debugger::PromiseDetails; | 18 using blink::TypeBuilder::Debugger::PromiseDetails; |
19 | 19 |
20 namespace blink { | 20 namespace blink { |
21 | 21 |
22 class PromiseTracker::PromiseData FINAL : public RefCountedWillBeGarbageCollecte
dFinalized<PromiseData> { | 22 class PromiseTracker::PromiseData final : public RefCountedWillBeGarbageCollecte
dFinalized<PromiseData> { |
23 public: | 23 public: |
24 static PassRefPtrWillBeRawPtr<PromiseData> create(ScriptState* scriptState,
int promiseHash, int promiseId, v8::Handle<v8::Object> promise) | 24 static PassRefPtrWillBeRawPtr<PromiseData> create(ScriptState* scriptState,
int promiseHash, int promiseId, v8::Handle<v8::Object> promise) |
25 { | 25 { |
26 return adoptRefWillBeNoop(new PromiseData(scriptState, promiseHash, prom
iseId, promise)); | 26 return adoptRefWillBeNoop(new PromiseData(scriptState, promiseHash, prom
iseId, promise)); |
27 } | 27 } |
28 | 28 |
29 int promiseHash() const { return m_promiseHash; } | 29 int promiseHash() const { return m_promiseHash; } |
30 int promiseId() const { return m_promiseId; } | 30 int promiseId() const { return m_promiseId; } |
31 ScopedPersistent<v8::Object>& promise() { return m_promise; } | 31 ScopedPersistent<v8::Object>& promise() { return m_promise; } |
32 | 32 |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 { | 85 { |
86 for (size_t index = 0; index < vector->size(); ++index) { | 86 for (size_t index = 0; index < vector->size(); ++index) { |
87 if (vector->at(index)->promise() == promise) | 87 if (vector->at(index)->promise() == promise) |
88 return index; | 88 return index; |
89 } | 89 } |
90 return -1; | 90 return -1; |
91 } | 91 } |
92 | 92 |
93 namespace { | 93 namespace { |
94 | 94 |
95 class PromiseDataWrapper FINAL : public NoBaseWillBeGarbageCollected<PromiseData
Wrapper> { | 95 class PromiseDataWrapper final : public NoBaseWillBeGarbageCollected<PromiseData
Wrapper> { |
96 public: | 96 public: |
97 static PassOwnPtrWillBeRawPtr<PromiseDataWrapper> create(PromiseTracker::Pro
miseData* data, PromiseTracker* tracker) | 97 static PassOwnPtrWillBeRawPtr<PromiseDataWrapper> create(PromiseTracker::Pro
miseData* data, PromiseTracker* tracker) |
98 { | 98 { |
99 #if ENABLE(OILPAN) | 99 #if ENABLE(OILPAN) |
100 return new PromiseDataWrapper(data, tracker); | 100 return new PromiseDataWrapper(data, tracker); |
101 #else | 101 #else |
102 return adoptPtr(new PromiseDataWrapper(data->createWeakPtr(), tracker)); | 102 return adoptPtr(new PromiseDataWrapper(data->createWeakPtr(), tracker)); |
103 #endif | 103 #endif |
104 } | 104 } |
105 | 105 |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
304 if (it == m_promiseIdToDataMap.end()) | 304 if (it == m_promiseIdToDataMap.end()) |
305 return ScriptValue(); | 305 return ScriptValue(); |
306 RefPtrWillBeRawPtr<PromiseData> data = it->value; | 306 RefPtrWillBeRawPtr<PromiseData> data = it->value; |
307 ASSERT(data && data->m_promiseId == promiseId); | 307 ASSERT(data && data->m_promiseId == promiseId); |
308 ScriptState* scriptState = data->m_scriptState.get(); | 308 ScriptState* scriptState = data->m_scriptState.get(); |
309 v8::HandleScope scope(scriptState->isolate()); | 309 v8::HandleScope scope(scriptState->isolate()); |
310 return ScriptValue(scriptState, data->m_promise.newLocal(scriptState->isolat
e())); | 310 return ScriptValue(scriptState, data->m_promise.newLocal(scriptState->isolat
e())); |
311 } | 311 } |
312 | 312 |
313 } // namespace blink | 313 } // namespace blink |
OLD | NEW |