Add a NavigationThrottle to the public content/ interface
commit394057986ff5d00a841a976f3bd8d599603acaa1
authorclamy <clamy@chromium.org>
Tue, 22 Sep 2015 02:18:53 +0000 (21 19:18 -0700)
committerCommit bot <commit-bot@chromium.org>
Tue, 22 Sep 2015 02:19:35 +0000 (22 02:19 +0000)
tree3cf339bca77629de8a2d9a5d00e1cc793c9020f2
parentd3090238be5465186fb991d306b4911c407bc6b8
Add a NavigationThrottle to the public content/ interface

This CL adds a NavigationThrottle class to the public content/ interface. A NavigationThrottle is used to control the flow of navigations. It lives entirely on the UI thread. Eventually, all components that want the functionality of a ResourceThrottle for navigations should transition to a NavigationThrottle: the new architecture for navigations (browser-side navigation) will not support ResourceThrottles for main resources load. See https://docs.google.com/document/d/1ICLLQoC9EsZ-bWH4ZKRhPCIoZKn6pOj02SlGl6SKH6Y/edit?pli=1#heading=h.fmxjmgvbgg7x for the design doc.

This Cl also transition the InterceptNavigationresourceThrottle to the Navigationthrottle model.
BUG=504347

Review URL: https://codereview.chromium.org/1269813002

Cr-Commit-Position: refs/heads/master@{#350092}
36 files changed:
android_webview/browser/aw_content_browser_client.cc
android_webview/browser/aw_content_browser_client.h
android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc
chrome/browser/apps/app_url_redirector.cc
chrome/browser/apps/app_url_redirector.h
chrome/browser/chrome_content_browser_client.cc
chrome/browser/chrome_content_browser_client.h
chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
components/components_tests.gyp
components/navigation_interception.gypi
components/navigation_interception/BUILD.gn
components/navigation_interception/intercept_navigation_delegate.cc
components/navigation_interception/intercept_navigation_delegate.h
components/navigation_interception/intercept_navigation_resource_throttle.cc [deleted file]
components/navigation_interception/intercept_navigation_resource_throttle.h [deleted file]
components/navigation_interception/intercept_navigation_resource_throttle_unittest.cc [deleted file]
components/navigation_interception/intercept_navigation_throttle.cc [new file with mode: 0644]
components/navigation_interception/intercept_navigation_throttle.h [new file with mode: 0644]
components/navigation_interception/intercept_navigation_throttle_unittest.cc [new file with mode: 0644]
content/browser/frame_host/navigation_handle_impl.cc
content/browser/frame_host/navigation_handle_impl.h
content/browser/frame_host/navigation_request.cc
content/browser/frame_host/navigation_request.h
content/browser/frame_host/navigator_impl.cc
content/browser/frame_host/render_frame_host_impl.cc
content/browser/loader/navigation_resource_throttle.cc [new file with mode: 0644]
content/browser/loader/navigation_resource_throttle.h [new file with mode: 0644]
content/browser/loader/resource_dispatcher_host_impl.cc
content/content_browser.gypi
content/public/browser/content_browser_client.cc
content/public/browser/content_browser_client.h
content/public/browser/navigation_handle.cc [new file with mode: 0644]
content/public/browser/navigation_handle.h
content/public/browser/navigation_throttle.cc [new file with mode: 0644]
content/public/browser/navigation_throttle.h [new file with mode: 0644]
content/test/web_contents_observer_sanity_checker.cc