Update to Chromium revision 788460a4 (#345352)

- Mac: 10.10 SDK is now required for building (see http://crbug.com/463170#c63).
  Older SDKs can be used for a short time by setting mac_sdk_min via GYP_DEFINES.
This commit is contained in:
Marshall Greenblatt
2015-08-25 18:33:31 -04:00
parent aa72f402ba
commit 9af98fab45
38 changed files with 153 additions and 93 deletions

View File

@ -7,5 +7,5 @@
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding # https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
{ {
'chromium_checkout': 'fc6ad471b796214148d81208b38601de0c86bc9f', 'chromium_checkout': '788460a4da28f888f290def06948d35bf7219235',
} }

View File

@ -1451,6 +1451,11 @@
'<(DEPTH)/components/components.gyp:breakpad_host', '<(DEPTH)/components/components.gyp:breakpad_host',
], ],
}], }],
['cld_version==2', {
'dependencies': [
'<(DEPTH)/third_party/cld_2/cld_2.gyp:cld2_platform_impl',
],
}],
['use_aura==1', { ['use_aura==1', {
'dependencies': [ 'dependencies': [
'<(DEPTH)/ui/views/controls/webview/webview.gyp:webview', '<(DEPTH)/ui/views/controls/webview/webview.gyp:webview',
@ -1850,7 +1855,6 @@
'<@(includes_win)', '<@(includes_win)',
# TODO(cef): Remove ui_unscaled_resources.rc once custom cursor # TODO(cef): Remove ui_unscaled_resources.rc once custom cursor
# resources can be loaded via ResourceBundle. See crbug.com/147663. # resources can be loaded via ResourceBundle. See crbug.com/147663.
'<(SHARED_INTERMEDIATE_DIR)/content/content_resources.rc',
'<(SHARED_INTERMEDIATE_DIR)/ui/resources/ui_unscaled_resources.rc', '<(SHARED_INTERMEDIATE_DIR)/ui/resources/ui_unscaled_resources.rc',
'libcef_dll/libcef_dll.rc', 'libcef_dll/libcef_dll.rc',
], ],

View File

@ -211,8 +211,11 @@ void AddFilters(NSPopUpButton *button,
// Treat as a filter of the form "Filter Name|.ext1;.ext2;.ext3". // Treat as a filter of the form "Filter Name|.ext1;.ext2;.ext3".
description = filter.substr(0, sep_index); description = filter.substr(0, sep_index);
std::vector<base::string16> ext; const std::vector<base::string16>& ext =
base::SplitString(filter.substr(sep_index + 1), ';', &ext); base::SplitString(filter.substr(sep_index + 1),
base::ASCIIToUTF16(";"),
base::TRIM_WHITESPACE,
base::SPLIT_WANT_NONEMPTY);
for (size_t x = 0; x < ext.size(); ++x) { for (size_t x = 0; x < ext.size(); ++x) {
const base::string16& file_ext = ext[x]; const base::string16& file_ext = ext[x];
if (!file_ext.empty() && file_ext[0] == '.') if (!file_ext.empty() && file_ext[0] == '.')

View File

@ -201,8 +201,11 @@ std::wstring GetFilterString(
if (sep_index != base::string16::npos) { if (sep_index != base::string16::npos) {
// Treat as a filter of the form "Filter Name|.ext1;.ext2;.ext3". // Treat as a filter of the form "Filter Name|.ext1;.ext2;.ext3".
const base::string16& desc = filter.substr(0, sep_index); const base::string16& desc = filter.substr(0, sep_index);
std::vector<base::string16> ext; const std::vector<base::string16>& ext =
base::SplitString(filter.substr(sep_index + 1), ';', &ext); base::SplitString(filter.substr(sep_index + 1),
base::ASCIIToUTF16(";"),
base::TRIM_WHITESPACE,
base::SPLIT_WANT_NONEMPTY);
std::wstring ext_str; std::wstring ext_str;
for (size_t x = 0; x < ext.size(); ++x) { for (size_t x = 0; x < ext.size(); ++x) {
const base::string16& file_ext = ext[x]; const base::string16& file_ext = ext[x];

View File

@ -153,12 +153,12 @@ class CefBrowserURLRequest::Context
bool Start() { bool Start() {
DCHECK(CalledOnValidThread()); DCHECK(CalledOnValidThread());
GURL url = GURL(request_->GetURL().ToString()); const GURL& url = GURL(request_->GetURL().ToString());
if (!url.is_valid()) if (!url.is_valid())
return false; return false;
std::string method = request_->GetMethod(); const std::string& method =
base::StringToLowerASCII(&method); base::ToLowerASCII(request_->GetMethod().ToString());
net::URLFetcher::RequestType request_type = net::URLFetcher::GET; net::URLFetcher::RequestType request_type = net::URLFetcher::GET;
if (base::LowerCaseEqualsASCII(method, "get")) { if (base::LowerCaseEqualsASCII(method, "get")) {
} else if (base::LowerCaseEqualsASCII(method, "post")) { } else if (base::LowerCaseEqualsASCII(method, "post")) {

View File

@ -67,7 +67,7 @@ ChromeDomain GetChromeDomain(const std::string& domain_name) {
}; };
for (size_t i = 0; i < sizeof(domains) / sizeof(domains[0]); ++i) { for (size_t i = 0; i < sizeof(domains) / sizeof(domains[0]); ++i) {
if (base::strcasecmp(domains[i].name, domain_name.c_str()) == 0) if (base::EqualsCaseInsensitiveASCII(domains[i].name, domain_name.c_str()))
return domains[i].domain; return domains[i].domain;
} }

View File

@ -632,7 +632,7 @@ net::URLRequestContextGetter* CefContentBrowserClient::CreateRequestContext(
(*protocol_handlers)[extensions::kExtensionScheme] = (*protocol_handlers)[extensions::kExtensionScheme] =
linked_ptr<net::URLRequestJobFactory::ProtocolHandler>( linked_ptr<net::URLRequestJobFactory::ProtocolHandler>(
extensions::CreateExtensionProtocolHandler( extensions::CreateExtensionProtocolHandler(
context->IsOffTheRecord(), extension_info_map)); context->IsOffTheRecord(), extension_info_map).release());
} }
return context->CreateRequestContext( return context->CreateRequestContext(
@ -660,7 +660,7 @@ bool CefContentBrowserClient::IsHandledURL(const GURL& url) {
if (!url.is_valid()) if (!url.is_valid())
return false; return false;
const std::string& scheme = url.scheme(); const std::string& scheme = url.scheme();
DCHECK_EQ(scheme, base::StringToLowerASCII(scheme)); DCHECK_EQ(scheme, base::ToLowerASCII(scheme));
if (scheme::IsInternalHandledScheme(scheme)) if (scheme::IsInternalHandledScheme(scheme))
return true; return true;

View File

@ -32,8 +32,8 @@ class Delegate : public InternalHandlerDelegate {
path = path.substr(1); path = path.substr(1);
for (size_t i = 0; i < kDevtoolsResourcesSize; ++i) { for (size_t i = 0; i < kDevtoolsResourcesSize; ++i) {
if (base::strcasecmp(kDevtoolsResources[i].name, if (base::EqualsCaseInsensitiveASCII(kDevtoolsResources[i].name,
path.c_str()) == 0) { path.c_str())) {
action->resource_id = kDevtoolsResources[i].value; action->resource_id = kDevtoolsResources[i].value;
return true; return true;
} }

View File

@ -163,13 +163,13 @@ void DeviceIDFetcher::ComputeOnUIThread(const std::string& salt,
input.append(kDRMIdentifierFile); input.append(kDRMIdentifierFile);
input.append(salt_bytes.begin(), salt_bytes.end()); input.append(salt_bytes.begin(), salt_bytes.end());
crypto::SHA256HashString(input, &id_buf, sizeof(id_buf)); crypto::SHA256HashString(input, &id_buf, sizeof(id_buf));
std::string id = base::StringToLowerASCII( std::string id = base::ToLowerASCII(
base::HexEncode(reinterpret_cast<const void*>(id_buf), sizeof(id_buf))); base::HexEncode(reinterpret_cast<const void*>(id_buf), sizeof(id_buf)));
input = machine_id; input = machine_id;
input.append(kDRMIdentifierFile); input.append(kDRMIdentifierFile);
input.append(id); input.append(id);
crypto::SHA256HashString(input, &id_buf, sizeof(id_buf)); crypto::SHA256HashString(input, &id_buf, sizeof(id_buf));
id = base::StringToLowerASCII( id = base::ToLowerASCII(
base::HexEncode(reinterpret_cast<const void*>(id_buf), sizeof(id_buf))); base::HexEncode(reinterpret_cast<const void*>(id_buf), sizeof(id_buf)));
RunCallbackOnIOThread(id, PP_OK); RunCallbackOnIOThread(id, PP_OK);

View File

@ -191,6 +191,8 @@ class CefRenderWidgetHostViewOSR
// AcceleratedWidgetMacNSView implementation. // AcceleratedWidgetMacNSView implementation.
NSView* AcceleratedWidgetGetNSView() const override; NSView* AcceleratedWidgetGetNSView() const override;
bool AcceleratedWidgetShouldIgnoreBackpressure() const override; bool AcceleratedWidgetShouldIgnoreBackpressure() const override;
void AcceleratedWidgetGetVSyncParameters(
base::TimeTicks* timebase, base::TimeDelta* interval) const override;
void AcceleratedWidgetSwapCompleted( void AcceleratedWidgetSwapCompleted(
const std::vector<ui::LatencyInfo>& latency_info) override; const std::vector<ui::LatencyInfo>& latency_info) override;
void AcceleratedWidgetHitError() override; void AcceleratedWidgetHitError() override;

View File

@ -93,6 +93,12 @@ bool CefRenderWidgetHostViewOSR::AcceleratedWidgetShouldIgnoreBackpressure()
return true; return true;
} }
void CefRenderWidgetHostViewOSR::AcceleratedWidgetGetVSyncParameters(
base::TimeTicks* timebase, base::TimeDelta* interval) const {
*timebase = base::TimeTicks();
*interval = base::TimeDelta();
}
void CefRenderWidgetHostViewOSR::AcceleratedWidgetSwapCompleted( void CefRenderWidgetHostViewOSR::AcceleratedWidgetSwapCompleted(
const std::vector<ui::LatencyInfo>& all_latency_info) { const std::vector<ui::LatencyInfo>& all_latency_info) {
if (!render_widget_host_) if (!render_widget_host_)

View File

@ -70,7 +70,7 @@ void InstallInternalProtectedHandlers(
DCHECK(IsInternalProtectedScheme(scheme)); DCHECK(IsInternalProtectedScheme(scheme));
bool set_protocol = job_factory->SetProtocolHandler( bool set_protocol = job_factory->SetProtocolHandler(
scheme, protocol_handler.release()); scheme, make_scoped_ptr(protocol_handler.release()));
DCHECK(set_protocol); DCHECK(set_protocol);
} }
} }

View File

@ -25,8 +25,6 @@ CefURLRequestContextProxy::CefURLRequestContextProxy(
set_cert_verifier(parent->cert_verifier()); set_cert_verifier(parent->cert_verifier());
set_transport_security_state(parent->transport_security_state()); set_transport_security_state(parent->transport_security_state());
set_channel_id_service(parent->channel_id_service()); set_channel_id_service(parent->channel_id_service());
set_fraudulent_certificate_reporter(
parent->fraudulent_certificate_reporter());
set_proxy_service(parent->proxy_service()); set_proxy_service(parent->proxy_service());
set_ssl_config_service(parent->ssl_config_service()); set_ssl_config_service(parent->ssl_config_service());
set_http_auth_handler_factory(parent->http_auth_handler_factory()); set_http_auth_handler_factory(parent->http_auth_handler_factory());

View File

@ -201,7 +201,7 @@ void CefURLRequestManager::SetProtocolHandlerIfNecessary(
bool set_protocol = job_factory_->SetProtocolHandler( bool set_protocol = job_factory_->SetProtocolHandler(
scheme, scheme,
(add ? new CefProtocolHandler(this, scheme) : NULL)); make_scoped_ptr(add ? new CefProtocolHandler(this, scheme) : NULL));
DCHECK(set_protocol); DCHECK(set_protocol);
} }

View File

@ -204,7 +204,7 @@ void CefContentClient::AddPepperPlugins(
} }
void CefContentClient::AddAdditionalSchemes( void CefContentClient::AddAdditionalSchemes(
std::vector<std::string>* standard_schemes, std::vector<url::SchemeWithType>* standard_schemes,
std::vector<std::string>* savable_schemes) { std::vector<std::string>* savable_schemes) {
DCHECK(!scheme_info_list_locked_); DCHECK(!scheme_info_list_locked_);
@ -212,14 +212,21 @@ void CefContentClient::AddAdditionalSchemes(
CefRefPtr<CefSchemeRegistrarImpl> schemeRegistrar( CefRefPtr<CefSchemeRegistrarImpl> schemeRegistrar(
new CefSchemeRegistrarImpl()); new CefSchemeRegistrarImpl());
application_->OnRegisterCustomSchemes(schemeRegistrar.get()); application_->OnRegisterCustomSchemes(schemeRegistrar.get());
schemeRegistrar->GetStandardSchemes(standard_schemes); schemeRegistrar->GetStandardSchemes(&standard_schemes_);
// No references to the registar should be kept. // No references to the registar should be kept.
schemeRegistrar->Detach(); schemeRegistrar->Detach();
DCHECK(schemeRegistrar->VerifyRefCount()); DCHECK(schemeRegistrar->VerifyRefCount());
} }
scheme::AddInternalSchemes(standard_schemes, savable_schemes); scheme::AddInternalSchemes(&standard_schemes_, savable_schemes);
// The |standard_schemes_| values will be referenced until the current call
// stack unwinds. They will be passed to url::AddStandardScheme.
for (size_t i = 0; i < standard_schemes_.size(); ++i) {
standard_schemes->push_back(
{standard_schemes_[i].c_str(), url::SCHEME_WITHOUT_PORT});
}
scheme_info_list_locked_ = true; scheme_info_list_locked_ = true;
} }

View File

@ -17,6 +17,7 @@
#include "content/public/common/content_client.h" #include "content/public/common/content_client.h"
#include "content/public/common/pepper_plugin_info.h" #include "content/public/common/pepper_plugin_info.h"
#include "ui/base/resource/resource_bundle.h" #include "ui/base/resource/resource_bundle.h"
#include "url/url_util.h"
class CefContentClient : public content::ContentClient, class CefContentClient : public content::ContentClient,
public ui::ResourceBundle::Delegate { public ui::ResourceBundle::Delegate {
@ -33,7 +34,7 @@ class CefContentClient : public content::ContentClient,
void AddPepperPlugins( void AddPepperPlugins(
std::vector<content::PepperPluginInfo>* plugins) override; std::vector<content::PepperPluginInfo>* plugins) override;
void AddAdditionalSchemes( void AddAdditionalSchemes(
std::vector<std::string>* standard_schemes, std::vector<url::SchemeWithType>* standard_schemes,
std::vector<std::string>* savable_schemes) override; std::vector<std::string>* savable_schemes) override;
std::string GetUserAgent() const override; std::string GetUserAgent() const override;
base::string16 GetLocalizedString(int message_id) const override; base::string16 GetLocalizedString(int message_id) const override;
@ -112,6 +113,8 @@ class CefContentClient : public content::ContentClient,
// Custom schemes handled by the client. // Custom schemes handled by the client.
SchemeInfoList scheme_info_list_; SchemeInfoList scheme_info_list_;
bool scheme_info_list_locked_; bool scheme_info_list_locked_;
std::vector<std::string> standard_schemes_;
}; };
#endif // CEF_LIBCEF_COMMON_CONTENT_CLIENT_H_ #endif // CEF_LIBCEF_COMMON_CONTENT_CLIENT_H_

View File

@ -145,13 +145,6 @@ CefExtensionsClient::CreateFeatureProviderSource(
return source.Pass(); return source.Pass();
} }
void CefExtensionsClient::FilterHostPermissions(
const URLPatternSet& hosts,
URLPatternSet* new_hosts,
std::set<PermissionMessage>* messages) const {
NOTIMPLEMENTED();
}
void CefExtensionsClient::FilterHostPermissions( void CefExtensionsClient::FilterHostPermissions(
const URLPatternSet& hosts, const URLPatternSet& hosts,
URLPatternSet* new_hosts, URLPatternSet* new_hosts,

View File

@ -28,10 +28,6 @@ class CefExtensionsClient : public ExtensionsClient {
const std::string& name) const override; const std::string& name) const override;
scoped_ptr<JSONFeatureProviderSource> CreateFeatureProviderSource( scoped_ptr<JSONFeatureProviderSource> CreateFeatureProviderSource(
const std::string& name) const override; const std::string& name) const override;
void FilterHostPermissions(
const URLPatternSet& hosts,
URLPatternSet* new_hosts,
std::set<PermissionMessage>* messages) const override;
void FilterHostPermissions(const URLPatternSet& hosts, void FilterHostPermissions(const URLPatternSet& hosts,
URLPatternSet* new_hosts, URLPatternSet* new_hosts,
PermissionIDSet* permissions) const override; PermissionIDSet* permissions) const override;

View File

@ -658,7 +658,7 @@ bool CefContentRendererClient::IsExtensionOrSharedModuleWhitelisted(
const GURL& url, const std::set<std::string>& whitelist) { const GURL& url, const std::set<std::string>& whitelist) {
DCHECK(extensions::ExtensionsEnabled()); DCHECK(extensions::ExtensionsEnabled());
const extensions::ExtensionSet* extension_set = const extensions::ExtensionSet* extension_set =
CefContentRendererClient::Get()->extension_dispatcher_->extensions(); extensions::RendererExtensionRegistry::Get()->GetMainThreadExtensionSet();
return chrome::IsExtensionOrSharedModuleWhitelisted(url, extension_set, return chrome::IsExtensionOrSharedModuleWhitelisted(url, extension_set,
whitelist); whitelist);
} }

View File

@ -33,10 +33,18 @@ namespace {
const char* const kPredefinedAllowedUMAOrigins[] = { const char* const kPredefinedAllowedUMAOrigins[] = {
"6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F", // see http://crbug.com/317833 "6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F", // see http://crbug.com/317833
"4EB74897CB187C7633357C2FE832E0AD6A44883A", // see http://crbug.com/317833 "4EB74897CB187C7633357C2FE832E0AD6A44883A", // see http://crbug.com/317833
"9E527CDA9D7C50844E8A5DB964A54A640AE48F98", // see http://crbug.com/521189
"DF52618D0B040D8A054D8348D2E84DDEEE5974E7", // see http://crbug.com/521189
"269D721F163E587BC53C6F83553BF9CE2BB143CD", // see http://crbug.com/521189
"6B55A5329E3F1F30F6032BDB20B2EB4378DBF767", // see http://crbug.com/521189
"C449A798C495E6CF7D6AF10162113D564E67AD12", // see http://crbug.com/521189
"01E9FFA9A8F3C18271FE91BEE46207F3B81755CC", // see http://crbug.com/521189
"97B23E01B2AA064E8332EE43A7A85C628AADC3F2", // see http://crbug.com/521189
}; };
const char* const kWhitelistedHistogramPrefixes[] = { const char* const kWhitelistedHistogramPrefixes[] = {
"22F67DA2061FFC4DC9A4974036348D9C38C22919", // see http://crbug.com/390221 "22F67DA2061FFC4DC9A4974036348D9C38C22919", // see http://crbug.com/390221
"3FEA4650221C5E6C39CF5C5C9F464FF74EAB6CE1", // see http://crbug.com/521189
}; };
const char* const kWhitelistedPluginBaseNames[] = { const char* const kWhitelistedPluginBaseNames[] = {

View File

@ -14,6 +14,8 @@ patches = [
{ {
# Fix Xcode 4 build on OS X Lion. # Fix Xcode 4 build on OS X Lion.
# http://codereview.chromium.org/8086022/ # http://codereview.chromium.org/8086022/
# Fix incorrect detection of DEPOT_TOOLS_WIN_TOOLCHAIN=0 on Windows.
# https://code.google.com/p/chromium/issues/detail?id=523154
'name': 'build', 'name': 'build',
'path': '../build/', 'path': '../build/',
}, },
@ -32,6 +34,8 @@ patches = [
{ {
# Fix ninja output for localization directories on OS X. # Fix ninja output for localization directories on OS X.
# http://code.google.com/p/gyp/issues/detail?id=331 # http://code.google.com/p/gyp/issues/detail?id=331
# Improve error reporting when MSVS configuration fails on Windows.
# https://code.google.com/p/gyp/issues/detail?id=471
'name': 'gyp_331', 'name': 'gyp_331',
'path': '../tools/gyp/pylib/', 'path': '../tools/gyp/pylib/',
}, },

View File

@ -1,5 +1,5 @@
diff --git render_widget_host_view_guest.cc render_widget_host_view_guest.cc diff --git render_widget_host_view_guest.cc render_widget_host_view_guest.cc
index f5a04c4c..cdd4b1f 100644 index dc6789f..70edd0e 100644
--- render_widget_host_view_guest.cc --- render_widget_host_view_guest.cc
+++ render_widget_host_view_guest.cc +++ render_widget_host_view_guest.cc
@@ -191,6 +191,9 @@ void RenderWidgetHostViewGuest::Destroy() { @@ -191,6 +191,9 @@ void RenderWidgetHostViewGuest::Destroy() {

View File

@ -1,8 +1,8 @@
diff --git browser/browser_plugin/browser_plugin_guest.cc browser/browser_plugin/browser_plugin_guest.cc diff --git browser/browser_plugin/browser_plugin_guest.cc browser/browser_plugin/browser_plugin_guest.cc
index 6991a29..6aed799 100644 index b0de6b9..d0cab8f 100644
--- browser/browser_plugin/browser_plugin_guest.cc --- browser/browser_plugin/browser_plugin_guest.cc
+++ browser/browser_plugin/browser_plugin_guest.cc +++ browser/browser_plugin/browser_plugin_guest.cc
@@ -22,7 +22,7 @@ @@ -23,7 +23,7 @@
#include "content/browser/renderer_host/render_widget_host_impl.h" #include "content/browser/renderer_host/render_widget_host_impl.h"
#include "content/browser/renderer_host/render_widget_host_view_base.h" #include "content/browser/renderer_host/render_widget_host_view_base.h"
#include "content/browser/web_contents/web_contents_impl.h" #include "content/browser/web_contents/web_contents_impl.h"
@ -11,7 +11,7 @@ index 6991a29..6aed799 100644
#include "content/common/browser_plugin/browser_plugin_constants.h" #include "content/common/browser_plugin/browser_plugin_constants.h"
#include "content/common/browser_plugin/browser_plugin_messages.h" #include "content/common/browser_plugin/browser_plugin_messages.h"
#include "content/common/content_constants_internal.h" #include "content/common/content_constants_internal.h"
@@ -275,20 +275,19 @@ void BrowserPluginGuest::InitInternal( @@ -286,20 +286,19 @@ void BrowserPluginGuest::InitInternal(
guest_window_rect_ = params.view_rect; guest_window_rect_ = params.view_rect;
if (owner_web_contents_ != owner_web_contents) { if (owner_web_contents_ != owner_web_contents) {
@ -36,7 +36,7 @@ index 6991a29..6aed799 100644
} }
RendererPreferences* renderer_prefs = RendererPreferences* renderer_prefs =
@@ -720,12 +719,9 @@ void BrowserPluginGuest::OnWillAttachComplete( @@ -731,12 +730,9 @@ void BrowserPluginGuest::OnWillAttachComplete(
// This will trigger a callback to RenderViewReady after a round-trip IPC. // This will trigger a callback to RenderViewReady after a round-trip IPC.
static_cast<RenderViewHostImpl*>( static_cast<RenderViewHostImpl*>(
GetWebContents()->GetRenderViewHost())->Init(); GetWebContents()->GetRenderViewHost())->Init();

View File

@ -1,5 +1,5 @@
diff --git web_contents_impl.cc web_contents_impl.cc diff --git web_contents_impl.cc web_contents_impl.cc
index 7979b64..d63b4fc 100644 index f7505af..ef9ff79 100644
--- web_contents_impl.cc --- web_contents_impl.cc
+++ web_contents_impl.cc +++ web_contents_impl.cc
@@ -1351,23 +1351,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { @@ -1351,23 +1351,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {

View File

@ -1,5 +1,5 @@
diff --git common.gypi common.gypi diff --git common.gypi common.gypi
index 4a55516..cbef796 100644 index cff7376..d16e12d 100644
--- common.gypi --- common.gypi
+++ common.gypi +++ common.gypi
@@ -9,6 +9,9 @@ @@ -9,6 +9,9 @@
@ -25,3 +25,18 @@ index c9cf226..0dedbe3 100755
stdout=subprocess.PIPE) stdout=subprocess.PIPE)
archs = [] archs = []
diff --git vs_toolchain.py vs_toolchain.py
index cea0d6d..158d0a8 100755
--- vs_toolchain.py
+++ vs_toolchain.py
@@ -32,8 +32,8 @@ def SetEnvironmentAndGetRuntimeDllDirs():
bool(int(os.environ.get('DEPOT_TOOLS_WIN_TOOLCHAIN', '1')))
# When running on a non-Windows host, only do this if the SDK has explicitly
# been downloaded before (in which case json_data_file will exist).
- if ((sys.platform in ('win32', 'cygwin') and depot_tools_win_toolchain) or
- os.path.exists(json_data_file)):
+ if ((sys.platform in ('win32', 'cygwin') or os.path.exists(json_data_file)) and
+ depot_tools_win_toolchain):
if not os.path.exists(json_data_file):
Update()
with open(json_data_file, 'r') as tempf:

View File

@ -1,8 +1,8 @@
diff --git ui/browser.cc ui/browser.cc diff --git ui/browser.cc ui/browser.cc
index 90a10ad..c06bcf8 100644 index befe5b8..e02cde4 100644
--- ui/browser.cc --- ui/browser.cc
+++ ui/browser.cc +++ ui/browser.cc
@@ -1649,7 +1649,9 @@ bool Browser::ShouldCreateWebContents( @@ -1646,7 +1646,9 @@ bool Browser::ShouldCreateWebContents(
const std::string& frame_name, const std::string& frame_name,
const GURL& target_url, const GURL& target_url,
const std::string& partition_id, const std::string& partition_id,

View File

@ -1,8 +1,8 @@
diff --git content/browser/compositor/gpu_process_transport_factory.cc content/browser/compositor/gpu_process_transport_factory.cc diff --git content/browser/compositor/gpu_process_transport_factory.cc content/browser/compositor/gpu_process_transport_factory.cc
index fcb0a3e..40caf08 100644 index 4c0b363..092ad56 100644
--- content/browser/compositor/gpu_process_transport_factory.cc --- content/browser/compositor/gpu_process_transport_factory.cc
+++ content/browser/compositor/gpu_process_transport_factory.cc +++ content/browser/compositor/gpu_process_transport_factory.cc
@@ -139,6 +139,13 @@ GpuProcessTransportFactory::CreateOffscreenCommandBufferContext() { @@ -140,6 +140,13 @@ GpuProcessTransportFactory::CreateOffscreenCommandBufferContext() {
scoped_ptr<cc::SoftwareOutputDevice> scoped_ptr<cc::SoftwareOutputDevice>
GpuProcessTransportFactory::CreateSoftwareOutputDevice( GpuProcessTransportFactory::CreateSoftwareOutputDevice(
ui::Compositor* compositor) { ui::Compositor* compositor) {

View File

@ -1,8 +1,8 @@
diff --git public/renderer/content_renderer_client.cc public/renderer/content_renderer_client.cc diff --git public/renderer/content_renderer_client.cc public/renderer/content_renderer_client.cc
index 95af2f7..c7270f1 100644 index 9513339..75ddff8 100644
--- public/renderer/content_renderer_client.cc --- public/renderer/content_renderer_client.cc
+++ public/renderer/content_renderer_client.cc +++ public/renderer/content_renderer_client.cc
@@ -101,6 +101,18 @@ bool ContentRendererClient::AllowPopup() { @@ -103,6 +103,18 @@ bool ContentRendererClient::AllowPopup() {
return false; return false;
} }
@ -22,7 +22,7 @@ index 95af2f7..c7270f1 100644
const GURL& url, const GURL& url,
const std::string& http_method, const std::string& http_method,
diff --git public/renderer/content_renderer_client.h public/renderer/content_renderer_client.h diff --git public/renderer/content_renderer_client.h public/renderer/content_renderer_client.h
index ebb7f44..3f77142 100644 index ccf4b5f..91a5be3 100644
--- public/renderer/content_renderer_client.h --- public/renderer/content_renderer_client.h
+++ public/renderer/content_renderer_client.h +++ public/renderer/content_renderer_client.h
@@ -16,6 +16,8 @@ @@ -16,6 +16,8 @@
@ -34,7 +34,7 @@ index ebb7f44..3f77142 100644
#include "ui/base/page_transition_types.h" #include "ui/base/page_transition_types.h"
#include "v8/include/v8.h" #include "v8/include/v8.h"
@@ -196,6 +198,17 @@ class CONTENT_EXPORT ContentRendererClient { @@ -198,6 +200,17 @@ class CONTENT_EXPORT ContentRendererClient {
// Returns true if a popup window should be allowed. // Returns true if a popup window should be allowed.
virtual bool AllowPopup(); virtual bool AllowPopup();
@ -53,10 +53,10 @@ index ebb7f44..3f77142 100644
// If |send_referrer| is set to false (which is the default), no referrer // If |send_referrer| is set to false (which is the default), no referrer
// header will be send for the navigation. Otherwise, the referrer header is // header will be send for the navigation. Otherwise, the referrer header is
diff --git renderer/render_frame_impl.cc renderer/render_frame_impl.cc diff --git renderer/render_frame_impl.cc renderer/render_frame_impl.cc
index 05e6ad6..4c02fc8 100644 index 8568626..9a746d2 100644
--- renderer/render_frame_impl.cc --- renderer/render_frame_impl.cc
+++ renderer/render_frame_impl.cc +++ renderer/render_frame_impl.cc
@@ -4195,6 +4195,19 @@ void RenderFrameImpl::OnFailedNavigation( @@ -4240,6 +4240,19 @@ void RenderFrameImpl::OnFailedNavigation(
WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation( WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation(
RenderFrame* render_frame, RenderFrame* render_frame,
const NavigationPolicyInfo& info) { const NavigationPolicyInfo& info) {

View File

@ -1,8 +1,8 @@
diff --git browser/guest_view/extension_options/extension_options_guest.cc browser/guest_view/extension_options/extension_options_guest.cc diff --git browser/guest_view/extension_options/extension_options_guest.cc browser/guest_view/extension_options/extension_options_guest.cc
index 28014e2..4a08998 100644 index cfdb5cf..5a4749d 100644
--- browser/guest_view/extension_options/extension_options_guest.cc --- browser/guest_view/extension_options/extension_options_guest.cc
+++ browser/guest_view/extension_options/extension_options_guest.cc +++ browser/guest_view/extension_options/extension_options_guest.cc
@@ -195,7 +195,9 @@ bool ExtensionOptionsGuest::ShouldCreateWebContents( @@ -196,7 +196,9 @@ bool ExtensionOptionsGuest::ShouldCreateWebContents(
const std::string& frame_name, const std::string& frame_name,
const GURL& target_url, const GURL& target_url,
const std::string& partition_id, const std::string& partition_id,
@ -14,10 +14,10 @@ index 28014e2..4a08998 100644
// view is used for displaying embedded extension options, we want any // view is used for displaying embedded extension options, we want any
// external links to be opened in a new tab, not in a new guest view. // external links to be opened in a new tab, not in a new guest view.
diff --git browser/guest_view/extension_options/extension_options_guest.h browser/guest_view/extension_options/extension_options_guest.h diff --git browser/guest_view/extension_options/extension_options_guest.h browser/guest_view/extension_options/extension_options_guest.h
index 916b5ed..1dec304 100644 index 9cf37d2..19e3b6d 100644
--- browser/guest_view/extension_options/extension_options_guest.h --- browser/guest_view/extension_options/extension_options_guest.h
+++ browser/guest_view/extension_options/extension_options_guest.h +++ browser/guest_view/extension_options/extension_options_guest.h
@@ -48,7 +48,9 @@ class ExtensionOptionsGuest @@ -49,7 +49,9 @@ class ExtensionOptionsGuest
const std::string& frame_name, const std::string& frame_name,
const GURL& target_url, const GURL& target_url,
const std::string& partition_id, const std::string& partition_id,

View File

@ -1,5 +1,5 @@
diff --git resource_ids resource_ids diff --git resource_ids resource_ids
index 7cfda8e..71b0deb 100644 index 2741068..03f9753 100644
--- resource_ids --- resource_ids
+++ resource_ids +++ resource_ids
@@ -14,6 +14,12 @@ @@ -14,6 +14,12 @@

View File

@ -1,5 +1,5 @@
diff --git gyp/generator/ninja.py gyp/generator/ninja.py diff --git gyp/generator/ninja.py gyp/generator/ninja.py
index 6823f4f..e8ee2b7 100644 index 51c288b..d996bbd 100644
--- gyp/generator/ninja.py --- gyp/generator/ninja.py
+++ gyp/generator/ninja.py +++ gyp/generator/ninja.py
@@ -741,7 +741,16 @@ class NinjaWriter(object): @@ -741,7 +741,16 @@ class NinjaWriter(object):
@ -20,3 +20,19 @@ index 6823f4f..e8ee2b7 100644
src = self.GypPathToNinja(path, env) src = self.GypPathToNinja(path, env)
dst = self.GypPathToNinja(os.path.join(copy['destination'], basename), dst = self.GypPathToNinja(os.path.join(copy['destination'], basename),
env) env)
diff --git gyp/msvs_emulation.py gyp/msvs_emulation.py
index ce5c46e..2f03c01 100644
--- gyp/msvs_emulation.py
+++ gyp/msvs_emulation.py
@@ -1017,8 +1017,10 @@ def GenerateEnvironmentFiles(toplevel_build_dir, generator_flags,
args = vs.SetupScript(arch)
args.extend(('&&', 'set'))
popen = subprocess.Popen(
- args, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ args, shell=True, stdout=subprocess.PIPE)
variables, _ = popen.communicate()
+ if popen.returncode != 0:
+ raise Exception('Error invoking setup script: ' + repr(args))
env = _ExtractImportantEnvironment(variables)
# Inject system includes from gyp files into INCLUDE.

View File

@ -1,8 +1,8 @@
diff --git hwnd_message_handler.cc hwnd_message_handler.cc diff --git hwnd_message_handler.cc hwnd_message_handler.cc
index 5cadce1..26c27ca 100644 index b394556..729cacf 100644
--- hwnd_message_handler.cc --- hwnd_message_handler.cc
+++ hwnd_message_handler.cc +++ hwnd_message_handler.cc
@@ -2650,8 +2650,12 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message, @@ -2687,8 +2687,12 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
"440919 HWNDMessageHandler::HandleMouseEventInternal6")); "440919 HWNDMessageHandler::HandleMouseEventInternal6"));
// Reroute the mouse wheel to the window under the pointer if applicable. // Reroute the mouse wheel to the window under the pointer if applicable.

View File

@ -1,5 +1,5 @@
diff --git message_loop.cc message_loop.cc diff --git message_loop.cc message_loop.cc
index 4e5594b..d42a362 100644 index a44f468..6e391e9 100644
--- message_loop.cc --- message_loop.cc
+++ message_loop.cc +++ message_loop.cc
@@ -135,12 +135,6 @@ MessageLoop::~MessageLoop() { @@ -135,12 +135,6 @@ MessageLoop::~MessageLoop() {

View File

@ -1,8 +1,8 @@
diff --git mime_handler_view_guest.cc mime_handler_view_guest.cc diff --git mime_handler_view_guest.cc mime_handler_view_guest.cc
index 2f44662..26524c4 100644 index aee7d72..951d0cc 100644
--- mime_handler_view_guest.cc --- mime_handler_view_guest.cc
+++ mime_handler_view_guest.cc +++ mime_handler_view_guest.cc
@@ -134,6 +134,8 @@ void MimeHandlerViewGuest::CreateWebContents( @@ -131,6 +131,8 @@ void MimeHandlerViewGuest::CreateWebContents(
WebContents::CreateParams params(browser_context(), WebContents::CreateParams params(browser_context(),
guest_site_instance.get()); guest_site_instance.get());
params.guest_delegate = this; params.guest_delegate = this;
@ -11,7 +11,7 @@ index 2f44662..26524c4 100644
callback.Run(WebContents::Create(params)); callback.Run(WebContents::Create(params));
} }
@@ -172,6 +174,30 @@ bool MimeHandlerViewGuest::StopFinding(content::StopFindAction action) { @@ -155,6 +157,30 @@ bool MimeHandlerViewGuest::ZoomPropagatesFromEmbedderToGuest() const {
return false; return false;
} }
@ -39,17 +39,18 @@ index 2f44662..26524c4 100644
+ } + }
+} +}
+ +
content::WebContents* MimeHandlerViewGuest::OpenURLFromTab( WebContents* MimeHandlerViewGuest::OpenURLFromTab(
content::WebContents* source, WebContents* source,
const content::OpenURLParams& params) { const content::OpenURLParams& params) {
diff --git mime_handler_view_guest.h mime_handler_view_guest.h diff --git mime_handler_view_guest.h mime_handler_view_guest.h
index 33ff28e..2d9a00e 100644 index 26c0e11..a568b45 100644
--- mime_handler_view_guest.h --- mime_handler_view_guest.h
+++ mime_handler_view_guest.h +++ mime_handler_view_guest.h
@@ -71,6 +71,13 @@ class MimeHandlerViewGuest : @@ -67,6 +67,15 @@ class MimeHandlerViewGuest :
const base::string16& search_text, bool ShouldHandleFindRequestsForEmbedder() const override;
const blink::WebFindOptions& options) override; bool ZoomPropagatesFromEmbedderToGuest() const override;
bool StopFinding(content::StopFindAction action) override;
+ // content::BrowserPluginGuestDelegate implementation
+ void OnGuestAttached(content::WebContentsView* guest_view, + void OnGuestAttached(content::WebContentsView* guest_view,
+ content::WebContentsView* parent_view) override; + content::WebContentsView* parent_view) override;
+ void OnGuestDetached(content::WebContentsView* guest_view, + void OnGuestDetached(content::WebContentsView* guest_view,
@ -57,9 +58,10 @@ index 33ff28e..2d9a00e 100644
+ void CreateViewForWidget( + void CreateViewForWidget(
+ content::WebContentsView* guest_view, + content::WebContentsView* guest_view,
+ content::RenderWidgetHost* render_widget_host) override; + content::RenderWidgetHost* render_widget_host) override;
+
// WebContentsDelegate implementation. // WebContentsDelegate implementation.
content::WebContents* OpenURLFromTab( content::WebContents* OpenURLFromTab(
content::WebContents* source,
diff --git mime_handler_view_guest_delegate.cc mime_handler_view_guest_delegate.cc diff --git mime_handler_view_guest_delegate.cc mime_handler_view_guest_delegate.cc
index 63b81b8..0f63f48 100644 index 63b81b8..0f63f48 100644
--- mime_handler_view_guest_delegate.cc --- mime_handler_view_guest_delegate.cc

View File

@ -1,8 +1,8 @@
diff --git url_request.h url_request.h diff --git url_request.h url_request.h
index 4176689..1fe5976 100644 index c6ef160..11727b4 100644
--- url_request.h --- url_request.h
+++ url_request.h +++ url_request.h
@@ -614,10 +614,10 @@ class NET_EXPORT URLRequest : NON_EXPORTED_BASE(public base::NonThreadSafe), @@ -619,10 +619,10 @@ class NET_EXPORT URLRequest : NON_EXPORTED_BASE(public base::NonThreadSafe),
// or after the response headers are received. // or after the response headers are received.
void GetConnectionAttempts(ConnectionAttempts* out) const; void GetConnectionAttempts(ConnectionAttempts* out) const;

View File

@ -1,5 +1,5 @@
diff --git public/common/common_param_traits_macros.h public/common/common_param_traits_macros.h diff --git public/common/common_param_traits_macros.h public/common/common_param_traits_macros.h
index 3c0c982..26d1b55 100644 index 119fc1d..c7e8699 100644
--- public/common/common_param_traits_macros.h --- public/common/common_param_traits_macros.h
+++ public/common/common_param_traits_macros.h +++ public/common/common_param_traits_macros.h
@@ -196,6 +196,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences) @@ -196,6 +196,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
@ -11,7 +11,7 @@ index 3c0c982..26d1b55 100644
IPC_STRUCT_TRAITS_MEMBER(navigate_on_drag_drop) IPC_STRUCT_TRAITS_MEMBER(navigate_on_drag_drop)
IPC_STRUCT_TRAITS_MEMBER(spatial_navigation_enabled) IPC_STRUCT_TRAITS_MEMBER(spatial_navigation_enabled)
diff --git public/common/web_preferences.cc public/common/web_preferences.cc diff --git public/common/web_preferences.cc public/common/web_preferences.cc
index 39db29a..b7e102c 100644 index 11803fa..efe32ff 100644
--- public/common/web_preferences.cc --- public/common/web_preferences.cc
+++ public/common/web_preferences.cc +++ public/common/web_preferences.cc
@@ -171,6 +171,7 @@ WebPreferences::WebPreferences() @@ -171,6 +171,7 @@ WebPreferences::WebPreferences()
@ -21,9 +21,9 @@ index 39db29a..b7e102c 100644
+ base_background_color(0xFFFFFFFF), // Color::white + base_background_color(0xFFFFFFFF), // Color::white
v8_cache_options(V8_CACHE_OPTIONS_DEFAULT), v8_cache_options(V8_CACHE_OPTIONS_DEFAULT),
slimming_paint_enabled(false), slimming_paint_enabled(false),
cookie_enabled(true), slimming_paint_v2_enabled(false),
diff --git public/common/web_preferences.h public/common/web_preferences.h diff --git public/common/web_preferences.h public/common/web_preferences.h
index 8cc35b7..e1031ad 100644 index bfb67a1..b7170ef 100644
--- public/common/web_preferences.h --- public/common/web_preferences.h
+++ public/common/web_preferences.h +++ public/common/web_preferences.h
@@ -173,6 +173,7 @@ struct CONTENT_EXPORT WebPreferences { @@ -173,6 +173,7 @@ struct CONTENT_EXPORT WebPreferences {
@ -33,12 +33,12 @@ index 8cc35b7..e1031ad 100644
+ uint32_t base_background_color; + uint32_t base_background_color;
V8CacheOptions v8_cache_options; V8CacheOptions v8_cache_options;
bool slimming_paint_enabled; bool slimming_paint_enabled;
bool slimming_paint_v2_enabled;
diff --git renderer/render_view_impl.cc renderer/render_view_impl.cc diff --git renderer/render_view_impl.cc renderer/render_view_impl.cc
index 29f4d4f..cb19708 100644 index 5f1e6d8..09e81e2 100644
--- renderer/render_view_impl.cc --- renderer/render_view_impl.cc
+++ renderer/render_view_impl.cc +++ renderer/render_view_impl.cc
@@ -1003,6 +1003,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs, @@ -970,6 +970,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
settings->setJavaEnabled(prefs.java_enabled); settings->setJavaEnabled(prefs.java_enabled);

View File

@ -25,7 +25,7 @@ index 887f242..a7cc318 100644
WebContents::CreateParams::~CreateParams() { WebContents::CreateParams::~CreateParams() {
} }
diff --git web_contents.h web_contents.h diff --git web_contents.h web_contents.h
index 4ed6a40..2bbba64 100644 index 803b816..1457ef3 100644
--- web_contents.h --- web_contents.h
+++ web_contents.h +++ web_contents.h
@@ -52,9 +52,11 @@ class PageState; @@ -52,9 +52,11 @@ class PageState;

View File

@ -1,8 +1,8 @@
diff --git Source/web/ChromeClientImpl.cpp Source/web/ChromeClientImpl.cpp diff --git Source/web/ChromeClientImpl.cpp Source/web/ChromeClientImpl.cpp
index 89f8b5e..4acbf11 100644 index 7f94b2d..1390a1f 100644
--- Source/web/ChromeClientImpl.cpp --- Source/web/ChromeClientImpl.cpp
+++ Source/web/ChromeClientImpl.cpp +++ Source/web/ChromeClientImpl.cpp
@@ -781,7 +781,7 @@ bool ChromeClientImpl::hasOpenedPopup() const @@ -801,7 +801,7 @@ bool ChromeClientImpl::hasOpenedPopup() const
PassRefPtrWillBeRawPtr<PopupMenu> ChromeClientImpl::openPopupMenu(LocalFrame& frame, HTMLSelectElement& select) PassRefPtrWillBeRawPtr<PopupMenu> ChromeClientImpl::openPopupMenu(LocalFrame& frame, HTMLSelectElement& select)
{ {
notifyPopupOpeningObservers(); notifyPopupOpeningObservers();
@ -12,10 +12,10 @@ index 89f8b5e..4acbf11 100644
ASSERT(RuntimeEnabledFeatures::pagePopupEnabled()); ASSERT(RuntimeEnabledFeatures::pagePopupEnabled());
diff --git Source/web/WebViewImpl.cpp Source/web/WebViewImpl.cpp diff --git Source/web/WebViewImpl.cpp Source/web/WebViewImpl.cpp
index 67c213c..ef14a25 100644 index c1d869d..e11d102 100644
--- Source/web/WebViewImpl.cpp --- Source/web/WebViewImpl.cpp
+++ Source/web/WebViewImpl.cpp +++ Source/web/WebViewImpl.cpp
@@ -426,6 +426,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client) @@ -427,6 +427,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client)
, m_fakePageScaleAnimationPageScaleFactor(0) , m_fakePageScaleAnimationPageScaleFactor(0)
, m_fakePageScaleAnimationUseAnchor(false) , m_fakePageScaleAnimationUseAnchor(false)
, m_contextMenuAllowed(false) , m_contextMenuAllowed(false)
@ -23,7 +23,7 @@ index 67c213c..ef14a25 100644
, m_doingDragAndDrop(false) , m_doingDragAndDrop(false)
, m_ignoreInputEvents(false) , m_ignoreInputEvents(false)
, m_compositorDeviceScaleFactorOverride(0) , m_compositorDeviceScaleFactorOverride(0)
@@ -3977,9 +3978,14 @@ void WebViewImpl::pageScaleFactorChanged() @@ -3959,9 +3960,14 @@ void WebViewImpl::pageScaleFactorChanged()
m_client->pageScaleFactorChanged(); m_client->pageScaleFactorChanged();
} }
@ -40,10 +40,10 @@ index 67c213c..ef14a25 100644
void WebViewImpl::startDragging(LocalFrame* frame, void WebViewImpl::startDragging(LocalFrame* frame,
diff --git Source/web/WebViewImpl.h Source/web/WebViewImpl.h diff --git Source/web/WebViewImpl.h Source/web/WebViewImpl.h
index a663a10..58900a1 100644 index 98268d4..9b2f03a 100644
--- Source/web/WebViewImpl.h --- Source/web/WebViewImpl.h
+++ Source/web/WebViewImpl.h +++ Source/web/WebViewImpl.h
@@ -389,7 +389,8 @@ public: @@ -394,7 +394,8 @@ public:
// Returns true if popup menus should be rendered by the browser, false if // Returns true if popup menus should be rendered by the browser, false if
// they should be rendered by WebKit (which is the default). // they should be rendered by WebKit (which is the default).
@ -53,7 +53,7 @@ index a663a10..58900a1 100644
bool contextMenuAllowed() const bool contextMenuAllowed() const
{ {
@@ -680,6 +681,8 @@ private: @@ -687,6 +688,8 @@ private:
bool m_contextMenuAllowed; bool m_contextMenuAllowed;
@ -63,10 +63,10 @@ index a663a10..58900a1 100644
bool m_ignoreInputEvents; bool m_ignoreInputEvents;
diff --git public/web/WebView.h public/web/WebView.h diff --git public/web/WebView.h public/web/WebView.h
index 9f564ec..660e869 100644 index fac145a..0fc5c23 100644
--- public/web/WebView.h --- public/web/WebView.h
+++ public/web/WebView.h +++ public/web/WebView.h
@@ -398,6 +398,7 @@ public: @@ -399,6 +399,7 @@ public:
// Sets whether select popup menus should be rendered by the browser. // Sets whether select popup menus should be rendered by the browser.
BLINK_EXPORT static void setUseExternalPopupMenus(bool); BLINK_EXPORT static void setUseExternalPopupMenus(bool);