Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: chromium_process.js

Issue 29517687: Issue 5079, 5516 - Use webpack for browser tests, modules for content scripts (Closed)
Patch Set: Addressed Wladimir's and Hubert's initial feedback Created Aug. 17, 2017, 12:36 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chromium_process.js
diff --git a/chromium_process.js b/chromium_process.js
index d6f9b82e93e85217e11b76da9cc07b13fc71552e..eeba015805f928524c5d90fb88cf8a0ffc523806 100644
--- a/chromium_process.js
+++ b/chromium_process.js
@@ -26,8 +26,8 @@ const https = require("https");
const os = require("os");
const path = require("path");
-const remoteInterface = require("chrome-remote-interface");
const extractZip = require("extract-zip");
+const remoteInterface = require("chrome-remote-interface");
const CHROMIUM_REVISION = 467222;
@@ -248,13 +248,13 @@ function connectRemoteInterface(attempt)
});
}
-function runBootstrap(initialPage, bootstrapPath, bootstrapArgs)
+function runScript(script, scriptName, scriptArgs)
{
return connectRemoteInterface().then(async client =>
{
try
{
- let {Runtime, Log, Console, Page} = client;
+ let {Runtime, Log, Console} = client;
await Log.enable();
Log.entryAdded(({entry}) =>
@@ -268,36 +268,34 @@ function runBootstrap(initialPage, bootstrapPath, bootstrapArgs)
reportMessage(message.text, message.level);
});
- await Page.navigate({url: initialPage});
-
await Runtime.enable();
let compileResult = await Runtime.compileScript({
- expression: fs.readFileSync(bootstrapPath, "utf-8"),
- sourceURL: bootstrapPath,
+ expression: script,
+ sourceURL: scriptName,
persistScript: true
});
if (compileResult.exceptionDetails)
- throwException(compileResult.exceptionDetails, bootstrapPath);
+ throwException(compileResult.exceptionDetails, scriptName);
let runResult = await Runtime.runScript({
scriptId: compileResult.scriptId
});
if (runResult.exceptionDetails)
- throwException(runResult.exceptionDetails, bootstrapPath);
+ throwException(runResult.exceptionDetails, scriptName);
let callResult = await Runtime.callFunctionOn({
objectId: runResult.result.objectId,
- functionDeclaration: "function(...args) {return this(...args);}",
- arguments: bootstrapArgs.map(url => ({value: url}))
+ functionDeclaration: "function(...args) { return this(...args); }",
+ arguments: scriptArgs.map(arg => ({value: arg}))
});
if (callResult.exceptionDetails)
- throwException(callResult.exceptionDetails, bootstrapPath);
+ throwException(callResult.exceptionDetails, scriptName);
let promiseResult = await Runtime.awaitPromise({
promiseObjectId: callResult.result.objectId
});
if (promiseResult.exceptionDetails)
- throwException(promiseResult.exceptionDetails, bootstrapPath);
+ throwException(promiseResult.exceptionDetails, scriptName);
}
finally
{
@@ -306,14 +304,14 @@ function runBootstrap(initialPage, bootstrapPath, bootstrapArgs)
});
}
-module.exports = function(initialPage, bootstrapPath, bootstrapArgs)
+module.exports = function(script, scriptName, ...scriptArgs)
{
return ensureChromium().then(chromiumPath =>
{
let child = startChromium(chromiumPath);
return Promise.race([
child.done,
- runBootstrap(initialPage, bootstrapPath, bootstrapArgs)
+ runScript(script, scriptName, scriptArgs)
]).then(result =>
{
child.kill();
« no previous file with comments | « chrome/content/elemHideEmulation.js ('k') | lib/common.js » ('j') | test_runner.js » ('J')

Powered by Google App Engine
This is Rietveld