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: 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: 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: 3579297

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

Ref: 3560622

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

Ref: 3581708

* chore: fix authorization flags lint error

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

Ref: 3583363

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

Ref: 3560622

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

Ref: 3587589

* 3584006: Remove IsRenderViewLive from content public

Ref: 3584006

* 3596174: [api] Remove APIs for resurrecting finalizers

Ref: 3596174

* 3368244: Hook SnapshotForContentAnalysis renderer API to scan system prints

Ref: 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: 3586363

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

Ref: 3593199

* 3368244: Hook SnapshotForContentAnalysis renderer API to scan system prints

Ref: 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: 3606495

* chore: bump chromium in DEPS to 103.0.5040.0

* chore: update patches

* 3590840: Add IPs to DnsOverHttpsServerConfig

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: 3566412

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

Ref: 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 | 2015655

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

Ref: 3566412

* chore: remove duplicate functions for RevokePortPermissionWebInitiated & GetPortInfo

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

Ref: 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: 3573245

* chore: bump chromium in DEPS to 103.0.5042.0

* chore: update patches

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

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.

3623985

* no need to implement WillProvidePublicFirstPartySets; the default is false

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

3601036

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

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 41a03a5799a8f40f31555d73d20ea865acfcd192.

* Undo the reversion of 41a03a5799a8f40f31555d73d20ea865acfcd192.

This reverts commit 54440abc598153bd7e259be4a908f0ecc0b33348.

* 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
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
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;