Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / content / renderer / media / peer_connection_tracker.h
index 8a774cb..08f9086 100644 (file)
@@ -8,6 +8,8 @@
 #include <map>
 
 #include "base/compiler_specific.h"
+#include "base/memory/weak_ptr.h"
+#include "base/threading/thread_checker.h"
 #include "content/public/renderer/render_process_observer.h"
 #include "third_party/WebKit/public/platform/WebMediaStream.h"
 #include "third_party/WebKit/public/platform/WebRTCPeerConnectionHandlerClient.h"
@@ -33,10 +35,12 @@ class RTCPeerConnectionHandler;
 // This class collects data about each peer connection,
 // sends it to the browser process, and handles messages
 // from the browser process.
-class CONTENT_EXPORT PeerConnectionTracker : public RenderProcessObserver {
+class CONTENT_EXPORT PeerConnectionTracker
+    : public RenderProcessObserver,
+      public base::SupportsWeakPtr<PeerConnectionTracker> {
  public:
   PeerConnectionTracker();
-  virtual ~PeerConnectionTracker();
+  ~PeerConnectionTracker() override;
 
   enum Source {
     SOURCE_LOCAL,
@@ -51,7 +55,7 @@ class CONTENT_EXPORT PeerConnectionTracker : public RenderProcessObserver {
   };
 
   // RenderProcessObserver implementation.
-  virtual bool OnControlMessageReceived(const IPC::Message& message) OVERRIDE;
+  bool OnControlMessageReceived(const IPC::Message& message) override;
 
   //
   // The following methods send an update to the browser process when a
@@ -87,7 +91,7 @@ class CONTENT_EXPORT PeerConnectionTracker : public RenderProcessObserver {
   // Sends an update when setLocalDescription or setRemoteDescription is called.
   virtual void TrackSetSessionDescription(
       RTCPeerConnectionHandler* pc_handler,
-      const blink::WebRTCSessionDescription& desc, Source source);
+      const std::string& sdp, const std::string& type, Source source);
 
   // Sends an update when Ice candidates are updated.
   virtual void TrackUpdateIce(
@@ -176,6 +180,7 @@ class CONTENT_EXPORT PeerConnectionTracker : public RenderProcessObserver {
 
   // This keeps track of the next available local ID.
   int next_lid_;
+  base::ThreadChecker main_thread_;
 
   DISALLOW_COPY_AND_ASSIGN(PeerConnectionTracker);
 };