Diff
Modified: trunk/Source/WebKit/chromium/ChangeLog (92988 => 92989)
--- trunk/Source/WebKit/chromium/ChangeLog 2011-08-12 20:41:04 UTC (rev 92988)
+++ trunk/Source/WebKit/chromium/ChangeLog 2011-08-12 20:46:17 UTC (rev 92989)
@@ -1,3 +1,30 @@
+2011-08-12 Tommy Widenflycht <[email protected]>
+
+ [Chromium] Implement the embedders for the HTML5 Track List objects
+ https://bugs.webkit.org/show_bug.cgi?id=60260
+
+ Reviewed by Darin Fisher.
+
+ * WebKit.gyp:
+ * public/WebMediaStreamTrack.h: Added.
+ (WebKit::WebMediaStreamTrack::WebMediaStreamTrack):
+ (WebKit::WebMediaStreamTrack::~WebMediaStreamTrack):
+ (WebKit::WebMediaStreamTrack::isNull):
+ * public/WebMediaStreamTrackList.h: Added.
+ (WebKit::WebMediaStreamTrackList::WebMediaStreamTrackList):
+ (WebKit::WebMediaStreamTrackList::~WebMediaStreamTrackList):
+ (WebKit::WebMediaStreamTrackList::isNull):
+ * src/WebMediaStreamTrack.cpp: Added.
+ (WebKit::WebMediaStreamTrack::initialize):
+ (WebKit::WebMediaStreamTrack::reset):
+ (WebKit::WebMediaStreamTrack::WebMediaStreamTrack):
+ (WebKit::WebMediaStreamTrack::operator WTF::PassRefPtr<WebCore::MediaStreamTrack>):
+ * src/WebMediaStreamTrackList.cpp: Added.
+ (WebKit::WebMediaStreamTrackList::initialize):
+ (WebKit::WebMediaStreamTrackList::reset):
+ (WebKit::WebMediaStreamTrackList::WebMediaStreamTrackList):
+ (WebKit::WebMediaStreamTrackList::operator WTF::PassRefPtr<MediaStreamTrackList>):
+
2011-08-12 Sheriff Bot <[email protected]>
Unreviewed, rolling out r92976.
Modified: trunk/Source/WebKit/chromium/WebKit.gyp (92988 => 92989)
--- trunk/Source/WebKit/chromium/WebKit.gyp 2011-08-12 20:41:04 UTC (rev 92988)
+++ trunk/Source/WebKit/chromium/WebKit.gyp 2011-08-12 20:46:17 UTC (rev 92989)
@@ -210,6 +210,8 @@
'public/WebMediaPlayer.h',
'public/WebMediaPlayerAction.h',
'public/WebMediaPlayerClient.h',
+ 'public/WebMediaStreamTrack.h',
+ 'public/WebMediaStreamTrackList.h',
'public/WebMenuItemInfo.h',
'public/WebMessagePortChannel.h',
'public/WebMessagePortChannelClient.h',
@@ -515,6 +517,8 @@
'src/WebMediaElement.cpp',
'src/WebMediaPlayerClientImpl.cpp',
'src/WebMediaPlayerClientImpl.h',
+ 'src/WebMediaStreamTrack.cpp',
+ 'src/WebMediaStreamTrackList.cpp',
'src/WebNamedNodeMap.cpp',
'src/WebNetworkStateNotifier.cpp',
'src/WebNode.cpp',
Added: trunk/Source/WebKit/chromium/public/WebMediaStreamTrack.h (0 => 92989)
--- trunk/Source/WebKit/chromium/public/WebMediaStreamTrack.h (rev 0)
+++ trunk/Source/WebKit/chromium/public/WebMediaStreamTrack.h 2011-08-12 20:46:17 UTC (rev 92989)
@@ -0,0 +1,63 @@
+/*
+ * 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 WebMediaStreamTrack_h
+#define WebMediaStreamTrack_h
+
+#if ENABLE(MEDIA_STREAM)
+
+#include "WebCommon.h"
+#include "WebPrivatePtr.h"
+
+namespace WebCore {
+class MediaStreamTrack;
+}
+
+namespace WebKit {
+
+class WebString;
+
+class WebMediaStreamTrack {
+public:
+ WebMediaStreamTrack() { }
+ ~WebMediaStreamTrack() { reset(); }
+
+ WEBKIT_EXPORT void initialize(const WebString& id, const WebString& kind, const WebString& label);
+ WEBKIT_EXPORT void reset();
+ bool isNull() const { return m_private.isNull(); }
+
+#if WEBKIT_IMPLEMENTATION
+ WebMediaStreamTrack(const WTF::PassRefPtr<WebCore::MediaStreamTrack>&);
+ operator WTF::PassRefPtr<WebCore::MediaStreamTrack>() const;
+#endif
+
+private:
+ WebPrivatePtr<WebCore::MediaStreamTrack> m_private;
+};
+
+} // namespace WebKit
+
+#endif // ENABLE(MEDIA_STREAM)
+
+#endif // WebMediaStreamTrack_h
Added: trunk/Source/WebKit/chromium/public/WebMediaStreamTrackList.h (0 => 92989)
--- trunk/Source/WebKit/chromium/public/WebMediaStreamTrackList.h (rev 0)
+++ trunk/Source/WebKit/chromium/public/WebMediaStreamTrackList.h 2011-08-12 20:46:17 UTC (rev 92989)
@@ -0,0 +1,64 @@
+/*
+ * 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 WebMediaStreamTrackList_h
+#define WebMediaStreamTrackList_h
+
+#if ENABLE(MEDIA_STREAM)
+
+#include "WebCommon.h"
+#include "WebPrivatePtr.h"
+
+namespace WebCore {
+class MediaStreamTrackList;
+}
+
+namespace WebKit {
+
+class WebMediaStreamTrack;
+template <typename T> class WebVector;
+
+class WebMediaStreamTrackList {
+public:
+ WebMediaStreamTrackList() { }
+ ~WebMediaStreamTrackList() { reset(); }
+
+ WEBKIT_EXPORT void initialize(const WebVector<WebMediaStreamTrack>& webTracks);
+ WEBKIT_EXPORT void reset();
+ bool isNull() const { return m_private.isNull(); }
+
+#if WEBKIT_IMPLEMENTATION
+ WebMediaStreamTrackList(const WTF::PassRefPtr<WebCore::MediaStreamTrackList>&);
+ operator WTF::PassRefPtr<WebCore::MediaStreamTrackList>() const;
+#endif
+
+private:
+ WebPrivatePtr<WebCore::MediaStreamTrackList> m_private;
+};
+
+} // namespace WebKit
+
+#endif // ENABLE(MEDIA_STREAM)
+
+#endif // WebMediaStreamTrackList_h
Added: trunk/Source/WebKit/chromium/src/WebMediaStreamTrack.cpp (0 => 92989)
--- trunk/Source/WebKit/chromium/src/WebMediaStreamTrack.cpp (rev 0)
+++ trunk/Source/WebKit/chromium/src/WebMediaStreamTrack.cpp 2011-08-12 20:46:17 UTC (rev 92989)
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+#include "config.h"
+#include "WebMediaStreamTrack.h"
+
+#if ENABLE(MEDIA_STREAM)
+
+#include "MediaStreamTrack.h"
+#include "WebString.h"
+
+namespace WebKit {
+
+void WebMediaStreamTrack::initialize(const WebString& id, const WebString& kind, const WebString& label)
+{
+ m_private = WebCore::MediaStreamTrack::create(id, kind, label);
+}
+
+void WebMediaStreamTrack::reset()
+{
+ m_private.reset();
+}
+
+WebMediaStreamTrack::WebMediaStreamTrack(const WTF::PassRefPtr<WebCore::MediaStreamTrack>& track)
+ : m_private(track)
+{
+}
+
+WebMediaStreamTrack::operator WTF::PassRefPtr<WebCore::MediaStreamTrack>() const
+{
+ return m_private.get();
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(MEDIA_STREAM)
Added: trunk/Source/WebKit/chromium/src/WebMediaStreamTrackList.cpp (0 => 92989)
--- trunk/Source/WebKit/chromium/src/WebMediaStreamTrackList.cpp (rev 0)
+++ trunk/Source/WebKit/chromium/src/WebMediaStreamTrackList.cpp 2011-08-12 20:46:17 UTC (rev 92989)
@@ -0,0 +1,65 @@
+/*
+ * 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.
+ */
+
+#include "config.h"
+#include "WebMediaStreamTrackList.h"
+
+#if ENABLE(MEDIA_STREAM)
+
+#include "MediaStreamTrack.h"
+#include "MediaStreamTrackList.h"
+#include "WebMediaStreamTrack.h"
+#include "WebVector.h"
+
+using namespace WebCore;
+
+namespace WebKit {
+
+void WebMediaStreamTrackList::initialize(const WebVector<WebMediaStreamTrack>& webTracks)
+{
+ TrackVector tracks(webTracks.size());
+ for (size_t i = 0; i < webTracks.size(); ++i)
+ tracks[i] = webTracks[i];
+
+ m_private = MediaStreamTrackList::create(tracks);
+}
+
+void WebMediaStreamTrackList::reset()
+{
+ m_private.reset();
+}
+
+WebMediaStreamTrackList::WebMediaStreamTrackList(const WTF::PassRefPtr<MediaStreamTrackList>& trackList)
+ : m_private(trackList)
+{
+}
+
+WebMediaStreamTrackList::operator WTF::PassRefPtr<MediaStreamTrackList>() const
+{
+ return m_private.get();
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(MEDIA_STREAM)