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 #ifndef AsyncCallChain_h | 5 #ifndef AsyncCallChain_h |
6 #define AsyncCallChain_h | 6 #define AsyncCallChain_h |
7 | 7 |
8 #include "wtf/Deque.h" | 8 #include "wtf/Deque.h" |
9 #include "wtf/Forward.h" | 9 #include "wtf/Forward.h" |
10 #include "wtf/RefCounted.h" | 10 #include "wtf/RefCounted.h" |
(...skipping 11 matching lines...) Expand all Loading... |
22 v8::Local<v8::Object> callFrames(v8::Isolate* isolate) const { return v8::Lo
cal<v8::Object>::New(isolate, m_callFrames); } | 22 v8::Local<v8::Object> callFrames(v8::Isolate* isolate) const { return v8::Lo
cal<v8::Object>::New(isolate, m_callFrames); } |
23 private: | 23 private: |
24 String m_description; | 24 String m_description; |
25 v8::Global<v8::Object> m_callFrames; | 25 v8::Global<v8::Object> m_callFrames; |
26 }; | 26 }; |
27 | 27 |
28 using AsyncCallStackVector = Deque<RefPtr<AsyncCallStack>, 4>; | 28 using AsyncCallStackVector = Deque<RefPtr<AsyncCallStack>, 4>; |
29 | 29 |
30 class AsyncCallChain final : public RefCounted<AsyncCallChain> { | 30 class AsyncCallChain final : public RefCounted<AsyncCallChain> { |
31 public: | 31 public: |
32 static PassRefPtr<AsyncCallChain> create(PassRefPtr<AsyncCallStack>, AsyncCa
llChain* prevChain, unsigned asyncCallChainMaxLength); | 32 static PassRefPtr<AsyncCallChain> create(v8::Local<v8::Context>, PassRefPtr<
AsyncCallStack>, AsyncCallChain* prevChain, unsigned asyncCallChainMaxLength); |
33 ~AsyncCallChain(); | 33 ~AsyncCallChain(); |
34 const AsyncCallStackVector& callStacks() const { return m_callStacks; } | 34 const AsyncCallStackVector& callStacks() const { return m_callStacks; } |
| 35 v8::Local<v8::Context> creationContext(v8::Isolate* isolate) const { return
m_creationContext.Get(isolate); } |
35 | 36 |
36 private: | 37 private: |
37 AsyncCallChain(PassRefPtr<AsyncCallStack>, AsyncCallChain* prevChain, unsign
ed asyncCallChainMaxLength); | 38 AsyncCallChain(v8::Local<v8::Context>, PassRefPtr<AsyncCallStack>, AsyncCall
Chain* prevChain, unsigned asyncCallChainMaxLength); |
38 | 39 |
39 AsyncCallStackVector m_callStacks; | 40 AsyncCallStackVector m_callStacks; |
| 41 v8::Global<v8::Context> m_creationContext; |
40 }; | 42 }; |
41 | 43 |
42 } // namespace blink | 44 } // namespace blink |
43 | 45 |
44 | 46 |
45 #endif // !defined(AsyncCallChain_h) | 47 #endif // !defined(AsyncCallChain_h) |
OLD | NEW |