chore: bump chromium to 131.0.6776.0 (main) (#44137)
* chore: bump chromium in DEPS to 131.0.6763.0
* chore: bump chromium in DEPS to 131.0.6764.0
* update patches
* chore: bump chromium in DEPS to 131.0.6766.0
* chore: update patches
* Use PathInfo in FileSystemAccess code
Refs https://chromium-review.googlesource.com/c/chromium/src/+/5872329
* Modernize image utilities.
Refs https://chromium-review.googlesource.com/c/chromium/src/+/5905226
* [DevTools] move feature flags to the devtools directory
Refs https://chromium-review.googlesource.com/c/chromium/src/+/5913878
* chore: bump chromium in DEPS to 131.0.6768.0
* chore: update patches
* Remove experimental credshelper flags
Refs 4017a6c8b4
* Change gfx::[PNG|JPEG]Codec::Decode to return a SkBitmap
Refs https://chromium-review.googlesource.com/c/chromium/src/+/5917286
Refs https://chromium-review.googlesource.com/c/chromium/src/+/5905621
* chore: script/gen-libc++-filenames.js
* chore: bump chromium in DEPS to 131.0.6770.0
* chore: update patches
* chore: bump chromium in DEPS to 131.0.6772.0
* chore: update patches
* [UI] Add alias for mojo version of `MenuSourceType`
Refs https://chromium-review.googlesource.com/c/chromium/src/+/5803393
* Update Background Color for Task Manager Refresh
Refs https://chromium-review.googlesource.com/c/chromium/src/+/5875259
* chore: bump chromium in DEPS to 131.0.6774.0
* chore: bump chromium in DEPS to 131.0.6776.0
* chore: update patches
* chore: update filenames.libcxx.gni
* esm: remove --no-import-harmony-assertions
https://github.com/nodejs/node/pull/54890
* 5507047: [import-attributes] Remove support for import assertions
| https://chromium-review.googlesource.com/c/v8/v8/+/5507047
* fixup: Change gfx::[PNG|JPEG]Codec::Decode to return a SkBitmap
* chore: bump chromium in DEPS to 131.0.6778.0
* Revert "chore: bump chromium in DEPS to 131.0.6778.0"
This reverts commit fb9092fc51700651aa4a245931f71ec1ca55a274.
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Jeremy Rose <nornagon@electronjs.org>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
This commit is contained in:
parent
72802c374b
commit
36b7cf341e
59 changed files with 395 additions and 325 deletions
|
@ -187,8 +187,8 @@ jobs:
|
|||
HELPER=$(node -p "require('./src/utils/reclient.js').helperPath({})")
|
||||
$HELPER login
|
||||
echo 'RBE_service='`node -e "console.log(require('./src/utils/reclient.js').serviceAddress)"` >> $GITHUB_ENV
|
||||
echo 'RBE_experimental_credentials_helper='`node -e "console.log(require('./src/utils/reclient.js').helperPath({}))"` >> $GITHUB_ENV
|
||||
echo 'RBE_experimental_credentials_helper_args=print' >> $GITHUB_ENV
|
||||
echo 'RBE_credentials_helper='`node -e "console.log(require('./src/utils/reclient.js').helperPath({}))"` >> $GITHUB_ENV
|
||||
echo 'RBE_credentials_helper_args=print' >> $GITHUB_ENV
|
||||
- name: Free up space (macOS)
|
||||
if: ${{ inputs.target-platform == 'macos' }}
|
||||
uses: ./src/electron/.github/actions/free-space-macos
|
||||
|
|
2
DEPS
2
DEPS
|
@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
|
|||
|
||||
vars = {
|
||||
'chromium_version':
|
||||
'131.0.6762.0',
|
||||
'131.0.6776.0',
|
||||
'node_version':
|
||||
'v20.18.0',
|
||||
'nan_version':
|
||||
|
|
|
@ -121,9 +121,9 @@ for:
|
|||
- ps: >-
|
||||
$env:RBE_service = node -e "console.log(require('./src/utils/reclient.js').serviceAddress)"
|
||||
- ps: >-
|
||||
$env:RBE_experimental_credentials_helper = $env:RECLIENT_HELPER
|
||||
$env:RBE_credentials_helper = $env:RECLIENT_HELPER
|
||||
- ps: >-
|
||||
$env:RBE_experimental_credentials_helper_args = "print"
|
||||
$env:RBE_credentials_helper_args = "print"
|
||||
- ps: >-
|
||||
if ($env:ELECTRON_RBE_JWT -eq '') {
|
||||
$env:RBE_fail_early_min_action_count = "0"
|
||||
|
|
|
@ -116,9 +116,9 @@ for:
|
|||
- ps: >-
|
||||
$env:RBE_service = node -e "console.log(require('./src/utils/reclient.js').serviceAddress)"
|
||||
- ps: >-
|
||||
$env:RBE_experimental_credentials_helper = $env:RECLIENT_HELPER
|
||||
$env:RBE_credentials_helper = $env:RECLIENT_HELPER
|
||||
- ps: >-
|
||||
$env:RBE_experimental_credentials_helper_args = "print"
|
||||
$env:RBE_credentials_helper_args = "print"
|
||||
- ps: >-
|
||||
if ($env:ELECTRON_RBE_JWT -eq '') {
|
||||
$env:RBE_fail_early_min_action_count = "0"
|
||||
|
|
|
@ -30,6 +30,8 @@ static_library("chrome") {
|
|||
"//chrome/browser/devtools/devtools_file_system_indexer.cc",
|
||||
"//chrome/browser/devtools/devtools_file_system_indexer.h",
|
||||
"//chrome/browser/devtools/devtools_settings.h",
|
||||
"//chrome/browser/devtools/features.cc",
|
||||
"//chrome/browser/devtools/features.h",
|
||||
"//chrome/browser/devtools/visual_logging.cc",
|
||||
"//chrome/browser/devtools/visual_logging.h",
|
||||
"//chrome/browser/extensions/global_shortcut_listener.cc",
|
||||
|
@ -195,6 +197,7 @@ static_library("chrome") {
|
|||
"//chrome/app/vector_icons",
|
||||
"//chrome/browser:resource_prefetch_predictor_proto",
|
||||
"//chrome/browser/resource_coordinator:mojo_bindings",
|
||||
"//chrome/browser/task_manager/common:impl",
|
||||
"//chrome/browser/ui/webui/tab_search:mojo_bindings",
|
||||
"//chrome/browser/web_applications/mojom:mojom_web_apps_enum",
|
||||
"//components/enterprise/buildflags",
|
||||
|
|
|
@ -93,9 +93,7 @@ async function loadApplicationPackage (packagePath: string) {
|
|||
try {
|
||||
process.emitWarning = () => {};
|
||||
packageJson = (await import(url.pathToFileURL(packageJsonPath).toString(), {
|
||||
assert: {
|
||||
type: 'json'
|
||||
}
|
||||
with: { type: 'json' }
|
||||
})).default;
|
||||
} catch (e) {
|
||||
showErrorMessage(`Unable to parse ${packageJsonPath}\n\n${(e as Error).message}`);
|
||||
|
|
|
@ -749,6 +749,7 @@ libcxx_headers = [
|
|||
"//third_party/libc++/src/include/__type_traits/common_type.h",
|
||||
"//third_party/libc++/src/include/__type_traits/conditional.h",
|
||||
"//third_party/libc++/src/include/__type_traits/conjunction.h",
|
||||
"//third_party/libc++/src/include/__type_traits/container_traits.h",
|
||||
"//third_party/libc++/src/include/__type_traits/copy_cv.h",
|
||||
"//third_party/libc++/src/include/__type_traits/copy_cvref.h",
|
||||
"//third_party/libc++/src/include/__type_traits/datasizeof.h",
|
||||
|
@ -789,6 +790,7 @@ libcxx_headers = [
|
|||
"//third_party/libc++/src/include/__type_traits/is_floating_point.h",
|
||||
"//third_party/libc++/src/include/__type_traits/is_function.h",
|
||||
"//third_party/libc++/src/include/__type_traits/is_fundamental.h",
|
||||
"//third_party/libc++/src/include/__type_traits/is_implicit_lifetime.h",
|
||||
"//third_party/libc++/src/include/__type_traits/is_implicitly_default_constructible.h",
|
||||
"//third_party/libc++/src/include/__type_traits/is_integral.h",
|
||||
"//third_party/libc++/src/include/__type_traits/is_literal_type.h",
|
||||
|
|
|
@ -20,10 +20,10 @@ index 7de8923518dbfb69fef62d7781f906b30cf62155..7a4310d6d8e85f07f0ae6c97726d909c
|
|||
|
||||
case ssl_open_record_error:
|
||||
diff --git a/ssl/ssl_lib.cc b/ssl/ssl_lib.cc
|
||||
index 1458b456e5251b058e28c7f935f929af7addbee4..994e1c330255ffcc5212dd69fb77d3044068717c 100644
|
||||
index c84c50710475f5e0ac8633bb97abafdca7fb324f..724d854540ced9b57a7fc804f61fff89f6f9fadf 100644
|
||||
--- a/ssl/ssl_lib.cc
|
||||
+++ b/ssl/ssl_lib.cc
|
||||
@@ -1343,7 +1343,7 @@ int SSL_get_error(const SSL *ssl, int ret_code) {
|
||||
@@ -1335,7 +1335,7 @@ int SSL_get_error(const SSL *ssl, int ret_code) {
|
||||
}
|
||||
|
||||
if (ret_code == 0) {
|
||||
|
@ -32,7 +32,7 @@ index 1458b456e5251b058e28c7f935f929af7addbee4..994e1c330255ffcc5212dd69fb77d304
|
|||
return SSL_ERROR_ZERO_RETURN;
|
||||
}
|
||||
// An EOF was observed which violates the protocol, and the underlying
|
||||
@@ -2725,13 +2725,7 @@ void *SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx) {
|
||||
@@ -2707,13 +2707,7 @@ void *SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx) {
|
||||
return CRYPTO_get_ex_data(&ctx->ex_data, idx);
|
||||
}
|
||||
|
||||
|
|
|
@ -123,10 +123,10 @@ index b9aff56f283b10e899c2291f90615cbd3795454c..59f040cead445b02442404c787c1015c
|
|||
int32_t world_id) override;
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/loader/empty_clients.h b/third_party/blink/renderer/core/loader/empty_clients.h
|
||||
index 821447d9510b7bffce71bb9cb797c95e526fe890..b1f4f8abdd2b4d1a669274f55588d6d936f0c691 100644
|
||||
index 3756c89c0ae70a802506aeac66ea26093831d88f..0d65071421e21edd77de0d2463061e6a05049121 100644
|
||||
--- a/third_party/blink/renderer/core/loader/empty_clients.h
|
||||
+++ b/third_party/blink/renderer/core/loader/empty_clients.h
|
||||
@@ -416,6 +416,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient {
|
||||
@@ -415,6 +415,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient {
|
||||
|
||||
void DidCreateScriptContext(v8::Local<v8::Context>,
|
||||
int32_t world_id) override {}
|
||||
|
|
|
@ -8,7 +8,7 @@ categories in use are known / declared. This patch is required for us
|
|||
to introduce a new Electron category for Electron-specific tracing.
|
||||
|
||||
diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h
|
||||
index 6d5a8547adb3eafa8c6ead798e21f18c217da256..f3508a818e2b8ecc0bd910d4be54b311e33b1837 100644
|
||||
index 5ba3046b83e881574470dc551745b855c785e05c..8d417c70a6e1b959353563d25ec6ff532ae34573 100644
|
||||
--- a/base/trace_event/builtin_categories.h
|
||||
+++ b/base/trace_event/builtin_categories.h
|
||||
@@ -88,6 +88,7 @@
|
||||
|
|
|
@ -11,7 +11,7 @@ if we ever align our .pak file generation with Chrome we can remove this
|
|||
patch.
|
||||
|
||||
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
|
||||
index b1c18a03ccd05609cd65de028b9861c6c9a71568..f507a8cd4b35f577c5b06712145beaa067a1bb79 100644
|
||||
index f40c70d840845fdb6171ab6ba4cdcf92dbfd9965..7d762b40f44d8dc3cd1cb63c56a188f9bdced1fe 100644
|
||||
--- a/chrome/BUILD.gn
|
||||
+++ b/chrome/BUILD.gn
|
||||
@@ -200,11 +200,16 @@ if (!is_android && !is_mac) {
|
||||
|
@ -33,10 +33,10 @@ index b1c18a03ccd05609cd65de028b9861c6c9a71568..f507a8cd4b35f577c5b06712145beaa0
|
|||
"//base",
|
||||
"//build:branding_buildflags",
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
index 696bb78b317178168d78b9619651cafd1bddd5ac..21262f51f5ebe12b396a453b30f067de00b0f376 100644
|
||||
index 46219ca4fbc09900414526a1e3b8980be79cd29c..bc4a61474cfd88f95485dcd80185b3be3db2b855 100644
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -4534,7 +4534,7 @@ static_library("browser") {
|
||||
@@ -4532,7 +4532,7 @@ static_library("browser") {
|
||||
]
|
||||
}
|
||||
|
||||
|
@ -46,10 +46,10 @@ index 696bb78b317178168d78b9619651cafd1bddd5ac..21262f51f5ebe12b396a453b30f067de
|
|||
# than here in :chrome_dll.
|
||||
deps += [ "//chrome:packed_resources_integrity_header" ]
|
||||
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
|
||||
index 68129387f96ac7c54b1c762dbb2cc001e929b3f5..da12c25bfd3377862c27c74a343ba2a0d4ff1411 100644
|
||||
index 04996332eac1c4a30db285ff875ebbec982b9055..353a5c6e4d9a7bdee57a3f2f6d0c563a34a66fa1 100644
|
||||
--- a/chrome/test/BUILD.gn
|
||||
+++ b/chrome/test/BUILD.gn
|
||||
@@ -6714,9 +6714,12 @@ test("unit_tests") {
|
||||
@@ -6723,9 +6723,12 @@ test("unit_tests") {
|
||||
"//chrome/notification_helper",
|
||||
]
|
||||
|
||||
|
@ -63,7 +63,7 @@ index 68129387f96ac7c54b1c762dbb2cc001e929b3f5..da12c25bfd3377862c27c74a343ba2a0
|
|||
"//chrome//services/util_win:unit_tests",
|
||||
"//chrome/app:chrome_dll_resources",
|
||||
"//chrome/app:win_unit_tests",
|
||||
@@ -7671,6 +7674,10 @@ test("unit_tests") {
|
||||
@@ -7682,6 +7685,10 @@ test("unit_tests") {
|
||||
"../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc",
|
||||
]
|
||||
|
||||
|
@ -74,7 +74,7 @@ index 68129387f96ac7c54b1c762dbb2cc001e929b3f5..da12c25bfd3377862c27c74a343ba2a0
|
|||
sources += [
|
||||
# The importer code is not used on Android.
|
||||
"../common/importer/firefox_importer_utils_unittest.cc",
|
||||
@@ -7723,7 +7730,6 @@ test("unit_tests") {
|
||||
@@ -7734,7 +7741,6 @@ test("unit_tests") {
|
||||
# Non-android deps for "unit_tests" target.
|
||||
deps += [
|
||||
"../browser/screen_ai:screen_ai_install_state",
|
||||
|
|
|
@ -6,7 +6,7 @@ Subject: build: make libcxx_abi_unstable false for electron
|
|||
https://nornagon.medium.com/a-libc-odyssey-973e51649063
|
||||
|
||||
diff --git a/buildtools/third_party/libc++/__config_site b/buildtools/third_party/libc++/__config_site
|
||||
index 39cc404dda7ba408438deeaa5b65a01cdd696dcb..355a774a08fb6eb6fa435c4704e8ff9cb5a9f5bd 100644
|
||||
index 260a4a9772a625ff02d66faffdd6937215402261..6e485725c967ca27d8ffe6b52c47dddd0d82bd7e 100644
|
||||
--- a/buildtools/third_party/libc++/__config_site
|
||||
+++ b/buildtools/third_party/libc++/__config_site
|
||||
@@ -18,7 +18,9 @@
|
||||
|
|
|
@ -9,10 +9,10 @@ potentially prevent a window from being created.
|
|||
TODO(loc): this patch is currently broken.
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
index ea7a56f9ebab820bc50167d1f6848078d59f4737..e0708cae6968c14f912bac9c8c7ff90344454237 100644
|
||||
index 98c865765c57d3387c9193df0fab73bae678983a..f737902ba9a5ff5b98940eca4a8e7c057c64b3bd 100644
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -9104,6 +9104,7 @@ void RenderFrameHostImpl::CreateNewWindow(
|
||||
@@ -9115,6 +9115,7 @@ void RenderFrameHostImpl::CreateNewWindow(
|
||||
last_committed_origin_, params->window_container_type,
|
||||
params->target_url, params->referrer.To<Referrer>(),
|
||||
params->frame_name, params->disposition, *params->features,
|
||||
|
@ -21,10 +21,10 @@ index ea7a56f9ebab820bc50167d1f6848078d59f4737..e0708cae6968c14f912bac9c8c7ff903
|
|||
&no_javascript_access);
|
||||
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 62854bb03a4e72b716a823ee7fafbb011a86ebb0..06ca908e1668050bb87609406fa4dc9eff9b6adf 100644
|
||||
index f25b2cc6c138a4e201b6ec9f74f9cb5734195f24..c67be0c23f8b8d6f49ee82e1617c0f3cfee5c9ab 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -4772,6 +4772,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -4781,6 +4781,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
SetPartitionedPopinOpenerOnNewWindowIfNeeded(new_contents_impl, params,
|
||||
opener);
|
||||
|
||||
|
@ -37,7 +37,7 @@ index 62854bb03a4e72b716a823ee7fafbb011a86ebb0..06ca908e1668050bb87609406fa4dc9e
|
|||
// If the new frame has a name, make sure any SiteInstances that can find
|
||||
// this named frame have proxies for it. Must be called after
|
||||
// SetSessionStorageNamespace, since this calls CreateRenderView, which uses
|
||||
@@ -4813,12 +4819,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -4822,12 +4828,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
AddWebContentsDestructionObserver(new_contents_impl);
|
||||
}
|
||||
|
||||
|
@ -66,10 +66,10 @@ index 61ee456a1bfb842aefd8b644ff0ae630a698ef7c..cbf4276337139a81d46fb263bce8f5ee
|
|||
|
||||
// Operation result when the renderer asks the browser to create a new window.
|
||||
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
|
||||
index e73432790e5bbd03dc3eb2a2d8c89d77d21430cc..5f60458d39e3554832b63c201e79633cf0219951 100644
|
||||
index 21967547790cacc162d9b125e60ca24919b6b485..af7126cec088e5ece113dfbea19674421182abaa 100644
|
||||
--- a/content/public/browser/content_browser_client.cc
|
||||
+++ b/content/public/browser/content_browser_client.cc
|
||||
@@ -760,6 +760,8 @@ bool ContentBrowserClient::CanCreateWindow(
|
||||
@@ -765,6 +765,8 @@ bool ContentBrowserClient::CanCreateWindow(
|
||||
const std::string& frame_name,
|
||||
WindowOpenDisposition disposition,
|
||||
const blink::mojom::WindowFeatures& features,
|
||||
|
@ -79,7 +79,7 @@ index e73432790e5bbd03dc3eb2a2d8c89d77d21430cc..5f60458d39e3554832b63c201e79633c
|
|||
bool opener_suppressed,
|
||||
bool* no_javascript_access) {
|
||||
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
||||
index 7326a96f8b615e7dd7f5077faab98a6a198209bd..ff16736f47ad642211ee21b44479c5e449acf33f 100644
|
||||
index 0f6781dc459e1072e1f538b2c60c21699b175852..ad94803577af27c84e247ace2137995a9ca886e0 100644
|
||||
--- a/content/public/browser/content_browser_client.h
|
||||
+++ b/content/public/browser/content_browser_client.h
|
||||
@@ -196,6 +196,7 @@ class NetworkService;
|
||||
|
@ -90,7 +90,7 @@ index 7326a96f8b615e7dd7f5077faab98a6a198209bd..ff16736f47ad642211ee21b44479c5e4
|
|||
} // namespace network
|
||||
|
||||
namespace sandbox {
|
||||
@@ -1322,6 +1323,8 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -1325,6 +1326,8 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
const std::string& frame_name,
|
||||
WindowOpenDisposition disposition,
|
||||
const blink::mojom::WindowFeatures& features,
|
||||
|
@ -100,7 +100,7 @@ index 7326a96f8b615e7dd7f5077faab98a6a198209bd..ff16736f47ad642211ee21b44479c5e4
|
|||
bool opener_suppressed,
|
||||
bool* no_javascript_access);
|
||||
diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
|
||||
index 9d14f11ef397a525633292dbedfed40f38a9ec8f..49bc6ce731ea06cae8281107dbaa527060ffd4ce 100644
|
||||
index 784103345ed40cce8823048bcd6a48c722866f15..94202a07c8774a9ad62938506b22ea3f72916372 100644
|
||||
--- a/content/public/browser/web_contents_delegate.cc
|
||||
+++ b/content/public/browser/web_contents_delegate.cc
|
||||
@@ -31,6 +31,17 @@ namespace content {
|
||||
|
@ -122,7 +122,7 @@ index 9d14f11ef397a525633292dbedfed40f38a9ec8f..49bc6ce731ea06cae8281107dbaa5270
|
|||
WebContents* source,
|
||||
const OpenURLParams& params,
|
||||
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
|
||||
index 294dc13ec8f27875c28b459b56b166f2c8f4a2ff..1a58077807de673e1937f3323c8dc37b4c69468e 100644
|
||||
index 19dff7ea3f62e5095ee03335978dac5d58cc1465..cbec82fe1fbc43c188ac9c0cf318ee49aa83c503 100644
|
||||
--- a/content/public/browser/web_contents_delegate.h
|
||||
+++ b/content/public/browser/web_contents_delegate.h
|
||||
@@ -17,6 +17,7 @@
|
||||
|
@ -163,7 +163,7 @@ index 1fd3487243760d5a64bcd27f7022d8d0326bab65..21ecced6578552e30c1a01841053f679
|
|||
// moved on send.
|
||||
bool is_background_tab =
|
||||
diff --git a/content/web_test/browser/web_test_content_browser_client.cc b/content/web_test/browser/web_test_content_browser_client.cc
|
||||
index 9e564b2be92aefc2b58617de92dd8d519c3c784f..bf096ab972cc945d19473cc1e55f6f7fc9618778 100644
|
||||
index b181f3d7429cdccfede3803b0659fc877d68e884..874753add7c176871fee299d32199ebfd9526c68 100644
|
||||
--- a/content/web_test/browser/web_test_content_browser_client.cc
|
||||
+++ b/content/web_test/browser/web_test_content_browser_client.cc
|
||||
@@ -520,6 +520,8 @@ bool WebTestContentBrowserClient::CanCreateWindow(
|
||||
|
@ -176,7 +176,7 @@ index 9e564b2be92aefc2b58617de92dd8d519c3c784f..bf096ab972cc945d19473cc1e55f6f7f
|
|||
bool opener_suppressed,
|
||||
bool* no_javascript_access) {
|
||||
diff --git a/content/web_test/browser/web_test_content_browser_client.h b/content/web_test/browser/web_test_content_browser_client.h
|
||||
index 4145d0d32ca1d1f02620a66f2437eaa58954b4d7..3cb5faab3f2e60d919dd7dd76fd320b8c63de84f 100644
|
||||
index 126fe65469971b91e763a5e7640649dff1a096c4..398feea2aec7ece17d62259320db9035edabeccd 100644
|
||||
--- a/content/web_test/browser/web_test_content_browser_client.h
|
||||
+++ b/content/web_test/browser/web_test_content_browser_client.h
|
||||
@@ -92,6 +92,8 @@ class WebTestContentBrowserClient : public ShellContentBrowserClient {
|
||||
|
|
|
@ -7,7 +7,7 @@ This patch comes after Chromium removed the ScopedAllowIO API in favor
|
|||
of explicitly adding ScopedAllowBlocking calls as friends.
|
||||
|
||||
diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restrictions.h
|
||||
index 965206e18e7a536947354c734ef17196c3e736ff..8a8a687d33f725aacf736a20ffc600cdf3fb05e4 100644
|
||||
index 149838be725f2e09274421d087ce4494ecf4bc1d..17bdae284536b0445bf539651bd6e152a0cb5c6b 100644
|
||||
--- a/base/threading/thread_restrictions.h
|
||||
+++ b/base/threading/thread_restrictions.h
|
||||
@@ -132,6 +132,7 @@ class KeyStorageLinux;
|
||||
|
@ -28,7 +28,7 @@ index 965206e18e7a536947354c734ef17196c3e736ff..8a8a687d33f725aacf736a20ffc600cd
|
|||
namespace enterprise_connectors {
|
||||
class LinuxKeyRotationCommand;
|
||||
} // namespace enterprise_connectors
|
||||
@@ -580,6 +584,7 @@ class BASE_EXPORT ScopedAllowBlocking {
|
||||
@@ -583,6 +587,7 @@ class BASE_EXPORT ScopedAllowBlocking {
|
||||
friend class ::DesktopNotificationBalloon;
|
||||
friend class ::FirefoxProfileLock;
|
||||
friend class ::GaiaConfig;
|
||||
|
@ -36,7 +36,7 @@ index 965206e18e7a536947354c734ef17196c3e736ff..8a8a687d33f725aacf736a20ffc600cd
|
|||
friend class ::ProfileImpl;
|
||||
friend class ::ScopedAllowBlockingForProfile;
|
||||
friend class ::StartupTabProviderImpl;
|
||||
@@ -620,6 +625,7 @@ class BASE_EXPORT ScopedAllowBlocking {
|
||||
@@ -623,6 +628,7 @@ class BASE_EXPORT ScopedAllowBlocking {
|
||||
friend class crosapi::LacrosThreadTypeDelegate;
|
||||
friend class crypto::ScopedAllowBlockingForNSS; // http://crbug.com/59847
|
||||
friend class drive::FakeDriveService;
|
||||
|
|
|
@ -14,10 +14,10 @@ track down the source of this problem & figure out if we can fix it
|
|||
by changing something in Electron.
|
||||
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 2841e3c1b0cb1bb538c91e18d83ac81ff230d130..14119e672dda39a5ac49f6ef561036a624559f68 100644
|
||||
index c1e2bf39aa70776b7e3b26ac78c82995cd376c58..c26d53d7555cbdaae5c167aabf49135afb667259 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -4698,9 +4698,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -4707,9 +4707,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
bool renderer_started_hidden =
|
||||
params.disposition == WindowOpenDisposition::NEW_BACKGROUND_TAB;
|
||||
|
||||
|
|
|
@ -80,10 +80,10 @@ index b078a4a06c7b3f767e2e01f0bef2ba440f729620..0459568581a3073333ae6afabd3680f2
|
|||
content::WebContents* source,
|
||||
const content::OpenURLParams& params,
|
||||
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
|
||||
index fb49096b1bd6b54ceaa500db44c38aa47f98cf6c..5b0e28841235ebff05b3c97548f821986baa96ab 100644
|
||||
index e87612be406274364fd125e7e89e803aa21702d8..0964949aaaec52cbc4db124e345db458df57c040 100644
|
||||
--- a/chrome/browser/ui/browser.cc
|
||||
+++ b/chrome/browser/ui/browser.cc
|
||||
@@ -2096,12 +2096,11 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||
@@ -2110,12 +2110,11 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
|
@ -99,10 +99,10 @@ index fb49096b1bd6b54ceaa500db44c38aa47f98cf6c..5b0e28841235ebff05b3c97548f82198
|
|||
|
||||
WebContents* Browser::CreateCustomWebContents(
|
||||
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
|
||||
index 2f17fc1f34808af63448b95bdde72569bf65e364..2a20ad8c9acf60a31382698aa30281addaaf99ed 100644
|
||||
index 86ea151056ca1e565f2c636aeb23fdff269e8e9a..244cabf50f63d061cba99cfefc2cf992e365b433 100644
|
||||
--- a/chrome/browser/ui/browser.h
|
||||
+++ b/chrome/browser/ui/browser.h
|
||||
@@ -969,8 +969,7 @@ class Browser : public TabStripModelObserver,
|
||||
@@ -970,8 +970,7 @@ class Browser : public TabStripModelObserver,
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
|
@ -155,7 +155,7 @@ index 520674b0a5061057fa4b769ba5db93da81531d3f..b364e20f7bba27f3f167aa201e26c916
|
|||
}
|
||||
content::WebContents* CreateCustomWebContents(
|
||||
diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.cc b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
|
||||
index e0f1e382cac773b9ad10bac1166eeea29aa57ffc..d54b9d27802a0f2f6fe269a0c8184b846b01df0d 100644
|
||||
index bcc4841d7f953805f615b3fe5dd252216aa5e482..76a88284aa409b1458ce5f723a1445bd4b184573 100644
|
||||
--- a/components/embedder_support/android/delegate/web_contents_delegate_android.cc
|
||||
+++ b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
|
||||
@@ -183,14 +183,13 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden(
|
||||
|
@ -176,7 +176,7 @@ index e0f1e382cac773b9ad10bac1166eeea29aa57ffc..d54b9d27802a0f2f6fe269a0c8184b84
|
|||
java_gurl);
|
||||
}
|
||||
diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.h b/components/embedder_support/android/delegate/web_contents_delegate_android.h
|
||||
index 704317b01ca869211b3da5e148b7445a39c10384..06f81b78911d8f3176bf0bede20bd287a8bed7a4 100644
|
||||
index 6c89a03712b9449e1a7b0e38ed9d019b30029c15..50b324ef3f1163e462ad145e58b42bf3fd053a0a 100644
|
||||
--- a/components/embedder_support/android/delegate/web_contents_delegate_android.h
|
||||
+++ b/components/embedder_support/android/delegate/web_contents_delegate_android.h
|
||||
@@ -82,8 +82,7 @@ class WebContentsDelegateAndroid : public content::WebContentsDelegate {
|
||||
|
@ -190,7 +190,7 @@ index 704317b01ca869211b3da5e148b7445a39c10384..06f81b78911d8f3176bf0bede20bd287
|
|||
void SetContentsBounds(content::WebContents* source,
|
||||
const gfx::Rect& bounds) override;
|
||||
diff --git a/components/offline_pages/content/background_loader/background_loader_contents.cc b/components/offline_pages/content/background_loader/background_loader_contents.cc
|
||||
index 9a9189517762d3fe1273dd49a9fbf66be7bce61b..b5015fa8de8dd3cbf8e366326575c7e8268e384c 100644
|
||||
index 072e7d0dde701a8f2d1de2704c8a056363324390..9e5ace2b1f32d5e5c542439f5365f9d9458cbf37 100644
|
||||
--- a/components/offline_pages/content/background_loader/background_loader_contents.cc
|
||||
+++ b/components/offline_pages/content/background_loader/background_loader_contents.cc
|
||||
@@ -85,8 +85,7 @@ bool BackgroundLoaderContents::IsWebContentsCreationOverridden(
|
||||
|
@ -218,10 +218,10 @@ index c6838c83ef971b88769b1f3fba8095025ae25464..2da6a4e08340e72ba7de5d03444c2f17
|
|||
content::WebContents* AddNewContents(
|
||||
content::WebContents* source,
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 71f54a7331e1a297fac194da26337a20fbe69301..ab2d3da2c61d42976b5d6f2460ddf4bea53c9af4 100644
|
||||
index 76d396192337ad3b3046c6eb80c14a7d4a54ac8c..cc2e4302ad121d658bb43af1014b6af42a62d47a 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -4667,8 +4667,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -4676,8 +4676,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
|
||||
if (delegate_ && delegate_->IsWebContentsCreationOverridden(
|
||||
source_site_instance, params.window_container_type,
|
||||
|
@ -232,7 +232,7 @@ index 71f54a7331e1a297fac194da26337a20fbe69301..ab2d3da2c61d42976b5d6f2460ddf4be
|
|||
static_cast<WebContentsImpl*>(delegate_->CreateCustomWebContents(
|
||||
opener, source_site_instance, is_new_browsing_instance,
|
||||
diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
|
||||
index 49bc6ce731ea06cae8281107dbaa527060ffd4ce..b061435dd97fd80e748591390a6d0631eab78c42 100644
|
||||
index 94202a07c8774a9ad62938506b22ea3f72916372..3069d732ed336fdaf8fed231bdd0407d0a1b2f75 100644
|
||||
--- a/content/public/browser/web_contents_delegate.cc
|
||||
+++ b/content/public/browser/web_contents_delegate.cc
|
||||
@@ -152,8 +152,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden(
|
||||
|
@ -246,7 +246,7 @@ index 49bc6ce731ea06cae8281107dbaa527060ffd4ce..b061435dd97fd80e748591390a6d0631
|
|||
}
|
||||
|
||||
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
|
||||
index 1a58077807de673e1937f3323c8dc37b4c69468e..87f97ef6c2456e7dcc4a46b820ecba58dcf19388 100644
|
||||
index cbec82fe1fbc43c188ac9c0cf318ee49aa83c503..9daed06017f4a586e34f1e47dc85b9e6e5136097 100644
|
||||
--- a/content/public/browser/web_contents_delegate.h
|
||||
+++ b/content/public/browser/web_contents_delegate.h
|
||||
@@ -345,8 +345,7 @@ class CONTENT_EXPORT WebContentsDelegate {
|
||||
|
|
|
@ -11,10 +11,10 @@ not need this dependency.
|
|||
refs https://chromium-review.googlesource.com/c/chromium/src/+/5573603
|
||||
|
||||
diff --git a/chrome/browser/ui/color/BUILD.gn b/chrome/browser/ui/color/BUILD.gn
|
||||
index aa06f30703313055734cbd8e73be651a493aeae1..0cdeec06800d043ac2da933420f22d6d750691d3 100644
|
||||
index 02d3457d65c4edf2cdbb3c37d90813b496f7945b..ce9e3a87ad650ad99808dea6e292f340fb58aa36 100644
|
||||
--- a/chrome/browser/ui/color/BUILD.gn
|
||||
+++ b/chrome/browser/ui/color/BUILD.gn
|
||||
@@ -86,9 +86,6 @@ source_set("mixers") {
|
||||
@@ -87,9 +87,6 @@ source_set("mixers") {
|
||||
]
|
||||
}
|
||||
|
||||
|
|
|
@ -8,10 +8,10 @@ Allow registering custom protocols to handle service worker main script fetching
|
|||
Refs https://bugs.chromium.org/p/chromium/issues/detail?id=996511
|
||||
|
||||
diff --git a/content/browser/service_worker/service_worker_context_wrapper.cc b/content/browser/service_worker/service_worker_context_wrapper.cc
|
||||
index 5b9d98641157e6e624fd08dd1ebafe06636856bc..cca0b314bf6555aaede788b275e44ee78b41cca6 100644
|
||||
index 8127b7951b2070d49ee99cd93199454355ab925d..2056a3408e6449920d77a9c1659d2732e736e429 100644
|
||||
--- a/content/browser/service_worker/service_worker_context_wrapper.cc
|
||||
+++ b/content/browser/service_worker/service_worker_context_wrapper.cc
|
||||
@@ -1976,6 +1976,26 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
@@ -1959,6 +1959,26 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
loader_factory_bundle_info =
|
||||
context()->loader_factory_bundle_for_update_check()->Clone();
|
||||
|
||||
|
@ -38,7 +38,7 @@ index 5b9d98641157e6e624fd08dd1ebafe06636856bc..cca0b314bf6555aaede788b275e44ee7
|
|||
if (auto* config = content::WebUIConfigMap::GetInstance().GetConfig(
|
||||
browser_context(), scope)) {
|
||||
// If this is a Service Worker for a WebUI, the WebUI's URLDataSource
|
||||
@@ -1995,9 +2015,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
@@ -1978,9 +1998,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
features::kEnableServiceWorkersForChromeScheme) &&
|
||||
scope.scheme_piece() == kChromeUIScheme) {
|
||||
config->RegisterURLDataSource(browser_context());
|
||||
|
@ -49,7 +49,7 @@ index 5b9d98641157e6e624fd08dd1ebafe06636856bc..cca0b314bf6555aaede788b275e44ee7
|
|||
.emplace(kChromeUIScheme, CreateWebUIServiceWorkerLoaderFactory(
|
||||
browser_context(), kChromeUIScheme,
|
||||
base::flat_set<std::string>()));
|
||||
@@ -2005,9 +2023,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
@@ -1988,9 +2006,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
features::kEnableServiceWorkersForChromeUntrusted) &&
|
||||
scope.scheme_piece() == kChromeUIUntrustedScheme) {
|
||||
config->RegisterURLDataSource(browser_context());
|
||||
|
|
|
@ -15,10 +15,10 @@ at some point be an API to "unfreeze" the flags, or we may be able to refactor
|
|||
node initialization to not update flags after V8 initialization.
|
||||
|
||||
diff --git a/content/renderer/render_process_impl.cc b/content/renderer/render_process_impl.cc
|
||||
index 862b92324440bc77ce19b95bc16d4d3e4a24fe0f..bcff571010a7399dbfd74d484edd7db437b3e747 100644
|
||||
index dea5f16df0264348d6762aa41605e7f3c22e3f84..a311ddb37031c5cba1859bb31683531de0fcd4af 100644
|
||||
--- a/content/renderer/render_process_impl.cc
|
||||
+++ b/content/renderer/render_process_impl.cc
|
||||
@@ -209,6 +209,9 @@ RenderProcessImpl::RenderProcessImpl()
|
||||
@@ -200,6 +200,9 @@ RenderProcessImpl::RenderProcessImpl()
|
||||
v8::V8::SetFlagsFromString(kSABPerContextFlag, sizeof(kSABPerContextFlag));
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ Subject: disable_hidden.patch
|
|||
Electron uses this to disable background throttling for hidden windows.
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
index e309e8b96cd6605fc812fda2ca3c7ece07824e0c..c74c3d2bad9eaea9fe7cab4069222afc4bb77162 100644
|
||||
index 5a521aa5a61172954ad09a49c44a22633b1471ac..ce714ed077d9e5a22b5de926408fbe6d35cc04d6 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
@@ -789,6 +789,10 @@ void RenderWidgetHostImpl::WasHidden() {
|
||||
|
@ -17,14 +17,14 @@ index e309e8b96cd6605fc812fda2ca3c7ece07824e0c..c74c3d2bad9eaea9fe7cab4069222afc
|
|||
+ return;
|
||||
+ }
|
||||
+
|
||||
RejectPointerLockOrUnlockIfNecessary(
|
||||
blink::mojom::PointerLockResult::kWrongDocument);
|
||||
|
||||
// Cancel pending pointer lock requests, unless there's an open user prompt.
|
||||
// Prompts should remain open and functional across tab switches.
|
||||
if (!delegate_->IsWaitingForPointerLockPrompt(this)) {
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
|
||||
index 4ce389437e583f3b0beaac78b4935808ee54c98e..e39e793bc2673d438cdf01aa909d72732aa32ae2 100644
|
||||
index b8dadc4cca4621e991cdc874e0663cedd3f48d74..34ceb4c605a767e1eaf5434a68132f98b0a4056c 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_impl.h
|
||||
+++ b/content/browser/renderer_host/render_widget_host_impl.h
|
||||
@@ -1017,6 +1017,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
|
||||
@@ -1018,6 +1018,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
|
||||
// Requests a commit and forced redraw in the renderer compositor.
|
||||
void ForceRedrawForTesting();
|
||||
|
||||
|
|
|
@ -63,10 +63,10 @@ index a898e09ac0c989952fe2032ca4ea6ddfdacc59e6..46f3936d93277293f2b876759cb1e3a2
|
|||
void SetEnableReferrers(bool enable_referrers) override;
|
||||
#if BUILDFLAG(IS_CT_SUPPORTED)
|
||||
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
|
||||
index 0e6697aca687d8d8103f3cc2cdff03be383ba6c3..f8ce2402321d465ca1303d303e30ee68033a2333 100644
|
||||
index 362d2c79a4f8bda162f87841ba0629e88347bf14..1d26180ac8bd6bfff98d4dddabd44f50911073e1 100644
|
||||
--- a/services/network/public/mojom/network_context.mojom
|
||||
+++ b/services/network/public/mojom/network_context.mojom
|
||||
@@ -1290,6 +1290,9 @@ interface NetworkContext {
|
||||
@@ -1287,6 +1287,9 @@ interface NetworkContext {
|
||||
SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id,
|
||||
NetworkConditions? conditions);
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@ index 31f5b160e4cd755cfb56a62b04261ee1bee80277..8dbc5ac458481d2f805f90101069f02a
|
|||
#if BUILDFLAG(IS_WIN)
|
||||
bool EscapeVirtualization(const base::FilePath& user_data_dir);
|
||||
diff --git a/chrome/browser/process_singleton_posix.cc b/chrome/browser/process_singleton_posix.cc
|
||||
index f8cf2fb4ab66dae92b80c17cdda8b984fe4807c7..1a5d5323c0b37171b61f1fb2445dc18e1738f4ba 100644
|
||||
index 72cdfe2c4a0258dbd575f536ca42fa1d53f44988..092f60adb1080bea16ac24c53d57539d1c308b3a 100644
|
||||
--- a/chrome/browser/process_singleton_posix.cc
|
||||
+++ b/chrome/browser/process_singleton_posix.cc
|
||||
@@ -615,6 +615,7 @@ class ProcessSingleton::LinuxWatcher
|
||||
|
@ -178,7 +178,7 @@ index f8cf2fb4ab66dae92b80c17cdda8b984fe4807c7..1a5d5323c0b37171b61f1fb2445dc18e
|
|||
if (!WriteToSocket(socket.fd(), to_send.data(), to_send.length())) {
|
||||
// Try to kill the other process, because it might have been dead.
|
||||
diff --git a/chrome/browser/process_singleton_win.cc b/chrome/browser/process_singleton_win.cc
|
||||
index a0ef81d42bd9a58786b00a1601625e6822bc26f6..27da17eed8fcd69b32dd1f409f6a2efd46a40d88 100644
|
||||
index 27216805188c77aa45b478e66b04a2d45f92fba6..9646e314af0de3d4a7ccf1c54a339b703be125c2 100644
|
||||
--- a/chrome/browser/process_singleton_win.cc
|
||||
+++ b/chrome/browser/process_singleton_win.cc
|
||||
@@ -81,10 +81,12 @@ BOOL CALLBACK BrowserWindowEnumeration(HWND window, LPARAM param) {
|
||||
|
|
|
@ -363,7 +363,7 @@ index 415156d403a59bf426cf4561a9d58ecdb27524b4..78aa7b2359c684d5305bf6352751dfbb
|
|||
#if defined(USE_AURA) || BUILDFLAG(IS_MAC)
|
||||
// Assigns integer identifier to the |window| and returns its DesktopMediaID.
|
||||
diff --git a/media/capture/video_capture_types.h b/media/capture/video_capture_types.h
|
||||
index f2b75f5b2f547ad135c1288bf3639b26dedc8053..ef18724d9f2ea68a47b66fc3981f58a73ac1b51d 100644
|
||||
index 53e8077c9c0b635df0abdeca43fa9a6373c68252..2805e36cc42190d8197d83f5df235094570e3d5d 100644
|
||||
--- a/media/capture/video_capture_types.h
|
||||
+++ b/media/capture/video_capture_types.h
|
||||
@@ -355,6 +355,8 @@ struct CAPTURE_EXPORT VideoCaptureParams {
|
||||
|
|
|
@ -85,7 +85,7 @@ index 31a2a14a95540477297943df9b09b1e4659a884d..c02a81b1bd14a300dbbb47ad7aac2d2d
|
|||
DCHECK(GetZygoteForLaunch());
|
||||
// Environment variables could be supported in the future, but are not
|
||||
diff --git a/content/browser/child_process_launcher_helper_mac.cc b/content/browser/child_process_launcher_helper_mac.cc
|
||||
index f1a415f7bd56ece5ab07d2408dbfddf658b45ff3..49bf8f75583cc7b2de415f4ebb42757366a7b51d 100644
|
||||
index bbea8fff37040029996d1e91e592f6cb5bf8fbc2..13bbd8486279bf575010ab5ad62ba24a0d4cb24f 100644
|
||||
--- a/content/browser/child_process_launcher_helper_mac.cc
|
||||
+++ b/content/browser/child_process_launcher_helper_mac.cc
|
||||
@@ -110,7 +110,8 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLauncherThread(
|
||||
|
@ -111,7 +111,7 @@ index f1a415f7bd56ece5ab07d2408dbfddf658b45ff3..49bf8f75583cc7b2de415f4ebb427573
|
|||
}
|
||||
|
||||
diff --git a/content/browser/child_process_launcher_helper_win.cc b/content/browser/child_process_launcher_helper_win.cc
|
||||
index 2a01487c8ff837357f6d62dba80115b0ec64c343..74343f6a3bfb1eab2aaf1c0b5fba6ceaf9399ef6 100644
|
||||
index cb0e7d5c5dc0154c6e88ad08ce097afdce4041f9..09b9cff76d9585297fe60f91970c610ac445f06a 100644
|
||||
--- a/content/browser/child_process_launcher_helper_win.cc
|
||||
+++ b/content/browser/child_process_launcher_helper_win.cc
|
||||
@@ -24,6 +24,8 @@
|
||||
|
@ -155,15 +155,15 @@ index 2a01487c8ff837357f6d62dba80115b0ec64c343..74343f6a3bfb1eab2aaf1c0b5fba6cea
|
|||
return true;
|
||||
}
|
||||
|
||||
@@ -159,7 +186,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThread(
|
||||
ChildProcessLauncherHelper::Process process;
|
||||
*launch_result =
|
||||
StartSandboxedProcess(delegate_.get(), *command_line(),
|
||||
- options->handles_to_inherit, &process.process);
|
||||
+ options, &process.process);
|
||||
return process;
|
||||
@@ -158,7 +185,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThread(
|
||||
}
|
||||
|
||||
*is_synchronous_launch = false;
|
||||
*launch_result = StartSandboxedProcess(
|
||||
- delegate_.get(), *command_line(), options->handles_to_inherit,
|
||||
+ delegate_.get(), *command_line(), options,
|
||||
base::BindOnce(&ChildProcessLauncherHelper::
|
||||
FinishStartSandboxedProcessOnLauncherThread,
|
||||
this));
|
||||
diff --git a/content/browser/service_process_host_impl.cc b/content/browser/service_process_host_impl.cc
|
||||
index bdd5bec301f5fcff2d3e3d7994ecbc4eae46da36..f6082bada22c5f4e70af60ea6f555b0f363919c5 100644
|
||||
--- a/content/browser/service_process_host_impl.cc
|
||||
|
@ -187,10 +187,10 @@ index bdd5bec301f5fcff2d3e3d7994ecbc4eae46da36..f6082bada22c5f4e70af60ea6f555b0f
|
|||
host->GetChildProcess()->BindServiceInterface(std::move(receiver));
|
||||
}
|
||||
diff --git a/content/browser/utility_process_host.cc b/content/browser/utility_process_host.cc
|
||||
index 23370e926c9fb9c24bb151d6d4dbca7d5936ebae..b617e0fd3aecb3f9cd1c4cfa9aadf68e658a2dbc 100644
|
||||
index 2fc9fabe67dc4d8c209247e46b57d27ec1a0fb90..ce73ed7f7070ee276511da674599364a468a2c8f 100644
|
||||
--- a/content/browser/utility_process_host.cc
|
||||
+++ b/content/browser/utility_process_host.cc
|
||||
@@ -179,11 +179,13 @@ const ChildProcessData& UtilityProcessHost::GetData() {
|
||||
@@ -181,11 +181,13 @@ const ChildProcessData& UtilityProcessHost::GetData() {
|
||||
return process_->GetData();
|
||||
}
|
||||
|
||||
|
@ -206,7 +206,7 @@ index 23370e926c9fb9c24bb151d6d4dbca7d5936ebae..b617e0fd3aecb3f9cd1c4cfa9aadf68e
|
|||
|
||||
bool UtilityProcessHost::Start() {
|
||||
return StartProcess();
|
||||
@@ -230,6 +232,30 @@ void UtilityProcessHost::SetZygoteForTesting(ZygoteCommunication* handle) {
|
||||
@@ -233,6 +235,30 @@ void UtilityProcessHost::SetZygoteForTesting(ZygoteCommunication* handle) {
|
||||
}
|
||||
#endif // BUILDFLAG(USE_ZYGOTE)
|
||||
|
||||
|
@ -237,9 +237,9 @@ index 23370e926c9fb9c24bb151d6d4dbca7d5936ebae..b617e0fd3aecb3f9cd1c4cfa9aadf68e
|
|||
mojom::ChildProcess* UtilityProcessHost::GetChildProcess() {
|
||||
return static_cast<ChildProcessHostImpl*>(process_->GetHost())
|
||||
->child_process();
|
||||
@@ -436,9 +462,26 @@ bool UtilityProcessHost::StartProcess() {
|
||||
}
|
||||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
@@ -440,9 +466,26 @@ bool UtilityProcessHost::StartProcess() {
|
||||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ||
|
||||
// BUILDFLAG(IS_MAC)
|
||||
|
||||
+#if BUILDFLAG(IS_WIN)
|
||||
+ file_data_->stdout_handle = std::move(stdout_handle_);
|
||||
|
@ -266,7 +266,7 @@ index 23370e926c9fb9c24bb151d6d4dbca7d5936ebae..b617e0fd3aecb3f9cd1c4cfa9aadf68e
|
|||
#if BUILDFLAG(IS_WIN)
|
||||
if (!preload_libraries_.empty()) {
|
||||
diff --git a/content/browser/utility_process_host.h b/content/browser/utility_process_host.h
|
||||
index 9791ae2f761043b9eecd9064a6fd39a6e2339af4..c1809298c830b814f886859c2626d6bce7b9ac8c 100644
|
||||
index faa41e5f2571f7a8aa4eef927eca003801d787f6..16d5efc5f9191020aa2180d665cf520748a62a8f 100644
|
||||
--- a/content/browser/utility_process_host.h
|
||||
+++ b/content/browser/utility_process_host.h
|
||||
@@ -29,6 +29,10 @@
|
||||
|
@ -280,7 +280,7 @@ index 9791ae2f761043b9eecd9064a6fd39a6e2339af4..c1809298c830b814f886859c2626d6bc
|
|||
namespace base {
|
||||
class Thread;
|
||||
} // namespace base
|
||||
@@ -98,9 +102,13 @@ class CONTENT_EXPORT UtilityProcessHost
|
||||
@@ -99,9 +103,13 @@ class CONTENT_EXPORT UtilityProcessHost
|
||||
|
||||
// Returns information about the utility child process.
|
||||
const ChildProcessData& GetData();
|
||||
|
@ -296,7 +296,7 @@ index 9791ae2f761043b9eecd9064a6fd39a6e2339af4..c1809298c830b814f886859c2626d6bc
|
|||
|
||||
// Starts the utility process.
|
||||
bool Start();
|
||||
@@ -138,6 +146,21 @@ class CONTENT_EXPORT UtilityProcessHost
|
||||
@@ -139,6 +147,21 @@ class CONTENT_EXPORT UtilityProcessHost
|
||||
void SetZygoteForTesting(ZygoteCommunication* handle);
|
||||
#endif // BUILDFLAG(USE_ZYGOTE)
|
||||
|
||||
|
@ -318,7 +318,7 @@ index 9791ae2f761043b9eecd9064a6fd39a6e2339af4..c1809298c830b814f886859c2626d6bc
|
|||
// Returns a control interface for the running child process.
|
||||
mojom::ChildProcess* GetChildProcess();
|
||||
|
||||
@@ -191,6 +214,27 @@ class CONTENT_EXPORT UtilityProcessHost
|
||||
@@ -192,6 +215,27 @@ class CONTENT_EXPORT UtilityProcessHost
|
||||
std::optional<raw_ptr<ZygoteCommunication>> zygote_for_testing_;
|
||||
#endif // BUILDFLAG(USE_ZYGOTE)
|
||||
|
||||
|
@ -465,7 +465,7 @@ index 27cef06ded34680c6bfa3e954924de645a1b8217..7c114956a77da7b60526dd93593d8462
|
|||
} // namespace content
|
||||
|
||||
diff --git a/content/common/sandbox_init_win.cc b/content/common/sandbox_init_win.cc
|
||||
index b96d6a879e8b6664559bac69f726321fdb02b40f..bfeec6ddb98d4127c1dcfe5999894f1cdebdc087 100644
|
||||
index 38733269e53b9874305942809373004f305ffdec..9f4f5f7dd7f2704e363f43c31ac930aeaabc2b45 100644
|
||||
--- a/content/common/sandbox_init_win.cc
|
||||
+++ b/content/common/sandbox_init_win.cc
|
||||
@@ -23,7 +23,7 @@ namespace content {
|
||||
|
@ -474,20 +474,20 @@ index b96d6a879e8b6664559bac69f726321fdb02b40f..bfeec6ddb98d4127c1dcfe5999894f1c
|
|||
const base::CommandLine& target_command_line,
|
||||
- const base::HandlesToInheritVector& handles_to_inherit,
|
||||
+ const base::LaunchOptions* options,
|
||||
base::Process* process) {
|
||||
sandbox::StartSandboxedProcessCallback result_callback) {
|
||||
std::string type_str =
|
||||
target_command_line.GetSwitchValueASCII(switches::kProcessType);
|
||||
@@ -45,7 +45,7 @@ sandbox::ResultCode StartSandboxedProcess(
|
||||
}
|
||||
|
||||
return sandbox::policy::SandboxWin::StartSandboxedProcess(
|
||||
- full_command_line, handles_to_inherit, delegate, process);
|
||||
+ full_command_line, options, delegate, process);
|
||||
- full_command_line, handles_to_inherit, delegate,
|
||||
+ full_command_line, options, delegate,
|
||||
std::move(result_callback));
|
||||
}
|
||||
|
||||
} // namespace content
|
||||
diff --git a/content/public/browser/service_process_host.cc b/content/public/browser/service_process_host.cc
|
||||
index 8defae52a201a97c402e304216ce772a717a9f7e..4aee78366398c018e315ef15e631d0792ee79c47 100644
|
||||
index 518d1413705f94bc03eadc4331a6b0f13825265f..3fa4c69377e253e0ed8262b7e77f8fb5c154d274 100644
|
||||
--- a/content/public/browser/service_process_host.cc
|
||||
+++ b/content/public/browser/service_process_host.cc
|
||||
@@ -52,12 +52,53 @@ ServiceProcessHost::Options::WithExtraCommandLineSwitches(
|
||||
|
@ -628,7 +628,7 @@ index 0062d2cb6634b8b29977a0312516b1b13936b40a..611a52e908f4cb70fbe5628e220a082e
|
|||
|
||||
// An interface which can be implemented and registered/unregistered with
|
||||
diff --git a/content/public/common/sandbox_init_win.h b/content/public/common/sandbox_init_win.h
|
||||
index 9bb4b30ba0f5d37ec2b28f0848d94f34c24f9423..b614fef01ee5cdf81b7112be721b851c454756a2 100644
|
||||
index 5c24090e3311a89dc2a9162045feaacda574bb99..b772a2a054e9d19025ebd2909acf1b920d389a95 100644
|
||||
--- a/content/public/common/sandbox_init_win.h
|
||||
+++ b/content/public/common/sandbox_init_win.h
|
||||
@@ -29,7 +29,7 @@ class SandboxedProcessLauncherDelegate;
|
||||
|
@ -637,7 +637,7 @@ index 9bb4b30ba0f5d37ec2b28f0848d94f34c24f9423..b614fef01ee5cdf81b7112be721b851c
|
|||
const base::CommandLine& target_command_line,
|
||||
- const base::HandlesToInheritVector& handles_to_inherit,
|
||||
+ const base::LaunchOptions* options,
|
||||
base::Process* process);
|
||||
sandbox::StartSandboxedProcessCallback result_callback);
|
||||
|
||||
} // namespace content
|
||||
diff --git a/content/public/common/sandboxed_process_launcher_delegate.cc b/content/public/common/sandboxed_process_launcher_delegate.cc
|
||||
|
@ -705,10 +705,10 @@ index 4b2ea0e2680c552b853fcbe4f5e4765a908f8915..6e8af760d986911ed6030b24244e9b21
|
|||
#if BUILDFLAG(IS_MAC)
|
||||
// Whether or not to disclaim TCC responsibility for the process, defaults to
|
||||
diff --git a/sandbox/policy/win/sandbox_win.cc b/sandbox/policy/win/sandbox_win.cc
|
||||
index 00525a5e5146f3789f5ed4bfe4a1cf36b174a00f..55d3c96e00b76e50d5fe8a1695829d3c9db11fbf 100644
|
||||
index b550651a8a98132104d38df083717e1cb58567e4..52b9eddefcc6a2240babcac824058cd853d3058f 100644
|
||||
--- a/sandbox/policy/win/sandbox_win.cc
|
||||
+++ b/sandbox/policy/win/sandbox_win.cc
|
||||
@@ -672,11 +672,9 @@ base::win::ScopedHandle CreateUnsandboxedJob() {
|
||||
@@ -619,11 +619,9 @@ base::win::ScopedHandle CreateUnsandboxedJob() {
|
||||
// command line flag.
|
||||
ResultCode LaunchWithoutSandbox(
|
||||
const base::CommandLine& cmd_line,
|
||||
|
@ -721,7 +721,7 @@ index 00525a5e5146f3789f5ed4bfe4a1cf36b174a00f..55d3c96e00b76e50d5fe8a1695829d3c
|
|||
// Network process runs in a job even when unsandboxed. This is to ensure it
|
||||
// does not outlive the browser, which could happen if there is a lot of I/O
|
||||
// on process shutdown, in which case TerminateProcess can fail. See
|
||||
@@ -906,7 +904,7 @@ bool SandboxWin::InitTargetServices(TargetServices* target_services) {
|
||||
@@ -920,7 +918,7 @@ bool SandboxWin::InitTargetServices(TargetServices* target_services) {
|
||||
// static
|
||||
ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
const base::CommandLine& cmd_line,
|
||||
|
@ -730,7 +730,7 @@ index 00525a5e5146f3789f5ed4bfe4a1cf36b174a00f..55d3c96e00b76e50d5fe8a1695829d3c
|
|||
SandboxDelegate* delegate,
|
||||
TargetPolicy* policy) {
|
||||
const base::CommandLine& launcher_process_command_line =
|
||||
@@ -920,7 +918,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
@@ -934,7 +932,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
}
|
||||
|
||||
// Add any handles to be inherited to the policy.
|
||||
|
@ -739,7 +739,7 @@ index 00525a5e5146f3789f5ed4bfe4a1cf36b174a00f..55d3c96e00b76e50d5fe8a1695829d3c
|
|||
policy->AddHandleToShare(handle);
|
||||
|
||||
if (!policy->GetConfig()->IsConfigured()) {
|
||||
@@ -935,6 +933,13 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
@@ -949,6 +947,13 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
// have no effect. These calls can fail with SBOX_ERROR_BAD_PARAMS.
|
||||
policy->SetStdoutHandle(GetStdHandle(STD_OUTPUT_HANDLE));
|
||||
policy->SetStderrHandle(GetStdHandle(STD_ERROR_HANDLE));
|
||||
|
@ -753,47 +753,47 @@ index 00525a5e5146f3789f5ed4bfe4a1cf36b174a00f..55d3c96e00b76e50d5fe8a1695829d3c
|
|||
#endif
|
||||
|
||||
if (!delegate->PreSpawnTarget(policy))
|
||||
@@ -946,7 +951,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
@@ -960,7 +965,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
// static
|
||||
ResultCode SandboxWin::StartSandboxedProcess(
|
||||
const base::CommandLine& cmd_line,
|
||||
- const base::HandlesToInheritVector& handles_to_inherit,
|
||||
+ const base::LaunchOptions* options,
|
||||
SandboxDelegate* delegate,
|
||||
base::Process* process) {
|
||||
StartSandboxedProcessCallback result_callback) {
|
||||
SandboxLaunchTimer timer;
|
||||
@@ -954,7 +959,7 @@ ResultCode SandboxWin::StartSandboxedProcess(
|
||||
// Avoid making a policy if we won't use it.
|
||||
if (IsUnsandboxedProcess(delegate->GetSandboxType(), cmd_line,
|
||||
@@ -970,7 +975,7 @@ ResultCode SandboxWin::StartSandboxedProcess(
|
||||
*base::CommandLine::ForCurrentProcess())) {
|
||||
- return LaunchWithoutSandbox(cmd_line, handles_to_inherit, delegate,
|
||||
+ return LaunchWithoutSandbox(cmd_line, *options, delegate,
|
||||
process);
|
||||
}
|
||||
|
||||
@@ -962,7 +967,7 @@ ResultCode SandboxWin::StartSandboxedProcess(
|
||||
base::Process process;
|
||||
ResultCode result =
|
||||
- LaunchWithoutSandbox(cmd_line, handles_to_inherit, delegate, &process);
|
||||
+ LaunchWithoutSandbox(cmd_line, *options, delegate, &process);
|
||||
DWORD last_error = GetLastError();
|
||||
std::move(result_callback).Run(std::move(process), last_error, result);
|
||||
return SBOX_ALL_OK;
|
||||
@@ -980,7 +985,7 @@ ResultCode SandboxWin::StartSandboxedProcess(
|
||||
timer.OnPolicyCreated();
|
||||
|
||||
ResultCode result = GeneratePolicyForSandboxedProcess(
|
||||
- cmd_line, handles_to_inherit, delegate, policy.get());
|
||||
+ cmd_line, options, delegate, policy.get());
|
||||
if (SBOX_ALL_OK != result)
|
||||
return result;
|
||||
timer.OnPolicyGenerated();
|
||||
if (SBOX_ALL_OK != result) {
|
||||
DWORD last_error = GetLastError();
|
||||
std::move(result_callback).Run(base::Process(), last_error, result);
|
||||
diff --git a/sandbox/policy/win/sandbox_win.h b/sandbox/policy/win/sandbox_win.h
|
||||
index 271e80f52b15484ecc8b31b12b012eac39b3d333..cd3d803f52972c4ae8af6a0411b5be0e0a5bc782 100644
|
||||
index ede8bb552b2602fb06a6317399eb910e24a54216..c86744af9de2c366951d659851aaa9cac74b96de 100644
|
||||
--- a/sandbox/policy/win/sandbox_win.h
|
||||
+++ b/sandbox/policy/win/sandbox_win.h
|
||||
@@ -52,7 +52,7 @@ class SANDBOX_POLICY_EXPORT SandboxWin {
|
||||
// Otherwise, returns one of sandbox::ResultCode for any other error.
|
||||
@@ -92,7 +92,7 @@ class SANDBOX_POLICY_EXPORT SandboxWin {
|
||||
// any other error.
|
||||
static ResultCode StartSandboxedProcess(
|
||||
const base::CommandLine& cmd_line,
|
||||
- const base::HandlesToInheritVector& handles_to_inherit,
|
||||
+ const base::LaunchOptions* options,
|
||||
SandboxDelegate* delegate,
|
||||
base::Process* process);
|
||||
StartSandboxedProcessCallback result_callback);
|
||||
|
||||
@@ -65,7 +65,7 @@ class SANDBOX_POLICY_EXPORT SandboxWin {
|
||||
@@ -105,7 +105,7 @@ class SANDBOX_POLICY_EXPORT SandboxWin {
|
||||
// of sandbox::ResultCode for any other error while constructing the policy.
|
||||
static ResultCode GeneratePolicyForSandboxedProcess(
|
||||
const base::CommandLine& cmd_line,
|
||||
|
|
|
@ -103,7 +103,7 @@ index c72cff69afab53000392220abc7decde1236e178..a94783f6dee223294d1ac0d332067b49
|
|||
"display_embedder/software_output_surface.h",
|
||||
"display_embedder/vsync_parameter_listener.cc",
|
||||
diff --git a/components/viz/service/display_embedder/output_surface_provider.h b/components/viz/service/display_embedder/output_surface_provider.h
|
||||
index 524df4c2a1382e6d009ab1165305a79894dca15e..a21da0785be3884e5e299643d306d25e6e97c841 100644
|
||||
index 7fbb05e606fc26364c674c6330b8a5eb9c016fb3..a190a42c2127011ab54aae937a3cab36880ce229 100644
|
||||
--- a/components/viz/service/display_embedder/output_surface_provider.h
|
||||
+++ b/components/viz/service/display_embedder/output_surface_provider.h
|
||||
@@ -42,7 +42,8 @@ class OutputSurfaceProvider {
|
||||
|
@ -204,7 +204,7 @@ index e4b46a79560e7698a6400b2ab8a57f38205a8718..3cb2518c6644cf0618f625d981befd46
|
|||
const raw_ptr<GpuServiceImpl> gpu_service_impl_;
|
||||
|
||||
diff --git a/components/viz/service/display_embedder/software_output_device_mac.cc b/components/viz/service/display_embedder/software_output_device_mac.cc
|
||||
index 7d58c00ddee8b8e14f89b9ba0f82f734294a4828..b9f7c11f28a7fd61cac594cac862d6524b83296d 100644
|
||||
index 446229f7dea794a0148543d112c63b8c38183262..15d097a5761a07cfbc763d6fc739ca35cf3c8660 100644
|
||||
--- a/components/viz/service/display_embedder/software_output_device_mac.cc
|
||||
+++ b/components/viz/service/display_embedder/software_output_device_mac.cc
|
||||
@@ -111,6 +111,8 @@ void SoftwareOutputDeviceMac::UpdateAndCopyBufferDamage(
|
||||
|
@ -521,7 +521,7 @@ index 796ae2688436eb07f19909641d1620dd02f10cdb..c9e0eee0b329caf46669b419b1cd10cf
|
|||
waiting_on_draw_ack_ = true;
|
||||
|
||||
diff --git a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
|
||||
index 463a0f71f75884b78ff33fc459891fbf31a44422..96a74c4b8be58fa7cc5b5066e22c836423ac2a41 100644
|
||||
index 5243e23874994b543f14dd26fc1b45dafea97c67..20ce7d15f56f54afc6c24e2df8e9808243ea49ca 100644
|
||||
--- a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
|
||||
+++ b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
|
||||
@@ -102,7 +102,8 @@ RootCompositorFrameSinkImpl::Create(
|
||||
|
|
|
@ -76,10 +76,10 @@ index f6082bada22c5f4e70af60ea6f555b0f363919c5..228f947edbe04bce242df62080052d9c
|
|||
void ServiceProcessHost::RemoveObserver(Observer* observer) {
|
||||
GetServiceProcessTracker().RemoveObserver(observer);
|
||||
diff --git a/content/browser/utility_process_host.cc b/content/browser/utility_process_host.cc
|
||||
index b617e0fd3aecb3f9cd1c4cfa9aadf68e658a2dbc..c1d6999e53b222ae08ddb5f403de780d01b0ba71 100644
|
||||
index ce73ed7f7070ee276511da674599364a468a2c8f..3af02ceeddc8eb5c585fb04baa4bb20574a2df1b 100644
|
||||
--- a/content/browser/utility_process_host.cc
|
||||
+++ b/content/browser/utility_process_host.cc
|
||||
@@ -519,7 +519,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) {
|
||||
@@ -523,7 +523,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) {
|
||||
// Take ownership of |client_| so the destructor doesn't notify it of
|
||||
// termination.
|
||||
auto client = std::move(client_);
|
||||
|
@ -89,10 +89,10 @@ index b617e0fd3aecb3f9cd1c4cfa9aadf68e658a2dbc..c1d6999e53b222ae08ddb5f403de780d
|
|||
|
||||
std::optional<std::string> UtilityProcessHost::GetServiceName() {
|
||||
diff --git a/content/browser/utility_process_host.h b/content/browser/utility_process_host.h
|
||||
index c1809298c830b814f886859c2626d6bce7b9ac8c..8d202e7e47c08c33394eb49e87b48225f72af445 100644
|
||||
index 16d5efc5f9191020aa2180d665cf520748a62a8f..54eab3d0f1625f9cbdd38eb89d11732fa0bfdaf9 100644
|
||||
--- a/content/browser/utility_process_host.h
|
||||
+++ b/content/browser/utility_process_host.h
|
||||
@@ -78,7 +78,7 @@ class CONTENT_EXPORT UtilityProcessHost
|
||||
@@ -79,7 +79,7 @@ class CONTENT_EXPORT UtilityProcessHost
|
||||
|
||||
virtual void OnProcessLaunched(const base::Process& process) {}
|
||||
virtual void OnProcessTerminatedNormally() {}
|
||||
|
|
|
@ -112,10 +112,10 @@ index 3450c15835d8b792f37764f6edc4a4560be435ef..b1034aa141d6121f8e1524fb34a28a04
|
|||
string mime_type;
|
||||
|
||||
diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
|
||||
index 490ccc66460c62eeb16c2b979e01efd54c4e3eb4..d68c15a828a1c16ad3644d7c4c036bf0e544d1b4 100644
|
||||
index 07142dacbb70d8610604d80328a1176efc1cf2c0..aa1bd9c89083c20a7455a97dd5b2d6e5ce1dc123 100644
|
||||
--- a/services/network/url_loader.cc
|
||||
+++ b/services/network/url_loader.cc
|
||||
@@ -578,6 +578,9 @@ URLLoader::URLLoader(
|
||||
@@ -598,6 +598,9 @@ URLLoader::URLLoader(
|
||||
mojo::SimpleWatcher::ArmingPolicy::MANUAL,
|
||||
base::SequencedTaskRunner::GetCurrentDefault()),
|
||||
per_factory_orb_state_(context.GetMutableOrbState()),
|
||||
|
@ -125,7 +125,7 @@ index 490ccc66460c62eeb16c2b979e01efd54c4e3eb4..d68c15a828a1c16ad3644d7c4c036bf0
|
|||
devtools_request_id_(request.devtools_request_id),
|
||||
request_mode_(request.mode),
|
||||
request_credentials_mode_(request.credentials_mode),
|
||||
@@ -839,7 +842,7 @@ void URLLoader::ConfigureRequest(
|
||||
@@ -869,7 +872,7 @@ void URLLoader::ConfigureRequest(
|
||||
&URLLoader::IsSharedDictionaryReadAllowed, base::Unretained(this)));
|
||||
}
|
||||
|
||||
|
@ -134,7 +134,7 @@ index 490ccc66460c62eeb16c2b979e01efd54c4e3eb4..d68c15a828a1c16ad3644d7c4c036bf0
|
|||
url_request_->SetResponseHeadersCallback(base::BindRepeating(
|
||||
&URLLoader::SetRawResponseHeaders, base::Unretained(this)));
|
||||
}
|
||||
@@ -1802,6 +1805,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
|
||||
@@ -1838,6 +1841,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
|
||||
}
|
||||
|
||||
response_ = BuildResponseHead();
|
||||
|
@ -155,10 +155,10 @@ index 490ccc66460c62eeb16c2b979e01efd54c4e3eb4..d68c15a828a1c16ad3644d7c4c036bf0
|
|||
|
||||
// Parse and remove the Trust Tokens response headers, if any are expected,
|
||||
diff --git a/services/network/url_loader.h b/services/network/url_loader.h
|
||||
index c2a638fb6cf1360d8dcbed058ce295a2ef91000d..f80f2848281fd88f08d23a9b4377a29e2d1ba76e 100644
|
||||
index e29f1180083d13cb4642457cfd756d93a79c5f01..eb238a5d31c5df1b073d08b8b01f7df0e6119b8e 100644
|
||||
--- a/services/network/url_loader.h
|
||||
+++ b/services/network/url_loader.h
|
||||
@@ -704,6 +704,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
|
||||
@@ -706,6 +706,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
|
||||
std::unique_ptr<ResourceScheduler::ScheduledResourceRequest>
|
||||
resource_scheduler_request_handle_;
|
||||
|
||||
|
|
|
@ -23,10 +23,10 @@ Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397.
|
|||
Upstreamed at https://chromium-review.googlesource.com/c/chromium/src/+/3856266.
|
||||
|
||||
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
|
||||
index 1162861b389f4c580dd058525e30b2f7cab76177..7f851ed44373445722df544f759537604664543e 100644
|
||||
index 53bba48293111e74daba50dde617fb78f1bcc7ee..67083fb13db2020f432ec488a784bcfb9570d737 100644
|
||||
--- a/content/browser/renderer_host/navigation_request.cc
|
||||
+++ b/content/browser/renderer_host/navigation_request.cc
|
||||
@@ -10785,6 +10785,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo() {
|
||||
@@ -10788,6 +10788,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo() {
|
||||
"blob");
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,7 @@ index 1162861b389f4c580dd058525e30b2f7cab76177..7f851ed44373445722df544f75953760
|
|||
// origin of |common_params.url| and/or |common_params.initiator_origin|.
|
||||
url::Origin resolved_origin = url::Origin::Resolve(
|
||||
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
|
||||
index 7de11767815fb58e060ae935ef59e2433dfd4d1f..024ee08507a2392f4482c1c1b3c1048ba3a48acb 100644
|
||||
index 547a483db71e2980cc040fe853775fbc07723979..85c6d240a68e52b9d59fae7bbe36603e627b2893 100644
|
||||
--- a/third_party/blink/renderer/core/loader/document_loader.cc
|
||||
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
|
||||
@@ -2264,6 +2264,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() {
|
||||
|
|
|
@ -11,7 +11,7 @@ while the renderer is blocked. This Cl takes an approach similar to that taken i
|
|||
MediaQueryList in order to enable the promise to be resolved.
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/css/font_face_set_document.cc b/third_party/blink/renderer/core/css/font_face_set_document.cc
|
||||
index 01b075079fd7a75fb8cb5d876f6db927678c60db..436d04c3c739a7273c44130f6ed86486568f413c 100644
|
||||
index 921e3339e967b759e3074278e920616bc85b40b3..c0ffacc4082367e0296359fa5e0aedae53217506 100644
|
||||
--- a/third_party/blink/renderer/core/css/font_face_set_document.cc
|
||||
+++ b/third_party/blink/renderer/core/css/font_face_set_document.cc
|
||||
@@ -27,6 +27,7 @@
|
||||
|
@ -22,7 +22,7 @@ index 01b075079fd7a75fb8cb5d876f6db927678c60db..436d04c3c739a7273c44130f6ed86486
|
|||
#include "third_party/blink/renderer/bindings/core/v8/dictionary.h"
|
||||
#include "third_party/blink/renderer/core/css/css_font_face.h"
|
||||
#include "third_party/blink/renderer/core/css/css_font_selector.h"
|
||||
@@ -150,21 +151,27 @@ FontFaceSetDocument::CSSConnectedFontFaceList() const {
|
||||
@@ -144,21 +145,27 @@ FontFaceSetDocument::CSSConnectedFontFaceList() const {
|
||||
}
|
||||
|
||||
void FontFaceSetDocument::FireDoneEventIfPossible() {
|
||||
|
|
|
@ -87,10 +87,10 @@ index 0c7d5b2c1d3e97420913bd643bb2a524a76fc286..653793fa480f035ce11e079b370bf5ed
|
|||
// The view with active text input state, i.e., a focused <input> element.
|
||||
// It will be nullptr if no such view exists. Note that the active view
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index d09320ddcb75d93de990f0ec3963edb6b6b793fe..2841e3c1b0cb1bb538c91e18d83ac81ff230d130 100644
|
||||
index 5ee493c16d2ff59438c2e233f7e30d796711ee06..c1e2bf39aa70776b7e3b26ac78c82995cd376c58 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -9226,7 +9226,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
|
||||
@@ -9235,7 +9235,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
|
||||
"WebContentsImpl::OnFocusedElementChangedInFrame",
|
||||
"render_frame_host", frame);
|
||||
RenderWidgetHostViewBase* root_view =
|
||||
|
|
|
@ -11,10 +11,10 @@ This patch should be upstreamed as a conditional revert of the logic in desktop
|
|||
vs mobile runtimes. i.e. restore the old logic only on desktop platforms
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
index c0c9880221704bba85a85e841f7c2ed0ffe482d9..f9cc663212ae493c4cd1861cf57decec5d723152 100644
|
||||
index 3815310c78446a3cebc61680a01a374d0295e7a3..912669bdf7886b69f8386dd10ad1c1aaba2f5f27 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
@@ -2044,9 +2044,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() {
|
||||
@@ -2048,9 +2048,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() {
|
||||
void RenderWidgetHostImpl::NotifyScreenInfoChanged() {
|
||||
// The resize message (which may not happen immediately) will carry with it
|
||||
// the screen info as well as the new size (if the screen has changed scale
|
||||
|
|
|
@ -204,7 +204,7 @@ index fa65331f40b90d812b71a489fd560e9359152d2b..390714d631dc88ef92d59ef9618a5706
|
|||
const mojom::blink::UserActivationOption user_activation_option_;
|
||||
const mojom::blink::LoadEventBlockingOption blocking_option_;
|
||||
diff --git a/third_party/blink/renderer/core/frame/web_frame_test.cc b/third_party/blink/renderer/core/frame/web_frame_test.cc
|
||||
index 1672a1a8821c3621642ee8265fa54c2f47229113..699d3e30d9ca78dc56d6639511138e0420f89e1b 100644
|
||||
index 9c95dcc932a7744ea43f84fcf558efc14a3096d9..8dddf3b038a99fb52746985526d328707a94b58d 100644
|
||||
--- a/third_party/blink/renderer/core/frame/web_frame_test.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/web_frame_test.cc
|
||||
@@ -291,6 +291,7 @@ void ExecuteScriptsInMainWorld(
|
||||
|
|
|
@ -20,7 +20,7 @@ index 5b38f2caad8e093e44e3231f3a13c3976b15da10..b1c61e7f860decb254c837fb6a05573f
|
|||
}
|
||||
|
||||
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
||||
index ff16736f47ad642211ee21b44479c5e449acf33f..e721bde4eba6cc28bcff0f7df1b6d55aea18eb5d 100644
|
||||
index ad94803577af27c84e247ace2137995a9ca886e0..10c384267137a983eef90c3de9086f5139a17cc7 100644
|
||||
--- a/content/public/browser/content_browser_client.h
|
||||
+++ b/content/public/browser/content_browser_client.h
|
||||
@@ -337,6 +337,11 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
|
|
|
@ -6,11 +6,11 @@ Subject: gritsettings_resource_ids.patch
|
|||
Add electron resources file to the list of resource ids generation.
|
||||
|
||||
diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec
|
||||
index 6cdb46db1feaead6031a2ca51d46168649e98499..ba3c9dcc304cc000cf08d695ba6d750f6aa1ad59 100644
|
||||
index b131fe5e2ee2adc4ba2e04932ff351510e5adf88..6a42ae3402dda916a45505a9b44905add5193db3 100644
|
||||
--- a/tools/gritsettings/resource_ids.spec
|
||||
+++ b/tools/gritsettings/resource_ids.spec
|
||||
@@ -1355,6 +1355,11 @@
|
||||
"includes": [8460],
|
||||
@@ -1370,6 +1370,11 @@
|
||||
"includes": [10060],
|
||||
},
|
||||
|
||||
+ "electron/electron_resources.grd": {
|
||||
|
|
|
@ -35,10 +35,10 @@ system font by checking if it's kCTFontPriorityAttribute is set to
|
|||
system priority.
|
||||
|
||||
diff --git a/base/BUILD.gn b/base/BUILD.gn
|
||||
index aa1654d428420e99bdce3abf3140f764d73e7c48..3d989d0d38ec85b44f89a525cda922e636aa3ce9 100644
|
||||
index 3d2dab5457c7e5f2de0dee28ec533b36fc767a40..e5eb12a276d346beb70d6115ccc6de838e5d8803 100644
|
||||
--- a/base/BUILD.gn
|
||||
+++ b/base/BUILD.gn
|
||||
@@ -1036,6 +1036,7 @@ component("base") {
|
||||
@@ -1037,6 +1037,7 @@ component("base") {
|
||||
"//build:ios_buildflags",
|
||||
"//build/config/compiler:compiler_buildflags",
|
||||
"//third_party/modp_b64",
|
||||
|
@ -81,7 +81,7 @@ index 4bf9a3c27e05c6635b2beb8e880b5b43dbed61b5..f328fbb49c45991f44a9c75325491d08
|
|||
|
||||
} // namespace base
|
||||
diff --git a/base/process/launch_mac.cc b/base/process/launch_mac.cc
|
||||
index 569c1c83d82517d9cb65282f766368ce3d9d0572..8114bf8e9a9d002824b3804bff599591eacaba37 100644
|
||||
index f8ab18cc6b0e5e3d63c1a548aa1d031703c3e96c..c9eb1f688a0ff8f99c8d869cf2cf14206347b359 100644
|
||||
--- a/base/process/launch_mac.cc
|
||||
+++ b/base/process/launch_mac.cc
|
||||
@@ -21,13 +21,19 @@
|
||||
|
@ -558,7 +558,7 @@ index 13c3fe06c417a2565e6af4552930a56c44a01fb3..ef67191f5d010451cde2b084d6165c7d
|
|||
return kAttributes;
|
||||
}
|
||||
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
|
||||
index 70e143feb497711d12857333d48ce2ac4325bcd9..3ec50c52f1d824c544c77515213f7a50c9870a11 100644
|
||||
index 2d5c5f20907719f50663911e21f8eedf016f251f..e025a098d1e77c682b3e12fb8f1a7f300fdb119e 100644
|
||||
--- a/content/browser/BUILD.gn
|
||||
+++ b/content/browser/BUILD.gn
|
||||
@@ -320,6 +320,7 @@ source_set("browser") {
|
||||
|
@ -771,7 +771,7 @@ index a1068589ad844518038ee7bc15a3de9bc5cba525..1ff781c49f086ec8015c7d3c44567dbe
|
|||
|
||||
} // namespace content
|
||||
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
|
||||
index 3788cc19ac4abf84ad856a15b94f88fb4fdec00d..26a601565370e0ae4479eea7207e58dedef38e14 100644
|
||||
index b16333d20e5e48b79a6a494581f74d0791ffefa4..4cc8f764c551f1ee11828f31dae143c0fdefeb30 100644
|
||||
--- a/content/test/BUILD.gn
|
||||
+++ b/content/test/BUILD.gn
|
||||
@@ -638,6 +638,7 @@ static_library("test_support") {
|
||||
|
@ -790,7 +790,7 @@ index 3788cc19ac4abf84ad856a15b94f88fb4fdec00d..26a601565370e0ae4479eea7207e58de
|
|||
}
|
||||
|
||||
mojom("content_test_mojo_bindings") {
|
||||
@@ -1931,6 +1933,7 @@ test("content_browsertests") {
|
||||
@@ -1930,6 +1932,7 @@ test("content_browsertests") {
|
||||
"//ui/shell_dialogs",
|
||||
"//ui/snapshot",
|
||||
"//ui/webui:test_support",
|
||||
|
@ -798,7 +798,7 @@ index 3788cc19ac4abf84ad856a15b94f88fb4fdec00d..26a601565370e0ae4479eea7207e58de
|
|||
]
|
||||
|
||||
if (!(is_chromeos_ash && target_cpu == "arm64" && current_cpu == "arm")) {
|
||||
@@ -3206,6 +3209,7 @@ test("content_unittests") {
|
||||
@@ -3207,6 +3210,7 @@ test("content_unittests") {
|
||||
"//ui/latency:test_support",
|
||||
"//ui/shell_dialogs:shell_dialogs",
|
||||
"//ui/webui:test_support",
|
||||
|
@ -1002,7 +1002,7 @@ index 70d5665ad7b9ef62370497636af919ede2508ad4..f4dc3e2b8053cdb3e8c439ab1a1d6369
|
|||
}
|
||||
|
||||
diff --git a/sandbox/mac/BUILD.gn b/sandbox/mac/BUILD.gn
|
||||
index 299a028f23314f479d2da8f914a5bdf34698d854..67a56a3b4c8fc524f1ec8cfec856f24d30402134 100644
|
||||
index 4e53d573ff67615bc7dcee7db6f855c67094f414..8b061d66b1a854b51a5a38b6a71eadab6a7dbbec 100644
|
||||
--- a/sandbox/mac/BUILD.gn
|
||||
+++ b/sandbox/mac/BUILD.gn
|
||||
@@ -39,6 +39,7 @@ component("seatbelt") {
|
||||
|
@ -1371,7 +1371,7 @@ index eb81a70e4d5d5cd3e6ae9b45f8cd1c795ea76c51..9921ccb10d3455600eddd85f77f10228
|
|||
|
||||
} // namespace sandbox
|
||||
diff --git a/third_party/blink/renderer/core/BUILD.gn b/third_party/blink/renderer/core/BUILD.gn
|
||||
index 2233bfae37c1339eee79fd3b5636e2e71d3ed2c7..ca2cb6a50970db35c2ac0694d3e165462b3ca6d9 100644
|
||||
index 3bc370e0beafd792ba4737013b3e7d59da8cf306..aa391a0b23372c944ab11a6496771ecbbe6b5e1a 100644
|
||||
--- a/third_party/blink/renderer/core/BUILD.gn
|
||||
+++ b/third_party/blink/renderer/core/BUILD.gn
|
||||
@@ -403,6 +403,7 @@ component("core") {
|
||||
|
@ -1612,10 +1612,10 @@ index c8171f0527fe5194f0ea73b57c4444d4c630fbc4..c2ac4da580e3e7f749a0a4de1e859af6
|
|||
// Accessible object
|
||||
if (AXElementWrapper::IsValidElement(value)) {
|
||||
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
|
||||
index f2b93abee260e1cc17c425c6c44e377d11ee1967..c09de27ee1e6d28c0dbbc0d777129e180c92128f 100644
|
||||
index 8ce9bc840e32fde0f058733376e74e1238a69a7f..cdf34bc28085df368e14fe11df28df019370a69d 100644
|
||||
--- a/ui/base/BUILD.gn
|
||||
+++ b/ui/base/BUILD.gn
|
||||
@@ -381,6 +381,13 @@ component("base") {
|
||||
@@ -386,6 +386,13 @@ component("base") {
|
||||
sources += [ "resource/resource_bundle_lacros.cc" ]
|
||||
}
|
||||
|
||||
|
@ -1629,7 +1629,7 @@ index f2b93abee260e1cc17c425c6c44e377d11ee1967..c09de27ee1e6d28c0dbbc0d777129e18
|
|||
if (is_ios) {
|
||||
sources += [
|
||||
"device_form_factor_ios.mm",
|
||||
@@ -532,6 +539,12 @@ component("base") {
|
||||
@@ -537,6 +544,12 @@ component("base") {
|
||||
"//url",
|
||||
]
|
||||
|
||||
|
@ -1752,7 +1752,7 @@ index 84afacf999c4905fdbaba332e19058a6471c3436..bbab402c8c11e62dad7fa946d9550efa
|
|||
deps += [ "//build:ios_buildflags" ]
|
||||
}
|
||||
diff --git a/ui/display/mac/screen_mac.mm b/ui/display/mac/screen_mac.mm
|
||||
index 35b71abc95f83bb01dba3f69e2d69a026840b7a2..6a2ff6768f16e503657cdb7ff6be7587c45842ec 100644
|
||||
index c4ab83ca4f48e5357fe9bcf024b3f95612223cdf..d97c9731884769079e53fa334f44319e339b4fc2 100644
|
||||
--- a/ui/display/mac/screen_mac.mm
|
||||
+++ b/ui/display/mac/screen_mac.mm
|
||||
@@ -30,6 +30,7 @@
|
||||
|
@ -1782,7 +1782,7 @@ index 35b71abc95f83bb01dba3f69e2d69a026840b7a2..6a2ff6768f16e503657cdb7ff6be7587
|
|||
// Query the display's refresh rate.
|
||||
if (@available(macos 12.0, *)) {
|
||||
diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn
|
||||
index c95b3ce1e1e7b87aab25cf596eb34eea6590db68..0336b2332d8274bd5fe71e4506d3de7b15830576 100644
|
||||
index 762ffff0e4a7ffc40e85dc82f5f0f243a447a85d..db4fbc65fded3beb58e6c336e1d4c4d33d3b2c25 100644
|
||||
--- a/ui/gfx/BUILD.gn
|
||||
+++ b/ui/gfx/BUILD.gn
|
||||
@@ -335,6 +335,12 @@ component("gfx") {
|
||||
|
|
|
@ -177,7 +177,7 @@ index 256de870d2c6defd3f0b389ee5f596c01051533f..a898e09ac0c989952fe2032ca4ea6ddf
|
|||
std::unique_ptr<HostResolver> internal_host_resolver_;
|
||||
std::set<std::unique_ptr<HostResolver>, base::UniquePtrComparator>
|
||||
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
|
||||
index 2cea6e6435b25f472252d56f5cbe1eddc1eccec1..0e6697aca687d8d8103f3cc2cdff03be383ba6c3 100644
|
||||
index 83bce4a3bf9dc2574bc0f9ab8921f3dfe632ec27..362d2c79a4f8bda162f87841ba0629e88347bf14 100644
|
||||
--- a/services/network/public/mojom/network_context.mojom
|
||||
+++ b/services/network/public/mojom/network_context.mojom
|
||||
@@ -298,6 +298,16 @@ struct SocketBrokerRemotes {
|
||||
|
@ -197,7 +197,7 @@ index 2cea6e6435b25f472252d56f5cbe1eddc1eccec1..0e6697aca687d8d8103f3cc2cdff03be
|
|||
|
||||
// Parameters for constructing a network context.
|
||||
struct NetworkContextParams {
|
||||
@@ -979,6 +989,9 @@ interface NetworkContext {
|
||||
@@ -976,6 +986,9 @@ interface NetworkContext {
|
||||
// Sets a client for this network context.
|
||||
SetClient(pending_remote<NetworkContextClient> client);
|
||||
|
||||
|
|
|
@ -133,10 +133,10 @@ index 05d3a12dd84c7005d46cc73b312f97ef418d96f5..4765de982802541b3efc7211d106acc7
|
|||
const GURL& document_url,
|
||||
const WeakDocumentPtr& weak_document_ptr,
|
||||
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
index 8f202aac088f2850a57d303e265b1f7a7f40b4f2..418268589bc912bb19c61f0914985a448a8907e8 100644
|
||||
index 22667bee38eb6f71c28132eaf4002f2b46ca3b39..aa6d50c94b28e3a3191acc9a12617205a1c797a9 100644
|
||||
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
@@ -2108,7 +2108,7 @@ void RenderProcessHostImpl::CreateNotificationService(
|
||||
@@ -2110,7 +2110,7 @@ void RenderProcessHostImpl::CreateNotificationService(
|
||||
case RenderProcessHost::NotificationServiceCreatorType::kSharedWorker:
|
||||
case RenderProcessHost::NotificationServiceCreatorType::kDedicatedWorker: {
|
||||
storage_partition_impl_->GetPlatformNotificationContext()->CreateService(
|
||||
|
@ -145,7 +145,7 @@ index 8f202aac088f2850a57d303e265b1f7a7f40b4f2..418268589bc912bb19c61f0914985a44
|
|||
creator_type, std::move(receiver));
|
||||
break;
|
||||
}
|
||||
@@ -2116,7 +2116,7 @@ void RenderProcessHostImpl::CreateNotificationService(
|
||||
@@ -2118,7 +2118,7 @@ void RenderProcessHostImpl::CreateNotificationService(
|
||||
CHECK(rfh);
|
||||
|
||||
storage_partition_impl_->GetPlatformNotificationContext()->CreateService(
|
||||
|
|
|
@ -10,7 +10,7 @@ an about:blank check to this area.
|
|||
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5403876
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
index f4bee04daf1ac7c6af12e7cadc7f45d42312a712..49e80ca315d23c0886a11786b36b0acb1d109b3a 100644
|
||||
index 8abcf9d0bf63496692408464ca5e5a3ede9dac4b..a21bc7a8dfa8edaad2a32f274e2dbfbcd7ac525c 100644
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -783,8 +783,8 @@ void VerifyThatBrowserAndRendererCalculatedOriginsToCommitMatch(
|
||||
|
|
|
@ -860,10 +860,10 @@ index 9c91fdf50b38ad437279eaada4359a7a95911d07..8eed4887949d0c30f067d86aaa971ee5
|
|||
ScriptingThrottler scripting_throttler_;
|
||||
|
||||
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
|
||||
index 3ec50c52f1d824c544c77515213f7a50c9870a11..14b84d7fa67796afb390eccd227ba4311f536ffa 100644
|
||||
index e025a098d1e77c682b3e12fb8f1a7f300fdb119e..4f66fb182b99be75f8147c2ecc450833f8efdcd0 100644
|
||||
--- a/content/browser/BUILD.gn
|
||||
+++ b/content/browser/BUILD.gn
|
||||
@@ -3001,8 +3001,9 @@ source_set("browser") {
|
||||
@@ -3003,8 +3003,9 @@ source_set("browser") {
|
||||
"//ppapi/shared_impl",
|
||||
]
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ index 23a8257aa2a0a671cf7af35aff9906891091606d..31f5b160e4cd755cfb56a62b04261ee1
|
|||
base::win::MessageWindow window_; // The message-only window.
|
||||
bool is_virtualized_; // Stuck inside Microsoft Softricity VM environment.
|
||||
diff --git a/chrome/browser/process_singleton_posix.cc b/chrome/browser/process_singleton_posix.cc
|
||||
index 14b9c99e81e0999d1a2e25557e6a731ec88f6a22..f8cf2fb4ab66dae92b80c17cdda8b984fe4807c7 100644
|
||||
index 80b0c47637a6726e1e43113d84187910911271b4..72cdfe2c4a0258dbd575f536ca42fa1d53f44988 100644
|
||||
--- a/chrome/browser/process_singleton_posix.cc
|
||||
+++ b/chrome/browser/process_singleton_posix.cc
|
||||
@@ -59,6 +59,7 @@
|
||||
|
@ -129,7 +129,7 @@ index 14b9c99e81e0999d1a2e25557e6a731ec88f6a22..f8cf2fb4ab66dae92b80c17cdda8b984
|
|||
}
|
||||
|
||||
ProcessSingleton::NotifyResult ProcessSingleton::NotifyOtherProcess() {
|
||||
@@ -1053,11 +1077,32 @@ bool ProcessSingleton::Create() {
|
||||
@@ -1058,11 +1082,32 @@ bool ProcessSingleton::Create() {
|
||||
// Create the socket file somewhere in /tmp which is usually mounted as a
|
||||
// normal filesystem. Some network filesystems (notably AFS) are screwy and
|
||||
// do not support Unix domain sockets.
|
||||
|
@ -165,7 +165,7 @@ index 14b9c99e81e0999d1a2e25557e6a731ec88f6a22..f8cf2fb4ab66dae92b80c17cdda8b984
|
|||
int dir_mode = 0;
|
||||
CHECK(base::GetPosixFilePermissions(socket_dir_.GetPath(), &dir_mode) &&
|
||||
diff --git a/chrome/browser/process_singleton_win.cc b/chrome/browser/process_singleton_win.cc
|
||||
index b6dba0d8f1de90c88ac4457351f068f6a111e435..a0ef81d42bd9a58786b00a1601625e6822bc26f6 100644
|
||||
index 3138eaa2c1e8ed806d81445149d4f88f54d19254..27216805188c77aa45b478e66b04a2d45f92fba6 100644
|
||||
--- a/chrome/browser/process_singleton_win.cc
|
||||
+++ b/chrome/browser/process_singleton_win.cc
|
||||
@@ -29,7 +29,9 @@
|
||||
|
@ -211,7 +211,7 @@ index b6dba0d8f1de90c88ac4457351f068f6a111e435..a0ef81d42bd9a58786b00a1601625e68
|
|||
is_virtualized_(false),
|
||||
lock_file_(INVALID_HANDLE_VALUE),
|
||||
user_data_dir_(user_data_dir),
|
||||
@@ -378,7 +389,7 @@ ProcessSingleton::NotifyOtherProcessOrCreate() {
|
||||
@@ -381,7 +392,7 @@ ProcessSingleton::NotifyOtherProcessOrCreate() {
|
||||
bool ProcessSingleton::Create() {
|
||||
TRACE_EVENT0("startup", "ProcessSingleton::Create");
|
||||
|
||||
|
@ -220,7 +220,7 @@ index b6dba0d8f1de90c88ac4457351f068f6a111e435..a0ef81d42bd9a58786b00a1601625e68
|
|||
|
||||
remote_window_ = chrome::FindRunningChromeWindow(user_data_dir_);
|
||||
if (!remote_window_ && !EscapeVirtualization(user_data_dir_)) {
|
||||
@@ -387,7 +398,7 @@ bool ProcessSingleton::Create() {
|
||||
@@ -390,7 +401,7 @@ bool ProcessSingleton::Create() {
|
||||
// access. As documented, it's clearer to NOT request ownership on creation
|
||||
// since it isn't guaranteed we will get it. It is better to create it
|
||||
// without ownership and explicitly get the ownership afterward.
|
||||
|
@ -229,7 +229,7 @@ index b6dba0d8f1de90c88ac4457351f068f6a111e435..a0ef81d42bd9a58786b00a1601625e68
|
|||
if (!only_me.IsValid()) {
|
||||
DPLOG(FATAL) << "CreateMutex failed";
|
||||
return false;
|
||||
@@ -426,6 +437,17 @@ bool ProcessSingleton::Create() {
|
||||
@@ -429,6 +440,17 @@ bool ProcessSingleton::Create() {
|
||||
window_.CreateNamed(base::BindRepeating(&ProcessLaunchNotification,
|
||||
notification_callback_),
|
||||
user_data_dir_.value());
|
||||
|
|
|
@ -8,7 +8,7 @@ Chrome moved the SetCursor IPC message to mojo, which we use to tell OSR about `
|
|||
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2172779
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_delegate.h b/content/browser/renderer_host/render_widget_host_delegate.h
|
||||
index 76acfee7bee2bc9ab25fc692a0f2485091a39da5..48cba2fbd4e86956197d7b114dcefc4bc0cd454c 100644
|
||||
index dea7ba2237cea261fe0b526753e1a9c4e355e484..9e3bf5eca5e9ad99112069a28b7fb8c1dd41aed1 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_delegate.h
|
||||
+++ b/content/browser/renderer_host/render_widget_host_delegate.h
|
||||
@@ -27,6 +27,7 @@
|
||||
|
@ -19,7 +19,7 @@ index 76acfee7bee2bc9ab25fc692a0f2485091a39da5..48cba2fbd4e86956197d7b114dcefc4b
|
|||
#include "ui/gfx/native_widget_types.h"
|
||||
|
||||
namespace blink {
|
||||
@@ -288,6 +289,9 @@ class CONTENT_EXPORT RenderWidgetHostDelegate {
|
||||
@@ -293,6 +294,9 @@ class CONTENT_EXPORT RenderWidgetHostDelegate {
|
||||
// Returns the associated RenderViewHostDelegateView*, if possible.
|
||||
virtual RenderViewHostDelegateView* GetDelegateView();
|
||||
|
||||
|
@ -30,10 +30,10 @@ index 76acfee7bee2bc9ab25fc692a0f2485091a39da5..48cba2fbd4e86956197d7b114dcefc4b
|
|||
// RenderWidgetHost on the primary main frame, and false otherwise.
|
||||
virtual bool IsWidgetForPrimaryMainFrame(RenderWidgetHostImpl*);
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
index c74c3d2bad9eaea9fe7cab4069222afc4bb77162..c0c9880221704bba85a85e841f7c2ed0ffe482d9 100644
|
||||
index ce714ed077d9e5a22b5de926408fbe6d35cc04d6..3815310c78446a3cebc61680a01a374d0295e7a3 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
@@ -1978,6 +1978,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) {
|
||||
@@ -1982,6 +1982,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) {
|
||||
if (view_) {
|
||||
view_->UpdateCursor(cursor);
|
||||
}
|
||||
|
@ -44,10 +44,10 @@ index c74c3d2bad9eaea9fe7cab4069222afc4bb77162..c0c9880221704bba85a85e841f7c2ed0
|
|||
|
||||
void RenderWidgetHostImpl::ShowContextMenuAtPoint(
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 06ca908e1668050bb87609406fa4dc9eff9b6adf..71f54a7331e1a297fac194da26337a20fbe69301 100644
|
||||
index c67be0c23f8b8d6f49ee82e1617c0f3cfee5c9ab..76d396192337ad3b3046c6eb80c14a7d4a54ac8c 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -5484,6 +5484,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
|
||||
@@ -5493,6 +5493,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
|
||||
return text_input_manager_.get();
|
||||
}
|
||||
|
||||
|
@ -60,10 +60,10 @@ index 06ca908e1668050bb87609406fa4dc9eff9b6adf..71f54a7331e1a297fac194da26337a20
|
|||
RenderWidgetHostImpl* render_widget_host) {
|
||||
return render_widget_host == GetPrimaryMainFrame()->GetRenderWidgetHost();
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
|
||||
index 451f8d21ce2046382969dd0df588e831f277abf4..9a55acf3cc4da09ad7ba8944a32315d11624590f 100644
|
||||
index b17c393dd5d622130fa0bea0e74ebfc3a68b4cb3..be8fa9d6b4b72bab11b68a10fc55225cdf4f52aa 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.h
|
||||
+++ b/content/browser/web_contents/web_contents_impl.h
|
||||
@@ -1120,6 +1120,7 @@ class CONTENT_EXPORT WebContentsImpl
|
||||
@@ -1122,6 +1122,7 @@ class CONTENT_EXPORT WebContentsImpl
|
||||
void SendScreenRects() override;
|
||||
void SendActiveState(bool active) override;
|
||||
TextInputManager* GetTextInputManager() override;
|
||||
|
|
|
@ -8,10 +8,10 @@ it in Electron and prevent drift from Chrome's blocklist. We should look for a w
|
|||
to upstream this change to Chrome.
|
||||
|
||||
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
||||
index 50b148bc25badf4d11c084dd279a7794514e0cbb..1cf7708f4ba89778de35f6953ff03df78fc0d4a7 100644
|
||||
index c9db1ca9b650effbdf3374038fea663574b414ad..9e6843c6477b9d1034951c51d64ca1b9bfb7bb17 100644
|
||||
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
||||
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
||||
@@ -43,7 +43,6 @@
|
||||
@@ -45,7 +45,6 @@
|
||||
#include "chrome/browser/ui/file_system_access/file_system_access_dangerous_file_dialog.h"
|
||||
#include "chrome/browser/ui/file_system_access/file_system_access_dialogs.h"
|
||||
#include "chrome/browser/ui/file_system_access/file_system_access_restricted_directory_dialog.h"
|
||||
|
@ -19,7 +19,7 @@ index 50b148bc25badf4d11c084dd279a7794514e0cbb..1cf7708f4ba89778de35f6953ff03df7
|
|||
#include "chrome/grit/generated_resources.h"
|
||||
#include "components/content_settings/core/browser/host_content_settings_map.h"
|
||||
#include "components/content_settings/core/common/content_settings.h"
|
||||
@@ -235,122 +234,10 @@ bool MaybeIsLocalUNCPath(const base::FilePath& path) {
|
||||
@@ -239,126 +238,10 @@ bool MaybeIsLocalUNCPath(const base::FilePath& path) {
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -97,6 +97,10 @@ index 50b148bc25badf4d11c084dd279a7794514e0cbb..1cf7708f4ba89778de35f6953ff03df7
|
|||
-#if BUILDFLAG(IS_MAC)
|
||||
- // Similar Mac specific blocks.
|
||||
- {base::DIR_APP_DATA, nullptr, kBlockAllChildren},
|
||||
- // Block access to the user's Applications directory.
|
||||
- {base::DIR_HOME, FILE_PATH_LITERAL("Applications"), kBlockAllChildren},
|
||||
- // Block access to the root Applications directory.
|
||||
- {kNoBasePathKey, FILE_PATH_LITERAL("/Applications"), kBlockAllChildren},
|
||||
- {base::DIR_HOME, FILE_PATH_LITERAL("Library"), kBlockAllChildren},
|
||||
- // Allow access to other cloud files, such as Google Drive.
|
||||
- {base::DIR_HOME, FILE_PATH_LITERAL("Library/CloudStorage"),
|
||||
|
@ -147,10 +151,10 @@ index 50b148bc25badf4d11c084dd279a7794514e0cbb..1cf7708f4ba89778de35f6953ff03df7
|
|||
// Describes a rule for blocking a directory, which can be constructed
|
||||
// dynamically (based on state) or statically (from kBlockedPaths).
|
||||
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
|
||||
index eaff88d9e4d14040a597b2739574231b6d2d8232..ec614eb4ad6984ebfa3e8360331db2ee8d11050d 100644
|
||||
index 67c777c9576587500f37d066689ec072ff483c8f..6390432e93d2517cf94902bd2cf66ad5ac7379f6 100644
|
||||
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
|
||||
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
|
||||
@@ -17,12 +17,13 @@
|
||||
@@ -17,7 +17,7 @@
|
||||
#include "base/time/default_clock.h"
|
||||
#include "chrome/browser/file_system_access/file_system_access_features.h"
|
||||
#include "chrome/browser/file_system_access/file_system_access_permission_request_manager.h"
|
||||
|
@ -159,13 +163,7 @@ index eaff88d9e4d14040a597b2739574231b6d2d8232..ec614eb4ad6984ebfa3e8360331db2ee
|
|||
#include "components/permissions/features.h"
|
||||
#include "components/permissions/object_permission_context_base.h"
|
||||
#include "content/public/browser/file_system_access_permission_context.h"
|
||||
#include "third_party/blink/public/mojom/file_system_access/file_system_access_manager.mojom-forward.h"
|
||||
|
||||
+
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
#include "chrome/browser/permissions/one_time_permissions_tracker.h"
|
||||
#include "chrome/browser/permissions/one_time_permissions_tracker_observer.h"
|
||||
@@ -30,7 +31,7 @@
|
||||
@@ -30,7 +30,7 @@
|
||||
#include "chrome/browser/web_applications/web_app_install_manager_observer.h"
|
||||
#endif
|
||||
|
||||
|
@ -174,13 +172,13 @@ index eaff88d9e4d14040a597b2739574231b6d2d8232..ec614eb4ad6984ebfa3e8360331db2ee
|
|||
#include "components/enterprise/common/files_scan_data.h"
|
||||
#endif
|
||||
|
||||
@@ -338,6 +339,123 @@ class ChromeFileSystemAccessPermissionContext
|
||||
@@ -333,6 +333,127 @@ class ChromeFileSystemAccessPermissionContext
|
||||
// KeyedService:
|
||||
void Shutdown() override;
|
||||
|
||||
+ // Sentinel used to indicate that no PathService key is specified for a path in
|
||||
+ // the struct below.
|
||||
+ static constexpr int kNoBasePathKey = -1;
|
||||
+ static constexpr const int kNoBasePathKey = -1;
|
||||
+
|
||||
+ enum BlockType {
|
||||
+ kBlockAllChildren,
|
||||
|
@ -252,6 +250,10 @@ index eaff88d9e4d14040a597b2739574231b6d2d8232..ec614eb4ad6984ebfa3e8360331db2ee
|
|||
+ #if BUILDFLAG(IS_MAC)
|
||||
+ // Similar Mac specific blocks.
|
||||
+ {base::DIR_APP_DATA, nullptr, kBlockAllChildren},
|
||||
+ // Block access to the user's Applications directory.
|
||||
+ {base::DIR_HOME, FILE_PATH_LITERAL("Applications"), kBlockAllChildren},
|
||||
+ // Block access to the root Applications directory.
|
||||
+ {kNoBasePathKey, FILE_PATH_LITERAL("/Applications"), kBlockAllChildren},
|
||||
+ {base::DIR_HOME, FILE_PATH_LITERAL("Library"), kBlockAllChildren},
|
||||
+ // Allow access to other cloud files, such as Google Drive.
|
||||
+ {base::DIR_HOME, FILE_PATH_LITERAL("Library/CloudStorage"),
|
||||
|
@ -298,12 +300,12 @@ index eaff88d9e4d14040a597b2739574231b6d2d8232..ec614eb4ad6984ebfa3e8360331db2ee
|
|||
protected:
|
||||
SEQUENCE_CHECKER(sequence_checker_);
|
||||
|
||||
@@ -357,7 +475,7 @@ class ChromeFileSystemAccessPermissionContext
|
||||
@@ -352,7 +473,7 @@ class ChromeFileSystemAccessPermissionContext
|
||||
|
||||
void PermissionGrantDestroyed(PermissionGrantImpl* grant);
|
||||
|
||||
-#if BUILDFLAG(ENTERPRISE_CLOUD_CONTENT_ANALYSIS)
|
||||
+#if 0
|
||||
void OnContentAnalysisComplete(
|
||||
std::vector<PathInfo> entries,
|
||||
std::vector<content::PathInfo> entries,
|
||||
EntriesAllowedByEnterprisePolicyCallback callback,
|
||||
|
|
|
@ -52,7 +52,7 @@ Some alternatives to this patch:
|
|||
None of these options seems like a substantial maintainability win over this patch to me (@nornagon).
|
||||
|
||||
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
|
||||
index 80026f59664bc242e7f59d1066dd58fb8297eae4..b1c18a03ccd05609cd65de028b9861c6c9a71568 100644
|
||||
index e2d2446670d358346b5c7399596625087627d5e4..f40c70d840845fdb6171ab6ba4cdcf92dbfd9965 100644
|
||||
--- a/chrome/BUILD.gn
|
||||
+++ b/chrome/BUILD.gn
|
||||
@@ -1560,7 +1560,7 @@ if (is_chrome_branded && !is_android) {
|
||||
|
|
|
@ -6,7 +6,7 @@ Subject: scroll_bounce_flag.patch
|
|||
Patch to make scrollBounce option work.
|
||||
|
||||
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
|
||||
index 1a13fc3eb336211cb6fac83c3b3475aaaf1f72fb..b883b8c508168f5a9d1d847d45627a6d889cfe1f 100644
|
||||
index b60da2ae38f80f41a938629ba3d1de19a5afde4f..b92ad04c7cd91546a669eaf8e5f627536eda496f 100644
|
||||
--- a/content/renderer/render_thread_impl.cc
|
||||
+++ b/content/renderer/render_thread_impl.cc
|
||||
@@ -1276,7 +1276,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
|
||||
|
|
|
@ -22,10 +22,10 @@ However, the patch would need to be reviewed by the security team, as it
|
|||
does touch a security-sensitive class.
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
index 418268589bc912bb19c61f0914985a448a8907e8..6bc6858fffaf0ad2024ee60cf508dfbbe2085cef 100644
|
||||
index aa6d50c94b28e3a3191acc9a12617205a1c797a9..513eaeb291806f7a3bb6230cb63f17780c103cdc 100644
|
||||
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
@@ -1753,6 +1753,10 @@ bool RenderProcessHostImpl::Init() {
|
||||
@@ -1755,6 +1755,10 @@ bool RenderProcessHostImpl::Init() {
|
||||
std::unique_ptr<SandboxedProcessLauncherDelegate> sandbox_delegate =
|
||||
std::make_unique<RendererSandboxedProcessLauncherDelegateWin>(
|
||||
*cmd_line, IsPdf(), IsJitDisabled());
|
||||
|
|
|
@ -9,10 +9,10 @@ is needed for OSR.
|
|||
Originally landed in https://github.com/electron/libchromiumcontent/pull/226.
|
||||
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index ab2d3da2c61d42976b5d6f2460ddf4bea53c9af4..1ee18d8631e435c5941612ebc3ce71a1b98d71e4 100644
|
||||
index cc2e4302ad121d658bb43af1014b6af42a62d47a..2585728e652de91cbc9839cb1500e04f87635866 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -3650,6 +3650,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
@@ -3651,6 +3651,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
params.main_frame_name, GetOpener(), primary_main_frame_policy,
|
||||
base::UnguessableToken::Create());
|
||||
|
||||
|
@ -26,7 +26,7 @@ index ab2d3da2c61d42976b5d6f2460ddf4bea53c9af4..1ee18d8631e435c5941612ebc3ce71a1
|
|||
std::unique_ptr<WebContentsViewDelegate> delegate =
|
||||
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
|
||||
|
||||
@@ -3660,6 +3667,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
@@ -3661,6 +3668,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
view_ = CreateWebContentsView(this, std::move(delegate),
|
||||
&render_view_host_delegate_view_);
|
||||
}
|
||||
|
|
|
@ -15,10 +15,10 @@ Note that we also need to manually update embedder's
|
|||
`api::WebContents::IsFullscreenForTabOrPending` value.
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
index e0708cae6968c14f912bac9c8c7ff90344454237..f4bee04daf1ac7c6af12e7cadc7f45d42312a712 100644
|
||||
index f737902ba9a5ff5b98940eca4a8e7c057c64b3bd..8abcf9d0bf63496692408464ca5e5a3ede9dac4b 100644
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -8219,6 +8219,17 @@ void RenderFrameHostImpl::EnterFullscreen(
|
||||
@@ -8230,6 +8230,17 @@ void RenderFrameHostImpl::EnterFullscreen(
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -37,10 +37,10 @@ index e0708cae6968c14f912bac9c8c7ff90344454237..f4bee04daf1ac7c6af12e7cadc7f45d4
|
|||
if (had_fullscreen_token && !GetView()->HasFocus())
|
||||
GetView()->Focus();
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 1ee18d8631e435c5941612ebc3ce71a1b98d71e4..d09320ddcb75d93de990f0ec3963edb6b6b793fe 100644
|
||||
index 2585728e652de91cbc9839cb1500e04f87635866..5ee493c16d2ff59438c2e233f7e30d796711ee06 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -3906,21 +3906,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
|
||||
@@ -3907,21 +3907,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
|
||||
const input::NativeWebKeyboardEvent& event) {
|
||||
OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"),
|
||||
"WebContentsImpl::PreHandleKeyboardEvent");
|
||||
|
@ -78,7 +78,7 @@ index 1ee18d8631e435c5941612ebc3ce71a1b98d71e4..d09320ddcb75d93de990f0ec3963edb6
|
|||
}
|
||||
|
||||
bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) {
|
||||
@@ -4079,7 +4083,7 @@ void WebContentsImpl::EnterFullscreenMode(
|
||||
@@ -4080,7 +4084,7 @@ void WebContentsImpl::EnterFullscreenMode(
|
||||
OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode");
|
||||
DCHECK(CanEnterFullscreenMode(requesting_frame));
|
||||
DCHECK(requesting_frame->IsActive());
|
||||
|
|
|
@ -10,10 +10,10 @@ to handle this without patching, but this is fairly clean for now and no longer
|
|||
patching legacy devtools code.
|
||||
|
||||
diff --git a/front_end/entrypoints/main/MainImpl.ts b/front_end/entrypoints/main/MainImpl.ts
|
||||
index 29e096c4d3c495f62422c5ae7f40a4aa46f27ff7..902179094cce6a4d296f5e026281626697970d76 100644
|
||||
index 978092dea5d6c1a62807f2454c359ff9780d4d92..53d57818eb7dc41d02a3d004716ed114ac3bc526 100644
|
||||
--- a/front_end/entrypoints/main/MainImpl.ts
|
||||
+++ b/front_end/entrypoints/main/MainImpl.ts
|
||||
@@ -762,6 +762,8 @@ export class MainImpl {
|
||||
@@ -767,6 +767,8 @@ export class MainImpl {
|
||||
globalThis.Main = globalThis.Main || {};
|
||||
// @ts-ignore Exported for Tests.js
|
||||
globalThis.Main.Main = MainImpl;
|
||||
|
|
|
@ -54,3 +54,4 @@ build_compile_with_c_20_support.patch
|
|||
add_v8_taskpirority_to_foreground_task_runner_signature.patch
|
||||
cli_remove_deprecated_v8_flag.patch
|
||||
build_restore_clang_as_default_compiler_on_macos.patch
|
||||
esm_drop_support_for_import_assertions.patch
|
||||
|
|
|
@ -2386,10 +2386,10 @@ index 0000000000000000000000000000000000000000..37c16859003e61636fe2f1a4040b1e90
|
|||
+ f.write('\n')
|
||||
diff --git a/tools/generate_original_fs.py b/tools/generate_original_fs.py
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..9be3ac447f9a4dde23fefc26e0b922b4ba88f083
|
||||
index 0000000000000000000000000000000000000000..5259e6a7a1fd6b21df69dc461dee67d95800c2c8
|
||||
--- /dev/null
|
||||
+++ b/tools/generate_original_fs.py
|
||||
@@ -0,0 +1,19 @@
|
||||
@@ -0,0 +1,18 @@
|
||||
+import os
|
||||
+import sys
|
||||
+
|
||||
|
@ -2408,7 +2408,6 @@ index 0000000000000000000000000000000000000000..9be3ac447f9a4dde23fefc26e0b922b4
|
|||
+ with open(os.path.join(out_dir, original_fs_file), 'w') as transformed_f:
|
||||
+ transformed_contents = contents.replace('internal/fs/', 'internal/original-fs/').replace('require(\'fs', 'require(\'original-fs')
|
||||
+ transformed_f.write(transformed_contents)
|
||||
+
|
||||
diff --git a/tools/install.py b/tools/install.py
|
||||
index b132c7bf26c02886a7ab341a1973bf449744ba0f..757e3e60a7be01fac55c5fbb010dbbae00b1bfca 100755
|
||||
--- a/tools/install.py
|
||||
|
|
53
patches/node/esm_drop_support_for_import_assertions.patch
Normal file
53
patches/node/esm_drop_support_for_import_assertions.patch
Normal file
|
@ -0,0 +1,53 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= <hello@nicr.dev>
|
||||
Date: Fri, 19 Apr 2024 02:01:24 +0200
|
||||
Subject: esm: drop support for import assertions
|
||||
|
||||
This patch removes support for the `assert` keyword
|
||||
for import attributes. It was an old variant of the
|
||||
proposal that was only shipped in V8 and no other
|
||||
engine, and that has then been replaced by the `with`
|
||||
keyword.
|
||||
|
||||
Chrome is planning to remove support for `assert`
|
||||
in version 126, which will be released in June.
|
||||
|
||||
Node.js already supports the `with` keyword for
|
||||
import attributes, and this patch does not change that.
|
||||
|
||||
PR-URL: https://github.com/nodejs/node/pull/52104
|
||||
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
|
||||
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
|
||||
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
|
||||
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
|
||||
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
|
||||
(cherry picked from commit 25c79f333104d1feb0d84794d5bcdb4227177c9b)
|
||||
|
||||
esm: remove --no-import-harmony-assertions
|
||||
|
||||
It is off by default now.
|
||||
|
||||
PR-URL: https://github.com/nodejs/node/pull/54890
|
||||
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
|
||||
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
|
||||
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
|
||||
Reviewed-By: James M Snell <jasnell@gmail.com>
|
||||
(cherry picked from commit 8fd90938f923ef2a04bb3ebb08b89568fe6fd4ee)
|
||||
|
||||
diff --git a/src/node.cc b/src/node.cc
|
||||
index 9f6f8e53abd7e447d88c187c447431a0d96cd150..4415f18ecbd84c1f41e0febbf2446fb636242d58 100644
|
||||
--- a/src/node.cc
|
||||
+++ b/src/node.cc
|
||||
@@ -778,12 +778,6 @@ static ExitCode ProcessGlobalArgsInternal(std::vector<std::string>* args,
|
||||
return ExitCode::kInvalidCommandLineArgument2;
|
||||
}
|
||||
|
||||
- // TODO(aduh95): remove this when the harmony-import-assertions flag
|
||||
- // is removed in V8.
|
||||
- if (std::find(v8_args.begin(), v8_args.end(),
|
||||
- "--no-harmony-import-assertions") == v8_args.end()) {
|
||||
- v8_args.emplace_back("--harmony-import-assertions");
|
||||
- }
|
||||
// TODO(aduh95): remove this when the harmony-import-attributes flag
|
||||
// is removed in V8.
|
||||
if (std::find(v8_args.begin(),
|
|
@ -11,7 +11,7 @@ This is a non-ABI breaking solution added by Node.js in v20.x for:
|
|||
which are necessary for backporting the vm-related memory fixes in https://github.com/nodejs/node/pull/48510.
|
||||
|
||||
diff --git a/include/v8-object.h b/include/v8-object.h
|
||||
index 71a6c2c9c149116caa410d25aef4087774b81b44..ad8416ea2500f10aad31f25da96b235f4e9c118f 100644
|
||||
index 3e57ae8efe33f326ef0e5d609c311d4be5b8afd6..dc521d39c2280dfc3217e97c1e413b2be9b4f7ff 100644
|
||||
--- a/include/v8-object.h
|
||||
+++ b/include/v8-object.h
|
||||
@@ -22,6 +22,8 @@ class Function;
|
||||
|
@ -46,10 +46,10 @@ index 71a6c2c9c149116caa410d25aef4087774b81b44..ad8416ea2500f10aad31f25da96b235f
|
|||
V8_INLINE static void* GetAlignedPointerFromInternalField(
|
||||
const BasicTracedReference<Object>& object, int index) {
|
||||
diff --git a/src/api/api.cc b/src/api/api.cc
|
||||
index 4adaabebe6bd804db0910cea6ff090ef86cb74fc..27e307c774c09ca1c8f2c72d5b3629dd336760a2 100644
|
||||
index 29dd26037bc9ce4c21f421cba32bc3077bb064d2..674b5c7efb35be2ee0935cae89eac70cc835d448 100644
|
||||
--- a/src/api/api.cc
|
||||
+++ b/src/api/api.cc
|
||||
@@ -6398,14 +6398,33 @@ Local<Data> v8::Object::SlowGetInternalField(int index) {
|
||||
@@ -6406,14 +6406,33 @@ Local<Data> v8::Object::SlowGetInternalField(int index) {
|
||||
i::Cast<i::JSObject>(*obj)->GetEmbedderField(index), isolate));
|
||||
}
|
||||
|
||||
|
|
|
@ -92,6 +92,7 @@ const char kDefaultLastPickedDirectoryKey[] = "default-id";
|
|||
const char kCustomLastPickedDirectoryKey[] = "custom-id";
|
||||
const char kPathKey[] = "path";
|
||||
const char kPathTypeKey[] = "path-type";
|
||||
const char kDisplayNameKey[] = "display-name";
|
||||
const char kTimestampKey[] = "timestamp";
|
||||
|
||||
constexpr base::TimeDelta kPermissionRevocationTimeout = base::Seconds(5);
|
||||
|
@ -210,6 +211,10 @@ std::string GenerateLastPickedDirectoryKey(const std::string& id) {
|
|||
: base::StrCat({kCustomLastPickedDirectoryKey, "-", id});
|
||||
}
|
||||
|
||||
std::string StringOrEmpty(const std::string* s) {
|
||||
return s ? *s : std::string();
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
namespace electron {
|
||||
|
@ -219,7 +224,7 @@ class FileSystemAccessPermissionContext::PermissionGrantImpl
|
|||
public:
|
||||
PermissionGrantImpl(base::WeakPtr<FileSystemAccessPermissionContext> context,
|
||||
const url::Origin& origin,
|
||||
const base::FilePath& path,
|
||||
const content::PathInfo& path_info,
|
||||
HandleType handle_type,
|
||||
GrantType type,
|
||||
UserAction user_action)
|
||||
|
@ -227,7 +232,7 @@ class FileSystemAccessPermissionContext::PermissionGrantImpl
|
|||
origin_{origin},
|
||||
handle_type_{handle_type},
|
||||
type_{type},
|
||||
path_{path} {}
|
||||
path_info_{path_info} {}
|
||||
|
||||
// FileSystemAccessPermissionGrant:
|
||||
PermissionStatus GetStatus() override {
|
||||
|
@ -237,7 +242,12 @@ class FileSystemAccessPermissionContext::PermissionGrantImpl
|
|||
|
||||
base::FilePath GetPath() override {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
return path_;
|
||||
return path_info_.path;
|
||||
}
|
||||
|
||||
std::string GetDisplayName() override {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
return path_info_.display_name;
|
||||
}
|
||||
|
||||
void RequestPermission(
|
||||
|
@ -311,7 +321,7 @@ class FileSystemAccessPermissionContext::PermissionGrantImpl
|
|||
electron::WebContentsPermissionHelper::PermissionType::FILE_SYSTEM);
|
||||
|
||||
base::Value::Dict details;
|
||||
details.Set("filePath", base::FilePathToValue(path_));
|
||||
details.Set("filePath", base::FilePathToValue(path_info_.path));
|
||||
details.Set("isDirectory", handle_type_ == HandleType::kDirectory);
|
||||
details.Set("fileAccessType",
|
||||
type_ == GrantType::kWrite ? "writable" : "readable");
|
||||
|
@ -350,12 +360,13 @@ class FileSystemAccessPermissionContext::PermissionGrantImpl
|
|||
|
||||
static void UpdateGrantPath(
|
||||
std::map<base::FilePath, PermissionGrantImpl*>& grants,
|
||||
const base::FilePath& old_path,
|
||||
const base::FilePath& new_path) {
|
||||
const content::PathInfo& old_path,
|
||||
const content::PathInfo& new_path) {
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
auto entry_it = std::ranges::find_if(
|
||||
grants,
|
||||
[&old_path](const auto& entry) { return entry.first == old_path; });
|
||||
auto entry_it =
|
||||
std::ranges::find_if(grants, [&old_path](const auto& entry) {
|
||||
return entry.first == old_path.path;
|
||||
});
|
||||
|
||||
if (entry_it == grants.end()) {
|
||||
// There must be an entry for an ancestor of this entry. Nothing to do
|
||||
|
@ -370,7 +381,7 @@ class FileSystemAccessPermissionContext::PermissionGrantImpl
|
|||
|
||||
// Update the permission grant's key in the map of active permissions.
|
||||
grants.erase(entry_it);
|
||||
grants.emplace(new_path, grant_impl);
|
||||
grants.emplace(new_path.path, grant_impl);
|
||||
}
|
||||
|
||||
protected:
|
||||
|
@ -396,13 +407,13 @@ class FileSystemAccessPermissionContext::PermissionGrantImpl
|
|||
}
|
||||
}
|
||||
|
||||
void SetPath(const base::FilePath& new_path) {
|
||||
void SetPath(const content::PathInfo& new_path) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
|
||||
if (path_ == new_path)
|
||||
if (path_info_ == new_path)
|
||||
return;
|
||||
|
||||
path_ = new_path;
|
||||
path_info_ = new_path;
|
||||
NotifyPermissionStatusChanged();
|
||||
}
|
||||
|
||||
|
@ -412,7 +423,7 @@ class FileSystemAccessPermissionContext::PermissionGrantImpl
|
|||
const url::Origin origin_;
|
||||
const HandleType handle_type_;
|
||||
const GrantType type_;
|
||||
base::FilePath path_;
|
||||
content::PathInfo path_info_;
|
||||
|
||||
// This member should only be updated via SetStatus().
|
||||
PermissionStatus status_ = PermissionStatus::ASK;
|
||||
|
@ -440,14 +451,14 @@ FileSystemAccessPermissionContext::~FileSystemAccessPermissionContext() =
|
|||
scoped_refptr<content::FileSystemAccessPermissionGrant>
|
||||
FileSystemAccessPermissionContext::GetReadPermissionGrant(
|
||||
const url::Origin& origin,
|
||||
const base::FilePath& path,
|
||||
const content::PathInfo& path_info,
|
||||
HandleType handle_type,
|
||||
UserAction user_action) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
// operator[] might insert a new OriginState in |active_permissions_map_|,
|
||||
// but that is exactly what we want.
|
||||
auto& origin_state = active_permissions_map_[origin];
|
||||
auto*& existing_grant = origin_state.read_grants[path];
|
||||
auto*& existing_grant = origin_state.read_grants[path_info.path];
|
||||
scoped_refptr<PermissionGrantImpl> new_grant;
|
||||
|
||||
if (existing_grant && existing_grant->handle_type() != handle_type) {
|
||||
|
@ -460,15 +471,15 @@ FileSystemAccessPermissionContext::GetReadPermissionGrant(
|
|||
|
||||
if (!existing_grant) {
|
||||
new_grant = base::MakeRefCounted<PermissionGrantImpl>(
|
||||
weak_factory_.GetWeakPtr(), origin, path, handle_type, GrantType::kRead,
|
||||
user_action);
|
||||
weak_factory_.GetWeakPtr(), origin, path_info, handle_type,
|
||||
GrantType::kRead, user_action);
|
||||
existing_grant = new_grant.get();
|
||||
}
|
||||
|
||||
// If a parent directory is already readable this new grant should also be
|
||||
// readable.
|
||||
if (new_grant &&
|
||||
AncestorHasActivePermission(origin, path, GrantType::kRead)) {
|
||||
AncestorHasActivePermission(origin, path_info.path, GrantType::kRead)) {
|
||||
existing_grant->SetStatus(PermissionStatus::GRANTED);
|
||||
} else {
|
||||
switch (user_action) {
|
||||
|
@ -495,14 +506,14 @@ FileSystemAccessPermissionContext::GetReadPermissionGrant(
|
|||
scoped_refptr<content::FileSystemAccessPermissionGrant>
|
||||
FileSystemAccessPermissionContext::GetWritePermissionGrant(
|
||||
const url::Origin& origin,
|
||||
const base::FilePath& path,
|
||||
const content::PathInfo& path_info,
|
||||
HandleType handle_type,
|
||||
UserAction user_action) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
// operator[] might insert a new OriginState in |active_permissions_map_|,
|
||||
// but that is exactly what we want.
|
||||
auto& origin_state = active_permissions_map_[origin];
|
||||
auto*& existing_grant = origin_state.write_grants[path];
|
||||
auto*& existing_grant = origin_state.write_grants[path_info.path];
|
||||
scoped_refptr<PermissionGrantImpl> new_grant;
|
||||
|
||||
if (existing_grant && existing_grant->handle_type() != handle_type) {
|
||||
|
@ -515,7 +526,7 @@ FileSystemAccessPermissionContext::GetWritePermissionGrant(
|
|||
|
||||
if (!existing_grant) {
|
||||
new_grant = base::MakeRefCounted<PermissionGrantImpl>(
|
||||
weak_factory_.GetWeakPtr(), origin, path, handle_type,
|
||||
weak_factory_.GetWeakPtr(), origin, path_info, handle_type,
|
||||
GrantType::kWrite, user_action);
|
||||
existing_grant = new_grant.get();
|
||||
}
|
||||
|
@ -523,7 +534,7 @@ FileSystemAccessPermissionContext::GetWritePermissionGrant(
|
|||
// If a parent directory is already writable this new grant should also be
|
||||
// writable.
|
||||
if (new_grant &&
|
||||
AncestorHasActivePermission(origin, path, GrantType::kWrite)) {
|
||||
AncestorHasActivePermission(origin, path_info.path, GrantType::kWrite)) {
|
||||
existing_grant->SetStatus(PermissionStatus::GRANTED);
|
||||
} else {
|
||||
switch (user_action) {
|
||||
|
@ -563,8 +574,7 @@ bool FileSystemAccessPermissionContext::CanObtainWritePermission(
|
|||
|
||||
void FileSystemAccessPermissionContext::ConfirmSensitiveEntryAccess(
|
||||
const url::Origin& origin,
|
||||
PathType path_type,
|
||||
const base::FilePath& path,
|
||||
const content::PathInfo& path_info,
|
||||
HandleType handle_type,
|
||||
UserAction user_action,
|
||||
content::GlobalRenderFrameHostId frame_id,
|
||||
|
@ -574,14 +584,13 @@ void FileSystemAccessPermissionContext::ConfirmSensitiveEntryAccess(
|
|||
|
||||
auto after_blocklist_check_callback = base::BindOnce(
|
||||
&FileSystemAccessPermissionContext::DidCheckPathAgainstBlocklist,
|
||||
GetWeakPtr(), origin, path, handle_type, user_action, frame_id);
|
||||
CheckPathAgainstBlocklist(path_type, path, handle_type,
|
||||
GetWeakPtr(), origin, path_info, handle_type, user_action, frame_id);
|
||||
CheckPathAgainstBlocklist(path_info, handle_type,
|
||||
std::move(after_blocklist_check_callback));
|
||||
}
|
||||
|
||||
void FileSystemAccessPermissionContext::CheckPathAgainstBlocklist(
|
||||
PathType path_type,
|
||||
const base::FilePath& path,
|
||||
const content::PathInfo& path_info,
|
||||
HandleType handle_type,
|
||||
base::OnceCallback<void(bool)> callback) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
|
@ -590,7 +599,7 @@ void FileSystemAccessPermissionContext::CheckPathAgainstBlocklist(
|
|||
// blocked directories based on that, but that doesn't work well. Instead we
|
||||
// should have a separate Chrome OS only code path to block for example the
|
||||
// root of certain external file systems.
|
||||
if (path_type == PathType::kExternal) {
|
||||
if (path_info.type == content::PathType::kExternal) {
|
||||
std::move(callback).Run(/*should_block=*/false);
|
||||
return;
|
||||
}
|
||||
|
@ -601,7 +610,8 @@ void FileSystemAccessPermissionContext::CheckPathAgainstBlocklist(
|
|||
|
||||
base::ThreadPool::PostTaskAndReplyWithResult(
|
||||
FROM_HERE, {base::MayBlock(), base::TaskPriority::USER_VISIBLE},
|
||||
base::BindOnce(&ShouldBlockAccessToPath, path, handle_type, extra_rules),
|
||||
base::BindOnce(&ShouldBlockAccessToPath, path_info.path, handle_type,
|
||||
extra_rules),
|
||||
std::move(callback));
|
||||
}
|
||||
|
||||
|
@ -628,7 +638,7 @@ void FileSystemAccessPermissionContext::OnRestrictedPathResult(
|
|||
|
||||
void FileSystemAccessPermissionContext::DidCheckPathAgainstBlocklist(
|
||||
const url::Origin& origin,
|
||||
const base::FilePath& path,
|
||||
const content::PathInfo& path_info,
|
||||
HandleType handle_type,
|
||||
UserAction user_action,
|
||||
content::GlobalRenderFrameHostId frame_id,
|
||||
|
@ -650,7 +660,7 @@ void FileSystemAccessPermissionContext::DidCheckPathAgainstBlocklist(
|
|||
gin::DataObjectBuilder(isolate)
|
||||
.Set("origin", origin.GetURL().spec())
|
||||
.Set("isDirectory", handle_type == HandleType::kDirectory)
|
||||
.Set("path", path)
|
||||
.Set("path", path_info.path)
|
||||
.Build();
|
||||
session->Emit(
|
||||
"file-system-access-restricted", details,
|
||||
|
@ -699,14 +709,14 @@ void FileSystemAccessPermissionContext::MaybeEvictEntries(
|
|||
void FileSystemAccessPermissionContext::SetLastPickedDirectory(
|
||||
const url::Origin& origin,
|
||||
const std::string& id,
|
||||
const base::FilePath& path,
|
||||
const PathType type) {
|
||||
const content::PathInfo& path_info) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
|
||||
// Create an entry into the nested dictionary.
|
||||
base::Value::Dict entry;
|
||||
entry.Set(kPathKey, base::FilePathToValue(path));
|
||||
entry.Set(kPathTypeKey, static_cast<int>(type));
|
||||
entry.Set(kPathKey, base::FilePathToValue(path_info.path));
|
||||
entry.Set(kPathTypeKey, static_cast<int>(path_info.type));
|
||||
entry.Set(kDisplayNameKey, path_info.display_name);
|
||||
entry.Set(kTimestampKey, base::TimeToValue(clock_->Now()));
|
||||
|
||||
auto it = id_pathinfo_map_.find(origin);
|
||||
|
@ -722,15 +732,14 @@ void FileSystemAccessPermissionContext::SetLastPickedDirectory(
|
|||
}
|
||||
}
|
||||
|
||||
FileSystemAccessPermissionContext::PathInfo
|
||||
FileSystemAccessPermissionContext::GetLastPickedDirectory(
|
||||
content::PathInfo FileSystemAccessPermissionContext::GetLastPickedDirectory(
|
||||
const url::Origin& origin,
|
||||
const std::string& id) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
|
||||
auto it = id_pathinfo_map_.find(origin);
|
||||
|
||||
PathInfo path_info;
|
||||
content::PathInfo path_info;
|
||||
if (it == id_pathinfo_map_.end()) {
|
||||
return path_info;
|
||||
}
|
||||
|
@ -740,13 +749,14 @@ FileSystemAccessPermissionContext::GetLastPickedDirectory(
|
|||
return path_info;
|
||||
}
|
||||
|
||||
auto type_int =
|
||||
entry->FindInt(kPathTypeKey).value_or(static_cast<int>(PathType::kLocal));
|
||||
path_info.type = type_int == static_cast<int>(PathType::kExternal)
|
||||
? PathType::kExternal
|
||||
: PathType::kLocal;
|
||||
auto type_int = entry->FindInt(kPathTypeKey)
|
||||
.value_or(static_cast<int>(content::PathType::kLocal));
|
||||
path_info.type = type_int == static_cast<int>(content::PathType::kExternal)
|
||||
? content::PathType::kExternal
|
||||
: content::PathType::kLocal;
|
||||
path_info.path =
|
||||
base::ValueToFilePath(entry->Find(kPathKey)).value_or(base::FilePath());
|
||||
path_info.display_name = StringOrEmpty(entry->FindString(kDisplayNameKey));
|
||||
return path_info;
|
||||
}
|
||||
|
||||
|
@ -812,8 +822,8 @@ std::u16string FileSystemAccessPermissionContext::GetPickerTitle(
|
|||
|
||||
void FileSystemAccessPermissionContext::NotifyEntryMoved(
|
||||
const url::Origin& origin,
|
||||
const base::FilePath& old_path,
|
||||
const base::FilePath& new_path) {
|
||||
const content::PathInfo& old_path,
|
||||
const content::PathInfo& new_path) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
|
||||
if (old_path == new_path) {
|
||||
|
@ -834,7 +844,7 @@ void FileSystemAccessPermissionContext::OnFileCreatedFromShowSaveFilePicker(
|
|||
const storage::FileSystemURL& url) {}
|
||||
|
||||
void FileSystemAccessPermissionContext::CheckPathsAgainstEnterprisePolicy(
|
||||
std::vector<PathInfo> entries,
|
||||
std::vector<content::PathInfo> entries,
|
||||
content::GlobalRenderFrameHostId frame_id,
|
||||
EntriesAllowedByEnterprisePolicyCallback callback) {
|
||||
std::move(callback).Run(std::move(entries));
|
||||
|
|
|
@ -53,20 +53,19 @@ class FileSystemAccessPermissionContext
|
|||
// content::FileSystemAccessPermissionContext:
|
||||
scoped_refptr<content::FileSystemAccessPermissionGrant>
|
||||
GetReadPermissionGrant(const url::Origin& origin,
|
||||
const base::FilePath& path,
|
||||
const content::PathInfo& path,
|
||||
HandleType handle_type,
|
||||
UserAction user_action) override;
|
||||
|
||||
scoped_refptr<content::FileSystemAccessPermissionGrant>
|
||||
GetWritePermissionGrant(const url::Origin& origin,
|
||||
const base::FilePath& path,
|
||||
const content::PathInfo& path,
|
||||
HandleType handle_type,
|
||||
UserAction user_action) override;
|
||||
|
||||
void ConfirmSensitiveEntryAccess(
|
||||
const url::Origin& origin,
|
||||
PathType path_type,
|
||||
const base::FilePath& path,
|
||||
const content::PathInfo& path,
|
||||
HandleType handle_type,
|
||||
UserAction user_action,
|
||||
content::GlobalRenderFrameHostId frame_id,
|
||||
|
@ -85,10 +84,9 @@ class FileSystemAccessPermissionContext
|
|||
|
||||
void SetLastPickedDirectory(const url::Origin& origin,
|
||||
const std::string& id,
|
||||
const base::FilePath& path,
|
||||
const PathType type) override;
|
||||
const content::PathInfo& path) override;
|
||||
|
||||
PathInfo GetLastPickedDirectory(const url::Origin& origin,
|
||||
content::PathInfo GetLastPickedDirectory(const url::Origin& origin,
|
||||
const std::string& id) override;
|
||||
|
||||
base::FilePath GetWellKnownDirectoryPath(
|
||||
|
@ -99,15 +97,15 @@ class FileSystemAccessPermissionContext
|
|||
const blink::mojom::FilePickerOptionsPtr& options) override;
|
||||
|
||||
void NotifyEntryMoved(const url::Origin& origin,
|
||||
const base::FilePath& old_path,
|
||||
const base::FilePath& new_path) override;
|
||||
const content::PathInfo& old_path,
|
||||
const content::PathInfo& new_path) override;
|
||||
|
||||
void OnFileCreatedFromShowSaveFilePicker(
|
||||
const GURL& file_picker_binding_context,
|
||||
const storage::FileSystemURL& url) override;
|
||||
|
||||
void CheckPathsAgainstEnterprisePolicy(
|
||||
std::vector<PathInfo> entries,
|
||||
std::vector<content::PathInfo> entries,
|
||||
content::GlobalRenderFrameHostId frame_id,
|
||||
EntriesAllowedByEnterprisePolicyCallback callback) override;
|
||||
|
||||
|
@ -135,12 +133,11 @@ class FileSystemAccessPermissionContext
|
|||
|
||||
void PermissionGrantDestroyed(PermissionGrantImpl* grant);
|
||||
|
||||
void CheckPathAgainstBlocklist(PathType path_type,
|
||||
const base::FilePath& path,
|
||||
void CheckPathAgainstBlocklist(const content::PathInfo& path,
|
||||
HandleType handle_type,
|
||||
base::OnceCallback<void(bool)> callback);
|
||||
void DidCheckPathAgainstBlocklist(const url::Origin& origin,
|
||||
const base::FilePath& path,
|
||||
const content::PathInfo& path,
|
||||
HandleType handle_type,
|
||||
UserAction user_action,
|
||||
content::GlobalRenderFrameHostId frame_id,
|
||||
|
|
|
@ -32,11 +32,12 @@ bool IsDebuggingNotifications() {
|
|||
}
|
||||
|
||||
bool SaveIconToPath(const SkBitmap& bitmap, const base::FilePath& path) {
|
||||
std::vector<unsigned char> png_data;
|
||||
if (!gfx::PNGCodec::EncodeBGRASkBitmap(bitmap, false, &png_data))
|
||||
std::optional<std::vector<uint8_t>> png_data =
|
||||
gfx::PNGCodec::EncodeBGRASkBitmap(bitmap, false);
|
||||
if (!png_data.has_value())
|
||||
return false;
|
||||
|
||||
return base::WriteFile(path, png_data);
|
||||
return base::WriteFile(path, png_data.value());
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
|
|
@ -244,8 +244,7 @@ gfx::Image Clipboard::ReadImage(gin_helper::Arguments* args) {
|
|||
base::BindOnce(
|
||||
[](std::optional<gfx::Image>* image, base::RepeatingClosure cb,
|
||||
const std::vector<uint8_t>& result) {
|
||||
SkBitmap bitmap;
|
||||
gfx::PNGCodec::Decode(result.data(), result.size(), &bitmap);
|
||||
SkBitmap bitmap = gfx::PNGCodec::Decode(result);
|
||||
image->emplace(gfx::Image::CreateFrom1xBitmap(bitmap));
|
||||
std::move(cb).Run();
|
||||
},
|
||||
|
|
|
@ -238,10 +238,12 @@ v8::Local<v8::Value> NativeImage::ToPNG(gin::Arguments* args) {
|
|||
|
||||
const SkBitmap bitmap =
|
||||
image_.AsImageSkia().GetRepresentation(scale_factor).GetBitmap();
|
||||
std::vector<unsigned char> encoded;
|
||||
gfx::PNGCodec::EncodeBGRASkBitmap(bitmap, false, &encoded);
|
||||
const char* data = reinterpret_cast<char*>(encoded.data());
|
||||
size_t size = encoded.size();
|
||||
std::optional<std::vector<uint8_t>> encoded =
|
||||
gfx::PNGCodec::EncodeBGRASkBitmap(bitmap, false);
|
||||
if (!encoded.has_value())
|
||||
return node::Buffer::New(args->isolate(), 0).ToLocalChecked();
|
||||
const char* data = reinterpret_cast<char*>(encoded->data());
|
||||
size_t size = encoded->size();
|
||||
return node::Buffer::Copy(args->isolate(), data, size).ToLocalChecked();
|
||||
}
|
||||
|
||||
|
@ -265,13 +267,13 @@ v8::Local<v8::Value> NativeImage::ToBitmap(gin::Arguments* args) {
|
|||
}
|
||||
|
||||
v8::Local<v8::Value> NativeImage::ToJPEG(v8::Isolate* isolate, int quality) {
|
||||
std::vector<unsigned char> output;
|
||||
gfx::JPEG1xEncodedDataFromImage(image_, quality, &output);
|
||||
if (output.empty())
|
||||
std::optional<std::vector<uint8_t>> encoded_image =
|
||||
gfx::JPEG1xEncodedDataFromImage(image_, quality);
|
||||
if (!encoded_image.has_value())
|
||||
return node::Buffer::New(isolate, 0).ToLocalChecked();
|
||||
return node::Buffer::Copy(isolate,
|
||||
reinterpret_cast<const char*>(&output.front()),
|
||||
output.size())
|
||||
return node::Buffer::Copy(
|
||||
isolate, reinterpret_cast<const char*>(&encoded_image->front()),
|
||||
encoded_image->size())
|
||||
.ToLocalChecked();
|
||||
}
|
||||
|
||||
|
|
|
@ -21,28 +21,31 @@
|
|||
#include "shell/common/gin_helper/dictionary.h"
|
||||
#include "third_party/blink/public/common/context_menu_data/untrustworthy_context_menu_params.h"
|
||||
#include "third_party/blink/public/mojom/permissions/permission_status.mojom.h"
|
||||
#include "ui/base/mojom/menu_source_type.mojom.h"
|
||||
#include "ui/events/keycodes/dom/keycode_converter.h"
|
||||
#include "ui/events/keycodes/keyboard_code_conversion.h"
|
||||
|
||||
namespace gin {
|
||||
|
||||
static constexpr auto MenuSourceTypes =
|
||||
base::MakeFixedFlatMap<std::string_view, ui::MenuSourceType>({
|
||||
{"adjustSelection", ui::MENU_SOURCE_ADJUST_SELECTION},
|
||||
{"adjustSelectionReset", ui::MENU_SOURCE_ADJUST_SELECTION_RESET},
|
||||
{"keyboard", ui::MENU_SOURCE_KEYBOARD},
|
||||
{"longPress", ui::MENU_SOURCE_LONG_PRESS},
|
||||
{"longTap", ui::MENU_SOURCE_LONG_TAP},
|
||||
{"mouse", ui::MENU_SOURCE_MOUSE},
|
||||
{"none", ui::MENU_SOURCE_NONE},
|
||||
{"stylus", ui::MENU_SOURCE_STYLUS},
|
||||
{"touch", ui::MENU_SOURCE_TOUCH},
|
||||
{"touchHandle", ui::MENU_SOURCE_TOUCH_HANDLE},
|
||||
{"touchMenu", ui::MENU_SOURCE_TOUCH_EDIT_MENU},
|
||||
base::MakeFixedFlatMap<std::string_view, ui::mojom::MenuSourceType>({
|
||||
{"adjustSelection", ui::mojom::MenuSourceType::kAdjustSelection},
|
||||
{"adjustSelectionReset",
|
||||
ui::mojom::MenuSourceType::kAdjustSelectionReset},
|
||||
{"keyboard", ui::mojom::MenuSourceType::kKeyboard},
|
||||
{"longPress", ui::mojom::MenuSourceType::kLongPress},
|
||||
{"longTap", ui::mojom::MenuSourceType::kLongTap},
|
||||
{"mouse", ui::mojom::MenuSourceType::kMouse},
|
||||
{"none", ui::mojom::MenuSourceType::kNone},
|
||||
{"stylus", ui::mojom::MenuSourceType::kStylus},
|
||||
{"touch", ui::mojom::MenuSourceType::kTouch},
|
||||
{"touchHandle", ui::mojom::MenuSourceType::kTouchHandle},
|
||||
{"touchMenu", ui::mojom::MenuSourceType::kTouchEditMenu},
|
||||
});
|
||||
|
||||
// let us know when upstream changes & we need to update MenuSourceTypes
|
||||
static_assert(std::size(MenuSourceTypes) == ui::MENU_SOURCE_TYPE_LAST + 1U);
|
||||
static_assert(std::size(MenuSourceTypes) ==
|
||||
static_cast<int32_t>(ui::mojom::MenuSourceType::kMaxValue) + 1);
|
||||
|
||||
// static
|
||||
v8::Local<v8::Value> Converter<ui::MenuSourceType>::ToV8(
|
||||
|
|
|
@ -58,8 +58,8 @@ float GetScaleFactorFromPath(const base::FilePath& path) {
|
|||
bool AddImageSkiaRepFromPNG(gfx::ImageSkia* image,
|
||||
const base::span<const uint8_t> data,
|
||||
double scale_factor) {
|
||||
SkBitmap bitmap;
|
||||
if (!gfx::PNGCodec::Decode(data.data(), data.size(), &bitmap))
|
||||
SkBitmap bitmap = gfx::PNGCodec::Decode(data);
|
||||
if (bitmap.isNull())
|
||||
return false;
|
||||
|
||||
image->AddRepresentation(gfx::ImageSkiaRep(bitmap, scale_factor));
|
||||
|
@ -69,8 +69,8 @@ bool AddImageSkiaRepFromPNG(gfx::ImageSkia* image,
|
|||
bool AddImageSkiaRepFromJPEG(gfx::ImageSkia* image,
|
||||
const base::span<const uint8_t> data,
|
||||
double scale_factor) {
|
||||
auto bitmap = gfx::JPEGCodec::Decode(data.data(), data.size());
|
||||
if (!bitmap)
|
||||
auto bitmap = gfx::JPEGCodec::Decode(data);
|
||||
if (bitmap.isNull())
|
||||
return false;
|
||||
|
||||
// `JPEGCodec::Decode()` doesn't tell `SkBitmap` instance it creates
|
||||
|
@ -80,9 +80,9 @@ bool AddImageSkiaRepFromJPEG(gfx::ImageSkia* image,
|
|||
// TODO(alexeykuzmin): This workaround should be removed
|
||||
// when the `JPEGCodec::Decode()` code is fixed.
|
||||
// See https://github.com/electron/electron/issues/11294.
|
||||
bitmap->setAlphaType(SkAlphaType::kOpaque_SkAlphaType);
|
||||
bitmap.setAlphaType(SkAlphaType::kOpaque_SkAlphaType);
|
||||
|
||||
image->AddRepresentation(gfx::ImageSkiaRep(*bitmap, scale_factor));
|
||||
image->AddRepresentation(gfx::ImageSkiaRep(bitmap, scale_factor));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue