chore: bump chromium to 580fe983e138952553cd6af11ee8b (master) (#23379)

* chore: bump chromium in DEPS to 5ce64b91b4d6a78c97480059f15ff6469fc0918e

* chore: bump chromium in DEPS to e74c73d0000f81b3f40a513176c8d024bba57d28

* chore: bump chromium in DEPS to 501640e650d4657ba63db65fa257e4a899168de7

* chore: bump chromium in DEPS to 00db20e1bc3d77706723a87ada3c1c647a1c37b7

* chore: update patches

* refactor: AddNewContents now takes a target_url

Refs: 2167732

* chore: SetHostCleanupFinalizationGroupCallback has been removed from V8

* refactor: use WebInputEvent::Namespace types directly

Refs: 2160523

* refactor: FollowRedirect takes in cors exempt headers now

Refs: 2129787

* refactor: printing::DuplexMode moved to mojo

Refs: 2162388

* refactor: use MessagePortDescriptor instead of raw mojo::MessagePipeHandles

Refs: 1952124

* chore: update patches

* chore: bump chromium in DEPS to f1537676d613f3567cfb43adf577b3847fba4bc3

* chore: update patches

* refactor: service_manager::BinderMapWithContext merged into mojo::BinderMap

Refs: 2174654

* chore: unused argument removed from ReadAvailableTypes in ui::Clipboard

Refs: 2173666

* chore: bump chromium in DEPS to 949888433ab935dd6125c107226a4c9d6da9bf48

* chore: update patches

* update patches

* chore: update sysroots

* chore: bump chromium in DEPS to eaac5b5035fe189b6706e1637122e37134206059

* chore: bump chromium in DEPS to 258b54b903d33dab963adf59016691e6537f8b70

* build: update patches

* refactor: cursor.mojom and cursor_types.mojom moved to //ui/base/cursor/mojom

Refs: 2172874

* chore: DesktopWindowTreeHostLinux becomes DesktopWindowTreeHostPlatform

Refs:

* refactor: LogErrorEventDescription moved from ui to x11

Refs: 2164245

* chore: update patches

* chore: bump chromium in DEPS to bd06abcfe807d4461683479237cdd920dafa52ca

* chore: bump chromium in DEPS to 1afb0891e56f1e79d204db43ca053a46d0974511

* chore: bump chromium in DEPS to 5cb0f794bf7f155bf8c0a241b94e01c9d90c2744

* chore: bump chromium in DEPS to 37327ba3303234e1a3cd3310ca11a68e81b95123

* update patches

* remove ClientSideDetectionService from browser_process

Refs: 2175320

* refactor: shuttle cursor changed event to WebContentsObserver

Refs: 2172779

* chore: bump chromium in DEPS to 1d97904bb6936e106df13705208b73e47367c2b9

* avoid IPC crash introduced earlier in the roll

Refs: b67334e781 (diff-607f4e8f7c5686aa09af98c783925babR128)

* remove WebContentsView::SizeContents

Refs: 2188931

* chore: bump chromium in DEPS to 87066d1db0546a9de33952ba964e1e42f76f1dae

* update patches

* adapt to //content creating NetworkContexts

2195196

* WIP temporarily ignore mojo-ified PrintHostMsg_PrintPreviewFailed

Refs: 2195343

* add checkout_pgo_profiles to DEPS

* chore: bump chromium in DEPS to a095318bec1dedf580d676f408eaeefdbd9956b1

* add blink's execution_context to electron_lib deps

Refs:
b67334e781#, 1952124

* update patches

* update patches

* refactor: use newly mojo-ified PrintPreviewFailed

Refs: 2195343
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>

* chore: update patches

* chore: remove NOTIFICATION_EXTENSIONS_READY_DEPRECATED

Refs: 2199874

* avoid a call to Profile::FromBrowserContext in printing

Refs: 2195757

* chore: bump chromium in DEPS to 8f5c6a46861a991e12ffd80554b6bd41a11b0b65

* chore: bump chromium in DEPS to ab66134739ff3b6bdb8de53bbc58a97d1b7b5d8a

* chore: bump chromium in DEPS to dd08df9f6c8d6198f0a7b931ca9e845e27dae033

* chore: update patches

* [printing] Mojofy PrintHostMsg_PrintPreviewCancelled

2198331

* [printing] Mojofy PrintHostMsg_PrintPreviewInvalidPrinterSettings

2200556

* [printing] Mojofy PrintHostMsg_DidPrepareDocumentForPreview

2201496

* fix: inherit base network context params

* fix: use message handle api specific to embedders

* update patches

* chore: update v8 headers

* fixup! avoid a call to Profile::FromBrowserContext in printing

* chore: bump chromium in DEPS to f198bc3276828d992b6202d75a9da6a8363164ea

* chore: update patches

* Remove cors_exempt_headers.h

2203759

* Supply speech recognition sandbox from service_sandbox_type.h

2206918

* [content] Remove unused methods from WebContents

2199113

* [XProto] Replace XAtom with x11::Atom

2202789

* chore: bump chromium in DEPS to 5df37fabaaed09f3ea511f4ef49203d8ebee7b68

* [UI] Support secondary labels in dropdown menus

2208976

* chore: update patches

* refactor: GetSublabelAt => GetSecondaryLabelAt

* Revert "[printing] Mojofy PrintHostMsg_DidPrepareDocumentForPreview"

This reverts commit 44ed0892a0c81716229638f17253bbb2cf8f037d.

2208778

* Unnest CanonicalCookie::CookieInclusionStatus

2203171

* update print-to-pdf.html with latest html data

https://bugs.chromium.org/p/chromium/issues/detail?id=1085667

* chore: bump chromium in DEPS to 5dfa8d5f706580fe983e138952553cd6af11ee8b

* fix crash in x server when setting window icon

* chore: update patches

* Use a normal return value for WebContentsView::GetContainerBounds.

2212481

* fix build on windows

* chore: bump chromium in DEPS to 9d15054f4cba060901e43deecf74002f11f47be3

* chore: update patches

* [printing] Mojofy PrintHostMsg_CheckForCancel

2212181

Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
Co-authored-by: Electron Bot <anonymous@electronjs.org>
Co-authored-by: Andy Locascio <andy@slack-corp.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
This commit is contained in:
Electron Bot 2020-05-26 13:06:26 -07:00 committed by GitHub
parent 2b39111e30
commit dc72f74020
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
128 changed files with 3519 additions and 2749 deletions

View file

@ -113,9 +113,9 @@ BrowserWindow::~BrowserWindow() {
void BrowserWindow::OnInputEvent(const blink::WebInputEvent& event) {
switch (event.GetType()) {
case blink::WebInputEvent::kGestureScrollBegin:
case blink::WebInputEvent::kGestureScrollUpdate:
case blink::WebInputEvent::kGestureScrollEnd:
case blink::WebInputEvent::Type::kGestureScrollBegin:
case blink::WebInputEvent::Type::kGestureScrollUpdate:
case blink::WebInputEvent::Type::kGestureScrollEnd:
Emit("scroll-touch-edge");
break;
default:

View file

@ -16,6 +16,7 @@
#include "gin/dictionary.h"
#include "gin/object_template_builder.h"
#include "net/cookies/canonical_cookie.h"
#include "net/cookies/cookie_inclusion_status.h"
#include "net/cookies/cookie_store.h"
#include "net/cookies/cookie_util.h"
#include "shell/browser/cookie_change_notifier.h"
@ -168,25 +169,23 @@ base::Time ParseTimeProperty(const base::Optional<double>& value) {
return base::Time::FromDoubleT(*value);
}
std::string InclusionStatusToString(
net::CanonicalCookie::CookieInclusionStatus status) {
if (status.HasExclusionReason(
net::CanonicalCookie::CookieInclusionStatus::EXCLUDE_HTTP_ONLY))
std::string InclusionStatusToString(net::CookieInclusionStatus status) {
if (status.HasExclusionReason(net::CookieInclusionStatus::EXCLUDE_HTTP_ONLY))
return "Failed to create httponly cookie";
if (status.HasExclusionReason(
net::CanonicalCookie::CookieInclusionStatus::EXCLUDE_SECURE_ONLY))
net::CookieInclusionStatus::EXCLUDE_SECURE_ONLY))
return "Cannot create a secure cookie from an insecure URL";
if (status.HasExclusionReason(net::CanonicalCookie::CookieInclusionStatus::
EXCLUDE_FAILURE_TO_STORE))
if (status.HasExclusionReason(
net::CookieInclusionStatus::EXCLUDE_FAILURE_TO_STORE))
return "Failed to parse cookie";
if (status.HasExclusionReason(
net::CanonicalCookie::CookieInclusionStatus::EXCLUDE_INVALID_DOMAIN))
net::CookieInclusionStatus::EXCLUDE_INVALID_DOMAIN))
return "Failed to get cookie domain";
if (status.HasExclusionReason(
net::CanonicalCookie::CookieInclusionStatus::EXCLUDE_INVALID_PREFIX))
net::CookieInclusionStatus::EXCLUDE_INVALID_PREFIX))
return "Failed because the cookie violated prefix rules.";
if (status.HasExclusionReason(net::CanonicalCookie::CookieInclusionStatus::
EXCLUDE_NONCOOKIEABLE_SCHEME))
if (status.HasExclusionReason(
net::CookieInclusionStatus::EXCLUDE_NONCOOKIEABLE_SCHEME))
return "Cannot set cookie for current scheme";
return "Setting cookie failed";
}
@ -307,9 +306,8 @@ v8::Local<v8::Promise> Cookies::Set(v8::Isolate* isolate,
GURL url(url_string ? *url_string : "");
if (!url.is_valid()) {
promise.RejectWithErrorMessage(
InclusionStatusToString(net::CanonicalCookie::CookieInclusionStatus(
net::CanonicalCookie::CookieInclusionStatus::
EXCLUDE_INVALID_DOMAIN)));
InclusionStatusToString(net::CookieInclusionStatus(
net::CookieInclusionStatus::EXCLUDE_INVALID_DOMAIN)));
return handle;
}
@ -322,9 +320,8 @@ v8::Local<v8::Promise> Cookies::Set(v8::Isolate* isolate,
http_only, same_site, net::COOKIE_PRIORITY_DEFAULT);
if (!canonical_cookie || !canonical_cookie->IsCanonical()) {
promise.RejectWithErrorMessage(
InclusionStatusToString(net::CanonicalCookie::CookieInclusionStatus(
net::CanonicalCookie::CookieInclusionStatus::
EXCLUDE_FAILURE_TO_STORE)));
InclusionStatusToString(net::CookieInclusionStatus(
net::CookieInclusionStatus::EXCLUDE_FAILURE_TO_STORE)));
return handle;
}
net::CookieOptions options;
@ -341,7 +338,7 @@ v8::Local<v8::Promise> Cookies::Set(v8::Isolate* isolate,
*canonical_cookie, url, options,
base::BindOnce(
[](gin_helper::Promise<void> promise,
net::CanonicalCookie::CookieInclusionStatus status) {
net::CookieInclusionStatus status) {
if (status.IsInclude()) {
promise.Resolve();
} else {

View file

@ -147,7 +147,7 @@ void Menu::SetIcon(int index, const gfx::Image& image) {
}
void Menu::SetSublabel(int index, const base::string16& sublabel) {
model_->SetSublabel(index, sublabel);
model_->SetSecondaryLabel(index, sublabel);
}
void Menu::SetToolTip(int index, const base::string16& toolTip) {
@ -179,7 +179,7 @@ base::string16 Menu::GetLabelAt(int index) const {
}
base::string16 Menu::GetSublabelAt(int index) const {
return model_->GetSublabelAt(index);
return model_->GetSecondaryLabelAt(index);
}
base::string16 Menu::GetToolTipAt(int index) const {

View file

@ -103,7 +103,7 @@
#include "third_party/blink/public/mojom/messaging/transferable_message.mojom.h"
#include "third_party/blink/public/mojom/renderer_preferences.mojom.h"
#include "ui/base/cursor/cursor.h"
#include "ui/base/mojom/cursor_type.mojom-shared.h"
#include "ui/base/cursor/mojom/cursor_type.mojom-shared.h"
#include "ui/display/screen.h"
#include "ui/events/base_event_utils.h"
@ -178,22 +178,22 @@ struct Converter<printing::MarginType> {
};
template <>
struct Converter<printing::DuplexMode> {
struct Converter<printing::mojom::DuplexMode> {
static bool FromV8(v8::Isolate* isolate,
v8::Local<v8::Value> val,
printing::DuplexMode* out) {
printing::mojom::DuplexMode* out) {
std::string mode;
if (ConvertFromV8(isolate, val, &mode)) {
if (mode == "simplex") {
*out = printing::SIMPLEX;
*out = printing::mojom::DuplexMode::kSimplex;
return true;
}
if (mode == "longEdge") {
*out = printing::LONG_EDGE;
*out = printing::mojom::DuplexMode::kLongEdge;
return true;
}
if (mode == "shortEdge") {
*out = printing::SHORT_EDGE;
*out = printing::mojom::DuplexMode::kShortEdge;
return true;
}
}
@ -708,6 +708,7 @@ content::WebContents* WebContents::CreateCustomWebContents(
void WebContents::AddNewContents(
content::WebContents* source,
std::unique_ptr<content::WebContents> new_contents,
const GURL& target_url,
WindowOpenDisposition disposition,
const gfx::Rect& initial_rect,
bool user_gesture,
@ -1392,8 +1393,6 @@ void WebContents::DevToolsClosed() {
bool WebContents::OnMessageReceived(const IPC::Message& message) {
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(WebContents, message)
IPC_MESSAGE_HANDLER_CODE(WidgetHostMsg_SetCursor, OnCursorChange,
handled = false)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
@ -2036,9 +2035,10 @@ void WebContents::Print(gin_helper::Arguments* args) {
}
// Duplex type user wants to use.
printing::DuplexMode duplex_mode;
printing::mojom::DuplexMode duplex_mode;
options.Get("duplexMode", &duplex_mode);
settings.SetIntKey(printing::kSettingDuplexMode, duplex_mode);
settings.SetIntKey(printing::kSettingDuplexMode,
static_cast<int>(duplex_mode));
// We've already done necessary parameter sanitization at the
// JS level, so we can simply pass this through.
@ -2311,13 +2311,13 @@ void WebContents::SendInputEvent(v8::Isolate* isolate,
}
} else if (blink::WebInputEvent::IsKeyboardEventType(type)) {
content::NativeWebKeyboardEvent keyboard_event(
blink::WebKeyboardEvent::kRawKeyDown,
blink::WebInputEvent::kNoModifiers, ui::EventTimeForNow());
blink::WebKeyboardEvent::Type::kRawKeyDown,
blink::WebInputEvent::Modifiers::kNoModifiers, ui::EventTimeForNow());
if (gin::ConvertFromV8(isolate, input_event, &keyboard_event)) {
rwh->ForwardKeyboardEvent(keyboard_event);
return;
}
} else if (type == blink::WebInputEvent::kMouseWheel) {
} else if (type == blink::WebInputEvent::Type::kMouseWheel) {
blink::WebMouseWheelEvent mouse_wheel_event;
if (gin::ConvertFromV8(isolate, input_event, &mouse_wheel_event)) {
if (IsOffScreen()) {
@ -2450,7 +2450,7 @@ bool WebContents::IsBeingCaptured() {
return web_contents()->IsBeingCaptured();
}
void WebContents::OnCursorChange(const content::WebCursor& webcursor) {
void WebContents::OnCursorChanged(const content::WebCursor& webcursor) {
const ui::Cursor& cursor = webcursor.cursor();
if (cursor.type() == ui::mojom::CursorType::kCustom) {

View file

@ -447,6 +447,7 @@ class WebContents : public gin_helper::TrackableObject<WebContents>,
content::WebContents* new_contents) override;
void AddNewContents(content::WebContents* source,
std::unique_ptr<content::WebContents> new_contents,
const GURL& target_url,
WindowOpenDisposition disposition,
const gfx::Rect& initial_rect,
bool user_gesture,
@ -551,6 +552,7 @@ class WebContents : public gin_helper::TrackableObject<WebContents>,
content::RenderFrameHost* render_frame_host,
const std::string& interface_name,
mojo::ScopedMessagePipeHandle* interface_pipe) override;
void OnCursorChanged(const content::WebCursor& cursor) override;
void DidAcquireFullscreen(content::RenderFrameHost* rfh) override;
// InspectableWebContentsDelegate:
@ -608,9 +610,6 @@ class WebContents : public gin_helper::TrackableObject<WebContents>,
void SetTemporaryZoomLevel(double level) override;
void DoGetZoomLevel(DoGetZoomLevelCallback callback) override;
// Called when we receive a CursorChange message from chromium.
void OnCursorChange(const content::WebCursor& cursor);
// Called when received a synchronous message from renderer to
// get the zoom level.
void OnGetZoomLevel(content::RenderFrameHost* frame_host,

View file

@ -27,7 +27,13 @@ namespace electron {
gin::WrapperInfo MessagePort::kWrapperInfo = {gin::kEmbedderNativeGin};
MessagePort::MessagePort() = default;
MessagePort::~MessagePort() = default;
MessagePort::~MessagePort() {
if (!IsNeutered()) {
// Disentangle before teardown. The MessagePortDescriptor will blow up if it
// hasn't had its underlying handle returned to it before teardown.
Disentangle();
}
}
// static
gin::Handle<MessagePort> MessagePort::Create(v8::Isolate* isolate) {
@ -97,8 +103,9 @@ void MessagePort::Close() {
if (closed_)
return;
if (!IsNeutered()) {
connector_ = nullptr;
Entangle(mojo::MessagePipe().handle0);
Disentangle().ReleaseHandle();
blink::MessagePortDescriptorPair pipe;
Entangle(pipe.TakePort0());
}
closed_ = true;
if (!HasPendingActivity())
@ -111,11 +118,15 @@ void MessagePort::Close() {
gin_helper::EmitEvent(isolate, self, "close");
}
void MessagePort::Entangle(mojo::ScopedMessagePipeHandle handle) {
DCHECK(handle.is_valid());
void MessagePort::Entangle(blink::MessagePortDescriptor port) {
DCHECK(port.IsValid());
DCHECK(!connector_);
port_ = std::move(port);
v8::Isolate* isolate = v8::Isolate::GetCurrent();
v8::HandleScope scope(isolate);
connector_ = std::make_unique<mojo::Connector>(
std::move(handle), mojo::Connector::SINGLE_THREADED_SEND,
port_.TakeHandleToEntangleWithEmbedder(),
mojo::Connector::SINGLE_THREADED_SEND,
base::ThreadTaskRunnerHandle::Get());
connector_->PauseIncomingMethodCallProcessing();
connector_->set_incoming_receiver(this);
@ -131,11 +142,11 @@ void MessagePort::Entangle(blink::MessagePortChannel channel) {
blink::MessagePortChannel MessagePort::Disentangle() {
DCHECK(!IsNeutered());
auto result = blink::MessagePortChannel(connector_->PassMessagePipe());
port_.GiveDisentangledHandle(connector_->PassMessagePipe());
connector_ = nullptr;
if (!HasPendingActivity())
Unpin();
return result;
return blink::MessagePortChannel(std::move(port_));
}
bool MessagePort::HasPendingActivity() const {
@ -260,9 +271,9 @@ using electron::MessagePort;
v8::Local<v8::Value> CreatePair(v8::Isolate* isolate) {
auto port1 = MessagePort::Create(isolate);
auto port2 = MessagePort::Create(isolate);
mojo::MessagePipe pipe;
port1->Entangle(std::move(pipe.handle0));
port2->Entangle(std::move(pipe.handle1));
blink::MessagePortDescriptorPair pipe;
port1->Entangle(pipe.TakePort0());
port2->Entangle(pipe.TakePort1());
return gin::DataObjectBuilder(isolate)
.Set("port1", port1)
.Set("port2", port2)

View file

@ -12,6 +12,7 @@
#include "mojo/public/cpp/bindings/connector.h"
#include "mojo/public/cpp/bindings/message.h"
#include "third_party/blink/public/common/messaging/message_port_channel.h"
#include "third_party/blink/public/common/messaging/message_port_descriptor.h"
namespace gin {
class Arguments;
@ -31,7 +32,7 @@ class MessagePort : public gin::Wrappable<MessagePort>, mojo::MessageReceiver {
void Start();
void Close();
void Entangle(mojo::ScopedMessagePipeHandle handle);
void Entangle(blink::MessagePortDescriptor handle);
void Entangle(blink::MessagePortChannel channel);
blink::MessagePortChannel Disentangle();
@ -78,6 +79,10 @@ class MessagePort : public gin::Wrappable<MessagePort>, mojo::MessageReceiver {
v8::Global<v8::Value> pinned_;
// The internal port owned by this class. The handle itself is moved into the
// |connector_| while entangled.
blink::MessagePortDescriptor port_;
base::WeakPtrFactory<MessagePort> weak_factory_{this};
};