Skip to content

Commit

Permalink
Merge pull request #18327 from electron/roller/chromium/6-0-x
Browse files Browse the repository at this point in the history
chore: bump chromium to 76.0.3803.1 (6-0-x)
  • Loading branch information
nornagon committed May 24, 2019
2 parents 28ba88b + 1c44ed0 commit 14b62b2
Show file tree
Hide file tree
Showing 103 changed files with 604 additions and 645 deletions.
4 changes: 2 additions & 2 deletions BUILD.gn
Expand Up @@ -8,7 +8,7 @@ import("//tools/generate_library_loader/generate_library_loader.gni")
import("//tools/grit/grit_rule.gni")
import("//tools/grit/repack.gni")
import("//tools/v8_context_snapshot/v8_context_snapshot.gni")
import("//v8/snapshot_toolchain.gni")
import("//v8/gni/snapshot_toolchain.gni")
import("build/asar.gni")
import("build/js_wrap.gni")
import("build/npm.gni")
Expand Down Expand Up @@ -545,9 +545,9 @@ static_library("electron_lib") {

if (is_mac) {
deps += [
"//components/remote_cocoa/app_shim",
"//third_party/crashpad/crashpad/client",
"//ui/accelerated_widget_mac",
"//ui/views_bridge_mac",
]
sources += [
"atom/browser/ui/views/autofill_popup_view.cc",
Expand Down
2 changes: 1 addition & 1 deletion DEPS
Expand Up @@ -10,7 +10,7 @@ gclient_gn_args = [

vars = {
'chromium_version':
'76.0.3783.1',
'76.0.3803.1',
'node_version':
'a86a4a160dc520c61a602c949a32a1bc4c0fc633',

Expand Down
7 changes: 7 additions & 0 deletions atom/app/atom_main_delegate.cc
Expand Up @@ -47,6 +47,10 @@
#include "atom/app/atom_main_delegate_mac.h"
#endif

#if defined(OS_WIN)
#include "base/win/win_util.h"
#endif

namespace atom {

namespace {
Expand Down Expand Up @@ -181,6 +185,9 @@ bool AtomMainDelegate::BasicStartupComplete(int* exit_code) {
// Disable the ActiveVerifier, which is used by Chrome to track possible
// bugs, but no use in Electron.
base::win::DisableHandleVerifier();

if (IsBrowserProcess(command_line))
base::win::PinUser32();
#endif

content_client_ = std::make_unique<AtomContentClient>();
Expand Down
2 changes: 1 addition & 1 deletion atom/browser/api/atom_api_app.cc
Expand Up @@ -721,7 +721,7 @@ void App::AllowCertificateError(
int cert_error,
const net::SSLInfo& ssl_info,
const GURL& request_url,
content::ResourceType resource_type,
bool is_main_frame_request,
bool strict_enforcement,
bool expired_previous_decision,
const base::Callback<void(content::CertificateRequestResultType)>&
Expand Down
2 changes: 1 addition & 1 deletion atom/browser/api/atom_api_app.h
Expand Up @@ -130,7 +130,7 @@ class App : public AtomBrowserClient::Delegate,
int cert_error,
const net::SSLInfo& ssl_info,
const GURL& request_url,
content::ResourceType resource_type,
bool is_main_frame_request,
bool strict_enforcement,
bool expired_previous_decision,
const base::Callback<void(content::CertificateRequestResultType)>&
Expand Down
33 changes: 26 additions & 7 deletions atom/browser/api/atom_api_session.cc
Expand Up @@ -352,8 +352,8 @@ void DownloadIdCallback(content::DownloadManager* download_manager,
uint32_t id) {
download_manager->CreateDownloadItem(
base::GenerateGUID(), id, path, path, url_chain, GURL(), GURL(), GURL(),
GURL(), mime_type, mime_type, start_time, base::Time(), etag,
last_modified, offset, length, std::string(),
GURL(), base::nullopt, mime_type, mime_type, start_time, base::Time(),
etag, last_modified, offset, length, std::string(),
download::DownloadItem::INTERRUPTED,
download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
download::DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT, false, base::Time(),
Expand Down Expand Up @@ -581,14 +581,33 @@ void Session::SetCertVerifyProc(v8::Local<v8::Value> val,

void Session::SetPermissionRequestHandler(v8::Local<v8::Value> val,
mate::Arguments* args) {
AtomPermissionManager::RequestHandler handler;
if (!(val->IsNull() || mate::ConvertFromV8(args->isolate(), val, &handler))) {
using StatusCallback =
base::RepeatingCallback<void(blink::mojom::PermissionStatus)>;
using RequestHandler =
base::Callback<void(content::WebContents*, content::PermissionType,
StatusCallback, const base::DictionaryValue&)>;
auto* permission_manager = static_cast<AtomPermissionManager*>(
browser_context()->GetPermissionControllerDelegate());
if (val->IsNull()) {
permission_manager->SetPermissionRequestHandler(
AtomPermissionManager::RequestHandler());
return;
}
auto handler = std::make_unique<RequestHandler>();
if (!mate::ConvertFromV8(args->isolate(), val, handler.get())) {
args->ThrowError("Must pass null or function");
return;
}
auto* permission_manager = static_cast<AtomPermissionManager*>(
browser_context()->GetPermissionControllerDelegate());
permission_manager->SetPermissionRequestHandler(handler);
permission_manager->SetPermissionRequestHandler(base::BindRepeating(
[](RequestHandler* handler, content::WebContents* web_contents,
content::PermissionType permission_type,
AtomPermissionManager::StatusCallback callback,
const base::DictionaryValue& details) {
handler->Run(web_contents, permission_type,
base::AdaptCallbackForRepeating(std::move(callback)),
details);
},
base::Owned(std::move(handler))));
}

void Session::SetPermissionCheckHandler(v8::Local<v8::Value> val,
Expand Down
5 changes: 3 additions & 2 deletions atom/browser/api/atom_api_web_contents.cc
Expand Up @@ -49,6 +49,7 @@
#include "atom/common/options_switches.h"
#include "base/message_loop/message_loop.h"
#include "base/no_destructor.h"
#include "base/optional.h"
#include "base/strings/utf_string_conversions.h"
#include "base/threading/thread_restrictions.h"
#include "base/threading/thread_task_runner_handle.h"
Expand Down Expand Up @@ -1214,7 +1215,7 @@ void WebContents::SetBackgroundThrottling(bool allowed) {
render_widget_host_impl->disable_hidden_ = !background_throttling_;

if (render_widget_host_impl->is_hidden()) {
render_widget_host_impl->WasShown(false);
render_widget_host_impl->WasShown(base::nullopt);
}
}

Expand Down Expand Up @@ -2070,7 +2071,7 @@ v8::Local<v8::Value> WebContents::GetLastWebPreferences(
}

bool WebContents::IsRemoteModuleEnabled() const {
if (web_contents()->GetVisibleURL().SchemeIs("chrome-devtools")) {
if (web_contents()->GetVisibleURL().SchemeIs("devtools")) {
return false;
}
if (auto* web_preferences = WebContentsPreferences::From(web_contents())) {
Expand Down
12 changes: 0 additions & 12 deletions atom/browser/api/gpu_info_enumerator.cc
Expand Up @@ -108,18 +108,6 @@ void GPUInfoEnumerator::EndAuxAttributes() {
value_stack.pop();
}

void GPUInfoEnumerator::BeginOverlayCapability() {
value_stack.push(std::move(current));
current = std::make_unique<base::DictionaryValue>();
}

void GPUInfoEnumerator::EndOverlayCapability() {
auto& top_value = value_stack.top();
top_value->SetDictionary(kOverlayCapabilityKey, std::move(current));
current = std::move(top_value);
value_stack.pop();
}

void GPUInfoEnumerator::BeginDx12VulkanVersionInfo() {
value_stack.push(std::move(current));
current = std::make_unique<base::DictionaryValue>();
Expand Down
3 changes: 0 additions & 3 deletions atom/browser/api/gpu_info_enumerator.h
Expand Up @@ -25,7 +25,6 @@ class GPUInfoEnumerator final : public gpu::GPUInfo::Enumerator {
const char* kImageDecodeAcceleratorSupportedProfileKey =
"imageDecodeAcceleratorSupportedProfile";
const char* kAuxAttributesKey = "auxAttributes";
const char* kOverlayCapabilityKey = "overlayCapability";
const char* kDx12VulkanVersionInfoKey = "dx12VulkanVersionInfo";

public:
Expand All @@ -47,8 +46,6 @@ class GPUInfoEnumerator final : public gpu::GPUInfo::Enumerator {
void EndImageDecodeAcceleratorSupportedProfile() override;
void BeginAuxAttributes() override;
void EndAuxAttributes() override;
void BeginOverlayCapability() override;
void EndOverlayCapability() override;
void BeginDx12VulkanVersionInfo() override;
void EndDx12VulkanVersionInfo() override;
std::unique_ptr<base::DictionaryValue> GetDictionary();
Expand Down
8 changes: 3 additions & 5 deletions atom/browser/atom_browser_client.cc
Expand Up @@ -498,7 +498,7 @@ void AtomBrowserClient::AppendExtraCommandLineSwitches(

content::WebContents* web_contents = GetWebContentsFromProcessID(process_id);
if (web_contents) {
if (web_contents->GetVisibleURL().SchemeIs("chrome-devtools")) {
if (web_contents->GetVisibleURL().SchemeIs("devtools")) {
command_line->AppendSwitch(switches::kDisableRemoteModule);
}
auto* web_preferences = WebContentsPreferences::From(web_contents);
Expand Down Expand Up @@ -555,14 +555,14 @@ void AtomBrowserClient::AllowCertificateError(
int cert_error,
const net::SSLInfo& ssl_info,
const GURL& request_url,
content::ResourceType resource_type,
bool is_main_frame_request,
bool strict_enforcement,
bool expired_previous_decision,
const base::Callback<void(content::CertificateRequestResultType)>&
callback) {
if (delegate_) {
delegate_->AllowCertificateError(
web_contents, cert_error, ssl_info, request_url, resource_type,
web_contents, cert_error, ssl_info, request_url, is_main_frame_request,
strict_enforcement, expired_previous_decision, callback);
}
}
Expand Down Expand Up @@ -829,8 +829,6 @@ bool AtomBrowserClient::HandleExternalProtocol(
bool is_main_frame,
ui::PageTransition page_transition,
bool has_user_gesture,
const std::string& method,
const net::HttpRequestHeaders& headers,
network::mojom::URLLoaderFactoryRequest* factory_request,
// clang-format off
network::mojom::URLLoaderFactory*& out_factory) { // NOLINT
Expand Down
4 changes: 1 addition & 3 deletions atom/browser/atom_browser_client.h
Expand Up @@ -99,7 +99,7 @@ class AtomBrowserClient : public content::ContentBrowserClient,
int cert_error,
const net::SSLInfo& ssl_info,
const GURL& request_url,
content::ResourceType resource_type,
bool is_main_frame_request,
bool strict_enforcement,
bool expired_previous_decision,
const base::Callback<void(content::CertificateRequestResultType)>&
Expand Down Expand Up @@ -172,8 +172,6 @@ class AtomBrowserClient : public content::ContentBrowserClient,
bool is_main_frame,
ui::PageTransition page_transition,
bool has_user_gesture,
const std::string& method,
const net::HttpRequestHeaders& headers,
network::mojom::URLLoaderFactoryRequest* factory_request,
// clang-format off
network::mojom::URLLoaderFactory*& out_factory) // NOLINT
Expand Down
49 changes: 27 additions & 22 deletions atom/browser/atom_permission_manager.cc
Expand Up @@ -5,6 +5,7 @@
#include "atom/browser/atom_permission_manager.h"

#include <memory>
#include <utility>
#include <vector>

#include "atom/browser/atom_browser_client.h"
Expand Down Expand Up @@ -32,9 +33,9 @@ bool WebContentsDestroyed(int process_id) {
}

void PermissionRequestResponseCallbackWrapper(
const AtomPermissionManager::StatusCallback& callback,
AtomPermissionManager::StatusCallback callback,
const std::vector<blink::mojom::PermissionStatus>& vector) {
callback.Run(vector[0]);
std::move(callback).Run(vector[0]);
}

} // namespace
Expand All @@ -43,9 +44,9 @@ class AtomPermissionManager::PendingRequest {
public:
PendingRequest(content::RenderFrameHost* render_frame_host,
const std::vector<content::PermissionType>& permissions,
const StatusesCallback& callback)
StatusesCallback callback)
: render_process_id_(render_frame_host->GetProcess()->GetID()),
callback_(callback),
callback_(std::move(callback)),
permissions_(permissions),
results_(permissions.size(), blink::mojom::PermissionStatus::DENIED),
remaining_results_(permissions.size()) {}
Expand Down Expand Up @@ -74,11 +75,15 @@ class AtomPermissionManager::PendingRequest {

bool IsComplete() const { return remaining_results_ == 0; }

void RunCallback() const { callback_.Run(results_); }
void RunCallback() {
if (!callback_.is_null()) {
std::move(callback_).Run(results_);
}
}

private:
int render_process_id_;
const StatusesCallback callback_;
StatusesCallback callback_;
std::vector<content::PermissionType> permissions_;
std::vector<blink::mojom::PermissionStatus> results_;
size_t remaining_results_;
Expand All @@ -91,8 +96,8 @@ AtomPermissionManager::~AtomPermissionManager() {}
void AtomPermissionManager::SetPermissionRequestHandler(
const RequestHandler& handler) {
if (handler.is_null() && !pending_requests_.IsEmpty()) {
for (PendingRequestsMap::const_iterator iter(&pending_requests_);
!iter.IsAtEnd(); iter.Advance()) {
for (PendingRequestsMap::iterator iter(&pending_requests_); !iter.IsAtEnd();
iter.Advance()) {
auto* request = iter.GetCurrentValue();
if (!WebContentsDestroyed(request->render_process_id()))
request->RunCallback();
Expand All @@ -112,11 +117,10 @@ int AtomPermissionManager::RequestPermission(
content::RenderFrameHost* render_frame_host,
const GURL& requesting_origin,
bool user_gesture,
const base::Callback<void(blink::mojom::PermissionStatus)>&
response_callback) {
StatusCallback response_callback) {
return RequestPermissionWithDetails(permission, render_frame_host,
requesting_origin, user_gesture, nullptr,
response_callback);
std::move(response_callback));
}

int AtomPermissionManager::RequestPermissionWithDetails(
Expand All @@ -125,22 +129,23 @@ int AtomPermissionManager::RequestPermissionWithDetails(
const GURL& requesting_origin,
bool user_gesture,
const base::DictionaryValue* details,
const StatusCallback& response_callback) {
StatusCallback response_callback) {
return RequestPermissionsWithDetails(
std::vector<content::PermissionType>(1, permission), render_frame_host,
requesting_origin, user_gesture, details,
base::Bind(&PermissionRequestResponseCallbackWrapper, response_callback));
base::BindOnce(PermissionRequestResponseCallbackWrapper,
std::move(response_callback)));
}

int AtomPermissionManager::RequestPermissions(
const std::vector<content::PermissionType>& permissions,
content::RenderFrameHost* render_frame_host,
const GURL& requesting_origin,
bool user_gesture,
const StatusesCallback& response_callback) {
StatusesCallback response_callback) {
return RequestPermissionsWithDetails(permissions, render_frame_host,
requesting_origin, user_gesture, nullptr,
response_callback);
std::move(response_callback));
}

int AtomPermissionManager::RequestPermissionsWithDetails(
Expand All @@ -149,9 +154,9 @@ int AtomPermissionManager::RequestPermissionsWithDetails(
const GURL& requesting_origin,
bool user_gesture,
const base::DictionaryValue* details,
const StatusesCallback& response_callback) {
StatusesCallback response_callback) {
if (permissions.empty()) {
response_callback.Run(std::vector<blink::mojom::PermissionStatus>());
std::move(response_callback).Run({});
return content::PermissionController::kNoPendingOperation;
}

Expand All @@ -169,20 +174,20 @@ int AtomPermissionManager::RequestPermissionsWithDetails(
}
statuses.push_back(blink::mojom::PermissionStatus::GRANTED);
}
response_callback.Run(statuses);
std::move(response_callback).Run(statuses);
return content::PermissionController::kNoPendingOperation;
}

auto* web_contents =
content::WebContents::FromRenderFrameHost(render_frame_host);
int request_id = pending_requests_.Add(std::make_unique<PendingRequest>(
render_frame_host, permissions, response_callback));
render_frame_host, permissions, std::move(response_callback)));

for (size_t i = 0; i < permissions.size(); ++i) {
auto permission = permissions[i];
const auto callback =
base::Bind(&AtomPermissionManager::OnPermissionResponse,
base::Unretained(this), request_id, i);
base::BindRepeating(&AtomPermissionManager::OnPermissionResponse,
base::Unretained(this), request_id, i);
if (details == nullptr) {
request_handler_.Run(web_contents, permission, callback,
base::DictionaryValue());
Expand Down Expand Up @@ -224,7 +229,7 @@ int AtomPermissionManager::SubscribePermissionStatusChange(
content::PermissionType permission,
content::RenderFrameHost* render_frame_host,
const GURL& requesting_origin,
const base::Callback<void(blink::mojom::PermissionStatus)>& callback) {
base::RepeatingCallback<void(blink::mojom::PermissionStatus)> callback) {
return -1;
}

Expand Down

0 comments on commit 14b62b2

Please sign in to comment.