Title: [127083] trunk/Source/WebKit/blackberry
Revision
127083
Author
commit-qu...@webkit.org
Date
2012-08-29 19:07:51 -0700 (Wed, 29 Aug 2012)

Log Message

[BlackBerry] Move the handling of UserMedia requests to the client
https://bugs.webkit.org/show_bug.cgi?id=95317
PR #197283

Patch by Robin Cao <robin....@torchmobile.com.cn> on 2012-08-29
Reviewed by George Staikos.

Internally reviewed by George Staikos.

Move the logic for user media requests handling to the client, as it requires
inputs from users. Also adds a origin field to WebUserMediaRequest.

* Api/WebPageClient.h:
(Platform):
* WebCoreSupport/UserMediaClientImpl.cpp:
(WebCore::UserMediaClientImpl::UserMediaClientImpl):
(WebCore::UserMediaClientImpl::~UserMediaClientImpl):
(WebCore::UserMediaClientImpl::requestUserMedia):
(WebCore::UserMediaClientImpl::cancelUserMediaRequest):
* WebCoreSupport/UserMediaClientImpl.h:
(UserMediaClientImpl):

Modified Paths

Diff

Modified: trunk/Source/WebKit/blackberry/Api/WebPageClient.h (127082 => 127083)


--- trunk/Source/WebKit/blackberry/Api/WebPageClient.h	2012-08-30 02:05:15 UTC (rev 127082)
+++ trunk/Source/WebKit/blackberry/Api/WebPageClient.h	2012-08-30 02:07:51 UTC (rev 127083)
@@ -43,6 +43,7 @@
 class IntRectRegion;
 class NetworkRequest;
 class NetworkStreamFactory;
+class WebUserMediaRequest;
 
 namespace Graphics {
 class Window;
@@ -269,6 +270,9 @@
     virtual void registerProtocolHandler(const WebString& /*scheme*/, const WebString& /*baseURL*/, const WebString& /*url*/, const WebString& /*title*/) = 0;
     virtual ProtocolHandlersState isProtocolHandlerRegistered(const WebString& /*scheme*/, const WebString& /*baseURL*/, const WebString& /*url*/) = 0;
     virtual void unregisterProtocolHandler(const WebString& /*scheme*/, const WebString& /*baseURL*/, const WebString& /*url*/) = 0;
+
+    virtual void requestUserMedia(const Platform::WebUserMediaRequest&) = 0;
+    virtual void cancelUserMediaRequest(const Platform::WebUserMediaRequest&) = 0;
 };
 } // namespace WebKit
 } // namespace BlackBerry

Modified: trunk/Source/WebKit/blackberry/ChangeLog (127082 => 127083)


--- trunk/Source/WebKit/blackberry/ChangeLog	2012-08-30 02:05:15 UTC (rev 127082)
+++ trunk/Source/WebKit/blackberry/ChangeLog	2012-08-30 02:07:51 UTC (rev 127083)
@@ -1,3 +1,26 @@
+2012-08-29  Robin Cao  <robin....@torchmobile.com.cn>
+
+        [BlackBerry] Move the handling of UserMedia requests to the client
+        https://bugs.webkit.org/show_bug.cgi?id=95317
+        PR #197283
+
+        Reviewed by George Staikos.
+
+        Internally reviewed by George Staikos.
+
+        Move the logic for user media requests handling to the client, as it requires
+        inputs from users. Also adds a origin field to WebUserMediaRequest.
+
+        * Api/WebPageClient.h:
+        (Platform):
+        * WebCoreSupport/UserMediaClientImpl.cpp:
+        (WebCore::UserMediaClientImpl::UserMediaClientImpl):
+        (WebCore::UserMediaClientImpl::~UserMediaClientImpl):
+        (WebCore::UserMediaClientImpl::requestUserMedia):
+        (WebCore::UserMediaClientImpl::cancelUserMediaRequest):
+        * WebCoreSupport/UserMediaClientImpl.h:
+        (UserMediaClientImpl):
+
 2012-08-29  Antonio Gomes  <ago...@rim.com>
 
         [BlackBerry] Replace blackberry specific HitTestRequest::FingerUp by TouchEvent + Release

Modified: trunk/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.cpp (127082 => 127083)


--- trunk/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.cpp	2012-08-30 02:05:15 UTC (rev 127082)
+++ trunk/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.cpp	2012-08-30 02:07:51 UTC (rev 127083)
@@ -21,14 +21,18 @@
 
 #if ENABLE(MEDIA_STREAM)
 #include "MediaStreamDescriptor.h"
+#include "ScriptExecutionContext.h"
+#include "SecurityOrigin.h"
 #include "WebPage.h"
+#include "WebPageClient.h"
 
 #include <BlackBerryPlatformWebMediaStreamDescriptor.h>
-#include <BlackBerryPlatformWebUserMedia.h>
+#include <BlackBerryPlatformWebUserMediaRequest.h>
 #include <wtf/HashMap.h>
 #include <wtf/OwnPtr.h>
 #include <wtf/PassOwnPtr.h>
 #include <wtf/RefPtr.h>
+#include <wtf/text/CString.h>
 
 using namespace BlackBerry::Platform;
 
@@ -95,14 +99,13 @@
     RefPtr<UserMediaRequest> m_request;
 };
 
-UserMediaClientImpl::UserMediaClientImpl(BlackBerry::WebKit::WebPage*)
-    : m_webUserMedia(0)
+UserMediaClientImpl::UserMediaClientImpl(BlackBerry::WebKit::WebPage* page)
+    : m_page(page)
 {
 }
 
 UserMediaClientImpl::~UserMediaClientImpl()
 {
-    BlackBerry::Platform::deleteGuardedObject(m_webUserMedia);
 }
 
 void UserMediaClientImpl::pageDestroyed()
@@ -114,7 +117,8 @@
     UserMediaRequest* request = prpRequest.get();
     OwnPtr<WebUserMediaRequestClientImpl> requestClient = adoptPtr(new WebUserMediaRequestClientImpl(prpRequest));
 
-    webUserMedia()->requestUserMedia(WebUserMediaRequest(request->audio(), request->video(), requestClient.get()));
+    SecurityOrigin* origin = request->scriptExecutionContext()->securityOrigin();
+    m_page->client()->requestUserMedia(WebUserMediaRequest(request->audio(), request->video(), origin->toString().utf8().data(), requestClient.get()));
     userMediaRequestsMap().add(request, requestClient.release());
 }
 
@@ -124,16 +128,10 @@
     if (it == userMediaRequestsMap().end())
         return;
 
-    webUserMedia()->cancelUserMediaRequest(WebUserMediaRequest(request->audio(), request->video(), it->second.get()));
+    SecurityOrigin* origin = request->scriptExecutionContext()->securityOrigin();
+    m_page->client()->cancelUserMediaRequest(WebUserMediaRequest(request->audio(), request->video(), origin->toString().utf8().data(), it->second.get()));
     userMediaRequestsMap().remove(it);
 }
 
-BlackBerry::Platform::WebUserMedia* UserMediaClientImpl::webUserMedia()
-{
-    if (!m_webUserMedia)
-        m_webUserMedia = new WebUserMedia;
-    return m_webUserMedia;
 }
-
-}
 #endif

Modified: trunk/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.h (127082 => 127083)


--- trunk/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.h	2012-08-30 02:05:15 UTC (rev 127082)
+++ trunk/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.h	2012-08-30 02:07:51 UTC (rev 127083)
@@ -30,11 +30,7 @@
 namespace WebKit {
 class WebPage;
 }
-
-namespace Platform {
-class WebUserMedia;
 }
-}
 
 namespace WebCore {
 
@@ -51,9 +47,8 @@
 
 private:
     UserMediaClientImpl();
-    BlackBerry::Platform::WebUserMedia* webUserMedia();
 
-    BlackBerry::Platform::WebUserMedia* m_webUserMedia;
+    BlackBerry::WebKit::WebPage* m_page;
 };
 
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to