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

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

Issue 2890063002: Send BeginFrames for the renderer using Mojo (Closed)
Patch Set: c Created 3 years, 6 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/browser/renderer_host/render_widget_host_view_android.h" 5 #include "content/browser/renderer_host/render_widget_host_view_android.h"
6 6
7 #include <android/bitmap.h> 7 #include <android/bitmap.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 1608 matching lines...) Expand 10 before | Expand all | Expand 10 after
1619 void RenderWidgetHostViewAndroid::SendBeginFrame(cc::BeginFrameArgs args) { 1619 void RenderWidgetHostViewAndroid::SendBeginFrame(cc::BeginFrameArgs args) {
1620 TRACE_EVENT2("cc", "RenderWidgetHostViewAndroid::SendBeginFrame", 1620 TRACE_EVENT2("cc", "RenderWidgetHostViewAndroid::SendBeginFrame",
1621 "frame_number", args.sequence_number, "frame_time_us", 1621 "frame_number", args.sequence_number, "frame_time_us",
1622 args.frame_time.ToInternalValue()); 1622 args.frame_time.ToInternalValue());
1623 1623
1624 // Synchronous compositor does not use deadline-based scheduling. 1624 // Synchronous compositor does not use deadline-based scheduling.
1625 // TODO(brianderson): Replace this hardcoded deadline after Android 1625 // TODO(brianderson): Replace this hardcoded deadline after Android
1626 // switches to Surfaces and the Browser's commit isn't in the critical path. 1626 // switches to Surfaces and the Browser's commit isn't in the critical path.
1627 args.deadline = sync_compositor_ ? base::TimeTicks() 1627 args.deadline = sync_compositor_ ? base::TimeTicks()
1628 : args.frame_time + (args.interval * 0.6); 1628 : args.frame_time + (args.interval * 0.6);
1629 host_->Send(new ViewMsg_BeginFrame(host_->GetRoutingID(), args)); 1629 if (sync_compositor_) {
1630 if (sync_compositor_) 1630 host_->Send(new ViewMsg_BeginFrame(host_->GetRoutingID(), args));
1631 sync_compositor_->DidSendBeginFrame(view_.GetWindowAndroid()); 1631 sync_compositor_->DidSendBeginFrame(view_.GetWindowAndroid());
1632 } else if (renderer_compositor_frame_sink_) {
1633 renderer_compositor_frame_sink_->OnBeginFrame(args);
1634 }
1632 } 1635 }
1633 1636
1634 bool RenderWidgetHostViewAndroid::Animate(base::TimeTicks frame_time) { 1637 bool RenderWidgetHostViewAndroid::Animate(base::TimeTicks frame_time) {
1635 bool needs_animate = false; 1638 bool needs_animate = false;
1636 if (overscroll_controller_ && !is_in_vr_) { 1639 if (overscroll_controller_ && !is_in_vr_) {
1637 needs_animate |= overscroll_controller_->Animate( 1640 needs_animate |= overscroll_controller_->Animate(
1638 frame_time, content_view_core_->GetViewAndroid()->GetLayer()); 1641 frame_time, content_view_core_->GetViewAndroid()->GetLayer());
1639 } 1642 }
1640 if (touch_selection_controller_) 1643 if (touch_selection_controller_)
1641 needs_animate |= touch_selection_controller_->Animate(frame_time); 1644 needs_animate |= touch_selection_controller_->Animate(frame_time);
(...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after
2238 2241
2239 ui::WindowAndroidCompositor* compositor = window_android->GetCompositor(); 2242 ui::WindowAndroidCompositor* compositor = window_android->GetCompositor();
2240 if (!compositor) 2243 if (!compositor)
2241 return; 2244 return;
2242 2245
2243 overscroll_controller_ = base::MakeUnique<OverscrollControllerAndroid>( 2246 overscroll_controller_ = base::MakeUnique<OverscrollControllerAndroid>(
2244 overscroll_refresh_handler, compositor, view_.GetDipScale()); 2247 overscroll_refresh_handler, compositor, view_.GetDipScale());
2245 } 2248 }
2246 2249
2247 } // namespace content 2250 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698