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

Side by Side Diff: content/renderer/gpu/gpu_benchmarking_extension.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) 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/gpu/gpu_benchmarking_extension.h" 5 #include "content/renderer/gpu/gpu_benchmarking_extension.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8
8 #include <string> 9 #include <string>
9 #include <utility> 10 #include <utility>
10 11
11 #include "base/base64.h" 12 #include "base/base64.h"
12 #include "base/command_line.h" 13 #include "base/command_line.h"
13 #include "base/files/file_path.h" 14 #include "base/files/file_path.h"
14 #include "base/files/file_util.h" 15 #include "base/files/file_util.h"
15 #include "base/macros.h" 16 #include "base/macros.h"
17 #include "base/memory/ptr_util.h"
16 #include "base/strings/string_number_conversions.h" 18 #include "base/strings/string_number_conversions.h"
17 #include "cc/layers/layer.h" 19 #include "cc/layers/layer.h"
18 #include "content/common/child_process_messages.h" 20 #include "content/common/child_process_messages.h"
19 #include "content/common/input/synthetic_gesture_params.h" 21 #include "content/common/input/synthetic_gesture_params.h"
20 #include "content/common/input/synthetic_pinch_gesture_params.h" 22 #include "content/common/input/synthetic_pinch_gesture_params.h"
21 #include "content/common/input/synthetic_smooth_drag_gesture_params.h" 23 #include "content/common/input/synthetic_smooth_drag_gesture_params.h"
22 #include "content/common/input/synthetic_smooth_scroll_gesture_params.h" 24 #include "content/common/input/synthetic_smooth_scroll_gesture_params.h"
23 #include "content/common/input/synthetic_tap_gesture_params.h" 25 #include "content/common/input/synthetic_tap_gesture_params.h"
24 #include "content/public/child/v8_value_converter.h" 26 #include "content/public/child/v8_value_converter.h"
25 #include "content/public/common/content_switches.h" 27 #include "content/public/common/content_switches.h"
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 277
276 private: 278 private:
277 WebLocalFrame* web_frame_; 279 WebLocalFrame* web_frame_;
278 WebView* web_view_; 280 WebView* web_view_;
279 RenderViewImpl* render_view_impl_; 281 RenderViewImpl* render_view_impl_;
280 RenderWidgetCompositor* compositor_; 282 RenderWidgetCompositor* compositor_;
281 283
282 DISALLOW_COPY_AND_ASSIGN(GpuBenchmarkingContext); 284 DISALLOW_COPY_AND_ASSIGN(GpuBenchmarkingContext);
283 }; 285 };
284 286
285 void OnMicroBenchmarkCompleted( 287 void OnMicroBenchmarkCompleted(CallbackAndContext* callback_and_context,
286 CallbackAndContext* callback_and_context, 288 std::unique_ptr<base::Value> result) {
287 scoped_ptr<base::Value> result) {
288 v8::Isolate* isolate = callback_and_context->isolate(); 289 v8::Isolate* isolate = callback_and_context->isolate();
289 v8::HandleScope scope(isolate); 290 v8::HandleScope scope(isolate);
290 v8::Local<v8::Context> context = callback_and_context->GetContext(); 291 v8::Local<v8::Context> context = callback_and_context->GetContext();
291 v8::Context::Scope context_scope(context); 292 v8::Context::Scope context_scope(context);
292 WebLocalFrame* frame = WebLocalFrame::frameForContext(context); 293 WebLocalFrame* frame = WebLocalFrame::frameForContext(context);
293 if (frame) { 294 if (frame) {
294 scoped_ptr<V8ValueConverter> converter = 295 std::unique_ptr<V8ValueConverter> converter =
295 make_scoped_ptr(V8ValueConverter::create()); 296 base::WrapUnique(V8ValueConverter::create());
296 v8::Local<v8::Value> value = converter->ToV8Value(result.get(), context); 297 v8::Local<v8::Value> value = converter->ToV8Value(result.get(), context);
297 v8::Local<v8::Value> argv[] = { value }; 298 v8::Local<v8::Value> argv[] = { value };
298 299
299 frame->callFunctionEvenIfScriptDisabled( 300 frame->callFunctionEvenIfScriptDisabled(
300 callback_and_context->GetCallback(), 301 callback_and_context->GetCallback(),
301 v8::Object::New(isolate), 302 v8::Object::New(isolate),
302 1, 303 1,
303 argv); 304 argv);
304 } 305 }
305 } 306 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 mouseMove.x = (contentRect.x + contentRect.width / 2) * page_scale_factor; 344 mouseMove.x = (contentRect.x + contentRect.width / 2) * page_scale_factor;
344 mouseMove.y = (contentRect.y + contentRect.height / 2) * page_scale_factor; 345 mouseMove.y = (contentRect.y + contentRect.height / 2) * page_scale_factor;
345 context.web_view()->handleInputEvent(mouseMove); 346 context.web_view()->handleInputEvent(mouseMove);
346 context.web_view()->setCursorVisibilityState(true); 347 context.web_view()->setCursorVisibilityState(true);
347 } 348 }
348 349
349 scoped_refptr<CallbackAndContext> callback_and_context = 350 scoped_refptr<CallbackAndContext> callback_and_context =
350 new CallbackAndContext( 351 new CallbackAndContext(
351 isolate, callback, context.web_frame()->mainWorldScriptContext()); 352 isolate, callback, context.web_frame()->mainWorldScriptContext());
352 353
353 scoped_ptr<SyntheticSmoothScrollGestureParams> gesture_params( 354 std::unique_ptr<SyntheticSmoothScrollGestureParams> gesture_params(
354 new SyntheticSmoothScrollGestureParams); 355 new SyntheticSmoothScrollGestureParams);
355 356
356 if (gesture_source_type < 0 || 357 if (gesture_source_type < 0 ||
357 gesture_source_type > SyntheticGestureParams::GESTURE_SOURCE_TYPE_MAX) { 358 gesture_source_type > SyntheticGestureParams::GESTURE_SOURCE_TYPE_MAX) {
358 return false; 359 return false;
359 } 360 }
360 gesture_params->gesture_source_type = 361 gesture_params->gesture_source_type =
361 static_cast<SyntheticGestureParams::GestureSourceType>( 362 static_cast<SyntheticGestureParams::GestureSourceType>(
362 gesture_source_type); 363 gesture_source_type);
363 364
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 v8::Local<v8::Function> callback, 414 v8::Local<v8::Function> callback,
414 int gesture_source_type, 415 int gesture_source_type,
415 float speed_in_pixels_s) { 416 float speed_in_pixels_s) {
416 GpuBenchmarkingContext context; 417 GpuBenchmarkingContext context;
417 if (!context.Init(false)) 418 if (!context.Init(false))
418 return false; 419 return false;
419 scoped_refptr<CallbackAndContext> callback_and_context = 420 scoped_refptr<CallbackAndContext> callback_and_context =
420 new CallbackAndContext(isolate, callback, 421 new CallbackAndContext(isolate, callback,
421 context.web_frame()->mainWorldScriptContext()); 422 context.web_frame()->mainWorldScriptContext());
422 423
423 scoped_ptr<SyntheticSmoothDragGestureParams> gesture_params( 424 std::unique_ptr<SyntheticSmoothDragGestureParams> gesture_params(
424 new SyntheticSmoothDragGestureParams); 425 new SyntheticSmoothDragGestureParams);
425 426
426 // Convert coordinates from CSS pixels to density independent pixels (DIPs). 427 // Convert coordinates from CSS pixels to density independent pixels (DIPs).
427 float page_scale_factor = context.web_view()->pageScaleFactor(); 428 float page_scale_factor = context.web_view()->pageScaleFactor();
428 429
429 gesture_params->start_point.SetPoint(start_x * page_scale_factor, 430 gesture_params->start_point.SetPoint(start_x * page_scale_factor,
430 start_y * page_scale_factor); 431 start_y * page_scale_factor);
431 gfx::PointF end_point(end_x * page_scale_factor, 432 gfx::PointF end_point(end_x * page_scale_factor,
432 end_y * page_scale_factor); 433 end_y * page_scale_factor);
433 gfx::Vector2dF distance = end_point - gesture_params->start_point; 434 gfx::Vector2dF distance = end_point - gesture_params->start_point;
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
694 !GetOptionalArg(args, &start_y) || 695 !GetOptionalArg(args, &start_y) ||
695 !GetOptionalArg(args, &speed_in_pixels_s)) { 696 !GetOptionalArg(args, &speed_in_pixels_s)) {
696 return false; 697 return false;
697 } 698 }
698 699
699 scoped_refptr<CallbackAndContext> callback_and_context = 700 scoped_refptr<CallbackAndContext> callback_and_context =
700 new CallbackAndContext(args->isolate(), 701 new CallbackAndContext(args->isolate(),
701 callback, 702 callback,
702 context.web_frame()->mainWorldScriptContext()); 703 context.web_frame()->mainWorldScriptContext());
703 704
704 scoped_ptr<SyntheticSmoothScrollGestureParams> gesture_params( 705 std::unique_ptr<SyntheticSmoothScrollGestureParams> gesture_params(
705 new SyntheticSmoothScrollGestureParams); 706 new SyntheticSmoothScrollGestureParams);
706 707
707 gesture_params->speed_in_pixels_s = speed_in_pixels_s; 708 gesture_params->speed_in_pixels_s = speed_in_pixels_s;
708 709
709 gesture_params->anchor.SetPoint(start_x * page_scale_factor, 710 gesture_params->anchor.SetPoint(start_x * page_scale_factor,
710 start_y * page_scale_factor); 711 start_y * page_scale_factor);
711 712
712 distance_length *= page_scale_factor; 713 distance_length *= page_scale_factor;
713 overscroll_length *= page_scale_factor; 714 overscroll_length *= page_scale_factor;
714 gfx::Vector2dF distance; 715 gfx::Vector2dF distance;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
758 759
759 760
760 if (!GetArg(args, &scale_factor) || 761 if (!GetArg(args, &scale_factor) ||
761 !GetArg(args, &anchor_x) || 762 !GetArg(args, &anchor_x) ||
762 !GetArg(args, &anchor_y) || 763 !GetArg(args, &anchor_y) ||
763 !GetOptionalArg(args, &callback) || 764 !GetOptionalArg(args, &callback) ||
764 !GetOptionalArg(args, &relative_pointer_speed_in_pixels_s)) { 765 !GetOptionalArg(args, &relative_pointer_speed_in_pixels_s)) {
765 return false; 766 return false;
766 } 767 }
767 768
768 scoped_ptr<SyntheticPinchGestureParams> gesture_params( 769 std::unique_ptr<SyntheticPinchGestureParams> gesture_params(
769 new SyntheticPinchGestureParams); 770 new SyntheticPinchGestureParams);
770 771
771 // TODO(bokan): Remove page scale here when change land in Catapult. 772 // TODO(bokan): Remove page scale here when change land in Catapult.
772 // Convert coordinates from CSS pixels to density independent pixels (DIPs). 773 // Convert coordinates from CSS pixels to density independent pixels (DIPs).
773 float page_scale_factor = context.web_view()->pageScaleFactor(); 774 float page_scale_factor = context.web_view()->pageScaleFactor();
774 775
775 gesture_params->scale_factor = scale_factor; 776 gesture_params->scale_factor = scale_factor;
776 gesture_params->anchor.SetPoint(anchor_x * page_scale_factor, 777 gesture_params->anchor.SetPoint(anchor_x * page_scale_factor,
777 anchor_y * page_scale_factor); 778 anchor_y * page_scale_factor);
778 gesture_params->relative_pointer_speed_in_pixels_s = 779 gesture_params->relative_pointer_speed_in_pixels_s =
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
842 int gesture_source_type = SyntheticGestureParams::DEFAULT_INPUT; 843 int gesture_source_type = SyntheticGestureParams::DEFAULT_INPUT;
843 844
844 if (!GetArg(args, &position_x) || 845 if (!GetArg(args, &position_x) ||
845 !GetArg(args, &position_y) || 846 !GetArg(args, &position_y) ||
846 !GetOptionalArg(args, &callback) || 847 !GetOptionalArg(args, &callback) ||
847 !GetOptionalArg(args, &duration_ms) || 848 !GetOptionalArg(args, &duration_ms) ||
848 !GetOptionalArg(args, &gesture_source_type)) { 849 !GetOptionalArg(args, &gesture_source_type)) {
849 return false; 850 return false;
850 } 851 }
851 852
852 scoped_ptr<SyntheticTapGestureParams> gesture_params( 853 std::unique_ptr<SyntheticTapGestureParams> gesture_params(
853 new SyntheticTapGestureParams); 854 new SyntheticTapGestureParams);
854 855
855 // Convert coordinates from CSS pixels to density independent pixels (DIPs). 856 // Convert coordinates from CSS pixels to density independent pixels (DIPs).
856 float page_scale_factor = context.web_view()->pageScaleFactor(); 857 float page_scale_factor = context.web_view()->pageScaleFactor();
857 858
858 gesture_params->position.SetPoint(position_x * page_scale_factor, 859 gesture_params->position.SetPoint(position_x * page_scale_factor,
859 position_y * page_scale_factor); 860 position_y * page_scale_factor);
860 gesture_params->duration_ms = duration_ms; 861 gesture_params->duration_ms = duration_ms;
861 862
862 if (gesture_source_type < 0 || 863 if (gesture_source_type < 0 ||
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
899 if (!GetArg(args, &name) || !GetArg(args, &callback) || 900 if (!GetArg(args, &name) || !GetArg(args, &callback) ||
900 !GetOptionalArg(args, &arguments)) { 901 !GetOptionalArg(args, &arguments)) {
901 return 0; 902 return 0;
902 } 903 }
903 904
904 scoped_refptr<CallbackAndContext> callback_and_context = 905 scoped_refptr<CallbackAndContext> callback_and_context =
905 new CallbackAndContext(args->isolate(), 906 new CallbackAndContext(args->isolate(),
906 callback, 907 callback,
907 context.web_frame()->mainWorldScriptContext()); 908 context.web_frame()->mainWorldScriptContext());
908 909
909 scoped_ptr<V8ValueConverter> converter = 910 std::unique_ptr<V8ValueConverter> converter =
910 make_scoped_ptr(V8ValueConverter::create()); 911 base::WrapUnique(V8ValueConverter::create());
911 v8::Local<v8::Context> v8_context = callback_and_context->GetContext(); 912 v8::Local<v8::Context> v8_context = callback_and_context->GetContext();
912 scoped_ptr<base::Value> value = 913 std::unique_ptr<base::Value> value =
913 make_scoped_ptr(converter->FromV8Value(arguments, v8_context)); 914 base::WrapUnique(converter->FromV8Value(arguments, v8_context));
914 915
915 return context.compositor()->ScheduleMicroBenchmark( 916 return context.compositor()->ScheduleMicroBenchmark(
916 name, std::move(value), 917 name, std::move(value),
917 base::Bind(&OnMicroBenchmarkCompleted, 918 base::Bind(&OnMicroBenchmarkCompleted,
918 base::RetainedRef(callback_and_context))); 919 base::RetainedRef(callback_and_context)));
919 } 920 }
920 921
921 bool GpuBenchmarking::SendMessageToMicroBenchmark( 922 bool GpuBenchmarking::SendMessageToMicroBenchmark(
922 int id, 923 int id,
923 v8::Local<v8::Object> message) { 924 v8::Local<v8::Object> message) {
924 GpuBenchmarkingContext context; 925 GpuBenchmarkingContext context;
925 if (!context.Init(true)) 926 if (!context.Init(true))
926 return false; 927 return false;
927 928
928 scoped_ptr<V8ValueConverter> converter = 929 std::unique_ptr<V8ValueConverter> converter =
929 make_scoped_ptr(V8ValueConverter::create()); 930 base::WrapUnique(V8ValueConverter::create());
930 v8::Local<v8::Context> v8_context = 931 v8::Local<v8::Context> v8_context =
931 context.web_frame()->mainWorldScriptContext(); 932 context.web_frame()->mainWorldScriptContext();
932 scoped_ptr<base::Value> value = 933 std::unique_ptr<base::Value> value =
933 make_scoped_ptr(converter->FromV8Value(message, v8_context)); 934 base::WrapUnique(converter->FromV8Value(message, v8_context));
934 935
935 return context.compositor()->SendMessageToMicroBenchmark(id, 936 return context.compositor()->SendMessageToMicroBenchmark(id,
936 std::move(value)); 937 std::move(value));
937 } 938 }
938 939
939 bool GpuBenchmarking::HasGpuChannel() { 940 bool GpuBenchmarking::HasGpuChannel() {
940 gpu::GpuChannelHost* gpu_channel = 941 gpu::GpuChannelHost* gpu_channel =
941 RenderThreadImpl::current()->GetGpuChannel(); 942 RenderThreadImpl::current()->GetGpuChannel();
942 return !!gpu_channel; 943 return !!gpu_channel;
943 } 944 }
(...skipping 15 matching lines...) Expand all
959 &gpu_driver_bug_workarounds))) { 960 &gpu_driver_bug_workarounds))) {
960 return; 961 return;
961 } 962 }
962 963
963 v8::Local<v8::Value> result; 964 v8::Local<v8::Value> result;
964 if (gin::TryConvertToV8(args->isolate(), gpu_driver_bug_workarounds, &result)) 965 if (gin::TryConvertToV8(args->isolate(), gpu_driver_bug_workarounds, &result))
965 args->Return(result); 966 args->Return(result);
966 } 967 }
967 968
968 } // namespace content 969 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/gpu/frame_swap_message_queue_unittest.cc ('k') | content/renderer/gpu/queue_message_swap_promise.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698