Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: Source/core/inspector/PromiseTracker.cpp

Issue 766103003: [Inspector] Deprecate usage of v8::Handle with v8::Local as replacement. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/core/inspector/PromiseTracker.h ('k') | Source/core/inspector/ScriptArguments.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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::Local<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
33 #if ENABLE(OILPAN) 33 #if ENABLE(OILPAN)
34 void dispose() 34 void dispose()
35 { 35 {
36 m_promise.clear(); 36 m_promise.clear();
37 m_parentPromise.clear(); 37 m_parentPromise.clear();
38 } 38 }
39 #else 39 #else
40 WeakPtr<PromiseData> createWeakPtr() 40 WeakPtr<PromiseData> createWeakPtr()
41 { 41 {
42 return m_weakPtrFactory.createWeakPtr(); 42 return m_weakPtrFactory.createWeakPtr();
43 } 43 }
44 #endif 44 #endif
45 45
46 void trace(Visitor* visitor) 46 void trace(Visitor* visitor)
47 { 47 {
48 visitor->trace(m_callStack); 48 visitor->trace(m_callStack);
49 } 49 }
50 50
51 private: 51 private:
52 friend class PromiseTracker; 52 friend class PromiseTracker;
53 53
54 PromiseData(ScriptState* scriptState, int promiseHash, int promiseId, v8::Ha ndle<v8::Object> promise) 54 PromiseData(ScriptState* scriptState, int promiseHash, int promiseId, v8::Lo cal<v8::Object> promise)
55 : m_scriptState(scriptState) 55 : m_scriptState(scriptState)
56 , m_promiseHash(promiseHash) 56 , m_promiseHash(promiseHash)
57 , m_promiseId(promiseId) 57 , m_promiseId(promiseId)
58 , m_promise(scriptState->isolate(), promise) 58 , m_promise(scriptState->isolate(), promise)
59 , m_parentPromiseId(0) 59 , m_parentPromiseId(0)
60 , m_status(0) 60 , m_status(0)
61 , m_creationTime(0) 61 , m_creationTime(0)
62 , m_settlementTime(0) 62 , m_settlementTime(0)
63 #if !ENABLE(OILPAN) 63 #if !ENABLE(OILPAN)
64 , m_weakPtrFactory(this) 64 , m_weakPtrFactory(this)
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 } 195 }
196 196
197 int PromiseTracker::circularSequentialId() 197 int PromiseTracker::circularSequentialId()
198 { 198 {
199 ++m_circularSequentialId; 199 ++m_circularSequentialId;
200 if (m_circularSequentialId <= 0) 200 if (m_circularSequentialId <= 0)
201 m_circularSequentialId = 1; 201 m_circularSequentialId = 1;
202 return m_circularSequentialId; 202 return m_circularSequentialId;
203 } 203 }
204 204
205 PassRefPtrWillBeRawPtr<PromiseTracker::PromiseData> PromiseTracker::createPromis eDataIfNeeded(ScriptState* scriptState, v8::Handle<v8::Object> promise) 205 PassRefPtrWillBeRawPtr<PromiseTracker::PromiseData> PromiseTracker::createPromis eDataIfNeeded(ScriptState* scriptState, v8::Local<v8::Object> promise)
206 { 206 {
207 int promiseHash = promise->GetIdentityHash(); 207 int promiseHash = promise->GetIdentityHash();
208 RawPtr<PromiseDataVector> vector = nullptr; 208 RawPtr<PromiseDataVector> vector = nullptr;
209 PromiseDataMap::iterator it = m_promiseDataMap.find(promiseHash); 209 PromiseDataMap::iterator it = m_promiseDataMap.find(promiseHash);
210 if (it != m_promiseDataMap.end()) { 210 if (it != m_promiseDataMap.end()) {
211 vector = &it->value; 211 vector = &it->value;
212 int index = indexOf(vector, ScopedPersistent<v8::Object>(scriptState->is olate(), promise)); 212 int index = indexOf(vector, ScopedPersistent<v8::Object>(scriptState->is olate(), promise));
213 if (index != -1) 213 if (index != -1)
214 return vector->at(index); 214 return vector->at(index);
215 } else { 215 } else {
(...skipping 12 matching lines...) Expand all
228 OwnPtr<PromiseDataWrapper> wrapper = dataWrapper.release(); 228 OwnPtr<PromiseDataWrapper> wrapper = dataWrapper.release();
229 #endif 229 #endif
230 data->m_promise.setWeak(wrapper.leakPtr(), &PromiseDataWrapper::didRemovePro mise); 230 data->m_promise.setWeak(wrapper.leakPtr(), &PromiseDataWrapper::didRemovePro mise);
231 vector->append(data); 231 vector->append(data);
232 232
233 m_promiseIdToDataMap.set(promiseId, data); 233 m_promiseIdToDataMap.set(promiseId, data);
234 234
235 return data.release(); 235 return data.release();
236 } 236 }
237 237
238 void PromiseTracker::didReceiveV8PromiseEvent(ScriptState* scriptState, v8::Hand le<v8::Object> promise, v8::Handle<v8::Value> parentPromise, int status) 238 void PromiseTracker::didReceiveV8PromiseEvent(ScriptState* scriptState, v8::Loca l<v8::Object> promise, v8::Local<v8::Value> parentPromise, int status)
239 { 239 {
240 ASSERT(isEnabled()); 240 ASSERT(isEnabled());
241 241
242 RefPtrWillBeRawPtr<PromiseData> data = createPromiseDataIfNeeded(scriptState , promise); 242 RefPtrWillBeRawPtr<PromiseData> data = createPromiseDataIfNeeded(scriptState , promise);
243 if (!parentPromise.IsEmpty() && parentPromise->IsObject()) { 243 if (!parentPromise.IsEmpty() && parentPromise->IsObject()) {
244 v8::Handle<v8::Object> handle = parentPromise->ToObject(scriptState->iso late()); 244 v8::Local<v8::Object> handle = parentPromise->ToObject(scriptState->isol ate());
245 RefPtrWillBeRawPtr<PromiseData> parentData = createPromiseDataIfNeeded(s criptState, handle); 245 RefPtrWillBeRawPtr<PromiseData> parentData = createPromiseDataIfNeeded(s criptState, handle);
246 data->m_parentPromiseId = parentData->m_promiseId; 246 data->m_parentPromiseId = parentData->m_promiseId;
247 data->m_parentPromise.set(scriptState->isolate(), handle); 247 data->m_parentPromise.set(scriptState->isolate(), handle);
248 } else { 248 } else {
249 ASSERT(!data->m_status); 249 ASSERT(!data->m_status);
250 data->m_status = status; 250 data->m_status = status;
251 if (!status) { 251 if (!status) {
252 if (!data->m_creationTime) 252 if (!data->m_creationTime)
253 data->m_creationTime = currentTimeMS(); 253 data->m_creationTime = currentTimeMS();
254 if (!data->m_callStack) { 254 if (!data->m_callStack) {
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
OLDNEW
« no previous file with comments | « Source/core/inspector/PromiseTracker.h ('k') | Source/core/inspector/ScriptArguments.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698