| Index: content/browser/renderer_host/delegated_frame_host_client_aura.cc
|
| diff --git a/content/browser/renderer_host/delegated_frame_host_client_aura.cc b/content/browser/renderer_host/delegated_frame_host_client_aura.cc
|
| index 4622444c3715930b92b28b50d636d104c587d42b..c5ec6c4365b5e6de60772c06dc0a895b8a8e9b28 100644
|
| --- a/content/browser/renderer_host/delegated_frame_host_client_aura.cc
|
| +++ b/content/browser/renderer_host/delegated_frame_host_client_aura.cc
|
| @@ -4,23 +4,15 @@
|
|
|
| #include "content/browser/renderer_host/delegated_frame_host_client_aura.h"
|
|
|
| -#include "content/browser/renderer_host/compositor_resize_lock_aura.h"
|
| #include "content/browser/renderer_host/render_widget_host_impl.h"
|
| #include "content/browser/renderer_host/render_widget_host_view_aura.h"
|
| #include "content/common/view_messages.h"
|
| #include "ui/aura/window.h"
|
| +#include "ui/aura/window_event_dispatcher.h"
|
| +#include "ui/aura/window_tree_host.h"
|
| #include "ui/compositor/layer.h"
|
|
|
| namespace content {
|
| -namespace {
|
| -
|
| -// When accelerated compositing is enabled and a widget resize is pending,
|
| -// we delay further resizes of the UI. The following constant is the maximum
|
| -// length of time that we should delay further UI resizes while waiting for a
|
| -// resized frame from a renderer.
|
| -const int kResizeLockTimeoutMs = 67;
|
| -
|
| -} // namespace
|
|
|
| DelegatedFrameHostClientAura::DelegatedFrameHostClientAura(
|
| RenderWidgetHostViewAura* render_widget_host_view)
|
| @@ -71,14 +63,14 @@ bool DelegatedFrameHostClientAura::DelegatedFrameCanCreateResizeLock() const {
|
| #endif
|
| }
|
|
|
| -std::unique_ptr<ResizeLock>
|
| -DelegatedFrameHostClientAura::DelegatedFrameHostCreateResizeLock(
|
| - bool defer_compositor_lock) {
|
| +std::unique_ptr<CompositorResizeLock>
|
| +DelegatedFrameHostClientAura::DelegatedFrameHostCreateResizeLock() {
|
| + // Pointer moves are released when the CompositorResizeLock ends.
|
| + auto* host = render_widget_host_view_->window_->GetHost();
|
| + host->dispatcher()->HoldPointerMoves();
|
| +
|
| gfx::Size desired_size = render_widget_host_view_->window_->bounds().size();
|
| - return std::unique_ptr<ResizeLock>(new CompositorResizeLock(
|
| - render_widget_host_view_->window_->GetHost(), desired_size,
|
| - defer_compositor_lock,
|
| - base::TimeDelta::FromMilliseconds(kResizeLockTimeoutMs)));
|
| + return base::MakeUnique<CompositorResizeLock>(this, desired_size);
|
| }
|
|
|
| void DelegatedFrameHostClientAura::DelegatedFrameHostResizeLockWasReleased() {
|
| @@ -111,4 +103,16 @@ bool DelegatedFrameHostClientAura::IsAutoResizeEnabled() const {
|
| return render_widget_host_view_->host_->auto_resize_enabled();
|
| }
|
|
|
| +std::unique_ptr<ui::CompositorLock>
|
| +DelegatedFrameHostClientAura::GetCompositorLock(
|
| + ui::CompositorLockClient* client) {
|
| + auto* host = render_widget_host_view_->window_->GetHost();
|
| + return host->compositor()->GetCompositorLock(client);
|
| +}
|
| +
|
| +void DelegatedFrameHostClientAura::CompositorResizeLockEnded() {
|
| + auto* host = render_widget_host_view_->window_->GetHost();
|
| + host->dispatcher()->ReleasePointerMoves();
|
| +}
|
| +
|
| } // namespace content
|
|
|