Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5525)

Unified Diff: chrome/renderer/chrome_content_renderer_client.cc

Issue 956313002: ChromeContentRendererClient should not rely on Dispatcher::is_extension_process (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/chrome_content_renderer_client.cc
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
index 5f3b5c47af3f2084d3a1f518656e166a051c6210..b86c8b6ef74018553f9e3e6f92b71c1ac68ec19e 100644
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -283,6 +283,11 @@ GURL GetPluginInstancePosterImage(const blink::WebPluginParams& params,
}
#endif
+bool IsSingleProcess() {
Lei Zhang 2015/02/26 22:17:58 Given you want to do this check in every place in
not at google - send to devlin 2015/02/26 22:25:03 I don't know this code that well either, but note
Devlin 2015/02/27 16:54:32 Two things: - I tend to agree with Ben - if "lying
João Eiras 2015/03/02 17:02:48 I changed the dispatcher code then. Thanks for you
+ return !base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kSingleProcess);
+}
+
} // namespace
ChromeContentRendererClient::ChromeContentRendererClient() {
@@ -1160,7 +1165,7 @@ void ChromeContentRendererClient::GetNavigationErrorStrings(
bool ChromeContentRendererClient::RunIdleHandlerWhenWidgetsHidden() {
#if defined(ENABLE_EXTENSIONS)
- return !extension_dispatcher_->is_extension_process();
+ return !extension_dispatcher_->is_extension_process() || IsSingleProcess();
#else
return true;
#endif
@@ -1275,7 +1280,8 @@ bool ChromeContentRendererClient::ShouldFork(WebFrame* frame,
// in a normal process, or if it's a process for an extension that has been
// uninstalled.
if (frame->top()->document().url() == url) {
- if (is_extension_url != extension_dispatcher_->is_extension_process())
+ if (is_extension_url != extension_dispatcher_->is_extension_process() &&
+ !IsSingleProcess())
return true;
}
#endif // defined(ENABLE_EXTENSIONS)
@@ -1400,6 +1406,7 @@ bool ChromeContentRendererClient::CrossesExtensionExtents(
if (!is_extension_url &&
!opener_is_extension_url &&
extension_dispatcher_->is_extension_process() &&
+ !IsSingleProcess() &&
opener.canRequest(WebURL(new_url)))
return false;
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698