Commit bf51cd21 authored by Marshall Greenblatt's avatar Marshall Greenblatt
Browse files

Update to Chromium version 73.0.3683.0 (#625896)

parent 9c50f1bf
......@@ -7,5 +7,5 @@
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
{
'chromium_checkout': 'refs/tags/73.0.3679.0'
'chromium_checkout': 'refs/tags/73.0.3683.0'
}
......@@ -130,6 +130,15 @@ CefBrowserContext::CreateMediaRequestContextForStoragePartition(
return nullptr;
}
void CefBrowserContext::SetCorsOriginAccessListForOrigin(
const url::Origin& source_origin,
std::vector<network::mojom::CorsOriginPatternPtr> allow_patterns,
std::vector<network::mojom::CorsOriginPatternPtr> block_patterns,
base::OnceClosure closure) {
// This method is called for Extension support.
base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, std::move(closure));
}
ChromeZoomLevelPrefs* CefBrowserContext::GetZoomLevelPrefs() {
return static_cast<ChromeZoomLevelPrefs*>(
GetStoragePartition(this, NULL)->GetZoomLevelDelegate());
......
......@@ -145,6 +145,11 @@ class CefBrowserContext : public ChromeProfileStub {
net::URLRequestContextGetter* CreateMediaRequestContextForStoragePartition(
const base::FilePath& partition_path,
bool in_memory) override;
void SetCorsOriginAccessListForOrigin(
const url::Origin& source_origin,
std::vector<network::mojom::CorsOriginPatternPtr> allow_patterns,
std::vector<network::mojom::CorsOriginPatternPtr> block_patterns,
base::OnceClosure closure) override;
// Profile methods.
ChromeZoomLevelPrefs* GetZoomLevelPrefs() override;
......
......@@ -658,11 +658,9 @@ CefContentBrowserClient::GetServiceManifestOverlay(base::StringPiece name) {
return base::nullopt;
}
std::vector<content::ContentBrowserClient::ServiceManifestInfo>
std::vector<service_manager::Manifest>
CefContentBrowserClient::GetExtraServiceManifests() {
return std::vector<ServiceManifestInfo>({
{chrome::mojom::kRendererServiceName, -1, GetCefRendererManifest()},
});
return std::vector<service_manager::Manifest>{GetCefRendererManifest()};
}
bool CefContentBrowserClient::IsSameBrowserContext(
......
......@@ -56,7 +56,7 @@ class CefContentBrowserClient : public content::ContentBrowserClient {
void RegisterOutOfProcessServices(OutOfProcessServiceMap* services) override;
base::Optional<service_manager::Manifest> GetServiceManifestOverlay(
base::StringPiece name) override;
std::vector<ServiceManifestInfo> GetExtraServiceManifests() override;
std::vector<service_manager::Manifest> GetExtraServiceManifests() override;
bool IsSameBrowserContext(content::BrowserContext* context1,
content::BrowserContext* context2) override;
void AppendExtraCommandLineSwitches(base::CommandLine* command_line,
......
......@@ -40,6 +40,12 @@ bool CefComponentExtensionResourceManager::IsComponentExtensionResource(
return entry != path_to_resource_id_.end();
}
const ui::TemplateReplacements*
CefComponentExtensionResourceManager::GetTemplateReplacementsForExtension(
const std::string& extension_id) const {
return nullptr;
}
void CefComponentExtensionResourceManager::AddComponentResourceEntries(
const GritResourceMap* entries,
size_t size) {
......
......@@ -24,6 +24,8 @@ class CefComponentExtensionResourceManager
bool IsComponentExtensionResource(const base::FilePath& extension_path,
const base::FilePath& resource_path,
int* resource_id) const override;
const ui::TemplateReplacements* GetTemplateReplacementsForExtension(
const std::string& extension_id) const override;
private:
void AddComponentResourceEntries(const GritResourceMap* entries, size_t size);
......
......@@ -13,7 +13,7 @@
// Helper object that receives the notification that the dialog/sheet is
// going away. Is responsible for cleaning itself up.
@interface CefJavaScriptDialogHelper : NSObject<NSAlertDelegate> {
@interface CefJavaScriptDialogHelper : NSObject <NSAlertDelegate> {
@private
base::scoped_nsobject<NSAlert> alert_;
NSTextField* textField_; // WEAK; owned by alert_
......@@ -26,9 +26,8 @@
(CefJavaScriptDialogRunner::DialogClosedCallback)callback;
- (NSAlert*)alert;
- (NSTextField*)textField;
- (void)alertDidEnd:(NSAlert*)alert
returnCode:(int)returnCode
contextInfo:(void*)contextInfo;
- (void)alertDidEndWithResult:(NSModalResponse)returnCode
dialog:(CefJavaScriptDialogRunnerMac*)dialog;
- (void)cancel;
@end
......@@ -58,10 +57,9 @@
return textField_;
}
- (void)alertDidEnd:(NSAlert*)alert
returnCode:(int)returnCode
contextInfo:(void*)contextInfo {
if (returnCode == NSRunStoppedResponse)
- (void)alertDidEndWithResult:(NSModalResponse)returnCode
dialog:(CefJavaScriptDialogRunnerMac*)dialog {
if (returnCode == NSModalResponseStop)
return;
bool success = returnCode == NSAlertFirstButtonReturn;
......@@ -143,9 +141,9 @@ void CefJavaScriptDialogRunnerMac::Run(
// discussion.
id nilArg = nil;
[alert beginSheetModalForWindow:nilArg // nil here makes it app-modal
modalDelegate:helper_
didEndSelector:@selector(alertDidEnd:returnCode:contextInfo:)
contextInfo:this];
completionHandler:^void(NSModalResponse returnCode) {
[helper_ alertDidEndWithResult:returnCode dialog:this];
}];
if ([alert accessoryView])
[[alert window] makeFirstResponder:[alert accessoryView]];
......
......@@ -292,10 +292,13 @@ void CefPrintViewManagerBase::OnNotifyPrintJobEvent(
ShouldQuitFromInnerMessageLoop();
break;
}
case JobEventDetails::NEW_DOC:
#if defined(OS_WIN)
case JobEventDetails::PAGE_DONE:
#endif
case JobEventDetails::NEW_DOC: {
// Don't care about the actual printing process.
break;
}
case JobEventDetails::DOC_DONE: {
// Don't care about the actual printing process.
break;
......@@ -458,11 +461,11 @@ bool CefPrintViewManagerBase::RunInnerMessageLoop() {
// - If we're looping because of renderer page generation, the renderer could
// be CPU bound, the page overly complex/large or the system just
// memory-bound.
static const int kPrinterSettingsTimeout = 60000;
static constexpr base::TimeDelta kPrinterSettingsTimeout =
base::TimeDelta::FromSeconds(60);
base::OneShotTimer quit_timer;
base::RunLoop run_loop;
quit_timer.Start(FROM_HERE,
TimeDelta::FromMilliseconds(kPrinterSettingsTimeout),
quit_timer.Start(FROM_HERE, kPrinterSettingsTimeout,
run_loop.QuitWhenIdleClosure());
inside_inner_message_loop_ = true;
......
......@@ -97,17 +97,6 @@ void CefPrintingMessageFilter::ShutdownOnUIThread() {
printing_shutdown_notifier_.reset();
}
void CefPrintingMessageFilter::OverrideThreadForMessage(
const IPC::Message& message,
BrowserThread::ID* thread) {
#if defined(OS_ANDROID)
if (message.type() == PrintHostMsg_AllocateTempFileForPrinting::ID ||
message.type() == PrintHostMsg_TempFileForPrintingWritten::ID) {
*thread = BrowserThread::UI;
}
#endif
}
void CefPrintingMessageFilter::OnDestruct() const {
BrowserThread::DeleteOnUIThread::Destruct(this);
}
......@@ -201,11 +190,6 @@ void CefPrintingMessageFilter::OnScriptedPrintReply(
scoped_refptr<PrinterQuery> printer_query,
IPC::Message* reply_msg) {
PrintMsg_PrintPages_Params params;
#if defined(OS_ANDROID)
// We need to save the routing ID here because Send method below deletes the
// |reply_msg| before we can get the routing ID for the Android code.
int routing_id = reply_msg->routing_id();
#endif
if (printer_query->last_status() != PrintingContext::OK ||
!printer_query->settings().dpi()) {
params.Reset();
......@@ -217,16 +201,6 @@ void CefPrintingMessageFilter::OnScriptedPrintReply(
PrintHostMsg_ScriptedPrint::WriteReplyParams(reply_msg, params);
Send(reply_msg);
if (!params.params.dpi.IsEmpty() && params.params.document_cookie) {
#if defined(OS_ANDROID)
int file_descriptor;
const base::string16& device_name = printer_query->settings().device_name();
if (base::StringToInt(device_name, &file_descriptor)) {
base::PostTaskWithTraits(
FROM_HERE, {BrowserThread::UI},
base::Bind(&CefPrintingMessageFilter::UpdateFileDescriptor, this,
routing_id, file_descriptor));
}
#endif
queue_->QueuePrinterQuery(printer_query.get());
} else {
printer_query->StopWorker();
......
......@@ -36,8 +36,6 @@ class CefPrintingMessageFilter : public content::BrowserMessageFilter {
static void EnsureShutdownNotifierFactoryBuilt();
// content::BrowserMessageFilter methods.
void OverrideThreadForMessage(const IPC::Message& message,
content::BrowserThread::ID* thread) override;
void OnDestruct() const override;
bool OnMessageReceived(const IPC::Message& message) override;
......
......@@ -411,8 +411,9 @@ patches = [
'name': 'message_pump_mac_2495',
},
{
# Windows: Fix DCHECK in PrinterQuery::DetachWorker.
# https://chromium-review.googlesource.com/c/chromium/src/+/1428087
'name': 'printer_query_924033',
# Windows: Fix "error: unknown escape sequence" with jumbo builds.
# https://bugs.chromium.org/p/chromium/issues/detail?id=924454
'name': 'v8_embed_924454',
'path': 'v8',
}
]
......@@ -79,7 +79,7 @@ index 5426d600906c..4bf4537514eb 100644
// Creates a new View that holds a non-top-level widget and receives messages
// for it.
diff --git content/browser/web_contents/web_contents_view_aura.cc content/browser/web_contents/web_contents_view_aura.cc
index 8e02ca39a947..b9ec33465141 100644
index 68fb77a4a2f6..19478931e111 100644
--- content/browser/web_contents/web_contents_view_aura.cc
+++ content/browser/web_contents/web_contents_view_aura.cc
@@ -867,7 +867,8 @@ void WebContentsViewAura::CreateView(const gfx::Size& initial_size,
......@@ -208,7 +208,7 @@ index 1f0e661628aa..f896c842ff0d 100644
RenderWidgetHost* render_widget_host) override;
void SetPageTitle(const base::string16& title) override;
diff --git content/browser/web_contents/web_contents_view_mac.h content/browser/web_contents/web_contents_view_mac.h
index 18fbea9e4446..cf6b26edfa4d 100644
index c0c553023138..39b8fe0bd57c 100644
--- content/browser/web_contents/web_contents_view_mac.h
+++ content/browser/web_contents/web_contents_view_mac.h
@@ -74,7 +74,7 @@ class WebContentsViewMac : public WebContentsView,
......@@ -221,10 +221,10 @@ index 18fbea9e4446..cf6b26edfa4d 100644
RenderWidgetHost* render_widget_host) override;
void SetPageTitle(const base::string16& title) override;
diff --git content/browser/web_contents/web_contents_view_mac.mm content/browser/web_contents/web_contents_view_mac.mm
index 699e8709c74d..9f94a4efd45d 100644
index d4f6a36dce63..ba6382ee43ea 100644
--- content/browser/web_contents/web_contents_view_mac.mm
+++ content/browser/web_contents/web_contents_view_mac.mm
@@ -315,7 +315,8 @@ void WebContentsViewMac::CreateView(
@@ -313,7 +313,8 @@ void WebContentsViewMac::CreateView(
}
RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForWidget(
......@@ -234,7 +234,7 @@ index 699e8709c74d..9f94a4efd45d 100644
if (render_widget_host->GetView()) {
// During testing, the view will already be set up in most cases to the
// test view, so we don't want to clobber it with a real one. To verify that
@@ -327,6 +328,7 @@ RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForWidget(
@@ -325,6 +326,7 @@ RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForWidget(
render_widget_host->GetView());
}
......
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
index 0e13a4f20aca..89df4a8eaf3e 100644
index 68dc6a001a49..5987483d3127 100644
--- build/config/compiler/BUILD.gn
+++ build/config/compiler/BUILD.gn
@@ -164,7 +164,7 @@ declare_args() {
......@@ -11,7 +11,7 @@ index 0e13a4f20aca..89df4a8eaf3e 100644
!(current_cpu == "x86" || current_cpu == "x64"))))
}
@@ -1699,8 +1699,6 @@ config("thin_archive") {
@@ -1696,8 +1696,6 @@ config("thin_archive") {
# archive names to 16 characters, which is not what we want).
if ((is_posix && !is_nacl && !is_mac && !is_ios) || is_fuchsia) {
arflags = [ "-T" ]
......
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
index de1ef8abbca9..52ff84a4994d 100644
index 6ebafc0acd44..96644b7b809c 100644
--- chrome/browser/BUILD.gn
+++ chrome/browser/BUILD.gn
@@ -8,6 +8,7 @@ import("//build/config/features.gni")
......@@ -10,7 +10,7 @@ index de1ef8abbca9..52ff84a4994d 100644
import("//chrome/common/features.gni")
import("//components/feature_engagement/features.gni")
import("//components/feed/features.gni")
@@ -1725,6 +1726,7 @@ jumbo_split_static_library("browser") {
@@ -1732,6 +1733,7 @@ jumbo_split_static_library("browser") {
"//base:i18n",
"//base/allocator:buildflags",
"//cc",
......@@ -18,7 +18,7 @@ index de1ef8abbca9..52ff84a4994d 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -2010,6 +2012,10 @@ jumbo_split_static_library("browser") {
@@ -2020,6 +2022,10 @@ jumbo_split_static_library("browser") {
]
}
......@@ -29,7 +29,7 @@ index de1ef8abbca9..52ff84a4994d 100644
if (is_android) {
sources += [
"after_startup_task_utils_android.cc",
@@ -3700,7 +3706,7 @@ jumbo_split_static_library("browser") {
@@ -3713,7 +3719,7 @@ jumbo_split_static_library("browser") {
]
}
......
......@@ -125,10 +125,10 @@ index 989d5d02cedb..e05810db6824 100644
// If we broke out of the loop, we have found an enabled plugin.
bool enabled = i < matching_plugins.size();
diff --git chrome/renderer/chrome_content_renderer_client.cc chrome/renderer/chrome_content_renderer_client.cc
index 5ed13cdbb5ae..595ceb48e4aa 100644
index 9136ab583964..1839ce97c7e4 100644
--- chrome/renderer/chrome_content_renderer_client.cc
+++ chrome/renderer/chrome_content_renderer_client.cc
@@ -782,6 +782,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -781,6 +781,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
if ((status == chrome::mojom::PluginStatus::kUnauthorized ||
status == chrome::mojom::PluginStatus::kBlocked) &&
......@@ -136,7 +136,7 @@ index 5ed13cdbb5ae..595ceb48e4aa 100644
observer->IsPluginTemporarilyAllowed(identifier)) {
status = chrome::mojom::PluginStatus::kAllowed;
}
@@ -969,7 +970,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -968,7 +969,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
render_frame->GetRemoteAssociatedInterfaces()->GetInterface(
&plugin_auth_host);
plugin_auth_host->BlockedUnauthorizedPlugin(group_name, identifier);
......@@ -146,7 +146,7 @@ index 5ed13cdbb5ae..595ceb48e4aa 100644
break;
}
case chrome::mojom::PluginStatus::kBlocked: {
@@ -978,7 +980,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -977,7 +979,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED, group_name));
placeholder->AllowLoading();
RenderThread::Get()->RecordAction(UserMetricsAction("Plugin_Blocked"));
......@@ -156,7 +156,7 @@ index 5ed13cdbb5ae..595ceb48e4aa 100644
break;
}
case chrome::mojom::PluginStatus::kBlockedByPolicy: {
@@ -988,7 +991,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -987,7 +990,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
group_name));
RenderThread::Get()->RecordAction(
UserMetricsAction("Plugin_BlockedByPolicy"));
......@@ -166,7 +166,7 @@ index 5ed13cdbb5ae..595ceb48e4aa 100644
break;
}
case chrome::mojom::PluginStatus::kBlockedNoLoading: {
@@ -996,7 +1000,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -995,7 +999,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
IDR_BLOCKED_PLUGIN_HTML,
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED_NO_LOADING,
group_name));
......
diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn
index c84975892678..66e26b943cd1 100644
index 2e32e5797683..89892c369d0b 100644
--- chrome/renderer/BUILD.gn
+++ chrome/renderer/BUILD.gn
@@ -4,6 +4,7 @@
......@@ -18,7 +18,7 @@ index c84975892678..66e26b943cd1 100644
"//chrome:resources",
"//chrome:strings",
"//chrome/common",
@@ -187,6 +189,10 @@ jumbo_static_library("renderer") {
@@ -188,6 +190,10 @@ jumbo_static_library("renderer") {
configs += [ "//build/config/compiler:wexit_time_destructors" ]
......
......@@ -34,7 +34,7 @@ index fc252b6ceffd..b0dfd847ec03 100644
MouseWheelPhaseHandler(RenderWidgetHostViewBase* const host_view);
~MouseWheelPhaseHandler() {}
diff --git third_party/blink/renderer/controller/BUILD.gn third_party/blink/renderer/controller/BUILD.gn
index c9f9a18f1188..ecba73d54a30 100644
index 7668f3725200..665e8e579c54 100644
--- third_party/blink/renderer/controller/BUILD.gn
+++ third_party/blink/renderer/controller/BUILD.gn
@@ -25,6 +25,7 @@ component("controller") {
......@@ -45,10 +45,10 @@ index c9f9a18f1188..ecba73d54a30 100644
"//third_party/blink/renderer:config",
"//third_party/blink/renderer:inside_blink",
"//third_party/blink/renderer:non_test_config",
@@ -43,6 +44,8 @@ component("controller") {
"controller_export.h",
"dev_tools_frontend_impl.cc",
"dev_tools_frontend_impl.h",
@@ -47,6 +48,8 @@ component("controller") {
"memory_usage_monitor.h",
"memory_usage_monitor_android.cc",
"memory_usage_monitor_android.h",
+ "//cef/libcef/renderer/blink_glue.cc",
+ "//cef/libcef/renderer/blink_glue.h",
]
......
......@@ -51,7 +51,7 @@ index b6da8e846a2a..dd7ec1be2556 100644
return nullptr;
}
diff --git chrome/browser/ui/views/frame/browser_root_view.cc chrome/browser/ui/views/frame/browser_root_view.cc
index 8b08e6168124..7ea95c421b91 100644
index ebf8531af849..fff277b7e62b 100644
--- chrome/browser/ui/views/frame/browser_root_view.cc
+++ chrome/browser/ui/views/frame/browser_root_view.cc
@@ -69,7 +69,7 @@ void OnFindURLMimeType(const GURL& url,
......@@ -64,10 +64,10 @@ index 8b08e6168124..7ea95c421b91 100644
}
diff --git content/browser/frame_host/navigation_handle_impl.cc content/browser/frame_host/navigation_handle_impl.cc
index 8593b6ef033e..31d89020a659 100644
index 244992176f0f..a238f052d468 100644
--- content/browser/frame_host/navigation_handle_impl.cc
+++ content/browser/frame_host/navigation_handle_impl.cc
@@ -390,12 +390,6 @@ net::Error NavigationHandleImpl::GetNetErrorCode() {
@@ -391,12 +391,6 @@ net::Error NavigationHandleImpl::GetNetErrorCode() {
}
RenderFrameHostImpl* NavigationHandleImpl::GetRenderFrameHost() {
......@@ -81,10 +81,10 @@ index 8593b6ef033e..31d89020a659 100644
"WillFailRequest state should come before WillProcessResponse");
return render_frame_host_;
diff --git content/browser/frame_host/render_frame_host_impl.cc content/browser/frame_host/render_frame_host_impl.cc
index 1a023385a3d2..52af01625703 100644
index a6c9e15b29af..6fa7cbe3de6b 100644
--- content/browser/frame_host/render_frame_host_impl.cc
+++ content/browser/frame_host/render_frame_host_impl.cc
@@ -2140,6 +2140,7 @@ void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError(
@@ -2153,6 +2153,7 @@ void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError(
if (GetNavigationHandle()) {
GetNavigationHandle()->set_net_error_code(
static_cast<net::Error>(params.error_code));
......@@ -92,7 +92,7 @@ index 1a023385a3d2..52af01625703 100644
}
frame_tree_node_->navigator()->DidFailProvisionalLoadWithError(this, params);
@@ -4808,9 +4809,9 @@ void RenderFrameHostImpl::CommitNavigation(
@@ -4834,9 +4835,9 @@ void RenderFrameHostImpl::CommitNavigation(
DCHECK(base::FeatureList::IsEnabled(network::features::kNetworkService) ||
base::FeatureList::IsEnabled(
blink::features::kServiceWorkerServicification));
......@@ -340,10 +340,10 @@ index 8136604d267a..be7fde2f1a38 100644
virtual void FocusedNodeChanged(const blink::WebNode& node) {}
diff --git content/renderer/render_frame_impl.cc content/renderer/render_frame_impl.cc
index a716d1262cdf..9e6fb547f168 100644
index 5b45214bdb34..8d654d142309 100644
--- content/renderer/render_frame_impl.cc
+++ content/renderer/render_frame_impl.cc
@@ -3701,7 +3701,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
@@ -3689,7 +3689,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
std::string mime_type;
bool found = false;
Send(new FrameHostMsg_GetPluginInfo(
......@@ -353,7 +353,7 @@ index a716d1262cdf..9e6fb547f168 100644
params.mime_type.Utf8(), &found, &info, &mime_type));
if (!found)
return nullptr;
@@ -4084,6 +4085,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) {
@@ -4072,6 +4073,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) {
void RenderFrameImpl::FrameFocused() {
Send(new FrameHostMsg_FrameFocused(routing_id_));
......
......@@ -57,7 +57,7 @@ index 53586512b68f..3a7ba906571a 100644
// If |new_instance| is a new SiteInstance for a subframe that requires a
// dedicated process, set its process reuse policy so that such subframes are
diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h
index 92425b0bded1..3db10cbe9ea0 100644
index 694796bf8dbb..86c9088c1721 100644
--- content/public/browser/content_browser_client.h
+++ content/public/browser/content_browser_client.h
@@ -452,6 +452,13 @@ class CONTENT_EXPORT ContentBrowserClient {
......@@ -74,7 +74,7 @@ index 92425b0bded1..3db10cbe9ea0 100644
// Returns true if the passed in URL should be assigned as the site of the
// current SiteInstance, if it does not yet have a site.
virtual bool ShouldAssignSiteForURL(const GURL& url);
@@ -1471,6 +1478,10 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1460,6 +1467,10 @@ class CONTENT_EXPORT ContentBrowserClient {
// Used as part of the user agent string.
virtual std::string GetProduct() const;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment