summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorcreis@chromium.org <creis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-03 23:03:06 +0000
committercreis@chromium.org <creis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-03 23:03:06 +0000
commit95df17a8375f6f21b5e08491f723b39610f7f294 (patch)
tree4fedcbc1a26b2a94711385feb0cc08cd770a3c51 /chrome
parent6efddb457767a3c88ef8be5390f9cba9ea7d2643 (diff)
downloadchromium_src-95df17a8375f6f21b5e08491f723b39610f7f294.zip
chromium_src-95df17a8375f6f21b5e08491f723b39610f7f294.tar.gz
chromium_src-95df17a8375f6f21b5e08491f723b39610f7f294.tar.bz2
Don't reload into an app process.
NavigationEntries are not safe to move from one process to another. BUG=80621,102408 TEST=Reload a page after installing it as an app. No process swap. Review URL: http://codereview.chromium.org/8443005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108571 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/extensions/app_process_apitest.cc4
-rw-r--r--chrome/renderer/chrome_content_renderer_client.cc9
2 files changed, 2 insertions, 11 deletions
diff --git a/chrome/browser/extensions/app_process_apitest.cc b/chrome/browser/extensions/app_process_apitest.cc
index 0719038..6872c1e 100644
--- a/chrome/browser/extensions/app_process_apitest.cc
+++ b/chrome/browser/extensions/app_process_apitest.cc
@@ -288,7 +288,8 @@ IN_PROC_BROWSER_TEST_F(AppApiTest, AppProcessRedirectBack) {
// Ensure that reloading a URL after installing or uninstalling it as an app
// correctly swaps the process. (http://crbug.com/80621)
-IN_PROC_BROWSER_TEST_F(AppApiTest, ReloadIntoAppProcess) {
+// Disabled until we get a correct fix for 80621. See http://crbug.com/102408.
+IN_PROC_BROWSER_TEST_F(AppApiTest, DISABLED_ReloadIntoAppProcess) {
CommandLine::ForCurrentProcess()->AppendSwitch(
switches::kDisablePopupBlocking);
@@ -369,7 +370,6 @@ IN_PROC_BROWSER_TEST_F(AppApiTest, ReloadIntoAppProcess) {
contents->render_view_host()->process()->id()));
}
-
// Tests that if we have a non-app process (path3/container.html) that has an
// iframe with a URL in the app's extent (path1/iframe.html), then opening a
// link from that iframe to a new window to a URL in the app's extent (path1/
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
index c0d1e91..75f4388 100644
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -784,15 +784,6 @@ bool ChromeContentRendererClient::CrossesExtensionExtents(
old_url = frame->top()->opener()->top()->document().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) {
- if (is_extension_url != extension_dispatcher_->is_extension_process())
- return true;
- }
-
// TODO(creis): Temporary workaround for crbug.com/59285: Only return true if
// we would enter an extension app's extent from a non-app, or if we leave an
// extension with no web extent. We avoid swapping processes to exit a hosted