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

Side by Side Diff: src/inspector/v8-debugger-script.cc

Issue 2710953004: [inspector] added restrictToFunction flag for getPossibleBreakpoints (Closed)
Patch Set: addressed comments Created 3 years, 9 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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project 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 "src/inspector/v8-debugger-script.h" 5 #include "src/inspector/v8-debugger-script.h"
6 6
7 #include "src/inspector/inspected-context.h" 7 #include "src/inspector/inspected-context.h"
8 #include "src/inspector/string-util.h" 8 #include "src/inspector/string-util.h"
9 #include "src/inspector/wasm-translation.h" 9 #include "src/inspector/wasm-translation.h"
10 10
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 } 165 }
166 166
167 void setSource(v8::Local<v8::String> source) override { 167 void setSource(v8::Local<v8::String> source) override {
168 m_source = String16(); 168 m_source = String16();
169 m_sourceObj.Reset(m_isolate, source); 169 m_sourceObj.Reset(m_isolate, source);
170 m_hash = String16(); 170 m_hash = String16();
171 } 171 }
172 172
173 bool getPossibleBreakpoints( 173 bool getPossibleBreakpoints(
174 const v8::debug::Location& start, const v8::debug::Location& end, 174 const v8::debug::Location& start, const v8::debug::Location& end,
175 bool restrictToFunction,
175 std::vector<v8::debug::Location>* locations) override { 176 std::vector<v8::debug::Location>* locations) override {
176 v8::HandleScope scope(m_isolate); 177 v8::HandleScope scope(m_isolate);
177 v8::Local<v8::debug::Script> script = m_script.Get(m_isolate); 178 v8::Local<v8::debug::Script> script = m_script.Get(m_isolate);
178 return script->GetPossibleBreakpoints(start, end, locations); 179 return script->GetPossibleBreakpoints(start, end, restrictToFunction,
180 locations);
179 } 181 }
180 182
181 void resetBlackboxedStateCache() override { 183 void resetBlackboxedStateCache() override {
182 v8::HandleScope scope(m_isolate); 184 v8::HandleScope scope(m_isolate);
183 v8::debug::ResetBlackboxedStateCache(m_isolate, m_script.Get(m_isolate)); 185 v8::debug::ResetBlackboxedStateCache(m_isolate, m_script.Get(m_isolate));
184 } 186 }
185 187
186 private: 188 private:
187 String16 GetNameOrSourceUrl(v8::Local<v8::debug::Script> script) { 189 String16 GetNameOrSourceUrl(v8::Local<v8::debug::Script> script) {
188 v8::Local<v8::String> name; 190 v8::Local<v8::String> name;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 m_source = std::move(source); 223 m_source = std::move(source);
222 } 224 }
223 225
224 const String16& sourceMappingURL() const override { return emptyString(); } 226 const String16& sourceMappingURL() const override { return emptyString(); }
225 bool isLiveEdit() const override { return false; } 227 bool isLiveEdit() const override { return false; }
226 bool isModule() const override { return false; } 228 bool isModule() const override { return false; }
227 void setSourceMappingURL(const String16&) override {} 229 void setSourceMappingURL(const String16&) override {}
228 230
229 bool getPossibleBreakpoints( 231 bool getPossibleBreakpoints(
230 const v8::debug::Location& start, const v8::debug::Location& end, 232 const v8::debug::Location& start, const v8::debug::Location& end,
233 bool restrictToFunction,
231 std::vector<v8::debug::Location>* locations) override { 234 std::vector<v8::debug::Location>* locations) override {
232 v8::HandleScope scope(m_isolate); 235 v8::HandleScope scope(m_isolate);
233 v8::Local<v8::debug::Script> script = m_script.Get(m_isolate); 236 v8::Local<v8::debug::Script> script = m_script.Get(m_isolate);
234 String16 v8ScriptId = String16::fromInteger(script->Id()); 237 String16 v8ScriptId = String16::fromInteger(script->Id());
235 238
236 v8::debug::Location translatedStart = start; 239 v8::debug::Location translatedStart = start;
237 TranslateProtocolLocationToV8Location(m_wasmTranslation, &translatedStart, 240 TranslateProtocolLocationToV8Location(m_wasmTranslation, &translatedStart,
238 scriptId(), v8ScriptId); 241 scriptId(), v8ScriptId);
239 242
240 v8::debug::Location translatedEnd = end; 243 v8::debug::Location translatedEnd = end;
241 if (translatedEnd.IsEmpty()) { 244 if (translatedEnd.IsEmpty()) {
242 // Stop before the start of the next function. 245 // Stop before the start of the next function.
243 translatedEnd = 246 translatedEnd =
244 v8::debug::Location(translatedStart.GetLineNumber() + 1, 0); 247 v8::debug::Location(translatedStart.GetLineNumber() + 1, 0);
245 } else { 248 } else {
246 TranslateProtocolLocationToV8Location(m_wasmTranslation, &translatedEnd, 249 TranslateProtocolLocationToV8Location(m_wasmTranslation, &translatedEnd,
247 scriptId(), v8ScriptId); 250 scriptId(), v8ScriptId);
248 } 251 }
249 252
250 bool success = script->GetPossibleBreakpoints(translatedStart, 253 bool success = script->GetPossibleBreakpoints(
251 translatedEnd, locations); 254 translatedStart, translatedEnd, restrictToFunction, locations);
252 for (v8::debug::Location& loc : *locations) { 255 for (v8::debug::Location& loc : *locations) {
253 TranslateV8LocationToProtocolLocation(m_wasmTranslation, &loc, v8ScriptId, 256 TranslateV8LocationToProtocolLocation(m_wasmTranslation, &loc, v8ScriptId,
254 scriptId()); 257 scriptId());
255 } 258 }
256 return success; 259 return success;
257 } 260 }
258 261
259 void resetBlackboxedStateCache() override {} 262 void resetBlackboxedStateCache() override {}
260 263
261 private: 264 private:
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 if (m_hash.isEmpty()) m_hash = calculateHash(source(isolate)); 303 if (m_hash.isEmpty()) m_hash = calculateHash(source(isolate));
301 DCHECK(!m_hash.isEmpty()); 304 DCHECK(!m_hash.isEmpty());
302 return m_hash; 305 return m_hash;
303 } 306 }
304 307
305 void V8DebuggerScript::setSourceURL(const String16& sourceURL) { 308 void V8DebuggerScript::setSourceURL(const String16& sourceURL) {
306 m_sourceURL = sourceURL; 309 m_sourceURL = sourceURL;
307 } 310 }
308 311
309 } // namespace v8_inspector 312 } // namespace v8_inspector
OLDNEW
« no previous file with comments | « src/inspector/v8-debugger-script.h ('k') | test/inspector/debugger/get-possible-breakpoints-restrict-to-function.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698