summaryrefslogtreecommitdiff
path: root/Source/WebKit
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit')
-rw-r--r--Source/WebKit/chromium/ChangeLog20
-rw-r--r--Source/WebKit/chromium/public/WebUserMediaRequest.h6
-rw-r--r--Source/WebKit/chromium/src/WebUserMediaRequest.cpp32
3 files changed, 31 insertions, 27 deletions
diff --git a/Source/WebKit/chromium/ChangeLog b/Source/WebKit/chromium/ChangeLog
index 7d7233c7d..074b551a7 100644
--- a/Source/WebKit/chromium/ChangeLog
+++ b/Source/WebKit/chromium/ChangeLog
@@ -1,3 +1,23 @@
+2012-09-20 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Extend UserMediaRequest with a ownerDocument method
+ https://bugs.webkit.org/show_bug.cgi?id=97095
+
+ Reviewed by Adam Barth.
+
+ Chromium need to know exactly which frame called getUserMedia so that it can clean
+ away the stream when the frame goes away.
+ Since that information is available in webkit add an accessor method.
+
+ Also taking the opportunity to remove an unused deprecated method,
+ and adding asserts in case the object is empty.
+
+ * public/WebUserMediaRequest.h:
+ (WebKit):
+ (WebUserMediaRequest):
+ * src/WebUserMediaRequest.cpp:
+ (WebKit::WebUserMediaRequest::ownerDocument):
+
2012-09-20 Mike West <mkwst@google.com>
[chromium] Adding the 'google_apis' directory to .gitignore.
diff --git a/Source/WebKit/chromium/public/WebUserMediaRequest.h b/Source/WebKit/chromium/public/WebUserMediaRequest.h
index 54949407f..660df5bc1 100644
--- a/Source/WebKit/chromium/public/WebUserMediaRequest.h
+++ b/Source/WebKit/chromium/public/WebUserMediaRequest.h
@@ -40,7 +40,7 @@ class UserMediaRequest;
}
namespace WebKit {
-
+class WebDocument;
class WebMediaStreamDescriptor;
class WebMediaStreamSource;
class WebString;
@@ -67,9 +67,7 @@ public:
WEBKIT_EXPORT bool video() const;
WEBKIT_EXPORT WebSecurityOrigin securityOrigin() const;
-
- // DEPRECATED
- WEBKIT_EXPORT void requestSucceeded(const WebVector<WebMediaStreamSource>& audioSources, const WebVector<WebMediaStreamSource>& videoSources);
+ WEBKIT_EXPORT WebDocument ownerDocument() const;
WEBKIT_EXPORT void requestSucceeded(const WebMediaStreamDescriptor&);
diff --git a/Source/WebKit/chromium/src/WebUserMediaRequest.cpp b/Source/WebKit/chromium/src/WebUserMediaRequest.cpp
index c9c0eccb3..26f17c35b 100644
--- a/Source/WebKit/chromium/src/WebUserMediaRequest.cpp
+++ b/Source/WebKit/chromium/src/WebUserMediaRequest.cpp
@@ -35,12 +35,11 @@
#include "WebUserMediaRequest.h"
#include "Document.h"
-#include "Frame.h"
#include "MediaStreamDescriptor.h"
#include "MediaStreamSource.h"
-#include "Page.h"
#include "SecurityOrigin.h"
#include "UserMediaRequest.h"
+#include "WebDocument.h"
#include "WebSecurityOrigin.h"
#include "platform/WebMediaStreamDescriptor.h"
#include "platform/WebMediaStreamSource.h"
@@ -64,50 +63,37 @@ void WebUserMediaRequest::reset()
bool WebUserMediaRequest::audio() const
{
+ ASSERT(!isNull());
return m_private->audio();
}
bool WebUserMediaRequest::video() const
{
+ ASSERT(!isNull());
return m_private->video();
}
WebSecurityOrigin WebUserMediaRequest::securityOrigin() const
{
- ASSERT(m_private->scriptExecutionContext());
+ ASSERT(!isNull() && m_private->scriptExecutionContext());
return WebSecurityOrigin(m_private->scriptExecutionContext()->securityOrigin());
}
-void WebUserMediaRequest::requestSucceeded(const WebVector<WebMediaStreamSource>& audioSources, const WebVector<WebMediaStreamSource>& videoSources)
+WebDocument WebUserMediaRequest::ownerDocument() const
{
- if (m_private.isNull())
- return;
-
- MediaStreamSourceVector audio;
- for (size_t i = 0; i < audioSources.size(); ++i) {
- MediaStreamSource* curr = audioSources[i];
- audio.append(curr);
- }
- MediaStreamSourceVector video;
- for (size_t i = 0; i < videoSources.size(); ++i) {
- MediaStreamSource* curr = videoSources[i];
- video.append(curr);
- }
-
- m_private->succeed(audio, video);
+ ASSERT(!isNull());
+ return WebDocument(m_private->ownerDocument());
}
void WebUserMediaRequest::requestSucceeded(const WebMediaStreamDescriptor& streamDescriptor)
{
- ASSERT(!streamDescriptor.isNull());
- if (m_private.isNull())
- return;
-
+ ASSERT(!isNull() && !streamDescriptor.isNull());
m_private->succeed(streamDescriptor);
}
void WebUserMediaRequest::requestFailed()
{
+ ASSERT(!isNull());
m_private->fail();
}