Diff
Modified: trunk/Source/WebCore/ChangeLog (91454 => 91455)
--- trunk/Source/WebCore/ChangeLog 2011-07-21 09:51:59 UTC (rev 91454)
+++ trunk/Source/WebCore/ChangeLog 2011-07-21 10:05:41 UTC (rev 91455)
@@ -1,3 +1,23 @@
+2011-07-21 Tommy Widenflycht <[email protected]>
+
+ MediaStream API: Merging MediaStreamContainer and MediaStreamList
+ https://bugs.webkit.org/show_bug.cgi?id=64794
+
+ Reviewed by Tony Gentilcore.
+
+ * GNUmakefile.list.am:
+ * dom/MediaStreamContainer.h: Removed.
+ * dom/MediaStreamList.cpp:
+ (WebCore::MediaStreamList::create):
+ (WebCore::MediaStreamList::MediaStreamList):
+ (WebCore::MediaStreamList::length):
+ (WebCore::MediaStreamList::item):
+ (WebCore::MediaStreamList::add):
+ (WebCore::MediaStreamList::remove):
+ (WebCore::MediaStreamList::contains):
+ (WebCore::MediaStreamList::get):
+ * dom/MediaStreamList.h:
+
2011-07-20 Yury Semikhatsky <[email protected]>
Web Inspector: always open dedicated worker inspector in a new window not a new tab
Modified: trunk/Source/WebCore/GNUmakefile.list.am (91454 => 91455)
--- trunk/Source/WebCore/GNUmakefile.list.am 2011-07-21 09:51:59 UTC (rev 91454)
+++ trunk/Source/WebCore/GNUmakefile.list.am 2011-07-21 10:05:41 UTC (rev 91455)
@@ -1187,7 +1187,6 @@
Source/WebCore/dom/MappedAttributeEntry.h \
Source/WebCore/dom/MediaStream.cpp \
Source/WebCore/dom/MediaStream.h \
- Source/WebCore/dom/MediaStreamContainer.h \
Source/WebCore/dom/MediaStreamList.cpp \
Source/WebCore/dom/MediaStreamList.h \
Source/WebCore/dom/MediaStreamTrack.cpp \
Modified: trunk/Source/WebCore/WebCore.gypi (91454 => 91455)
--- trunk/Source/WebCore/WebCore.gypi 2011-07-21 09:51:59 UTC (rev 91454)
+++ trunk/Source/WebCore/WebCore.gypi 2011-07-21 10:05:41 UTC (rev 91455)
@@ -2519,7 +2519,6 @@
'dom/LocalMediaStream.h',
'dom/MediaStream.cpp',
'dom/MediaStream.h',
- 'dom/MediaStreamContainer.h',
'dom/MediaStreamList.cpp',
'dom/MediaStreamList.h',
'dom/MediaStreamTrack.cpp',
Modified: trunk/Source/WebCore/WebCore.pro (91454 => 91455)
--- trunk/Source/WebCore/WebCore.pro 2011-07-21 09:51:59 UTC (rev 91454)
+++ trunk/Source/WebCore/WebCore.pro 2011-07-21 10:05:41 UTC (rev 91455)
@@ -3226,7 +3226,6 @@
HEADERS += \
dom/LocalMediaStream.h \
dom/MediaStream.h \
- dom/MediaStreamContainer.h \
dom/MediaStreamList.h \
dom/MediaStreamTrack.h \
dom/MediaStreamTrackList.h \
Modified: trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj (91454 => 91455)
--- trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj 2011-07-21 09:51:59 UTC (rev 91454)
+++ trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj 2011-07-21 10:05:41 UTC (rev 91455)
@@ -45974,10 +45974,6 @@
>
</File>
<File
- RelativePath="..\dom\MediaStreamContainer.h"
- >
- </File>
- <File
RelativePath="..\dom\MediaStreamList.cpp"
>
<FileConfiguration
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (91454 => 91455)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2011-07-21 09:51:59 UTC (rev 91454)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2011-07-21 10:05:41 UTC (rev 91455)
@@ -4059,7 +4059,6 @@
ABDDFE790A5C6E7000A3E11D /* RenderMenuList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABDDFE730A5C6E6F00A3E11D /* RenderMenuList.cpp */; };
ABDDFE7A0A5C6E7000A3E11D /* RenderMenuList.h in Headers */ = {isa = PBXBuildFile; fileRef = ABDDFE740A5C6E7000A3E11D /* RenderMenuList.h */; };
ADDF1AD71257CD9A0003A759 /* RenderSVGPath.h in Headers */ = {isa = PBXBuildFile; fileRef = ADDF1AD51257CD9A0003A759 /* RenderSVGPath.h */; };
- B14353D4138EA8ED00D53276 /* MediaStreamContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = B14353D0138EA8ED00D53276 /* MediaStreamContainer.h */; };
B14353D5138EA8ED00D53276 /* MediaStreamList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B14353D1138EA8ED00D53276 /* MediaStreamList.cpp */; };
B14353D6138EA8ED00D53276 /* MediaStreamList.h in Headers */ = {isa = PBXBuildFile; fileRef = B14353D2138EA8ED00D53276 /* MediaStreamList.h */; };
B14353F8138EA95B00D53276 /* JSMediaStreamList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B14353F6138EA95B00D53276 /* JSMediaStreamList.cpp */; };
@@ -10547,7 +10546,6 @@
ABDDFE740A5C6E7000A3E11D /* RenderMenuList.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RenderMenuList.h; sourceTree = "<group>"; };
ADDF1AD41257CD9A0003A759 /* RenderSVGPath.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderSVGPath.cpp; sourceTree = "<group>"; };
ADDF1AD51257CD9A0003A759 /* RenderSVGPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderSVGPath.h; sourceTree = "<group>"; };
- B14353D0138EA8ED00D53276 /* MediaStreamContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaStreamContainer.h; sourceTree = "<group>"; };
B14353D1138EA8ED00D53276 /* MediaStreamList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaStreamList.cpp; sourceTree = "<group>"; };
B14353D2138EA8ED00D53276 /* MediaStreamList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaStreamList.h; sourceTree = "<group>"; };
B14353D3138EA8ED00D53276 /* MediaStreamList.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MediaStreamList.idl; sourceTree = "<group>"; };
@@ -19775,7 +19773,6 @@
B1E545741346291F0092A545 /* MediaStream.cpp */,
B1E545751346291F0092A545 /* MediaStream.h */,
B1E545761346291F0092A545 /* MediaStream.idl */,
- B14353D0138EA8ED00D53276 /* MediaStreamContainer.h */,
B14353D1138EA8ED00D53276 /* MediaStreamList.cpp */,
B14353D2138EA8ED00D53276 /* MediaStreamList.h */,
B14353D3138EA8ED00D53276 /* MediaStreamList.idl */,
@@ -22256,7 +22253,6 @@
D3AA10F4123A98AA0092152B /* MediaQueryMatcher.h in Headers */,
B1E5457E1346291F0092A545 /* MediaStream.h in Headers */,
B1E54594134629C10092A545 /* MediaStreamClient.h in Headers */,
- B14353D4138EA8ED00D53276 /* MediaStreamContainer.h in Headers */,
B1E54598134629C10092A545 /* MediaStreamController.h in Headers */,
B1E54596134629C10092A545 /* MediaStreamFrameController.h in Headers */,
B14353D6138EA8ED00D53276 /* MediaStreamList.h in Headers */,
Deleted: trunk/Source/WebCore/dom/MediaStreamContainer.h (91454 => 91455)
--- trunk/Source/WebCore/dom/MediaStreamContainer.h 2011-07-21 09:51:59 UTC (rev 91454)
+++ trunk/Source/WebCore/dom/MediaStreamContainer.h 2011-07-21 10:05:41 UTC (rev 91455)
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2011 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef MediaStreamContainer_h
-#define MediaStreamContainer_h
-
-#if ENABLE(MEDIA_STREAM)
-
-#include "MediaStream.h"
-#include <wtf/Assertions.h>
-#include <wtf/Forward.h>
-#include <wtf/HashMap.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class MediaStreamContainer : public RefCounted<MediaStreamContainer> {
-public:
- static PassRefPtr<MediaStreamContainer> create() { return adoptRef(new MediaStreamContainer); }
- virtual ~MediaStreamContainer() { }
-
- unsigned length() const { return m_streams.size(); }
-
- PassRefPtr<MediaStream> item(unsigned index) const
- {
- HashMap<String, RefPtr<MediaStream> >::const_iterator i = m_streams.begin();
- for (unsigned j = 0; i != m_streams.end(); ++i, ++j) {
- if (j == index)
- return i->second;
- }
- return PassRefPtr<MediaStream>();
- }
-
- void add(PassRefPtr<MediaStream> stream)
- {
- RefPtr<MediaStream> s = stream;
- ASSERT(!contains(s));
- m_streams.add(s->label(), s);
- }
-
- void remove(PassRefPtr<MediaStream> stream)
- {
- RefPtr<MediaStream> s = stream;
- ASSERT(contains(s));
- m_streams.remove(s->label());
- }
-
- bool contains(PassRefPtr<MediaStream> stream) const
- {
- RefPtr<MediaStream> s = stream;
- return m_streams.contains(s->label());
- }
-
- PassRefPtr<MediaStream> get(const String& key) const
- {
- return m_streams.get(key);
- }
-
-private:
- MediaStreamContainer() { }
-
- HashMap<String, RefPtr<MediaStream> > m_streams;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(MEDIA_STREAM)
-
-#endif // MediaStreamContainer_h
Modified: trunk/Source/WebCore/dom/MediaStreamList.cpp (91454 => 91455)
--- trunk/Source/WebCore/dom/MediaStreamList.cpp 2011-07-21 09:51:59 UTC (rev 91454)
+++ trunk/Source/WebCore/dom/MediaStreamList.cpp 2011-07-21 10:05:41 UTC (rev 91455)
@@ -27,17 +27,14 @@
#if ENABLE(MEDIA_STREAM)
-#include "MediaStreamContainer.h"
-
namespace WebCore {
-PassRefPtr<MediaStreamList> MediaStreamList::create(PassRefPtr<MediaStreamContainer> streams)
+PassRefPtr<MediaStreamList> MediaStreamList::create()
{
- return adoptRef(new MediaStreamList(streams));
+ return adoptRef(new MediaStreamList());
}
-MediaStreamList::MediaStreamList(PassRefPtr<MediaStreamContainer> streams)
- : m_streams(streams)
+MediaStreamList::MediaStreamList()
{
}
@@ -47,16 +44,50 @@
unsigned MediaStreamList::length() const
{
- return m_streams->length();
+ return m_streams.size();
}
PassRefPtr<MediaStream> MediaStreamList::item(unsigned index) const
{
- if (index < m_streams->length())
- return m_streams->item(index);
+ HashMap<String, RefPtr<MediaStream> >::const_iterator i = m_streams.begin();
+ for (unsigned j = 0; i != m_streams.end(); ++i, ++j) {
+ if (j == index)
+ return i->second;
+ }
return PassRefPtr<MediaStream>();
}
+void MediaStreamList::add(PassRefPtr<MediaStream> stream)
+{
+ RefPtr<MediaStream> s = stream;
+ ASSERT(!contains(s));
+ m_streams.add(s->label(), s);
+}
+
+void MediaStreamList::remove(PassRefPtr<MediaStream> stream)
+{
+ RefPtr<MediaStream> s = stream;
+ ASSERT(contains(s));
+ m_streams.remove(s->label());
+}
+
+bool MediaStreamList::contains(PassRefPtr<MediaStream> stream) const
+{
+ RefPtr<MediaStream> s = stream;
+ return m_streams.contains(s->label());
+}
+
+bool MediaStreamList::contains(const String& label) const
+{
+ return m_streams.contains(label);
+}
+
+PassRefPtr<MediaStream> MediaStreamList::get(const String& label) const
+{
+ return m_streams.get(label);
+}
+
+
} // namespace WebCore
#endif // ENABLE(MEDIA_STREAM)
Modified: trunk/Source/WebCore/dom/MediaStreamList.h (91454 => 91455)
--- trunk/Source/WebCore/dom/MediaStreamList.h 2011-07-21 09:51:59 UTC (rev 91454)
+++ trunk/Source/WebCore/dom/MediaStreamList.h 2011-07-21 10:05:41 UTC (rev 91455)
@@ -27,29 +27,34 @@
#if ENABLE(MEDIA_STREAM)
-#include <wtf/Forward.h>
+#include "MediaStream.h"
+#include <wtf/HashMap.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
namespace WebCore {
-class MediaStream;
-class MediaStreamContainer;
-
class MediaStreamList : public RefCounted<MediaStreamList> {
public:
- static PassRefPtr<MediaStreamList> create(PassRefPtr<MediaStreamContainer> streams);
+ static PassRefPtr<MediaStreamList> create();
virtual ~MediaStreamList();
// DOM methods & attributes for MediaStreamList
- virtual unsigned length() const;
- virtual PassRefPtr<MediaStream> item(unsigned index) const;
+ unsigned length() const;
+ PassRefPtr<MediaStream> item(unsigned index) const;
+ // List manipulation
+ void add(PassRefPtr<MediaStream>);
+ void remove(PassRefPtr<MediaStream>);
+ bool contains(PassRefPtr<MediaStream>) const;
+ bool contains(const String& label) const;
+ PassRefPtr<MediaStream> get(const String& label) const;
+
private:
- MediaStreamList(PassRefPtr<MediaStreamContainer> streams);
+ MediaStreamList();
- RefPtr<MediaStreamContainer> m_streams;
+ HashMap<String, RefPtr<MediaStream> > m_streams;
};
} // namespace WebCore