Diff
Modified: trunk/Source/WebKit/chromium/ChangeLog (99003 => 99004)
--- trunk/Source/WebKit/chromium/ChangeLog 2011-11-01 22:12:30 UTC (rev 99003)
+++ trunk/Source/WebKit/chromium/ChangeLog 2011-11-01 22:32:33 UTC (rev 99004)
@@ -1,3 +1,32 @@
+2011-11-01 Tommy Widenflycht <[email protected]>
+
+ [chromium] Media Stream API: Adding supporting classes to WebPeerConnectionHandler
+ https://bugs.webkit.org/show_bug.cgi?id=71008
+
+ Expanding WebMediaStreamDescriptor and adding WebMediaStreamSource
+
+ Reviewed by Darin Fisher.
+
+ * WebKit.gyp:
+ * public/WebMediaStreamDescriptor.h:
+ * public/WebMediaStreamSource.h: Copied from Source/WebKit/chromium/public/WebMediaStreamDescriptor.h.
+ (WebKit::WebMediaStreamSource::WebMediaStreamSource):
+ (WebKit::WebMediaStreamSource::~WebMediaStreamSource):
+ (WebKit::WebMediaStreamSource::isNull):
+ * src/AssertMatchingEnums.cpp:
+ * src/WebMediaStreamDescriptor.cpp:
+ (WebKit::WebMediaStreamDescriptor::operator=):
+ (WebKit::WebMediaStreamDescriptor::initialize):
+ * src/WebMediaStreamSource.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp.
+ (WebKit::WebMediaStreamSource::WebMediaStreamSource):
+ (WebKit::WebMediaStreamSource::reset):
+ (WebKit::WebMediaStreamSource::operator PassRefPtr<MediaStreamSource>):
+ (WebKit::WebMediaStreamSource::operator MediaStreamSource*):
+ (WebKit::WebMediaStreamSource::initialize):
+ (WebKit::WebMediaStreamSource::id):
+ (WebKit::WebMediaStreamSource::type):
+ (WebKit::WebMediaStreamSource::name):
+
2011-11-01 Nat Duca <[email protected]>
CCSchedulerTests fail on Chromium Windows (dbg) after r98915
Modified: trunk/Source/WebKit/chromium/WebKit.gyp (99003 => 99004)
--- trunk/Source/WebKit/chromium/WebKit.gyp 2011-11-01 22:12:30 UTC (rev 99003)
+++ trunk/Source/WebKit/chromium/WebKit.gyp 2011-11-01 22:32:33 UTC (rev 99004)
@@ -235,6 +235,7 @@
'public/WebMediaPlayerAction.h',
'public/WebMediaPlayerClient.h',
'public/WebMediaStreamDescriptor.h',
+ 'public/WebMediaStreamSource.h',
'public/WebMenuItemInfo.h',
'public/WebMessagePortChannel.h',
'public/WebMessagePortChannelClient.h',
@@ -562,6 +563,7 @@
'src/WebMediaPlayerClientImpl.cpp',
'src/WebMediaPlayerClientImpl.h',
'src/WebMediaStreamDescriptor.cpp',
+ 'src/WebMediaStreamSource.cpp',
'src/WebNamedNodeMap.cpp',
'src/WebNetworkStateNotifier.cpp',
'src/WebNode.cpp',
Modified: trunk/Source/WebKit/chromium/public/WebMediaStreamDescriptor.h (99003 => 99004)
--- trunk/Source/WebKit/chromium/public/WebMediaStreamDescriptor.h 2011-11-01 22:12:30 UTC (rev 99003)
+++ trunk/Source/WebKit/chromium/public/WebMediaStreamDescriptor.h 2011-11-01 22:32:33 UTC (rev 99004)
@@ -28,6 +28,7 @@
#include "WebCommon.h"
#include "WebNonCopyable.h"
#include "WebPrivatePtr.h"
+#include "WebVector.h"
namespace WebCore {
class MediaStreamDescriptor;
@@ -35,16 +36,19 @@
namespace WebKit {
+class WebMediaStreamSource;
+class WebString;
+
class WebMediaStreamDescriptor {
public:
WebMediaStreamDescriptor() { }
~WebMediaStreamDescriptor() { reset(); }
- WEBKIT_EXPORT void initialize(); // FIXME: Add params.
+ WEBKIT_EXPORT void initialize(const WebString& label, const WebVector<WebMediaStreamSource>&);
WEBKIT_EXPORT void reset();
bool isNull() const { return m_private.isNull(); }
- // FIXME: Add functions.
+ WEBKIT_EXPORT WebString label() const;
#if WEBKIT_IMPLEMENTATION
WebMediaStreamDescriptor(const WTF::PassRefPtr<WebCore::MediaStreamDescriptor>&);
Copied: trunk/Source/WebKit/chromium/public/WebMediaStreamSource.h (from rev 99003, trunk/Source/WebKit/chromium/public/WebMediaStreamDescriptor.h) (0 => 99004)
--- trunk/Source/WebKit/chromium/public/WebMediaStreamSource.h (rev 0)
+++ trunk/Source/WebKit/chromium/public/WebMediaStreamSource.h 2011-11-01 22:32:33 UTC (rev 99004)
@@ -0,0 +1,70 @@
+/*
+ * 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 WebMediaStreamSource_h
+#define WebMediaStreamSource_h
+
+#include "WebCommon.h"
+#include "WebNonCopyable.h"
+#include "WebPrivatePtr.h"
+
+namespace WebCore {
+class MediaStreamSource;
+}
+
+namespace WebKit {
+
+class WebString;
+
+class WebMediaStreamSource {
+public:
+ enum Type {
+ TypeAudio,
+ TypeVideo
+ };
+
+ WebMediaStreamSource() { }
+ ~WebMediaStreamSource() { reset(); }
+
+ WEBKIT_EXPORT void initialize(const WebString& id, Type, const WebString& name);
+ WEBKIT_EXPORT void reset();
+ bool isNull() const { return m_private.isNull(); }
+
+ WEBKIT_EXPORT WebString id() const;
+ WEBKIT_EXPORT Type type() const;
+ WEBKIT_EXPORT WebString name() const;
+
+#if WEBKIT_IMPLEMENTATION
+ WebMediaStreamSource(const WTF::PassRefPtr<WebCore::MediaStreamSource>&);
+ operator WTF::PassRefPtr<WebCore::MediaStreamSource>() const;
+ operator WebCore::MediaStreamSource*() const;
+#endif
+
+private:
+ WebPrivatePtr<WebCore::MediaStreamSource> m_private;
+};
+
+} // namespace WebKit
+
+#endif // WebMediaStreamSource_h
Modified: trunk/Source/WebKit/chromium/src/AssertMatchingEnums.cpp (99003 => 99004)
--- trunk/Source/WebKit/chromium/src/AssertMatchingEnums.cpp 2011-11-01 22:12:30 UTC (rev 99003)
+++ trunk/Source/WebKit/chromium/src/AssertMatchingEnums.cpp 2011-11-01 22:32:33 UTC (rev 99004)
@@ -50,6 +50,7 @@
#include "IDBFactoryBackendInterface.h"
#include "IDBKey.h"
#include "MediaPlayer.h"
+#include "MediaStreamSource.h"
#include "NotificationPresenter.h"
#include "PageVisibilityState.h"
#include "PasteboardPrivate.h"
@@ -78,6 +79,7 @@
#include "WebIconURL.h"
#include "WebInputElement.h"
#include "WebMediaPlayer.h"
+#include "WebMediaStreamSource.h"
#include "WebNotificationPresenter.h"
#include "WebPageVisibilityState.h"
#include "WebScrollbar.h"
@@ -459,3 +461,8 @@
COMPILE_ASSERT_MATCHING_ENUM(WebPageVisibilityStateVisible, PageVisibilityStateVisible);
COMPILE_ASSERT_MATCHING_ENUM(WebPageVisibilityStateHidden, PageVisibilityStateHidden);
COMPILE_ASSERT_MATCHING_ENUM(WebPageVisibilityStatePrerender, PageVisibilityStatePrerender);
+
+#if ENABLE(MEDIA_STREAM)
+COMPILE_ASSERT_MATCHING_ENUM(WebMediaStreamSource::TypeAudio, MediaStreamSource::TypeAudio);
+COMPILE_ASSERT_MATCHING_ENUM(WebMediaStreamSource::TypeVideo, MediaStreamSource::TypeVideo);
+#endif
Modified: trunk/Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp (99003 => 99004)
--- trunk/Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp 2011-11-01 22:12:30 UTC (rev 99003)
+++ trunk/Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp 2011-11-01 22:32:33 UTC (rev 99004)
@@ -29,11 +29,16 @@
#include "WebMediaStreamDescriptor.h"
#include "MediaStreamDescriptor.h"
+#include "MediaStreamSource.h"
+#include "WebMediaStreamSource.h"
#include "WebString.h"
+#include <wtf/Vector.h>
+using namespace WebCore;
+
namespace WebKit {
-WebMediaStreamDescriptor::WebMediaStreamDescriptor(const WTF::PassRefPtr<WebCore::MediaStreamDescriptor>& mediaStreamDescriptor)
+WebMediaStreamDescriptor::WebMediaStreamDescriptor(const PassRefPtr<WebCore::MediaStreamDescriptor>& mediaStreamDescriptor)
: m_private(mediaStreamDescriptor)
{
}
@@ -43,13 +48,13 @@
m_private.reset();
}
-WebMediaStreamDescriptor& WebMediaStreamDescriptor::operator=(const WTF::PassRefPtr<WebCore::MediaStreamDescriptor>& mediaStreamDescriptor)
+WebMediaStreamDescriptor& WebMediaStreamDescriptor::operator=(const PassRefPtr<WebCore::MediaStreamDescriptor>& mediaStreamDescriptor)
{
m_private = mediaStreamDescriptor;
return *this;
}
-WebMediaStreamDescriptor::operator WTF::PassRefPtr<WebCore::MediaStreamDescriptor>() const
+WebMediaStreamDescriptor::operator PassRefPtr<WebCore::MediaStreamDescriptor>() const
{
return m_private.get();
}
@@ -59,6 +64,16 @@
return m_private.get();
}
+void WebMediaStreamDescriptor::initialize(const WebString& label, const WebVector<WebMediaStreamSource>& sources)
+{
+ MediaStreamSourceVector s;
+ for (size_t i = 0; i < sources.size(); ++i) {
+ MediaStreamSource* curr = sources[i];
+ s.append(curr);
+ }
+ m_private = MediaStreamDescriptor::create(label, s);
+}
+
} // namespace WebKit
#endif // ENABLE(MEDIA_STREAM)
Copied: trunk/Source/WebKit/chromium/src/WebMediaStreamSource.cpp (from rev 99003, trunk/Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp) (0 => 99004)
--- trunk/Source/WebKit/chromium/src/WebMediaStreamSource.cpp (rev 0)
+++ trunk/Source/WebKit/chromium/src/WebMediaStreamSource.cpp 2011-11-01 22:32:33 UTC (rev 99004)
@@ -0,0 +1,85 @@
+/*
+ * 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"
+
+#if ENABLE(MEDIA_STREAM)
+
+#include "WebMediaStreamSource.h"
+
+#include "MediaStreamSource.h"
+#include "WebString.h"
+#include <wtf/Vector.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+WebMediaStreamSource::WebMediaStreamSource(const PassRefPtr<MediaStreamSource>& mediaStreamSource)
+ : m_private(mediaStreamSource)
+{
+}
+
+void WebMediaStreamSource::reset()
+{
+ m_private.reset();
+}
+
+WebMediaStreamSource::operator PassRefPtr<MediaStreamSource>() const
+{
+ return m_private.get();
+}
+
+WebMediaStreamSource::operator MediaStreamSource*() const
+{
+ return m_private.get();
+}
+
+void WebMediaStreamSource::initialize(const WebString& id, Type type, const WebString& name)
+{
+ m_private = MediaStreamSource::create(id, static_cast<MediaStreamSource::Type>(type), name);
+}
+
+WebString WebMediaStreamSource::id() const
+{
+ ASSERT(!m_private.isNull());
+ return m_private.get()->id();
+}
+
+WebMediaStreamSource::Type WebMediaStreamSource::type() const
+{
+ ASSERT(!m_private.isNull());
+ return static_cast<Type>(m_private.get()->type());
+}
+
+WebString WebMediaStreamSource::name() const
+{
+ ASSERT(!m_private.isNull());
+ return m_private.get()->name();
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(MEDIA_STREAM)
+