mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	This change introduces a few minor CEF API behavior changes: - A CefProcessMessage object cannot be reused after being passed to SendProcessMessage. - The |extra_info| argument to CefRenderProcessHandler::OnBrowserCreated may now be NULL. Where appropriate, we now utilize the default UTF string encoding format and shared memory to reduce copies and conversions for the cross-process transfer of arbitrary-length strings. For example, CefFrame::GetSource/GetText now involves zero UTF conversions and zero copies in the browser process for the CefString delivered to CefStringVisitor::Visit().
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// Copyright 2020 The Chromium Embedded Framework Authors.
 | 
						|
// Portions copyright 2012 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_CHROME_CHROME_CONTENT_RENDERER_CLIENT_CEF_
 | 
						|
#define CEF_LIBCEF_RENDERER_CHROME_CHROME_CONTENT_RENDERER_CLIENT_CEF_
 | 
						|
 | 
						|
#include <memory>
 | 
						|
 | 
						|
#include "base/macros.h"
 | 
						|
#include "base/memory/scoped_refptr.h"
 | 
						|
#include "base/single_thread_task_runner.h"
 | 
						|
#include "chrome/renderer/chrome_content_renderer_client.h"
 | 
						|
 | 
						|
class CefRenderManager;
 | 
						|
 | 
						|
// CEF override of ChromeContentRendererClient.
 | 
						|
class ChromeContentRendererClientCef : public ChromeContentRendererClient {
 | 
						|
 public:
 | 
						|
  ChromeContentRendererClientCef();
 | 
						|
  ~ChromeContentRendererClientCef() override;
 | 
						|
 | 
						|
  // Render thread task runner.
 | 
						|
  base::SingleThreadTaskRunner* render_task_runner() const {
 | 
						|
    return render_task_runner_.get();
 | 
						|
  }
 | 
						|
 | 
						|
  // Returns the task runner for the current thread. Returns NULL if the current
 | 
						|
  // thread is not the main render process thread.
 | 
						|
  scoped_refptr<base::SingleThreadTaskRunner> GetCurrentTaskRunner();
 | 
						|
 | 
						|
  // ChromeContentRendererClient overrides.
 | 
						|
  void RenderThreadStarted() override;
 | 
						|
  void RenderThreadConnected() override;
 | 
						|
  void RenderFrameCreated(content::RenderFrame* render_frame) override;
 | 
						|
  void RenderViewCreated(content::RenderView* render_view) override;
 | 
						|
  void DevToolsAgentAttached() override;
 | 
						|
  void DevToolsAgentDetached() override;
 | 
						|
  void ExposeInterfacesToBrowser(mojo::BinderMap* binders) override;
 | 
						|
 | 
						|
 private:
 | 
						|
  std::unique_ptr<CefRenderManager> render_manager_;
 | 
						|
 | 
						|
  scoped_refptr<base::SingleThreadTaskRunner> render_task_runner_;
 | 
						|
 | 
						|
  DISALLOW_COPY_AND_ASSIGN(ChromeContentRendererClientCef);
 | 
						|
};
 | 
						|
 | 
						|
#endif  // CEF_LIBCEF_RENDERER_CHROME_CHROME_CONTENT_RENDERER_CLIENT_CEF_
 |