chore: bump chromium to 90.0.4415.0 (master) (#27694)
* chore: bump chromium in DEPS to 520c02b46668fc608927e0fcd79b6a90885a48bf * chore: bump chromium in DEPS to 90.0.4414.0 * resolve chromium conflicts * resolve v8 conflicts * fix node gn files * 2673502: Remove RenderViewCreated use from ExtensionHost.2673502
* 2676903: [mojo] Remove most legacy Binding classes.2676903
* 2644847: Move self-deleting URLLoaderFactory base into //services/network.2644847
* 2664006: Remove from mojo::DataPipe.2664006
* 2674530: Remove CertVerifierService feature2674530
* 2668748: Move OnSSLCertificateError to a new interface.2668748
* 2672923: Remove RAPPOR reporting infrastructure.2672923
* 2673502: Remove RenderViewCreated use from ExtensionHost.2673502
* 2655126: Convert FrameHostMsg_ContextMenu and FrameMsg_ContextMenuClosed|CustomContextMenuAction to Mojo2655126
* 2628705: Window Placement: Implement screen.isExtended and change event2628705
* 2643161: Refactor storage::kFileSystem*Native*2643161
* fix build * only remove the biggest subdir of //ios * chore: bump chromium in DEPS to 90.0.4415.0 * update patches * update sysroots * 2686147: Remove WebContentsObserver::RenderViewCreated().2686147
* 2596429: Fixing how extension's split and spanning modes affect OriginAccessList.2596429
* 2686026: [mojo] Delete AssociatedInterfacePtr (replaced by AssociatedRemote)2686026
* 2651705: Move ui/base/dragdrop/file_info to ui/base/clipboard2651705
* 358217: drawBitmap is deprecated https://skia-review.googlesource.com/c/skia/+/358217 * fix gn check * 2678098: Use gen/front_end as input to generate_devtools_grd2678098
* 2674530: Remove CertVerifierService feature2674530
* fixup 2664006: Remove from mojo::DataPipe.2664006
* fixup build_add_electron_tracing_category.patch * 2673415: [base] Prepare CrashReporterClient for string16 switch2673415
* 2673413: Add CursorFactoryWin to handle Cursors on Windows2673413
* 2668748: Move OnSSLCertificateError to a new interface.2668748
* fix mas gn check * update patch after merge * Update node for .mjs files * build: load v8_prof_processor dependencies as ESM * chore: add patch to fix linux 32bit Co-authored-by: Jeremy Rose <nornagon@nornagon.net> Co-authored-by: Jeremy Rose <jeremya@chromium.org> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
This commit is contained in:
parent
0b042d3b1c
commit
ca75bca667
119 changed files with 746 additions and 633 deletions
|
@ -31,3 +31,4 @@ fix_add_safeforterminationscopes_for_sigint_interruptions.patch
|
|||
remove_makeexternal_case_for_uncached_internal_strings.patch
|
||||
fix_remove_outdated_--experimental-wasm-bigint_flag.patch
|
||||
fix_crypto_tests_to_run_with_bssl.patch
|
||||
build_add_mjs_support_to_js2c.patch
|
||||
|
|
|
@ -846,10 +846,10 @@ index 0000000000000000000000000000000000000000..2c9d2826c85bdd033f1df1d6188df636
|
|||
+}
|
||||
diff --git a/filenames.json b/filenames.json
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..2dfbb6aae48b65312f212ab01474763d5a796a23
|
||||
index 0000000000000000000000000000000000000000..2dc4680dd90f854ac965266c6f14a7196da1dba0
|
||||
--- /dev/null
|
||||
+++ b/filenames.json
|
||||
@@ -0,0 +1,538 @@
|
||||
@@ -0,0 +1,542 @@
|
||||
+// This file is automatically generated by generate_gn_filenames_json.py
|
||||
+// DO NOT EDIT
|
||||
+{
|
||||
|
@ -877,15 +877,19 @@ index 0000000000000000000000000000000000000000..2dfbb6aae48b65312f212ab01474763d
|
|||
+ "//v8/include/cppgc/ephemeron-pair.h",
|
||||
+ "//v8/include/cppgc/garbage-collected.h",
|
||||
+ "//v8/include/cppgc/heap-consistency.h",
|
||||
+ "//v8/include/cppgc/heap-state.h",
|
||||
+ "//v8/include/cppgc/heap.h",
|
||||
+ "//v8/include/cppgc/liveness-broker.h",
|
||||
+ "//v8/include/cppgc/macros.h",
|
||||
+ "//v8/include/cppgc/member.h",
|
||||
+ "//v8/include/cppgc/name-provider.h",
|
||||
+ "//v8/include/cppgc/object-size-trait.h",
|
||||
+ "//v8/include/cppgc/persistent.h",
|
||||
+ "//v8/include/cppgc/platform.h",
|
||||
+ "//v8/include/cppgc/prefinalizer.h",
|
||||
+ "//v8/include/cppgc/sentinel-pointer.h",
|
||||
+ "//v8/include/cppgc/source-location.h",
|
||||
+ "//v8/include/cppgc/testing.h",
|
||||
+ "//v8/include/cppgc/trace-trait.h",
|
||||
+ "//v8/include/cppgc/type-traits.h",
|
||||
+ "//v8/include/cppgc/visitor.h"
|
||||
|
@ -1172,17 +1176,17 @@ index 0000000000000000000000000000000000000000..2dfbb6aae48b65312f212ab01474763d
|
|||
+ "lib/internal/streams/state.js",
|
||||
+ "lib/internal/streams/pipeline.js",
|
||||
+ "lib/internal/streams/end-of-stream.js",
|
||||
+ "//v8/tools/splaytree.js",
|
||||
+ "//v8/tools/codemap.js",
|
||||
+ "//v8/tools/consarray.js",
|
||||
+ "//v8/tools/csvparser.js",
|
||||
+ "//v8/tools/profile.js",
|
||||
+ "//v8/tools/profile_view.js",
|
||||
+ "//v8/tools/logreader.js",
|
||||
+ "//v8/tools/arguments.js",
|
||||
+ "//v8/tools/tickprocessor.js",
|
||||
+ "//v8/tools/SourceMap.js",
|
||||
+ "//v8/tools/tickprocessor-driver.js",
|
||||
+ "//v8/tools/splaytree.mjs",
|
||||
+ "//v8/tools/codemap.mjs",
|
||||
+ "//v8/tools/consarray.mjs",
|
||||
+ "//v8/tools/csvparser.mjs",
|
||||
+ "//v8/tools/profile.mjs",
|
||||
+ "//v8/tools/profile_view.mjs",
|
||||
+ "//v8/tools/logreader.mjs",
|
||||
+ "//v8/tools/arguments.mjs",
|
||||
+ "//v8/tools/tickprocessor.mjs",
|
||||
+ "//v8/tools/sourcemap.mjs",
|
||||
+ "//v8/tools/tickprocessor-driver.mjs",
|
||||
+ "deps/node-inspect/lib/_inspect.js",
|
||||
+ "deps/node-inspect/lib/internal/inspect_client.js",
|
||||
+ "deps/node-inspect/lib/internal/inspect_repl.js",
|
||||
|
@ -1388,6 +1392,39 @@ index 0000000000000000000000000000000000000000..2dfbb6aae48b65312f212ab01474763d
|
|||
+ "//v8/include/v8.h"
|
||||
+ ]
|
||||
+}
|
||||
diff --git a/node.gyp b/node.gyp
|
||||
index f18a0d58a84c798abc946d2b389987009f80fa2d..4f13c5b2d4e9e22f37dab47cd44b475f515ebe97 100644
|
||||
--- a/node.gyp
|
||||
+++ b/node.gyp
|
||||
@@ -235,17 +235,17 @@
|
||||
'lib/internal/streams/state.js',
|
||||
'lib/internal/streams/pipeline.js',
|
||||
'lib/internal/streams/end-of-stream.js',
|
||||
- 'deps/v8/tools/splaytree.js',
|
||||
- 'deps/v8/tools/codemap.js',
|
||||
- 'deps/v8/tools/consarray.js',
|
||||
- 'deps/v8/tools/csvparser.js',
|
||||
- 'deps/v8/tools/profile.js',
|
||||
- 'deps/v8/tools/profile_view.js',
|
||||
- 'deps/v8/tools/logreader.js',
|
||||
- 'deps/v8/tools/arguments.js',
|
||||
- 'deps/v8/tools/tickprocessor.js',
|
||||
- 'deps/v8/tools/SourceMap.js',
|
||||
- 'deps/v8/tools/tickprocessor-driver.js',
|
||||
+ 'deps/v8/tools/splaytree.mjs',
|
||||
+ 'deps/v8/tools/codemap.mjs',
|
||||
+ 'deps/v8/tools/consarray.mjs',
|
||||
+ 'deps/v8/tools/csvparser.mjs',
|
||||
+ 'deps/v8/tools/profile.mjs',
|
||||
+ 'deps/v8/tools/profile_view.mjs',
|
||||
+ 'deps/v8/tools/logreader.mjs',
|
||||
+ 'deps/v8/tools/arguments.mjs',
|
||||
+ 'deps/v8/tools/tickprocessor.mjs',
|
||||
+ 'deps/v8/tools/sourcemap.mjs',
|
||||
+ 'deps/v8/tools/tickprocessor-driver.mjs',
|
||||
'deps/node-inspect/lib/_inspect.js',
|
||||
'deps/node-inspect/lib/internal/inspect_client.js',
|
||||
'deps/node-inspect/lib/internal/inspect_repl.js',
|
||||
diff --git a/src/inspector/BUILD.gn b/src/inspector/BUILD.gn
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..f3c5c798c0aefcb8cf9b1570a7b4817c477aecf6
|
||||
|
|
172
patches/node/build_add_mjs_support_to_js2c.patch
Normal file
172
patches/node/build_add_mjs_support_to_js2c.patch
Normal file
|
@ -0,0 +1,172 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: John Kleinschmidt <jkleinsc@electronjs.org>
|
||||
Date: Thu, 18 Feb 2021 17:35:39 -0500
|
||||
Subject: build: add .mjs support to js2c
|
||||
|
||||
V8 now uses .mjs files, so this updates js2c to handle those files.
|
||||
|
||||
diff --git a/lib/internal/v8_prof_polyfill.js b/lib/internal/v8_prof_polyfill.js
|
||||
index 5f5922c5386543189d6ae9293108425cf212b054..605c7274c1fff1a2f1bd0b6c4f667f86145036bd 100644
|
||||
--- a/lib/internal/v8_prof_polyfill.js
|
||||
+++ b/lib/internal/v8_prof_polyfill.js
|
||||
@@ -69,7 +69,7 @@ function read(fileName) {
|
||||
const quit = process.exit;
|
||||
|
||||
// Polyfill "readline()".
|
||||
-const logFile = arguments[arguments.length - 1];
|
||||
+const logFile = globalThis.arguments[globalThis.arguments.length - 1];
|
||||
try {
|
||||
fs.accessSync(logFile);
|
||||
} catch(e) {
|
||||
@@ -159,3 +159,11 @@ function macCppfiltNm(out) {
|
||||
return prefix + (filtered[i++] || postfix);
|
||||
});
|
||||
}
|
||||
+
|
||||
+Object.assign(globalThis, {
|
||||
+ os,
|
||||
+ print,
|
||||
+ read,
|
||||
+ quit,
|
||||
+ readline,
|
||||
+});
|
||||
diff --git a/lib/internal/v8_prof_processor.js b/lib/internal/v8_prof_processor.js
|
||||
index daae650b2ad8ef146eb3a55c95dc80e0dbc2e3d7..7d6c7dce30058a73427dc7705f3dd98c4a6f4319 100644
|
||||
--- a/lib/internal/v8_prof_processor.js
|
||||
+++ b/lib/internal/v8_prof_processor.js
|
||||
@@ -3,43 +3,51 @@
|
||||
const {
|
||||
ArrayPrototypePush,
|
||||
ArrayPrototypeSlice,
|
||||
- JSONStringify,
|
||||
+ StringPrototypeSlice,
|
||||
} = primordials;
|
||||
|
||||
+const Buffer = require('buffer').Buffer;
|
||||
+const console = require('internal/console/global');
|
||||
const vm = require('vm');
|
||||
+const { SourceTextModule } = require('internal/vm/module');
|
||||
|
||||
-const scriptFiles = [
|
||||
- 'internal/v8_prof_polyfill',
|
||||
- 'internal/deps/v8/tools/splaytree',
|
||||
- 'internal/deps/v8/tools/codemap',
|
||||
- 'internal/deps/v8/tools/csvparser',
|
||||
- 'internal/deps/v8/tools/consarray',
|
||||
- 'internal/deps/v8/tools/profile',
|
||||
- 'internal/deps/v8/tools/profile_view',
|
||||
- 'internal/deps/v8/tools/logreader',
|
||||
- 'internal/deps/v8/tools/arguments',
|
||||
- 'internal/deps/v8/tools/tickprocessor',
|
||||
- 'internal/deps/v8/tools/SourceMap',
|
||||
- 'internal/deps/v8/tools/tickprocessor-driver'
|
||||
-];
|
||||
-let script = '';
|
||||
-
|
||||
-for (const s of scriptFiles) {
|
||||
- script += internalBinding('natives')[s] + '\n';
|
||||
-}
|
||||
+const natives = internalBinding('natives');
|
||||
|
||||
-const tickArguments = [];
|
||||
-if (process.platform === 'darwin') {
|
||||
- ArrayPrototypePush(tickArguments, '--mac');
|
||||
-} else if (process.platform === 'win32') {
|
||||
- ArrayPrototypePush(tickArguments, '--windows');
|
||||
+async function linker(specifier, referencingModule) {
|
||||
+ // Transform "./file.mjs" to "file"
|
||||
+ const file = StringPrototypeSlice(specifier, 2, -4);
|
||||
+ const code = natives[`internal/deps/v8/tools/${file}`];
|
||||
+ return new SourceTextModule(code, { context: referencingModule.context });
|
||||
}
|
||||
-ArrayPrototypePush(tickArguments,
|
||||
- ...ArrayPrototypeSlice(process.argv, 1));
|
||||
-script = `(function(module, require) {
|
||||
- arguments = ${JSONStringify(tickArguments)};
|
||||
- function write (s) { process.stdout.write(s) }
|
||||
- function printErr(err) { console.error(err); }
|
||||
- ${script}
|
||||
-})`;
|
||||
-vm.runInThisContext(script)(module, require);
|
||||
+
|
||||
+(async () => {
|
||||
+ const tickArguments = [];
|
||||
+ if (process.platform === 'darwin') {
|
||||
+ ArrayPrototypePush(tickArguments, '--mac');
|
||||
+ } else if (process.platform === 'win32') {
|
||||
+ ArrayPrototypePush(tickArguments, '--windows');
|
||||
+ }
|
||||
+ ArrayPrototypePush(tickArguments,
|
||||
+ ...ArrayPrototypeSlice(process.argv, 1));
|
||||
+
|
||||
+ const context = vm.createContext({
|
||||
+ arguments: tickArguments,
|
||||
+ write(s) { process.stdout.write(s); },
|
||||
+ printErr(err) { console.error(err); },
|
||||
+ console,
|
||||
+ process,
|
||||
+ Buffer,
|
||||
+ });
|
||||
+
|
||||
+ const polyfill = natives['internal/v8_prof_polyfill'];
|
||||
+ const script = `(function(module, require) {
|
||||
+ ${polyfill}
|
||||
+ })`;
|
||||
+
|
||||
+ vm.runInContext(script, context)(module, require);
|
||||
+
|
||||
+ const tickProcessor = natives['internal/deps/v8/tools/tickprocessor-driver'];
|
||||
+ const tickprocessorDriver = new SourceTextModule(tickProcessor, { context });
|
||||
+ await tickprocessorDriver.link(linker);
|
||||
+ await tickprocessorDriver.evaluate();
|
||||
+})();
|
||||
\ No newline at end of file
|
||||
diff --git a/tools/js2c.py b/tools/js2c.py
|
||||
index bca4c44a31d1ffe7c9ae15b6f60cd55e325f707d..7acb27e753e31429fbb5de30c62dd30a3be3b5bc 100755
|
||||
--- a/tools/js2c.py
|
||||
+++ b/tools/js2c.py
|
||||
@@ -151,20 +151,21 @@ def JS2C(source_files, target, only_js):
|
||||
# Build source code lines
|
||||
definitions = []
|
||||
initializers = []
|
||||
-
|
||||
- for filename in source_files['.js']:
|
||||
- AddModule(filename, definitions, initializers)
|
||||
-
|
||||
- # Electron: Expose fs module without asar support.
|
||||
- if filename == 'lib/fs.js':
|
||||
- # Node's 'fs' and 'internal/fs/<filename> have lazy-loaded circular
|
||||
- # dependencies. So to expose the unmodified Node 'fs' functionality here,
|
||||
- # we have to copy both 'fs' *and* 'internal/fs/<filename>' files and modify the
|
||||
- # copies to depend on each other instead of on our asarified 'fs' code.
|
||||
- AddModule('lib/original-fs.js', definitions, initializers, lambda _: ReadFile(filename).replace("require('internal/fs/", "require('internal/original-fs/"))
|
||||
- elif filename.startswith('lib/internal/fs/'):
|
||||
- original_fs_filename = filename.replace('internal/fs/', 'internal/original-fs/')
|
||||
- AddModule(original_fs_filename, definitions, initializers, lambda _: ReadFile(filename).replace("require('fs')", "require('original-fs')"))
|
||||
+ for extension in source_files.keys():
|
||||
+ for filename in source_files[extension]:
|
||||
+ if extension == '.js' or extension == '.mjs':
|
||||
+ AddModule(filename, definitions, initializers)
|
||||
+
|
||||
+ # Electron: Expose fs module without asar support.
|
||||
+ if filename == 'lib/fs.js':
|
||||
+ # Node's 'fs' and 'internal/fs/<filename> have lazy-loaded circular
|
||||
+ # dependencies. So to expose the unmodified Node 'fs' functionality here,
|
||||
+ # we have to copy both 'fs' *and* 'internal/fs/<filename>' files and modify the
|
||||
+ # copies to depend on each other instead of on our asarified 'fs' code.
|
||||
+ AddModule('lib/original-fs.js', definitions, initializers, lambda _: ReadFile(filename).replace("require('internal/fs/", "require('internal/original-fs/"))
|
||||
+ elif filename.startswith('lib/internal/fs/'):
|
||||
+ original_fs_filename = filename.replace('internal/fs/', 'internal/original-fs/')
|
||||
+ AddModule(original_fs_filename, definitions, initializers, lambda _: ReadFile(filename).replace("require('fs')", "require('original-fs')"))
|
||||
|
||||
config_size = 0
|
||||
if not only_js:
|
||||
@@ -240,7 +241,7 @@ def main():
|
||||
if options.only_js:
|
||||
assert len(source_files) == 1
|
||||
else:
|
||||
- assert len(source_files) == 2
|
||||
+ assert len(source_files) == 3
|
||||
# Currently config.gypi is the only `.gypi` file allowed
|
||||
assert source_files['.gypi'][0].endswith('config.gypi')
|
||||
source_files['config.gypi'] = source_files.pop('.gypi')[0]
|
Loading…
Add table
Add a link
Reference in a new issue