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

Side by Side Diff: chrome/renderer/chrome_content_renderer_client.cc

Issue 12374007: signin: force web signin flow initiated visits to accounts.google.com to their own process. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/renderer/chrome_content_renderer_client.h" 5 #include "chrome/renderer/chrome_content_renderer_client.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 819 matching lines...) Expand 10 before | Expand all | Expand 10 after
830 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kInstantProcess)) 830 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kInstantProcess))
831 return true; 831 return true;
832 832
833 // For now, we skip the rest for POST submissions. This is because 833 // For now, we skip the rest for POST submissions. This is because
834 // http://crbug.com/101395 is more likely to cause compatibility issues 834 // http://crbug.com/101395 is more likely to cause compatibility issues
835 // with hosted apps and extensions than WebUI pages. We will remove this 835 // with hosted apps and extensions than WebUI pages. We will remove this
836 // check when cross-process POST submissions are supported. 836 // check when cross-process POST submissions are supported.
837 if (http_method != "GET") 837 if (http_method != "GET")
838 return false; 838 return false;
839 839
840 // If this is the Signin process, fork all navigations originating from the
841 // renderer. The destination page will then be bucketed back to this Signin
842 // process if it is a Signin url, or to another process if not.
843 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kSigninProcess)) {
844 // We never want to allow non-signin pages to fork-on-POST to a
845 // signin-related action URL. We'll need to handle this carefully once
846 // http://crbug.com/101395 is fixed. The CHECK ensures we don't forget.
847 CHECK_NE(http_method, "POST");
848 return true;
849 }
850
840 // If |url| matches one of the prerendered URLs, stop this navigation and try 851 // If |url| matches one of the prerendered URLs, stop this navigation and try
841 // to swap in the prerendered page on the browser process. If the prerendered 852 // to swap in the prerendered page on the browser process. If the prerendered
842 // page no longer exists by the time the OpenURL IPC is handled, a normal 853 // page no longer exists by the time the OpenURL IPC is handled, a normal
843 // navigation is attempted. 854 // navigation is attempted.
844 if (prerender_dispatcher_.get() && prerender_dispatcher_->IsPrerenderURL(url)) 855 if (prerender_dispatcher_.get() && prerender_dispatcher_->IsPrerenderURL(url))
845 return true; 856 return true;
846 857
847 const ExtensionSet* extensions = extension_dispatcher_->extensions(); 858 const ExtensionSet* extensions = extension_dispatcher_->extensions();
848 859
849 // Determine if the new URL is an extension (excluding bookmark apps). 860 // Determine if the new URL is an extension (excluding bookmark apps).
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
1098 if (container->element().shadowHost().tagName().equals( 1109 if (container->element().shadowHost().tagName().equals(
1099 WebKit::WebString::fromUTF8(kWebViewTagName))) { 1110 WebKit::WebString::fromUTF8(kWebViewTagName))) {
1100 return true; 1111 return true;
1101 } else { 1112 } else {
1102 return CommandLine::ForCurrentProcess()->HasSwitch( 1113 return CommandLine::ForCurrentProcess()->HasSwitch(
1103 switches::kEnableBrowserPluginForAllViewTypes); 1114 switches::kEnableBrowserPluginForAllViewTypes);
1104 } 1115 }
1105 } 1116 }
1106 1117
1107 } // namespace chrome 1118 } // namespace chrome
OLDNEW
« no previous file with comments | « chrome/common/chrome_switches.cc ('k') | chrome/test/base/chrome_render_view_host_test_harness.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698