Bug 1604143 - Make browser-chrome task function arguments an object. r=whimboo,remote-protocol-reviewers,ato

Differential Revision: https://phabricator.services.mozilla.com/D59082

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Khushal Sahni 2020-01-13 08:52:44 +00:00
parent 92240b0f7e
commit d7f74c0866
47 changed files with 180 additions and 109 deletions

View File

@ -69,7 +69,7 @@ three arguments `client`, `CDP`, and `tab`:
This is what it looks like all put together:
add_task(async function testName(client, CDP, tab) {
add_task(async function testName({client, CDP, tab}) {
// test tab is implicitly created for us
info("Current URL: " + tab.linkedBrowser.currentURI.spec);
@ -90,7 +90,7 @@ This is what it looks like all put together:
You can control the tab creation behaviour with the `createTab`
option to `add_task(taskFunction, options)`:
add_task(async function testName(client) {
add_task(async function testName({client}) {
// tab is not implicitly created
}, { createTab: false });

View File

@ -4,7 +4,7 @@
"use strict";
// Test very basic CDP features.
add_task(async function testCDP(client) {
add_task(async function testCDP({ client }) {
const { Browser, Log, Page } = client;
ok("Browser" in client, "Browser domain is available");

View File

@ -5,7 +5,7 @@
// Test very basic CDP features.
add_task(async function(_client, CDP) {
add_task(async function({ CDP }) {
const { mainProcessTarget } = RemoteAgent.targets;
ok(
mainProcessTarget,

View File

@ -3,7 +3,7 @@
"use strict";
add_task(async function(_, CDP) {
add_task(async function({ CDP }) {
const { webSocketDebuggerUrl } = await CDP.Version();
const client = await CDP({ target: webSocketDebuggerUrl });

View File

@ -7,7 +7,7 @@
const TEST_URL = toDataURL("default-test-page");
add_task(async function(_, CDP) {
add_task(async function({ CDP }) {
// Use gBrowser.addTab instead of BrowserTestUtils as it creates the tab differently.
// It demonstrates a race around tab.linkedBrowser.browsingContext being undefined
// when accessing this property early.

View File

@ -5,7 +5,8 @@
const DOC = toDataURL(`<script>document.write(navigator.userAgent);</script>`);
add_task(async function setAndResetUserAgent({ Emulation }) {
add_task(async function setAndResetUserAgent({ client }) {
const { Emulation } = client;
const userAgent = "Mozilla/5.0 (rv: 23) Romanesco/42.0";
await loadURL(DOC);
@ -49,7 +50,8 @@ add_task(async function invalidUserAgent({ Emulation }) {
ok(errorThrown, "Invalid user agent format raised error");
});
add_task(async function notSetForNewContext({ Emulation, Target }) {
add_task(async function notSetForNewContext({ client }) {
const { Emulation, Target } = client;
const userAgent = "Mozilla/5.0 (rv: 23) Romanesco/42.0";
await Emulation.setUserAgentOverride({ userAgent });

View File

@ -64,7 +64,7 @@ this.add_task = function(taskFn, opts = {}) {
// Bug 1605722 - Workaround to not hang when waiting for Target events
await getDiscoveredTargets(client.Target);
await taskFn(client, CDP, tab);
await taskFn({ client, CDP, tab });
if (createTab) {
// taskFn may resolve within a tick after opening a new tab.

View File

@ -3,7 +3,7 @@
"use strict";
add_task(async function testTypingPrintableCharacters(client) {
add_task(async function testTypingPrintableCharacters({ client }) {
await setupForInput(toDataURL("<input>"));
const { Input } = client;
@ -24,7 +24,7 @@ add_task(async function testTypingPrintableCharacters(client) {
await checkInputContent("hH", 3);
});
add_task(async function testArrowKeys(client) {
add_task(async function testArrowKeys({ client }) {
await setupForInput(toDataURL("<input>"));
const { Input } = client;
@ -59,7 +59,7 @@ add_task(async function testArrowKeys(client) {
await checkInputContent("haHa", 5);
});
add_task(async function testBackspace(client) {
add_task(async function testBackspace({ client }) {
await setupForInput(toDataURL("<input>"));
const { Input } = client;
@ -73,7 +73,7 @@ add_task(async function testBackspace(client) {
await checkBackspace(Input, "");
});
add_task(async function testShiftSelect(client) {
add_task(async function testShiftSelect({ client }) {
await setupForInput(toDataURL("<input>"));
const { Input } = client;
await resetInput("word 2 word3");
@ -97,7 +97,7 @@ add_task(async function testShiftSelect(client) {
await dispatchKeyEvent(Input, "Shift", "keyUp");
});
add_task(async function testSelectWord(client) {
add_task(async function testSelectWord({ client }) {
await setupForInput(toDataURL("<input>"));
const { Input } = client;
await resetInput("word 2 word3");
@ -115,7 +115,7 @@ add_task(async function testSelectWord(client) {
await checkBackspace(Input, "word ");
});
add_task(async function testSelectDelete(client) {
add_task(async function testSelectDelete({ client }) {
await setupForInput(toDataURL("<input>"));
const { Input } = client;
await resetInput("word 2 word3");
@ -141,7 +141,7 @@ add_task(async function testSelectDelete(client) {
}
});
add_task(async function testCtrlShiftArrows(client) {
add_task(async function testCtrlShiftArrows({ client }) {
await loadURL(
toDataURL('<select multiple size="3"><option>a<option>b<option>c</select>')
);

View File

@ -6,7 +6,7 @@
const PAGE_URL =
"http://example.com/browser/remote/test/browser/input/doc_events.html";
add_task(async function testShiftEvents(client) {
add_task(async function testShiftEvents({ client }) {
await setupForInput(PAGE_URL);
const { Input } = client;
await resetEvents();
@ -36,7 +36,7 @@ add_task(async function testShiftEvents(client) {
});
});
add_task(async function testAltEvents(client) {
add_task(async function testAltEvents({ client }) {
await setupForInput(PAGE_URL);
const { Input } = client;
@ -51,7 +51,7 @@ add_task(async function testAltEvents(client) {
checkEvent(events[events.length - 1], "keyup", "Alt", "alt", false);
});
add_task(async function testControlEvents(client) {
add_task(async function testControlEvents({ client }) {
await setupForInput(PAGE_URL);
const { Input } = client;
@ -62,7 +62,7 @@ add_task(async function testControlEvents(client) {
checkEvent(events[events.length - 1], "keyup", "Control", "ctrl", false);
});
add_task(async function testMetaEvents(client) {
add_task(async function testMetaEvents({ client }) {
if (!isMac) {
return;
}
@ -76,7 +76,7 @@ add_task(async function testMetaEvents(client) {
checkEvent(events[events.length - 1], "keyup", "Meta", "meta", false);
});
add_task(async function testShiftClick(client) {
add_task(async function testShiftClick({ client }) {
await loadURL(PAGE_URL);
const { Input } = client;
await resetEvents();

View File

@ -29,7 +29,7 @@
const PAGE_URL =
"http://example.com/browser/remote/test/browser/input/doc_dispatchKeyEvent_race.html";
add_task(async function(client) {
add_task(async function({ client }) {
await loadURL(PAGE_URL);
const { Input, Runtime } = client;

View File

@ -3,7 +3,7 @@
"use strict";
add_task(async function testDispatchMouseEvent(client) {
add_task(async function testDispatchMouseEvent({ client }) {
await loadURL(toDataURL("<div>foo</div>"));
const { Input } = client;

View File

@ -3,7 +3,8 @@
"use strict";
add_task(async function fileRemovedAfterClose({ IO }) {
add_task(async function fileRemovedAfterClose({ client }) {
const { IO } = client;
const contents = "Lorem ipsum";
const { handle, path } = await registerFileStream(contents);
@ -11,7 +12,8 @@ add_task(async function fileRemovedAfterClose({ IO }) {
ok(!(await OS.File.exists(path)), "Discarded the temporary backing storage");
});
add_task(async function unknownHandle({ IO }) {
add_task(async function unknownHandle({ client }) {
const { IO } = client;
const handle = "1000000";
try {
@ -25,7 +27,8 @@ add_task(async function unknownHandle({ IO }) {
}
});
add_task(async function invalidHandleTypes({ IO }) {
add_task(async function invalidHandleTypes({ client }) {
const { IO } = client;
for (const handle of [null, true, 1, [], {}]) {
try {
await IO.close({ handle });

View File

@ -3,7 +3,8 @@
"use strict";
add_task(async function seekByOffsets({ IO }) {
add_task(async function seekByOffsets({ client }) {
const { IO } = client;
const contents = "Lorem ipsum";
const { handle } = await registerFileStream(contents);
@ -19,7 +20,8 @@ add_task(async function seekByOffsets({ IO }) {
}
});
add_task(async function remembersOffsetAfterRead({ IO }) {
add_task(async function remembersOffsetAfterRead({ client }) {
const { IO } = client;
const contents = "Lorem ipsum";
const { handle } = await registerFileStream(contents);
@ -47,7 +49,8 @@ add_task(async function remembersOffsetAfterRead({ IO }) {
} while (expectedOffset < contents.length);
});
add_task(async function readBySize({ IO }) {
add_task(async function readBySize({ client }) {
const { IO } = client;
const contents = "Lorem ipsum";
const { handle } = await registerFileStream(contents);
@ -67,7 +70,8 @@ add_task(async function readBySize({ IO }) {
}
});
add_task(async function readAfterClose({ IO }) {
add_task(async function readAfterClose({ client }) {
const { IO } = client;
const contents = "Lorem ipsum";
const { handle } = await registerFileStream(contents);
@ -84,7 +88,8 @@ add_task(async function readAfterClose({ IO }) {
}
});
add_task(async function unknownHandle({ IO }) {
add_task(async function unknownHandle({ client }) {
const { IO } = client;
const handle = "1000000";
try {
@ -98,7 +103,8 @@ add_task(async function unknownHandle({ IO }) {
}
});
add_task(async function invalidHandleTypes({ IO }) {
add_task(async function invalidHandleTypes({ client }) {
const { IO } = client;
for (const handle of [null, true, 1, [], {}]) {
try {
await IO.read({ handle });
@ -112,7 +118,8 @@ add_task(async function invalidHandleTypes({ IO }) {
}
});
add_task(async function invalidOffsetTypes({ IO }) {
add_task(async function invalidOffsetTypes({ client }) {
const { IO } = client;
const contents = "Lorem ipsum";
const { handle } = await registerFileStream(contents);
@ -129,7 +136,8 @@ add_task(async function invalidOffsetTypes({ IO }) {
}
});
add_task(async function invalidSizeTypes({ IO }) {
add_task(async function invalidSizeTypes({ client }) {
const { IO } = client;
const contents = "Lorem ipsum";
const { handle } = await registerFileStream(contents);

View File

@ -11,12 +11,14 @@ const SECURE_HOST = "https://example.com";
const DEFAULT_URL = `${DEFAULT_HOST}${SJS_PATH}`;
add_task(async function noCookiesWhenNoneAreSet({ Network }) {
add_task(async function noCookiesWhenNoneAreSet({ client }) {
const { Network } = client;
const { cookies } = await Network.getCookies({ urls: [DEFAULT_HOST] });
is(cookies.length, 0, "No cookies have been found");
});
add_task(async function noCookiesForPristineContext({ Network }) {
add_task(async function noCookiesForPristineContext({ client }) {
const { Network } = client;
await loadURL(DEFAULT_URL);
try {
@ -27,7 +29,8 @@ add_task(async function noCookiesForPristineContext({ Network }) {
}
});
add_task(async function allCookiesFromHostWithPort({ Network }) {
add_task(async function allCookiesFromHostWithPort({ client }) {
const { Network } = client;
const PORT_URL = `${DEFAULT_HOST}:8000${SJS_PATH}?name=id&value=1`;
await loadURL(PORT_URL);
@ -45,7 +48,8 @@ add_task(async function allCookiesFromHostWithPort({ Network }) {
}
});
add_task(async function allCookiesFromCurrentURL({ Network }) {
add_task(async function allCookiesFromCurrentURL({ client }) {
const { Network } = client;
await loadURL(`${ALT_HOST}${SJS_PATH}?name=user&value=password`);
await loadURL(`${DEFAULT_URL}?name=foo&value=bar`);
await loadURL(`${DEFAULT_URL}?name=user&value=password`);
@ -64,7 +68,8 @@ add_task(async function allCookiesFromCurrentURL({ Network }) {
}
});
add_task(async function secure({ Network }) {
add_task(async function secure({ client }) {
const { Network } = client;
await loadURL(`${SECURE_HOST}${SJS_PATH}?name=foo&value=bar&secure`);
const cookie = {
@ -89,7 +94,8 @@ add_task(async function secure({ Network }) {
}
});
add_task(async function expiry({ Network }) {
add_task(async function expiry({ client }) {
const { Network } = client;
const date = new Date();
date.setDate(date.getDate() + 3);
@ -112,7 +118,8 @@ add_task(async function expiry({ Network }) {
}
});
add_task(async function session({ Network }) {
add_task(async function session({ client }) {
const { Network } = client;
await loadURL(`${DEFAULT_URL}?name=foo&value=bar`);
const cookie = {
@ -131,7 +138,8 @@ add_task(async function session({ Network }) {
}
});
add_task(async function path({ Network }) {
add_task(async function path({ client }) {
const { Network } = client;
const PATH = "/browser/remote/test/browser/";
const PARENT_PATH = "/browser/remote/test/";
@ -170,7 +178,8 @@ add_task(async function path({ Network }) {
}
});
add_task(async function httpOnly({ Network }) {
add_task(async function httpOnly({ client }) {
const { Network } = client;
await loadURL(`${DEFAULT_URL}?name=foo&value=bar&httpOnly`);
const cookie = {
@ -188,7 +197,8 @@ add_task(async function httpOnly({ Network }) {
}
});
add_task(async function sameSite({ Network }) {
add_task(async function sameSite({ client }) {
const { Network } = client;
for (const value of ["Lax", "Strict"]) {
console.log(`Test cookie with sameSite=${value}`);
await loadURL(`${DEFAULT_URL}?name=foo&value=bar&sameSite=${value}`);

View File

@ -10,7 +10,7 @@ const PAGE_URL =
const JS_URL =
"http://example.com/browser/remote/test/browser/network/file_requestWillBeSent.js";
add_task(async function(client) {
add_task(async function({ client }) {
const { Page, Network } = client;
await Network.enable();

View File

@ -8,7 +8,8 @@ const { INHIBIT_CACHING, LOAD_BYPASS_CACHE, LOAD_NORMAL } = Ci.nsIRequest;
const TEST_PAGE =
"http://example.com/browser/remote/test/browser/network/doc_empty.html";
add_task(async function cacheEnabledAfterDisabled({ Network }) {
add_task(async function cacheEnabledAfterDisabled({ client }) {
const { Network } = client;
await Network.setCacheDisabled({ cacheDisabled: true });
await Network.setCacheDisabled({ cacheDisabled: false });
@ -23,7 +24,8 @@ add_task(async function cacheEnabledByDefault({ Network }) {
await checkPromise;
});
add_task(async function cacheDisabled({ Network }) {
add_task(async function cacheDisabled({ client }) {
const { Network } = client;
await Network.setCacheDisabled({ cacheDisabled: true });
const checkPromise = checkLoadFlags(

View File

@ -9,7 +9,8 @@ const DOC = toDataURL(`<script>document.write(navigator.userAgent);</script>`);
// Run at least one test for setting and resetting the user agent to make sure
// that the redirect works.
add_task(async function forwardToEmulation({ Network }) {
add_task(async function forwardToEmulation({ client }) {
const { Network } = client;
const userAgent = "Mozilla/5.0 (rv: 23) Romanesco/42.0";
await loadURL(DOC);

View File

@ -6,7 +6,7 @@
const FIRST_DOC = toDataURL("first");
const SECOND_DOC = toDataURL("second");
add_task(async function testBringToFrontUpdatesSelectedTab(client) {
add_task(async function testBringToFrontUpdatesSelectedTab({ client }) {
const tab = gBrowser.selectedTab;
await loadURL(FIRST_DOC);
@ -32,7 +32,7 @@ add_task(async function testBringToFrontUpdatesSelectedTab(client) {
}
});
add_task(async function testBringToFrontUpdatesFocusedWindow(client) {
add_task(async function testBringToFrontUpdatesFocusedWindow({ client }) {
const tab = gBrowser.selectedTab;
await loadURL(FIRST_DOC);

View File

@ -3,7 +3,8 @@
"use strict";
add_task(async function documentSmallerThanViewport({ Page }) {
add_task(async function documentSmallerThanViewport({ client }) {
const { Page } = client;
await loadURL(toDataURL("<div>Hello world"));
info("Check that captureScreenshot() captures the viewport by default");
@ -23,7 +24,8 @@ add_task(async function documentSmallerThanViewport({ Page }) {
);
});
add_task(async function documentLargerThanViewport({ Page }) {
add_task(async function documentLargerThanViewport({ client }) {
const { Page } = client;
await loadURL(toDataURL("<div style='margin: 100vh 100vw'>Hello world"));
info("Check that captureScreenshot() captures the viewport by default");
@ -48,7 +50,8 @@ add_task(async function documentLargerThanViewport({ Page }) {
);
});
add_task(async function invalidFormat({ Page }) {
add_task(async function invalidFormat({ client }) {
const { Page } = client;
await loadURL(toDataURL("<div>Hello world"));
let errorThrown = false;
@ -60,7 +63,8 @@ add_task(async function invalidFormat({ Page }) {
ok(errorThrown, "captureScreenshot raised error for invalid image format");
});
add_task(async function asJPEGFormat({ Page }) {
add_task(async function asJPEGFormat({ client }) {
const { Page } = client;
await loadURL(toDataURL("<div>Hello world"));
info("Check that captureScreenshot() captures as JPEG format");
@ -76,7 +80,8 @@ add_task(async function asJPEGFormat({ Page }) {
is(height, (viewport.height - viewport.y) * scale);
});
add_task(async function asJPEGFormatAndQuality({ Page }) {
add_task(async function asJPEGFormatAndQuality({ client }) {
const { Page } = client;
await loadURL(toDataURL("<div>Hello world"));
info("Check that captureScreenshot() captures as JPEG format");

View File

@ -13,7 +13,8 @@ const DESTROYED = "Runtime.executionContextDestroyed";
const CREATED = "Runtime.executionContextCreated";
const CLEARED = "Runtime.executionContextsCleared";
add_task(async function createContextNoRuntimeDomain({ Page }) {
add_task(async function createContextNoRuntimeDomain({ client }) {
const { Page } = client;
const { frameId } = await Page.navigate({ url: DOC });
const { executionContextId: isolatedId } = await Page.createIsolatedWorld({
frameId,
@ -23,7 +24,8 @@ add_task(async function createContextNoRuntimeDomain({ Page }) {
ok(typeof isolatedId == "number", "Page.createIsolatedWorld returns an id");
});
add_task(async function createContextRuntimeDisabled({ Runtime, Page }) {
add_task(async function createContextRuntimeDisabled({ client }) {
const { Runtime, Page } = client;
const history = recordEvents(Runtime, 0);
await Runtime.disable();
info("Runtime notifications are disabled");
@ -36,7 +38,8 @@ add_task(async function createContextRuntimeDisabled({ Runtime, Page }) {
await assertEventOrder({ history, expectedEvents: [] });
});
add_task(async function contextCreatedAfterNavigation({ Page, Runtime }) {
add_task(async function contextCreatedAfterNavigation({ client }) {
const { Runtime, Page } = client;
const history = recordEvents(Runtime, 4);
await Runtime.enable();
info("Runtime notifications are enabled");
@ -70,7 +73,8 @@ add_task(async function contextCreatedAfterNavigation({ Page, Runtime }) {
compareContexts(isolatedContext, defaultContext);
});
add_task(async function contextDestroyedAfterNavigation({ Page, Runtime }) {
add_task(async function contextDestroyedAfterNavigation({ client }) {
const { Runtime, Page } = client;
const { isolatedId, defaultContext } = await setupContexts(Page, Runtime);
is(defaultContext.auxData.isDefault, true, "Default context is default");
const history = recordEvents(Runtime, 4, true);
@ -103,7 +107,8 @@ add_task(async function contextDestroyedAfterNavigation({ Page, Runtime }) {
);
});
add_task(async function evaluateInIsolatedAndDefault({ Page, Runtime }) {
add_task(async function evaluateInIsolatedAndDefault({ client }) {
const { Runtime, Page } = client;
const { isolatedContext, defaultContext } = await setupContexts(
Page,
Runtime
@ -139,7 +144,8 @@ add_task(async function evaluateInIsolatedAndDefault({ Page, Runtime }) {
);
});
add_task(async function contextEvaluationIsIsolated({ Page, Runtime }) {
add_task(async function contextEvaluationIsIsolated({ client }) {
const { Runtime, Page } = client;
// If a document makes changes to standard global object, an isolated
// world should not be affected
await loadURL(toDataURL("<script>window.Node = null</script>"));

View File

@ -13,7 +13,7 @@ const RANDOM_ID_DOC = toDataURL(
const promises = new Set();
const resolutions = new Map();
add_task(async function(client) {
add_task(async function({ client }) {
await loadURL(INITIAL_DOC);
const { Page } = client;

View File

@ -12,7 +12,7 @@ const IFRAME_DOC = toDataURL(
const promises = new Set();
const resolutions = new Map();
add_task(async function(client) {
add_task(async function({ client }) {
const { Page } = client;
await Page.enable();

View File

@ -3,7 +3,8 @@
"use strict";
add_task(async function documentSmallerThanViewport({ Page }) {
add_task(async function documentSmallerThanViewport({ client }) {
const { Page } = client;
await loadURL(toDataURL("<div>Hello world"));
const { contentSize, layoutViewport } = await Page.getLayoutMetrics();
@ -30,7 +31,8 @@ add_task(async function documentSmallerThanViewport({ Page }) {
);
});
add_task(async function documentLargerThanViewport({ Page }) {
add_task(async function documentLargerThanViewport({ client }) {
const { Page } = client;
await loadURL(toDataURL("<div style='margin: 150vh 0 0 150vw'>Hello world"));
const { contentSize, layoutViewport } = await Page.getLayoutMetrics();
@ -57,7 +59,8 @@ add_task(async function documentLargerThanViewport({ Page }) {
);
});
add_task(async function documentLargerThanViewportScrolledXY({ Page }) {
add_task(async function documentLargerThanViewportScrolledXY({ client }) {
const { Page } = client;
await loadURL(toDataURL("<div style='margin: 150vh 0 0 150vw'>Hello world"));
await SpecialPowers.spawn(gBrowser.selectedBrowser, [], () => {

View File

@ -5,7 +5,7 @@
// Test a browser alert is detected via Page.javascriptDialogOpening and can be
// closed with Page.handleJavaScriptDialog
add_task(async function(client) {
add_task(async function({ client }) {
const { Page } = client;
info("Enable the page domain");

View File

@ -4,7 +4,7 @@
"use strict";
// Test beforeunload dialog events.
add_task(async function(client, _, tab) {
add_task(async function({ client, tab }) {
info("Allow to trigger onbeforeunload without user interaction");
await new Promise(resolve => {
const options = {

View File

@ -5,7 +5,7 @@
// Test for window.confirm(). Check that the dialog is correctly detected and that it can
// be rejected or accepted.
add_task(async function(client) {
add_task(async function({ client }) {
const { Page } = client;
info("Enable the page domain");

View File

@ -5,7 +5,7 @@
// Test that javascript dialog events are emitted by the page domain only if
// the dialog is created for the window of the target.
add_task(async function(client) {
add_task(async function({ client }) {
const { Page } = client;
info("Enable the page domain");

View File

@ -5,7 +5,7 @@
// Test for window.prompt(). Check that the dialog is correctly detected and that it can
// be rejected or accepted, with a custom prompt text.
add_task(async function(client) {
add_task(async function({ client }) {
const { Page } = client;
info("Enable the page domain");

View File

@ -7,7 +7,8 @@
const DOC = toDataURL("default-test-page");
add_task(async function noInitialEvents({ Page }) {
add_task(async function noInitialEvents({ client }) {
const { Page } = client;
await Page.enable();
info("Page domain has been enabled");
@ -22,7 +23,8 @@ add_task(async function noInitialEvents({ Page }) {
await assertNavigationLifecycleEvents({ promise, frameId, timeout: 1000 });
});
add_task(async function noEventsAfterDisable({ Page }) {
add_task(async function noEventsAfterDisable({ client }) {
const { Page } = client;
await Page.enable();
info("Page domain has been enabled");
@ -39,7 +41,8 @@ add_task(async function noEventsAfterDisable({ Page }) {
await assertNavigationLifecycleEvents({ promise, frameId, timeout: 1000 });
});
add_task(async function navigateEvents({ Page }) {
add_task(async function navigateEvents({ client }) {
const { Page } = client;
await Page.enable();
info("Page domain has been enabled");
@ -55,7 +58,8 @@ add_task(async function navigateEvents({ Page }) {
await assertNavigationLifecycleEvents({ promise, frameId });
});
add_task(async function navigateEventsOnReload({ Page }) {
add_task(async function navigateEventsOnReload({ client }) {
const { Page } = client;
await Page.enable();
info("Page domain has been enabled");
@ -76,7 +80,8 @@ add_task(async function navigateEventsOnReload({ Page }) {
await assertNavigationLifecycleEvents({ promise, frameId });
});
add_task(async function navigateEventsOnNavigateToSameURL({ Page }) {
add_task(async function navigateEventsOnNavigateToSameURL({ client }) {
const { Page } = client;
await Page.enable();
info("Page domain has been enabled");

View File

@ -5,7 +5,8 @@
const DOC = toDataURL("<div style='background-color: green'>Hello world</div>");
add_task(async function transferModes({ IO, Page }) {
add_task(async function transferModes({ client }) {
const { IO, Page } = client;
await loadURL(DOC);
// as base64 encoded data

View File

@ -3,7 +3,8 @@
"use strict";
add_task(async function testReload({ Page }) {
add_task(async function testReload({ client }) {
const { Page } = client;
await loadURL(toDataURL("halløj"));
info("Reloading document");
@ -17,7 +18,8 @@ add_task(async function testReload({ Page }) {
});
});
add_task(async function testReloadIgnoreCache({ Page }) {
add_task(async function testReloadIgnoreCache({ client }) {
const { Page } = client;
await loadURL(toDataURL("halløj"));
info("Force-reloading document");

View File

@ -10,7 +10,7 @@
const TEST_DOC = toDataURL("default-test-page");
add_task(async function testCDP(client) {
add_task(async function testCDP({ client }) {
await loadURL(TEST_DOC);
const { Page, Runtime } = client;

View File

@ -9,7 +9,8 @@ const DOC = toDataURL("default-test-page");
const WORLD = "testWorld";
// TODO Bug 1601695 - Add support for `source` parameter
add_task(async function addScript({ Page, Runtime }) {
add_task(async function addScript({ client }) {
const { Page, Runtime } = client;
await loadURL(DOC);
const { identifier: id1 } = await Page.addScriptToEvaluateOnNewDocument({
source: "1 + 1;",
@ -27,7 +28,8 @@ add_task(async function addScript({ Page, Runtime }) {
await checkIsolatedContextAfterLoad(Runtime, toDataURL("<p>Hello"), []);
});
add_task(async function addScriptAfterNavigation({ Page }) {
add_task(async function addScriptAfterNavigation({ client }) {
const { Page } = client;
await loadURL(DOC);
const { identifier: id1 } = await Page.addScriptToEvaluateOnNewDocument({
source: "1 + 1;",
@ -42,7 +44,8 @@ add_task(async function addScriptAfterNavigation({ Page }) {
isnot(id1, id2, "Two scripts should have different ids");
});
add_task(async function addWithIsolatedWorldAndNavigate({ Page, Runtime }) {
add_task(async function addWithIsolatedWorldAndNavigate({ client }) {
const { Page, Runtime } = client;
const contextsCreated = recordContextCreated(Runtime, 3);
await Runtime.enable();
info(`Navigating to ${DOC}`);
@ -65,7 +68,8 @@ add_task(async function addWithIsolatedWorldAndNavigate({ Page, Runtime }) {
isnot(contexts[1].id, isolatedId, "The context has a new id");
});
add_task(async function addWithIsolatedWorldNavigateTwice({ Page, Runtime }) {
add_task(async function addWithIsolatedWorldNavigateTwice({ client }) {
const { Page, Runtime } = client;
await Runtime.enable();
await Page.addScriptToEvaluateOnNewDocument({
source: "1 + 1;",
@ -75,7 +79,8 @@ add_task(async function addWithIsolatedWorldNavigateTwice({ Page, Runtime }) {
await checkIsolatedContextAfterLoad(Runtime, toDataURL("<p>Hello"));
});
add_task(async function addTwoScriptsWithIsolatedWorld({ Page, Runtime }) {
add_task(async function addTwoScriptsWithIsolatedWorld({ client }) {
const { Page, Runtime } = client;
await Runtime.enable();
const names = [WORLD, "A_whole_new_world"];
await Page.addScriptToEvaluateOnNewDocument({

View File

@ -6,7 +6,7 @@
// Test the Runtime.callFunctionOn
// See also browser_runtime_evaluate, which covers basic usages of this method.
add_task(async function(client) {
add_task(async function({ client }) {
const firstContext = await testRuntimeEnable(client);
const contextId = firstContext.id;
await testObjectReferences(client, contextId);

View File

@ -7,7 +7,7 @@
const TEST_DOC = toDataURL("default-test-page");
add_task(async function(client) {
add_task(async function({ client }) {
await loadURL(TEST_DOC);
const firstContext = await testRuntimeEnable(client);

View File

@ -10,7 +10,7 @@ const DESTROYED = "Runtime.executionContextDestroyed";
const CREATED = "Runtime.executionContextCreated";
const CLEARED = "Runtime.executionContextsCleared";
add_task(async function(client) {
add_task(async function({ client }) {
await loadURL(TEST_DOC);
const context1 = await testRuntimeEnable(client);
@ -21,7 +21,8 @@ add_task(async function(client) {
await testReload(client, context4);
});
add_task(async function testRuntimeNotEnabled({ Runtime }) {
add_task(async function testRuntimeNotEnabled({ client }) {
const { Runtime } = client;
await Runtime.disable();
const sentinel = "timeout resolved";
const created = Runtime.executionContextCreated().then(() => {

View File

@ -5,7 +5,7 @@
// Test the Runtime remote object
add_task(async function(client) {
add_task(async function({ client }) {
const firstContext = await testRuntimeEnable(client);
const contextId = firstContext.id;

View File

@ -5,7 +5,7 @@
// Test the Runtime remote object
add_task(async function(client) {
add_task(async function({ client }) {
const firstContext = await testRuntimeEnable(client);
const contextId = firstContext.id;

View File

@ -87,7 +87,8 @@ add_task(async function testDefault({ Security }) {
}
});
add_task(async function testIgnore({ Security }) {
add_task(async function testIgnore({ client }) {
const { Security } = client;
info("Enable security certificate override");
await Security.setIgnoreCertificateErrors({ ignore: true });
@ -105,7 +106,8 @@ add_task(async function testIgnore({ Security }) {
}
});
add_task(async function testUnignore({ Security }) {
add_task(async function testUnignore({ client }) {
const { Security } = client;
info("Disable security certificate override");
await Security.setIgnoreCertificateErrors({ ignore: false });
@ -125,7 +127,8 @@ add_task(async function testUnignore({ Security }) {
});
// smoke test for unignored -> ignored -> unignored
add_task(async function testToggle({ Security }) {
add_task(async function testToggle({ client }) {
const { Security } = client;
let loaded;
info("Enable security certificate override");

View File

@ -3,7 +3,8 @@
"use strict";
add_task(async function raisesWithoutArguments({ Target }, _, tab) {
add_task(async function raisesWithoutArguments({ client, tab }) {
const { Target } = client;
let errorThrown = false;
try {
await Target.activateTarget();
@ -13,7 +14,8 @@ add_task(async function raisesWithoutArguments({ Target }, _, tab) {
ok(errorThrown, "activateTarget raised error without an argument");
});
add_task(async function raisesWithUnknownTargetId({ Target }, _, tab) {
add_task(async function raisesWithUnknownTargetId({ client, tab }) {
const { Target } = client;
let errorThrown = false;
try {
await Target.activateTarget({ targetId: "-1" });
@ -23,7 +25,8 @@ add_task(async function raisesWithUnknownTargetId({ Target }, _, tab) {
ok(errorThrown, "activateTarget raised error with unkown target id");
});
add_task(async function selectTabInOtherWindow({ Target }, _, tab) {
add_task(async function selectTabInOtherWindow({ client, tab }) {
const { Target } = client;
const targets = await getDiscoveredTargets(Target);
const filtered_targets = targets.filter(target => {
return target.targetInfo.targetId == tab.linkedBrowser.browsingContext.id;

View File

@ -3,7 +3,8 @@
"use strict";
add_task(async function raisesWithoutArguments({ Target }, _, tab) {
add_task(async function raisesWithoutArguments({ client, tab }) {
const { Target } = client;
let errorThrown = false;
try {
await Target.attachToTarget();
@ -13,7 +14,8 @@ add_task(async function raisesWithoutArguments({ Target }, _, tab) {
ok(errorThrown, "attachToTarget raised error without an argument");
});
add_task(async function raisesWithUnknownTargetId({ Target }, _, tab) {
add_task(async function raisesWithUnknownTargetId({ client, tab }) {
const { Target } = client;
let errorThrown = false;
try {
await Target.attachToTarget({ targetId: "-1" });
@ -24,7 +26,8 @@ add_task(async function raisesWithUnknownTargetId({ Target }, _, tab) {
});
add_task(
async function attachPageTarget({ Target }) {
async function attachPageTarget({ client }) {
const { Target } = client;
const { targetInfo } = await openTab(Target);
info("Attach new target");

View File

@ -4,7 +4,8 @@
"use strict";
add_task(
async function attachedPageTarget({ Target }) {
async function attachedPageTarget({ client }) {
const { Target } = client;
const { targetInfo } = await openTab(Target);
info("Attach new page target");

View File

@ -3,7 +3,7 @@
"use strict";
add_task(async function(_, CDP) {
add_task(async function({ CDP }) {
// Connect to the server
const { webSocketDebuggerUrl } = await CDP.Version();
const client = await CDP({ target: webSocketDebuggerUrl });

View File

@ -3,7 +3,8 @@
"use strict";
add_task(async function raisesWithoutArguments({ Target }, _, tab) {
add_task(async function raisesWithoutArguments({ client, tab }) {
const { Target } = client;
let exceptionThrown = false;
try {
await Target.closeTarget();
@ -13,7 +14,8 @@ add_task(async function raisesWithoutArguments({ Target }, _, tab) {
ok(exceptionThrown, "closeTarget raised error without an argument");
});
add_task(async function raisesWithUnknownTargetId({ Target }, _, tab) {
add_task(async function raisesWithUnknownTargetId({ client, tab }) {
const { Target } = client;
let exceptionThrown = false;
try {
await Target.closeTarget({ targetId: "-1" });
@ -23,7 +25,8 @@ add_task(async function raisesWithUnknownTargetId({ Target }, _, tab) {
ok(exceptionThrown, "closeTarget raised error with unkown target id");
});
add_task(async function triggersTargetDestroyed({ Target }, _, tab) {
add_task(async function triggersTargetDestroyed({ client, tab }) {
const { Target } = client;
const { targetInfo, newTab } = await openTab(Target);
const tabClosed = BrowserTestUtils.waitForEvent(newTab, "TabClose");

View File

@ -3,7 +3,8 @@
"use strict";
add_task(async function sendToAttachedTarget({ Target }) {
add_task(async function sendToAttachedTarget({ client }) {
const { Target } = client;
const { targetInfo } = await openTab(Target);
const attachedToTarget = Target.attachedToTarget();

View File

@ -4,7 +4,8 @@
"use strict";
add_task(
async function mainTarget({ Target }) {
async function mainTarget({ client }) {
const { Target } = client;
const { targetInfo } = await new Promise(resolve => {
const unsubscribe = Target.targetCreated(target => {
if (target.targetInfo.type == "browser") {
@ -25,7 +26,8 @@ add_task(
{ createTab: false }
);
add_task(async function pageTargets({ Target }, _, tab) {
add_task(async function pageTargets({ client, tab }) {
const { Target } = client;
const url = toDataURL("pageTargets");
await loadURL(url);

View File

@ -3,7 +3,8 @@
"use strict";
add_task(async function eventFiredWhenTabIsClosed({ Target }, _, tab) {
add_task(async function eventFiredWhenTabIsClosed({ client, tab }) {
const { Target } = client;
const { newTab } = await openTab(Target);
const tabClosed = BrowserTestUtils.waitForEvent(newTab, "TabClose");