chore: bump chromium to 105.0.5173.0 (main) (#34770)

* chore: bump chromium in DEPS to 105.0.5147.0

* chore: update chromium/can_create_window.patch

Xref: 3642216

fix minor code shear in patch

* chore: update chromium/port_autofill_colors_to_the_color_pipeline.patch

Xref: chromium/port_autofill_colors_to_the_color_pipeline.patch

fix minor code shear in patch

* chore: remove chromium/posix_replace_doubleforkandexec_with_forkandspawn.patch

Xref: 3727368

Removing upstreamed patch

* chore: update patches

* chore: update patches

* chore: add new enum kOffscreenDocument to switch statement

Xref: 3722498

* chore: add stub for new parent virtual method OnNewCropVersion()

Xref: 3717305

* chore: remove download_schedule arg from DownloadTargetCallback invocation

Xref: 3711096

Clean up DownloadLater flags and prefs

* chore: add stub for new parent virtual method OnNewCropVersion()

Xref: 3717305

* chore: use base::List for extensions::Event

Xref: 3718366

Remove Event constructor overloads that take vector<base::Value>

* refactor: replace ClearStorageDataOptions.origin with .storage_key

Xref: 3702946

Refactor ClearData to take StorageKey

* chore: bump chromium in DEPS to 105.0.5149.0

* chore: update patches

* refactor: migrate InspectableWebContents to base::Value::List

Xref: 3726326

Migrate DevToolsEmbedderMessageDispatcher to base::Value::List.

* refactor: update electron_api_clipboard_mac Clipboard::ReadFindText()

Xref: 3721398

Mac: Remove unused FindPasteboard C++ interface

* chore: bump chromium in DEPS to 105.0.5151.0

* chore: fix code shear in chromium/build_do_not_depend_on_packed_resource_integrity.patch

Xref: 3714995

Move Cart DB proto to //components/commerce

* Revert "chore: fix code shear in chromium/build_do_not_depend_on_packed_resource_integrity.patch"

This reverts commit f8de4605eb3d35152b186646fefd8e88d1df836b.

* chore: fix code shear in chromium/build_do_not_depend_on_packed_resource_integrity.patch

Xref: 3714995

Move Cart DB proto to //components/commerce

* chore: update patches

* chore: update ElectronAccessibilityUIMessageHandler to use base::Value::List

Xref: 3733367

Convert /chrome/browser/accessibility away from WebUI::RegisterDeprecatedMessageCallback

* chore: bump chromium in DEPS to 105.0.5153.0

* chore: bump chromium in DEPS to 105.0.5155.0

* chore: bump chromium in DEPS to 105.0.5157.0

* chore: bump chromium in DEPS to 105.0.5159.0

* chore: update patches

* chore: update CL reference

* Replace ContentMainDelegate::InvokedIn with a variant

3705957

* Switch devtools_frontend.mojom to mojom.DictValue.

3726425

* webhid: Bind HID service with service workers

3680562

* chore: fix lint

* Don't fire load-complete AX notification on macOS for unfocused windows

3695403

* chore: update patches

* chore: bump chromium in DEPS to 105.0.5165.0

* chore: update patches

* chore: bump chromium in DEPS to 105.0.5167.0

* chore: bump chromium in DEPS to 105.0.5169.0

* chore: bump chromium in DEPS to 105.0.5171.0

* chore: update patches

* chore: bump chromium in DEPS to 105.0.5173.0

* chore: update patches

* 3743346: Stop generating unsupported policies on macOS

3743346

* 3727612: [Bluetooth][Win] Refactor pairing prompt code

3727612

* 3737325: system-extensions: Move IsEnabled() out of SystemExtensionsProvider.

3737325

* 3748635: Remove RenderView from the public API.

3748635

* fixup: 3743346: Stop generating unsupported policies on macOS

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
This commit is contained in:
electron-roller[bot] 2022-07-13 17:26:16 -04:00 committed by GitHub
parent 440c575aa6
commit d32e6cc252
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
97 changed files with 475 additions and 1071 deletions

View file

@ -41,6 +41,7 @@
#include "shell/renderer/electron_renderer_client.h"
#include "shell/renderer/electron_sandboxed_renderer_client.h"
#include "shell/utility/electron_content_utility_client.h"
#include "third_party/abseil-cpp/absl/types/variant.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/base/ui_base_switches.h"
@ -461,7 +462,7 @@ ElectronMainDelegate::RunProcess(
}
bool ElectronMainDelegate::ShouldCreateFeatureList(InvokedIn invoked_in) {
return invoked_in == InvokedIn::kChildProcess;
return absl::holds_alternative<InvokedInChildProcess>(invoked_in);
}
bool ElectronMainDelegate::ShouldLockSchemeRegistry() {

View file

@ -72,6 +72,7 @@
#include "shell/common/node_includes.h"
#include "shell/common/options_switches.h"
#include "shell/common/process_util.h"
#include "third_party/blink/public/common/storage_key/storage_key.h"
#include "ui/base/l10n/l10n_util.h"
#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
@ -115,7 +116,7 @@ PreconnectRequest::PreconnectRequest(
namespace {
struct ClearStorageDataOptions {
GURL origin;
blink::StorageKey storage_key;
uint32_t storage_types = StoragePartition::REMOVE_DATA_MASK_ALL;
uint32_t quota_types = StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL;
};
@ -170,7 +171,8 @@ struct Converter<ClearStorageDataOptions> {
gin_helper::Dictionary options;
if (!ConvertFromV8(isolate, val, &options))
return false;
options.Get("origin", &out->origin);
if (GURL storage_origin; options.Get("origin", &storage_origin))
out->storage_key = blink::StorageKey(url::Origin::Create(storage_origin));
std::vector<std::string> types;
if (options.Get("storages", &types))
out->storage_types = GetStorageMask(types);
@ -464,8 +466,8 @@ v8::Local<v8::Promise> Session::ClearStorageData(gin::Arguments* args) {
}
storage_partition->ClearData(
options.storage_types, options.quota_types, options.origin, base::Time(),
base::Time::Max(),
options.storage_types, options.quota_types, options.storage_key,
base::Time(), base::Time::Max(),
base::BindOnce(gin_helper::Promise<void>::ResolvePromise,
std::move(promise)));
return handle;

View file

@ -637,6 +637,7 @@ WebContents::Type GetTypeFromViewType(extensions::mojom::ViewType view_type) {
case extensions::mojom::ViewType::kBackgroundContents:
case extensions::mojom::ViewType::kExtensionGuest:
case extensions::mojom::ViewType::kTabContents:
case extensions::mojom::ViewType::kOffscreenDocument:
case extensions::mojom::ViewType::kInvalid:
return WebContents::Type::kRemote;
}

View file

@ -143,6 +143,8 @@ void FrameSubscriber::OnFrameCaptured(
Done(content_rect, bitmap);
}
void FrameSubscriber::OnNewCropVersion(uint32_t crop_version) {}
void FrameSubscriber::OnFrameWithEmptyRegionCapture() {}
void FrameSubscriber::OnStopped() {}

View file

@ -57,6 +57,7 @@ class FrameSubscriber : public content::WebContentsObserver,
const gfx::Rect& content_rect,
mojo::PendingRemote<viz::mojom::FrameSinkVideoConsumerFrameCallbacks>
callbacks) override;
void OnNewCropVersion(uint32_t crop_version) override;
void OnFrameWithEmptyRegionCapture() override;
void OnStopped() override;
void OnLog(const std::string& message) override;

View file

@ -47,14 +47,6 @@ ElectronBluetoothDelegate::ShowBluetoothScanningPrompt(
return nullptr;
}
void ElectronBluetoothDelegate::ShowDeviceCredentialsPrompt(
content::RenderFrameHost* frame,
const std::u16string& device_identifier,
CredentialsCallback callback) {
// TODO(jkleinsc) implement this
std::move(callback).Run(DeviceCredentialsPromptResult::kCancelled, u"");
}
WebBluetoothDeviceId ElectronBluetoothDelegate::GetWebBluetoothDeviceId(
RenderFrameHost* frame,
const std::string& device_address) {
@ -138,11 +130,14 @@ ElectronBluetoothDelegate::GetPermittedDevices(
return permitted_devices;
}
void ElectronBluetoothDelegate::ShowDevicePairConfirmPrompt(
RenderFrameHost* frame,
void ElectronBluetoothDelegate::ShowDevicePairPrompt(
content::RenderFrameHost* frame,
const std::u16string& device_identifier,
PairConfirmCallback callback) {
PairPromptCallback callback,
PairingKind pairing_kind) {
NOTIMPLEMENTED();
std::move(callback).Run(BluetoothDelegate::PairPromptResult(
BluetoothDelegate::PairPromptStatus::kCancelled));
}
} // namespace electron

View file

@ -52,12 +52,10 @@ class ElectronBluetoothDelegate : public content::BluetoothDelegate {
content::RenderFrameHost* frame,
const content::BluetoothScanningPrompt::EventHandler& event_handler)
override;
void ShowDeviceCredentialsPrompt(content::RenderFrameHost* frame,
const std::u16string& device_identifier,
CredentialsCallback callback) override;
void ShowDevicePairConfirmPrompt(content::RenderFrameHost* frame,
const std::u16string& device_identifier,
PairConfirmCallback callback) override;
void ShowDevicePairPrompt(content::RenderFrameHost* frame,
const std::u16string& device_identifier,
PairPromptCallback callback,
PairingKind pairing_kind) override;
blink::WebBluetoothDeviceId GetWebBluetoothDeviceId(
content::RenderFrameHost* frame,
const std::string& device_address) override;

View file

@ -1820,6 +1820,7 @@ void BindBadgeServiceForServiceWorker(
}
void ElectronBrowserClient::RegisterBrowserInterfaceBindersForServiceWorker(
content::BrowserContext* browser_context,
mojo::BinderMapWithContext<const content::ServiceWorkerVersionBaseInfo&>*
map) {
map->Add<blink::mojom::BadgeService>(

View file

@ -82,6 +82,7 @@ class ElectronBrowserClient : public content::ContentBrowserClient,
content::RenderFrameHost* render_frame_host,
mojo::BinderMapWithContext<content::RenderFrameHost*>* map) override;
void RegisterBrowserInterfaceBindersForServiceWorker(
content::BrowserContext* browser_context,
mojo::BinderMapWithContext<const content::ServiceWorkerVersionBaseInfo&>*
map) override;
#if BUILDFLAG(IS_LINUX)

View file

@ -144,8 +144,7 @@ void ElectronDownloadManagerDelegate::OnDownloadPathGenerated(
path, download::DownloadItem::TARGET_DISPOSITION_PROMPT,
download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
item->GetMixedContentStatus(), path, base::FilePath(),
std::string() /*mime_type*/, absl::nullopt /*download_schedule*/,
download::DOWNLOAD_INTERRUPT_REASON_NONE);
std::string() /*mime_type*/, download::DOWNLOAD_INTERRUPT_REASON_NONE);
}
}
@ -185,8 +184,7 @@ void ElectronDownloadManagerDelegate::OnDownloadSaveDialogDone(
.Run(path, download::DownloadItem::TARGET_DISPOSITION_PROMPT,
download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
item->GetMixedContentStatus(), path, base::FilePath(),
std::string() /*mime_type*/, absl::nullopt /*download_schedule*/,
interrupt_reason);
std::string() /*mime_type*/, interrupt_reason);
}
void ElectronDownloadManagerDelegate::Shutdown() {
@ -206,8 +204,7 @@ bool ElectronDownloadManagerDelegate::DetermineDownloadTarget(
download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
download::DownloadItem::MixedContentStatus::UNKNOWN,
download->GetForcedFilePath(), base::FilePath(),
std::string() /*mime_type*/, absl::nullopt /*download_schedule*/,
download::DOWNLOAD_INTERRUPT_REASON_NONE);
std::string() /*mime_type*/, download::DOWNLOAD_INTERRUPT_REASON_NONE);
return true;
}
@ -220,7 +217,6 @@ bool ElectronDownloadManagerDelegate::DetermineDownloadTarget(
download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
download::DownloadItem::MixedContentStatus::UNKNOWN, save_path,
base::FilePath(), std::string() /*mime_type*/,
absl::nullopt /*download_schedule*/,
download::DOWNLOAD_INTERRUPT_REASON_NONE);
return true;
}

