weblayer_render_thread_observer.cc 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Copyright 2020 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "weblayer/renderer/weblayer_render_thread_observer.h"
  5. #include "third_party/blink/public/common/associated_interfaces/associated_interface_registry.h"
  6. namespace weblayer {
  7. WebLayerRenderThreadObserver::WebLayerRenderThreadObserver() = default;
  8. WebLayerRenderThreadObserver::~WebLayerRenderThreadObserver() = default;
  9. void WebLayerRenderThreadObserver::RegisterMojoInterfaces(
  10. blink::AssociatedInterfaceRegistry* associated_interfaces) {
  11. associated_interfaces->AddInterface<
  12. mojom::RendererConfiguration>(base::BindRepeating(
  13. &WebLayerRenderThreadObserver::OnRendererConfigurationAssociatedRequest,
  14. base::Unretained(this)));
  15. }
  16. void WebLayerRenderThreadObserver::UnregisterMojoInterfaces(
  17. blink::AssociatedInterfaceRegistry* associated_interfaces) {
  18. associated_interfaces->RemoveInterface(mojom::RendererConfiguration::Name_);
  19. }
  20. // weblayer::mojom::RendererConfiguration:
  21. void WebLayerRenderThreadObserver::SetInitialConfiguration(
  22. mojo::PendingRemote<content_settings::mojom::ContentSettingsManager>
  23. content_settings_manager) {
  24. if (content_settings_manager)
  25. content_settings_manager_.Bind(std::move(content_settings_manager));
  26. }
  27. void WebLayerRenderThreadObserver::OnRendererConfigurationAssociatedRequest(
  28. mojo::PendingAssociatedReceiver<mojom::RendererConfiguration> receiver) {
  29. renderer_configuration_receivers_.Add(this, std::move(receiver));
  30. }
  31. } // namespace weblayer