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

Side by Side Diff: content/browser/renderer_host/render_process_host_impl.cc

Issue 2774373002: Use MojoCompositorFrameSink in RendererCompositorFrameSink (Closed)
Patch Set: addressed comments Created 3 years, 8 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 // Represents the browser side of the browser <--> renderer communication 5 // Represents the browser side of the browser <--> renderer communication
6 // channel. There will be one RenderProcessHost per renderer process. 6 // channel. There will be one RenderProcessHost per renderer process.
7 7
8 #include "content/browser/renderer_host/render_process_host_impl.h" 8 #include "content/browser/renderer_host/render_process_host_impl.h"
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 685 matching lines...) Expand 10 before | Expand all | Expand 10 after
696 storage_partition_impl_->GetIndexedDBContext(), 696 storage_partition_impl_->GetIndexedDBContext(),
697 ChromeBlobStorageContext::GetFor(browser_context_))), 697 ChromeBlobStorageContext::GetFor(browser_context_))),
698 channel_connected_(false), 698 channel_connected_(false),
699 sent_render_process_ready_(false), 699 sent_render_process_ready_(false),
700 #if defined(OS_ANDROID) 700 #if defined(OS_ANDROID)
701 never_signaled_(base::WaitableEvent::ResetPolicy::MANUAL, 701 never_signaled_(base::WaitableEvent::ResetPolicy::MANUAL,
702 base::WaitableEvent::InitialState::NOT_SIGNALED), 702 base::WaitableEvent::InitialState::NOT_SIGNALED),
703 #endif 703 #endif
704 instance_weak_factory_( 704 instance_weak_factory_(
705 new base::WeakPtrFactory<RenderProcessHostImpl>(this)), 705 new base::WeakPtrFactory<RenderProcessHostImpl>(this)),
706 frame_sink_provider_(id_),
706 weak_factory_(this) { 707 weak_factory_(this) {
707 widget_helper_ = new RenderWidgetHelper(); 708 widget_helper_ = new RenderWidgetHelper();
708 709
709 ChildProcessSecurityPolicyImpl::GetInstance()->Add(GetID()); 710 ChildProcessSecurityPolicyImpl::GetInstance()->Add(GetID());
710 711
711 CHECK(!BrowserMainRunner::ExitedMainMessageLoop()); 712 CHECK(!BrowserMainRunner::ExitedMainMessageLoop());
712 RegisterHost(GetID(), this); 713 RegisterHost(GetID(), this);
713 g_all_hosts.Get().set_check_on_null_data(true); 714 g_all_hosts.Get().set_check_on_null_data(true);
714 // Initialize |child_process_activity_time_| to a reasonable value. 715 // Initialize |child_process_activity_time_| to a reasonable value.
715 mark_child_process_activity_time(); 716 mark_child_process_activity_time();
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
1233 base::Bind( 1234 base::Bind(
1234 &PaymentAppContextImpl::CreatePaymentManager, 1235 &PaymentAppContextImpl::CreatePaymentManager,
1235 base::Unretained(storage_partition_impl_->GetPaymentAppContext()))); 1236 base::Unretained(storage_partition_impl_->GetPaymentAppContext())));
1236 1237
1237 AddUIThreadInterface( 1238 AddUIThreadInterface(
1238 registry.get(), 1239 registry.get(),
1239 base::Bind(&RenderProcessHostImpl:: 1240 base::Bind(&RenderProcessHostImpl::
1240 CreateOffscreenCanvasCompositorFrameSinkProvider, 1241 CreateOffscreenCanvasCompositorFrameSinkProvider,
1241 base::Unretained(this))); 1242 base::Unretained(this)));
1242 1243
1244 AddUIThreadInterface(
1245 registry.get(),
1246 base::Bind(&RenderProcessHostImpl::CreateFrameSinkProvider,
1247 base::Unretained(this)));
1248
1243 AddUIThreadInterface(registry.get(), 1249 AddUIThreadInterface(registry.get(),
1244 base::Bind(&OffscreenCanvasSurfaceFactoryImpl::Create)); 1250 base::Bind(&OffscreenCanvasSurfaceFactoryImpl::Create));
1245 AddUIThreadInterface( 1251 AddUIThreadInterface(
1246 registry.get(), 1252 registry.get(),
1247 base::Bind(&BackgroundSyncContext::CreateService, 1253 base::Bind(&BackgroundSyncContext::CreateService,
1248 base::Unretained( 1254 base::Unretained(
1249 storage_partition_impl_->GetBackgroundSyncContext()))); 1255 storage_partition_impl_->GetBackgroundSyncContext())));
1250 AddUIThreadInterface( 1256 AddUIThreadInterface(
1251 registry.get(), 1257 registry.get(),
1252 base::Bind(&PlatformNotificationContextImpl::CreateService, 1258 base::Bind(&PlatformNotificationContextImpl::CreateService,
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
1360 void RenderProcessHostImpl::CreateOffscreenCanvasCompositorFrameSinkProvider( 1366 void RenderProcessHostImpl::CreateOffscreenCanvasCompositorFrameSinkProvider(
1361 blink::mojom::OffscreenCanvasCompositorFrameSinkProviderRequest request) { 1367 blink::mojom::OffscreenCanvasCompositorFrameSinkProviderRequest request) {
1362 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1368 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1363 if (!offscreen_canvas_provider_) { 1369 if (!offscreen_canvas_provider_) {
1364 offscreen_canvas_provider_.reset( 1370 offscreen_canvas_provider_.reset(
1365 new OffscreenCanvasCompositorFrameSinkProviderImpl()); 1371 new OffscreenCanvasCompositorFrameSinkProviderImpl());
1366 } 1372 }
1367 offscreen_canvas_provider_->Add(std::move(request)); 1373 offscreen_canvas_provider_->Add(std::move(request));
1368 } 1374 }
1369 1375
1376 void RenderProcessHostImpl::CreateFrameSinkProvider(
1377 mojom::FrameSinkProviderRequest request) {
1378 frame_sink_provider_.Bind(std::move(request));
Ken Rockot(use gerrit already) 2017/04/10 23:31:11 nit: Maybe BindFrameSinkProvider is a better name
1379 }
1380
1370 void RenderProcessHostImpl::CreateStoragePartitionService( 1381 void RenderProcessHostImpl::CreateStoragePartitionService(
1371 mojo::InterfaceRequest<mojom::StoragePartitionService> request) { 1382 mojo::InterfaceRequest<mojom::StoragePartitionService> request) {
1372 // DO NOT REMOVE THIS COMMAND LINE CHECK WITHOUT SECURITY REVIEW! 1383 // DO NOT REMOVE THIS COMMAND LINE CHECK WITHOUT SECURITY REVIEW!
1373 if (base::CommandLine::ForCurrentProcess()->HasSwitch( 1384 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
1374 switches::kMojoLocalStorage)) { 1385 switches::kMojoLocalStorage)) {
1375 storage_partition_impl_->Bind(std::move(request)); 1386 storage_partition_impl_->Bind(std::move(request));
1376 } 1387 }
1377 } 1388 }
1378 1389
1379 int RenderProcessHostImpl::GetNextRoutingID() { 1390 int RenderProcessHostImpl::GetNextRoutingID() {
(...skipping 1678 matching lines...) Expand 10 before | Expand all | Expand 10 after
3058 LOG(ERROR) << "Terminating render process for bad Mojo message: " << error; 3069 LOG(ERROR) << "Terminating render process for bad Mojo message: " << error;
3059 3070
3060 // The ReceivedBadMessage call below will trigger a DumpWithoutCrashing. 3071 // The ReceivedBadMessage call below will trigger a DumpWithoutCrashing.
3061 // Capture the error message in a crash key value. 3072 // Capture the error message in a crash key value.
3062 base::debug::ScopedCrashKey error_key_value("mojo-message-error", error); 3073 base::debug::ScopedCrashKey error_key_value("mojo-message-error", error);
3063 bad_message::ReceivedBadMessage(render_process_id, 3074 bad_message::ReceivedBadMessage(render_process_id,
3064 bad_message::RPH_MOJO_PROCESS_ERROR); 3075 bad_message::RPH_MOJO_PROCESS_ERROR);
3065 } 3076 }
3066 3077
3067 } // namespace content 3078 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698