summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwjia@chromium.org <wjia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-10 23:36:20 +0000
committerwjia@chromium.org <wjia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-10 23:36:20 +0000
commit1fba73c14c6cadc0f04045e04187d734695aec65 (patch)
treeeb0b76b63212c1e743f3b722cdd36122546e9f6a
parent734012a12e1ba5539b8ace50dbd59ba5c32c9aef (diff)
downloadchromium_src-1fba73c14c6cadc0f04045e04187d734695aec65.zip
chromium_src-1fba73c14c6cadc0f04045e04187d734695aec65.tar.gz
chromium_src-1fba73c14c6cadc0f04045e04187d734695aec65.tar.bz2
Tentatively turn on WebMediaPlayerMS by default.
WebMediaPlayerMS can be disabled by using "--disable-web-media-player-ms" Create a static function in MediaStreamImpl for checking whether a URL is media stream. This can save some overhead in render_view_impl.cc. BUG=142988 Review URL: https://codereview.chromium.org/11066101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161230 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--content/browser/renderer_host/render_process_host_impl.cc2
-rw-r--r--content/public/common/content_switches.cc4
-rw-r--r--content/public/common/content_switches.h2
-rw-r--r--content/renderer/media/media_stream_impl.cc9
-rw-r--r--content/renderer/media/media_stream_impl.h6
-rw-r--r--content/renderer/render_view_impl.cc9
6 files changed, 21 insertions, 11 deletions
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index e2c2241..394be0c 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -806,7 +806,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kEnableGpuBenchmarking,
switches::kEnableLogging,
switches::kDisableMediaSource,
- switches::kEnableWebMediaPlayerMS,
+ switches::kDisableWebMediaPlayerMS,
switches::kEnablePartialSwap,
switches::kEnablePerTilePainting,
switches::kEnableRendererSideMixing,
diff --git a/content/public/common/content_switches.cc b/content/public/common/content_switches.cc
index c70c2f3..2cb2ec7 100644
--- a/content/public/common/content_switches.cc
+++ b/content/public/common/content_switches.cc
@@ -301,9 +301,9 @@ const char kEnableLogging[] = "enable-logging";
// Disable Media Source API on <audio>/<video> elements.
const char kDisableMediaSource[] = "disable-media-source";
-// Enables using WebMediaPlayerMS for src of <audio>/<video> derived from
+// Disables using WebMediaPlayerMS for src of <audio>/<video> derived from
// media stream.
-const char kEnableWebMediaPlayerMS[] = "enable-web-media-player-ms";
+const char kDisableWebMediaPlayerMS[] = "disable-web-media-player-ms";
// On Windows, converts the page to the currently-installed monitor profile.
// This does NOT enable color management for images. The source is still
diff --git a/content/public/common/content_switches.h b/content/public/common/content_switches.h
index fe46833..c69c77d 100644
--- a/content/public/common/content_switches.h
+++ b/content/public/common/content_switches.h
@@ -106,7 +106,7 @@ extern const char kEnableGestureTapHighlight[];
extern const char kEnableGpuBenchmarking[];
CONTENT_EXPORT extern const char kEnableLogging[];
extern const char kDisableMediaSource[];
-extern const char kEnableWebMediaPlayerMS[];
+extern const char kDisableWebMediaPlayerMS[];
extern const char kEnableMonitorProfile[];
extern const char kEnablePartialSwap[];
extern const char kEnableUIReleaseFrontSurface[];
diff --git a/content/renderer/media/media_stream_impl.cc b/content/renderer/media/media_stream_impl.cc
index 648fe2a..1727460 100644
--- a/content/renderer/media/media_stream_impl.cc
+++ b/content/renderer/media/media_stream_impl.cc
@@ -146,8 +146,13 @@ WebKit::WebMediaStreamDescriptor MediaStreamImpl::GetMediaStream(
}
bool MediaStreamImpl::IsMediaStream(const GURL& url) {
- DCHECK(CalledOnValidThread());
- WebKit::WebMediaStreamDescriptor descriptor(GetMediaStream(url));
+ return CheckMediaStream(url);
+}
+
+// static
+bool MediaStreamImpl::CheckMediaStream(const GURL& url) {
+ WebKit::WebMediaStreamDescriptor descriptor(
+ WebKit::WebMediaStreamRegistry::lookupMediaStreamDescriptor(url));
if (descriptor.isNull() || !descriptor.extraData())
return false; // This is not a valid stream.
diff --git a/content/renderer/media/media_stream_impl.h b/content/renderer/media/media_stream_impl.h
index 1ffca32..8d3aca7 100644
--- a/content/renderer/media/media_stream_impl.h
+++ b/content/renderer/media/media_stream_impl.h
@@ -51,6 +51,12 @@ class CONTENT_EXPORT MediaStreamImpl
MediaStreamDependencyFactory* dependency_factory);
virtual ~MediaStreamImpl();
+ // Return true when the |url| is media stream.
+ // This static function has the same functionalilty as IsMediaStream
+ // except that it doesn't require an instance of this class.
+ // This can save some overhead time when the |url| is not media stream.
+ static bool CheckMediaStream(const GURL& url);
+
// WebKit::WebUserMediaClient implementation
virtual void requestUserMedia(
const WebKit::WebUserMediaRequest& user_media_request,
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index e4731d7..cf18e69 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -2649,12 +2649,11 @@ WebMediaPlayer* RenderViewImpl::createMediaPlayer(
if (!media_player) {
// TODO(wjia): when all patches related to WebMediaPlayerMS have been
// landed, remove the switch. Refer to crbug.com/142988.
- if (cmd_line->HasSwitch(switches::kEnableWebMediaPlayerMS)) {
+ if (!cmd_line->HasSwitch(switches::kDisableWebMediaPlayerMS) &&
+ MediaStreamImpl::CheckMediaStream(url)) {
EnsureMediaStreamImpl();
- if (media_stream_impl_ && media_stream_impl_->IsMediaStream(url)) {
- return new webkit_media::WebMediaPlayerMS(
- frame, client, AsWeakPtr(), media_stream_impl_, render_media_log);
- }
+ return new webkit_media::WebMediaPlayerMS(
+ frame, client, AsWeakPtr(), media_stream_impl_, render_media_log);
}
media_player = new webkit_media::WebMediaPlayerImpl(