mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	- Mac: 13.3 SDK (Xcode 14.3) is now supported (see https://crbug.com/1431897). - Mac: Removed UnderlayOpenGLHostingWindow which is no longer used.
		
			
				
	
	
		
			69 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// Copyright (c) 2013 The Chromium Embedded Framework Authors.
 | 
						|
// Portions copyright (c) 2011 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.
 | 
						|
 | 
						|
#ifndef CEF_LIBCEF_RENDERER_ALLOY_ALLOY_RENDER_THREAD_OBSERVER_H_
 | 
						|
#define CEF_LIBCEF_RENDERER_ALLOY_ALLOY_RENDER_THREAD_OBSERVER_H_
 | 
						|
 | 
						|
#include <memory>
 | 
						|
 | 
						|
#include "base/synchronization/lock.h"
 | 
						|
#include "base/thread_annotations.h"
 | 
						|
#include "chrome/common/renderer_configuration.mojom.h"
 | 
						|
#include "components/content_settings/core/common/content_settings.h"
 | 
						|
#include "content/public/renderer/render_thread_observer.h"
 | 
						|
#include "mojo/public/cpp/bindings/associated_receiver_set.h"
 | 
						|
 | 
						|
// This class sends and receives control messages in the renderer process.
 | 
						|
class AlloyRenderThreadObserver : public content::RenderThreadObserver,
 | 
						|
                                  public chrome::mojom::RendererConfiguration {
 | 
						|
 public:
 | 
						|
  AlloyRenderThreadObserver();
 | 
						|
 | 
						|
  AlloyRenderThreadObserver(const AlloyRenderThreadObserver&) = delete;
 | 
						|
  AlloyRenderThreadObserver& operator=(const AlloyRenderThreadObserver&) =
 | 
						|
      delete;
 | 
						|
 | 
						|
  ~AlloyRenderThreadObserver() override;
 | 
						|
 | 
						|
  bool IsIncognitoProcess() const { return is_incognito_process_; }
 | 
						|
 | 
						|
  // Return a copy of the dynamic parameters - those that may change while the
 | 
						|
  // render process is running.
 | 
						|
  chrome::mojom::DynamicParamsPtr GetDynamicParams() const;
 | 
						|
 | 
						|
 private:
 | 
						|
  // content::RenderThreadObserver:
 | 
						|
  void RegisterMojoInterfaces(
 | 
						|
      blink::AssociatedInterfaceRegistry* associated_interfaces) override;
 | 
						|
  void UnregisterMojoInterfaces(
 | 
						|
      blink::AssociatedInterfaceRegistry* associated_interfaces) override;
 | 
						|
 | 
						|
  // chrome::mojom::RendererConfiguration:
 | 
						|
  void SetInitialConfiguration(
 | 
						|
      bool is_incognito_process,
 | 
						|
      mojo::PendingReceiver<chrome::mojom::ChromeOSListener>
 | 
						|
          chromeos_listener_receiver,
 | 
						|
      mojo::PendingRemote<content_settings::mojom::ContentSettingsManager>
 | 
						|
          content_settings_manager,
 | 
						|
      mojo::PendingRemote<chrome::mojom::BoundSessionRequestThrottledListener>
 | 
						|
          bound_session_request_throttled_listener) override;
 | 
						|
  void SetConfiguration(chrome::mojom::DynamicParamsPtr params) override;
 | 
						|
 | 
						|
  void OnRendererConfigurationAssociatedRequest(
 | 
						|
      mojo::PendingAssociatedReceiver<chrome::mojom::RendererConfiguration>
 | 
						|
          receiver);
 | 
						|
 | 
						|
  bool is_incognito_process_ = false;
 | 
						|
 | 
						|
  mojo::AssociatedReceiverSet<chrome::mojom::RendererConfiguration>
 | 
						|
      renderer_configuration_receivers_;
 | 
						|
 | 
						|
  chrome::mojom::DynamicParamsPtr dynamic_params_
 | 
						|
      GUARDED_BY(dynamic_params_lock_);
 | 
						|
  mutable base::Lock dynamic_params_lock_;
 | 
						|
};
 | 
						|
 | 
						|
#endif  // CEF_LIBCEF_RENDERER_ALLOY_ALLOY_RENDER_THREAD_OBSERVER_H_
 |