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

Unified Diff: content/browser/renderer_host/render_widget_host_view_aura.cc

Issue 1016033006: Enable BeginFrame scheduling on aura (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/render_widget_host_view_aura.cc
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index 55a92d0fd397ea4c010027b568c1e2ae9a2eed59..612eb6683b6709c3b02ccd96963efe6eec0d656a 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -64,7 +64,6 @@
#include "ui/base/hit_test.h"
#include "ui/base/ime/input_method.h"
#include "ui/base/ui_base_types.h"
-#include "ui/compositor/compositor_vsync_manager.h"
#include "ui/compositor/dip_util.h"
#include "ui/events/event.h"
#include "ui/events/event_utils.h"
@@ -453,6 +452,7 @@ RenderWidgetHostViewAura::RenderWidgetHostViewAura(RenderWidgetHost* host,
has_snapped_to_boundary_(false),
touch_editing_client_(NULL),
is_guest_view_hack_(is_guest_view_hack),
+ begin_frame_observer_proxy_(this),
weak_ptr_factory_(this) {
if (!is_guest_view_hack_)
host_->SetView(this);
@@ -482,6 +482,8 @@ bool RenderWidgetHostViewAura::OnMessageReceived(
// RenderWidgetHostViewAndroid should also be moved at the same time.
IPC_MESSAGE_HANDLER(ViewHostMsg_TextInputStateChanged,
OnTextInputStateChanged)
+ IPC_MESSAGE_HANDLER(ViewHostMsg_SetNeedsBeginFrames,
+ OnSetNeedsBeginFrames)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
@@ -711,6 +713,15 @@ ui::TextInputClient* RenderWidgetHostViewAura::GetTextInputClient() {
return this;
}
+void RenderWidgetHostViewAura::OnSetNeedsBeginFrames(bool needs_begin_frames) {
+ begin_frame_observer_proxy_.SetNeedsBeginFrames(needs_begin_frames);
+}
+
+void RenderWidgetHostViewAura::SendBeginFrame(const cc::BeginFrameArgs& args) {
+ delegated_frame_host_->SetVSyncParameters(args.frame_time, args.interval);
+ host_->Send(new ViewMsg_BeginFrame(host_->GetRoutingID(), args));
+}
+
void RenderWidgetHostViewAura::SetKeyboardFocus() {
#if defined(OS_WIN)
if (CanFocus()) {
@@ -2579,6 +2590,8 @@ void RenderWidgetHostViewAura::AddedToRootWindow() {
#endif
delegated_frame_host_->SetCompositor(window_->GetHost()->compositor());
danakj 2015/03/27 18:03:24 Would you mind moving this into the if and remove
simonhong 2015/03/27 18:15:07 Ok, I will. :)
+ if (window_->GetHost()->compositor())
+ begin_frame_observer_proxy_.SetCompositor(window_->GetHost()->compositor());
}
void RenderWidgetHostViewAura::RemovingFromRootWindow() {
@@ -2591,6 +2604,7 @@ void RenderWidgetHostViewAura::RemovingFromRootWindow() {
window_->GetHost()->RemoveObserver(this);
delegated_frame_host_->ResetCompositor();
+ begin_frame_observer_proxy_.ResetCompositor();
#if defined(OS_WIN)
// Update the legacy window's parent temporarily to the desktop window. It
@@ -2702,12 +2716,6 @@ void RenderWidgetHostViewAura::DelegatedFrameHostOnLostCompositorResources() {
host_->ScheduleComposite();
}
-void RenderWidgetHostViewAura::DelegatedFrameHostUpdateVSyncParameters(
- const base::TimeTicks& timebase,
- const base::TimeDelta& interval) {
- host_->UpdateVSyncParameters(timebase, interval);
-}
-
void RenderWidgetHostViewAura::OnDidNavigateMainFrameToNewPage() {
ui::GestureRecognizer::Get()->CancelActiveTouches(window_);
}

Powered by Google App Engine
This is Rietveld 408576698