[inspector] do not capture hint if there is no break location
If we have several scripts with the same url (see many <script> tags in one page), then we try to set breakpoint only in script with given lineNumber inside and ignore all other scripts. We should follow the same logic when we capture hint for later breakpoint restore. R=yangguo@chromium.org Bug: none Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I44a332ac64f62ec9a0d24d5fe4688f8ced125e39 Reviewed-on: https://chromium-review.googlesource.com/821053 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#50019}
This commit is contained in:
parent
4bc48c2185
commit
be3c2cdd8d
@ -553,7 +553,7 @@ Response V8DebuggerAgentImpl::setBreakpointByUrl(
|
||||
}
|
||||
std::unique_ptr<protocol::Debugger::Location> location = setBreakpointImpl(
|
||||
breakpointId, script.first, condition, lineNumber, columnNumber);
|
||||
if (type != BreakpointType::kByUrlRegex) {
|
||||
if (location && type != BreakpointType::kByUrlRegex) {
|
||||
hint = breakpointHint(*script.second, lineNumber, columnNumber);
|
||||
}
|
||||
if (location) (*locations)->addItem(std::move(location));
|
||||
|
@ -0,0 +1,11 @@
|
||||
Tests breakpoint when two scripts have the same url.
|
||||
{
|
||||
breakpointId : <breakpointId>
|
||||
locations : [
|
||||
[0] : {
|
||||
columnNumber : 2
|
||||
lineNumber : 2
|
||||
scriptId : <scriptId>
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
let {session, contextGroup, Protocol} = InspectorTest.start(
|
||||
'Tests breakpoint when two scripts have the same url.');
|
||||
|
||||
// Order of addScript is important!
|
||||
contextGroup.addScript(`
|
||||
function boo() {
|
||||
return 42;
|
||||
}
|
||||
function foo() {}
|
||||
`, 0, 0, 'test.js');
|
||||
|
||||
contextGroup.addScript(`function foo() {}`, 15, 0, 'test.js');
|
||||
|
||||
(async function test() {
|
||||
await Protocol.Debugger.enable();
|
||||
let {result} = await Protocol.Debugger.setBreakpointByUrl({
|
||||
url: 'test.js',
|
||||
lineNumber: 2,
|
||||
columnNumber: 2
|
||||
});
|
||||
InspectorTest.logMessage(result);
|
||||
InspectorTest.completeTest();
|
||||
})();
|
Loading…
Reference in New Issue
Block a user