| OLD | NEW |
| 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 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 139 #include "media/audio/audio_output_device.h" | 139 #include "media/audio/audio_output_device.h" |
| 140 #include "media/base/audio_renderer_mixer_input.h" | 140 #include "media/base/audio_renderer_mixer_input.h" |
| 141 #include "media/base/cdm_factory.h" | 141 #include "media/base/cdm_factory.h" |
| 142 #include "media/base/decoder_factory.h" | 142 #include "media/base/decoder_factory.h" |
| 143 #include "media/base/media.h" | 143 #include "media/base/media.h" |
| 144 #include "media/base/media_log.h" | 144 #include "media/base/media_log.h" |
| 145 #include "media/base/media_switches.h" | 145 #include "media/base/media_switches.h" |
| 146 #include "media/blink/url_index.h" | 146 #include "media/blink/url_index.h" |
| 147 #include "media/blink/webencryptedmediaclient_impl.h" | 147 #include "media/blink/webencryptedmediaclient_impl.h" |
| 148 #include "media/blink/webmediaplayer_impl.h" | 148 #include "media/blink/webmediaplayer_impl.h" |
| 149 #include "media/remoting/remoting_controller.h" |
| 150 #include "media/remoting/remoting_renderer_factory.h" |
| 149 #include "media/renderers/gpu_video_accelerator_factories.h" | 151 #include "media/renderers/gpu_video_accelerator_factories.h" |
| 150 #include "mojo/edk/js/core.h" | 152 #include "mojo/edk/js/core.h" |
| 151 #include "mojo/edk/js/support.h" | 153 #include "mojo/edk/js/support.h" |
| 152 #include "net/base/data_url.h" | 154 #include "net/base/data_url.h" |
| 153 #include "net/base/net_errors.h" | 155 #include "net/base/net_errors.h" |
| 154 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" | 156 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
| 155 #include "net/http/http_util.h" | 157 #include "net/http/http_util.h" |
| 156 #include "services/shell/public/cpp/interface_provider.h" | 158 #include "services/shell/public/cpp/interface_provider.h" |
| 157 #include "services/shell/public/cpp/interface_registry.h" | 159 #include "services/shell/public/cpp/interface_registry.h" |
| 158 #include "storage/common/data_element.h" | 160 #include "storage/common/data_element.h" |
| (...skipping 2523 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2682 return CreateAndroidWebMediaPlayer(client, encrypted_client, params); | 2684 return CreateAndroidWebMediaPlayer(client, encrypted_client, params); |
| 2683 } | 2685 } |
| 2684 #endif // defined(OS_ANDROID) | 2686 #endif // defined(OS_ANDROID) |
| 2685 | 2687 |
| 2686 #if defined(ENABLE_MOJO_RENDERER) | 2688 #if defined(ENABLE_MOJO_RENDERER) |
| 2687 std::unique_ptr<media::RendererFactory> media_renderer_factory( | 2689 std::unique_ptr<media::RendererFactory> media_renderer_factory( |
| 2688 new media::MojoRendererFactory( | 2690 new media::MojoRendererFactory( |
| 2689 base::Bind(&RenderThreadImpl::GetGpuFactories, | 2691 base::Bind(&RenderThreadImpl::GetGpuFactories, |
| 2690 base::Unretained(render_thread)), | 2692 base::Unretained(render_thread)), |
| 2691 GetMediaInterfaceProvider())); | 2693 GetMediaInterfaceProvider())); |
| 2694 media::RendererController* renderer_controller = nullptr; |
| 2692 #else | 2695 #else |
| 2693 std::unique_ptr<media::RendererFactory> media_renderer_factory( | 2696 std::unique_ptr<media::RendererFactory> default_renderer_factory( |
| 2694 new media::DefaultRendererFactory( | 2697 new media::DefaultRendererFactory( |
| 2695 media_log, GetDecoderFactory(), | 2698 media_log, GetDecoderFactory(), |
| 2696 base::Bind(&RenderThreadImpl::GetGpuFactories, | 2699 base::Bind(&RenderThreadImpl::GetGpuFactories, |
| 2697 base::Unretained(render_thread)))); | 2700 base::Unretained(render_thread)))); |
| 2701 std::unique_ptr<media::RemotingController> remoting_controller( |
| 2702 new media::RemotingController(GetRemoterFactory())); |
| 2703 media::RendererController* renderer_controller = remoting_controller.get(); |
| 2704 std::unique_ptr<media::RendererFactory> media_renderer_factory( |
| 2705 new media::RemotingRendererFactory(std::move(default_renderer_factory), |
| 2706 std::move(remoting_controller))); |
| 2698 #endif // defined(ENABLE_MOJO_RENDERER) | 2707 #endif // defined(ENABLE_MOJO_RENDERER) |
| 2699 | 2708 |
| 2700 if (!url_index_.get() || url_index_->frame() != frame_) | 2709 if (!url_index_.get() || url_index_->frame() != frame_) |
| 2701 url_index_.reset(new media::UrlIndex(frame_)); | 2710 url_index_.reset(new media::UrlIndex(frame_)); |
| 2702 | 2711 |
| 2703 // TODO(miu): In a soon-upcoming change, call GetRemoterFactory()->Create() to | 2712 // TODO(miu): In a soon-upcoming change, call GetRemoterFactory()->Create() to |
| 2704 // allow the local media pipeline to receive notifications about when Media | 2713 // allow the local media pipeline to receive notifications about when Media |
| 2705 // Remoting can take place. Control logic in/around WebMediaPlayerImpl will | 2714 // Remoting can take place. Control logic in/around WebMediaPlayerImpl will |
| 2706 // implement media.mojom.RemotingSource. http://crbug.com/643964 | 2715 // implement media.mojom.RemotingSource. http://crbug.com/643964 |
| 2707 | 2716 |
| 2708 media::WebMediaPlayerImpl* media_player = new media::WebMediaPlayerImpl( | 2717 media::WebMediaPlayerImpl* media_player = |
| 2709 frame_, client, encrypted_client, | 2718 new media::WebMediaPlayerImpl(frame_, client, encrypted_client, |
| 2710 GetWebMediaPlayerDelegate()->AsWeakPtr(), | 2719 GetWebMediaPlayerDelegate()->AsWeakPtr(), |
| 2711 std::move(media_renderer_factory), url_index_, params); | 2720 std::move(media_renderer_factory), |
| 2721 url_index_, renderer_controller, params); |
| 2712 | 2722 |
| 2713 #if defined(OS_ANDROID) // WMPI_CAST | 2723 #if defined(OS_ANDROID) // WMPI_CAST |
| 2714 media_player->SetMediaPlayerManager(GetMediaPlayerManager()); | 2724 media_player->SetMediaPlayerManager(GetMediaPlayerManager()); |
| 2715 media_player->SetDeviceScaleFactor(render_view_->GetDeviceScaleFactor()); | 2725 media_player->SetDeviceScaleFactor(render_view_->GetDeviceScaleFactor()); |
| 2716 #endif | 2726 #endif |
| 2717 | 2727 |
| 2718 return media_player; | 2728 return media_player; |
| 2719 } | 2729 } |
| 2720 | 2730 |
| 2721 blink::WebMediaSession* RenderFrameImpl::createMediaSession() { | 2731 blink::WebMediaSession* RenderFrameImpl::createMediaSession() { |
| (...skipping 3709 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6431 // event target. Potentially a Pepper plugin will receive the event. | 6441 // event target. Potentially a Pepper plugin will receive the event. |
| 6432 // In order to tell whether a plugin gets the last mouse event and which it | 6442 // In order to tell whether a plugin gets the last mouse event and which it |
| 6433 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets | 6443 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets |
| 6434 // the event, it will notify us via DidReceiveMouseEvent() and set itself as | 6444 // the event, it will notify us via DidReceiveMouseEvent() and set itself as |
| 6435 // |pepper_last_mouse_event_target_|. | 6445 // |pepper_last_mouse_event_target_|. |
| 6436 pepper_last_mouse_event_target_ = nullptr; | 6446 pepper_last_mouse_event_target_ = nullptr; |
| 6437 #endif | 6447 #endif |
| 6438 } | 6448 } |
| 6439 | 6449 |
| 6440 } // namespace content | 6450 } // namespace content |
| OLD | NEW |