#include "weblayer/renderer/weblayer_render_thread_observer.h"
#include "third_party/blink/public/common/associated_interfaces/associated_interface_registry.h"
namespace weblayer {
WebLayerRenderThreadObserver::WebLayerRenderThreadObserver() = default;
WebLayerRenderThreadObserver::~WebLayerRenderThreadObserver() = default;
void WebLayerRenderThreadObserver::RegisterMojoInterfaces(
blink::AssociatedInterfaceRegistry* associated_interfaces) {
associated_interfaces->AddInterface<
mojom::RendererConfiguration>(base::BindRepeating(
&WebLayerRenderThreadObserver::OnRendererConfigurationAssociatedRequest,
base::Unretained(this)));
}
void WebLayerRenderThreadObserver::UnregisterMojoInterfaces(
blink::AssociatedInterfaceRegistry* associated_interfaces) {
associated_interfaces->RemoveInterface(mojom::RendererConfiguration::Name_);
}
void WebLayerRenderThreadObserver::SetInitialConfiguration(
mojo::PendingRemote<content_settings::mojom::ContentSettingsManager>
content_settings_manager) {
if (content_settings_manager)
content_settings_manager_.Bind(std::move(content_settings_manager));
}
void WebLayerRenderThreadObserver::OnRendererConfigurationAssociatedRequest(
mojo::PendingAssociatedReceiver<mojom::RendererConfiguration> receiver) {
renderer_configuration_receivers_.Add(this, std::move(receiver));
}
}