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

Side by Side Diff: content/renderer/gpu/render_widget_compositor.cc

Issue 1873783003: Convert //content/renderer from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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/gpu/render_widget_compositor.h" 5 #include "content/renderer/gpu/render_widget_compositor.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <limits> 8 #include <limits>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 "mismatching enums: SHOWN"); 197 "mismatching enums: SHOWN");
198 198
199 static cc::TopControlsState ConvertTopControlsState( 199 static cc::TopControlsState ConvertTopControlsState(
200 WebTopControlsState state) { 200 WebTopControlsState state) {
201 return static_cast<cc::TopControlsState>(state); 201 return static_cast<cc::TopControlsState>(state);
202 } 202 }
203 203
204 } // namespace 204 } // namespace
205 205
206 // static 206 // static
207 scoped_ptr<RenderWidgetCompositor> RenderWidgetCompositor::Create( 207 std::unique_ptr<RenderWidgetCompositor> RenderWidgetCompositor::Create(
208 RenderWidgetCompositorDelegate* delegate, 208 RenderWidgetCompositorDelegate* delegate,
209 float device_scale_factor, 209 float device_scale_factor,
210 CompositorDependencies* compositor_deps) { 210 CompositorDependencies* compositor_deps) {
211 scoped_ptr<RenderWidgetCompositor> compositor( 211 std::unique_ptr<RenderWidgetCompositor> compositor(
212 new RenderWidgetCompositor(delegate, compositor_deps)); 212 new RenderWidgetCompositor(delegate, compositor_deps));
213 compositor->Initialize(device_scale_factor); 213 compositor->Initialize(device_scale_factor);
214 return compositor; 214 return compositor;
215 } 215 }
216 216
217 RenderWidgetCompositor::RenderWidgetCompositor( 217 RenderWidgetCompositor::RenderWidgetCompositor(
218 RenderWidgetCompositorDelegate* delegate, 218 RenderWidgetCompositorDelegate* delegate,
219 CompositorDependencies* compositor_deps) 219 CompositorDependencies* compositor_deps)
220 : num_failed_recreate_attempts_(0), 220 : num_failed_recreate_attempts_(0),
221 delegate_(delegate), 221 delegate_(delegate),
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager = 476 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager =
477 compositor_deps_->GetGpuMemoryBufferManager(); 477 compositor_deps_->GetGpuMemoryBufferManager();
478 cc::TaskGraphRunner* task_graph_runner = 478 cc::TaskGraphRunner* task_graph_runner =
479 compositor_deps_->GetTaskGraphRunner(); 479 compositor_deps_->GetTaskGraphRunner();
480 480
481 bool use_remote_compositing = cmd->HasSwitch(switches::kUseRemoteCompositing); 481 bool use_remote_compositing = cmd->HasSwitch(switches::kUseRemoteCompositing);
482 482
483 if (use_remote_compositing) 483 if (use_remote_compositing)
484 settings.use_external_begin_frame_source = false; 484 settings.use_external_begin_frame_source = false;
485 485
486 scoped_ptr<cc::BeginFrameSource> external_begin_frame_source; 486 std::unique_ptr<cc::BeginFrameSource> external_begin_frame_source;
487 if (settings.use_external_begin_frame_source) { 487 if (settings.use_external_begin_frame_source) {
488 external_begin_frame_source = delegate_->CreateExternalBeginFrameSource(); 488 external_begin_frame_source = delegate_->CreateExternalBeginFrameSource();
489 } 489 }
490 490
491 cc::LayerTreeHost::InitParams params; 491 cc::LayerTreeHost::InitParams params;
492 params.client = this; 492 params.client = this;
493 params.shared_bitmap_manager = shared_bitmap_manager; 493 params.shared_bitmap_manager = shared_bitmap_manager;
494 params.gpu_memory_buffer_manager = gpu_memory_buffer_manager; 494 params.gpu_memory_buffer_manager = gpu_memory_buffer_manager;
495 params.settings = &settings; 495 params.settings = &settings;
496 params.task_graph_runner = task_graph_runner; 496 params.task_graph_runner = task_graph_runner;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
538 538
539 void RenderWidgetCompositor::SetNeedsRedrawRect(gfx::Rect damage_rect) { 539 void RenderWidgetCompositor::SetNeedsRedrawRect(gfx::Rect damage_rect) {
540 layer_tree_host_->SetNeedsRedrawRect(damage_rect); 540 layer_tree_host_->SetNeedsRedrawRect(damage_rect);
541 } 541 }
542 542
543 void RenderWidgetCompositor::SetNeedsForcedRedraw() { 543 void RenderWidgetCompositor::SetNeedsForcedRedraw() {
544 layer_tree_host_->SetNextCommitForcesRedraw(); 544 layer_tree_host_->SetNextCommitForcesRedraw();
545 setNeedsAnimate(); 545 setNeedsAnimate();
546 } 546 }
547 547
548 scoped_ptr<cc::SwapPromiseMonitor> 548 std::unique_ptr<cc::SwapPromiseMonitor>
549 RenderWidgetCompositor::CreateLatencyInfoSwapPromiseMonitor( 549 RenderWidgetCompositor::CreateLatencyInfoSwapPromiseMonitor(
550 ui::LatencyInfo* latency) { 550 ui::LatencyInfo* latency) {
551 return scoped_ptr<cc::SwapPromiseMonitor>( 551 return std::unique_ptr<cc::SwapPromiseMonitor>(
552 new cc::LatencyInfoSwapPromiseMonitor( 552 new cc::LatencyInfoSwapPromiseMonitor(latency, layer_tree_host_.get(),
553 latency, layer_tree_host_.get(), NULL)); 553 NULL));
554 } 554 }
555 555
556 void RenderWidgetCompositor::QueueSwapPromise( 556 void RenderWidgetCompositor::QueueSwapPromise(
557 scoped_ptr<cc::SwapPromise> swap_promise) { 557 std::unique_ptr<cc::SwapPromise> swap_promise) {
558 layer_tree_host_->QueueSwapPromise(std::move(swap_promise)); 558 layer_tree_host_->QueueSwapPromise(std::move(swap_promise));
559 } 559 }
560 560
561 int RenderWidgetCompositor::GetSourceFrameNumber() const { 561 int RenderWidgetCompositor::GetSourceFrameNumber() const {
562 return layer_tree_host_->source_frame_number(); 562 return layer_tree_host_->source_frame_number();
563 } 563 }
564 564
565 void RenderWidgetCompositor::SetNeedsUpdateLayers() { 565 void RenderWidgetCompositor::SetNeedsUpdateLayers() {
566 layer_tree_host_->SetNeedsUpdateLayers(); 566 layer_tree_host_->SetNeedsUpdateLayers();
567 } 567 }
568 568
569 void RenderWidgetCompositor::SetNeedsCommit() { 569 void RenderWidgetCompositor::SetNeedsCommit() {
570 layer_tree_host_->SetNeedsCommit(); 570 layer_tree_host_->SetNeedsCommit();
571 } 571 }
572 572
573 void RenderWidgetCompositor::NotifyInputThrottledUntilCommit() { 573 void RenderWidgetCompositor::NotifyInputThrottledUntilCommit() {
574 layer_tree_host_->NotifyInputThrottledUntilCommit(); 574 layer_tree_host_->NotifyInputThrottledUntilCommit();
575 } 575 }
576 576
577 const cc::Layer* RenderWidgetCompositor::GetRootLayer() const { 577 const cc::Layer* RenderWidgetCompositor::GetRootLayer() const {
578 return layer_tree_host_->root_layer(); 578 return layer_tree_host_->root_layer();
579 } 579 }
580 580
581 int RenderWidgetCompositor::ScheduleMicroBenchmark( 581 int RenderWidgetCompositor::ScheduleMicroBenchmark(
582 const std::string& name, 582 const std::string& name,
583 scoped_ptr<base::Value> value, 583 std::unique_ptr<base::Value> value,
584 const base::Callback<void(scoped_ptr<base::Value>)>& callback) { 584 const base::Callback<void(std::unique_ptr<base::Value>)>& callback) {
585 return layer_tree_host_->ScheduleMicroBenchmark(name, std::move(value), 585 return layer_tree_host_->ScheduleMicroBenchmark(name, std::move(value),
586 callback); 586 callback);
587 } 587 }
588 588
589 bool RenderWidgetCompositor::SendMessageToMicroBenchmark( 589 bool RenderWidgetCompositor::SendMessageToMicroBenchmark(
590 int id, 590 int id,
591 scoped_ptr<base::Value> value) { 591 std::unique_ptr<base::Value> value) {
592 return layer_tree_host_->SendMessageToMicroBenchmark(id, std::move(value)); 592 return layer_tree_host_->SendMessageToMicroBenchmark(id, std::move(value));
593 } 593 }
594 594
595 void RenderWidgetCompositor::setRootLayer(const blink::WebLayer& layer) { 595 void RenderWidgetCompositor::setRootLayer(const blink::WebLayer& layer) {
596 layer_tree_host_->SetRootLayer( 596 layer_tree_host_->SetRootLayer(
597 static_cast<const cc_blink::WebLayerImpl*>(&layer)->layer()); 597 static_cast<const cc_blink::WebLayerImpl*>(&layer)->layer());
598 } 598 }
599 599
600 void RenderWidgetCompositor::clearRootLayer() { 600 void RenderWidgetCompositor::clearRootLayer() {
601 layer_tree_host_->SetRootLayer(scoped_refptr<cc::Layer>()); 601 layer_tree_host_->SetRootLayer(scoped_refptr<cc::Layer>());
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
775 void RenderWidgetCompositor::setHaveScrollEventHandlers(bool has_handlers) { 775 void RenderWidgetCompositor::setHaveScrollEventHandlers(bool has_handlers) {
776 layer_tree_host_->SetHaveScrollEventHandlers(has_handlers); 776 layer_tree_host_->SetHaveScrollEventHandlers(has_handlers);
777 } 777 }
778 778
779 bool RenderWidgetCompositor::haveScrollEventHandlers() const { 779 bool RenderWidgetCompositor::haveScrollEventHandlers() const {
780 return layer_tree_host_->have_scroll_event_handlers(); 780 return layer_tree_host_->have_scroll_event_handlers();
781 } 781 }
782 782
783 void CompositeAndReadbackAsyncCallback( 783 void CompositeAndReadbackAsyncCallback(
784 blink::WebCompositeAndReadbackAsyncCallback* callback, 784 blink::WebCompositeAndReadbackAsyncCallback* callback,
785 scoped_ptr<cc::CopyOutputResult> result) { 785 std::unique_ptr<cc::CopyOutputResult> result) {
786 if (result->HasBitmap()) { 786 if (result->HasBitmap()) {
787 scoped_ptr<SkBitmap> result_bitmap = result->TakeBitmap(); 787 std::unique_ptr<SkBitmap> result_bitmap = result->TakeBitmap();
788 callback->didCompositeAndReadback(*result_bitmap); 788 callback->didCompositeAndReadback(*result_bitmap);
789 } else { 789 } else {
790 callback->didCompositeAndReadback(SkBitmap()); 790 callback->didCompositeAndReadback(SkBitmap());
791 } 791 }
792 } 792 }
793 793
794 bool RenderWidgetCompositor::CompositeIsSynchronous() const { 794 bool RenderWidgetCompositor::CompositeIsSynchronous() const {
795 return !compositor_deps_->GetCompositorImplThreadTaskRunner().get() && 795 return !compositor_deps_->GetCompositorImplThreadTaskRunner().get() &&
796 !layer_tree_host_->settings().single_thread_proxy_scheduler; 796 !layer_tree_host_->settings().single_thread_proxy_scheduler;
797 } 797 }
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
943 943
944 void RenderWidgetCompositor::RequestNewOutputSurface() { 944 void RenderWidgetCompositor::RequestNewOutputSurface() {
945 // If the host is closing, then no more compositing is possible. This 945 // If the host is closing, then no more compositing is possible. This
946 // prevents shutdown races between handling the close message and 946 // prevents shutdown races between handling the close message and
947 // the CreateOutputSurface task. 947 // the CreateOutputSurface task.
948 if (delegate_->IsClosing()) 948 if (delegate_->IsClosing())
949 return; 949 return;
950 950
951 bool fallback = 951 bool fallback =
952 num_failed_recreate_attempts_ >= OUTPUT_SURFACE_RETRIES_BEFORE_FALLBACK; 952 num_failed_recreate_attempts_ >= OUTPUT_SURFACE_RETRIES_BEFORE_FALLBACK;
953 scoped_ptr<cc::OutputSurface> surface( 953 std::unique_ptr<cc::OutputSurface> surface(
954 delegate_->CreateOutputSurface(fallback)); 954 delegate_->CreateOutputSurface(fallback));
955 955
956 if (!surface) { 956 if (!surface) {
957 DidFailToInitializeOutputSurface(); 957 DidFailToInitializeOutputSurface();
958 return; 958 return;
959 } 959 }
960 960
961 DCHECK_EQ(surface->capabilities().max_frames_pending, 1); 961 DCHECK_EQ(surface->capabilities().max_frames_pending, 1);
962 962
963 layer_tree_host_->SetOutputSurface(std::move(surface)); 963 layer_tree_host_->SetOutputSurface(std::move(surface));
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
1023 void RenderWidgetCompositor::SendCompositorProto( 1023 void RenderWidgetCompositor::SendCompositorProto(
1024 const cc::proto::CompositorMessage& proto) { 1024 const cc::proto::CompositorMessage& proto) {
1025 int signed_size = proto.ByteSize(); 1025 int signed_size = proto.ByteSize();
1026 size_t unsigned_size = base::checked_cast<size_t>(signed_size); 1026 size_t unsigned_size = base::checked_cast<size_t>(signed_size);
1027 std::vector<uint8_t> serialized(unsigned_size); 1027 std::vector<uint8_t> serialized(unsigned_size);
1028 proto.SerializeToArray(serialized.data(), signed_size); 1028 proto.SerializeToArray(serialized.data(), signed_size);
1029 delegate_->ForwardCompositorProto(serialized); 1029 delegate_->ForwardCompositorProto(serialized);
1030 } 1030 }
1031 1031
1032 void RenderWidgetCompositor::RecordFrameTimingEvents( 1032 void RenderWidgetCompositor::RecordFrameTimingEvents(
1033 scoped_ptr<cc::FrameTimingTracker::CompositeTimingSet> composite_events, 1033 std::unique_ptr<cc::FrameTimingTracker::CompositeTimingSet>
1034 scoped_ptr<cc::FrameTimingTracker::MainFrameTimingSet> main_frame_events) { 1034 composite_events,
1035 std::unique_ptr<cc::FrameTimingTracker::MainFrameTimingSet>
1036 main_frame_events) {
1035 delegate_->RecordFrameTimingEvents(std::move(composite_events), 1037 delegate_->RecordFrameTimingEvents(std::move(composite_events),
1036 std::move(main_frame_events)); 1038 std::move(main_frame_events));
1037 } 1039 }
1038 1040
1039 void RenderWidgetCompositor::SetSurfaceIdNamespace( 1041 void RenderWidgetCompositor::SetSurfaceIdNamespace(
1040 uint32_t surface_id_namespace) { 1042 uint32_t surface_id_namespace) {
1041 layer_tree_host_->set_surface_id_namespace(surface_id_namespace); 1043 layer_tree_host_->set_surface_id_namespace(surface_id_namespace);
1042 } 1044 }
1043 1045
1044 void RenderWidgetCompositor::OnHandleCompositorProto( 1046 void RenderWidgetCompositor::OnHandleCompositorProto(
1045 const std::vector<uint8_t>& proto) { 1047 const std::vector<uint8_t>& proto) {
1046 DCHECK(remote_proto_channel_receiver_); 1048 DCHECK(remote_proto_channel_receiver_);
1047 1049
1048 scoped_ptr<cc::proto::CompositorMessage> deserialized( 1050 std::unique_ptr<cc::proto::CompositorMessage> deserialized(
1049 new cc::proto::CompositorMessage); 1051 new cc::proto::CompositorMessage);
1050 int signed_size = base::checked_cast<int>(proto.size()); 1052 int signed_size = base::checked_cast<int>(proto.size());
1051 if (!deserialized->ParseFromArray(proto.data(), signed_size)) { 1053 if (!deserialized->ParseFromArray(proto.data(), signed_size)) {
1052 LOG(ERROR) << "Unable to parse compositor proto."; 1054 LOG(ERROR) << "Unable to parse compositor proto.";
1053 return; 1055 return;
1054 } 1056 }
1055 1057
1056 remote_proto_channel_receiver_->OnProtoReceived(std::move(deserialized)); 1058 remote_proto_channel_receiver_->OnProtoReceived(std::move(deserialized));
1057 } 1059 }
1058 1060
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
1135 #endif 1137 #endif
1136 return actual; 1138 return actual;
1137 } 1139 }
1138 1140
1139 void RenderWidgetCompositor::SetPaintedDeviceScaleFactor( 1141 void RenderWidgetCompositor::SetPaintedDeviceScaleFactor(
1140 float device_scale) { 1142 float device_scale) {
1141 layer_tree_host_->SetPaintedDeviceScaleFactor(device_scale); 1143 layer_tree_host_->SetPaintedDeviceScaleFactor(device_scale);
1142 } 1144 }
1143 1145
1144 } // namespace content 1146 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/gpu/render_widget_compositor.h ('k') | content/renderer/gpu/render_widget_compositor_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698