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

Side by Side Diff: content/renderer/render_widget.cc

Issue 2166703003: Implement Main Thread RAF Aligned Input (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master_main_thread_queue
Patch Set: Fix build Created 4 years, 4 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/render_widget.h" 5 #include "content/renderer/render_widget.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 692 matching lines...) Expand 10 before | Expand all | Expand 10 after
703 const gfx::Vector2dF& outer_delta, 703 const gfx::Vector2dF& outer_delta,
704 const gfx::Vector2dF& elastic_overscroll_delta, 704 const gfx::Vector2dF& elastic_overscroll_delta,
705 float page_scale, 705 float page_scale,
706 float top_controls_delta) { 706 float top_controls_delta) {
707 webwidget_->applyViewportDeltas(inner_delta, outer_delta, 707 webwidget_->applyViewportDeltas(inner_delta, outer_delta,
708 elastic_overscroll_delta, page_scale, 708 elastic_overscroll_delta, page_scale,
709 top_controls_delta); 709 top_controls_delta);
710 } 710 }
711 711
712 void RenderWidget::BeginMainFrame(double frame_time_sec) { 712 void RenderWidget::BeginMainFrame(double frame_time_sec) {
713 RenderThreadImpl* render_thread = RenderThreadImpl::current();
714 // render_thread may be NULL in tests.
715 InputHandlerManager* input_handler_manager =
716 render_thread ? render_thread->input_handler_manager() : NULL;
717 if (input_handler_manager)
718 input_handler_manager->ProcessRafAlignedInputOnMainThread(routing_id_);
719
713 webwidget_->beginFrame(frame_time_sec); 720 webwidget_->beginFrame(frame_time_sec);
714 } 721 }
715 722
716 std::unique_ptr<cc::OutputSurface> RenderWidget::CreateOutputSurface( 723 std::unique_ptr<cc::OutputSurface> RenderWidget::CreateOutputSurface(
717 bool fallback) { 724 bool fallback) {
718 DCHECK(webwidget_); 725 DCHECK(webwidget_);
719 // For widgets that are never visible, we don't start the compositor, so we 726 // For widgets that are never visible, we don't start the compositor, so we
720 // never get a request for a cc::OutputSurface. 727 // never get a request for a cc::OutputSurface.
721 DCHECK(!compositor_never_visible_); 728 DCHECK(!compositor_never_visible_);
722 return RenderThreadImpl::current()->CreateCompositorOutputSurface( 729 return RenderThreadImpl::current()->CreateCompositorOutputSurface(
(...skipping 1343 matching lines...) Expand 10 before | Expand all | Expand 10 after
2066 void RenderWidget::requestPointerUnlock() { 2073 void RenderWidget::requestPointerUnlock() {
2067 mouse_lock_dispatcher_->UnlockMouse(webwidget_mouse_lock_target_.get()); 2074 mouse_lock_dispatcher_->UnlockMouse(webwidget_mouse_lock_target_.get());
2068 } 2075 }
2069 2076
2070 bool RenderWidget::isPointerLocked() { 2077 bool RenderWidget::isPointerLocked() {
2071 return mouse_lock_dispatcher_->IsMouseLockedTo( 2078 return mouse_lock_dispatcher_->IsMouseLockedTo(
2072 webwidget_mouse_lock_target_.get()); 2079 webwidget_mouse_lock_target_.get());
2073 } 2080 }
2074 2081
2075 } // namespace content 2082 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698