Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(135)

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 712463004: media: Support MojoRendererService in the browser process. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix BUILD.gn. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/renderer/media/media_renderer_service_provider.cc ('k') | media/media_options.gni » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/render_frame_impl.h" 5 #include "content/renderer/render_frame_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 #include "content/renderer/shared_worker_repository.h" 95 #include "content/renderer/shared_worker_repository.h"
96 #include "content/renderer/v8_value_converter_impl.h" 96 #include "content/renderer/v8_value_converter_impl.h"
97 #include "content/renderer/websharedworker_proxy.h" 97 #include "content/renderer/websharedworker_proxy.h"
98 #include "gin/modules/module_registry.h" 98 #include "gin/modules/module_registry.h"
99 #include "media/base/audio_renderer_mixer_input.h" 99 #include "media/base/audio_renderer_mixer_input.h"
100 #include "media/base/media_log.h" 100 #include "media/base/media_log.h"
101 #include "media/blink/webcontentdecryptionmodule_impl.h" 101 #include "media/blink/webcontentdecryptionmodule_impl.h"
102 #include "media/blink/webencryptedmediaclient_impl.h" 102 #include "media/blink/webencryptedmediaclient_impl.h"
103 #include "media/blink/webmediaplayer_impl.h" 103 #include "media/blink/webmediaplayer_impl.h"
104 #include "media/blink/webmediaplayer_params.h" 104 #include "media/blink/webmediaplayer_params.h"
105 #include "media/filters/default_renderer_factory.h"
106 #include "media/filters/gpu_video_accelerator_factories.h" 105 #include "media/filters/gpu_video_accelerator_factories.h"
107 #include "net/base/data_url.h" 106 #include "net/base/data_url.h"
108 #include "net/base/net_errors.h" 107 #include "net/base/net_errors.h"
109 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" 108 #include "net/base/registry_controlled_domains/registry_controlled_domain.h"
110 #include "net/http/http_util.h" 109 #include "net/http/http_util.h"
111 #include "third_party/WebKit/public/platform/WebStorageQuotaCallbacks.h" 110 #include "third_party/WebKit/public/platform/WebStorageQuotaCallbacks.h"
112 #include "third_party/WebKit/public/platform/WebString.h" 111 #include "third_party/WebKit/public/platform/WebString.h"
113 #include "third_party/WebKit/public/platform/WebURL.h" 112 #include "third_party/WebKit/public/platform/WebURL.h"
114 #include "third_party/WebKit/public/platform/WebURLError.h" 113 #include "third_party/WebKit/public/platform/WebURLError.h"
115 #include "third_party/WebKit/public/platform/WebURLResponse.h" 114 #include "third_party/WebKit/public/platform/WebURLResponse.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 #else 158 #else
160 #include "webkit/common/gpu/context_provider_web_context.h" 159 #include "webkit/common/gpu/context_provider_web_context.h"
161 #endif 160 #endif
162 161
163 #if defined(ENABLE_PEPPER_CDMS) 162 #if defined(ENABLE_PEPPER_CDMS)
164 #include "content/renderer/media/crypto/pepper_cdm_wrapper_impl.h" 163 #include "content/renderer/media/crypto/pepper_cdm_wrapper_impl.h"
165 #elif defined(ENABLE_BROWSER_CDMS) 164 #elif defined(ENABLE_BROWSER_CDMS)
166 #include "content/renderer/media/crypto/renderer_cdm_manager.h" 165 #include "content/renderer/media/crypto/renderer_cdm_manager.h"
167 #endif 166 #endif
168 167
168 #if defined(ENABLE_MEDIA_MOJO_RENDERER)
169 #include "content/renderer/media/media_renderer_service_provider.h"
170 #include "media/mojo/services/mojo_renderer_factory.h"
171 #else
172 #include "media/filters/default_renderer_factory.h"
173 #endif
174
169 using blink::WebContextMenuData; 175 using blink::WebContextMenuData;
170 using blink::WebData; 176 using blink::WebData;
171 using blink::WebDataSource; 177 using blink::WebDataSource;
172 using blink::WebDocument; 178 using blink::WebDocument;
173 using blink::WebElement; 179 using blink::WebElement;
174 using blink::WebExternalPopupMenu; 180 using blink::WebExternalPopupMenu;
175 using blink::WebExternalPopupMenuClient; 181 using blink::WebExternalPopupMenuClient;
176 using blink::WebFrame; 182 using blink::WebFrame;
177 using blink::WebHistoryItem; 183 using blink::WebHistoryItem;
178 using blink::WebHTTPBody; 184 using blink::WebHTTPBody;
(...skipping 1687 matching lines...) Expand 10 before | Expand all | Expand 10 after
1866 return CreatePlugin(frame, info, params_to_use, nullptr /* throttler */); 1872 return CreatePlugin(frame, info, params_to_use, nullptr /* throttler */);
1867 #else 1873 #else
1868 return NULL; 1874 return NULL;
1869 #endif // defined(ENABLE_PLUGINS) 1875 #endif // defined(ENABLE_PLUGINS)
1870 } 1876 }
1871 1877
1872 blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer( 1878 blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
1873 blink::WebLocalFrame* frame, 1879 blink::WebLocalFrame* frame,
1874 const blink::WebURL& url, 1880 const blink::WebURL& url,
1875 blink::WebMediaPlayerClient* client) { 1881 blink::WebMediaPlayerClient* client) {
1876 return createMediaPlayer(frame, url, client, NULL); 1882 return createMediaPlayer(frame, url, client, nullptr);
1877 } 1883 }
1878 1884
1879 blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer( 1885 blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
1880 blink::WebLocalFrame* frame, 1886 blink::WebLocalFrame* frame,
1881 const blink::WebURL& url, 1887 const blink::WebURL& url,
1882 blink::WebMediaPlayerClient* client, 1888 blink::WebMediaPlayerClient* client,
1883 blink::WebContentDecryptionModule* initial_cdm) { 1889 blink::WebContentDecryptionModule* initial_cdm) {
1884 #if defined(VIDEO_HOLE) 1890 #if defined(VIDEO_HOLE)
1885 if (!contains_media_player_) { 1891 if (!contains_media_player_) {
1886 render_view_->RegisterVideoHoleFrame(this); 1892 render_view_->RegisterVideoHoleFrame(this);
(...skipping 25 matching lines...) Expand all
1912 #if defined(ENABLE_PEPPER_CDMS) 1918 #if defined(ENABLE_PEPPER_CDMS)
1913 scoped_ptr<media::CdmFactory> cdm_factory( 1919 scoped_ptr<media::CdmFactory> cdm_factory(
1914 new RenderCdmFactory(base::Bind(&PepperCdmWrapperImpl::Create, frame))); 1920 new RenderCdmFactory(base::Bind(&PepperCdmWrapperImpl::Create, frame)));
1915 #elif defined(ENABLE_BROWSER_CDMS) 1921 #elif defined(ENABLE_BROWSER_CDMS)
1916 scoped_ptr<media::CdmFactory> cdm_factory( 1922 scoped_ptr<media::CdmFactory> cdm_factory(
1917 new RenderCdmFactory(GetCdmManager())); 1923 new RenderCdmFactory(GetCdmManager()));
1918 #else 1924 #else
1919 scoped_ptr<media::CdmFactory> cdm_factory(new RenderCdmFactory()); 1925 scoped_ptr<media::CdmFactory> cdm_factory(new RenderCdmFactory());
1920 #endif 1926 #endif
1921 1927
1928 #if defined(ENABLE_MEDIA_MOJO_RENDERER)
1929 scoped_ptr<media::RendererFactory> media_renderer_factory(
1930 new media::MojoRendererFactory(make_scoped_ptr(
1931 new MediaRendererServiceProvider(GetServiceRegistry()))));
1932 #else
1922 scoped_ptr<media::RendererFactory> media_renderer_factory = 1933 scoped_ptr<media::RendererFactory> media_renderer_factory =
1923 GetContentClient()->renderer()->CreateMediaRendererFactory(this); 1934 GetContentClient()->renderer()->CreateMediaRendererFactory(this);
1924 1935
1925 if (!media_renderer_factory.get()) { 1936 if (!media_renderer_factory.get()) {
1926 media_renderer_factory.reset(new media::DefaultRendererFactory( 1937 media_renderer_factory.reset(new media::DefaultRendererFactory(
1927 media_log, render_thread->GetGpuFactories(), 1938 media_log, render_thread->GetGpuFactories(),
1928 *render_thread->GetAudioHardwareConfig())); 1939 *render_thread->GetAudioHardwareConfig()));
1929 } 1940 }
1941 #endif // defined(ENABLE_MEDIA_MOJO_RENDERER)
1930 1942
1931 return new media::WebMediaPlayerImpl( 1943 return new media::WebMediaPlayerImpl(
1932 frame, client, weak_factory_.GetWeakPtr(), media_renderer_factory.Pass(), 1944 frame, client, weak_factory_.GetWeakPtr(), media_renderer_factory.Pass(),
1933 cdm_factory.Pass(), params); 1945 cdm_factory.Pass(), params);
1934 #endif // defined(OS_ANDROID) 1946 #endif // defined(OS_ANDROID)
1935 } 1947 }
1936 1948
1937 // TODO(jrummell): remove once blink uses encryptedMediaClient(). 1949 // TODO(jrummell): remove once blink uses encryptedMediaClient().
1938 blink::WebContentDecryptionModule* 1950 blink::WebContentDecryptionModule*
1939 RenderFrameImpl::createContentDecryptionModule( 1951 RenderFrameImpl::createContentDecryptionModule(
(...skipping 2514 matching lines...) Expand 10 before | Expand all | Expand 10 after
4454 4466
4455 #if defined(ENABLE_BROWSER_CDMS) 4467 #if defined(ENABLE_BROWSER_CDMS)
4456 RendererCdmManager* RenderFrameImpl::GetCdmManager() { 4468 RendererCdmManager* RenderFrameImpl::GetCdmManager() {
4457 if (!cdm_manager_) 4469 if (!cdm_manager_)
4458 cdm_manager_ = new RendererCdmManager(this); 4470 cdm_manager_ = new RendererCdmManager(this);
4459 return cdm_manager_; 4471 return cdm_manager_;
4460 } 4472 }
4461 #endif // defined(ENABLE_BROWSER_CDMS) 4473 #endif // defined(ENABLE_BROWSER_CDMS)
4462 4474
4463 } // namespace content 4475 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/media_renderer_service_provider.cc ('k') | media/media_options.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698