diff options
author | jyquinn <jyquinn@chromium.org> | 2015-04-21 11:54:56 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-21 18:54:59 +0000 |
commit | 6ca9aef7b3ca3156f461fac59224dec3212f824d (patch) | |
tree | bfc7db369d1eced90890365850fea8ffddef95de /ios | |
parent | 41b7ebba3a4f7e466aaaaa54d5a058a69dd72b57 (diff) | |
download | chromium_src-6ca9aef7b3ca3156f461fac59224dec3212f824d.zip chromium_src-6ca9aef7b3ca3156f461fac59224dec3212f824d.tar.gz chromium_src-6ca9aef7b3ca3156f461fac59224dec3212f824d.tar.bz2 |
Add ProvisionalNavigationStarted to WebStateObserver
Adds ProvisionalNavigationStarted to WebStateObserver.
ProvisionalNavigationStarted is invokes when a load request is
registered. It will be used to detect provisional page loads for
intercepting WebUI requests.
BUG=450362
Review URL: https://codereview.chromium.org/1097363002
Cr-Commit-Position: refs/heads/master@{#326086}
Diffstat (limited to 'ios')
-rw-r--r-- | ios/web/public/web_state/web_state_observer.h | 3 | ||||
-rw-r--r-- | ios/web/public/web_state/web_state_observer_bridge.h | 6 | ||||
-rw-r--r-- | ios/web/web_state/web_state_observer_bridge.mm | 7 |
3 files changed, 16 insertions, 0 deletions
diff --git a/ios/web/public/web_state/web_state_observer.h b/ios/web/public/web_state/web_state_observer.h index cd254f8..c24e299 100644 --- a/ios/web/public/web_state/web_state_observer.h +++ b/ios/web/public/web_state/web_state_observer.h @@ -32,6 +32,9 @@ class WebStateObserver { // Returns the web state associated with this observer. WebState* web_state() const { return web_state_; } + // This method is invoked when a load request is registered. + virtual void ProvisionalNavigationStarted(const GURL& url) {} + // This method is invoked when a new non-pending navigation item is created. // This corresponds to one NavigationManager item being created // (in the case of new navigations) or renavigated to (for back/forward diff --git a/ios/web/public/web_state/web_state_observer_bridge.h b/ios/web/public/web_state/web_state_observer_bridge.h index bc34bd6..e61bea441 100644 --- a/ios/web/public/web_state/web_state_observer_bridge.h +++ b/ios/web/public/web_state/web_state_observer_bridge.h @@ -18,6 +18,11 @@ class GURL; // web::WebStateObserver, wrap in a web::WebStateObserverBridge. @protocol CRWWebStateObserver<NSObject> @optional + +// Invoked by WebStateObserverBridge::ProvisionalNavigationStarted. +- (void)webState:(web::WebState*)webState + didStartProvisionalNavigationForURL:(const GURL&)URL; + // Invoked by WebStateObserverBridge::NavigationItemCommitted. - (void)webState:(web::WebState*)webState didCommitNavigationWithDetails: @@ -82,6 +87,7 @@ class WebStateObserverBridge : public web::WebStateObserver { ~WebStateObserverBridge() override; // web::WebStateObserver methods. + void ProvisionalNavigationStarted(const GURL& url) override; void NavigationItemCommitted( const LoadCommittedDetails& load_details) override; void PageLoaded( diff --git a/ios/web/web_state/web_state_observer_bridge.mm b/ios/web/web_state/web_state_observer_bridge.mm index eef1be7..c2028fe 100644 --- a/ios/web/web_state/web_state_observer_bridge.mm +++ b/ios/web/web_state/web_state_observer_bridge.mm @@ -14,6 +14,13 @@ WebStateObserverBridge::WebStateObserverBridge(web::WebState* webState, WebStateObserverBridge::~WebStateObserverBridge() { } +void WebStateObserverBridge::ProvisionalNavigationStarted(const GURL& url) { + SEL selector = @selector(webState:didStartProvisionalNavigationForURL:); + if ([observer_ respondsToSelector:selector]) { + [observer_ webState:web_state() didStartProvisionalNavigationForURL:url]; + } +} + void WebStateObserverBridge::NavigationItemCommitted( const web::LoadCommittedDetails& load_detatils) { SEL selector = @selector(webState:didCommitNavigationWithDetails:); |