chore: bump chromium to 103.0.5046.0 (main) (#33906)

* chore: bump chromium in DEPS to 103.0.5020.0

* chore: bump chromium in DEPS to 103.0.5022.0

* chore: bump chromium in DEPS to 103.0.5024.0

* chore: update patches

* 3587410: [Printing] Remove JobEventDetails

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3587410

* chore: bump chromium in DEPS to 103.0.5026.0

* chore: update patches

* 3577218: WebUI: Delete webui_resources.grd and related GN targets.

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3577218

* chore: bump chromium in DEPS to 103.0.5028.0

* chore: update patches

* 3579297: Convert UpdatePrintSettings() to use non-deprecated base::Value APIs.

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3579297

* 3560622: serial: Add SerialPort.forget() method

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3560622

* 3581708: Restore original display when moving from tab-fullscreen to browser-fullscreen.

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3581708

* chore: fix authorization flags lint error

* 3583363: Remove net wrappers around base/strings/escape.h

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3583363

* fixup! 3560622: serial: Add SerialPort.forget() method

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3560622

* 3587589: Reland "Propagate the MIME type from DownloadTargetDeterminer to DownloadItem"

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3587589

* 3584006: Remove IsRenderViewLive from content public

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3584006

* 3596174: [api] Remove APIs for resurrecting finalizers

Ref: https://chromium-review.googlesource.com/c/v8/v8/+/3596174

* 3368244: Hook SnapshotForContentAnalysis renderer API to scan system prints

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3368244

* chore: bump chromium in DEPS to 103.0.5030.0

* chore: update patches

* chore: bump chromium in DEPS to 103.0.5032.0

* chore: bump chromium in DEPS to 103.0.5034.0

* chore: bump chromium in DEPS to 103.0.5036.0

* chore: update patches

* 3586363: Introduce PrintRenderFrame.PrintWithParams() for batch printing to PDF

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3586363

* 3593199: Remove content::PermissionType references and replace them with blink::PermissionType

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3593199

* 3368244: Hook SnapshotForContentAnalysis renderer API to scan system prints

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3368244

* chore: lint

* chore: bump chromium in DEPS to 103.0.5038.0

* chore: update patches

* fixup! 3560622: serial: Add SerialPort.forget() method

* 3606495: mac screen capture: add metric

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3606495

* chore: bump chromium in DEPS to 103.0.5040.0

* chore: update patches

* 3590840: Add IPs to DnsOverHttpsServerConfig

https://chromium-review.googlesource.com/c/chromium/src/+/3590840

* stub functions for ElectronSerialDelegate and SerialChooserController to fix link

* 3566412: [base] Remove base/android dependency on post_task.h and officially remove post_task.h!

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3566412

* 3347944: [content] No longer hand-off whole MainFunctionParams to BrowserMainParts

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3347944

* fixup! 3566412: [base] Remove base/android dependency on post_task.h and off…
e3ea3e1
…icially remove post_task.h!

* chore: update process_singleton patches for content::GetIOThreadTaskRunner({})

Ref: 2015655: [BrowserThread] Migrate co/pub/br and co/br/scheduler to the new API | https://chromium-review.googlesource.com/c/chromium/src/+/2015655

* chore: migrate base::DeleteSoon to content::GetUIThreadTaskRunner({})->DeleteSoon

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3566412

* chore: remove duplicate functions for RevokePortPermissionWebInitiated & GetPortInfo

* chore: migrate Linux/Windows methods off of post_task.h

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3566412

* 64908: Stop building legacy SwiftShader GL in Chromium

https://swiftshader-review.googlesource.com/c/SwiftShader/+/64908

* 3573245: Added Themed versions of RoundedRectBackground and RoundedRectBorder.

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3573245

* chore: bump chromium in DEPS to 103.0.5042.0

* chore: update patches

* 3571804: [api] Advance API deprecation for V8 version v10.2

https://chromium-review.googlesource.com/c/v8/v8/+/3571804

* fixup! 3571804: [api] Advance API deprecation for V8 version v10.2

* build: fix run-clang-format extension matching

* lint

* fix windows build

* how is clang-format still not working for me

* chore: update patches

* 3623985: Replace ad-hoc SetPublicFirstPartySets calls with method in ContentBrowserClient.

https://chromium-review.googlesource.com/c/chromium/src/+/3623985

* no need to implement WillProvidePublicFirstPartySets; the default is false

* 3601036: [QT] Introduce ui/views/linux_ui/linux_ui_factory.*

https://chromium-review.googlesource.com/c/chromium/src/+/3601036

* 3583363: Remove net wrappers around base/strings/escape.h

https://chromium-review.googlesource.com/c/chromium/src/+/3583363

* lint

* chore: bump chromium in DEPS to 103.0.5044.0

* fix conflicts

* chore: update patches

* upgrade nan

* pin version of nan in tests

* replace my hacky deprecated override fix with the fix from upstream

* revert runtime dcheck in v8

* pin nan version at root too

* refactor: tell gyp to use c++17 when building with our node

* Revert "refactor: tell gyp to use c++17 when building with our node"

This reverts commit 41a03a5799.

* Undo the reversion of 41a03a5799.

This reverts commit 54440abc59.

* disable sequential/test-cpu-prof-kill for now

* also sequential/test-diagnostic-dir-cpu-prof

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: VerteDinde <vertedinde@electronjs.org>
Co-authored-by: Jeremy Rose <japthorp@slack-corp.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
This commit is contained in:
electron-roller[bot]
2022-05-17 12:48:40 -04:00
committed by GitHub
parent 04b33b319b
commit 61374019c0
168 changed files with 1009 additions and 873 deletions

View File

@@ -15,7 +15,6 @@
#include "base/logging.h"
#include "base/pickle.h"
#include "base/strings/string_number_conversions.h"
#include "base/task/post_task.h"
#include "base/threading/thread_restrictions.h"
#include "base/values.h"
#include "electron/fuses.h"

View File

@@ -134,67 +134,67 @@ bool Converter<blink::mojom::PermissionStatus>::FromV8(
}
// static
v8::Local<v8::Value> Converter<content::PermissionType>::ToV8(
v8::Local<v8::Value> Converter<blink::PermissionType>::ToV8(
v8::Isolate* isolate,
const content::PermissionType& val) {
const blink::PermissionType& val) {
using PermissionType = electron::WebContentsPermissionHelper::PermissionType;
// Based on mappings from content/browser/devtools/protocol/browser_handler.cc
// Not all permissions are currently used by Electron but this will future
// proof these conversions.
switch (val) {
case content::PermissionType::ACCESSIBILITY_EVENTS:
case blink::PermissionType::ACCESSIBILITY_EVENTS:
return StringToV8(isolate, "accessibility-events");
case content::PermissionType::AR:
case blink::PermissionType::AR:
return StringToV8(isolate, "ar");
case content::PermissionType::BACKGROUND_FETCH:
case blink::PermissionType::BACKGROUND_FETCH:
return StringToV8(isolate, "background-fetch");
case content::PermissionType::BACKGROUND_SYNC:
case blink::PermissionType::BACKGROUND_SYNC:
return StringToV8(isolate, "background-sync");
case content::PermissionType::CLIPBOARD_READ_WRITE:
case blink::PermissionType::CLIPBOARD_READ_WRITE:
return StringToV8(isolate, "clipboard-read");
case content::PermissionType::CLIPBOARD_SANITIZED_WRITE:
case blink::PermissionType::CLIPBOARD_SANITIZED_WRITE:
return StringToV8(isolate, "clipboard-sanitized-write");
case content::PermissionType::LOCAL_FONTS:
case blink::PermissionType::LOCAL_FONTS:
return StringToV8(isolate, "local-fonts");
case content::PermissionType::IDLE_DETECTION:
case blink::PermissionType::IDLE_DETECTION:
return StringToV8(isolate, "idle-detection");
case content::PermissionType::MIDI_SYSEX:
case blink::PermissionType::MIDI_SYSEX:
return StringToV8(isolate, "midiSysex");
case content::PermissionType::NFC:
case blink::PermissionType::NFC:
return StringToV8(isolate, "nfc");
case content::PermissionType::NOTIFICATIONS:
case blink::PermissionType::NOTIFICATIONS:
return StringToV8(isolate, "notifications");
case content::PermissionType::PAYMENT_HANDLER:
case blink::PermissionType::PAYMENT_HANDLER:
return StringToV8(isolate, "payment-handler");
case content::PermissionType::PERIODIC_BACKGROUND_SYNC:
case blink::PermissionType::PERIODIC_BACKGROUND_SYNC:
return StringToV8(isolate, "periodic-background-sync");
case content::PermissionType::DURABLE_STORAGE:
case blink::PermissionType::DURABLE_STORAGE:
return StringToV8(isolate, "persistent-storage");
case content::PermissionType::GEOLOCATION:
case blink::PermissionType::GEOLOCATION:
return StringToV8(isolate, "geolocation");
case content::PermissionType::CAMERA_PAN_TILT_ZOOM:
case content::PermissionType::AUDIO_CAPTURE:
case content::PermissionType::VIDEO_CAPTURE:
case blink::PermissionType::CAMERA_PAN_TILT_ZOOM:
case blink::PermissionType::AUDIO_CAPTURE:
case blink::PermissionType::VIDEO_CAPTURE:
return StringToV8(isolate, "media");
case content::PermissionType::PROTECTED_MEDIA_IDENTIFIER:
case blink::PermissionType::PROTECTED_MEDIA_IDENTIFIER:
return StringToV8(isolate, "mediaKeySystem");
case content::PermissionType::MIDI:
case blink::PermissionType::MIDI:
return StringToV8(isolate, "midi");
case content::PermissionType::WAKE_LOCK_SCREEN:
case blink::PermissionType::WAKE_LOCK_SCREEN:
return StringToV8(isolate, "screen-wake-lock");
case content::PermissionType::SENSORS:
case blink::PermissionType::SENSORS:
return StringToV8(isolate, "sensors");
case content::PermissionType::STORAGE_ACCESS_GRANT:
case blink::PermissionType::STORAGE_ACCESS_GRANT:
return StringToV8(isolate, "storage-access");
case content::PermissionType::VR:
case blink::PermissionType::VR:
return StringToV8(isolate, "vr");
case content::PermissionType::WAKE_LOCK_SYSTEM:
case blink::PermissionType::WAKE_LOCK_SYSTEM:
return StringToV8(isolate, "system-wake-lock");
case content::PermissionType::WINDOW_PLACEMENT:
case blink::PermissionType::WINDOW_PLACEMENT:
return StringToV8(isolate, "window-placement");
case content::PermissionType::DISPLAY_CAPTURE:
case blink::PermissionType::DISPLAY_CAPTURE:
return StringToV8(isolate, "display-capture");
case content::PermissionType::NUM:
case blink::PermissionType::NUM:
break;
}

View File

@@ -7,10 +7,10 @@
#include <utility>
#include "content/public/browser/permission_type.h"
#include "content/public/common/referrer.h"
#include "content/public/common/stop_find_action.h"
#include "gin/converter.h"
#include "third_party/blink/public/common/permissions/permission_utils.h"
#include "third_party/blink/public/mojom/choosers/popup_menu.mojom.h"
#include "third_party/blink/public/mojom/permissions/permission_status.mojom.h"
@@ -47,9 +47,9 @@ struct Converter<blink::mojom::PermissionStatus> {
};
template <>
struct Converter<content::PermissionType> {
struct Converter<blink::PermissionType> {
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
const content::PermissionType& val);
const blink::PermissionType& val);
};
template <>

View File

@@ -15,7 +15,7 @@ namespace {
struct TranslaterHolder {
explicit TranslaterHolder(v8::Isolate* isolate)
: handle(isolate, v8::External::New(isolate, this)) {
handle.SetWeak(this, &GC, v8::WeakCallbackType::kFinalizer);
handle.SetWeak(this, &GC, v8::WeakCallbackType::kParameter);
}
~TranslaterHolder() {
if (!handle.IsEmpty()) {

View File

@@ -13,4 +13,10 @@ Locker::Locker(v8::Isolate* isolate) {
Locker::~Locker() = default;
void Locker::SetIsBrowserProcess(bool is_browser_process) {
g_is_browser_process = is_browser_process;
}
bool Locker::g_is_browser_process = false;
} // namespace gin_helper

View File

@@ -23,13 +23,17 @@ class Locker {
// Returns whether current process is browser process, currently we detect it
// by checking whether current has used V8 Lock, but it might be a bad idea.
static inline bool IsBrowserProcess() { return v8::Locker::WasEverUsed(); }
static inline bool IsBrowserProcess() { return g_is_browser_process; }
static void SetIsBrowserProcess(bool is_browser_process);
private:
void* operator new(size_t size);
void operator delete(void*, size_t);
std::unique_ptr<v8::Locker> locker_;
static bool g_is_browser_process;
};
} // namespace gin_helper

View File

@@ -65,8 +65,8 @@ v8::Local<v8::Promise::Resolver> PromiseBase::GetInner() const {
void Promise<void>::ResolvePromise(Promise<void> promise) {
if (gin_helper::Locker::IsBrowserProcess() &&
!content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)) {
base::PostTask(
FROM_HERE, {content::BrowserThread::UI},
content::GetUIThreadTaskRunner({})->PostTask(
FROM_HERE,
base::BindOnce([](Promise<void> promise) { promise.Resolve(); },
std::move(promise)));
} else {

View File

@@ -11,7 +11,6 @@
#include <utility>
#include "base/strings/string_piece.h"
#include "base/task/post_task.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "shell/common/gin_converters/std_converter.h"
@@ -48,8 +47,8 @@ class PromiseBase {
static void RejectPromise(PromiseBase&& promise, base::StringPiece errmsg) {
if (gin_helper::Locker::IsBrowserProcess() &&
!content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)) {
base::PostTask(
FROM_HERE, {content::BrowserThread::UI},
content::GetUIThreadTaskRunner({})->PostTask(
FROM_HERE,
base::BindOnce(
// Note that this callback can not take StringPiece,
// as StringPiece only references string internally and
@@ -91,8 +90,8 @@ class Promise : public PromiseBase {
static void ResolvePromise(Promise<RT> promise, RT result) {
if (gin_helper::Locker::IsBrowserProcess() &&
!content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)) {
base::PostTask(FROM_HERE, {content::BrowserThread::UI},
base::BindOnce([](Promise<RT> promise,
content::GetUIThreadTaskRunner({})->PostTask(
FROM_HERE, base::BindOnce([](Promise<RT> promise,
RT result) { promise.Resolve(result); },
std::move(promise), std::move(result)));
} else {

View File

@@ -21,9 +21,9 @@
#include "base/files/file_util.h"
#include "base/logging.h"
#include "base/stl_util.h"
#include "base/strings/escape.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/task/post_task.h"
#include "base/task/thread_pool.h"
#include "base/threading/scoped_blocking_call.h"
#include "base/win/registry.h"
@@ -32,7 +32,6 @@
#include "base/win/windows_version.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "net/base/escape.h"
#include "shell/common/electron_paths.h"
#include "ui/base/win/shell.h"
#include "url/gurl.h"
@@ -243,7 +242,7 @@ std::string OpenExternalOnWorkerThread(
// parameters unexpected by the external program. This url should already
// have been escaped.
std::wstring escaped_url =
L"\"" + base::UTF8ToWide(net::EscapeExternalHandlerValue(url.spec())) +
L"\"" + base::UTF8ToWide(base::EscapeExternalHandlerValue(url.spec())) +
L"\"";
std::wstring working_dir = options.working_dir.value();

View File

@@ -389,9 +389,10 @@ std::unique_ptr<base::Value> V8ValueConverter::FromV8Array(
std::unique_ptr<v8::Context::Scope> scope;
// If val was created in a different context than our current one, change to
// that context, but change back after val is converted.
if (!val->CreationContext().IsEmpty() &&
val->CreationContext() != isolate->GetCurrentContext())
scope = std::make_unique<v8::Context::Scope>(val->CreationContext());
if (!val->GetCreationContextChecked().IsEmpty() &&
val->GetCreationContextChecked() != isolate->GetCurrentContext())
scope =
std::make_unique<v8::Context::Scope>(val->GetCreationContextChecked());
auto result = std::make_unique<base::ListValue>();
@@ -445,9 +446,10 @@ std::unique_ptr<base::Value> V8ValueConverter::FromV8Object(
std::unique_ptr<v8::Context::Scope> scope;
// If val was created in a different context than our current one, change to
// that context, but change back after val is converted.
if (!val->CreationContext().IsEmpty() &&
val->CreationContext() != isolate->GetCurrentContext())
scope = std::make_unique<v8::Context::Scope>(val->CreationContext());
if (!val->GetCreationContextChecked().IsEmpty() &&
val->GetCreationContextChecked() != isolate->GetCurrentContext())
scope =
std::make_unique<v8::Context::Scope>(val->GetCreationContextChecked());
auto result = std::make_unique<base::DictionaryValue>();
v8::Local<v8::Array> property_names;