summaryrefslogtreecommitdiffstats
path: root/ios
diff options
context:
space:
mode:
authorjyquinn <jyquinn@chromium.org>2015-04-21 11:54:56 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-21 18:54:59 +0000
commit6ca9aef7b3ca3156f461fac59224dec3212f824d (patch)
treebfc7db369d1eced90890365850fea8ffddef95de /ios
parent41b7ebba3a4f7e466aaaaa54d5a058a69dd72b57 (diff)
downloadchromium_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.h3
-rw-r--r--ios/web/public/web_state/web_state_observer_bridge.h6
-rw-r--r--ios/web/web_state/web_state_observer_bridge.mm7
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:);