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

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

Issue 864333004: Clean up DelegatedFrameHost's interface to its client (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Incorprate review feedback Created 5 years, 11 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 432764d22a194df81312f362ead0fe287188994e..e6472010081282d89f0a8ece5fcd32f94436e02f 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -414,7 +414,6 @@ RenderWidgetHostViewAura::RenderWidgetHostViewAura(RenderWidgetHost* host,
bool is_guest_view_hack)
: host_(RenderWidgetHostImpl::From(host)),
window_(new aura::Window(this)),
- delegated_frame_host_(new DelegatedFrameHost(this)),
in_shutdown_(false),
in_bounds_changed_(false),
is_fullscreen_(false),
@@ -478,6 +477,7 @@ void RenderWidgetHostViewAura::InitAsChild(
window_->Init(aura::WINDOW_LAYER_SOLID_COLOR);
window_->SetName("RenderWidgetHostViewAura");
window_->layer()->SetColor(background_color_);
+ delegated_frame_host_.reset(new DelegatedFrameHost(this, window_->layer()));
}
void RenderWidgetHostViewAura::InitAsPopup(
@@ -507,6 +507,7 @@ void RenderWidgetHostViewAura::InitAsPopup(
window_->Init(aura::WINDOW_LAYER_SOLID_COLOR);
window_->SetName("RenderWidgetHostViewAura");
window_->layer()->SetColor(background_color_);
+ delegated_frame_host_.reset(new DelegatedFrameHost(this, window_->layer()));
// Setting the transient child allows for the popup to get mouse events when
// in a system modal dialog. Do this before calling ParentWindowWithContext
@@ -536,6 +537,7 @@ void RenderWidgetHostViewAura::InitAsFullscreen(
window_->SetName("RenderWidgetHostViewAura");
window_->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_FULLSCREEN);
window_->layer()->SetColor(background_color_);
+ delegated_frame_host_.reset(new DelegatedFrameHost(this, window_->layer()));
aura::Window* parent = NULL;
gfx::Rect bounds;
@@ -2583,32 +2585,32 @@ SkColorType RenderWidgetHostViewAura::PreferredReadbackFormat() {
////////////////////////////////////////////////////////////////////////////////
// DelegatedFrameHost, public:
-ui::Layer* RenderWidgetHostViewAura::GetLayer() {
- return window_->layer();
+bool RenderWidgetHostViewAura::DelegatedFrameHostIsVisible() const {
+ return !host_->is_hidden();
}
-RenderWidgetHostImpl* RenderWidgetHostViewAura::GetHost() {
- return host_;
-}
-
-bool RenderWidgetHostViewAura::IsVisible() {
- return IsShowing();
-}
-
-gfx::Size RenderWidgetHostViewAura::DesiredFrameSize() {
+gfx::Size RenderWidgetHostViewAura::DelegatedFrameHostDesiredSizeInDIP() const {
return window_->bounds().size();
}
-float RenderWidgetHostViewAura::CurrentDeviceScaleFactor() {
- return current_device_scale_factor_;
-}
+bool RenderWidgetHostViewAura::DelegatedFrameCanCreateResizeLock() const {
+ // On Windows and Linux, holding pointer moves will not help throttling
danakj 2015/01/24 01:45:01 You probably need to move the comment inside the #
+ // resizes.
+ // TODO(piman): on Windows we need to block (nested message loop?) the
+ // WM_SIZE event. On Linux we need to throttle at the WM level using
+ // _NET_WM_SYNC_REQUEST.
+#if !defined(OS_CHROMEOS)
+ return false;
+#endif
+
+ if (host_->auto_resize_enabled())
+ return false;
-gfx::Size RenderWidgetHostViewAura::ConvertViewSizeToPixel(
- const gfx::Size& size) {
- return content::ConvertViewSizeToPixel(this, size);
+ return true;
}
-scoped_ptr<ResizeLock> RenderWidgetHostViewAura::CreateResizeLock(
+scoped_ptr<ResizeLock>
+RenderWidgetHostViewAura::DelegatedFrameHostCreateResizeLock(
bool defer_compositor_lock) {
gfx::Size desired_size = window_->bounds().size();
return scoped_ptr<ResizeLock>(new CompositorResizeLock(
@@ -2618,8 +2620,32 @@ scoped_ptr<ResizeLock> RenderWidgetHostViewAura::CreateResizeLock(
base::TimeDelta::FromMilliseconds(kResizeLockTimeoutMs)));
}
-DelegatedFrameHost* RenderWidgetHostViewAura::GetDelegatedFrameHost() const {
- return delegated_frame_host_.get();
+void RenderWidgetHostViewAura::DelegatedFrameHostResizeLockWasReleased() {
+ host_->WasResized();
+}
+
+void RenderWidgetHostViewAura::DelegatedFrameHostSendCompositorSwapAck(
+ int output_surface_id,
+ const cc::CompositorFrameAck& ack) {
+ host_->Send(new ViewMsg_SwapCompositorFrameAck(host_->GetRoutingID(),
+ output_surface_id, ack));
+}
+
+void RenderWidgetHostViewAura::DelegatedFrameHostSendReclaimCompositorResources(
+ int output_surface_id,
+ const cc::CompositorFrameAck& ack) {
+ host_->Send(new ViewMsg_ReclaimCompositorResources(host_->GetRoutingID(),
+ output_surface_id, ack));
+}
+
+void RenderWidgetHostViewAura::DelegatedFrameHostOnLostCompositorResources() {
+ host_->ScheduleComposite();
+}
+
+void RenderWidgetHostViewAura::DelegatedFrameHostUpdateVSyncParameters(
+ const base::TimeTicks& timebase,
+ const base::TimeDelta& interval) {
+ host_->UpdateVSyncParameters(timebase, interval);
}
////////////////////////////////////////////////////////////////////////////////

Powered by Google App Engine
This is Rietveld 408576698