// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import "ios/web/public/js_messaging/web_frames_manager_observer_bridge.h"
namespace web {
WebFramesManagerObserverBridge::WebFramesManagerObserverBridge(
id<CRWWebFramesManagerObserver> observer)
: observer_(observer) {}
WebFramesManagerObserverBridge::~WebFramesManagerObserverBridge() = default;
void WebFramesManagerObserverBridge::WebFrameBecameAvailable(
WebFramesManager* web_frames_manager,
WebFrame* web_frame) {
SEL selector = @selector(webFramesManager:frameBecameAvailable:);
if ([observer_ respondsToSelector:selector]) {
[observer_ webFramesManager:web_frames_manager
frameBecameAvailable:web_frame];
}
}
void WebFramesManagerObserverBridge::WebFrameBecameUnavailable(
WebFramesManager* web_frames_manager,
const std::string& frame_id) {
SEL selector = @selector(webFramesManager:frameBecameUnavailable:);
if ([observer_ respondsToSelector:selector]) {
[observer_ webFramesManager:web_frames_manager
frameBecameUnavailable:frame_id];
}
}
} // namespace web