// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/cast_receiver/browser/content_browser_client_mixins_impl.h"
#include "third_party/blink/public/common/loader/url_loader_throttle.h"
namespace cast_receiver {
// static
std::unique_ptr<ContentBrowserClientMixins> ContentBrowserClientMixins::Create(
network::NetworkContextGetter network_content_getter) {
return std::make_unique<ContentBrowserClientMixinsImpl>(
std::move(network_content_getter));
}
ContentBrowserClientMixinsImpl::ContentBrowserClientMixinsImpl(
network::NetworkContextGetter network_context_getter)
: application_client_(std::move(network_context_getter)) {}
ContentBrowserClientMixinsImpl::~ContentBrowserClientMixinsImpl() = default;
void ContentBrowserClientMixinsImpl::AddStreamingResolutionObserver(
StreamingResolutionObserver* observer) {
application_client_.AddStreamingResolutionObserver(observer);
}
void ContentBrowserClientMixinsImpl::RemoveStreamingResolutionObserver(
StreamingResolutionObserver* observer) {
application_client_.RemoveStreamingResolutionObserver(observer);
}
void ContentBrowserClientMixinsImpl::AddApplicationStateObserver(
ApplicationStateObserver* observer) {
application_client_.AddApplicationStateObserver(observer);
}
void ContentBrowserClientMixinsImpl::RemoveApplicationStateObserver(
ApplicationStateObserver* observer) {
application_client_.RemoveApplicationStateObserver(observer);
}
void ContentBrowserClientMixinsImpl::OnWebContentsCreated(
content::WebContents* web_contents) {
application_client_.OnWebContentsCreated(web_contents);
}
std::vector<std::unique_ptr<blink::URLLoaderThrottle>>
ContentBrowserClientMixinsImpl::CreateURLLoaderThrottles(
const base::RepeatingCallback<content::WebContents*()>& wc_getter,
int frame_tree_node_id,
CorsExemptHeaderCallback is_cors_exempt_header_cb) {
return application_client_.CreateURLLoaderThrottles(
std::move(wc_getter), frame_tree_node_id,
std::move(is_cors_exempt_header_cb));
}
ApplicationClient& ContentBrowserClientMixinsImpl::GetApplicationClient() {
return application_client_;
}
} // namespace cast_receiver