Commit d5937f13 authored by Dmitry Gozman's avatar Dmitry Gozman Committed by Commit Bot

[DevTools] PageMock is always a main target now.

Bug: 775132
Change-Id: I95a91e28bd67343c1b26c719edd0aaffc9fe9179
Reviewed-on: https://chromium-review.googlesource.com/c/1321089
Commit-Queue: Andrey Lushnikov <lushnikov@chromium.org>
Reviewed-by: default avatarAndrey Lushnikov <lushnikov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605912}
parent 1eb0082a
...@@ -25,10 +25,8 @@ ...@@ -25,10 +25,8 @@
TestRunner.addResult('Source requested for ' + this.url()); TestRunner.addResult('Source requested for ' + this.url());
} }
Bindings.debuggerWorkspaceBinding._resetForTest(TestRunner.mainTarget);
Bindings.resourceMapping._resetForTest(TestRunner.mainTarget);
var page = new SDKTestRunner.PageMock('http://example.com'); var page = new SDKTestRunner.PageMock('http://example.com');
SDKTestRunner.connectToPage('mock-page', page, true /* makeMainTarget */); page.connectAsMainTarget('mock-page');
function addNetworkFile(url) { function addNetworkFile(url) {
page.evalScript(url, '', false /* isContentScript */); page.evalScript(url, '', false /* isContentScript */);
......
...@@ -2,13 +2,31 @@ Tests scripts sorting in the scripts panel. ...@@ -2,13 +2,31 @@ Tests scripts sorting in the scripts panel.
Sources: Sources:
-------- Setting mode: [frame] -------- Setting mode: [frame]
mock-target-1 *Non*URL*path
bar.js?file=bar/zzz.js
bar.js?file=bar/zzz.js
block.js?block=foo
foo.js?file=bar/aaa.js
foo.js?file=bar/aaa.js
ga.js
jquery-1.5.1.min.js
jquery.cookie.js
lenta.ban?pg=4883&ifr=1
lenta.ban?pg=5309&ifr=1
motor.js?1308927432
top100.jcn?80674
xgemius.js
Sources:
-------- Setting mode: [frame/domain]
(no domain)
*Non*URL*path *Non*URL*path
bar.com
bar.js?file=bar/zzz.js bar.js?file=bar/zzz.js
foo.js?file=bar/aaa.js
foo.com
bar.js?file=bar/zzz.js bar.js?file=bar/zzz.js
block.js?block=foo block.js?block=foo
foo.js?file=bar/aaa.js foo.js?file=bar/aaa.js
foo.js?file=bar/aaa.js
ga.js ga.js
jquery-1.5.1.min.js jquery-1.5.1.min.js
jquery.cookie.js jquery.cookie.js
...@@ -18,144 +36,134 @@ mock-target-1 ...@@ -18,144 +36,134 @@ mock-target-1
top100.jcn?80674 top100.jcn?80674
xgemius.js xgemius.js
Sources: Sources:
-------- Setting mode: [frame/domain] -------- Setting mode: [frame/domain/folder]
mock-target-1 (no domain)
(no domain) *Non*URL*path
*Non*URL*path bar.com
bar.com foo/path
bar.js?file=bar/zzz.js bar.js?file=bar/zzz.js
foo.js?file=bar/aaa.js foo.js?file=bar/aaa.js
foo.com foo.com
_js/production
motor.js?1308927432
foo/path
bar.js?file=bar/zzz.js bar.js?file=bar/zzz.js
block.js?block=foo
foo.js?file=bar/aaa.js foo.js?file=bar/aaa.js
ga.js i
jquery-1.5.1.min.js js
jquery.cookie.js jquery-1.5.1.min.js
lenta.ban?pg=4883&ifr=1 jquery.cookie.js
lenta.ban?pg=5309&ifr=1
motor.js?1308927432
top100.jcn?80674
xgemius.js xgemius.js
Sources: block.js?block=foo
-------- Setting mode: [frame/domain/folder] ga.js
mock-target-1 lenta.ban?pg=4883&ifr=1
(no domain) lenta.ban?pg=5309&ifr=1
*Non*URL*path top100.jcn?80674
bar.com
foo/path
bar.js?file=bar/zzz.js
foo.js?file=bar/aaa.js
foo.com
_js/production
motor.js?1308927432
foo/path
bar.js?file=bar/zzz.js
foo.js?file=bar/aaa.js
i
js
jquery-1.5.1.min.js
jquery.cookie.js
xgemius.js
block.js?block=foo
ga.js
lenta.ban?pg=4883&ifr=1
lenta.ban?pg=5309&ifr=1
top100.jcn?80674
Sources: Sources:
-------- Setting mode: [domain] -------- Setting mode: [domain]
mock-target-1 (no domain)
(no domain) *Non*URL*path
*Non*URL*path bar.com
bar.com bar.js?file=bar/zzz.js
foo.js?file=bar/aaa.js
foo.com
bar.js?file=bar/zzz.js
block.js?block=foo
foo.js?file=bar/aaa.js
ga.js
jquery-1.5.1.min.js
jquery.cookie.js
lenta.ban?pg=4883&ifr=1
lenta.ban?pg=5309&ifr=1
motor.js?1308927432
top100.jcn?80674
xgemius.js
Sources:
-------- Setting mode: [domain/folder]
(no domain)
*Non*URL*path
bar.com
foo/path
bar.js?file=bar/zzz.js bar.js?file=bar/zzz.js
foo.js?file=bar/aaa.js foo.js?file=bar/aaa.js
foo.com foo.com
_js/production
motor.js?1308927432
foo/path
bar.js?file=bar/zzz.js bar.js?file=bar/zzz.js
block.js?block=foo
foo.js?file=bar/aaa.js foo.js?file=bar/aaa.js
ga.js i
jquery-1.5.1.min.js js
jquery.cookie.js jquery-1.5.1.min.js
lenta.ban?pg=4883&ifr=1 jquery.cookie.js
lenta.ban?pg=5309&ifr=1
motor.js?1308927432
top100.jcn?80674
xgemius.js xgemius.js
Sources: block.js?block=foo
-------- Setting mode: [domain/folder] ga.js
mock-target-1 lenta.ban?pg=4883&ifr=1
(no domain) lenta.ban?pg=5309&ifr=1
*Non*URL*path top100.jcn?80674
bar.com
foo/path
bar.js?file=bar/zzz.js
foo.js?file=bar/aaa.js
foo.com
_js/production
motor.js?1308927432
foo/path
bar.js?file=bar/zzz.js
foo.js?file=bar/aaa.js
i
js
jquery-1.5.1.min.js
jquery.cookie.js
xgemius.js
block.js?block=foo
ga.js
lenta.ban?pg=4883&ifr=1
lenta.ban?pg=5309&ifr=1
top100.jcn?80674
Content Scripts: Content Scripts:
-------- Setting mode: [frame] -------- Setting mode: [frame]
mock-target-1 *Another*Non*URL*path
bar.js
baz.js
Content Scripts:
-------- Setting mode: [frame/domain]
(no domain)
*Another*Non*URL*path *Another*Non*URL*path
extension-name
bar.js bar.js
baz.js baz.js
Content Scripts: Content Scripts:
-------- Setting mode: [frame/domain]
mock-target-1
(no domain)
*Another*Non*URL*path
extension-name
bar.js
baz.js
Content Scripts:
-------- Setting mode: [frame/domain/folder] -------- Setting mode: [frame/domain/folder]
mock-target-1 (no domain)
(no domain) *Another*Non*URL*path
*Another*Non*URL*path extension-name
extension-name folder
folder baz.js
baz.js bar.js
bar.js
Content Scripts: Content Scripts:
-------- Setting mode: [domain] -------- Setting mode: [domain]
mock-target-1 (no domain)
(no domain) *Another*Non*URL*path
*Another*Non*URL*path extension-name
extension-name bar.js
bar.js baz.js
baz.js
Content Scripts: Content Scripts:
-------- Setting mode: [domain/folder] -------- Setting mode: [domain/folder]
mock-target-1 (no domain)
(no domain) *Another*Non*URL*path
*Another*Non*URL*path extension-name
extension-name folder
folder baz.js
baz.js bar.js
bar.js
Sources: Sources:
-------- Setting mode: [frame] -------- Setting mode: [frame]
mock-target-1 *Non*URL*path
bar.js?file=bar/zzz.js
bar.js?file=bar/zzz.js
block.js?block=foo
foo.js?file=bar/aaa.js
foo.js?file=bar/aaa.js
ga.js
jquery-1.5.1.min.js
jquery.cookie.js
lenta.ban?pg=4883&ifr=1
lenta.ban?pg=5309&ifr=1
motor.js?1308927432
top100.jcn?80674
xgemius.js
Sources:
-------- Setting mode: [frame/domain]
(no domain)
*Non*URL*path *Non*URL*path
bar.com
bar.js?file=bar/zzz.js bar.js?file=bar/zzz.js
foo.js?file=bar/aaa.js
foo.com
bar.js?file=bar/zzz.js bar.js?file=bar/zzz.js
block.js?block=foo block.js?block=foo
foo.js?file=bar/aaa.js foo.js?file=bar/aaa.js
foo.js?file=bar/aaa.js
ga.js ga.js
jquery-1.5.1.min.js jquery-1.5.1.min.js
jquery.cookie.js jquery.cookie.js
...@@ -165,133 +173,105 @@ mock-target-1 ...@@ -165,133 +173,105 @@ mock-target-1
top100.jcn?80674 top100.jcn?80674
xgemius.js xgemius.js
Sources: Sources:
-------- Setting mode: [frame/domain] -------- Setting mode: [frame/domain/folder]
mock-target-1 (no domain)
(no domain) *Non*URL*path
*Non*URL*path bar.com
bar.com foo/path
bar.js?file=bar/zzz.js bar.js?file=bar/zzz.js
foo.js?file=bar/aaa.js foo.js?file=bar/aaa.js
foo.com foo.com
_js/production
motor.js?1308927432
foo/path
bar.js?file=bar/zzz.js bar.js?file=bar/zzz.js
block.js?block=foo
foo.js?file=bar/aaa.js foo.js?file=bar/aaa.js
ga.js i
jquery-1.5.1.min.js js
jquery.cookie.js jquery-1.5.1.min.js
lenta.ban?pg=4883&ifr=1 jquery.cookie.js
lenta.ban?pg=5309&ifr=1
motor.js?1308927432
top100.jcn?80674
xgemius.js xgemius.js
Sources: block.js?block=foo
-------- Setting mode: [frame/domain/folder] ga.js
mock-target-1 lenta.ban?pg=4883&ifr=1
(no domain) lenta.ban?pg=5309&ifr=1
*Non*URL*path top100.jcn?80674
bar.com
foo/path
bar.js?file=bar/zzz.js
foo.js?file=bar/aaa.js
foo.com
_js/production
motor.js?1308927432
foo/path
bar.js?file=bar/zzz.js
foo.js?file=bar/aaa.js
i
js
jquery-1.5.1.min.js
jquery.cookie.js
xgemius.js
block.js?block=foo
ga.js
lenta.ban?pg=4883&ifr=1
lenta.ban?pg=5309&ifr=1
top100.jcn?80674
Sources: Sources:
-------- Setting mode: [domain] -------- Setting mode: [domain]
mock-target-1 (no domain)
(no domain) *Non*URL*path
*Non*URL*path bar.com
bar.com bar.js?file=bar/zzz.js
foo.js?file=bar/aaa.js
foo.com
bar.js?file=bar/zzz.js
block.js?block=foo
foo.js?file=bar/aaa.js
ga.js
jquery-1.5.1.min.js
jquery.cookie.js
lenta.ban?pg=4883&ifr=1
lenta.ban?pg=5309&ifr=1
motor.js?1308927432
top100.jcn?80674
xgemius.js
Sources:
-------- Setting mode: [domain/folder]
(no domain)
*Non*URL*path
bar.com
foo/path
bar.js?file=bar/zzz.js bar.js?file=bar/zzz.js
foo.js?file=bar/aaa.js foo.js?file=bar/aaa.js
foo.com foo.com
_js/production
motor.js?1308927432
foo/path
bar.js?file=bar/zzz.js bar.js?file=bar/zzz.js
block.js?block=foo
foo.js?file=bar/aaa.js foo.js?file=bar/aaa.js
ga.js i
jquery-1.5.1.min.js js
jquery.cookie.js jquery-1.5.1.min.js
lenta.ban?pg=4883&ifr=1 jquery.cookie.js
lenta.ban?pg=5309&ifr=1
motor.js?1308927432
top100.jcn?80674
xgemius.js xgemius.js
Sources: block.js?block=foo
-------- Setting mode: [domain/folder] ga.js
mock-target-1 lenta.ban?pg=4883&ifr=1
(no domain) lenta.ban?pg=5309&ifr=1
*Non*URL*path top100.jcn?80674
bar.com
foo/path
bar.js?file=bar/zzz.js
foo.js?file=bar/aaa.js
foo.com
_js/production
motor.js?1308927432
foo/path
bar.js?file=bar/zzz.js
foo.js?file=bar/aaa.js
i
js
jquery-1.5.1.min.js
jquery.cookie.js
xgemius.js
block.js?block=foo
ga.js
lenta.ban?pg=4883&ifr=1
lenta.ban?pg=5309&ifr=1
top100.jcn?80674
Content Scripts: Content Scripts:
-------- Setting mode: [frame] -------- Setting mode: [frame]
mock-target-1 *Another*Non*URL*path
bar.js
baz.js
Content Scripts:
-------- Setting mode: [frame/domain]
(no domain)
*Another*Non*URL*path *Another*Non*URL*path
extension-name
bar.js bar.js
baz.js baz.js
Content Scripts: Content Scripts:
-------- Setting mode: [frame/domain]
mock-target-1
(no domain)
*Another*Non*URL*path
extension-name
bar.js
baz.js
Content Scripts:
-------- Setting mode: [frame/domain/folder] -------- Setting mode: [frame/domain/folder]
mock-target-1 (no domain)
(no domain) *Another*Non*URL*path
*Another*Non*URL*path extension-name
extension-name folder
folder baz.js
baz.js bar.js
bar.js
Content Scripts: Content Scripts:
-------- Setting mode: [domain] -------- Setting mode: [domain]
mock-target-1 (no domain)
(no domain) *Another*Non*URL*path
*Another*Non*URL*path extension-name
extension-name bar.js
bar.js baz.js
baz.js
Content Scripts: Content Scripts:
-------- Setting mode: [domain/folder] -------- Setting mode: [domain/folder]
mock-target-1 (no domain)
(no domain) *Another*Non*URL*path
*Another*Non*URL*path extension-name
extension-name folder
folder baz.js
baz.js bar.js
bar.js
...@@ -17,12 +17,9 @@ ...@@ -17,12 +17,9 @@
sourcesNavigatorView = createNavigatorView(Sources.NetworkNavigatorView); sourcesNavigatorView = createNavigatorView(Sources.NetworkNavigatorView);
contentScriptsNavigatorView = createNavigatorView(Sources.ContentScriptsNavigatorView); contentScriptsNavigatorView = createNavigatorView(Sources.ContentScriptsNavigatorView);
Bindings.debuggerWorkspaceBinding._resetForTest(TestRunner.mainTarget);
Bindings.resourceMapping._resetForTest(TestRunner.mainTarget);
var pageMock = new SDKTestRunner.PageMock('http://example.com'); var pageMock = new SDKTestRunner.PageMock('http://example.com');
pageMock.turnIntoWorker(); pageMock.turnIntoWorker();
SDKTestRunner.connectToPage('mock-target-1', pageMock); pageMock.connectAsMainTarget('mock-target-1');
var uiSourceCodes = []; var uiSourceCodes = [];
async function addUISourceCode(url, isContentScript) { async function addUISourceCode(url, isContentScript) {
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
files = files.map(file => 'http://example.com/' + file); files = files.map(file => 'http://example.com/' + file);
var page = new SDKTestRunner.PageMock('http://example.com'); var page = new SDKTestRunner.PageMock('http://example.com');
SDKTestRunner.connectToPage('mock-page', page); page.connectAsMainTarget('mock-page');
var uiSourceCodes = []; var uiSourceCodes = [];
for (var i = 0; i < files.length; ++i) { for (var i = 0; i < files.length; ++i) {
......
...@@ -13,9 +13,6 @@ ...@@ -13,9 +13,6 @@
Bindings.debuggerWorkspaceBinding._resetForTest(TestRunner.mainTarget); Bindings.debuggerWorkspaceBinding._resetForTest(TestRunner.mainTarget);
Bindings.resourceMapping._resetForTest(TestRunner.mainTarget); Bindings.resourceMapping._resetForTest(TestRunner.mainTarget);
var pageMock = new SDKTestRunner.PageMock('mock-url.com/frame.html');
pageMock.turnIntoWorker();
var target2 = SDKTestRunner.connectToPage('mock-target-100', pageMock);
var subframe = TestRunner.mainFrame().childFrames[0]; var subframe = TestRunner.mainFrame().childFrames[0];
var sourcesNavigatorView = new Sources.NetworkNavigatorView(); var sourcesNavigatorView = new Sources.NetworkNavigatorView();
...@@ -36,8 +33,11 @@ ...@@ -36,8 +33,11 @@
uiSourceCodes.push(uiSourceCode); uiSourceCodes.push(uiSourceCode);
} }
async function addUISourceCode2(url, isContentScript) { async function addUISourceCode2(url) {
pageMock.evalScript(url, '', isContentScript); TestRunner.evaluateInPageAnonymously(`
window.workers = window.workers || [];
window.workers.push(new Worker('${url}', {name: 'mock-target-100'}));
`);
var uiSourceCode = await waitForUISourceCodeAdded(url); var uiSourceCode = await waitForUISourceCodeAdded(url);
uiSourceCodes.push(uiSourceCode); uiSourceCodes.push(uiSourceCode);
} }
...@@ -84,8 +84,8 @@ ...@@ -84,8 +84,8 @@
TestRunner.addResult('\n\n================================================'); TestRunner.addResult('\n\n================================================');
TestRunner.addResult('Adding resources into another target:'); TestRunner.addResult('Adding resources into another target:');
await addUISourceCode2(rootURL + 'foo/bar/script.js?a=3', false); await addUISourceCode2(TestRunner.url('resources/script1.js?a=3'));
await addUISourceCode2(rootURL + 'foo/baz/script.js', false); await addUISourceCode2(TestRunner.url('resources/script2.js'));
SourcesTestRunner.dumpNavigatorViewInAllModes(sourcesNavigatorView); SourcesTestRunner.dumpNavigatorViewInAllModes(sourcesNavigatorView);
TestRunner.addResult('\n\n================================================'); TestRunner.addResult('\n\n================================================');
...@@ -151,7 +151,10 @@ ...@@ -151,7 +151,10 @@
TestRunner.addResult('\n\n================================================'); TestRunner.addResult('\n\n================================================');
TestRunner.addResult('Removing all resources:'); TestRunner.addResult('Removing all resources:');
Bindings.debuggerWorkspaceBinding._resetForTest(target2); for (const target of SDK.targetManager.targets()) {
if (target !== TestRunner.mainTarget)
Bindings.debuggerWorkspaceBinding._resetForTest(target);
}
SourcesTestRunner.dumpNavigatorViewInAllModes(sourcesNavigatorView); SourcesTestRunner.dumpNavigatorViewInAllModes(sourcesNavigatorView);
SourcesTestRunner.dumpNavigatorViewInAllModes(contentScriptsNavigatorView); SourcesTestRunner.dumpNavigatorViewInAllModes(contentScriptsNavigatorView);
......
...@@ -13,18 +13,6 @@ function nextId(prefix) { ...@@ -13,18 +13,6 @@ function nextId(prefix) {
return (prefix || '') + ++id; return (prefix || '') + ++id;
} }
SDKTestRunner.connectToPage = function(targetName, pageMock, makeMainTarget) {
const mockTarget = SDK.targetManager.createTarget(
nextId('mock-target-'), targetName, pageMock._type, params => pageMock.createConnection(params));
if (makeMainTarget) {
SDK.targetManager._targets = SDK.targetManager._targets.filter(target => target !== mockTarget);
SDK.targetManager._targets.unshift(mockTarget);
}
return mockTarget;
};
SDKTestRunner.PageMock = class { SDKTestRunner.PageMock = class {
constructor(url) { constructor(url) {
this._url = url; this._url = url;
...@@ -53,10 +41,17 @@ SDKTestRunner.PageMock = class { ...@@ -53,10 +41,17 @@ SDKTestRunner.PageMock = class {
this._type = SDK.Target.Type.Worker; this._type = SDK.Target.Type.Worker;
} }
createConnection(params) { connectAsMainTarget(targetName) {
this._enabledDomains.clear(); Bindings.debuggerWorkspaceBinding._resetForTest(TestRunner.mainTarget);
this._connection = new MockPageConnection(this, params); Bindings.resourceMapping._resetForTest(TestRunner.mainTarget);
return this._connection;
SDK.targetManager._targets = [];
const target = SDK.targetManager.createTarget(nextId('mock-target-'), targetName, this._type, params => {
this._enabledDomains.clear();
this._connection = new MockPageConnection(this, params);
return this._connection;
});
return target;
} }
evalScript(url, content, isContentScript) { evalScript(url, content, isContentScript) {
......
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