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

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

Issue 2577023003: Removes WebContentsViewMus/RenderWidgetHostViewMus (Closed)
Patch Set: fix test Created 4 years 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
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "content/browser/renderer_host/delegated_frame_host_client_aura.h"
6
7 #include "content/browser/renderer_host/compositor_resize_lock_aura.h"
8 #include "content/browser/renderer_host/render_widget_host_impl.h"
9 #include "content/browser/renderer_host/render_widget_host_view_aura.h"
10 #include "content/common/view_messages.h"
11 #include "ui/aura/window.h"
12 #include "ui/compositor/layer.h"
13
14 namespace content {
15 namespace {
16
17 // When accelerated compositing is enabled and a widget resize is pending,
18 // we delay further resizes of the UI. The following constant is the maximum
19 // length of time that we should delay further UI resizes while waiting for a
20 // resized frame from a renderer.
21 const int kResizeLockTimeoutMs = 67;
22
23 } // namespace
24
25 DelegatedFrameHostClientAura::DelegatedFrameHostClientAura(
26 RenderWidgetHostViewAura* render_widget_host_view)
27 : render_widget_host_view_(render_widget_host_view) {}
28
29 DelegatedFrameHostClientAura::~DelegatedFrameHostClientAura() {}
30
31 ui::Layer* DelegatedFrameHostClientAura::DelegatedFrameHostGetLayer() const {
32 return render_widget_host_view_->window_->layer();
33 }
34
35 bool DelegatedFrameHostClientAura::DelegatedFrameHostIsVisible() const {
36 return !render_widget_host_view_->host_->is_hidden();
37 }
38
39 SkColor DelegatedFrameHostClientAura::DelegatedFrameHostGetGutterColor(
40 SkColor color) const {
41 // When making an element on the page fullscreen the element's background
42 // may not match the page's, so use black as the gutter color to avoid
43 // flashes of brighter colors during the transition.
44 if (render_widget_host_view_->host_->delegate() &&
45 render_widget_host_view_->host_->delegate()
46 ->IsFullscreenForCurrentTab()) {
47 return SK_ColorBLACK;
48 }
49 return color;
50 }
51
52 gfx::Size DelegatedFrameHostClientAura::DelegatedFrameHostDesiredSizeInDIP()
53 const {
54 return render_widget_host_view_->window_->bounds().size();
55 }
56
57 bool DelegatedFrameHostClientAura::DelegatedFrameCanCreateResizeLock() const {
58 #if !defined(OS_CHROMEOS)
59 // On Windows and Linux, holding pointer moves will not help throttling
60 // resizes.
61 // TODO(piman): on Windows we need to block (nested message loop?) the
62 // WM_SIZE event. On Linux we need to throttle at the WM level using
63 // _NET_WM_SYNC_REQUEST.
64 return false;
65 #else
66 if (render_widget_host_view_->host_->auto_resize_enabled())
67 return false;
68 return true;
69 #endif
70 }
71
72 std::unique_ptr<ResizeLock>
73 DelegatedFrameHostClientAura::DelegatedFrameHostCreateResizeLock(
74 bool defer_compositor_lock) {
75 gfx::Size desired_size = render_widget_host_view_->window_->bounds().size();
76 return std::unique_ptr<ResizeLock>(new CompositorResizeLock(
77 render_widget_host_view_->window_->GetHost(), desired_size,
78 defer_compositor_lock,
79 base::TimeDelta::FromMilliseconds(kResizeLockTimeoutMs)));
80 }
81
82 void DelegatedFrameHostClientAura::DelegatedFrameHostResizeLockWasReleased() {
83 render_widget_host_view_->host_->WasResized();
84 }
85
86 void DelegatedFrameHostClientAura::
87 DelegatedFrameHostSendReclaimCompositorResources(
88 int compositor_frame_sink_id,
89 bool is_swap_ack,
90 const cc::ReturnedResourceArray& resources) {
91 render_widget_host_view_->host_->Send(new ViewMsg_ReclaimCompositorResources(
92 render_widget_host_view_->host_->GetRoutingID(), compositor_frame_sink_id,
93 is_swap_ack, resources));
94 }
95
96 void DelegatedFrameHostClientAura::SetBeginFrameSource(
97 cc::BeginFrameSource* source) {
98 if (render_widget_host_view_->begin_frame_source_ &&
99 render_widget_host_view_->added_frame_observer_) {
100 render_widget_host_view_->begin_frame_source_->RemoveObserver(
101 render_widget_host_view_);
102 render_widget_host_view_->added_frame_observer_ = false;
103 }
104 render_widget_host_view_->begin_frame_source_ = source;
105 render_widget_host_view_->UpdateNeedsBeginFramesInternal();
106 }
107
108 bool DelegatedFrameHostClientAura::IsAutoResizeEnabled() const {
109 return render_widget_host_view_->host_->auto_resize_enabled();
110 }
111
112 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698