| Index: content/public/browser/navigation_throttle.h
|
| diff --git a/content/public/browser/navigation_throttle.h b/content/public/browser/navigation_throttle.h
|
| index c5202ae71d89d47990394423a87c943af488d66c..fff64b1f4fb8c61f425c27b140786fce5eaa617d 100644
|
| --- a/content/public/browser/navigation_throttle.h
|
| +++ b/content/public/browser/navigation_throttle.h
|
| @@ -17,8 +17,20 @@ class CONTENT_EXPORT NavigationThrottle {
|
| // This is returned to the NavigationHandle to allow the navigation to
|
| // proceed, or to cancel it.
|
| enum ThrottleCheckResult {
|
| + // The navigation proceeds uninterrupted.
|
| PROCEED,
|
| +
|
| + // Defers the navigation until the NavigationThrottle calls
|
| + // NavigationHandle::Resume or NavigationHandle::CancelDeferredRequest.
|
| + // If the NavigationHandle is destroyed while the navigation is deferred,
|
| + // the navigation will be canceled in the network stack.
|
| DEFER,
|
| +
|
| + // Cancels the navigation.
|
| + CANCEL,
|
| +
|
| + // Cancels the navigation and makes the requester of the navigation acts
|
| + // like the request was never made.
|
| CANCEL_AND_IGNORE,
|
| };
|
|
|
| @@ -26,9 +38,21 @@ class CONTENT_EXPORT NavigationThrottle {
|
| virtual ~NavigationThrottle();
|
|
|
| // Called when a network request is about to be made for this navigation.
|
| + //
|
| + // The implementer is responsible for ensuring that the WebContents this
|
| + // throttle is associated with remain alive during the duration of this
|
| + // method. Failing to do so will result in use-after-free bugs. Should the
|
| + // implementer need to destroy the WebContents, it should return CANCEL,
|
| + // CANCEL_AND_IGNORE or DEFER and perform the destruction asynchronously.
|
| virtual ThrottleCheckResult WillStartRequest();
|
|
|
| // Called when a server redirect is received by the navigation.
|
| + //
|
| + // The implementer is responsible for ensuring that the WebContents this
|
| + // throttle is associated with remain alive during the duration of this
|
| + // method. Failing to do so will result in use-after-free bugs. Should the
|
| + // implementer need to destroy the WebContents, it should return CANCEL,
|
| + // CANCEL_AND_IGNORE or DEFER and perform the destruction asynchronously.
|
| virtual ThrottleCheckResult WillRedirectRequest();
|
|
|
| // The NavigationHandle that is tracking the information related to this
|
|
|