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

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

Issue 1841083007: Remove SendBeginFramesToChildren plumbing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@scheduler_output_surface_client_set_beginframesource
Patch Set: Rebase 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 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 f6796a9bc023e670eb0c5710eb2b5fa420c9346a..1661d36c1f8cbea92d1f938f2e64258d6bd2a558 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -366,8 +366,8 @@ RenderWidgetHostViewAura::RenderWidgetHostViewAura(RenderWidgetHost* host,
in_shutdown_(false),
in_bounds_changed_(false),
is_fullscreen_(false),
- popup_parent_host_view_(NULL),
- popup_child_host_view_(NULL),
+ popup_parent_host_view_(nullptr),
+ popup_child_host_view_(nullptr),
is_loading_(false),
text_input_type_(ui::TEXT_INPUT_TYPE_NONE),
text_input_mode_(ui::TEXT_INPUT_MODE_DEFAULT),
@@ -375,15 +375,16 @@ RenderWidgetHostViewAura::RenderWidgetHostViewAura(RenderWidgetHost* host,
can_compose_inline_(true),
has_composition_text_(false),
accept_return_character_(false),
+ begin_frame_source_(nullptr),
+ needs_begin_frames_(false),
synthetic_move_sent_(false),
cursor_visibility_state_in_renderer_(UNKNOWN),
#if defined(OS_WIN)
- legacy_render_widget_host_HWND_(NULL),
+ legacy_render_widget_host_HWND_(nullptr),
legacy_window_destroyed_(false),
#endif
has_snapped_to_boundary_(false),
is_guest_view_hack_(is_guest_view_hack),
- begin_frame_observer_proxy_(this),
set_focus_on_mouse_down_or_key_event_(false),
device_scale_factor_(0.0f),
disable_input_event_router_for_testing_(false),
@@ -656,12 +657,29 @@ ui::TextInputClient* RenderWidgetHostViewAura::GetTextInputClient() {
}
void RenderWidgetHostViewAura::OnSetNeedsBeginFrames(bool needs_begin_frames) {
- begin_frame_observer_proxy_.SetNeedsBeginFrames(needs_begin_frames);
+ if (needs_begin_frames_ == needs_begin_frames)
+ return;
+
+ needs_begin_frames_ = needs_begin_frames;
+ if (begin_frame_source_) {
+ if (needs_begin_frames_)
+ begin_frame_source_->AddObserver(this);
+ else
+ begin_frame_source_->RemoveObserver(this);
+ }
}
-void RenderWidgetHostViewAura::SendBeginFrame(const cc::BeginFrameArgs& args) {
+bool RenderWidgetHostViewAura::OnBeginFrameDerivedImpl(
+ const cc::BeginFrameArgs& args) {
delegated_frame_host_->SetVSyncParameters(args.frame_time, args.interval);
host_->Send(new ViewMsg_BeginFrame(host_->GetRoutingID(), args));
+ return true;
+}
+
+void RenderWidgetHostViewAura::OnBeginFrameSourcePausedChanged(bool paused) {
+ // Ignored for now. If the begin frame source is paused, the renderer
+ // doesn't need to be informed about it and will just not receive more
+ // begin frames.
}
void RenderWidgetHostViewAura::SetKeyboardFocus() {
@@ -2648,8 +2666,6 @@ void RenderWidgetHostViewAura::AddedToRootWindow() {
#endif
delegated_frame_host_->SetCompositor(window_->GetHost()->compositor());
- if (window_->GetHost()->compositor())
- begin_frame_observer_proxy_.SetCompositor(window_->GetHost()->compositor());
}
void RenderWidgetHostViewAura::RemovingFromRootWindow() {
@@ -2662,7 +2678,6 @@ 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
@@ -2903,6 +2918,15 @@ void RenderWidgetHostViewAura::DelegatedFrameHostUpdateVSyncParameters(
host_->UpdateVSyncParameters(timebase, interval);
}
+void RenderWidgetHostViewAura::SetBeginFrameSource(
+ cc::BeginFrameSource* source) {
+ if (begin_frame_source_ && needs_begin_frames_)
+ begin_frame_source_->RemoveObserver(this);
+ begin_frame_source_ = source;
+ if (begin_frame_source_ && needs_begin_frames_)
+ begin_frame_source_->AddObserver(this);
+}
+
void RenderWidgetHostViewAura::OnDidNavigateMainFrameToNewPage() {
ui::GestureRecognizer::Get()->CancelActiveTouches(window_);
}

Powered by Google App Engine
This is Rietveld 408576698