 Chromium Code Reviews
 Chromium Code Reviews Issue 1155713005:
  Use a resource throttle to implement shouldOverrideUrlLoading.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 1155713005:
  Use a resource throttle to implement shouldOverrideUrlLoading.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| Index: android_webview/renderer/aw_content_renderer_client.cc | 
| diff --git a/android_webview/renderer/aw_content_renderer_client.cc b/android_webview/renderer/aw_content_renderer_client.cc | 
| index 548d3ecb1b05fcbff5a633e28d748a3461612ec5..4ee0398389f84d2d8d2395e7b031c46f5f2d1143 100644 | 
| --- a/android_webview/renderer/aw_content_renderer_client.cc | 
| +++ b/android_webview/renderer/aw_content_renderer_client.cc | 
| @@ -65,60 +65,6 @@ void AwContentRendererClient::RenderThreadStarted() { | 
| thread->AddObserver(visited_link_slave_.get()); | 
| } | 
| -bool AwContentRendererClient::HandleNavigation( | 
| - content::RenderFrame* render_frame, | 
| - content::DocumentState* document_state, | 
| - int opener_id, | 
| - blink::WebFrame* frame, | 
| - const blink::WebURLRequest& request, | 
| - blink::WebNavigationType type, | 
| - blink::WebNavigationPolicy default_policy, | 
| - bool is_redirect) { | 
| - | 
| - // Only GETs can be overridden. | 
| - if (!request.httpMethod().equals("GET")) | 
| - return false; | 
| - | 
| - // Any navigation from loadUrl, and goBack/Forward are considered application- | 
| - // initiated and hence will not yield a shouldOverrideUrlLoading() callback. | 
| - // Webview classic does not consider reload application-initiated so we | 
| - // continue the same behavior. | 
| - // TODO(sgurun) is_content_initiated is normally false for cross-origin | 
| - // navigations but since android_webview does not swap out renderers, this | 
| - // works fine. This will stop working if android_webview starts swapping out | 
| - // renderers on navigation. | 
| - bool application_initiated = | 
| - !document_state->navigation_state()->IsContentInitiated() || | 
| - type == blink::WebNavigationTypeBackForward; | 
| - | 
| - // Don't offer application-initiated navigations unless it's a redirect. | 
| - if (application_initiated && !is_redirect) | 
| - return false; | 
| - | 
| - const GURL& gurl = request.url(); | 
| - // For HTTP schemes, only top-level navigations can be overridden. Similarly, | 
| - // WebView Classic lets app override only top level about:blank navigations. | 
| - // So we filter out non-top about:blank navigations here. | 
| - if (frame->parent() && | 
| - (gurl.SchemeIs(url::kHttpScheme) || gurl.SchemeIs(url::kHttpsScheme) || | 
| - gurl.SchemeIs(url::kAboutScheme))) | 
| - return false; | 
| - | 
| - // use NavigationInterception throttle to handle the call as that can | 
| - // be deferred until after the java side has been constructed. | 
| - if (opener_id != MSG_ROUTING_NONE) { | 
| - return false; | 
| - } | 
| - | 
| - bool ignore_navigation = false; | 
| - base::string16 url = request.url().string(); | 
| - | 
| - int render_frame_id = render_frame->GetRoutingID(); | 
| - RenderThread::Get()->Send(new AwViewHostMsg_ShouldOverrideUrlLoading( | 
| 
mnaganov (inactive)
2015/06/18 18:08:20
Note that this is the only place where we send thi
 | 
| - render_frame_id, url, &ignore_navigation)); | 
| - return ignore_navigation; | 
| -} | 
| - | 
| void AwContentRendererClient::RenderFrameCreated( | 
| content::RenderFrame* render_frame) { | 
| new AwContentSettingsClient(render_frame); |