Merge pull request #17507 from electron/chromium-upgrade/75

chore: update to chromium 75.0.3740.3
This commit is contained in:
Samuel Attard 2019-04-03 13:17:37 -07:00 коммит произвёл GitHub
Родитель cd8402fc9f a65f242dbd
Коммит 5d45b59f7f
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
74 изменённых файлов: 597 добавлений и 398 удалений

Просмотреть файл

@ -507,12 +507,15 @@ steps-lint: &steps-lint
name: Download GN Binary
command: |
chromium_revision="$(grep -A1 chromium_version src/electron/DEPS | tr -d '\n' | cut -d\' -f4)"
gn_version="$(curl -sL "https://chromium.googlesource.com/chromium/src/+/${chromium_revision}/DEPS?format=TEXT" | base64 -d | grep gn_version | head -n1 | cut -d\' -f4)"
cipd ensure -ensure-file - -root . <<-CIPD
\$ServiceURL https://chrome-infra-packages.appspot.com/
@Subdir buildtools/linux64
gn/gn/linux-amd64 $gn_version
CIPD
mkdir -p "buildtools/linux64"
curl -sL "https://chromium.googlesource.com/chromium/src/+/${chromium_revision}/buildtools/linux64/gn.sha1?format=TEXT" | base64 -d > "buildtools/linux64/gn.sha1"
echo 'export CHROMIUM_BUILDTOOLS_PATH="'"$PWD"'/buildtools"' >> $BASH_ENV
download_from_google_storage --bucket chromium-gn -s "buildtools/linux64/gn.sha1"
- run:
name: Run Lint
command: |

Просмотреть файл

