Commit 34537983 authored by Sylvain Defresne's avatar Sylvain Defresne Committed by Commit Bot

Allow WebStateObserver to observe N WebStates [58/58].

Remove deprecated methods from WebStateObserverBridge as they
are now unused.

Bug: 775684
Change-Id: I7c6cf9ef3dff9fa2e88851c9eecdd2242e5f6286
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Reviewed-on: https://chromium-review.googlesource.com/779004
Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: default avatarEugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521316}
parent 9f638b8e
......@@ -87,27 +87,12 @@
namespace web {
class WebState;
// Bridge to use an id<CRWWebStateObserver> as a web::WebStateObserver.
class WebStateObserverBridge : public web::WebStateObserver {
public:
// Returns the web state associated with this observer.
// TODO(crbug.com/775684): this is deprecated. Remove once all observer
// have been converted to manage the registration with WebState directly.
WebState* web_state() const { return web_state_; }
// Use this constructor to control which WebStates to observe. It it the
// responsibility of calling code to add/remove the instance from the
// WebStates observer lists.
// It it the responsibility of calling code to add/remove the instance
// from the WebStates observer lists.
WebStateObserverBridge(id<CRWWebStateObserver> observer);
// Use this constructor when using automatic registration/unregistration
// of the WebStateObserver. Deprecated. TODO(crbug.com/775684): remove
// once all observer have been converted.
// TODO(crbug.com/775684): this is deprecated. Remove once all observer
// have been converted to manage the registration with WebState directly.
WebStateObserverBridge(web::WebState* web_state,
id<CRWWebStateObserver> observer);
~WebStateObserverBridge() override;
// web::WebStateObserver methods.
......@@ -141,19 +126,7 @@ class WebStateObserverBridge : public web::WebStateObserver {
void DidStartLoading(web::WebState* web_state) override;
void DidStopLoading(web::WebState* web_state) override;
protected:
// Start observing a different WebState; used with the default constructor.
// TODO(crbug.com/775684): this is deprecated. Remove once all observer
// have been converted to manage the registration with WebState directly.
void Observe(WebState* web_state);
private:
// The WebState this instance is observing. Will be null after
// WebStateDestroyed has been called or if registration is manual.
// TODO(crbug.com/775684): this is deprecated. Remove once all observer
// have been converted to manage the registration with WebState directly.
WebState* web_state_ = nullptr;
__weak id<CRWWebStateObserver> observer_ = nil;
DISALLOW_COPY_AND_ASSIGN(WebStateObserverBridge);
};
......
......@@ -4,7 +4,6 @@
#import "ios/web/public/web_state/web_state_observer_bridge.h"
#include "base/logging.h"
#include "ios/web/public/web_state/form_activity_params.h"
#import "ios/web/public/web_state/web_state.h"
......@@ -17,30 +16,15 @@ namespace web {
WebStateObserverBridge::WebStateObserverBridge(id<CRWWebStateObserver> observer)
: observer_(observer) {}
WebStateObserverBridge::WebStateObserverBridge(web::WebState* web_state,
id<CRWWebStateObserver> observer)
: web_state_(web_state), observer_(observer) {
if (web_state_) {
web_state_->AddObserver(this);
}
}
WebStateObserverBridge::~WebStateObserverBridge() {
if (web_state_) {
web_state_->RemoveObserver(this);
web_state_ = nullptr;
}
}
WebStateObserverBridge::~WebStateObserverBridge() = default;
void WebStateObserverBridge::WasShown(web::WebState* web_state) {
DCHECK(!web_state_ || web_state_ == web_state);
if ([observer_ respondsToSelector:@selector(webStateWasShown:)]) {
[observer_ webStateWasShown:web_state];
}
}
void WebStateObserverBridge::WasHidden(web::WebState* web_state) {
DCHECK(!web_state_ || web_state_ == web_state);
if ([observer_ respondsToSelector:@selector(webStateWasHidden:)]) {
[observer_ webStateWasHidden:web_state];
}
......@@ -48,7 +32,6 @@ void WebStateObserverBridge::WasHidden(web::WebState* web_state) {
void WebStateObserverBridge::NavigationItemsPruned(web::WebState* web_state,
size_t pruned_item_count) {
DCHECK(!web_state_ || web_state_ == web_state);
SEL selector = @selector(webState:didPruneNavigationItemsWithCount:);
if ([observer_ respondsToSelector:selector]) {
[observer_ webState:web_state
......@@ -59,7 +42,6 @@ void WebStateObserverBridge::NavigationItemsPruned(web::WebState* web_state,
void WebStateObserverBridge::NavigationItemCommitted(
web::WebState* web_state,
const web::LoadCommittedDetails& load_detatils) {
DCHECK(!web_state_ || web_state_ == web_state);
SEL selector = @selector(webState:didCommitNavigationWithDetails:);
if ([observer_ respondsToSelector:selector]) {
[observer_ webState:web_state didCommitNavigationWithDetails:load_detatils];
......@@ -69,7 +51,6 @@ void WebStateObserverBridge::NavigationItemCommitted(
void WebStateObserverBridge::DidStartNavigation(
web::WebState* web_state,
web::NavigationContext* navigation_context) {
DCHECK(!web_state_ || web_state_ == web_state);
if ([observer_ respondsToSelector:@selector(webState:didStartNavigation:)]) {
[observer_ webState:web_state didStartNavigation:navigation_context];
}
......@@ -78,14 +59,12 @@ void WebStateObserverBridge::DidStartNavigation(
void WebStateObserverBridge::DidFinishNavigation(
web::WebState* web_state,
web::NavigationContext* navigation_context) {
DCHECK(!web_state_ || web_state_ == web_state);
if ([observer_ respondsToSelector:@selector(webState:didFinishNavigation:)]) {
[observer_ webState:web_state didFinishNavigation:navigation_context];
}
}
void WebStateObserverBridge::DidStartLoading(web::WebState* web_state) {
DCHECK(!web_state_ || web_state_ == web_state);
SEL selector = @selector(webStateDidStartLoading:);
if ([observer_ respondsToSelector:selector]) {
[observer_ webStateDidStartLoading:web_state];
......@@ -93,7 +72,6 @@ void WebStateObserverBridge::DidStartLoading(web::WebState* web_state) {
}
void WebStateObserverBridge::DidStopLoading(web::WebState* web_state) {
DCHECK(!web_state_ || web_state_ == web_state);
SEL selector = @selector(webStateDidStopLoading:);
if ([observer_ respondsToSelector:selector]) {
[observer_ webStateDidStopLoading:web_state];
......@@ -103,7 +81,6 @@ void WebStateObserverBridge::DidStopLoading(web::WebState* web_state) {
void WebStateObserverBridge::PageLoaded(
web::WebState* web_state,
web::PageLoadCompletionStatus load_completion_status) {
DCHECK(!web_state_ || web_state_ == web_state);
SEL selector = @selector(webState:didLoadPageWithSuccess:);
if ([observer_ respondsToSelector:selector]) {
BOOL success = NO;
......@@ -121,7 +98,6 @@ void WebStateObserverBridge::PageLoaded(
void WebStateObserverBridge::LoadProgressChanged(web::WebState* web_state,
double progress) {
DCHECK(!web_state_ || web_state_ == web_state);
SEL selector = @selector(webState:didChangeLoadingProgress:);
if ([observer_ respondsToSelector:selector]) {
[observer_ webState:web_state didChangeLoadingProgress:progress];
......@@ -129,7 +105,6 @@ void WebStateObserverBridge::LoadProgressChanged(web::WebState* web_state,
}
void WebStateObserverBridge::TitleWasSet(web::WebState* web_state) {
DCHECK(!web_state_ || web_state_ == web_state);
if ([observer_ respondsToSelector:@selector(webStateDidChangeTitle:)]) {
[observer_ webStateDidChangeTitle:web_state];
}
......@@ -137,7 +112,6 @@ void WebStateObserverBridge::TitleWasSet(web::WebState* web_state) {
void WebStateObserverBridge::DidChangeVisibleSecurityState(
web::WebState* web_state) {
DCHECK(!web_state_ || web_state_ == web_state);
SEL selector = @selector(webStateDidChangeVisibleSecurityState:);
if ([observer_ respondsToSelector:selector]) {
[observer_ webStateDidChangeVisibleSecurityState:web_state];
......@@ -145,7 +119,6 @@ void WebStateObserverBridge::DidChangeVisibleSecurityState(
}
void WebStateObserverBridge::DidSuppressDialog(web::WebState* web_state) {
DCHECK(!web_state_ || web_state_ == web_state);
if ([observer_ respondsToSelector:@selector(webStateDidSuppressDialog:)]) {
[observer_ webStateDidSuppressDialog:web_state];
}
......@@ -154,7 +127,6 @@ void WebStateObserverBridge::DidSuppressDialog(web::WebState* web_state) {
void WebStateObserverBridge::DocumentSubmitted(web::WebState* web_state,
const std::string& form_name,
bool user_initiated) {
DCHECK(!web_state_ || web_state_ == web_state);
SEL selector =
@selector(webState:didSubmitDocumentWithFormNamed:userInitiated:);
if ([observer_ respondsToSelector:selector]) {
......@@ -167,7 +139,6 @@ void WebStateObserverBridge::DocumentSubmitted(web::WebState* web_state,
void WebStateObserverBridge::FormActivityRegistered(
web::WebState* web_state,
const FormActivityParams& params) {
DCHECK(!web_state_ || web_state_ == web_state);
SEL selector = @selector(webState:didRegisterFormActivity:);
if ([observer_ respondsToSelector:selector]) {
[observer_ webState:web_state didRegisterFormActivity:params];
......@@ -177,7 +148,6 @@ void WebStateObserverBridge::FormActivityRegistered(
void WebStateObserverBridge::FaviconUrlUpdated(
web::WebState* web_state,
const std::vector<FaviconURL>& candidates) {
DCHECK(!web_state_ || web_state_ == web_state);
SEL selector = @selector(webState:didUpdateFaviconURLCandidates:);
if ([observer_ respondsToSelector:selector]) {
[observer_ webState:web_state didUpdateFaviconURLCandidates:candidates];
......@@ -185,19 +155,12 @@ void WebStateObserverBridge::FaviconUrlUpdated(
}
void WebStateObserverBridge::RenderProcessGone(web::WebState* web_state) {
DCHECK(!web_state_ || web_state_ == web_state);
if ([observer_ respondsToSelector:@selector(renderProcessGoneForWebState:)]) {
[observer_ renderProcessGoneForWebState:web_state];
}
}
void WebStateObserverBridge::WebStateDestroyed(web::WebState* web_state) {
DCHECK(!web_state_ || web_state_ == web_state);
if (web_state_) {
web_state_->RemoveObserver(this);
web_state_ = nullptr;
}
SEL selector = @selector(webStateDestroyed:);
if ([observer_ respondsToSelector:selector]) {
// |webStateDestroyed:| may delete |this|, so don't expect |this| to be
......@@ -206,11 +169,4 @@ void WebStateObserverBridge::WebStateDestroyed(web::WebState* web_state) {
}
}
void WebStateObserverBridge::Observe(WebState* web_state) {
// No class should sub-class WebStateObserverBridge, so this method should
// never be called. It is there to protect a potential sub-class from calling
// WebStateObserver implementation (this would break WebStateObserverBridge).
NOTREACHED();
}
} // namespace web
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment