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

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

Issue 2846843002: [blink] Unique pointers in Platform.h (Closed)
Patch Set: fix compilation (and again) Created 3 years, 7 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/renderer_blink_platform_impl.h" 5 #include "content/renderer/renderer_blink_platform_impl.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 #include "services/service_manager/public/cpp/interface_provider.h" 83 #include "services/service_manager/public/cpp/interface_provider.h"
84 #include "services/ui/public/cpp/gpu/context_provider_command_buffer.h" 84 #include "services/ui/public/cpp/gpu/context_provider_command_buffer.h"
85 #include "storage/common/database/database_identifier.h" 85 #include "storage/common/database/database_identifier.h"
86 #include "storage/common/quota/quota_types.h" 86 #include "storage/common/quota/quota_types.h"
87 #include "third_party/WebKit/public/platform/BlameContext.h" 87 #include "third_party/WebKit/public/platform/BlameContext.h"
88 #include "third_party/WebKit/public/platform/FilePathConversion.h" 88 #include "third_party/WebKit/public/platform/FilePathConversion.h"
89 #include "third_party/WebKit/public/platform/URLConversion.h" 89 #include "third_party/WebKit/public/platform/URLConversion.h"
90 #include "third_party/WebKit/public/platform/WebAudioLatencyHint.h" 90 #include "third_party/WebKit/public/platform/WebAudioLatencyHint.h"
91 #include "third_party/WebKit/public/platform/WebBlobRegistry.h" 91 #include "third_party/WebKit/public/platform/WebBlobRegistry.h"
92 #include "third_party/WebKit/public/platform/WebFileInfo.h" 92 #include "third_party/WebKit/public/platform/WebFileInfo.h"
93 #include "third_party/WebKit/public/platform/WebMediaRecorderHandler.h"
93 #include "third_party/WebKit/public/platform/WebMediaStreamCenter.h" 94 #include "third_party/WebKit/public/platform/WebMediaStreamCenter.h"
94 #include "third_party/WebKit/public/platform/WebMediaStreamCenterClient.h" 95 #include "third_party/WebKit/public/platform/WebMediaStreamCenterClient.h"
95 #include "third_party/WebKit/public/platform/WebPluginListBuilder.h" 96 #include "third_party/WebKit/public/platform/WebPluginListBuilder.h"
97 #include "third_party/WebKit/public/platform/WebRTCCertificateGenerator.h"
98 #include "third_party/WebKit/public/platform/WebRTCPeerConnectionHandler.h"
96 #include "third_party/WebKit/public/platform/WebSecurityOrigin.h" 99 #include "third_party/WebKit/public/platform/WebSecurityOrigin.h"
97 #include "third_party/WebKit/public/platform/WebThread.h" 100 #include "third_party/WebKit/public/platform/WebThread.h"
98 #include "third_party/WebKit/public/platform/WebURL.h" 101 #include "third_party/WebKit/public/platform/WebURL.h"
99 #include "third_party/WebKit/public/platform/WebVector.h" 102 #include "third_party/WebKit/public/platform/WebVector.h"
100 #include "third_party/WebKit/public/platform/modules/device_orientation/WebDevic eMotionListener.h" 103 #include "third_party/WebKit/public/platform/modules/device_orientation/WebDevic eMotionListener.h"
101 #include "third_party/WebKit/public/platform/modules/device_orientation/WebDevic eOrientationListener.h" 104 #include "third_party/WebKit/public/platform/modules/device_orientation/WebDevic eOrientationListener.h"
105 #include "third_party/WebKit/public/platform/modules/webmidi/WebMIDIAccessor.h"
102 #include "third_party/WebKit/public/platform/scheduler/renderer/renderer_schedul er.h" 106 #include "third_party/WebKit/public/platform/scheduler/renderer/renderer_schedul er.h"
103 #include "third_party/WebKit/public/web/WebLocalFrame.h" 107 #include "third_party/WebKit/public/web/WebLocalFrame.h"
104 #include "url/gurl.h" 108 #include "url/gurl.h"
105 109
106 #if defined(OS_MACOSX) 110 #if defined(OS_MACOSX)
107 #include "content/common/mac/font_descriptor.h" 111 #include "content/common/mac/font_descriptor.h"
108 #include "content/common/mac/font_loader.h" 112 #include "content/common/mac/font_loader.h"
109 #include "content/renderer/webscrollbarbehavior_impl_mac.h" 113 #include "content/renderer/webscrollbarbehavior_impl_mac.h"
110 #include "third_party/WebKit/public/platform/mac/WebSandboxSupport.h" 114 #include "third_party/WebKit/public/platform/mac/WebSandboxSupport.h"
111 #endif 115 #endif
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 using blink::Platform; 147 using blink::Platform;
144 using blink::WebAudioDevice; 148 using blink::WebAudioDevice;
145 using blink::WebAudioLatencyHint; 149 using blink::WebAudioLatencyHint;
146 using blink::WebBlobRegistry; 150 using blink::WebBlobRegistry;
147 using blink::WebCanvasCaptureHandler; 151 using blink::WebCanvasCaptureHandler;
148 using blink::WebDatabaseObserver; 152 using blink::WebDatabaseObserver;
149 using blink::WebFileInfo; 153 using blink::WebFileInfo;
150 using blink::WebFileSystem; 154 using blink::WebFileSystem;
151 using blink::WebIDBFactory; 155 using blink::WebIDBFactory;
152 using blink::WebImageCaptureFrameGrabber; 156 using blink::WebImageCaptureFrameGrabber;
153 using blink::WebMIDIAccessor;
154 using blink::WebMediaPlayer; 157 using blink::WebMediaPlayer;
155 using blink::WebMediaRecorderHandler; 158 using blink::WebMediaRecorderHandler;
156 using blink::WebMediaStream; 159 using blink::WebMediaStream;
157 using blink::WebMediaStreamCenter; 160 using blink::WebMediaStreamCenter;
158 using blink::WebMediaStreamCenterClient; 161 using blink::WebMediaStreamCenterClient;
159 using blink::WebMediaStreamTrack; 162 using blink::WebMediaStreamTrack;
160 using blink::WebRTCPeerConnectionHandler; 163 using blink::WebRTCPeerConnectionHandler;
161 using blink::WebRTCPeerConnectionHandlerClient; 164 using blink::WebRTCPeerConnectionHandlerClient;
162 using blink::WebStorageNamespace; 165 using blink::WebStorageNamespace;
163 using blink::WebSize; 166 using blink::WebSize;
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 sudden_termination_disables_++; 472 sudden_termination_disables_++;
470 if (sudden_termination_disables_ != 1) 473 if (sudden_termination_disables_ != 1)
471 return; 474 return;
472 } 475 }
473 476
474 RenderThread* thread = RenderThread::Get(); 477 RenderThread* thread = RenderThread::Get();
475 if (thread) // NULL in unittests. 478 if (thread) // NULL in unittests.
476 thread->Send(new RenderProcessHostMsg_SuddenTerminationChanged(enabled)); 479 thread->Send(new RenderProcessHostMsg_SuddenTerminationChanged(enabled));
477 } 480 }
478 481
479 WebStorageNamespace* RendererBlinkPlatformImpl::CreateLocalStorageNamespace() { 482 std::unique_ptr<WebStorageNamespace>
483 RendererBlinkPlatformImpl::CreateLocalStorageNamespace() {
480 if (base::CommandLine::ForCurrentProcess()->HasSwitch( 484 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
481 switches::kMojoLocalStorage)) { 485 switches::kMojoLocalStorage)) {
482 if (!local_storage_cached_areas_) { 486 if (!local_storage_cached_areas_) {
483 local_storage_cached_areas_.reset(new LocalStorageCachedAreas( 487 local_storage_cached_areas_.reset(new LocalStorageCachedAreas(
484 RenderThreadImpl::current()->GetStoragePartitionService())); 488 RenderThreadImpl::current()->GetStoragePartitionService()));
485 } 489 }
486 return new LocalStorageNamespace(local_storage_cached_areas_.get()); 490 return base::MakeUnique<LocalStorageNamespace>(
491 local_storage_cached_areas_.get());
487 } 492 }
488 493
489 return new WebStorageNamespaceImpl(); 494 return base::MakeUnique<WebStorageNamespaceImpl>();
490 } 495 }
491 496
492 497
493 //------------------------------------------------------------------------------ 498 //------------------------------------------------------------------------------
494 499
495 WebIDBFactory* RendererBlinkPlatformImpl::IdbFactory() { 500 WebIDBFactory* RendererBlinkPlatformImpl::IdbFactory() {
496 return web_idb_factory_.get(); 501 return web_idb_factory_.get();
497 } 502 }
498 503
499 //------------------------------------------------------------------------------ 504 //------------------------------------------------------------------------------
500 505
501 blink::WebServiceWorkerCacheStorage* RendererBlinkPlatformImpl::CacheStorage( 506 std::unique_ptr<blink::WebServiceWorkerCacheStorage>
507 RendererBlinkPlatformImpl::CreateCacheStorage(
502 const blink::WebSecurityOrigin& security_origin) { 508 const blink::WebSecurityOrigin& security_origin) {
503 return new WebServiceWorkerCacheStorageImpl(thread_safe_sender_.get(), 509 return base::MakeUnique<WebServiceWorkerCacheStorageImpl>(
504 security_origin); 510 thread_safe_sender_.get(), security_origin);
505 } 511 }
506 512
507 //------------------------------------------------------------------------------ 513 //------------------------------------------------------------------------------
508 514
509 WebFileSystem* RendererBlinkPlatformImpl::FileSystem() { 515 WebFileSystem* RendererBlinkPlatformImpl::FileSystem() {
510 return WebFileSystemImpl::ThreadSpecificInstance(default_task_runner_); 516 return WebFileSystemImpl::ThreadSpecificInstance(default_task_runner_);
511 } 517 }
512 518
513 WebString RendererBlinkPlatformImpl::FileSystemCreateOriginIdentifier( 519 WebString RendererBlinkPlatformImpl::FileSystemCreateOriginIdentifier(
514 const blink::WebSecurityOrigin& origin) { 520 const blink::WebSecurityOrigin& origin) {
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
686 } 692 }
687 693
688 unsigned RendererBlinkPlatformImpl::AudioHardwareOutputChannels() { 694 unsigned RendererBlinkPlatformImpl::AudioHardwareOutputChannels() {
689 return GetAudioHardwareParams().channels(); 695 return GetAudioHardwareParams().channels();
690 } 696 }
691 697
692 WebDatabaseObserver* RendererBlinkPlatformImpl::DatabaseObserver() { 698 WebDatabaseObserver* RendererBlinkPlatformImpl::DatabaseObserver() {
693 return web_database_observer_impl_.get(); 699 return web_database_observer_impl_.get();
694 } 700 }
695 701
696 WebAudioDevice* RendererBlinkPlatformImpl::CreateAudioDevice( 702 std::unique_ptr<WebAudioDevice> RendererBlinkPlatformImpl::CreateAudioDevice(
697 unsigned input_channels, 703 unsigned input_channels,
698 unsigned channels, 704 unsigned channels,
699 const blink::WebAudioLatencyHint& latency_hint, 705 const blink::WebAudioLatencyHint& latency_hint,
700 WebAudioDevice::RenderCallback* callback, 706 WebAudioDevice::RenderCallback* callback,
701 const blink::WebString& input_device_id, 707 const blink::WebString& input_device_id,
702 const blink::WebSecurityOrigin& security_origin) { 708 const blink::WebSecurityOrigin& security_origin) {
703 // Use a mock for testing. 709 // Use a mock for testing.
704 blink::WebAudioDevice* mock_device = 710 std::unique_ptr<blink::WebAudioDevice> mock_device =
705 GetContentClient()->renderer()->OverrideCreateAudioDevice(latency_hint); 711 GetContentClient()->renderer()->OverrideCreateAudioDevice(latency_hint);
706 if (mock_device) 712 if (mock_device)
707 return mock_device; 713 return mock_device;
708 714
709 // The |channels| does not exactly identify the channel layout of the 715 // The |channels| does not exactly identify the channel layout of the
710 // device. The switch statement below assigns a best guess to the channel 716 // device. The switch statement below assigns a best guess to the channel
711 // layout based on number of channels. 717 // layout based on number of channels.
712 media::ChannelLayout layout = media::GuessChannelLayout(channels); 718 media::ChannelLayout layout = media::GuessChannelLayout(channels);
713 if (layout == media::CHANNEL_LAYOUT_UNSUPPORTED) 719 if (layout == media::CHANNEL_LAYOUT_UNSUPPORTED)
714 layout = media::CHANNEL_LAYOUT_DISCRETE; 720 layout = media::CHANNEL_LAYOUT_DISCRETE;
(...skipping 12 matching lines...) Expand all
727 bool RendererBlinkPlatformImpl::LoadAudioResource( 733 bool RendererBlinkPlatformImpl::LoadAudioResource(
728 blink::WebAudioBus* destination_bus, 734 blink::WebAudioBus* destination_bus,
729 const char* audio_file_data, 735 const char* audio_file_data,
730 size_t data_size) { 736 size_t data_size) {
731 return DecodeAudioFileData( 737 return DecodeAudioFileData(
732 destination_bus, audio_file_data, data_size); 738 destination_bus, audio_file_data, data_size);
733 } 739 }
734 740
735 //------------------------------------------------------------------------------ 741 //------------------------------------------------------------------------------
736 742
737 blink::WebMIDIAccessor* RendererBlinkPlatformImpl::CreateMIDIAccessor( 743 std::unique_ptr<blink::WebMIDIAccessor>
744 RendererBlinkPlatformImpl::CreateMIDIAccessor(
738 blink::WebMIDIAccessorClient* client) { 745 blink::WebMIDIAccessorClient* client) {
739 blink::WebMIDIAccessor* accessor = 746 std::unique_ptr<blink::WebMIDIAccessor> accessor =
740 GetContentClient()->renderer()->OverrideCreateMIDIAccessor(client); 747 GetContentClient()->renderer()->OverrideCreateMIDIAccessor(client);
741 if (accessor) 748 if (accessor)
742 return accessor; 749 return accessor;
743 750
744 return new RendererWebMIDIAccessorImpl(client); 751 return base::MakeUnique<RendererWebMIDIAccessorImpl>(client);
745 } 752 }
746 753
747 void RendererBlinkPlatformImpl::GetPluginList( 754 void RendererBlinkPlatformImpl::GetPluginList(
748 bool refresh, 755 bool refresh,
749 const blink::WebSecurityOrigin& mainFrameOrigin, 756 const blink::WebSecurityOrigin& mainFrameOrigin,
750 blink::WebPluginListBuilder* builder) { 757 blink::WebPluginListBuilder* builder) {
751 #if BUILDFLAG(ENABLE_PLUGINS) 758 #if BUILDFLAG(ENABLE_PLUGINS)
752 std::vector<WebPluginInfo> plugins; 759 std::vector<WebPluginInfo> plugins;
753 if (!plugin_refresh_allowed_) 760 if (!plugin_refresh_allowed_)
754 refresh = false; 761 refresh = false;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
797 void RendererBlinkPlatformImpl::SampleGamepads(device::Gamepads& gamepads) { 804 void RendererBlinkPlatformImpl::SampleGamepads(device::Gamepads& gamepads) {
798 PlatformEventObserverBase* observer = 805 PlatformEventObserverBase* observer =
799 platform_event_observers_.Lookup(blink::kWebPlatformEventTypeGamepad); 806 platform_event_observers_.Lookup(blink::kWebPlatformEventTypeGamepad);
800 if (!observer) 807 if (!observer)
801 return; 808 return;
802 static_cast<RendererGamepadProvider*>(observer)->SampleGamepads(gamepads); 809 static_cast<RendererGamepadProvider*>(observer)->SampleGamepads(gamepads);
803 } 810 }
804 811
805 //------------------------------------------------------------------------------ 812 //------------------------------------------------------------------------------
806 813
807 WebMediaRecorderHandler* 814 std::unique_ptr<WebMediaRecorderHandler>
808 RendererBlinkPlatformImpl::CreateMediaRecorderHandler() { 815 RendererBlinkPlatformImpl::CreateMediaRecorderHandler() {
809 #if BUILDFLAG(ENABLE_WEBRTC) 816 #if BUILDFLAG(ENABLE_WEBRTC)
810 return new content::MediaRecorderHandler(); 817 return base::MakeUnique<content::MediaRecorderHandler>();
811 #else 818 #else
812 return nullptr; 819 return nullptr;
813 #endif 820 #endif
814 } 821 }
815 822
816 //------------------------------------------------------------------------------ 823 //------------------------------------------------------------------------------
817 824
818 WebRTCPeerConnectionHandler* 825 std::unique_ptr<WebRTCPeerConnectionHandler>
819 RendererBlinkPlatformImpl::CreateRTCPeerConnectionHandler( 826 RendererBlinkPlatformImpl::CreateRTCPeerConnectionHandler(
820 WebRTCPeerConnectionHandlerClient* client) { 827 WebRTCPeerConnectionHandlerClient* client) {
821 RenderThreadImpl* render_thread = RenderThreadImpl::current(); 828 RenderThreadImpl* render_thread = RenderThreadImpl::current();
822 DCHECK(render_thread); 829 DCHECK(render_thread);
823 if (!render_thread) 830 if (!render_thread)
824 return NULL; 831 return nullptr;
825 832
826 #if BUILDFLAG(ENABLE_WEBRTC) 833 #if BUILDFLAG(ENABLE_WEBRTC)
827 WebRTCPeerConnectionHandler* peer_connection_handler = 834 std::unique_ptr<WebRTCPeerConnectionHandler> peer_connection_handler =
828 GetContentClient()->renderer()->OverrideCreateWebRTCPeerConnectionHandler( 835 GetContentClient()->renderer()->OverrideCreateWebRTCPeerConnectionHandler(
829 client); 836 client);
830 if (peer_connection_handler) 837 if (peer_connection_handler)
831 return peer_connection_handler; 838 return peer_connection_handler;
832 839
833 PeerConnectionDependencyFactory* rtc_dependency_factory = 840 PeerConnectionDependencyFactory* rtc_dependency_factory =
834 render_thread->GetPeerConnectionDependencyFactory(); 841 render_thread->GetPeerConnectionDependencyFactory();
835 return rtc_dependency_factory->CreateRTCPeerConnectionHandler(client); 842 return rtc_dependency_factory->CreateRTCPeerConnectionHandler(client);
836 #else 843 #else
837 return NULL; 844 return nullptr;
838 #endif // BUILDFLAG(ENABLE_WEBRTC) 845 #endif // BUILDFLAG(ENABLE_WEBRTC)
839 } 846 }
840 847
841 //------------------------------------------------------------------------------ 848 //------------------------------------------------------------------------------
842 849
843 blink::WebRTCCertificateGenerator* 850 std::unique_ptr<blink::WebRTCCertificateGenerator>
844 RendererBlinkPlatformImpl::CreateRTCCertificateGenerator() { 851 RendererBlinkPlatformImpl::CreateRTCCertificateGenerator() {
845 #if BUILDFLAG(ENABLE_WEBRTC) 852 #if BUILDFLAG(ENABLE_WEBRTC)
846 return new RTCCertificateGenerator(); 853 return base::MakeUnique<RTCCertificateGenerator>();
847 #else 854 #else
848 return nullptr; 855 return nullptr;
849 #endif // BUILDFLAG(ENABLE_WEBRTC) 856 #endif // BUILDFLAG(ENABLE_WEBRTC)
850 } 857 }
851 858
852 //------------------------------------------------------------------------------ 859 //------------------------------------------------------------------------------
853 860
854 WebMediaStreamCenter* RendererBlinkPlatformImpl::CreateMediaStreamCenter( 861 std::unique_ptr<WebMediaStreamCenter>
862 RendererBlinkPlatformImpl::CreateMediaStreamCenter(
855 WebMediaStreamCenterClient* client) { 863 WebMediaStreamCenterClient* client) {
856 RenderThreadImpl* render_thread = RenderThreadImpl::current(); 864 RenderThreadImpl* render_thread = RenderThreadImpl::current();
857 DCHECK(render_thread); 865 DCHECK(render_thread);
858 if (!render_thread) 866 if (!render_thread)
859 return NULL; 867 return nullptr;
860 return render_thread->CreateMediaStreamCenter(client); 868 return render_thread->CreateMediaStreamCenter(client);
861 } 869 }
862 870
863 // static 871 // static
864 bool RendererBlinkPlatformImpl::SetSandboxEnabledForTesting(bool enable) { 872 bool RendererBlinkPlatformImpl::SetSandboxEnabledForTesting(bool enable) {
865 bool was_enabled = g_sandbox_enabled; 873 bool was_enabled = g_sandbox_enabled;
866 g_sandbox_enabled = enable; 874 g_sandbox_enabled = enable;
867 return was_enabled; 875 return was_enabled;
868 } 876 }
869 877
870 //------------------------------------------------------------------------------ 878 //------------------------------------------------------------------------------
871 879
872 WebCanvasCaptureHandler* RendererBlinkPlatformImpl::CreateCanvasCaptureHandler( 880 std::unique_ptr<WebCanvasCaptureHandler>
881 RendererBlinkPlatformImpl::CreateCanvasCaptureHandler(
873 const WebSize& size, 882 const WebSize& size,
874 double frame_rate, 883 double frame_rate,
875 WebMediaStreamTrack* track) { 884 WebMediaStreamTrack* track) {
876 #if BUILDFLAG(ENABLE_WEBRTC) 885 #if BUILDFLAG(ENABLE_WEBRTC)
877 return CanvasCaptureHandler::CreateCanvasCaptureHandler( 886 return CanvasCaptureHandler::CreateCanvasCaptureHandler(
878 size, frame_rate, RenderThread::Get()->GetIOTaskRunner(), track); 887 size, frame_rate, RenderThread::Get()->GetIOTaskRunner(), track);
879 #else 888 #else
880 return nullptr; 889 return nullptr;
881 #endif // BUILDFLAG(ENABLE_WEBRTC) 890 #endif // BUILDFLAG(ENABLE_WEBRTC)
882 } 891 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
920 // Takes ownership of |media_stream_source|. 929 // Takes ownership of |media_stream_source|.
921 web_media_stream_source.SetExtraData(media_stream_source); 930 web_media_stream_source.SetExtraData(media_stream_source);
922 931
923 media_stream_source->ConnectToTrack(web_media_stream_track); 932 media_stream_source->ConnectToTrack(web_media_stream_track);
924 web_media_stream->AddTrack(web_media_stream_track); 933 web_media_stream->AddTrack(web_media_stream_track);
925 #endif 934 #endif
926 } 935 }
927 936
928 //------------------------------------------------------------------------------ 937 //------------------------------------------------------------------------------
929 938
930 WebImageCaptureFrameGrabber* 939 std::unique_ptr<WebImageCaptureFrameGrabber>
931 RendererBlinkPlatformImpl::CreateImageCaptureFrameGrabber() { 940 RendererBlinkPlatformImpl::CreateImageCaptureFrameGrabber() {
932 #if BUILDFLAG(ENABLE_WEBRTC) 941 #if BUILDFLAG(ENABLE_WEBRTC)
933 return new ImageCaptureFrameGrabber(); 942 return base::MakeUnique<ImageCaptureFrameGrabber>();
934 #else 943 #else
935 return nullptr; 944 return nullptr;
936 #endif // BUILDFLAG(ENABLE_WEBRTC) 945 #endif // BUILDFLAG(ENABLE_WEBRTC)
937 } 946 }
938 947
939 //------------------------------------------------------------------------------ 948 //------------------------------------------------------------------------------
940 949
941 blink::WebSpeechSynthesizer* RendererBlinkPlatformImpl::CreateSpeechSynthesizer( 950 std::unique_ptr<blink::WebSpeechSynthesizer>
951 RendererBlinkPlatformImpl::CreateSpeechSynthesizer(
942 blink::WebSpeechSynthesizerClient* client) { 952 blink::WebSpeechSynthesizerClient* client) {
943 return GetContentClient()->renderer()->OverrideSpeechSynthesizer(client); 953 return GetContentClient()->renderer()->OverrideSpeechSynthesizer(client);
944 } 954 }
945 955
946 //------------------------------------------------------------------------------ 956 //------------------------------------------------------------------------------
947 957
948 static void Collect3DContextInformation( 958 static void Collect3DContextInformation(
949 blink::Platform::GraphicsInfo* gl_info, 959 blink::Platform::GraphicsInfo* gl_info,
950 const gpu::GPUInfo& gpu_info) { 960 const gpu::GPUInfo& gpu_info) {
951 DCHECK(gl_info); 961 DCHECK(gl_info);
(...skipping 14 matching lines...) Expand all
966 break; 976 break;
967 case gpu::kCollectInfoFatalFailure: 977 case gpu::kCollectInfoFatalFailure:
968 case gpu::kCollectInfoNone: 978 case gpu::kCollectInfoNone:
969 gl_info->error_message = WebString::FromUTF8( 979 gl_info->error_message = WebString::FromUTF8(
970 "Failed to collect gpu information, GLSurface or GLContext " 980 "Failed to collect gpu information, GLSurface or GLContext "
971 "creation failed"); 981 "creation failed");
972 break; 982 break;
973 } 983 }
974 } 984 }
975 985
976 blink::WebGraphicsContext3DProvider* 986 std::unique_ptr<blink::WebGraphicsContext3DProvider>
977 RendererBlinkPlatformImpl::CreateOffscreenGraphicsContext3DProvider( 987 RendererBlinkPlatformImpl::CreateOffscreenGraphicsContext3DProvider(
978 const blink::Platform::ContextAttributes& web_attributes, 988 const blink::Platform::ContextAttributes& web_attributes,
979 const blink::WebURL& top_document_web_url, 989 const blink::WebURL& top_document_web_url,
980 blink::WebGraphicsContext3DProvider* share_provider, 990 blink::WebGraphicsContext3DProvider* share_provider,
981 blink::Platform::GraphicsInfo* gl_info) { 991 blink::Platform::GraphicsInfo* gl_info) {
982 DCHECK(gl_info); 992 DCHECK(gl_info);
983 if (!RenderThreadImpl::current()) { 993 if (!RenderThreadImpl::current()) {
984 std::string error_message("Failed to run in Current RenderThreadImpl"); 994 std::string error_message("Failed to run in Current RenderThreadImpl");
985 gl_info->error_message = WebString::FromUTF8(error_message); 995 gl_info->error_message = WebString::FromUTF8(error_message);
986 return nullptr; 996 return nullptr;
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
1044 constexpr bool automatic_flushes = true; 1054 constexpr bool automatic_flushes = true;
1045 constexpr bool support_locking = false; 1055 constexpr bool support_locking = false;
1046 1056
1047 scoped_refptr<ui::ContextProviderCommandBuffer> provider( 1057 scoped_refptr<ui::ContextProviderCommandBuffer> provider(
1048 new ui::ContextProviderCommandBuffer( 1058 new ui::ContextProviderCommandBuffer(
1049 std::move(gpu_channel_host), gpu::GPU_STREAM_DEFAULT, 1059 std::move(gpu_channel_host), gpu::GPU_STREAM_DEFAULT,
1050 gpu::GpuStreamPriority::NORMAL, gpu::kNullSurfaceHandle, 1060 gpu::GpuStreamPriority::NORMAL, gpu::kNullSurfaceHandle,
1051 GURL(top_document_web_url), automatic_flushes, support_locking, 1061 GURL(top_document_web_url), automatic_flushes, support_locking,
1052 gpu::SharedMemoryLimits(), attributes, share_context, 1062 gpu::SharedMemoryLimits(), attributes, share_context,
1053 ui::command_buffer_metrics::OFFSCREEN_CONTEXT_FOR_WEBGL)); 1063 ui::command_buffer_metrics::OFFSCREEN_CONTEXT_FOR_WEBGL));
1054 return new WebGraphicsContext3DProviderImpl(std::move(provider), 1064 return base::MakeUnique<WebGraphicsContext3DProviderImpl>(
1055 is_software_rendering); 1065 std::move(provider), is_software_rendering);
1056 } 1066 }
1057 1067
1058 //------------------------------------------------------------------------------ 1068 //------------------------------------------------------------------------------
1059 1069
1060 blink::WebGraphicsContext3DProvider* 1070 std::unique_ptr<blink::WebGraphicsContext3DProvider>
1061 RendererBlinkPlatformImpl::CreateSharedOffscreenGraphicsContext3DProvider() { 1071 RendererBlinkPlatformImpl::CreateSharedOffscreenGraphicsContext3DProvider() {
1062 auto* thread = RenderThreadImpl::current(); 1072 auto* thread = RenderThreadImpl::current();
1063 1073
1064 scoped_refptr<ui::ContextProviderCommandBuffer> provider = 1074 scoped_refptr<ui::ContextProviderCommandBuffer> provider =
1065 thread->SharedMainThreadContextProvider(); 1075 thread->SharedMainThreadContextProvider();
1066 if (!provider) 1076 if (!provider)
1067 return nullptr; 1077 return nullptr;
1068 1078
1069 scoped_refptr<gpu::GpuChannelHost> host = thread->EstablishGpuChannelSync(); 1079 scoped_refptr<gpu::GpuChannelHost> host = thread->EstablishGpuChannelSync();
1070 // This shouldn't normally fail because we just got |provider|. But the 1080 // This shouldn't normally fail because we just got |provider|. But the
1071 // channel can become lost on the IO thread since then. It is important that 1081 // channel can become lost on the IO thread since then. It is important that
1072 // this happens after getting |provider|. In the case that this GpuChannelHost 1082 // this happens after getting |provider|. In the case that this GpuChannelHost
1073 // is not the same one backing |provider|, the context behind the |provider| 1083 // is not the same one backing |provider|, the context behind the |provider|
1074 // will be already lost/dead on arrival, so the value we get for 1084 // will be already lost/dead on arrival, so the value we get for
1075 // |is_software_rendering| will never be wrong. 1085 // |is_software_rendering| will never be wrong.
1076 if (!host) 1086 if (!host)
1077 return nullptr; 1087 return nullptr;
1078 1088
1079 bool is_software_rendering = host->gpu_info().software_rendering; 1089 bool is_software_rendering = host->gpu_info().software_rendering;
1080 1090
1081 return new WebGraphicsContext3DProviderImpl(std::move(provider), 1091 return base::MakeUnique<WebGraphicsContext3DProviderImpl>(
1082 is_software_rendering); 1092 std::move(provider), is_software_rendering);
1083 } 1093 }
1084 1094
1085 //------------------------------------------------------------------------------ 1095 //------------------------------------------------------------------------------
1086 1096
1087 gpu::GpuMemoryBufferManager* 1097 gpu::GpuMemoryBufferManager*
1088 RendererBlinkPlatformImpl::GetGpuMemoryBufferManager() { 1098 RendererBlinkPlatformImpl::GetGpuMemoryBufferManager() {
1089 RenderThreadImpl* thread = RenderThreadImpl::current(); 1099 RenderThreadImpl* thread = RenderThreadImpl::current();
1090 return thread ? thread->GetGpuMemoryBufferManager() : nullptr; 1100 return thread ? thread->GetGpuMemoryBufferManager() : nullptr;
1091 } 1101 }
1092 1102
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
1286 //------------------------------------------------------------------------------ 1296 //------------------------------------------------------------------------------
1287 void RendererBlinkPlatformImpl::RequestPurgeMemory() { 1297 void RendererBlinkPlatformImpl::RequestPurgeMemory() {
1288 // TODO(tasak|bashi): We should use ChildMemoryCoordinator here, but 1298 // TODO(tasak|bashi): We should use ChildMemoryCoordinator here, but
1289 // ChildMemoryCoordinator isn't always available as it's only initialized 1299 // ChildMemoryCoordinator isn't always available as it's only initialized
1290 // when kMemoryCoordinatorV0 is enabled. 1300 // when kMemoryCoordinatorV0 is enabled.
1291 // Use ChildMemoryCoordinator when memory coordinator is always enabled. 1301 // Use ChildMemoryCoordinator when memory coordinator is always enabled.
1292 base::MemoryCoordinatorClientRegistry::GetInstance()->PurgeMemory(); 1302 base::MemoryCoordinatorClientRegistry::GetInstance()->PurgeMemory();
1293 } 1303 }
1294 1304
1295 } // namespace content 1305 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698