Ответ 1
Это объясняется как указано Chrome Issue 747888:
Итак, в первую очередь,
setOpenResourceHandle()
используется для случаев, когда пользователи щелкают ссылку (например, расположениеlinkified
на консоли), что обычно приводит к открытию вкладки источника в DevTools, она не должна запускаться, когда файл открыто открыто на панели источника. Для изменения файла/позиции на вкладке источников у нас естьchrome.devtools.panels.sources.onSelectionChanged
(см. макет теста, например, использование), который был недавно привезенный @jacobr).
Вот приведенный пример кода:
function extension_testElementsOnSelectionChanged(nextTest)
{
function onSelectionChanged()
{
webInspector.panels.elements.onSelectionChanged.removeListener(onSelectionChanged);
output("onSelectionChanged fired");
nextTest();
}
webInspector.panels.elements.onSelectionChanged.addListener(onSelectionChanged);
webInspector.inspectedWindow.eval("inspect(document.body.children[0]), 0");
}
function extension_testSourcesOnSelectionChangedShowFile(nextTest)
{
function onSelectionChanged(selectionInfo)
{
webInspector.panels.sources.onSelectionChanged.removeListener(onSelectionChanged);
output("sources onSelectionChanged fired, selectionInfo:");
dumpObject(selectionInfo, {url: "url"});
nextTest();
}
webInspector.panels.sources.onSelectionChanged.addListener(onSelectionChanged);
evaluateOnFrontend("InspectorTest.showScriptSource(\"test-script.js\")");
}
function extension_testSourcesOnSelectionChangedShowFileAndLine(nextTest)
{
webInspector.inspectedWindow.eval("location.href", function(inspectedPageURL) {
function onSelectionChanged(selectionInfo)
{
webInspector.panels.sources.onSelectionChanged.removeListener(onSelectionChanged);
output("sources onSelectionChanged fired, selectionInfo:");
dumpObject(selectionInfo, {url: "url"});
nextTest();
}
webInspector.panels.sources.onSelectionChanged.addListener(onSelectionChanged);
var basePath = inspectedPageURL.replace(/\/[^/]*$/, "/");
webInspector.panels.openResource(basePath + "resources/test-script.js", 2);
});
}