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