Skip to content
Permalink
Browse files

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

chore: update to chromium 75.0.3740.3
  • Loading branch information...
MarshallOfSound committed Apr 3, 2019
2 parents cd8402f + a65f242 commit 5d45b59f7f910c17476835bf60dcb33e1a691bd2
Showing with 597 additions and 398 deletions.
  1. +7 −4 .circleci/config.yml
  2. +1 −0 BUILD.gn
  3. +1 −1 DEPS
  4. +5 −1 atom/browser/api/atom_api_cookies.cc
  5. +5 −1 atom/browser/atom_browser_client.cc
  6. +6 −1 atom/browser/atom_browser_client.h
  7. +3 −0 atom/browser/io_thread.cc
  8. +16 −0 atom/browser/mac/atom_application.h
  9. +0 −3 atom/browser/net/network_context_service.cc
  10. +0 −5 atom/browser/net/system_network_context_manager.cc
  11. +4 −2 atom/browser/net/url_request_context_getter.cc
  12. +9 −0 atom/browser/notifications/platform_notification_service.cc
  13. +4 −0 atom/browser/notifications/platform_notification_service.h
  14. +6 −6 atom/browser/notifications/win/win32_desktop_notifications/desktop_notification_controller.cc
  15. +1 −0 atom/browser/notifications/win/win32_desktop_notifications/toast.cc
  16. +3 −1 atom/browser/notifications/win/win32_desktop_notifications/toast.h
  17. +1 −1 atom/browser/notifications/win/win32_desktop_notifications/toast_uia.cc
  18. +1 −1 atom/browser/ui/cocoa/delayed_native_view_host.cc
  19. +1 −1 atom/browser/ui/cocoa/delayed_native_view_host.h
  20. +7 −4 atom/browser/ui/inspectable_web_contents_impl.cc
  21. +1 −1 atom/common/native_mate_converters/content_converter.h
  22. +1 −1 atom/common/platform_util_linux.cc
  23. +1 −1 build/zip.py
  24. +2 −2 docs/development/build-instructions-macos.md
  25. +0 −1 patches/common/boringssl/.patches
  26. +0 −19 patches/common/boringssl/handle_pub_key_null_in_ec_key_set_public_key.patch
  27. +2 −1 patches/common/chromium/.patches
  28. +1 −1 patches/common/chromium/add_realloc.patch
  29. +2 −2 patches/common/chromium/allow_webview_file_url.patch
  30. +1 −1 patches/common/chromium/blink-worker-enable-csp-in-file-scheme.patch
  31. +2 −2 patches/common/chromium/blink_file_path.patch
  32. +1 −1 patches/common/chromium/blink_local_frame.patch
  33. +5 −5 patches/common/chromium/blink_world_context.patch
  34. +10 −10 patches/common/chromium/can_create_window.patch
  35. +2 −2 patches/common/chromium/compositor_delegate.patch
  36. +1 −1 patches/common/chromium/content_allow_embedder_to_prevent_locking_scheme_registry.patch
  37. +2 −2 patches/common/chromium/content_browser_main_loop.patch
  38. +2 −2 patches/common/chromium/cross_site_document_resource_handler.patch
  39. +1 −1 patches/common/chromium/dcheck.patch
  40. +7 −7 patches/common/chromium/disable-redraw-lock.patch
  41. +11 −11 patches/common/chromium/disable_color_correct_rendering.patch
  42. +20 −0 patches/common/chromium/disable_custom_libcxx_on_windows.patch
  43. +1 −1 patches/common/chromium/disable_detach_webview_frame.patch
  44. +3 −3 patches/common/chromium/disable_hidden.patch
  45. +2 −2 patches/common/chromium/disable_user_gesture_requirement_for_beforeunload_dialogs.patch
  46. +2 −2 patches/common/chromium/exclude-a-few-test-files-from-build.patch
  47. +3 −3 patches/common/chromium/fix_disable_usage_of_pthread_fchdir_np_and_pthread_chdir_np_in_mas.patch
  48. +2 −2 patches/common/chromium/fix_disable_usage_of_setapplicationisdaemon_and.patch
  49. +25 −0 patches/common/chromium/fix_retain_compatibility_with_msvc.patch
  50. +6 −6 patches/common/chromium/frame_host_manager.patch
  51. +2 −2 patches/common/chromium/gritsettings_resource_ids.patch
  52. +2 −2 patches/common/chromium/ignore_rc_check.patch
  53. +12 −12 patches/common/chromium/mas_no_private_api.patch
  54. +2 −2 patches/common/chromium/no_cache_storage_check.patch
  55. +12 −12 patches/common/chromium/notification_provenance.patch
  56. +13 −13 patches/common/chromium/printing.patch
  57. +6 −6 patches/common/chromium/render_widget_host_view_base.patch
  58. +5 −5 patches/common/chromium/render_widget_host_view_mac.patch
  59. +3 −3 patches/common/chromium/resource_file_conflict.patch
  60. +1 −1 patches/common/chromium/scroll_bounce_flag.patch
  61. +16 −37 patches/common/chromium/ssl_security_state_tab_helper.patch
  62. +5 −5 patches/common/chromium/support_mixed_sandbox_with_zygote.patch
  63. +3 −3 patches/common/chromium/web_contents.patch
  64. +0 −117 patches/common/chromium/webgl_context_attributes.patch
  65. +2 −2 patches/common/chromium/webview_cross_drag.patch
  66. +12 −12 patches/common/chromium/worker_context_will_destroy.patch
  67. +1 −0 patches/common/v8/.patches
  68. +3 −3 patches/common/v8/add_realloc.patch
  69. +3 −3 patches/common/v8/build_gn.patch
  70. +4 −4 patches/common/v8/dcheck.patch
  71. +2 −2 patches/common/v8/deps_backport_detailed_line_info_for_cpu_profiler.patch
  72. +25 −25 patches/common/v8/deps_provide_more_v8_backwards_compatibility.patch
  73. +2 −2 patches/common/v8/expose_mksnapshot.patch
  74. +261 −0 patches/common/v8/fixme_revert_heap_api_remove_deprecated_apis.patch
