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

Side by Side Diff: android_webview/browser/browser_view_renderer.cc

Issue 1852513003: Convert //android_webview to use std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: git is hard 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
« no previous file with comments | « android_webview/browser/browser_view_renderer.h ('k') | android_webview/browser/child_frame.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "android_webview/browser/browser_view_renderer.h" 5 #include "android_webview/browser/browser_view_renderer.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "android_webview/browser/browser_view_renderer_client.h" 9 #include "android_webview/browser/browser_view_renderer_client.h"
10 #include "android_webview/browser/child_frame.h" 10 #include "android_webview/browser/child_frame.h"
11 #include "base/auto_reset.h" 11 #include "base/auto_reset.h"
12 #include "base/command_line.h" 12 #include "base/command_line.h"
13 #include "base/logging.h" 13 #include "base/logging.h"
14 #include "base/memory/ptr_util.h"
14 #include "base/strings/string_number_conversions.h" 15 #include "base/strings/string_number_conversions.h"
15 #include "base/strings/stringprintf.h" 16 #include "base/strings/stringprintf.h"
16 #include "base/supports_user_data.h" 17 #include "base/supports_user_data.h"
17 #include "base/trace_event/trace_event_argument.h" 18 #include "base/trace_event/trace_event_argument.h"
18 #include "cc/output/compositor_frame.h" 19 #include "cc/output/compositor_frame.h"
19 #include "cc/output/compositor_frame_ack.h" 20 #include "cc/output/compositor_frame_ack.h"
20 #include "content/public/browser/web_contents.h" 21 #include "content/public/browser/web_contents.h"
21 #include "content/public/common/content_switches.h" 22 #include "content/public/common/content_switches.h"
22 #include "gpu/command_buffer/service/gpu_switches.h" 23 #include "gpu/command_buffer/service/gpu_switches.h"
23 #include "third_party/skia/include/core/SkBitmap.h" 24 #include "third_party/skia/include/core/SkBitmap.h"
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 transform_for_tile_priority); 234 transform_for_tile_priority);
234 if (!frame.frame.get()) { 235 if (!frame.frame.get()) {
235 TRACE_EVENT_INSTANT0("android_webview", "NoNewFrame", 236 TRACE_EVENT_INSTANT0("android_webview", "NoNewFrame",
236 TRACE_EVENT_SCOPE_THREAD); 237 TRACE_EVENT_SCOPE_THREAD);
237 hardware_enabled_ = shared_renderer_state_->HasFrameOnUI(); 238 hardware_enabled_ = shared_renderer_state_->HasFrameOnUI();
238 if (!hardware_enabled_) 239 if (!hardware_enabled_)
239 UpdateMemoryPolicy(); 240 UpdateMemoryPolicy();
240 return hardware_enabled_; 241 return hardware_enabled_;
241 } 242 }
242 243
243 scoped_ptr<ChildFrame> child_frame = make_scoped_ptr(new ChildFrame( 244 std::unique_ptr<ChildFrame> child_frame = base::WrapUnique(new ChildFrame(
244 frame.output_surface_id, std::move(frame.frame), 245 frame.output_surface_id, std::move(frame.frame),
245 GetCompositorID(compositor_), viewport_rect_for_tile_priority.IsEmpty(), 246 GetCompositorID(compositor_), viewport_rect_for_tile_priority.IsEmpty(),
246 transform_for_tile_priority, offscreen_pre_raster_, 247 transform_for_tile_priority, offscreen_pre_raster_,
247 external_draw_constraints_.is_layer)); 248 external_draw_constraints_.is_layer));
248 249
249 ReturnUnusedResource(shared_renderer_state_->PassUncommittedFrameOnUI()); 250 ReturnUnusedResource(shared_renderer_state_->PassUncommittedFrameOnUI());
250 shared_renderer_state_->SetFrameOnUI(std::move(child_frame)); 251 shared_renderer_state_->SetFrameOnUI(std::move(child_frame));
251 return true; 252 return true;
252 } 253 }
253 254
254 void BrowserViewRenderer::OnParentDrawConstraintsUpdated() { 255 void BrowserViewRenderer::OnParentDrawConstraintsUpdated() {
255 DCHECK(shared_renderer_state_); 256 DCHECK(shared_renderer_state_);
256 PostInvalidate(); 257 PostInvalidate();
257 external_draw_constraints_ = 258 external_draw_constraints_ =
258 shared_renderer_state_->GetParentDrawConstraintsOnUI(); 259 shared_renderer_state_->GetParentDrawConstraintsOnUI();
259 UpdateMemoryPolicy(); 260 UpdateMemoryPolicy();
260 } 261 }
261 262
262 void BrowserViewRenderer::ReturnUnusedResource( 263 void BrowserViewRenderer::ReturnUnusedResource(
263 scoped_ptr<ChildFrame> child_frame) { 264 std::unique_ptr<ChildFrame> child_frame) {
264 if (!child_frame.get() || !child_frame->frame.get()) 265 if (!child_frame.get() || !child_frame->frame.get())
265 return; 266 return;
266 267
267 cc::CompositorFrameAck frame_ack; 268 cc::CompositorFrameAck frame_ack;
268 cc::TransferableResource::ReturnResources( 269 cc::TransferableResource::ReturnResources(
269 child_frame->frame->delegated_frame_data->resource_list, 270 child_frame->frame->delegated_frame_data->resource_list,
270 &frame_ack.resources); 271 &frame_ack.resources);
271 content::SynchronousCompositor* compositor = 272 content::SynchronousCompositor* compositor =
272 compositor_map_[child_frame->compositor_id]; 273 compositor_map_[child_frame->compositor_id];
273 if (compositor && !frame_ack.resources.empty()) 274 if (compositor && !frame_ack.resources.empty())
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 min_page_scale_factor_ = min_page_scale_factor; 613 min_page_scale_factor_ = min_page_scale_factor;
613 max_page_scale_factor_ = max_page_scale_factor; 614 max_page_scale_factor_ = max_page_scale_factor;
614 615
615 client_->UpdateScrollState(max_scroll_offset(), scrollable_size_dip, 616 client_->UpdateScrollState(max_scroll_offset(), scrollable_size_dip,
616 page_scale_factor, min_page_scale_factor, 617 page_scale_factor, min_page_scale_factor,
617 max_page_scale_factor); 618 max_page_scale_factor);
618 } 619 }
619 SetTotalRootLayerScrollOffset(total_scroll_offset_dip); 620 SetTotalRootLayerScrollOffset(total_scroll_offset_dip);
620 } 621 }
621 622
622 scoped_ptr<base::trace_event::ConvertableToTraceFormat> 623 std::unique_ptr<base::trace_event::ConvertableToTraceFormat>
623 BrowserViewRenderer::RootLayerStateAsValue( 624 BrowserViewRenderer::RootLayerStateAsValue(
624 const gfx::Vector2dF& total_scroll_offset_dip, 625 const gfx::Vector2dF& total_scroll_offset_dip,
625 const gfx::SizeF& scrollable_size_dip) { 626 const gfx::SizeF& scrollable_size_dip) {
626 scoped_ptr<base::trace_event::TracedValue> state( 627 std::unique_ptr<base::trace_event::TracedValue> state(
627 new base::trace_event::TracedValue()); 628 new base::trace_event::TracedValue());
628 629
629 state->SetDouble("total_scroll_offset_dip.x", total_scroll_offset_dip.x()); 630 state->SetDouble("total_scroll_offset_dip.x", total_scroll_offset_dip.x());
630 state->SetDouble("total_scroll_offset_dip.y", total_scroll_offset_dip.y()); 631 state->SetDouble("total_scroll_offset_dip.y", total_scroll_offset_dip.y());
631 632
632 state->SetDouble("max_scroll_offset_dip.x", max_scroll_offset_dip_.x()); 633 state->SetDouble("max_scroll_offset_dip.x", max_scroll_offset_dip_.x());
633 state->SetDouble("max_scroll_offset_dip.y", max_scroll_offset_dip_.y()); 634 state->SetDouble("max_scroll_offset_dip.y", max_scroll_offset_dip_.y());
634 635
635 state->SetDouble("scrollable_size_dip.width", scrollable_size_dip.width()); 636 state->SetDouble("scrollable_size_dip.width", scrollable_size_dip.width());
636 state->SetDouble("scrollable_size_dip.height", scrollable_size_dip.height()); 637 state->SetDouble("scrollable_size_dip.height", scrollable_size_dip.height());
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
693 base::StringAppendF(&str, 694 base::StringAppendF(&str,
694 "overscroll_rounding_error_: %s ", 695 "overscroll_rounding_error_: %s ",
695 overscroll_rounding_error_.ToString().c_str()); 696 overscroll_rounding_error_.ToString().c_str());
696 base::StringAppendF( 697 base::StringAppendF(
697 &str, "on_new_picture_enable: %d ", on_new_picture_enable_); 698 &str, "on_new_picture_enable: %d ", on_new_picture_enable_);
698 base::StringAppendF(&str, "clear_view: %d ", clear_view_); 699 base::StringAppendF(&str, "clear_view: %d ", clear_view_);
699 return str; 700 return str;
700 } 701 }
701 702
702 } // namespace android_webview 703 } // namespace android_webview
OLDNEW
« no previous file with comments | « android_webview/browser/browser_view_renderer.h ('k') | android_webview/browser/child_frame.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698