diff options
author | wjia@chromium.org <wjia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-16 18:26:02 +0000 |
---|---|---|
committer | wjia@chromium.org <wjia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-16 18:26:02 +0000 |
commit | 97b150db503dcb65ead6d62e6463868e10ac85a2 (patch) | |
tree | a33e10426d0a9b5dcda0f53a44361adf45c1261c | |
parent | 9d594d6345bf4a32b47f4d960aeed7e558bbd485 (diff) | |
download | chromium_src-97b150db503dcb65ead6d62e6463868e10ac85a2.zip chromium_src-97b150db503dcb65ead6d62e6463868e10ac85a2.tar.gz chromium_src-97b150db503dcb65ead6d62e6463868e10ac85a2.tar.bz2 |
add url as additional argument to createMediaPlayer.
Since this touches API in WebKit, it takes 3 steps:
1. add a new function createMediaPlayer with url as additional argument (this patch);
2. corresponding change in WebKit;
3. remove the old createMediaPlayer (without url).
This is the second patch to allow render_view_impl to create different WebKit::WebMediaPlayer based on URL.
The new approach (https://docs.google.com/a/chromium.org/document/d/1lH9gzjUzA3L1pEPHWVOae6KpzB4IlIDOM-4lLbwGMgY/edit)
will have a new WebKit::WebMediaPlayer when URL is media stream (refer to prototype patch http://codereview.chromium.org/10382048/,
render_view_impl.cc shows how a different WebKit::WebMediaPlayer is created based on URL).
BUG=142988
Review URL: https://chromiumcodereview.appspot.com/10537091
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151922 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | content/renderer/render_view_impl.cc | 7 | ||||
-rw-r--r-- | content/renderer/render_view_impl.h | 4 | ||||
-rw-r--r-- | webkit/support/webkit_support.cc | 15 | ||||
-rw-r--r-- | webkit/support/webkit_support.h | 16 | ||||
-rw-r--r-- | webkit/tools/test_shell/test_webview_delegate.cc | 7 | ||||
-rw-r--r-- | webkit/tools/test_shell/test_webview_delegate.h | 2 |
6 files changed, 51 insertions, 0 deletions
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc index fd64efb..b2e0d61 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc @@ -2362,6 +2362,13 @@ WebSharedWorker* RenderViewImpl::createSharedWorker( } } +// TODO(wjia): remove the version without url when WebKit change is done. +// http://webk.it/91301. +WebMediaPlayer* RenderViewImpl::createMediaPlayer( + WebFrame* frame, const WebKit::WebURL& url, WebMediaPlayerClient* client) { + return createMediaPlayer(frame, client); +} + WebMediaPlayer* RenderViewImpl::createMediaPlayer( WebFrame* frame, WebMediaPlayerClient* client) { FOR_EACH_OBSERVER( diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h index f72aa73..5ed9ef6 100644 --- a/content/renderer/render_view_impl.h +++ b/content/renderer/render_view_impl.h @@ -519,6 +519,10 @@ class RenderViewImpl : public RenderWidget, virtual WebKit::WebMediaPlayer* createMediaPlayer( WebKit::WebFrame* frame, WebKit::WebMediaPlayerClient* client); + virtual WebKit::WebMediaPlayer* createMediaPlayer( + WebKit::WebFrame* frame, + const WebKit::WebURL& url, + WebKit::WebMediaPlayerClient* client); virtual WebKit::WebApplicationCacheHost* createApplicationCacheHost( WebKit::WebFrame* frame, WebKit::WebApplicationCacheHostClient* client); diff --git a/webkit/support/webkit_support.cc b/webkit/support/webkit_support.cc index 9614328..290567f 100644 --- a/webkit/support/webkit_support.cc +++ b/webkit/support/webkit_support.cc @@ -383,6 +383,14 @@ WebPlugin* CreateWebPlugin(WebFrame* frame, WebKit::WebMediaPlayer* CreateMediaPlayer( WebFrame* frame, + const WebURL& url, + WebMediaPlayerClient* client, + webkit_media::MediaStreamClient* media_stream_client) { + return CreateMediaPlayer(frame, client, media_stream_client); +} + +WebKit::WebMediaPlayer* CreateMediaPlayer( + WebFrame* frame, WebMediaPlayerClient* client, webkit_media::MediaStreamClient* media_stream_client) { #if defined(OS_ANDROID) @@ -418,6 +426,13 @@ WebKit::WebMediaPlayer* CreateMediaPlayer( return CreateMediaPlayer(frame, client, NULL); } +WebKit::WebMediaPlayer* CreateMediaPlayer( + WebFrame* frame, + const WebURL& url, + WebMediaPlayerClient* client) { + return CreateMediaPlayer(frame, url, client, NULL); +} + #if defined(OS_ANDROID) void ReleaseMediaResources() { test_environment->media_player_manager()->ReleaseMediaResources(); diff --git a/webkit/support/webkit_support.h b/webkit/support/webkit_support.h index f194e73..7d86119 100644 --- a/webkit/support/webkit_support.h +++ b/webkit/support/webkit_support.h @@ -75,6 +75,8 @@ WebKit::WebKitPlatformSupport* GetWebKitPlatformSupport(); WebKit::WebPlugin* CreateWebPlugin(WebKit::WebFrame* frame, const WebKit::WebPluginParams& params); +// TODO(wjia): remove this function after WebKit patch is landed. +// http://webk.it/91301. // This is used by WebFrameClient::createMediaPlayer(). WebKit::WebMediaPlayer* CreateMediaPlayer( WebKit::WebFrame* frame, @@ -84,6 +86,20 @@ WebKit::WebMediaPlayer* CreateMediaPlayer( // This is used by WebFrameClient::createMediaPlayer(). WebKit::WebMediaPlayer* CreateMediaPlayer( WebKit::WebFrame* frame, + const WebKit::WebURL& url, + WebKit::WebMediaPlayerClient* client, + webkit_media::MediaStreamClient* media_stream_client); + +// TODO(wjia): remove this function after WebKit patch is landed. +// This is used by WebFrameClient::createMediaPlayer(). +WebKit::WebMediaPlayer* CreateMediaPlayer( + WebKit::WebFrame* frame, + WebKit::WebMediaPlayerClient* client); + +// This is used by WebFrameClient::createMediaPlayer(). +WebKit::WebMediaPlayer* CreateMediaPlayer( + WebKit::WebFrame* frame, + const WebKit::WebURL& url, WebKit::WebMediaPlayerClient* client); #if defined(OS_ANDROID) diff --git a/webkit/tools/test_shell/test_webview_delegate.cc b/webkit/tools/test_shell/test_webview_delegate.cc index 09e59f5..8e90a2c 100644 --- a/webkit/tools/test_shell/test_webview_delegate.cc +++ b/webkit/tools/test_shell/test_webview_delegate.cc @@ -635,6 +635,13 @@ WebPlugin* TestWebViewDelegate::createPlugin(WebFrame* frame, frame, params, plugins.front().path, AsWeakPtr()); } +// TODO(wjia): remove the version without url when WebKit change is done. +// http://webk.it/91301. +WebMediaPlayer* TestWebViewDelegate::createMediaPlayer( + WebFrame* frame, const WebKit::WebURL& url, WebMediaPlayerClient* client) { + return createMediaPlayer(frame, client); +} + WebMediaPlayer* TestWebViewDelegate::createMediaPlayer( WebFrame* frame, WebMediaPlayerClient* client) { scoped_ptr<media::MessageLoopFactory> message_loop_factory( diff --git a/webkit/tools/test_shell/test_webview_delegate.h b/webkit/tools/test_shell/test_webview_delegate.h index 4fcbaff..019e84e 100644 --- a/webkit/tools/test_shell/test_webview_delegate.h +++ b/webkit/tools/test_shell/test_webview_delegate.h @@ -166,6 +166,8 @@ class TestWebViewDelegate : public WebKit::WebViewClient, virtual WebKit::WebPlugin* createPlugin( WebKit::WebFrame*, const WebKit::WebPluginParams&); virtual WebKit::WebMediaPlayer* createMediaPlayer( + WebKit::WebFrame*, const WebKit::WebURL&, WebKit::WebMediaPlayerClient*); + virtual WebKit::WebMediaPlayer* createMediaPlayer( WebKit::WebFrame*, WebKit::WebMediaPlayerClient*); virtual WebKit::WebApplicationCacheHost* createApplicationCacheHost( WebKit::WebFrame*, WebKit::WebApplicationCacheHostClient*); |