Title: [124362] trunk/Source
- Revision
- 124362
- Author
- tom...@google.com
- Date
- 2012-08-01 13:33:39 -0700 (Wed, 01 Aug 2012)
Log Message
MediaStream API: Add ExtraData capability to MediaStreamSource
https://bugs.webkit.org/show_bug.cgi?id=92860
Reviewed by Adam Barth.
The Chromium port needs to store some related data in MediaStreamSource objects.
Source/Platform:
* chromium/public/WebMediaStreamSource.h:
(ExtraData):
(WebKit::WebMediaStreamSource::ExtraData::~ExtraData):
(WebMediaStreamSource):
Source/WebCore:
Not testable from a LayoutTest.
* platform/chromium/support/WebMediaStreamSource.cpp:
(ExtraDataContainer):
(WebKit::ExtraDataContainer::ExtraDataContainer):
(WebKit::ExtraDataContainer::extraData):
(WebKit):
(WebKit::WebMediaStreamSource::extraData):
(WebKit::WebMediaStreamSource::setExtraData):
* platform/mediastream/MediaStreamSource.h:
(ExtraData):
(WebCore::MediaStreamSource::ExtraData::~ExtraData):
(MediaStreamSource):
(WebCore::MediaStreamSource::extraData):
(WebCore::MediaStreamSource::setExtraData):
Modified Paths
Diff
Modified: trunk/Source/Platform/ChangeLog (124361 => 124362)
--- trunk/Source/Platform/ChangeLog 2012-08-01 20:20:53 UTC (rev 124361)
+++ trunk/Source/Platform/ChangeLog 2012-08-01 20:33:39 UTC (rev 124362)
@@ -1,3 +1,17 @@
+2012-08-01 Tommy Widenflycht <tom...@google.com>
+
+ MediaStream API: Add ExtraData capability to MediaStreamSource
+ https://bugs.webkit.org/show_bug.cgi?id=92860
+
+ Reviewed by Adam Barth.
+
+ The Chromium port needs to store some related data in MediaStreamSource objects.
+
+ * chromium/public/WebMediaStreamSource.h:
+ (ExtraData):
+ (WebKit::WebMediaStreamSource::ExtraData::~ExtraData):
+ (WebMediaStreamSource):
+
2012-08-01 Alexei Filippov <alex...@chromium.org>
Web Inspector: count DOM storage cache memory for native snapshot
Modified: trunk/Source/Platform/chromium/public/WebMediaStreamSource.h (124361 => 124362)
--- trunk/Source/Platform/chromium/public/WebMediaStreamSource.h 2012-08-01 20:20:53 UTC (rev 124361)
+++ trunk/Source/Platform/chromium/public/WebMediaStreamSource.h 2012-08-01 20:33:39 UTC (rev 124362)
@@ -45,6 +45,11 @@
class WebMediaStreamSource {
public:
+ class ExtraData {
+ public:
+ virtual ~ExtraData() { }
+ };
+
enum Type {
TypeAudio,
TypeVideo
@@ -79,6 +84,13 @@
WEBKIT_EXPORT void setReadyState(ReadyState);
WEBKIT_EXPORT ReadyState readyState() const;
+ // Extra data associated with this object.
+ // If non-null, the extra data pointer will be deleted when the object is destroyed.
+ // Setting the extra data pointer will cause any existing non-null
+ // extra data pointer to be deleted.
+ WEBKIT_EXPORT ExtraData* extraData() const;
+ WEBKIT_EXPORT void setExtraData(ExtraData*);
+
#if WEBKIT_IMPLEMENTATION
WebMediaStreamSource(const WTF::PassRefPtr<WebCore::MediaStreamSource>&);
WebMediaStreamSource& operator=(WebCore::MediaStreamSource*);
Modified: trunk/Source/WebCore/ChangeLog (124361 => 124362)
--- trunk/Source/WebCore/ChangeLog 2012-08-01 20:20:53 UTC (rev 124361)
+++ trunk/Source/WebCore/ChangeLog 2012-08-01 20:33:39 UTC (rev 124362)
@@ -1,3 +1,28 @@
+2012-08-01 Tommy Widenflycht <tom...@google.com>
+
+ MediaStream API: Add ExtraData capability to MediaStreamSource
+ https://bugs.webkit.org/show_bug.cgi?id=92860
+
+ Reviewed by Adam Barth.
+
+ The Chromium port needs to store some related data in MediaStreamSource objects.
+
+ Not testable from a LayoutTest.
+
+ * platform/chromium/support/WebMediaStreamSource.cpp:
+ (ExtraDataContainer):
+ (WebKit::ExtraDataContainer::ExtraDataContainer):
+ (WebKit::ExtraDataContainer::extraData):
+ (WebKit):
+ (WebKit::WebMediaStreamSource::extraData):
+ (WebKit::WebMediaStreamSource::setExtraData):
+ * platform/mediastream/MediaStreamSource.h:
+ (ExtraData):
+ (WebCore::MediaStreamSource::ExtraData::~ExtraData):
+ (MediaStreamSource):
+ (WebCore::MediaStreamSource::extraData):
+ (WebCore::MediaStreamSource::setExtraData):
+
2012-08-01 Joshua Bell <jsb...@chromium.org>
IndexedDB: IDBCursor.continue(key) does not throw for key "behind" cursor
Modified: trunk/Source/WebCore/platform/chromium/support/WebMediaStreamSource.cpp (124361 => 124362)
--- trunk/Source/WebCore/platform/chromium/support/WebMediaStreamSource.cpp 2012-08-01 20:20:53 UTC (rev 124361)
+++ trunk/Source/WebCore/platform/chromium/support/WebMediaStreamSource.cpp 2012-08-01 20:33:39 UTC (rev 124362)
@@ -36,6 +36,7 @@
#include "MediaStreamSource.h"
#include <public/WebString.h>
+#include <wtf/PassOwnPtr.h>
#include <wtf/Vector.h>
using namespace WebCore;
@@ -108,6 +109,29 @@
return static_cast<ReadyState>(m_private->readyState());
}
+class ExtraDataContainer : public WebCore::MediaStreamSource::ExtraData {
+public:
+ ExtraDataContainer(WebMediaStreamSource::ExtraData* extraData) : m_extraData(WTF::adoptPtr(extraData)) { }
+
+ WebMediaStreamSource::ExtraData* extraData() { return m_extraData.get(); }
+
+private:
+ OwnPtr<WebMediaStreamSource::ExtraData> m_extraData;
+};
+
+WebMediaStreamSource::ExtraData* WebMediaStreamSource::extraData() const
+{
+ RefPtr<MediaStreamSource::ExtraData> data = ""
+ if (!data)
+ return 0;
+ return static_cast<ExtraDataContainer*>(data.get())->extraData();
+}
+
+void WebMediaStreamSource::setExtraData(ExtraData* extraData)
+{
+ m_private->setExtraData(adoptRef(new ExtraDataContainer(extraData)));
+}
+
} // namespace WebKit
#endif // ENABLE(MEDIA_STREAM)
Modified: trunk/Source/WebCore/platform/mediastream/MediaStreamSource.h (124361 => 124362)
--- trunk/Source/WebCore/platform/mediastream/MediaStreamSource.h 2012-08-01 20:20:53 UTC (rev 124361)
+++ trunk/Source/WebCore/platform/mediastream/MediaStreamSource.h 2012-08-01 20:33:39 UTC (rev 124362)
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2011 Ericsson AB. All rights reserved.
+ * Copyright (C) 2012 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -47,6 +48,11 @@
virtual void sourceChangedState() = 0;
};
+ class ExtraData : public RefCounted<ExtraData> {
+ public:
+ virtual ~ExtraData() { }
+ };
+
enum Type {
TypeAudio,
TypeVideo
@@ -70,6 +76,9 @@
void addObserver(Observer*);
void removeObserver(Observer*);
+ PassRefPtr<ExtraData> extraData() const { return m_extraData; }
+ void setExtraData(PassRefPtr<ExtraData> extraData) { m_extraData = extraData; }
+
private:
MediaStreamSource(const String& id, Type, const String& name, ReadyState);
@@ -78,6 +87,7 @@
String m_name;
ReadyState m_readyState;
Vector<Observer*> m_observers;
+ RefPtr<ExtraData> m_extraData;
};
typedef Vector<RefPtr<MediaStreamSource> > MediaStreamSourceVector;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes