[chromium] MediaStream API: Make WebMediaStreamDescriptor copyable
authortommyw@google.com <tommyw@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Jan 2012 22:07:58 +0000 (22:07 +0000)
committertommyw@google.com <tommyw@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Jan 2012 22:07:58 +0000 (22:07 +0000)
https://bugs.webkit.org/show_bug.cgi?id=76526

Reviewed by Darin Fisher.

This patch adds a copy constructor and a assignment operator to WebMediaStreamDescriptor.

* public/platform/WebMediaStreamDescriptor.h:
(WebKit::WebMediaStreamDescriptor::WebMediaStreamDescriptor):
(WebKit::WebMediaStreamDescriptor::operator=):
* src/WebMediaStreamDescriptor.cpp:
(WebKit::WebMediaStreamDescriptor::assign):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@105318 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/public/platform/WebMediaStreamDescriptor.h
Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp

index 5ad15a7..3bed94e 100644 (file)
@@ -1,3 +1,18 @@
+2012-01-18  Tommy Widenflycht  <tommyw@google.com>
+
+        [chromium] MediaStream API: Make WebMediaStreamDescriptor copyable
+        https://bugs.webkit.org/show_bug.cgi?id=76526
+
+        Reviewed by Darin Fisher.
+
+        This patch adds a copy constructor and a assignment operator to WebMediaStreamDescriptor.
+
+        * public/platform/WebMediaStreamDescriptor.h:
+        (WebKit::WebMediaStreamDescriptor::WebMediaStreamDescriptor):
+        (WebKit::WebMediaStreamDescriptor::operator=):
+        * src/WebMediaStreamDescriptor.cpp:
+        (WebKit::WebMediaStreamDescriptor::assign):
+
 2012-01-18  Dana Jansens  <danakj@chromium.org>
 
         [chromium] Enable tracking opaque region in Skia graphics context, return it from LayerTextureUpdater
index 52c63d3..f915a7e 100644 (file)
@@ -42,8 +42,16 @@ class WebString;
 class WebMediaStreamDescriptor {
 public:
     WebMediaStreamDescriptor() { }
+    WebMediaStreamDescriptor(const WebMediaStreamDescriptor& request) { assign(request); }
     ~WebMediaStreamDescriptor() { reset(); }
 
+    WebMediaStreamDescriptor& operator=(const WebMediaStreamDescriptor& other)
+    {
+        assign(other);
+        return *this;
+    }
+
+    WEBKIT_EXPORT void assign(const WebMediaStreamDescriptor&);
     WEBKIT_EXPORT void initialize(const WebString& label, const WebVector<WebMediaStreamSource>&);
     WEBKIT_EXPORT void reset();
     bool isNull() const { return m_private.isNull(); }
index 0cf53c0..ecdae92 100644 (file)
@@ -95,6 +95,14 @@ void WebMediaStreamDescriptor::initialize(const WebString& label, const WebVecto
     m_private = MediaStreamDescriptor::create(label, s);
 }
 
+void WebMediaStreamDescriptor::assign(const WebMediaStreamDescriptor& other)
+{
+    MediaStreamDescriptor* p = other.m_private.get();
+    if (p)
+        p->ref();
+    m_private = p;
+}
+
 } // namespace WebKit
 
 #endif // ENABLE(MEDIA_STREAM)