Merge pull request #17507 from electron/chromium-upgrade/75
chore: update to chromium 75.0.3740.3
This commit is contained in:
Коммит
5d45b59f7f
|
@ -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: |
|
||||
|
|
1
BUILD.gn
1
BUILD.gn
|
@ -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
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(¬ification_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());
|
Загрузка…
Ссылка в новой задаче