@@ -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)"
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
cipd ensure -ensure-file - -root . <<-CIPD
\$ServiceURL https://chrome-infra-packages.appspot.com/
@Subdir buildtools/linux64
gn/gn/linux-amd64 $gn_version
CIPD
download_from_google_storage --bucket chromium-gn -s "buildtools/linux64/gn.sha1"
echo 'export CHROMIUM_BUILDTOOLS_PATH="'"$PWD"'/buildtools"' >> $BASH_ENV
- run:
name: Run Lint
command: |
@@ -414,6 +414,7 @@ static_library("electron_lib") {
"//third_party/libyuv",
"//third_party/webrtc_overrides:init_webrtc",
"//third_party/widevine/cdm:headers",
"//ui/base/idle",
"//ui/events:dom_keycode_converter",
"//ui/gl",
"//ui/native_theme",
2 DEPS
@@ -10,7 +10,7 @@ gclient_gn_args = [

vars = {
'chromium_version':
'74.0.3729.58',
'75.0.3740.3',
'node_version':
'2dc0f8811b2b295c08d797b8a11b030234c98502',

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

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

private:
struct ProcessPreferences {
@@ -40,6 +40,9 @@ void IOThread::Init() {
std::unique_ptr<network::URLRequestContextBuilderMojo> builder =
std::make_unique<network::URLRequestContextBuilderMojo>();

// Enable file:// support.
builder->set_file_enabled(true);

auto cert_verifier = std::make_unique<net::CachingCertVerifier>(
std::make_unique<net::MultiThreadedCertVerifier>(
net::CertVerifyProc::CreateDefault()));
@@ -17,6 +17,22 @@
- (void)setAppearance:(NSAppearance*)appearance API_AVAILABLE(macosx(10.14));
@end

#if !defined(MAC_OS_X_VERSION_10_13_2)

// forward declare Touch ID APIs
typedef NS_ENUM(NSInteger, LABiometryType) {
LABiometryTypeNone = 0,
LABiometryTypeFaceID = 1,
LABiometryTypeTouchID = 2,
} API_AVAILABLE(macosx(10.13.2));

@interface LAContext (HighSierraPointTwoSDK)
@property(nonatomic, readonly)
LABiometryType biometryType API_AVAILABLE(macosx(10.13.2));
@end

#endif

// forward declare Access APIs
typedef NSString* AVMediaType NS_EXTENSIBLE_STRING_ENUM;

@@ -80,9 +80,6 @@ NetworkContextService::CreateNetworkContextParams(bool in_memory,
network_context_params->enable_ftp_url_support = true;
#endif // !BUILDFLAG(DISABLE_FTP_SUPPORT)

// Needed for PAC scripts that use data URLs.
network_context_params->enable_data_url_support = true;

proxy_config_monitor_.AddToNetworkContextParams(network_context_params.get());

BrowserProcessImpl::ApplyProxyModeFromCommandLine(
@@ -249,11 +249,6 @@ SystemNetworkContextManager::CreateNetworkContextParams() {

network_context_params->http_cache_enabled = false;

// These are needed for PAC scripts that use file or data URLs (Or FTP URLs?).
// TODO(crbug.com/839566): remove file support for all cases.
network_context_params->enable_data_url_support = true;
if (!base::FeatureList::IsEnabled(network::features::kNetworkService))
network_context_params->enable_file_url_support = true;
#if !BUILDFLAG(DISABLE_FTP_SUPPORT)
network_context_params->enable_ftp_url_support = true;
#endif
@@ -156,8 +156,6 @@ URLRequestContextGetter::Handle::CreateNetworkContextParams() {
net::HttpUtil::GenerateAcceptLanguageHeader(
AtomBrowserClient::Get()->GetApplicationLocale());

network_context_params->enable_data_url_support = false;

if (!browser_context_->IsOffTheRecord()) {
auto base_path = browser_context_->GetPath();
network_context_params->http_cache_path =
@@ -263,6 +261,10 @@ net::URLRequestContext* URLRequestContextGetter::GetURLRequestContext() {
if (!url_request_context_) {
std::unique_ptr<network::URLRequestContextBuilderMojo> builder =
std::make_unique<network::URLRequestContextBuilderMojo>();

// Enable file:// support.
builder->set_file_enabled(true);

auto network_delegate = std::make_unique<AtomNetworkDelegate>();
network_delegate_ = network_delegate.get();
builder->set_network_delegate(std::move(network_delegate));
@@ -134,4 +134,13 @@ void PlatformNotificationService::RecordNotificationUkmEvent(
content::BrowserContext* browser_context,
const content::NotificationDatabaseData& data) {}

void PlatformNotificationService::ScheduleTrigger(
content::BrowserContext* browser_context,
base::Time timestamp) {}

base::Time PlatformNotificationService::ReadNextTriggerTimestamp(
content::BrowserContext* browser_context) {
return base::Time::Max();
}

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

private:
AtomBrowserClient* browser_client_;
@@ -126,7 +126,7 @@ LRESULT CALLBACK DesktopNotificationController::WndProc(HWND hwnd,
}

void DesktopNotificationController::StartAnimation() {
_ASSERT(hwnd_controller_);
DCHECK(hwnd_controller_);

if (!is_animating_ && hwnd_controller_) {
// NOTE: 15ms is shorter than what we'd need for 60 fps, but since
@@ -217,7 +217,7 @@ void DesktopNotificationController::AnimateAll() {
}

if (!keep_animating) {
_ASSERT(hwnd_controller_);
DCHECK(hwnd_controller_);
if (hwnd_controller_)
KillTimer(hwnd_controller_, TimerID_Animate);
is_animating_ = false;
@@ -325,7 +325,7 @@ void DesktopNotificationController::CreateToast(NotificationLink&& data) {
int toast_pos = 0;
if (!instances_.empty()) {
auto& item = instances_.back();
_ASSERT(item.hwnd);
DCHECK(item.hwnd);

ScreenMetrics scr;
auto* toast = Toast::Get(item.hwnd);
@@ -379,7 +379,7 @@ DesktopNotificationController::Notification::Notification(
DesktopNotificationController::Notification::Notification(
const shared_ptr<NotificationData>& data)
: data_(data) {
_ASSERT(data != nullptr);
DCHECK(data != nullptr);
}

DesktopNotificationController::Notification::~Notification() = default;
@@ -391,7 +391,7 @@ bool DesktopNotificationController::Notification::operator==(

void DesktopNotificationController::Notification::Close() {
// No business calling this when not pointing to a valid instance
_ASSERT(data_);
DCHECK(data_);

if (data_->controller)
data_->controller->CloseNotification(*this);
@@ -401,7 +401,7 @@ void DesktopNotificationController::Notification::Set(std::wstring caption,
std::wstring body_text,
HBITMAP image) {
// No business calling this when not pointing to a valid instance
_ASSERT(data_);
DCHECK(data_);

// Do nothing when the notification has been closed
if (!data_->controller)
@@ -13,6 +13,7 @@
#include <uxtheme.h>
#include <windowsx.h>
#include <algorithm>
#include <cmath>
#include <memory>

#include "atom/browser/notifications/win/win32_desktop_notifications/common.h"
@@ -9,6 +9,8 @@

#include "atom/browser/notifications/win/win32_desktop_notifications/desktop_notification_controller.h"

#include "base/logging.h"

namespace atom {

class DesktopNotificationController::Toast {
@@ -42,7 +44,7 @@ class DesktopNotificationController::Toast {
return ease_in_active_ || ease_out_active_ || IsStackCollapseActive();
}
bool IsHighlighted() const {
_ASSERT(!(is_highlighted_ && !IsWindowVisible(hwnd_)));
DCHECK(!(is_highlighted_ && !IsWindowVisible(hwnd_)));
return is_highlighted_;
}

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

@@ -12,7 +12,7 @@ DelayedNativeViewHost::DelayedNativeViewHost(gfx::NativeView native_view)
DelayedNativeViewHost::~DelayedNativeViewHost() {}

void DelayedNativeViewHost::ViewHierarchyChanged(
const ViewHierarchyChangedDetails& details) {
const views::ViewHierarchyChangedDetails& details) {
NativeViewHost::ViewHierarchyChanged(details);
if (details.is_add && GetWidget())
Attach(native_view_);
@@ -18,7 +18,7 @@ class DelayedNativeViewHost : public views::NativeViewHost {

// views::View:
void ViewHierarchyChanged(
const ViewHierarchyChangedDetails& details) override;
const views::ViewHierarchyChangedDetails& details) override;

private:
gfx::NativeView native_view_;
@@ -429,7 +429,7 @@ void InspectableWebContentsImpl::CallClientFunction(
}
javascript.append(");");
GetDevToolsWebContents()->GetMainFrame()->ExecuteJavaScript(
base::UTF8ToUTF16(javascript));
base::UTF8ToUTF16(javascript), base::NullCallback());
}

gfx::Rect InspectableWebContentsImpl::GetDevToolsBounds() const {
@@ -476,7 +476,8 @@ void InspectableWebContentsImpl::LoadCompleted() {
}
base::string16 javascript = base::UTF8ToUTF16(
"Components.dockController.setDockSide(\"" + dock_state_ + "\");");
GetDevToolsWebContents()->GetMainFrame()->ExecuteJavaScript(javascript);
GetDevToolsWebContents()->GetMainFrame()->ExecuteJavaScript(
javascript, base::NullCallback());
}

if (view_->GetDelegate())
@@ -738,7 +739,8 @@ void InspectableWebContentsImpl::DispatchProtocolMessage(
if (message.length() < kMaxMessageChunkSize) {
base::string16 javascript =
base::UTF8ToUTF16("DevToolsAPI.dispatchMessage(" + message + ");");
GetDevToolsWebContents()->GetMainFrame()->ExecuteJavaScript(javascript);
GetDevToolsWebContents()->GetMainFrame()->ExecuteJavaScript(
javascript, base::NullCallback());
return;
}

@@ -887,7 +889,8 @@ void InspectableWebContentsImpl::DidFinishNavigation(
base::GenerateGUID().c_str());
// Invoking content::DevToolsFrontendHost::SetupExtensionsAPI(frame, script);
// should be enough, but it seems to be a noop currently.
frame->ExecuteJavaScriptForTests(base::UTF8ToUTF16(script));
frame->ExecuteJavaScriptForTests(base::UTF8ToUTF16(script),
base::NullCallback());
}

void InspectableWebContentsImpl::SendMessageAck(int request_id,
@@ -12,7 +12,7 @@
#include "content/public/common/referrer.h"
#include "content/public/common/stop_find_action.h"
#include "native_mate/converter.h"
#include "third_party/blink/public/platform/modules/permissions/permission_status.mojom.h"
#include "third_party/blink/public/mojom/permissions/permission_status.mojom.h"

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

base::Process process = base::LaunchProcess(argv, options);
if (!process.IsValid())
@@ -52,7 +52,7 @@ def main(argv):
if sys.platform == 'darwin':
execute(['zip', '-r', '-y', dist_zip] + list(dist_files))
else:
with zipfile.ZipFile(dist_zip, 'w', zipfile.ZIP_DEFLATED) as z:
with zipfile.ZipFile(dist_zip, 'w', zipfile.ZIP_DEFLATED, True) as z:
for dep in dist_files:
if skip_path(dep, dist_zip, target_cpu):
continue
@@ -5,7 +5,7 @@ Follow the guidelines below for building Electron on macOS.
## Prerequisites

* macOS >= 10.11.6
* [Xcode](https://developer.apple.com/technologies/tools/) >= 8.2.1
* [Xcode](https://developer.apple.com/technologies/tools/) >= 9.0.0
* [node.js](https://nodejs.org) (external)
* Python 2.7 with support for TLS 1.2

@@ -36,7 +36,7 @@ the following Python modules:
If you're developing Electron and don't plan to redistribute your
custom Electron build, you may skip this section.

Official Electron builds are built with [Xcode 8.3.3](http://adcdownload.apple.com/Developer_Tools/Xcode_8.3.3/Xcode_8.3.3.xip), and the MacOS 10.12 SDK. Building with a newer SDK works too, but the releases currently use the 10.12 SDK.
Official Electron builds are built with [Xcode 9.4.1](http://adcdownload.apple.com/Developer_Tools/Xcode_9.4.1/Xcode_9.4.1.xip), and the MacOS 10.13 SDK. Building with a newer SDK works too, but the releases currently use the 10.13 SDK.

## Building Electron

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

This file was deleted.

Oops, something went wrong.
Oops, something went wrong.

0 comments on commit 5d45b59

Please sign in to comment.
You can’t perform that action at this time.