Commit cb4b65a8 authored by Andrey Lushnikov's avatar Andrey Lushnikov Committed by Commit Bot

DevTools: start searching in sourcemaps

This patch teaches global search to search in sourcemap sources
as well.

BUG=763701

Change-Id: I3062e21cf0a589d02f6926b8ec3785eca15b879a
Reviewed-on: https://chromium-review.googlesource.com/820653Reviewed-by: default avatarDmitry Gozman <dgozman@chromium.org>
Commit-Queue: Andrey Lushnikov <lushnikov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523277}
parent 27bff87c
<link rel='stylesheet' href='sourcemap-style.css'>
<script src="sourcemap-script.js"></script>
<div>Hi, I have some sourcemaps!</div>
function doFoo() {
console.log('foo');
}
window.foo = console.log.bind(console, 'foo');
//# sourceMappingURL=sourcemap-script.js.map
{
"version": 3,
"file": "sourcemap-script.js",
"sourceRoot": "",
"sources": ["sourcemap-typescript.ts"],
"names": [],
"mappings": "AAAA"
}
div {
color: blue;
}
/*# sourceMappingURL=sourcemap-style.css.map */
{
"version": 3,
"file": "sourcemap-style.css",
"sourceRoot": "",
"sources": ["sourcemap-sass.scss"],
"names": [],
"mappings": "AAAA"
}
function doFoo() {
console.log('foo');
}
window.foo = console.log.bind(console, 'foo');
Tests single resource search in inspector page agent.
Searching for: "color: blue"
Search result #1: uiSourceCode.url = http://127.0.0.1:8000/devtools/search/resources/sourcemap-sass.scss
search match #1: lineNumber = 1, lineContent = ' color: blue;'
Search result #2: uiSourceCode.url = http://127.0.0.1:8000/devtools/search/resources/sourcemap-style.css
search match #1: lineNumber = 1, lineContent = ' color: blue;'
Searching for: "window.foo"
Search result #1: uiSourceCode.url = http://127.0.0.1:8000/devtools/search/resources/sourcemap-script.js
search match #1: lineNumber = 3, lineContent = 'window.foo = console.log.bind(console, 'foo');'
Search result #2: uiSourceCode.url = http://127.0.0.1:8000/devtools/search/resources/sourcemap-typescript.ts
search match #1: lineNumber = 3, lineContent = 'window.foo = console.log.bind(console, 'foo');'
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
(async function() {
TestRunner.addResult(`Tests single resource search in inspector page agent.\n`);
await TestRunner.loadModule('application_test_runner');
await TestRunner.loadModule('sources_test_runner');
await TestRunner.showPanel('sources');
await TestRunner.navigate('resources/sourcemap-page.html');
await Promise.all([
TestRunner.waitForUISourceCode('sourcemap-style.css'),
TestRunner.waitForUISourceCode('sourcemap-sass.scss'),
TestRunner.waitForUISourceCode('sourcemap-script.js'),
TestRunner.waitForUISourceCode('sourcemap-typescript.ts'),
]);
var scope = new Sources.SourcesSearchScope();
var query = 'color: blue';
TestRunner.addResult('\nSearching for: "' + query + '"');
var searchConfig = new Workspace.SearchConfig(query, true /* ignoreCase */, false /* isRegex */);
await new Promise(x => SourcesTestRunner.runSearchAndDumpResults(scope, searchConfig, x));
var query = 'window.foo';
TestRunner.addResult('\nSearching for: "' + query + '"');
var searchConfig = new Workspace.SearchConfig(query, true /* ignoreCase */, false /* isRegex */);
await new Promise(x => SourcesTestRunner.runSearchAndDumpResults(scope, searchConfig, x));
TestRunner.completeTest();
})();
...@@ -228,9 +228,9 @@ Common.resourceTypes = { ...@@ -228,9 +228,9 @@ Common.resourceTypes = {
TextTrack: new Common.ResourceType('texttrack', 'TextTrack', Common.resourceCategories.Other, true), TextTrack: new Common.ResourceType('texttrack', 'TextTrack', Common.resourceCategories.Other, true),
WebSocket: new Common.ResourceType('websocket', 'WebSocket', Common.resourceCategories.WebSocket, false), WebSocket: new Common.ResourceType('websocket', 'WebSocket', Common.resourceCategories.WebSocket, false),
Other: new Common.ResourceType('other', 'Other', Common.resourceCategories.Other, false), Other: new Common.ResourceType('other', 'Other', Common.resourceCategories.Other, false),
SourceMapScript: new Common.ResourceType('sm-script', 'Script', Common.resourceCategories.Script, false), SourceMapScript: new Common.ResourceType('sm-script', 'Script', Common.resourceCategories.Script, true),
SourceMapStyleSheet: SourceMapStyleSheet:
new Common.ResourceType('sm-stylesheet', 'Stylesheet', Common.resourceCategories.Stylesheet, false), new Common.ResourceType('sm-stylesheet', 'Stylesheet', Common.resourceCategories.Stylesheet, true),
Manifest: new Common.ResourceType('manifest', 'Manifest', Common.resourceCategories.Manifest, true), Manifest: new Common.ResourceType('manifest', 'Manifest', Common.resourceCategories.Manifest, true),
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment