create different WebKit::WebMediaPlayer based on URL
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Aug 2012 19:01:04 +0000 (19:01 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Aug 2012 19:01:04 +0000 (19:01 +0000)
https://bugs.webkit.org/show_bug.cgi?id=91301

Patch by Wei Jia <wjia@chromium.org> on 2012-08-23
Reviewed by Adam Barth.

Source/WebKit/chromium:

Pass URL to WebFrameClient::createMediaPlayer(). This allows creation
of different WebMediaPlayer implementations based on the URL.

* public/WebFrameClient.h:
(WebKit::WebFrameClient::createMediaPlayer): add URL as additional argument.
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::createWebMediaPlayer): add URL as additional argument.
(WebKit::WebMediaPlayerClientImpl::loadInternal):

Tools:

Pass URL to createMediaPlayer. This corresponds to change in base
class WebKit::WebFrameClient.

* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::createMediaPlayer): add URL as additional argument.
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@126463 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/public/WebFrameClient.h
Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
Tools/ChangeLog
Tools/DumpRenderTree/chromium/WebViewHost.cpp
Tools/DumpRenderTree/chromium/WebViewHost.h

index 70019e0..4328ed1 100644 (file)
@@ -1,3 +1,19 @@
+2012-08-23  Wei Jia  <wjia@chromium.org>
+
+        create different WebKit::WebMediaPlayer based on URL
+        https://bugs.webkit.org/show_bug.cgi?id=91301
+
+        Reviewed by Adam Barth.
+
+        Pass URL to WebFrameClient::createMediaPlayer(). This allows creation
+        of different WebMediaPlayer implementations based on the URL.
+
+        * public/WebFrameClient.h:
+        (WebKit::WebFrameClient::createMediaPlayer): add URL as additional argument.
+        * src/WebMediaPlayerClientImpl.cpp:
+        (WebKit::createWebMediaPlayer): add URL as additional argument.
+        (WebKit::WebMediaPlayerClientImpl::loadInternal):
+
 2012-08-23  Joshua Bell  <jsbell@chromium.org>
 
         IndexedDB: Move onSuccess(IDBDatabaseBackendInterface) to IDBOpenDBRequest
index cc8923d..b4fcceb 100644 (file)
@@ -88,7 +88,7 @@ public:
     virtual WebSharedWorker* createSharedWorker(WebFrame*, const WebURL&, const WebString&, unsigned long long) { return 0; }
 
     // May return null.
-    virtual WebMediaPlayer* createMediaPlayer(WebFrame*, WebMediaPlayerClient*) { return 0; }
+    virtual WebMediaPlayer* createMediaPlayer(WebFrame*, const WebURL&, WebMediaPlayerClient*) { return 0; }
 
     // May return null.
     virtual WebApplicationCacheHost* createApplicationCacheHost(WebFrame*, WebApplicationCacheHostClient*) { return 0; }
index cb75623..534b246 100644 (file)
@@ -45,13 +45,13 @@ using namespace WebCore;
 
 namespace WebKit {
 
-static PassOwnPtr<WebMediaPlayer> createWebMediaPlayer(WebMediaPlayerClient* client, Frame* frame)
+static PassOwnPtr<WebMediaPlayer> createWebMediaPlayer(WebMediaPlayerClient* client, const WebURL& url, Frame* frame)
 {
     WebFrameImpl* webFrame = WebFrameImpl::fromFrame(frame);
 
     if (!webFrame->client())
         return nullptr;
-    return adoptPtr(webFrame->client()->createMediaPlayer(webFrame, client));
+    return adoptPtr(webFrame->client()->createMediaPlayer(webFrame, url, client));
 }
 
 bool WebMediaPlayerClientImpl::m_isEnabled = false;
@@ -321,7 +321,7 @@ void WebMediaPlayerClientImpl::loadInternal()
 #endif
 
     Frame* frame = static_cast<HTMLMediaElement*>(m_mediaPlayer->mediaPlayerClient())->document()->frame();
-    m_webMediaPlayer = createWebMediaPlayer(this, frame);
+    m_webMediaPlayer = createWebMediaPlayer(this, KURL(ParsedURLString, m_url), frame);
     if (m_webMediaPlayer) {
 #if ENABLE(WEB_AUDIO)
         // Make sure if we create/re-create the WebMediaPlayer that we update our wrapper.
index 85bf6d5..b82be76 100644 (file)
@@ -1,3 +1,18 @@
+2012-08-23  Wei Jia  <wjia@chromium.org>
+
+        create different WebKit::WebMediaPlayer based on URL
+        https://bugs.webkit.org/show_bug.cgi?id=91301
+
+        Reviewed by Adam Barth.
+
+        Pass URL to createMediaPlayer. This corresponds to change in base
+        class WebKit::WebFrameClient.
+
+        * DumpRenderTree/chromium/WebViewHost.cpp:
+        (WebViewHost::createMediaPlayer): add URL as additional argument.
+        * DumpRenderTree/chromium/WebViewHost.h:
+        (WebViewHost):
+
 2012-08-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
 
         Unreviewed, upgrade gyuyoung to reviewer.
index 3ab8a86..62ee938 100644 (file)
@@ -1006,12 +1006,12 @@ WebPlugin* WebViewHost::createPlugin(WebFrame* frame, const WebPluginParams& par
     return webkit_support::CreateWebPlugin(frame, params);
 }
 
-WebMediaPlayer* WebViewHost::createMediaPlayer(WebFrame* frame, WebMediaPlayerClient* client)
+WebMediaPlayer* WebViewHost::createMediaPlayer(WebFrame* frame, const WebURL& url, WebMediaPlayerClient* client)
 {
 #if ENABLE(MEDIA_STREAM)
-    return webkit_support::CreateMediaPlayer(frame, client, testMediaStreamClient());
+    return webkit_support::CreateMediaPlayer(frame, url, client, testMediaStreamClient());
 #else
-    return webkit_support::CreateMediaPlayer(frame, client);
+    return webkit_support::CreateMediaPlayer(frame, url, client);
 #endif
 }
 
index 94ed4cd..7893954 100644 (file)
@@ -225,7 +225,7 @@ class WebViewHost : public WebKit::WebViewClient, public WebKit::WebFrameClient,
 
     // WebKit::WebFrameClient
     virtual WebKit::WebPlugin* createPlugin(WebKit::WebFrame*, const WebKit::WebPluginParams&);
-    virtual WebKit::WebMediaPlayer* createMediaPlayer(WebKit::WebFrame*, WebKit::WebMediaPlayerClient*);
+    virtual WebKit::WebMediaPlayer* createMediaPlayer(WebKit::WebFrame*, const WebKit::WebURL&, WebKit::WebMediaPlayerClient*);
     virtual WebKit::WebApplicationCacheHost* createApplicationCacheHost(WebKit::WebFrame*, WebKit::WebApplicationCacheHostClient*);
     virtual void loadURLExternally(WebKit::WebFrame*, const WebKit::WebURLRequest&, WebKit::WebNavigationPolicy);
     virtual void loadURLExternally(WebKit::WebFrame*, const WebKit::WebURLRequest&, WebKit::WebNavigationPolicy, const WebKit::WebString& downloadName);