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

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

Issue 1702673002: DevTools: migrate remote debugging protocol generators to jinja2. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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/v8_inspector/V8DebuggerAgentImpl.h" 7 #include "platform/v8_inspector/V8DebuggerAgentImpl.h"
8 #include "platform/v8_inspector/V8DebuggerImpl.h" 8 #include "platform/v8_inspector/V8DebuggerImpl.h"
9 #include "platform/v8_inspector/V8StringUtil.h" 9 #include "platform/v8_inspector/V8StringUtil.h"
10 #include "wtf/PassOwnPtr.h" 10 #include "wtf/PassOwnPtr.h"
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 , m_columnNumber(column) 66 , m_columnNumber(column)
67 { 67 {
68 } 68 }
69 69
70 V8StackTraceImpl::Frame::~Frame() 70 V8StackTraceImpl::Frame::~Frame()
71 { 71 {
72 } 72 }
73 73
74 // buildInspectorObject() and ScriptCallStack's toTracedValue() should set the s ame fields. 74 // buildInspectorObject() and ScriptCallStack's toTracedValue() should set the s ame fields.
75 // If either of them is modified, the other should be also modified. 75 // If either of them is modified, the other should be also modified.
76 PassRefPtr<protocol::TypeBuilder::Runtime::CallFrame> V8StackTraceImpl::Frame::b uildInspectorObject() const 76 PassOwnPtr<protocol::Runtime::CallFrame> V8StackTraceImpl::Frame::buildInspector Object() const
77 { 77 {
78 return protocol::TypeBuilder::Runtime::CallFrame::create() 78 return protocol::Runtime::CallFrame::create()
79 .setFunctionName(m_functionName) 79 .setFunctionName(m_functionName)
80 .setScriptId(m_scriptId) 80 .setScriptId(m_scriptId)
81 .setUrl(m_scriptName) 81 .setUrl(m_scriptName)
82 .setLineNumber(m_lineNumber) 82 .setLineNumber(m_lineNumber)
83 .setColumnNumber(m_columnNumber) 83 .setColumnNumber(m_columnNumber)
84 .release(); 84 .build();
85 } 85 }
86 86
87 PassOwnPtr<V8StackTraceImpl> V8StackTraceImpl::create(V8DebuggerAgentImpl* agent , v8::Local<v8::StackTrace> stackTrace, size_t maxStackSize) 87 PassOwnPtr<V8StackTraceImpl> V8StackTraceImpl::create(V8DebuggerAgentImpl* agent , v8::Local<v8::StackTrace> stackTrace, size_t maxStackSize)
88 { 88 {
89 v8::Isolate* isolate = v8::Isolate::GetCurrent(); 89 v8::Isolate* isolate = v8::Isolate::GetCurrent();
90 ASSERT(isolate->InContext()); 90 ASSERT(isolate->InContext());
91 ASSERT(!stackTrace.IsEmpty()); 91 ASSERT(!stackTrace.IsEmpty());
92 92
93 v8::HandleScope scope(isolate); 93 v8::HandleScope scope(isolate);
94 Vector<V8StackTraceImpl::Frame> scriptCallFrames; 94 Vector<V8StackTraceImpl::Frame> scriptCallFrames;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 ASSERT(m_frames.size()); 150 ASSERT(m_frames.size());
151 return m_frames[0].m_functionName; 151 return m_frames[0].m_functionName;
152 } 152 }
153 153
154 String V8StackTraceImpl::topScriptId() const 154 String V8StackTraceImpl::topScriptId() const
155 { 155 {
156 ASSERT(m_frames.size()); 156 ASSERT(m_frames.size());
157 return m_frames[0].m_scriptId; 157 return m_frames[0].m_scriptId;
158 } 158 }
159 159
160 PassRefPtr<protocol::TypeBuilder::Runtime::StackTrace> V8StackTraceImpl::buildIn spectorObject() const 160 PassOwnPtr<protocol::Runtime::StackTrace> V8StackTraceImpl::buildInspectorObject () const
161 { 161 {
162 RefPtr<protocol::TypeBuilder::Array<protocol::TypeBuilder::Runtime::CallFram e>> frames = protocol::TypeBuilder::Array<protocol::TypeBuilder::Runtime::CallFr ame>::create(); 162 OwnPtr<protocol::Array<protocol::Runtime::CallFrame>> frames = protocol::Arr ay<protocol::Runtime::CallFrame>::create();
163 for (size_t i = 0; i < m_frames.size(); i++) 163 for (size_t i = 0; i < m_frames.size(); i++)
164 frames->addItem(m_frames.at(i).buildInspectorObject()); 164 frames->addItem(m_frames.at(i).buildInspectorObject());
165 165
166 RefPtr<protocol::TypeBuilder::Runtime::StackTrace> stackTrace = protocol::Ty peBuilder::Runtime::StackTrace::create() 166 OwnPtr<protocol::Runtime::StackTrace> stackTrace = protocol::Runtime::StackT race::create()
167 .setCallFrames(frames.release()); 167 .setCallFrames(frames.release()).build();
168 if (!m_description.isEmpty()) 168 if (!m_description.isEmpty())
169 stackTrace->setDescription(m_description); 169 stackTrace->setDescription(m_description);
170 if (m_parent) 170 if (m_parent)
171 stackTrace->setParent(m_parent->buildInspectorObject()); 171 stackTrace->setParent(m_parent->buildInspectorObject());
172 return stackTrace; 172 return stackTrace.release();
173 } 173 }
174 174
175 String V8StackTraceImpl::toString() const 175 String V8StackTraceImpl::toString() const
176 { 176 {
177 StringBuilder stackTrace; 177 StringBuilder stackTrace;
178 for (size_t i = 0; i < m_frames.size(); ++i) { 178 for (size_t i = 0; i < m_frames.size(); ++i) {
179 const Frame& frame = m_frames[i]; 179 const Frame& frame = m_frames[i];
180 stackTrace.append("\n at " + (frame.functionName().length() ? frame.f unctionName() : "(anonymous function)")); 180 stackTrace.append("\n at " + (frame.functionName().length() ? frame.f unctionName() : "(anonymous function)"));
181 stackTrace.appendLiteral(" ("); 181 stackTrace.appendLiteral(" (");
182 stackTrace.append(frame.sourceURL()); 182 stackTrace.append(frame.sourceURL());
183 stackTrace.append(':'); 183 stackTrace.append(':');
184 stackTrace.appendNumber(frame.lineNumber()); 184 stackTrace.appendNumber(frame.lineNumber());
185 stackTrace.append(':'); 185 stackTrace.append(':');
186 stackTrace.appendNumber(frame.columnNumber()); 186 stackTrace.appendNumber(frame.columnNumber());
187 stackTrace.append(')'); 187 stackTrace.append(')');
188 } 188 }
189 return stackTrace.toString(); 189 return stackTrace.toString();
190 } 190 }
191 191
192 } // namespace blink 192 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698