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

Side by Side Diff: third_party/WebKit/Source/platform/v8_inspector/V8StackTraceImpl.cpp

Issue 2087953004: Switch v8 inspector to stl collections (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Actually remove a value from the list Created 4 years, 5 months 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "platform/v8_inspector/V8StackTraceImpl.h" 5 #include "platform/v8_inspector/V8StackTraceImpl.h"
6 6
7 #include "platform/inspector_protocol/Platform.h" 7 #include "platform/inspector_protocol/Platform.h"
8 #include "platform/inspector_protocol/String16.h" 8 #include "platform/inspector_protocol/String16.h"
9 #include "platform/v8_inspector/V8DebuggerAgentImpl.h" 9 #include "platform/v8_inspector/V8DebuggerAgentImpl.h"
10 #include "platform/v8_inspector/V8DebuggerImpl.h" 10 #include "platform/v8_inspector/V8DebuggerImpl.h"
(...skipping 18 matching lines...) Expand all
29 String16 functionName; 29 String16 functionName;
30 v8::Local<v8::String> functionNameValue(frame->GetFunctionName()); 30 v8::Local<v8::String> functionNameValue(frame->GetFunctionName());
31 if (!functionNameValue.IsEmpty()) 31 if (!functionNameValue.IsEmpty())
32 functionName = toProtocolString(functionNameValue); 32 functionName = toProtocolString(functionNameValue);
33 33
34 int sourceLineNumber = frame->GetLineNumber(); 34 int sourceLineNumber = frame->GetLineNumber();
35 int sourceColumn = frame->GetColumn(); 35 int sourceColumn = frame->GetColumn();
36 return V8StackTraceImpl::Frame(functionName, scriptId, sourceName, sourceLin eNumber, sourceColumn); 36 return V8StackTraceImpl::Frame(functionName, scriptId, sourceName, sourceLin eNumber, sourceColumn);
37 } 37 }
38 38
39 void toFramesVector(v8::Local<v8::StackTrace> stackTrace, protocol::Vector<V8Sta ckTraceImpl::Frame>& frames, size_t maxStackSize, v8::Isolate* isolate) 39 void toFramesVector(v8::Local<v8::StackTrace> stackTrace, std::vector<V8StackTra ceImpl::Frame>& frames, size_t maxStackSize, v8::Isolate* isolate)
40 { 40 {
41 DCHECK(isolate->InContext()); 41 DCHECK(isolate->InContext());
42 int frameCount = stackTrace->GetFrameCount(); 42 int frameCount = stackTrace->GetFrameCount();
43 if (frameCount > static_cast<int>(maxStackSize)) 43 if (frameCount > static_cast<int>(maxStackSize))
44 frameCount = maxStackSize; 44 frameCount = maxStackSize;
45 for (int i = 0; i < frameCount; i++) { 45 for (int i = 0; i < frameCount; i++) {
46 v8::Local<v8::StackFrame> stackFrame = stackTrace->GetFrame(i); 46 v8::Local<v8::StackFrame> stackFrame = stackTrace->GetFrame(i);
47 frames.append(toFrame(stackFrame)); 47 frames.push_back(toFrame(stackFrame));
48 } 48 }
49 } 49 }
50 50
51 } // namespace 51 } // namespace
52 52
53 V8StackTraceImpl::Frame::Frame() 53 V8StackTraceImpl::Frame::Frame()
54 : m_functionName("undefined") 54 : m_functionName("undefined")
55 , m_scriptId("") 55 , m_scriptId("")
56 , m_scriptName("undefined") 56 , m_scriptName("undefined")
57 , m_lineNumber(0) 57 , m_lineNumber(0)
(...skipping 29 matching lines...) Expand all
87 87
88 V8StackTraceImpl::Frame V8StackTraceImpl::Frame::isolatedCopy() const 88 V8StackTraceImpl::Frame V8StackTraceImpl::Frame::isolatedCopy() const
89 { 89 {
90 return Frame(m_functionName.isolatedCopy(), m_scriptId.isolatedCopy(), m_scr iptName.isolatedCopy(), m_lineNumber, m_columnNumber); 90 return Frame(m_functionName.isolatedCopy(), m_scriptId.isolatedCopy(), m_scr iptName.isolatedCopy(), m_lineNumber, m_columnNumber);
91 } 91 }
92 92
93 std::unique_ptr<V8StackTraceImpl> V8StackTraceImpl::create(V8DebuggerAgentImpl* agent, v8::Local<v8::StackTrace> stackTrace, size_t maxStackSize, const String16 & description) 93 std::unique_ptr<V8StackTraceImpl> V8StackTraceImpl::create(V8DebuggerAgentImpl* agent, v8::Local<v8::StackTrace> stackTrace, size_t maxStackSize, const String16 & description)
94 { 94 {
95 v8::Isolate* isolate = v8::Isolate::GetCurrent(); 95 v8::Isolate* isolate = v8::Isolate::GetCurrent();
96 v8::HandleScope scope(isolate); 96 v8::HandleScope scope(isolate);
97 protocol::Vector<V8StackTraceImpl::Frame> frames; 97 std::vector<V8StackTraceImpl::Frame> frames;
98 if (!stackTrace.IsEmpty()) 98 if (!stackTrace.IsEmpty())
99 toFramesVector(stackTrace, frames, maxStackSize, isolate); 99 toFramesVector(stackTrace, frames, maxStackSize, isolate);
100 100
101 int maxAsyncCallChainDepth = 1; 101 int maxAsyncCallChainDepth = 1;
102 V8StackTraceImpl* asyncCallChain = nullptr; 102 V8StackTraceImpl* asyncCallChain = nullptr;
103 if (agent && maxStackSize > 1) { 103 if (agent && maxStackSize > 1) {
104 asyncCallChain = agent->currentAsyncCallChain(); 104 asyncCallChain = agent->currentAsyncCallChain();
105 maxAsyncCallChainDepth = agent->maxAsyncCallChainDepth(); 105 maxAsyncCallChainDepth = agent->maxAsyncCallChainDepth();
106 } 106 }
107 107
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 return V8StackTraceImpl::create(agent, stackTrace, maxStackSize, description ); 140 return V8StackTraceImpl::create(agent, stackTrace, maxStackSize, description );
141 } 141 }
142 142
143 std::unique_ptr<V8StackTrace> V8StackTraceImpl::clone() 143 std::unique_ptr<V8StackTrace> V8StackTraceImpl::clone()
144 { 144 {
145 return cloneImpl(); 145 return cloneImpl();
146 } 146 }
147 147
148 std::unique_ptr<V8StackTraceImpl> V8StackTraceImpl::cloneImpl() 148 std::unique_ptr<V8StackTraceImpl> V8StackTraceImpl::cloneImpl()
149 { 149 {
150 protocol::Vector<Frame> framesCopy(m_frames); 150 std::vector<Frame> framesCopy(m_frames);
151 return wrapUnique(new V8StackTraceImpl(m_description, framesCopy, m_parent ? m_parent->cloneImpl() : nullptr)); 151 return wrapUnique(new V8StackTraceImpl(m_description, framesCopy, m_parent ? m_parent->cloneImpl() : nullptr));
152 } 152 }
153 153
154 std::unique_ptr<V8StackTrace> V8StackTraceImpl::isolatedCopy() 154 std::unique_ptr<V8StackTrace> V8StackTraceImpl::isolatedCopy()
155 { 155 {
156 return isolatedCopyImpl(); 156 return isolatedCopyImpl();
157 } 157 }
158 158
159 std::unique_ptr<V8StackTraceImpl> V8StackTraceImpl::isolatedCopyImpl() 159 std::unique_ptr<V8StackTraceImpl> V8StackTraceImpl::isolatedCopyImpl()
160 { 160 {
161 protocol::Vector<Frame> frames; 161 std::vector<Frame> frames;
162 for (size_t i = 0; i < m_frames.size(); i++) 162 for (size_t i = 0; i < m_frames.size(); i++)
163 frames.append(m_frames.at(i).isolatedCopy()); 163 frames.push_back(m_frames.at(i).isolatedCopy());
164 return wrapUnique(new V8StackTraceImpl(m_description.isolatedCopy(), frames, m_parent ? m_parent->isolatedCopyImpl() : nullptr)); 164 return wrapUnique(new V8StackTraceImpl(m_description.isolatedCopy(), frames, m_parent ? m_parent->isolatedCopyImpl() : nullptr));
165 } 165 }
166 166
167 V8StackTraceImpl::V8StackTraceImpl(const String16& description, protocol::Vector <Frame>& frames, std::unique_ptr<V8StackTraceImpl> parent) 167 V8StackTraceImpl::V8StackTraceImpl(const String16& description, std::vector<Fram e>& frames, std::unique_ptr<V8StackTraceImpl> parent)
168 : m_description(description) 168 : m_description(description)
169 , m_parent(std::move(parent)) 169 , m_parent(std::move(parent))
170 { 170 {
171 m_frames.swap(frames); 171 m_frames.swap(frames);
172 } 172 }
173 173
174 V8StackTraceImpl::~V8StackTraceImpl() 174 V8StackTraceImpl::~V8StackTraceImpl()
175 { 175 {
176 } 176 }
177 177
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 stackTrace.append(':'); 241 stackTrace.append(':');
242 stackTrace.appendNumber(frame.lineNumber()); 242 stackTrace.appendNumber(frame.lineNumber());
243 stackTrace.append(':'); 243 stackTrace.append(':');
244 stackTrace.appendNumber(frame.columnNumber()); 244 stackTrace.appendNumber(frame.columnNumber());
245 stackTrace.append(')'); 245 stackTrace.append(')');
246 } 246 }
247 return stackTrace.toString(); 247 return stackTrace.toString();
248 } 248 }
249 249
250 } // namespace blink 250 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698