]> git.sesse.net Git - casparcg/blobdiff - dependencies64/cef/linux/include/wrapper/cef_message_router.h
Upgrade CEF to 3.3029.1611.g44e39a8 / Chromium 58.0.3029.81.
[casparcg] / dependencies64 / cef / linux / include / wrapper / cef_message_router.h
similarity index 96%
rename from dependencies64/cef/include/wrapper/cef_message_router.h
rename to dependencies64/cef/linux/include/wrapper/cef_message_router.h
index 6cb25a4f98bca923eeba77be163c7cfeff1acb41..23510ddcb31ac465d8f15cc05398b550a0720bb9 100644 (file)
@@ -37,6 +37,7 @@
 #define CEF_INCLUDE_WRAPPER_CEF_MESSAGE_ROUTER_H_
 #pragma once
 
+#include "include/base/cef_ref_counted.h"
 #include "include/cef_base.h"
 #include "include/cef_browser.h"
 #include "include/cef_process_message.h"
@@ -211,7 +212,8 @@ struct CefMessageRouterConfig {
 // Implements the browser side of query routing. The methods of this class may
 // be called on any browser process thread unless otherwise indicated.
 ///
-class CefMessageRouterBrowserSide : public CefBase {
+class CefMessageRouterBrowserSide :
+    public base::RefCountedThreadSafe<CefMessageRouterBrowserSide> {
  public:
   ///
   // Callback associated with a single pending asynchronous query. Execute the
@@ -221,7 +223,7 @@ class CefMessageRouterBrowserSide : public CefBase {
   // the callback methods. The methods of this class may be called on any
   // browser process thread.
   ///
-  class Callback : public CefBase {
+  class Callback : public CefBaseRefCounted {
    public:
     ///
     // Notify the associated JavaScript onSuccess callback that the query has
@@ -360,16 +362,20 @@ class CefMessageRouterBrowserSide : public CefBase {
       CefRefPtr<CefBrowser> browser,
       CefProcessId source_process,
       CefRefPtr<CefProcessMessage> message) =0;
+
+ protected:
+  // Protect against accidental deletion of this object.
+  friend class base::RefCountedThreadSafe<CefMessageRouterBrowserSide>;
+  virtual ~CefMessageRouterBrowserSide() {}
 };
 
 ///
 // Implements the renderer side of query routing. The methods of this class must
 // be called on the render process main thread.
 ///
-class CefMessageRouterRendererSide : public CefBase {
+class CefMessageRouterRendererSide :
+    public base::RefCountedThreadSafe<CefMessageRouterRendererSide> {
  public:
-  virtual ~CefMessageRouterRendererSide() {}
-
   ///
   // Create a new router with the specified configuration.
   ///
@@ -412,6 +418,11 @@ class CefMessageRouterRendererSide : public CefBase {
       CefRefPtr<CefBrowser> browser,
       CefProcessId source_process,
       CefRefPtr<CefProcessMessage> message) =0;
+
+ protected:
+  // Protect against accidental deletion of this object.
+  friend class base::RefCountedThreadSafe<CefMessageRouterRendererSide>;
+  virtual ~CefMessageRouterRendererSide() {}
 };
 
 #endif  // CEF_INCLUDE_WRAPPER_CEF_MESSAGE_ROUTER_H_