cdf04f3ae7
* chore: bump chromium in DEPS to 92.0.4478.0 * chore: update chromium patches * chore: update v8 patches * fix: add scale parameter to LookupIconFromFilepath Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2748317 Follow up: https://github.com/electron/electron/issues/28678 * build: depend on gtkprint config for gtk_util.h Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2824022 * build: add missing print_job_constants header Refs: unknown * chore: bump chromium in DEPS to 92.0.4479.0 * update patches * chore: bump chromium in DEPS to 92.0.4480.0 * chore: bump chromium in DEPS to 92.0.4481.0 * chore: bump chromium in DEPS to 92.0.4482.2 * chore: bump chromium in DEPS to 92.0.4483.0 * chore: update patches * chore: bump chromium in DEPS to 92.0.4484.0 * chore: bump chromium in DEPS to 92.0.4485.0 * fix patches * update patches * 2810414: [LSC] Add PRESUBMIT check for ASCIIToUTF16("...") and UTF8ToUTF16("...") https://chromium-review.googlesource.com/c/chromium/src/+/2810414 * 2781233: NotificationService: Plumb document_url for non-persistent notifications. https://chromium-review.googlesource.com/c/chromium/src/+/2781233 * fixup! 2810414: [LSC] Add PRESUBMIT check for ASCIIToUTF16("...") and UTF8ToUTF16("...") * 2836669: Refactor GTK build target and dependencies https://chromium-review.googlesource.com/c/chromium/src/+/2836669 * chore: bump chromium in DEPS to 92.0.4486.0 * update patches * fix DecrementCapturerCount patch * explicitly include badging.mojom.h * include ui/gtk/gtk_ui_factory.h for BuildGtkUi() * fixup! 2810414: [LSC] Add PRESUBMIT check for ASCIIToUTF16("...") and UTF8ToUTF16("...") * iwyu fix for base::size * iwyu for TRACE_EVENT0 * 2799631: Use structured interface for DevTools messages https://chromium-review.googlesource.com/c/chromium/src/+/2799631 * 2801573: Convert enum to enum class for Widget::InitParams::Activatable https://chromium-review.googlesource.com/c/chromium/src/+/2801573 * 2805764: Add ContentBrowserClient support for service worker-scoped binders https://chromium-review.googlesource.com/c/chromium/src/+/2805764 * fixup! 2799631: Use structured interface for DevTools messages * fixup! 2805764: Add ContentBrowserClient support for service worker-scoped binders * oops, use of linux_ui after std::move * fix devtools message handling for null params * disable node test parallel/test-debug-args https://chromium-review.googlesource.com/c/v8/v8/+/2843348 * fix gn check * chore: bump chromium in DEPS to 92.0.4487.0 * chore: update patches * chore: bump chromium in DEPS to 92.0.4488.0 * update patches * Remove vpython use from Chromium DEPS file https://chromium-review.googlesource.com/c/chromium/src/+/2810121 * Partial revert "workaround: disable CFG longjmp protection for Windows on Arm" https://chromium-review.googlesource.com/c/chromium/src/+/2788210 Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com> Co-authored-by: deepak1556 <hop2deep@gmail.com> Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
52 lines
2.9 KiB
Diff
52 lines
2.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Anonymous <anonymous@electronjs.org>
|
|
Date: Thu, 20 Sep 2018 17:45:11 -0700
|
|
Subject: blink_world_context.patch
|
|
|
|
This exposes a method for obtaining a reference to an isolated world, which is
|
|
otherwise not available in the Blink API.
|
|
|
|
diff --git a/third_party/blink/public/web/web_local_frame.h b/third_party/blink/public/web/web_local_frame.h
|
|
index d8cebc01ab2403bbb3286c9fe85b5ba8145779a7..2ef59569d54953863e4e750e99397c4ba791f6f6 100644
|
|
--- a/third_party/blink/public/web/web_local_frame.h
|
|
+++ b/third_party/blink/public/web/web_local_frame.h
|
|
@@ -370,6 +370,8 @@ class WebLocalFrame : public WebFrame {
|
|
// Returns the world ID associated with |script_context|.
|
|
virtual int32_t GetScriptContextWorldId(
|
|
v8::Local<v8::Context> script_context) const = 0;
|
|
+ virtual v8::Local<v8::Context> WorldScriptContext(
|
|
+ v8::Isolate* isolate, int world_id) const = 0;
|
|
|
|
// Executes script in the context of the current page and returns the value
|
|
// that the script evaluated to with callback. Script execution can be
|
|
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
|
index 5613506648709e33a3087a2b0050382e8a995652..17fe50f0944f1aeb500a68803fe9700f40d2c582 100644
|
|
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
|
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
|
@@ -1065,6 +1065,13 @@ v8::Local<v8::Object> WebLocalFrameImpl::GlobalProxy() const {
|
|
return MainWorldScriptContext()->Global();
|
|
}
|
|
|
|
+v8::Local<v8::Context> WebLocalFrameImpl::WorldScriptContext(
|
|
+ v8::Isolate* isolate, int world_id) const {
|
|
+ scoped_refptr<DOMWrapperWorld> world = DOMWrapperWorld::EnsureIsolatedWorld(
|
|
+ isolate, world_id);
|
|
+ return ToScriptState(GetFrame(), *world)->GetContext();
|
|
+}
|
|
+
|
|
bool WebFrame::ScriptCanAccess(WebFrame* target) {
|
|
return BindingSecurity::ShouldAllowAccessToFrame(
|
|
CurrentDOMWindow(V8PerIsolateData::MainThreadIsolate()),
|
|
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.h b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
|
|
index 1e53901267ebf6850a1da569c4f0764a01e58fc4..82b74a632cc3a7bab1cc98659c2485c2a2bcb399 100644
|
|
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.h
|
|
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
|
|
@@ -170,6 +170,8 @@ class CORE_EXPORT WebLocalFrameImpl final
|
|
v8::Local<v8::Context> MainWorldScriptContext() const override;
|
|
int32_t GetScriptContextWorldId(
|
|
v8::Local<v8::Context> script_context) const override;
|
|
+ v8::Local<v8::Context> WorldScriptContext(
|
|
+ v8::Isolate* isolate, int world_id) const override;
|
|
void RequestExecuteScriptAndReturnValue(const WebScriptSource&,
|
|
bool user_gesture,
|
|
WebScriptExecutionCallback*) override;
|