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

Unified Diff: chrome/renderer/chrome_content_renderer_client.cc

Issue 9169065: Reloading page after installing app should bring it into correct process. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Changing pointer types due to refactoring of public APIs. Created 8 years, 11 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
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 caa538279512bf270964417c5d867533e231f46c..0238bda5f6c3766afb498cdb15dd3b6d7f26ff58 100644
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -756,6 +756,16 @@ bool ChromeContentRendererClient::CrossesExtensionExtents(
const Extension* new_url_extension = extensions::GetNonBookmarkAppExtension(
*extensions, ExtensionURLInfo(new_url));
+ // If this is a reload, check whether it has the wrong process type. We
+ // should send it to the browser if it's an extension URL (e.g., hosted app)
+ // in a normal process, or if it's a process for an extension that has been
+ // uninstalled.
+ if (old_url == new_url) {
darin (slow to review) 2012/01/27 19:34:11 This condition isn't necessarily limited to a relo
nasko 2012/01/27 20:14:56 Hitting enter in the location bar is handled by th
darin (slow to review) 2012/01/27 23:58:35 ^^^ what about this last point? is this really th
nasko 2012/01/28 01:43:12 It could be moved to the function that calls this,
+ bool is_extension_url = !!new_url_extension;
+ if (is_extension_url != extension_dispatcher_->is_extension_process())
+ return true;
darin (slow to review) 2012/01/27 23:58:35 what about the reverse case? what if the app is u
nasko 2012/01/28 01:43:12 Yes, if the process "type" mismatches with the cur
+ }
+
// If old_url is still empty and this is an initial navigation, then this is
// a window.open operation. We should look at the opener URL.
if (is_initial_navigation && old_url.is_empty() && frame->opener()) {

Powered by Google App Engine
This is Rietveld 408576698