Title: [92989] trunk/Source/WebKit/chromium
Revision
92989
Author
[email protected]
Date
2011-08-12 13:46:17 -0700 (Fri, 12 Aug 2011)

Log Message

[Chromium] Implement the embedders for the HTML5 Track List objects
https://bugs.webkit.org/show_bug.cgi?id=60260

Patch by Tommy Widenflycht <[email protected]> on 2011-08-12
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>):

Modified Paths

Added Paths

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)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to