diff --git a/CHROMIUM_BUILD_COMPATIBILITY.txt b/CHROMIUM_BUILD_COMPATIBILITY.txt index 002b3a62f..b27d8ace1 100644 --- a/CHROMIUM_BUILD_COMPATIBILITY.txt +++ b/CHROMIUM_BUILD_COMPATIBILITY.txt @@ -7,5 +7,5 @@ # https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding { - 'chromium_checkout': 'fc6ad471b796214148d81208b38601de0c86bc9f', + 'chromium_checkout': '788460a4da28f888f290def06948d35bf7219235', } diff --git a/cef.gyp b/cef.gyp index 6e8e5d9b8..a882f451f 100644 --- a/cef.gyp +++ b/cef.gyp @@ -1451,6 +1451,11 @@ '<(DEPTH)/components/components.gyp:breakpad_host', ], }], + ['cld_version==2', { + 'dependencies': [ + '<(DEPTH)/third_party/cld_2/cld_2.gyp:cld2_platform_impl', + ], + }], ['use_aura==1', { 'dependencies': [ '<(DEPTH)/ui/views/controls/webview/webview.gyp:webview', @@ -1850,7 +1855,6 @@ '<@(includes_win)', # TODO(cef): Remove ui_unscaled_resources.rc once custom cursor # 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', 'libcef_dll/libcef_dll.rc', ], diff --git a/libcef/browser/browser_host_impl_mac.mm b/libcef/browser/browser_host_impl_mac.mm index 95c4ca6e7..9eb0b040e 100644 --- a/libcef/browser/browser_host_impl_mac.mm +++ b/libcef/browser/browser_host_impl_mac.mm @@ -211,8 +211,11 @@ void AddFilters(NSPopUpButton *button, // Treat as a filter of the form "Filter Name|.ext1;.ext2;.ext3". description = filter.substr(0, sep_index); - std::vector ext; - base::SplitString(filter.substr(sep_index + 1), ';', &ext); + const std::vector& 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) { const base::string16& file_ext = ext[x]; if (!file_ext.empty() && file_ext[0] == '.') diff --git a/libcef/browser/browser_host_impl_win.cc b/libcef/browser/browser_host_impl_win.cc index 9867d9cff..d94deb502 100644 --- a/libcef/browser/browser_host_impl_win.cc +++ b/libcef/browser/browser_host_impl_win.cc @@ -201,8 +201,11 @@ std::wstring GetFilterString( if (sep_index != base::string16::npos) { // Treat as a filter of the form "Filter Name|.ext1;.ext2;.ext3". const base::string16& desc = filter.substr(0, sep_index); - std::vector ext; - base::SplitString(filter.substr(sep_index + 1), ';', &ext); + const std::vector& ext = + base::SplitString(filter.substr(sep_index + 1), + base::ASCIIToUTF16(";"), + base::TRIM_WHITESPACE, + base::SPLIT_WANT_NONEMPTY); std::wstring ext_str; for (size_t x = 0; x < ext.size(); ++x) { const base::string16& file_ext = ext[x]; diff --git a/libcef/browser/browser_urlrequest_impl.cc b/libcef/browser/browser_urlrequest_impl.cc index b06390e26..e8d1a5aa4 100644 --- a/libcef/browser/browser_urlrequest_impl.cc +++ b/libcef/browser/browser_urlrequest_impl.cc @@ -153,12 +153,12 @@ class CefBrowserURLRequest::Context bool Start() { DCHECK(CalledOnValidThread()); - GURL url = GURL(request_->GetURL().ToString()); + const GURL& url = GURL(request_->GetURL().ToString()); if (!url.is_valid()) return false; - std::string method = request_->GetMethod(); - base::StringToLowerASCII(&method); + const std::string& method = + base::ToLowerASCII(request_->GetMethod().ToString()); net::URLFetcher::RequestType request_type = net::URLFetcher::GET; if (base::LowerCaseEqualsASCII(method, "get")) { } else if (base::LowerCaseEqualsASCII(method, "post")) { diff --git a/libcef/browser/chrome_scheme_handler.cc b/libcef/browser/chrome_scheme_handler.cc index b311b3a1f..f6b618906 100644 --- a/libcef/browser/chrome_scheme_handler.cc +++ b/libcef/browser/chrome_scheme_handler.cc @@ -67,7 +67,7 @@ ChromeDomain GetChromeDomain(const std::string& domain_name) { }; 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; } diff --git a/libcef/browser/content_browser_client.cc b/libcef/browser/content_browser_client.cc index cb28b25bd..42a549d16 100644 --- a/libcef/browser/content_browser_client.cc +++ b/libcef/browser/content_browser_client.cc @@ -632,7 +632,7 @@ net::URLRequestContextGetter* CefContentBrowserClient::CreateRequestContext( (*protocol_handlers)[extensions::kExtensionScheme] = linked_ptr( extensions::CreateExtensionProtocolHandler( - context->IsOffTheRecord(), extension_info_map)); + context->IsOffTheRecord(), extension_info_map).release()); } return context->CreateRequestContext( @@ -660,7 +660,7 @@ bool CefContentBrowserClient::IsHandledURL(const GURL& url) { if (!url.is_valid()) return false; const std::string& scheme = url.scheme(); - DCHECK_EQ(scheme, base::StringToLowerASCII(scheme)); + DCHECK_EQ(scheme, base::ToLowerASCII(scheme)); if (scheme::IsInternalHandledScheme(scheme)) return true; diff --git a/libcef/browser/devtools_scheme_handler.cc b/libcef/browser/devtools_scheme_handler.cc index 38f23b80f..20934b3d7 100644 --- a/libcef/browser/devtools_scheme_handler.cc +++ b/libcef/browser/devtools_scheme_handler.cc @@ -32,8 +32,8 @@ class Delegate : public InternalHandlerDelegate { path = path.substr(1); for (size_t i = 0; i < kDevtoolsResourcesSize; ++i) { - if (base::strcasecmp(kDevtoolsResources[i].name, - path.c_str()) == 0) { + if (base::EqualsCaseInsensitiveASCII(kDevtoolsResources[i].name, + path.c_str())) { action->resource_id = kDevtoolsResources[i].value; return true; } diff --git a/libcef/browser/pepper/device_id_fetcher.cc b/libcef/browser/pepper/device_id_fetcher.cc index 3f0a14548..f35c953d8 100644 --- a/libcef/browser/pepper/device_id_fetcher.cc +++ b/libcef/browser/pepper/device_id_fetcher.cc @@ -163,13 +163,13 @@ void DeviceIDFetcher::ComputeOnUIThread(const std::string& salt, input.append(kDRMIdentifierFile); input.append(salt_bytes.begin(), salt_bytes.end()); crypto::SHA256HashString(input, &id_buf, sizeof(id_buf)); - std::string id = base::StringToLowerASCII( + std::string id = base::ToLowerASCII( base::HexEncode(reinterpret_cast(id_buf), sizeof(id_buf))); input = machine_id; input.append(kDRMIdentifierFile); input.append(id); crypto::SHA256HashString(input, &id_buf, sizeof(id_buf)); - id = base::StringToLowerASCII( + id = base::ToLowerASCII( base::HexEncode(reinterpret_cast(id_buf), sizeof(id_buf))); RunCallbackOnIOThread(id, PP_OK); diff --git a/libcef/browser/render_widget_host_view_osr.h b/libcef/browser/render_widget_host_view_osr.h index 24bdc4993..05a78146d 100644 --- a/libcef/browser/render_widget_host_view_osr.h +++ b/libcef/browser/render_widget_host_view_osr.h @@ -191,6 +191,8 @@ class CefRenderWidgetHostViewOSR // AcceleratedWidgetMacNSView implementation. NSView* AcceleratedWidgetGetNSView() const override; bool AcceleratedWidgetShouldIgnoreBackpressure() const override; + void AcceleratedWidgetGetVSyncParameters( + base::TimeTicks* timebase, base::TimeDelta* interval) const override; void AcceleratedWidgetSwapCompleted( const std::vector& latency_info) override; void AcceleratedWidgetHitError() override; diff --git a/libcef/browser/render_widget_host_view_osr_mac.mm b/libcef/browser/render_widget_host_view_osr_mac.mm index dfcab7a89..ee8879011 100644 --- a/libcef/browser/render_widget_host_view_osr_mac.mm +++ b/libcef/browser/render_widget_host_view_osr_mac.mm @@ -93,6 +93,12 @@ bool CefRenderWidgetHostViewOSR::AcceleratedWidgetShouldIgnoreBackpressure() return true; } +void CefRenderWidgetHostViewOSR::AcceleratedWidgetGetVSyncParameters( + base::TimeTicks* timebase, base::TimeDelta* interval) const { + *timebase = base::TimeTicks(); + *interval = base::TimeDelta(); +} + void CefRenderWidgetHostViewOSR::AcceleratedWidgetSwapCompleted( const std::vector& all_latency_info) { if (!render_widget_host_) diff --git a/libcef/browser/scheme_handler.cc b/libcef/browser/scheme_handler.cc index ae40afa1f..943ba0d3b 100644 --- a/libcef/browser/scheme_handler.cc +++ b/libcef/browser/scheme_handler.cc @@ -70,7 +70,7 @@ void InstallInternalProtectedHandlers( DCHECK(IsInternalProtectedScheme(scheme)); bool set_protocol = job_factory->SetProtocolHandler( - scheme, protocol_handler.release()); + scheme, make_scoped_ptr(protocol_handler.release())); DCHECK(set_protocol); } } diff --git a/libcef/browser/url_request_context_proxy.cc b/libcef/browser/url_request_context_proxy.cc index f050a17f6..8ff454349 100644 --- a/libcef/browser/url_request_context_proxy.cc +++ b/libcef/browser/url_request_context_proxy.cc @@ -25,8 +25,6 @@ CefURLRequestContextProxy::CefURLRequestContextProxy( set_cert_verifier(parent->cert_verifier()); set_transport_security_state(parent->transport_security_state()); set_channel_id_service(parent->channel_id_service()); - set_fraudulent_certificate_reporter( - parent->fraudulent_certificate_reporter()); set_proxy_service(parent->proxy_service()); set_ssl_config_service(parent->ssl_config_service()); set_http_auth_handler_factory(parent->http_auth_handler_factory()); diff --git a/libcef/browser/url_request_manager.cc b/libcef/browser/url_request_manager.cc index f9fba0f3c..01d01a4d5 100644 --- a/libcef/browser/url_request_manager.cc +++ b/libcef/browser/url_request_manager.cc @@ -201,7 +201,7 @@ void CefURLRequestManager::SetProtocolHandlerIfNecessary( bool set_protocol = job_factory_->SetProtocolHandler( scheme, - (add ? new CefProtocolHandler(this, scheme) : NULL)); + make_scoped_ptr(add ? new CefProtocolHandler(this, scheme) : NULL)); DCHECK(set_protocol); } diff --git a/libcef/common/content_client.cc b/libcef/common/content_client.cc index fb69fb52b..a423159d5 100644 --- a/libcef/common/content_client.cc +++ b/libcef/common/content_client.cc @@ -204,7 +204,7 @@ void CefContentClient::AddPepperPlugins( } void CefContentClient::AddAdditionalSchemes( - std::vector* standard_schemes, + std::vector* standard_schemes, std::vector* savable_schemes) { DCHECK(!scheme_info_list_locked_); @@ -212,14 +212,21 @@ void CefContentClient::AddAdditionalSchemes( CefRefPtr schemeRegistrar( new CefSchemeRegistrarImpl()); application_->OnRegisterCustomSchemes(schemeRegistrar.get()); - schemeRegistrar->GetStandardSchemes(standard_schemes); + schemeRegistrar->GetStandardSchemes(&standard_schemes_); // No references to the registar should be kept. schemeRegistrar->Detach(); 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; } diff --git a/libcef/common/content_client.h b/libcef/common/content_client.h index abade0413..fab3f9184 100644 --- a/libcef/common/content_client.h +++ b/libcef/common/content_client.h @@ -17,6 +17,7 @@ #include "content/public/common/content_client.h" #include "content/public/common/pepper_plugin_info.h" #include "ui/base/resource/resource_bundle.h" +#include "url/url_util.h" class CefContentClient : public content::ContentClient, public ui::ResourceBundle::Delegate { @@ -33,7 +34,7 @@ class CefContentClient : public content::ContentClient, void AddPepperPlugins( std::vector* plugins) override; void AddAdditionalSchemes( - std::vector* standard_schemes, + std::vector* standard_schemes, std::vector* savable_schemes) override; std::string GetUserAgent() 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. SchemeInfoList scheme_info_list_; bool scheme_info_list_locked_; + + std::vector standard_schemes_; }; #endif // CEF_LIBCEF_COMMON_CONTENT_CLIENT_H_ diff --git a/libcef/common/extensions/extensions_client.cc b/libcef/common/extensions/extensions_client.cc index 962002495..2a5e0e8d4 100644 --- a/libcef/common/extensions/extensions_client.cc +++ b/libcef/common/extensions/extensions_client.cc @@ -145,13 +145,6 @@ CefExtensionsClient::CreateFeatureProviderSource( return source.Pass(); } -void CefExtensionsClient::FilterHostPermissions( - const URLPatternSet& hosts, - URLPatternSet* new_hosts, - std::set* messages) const { - NOTIMPLEMENTED(); -} - void CefExtensionsClient::FilterHostPermissions( const URLPatternSet& hosts, URLPatternSet* new_hosts, diff --git a/libcef/common/extensions/extensions_client.h b/libcef/common/extensions/extensions_client.h index 50b31dc05..61a55e138 100644 --- a/libcef/common/extensions/extensions_client.h +++ b/libcef/common/extensions/extensions_client.h @@ -28,10 +28,6 @@ class CefExtensionsClient : public ExtensionsClient { const std::string& name) const override; scoped_ptr CreateFeatureProviderSource( const std::string& name) const override; - void FilterHostPermissions( - const URLPatternSet& hosts, - URLPatternSet* new_hosts, - std::set* messages) const override; void FilterHostPermissions(const URLPatternSet& hosts, URLPatternSet* new_hosts, PermissionIDSet* permissions) const override; diff --git a/libcef/renderer/content_renderer_client.cc b/libcef/renderer/content_renderer_client.cc index 1c728526d..2b3392270 100644 --- a/libcef/renderer/content_renderer_client.cc +++ b/libcef/renderer/content_renderer_client.cc @@ -658,7 +658,7 @@ bool CefContentRendererClient::IsExtensionOrSharedModuleWhitelisted( const GURL& url, const std::set& whitelist) { DCHECK(extensions::ExtensionsEnabled()); const extensions::ExtensionSet* extension_set = - CefContentRendererClient::Get()->extension_dispatcher_->extensions(); + extensions::RendererExtensionRegistry::Get()->GetMainThreadExtensionSet(); return chrome::IsExtensionOrSharedModuleWhitelisted(url, extension_set, whitelist); } diff --git a/libcef/renderer/pepper/pepper_uma_host.cc b/libcef/renderer/pepper/pepper_uma_host.cc index 4034489bf..83a2acf6e 100644 --- a/libcef/renderer/pepper/pepper_uma_host.cc +++ b/libcef/renderer/pepper/pepper_uma_host.cc @@ -33,10 +33,18 @@ namespace { const char* const kPredefinedAllowedUMAOrigins[] = { "6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F", // 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[] = { "22F67DA2061FFC4DC9A4974036348D9C38C22919", // see http://crbug.com/390221 + "3FEA4650221C5E6C39CF5C5C9F464FF74EAB6CE1", // see http://crbug.com/521189 }; const char* const kWhitelistedPluginBaseNames[] = { diff --git a/patch/patch.cfg b/patch/patch.cfg index 52e2f7759..c114eb2a8 100644 --- a/patch/patch.cfg +++ b/patch/patch.cfg @@ -14,6 +14,8 @@ patches = [ { # Fix Xcode 4 build on OS X Lion. # 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', 'path': '../build/', }, @@ -32,6 +34,8 @@ patches = [ { # Fix ninja output for localization directories on OS X. # 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', 'path': '../tools/gyp/pylib/', }, diff --git a/patch/patches/browser_frame_host_guest_1687.patch b/patch/patches/browser_frame_host_guest_1687.patch index 318a65e5c..4fe25ca67 100644 --- a/patch/patches/browser_frame_host_guest_1687.patch +++ b/patch/patches/browser_frame_host_guest_1687.patch @@ -1,5 +1,5 @@ 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 @@ -191,6 +191,9 @@ void RenderWidgetHostViewGuest::Destroy() { diff --git a/patch/patches/browser_plugin_guest_1565.patch b/patch/patches/browser_plugin_guest_1565.patch index 607cb55cd..e1a4547c6 100644 --- a/patch/patches/browser_plugin_guest_1565.patch +++ b/patch/patches/browser_plugin_guest_1565.patch @@ -1,8 +1,8 @@ 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 -@@ -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_view_base.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_messages.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; if (owner_web_contents_ != owner_web_contents) { @@ -36,7 +36,7 @@ index 6991a29..6aed799 100644 } 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. static_cast( GetWebContents()->GetRenderViewHost())->Init(); diff --git a/patch/patches/browser_web_contents_1257.patch b/patch/patches/browser_web_contents_1257.patch index 202df7f25..24e3f2c44 100644 --- a/patch/patches/browser_web_contents_1257.patch +++ b/patch/patches/browser_web_contents_1257.patch @@ -1,5 +1,5 @@ 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 @@ -1351,23 +1351,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { diff --git a/patch/patches/build.patch b/patch/patches/build.patch index 9cbc39462..471bca761 100644 --- a/patch/patches/build.patch +++ b/patch/patches/build.patch @@ -1,5 +1,5 @@ diff --git common.gypi common.gypi -index 4a55516..cbef796 100644 +index cff7376..d16e12d 100644 --- common.gypi +++ common.gypi @@ -9,6 +9,9 @@ @@ -25,3 +25,18 @@ index c9cf226..0dedbe3 100755 stdout=subprocess.PIPE) 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: diff --git a/patch/patches/chrome_browser_1257.patch b/patch/patches/chrome_browser_1257.patch index a08773a71..c77f3fc74 100644 --- a/patch/patches/chrome_browser_1257.patch +++ b/patch/patches/chrome_browser_1257.patch @@ -1,8 +1,8 @@ diff --git ui/browser.cc ui/browser.cc -index 90a10ad..c06bcf8 100644 +index befe5b8..e02cde4 100644 --- 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 GURL& target_url, const std::string& partition_id, diff --git a/patch/patches/compositor_1368.patch b/patch/patches/compositor_1368.patch index e8b6d0b68..dc6f1a5ae 100644 --- a/patch/patches/compositor_1368.patch +++ b/patch/patches/compositor_1368.patch @@ -1,8 +1,8 @@ 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 -@@ -139,6 +139,13 @@ GpuProcessTransportFactory::CreateOffscreenCommandBufferContext() { +@@ -140,6 +140,13 @@ GpuProcessTransportFactory::CreateOffscreenCommandBufferContext() { scoped_ptr GpuProcessTransportFactory::CreateSoftwareOutputDevice( ui::Compositor* compositor) { diff --git a/patch/patches/content_nav_1129.patch b/patch/patches/content_nav_1129.patch index aff2bd7a4..a421460ea 100644 --- a/patch/patches/content_nav_1129.patch +++ b/patch/patches/content_nav_1129.patch @@ -1,8 +1,8 @@ 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 -@@ -101,6 +101,18 @@ bool ContentRendererClient::AllowPopup() { +@@ -103,6 +103,18 @@ bool ContentRendererClient::AllowPopup() { return false; } @@ -22,7 +22,7 @@ index 95af2f7..c7270f1 100644 const GURL& url, const std::string& http_method, 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 @@ -16,6 +16,8 @@ @@ -34,7 +34,7 @@ index ebb7f44..3f77142 100644 #include "ui/base/page_transition_types.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. virtual bool AllowPopup(); @@ -53,10 +53,10 @@ index ebb7f44..3f77142 100644 // 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 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 -@@ -4195,6 +4195,19 @@ void RenderFrameImpl::OnFailedNavigation( +@@ -4240,6 +4240,19 @@ void RenderFrameImpl::OnFailedNavigation( WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation( RenderFrame* render_frame, const NavigationPolicyInfo& info) { diff --git a/patch/patches/extensions_1257.patch b/patch/patches/extensions_1257.patch index f37e063bd..ec9bf3e36 100644 --- a/patch/patches/extensions_1257.patch +++ b/patch/patches/extensions_1257.patch @@ -1,8 +1,8 @@ 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 -@@ -195,7 +195,9 @@ bool ExtensionOptionsGuest::ShouldCreateWebContents( +@@ -196,7 +196,9 @@ bool ExtensionOptionsGuest::ShouldCreateWebContents( const std::string& frame_name, const GURL& target_url, const std::string& partition_id, @@ -14,10 +14,10 @@ index 28014e2..4a08998 100644 // 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. 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 -@@ -48,7 +48,9 @@ class ExtensionOptionsGuest +@@ -49,7 +49,9 @@ class ExtensionOptionsGuest const std::string& frame_name, const GURL& target_url, const std::string& partition_id, diff --git a/patch/patches/gritsettings.patch b/patch/patches/gritsettings.patch index 06e798800..13e07418a 100644 --- a/patch/patches/gritsettings.patch +++ b/patch/patches/gritsettings.patch @@ -1,5 +1,5 @@ diff --git resource_ids resource_ids -index 7cfda8e..71b0deb 100644 +index 2741068..03f9753 100644 --- resource_ids +++ resource_ids @@ -14,6 +14,12 @@ diff --git a/patch/patches/gyp_331.patch b/patch/patches/gyp_331.patch index cc8d56cee..0e8752d2b 100644 --- a/patch/patches/gyp_331.patch +++ b/patch/patches/gyp_331.patch @@ -1,5 +1,5 @@ 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 @@ -741,7 +741,16 @@ class NinjaWriter(object): @@ -20,3 +20,19 @@ index 6823f4f..e8ee2b7 100644 src = self.GypPathToNinja(path, env) dst = self.GypPathToNinja(os.path.join(copy['destination'], basename), 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. diff --git a/patch/patches/hwnd_message_handler_1481.patch b/patch/patches/hwnd_message_handler_1481.patch index 82bb2ed8d..62db780ec 100644 --- a/patch/patches/hwnd_message_handler_1481.patch +++ b/patch/patches/hwnd_message_handler_1481.patch @@ -1,8 +1,8 @@ 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 -@@ -2650,8 +2650,12 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message, +@@ -2687,8 +2687,12 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message, "440919 HWNDMessageHandler::HandleMouseEventInternal6")); // Reroute the mouse wheel to the window under the pointer if applicable. diff --git a/patch/patches/message_loop_443.patch b/patch/patches/message_loop_443.patch index 98719f764..bc27c7d60 100644 --- a/patch/patches/message_loop_443.patch +++ b/patch/patches/message_loop_443.patch @@ -1,5 +1,5 @@ diff --git message_loop.cc message_loop.cc -index 4e5594b..d42a362 100644 +index a44f468..6e391e9 100644 --- message_loop.cc +++ message_loop.cc @@ -135,12 +135,6 @@ MessageLoop::~MessageLoop() { diff --git a/patch/patches/mime_handler_view_1565.patch b/patch/patches/mime_handler_view_1565.patch index 5fddfae34..ef92ee6b5 100644 --- a/patch/patches/mime_handler_view_1565.patch +++ b/patch/patches/mime_handler_view_1565.patch @@ -1,8 +1,8 @@ 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 -@@ -134,6 +134,8 @@ void MimeHandlerViewGuest::CreateWebContents( +@@ -131,6 +131,8 @@ void MimeHandlerViewGuest::CreateWebContents( WebContents::CreateParams params(browser_context(), guest_site_instance.get()); params.guest_delegate = this; @@ -11,7 +11,7 @@ index 2f44662..26524c4 100644 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; } @@ -39,17 +39,18 @@ index 2f44662..26524c4 100644 + } +} + - content::WebContents* MimeHandlerViewGuest::OpenURLFromTab( - content::WebContents* source, + WebContents* MimeHandlerViewGuest::OpenURLFromTab( + WebContents* source, const content::OpenURLParams& params) { 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 -@@ -71,6 +71,13 @@ class MimeHandlerViewGuest : - const base::string16& search_text, - const blink::WebFindOptions& options) override; - bool StopFinding(content::StopFindAction action) override; +@@ -67,6 +67,15 @@ class MimeHandlerViewGuest : + bool ShouldHandleFindRequestsForEmbedder() const override; + bool ZoomPropagatesFromEmbedderToGuest() const override; + ++ // content::BrowserPluginGuestDelegate implementation + void OnGuestAttached(content::WebContentsView* guest_view, + content::WebContentsView* parent_view) override; + void OnGuestDetached(content::WebContentsView* guest_view, @@ -57,9 +58,10 @@ index 33ff28e..2d9a00e 100644 + void CreateViewForWidget( + content::WebContentsView* guest_view, + content::RenderWidgetHost* render_widget_host) override; - ++ // WebContentsDelegate implementation. content::WebContents* OpenURLFromTab( + content::WebContents* source, diff --git mime_handler_view_guest_delegate.cc mime_handler_view_guest_delegate.cc index 63b81b8..0f63f48 100644 --- mime_handler_view_guest_delegate.cc diff --git a/patch/patches/net_urlrequest_1327.patch b/patch/patches/net_urlrequest_1327.patch index eac9c45ca..763a3311a 100644 --- a/patch/patches/net_urlrequest_1327.patch +++ b/patch/patches/net_urlrequest_1327.patch @@ -1,8 +1,8 @@ diff --git url_request.h url_request.h -index 4176689..1fe5976 100644 +index c6ef160..11727b4 100644 --- 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. void GetConnectionAttempts(ConnectionAttempts* out) const; diff --git a/patch/patches/prefs_content_1161.patch b/patch/patches/prefs_content_1161.patch index 31bd46917..f8626027f 100644 --- a/patch/patches/prefs_content_1161.patch +++ b/patch/patches/prefs_content_1161.patch @@ -1,5 +1,5 @@ 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 @@ -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(spatial_navigation_enabled) 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 @@ -171,6 +171,7 @@ WebPreferences::WebPreferences() @@ -21,9 +21,9 @@ index 39db29a..b7e102c 100644 + base_background_color(0xFFFFFFFF), // Color::white v8_cache_options(V8_CACHE_OPTIONS_DEFAULT), slimming_paint_enabled(false), - cookie_enabled(true), + slimming_paint_v2_enabled(false), 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 @@ -173,6 +173,7 @@ struct CONTENT_EXPORT WebPreferences { @@ -33,12 +33,12 @@ index 8cc35b7..e1031ad 100644 + uint32_t base_background_color; V8CacheOptions v8_cache_options; bool slimming_paint_enabled; - + bool slimming_paint_v2_enabled; 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 -@@ -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); diff --git a/patch/patches/public_browser_1257.patch b/patch/patches/public_browser_1257.patch index 44cc86627..621596b5b 100644 --- a/patch/patches/public_browser_1257.patch +++ b/patch/patches/public_browser_1257.patch @@ -25,7 +25,7 @@ index 887f242..a7cc318 100644 WebContents::CreateParams::~CreateParams() { } diff --git web_contents.h web_contents.h -index 4ed6a40..2bbba64 100644 +index 803b816..1457ef3 100644 --- web_contents.h +++ web_contents.h @@ -52,9 +52,11 @@ class PageState; diff --git a/patch/patches/webkit_popups.patch b/patch/patches/webkit_popups.patch index aba882843..e6d742c9e 100644 --- a/patch/patches/webkit_popups.patch +++ b/patch/patches/webkit_popups.patch @@ -1,8 +1,8 @@ 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 -@@ -781,7 +781,7 @@ bool ChromeClientImpl::hasOpenedPopup() const +@@ -801,7 +801,7 @@ bool ChromeClientImpl::hasOpenedPopup() const PassRefPtrWillBeRawPtr ChromeClientImpl::openPopupMenu(LocalFrame& frame, HTMLSelectElement& select) { notifyPopupOpeningObservers(); @@ -12,10 +12,10 @@ index 89f8b5e..4acbf11 100644 ASSERT(RuntimeEnabledFeatures::pagePopupEnabled()); 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 -@@ -426,6 +426,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client) +@@ -427,6 +427,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client) , m_fakePageScaleAnimationPageScaleFactor(0) , m_fakePageScaleAnimationUseAnchor(false) , m_contextMenuAllowed(false) @@ -23,7 +23,7 @@ index 67c213c..ef14a25 100644 , m_doingDragAndDrop(false) , m_ignoreInputEvents(false) , m_compositorDeviceScaleFactorOverride(0) -@@ -3977,9 +3978,14 @@ void WebViewImpl::pageScaleFactorChanged() +@@ -3959,9 +3960,14 @@ void WebViewImpl::pageScaleFactorChanged() m_client->pageScaleFactorChanged(); } @@ -40,10 +40,10 @@ index 67c213c..ef14a25 100644 void WebViewImpl::startDragging(LocalFrame* frame, 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 -@@ -389,7 +389,8 @@ public: +@@ -394,7 +394,8 @@ public: // Returns true if popup menus should be rendered by the browser, false if // they should be rendered by WebKit (which is the default). @@ -53,7 +53,7 @@ index a663a10..58900a1 100644 bool contextMenuAllowed() const { -@@ -680,6 +681,8 @@ private: +@@ -687,6 +688,8 @@ private: bool m_contextMenuAllowed; @@ -63,10 +63,10 @@ index a663a10..58900a1 100644 bool m_ignoreInputEvents; 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 -@@ -398,6 +398,7 @@ public: +@@ -399,6 +399,7 @@ public: // Sets whether select popup menus should be rendered by the browser. BLINK_EXPORT static void setUseExternalPopupMenus(bool);