@ -414,6 +414,7 @@ static_library("electron_lib") {
"//third_party/libyuv",
"//third_party/webrtc_overrides:init_webrtc",
"//third_party/widevine/cdm:headers",
"//ui/base/idle",
"//ui/events:dom_keycode_converter",
"//ui/gl",
"//ui/native_theme",

2
DEPS
Просмотреть файл

@ -10,7 +10,7 @@ gclient_gn_args = [
vars = {
'chromium_version':
'74.0.3729.58',
'75.0.3740.3',
'node_version':
'2dc0f8811b2b295c08d797b8a11b030234c98502',

Просмотреть файл

@ -303,8 +303,12 @@ void SetCookieOnIO(scoped_refptr<net::URLRequestContextGetter> getter,
EXCLUDE_FAILURE_TO_STORE);
return;
}
net::CookieOptions options;
if (http_only) {
options.set_include_httponly();
}
GetCookieStore(getter)->SetCanonicalCookieAsync(
std::move(canonical_cookie), url.scheme(), http_only,
std::move(canonical_cookie), url.scheme(), options,
std::move(completion_callback));
}

Просмотреть файл

@ -830,7 +830,11 @@ bool AtomBrowserClient::HandleExternalProtocol(
ui::PageTransition page_transition,
bool has_user_gesture,
const std::string& method,
const net::HttpRequestHeaders& headers) {
const net::HttpRequestHeaders& headers,
network::mojom::URLLoaderFactoryRequest* factory_request,
// clang-format off
network::mojom::URLLoaderFactory*& out_factory) { // NOLINT
// clang-format on
base::PostTaskWithTraits(
FROM_HERE, {BrowserThread::UI},
base::BindOnce(&HandleExternalProtocolInUI, url, web_contents_getter,

Просмотреть файл

@ -172,7 +172,12 @@ class AtomBrowserClient : public content::ContentBrowserClient,
ui::PageTransition page_transition,
bool has_user_gesture,
const std::string& method,
const net::HttpRequestHeaders& headers) override;
const net::HttpRequestHeaders& headers,
network::mojom::URLLoaderFactoryRequest* factory_request,
// clang-format off
network::mojom::URLLoaderFactory*& out_factory) // NOLINT
// clang-format on
override;
private:
struct ProcessPreferences {

Просмотреть файл

@ -40,6 +40,9 @@ void IOThread::Init() {
std::unique_ptr<network::URLRequestContextBuilderMojo> builder =
std::make_unique<network::URLRequestContextBuilderMojo>();
// Enable file:// support.
builder->set_file_enabled(true);
auto cert_verifier = std::make_unique<net::CachingCertVerifier>(
std::make_unique<net::MultiThreadedCertVerifier>(
net::CertVerifyProc::CreateDefault()));

Просмотреть файл

@ -17,6 +17,22 @@
- (void)setAppearance:(NSAppearance*)appearance API_AVAILABLE(macosx(10.14));
@end
#if !defined(MAC_OS_X_VERSION_10_13_2)
// forward declare Touch ID APIs
typedef NS_ENUM(NSInteger, LABiometryType) {
LABiometryTypeNone = 0,
LABiometryTypeFaceID = 1,
LABiometryTypeTouchID = 2,
} API_AVAILABLE(macosx(10.13.2));
@interface LAContext (HighSierraPointTwoSDK)
@property(nonatomic, readonly)
LABiometryType biometryType API_AVAILABLE(macosx(10.13.2));
@end
#endif
// forward declare Access APIs
typedef NSString* AVMediaType NS_EXTENSIBLE_STRING_ENUM;

Просмотреть файл

@ -80,9 +80,6 @@ NetworkContextService::CreateNetworkContextParams(bool in_memory,
network_context_params->enable_ftp_url_support = true;
#endif // !BUILDFLAG(DISABLE_FTP_SUPPORT)
// Needed for PAC scripts that use data URLs.
network_context_params->enable_data_url_support = true;
proxy_config_monitor_.AddToNetworkContextParams(network_context_params.get());
BrowserProcessImpl::ApplyProxyModeFromCommandLine(

Просмотреть файл

@ -249,11 +249,6 @@ SystemNetworkContextManager::CreateNetworkContextParams() {
network_context_params->http_cache_enabled = false;
// These are needed for PAC scripts that use file or data URLs (Or FTP URLs?).
// TODO(crbug.com/839566): remove file support for all cases.
network_context_params->enable_data_url_support = true;
if (!base::FeatureList::IsEnabled(network::features::kNetworkService))
network_context_params->enable_file_url_support = true;
#if !BUILDFLAG(DISABLE_FTP_SUPPORT)
network_context_params->enable_ftp_url_support = true;
#endif

Просмотреть файл

@ -156,8 +156,6 @@ URLRequestContextGetter::Handle::CreateNetworkContextParams() {
net::HttpUtil::GenerateAcceptLanguageHeader(
AtomBrowserClient::Get()->GetApplicationLocale());
network_context_params->enable_data_url_support = false;
if (!browser_context_->IsOffTheRecord()) {
auto base_path = browser_context_->GetPath();
network_context_params->http_cache_path =
@ -263,6 +261,10 @@ net::URLRequestContext* URLRequestContextGetter::GetURLRequestContext() {
if (!url_request_context_) {
std::unique_ptr<network::URLRequestContextBuilderMojo> builder =
std::make_unique<network::URLRequestContextBuilderMojo>();
// Enable file:// support.
builder->set_file_enabled(true);
auto network_delegate = std::make_unique<AtomNetworkDelegate>();
network_delegate_ = network_delegate.get();
builder->set_network_delegate(std::move(network_delegate));

Просмотреть файл

@ -134,4 +134,13 @@ void PlatformNotificationService::RecordNotificationUkmEvent(
content::BrowserContext* browser_context,
const content::NotificationDatabaseData& data) {}
void PlatformNotificationService::ScheduleTrigger(
content::BrowserContext* browser_context,
base::Time timestamp) {}
base::Time PlatformNotificationService::ReadNextTriggerTimestamp(
content::BrowserContext* browser_context) {
return base::Time::Max();
}
} // namespace atom

Просмотреть файл

@ -49,6 +49,10 @@ class PlatformNotificationService
void RecordNotificationUkmEvent(
content::BrowserContext* browser_context,
const content::NotificationDatabaseData& data) override;
void ScheduleTrigger(content::BrowserContext* browser_context,
base::Time timestamp) override;
base::Time ReadNextTriggerTimestamp(
content::BrowserContext* browser_context) override;
private:
AtomBrowserClient* browser_client_;

Просмотреть файл

@ -126,7 +126,7 @@ LRESULT CALLBACK DesktopNotificationController::WndProc(HWND hwnd,
}
void DesktopNotificationController::StartAnimation() {
_ASSERT(hwnd_controller_);
DCHECK(hwnd_controller_);
if (!is_animating_ && hwnd_controller_) {
// NOTE: 15ms is shorter than what we'd need for 60 fps, but since
@ -217,7 +217,7 @@ void DesktopNotificationController::AnimateAll() {
}
if (!keep_animating) {
_ASSERT(hwnd_controller_);
DCHECK(hwnd_controller_);
if (hwnd_controller_)
KillTimer(hwnd_controller_, TimerID_Animate);
is_animating_ = false;
@ -325,7 +325,7 @@ void DesktopNotificationController::CreateToast(NotificationLink&& data) {
int toast_pos = 0;
if (!instances_.empty()) {
auto& item = instances_.back();
_ASSERT(item.hwnd);
DCHECK(item.hwnd);
ScreenMetrics scr;
auto* toast = Toast::Get(item.hwnd);
@ -379,7 +379,7 @@ DesktopNotificationController::Notification::Notification(
DesktopNotificationController::Notification::Notification(
const shared_ptr<NotificationData>& data)
: data_(data) {
_ASSERT(data != nullptr);
DCHECK(data != nullptr);
}
DesktopNotificationController::Notification::~Notification() = default;
@ -391,7 +391,7 @@ bool DesktopNotificationController::Notification::operator==(
void DesktopNotificationController::Notification::Close() {
// No business calling this when not pointing to a valid instance
_ASSERT(data_);
DCHECK(data_);
if (data_->controller)
data_->controller->CloseNotification(*this);
@ -401,7 +401,7 @@ void DesktopNotificationController::Notification::Set(std::wstring caption,
std::wstring body_text,
HBITMAP image) {
// No business calling this when not pointing to a valid instance
_ASSERT(data_);
DCHECK(data_);
// Do nothing when the notification has been closed
if (!data_->controller)

Просмотреть файл

@ -13,6 +13,7 @@
#include <uxtheme.h>
#include <windowsx.h>
#include <algorithm>
#include <cmath>
#include <memory>
#include "atom/browser/notifications/win/win32_desktop_notifications/common.h"

Просмотреть файл

@ -9,6 +9,8 @@
#include "atom/browser/notifications/win/win32_desktop_notifications/desktop_notification_controller.h"
#include "base/logging.h"
namespace atom {
class DesktopNotificationController::Toast {
@ -42,7 +44,7 @@ class DesktopNotificationController::Toast {
return ease_in_active_ || ease_out_active_ || IsStackCollapseActive();
}
bool IsHighlighted() const {
_ASSERT(!(is_highlighted_ && !IsWindowVisible(hwnd_)));
DCHECK(!(is_highlighted_ && !IsWindowVisible(hwnd_)));
return is_highlighted_;
}

Просмотреть файл

@ -31,7 +31,7 @@ ULONG DesktopNotificationController::Toast::UIAutomationInterface::Release() {
delete this;
return 0;
}
_ASSERT(ret > 0);
DCHECK_GT(ret, 0);
return ret;
}

Просмотреть файл

@ -12,7 +12,7 @@ DelayedNativeViewHost::DelayedNativeViewHost(gfx::NativeView native_view)
DelayedNativeViewHost::~DelayedNativeViewHost() {}
void DelayedNativeViewHost::ViewHierarchyChanged(
const ViewHierarchyChangedDetails& details) {
const views::ViewHierarchyChangedDetails& details) {
NativeViewHost::ViewHierarchyChanged(details);
if (details.is_add && GetWidget())
Attach(native_view_);

Просмотреть файл

@ -18,7 +18,7 @@ class DelayedNativeViewHost : public views::NativeViewHost {
// views::View:
void ViewHierarchyChanged(
const ViewHierarchyChangedDetails& details) override;
const views::ViewHierarchyChangedDetails& details) override;
private:
gfx::NativeView native_view_;

Просмотреть файл

@ -429,7 +429,7 @@ void InspectableWebContentsImpl::CallClientFunction(
}
javascript.append(");");
GetDevToolsWebContents()->GetMainFrame()->ExecuteJavaScript(
base::UTF8ToUTF16(javascript));
base::UTF8ToUTF16(javascript), base::NullCallback());
}
gfx::Rect InspectableWebContentsImpl::GetDevToolsBounds() const {
@ -476,7 +476,8 @@ void InspectableWebContentsImpl::LoadCompleted() {
}
base::string16 javascript = base::UTF8ToUTF16(
"Components.dockController.setDockSide(\"" + dock_state_ + "\");");
GetDevToolsWebContents()->GetMainFrame()->ExecuteJavaScript(javascript);
GetDevToolsWebContents()->GetMainFrame()->ExecuteJavaScript(
javascript, base::NullCallback());
}
if (view_->GetDelegate())
@ -738,7 +739,8 @@ void InspectableWebContentsImpl::DispatchProtocolMessage(
if (message.length() < kMaxMessageChunkSize) {
base::string16 javascript =
base::UTF8ToUTF16("DevToolsAPI.dispatchMessage(" + message + ");");
GetDevToolsWebContents()->GetMainFrame()->ExecuteJavaScript(javascript);
GetDevToolsWebContents()->GetMainFrame()->ExecuteJavaScript(
javascript, base::NullCallback());
return;
}
@ -887,7 +889,8 @@ void InspectableWebContentsImpl::DidFinishNavigation(
base::GenerateGUID().c_str());
// Invoking content::DevToolsFrontendHost::SetupExtensionsAPI(frame, script);
// should be enough, but it seems to be a noop currently.
frame->ExecuteJavaScriptForTests(base::UTF8ToUTF16(script));
frame->ExecuteJavaScriptForTests(base::UTF8ToUTF16(script),
base::NullCallback());
}
void InspectableWebContentsImpl::SendMessageAck(int request_id,

Просмотреть файл

@ -12,7 +12,7 @@
#include "content/public/common/referrer.h"
#include "content/public/common/stop_find_action.h"
#include "native_mate/converter.h"
#include "third_party/blink/public/platform/modules/permissions/permission_status.mojom.h"
#include "third_party/blink/public/mojom/permissions/permission_status.mojom.h"
namespace content {
struct ContextMenuParams;

Просмотреть файл

@ -27,7 +27,7 @@ bool XDGUtilV(const std::vector<std::string>& argv, const bool wait_for_exit) {
// to a command that needs a terminal. Set the environment variable telling
// it that we definitely don't have a terminal available and that it should
// bring up a new terminal if necessary. See "man mailcap".
options.environ["MM_NOTTTY"] = "1";
options.environment["MM_NOTTTY"] = "1";
base::Process process = base::LaunchProcess(argv, options);
if (!process.IsValid())

Просмотреть файл

@ -52,7 +52,7 @@ def main(argv):
if sys.platform == 'darwin':
execute(['zip', '-r', '-y', dist_zip] + list(dist_files))
else:
with zipfile.ZipFile(dist_zip, 'w', zipfile.ZIP_DEFLATED) as z:
with zipfile.ZipFile(dist_zip, 'w', zipfile.ZIP_DEFLATED, True) as z:
for dep in dist_files:
if skip_path(dep, dist_zip, target_cpu):
continue

Просмотреть файл

@ -5,7 +5,7 @@ Follow the guidelines below for building Electron on macOS.
## Prerequisites
* macOS >= 10.11.6
* [Xcode](https://developer.apple.com/technologies/tools/) >= 8.2.1
* [Xcode](https://developer.apple.com/technologies/tools/) >= 9.0.0
* [node.js](https://nodejs.org) (external)
* Python 2.7 with support for TLS 1.2
@ -36,7 +36,7 @@ the following Python modules:
If you're developing Electron and don't plan to redistribute your
custom Electron build, you may skip this section.
Official Electron builds are built with [Xcode 8.3.3](http://adcdownload.apple.com/Developer_Tools/Xcode_8.3.3/Xcode_8.3.3.xip), and the MacOS 10.12 SDK. Building with a newer SDK works too, but the releases currently use the 10.12 SDK.
Official Electron builds are built with [Xcode 9.4.1](http://adcdownload.apple.com/Developer_Tools/Xcode_9.4.1/Xcode_9.4.1.xip), and the MacOS 10.13 SDK. Building with a newer SDK works too, but the releases currently use the 10.13 SDK.
## Building Electron

Просмотреть файл

@ -1,3 +1,2 @@
expose_ripemd160.patch
expose_aes-cfb.patch
handle_pub_key_null_in_ec_key_set_public_key.patch

Просмотреть файл

@ -1,19 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jeremy Apthorp <nornagon@nornagon.net>
Date: Mon, 4 Mar 2019 10:59:35 -0800
Subject: handle pub_key == null in EC_KEY_set_public_key
diff --git a/crypto/fipsmodule/ec/ec_key.c b/crypto/fipsmodule/ec/ec_key.c
index 4bc12a073650f66f5ae8ba2beabb9a6fb2b21878..7e86ccb0d76c66f32fc05c7093c870d5da7b9994 100644
--- a/crypto/fipsmodule/ec/ec_key.c
+++ b/crypto/fipsmodule/ec/ec_key.c
@@ -267,7 +267,7 @@ int EC_KEY_set_public_key(EC_KEY *key, const EC_POINT *pub_key) {
return 0;
}
- if (EC_GROUP_cmp(key->group, pub_key->group, NULL) != 0) {
+ if (pub_key != NULL && EC_GROUP_cmp(key->group, pub_key->group, NULL) != 0) {
OPENSSL_PUT_ERROR(EC, EC_R_GROUP_MISMATCH);
return 0;
}

Просмотреть файл

@ -17,7 +17,6 @@ render_widget_host_view_mac.patch
stream_resource_handler.patch
thread_capabilities.patch
web_contents.patch
webgl_context_attributes.patch
webview_cross_drag.patch
worker_context_will_destroy.patch
disable_user_gesture_requirement_for_beforeunload_dialogs.patch
@ -71,3 +70,5 @@ revert_build_swiftshader_for_arm32.patch
fix_disable_usage_of_abort_report_np_in_mas_builds.patch
fix_disable_usage_of_pthread_fchdir_np_and_pthread_chdir_np_in_mas.patch
fix_disable_usage_of_setapplicationisdaemon_and.patch
disable_custom_libcxx_on_windows.patch
fix_retain_compatibility_with_msvc.patch

Просмотреть файл

@ -39,7 +39,7 @@ index 2aef366ac8194aa261cbca6abc051f7da8a988d3..3c7d66c81032636abcca4f1538ce9b7f
GIN_EXPORT static ArrayBufferAllocator* SharedInstance();
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
index 061543362fa67972d79d651432a0b3223eb9a559..bbf403607369dccb115f681e09cc1070d80ba35c 100644
index 0fdf8ba729f7fabcc2779299bc591ee2dd1fa9ba..611b44c5b70166665b132cfde79d0b2f0ea5ddad 100644
--- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
+++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
@@ -650,6 +650,10 @@ class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator {

Просмотреть файл

@ -6,10 +6,10 @@ Subject: allow_webview_file_url.patch
Allow webview to load non-web URLs.
diff --git a/content/browser/loader/resource_dispatcher_host_impl.cc b/content/browser/loader/resource_dispatcher_host_impl.cc
index f6d8cf0e1b7373498739d6821a4b6b2725cf3c5c..3144e81cdb79b0b235385701c2eb81b6b9017213 100644
index e06d2a5e9da5bd0218102636b5e8a0e981db31bc..af8db86dde165c087302d8bc5802e3dafde6a577 100644
--- a/content/browser/loader/resource_dispatcher_host_impl.cc
+++ b/content/browser/loader/resource_dispatcher_host_impl.cc
@@ -1536,6 +1536,8 @@ void ResourceDispatcherHostImpl::BeginNavigationRequest(
@@ -1522,6 +1522,8 @@ void ResourceDispatcherHostImpl::BeginNavigationRequest(
!policy->IsWebSafeScheme(info.common_params.url.scheme()) &&
!is_external_protocol;

Просмотреть файл

@ -5,7 +5,7 @@ Subject: blink-worker-enable-csp-in-file-scheme.patch
diff --git a/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc b/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc
index 6575793a7df4eed2b1cc1cd59c559c591648c478..bf00aeb1df1dea4668a2d6645aefb578d1fc86e2 100644
index 6e5842541701f0d094164914e5a53e60d7526d1e..9696f24f0f3edfbe9d9f78376956f0602e3a12aa 100644
--- a/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc
+++ b/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc
@@ -307,7 +307,6 @@ void WorkerClassicScriptLoader::ProcessContentSecurityPolicy(

Просмотреть файл

@ -7,7 +7,7 @@ This is used by editors to obtain the filesystem path from a dragged file. See
documentation at https://electronjs.org/docs/api/file-object
diff --git a/third_party/blink/renderer/core/fileapi/file.h b/third_party/blink/renderer/core/fileapi/file.h
index 6ae1e8ed179717d630518eeddd1a6c453139605d..a7167220fa0bc93ee845bb1a48a65c49f137e6fe 100644
index 3abff1a1e4de7978e01587cc1bf2b3deb4318161..5213d1c46dcc25de84c4b882454b1f7d079f237f 100644
--- a/third_party/blink/renderer/core/fileapi/file.h
+++ b/third_party/blink/renderer/core/fileapi/file.h
@@ -202,6 +202,9 @@ class CORE_EXPORT File final : public Blob {
@ -19,7 +19,7 @@ index 6ae1e8ed179717d630518eeddd1a6c453139605d..a7167220fa0bc93ee845bb1a48a65c49
+
// Getter for the lastModified IDL attribute,
// http://dev.w3.org/2006/webapi/FileAPI/#file-attrs
long long lastModified() const;
int64_t lastModified() const;
diff --git a/third_party/blink/renderer/core/fileapi/file.idl b/third_party/blink/renderer/core/fileapi/file.idl
index 940f8e62ce228beaf71f5a4be88539a431415ab1..0cf315636afe0e5e1533b3372cdfe2c09ec581e1 100644
--- a/third_party/blink/renderer/core/fileapi/file.idl

Просмотреть файл

@ -14,7 +14,7 @@ when there is code doing that.
This patch reverts the change to fix the crash in Electron.
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
index a7b483e821fe73f4d725ae21b3182778024c5bed..aed4b5e3c72857173868b20a85cd341bcc990d2b 100644
index 7bb3906762dbfe73e3c57d7c416168a2df8c99e4..64ef55ab3aa93c71fd58816ef2983e797f8dd75c 100644
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -409,10 +409,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) {

Просмотреть файл

@ -5,10 +5,10 @@ Subject: blink_world_context.patch
diff --git a/third_party/blink/public/web/web_local_frame.h b/third_party/blink/public/web/web_local_frame.h
index fa0fca68d181f6783bb88e99f42697d5efbd3a49..93630884c3a3a4441645d76742796322f39653c3 100644
index 611a2f6443a954f984e11c4cf84991c60f1ea08a..60afd4d8805da3d9fcb9f2a0fc0b857b550615eb 100644
--- a/third_party/blink/public/web/web_local_frame.h
+++ b/third_party/blink/public/web/web_local_frame.h
@@ -348,6 +348,9 @@ class WebLocalFrame : public WebFrame {
@@ -350,6 +350,9 @@ class WebLocalFrame : public WebFrame {
// be calling this API.
virtual v8::Local<v8::Context> MainWorldScriptContext() const = 0;
@ -19,10 +19,10 @@ index fa0fca68d181f6783bb88e99f42697d5efbd3a49..93630884c3a3a4441645d76742796322
// that the script evaluated to with callback. Script execution can be
// suspend.
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 6f19b08f41cf815e17d1d97870f5936771b8794c..9bc16c70f52e03e7f1c277c60f4aac802856d226 100644
index 3ae069323d53af44a8c061ee3dd0efe558e20692..818f91e2744f1d8c7c02c665d17136c6cf992f89 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
@@ -864,6 +864,13 @@ v8::Local<v8::Object> WebLocalFrameImpl::GlobalProxy() const {
@@ -865,6 +865,13 @@ v8::Local<v8::Object> WebLocalFrameImpl::GlobalProxy() const {
return MainWorldScriptContext()->Global();
}
@ -37,7 +37,7 @@ index 6f19b08f41cf815e17d1d97870f5936771b8794c..9bc16c70f52e03e7f1c277c60f4aac80
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 1d365801c7094a1ea091b1ecfea7ab3d3527bcec..b0df9b3ca6d33fd187a3cbcd750603e4a7db98d3 100644
index 84d256cad315d93a434a5878805c7114175df3a7..165ba0f0081755a3ece4aa6fdcfb653508bd6df4 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
@@ -148,6 +148,8 @@ class CORE_EXPORT WebLocalFrameImpl final

Просмотреть файл

@ -5,10 +5,10 @@ Subject: can_create_window.patch
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
index ff75eeab521bf92d0ea40ef6372b229b0233f4f0..6b037a3bd5ace397e1b357498ae3c562084d38af 100644
index f1ee6aab83bfa5557ff27bca07d69e9a3544ded6..3421d787abf08f3854a5cf21ec62b880fcbba518 100644
--- a/content/browser/frame_host/render_frame_host_impl.cc
+++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -3694,6 +3694,7 @@ void RenderFrameHostImpl::CreateNewWindow(
@@ -3646,6 +3646,7 @@ void RenderFrameHostImpl::CreateNewWindow(
last_committed_origin_, params->window_container_type,
params->target_url, params->referrer.To<Referrer>(),
params->frame_name, params->disposition, *params->features,
@ -17,10 +17,10 @@ index ff75eeab521bf92d0ea40ef6372b229b0233f4f0..6b037a3bd5ace397e1b357498ae3c562
&no_javascript_access);
diff --git a/content/common/frame.mojom b/content/common/frame.mojom
index 16a30995a0e20b1a32a418be5a44f1e3c2305cee..637ed8e1ee82cf1cacfedaf142fccc7d63ae98d6 100644
index 8406b096d6f1e3e3c4b82a02ff4efa0d97ced63e..69424cdd76d458d632e0e2ed902858a7a607b43a 100644
--- a/content/common/frame.mojom
+++ b/content/common/frame.mojom
@@ -261,6 +261,10 @@ struct CreateNewWindowParams {
@@ -275,6 +275,10 @@ struct CreateNewWindowParams {
// The window features to use for the new window.
blink.mojom.WindowFeatures features;
@ -32,10 +32,10 @@ index 16a30995a0e20b1a32a418be5a44f1e3c2305cee..637ed8e1ee82cf1cacfedaf142fccc7d
// Operation result when the renderer asks the browser to create a new window.
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
index 9cd2333fe0270a36e4fdc67231adec3324f2f814..4665bd481c452ff790f3626b2f5dc2ab621ebfdf 100644
index 6a952d2c52082a0a0fe1a256babfb49014d22e0b..04c766ffe55d6c24b7aaa19e70236a7a93fb015c 100644
--- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc
@@ -506,6 +506,8 @@ bool ContentBrowserClient::CanCreateWindow(
@@ -513,6 +513,8 @@ bool ContentBrowserClient::CanCreateWindow(
const std::string& frame_name,
WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& features,
@ -45,7 +45,7 @@ index 9cd2333fe0270a36e4fdc67231adec3324f2f814..4665bd481c452ff790f3626b2f5dc2ab
bool opener_suppressed,
bool* no_javascript_access) {
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index 009991aa57e8f543d2fdb7095b2fe2c863373d71..ef7385a2d8619b1264e4aa77629d16948bd3669a 100644
index 42b673aea33b2831308244eb12e2670156e8f615..3f9739aa7b3a29106bc267ee9ba67dd7ebdd3099 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -175,6 +175,7 @@ class RenderFrameHost;
@ -56,7 +56,7 @@ index 009991aa57e8f543d2fdb7095b2fe2c863373d71..ef7385a2d8619b1264e4aa77629d1694
class SerialDelegate;
class ServiceManagerConnection;
class SiteInstance;
@@ -778,6 +779,8 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -786,6 +787,8 @@ class CONTENT_EXPORT ContentBrowserClient {
const std::string& frame_name,
WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& features,
@ -66,7 +66,7 @@ index 009991aa57e8f543d2fdb7095b2fe2c863373d71..ef7385a2d8619b1264e4aa77629d1694
bool opener_suppressed,
bool* no_javascript_access);
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index c748edbf5a3264c89b83a88ade3449ce472839ad..6452ef002ce63936f5321bf755f47408f59d0207 100644
index 2002ea3db55b47c8792ad4e2fca54b08585e89ea..07126db61d6985e42628ea2e518eeda9457f0e71 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -76,6 +76,7 @@
@ -77,7 +77,7 @@ index c748edbf5a3264c89b83a88ade3449ce472839ad..6452ef002ce63936f5321bf755f47408
#include "content/renderer/media/audio/audio_device_factory.h"
#include "content/renderer/media/stream/media_stream_device_observer.h"
#include "content/renderer/media/video_capture_impl_manager.h"
@@ -1354,6 +1355,8 @@ WebView* RenderViewImpl::CreateView(
@@ -1360,6 +1361,8 @@ WebView* RenderViewImpl::CreateView(
}
params->features = ConvertWebWindowFeaturesToMojoWindowFeatures(features);

Просмотреть файл

@ -5,10 +5,10 @@ Subject: compositor_delegate.patch
diff --git a/content/browser/compositor/gpu_process_transport_factory.cc b/content/browser/compositor/gpu_process_transport_factory.cc
index 4768ac1a3bac8dee0b146d2ad30a50c6aee330c4..531c862a7a01bd74775621115fade56025cd15c6 100644
index ff4e3109b11fea4e0a732ebf9ac9c17e4b5d5e8e..09eee0aae0306545af49258a8f11813c06655023 100644
--- a/content/browser/compositor/gpu_process_transport_factory.cc
+++ b/content/browser/compositor/gpu_process_transport_factory.cc
@@ -452,11 +452,20 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
@@ -451,11 +451,20 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
// surfaces as they are not following the correct mode.
DisableGpuCompositing(compositor.get());
}

Просмотреть файл

@ -12,7 +12,7 @@ Without this patch, calling `registerStandardSchemes` during initialization
when in debug mode will cause a DCHECK to fire.
diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc
index f006f0992df5b8192849799c2d3d546779d87a08..a63b9d5a95960cca15cde5e392cbe06a0325f517 100644
index 010ecd6f98489d0945f0998bed2a3c6ff1ff7137..793004d877394bb89447db275cc8d0d8660d263a 100644
--- a/content/app/content_main_runner_impl.cc
+++ b/content/app/content_main_runner_impl.cc
@@ -757,7 +757,7 @@ int ContentMainRunnerImpl::Initialize(const ContentMainParams& params) {

Просмотреть файл

@ -8,10 +8,10 @@ run before shutdown. This is required to cleanup WebContents asynchronously
in atom::CommonWebContentsDelegate::ResetManageWebContents.
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc
index c964fa664130a1a1694cbe876df0d47d17f5818c..d9711114839e7b68ee4fe71590854833d8302b28 100644
index f79b1a629779af2b991a1c95ad4e0d4a8ec6d217..28f2aaf4ef55e505e278719956277f1aefe0146a 100644
--- a/content/browser/browser_main_loop.cc
+++ b/content/browser/browser_main_loop.cc
@@ -1547,7 +1547,7 @@ void BrowserMainLoop::MainMessageLoopRun() {
@@ -1548,7 +1548,7 @@ void BrowserMainLoop::MainMessageLoopRun() {
}
base::RunLoop run_loop;

Просмотреть файл

@ -22,7 +22,7 @@ index f86a9167ac1ec5e7b082e474eb4b5f217d06df92..47df32ecb078a8f18e474f5c38faf2c7
}
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
index 08fd583f43c15505fa7b8fa4947db429bb3cc595..a841e5c00e2fcc52481ffffcd62fa55892ab8109 100644
index b41997165352e06cd6179e1d0dd3c18e4ab819a2..bab2e97e836c81ccce6f7ba874ecfcafc3a05de0 100644
--- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc
@@ -61,6 +61,10 @@ ContentBrowserClient::SiteInstanceForNavigationType ContentBrowserClient::Should
@ -37,7 +37,7 @@ index 08fd583f43c15505fa7b8fa4947db429bb3cc595..a841e5c00e2fcc52481ffffcd62fa558
const MainFunctionParams& parameters) {
return nullptr;
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index 53aeab691ae012401008162e71415e64fa204177..9161d0055ad26bd95de7f8fcad3c1587db1e54e9 100644
index 406cca4538b978a8de41845b02f4c0d15b393cde..a5e64cf1f90b3a184e0b5ce69f5a9baedcf1a27c 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -241,6 +241,9 @@ class CONTENT_EXPORT ContentBrowserClient {

Просмотреть файл

@ -17,7 +17,7 @@ only one or two specific checks fail. Then it's better to simply comment out the
failing checks and allow the rest of the target to have them enabled.
diff --git a/content/browser/frame_host/navigation_controller_impl.cc b/content/browser/frame_host/navigation_controller_impl.cc
index 90cfe806ba0bef2182f7a1cc7ad02c0010dc2136..e702bf2151aa9f6c3b1981ad9725d1d814494a31 100644
index 922b03f6e0e529adde410a7b90a549613d47136e..a7845665caf99292b8179bb9ea6440710a9abe2d 100644
--- a/content/browser/frame_host/navigation_controller_impl.cc
+++ b/content/browser/frame_host/navigation_controller_impl.cc
@@ -1201,8 +1201,10 @@ NavigationType NavigationControllerImpl::ClassifyNavigation(

Просмотреть файл

@ -15,10 +15,10 @@ the redraw locking mechanism, which fixes these issues. The electron issue
can be found at https://github.com/electron/electron/issues/1821
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
index 3703f163d2370292912d969395eccf372284db73..bedfaf0ebfefc5dcca530b8aaab4a829017f3fb9 100644
index 3046987d5e26d38f3098a21af48e3b115bdadaf7..b484e4b4c1a7872e0c9ae9622370d9a71c5d96c8 100644
--- a/ui/views/win/hwnd_message_handler.cc
+++ b/ui/views/win/hwnd_message_handler.cc
@@ -290,6 +290,10 @@ const int kSynthesizedMouseMessagesTimeDifference = 500;
@@ -284,6 +284,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500;
} // namespace
@ -29,7 +29,7 @@ index 3703f163d2370292912d969395eccf372284db73..bedfaf0ebfefc5dcca530b8aaab4a829
// A scoping class that prevents a window from being able to redraw in response
// to invalidations that may occur within it for the lifetime of the object.
//
@@ -341,6 +345,7 @@ class HWNDMessageHandler::ScopedRedrawLock {
@@ -335,6 +339,7 @@ class HWNDMessageHandler::ScopedRedrawLock {
cancel_unlock_(false),
should_lock_(owner_->IsVisible() && !owner->HasChildRenderingWindow() &&
::IsWindow(hwnd_) &&
@ -37,7 +37,7 @@ index 3703f163d2370292912d969395eccf372284db73..bedfaf0ebfefc5dcca530b8aaab4a829
(!(GetWindowLong(hwnd_, GWL_STYLE) & WS_CAPTION) ||
!ui::win::IsAeroGlassEnabled())) {
if (should_lock_)
@@ -942,6 +947,10 @@ bool HWNDMessageHandler::HasChildRenderingWindow() {
@@ -936,6 +941,10 @@ bool HWNDMessageHandler::HasChildRenderingWindow() {
hwnd());
}
@ -49,11 +49,11 @@ index 3703f163d2370292912d969395eccf372284db73..bedfaf0ebfefc5dcca530b8aaab4a829
// HWNDMessageHandler, gfx::WindowImpl overrides:
diff --git a/ui/views/win/hwnd_message_handler.h b/ui/views/win/hwnd_message_handler.h
index 925996e356994bf27939565beb9663c4416de1bc..8c2b5fc09da64a4766c1918eee34d4cfe651958d 100644
index 3f0c9e26627f9dcda04418a6551f4c815aeb4972..b66321d0e2d93dc436fe24d93e65fad00bf3f42a 100644
--- a/ui/views/win/hwnd_message_handler.h
+++ b/ui/views/win/hwnd_message_handler.h
@@ -183,6 +183,8 @@ class VIEWS_EXPORT HWNDMessageHandler : public gfx::WindowImpl,
typedef std::set<DWORD> TouchIDs;
using TouchIDs = std::set<DWORD>;
enum class DwmFrameState { OFF, ON };
+ bool HasNativeFrame();
@ -62,7 +62,7 @@ index 925996e356994bf27939565beb9663c4416de1bc..8c2b5fc09da64a4766c1918eee34d4cf
HICON GetDefaultWindowIcon() const override;
HICON GetSmallWindowIcon() const override;
diff --git a/ui/views/win/hwnd_message_handler_delegate.h b/ui/views/win/hwnd_message_handler_delegate.h
index a3c4e34bd26891e1bb98bc47038700da7e5a6b94..a919147ef1d46fe562ac74cdf515ae2d3ff8e2c4 100644
index 3b06661ed6d694a6209f8584065391e074e3e6b3..c8d2583db0b102628f53f554785e5282d8008830 100644
--- a/ui/views/win/hwnd_message_handler_delegate.h
+++ b/ui/views/win/hwnd_message_handler_delegate.h
@@ -46,6 +46,8 @@ class VIEWS_EXPORT HWNDMessageHandlerDelegate {

Просмотреть файл

@ -32,10 +32,10 @@ index 04e48714a6f4fcf980f91d75e319667dc0ee18a4..0ec60a0bf9f903de67f69422f22b674b
// Image Decode Service and raster tiles without images until the decode is
// ready.
diff --git a/components/viz/common/display/renderer_settings.h b/components/viz/common/display/renderer_settings.h
index ce4fb4ca4f04c5668795c56ce536b4be292aa278..a6fec64c65f5916896e627473b0f8645a867a5ce 100644
index 78041fcb9647f740c6a142ec65f2418712c6286c..04e75ac40c38a38bdec634d1aa645854cb1a80d6 100644
--- a/components/viz/common/display/renderer_settings.h
+++ b/components/viz/common/display/renderer_settings.h
@@ -20,6 +20,7 @@ class VIZ_COMMON_EXPORT RendererSettings {
@@ -23,6 +23,7 @@ class VIZ_COMMON_EXPORT RendererSettings {
RendererSettings(const RendererSettings& other);
~RendererSettings();
@ -44,10 +44,10 @@ index ce4fb4ca4f04c5668795c56ce536b4be292aa278..a6fec64c65f5916896e627473b0f8645
bool force_antialiasing = false;
bool force_blending_with_shaders = false;
diff --git a/components/viz/host/renderer_settings_creation.cc b/components/viz/host/renderer_settings_creation.cc
index ee1f83f4d3db713f64c4175615be816198ea44a1..446df2e9b84565677ae63893391291877661a267 100644
index 5d06436069bc7ecc04f3794a873e6f7f22d55042..c5176776562d3506eef384e5e2c4d5a6e89aba63 100644
--- a/components/viz/host/renderer_settings_creation.cc
+++ b/components/viz/host/renderer_settings_creation.cc
@@ -11,6 +11,7 @@
@@ -12,6 +12,7 @@
#include "components/viz/common/display/renderer_settings.h"
#include "components/viz/common/features.h"
#include "ui/base/ui_base_switches.h"
@ -55,7 +55,7 @@ index ee1f83f4d3db713f64c4175615be816198ea44a1..446df2e9b84565677ae6389339129187
#if defined(OS_MACOSX)
#include "ui/base/cocoa/remote_layer_api.h"
@@ -43,6 +44,8 @@ bool GetSwitchValueAsInt(const base::CommandLine* command_line,
@@ -48,6 +49,8 @@ bool GetSwitchValueAsInt(const base::CommandLine* command_line,
RendererSettings CreateRendererSettings() {
RendererSettings renderer_settings;
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
@ -203,7 +203,7 @@ index 9e0979a93d698665b08623ad7cbc11939d7f4ff8..93f99b09250ab1f515e13de3ac80cea1
+
+#undef PATCH_CS
diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc
index e43e5f6bb667a62e7e1205e8da6073de6179e79f..027a552cfbfce3f4f8fe5670bec7db45ad19e57a 100644
index 6a288270e96b2288a1c7a53bba94f21ee41e0707..e7010b8cd6d3dc4c6479fbbabff131fb59a9d3c4 100644
--- a/content/browser/gpu/gpu_process_host.cc
+++ b/content/browser/gpu/gpu_process_host.cc
@@ -192,6 +192,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus(
@ -215,10 +215,10 @@ index e43e5f6bb667a62e7e1205e8da6073de6179e79f..027a552cfbfce3f4f8fe5670bec7db45
service_manager::switches::kGpuSandboxAllowSysVShm,
service_manager::switches::kGpuSandboxFailuresFatal,
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index b5a8bc48d92a6b2f7fc031ca7ee662db26941008..7805ce82b11be1eaed59aae1fe76f6fd13e901a5 100644
index e600dd4b1599d7aa0e02c2bab2644c6ee8703140..6b188f8d94a6f372f59ef6a0f6438ef63dfd541f 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -220,6 +220,7 @@
@@ -219,6 +219,7 @@
#include "ui/base/ui_base_switches.h"
#include "ui/base/ui_base_switches_util.h"
#include "ui/display/display_switches.h"
@ -226,7 +226,7 @@ index b5a8bc48d92a6b2f7fc031ca7ee662db26941008..7805ce82b11be1eaed59aae1fe76f6fd
#include "ui/gl/gl_switches.h"
#include "ui/native_theme/native_theme_features.h"
@@ -2953,6 +2954,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
@@ -2939,6 +2940,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
// Propagate the following switches to the renderer command line (along
// with any associated values) if present in the browser command line.
static const char* const kSwitchNames[] = {
@ -235,10 +235,10 @@ index b5a8bc48d92a6b2f7fc031ca7ee662db26941008..7805ce82b11be1eaed59aae1fe76f6fd
network::switches::kExplicitlyAllowedPorts,
service_manager::switches::kDisableInProcessStackTraces,
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index e4e8117be4b425e82b58e7e58ce0008a353e4fba..ede9225f944796d4375a704b944b79c47750f8f2 100644
index dd7a1cb4d0c303ac03e612b6702c8731882ca88d..22939ad3934b64ac8018663b56d788eeacde61f7 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -2771,6 +2771,9 @@ cc::LayerTreeSettings RenderWidget::GenerateLayerTreeSettings(
@@ -2805,6 +2805,9 @@ cc::LayerTreeSettings RenderWidget::GenerateLayerTreeSettings(
settings.main_frame_before_activation_enabled =
cmd.HasSwitch(cc::switches::kEnableMainFrameBeforeActivation);

Просмотреть файл

@ -0,0 +1,20 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Samuel Attard <sattard@slack-corp.com>
Date: Fri, 29 Mar 2019 11:04:46 -0700
Subject: disable custom libcxx on windows
diff --git a/build/config/c++/c++.gni b/build/config/c++/c++.gni
index 5d45ff18455275e2ab416030fb01b103c7a630cf..39774eb51b112e02a9aa9c5288e8b52e33fdcb17 100644
--- a/build/config/c++/c++.gni
+++ b/build/config/c++/c++.gni
@@ -13,7 +13,8 @@ declare_args() {
# TODO(https://crbug.com/942939): Re-enable libc++ on Windows with libfuzzer.
use_custom_libcxx =
is_fuchsia || is_android || is_mac ||
- (is_win && is_clang && !use_libfuzzer) ||
+ # Do not use custom libcxx on windows
+ # (is_win && is_clang && !use_libfuzzer) ||
(is_linux &&
(!is_chromeos || default_toolchain != "//build/toolchain/cros:target"))

Просмотреть файл

@ -12,7 +12,7 @@ this patch was introduced in Chrome 66.
Update(zcbenz): The bug is still in Chrome 72.
diff --git a/content/browser/frame_host/render_frame_proxy_host.cc b/content/browser/frame_host/render_frame_proxy_host.cc
index 59ce8f3cbb143f97371bba507dc851bcf0fbfe00..5101f19660f3519e74dde7fa6d9533666a2629df 100644
index 3260ea62afa77c902580869dd6b7a652f8b69c34..152de4b65d9140f2d0ada72d2a22b2a7cfe97681 100644
--- a/content/browser/frame_host/render_frame_proxy_host.cc
+++ b/content/browser/frame_host/render_frame_proxy_host.cc
@@ -270,6 +270,12 @@ void RenderFrameProxyHost::SetDestructionCallback(

Просмотреть файл

@ -5,10 +5,10 @@ Subject: disable_hidden.patch
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index 5be3603a8100f731e70dd1ea47205c3e213af413..bf9dc541d3e8889f512fe287e48b67210bc5c2b8 100644
index a69f7599680cf91340429df922ab503e86be8adf..091a2a140f2f12dabbecad412a20e44f66829a2f 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -765,6 +765,9 @@ void RenderWidgetHostImpl::WasHidden() {
@@ -764,6 +764,9 @@ void RenderWidgetHostImpl::WasHidden() {
if (is_hidden_)
return;
@ -19,7 +19,7 @@ index 5be3603a8100f731e70dd1ea47205c3e213af413..bf9dc541d3e8889f512fe287e48b6721
TRACE_EVENT0("renderer_host", "RenderWidgetHostImpl::WasHidden");
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
index 4ea7d993a8d84eabf2485e07e51fa20f2c2c17e7..06ecfc4c90dc8105fdb2ed05386b5ea0e8a7ef3a 100644
index ce8bfd88b4956101a376c71623d392ca93b49caf..2ba6d13468468333e03afe3f0a50fdeeacf4972e 100644
--- a/content/browser/renderer_host/render_widget_host_impl.h
+++ b/content/browser/renderer_host/render_widget_host_impl.h
@@ -153,6 +153,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl

Просмотреть файл

@ -6,10 +6,10 @@ Subject: disable_user_gesture_requirement_for_beforeunload_dialogs.patch
See https://github.com/electron/electron/issues/10754
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
index 02e6831f00c14a9aab6ba6d4218a94ec133c6076..5746b1207c4ecd6c2d252be79a7e97bd82cc8d0a 100644
index faecf207e5ab8e40c4c8e72bab79c0d12cd6a4d3..ee6eb1aeaaee8b97e4c6a3e741e75c71ab931305 100644
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -3682,7 +3682,9 @@ bool Document::DispatchBeforeUnloadEvent(ChromeClient* chrome_client,
@@ -3562,7 +3562,9 @@ bool Document::DispatchBeforeUnloadEvent(ChromeClient* chrome_client,
"frame that never had a user gesture since its load. "
"https://www.chromestatus.com/feature/5082396709879808";
Intervention::GenerateReport(frame_, "BeforeUnloadNoGesture", message);

Просмотреть файл

@ -7,10 +7,10 @@ Compilation of those files fails with the Chromium 68.
Remove the patch during the Chromium 69 upgrade.
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
index 77b4b56becc7a0d6b2cc056f08adbe3459dae131..38f42acf2b7e97a4867b9b1064b3782eaf80a0c6 100644
index 256f726a20a030d2b4ab7b528270669b8952cd10..38c68c1a8db0ec6fe57f8a74f62b1c5bd0620f95 100644
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -1734,7 +1734,7 @@ jumbo_source_set("blink_platform_unittests_sources") {
@@ -1738,7 +1738,7 @@ jumbo_source_set("blink_platform_unittests_sources") {
"graphics/paint/drawing_display_item_test.cc",
"graphics/paint/drawing_recorder_test.cc",
"graphics/paint/float_clip_rect_test.cc",

Просмотреть файл

@ -5,10 +5,10 @@ Subject: fix: disable usage of pthread_fchdir_np and pthread_chdir_np in MAS
builds
diff --git a/base/process/launch_mac.cc b/base/process/launch_mac.cc
index a72c9f18f60293ba33a2007f28def704bc3c2f1b..b397584be8b518bd9800f63fd3a523298911b122 100644
index c6d5cbbd5417a1b18a6cf94a681de6c671089e35..92d683619e8de505d5172a8ae09e6e67f28da96f 100644
--- a/base/process/launch_mac.cc
+++ b/base/process/launch_mac.cc
@@ -24,10 +24,12 @@
@@ -25,10 +25,12 @@
// descriptor. libpthread only exposes a syscall wrapper starting in
// macOS 10.12, but the system call dates back to macOS 10.5. On older OSes,
// the syscall is issued directly.
@ -21,7 +21,7 @@ index a72c9f18f60293ba33a2007f28def704bc3c2f1b..b397584be8b518bd9800f63fd3a52329
namespace base {
@@ -94,21 +96,29 @@ class PosixSpawnFileActions {
@@ -95,21 +97,29 @@ class PosixSpawnFileActions {
};
int ChangeCurrentThreadDirectory(const char* path) {

Просмотреть файл

@ -5,10 +5,10 @@ Subject: fix: disable usage of SetApplicationIsDaemon and
_LSSetApplicationLaunchServicesServerConnectionStatus in MAS builds
diff --git a/content/utility/utility_service_factory.cc b/content/utility/utility_service_factory.cc
index b8bc22e665f803aa455a8d3f270e3fd2141b2a9c..79c92be87aedf605803501d98a5a1952fa36e586 100644
index a122c033798110b715c4c2b18d809ec360c06419..2d65f284d9e68f13e0ecb5bf5d9a3276e2a62686 100644
--- a/content/utility/utility_service_factory.cc
+++ b/content/utility/utility_service_factory.cc
@@ -202,7 +202,7 @@ void UtilityServiceFactory::RunNetworkServiceOnIOThread(
@@ -205,7 +205,7 @@ void UtilityServiceFactory::RunNetworkServiceOnIOThread(
std::unique_ptr<service_manager::Service>
UtilityServiceFactory::CreateAudioService(
service_manager::mojom::ServiceRequest request) {

Просмотреть файл

@ -0,0 +1,25 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Samuel Attard <sattard@slack-corp.com>
Date: Tue, 2 Apr 2019 14:38:43 -0700
Subject: fix: retain compatibility with MSVC++
The C++ standard has always forbidden containers of const elements such
as std::set<const T>. In order to retain compability with MSVC++ this
code can not exist in Chromium.
This should probably also be fixed in libc++ to prevent this occurring
again but this fixes the build for now.
diff --git a/components/language/core/browser/language_prefs.cc b/components/language/core/browser/language_prefs.cc
index 317aa1d8298cd697c5388ddeb9680b39e562e9ab..df258ca62acfa8a198bcb7c4be31746a491d938b 100644
--- a/components/language/core/browser/language_prefs.cc
+++ b/components/language/core/browser/language_prefs.cc
@@ -85,7 +85,7 @@ void LanguagePrefs::ResetEmptyFluentLanguagesToDefault() {
}
base::Value LanguagePrefs::GetDefaultFluentLanguages() {
- std::set<const std::string> languages;
+ std::set<std::string> languages;
#if defined(OS_CHROMEOS)
// Preferred languages.
std::string language = language::kFallbackInputMethodLocale;

Просмотреть файл

@ -7,10 +7,10 @@ Allows embedder to intercept site instances chosen by chromium
and respond with custom instance.
diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc
index cc7c7b4ffab5377fa71016e233fbfaae87d50329..81a351569528e74fa44e68a804de968bc3a08742 100644
index 5116c5e77acb759b504e3c1dae027b868edb7013..cf10fdf5136d35961abf972603863ba8fa97dfb5 100644
--- a/content/browser/frame_host/render_frame_host_manager.cc
+++ b/content/browser/frame_host/render_frame_host_manager.cc
@@ -2030,6 +2030,16 @@ bool RenderFrameHostManager::InitRenderView(
@@ -2008,6 +2008,16 @@ bool RenderFrameHostManager::InitRenderView(
scoped_refptr<SiteInstance>
RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
const NavigationRequest& request) {
@ -27,7 +27,7 @@ index cc7c7b4ffab5377fa71016e233fbfaae87d50329..81a351569528e74fa44e68a804de968b
// First, check if the navigation can switch SiteInstances. If not, the
// navigation should use the current SiteInstance.
SiteInstance* current_site_instance = render_frame_host_->GetSiteInstance();
@@ -2062,6 +2072,51 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
@@ -2040,6 +2050,51 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
request.common_params().url);
no_renderer_swap_allowed |=
request.from_begin_navigation() && !can_renderer_initiate_transfer;
@ -79,7 +79,7 @@ index cc7c7b4ffab5377fa71016e233fbfaae87d50329..81a351569528e74fa44e68a804de968b
} else {
// Subframe navigations will use the current renderer, unless specifically
// allowed to swap processes.
@@ -2073,23 +2128,17 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
@@ -2051,23 +2106,17 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
if (no_renderer_swap_allowed && !should_swap_for_error_isolation)
return scoped_refptr<SiteInstance>(current_site_instance);
@ -108,7 +108,7 @@ index cc7c7b4ffab5377fa71016e233fbfaae87d50329..81a351569528e74fa44e68a804de968b
}
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
index 4665bd481c452ff790f3626b2f5dc2ab621ebfdf..08fd583f43c15505fa7b8fa4947db429bb3cc595 100644
index 04c766ffe55d6c24b7aaa19e70236a7a93fb015c..b41997165352e06cd6179e1d0dd3c18e4ab819a2 100644
--- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc
@@ -51,6 +51,16 @@ void OverrideOnBindInterface(const service_manager::BindSourceInfo& remote_info,
@ -129,7 +129,7 @@ index 4665bd481c452ff790f3626b2f5dc2ab621ebfdf..08fd583f43c15505fa7b8fa4947db429
const MainFunctionParams& parameters) {
return nullptr;
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index ef7385a2d8619b1264e4aa77629d16948bd3669a..53aeab691ae012401008162e71415e64fa204177 100644
index 3f9739aa7b3a29106bc267ee9ba67dd7ebdd3099..406cca4538b978a8de41845b02f4c0d15b393cde 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -210,8 +210,37 @@ CONTENT_EXPORT void OverrideOnBindInterface(

Просмотреть файл

@ -6,10 +6,10 @@ Subject: gritsettings_resource_ids.patch
Add electron resources file to the list of resource ids generation.
diff --git a/tools/gritsettings/resource_ids b/tools/gritsettings/resource_ids
index e823c9b9edfd1aaac4909d8926e729ef79f25d70..2810e6b743507257f23a797c67ee23911c5745cf 100644
index e271342ea2458afe618543a8ff475cf265fb1aca..8ef1d7c83a49ed6144898e045d8e195a0c658af4 100644
--- a/tools/gritsettings/resource_ids
+++ b/tools/gritsettings/resource_ids
@@ -424,6 +424,11 @@
@@ -427,6 +427,11 @@
"includes": [28880],
},

Просмотреть файл

@ -7,10 +7,10 @@ Dont compare RC.exe and RC.py output.
FIXME: It has to be reverted once the script is fixed.
diff --git a/build/toolchain/win/tool_wrapper.py b/build/toolchain/win/tool_wrapper.py
index 6f01ebf4026444d405cb3b837b21a6370c357180..d03be4244bfa37953b55783f2e245df76b634522 100644
index f173adb20333998e22c5b937a3e7ce1b62e7ef1e..1b884b7a4badf9096a92068261f3e132181785f9 100644
--- a/build/toolchain/win/tool_wrapper.py
+++ b/build/toolchain/win/tool_wrapper.py
@@ -220,7 +220,11 @@ class WinTool(object):
@@ -224,7 +224,11 @@ class WinTool(object):
if rc_exe_exit_code == 0:
import filecmp
# Strip "/fo" prefix.

Просмотреть файл

@ -38,7 +38,7 @@ index d38fa48b8b890d90f2911995a2a51c249005c827..5fe68c71fe101a307ef565013a91b109
// is concerned.
@property(nonatomic, readonly) NSString* subrole;
diff --git a/content/browser/accessibility/browser_accessibility_cocoa.mm b/content/browser/accessibility/browser_accessibility_cocoa.mm
index 9b8e15866a325faee845a97f0e5a2f14e343d2f6..148d5fdd3f11ab318f6a0d0add23bd4533b47ed9 100644
index 17dc6271190c0687fb38c181d9fdb6b5d6addcd4..90cc1e5d47b52aeac38e8e3b638b1f76fa24075a 100644
--- a/content/browser/accessibility/browser_accessibility_cocoa.mm
+++ b/content/browser/accessibility/browser_accessibility_cocoa.mm
@@ -141,6 +141,7 @@
@ -101,7 +101,7 @@ index 9b8e15866a325faee845a97f0e5a2f14e343d2f6..148d5fdd3f11ab318f6a0d0add23bd45
- (NSNumber*)expanded {
if (![self instanceActive])
@@ -2035,6 +2045,7 @@ - (NSValue*)selectedTextRange {
@@ -2027,6 +2037,7 @@ - (NSValue*)selectedTextRange {
return [NSValue valueWithRange:NSMakeRange(selStart, selLength)];
}
@ -109,7 +109,7 @@ index 9b8e15866a325faee845a97f0e5a2f14e343d2f6..148d5fdd3f11ab318f6a0d0add23bd45
- (id)selectedTextMarkerRange {
if (![self instanceActive])
return nil;
@@ -2067,6 +2078,7 @@ - (id)selectedTextMarkerRange {
@@ -2059,6 +2070,7 @@ - (id)selectedTextMarkerRange {
anchorAffinity, *focusObject,
focusOffset, focusAffinity));
}
@ -117,7 +117,7 @@ index 9b8e15866a325faee845a97f0e5a2f14e343d2f6..148d5fdd3f11ab318f6a0d0add23bd45
- (NSValue*)size {
if (![self instanceActive])
@@ -2099,6 +2111,7 @@ - (NSString*)sortDirection {
@@ -2091,6 +2103,7 @@ - (NSString*)sortDirection {
return nil;
}
@ -125,7 +125,7 @@ index 9b8e15866a325faee845a97f0e5a2f14e343d2f6..148d5fdd3f11ab318f6a0d0add23bd45
// Returns a text marker that points to the first character in the document that
// can be selected with VoiceOver.
- (id)startTextMarker {
@@ -2109,6 +2122,7 @@ - (id)startTextMarker {
@@ -2101,6 +2114,7 @@ - (id)startTextMarker {
BrowserAccessibilityPositionInstance position = root->CreatePositionAt(0);
return CreateTextMarker(position->CreatePositionAtStartOfAnchor());
}
@ -133,7 +133,7 @@ index 9b8e15866a325faee845a97f0e5a2f14e343d2f6..148d5fdd3f11ab318f6a0d0add23bd45
// Returns a subrole based upon the role.
- (NSString*)subrole {
@@ -2414,12 +2428,14 @@ - (NSAttributedString*)attributedValueForRange:(NSRange)range {
@@ -2406,12 +2420,14 @@ - (NSAttributedString*)attributedValueForRange:(NSRange)range {
NSMutableAttributedString* attributedValue =
[[[NSMutableAttributedString alloc] initWithString:value] autorelease];
@ -148,7 +148,7 @@ index 9b8e15866a325faee845a97f0e5a2f14e343d2f6..148d5fdd3f11ab318f6a0d0add23bd45
return [attributedValue attributedSubstringFromRange:range];
}
@@ -2504,6 +2520,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
@@ -2496,6 +2512,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
return ToBrowserAccessibilityCocoa(cell);
}
@ -156,7 +156,7 @@ index 9b8e15866a325faee845a97f0e5a2f14e343d2f6..148d5fdd3f11ab318f6a0d0add23bd45
if ([attribute isEqualToString:@"AXUIElementForTextMarker"]) {
BrowserAccessibilityPositionInstance position =
CreatePositionFromTextMarker(parameter);
@@ -2681,6 +2698,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
@@ -2673,6 +2690,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
NSString* text = GetTextForTextMarkerRange(parameter);
return [NSNumber numberWithInt:[text length]];
}
@ -164,7 +164,7 @@ index 9b8e15866a325faee845a97f0e5a2f14e343d2f6..148d5fdd3f11ab318f6a0d0add23bd45
if ([attribute isEqualToString:
NSAccessibilityBoundsForRangeParameterizedAttribute]) {
@@ -2714,6 +2732,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
@@ -2706,6 +2724,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
return nil;
}
@ -172,7 +172,7 @@ index 9b8e15866a325faee845a97f0e5a2f14e343d2f6..148d5fdd3f11ab318f6a0d0add23bd45
if ([attribute
isEqualToString:
NSAccessibilityLineTextMarkerRangeForTextMarkerParameterizedAttribute]) {
@@ -2793,6 +2812,7 @@ AXPlatformRange range(position->CreatePreviousLineStartPosition(
@@ -2785,6 +2804,7 @@ AXPlatformRange range(position->CreatePreviousLineStartPosition(
return @(child->GetIndexInParent());
}
@ -277,10 +277,10 @@ index fe0b73b51492ca08cbebf3aec74ea0a7caf44aef..fb8b362097f18d947219af36f84b9bea
void BluetoothAdapterMac::RemovePairingDelegateInternal(
diff --git a/media/audio/BUILD.gn b/media/audio/BUILD.gn
index fa3a7b08b0ae4f09ff2aeffffc93e65181f4994b..64cf5f96e7c85e2d8969c11ccd27ba6d3154fe91 100644
index dbc89abd64d5dae45b239482804ecdabbf7086f6..aba6eb679303fc7fb033ddf05fc941cf27ce8439 100644
--- a/media/audio/BUILD.gn
+++ b/media/audio/BUILD.gn
@@ -184,6 +184,12 @@ source_set("audio") {
@@ -180,6 +180,12 @@ source_set("audio") {
"mac/scoped_audio_unit.cc",
"mac/scoped_audio_unit.h",
]

Просмотреть файл

@ -7,10 +7,10 @@ Do not check for unique origin in CacheStorage, in Electron we may have
scripts running without an origin.
diff --git a/content/browser/cache_storage/cache_storage.cc b/content/browser/cache_storage/cache_storage.cc
index 9e0249a6060b4d84cd8a99db2e40d96b4e715148..2e8e12de9778eeb2bc45e293b6653feeb5b6f779 100644
index 8ccf3c92c3edd453e0ff3a314d344187056d818b..25e78ca803256ea0115e72c2a3f583c466e2b944 100644
--- a/content/browser/cache_storage/cache_storage.cc
+++ b/content/browser/cache_storage/cache_storage.cc
@@ -103,7 +103,7 @@ class CacheStorage::CacheLoader {
@@ -106,7 +106,7 @@ class CacheStorage::CacheLoader {
cache_storage_(cache_storage),
origin_(origin),
owner_(owner) {

Просмотреть файл

@ -31,7 +31,7 @@ index f251139f5976d4ff52ac4d0f89a2c627c1809c8a..457890dcb49ca59c61326c633d74eabc
}
diff --git a/content/browser/notifications/blink_notification_service_impl.h b/content/browser/notifications/blink_notification_service_impl.h
index 088637b68b1fb40fb8a32bb72781b425077e668a..ec2cce6b644e6cc8fd899a761fb55d9a01b65f98 100644
index cc5f8d1e673962cb435ad9c9547c336ad5542c84..c340739dc78519606081e4190d4538a74e72501a 100644
--- a/content/browser/notifications/blink_notification_service_impl.h
+++ b/content/browser/notifications/blink_notification_service_impl.h
@@ -36,6 +36,7 @@ class CONTENT_EXPORT BlinkNotificationServiceImpl
@ -51,7 +51,7 @@ index 088637b68b1fb40fb8a32bb72781b425077e668a..ec2cce6b644e6cc8fd899a761fb55d9a
scoped_refptr<ServiceWorkerContextWrapper> service_worker_context_;
diff --git a/content/browser/notifications/blink_notification_service_impl_unittest.cc b/content/browser/notifications/blink_notification_service_impl_unittest.cc
index a2fb2bbd8761b0c0078fbde0999f4f8f434c4a35..e68613c4a4c6b05694514071c7dc2e0c4419d141 100644
index 8beb9e516bcf636e95f7481837e67e197422d830..d9fc224db4704057e8cb1596173310d8392bc7d7 100644
--- a/content/browser/notifications/blink_notification_service_impl_unittest.cc
+++ b/content/browser/notifications/blink_notification_service_impl_unittest.cc
@@ -130,7 +130,7 @@ class BlinkNotificationServiceImplTest : public ::testing::Test {
@ -64,10 +64,10 @@ index a2fb2bbd8761b0c0078fbde0999f4f8f434c4a35..e68613c4a4c6b05694514071c7dc2e0c
mojo::MakeRequest(&notification_service_ptr_));
diff --git a/content/browser/notifications/platform_notification_context_impl.cc b/content/browser/notifications/platform_notification_context_impl.cc
index 9d43b4e8cbd0238fdcde03e31537a68c4edb9471..ba5a87e8fca4680e7acd173111d5882a8f0667f9 100644
index 739a98f2846f0e680e5b175c19692edf754a2bc7..2e9e406e066c750d7fb80ab719265df3e2dba38e 100644
--- a/content/browser/notifications/platform_notification_context_impl.cc
+++ b/content/browser/notifications/platform_notification_context_impl.cc
@@ -178,12 +178,13 @@ void PlatformNotificationContextImpl::Shutdown() {
@@ -182,12 +182,13 @@ void PlatformNotificationContextImpl::Shutdown() {
}
void PlatformNotificationContextImpl::CreateService(
@ -84,10 +84,10 @@ index 9d43b4e8cbd0238fdcde03e31537a68c4edb9471..ba5a87e8fca4680e7acd173111d5882a
void PlatformNotificationContextImpl::RemoveService(
diff --git a/content/browser/notifications/platform_notification_context_impl.h b/content/browser/notifications/platform_notification_context_impl.h
index c7c9bc8fb304697bb1802d04e26038c65b8facdc..e73d2b0a276d4a0a7d1a484d11d5ac43d963cc77 100644
index 24918cede3f2894627c7aaa29e68fa3834bea108..b31583d13a73c72f5a27587add92855472f30dc8 100644
--- a/content/browser/notifications/platform_notification_context_impl.h
+++ b/content/browser/notifications/platform_notification_context_impl.h
@@ -25,6 +25,7 @@
@@ -24,6 +24,7 @@
#include "content/common/content_export.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/platform_notification_context.h"
@ -95,7 +95,7 @@ index c7c9bc8fb304697bb1802d04e26038c65b8facdc..e73d2b0a276d4a0a7d1a484d11d5ac43
#include "third_party/blink/public/platform/modules/notifications/notification_service.mojom.h"
class GURL;
@@ -66,7 +67,8 @@ class CONTENT_EXPORT PlatformNotificationContextImpl
@@ -65,7 +66,8 @@ class CONTENT_EXPORT PlatformNotificationContextImpl
void Shutdown();
// Creates a BlinkNotificationServiceImpl that is owned by this context.
@ -119,10 +119,10 @@ index b317a37b4fa12be4e737a91948110fd16308c221..b3968f52c478ce051370e543b2fb9043
parameterized_binder_registry_.AddInterface(
base::BindRepeating(&BackgroundFetchServiceImpl::CreateForWorker));
diff --git a/content/public/browser/platform_notification_service.h b/content/public/browser/platform_notification_service.h
index c7209a74a84ae4a284170ba882ee537cb732d467..4960a11bc922fd79c00bf418e1468f09f0457407 100644
index b8aaa76d1ffcf92251fd7f229a8e075aba5b2ce3..ab1151f63ff0f21cad5747f5f96afe89d9207107 100644
--- a/content/public/browser/platform_notification_service.h
+++ b/content/public/browser/platform_notification_service.h
@@ -27,6 +27,7 @@ struct PlatformNotificationData;
@@ -28,6 +28,7 @@ struct PlatformNotificationData;
namespace content {
class BrowserContext;
@ -130,7 +130,7 @@ index c7209a74a84ae4a284170ba882ee537cb732d467..4960a11bc922fd79c00bf418e1468f09
// The service using which notifications can be presented to the user. There
// should be a unique instance of the PlatformNotificationService depending
@@ -42,6 +43,7 @@ class CONTENT_EXPORT PlatformNotificationService {
@@ -43,6 +44,7 @@ class CONTENT_EXPORT PlatformNotificationService {
// Displays the notification described in |notification_data| to the user.
// This method must be called on the UI thread.
virtual void DisplayNotification(
@ -139,7 +139,7 @@ index c7209a74a84ae4a284170ba882ee537cb732d467..4960a11bc922fd79c00bf418e1468f09
const std::string& notification_id,
const GURL& origin,
diff --git a/content/test/mock_platform_notification_service.cc b/content/test/mock_platform_notification_service.cc
index 7d16ee63cd349c107a0a0c35446cef557be1aed1..ac9860af1234d2c451525bbd924b79fb32f99015 100644
index a313cb378e5623b9e55786829e0043974c0cb294..26deae4aa831e050035afb294673d7861c4c7578 100644
--- a/content/test/mock_platform_notification_service.cc
+++ b/content/test/mock_platform_notification_service.cc
@@ -26,6 +26,7 @@ MockPlatformNotificationService::MockPlatformNotificationService() = default;
@ -151,7 +151,7 @@ index 7d16ee63cd349c107a0a0c35446cef557be1aed1..ac9860af1234d2c451525bbd924b79fb
const std::string& notification_id,
const GURL& origin,
diff --git a/content/test/mock_platform_notification_service.h b/content/test/mock_platform_notification_service.h
index 89aad27b34da99fc90e2d0352994eb3baa64fae4..0c8b8dbdacc83006c53fd85894d95c8fa01166d8 100644
index 9488023df808cfd6633b3ab9b02d66a1bd929d29..d16e9394d1eea6bc657d1a07a1d09c52a7692bdd 100644
--- a/content/test/mock_platform_notification_service.h
+++ b/content/test/mock_platform_notification_service.h
@@ -45,6 +45,7 @@ class MockPlatformNotificationService : public PlatformNotificationService {

Просмотреть файл

@ -283,10 +283,10 @@ index 1802034a6e15a6ad8b0d9591cfb79ba5873dc982..a827091facdb4f6b1d74ce826c3492ce
// Like PrintMsg_PrintPages, but using the print preview document's frame/node.
IPC_MESSAGE_ROUTED0(PrintMsg_PrintForSystemDialog)
diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc
index 40ea9d21b07a04fc9b32adf4c24106506afb3e2e..1ba13510f24659040e8a99c5399e6de899d90965 100644
index 222db5c6b09900001fa835c6dcbd0b200b467a0a..dd85f247d6267aa97fced685991cd2efa617638c 100644
--- a/components/printing/renderer/print_render_frame_helper.cc
+++ b/components/printing/renderer/print_render_frame_helper.cc
@@ -1108,7 +1108,9 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
@@ -1109,7 +1109,9 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
web_frame->DispatchBeforePrintEvent();
if (!weak_this)
return;
@ -297,7 +297,7 @@ index 40ea9d21b07a04fc9b32adf4c24106506afb3e2e..1ba13510f24659040e8a99c5399e6de8
if (weak_this)
web_frame->DispatchAfterPrintEvent();
}
@@ -1156,7 +1158,10 @@ void PrintRenderFrameHelper::OnDestruct() {
@@ -1157,7 +1159,10 @@ void PrintRenderFrameHelper::OnDestruct() {
delete this;
}
@ -309,7 +309,7 @@ index 40ea9d21b07a04fc9b32adf4c24106506afb3e2e..1ba13510f24659040e8a99c5399e6de8
if (ipc_nesting_level_ > 1)
return;
@@ -1169,7 +1174,8 @@ void PrintRenderFrameHelper::OnPrintPages() {
@@ -1170,7 +1175,8 @@ void PrintRenderFrameHelper::OnPrintPages() {
// If we are printing a PDF extension frame, find the plugin node and print
// that instead.
auto plugin = delegate_->GetPdfElement(frame);
@ -319,7 +319,7 @@ index 40ea9d21b07a04fc9b32adf4c24106506afb3e2e..1ba13510f24659040e8a99c5399e6de8
if (weak_this)
frame->DispatchAfterPrintEvent();
// WARNING: |this| may be gone at this point. Do not do any more work here and
@@ -1186,7 +1192,7 @@ void PrintRenderFrameHelper::OnPrintForSystemDialog() {
@@ -1187,7 +1193,7 @@ void PrintRenderFrameHelper::OnPrintForSystemDialog() {
}
auto weak_this = weak_ptr_factory_.GetWeakPtr();
Print(frame, print_preview_context_.source_node(),
@ -328,7 +328,7 @@ index 40ea9d21b07a04fc9b32adf4c24106506afb3e2e..1ba13510f24659040e8a99c5399e6de8
if (weak_this)
frame->DispatchAfterPrintEvent();
// WARNING: |this| may be gone at this point. Do not do any more work here and
@@ -1222,6 +1228,8 @@ void PrintRenderFrameHelper::OnPrintPreview(
@@ -1223,6 +1229,8 @@ void PrintRenderFrameHelper::OnPrintPreview(
if (ipc_nesting_level_ > 1)
return;
@ -337,7 +337,7 @@ index 40ea9d21b07a04fc9b32adf4c24106506afb3e2e..1ba13510f24659040e8a99c5399e6de8
print_preview_context_.OnPrintPreview();
UMA_HISTOGRAM_ENUMERATION("PrintPreview.PreviewEvent",
@@ -1615,7 +1623,10 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
@@ -1616,7 +1624,10 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
auto self = weak_ptr_factory_.GetWeakPtr();
Print(duplicate_node.GetDocument().GetFrame(), duplicate_node,
@ -349,7 +349,7 @@ index 40ea9d21b07a04fc9b32adf4c24106506afb3e2e..1ba13510f24659040e8a99c5399e6de8
// Check if |this| is still valid.
if (!self)
return;
@@ -1626,7 +1637,10 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
@@ -1627,7 +1638,10 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
const blink::WebNode& node,
@ -361,7 +361,7 @@ index 40ea9d21b07a04fc9b32adf4c24106506afb3e2e..1ba13510f24659040e8a99c5399e6de8
// If still not finished with earlier print request simply ignore.
if (prep_frame_view_)
return;
@@ -1634,7 +1648,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
@@ -1635,7 +1649,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
FrameReference frame_ref(frame);
int expected_page_count = 0;
@ -370,7 +370,7 @@ index 40ea9d21b07a04fc9b32adf4c24106506afb3e2e..1ba13510f24659040e8a99c5399e6de8
DidFinishPrinting(FAIL_PRINT_INIT);
return; // Failed to init print page settings.
}
@@ -1654,8 +1668,9 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
@@ -1655,8 +1669,9 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
PrintMsg_PrintPages_Params print_settings;
auto self = weak_ptr_factory_.GetWeakPtr();
@ -382,7 +382,7 @@ index 40ea9d21b07a04fc9b32adf4c24106506afb3e2e..1ba13510f24659040e8a99c5399e6de8
// Check if |this| is still valid.
if (!self)
return;
@@ -1665,6 +1680,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
@@ -1666,6 +1681,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
? blink::kWebPrintScalingOptionSourceSize
: scaling_option;
SetPrintPagesParams(print_settings);
@ -390,7 +390,7 @@ index 40ea9d21b07a04fc9b32adf4c24106506afb3e2e..1ba13510f24659040e8a99c5399e6de8
if (print_settings.params.dpi.IsEmpty() ||
!print_settings.params.document_cookie) {
DidFinishPrinting(OK); // Release resources and fail silently on failure.
@@ -1853,10 +1869,24 @@ std::vector<int> PrintRenderFrameHelper::GetPrintedPages(
@@ -1854,10 +1870,24 @@ std::vector<int> PrintRenderFrameHelper::GetPrintedPages(
return printed_pages;
}
@ -418,7 +418,7 @@ index 40ea9d21b07a04fc9b32adf4c24106506afb3e2e..1ba13510f24659040e8a99c5399e6de8
// Check if the printer returned any settings, if the settings is empty, we
// can safely assume there are no printer drivers configured. So we safely
// terminate.
@@ -1876,12 +1906,14 @@ bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) {
@@ -1877,12 +1907,14 @@ bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) {
return result;
}

Просмотреть файл

@ -5,10 +5,10 @@ Subject: render_widget_host_view_base.patch
diff --git a/content/browser/renderer_host/render_widget_host_view_base.cc b/content/browser/renderer_host/render_widget_host_view_base.cc
index 2672a26d934d082d4c12c4c40db191963d5b789a..b25dada44e04f0299e11919e02c84d5c3a596668 100644
index be38173457a659fb4b9d1922e416fe3e27420af2..95205c9eaabfdce44b66525c94aacf0b5cdefcc6 100644
--- a/content/browser/renderer_host/render_widget_host_view_base.cc
+++ b/content/browser/renderer_host/render_widget_host_view_base.cc
@@ -652,6 +652,15 @@ viz::FrameSinkId RenderWidgetHostViewBase::FrameSinkIdAtPoint(
@@ -658,6 +658,15 @@ viz::FrameSinkId RenderWidgetHostViewBase::FrameSinkIdAtPoint(
return frame_sink_id.is_valid() ? frame_sink_id : GetFrameSinkId();
}
@ -25,7 +25,7 @@ index 2672a26d934d082d4c12c4c40db191963d5b789a..b25dada44e04f0299e11919e02c84d5c
const blink::WebMouseEvent& event,
const ui::LatencyInfo& latency) {
diff --git a/content/browser/renderer_host/render_widget_host_view_base.h b/content/browser/renderer_host/render_widget_host_view_base.h
index 8cdb72afa1bce774414fc494c1403630961611f2..1887ec9995909f9883fe06af4a9bbe65aca80958 100644
index 6aa5e70a3e14064172182907a62007f9b4da38b8..b7419cc69eb0380461060d0ee6a2aac990643aef 100644
--- a/content/browser/renderer_host/render_widget_host_view_base.h
+++ b/content/browser/renderer_host/render_widget_host_view_base.h
@@ -23,8 +23,10 @@
@ -52,9 +52,9 @@ index 8cdb72afa1bce774414fc494c1403630961611f2..1887ec9995909f9883fe06af4a9bbe65
class WebCursor;
class DelegatedFrameHost;
struct TextInputState;
@@ -142,6 +146,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
TouchSelectionControllerClientManager*
@@ -143,6 +147,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
GetTouchSelectionControllerClientManager() override;
void SetLastTabChangeStartTime(base::TimeTicks start_time) final;
+ virtual void InitAsGuest(RenderWidgetHostView* parent_host_view,
+ RenderWidgetHostViewGuest* guest_view) {}
@ -62,7 +62,7 @@ index 8cdb72afa1bce774414fc494c1403630961611f2..1887ec9995909f9883fe06af4a9bbe65
// This only needs to be overridden by RenderWidgetHostViewBase subclasses
// that handle content embedded within other RenderWidgetHostViews.
gfx::PointF TransformPointToRootCoordSpaceF(
@@ -352,6 +359,11 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -362,6 +369,11 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
virtual void ProcessGestureEvent(const blink::WebGestureEvent& event,
const ui::LatencyInfo& latency);

Просмотреть файл

@ -5,7 +5,7 @@ Subject: render_widget_host_view_mac.patch
diff --git a/content/browser/renderer_host/render_widget_host_view_cocoa.mm b/content/browser/renderer_host/render_widget_host_view_cocoa.mm
index ed18a0a46c22620850d4384e6bb82dba80a3b6d8..c940999eeec8fcf2a2a4514d0edd67f844979b41 100644
index d04130dcb387a985c57fd0d94c10a8c327afe6f3..8d2ed9af59a8e9bbd242ab098cba7f75fc1e6a3e 100644
--- a/content/browser/renderer_host/render_widget_host_view_cocoa.mm
+++ b/content/browser/renderer_host/render_widget_host_view_cocoa.mm
@@ -142,6 +142,11 @@ void ExtractUnderlines(NSAttributedString* string,
@ -30,7 +30,7 @@ index ed18a0a46c22620850d4384e6bb82dba80a3b6d8..c940999eeec8fcf2a2a4514d0edd67f8
return [self acceptsMouseEventsWhenInactive];
}
@@ -765,6 +773,10 @@ - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv {
@@ -786,6 +794,10 @@ - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv {
eventType == NSKeyDown &&
!(modifierFlags & NSCommandKeyMask);
@ -41,7 +41,7 @@ index ed18a0a46c22620850d4384e6bb82dba80a3b6d8..c940999eeec8fcf2a2a4514d0edd67f8
// We only handle key down events and just simply forward other events.
if (eventType != NSKeyDown) {
clientHelper_->ForwardKeyboardEvent(event, latency_info);
@@ -1513,9 +1525,11 @@ - (id)accessibilityFocusedUIElement {
@@ -1534,9 +1546,11 @@ - (id)accessibilityFocusedUIElement {
// Since this implementation doesn't have to wait any IPC calls, this doesn't
// make any key-typing jank. --hbono 7/23/09
//
@ -53,7 +53,7 @@ index ed18a0a46c22620850d4384e6bb82dba80a3b6d8..c940999eeec8fcf2a2a4514d0edd67f8
- (NSArray*)validAttributesForMarkedText {
// This code is just copied from WebKit except renaming variables.
@@ -1524,7 +1538,10 @@ - (NSArray*)validAttributesForMarkedText {
@@ -1545,7 +1559,10 @@ - (NSArray*)validAttributesForMarkedText {
initWithObjects:NSUnderlineStyleAttributeName,
NSUnderlineColorAttributeName,
NSMarkedClauseSegmentAttributeName,
@ -66,7 +66,7 @@ index ed18a0a46c22620850d4384e6bb82dba80a3b6d8..c940999eeec8fcf2a2a4514d0edd67f8
return validAttributesForMarkedText_.get();
}
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
index f6937e35b3e4421a5584d6046ba824ac7e0d0847..b150724b7bee7ffe171a3095519ecd2ca9a38826 100644
index cb067c08a07b2fafb056f0d1cfa3d6b39c521a88..74d4ddbf24a2441a4eaafcde932ad67df9c7c913 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
@@ -61,6 +61,7 @@

Просмотреть файл

@ -52,10 +52,10 @@ Some alternatives to this patch:
None of these options seems like a substantial maintainability win over this patch to me (@nornagon).
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
index 3bd3fb2b18fb6309b22d2ffff5b3372afd6e486d..523faaa6df78cac1b758f49f8180583c7682c85a 100644
index 7e918a479736690e375182b8baf9de44af23aa43..f43097d5983ffabd58824da6a3005255635d4176 100644
--- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn
@@ -1650,7 +1650,7 @@ if (is_chrome_branded && !is_android) {
@@ -1646,7 +1646,7 @@ if (is_chrome_branded && !is_android) {
}
}
@ -64,7 +64,7 @@ index 3bd3fb2b18fb6309b22d2ffff5b3372afd6e486d..523faaa6df78cac1b758f49f8180583c
chrome_paks("packed_resources") {
if (is_mac) {
output_dir = "$root_gen_dir/repack"
@@ -1674,6 +1674,12 @@ if (!is_android) {
@@ -1670,6 +1670,12 @@ if (!is_android) {
}
}

Просмотреть файл

@ -6,7 +6,7 @@ Subject: scroll_bounce_flag.patch
Patch to make scrollBounce option work.
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index 44d963793f143530704a0a06273e51d7c68766cc..5cea319fea51e27f6bd5be7221bafb186b2a3973 100644
index 01be4381e488e7171e02281e158cbad227f5ae09..7739228c99432dd66fda16614c40a50254294224 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -1535,7 +1535,7 @@ bool RenderThreadImpl::IsGpuMemoryBufferCompositorResourcesEnabled() {

Просмотреть файл

@ -6,7 +6,7 @@ Subject: ssl_security_state_tab_helper.patch
Allows populating security tab info for devtools in Electron.
diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ssl/security_state_tab_helper.cc
index 4c1b8bda5a8dbd52d0047e8945490d25c21a3164..2fcc2f9a2b233223b99d67df0f2ecaf02b464ae7 100644
index 1ca339cf487763237d45b7ce2cead2459ecd7e93..754821b54f7c8e6b1653e201ca36bd26db842329 100644
--- a/chrome/browser/ssl/security_state_tab_helper.cc
+++ b/chrome/browser/ssl/security_state_tab_helper.cc
@@ -12,10 +12,12 @@
@ -22,16 +22,18 @@ index 4c1b8bda5a8dbd52d0047e8945490d25c21a3164..2fcc2f9a2b233223b99d67df0f2ecaf0
#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/secure_origin_whitelist.h"
@@ -42,7 +44,7 @@
#include "chrome/browser/chromeos/policy/policy_cert_service_factory.h"
@@ -45,8 +47,10 @@
#endif // defined(OS_CHROMEOS)
-#if defined(SAFE_BROWSING_DB_LOCAL)
#if defined(FULL_SAFE_BROWSING)
+#if 0
#include "chrome/browser/safe_browsing/chrome_password_protection_service.h"
#endif
+#endif
@@ -78,7 +80,9 @@ bool IsOriginSecureWithWhitelist(
namespace {
@@ -82,7 +86,9 @@ bool IsOriginSecureWithWhitelist(
} // namespace
@ -41,7 +43,7 @@ index 4c1b8bda5a8dbd52d0047e8945490d25c21a3164..2fcc2f9a2b233223b99d67df0f2ecaf0
SecurityStateTabHelper::SecurityStateTabHelper(
content::WebContents* web_contents)
@@ -138,6 +142,7 @@ void SecurityStateTabHelper::DidFinishNavigation(
@@ -161,6 +167,7 @@ void SecurityStateTabHelper::DidFinishNavigation(
UMA_HISTOGRAM_BOOLEAN("interstitial.ssl.visited_site_after_warning", true);
}
@ -49,7 +51,7 @@ index 4c1b8bda5a8dbd52d0047e8945490d25c21a3164..2fcc2f9a2b233223b99d67df0f2ecaf0
// Security indicator UI study (https://crbug.com/803501): Show a message in
// the console to reduce developer confusion about the experimental UI
// treatments for HTTPS pages with EV certificates.
@@ -165,6 +170,7 @@ void SecurityStateTabHelper::DidFinishNavigation(
@@ -188,6 +195,7 @@ void SecurityStateTabHelper::DidFinishNavigation(
"Validation is still valid.");
}
}
@ -57,7 +59,7 @@ index 4c1b8bda5a8dbd52d0047e8945490d25c21a3164..2fcc2f9a2b233223b99d67df0f2ecaf0
}
void SecurityStateTabHelper::DidChangeVisibleSecurityState() {
@@ -190,6 +196,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const {
@@ -211,6 +219,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const {
web_contents()->GetController().GetVisibleEntry();
if (!entry)
return security_state::MALICIOUS_CONTENT_STATUS_NONE;
@ -65,7 +67,7 @@ index 4c1b8bda5a8dbd52d0047e8945490d25c21a3164..2fcc2f9a2b233223b99d67df0f2ecaf0
safe_browsing::SafeBrowsingService* sb_service =
g_browser_process->safe_browsing_service();
if (!sb_service)
@@ -257,6 +264,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const {
@@ -278,6 +287,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const {
break;
}
}
@ -73,7 +75,7 @@ index 4c1b8bda5a8dbd52d0047e8945490d25c21a3164..2fcc2f9a2b233223b99d67df0f2ecaf0
return security_state::MALICIOUS_CONTENT_STATUS_NONE;
}
@@ -275,15 +283,19 @@ std::vector<std::string> SecurityStateTabHelper::GetSecureOriginsAndPatterns()
@@ -285,16 +295,20 @@ std::vector<std::string> SecurityStateTabHelper::GetSecureOriginsAndPatterns()
const {
const base::CommandLine& command_line =
*base::CommandLine::ForCurrentProcess();
@ -83,37 +85,14 @@ index 4c1b8bda5a8dbd52d0047e8945490d25c21a3164..2fcc2f9a2b233223b99d67df0f2ecaf0
PrefService* prefs = profile->GetPrefs();
+#endif
std::string origins_str = "";
if (command_line.HasSwitch(switches::kUnsafelyTreatInsecureOriginAsSecure)) {
if (command_line.HasSwitch(
network::switches::kUnsafelyTreatInsecureOriginAsSecure)) {
origins_str = command_line.GetSwitchValueASCII(
switches::kUnsafelyTreatInsecureOriginAsSecure);
network::switches::kUnsafelyTreatInsecureOriginAsSecure);
+#if 0
} else if (prefs->HasPrefPath(prefs::kUnsafelyTreatInsecureOriginAsSecure)) {
origins_str = prefs->GetString(prefs::kUnsafelyTreatInsecureOriginAsSecure);
+#endif
}
return secure_origin_whitelist::ParseWhitelist(origins_str);
return network::ParseSecureOriginAllowlist(origins_str);
}
diff --git a/chrome/common/secure_origin_whitelist.cc b/chrome/common/secure_origin_whitelist.cc
index b70d6ced887d2a2ecb576b20d79e7fc4272e2054..5a75fe115c3c77f4a9edf7913b47341a757d1b42 100644
--- a/chrome/common/secure_origin_whitelist.cc
+++ b/chrome/common/secure_origin_whitelist.cc
@@ -13,7 +13,9 @@
#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
#include "components/prefs/pref_registry_simple.h"
+#if 0
#include "extensions/common/constants.h"
+#endif
#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
#include "url/gurl.h"
#include "url/origin.h"
@@ -163,7 +165,9 @@ std::vector<std::string> GetWhitelist() {
std::set<std::string> GetSchemesBypassingSecureContextCheck() {
std::set<std::string> schemes;
+#if 0
schemes.insert(extensions::kExtensionScheme);
+#endif
return schemes;
}

Просмотреть файл

@ -22,10 +22,10 @@ However, the patch would need to be reviewed by the security team, as it
does touch a security-sensitive class.
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index d2cf83659d91d0439c341d8b9fe40d36f616a9d3..b5a8bc48d92a6b2f7fc031ca7ee662db26941008 100644
index 19cb14736dfd1e87f3f3d9e0e552e6c0fdec5290..e600dd4b1599d7aa0e02c2bab2644c6ee8703140 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -423,6 +423,10 @@ class RendererSandboxedProcessLauncherDelegate
@@ -422,6 +422,10 @@ class RendererSandboxedProcessLauncherDelegate
: public SandboxedProcessLauncherDelegate {
public:
RendererSandboxedProcessLauncherDelegate() {}
@ -36,7 +36,7 @@ index d2cf83659d91d0439c341d8b9fe40d36f616a9d3..b5a8bc48d92a6b2f7fc031ca7ee662db
~RendererSandboxedProcessLauncherDelegate() override {}
@@ -442,6 +446,9 @@ class RendererSandboxedProcessLauncherDelegate
@@ -441,6 +445,9 @@ class RendererSandboxedProcessLauncherDelegate
#if BUILDFLAG(USE_ZYGOTE_HANDLE)
service_manager::ZygoteHandle GetZygote() override {
@ -46,7 +46,7 @@ index d2cf83659d91d0439c341d8b9fe40d36f616a9d3..b5a8bc48d92a6b2f7fc031ca7ee662db
const base::CommandLine& browser_command_line =
*base::CommandLine::ForCurrentProcess();
base::CommandLine::StringType renderer_prefix =
@@ -455,6 +462,11 @@ class RendererSandboxedProcessLauncherDelegate
@@ -454,6 +461,11 @@ class RendererSandboxedProcessLauncherDelegate
service_manager::SandboxType GetSandboxType() override {
return service_manager::SANDBOX_TYPE_RENDERER;
}
@ -58,7 +58,7 @@ index d2cf83659d91d0439c341d8b9fe40d36f616a9d3..b5a8bc48d92a6b2f7fc031ca7ee662db
};
const char kSessionStorageHolderKey[] = "kSessionStorageHolderKey";
@@ -1741,11 +1753,18 @@ bool RenderProcessHostImpl::Init() {
@@ -1736,11 +1748,18 @@ bool RenderProcessHostImpl::Init() {
cmd_line->PrependWrapper(renderer_prefix);
AppendRendererCommandLine(cmd_line.get());

Просмотреть файл

@ -5,10 +5,10 @@ Subject: web_contents.patch
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index c7ea2789c7d8cb28df9f270340c201cf73a03e7e..34578d40d4505d7bb134650686c2cc61af2c7c3a 100644
index 487d5876e20ddcfe8a7b55f4ee5ba32e82934ba0..f603b8ce6ee7a27af2e2c5ecf8bf1e6660d8eec4 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -2069,6 +2069,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
@@ -2066,6 +2066,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
std::string unique_name;
frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name);
@ -21,7 +21,7 @@ index c7ea2789c7d8cb28df9f270340c201cf73a03e7e..34578d40d4505d7bb134650686c2cc61
WebContentsViewDelegate* delegate =
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
@@ -2084,6 +2090,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
@@ -2081,6 +2087,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
&render_view_host_delegate_view_);
}
}

Просмотреть файл

@ -1,117 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Milan Burda <milan.burda@gmail.com>
Date: Thu, 20 Sep 2018 17:47:01 -0700
Subject: webgl_context_attributes.patch
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
index 1277a3b2c1e4d9ff61d7e4968831e03e57395c51..b9f3d081a6ff0309aa4f2133e42bc097addaaf4e 100644
--- a/content/renderer/renderer_blink_platform_impl.cc
+++ b/content/renderer/renderer_blink_platform_impl.cc
@@ -916,8 +916,10 @@ RendererBlinkPlatformImpl::CreateOffscreenGraphicsContext3DProvider(
attributes.sample_buffers = 0;
attributes.bind_generates_resource = false;
attributes.enable_raster_interface = web_attributes.enable_raster_interface;
- // Prefer discrete GPU for WebGL.
- attributes.gpu_preference = gl::PreferDiscreteGpu;
+
+ attributes.gpu_preference = web_attributes.prefer_integrated_gpu
+ ? gl::PreferIntegratedGpu
+ : gl::PreferDiscreteGpu;
attributes.fail_if_major_perf_caveat =
web_attributes.fail_if_major_performance_caveat;
diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h
index e89fff83c1c7795bc26831565d1bf25eda4195ae..d7ac7d96ad5c3e20075948c329a6d5ede0ae7a38 100644
--- a/third_party/blink/public/platform/platform.h
+++ b/third_party/blink/public/platform/platform.h
@@ -538,6 +538,7 @@ class BLINK_PLATFORM_EXPORT Platform {
kWebGPUContextType, // WebGPU context
};
struct ContextAttributes {
+ bool prefer_integrated_gpu = false;
bool fail_if_major_performance_caveat = false;
ContextType context_type = kGLES2ContextType;
// Offscreen contexts usually share a surface for the default frame buffer
diff --git a/third_party/blink/renderer/core/html/canvas/canvas_context_creation_attributes_core.h b/third_party/blink/renderer/core/html/canvas/canvas_context_creation_attributes_core.h
index 614e4e3a8737c1149baac1aedb985c6be62c9a84..3ae0b2a809532707ca9c8b3964737a1a5941e132 100644
--- a/third_party/blink/renderer/core/html/canvas/canvas_context_creation_attributes_core.h
+++ b/third_party/blink/renderer/core/html/canvas/canvas_context_creation_attributes_core.h
@@ -30,6 +30,7 @@ class CORE_EXPORT CanvasContextCreationAttributesCore {
String pixel_format = "uint8";
bool premultiplied_alpha = true;
bool preserve_drawing_buffer = false;
+ String power_preference = "default";
bool stencil = false;
bool xr_compatible = false;
};
diff --git a/third_party/blink/renderer/modules/canvas/htmlcanvas/canvas_context_creation_attributes_module.idl b/third_party/blink/renderer/modules/canvas/htmlcanvas/canvas_context_creation_attributes_module.idl
index ad9f867f46be2c652da9fd328517de6d87de31a7..b4f97a0fdc658a23d5d021172e32d68f68a7c38f 100644
--- a/third_party/blink/renderer/modules/canvas/htmlcanvas/canvas_context_creation_attributes_module.idl
+++ b/third_party/blink/renderer/modules/canvas/htmlcanvas/canvas_context_creation_attributes_module.idl
@@ -28,6 +28,12 @@ enum CanvasPixelFormat {
"float16",
};
+enum CanvasPowerPreference {
+ "default",
+ "low-power",
+ "high-performance",
+};
+
[PermissiveDictionaryConversion]
dictionary CanvasContextCreationAttributesModule {
// This is an experimental feature, but it is not hidden behind a flag in
@@ -47,6 +53,7 @@ dictionary CanvasContextCreationAttributesModule {
boolean antialias = true;
boolean premultipliedAlpha = true;
boolean preserveDrawingBuffer = false;
+ CanvasPowerPreference powerPreference = "default";
boolean failIfMajorPerformanceCaveat = false;
[OriginTrialEnabled=WebXR] boolean xrCompatible = false;
};
diff --git a/third_party/blink/renderer/modules/webgl/webgl_context_attribute_helpers.cc b/third_party/blink/renderer/modules/webgl/webgl_context_attribute_helpers.cc
index 7a74942ab1f4495956d8e96ecd98b8028a20efa3..9a868cdb36ce468d3116379cfc04da28acfe010b 100644
--- a/third_party/blink/renderer/modules/webgl/webgl_context_attribute_helpers.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl_context_attribute_helpers.cc
@@ -17,6 +17,7 @@ WebGLContextAttributes* ToWebGLContextAttributes(
result->setAntialias(attrs.antialias);
result->setPremultipliedAlpha(attrs.premultiplied_alpha);
result->setPreserveDrawingBuffer(attrs.preserve_drawing_buffer);
+ result->setPowerPreference(attrs.power_preference);
result->setFailIfMajorPerformanceCaveat(
attrs.fail_if_major_performance_caveat);
result->setXrCompatible(attrs.xr_compatible);
@@ -29,6 +30,7 @@ Platform::ContextAttributes ToPlatformContextAttributes(
Platform::ContextType context_type,
bool support_own_offscreen_surface) {
Platform::ContextAttributes result;
+ result.prefer_integrated_gpu = attrs.power_preference == "low-power";
result.fail_if_major_performance_caveat =
attrs.fail_if_major_performance_caveat;
result.context_type = context_type;
diff --git a/third_party/blink/renderer/modules/webgl/webgl_context_attributes.idl b/third_party/blink/renderer/modules/webgl/webgl_context_attributes.idl
index 725dbfb351e7556e137750d95104648c879dffc1..2e4df15a8dfe1a8ea504205e951a3d270e23ed46 100644
--- a/third_party/blink/renderer/modules/webgl/webgl_context_attributes.idl
+++ b/third_party/blink/renderer/modules/webgl/webgl_context_attributes.idl
@@ -26,6 +26,12 @@
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.2
+enum WebGLPowerPreference {
+ "default",
+ "low-power",
+ "high-performance",
+};
+
dictionary WebGLContextAttributes {
boolean alpha = true;
boolean depth = true;
@@ -33,6 +39,7 @@ dictionary WebGLContextAttributes {
boolean antialias = true;
boolean premultipliedAlpha = true;
boolean preserveDrawingBuffer = false;
+ WebGLPowerPreference powerPreference = "default";
boolean failIfMajorPerformanceCaveat = false;
[OriginTrialEnabled=WebXR] boolean xrCompatible = false;
// TODO(crbug.com/788439): remove OriginTrialEnabled.

Просмотреть файл

@ -5,10 +5,10 @@ Subject: webview_cross_drag.patch
diff --git a/content/browser/web_contents/web_contents_view_aura.cc b/content/browser/web_contents/web_contents_view_aura.cc
index 3ae2cd85d98ebde08361b4dce810456b43b8cd1c..d8d1b975d0d88db8cf147e57763e30ce58d1eb17 100644
index 0c15633445d75373cd6e2e7da773d6c318758e4e..0c1c53947153497d33fdf9b6841abe1fcbcf0fd8 100644
--- a/content/browser/web_contents/web_contents_view_aura.cc
+++ b/content/browser/web_contents/web_contents_view_aura.cc
@@ -676,6 +676,7 @@ gfx::NativeView WebContentsViewAura::GetRenderWidgetHostViewParent() const {
@@ -575,6 +575,7 @@ gfx::NativeView WebContentsViewAura::GetRenderWidgetHostViewParent() const {
bool WebContentsViewAura::IsValidDragTarget(
RenderWidgetHostImpl* target_rwh) const {

Просмотреть файл

@ -5,10 +5,10 @@ Subject: worker_context_will_destroy.patch
diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h
index 3b5c53a10c8d6aa2e173a7e7788e8955c7299d4f..614f5f8296c13f127cb081d1b05c908a52c92daf 100644
index b8da0451f5857d9bffa7dc913dcf0304da2325b4..566faeff313c1f23a209ddb4ee6194efb8fc11fb 100644
--- a/content/public/renderer/content_renderer_client.h
+++ b/content/public/renderer/content_renderer_client.h
@@ -384,6 +384,11 @@ class CONTENT_EXPORT ContentRendererClient {
@@ -383,6 +383,11 @@ class CONTENT_EXPORT ContentRendererClient {
virtual void DidInitializeWorkerContextOnWorkerThread(
v8::Local<v8::Context> context) {}
@ -21,10 +21,10 @@ index 3b5c53a10c8d6aa2e173a7e7788e8955c7299d4f..614f5f8296c13f127cb081d1b05c908a
// An empty URL is returned if the URL is not overriden.
virtual GURL OverrideFlashEmbedWithHTML(const GURL& url);
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
index b9f3d081a6ff0309aa4f2133e42bc097addaaf4e..276a52e903658748d373e61be9b084a1f44519d1 100644
index 84554504ddbcccf9bd85d8eea2f0d42b3ba5a1f6..9d756c084eb31ee4d74ba5f0fa5ca9294c15a66b 100644
--- a/content/renderer/renderer_blink_platform_impl.cc
+++ b/content/renderer/renderer_blink_platform_impl.cc
@@ -1064,6 +1064,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
@@ -1083,6 +1083,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread();
}
@ -38,22 +38,22 @@ index b9f3d081a6ff0309aa4f2133e42bc097addaaf4e..276a52e903658748d373e61be9b084a1
const v8::Local<v8::Context>& worker) {
GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread(
diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h
index 38ff3be9084334641d5537dda5b5fe5e8f9f8417..93c4dc904fd4f539faf48adc3c8770d052855050 100644
index a1f782b108b160dc5837a225f313f4c056728471..001a84fdc47591e09730ba49bb7d3219a2961bba 100644
--- a/content/renderer/renderer_blink_platform_impl.h
+++ b/content/renderer/renderer_blink_platform_impl.h
@@ -210,6 +210,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
@@ -211,6 +211,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
void DidStartWorkerThread() override;
void WillStopWorkerThread() override;
void WorkerContextCreated(const v8::Local<v8::Context>& worker) override;
+ void WorkerContextWillDestroy(const v8::Local<v8::Context>& worker) override;
// Disables the WebSandboxSupport implementation for testing.
// Tests that do not set up a full sandbox environment should call
void RecordMetricsForBackgroundedRendererPurge() override;
diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h
index d7ac7d96ad5c3e20075948c329a6d5ede0ae7a38..66881ba9b2511ef39e58c983907ec1894c046c2a 100644
index c6c49fcbe38b9a4e892c50e68a2cbc3e2bbeb30b..45d2c3dde539ef61d190f13c1964d0127e435c9b 100644
--- a/third_party/blink/public/platform/platform.h
+++ b/third_party/blink/public/platform/platform.h
@@ -687,6 +687,7 @@ class BLINK_PLATFORM_EXPORT Platform {
@@ -681,6 +681,7 @@ class BLINK_PLATFORM_EXPORT Platform {
virtual void DidStartWorkerThread() {}
virtual void WillStopWorkerThread() {}
virtual void WorkerContextCreated(const v8::Local<v8::Context>& worker) {}
@ -62,10 +62,10 @@ index d7ac7d96ad5c3e20075948c329a6d5ede0ae7a38..66881ba9b2511ef39e58c983907ec189
const WebSecurityOrigin& script_origin) {
return false;
diff --git a/third_party/blink/renderer/core/workers/worker_thread.cc b/third_party/blink/renderer/core/workers/worker_thread.cc
index e55b99843fa42056197875b883a944f6de4ad79d..eb1508065eee7235816e2d6047220291007324e4 100644
index 96dacc97cac57a039f2506ab4d4e3ca2664e18ef..5a31664f44ec87d87e1500b00ec4732918ede625 100644
--- a/third_party/blink/renderer/core/workers/worker_thread.cc
+++ b/third_party/blink/renderer/core/workers/worker_thread.cc
@@ -559,6 +559,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() {
@@ -558,6 +558,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() {
SetExitCode(ExitCode::kGracefullyTerminated);
}

Просмотреть файл

@ -4,3 +4,4 @@ build_gn.patch
expose_mksnapshot.patch
deps_provide_more_v8_backwards_compatibility.patch
dcheck.patch
fixme_revert_heap_api_remove_deprecated_apis.patch

Просмотреть файл

@ -12,10 +12,10 @@ when we override ReallocateBufferMemory, so we therefore need to implement
Realloc on the v8 side.
diff --git a/include/v8.h b/include/v8.h
index 6ecc48af33288c1d5b8a8d847581c1edd8c173f9..ea203a23a945a03e4494a1b3d615381dd5699e2c 100644
index 6dee8ca634900af699ac1a54e10fc2a1ec4a7319..fd4e4f95022cb8e7332f9371ab478b8063cf048c 100644
--- a/include/v8.h
+++ b/include/v8.h
@@ -4695,6 +4695,13 @@ class V8_EXPORT ArrayBuffer : public Object {
@@ -4694,6 +4694,13 @@ class V8_EXPORT ArrayBuffer : public Object {
*/
virtual void* AllocateUninitialized(size_t length) = 0;
@ -30,7 +30,7 @@ index 6ecc48af33288c1d5b8a8d847581c1edd8c173f9..ea203a23a945a03e4494a1b3d615381d
* Free the memory block of size |length|, pointed to by |data|.
* That memory is guaranteed to be previously allocated by |Allocate|.
diff --git a/src/api.cc b/src/api.cc
index 168522f8c36b4385479ebba7f06f8a5261ab7a85..b87dfac21d26177128f7c434bc2577e18ab905c6 100644
index a5bb14f935a0a96380cbaf9839a5063dbd420a16..b6071ee70e1f5f8c308118fc21fbab387129d07f 100644
--- a/src/api.cc
+++ b/src/api.cc
@@ -516,6 +516,10 @@ void V8::SetSnapshotDataBlob(StartupData* snapshot_blob) {

Просмотреть файл

@ -5,10 +5,10 @@ Subject: build_gn.patch
diff --git a/BUILD.gn b/BUILD.gn
index fddd525297773e843cbd7a8b11a72c3e094b06d8..d8a2b8e11a3e0e9820dca061a00dbf1a6859bcf4 100644
index b843e32765a93fe50ccc78427558daeb3447c2a8..1eefb5b89c8a91ee3a9eb9f4a5b22cc499d97539 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -240,7 +240,7 @@ config("internal_config") {
@@ -246,7 +246,7 @@ config("internal_config") {
":v8_header_features",
]
@ -17,7 +17,7 @@ index fddd525297773e843cbd7a8b11a72c3e094b06d8..d8a2b8e11a3e0e9820dca061a00dbf1a
defines += [ "BUILDING_V8_SHARED" ]
}
}
@@ -3530,6 +3530,8 @@ if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) {
@@ -3558,6 +3558,8 @@ if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) {
configs = [ ":internal_config" ]

Просмотреть файл

@ -5,10 +5,10 @@ Subject: dcheck.patch
diff --git a/src/api.cc b/src/api.cc
index 16b3d6d6d29ff6c79245e8f69132d7367708024e..3b5c0a8efa502cf0caf1dae9b426bab1c86d16b6 100644
index a6c14a5be90679ed4d17fa04bb9feb30a05d42f9..8532ad08999316427add386696326b43dc1994d8 100644
--- a/src/api.cc
+++ b/src/api.cc
@@ -8620,7 +8620,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) {
@@ -8617,7 +8617,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) {
void Isolate::RunMicrotasks() {
@ -18,10 +18,10 @@ index 16b3d6d6d29ff6c79245e8f69132d7367708024e..3b5c0a8efa502cf0caf1dae9b426bab1
isolate->default_microtask_queue()->RunMicrotasks(isolate);
}
diff --git a/src/heap/heap.cc b/src/heap/heap.cc
index e72269d40a369f2e9ae9f12b54fe8f828e252a9a..1192c1ee6cc19eac3dff7ce36e364aa1403eafbc 100644
index 18e357712e10060c70875a1c2e69b754a521efe1..eec4b79ead7c9cc980c7eaf100f103acc81b96f7 100644
--- a/src/heap/heap.cc
+++ b/src/heap/heap.cc
@@ -4855,9 +4855,9 @@ void Heap::TearDown() {
@@ -4881,9 +4881,9 @@ void Heap::TearDown() {
void Heap::AddGCPrologueCallback(v8::Isolate::GCCallbackWithData callback,
GCType gc_type, void* data) {
DCHECK_NOT_NULL(callback);

Просмотреть файл

@ -20,10 +20,10 @@ Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
diff --git a/src/flag-definitions.h b/src/flag-definitions.h
index c7dc7520ebc17f63dbba74225000c84f6d3d0152..07d965d39ad08c9f0aa9af199ac4f0124c233bcd 100644
index 75d8167ca3dc5728de8a0901996794da6acf6d19..c2c3db1dc683085d33a754c401bfec31b9ac08d7 100644
--- a/src/flag-definitions.h
+++ b/src/flag-definitions.h
@@ -1321,7 +1321,7 @@ DEFINE_BOOL(log_function_events, false,
@@ -1337,7 +1337,7 @@ DEFINE_BOOL(log_function_events, false,
DEFINE_BOOL(prof, false,
"Log statistical profiling information (implies --log-code).")

Просмотреть файл

@ -22,10 +22,10 @@ Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
diff --git a/include/v8.h b/include/v8.h
index ea203a23a945a03e4494a1b3d615381dd5699e2c..6145cbca82fa30d42ef9e5ecf2caf7a571594098 100644
index fd4e4f95022cb8e7332f9371ab478b8063cf048c..6a91f2571d1c0c7e92bff288da90a9550e5568ba 100644
--- a/include/v8.h
+++ b/include/v8.h
@@ -1144,6 +1144,10 @@ class V8_EXPORT PrimitiveArray {
@@ -1141,6 +1141,10 @@ class V8_EXPORT PrimitiveArray {
public:
static Local<PrimitiveArray> New(Isolate* isolate, int length);
int Length() const;
@ -36,7 +36,7 @@ index ea203a23a945a03e4494a1b3d615381dd5699e2c..6145cbca82fa30d42ef9e5ecf2caf7a5
void Set(Isolate* isolate, int index, Local<Primitive> item);
Local<Primitive> Get(Isolate* isolate, int index);
};
@@ -1847,6 +1851,8 @@ class V8_EXPORT StackTrace {
@@ -1849,6 +1853,8 @@ class V8_EXPORT StackTrace {
/**
* Returns a StackFrame at a particular index.
*/
@ -45,7 +45,7 @@ index ea203a23a945a03e4494a1b3d615381dd5699e2c..6145cbca82fa30d42ef9e5ecf2caf7a5
Local<StackFrame> GetFrame(Isolate* isolate, uint32_t index) const;
/**
@@ -2547,6 +2553,13 @@ class V8_EXPORT Value : public Data {
@@ -2549,6 +2555,13 @@ class V8_EXPORT Value : public Data {
V8_DEPRECATE_SOON("Use maybe version",
Local<Int32> ToInt32(Isolate* isolate) const);
@ -59,7 +59,7 @@ index ea203a23a945a03e4494a1b3d615381dd5699e2c..6145cbca82fa30d42ef9e5ecf2caf7a5
/**
* Attempts to convert a string to an array index.
* Returns an empty handle if the conversion fails.
@@ -2566,7 +2579,14 @@ class V8_EXPORT Value : public Data {
@@ -2568,7 +2581,14 @@ class V8_EXPORT Value : public Data {
Local<Context> context) const;
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
@ -74,7 +74,7 @@ index ea203a23a945a03e4494a1b3d615381dd5699e2c..6145cbca82fa30d42ef9e5ecf2caf7a5
V8_WARN_UNUSED_RESULT Maybe<bool> Equals(Local<Context> context,
Local<Value> that) const;
bool StrictEquals(Local<Value> that) const;
@@ -2673,6 +2693,8 @@ class V8_EXPORT String : public Name {
@@ -2675,6 +2695,8 @@ class V8_EXPORT String : public Name {
* Returns the number of bytes in the UTF-8 encoded
* representation of this string.
*/
@ -83,7 +83,7 @@ index ea203a23a945a03e4494a1b3d615381dd5699e2c..6145cbca82fa30d42ef9e5ecf2caf7a5
int Utf8Length(Isolate* isolate) const;
/**
@@ -2729,12 +2751,23 @@ class V8_EXPORT String : public Name {
@@ -2731,12 +2753,23 @@ class V8_EXPORT String : public Name {
// 16-bit character codes.
int Write(Isolate* isolate, uint16_t* buffer, int start = 0, int length = -1,
int options = NO_OPTIONS) const;
@ -107,7 +107,7 @@ index ea203a23a945a03e4494a1b3d615381dd5699e2c..6145cbca82fa30d42ef9e5ecf2caf7a5
/**
* A zero length string.
@@ -2922,6 +2955,9 @@ class V8_EXPORT String : public Name {
@@ -2924,6 +2957,9 @@ class V8_EXPORT String : public Name {
*/
static Local<String> Concat(Isolate* isolate, Local<String> left,
Local<String> right);
@ -117,7 +117,7 @@ index ea203a23a945a03e4494a1b3d615381dd5699e2c..6145cbca82fa30d42ef9e5ecf2caf7a5
/**
* Creates a new external string using the data defined in the given
@@ -2990,6 +3026,8 @@ class V8_EXPORT String : public Name {
@@ -2992,6 +3028,8 @@ class V8_EXPORT String : public Name {
*/
class V8_EXPORT Utf8Value {
public:
@ -126,7 +126,7 @@ index ea203a23a945a03e4494a1b3d615381dd5699e2c..6145cbca82fa30d42ef9e5ecf2caf7a5
Utf8Value(Isolate* isolate, Local<v8::Value> obj);
~Utf8Value();
char* operator*() { return str_; }
@@ -3013,6 +3051,7 @@ class V8_EXPORT String : public Name {
@@ -3015,6 +3053,7 @@ class V8_EXPORT String : public Name {
*/
class V8_EXPORT Value {
public:
@ -134,7 +134,7 @@ index ea203a23a945a03e4494a1b3d615381dd5699e2c..6145cbca82fa30d42ef9e5ecf2caf7a5
Value(Isolate* isolate, Local<v8::Value> obj);
~Value();
uint16_t* operator*() { return str_; }
@@ -5386,6 +5425,8 @@ class V8_EXPORT BooleanObject : public Object {
@@ -5385,6 +5424,8 @@ class V8_EXPORT BooleanObject : public Object {
class V8_EXPORT StringObject : public Object {
public:
static Local<Value> New(Isolate* isolate, Local<String> value);
@ -143,7 +143,7 @@ index ea203a23a945a03e4494a1b3d615381dd5699e2c..6145cbca82fa30d42ef9e5ecf2caf7a5
Local<String> ValueOf() const;
@@ -10493,6 +10534,30 @@ template <class T> Value* Value::Cast(T* value) {
@@ -10476,6 +10517,30 @@ template <class T> Value* Value::Cast(T* value) {
}
@ -175,10 +175,10 @@ index ea203a23a945a03e4494a1b3d615381dd5699e2c..6145cbca82fa30d42ef9e5ecf2caf7a5
#ifdef V8_ENABLE_CHECKS
CheckCast(value);
diff --git a/src/api.cc b/src/api.cc
index b87dfac21d26177128f7c434bc2577e18ab905c6..16b3d6d6d29ff6c79245e8f69132d7367708024e 100644
index b6071ee70e1f5f8c308118fc21fbab387129d07f..a6c14a5be90679ed4d17fa04bb9feb30a05d42f9 100644
--- a/src/api.cc
+++ b/src/api.cc
@@ -2227,6 +2227,10 @@ int PrimitiveArray::Length() const {
@@ -2220,6 +2220,10 @@ int PrimitiveArray::Length() const {
return array->length();
}
@ -189,7 +189,7 @@ index b87dfac21d26177128f7c434bc2577e18ab905c6..16b3d6d6d29ff6c79245e8f69132d736
void PrimitiveArray::Set(Isolate* v8_isolate, int index,
Local<Primitive> item) {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
@@ -2240,6 +2244,10 @@ void PrimitiveArray::Set(Isolate* v8_isolate, int index,
@@ -2233,6 +2237,10 @@ void PrimitiveArray::Set(Isolate* v8_isolate, int index,
array->set(index, *i_item);
}
@ -200,7 +200,7 @@ index b87dfac21d26177128f7c434bc2577e18ab905c6..16b3d6d6d29ff6c79245e8f69132d736
Local<Primitive> PrimitiveArray::Get(Isolate* v8_isolate, int index) {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
i::Handle<i::FixedArray> array = Utils::OpenHandle(this);
@@ -2945,6 +2953,10 @@ void Message::PrintCurrentStackTrace(Isolate* isolate, FILE* out) {
@@ -2938,6 +2946,10 @@ void Message::PrintCurrentStackTrace(Isolate* isolate, FILE* out) {
// --- S t a c k T r a c e ---
@ -211,7 +211,7 @@ index b87dfac21d26177128f7c434bc2577e18ab905c6..16b3d6d6d29ff6c79245e8f69132d736
Local<StackFrame> StackTrace::GetFrame(Isolate* v8_isolate,
uint32_t index) const {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
@@ -3909,6 +3921,36 @@ void v8::RegExp::CheckCast(v8::Value* that) {
@@ -3902,6 +3914,36 @@ void v8::RegExp::CheckCast(v8::Value* that) {
}
@ -248,7 +248,7 @@ index b87dfac21d26177128f7c434bc2577e18ab905c6..16b3d6d6d29ff6c79245e8f69132d736
Maybe<bool> Value::BooleanValue(Local<Context> context) const {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(context->GetIsolate());
return Just(Utils::OpenHandle(this)->BooleanValue(isolate));
@@ -3997,6 +4039,12 @@ MaybeLocal<Uint32> Value::ToArrayIndex(Local<Context> context) const {
@@ -3990,6 +4032,12 @@ MaybeLocal<Uint32> Value::ToArrayIndex(Local<Context> context) const {
}
@ -261,7 +261,7 @@ index b87dfac21d26177128f7c434bc2577e18ab905c6..16b3d6d6d29ff6c79245e8f69132d736
Maybe<bool> Value::Equals(Local<Context> context, Local<Value> that) const {
i::Isolate* isolate = Utils::OpenHandle(*context)->GetIsolate();
auto self = Utils::OpenHandle(this);
@@ -5275,6 +5323,10 @@ bool String::ContainsOnlyOneByte() const {
@@ -5268,6 +5316,10 @@ bool String::ContainsOnlyOneByte() const {
return helper.Check(*str);
}
@ -272,7 +272,7 @@ index b87dfac21d26177128f7c434bc2577e18ab905c6..16b3d6d6d29ff6c79245e8f69132d736
int String::Utf8Length(Isolate* isolate) const {
i::Handle<i::String> str = Utils::OpenHandle(this);
str = i::String::Flatten(reinterpret_cast<i::Isolate*>(isolate), str);
@@ -5427,6 +5479,14 @@ static int WriteUtf8Impl(i::Vector<const Char> string, char* write_start,
@@ -5420,6 +5472,14 @@ static int WriteUtf8Impl(i::Vector<const Char> string, char* write_start,
}
} // anonymous namespace
@ -287,7 +287,7 @@ index b87dfac21d26177128f7c434bc2577e18ab905c6..16b3d6d6d29ff6c79245e8f69132d736
int String::WriteUtf8(Isolate* v8_isolate, char* buffer, int capacity,
int* nchars_ref, int options) const {
i::Handle<i::String> str = Utils::OpenHandle(this);
@@ -5467,6 +5527,18 @@ static inline int WriteHelper(i::Isolate* isolate, const String* string,
@@ -5460,6 +5520,18 @@ static inline int WriteHelper(i::Isolate* isolate, const String* string,
}
@ -306,7 +306,7 @@ index b87dfac21d26177128f7c434bc2577e18ab905c6..16b3d6d6d29ff6c79245e8f69132d736
int String::WriteOneByte(Isolate* isolate, uint8_t* buffer, int start,
int length, int options) const {
return WriteHelper(reinterpret_cast<i::Isolate*>(isolate), this, buffer,
@@ -6423,6 +6495,11 @@ MaybeLocal<String> String::NewFromTwoByte(Isolate* isolate,
@@ -6414,6 +6486,11 @@ MaybeLocal<String> String::NewFromTwoByte(Isolate* isolate,
return result;
}
@ -318,7 +318,7 @@ index b87dfac21d26177128f7c434bc2577e18ab905c6..16b3d6d6d29ff6c79245e8f69132d736
Local<String> v8::String::Concat(Isolate* v8_isolate, Local<String> left,
Local<String> right) {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
@@ -6705,6 +6782,11 @@ bool v8::BooleanObject::ValueOf() const {
@@ -6696,6 +6773,11 @@ bool v8::BooleanObject::ValueOf() const {
}
@ -330,7 +330,7 @@ index b87dfac21d26177128f7c434bc2577e18ab905c6..16b3d6d6d29ff6c79245e8f69132d736
Local<v8::Value> v8::StringObject::New(Isolate* v8_isolate,
Local<String> value) {
i::Handle<i::String> string = Utils::OpenHandle(*value);
@@ -8970,6 +9052,9 @@ bool MicrotasksScope::IsRunningMicrotasks(Isolate* v8_isolate) {
@@ -8976,6 +9058,9 @@ bool MicrotasksScope::IsRunningMicrotasks(Isolate* v8_isolate) {
return microtask_queue->IsRunningMicrotasks();
}
@ -340,7 +340,7 @@ index b87dfac21d26177128f7c434bc2577e18ab905c6..16b3d6d6d29ff6c79245e8f69132d736
String::Utf8Value::Utf8Value(v8::Isolate* isolate, v8::Local<v8::Value> obj)
: str_(nullptr), length_(0) {
if (obj.IsEmpty()) return;
@@ -8989,6 +9074,9 @@ String::Utf8Value::~Utf8Value() {
@@ -8995,6 +9080,9 @@ String::Utf8Value::~Utf8Value() {
i::DeleteArray(str_);
}

Просмотреть файл

@ -6,10 +6,10 @@ Subject: expose_mksnapshot.patch
Needed in order to target mksnapshot for mksnapshot zip.
diff --git a/BUILD.gn b/BUILD.gn
index d8a2b8e11a3e0e9820dca061a00dbf1a6859bcf4..d3dbe37d0a145921dddaea72e394c87826d6d5fe 100644
index 1eefb5b89c8a91ee3a9eb9f4a5b22cc499d97539..c2ec29b916155f36d8d181d82090afd857f4d041 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -3520,8 +3520,6 @@ if (current_toolchain == v8_generator_toolchain) {
@@ -3548,8 +3548,6 @@ if (current_toolchain == v8_generator_toolchain) {
if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) {
v8_executable("mksnapshot") {

Просмотреть файл

@ -0,0 +1,261 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Samuel Attard <sattard@slack-corp.com>
Date: Thu, 21 Mar 2019 22:29:55 -0700
Subject: fixme: Revert "[heap,api] Remove deprecated APIs"
This reverts commit f4b860d9b81956fb9d6815932522f4043fef56fa.
This commit removes deprecated APIs that nan relies on, temporarily
reverting but we need to solve this with nan upstream
diff --git a/include/v8-internal.h b/include/v8-internal.h
index cbdce1c3f60eed53f67968e6b89755f418aecc3f..9254f7c9a2f3cf7dc92421e2863109b410a09da0 100644
--- a/include/v8-internal.h
+++ b/include/v8-internal.h
@@ -165,6 +165,7 @@ class Internals {
static const int kNodeStateMask = 0x7;
static const int kNodeStateIsWeakValue = 2;
static const int kNodeStateIsPendingValue = 3;
+ static const int kNodeStateIsNearDeathValue = 4;
static const int kNodeIsIndependentShift = 3;
static const int kNodeIsActiveShift = 4;
diff --git a/include/v8.h b/include/v8.h
index 6a91f2571d1c0c7e92bff288da90a9550e5568ba..caafc04a404ba96a2669ddcaf4e5b1bb91984c1a 100644
--- a/include/v8.h
+++ b/include/v8.h
@@ -577,6 +577,10 @@ template <class T> class PersistentBase {
V8_DEPRECATED("See MarkIndependent.", V8_INLINE bool IsIndependent() const);
+ /** Checks if the handle holds the only reference to an object. */
+ V8_DEPRECATED("Garbage collection internal state should not be relied on.",
+ V8_INLINE bool IsNearDeath() const);
+
/** Returns true if the handle's reference is weak. */
V8_INLINE bool IsWeak() const;
@@ -8565,6 +8569,17 @@ class V8_EXPORT Isolate {
*/
void VisitHandlesWithClassIds(PersistentHandleVisitor* visitor);
+ /**
+ * Iterates through all the persistent handles in the current isolate's heap
+ * that have class_ids and are candidates to be marked as partially dependent
+ * handles. This will visit handles to young objects created since the last
+ * garbage collection but is free to visit an arbitrary superset of these
+ * objects.
+ */
+ V8_DEPRECATED(
+ "Use VisitHandlesWithClassIds",
+ void VisitHandlesForPartialDependence(PersistentHandleVisitor* visitor));
+
/**
* Iterates through all the persistent handles in the current isolate's heap
* that have class_ids and are weak to be marked as inactive if there is no
@@ -9818,6 +9833,17 @@ bool PersistentBase<T>::IsIndependent() const {
I::kNodeIsIndependentShift);
}
+template <class T>
+bool PersistentBase<T>::IsNearDeath() const {
+ typedef internal::Internals I;
+ if (this->IsEmpty()) return false;
+ uint8_t node_state =
+ I::GetNodeState(reinterpret_cast<internal::Address*>(this->val_));
+ return node_state == I::kNodeStateIsNearDeathValue ||
+ node_state == I::kNodeStateIsPendingValue;
+}
+
+
template <class T>
bool PersistentBase<T>::IsWeak() const {
typedef internal::Internals I;
diff --git a/src/api.cc b/src/api.cc
index 8532ad08999316427add386696326b43dc1994d8..f2d26a3e7503fe09619259578606d2bc5bd16161 100644
--- a/src/api.cc
+++ b/src/api.cc
@@ -8967,6 +8967,15 @@ void Isolate::VisitHandlesWithClassIds(PersistentHandleVisitor* visitor) {
isolate->global_handles()->IterateAllRootsWithClassIds(visitor);
}
+
+void Isolate::VisitHandlesForPartialDependence(
+ PersistentHandleVisitor* visitor) {
+ i::Isolate* isolate = reinterpret_cast<i::Isolate*>(this);
+ i::DisallowHeapAllocation no_allocation;
+ isolate->global_handles()->IterateAllYoungRootsWithClassIds(visitor);
+}
+
+
void Isolate::VisitWeakHandles(PersistentHandleVisitor* visitor) {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(this);
i::DisallowHeapAllocation no_allocation;
diff --git a/src/global-handles.cc b/src/global-handles.cc
index 350380b23ce6f4fe89e628285d2e69fb1cac88ee..5eb3d93f142ea4d6ec88a4468b6390ec5387da84 100644
--- a/src/global-handles.cc
+++ b/src/global-handles.cc
@@ -379,6 +379,7 @@ class GlobalHandles::Node final : public NodeBase<GlobalHandles::Node> {
Internals::kNodeStateMask);
STATIC_ASSERT(WEAK == Internals::kNodeStateIsWeakValue);
STATIC_ASSERT(PENDING == Internals::kNodeStateIsPendingValue);
+ STATIC_ASSERT(NEAR_DEATH == Internals::kNodeStateIsNearDeathValue);
STATIC_ASSERT(static_cast<int>(IsIndependent::kShift) ==
Internals::kNodeIsIndependentShift);
STATIC_ASSERT(static_cast<int>(IsActive::kShift) ==
@@ -426,6 +427,11 @@ class GlobalHandles::Node final : public NodeBase<GlobalHandles::Node> {
flags_ = NodeWeaknessType::update(flags_, weakness_type);
}
+ bool IsNearDeath() const {
+ // Check for PENDING to ensure correct answer when processing callbacks.
+ return state() == PENDING || state() == NEAR_DEATH;
+ }
+
bool IsWeak() const { return state() == WEAK; }
bool IsInUse() const { return state() != FREE; }
@@ -813,6 +819,10 @@ void GlobalHandles::AnnotateStrongRetainer(Address* location,
Node::FromLocation(location)->AnnotateStrongRetainer(label);
}
+bool GlobalHandles::IsNearDeath(Address* location) {
+ return Node::FromLocation(location)->IsNearDeath();
+}
+
bool GlobalHandles::IsWeak(Address* location) {
return Node::FromLocation(location)->IsWeak();
}
diff --git a/src/global-handles.h b/src/global-handles.h
index 8caa3c33ce72269ecd470328ad88260b2d6cb206..3604af1d28e5a899095335b033bca044a28b7d77 100644
--- a/src/global-handles.h
+++ b/src/global-handles.h
@@ -73,6 +73,9 @@ class GlobalHandles final {
// Clear the weakness of a global handle.
static void* ClearWeakness(Address* location);
+ // Tells whether global handle is near death.
+ static bool IsNearDeath(Address* location);
+
// Tells whether global handle is weak.
static bool IsWeak(Address* location);
diff --git a/test/cctest/heap/test-heap.cc b/test/cctest/heap/test-heap.cc
index fa3d5fe163fd1477c5bfba84d558172469e827f5..aae5f2d61f1b53389c8d4c3c511893010e49b59e 100644
--- a/test/cctest/heap/test-heap.cc
+++ b/test/cctest/heap/test-heap.cc
@@ -531,9 +531,14 @@ TEST(WeakGlobalHandlesScavenge) {
// Scavenge treats weak pointers as normal roots.
CcTest::CollectGarbage(NEW_SPACE);
+
CHECK((*h1)->IsString());
CHECK((*h2)->IsHeapNumber());
+
CHECK(!WeakPointerCleared);
+ CHECK(!global_handles->IsNearDeath(h2.location()));
+ CHECK(!global_handles->IsNearDeath(h1.location()));
+
GlobalHandles::Destroy(h1.location());
GlobalHandles::Destroy(h2.location());
}
@@ -571,8 +576,11 @@ TEST(WeakGlobalUnmodifiedApiHandlesScavenge) {
&TestWeakGlobalHandleCallback, v8::WeakCallbackType::kParameter);
CcTest::CollectGarbage(NEW_SPACE);
+
CHECK((*h1)->IsHeapNumber());
CHECK(WeakPointerCleared);
+ CHECK(!global_handles->IsNearDeath(h1.location()));
+
GlobalHandles::Destroy(h1.location());
}
@@ -609,7 +617,10 @@ TEST(WeakGlobalApiHandleModifiedMapScavenge) {
&TestWeakGlobalHandleCallback, v8::WeakCallbackType::kParameter);
CcTest::CollectGarbage(NEW_SPACE);
+
CHECK(!WeakPointerCleared);
+ CHECK(!global_handles->IsNearDeath(h1.location()));
+
GlobalHandles::Destroy(h1.location());
}
@@ -650,7 +661,10 @@ TEST(WeakGlobalApiHandleWithElementsScavenge) {
&TestWeakGlobalHandleCallback, v8::WeakCallbackType::kParameter);
CcTest::CollectGarbage(NEW_SPACE);
+
CHECK(!WeakPointerCleared);
+ CHECK(!global_handles->IsNearDeath(h1.location()));
+
GlobalHandles::Destroy(h1.location());
}
@@ -685,11 +699,17 @@ TEST(WeakGlobalHandlesMark) {
GlobalHandles::MakeWeak(
h2.location(), reinterpret_cast<void*>(&handle_and_id),
&TestWeakGlobalHandleCallback, v8::WeakCallbackType::kParameter);
+ CHECK(!GlobalHandles::IsNearDeath(h1.location()));
+ CHECK(!GlobalHandles::IsNearDeath(h2.location()));
// Incremental marking potentially marked handles before they turned weak.
CcTest::CollectAllGarbage();
+
CHECK((*h1)->IsString());
+
CHECK(WeakPointerCleared);
+ CHECK(!GlobalHandles::IsNearDeath(h1.location()));
+
GlobalHandles::Destroy(h1.location());
}
diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
index fc74e99dd45a57e8b8b88de6c666008074cdaeea..c2d796bb770432411e660c888a189685da474a41 100644
--- a/test/cctest/test-api.cc
+++ b/test/cctest/test-api.cc
@@ -20472,6 +20472,43 @@ TEST(WrapperClassId) {
object.Reset();
}
+
+TEST(PersistentHandleInNewSpaceVisitor) {
+ LocalContext context;
+ v8::Isolate* isolate = context->GetIsolate();
+ v8::HandleScope scope(isolate);
+ v8::Persistent<v8::Object> object1(isolate, v8::Object::New(isolate));
+ CHECK_EQ(0, object1.WrapperClassId());
+ object1.SetWrapperClassId(42);
+ CHECK_EQ(42, object1.WrapperClassId());
+
+ CcTest::CollectAllGarbage();
+ CcTest::CollectAllGarbage();
+
+ v8::Persistent<v8::Object> object2(isolate, v8::Object::New(isolate));
+ CHECK_EQ(0, object2.WrapperClassId());
+ object2.SetWrapperClassId(42);
+ CHECK_EQ(42, object2.WrapperClassId());
+
+ Visitor42 visitor(&object2);
+#if __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated"
+#endif
+ // VisitHandlesForPartialDependence is marked deprecated. This test will be
+ // removed with the API method.
+ isolate->VisitHandlesForPartialDependence(&visitor);
+#if __clang__
+#pragma clang diagnostic pop
+#endif
+
+ CHECK_EQ(1, visitor.counter_);
+
+ object1.Reset();
+ object2.Reset();
+}
+
+
TEST(RegExp) {
LocalContext context;
v8::HandleScope scope(context->GetIsolate());