blob: 17e5dd0d639d3d003c26d83aa4a3e977725e59cb [file] [log] [blame]
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import "ios/chrome/browser/url_loading/url_loading_observer_bridge.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif
UrlLoadingObserverBridge::UrlLoadingObserverBridge(id<URLLoadingObserver> owner)
: owner_(owner) {}
void UrlLoadingObserverBridge::TabWillLoadUrl(
const GURL& url,
ui::PageTransition transition_type) {
if ([owner_ respondsToSelector:@selector(tabWillLoadURL:transitionType:)]) {
[owner_ tabWillLoadURL:url transitionType:transition_type];
}
}
void UrlLoadingObserverBridge::TabFailedToLoadUrl(
const GURL& url,
ui::PageTransition transition_type) {
if ([owner_ respondsToSelector:@selector(tabFailedToLoadURL:
transitionType:)]) {
[owner_ tabFailedToLoadURL:url transitionType:transition_type];
}
}
void UrlLoadingObserverBridge::TabDidPrerenderUrl(
const GURL& url,
ui::PageTransition transition_type) {
if ([owner_ respondsToSelector:@selector(tabDidPrerenderURL:
transitionType:)]) {
[owner_ tabDidPrerenderURL:url transitionType:transition_type];
}
}
void UrlLoadingObserverBridge::TabDidReloadUrl(
const GURL& url,
ui::PageTransition transition_type) {
if ([owner_ respondsToSelector:@selector(tabDidReloadURL:transitionType:)]) {
[owner_ tabDidReloadURL:url transitionType:transition_type];
}
}
void UrlLoadingObserverBridge::TabDidLoadUrl(
const GURL& url,
ui::PageTransition transition_type) {
if ([owner_ respondsToSelector:@selector(tabDidLoadURL:transitionType:)]) {
[owner_ tabDidLoadURL:url transitionType:transition_type];
}
}
void UrlLoadingObserverBridge::NewTabWillLoadUrl(const GURL& url,
bool user_initiated) {
if ([owner_ respondsToSelector:@selector(newTabWillLoadURL:
isUserInitiated:)]) {
[owner_ newTabWillLoadURL:url isUserInitiated:user_initiated];
}
}
void UrlLoadingObserverBridge::NewTabDidLoadUrl(const GURL& url,
bool user_initiated) {
if ([owner_ respondsToSelector:@selector(newTabDidLoadURL:
isUserInitiated:)]) {
[owner_ newTabDidLoadURL:url isUserInitiated:user_initiated];
}
}
void UrlLoadingObserverBridge::WillSwitchToTabWithUrl(const GURL& url,
int new_web_state_index) {
if ([owner_ respondsToSelector:@selector(willSwitchToTabWithURL:
newWebStateIndex:)]) {
[owner_ willSwitchToTabWithURL:url newWebStateIndex:new_web_state_index];
}
}
void UrlLoadingObserverBridge::DidSwitchToTabWithUrl(const GURL& url,
int new_web_state_index) {
if ([owner_ respondsToSelector:@selector(didSwitchToTabWithURL:
newWebStateIndex:)]) {
[owner_ didSwitchToTabWithURL:url newWebStateIndex:new_web_state_index];
}
}