Title: [106256] trunk/Source/WebKit/chromium
Revision
106256
Author
tom...@google.com
Date
2012-01-30 10:36:18 -0800 (Mon, 30 Jan 2012)

Log Message

[chromium] MediaStream API: Fix a few memory leaks
https://bugs.webkit.org/show_bug.cgi?id=77334

Reviewed by Darin Fisher.

It seems that either the behaviour of WebPrivatePtr has changed or I misunderstood
something, but I fixed a memory leak in WebMediaStreamDescriptor and safeguarded
WebMediaStreamSource.

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

Modified Paths

Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (106255 => 106256)


--- trunk/Source/WebKit/chromium/ChangeLog	2012-01-30 18:28:39 UTC (rev 106255)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-01-30 18:36:18 UTC (rev 106256)
@@ -1,3 +1,26 @@
+2012-01-30  Tommy Widenflycht  <tom...@google.com>
+
+        [chromium] MediaStream API: Fix a few memory leaks
+        https://bugs.webkit.org/show_bug.cgi?id=77334
+
+        Reviewed by Darin Fisher.
+
+        It seems that either the behaviour of WebPrivatePtr has changed or I misunderstood
+        something, but I fixed a memory leak in WebMediaStreamDescriptor and safeguarded
+        WebMediaStreamSource.
+
+        * public/platform/WebMediaStreamDescriptor.h:
+        (WebKit::WebMediaStreamDescriptor::WebMediaStreamDescriptor):
+        * public/platform/WebMediaStreamSource.h:
+        (WebKit::WebMediaStreamSource::WebMediaStreamSource):
+        (WebKit::WebMediaStreamSource::operator=):
+        (WebMediaStreamSource):
+        * src/WebMediaStreamDescriptor.cpp:
+        (WebKit::WebMediaStreamDescriptor::assign):
+        * src/WebMediaStreamSource.cpp:
+        (WebKit::WebMediaStreamSource::assign):
+        (WebKit):
+
 2012-01-30  Jochen Eisinger  <joc...@chromium.org>
 
         [chromium] remove exit time destructors from TextureManagerTest

Modified: trunk/Source/WebKit/chromium/public/platform/WebMediaStreamDescriptor.h (106255 => 106256)


--- trunk/Source/WebKit/chromium/public/platform/WebMediaStreamDescriptor.h	2012-01-30 18:28:39 UTC (rev 106255)
+++ trunk/Source/WebKit/chromium/public/platform/WebMediaStreamDescriptor.h	2012-01-30 18:36:18 UTC (rev 106256)
@@ -42,7 +42,7 @@
 class WebMediaStreamDescriptor {
 public:
     WebMediaStreamDescriptor() { }
-    WebMediaStreamDescriptor(const WebMediaStreamDescriptor& request) { assign(request); }
+    WebMediaStreamDescriptor(const WebMediaStreamDescriptor& other) { assign(other); }
     ~WebMediaStreamDescriptor() { reset(); }
 
     WebMediaStreamDescriptor& operator=(const WebMediaStreamDescriptor& other)

Modified: trunk/Source/WebKit/chromium/public/platform/WebMediaStreamSource.h (106255 => 106256)


--- trunk/Source/WebKit/chromium/public/platform/WebMediaStreamSource.h	2012-01-30 18:28:39 UTC (rev 106255)
+++ trunk/Source/WebKit/chromium/public/platform/WebMediaStreamSource.h	2012-01-30 18:36:18 UTC (rev 106256)
@@ -51,8 +51,17 @@
     };
 
     WebMediaStreamSource() { }
+    WebMediaStreamSource(const WebMediaStreamSource& other) { assign(other); }
     ~WebMediaStreamSource() { reset(); }
 
+    WebMediaStreamSource& operator=(const WebMediaStreamSource& other)
+    {
+        assign(other);
+        return *this;
+    }
+
+    WEBKIT_EXPORT void assign(const WebMediaStreamSource&);
+
     WEBKIT_EXPORT void initialize(const WebString& id, Type, const WebString& name);
     WEBKIT_EXPORT void reset();
     bool isNull() const { return m_private.isNull(); }

Modified: trunk/Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp (106255 => 106256)


--- trunk/Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp	2012-01-30 18:28:39 UTC (rev 106255)
+++ trunk/Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp	2012-01-30 18:36:18 UTC (rev 106256)
@@ -138,10 +138,7 @@
 
 void WebMediaStreamDescriptor::assign(const WebMediaStreamDescriptor& other)
 {
-    MediaStreamDescriptor* p = other.m_private.get();
-    if (p)
-        p->ref();
-    m_private = p;
+    m_private = other.m_private;
 }
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/chromium/src/WebMediaStreamSource.cpp (106255 => 106256)


--- trunk/Source/WebKit/chromium/src/WebMediaStreamSource.cpp	2012-01-30 18:28:39 UTC (rev 106255)
+++ trunk/Source/WebKit/chromium/src/WebMediaStreamSource.cpp	2012-01-30 18:36:18 UTC (rev 106256)
@@ -53,6 +53,11 @@
     return *this;
 }
 
+void WebMediaStreamSource::assign(const WebMediaStreamSource& other)
+{
+    m_private = other.m_private;
+}
+
 void WebMediaStreamSource::reset()
 {
     m_private.reset();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to