View file

@ -310,15 +310,12 @@ void ElectronExtensionsBrowserClient::BroadcastEventToRenderers(
return;
}
std::vector<base::Value> event_args(args.size());
std::transform(args.begin(), args.end(), event_args.begin(),
[](const base::Value& arg) { return arg.Clone(); });
auto event = std::make_unique<extensions::Event>(histogram_value, event_name,
std::move(event_args));
auto& context_map = ElectronBrowserContext::browser_context_map();
for (auto const& entry : context_map) {
if (entry.second) {
extensions::EventRouter::Get(entry.second.get())
args.Clone());
for (auto const& [key, browser_context] :
ElectronBrowserContext::browser_context_map()) {
if (browser_context) {
extensions::EventRouter::Get(browser_context.get())
->BroadcastEvent(std::move(event));
}
}

View file

@ -8,6 +8,7 @@
#include <utility>
#include "base/command_line.h"
#include "chrome/common/chrome_features.h"
#include "content/public/browser/web_contents.h"
#include "services/device/public/cpp/hid/hid_switches.h"
#include "shell/browser/electron_permission_manager.h"
@ -17,6 +18,10 @@
#include "shell/browser/web_contents_permission_helper.h"
#include "third_party/blink/public/common/permissions/permission_utils.h"
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "extensions/common/constants.h"
#endif // BUILDFLAG(ENABLE_EXTENSIONS)
namespace {
electron::HidChooserContext* GetChooserContext(
@ -119,6 +124,19 @@ bool ElectronHidDelegate::IsFidoAllowedForOrigin(
switches::kDisableHidBlocklist);
}
bool ElectronHidDelegate::IsServiceWorkerAllowedForOrigin(
const url::Origin& origin) {
#if BUILDFLAG(ENABLE_EXTENSIONS)
// WebHID is only available on extension service workers with feature flag
// enabled for now.
if (base::FeatureList::IsEnabled(
features::kEnableWebHidOnExtensionServiceWorker) &&
origin.scheme() == extensions::kExtensionScheme)
return true;
#endif // BUILDFLAG(ENABLE_EXTENSIONS)
return false;
}
void ElectronHidDelegate::OnDeviceAdded(
const device::mojom::HidDeviceInfo& device_info) {
for (auto& observer : observer_list_)

View file

@ -52,6 +52,7 @@ class ElectronHidDelegate : public content::HidDelegate,
const std::string& guid) override;
bool IsFidoAllowedForOrigin(content::BrowserContext* browser_context,
const url::Origin& origin) override;
bool IsServiceWorkerAllowedForOrigin(const url::Origin& origin) override;
// HidChooserContext::DeviceObserver:
void OnDeviceAdded(const device::mojom::HidDeviceInfo&) override;

View file

@ -136,6 +136,8 @@ void OffScreenVideoConsumer::OnFrameCaptured(
callback_.Run(*update_rect, bitmap);
}
void OffScreenVideoConsumer::OnNewCropVersion(uint32_t crop_version) {}
void OffScreenVideoConsumer::OnFrameWithEmptyRegionCapture() {}
void OffScreenVideoConsumer::OnStopped() {}

View file

@ -43,6 +43,7 @@ class OffScreenVideoConsumer : public viz::mojom::FrameSinkVideoConsumer {
const gfx::Rect& content_rect,
mojo::PendingRemote<viz::mojom::FrameSinkVideoConsumerFrameCallbacks>
callbacks) override;
void OnNewCropVersion(uint32_t crop_version) override;
void OnFrameWithEmptyRegionCapture() override;
void OnStopped() override;
void OnLog(const std::string& message) override;

View file

@ -903,32 +903,25 @@ void InspectableWebContents::RegisterExtensionsAPI(const std::string& origin,
}
void InspectableWebContents::HandleMessageFromDevToolsFrontend(
base::Value message) {
base::Value::Dict message) {
// TODO(alexeykuzmin): Should we expect it to exist?
if (!embedder_message_dispatcher_) {
return;
}
const std::string* method = nullptr;
base::Value* params = nullptr;
if (message.is_dict()) {
method = message.FindStringKey(kFrontendHostMethod);
params = message.FindKey(kFrontendHostParams);
}
const std::string* method = message.FindString(kFrontendHostMethod);
base::Value* params = message.Find(kFrontendHostParams);
if (!method || (params && !params->is_list())) {
LOG(ERROR) << "Invalid message was sent to embedder: " << message;
return;
}
base::Value empty_params(base::Value::Type::LIST);
if (!params) {
params = &empty_params;
}
int id = message.FindIntKey(kFrontendHostId).value_or(0);
std::vector<base::Value> params_list;
if (params)
params_list = std::move(*params).TakeListDeprecated();
const base::Value::List no_params;
const base::Value::List& params_list =
params != nullptr && params->is_list() ? params->GetList() : no_params;
const int id = message.FindInt(kFrontendHostId).value_or(0);
embedder_message_dispatcher_->Dispatch(
base::BindRepeating(&InspectableWebContents::SendMessageAck,
weak_factory_.GetWeakPtr(), id),

View file

@ -170,7 +170,7 @@ class InspectableWebContents
const std::string& trigger) override {}
// content::DevToolsFrontendHostDelegate:
void HandleMessageFromDevToolsFrontend(base::Value message);
void HandleMessageFromDevToolsFrontend(base::Value::Dict message);
// content::DevToolsAgentHostClient:
void DispatchProtocolMessage(content::DevToolsAgentHost* agent_host,

View file

@ -332,34 +332,32 @@ ElectronAccessibilityUIMessageHandler::ElectronAccessibilityUIMessageHandler() =
default;
void ElectronAccessibilityUIMessageHandler::RequestNativeUITree(
const base::ListValue* args) {
const base::DictionaryValue* data;
CHECK(args->GetDictionary(0, &data));
const base::Value::List& args) {
const base::Value::Dict& data = args.front().GetDict();
int window_id = *data->FindIntPath(kSessionIdField);
const std::string* request_type_p = data->FindStringPath(kRequestTypeField);
const int window_id = *data.FindInt(kSessionIdField);
const std::string* const request_type_p = data.FindString(kRequestTypeField);
CHECK(IsValidJSValue(request_type_p));
std::string request_type = *request_type_p;
CHECK(request_type == kShowOrRefreshTree || request_type == kCopyTree);
request_type = "accessibility." + request_type;
const std::string* allow_p = data->FindStringPath("filters.allow");
const std::string* const allow_p =
data.FindStringByDottedPath("filters.allow");
CHECK(IsValidJSValue(allow_p));
std::string allow = *allow_p;
const std::string* allow_empty_p = data->FindStringPath("filters.allowEmpty");
const std::string* const allow_empty_p =
data.FindStringByDottedPath("filters.allowEmpty");
CHECK(IsValidJSValue(allow_empty_p));
std::string allow_empty = *allow_empty_p;
const std::string* deny_p = data->FindStringPath("filters.deny");
const std::string* const deny_p = data.FindStringByDottedPath("filters.deny");
CHECK(IsValidJSValue(deny_p));
std::string deny = *deny_p;
AllowJavascript();
std::vector<ui::AXPropertyFilter> property_filters;
AddPropertyFilters(&property_filters, allow, ui::AXPropertyFilter::ALLOW);
AddPropertyFilters(&property_filters, allow_empty,
AddPropertyFilters(&property_filters, *allow_p, ui::AXPropertyFilter::ALLOW);
AddPropertyFilters(&property_filters, *allow_empty_p,
ui::AXPropertyFilter::ALLOW_EMPTY);
AddPropertyFilters(&property_filters, deny, ui::AXPropertyFilter::DENY);
AddPropertyFilters(&property_filters, *deny_p, ui::AXPropertyFilter::DENY);
for (auto* window : electron::WindowList::GetWindows()) {
if (window->window_id() == window_id) {
@ -385,25 +383,25 @@ void ElectronAccessibilityUIMessageHandler::RequestNativeUITree(
void ElectronAccessibilityUIMessageHandler::RegisterMessages() {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
web_ui()->RegisterDeprecatedMessageCallback(
web_ui()->RegisterMessageCallback(
"toggleAccessibility",
base::BindRepeating(&AccessibilityUIMessageHandler::ToggleAccessibility,
base::Unretained(this)));
web_ui()->RegisterDeprecatedMessageCallback(
web_ui()->RegisterMessageCallback(
"setGlobalFlag",
base::BindRepeating(&AccessibilityUIMessageHandler::SetGlobalFlag,
base::Unretained(this)));
web_ui()->RegisterDeprecatedMessageCallback(
web_ui()->RegisterMessageCallback(
"requestWebContentsTree",
base::BindRepeating(
&AccessibilityUIMessageHandler::RequestWebContentsTree,
base::Unretained(this)));
web_ui()->RegisterDeprecatedMessageCallback(
web_ui()->RegisterMessageCallback(
"requestNativeUITree",
base::BindRepeating(
&ElectronAccessibilityUIMessageHandler::RequestNativeUITree,
base::Unretained(this)));
web_ui()->RegisterDeprecatedMessageCallback(
web_ui()->RegisterMessageCallback(
"requestAccessibilityEvents",
base::BindRepeating(
&AccessibilityUIMessageHandler::RequestAccessibilityEvents,

View file

@ -32,7 +32,7 @@ class ElectronAccessibilityUIMessageHandler
void RegisterMessages() final;
private:
void RequestNativeUITree(const base::ListValue* args);
void RequestNativeUITree(const base::Value::List& args);
};
#endif // ELECTRON_SHELL_BROWSER_UI_WEBUI_ACCESSIBILITY_UI_H_

View file

@ -14,7 +14,7 @@ void Clipboard::WriteFindText(const std::u16string& text) {
}
std::u16string Clipboard::ReadFindText() {
return GetFindPboardText();
return base::SysNSStringToUTF16([[FindPasteboard sharedInstance] findText]);
}
} // namespace electron::api

View file

@ -15,7 +15,6 @@
#include "content/public/renderer/render_frame.h"
#include "content/public/renderer/render_frame_observer.h"
#include "content/public/renderer/render_frame_visitor.h"
#include "content/public/renderer/render_view.h"
#include "gin/handle.h"
#include "gin/object_template_builder.h"
#include "gin/wrappable.h"

View file

@ -8,7 +8,6 @@
#include <vector>
#include "content/public/renderer/render_frame.h"
#include "content/public/renderer/render_view.h"
#include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
#include "third_party/blink/public/common/input/web_keyboard_event.h"
#include "third_party/blink/public/platform/web_string.h"

View file

@ -11,7 +11,6 @@
#include "base/strings/string_number_conversions.h"
#include "base/trace_event/trace_event.h"
#include "content/public/renderer/render_frame.h"
#include "content/public/renderer/render_view.h"
#include "electron/buildflags/buildflags.h"
#include "electron/shell/common/api/api.mojom.h"
#include "ipc/ipc_message_macros.h"

View file

@ -18,7 +18,6 @@
#include "content/public/common/content_switches.h"
#include "content/public/renderer/render_frame.h"
#include "content/public/renderer/render_thread.h"
#include "content/public/renderer/render_view.h"
#include "electron/buildflags/buildflags.h"
#include "printing/buildflags/buildflags.h"
#include "shell/browser/api/electron_api_protocol.h"