| 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 |