diff options
Diffstat (limited to 'content/browser/aura/resize_lock.cc')
-rw-r--r-- | content/browser/aura/resize_lock.cc | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/content/browser/aura/resize_lock.cc b/content/browser/aura/resize_lock.cc new file mode 100644 index 0000000..4c8cd95 --- /dev/null +++ b/content/browser/aura/resize_lock.cc @@ -0,0 +1,35 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "content/browser/aura/resize_lock.h" + +namespace content { + +ResizeLock::ResizeLock(const gfx::Size new_size, bool defer_compositor_lock) + : new_size_(new_size), + defer_compositor_lock_(defer_compositor_lock) { + if (!defer_compositor_lock_) + LockCompositor(); +} + +ResizeLock::~ResizeLock() { + UnlockCompositor(); +} + +bool ResizeLock::GrabDeferredLock() { + if (!defer_compositor_lock_) + return false; + LockCompositor(); + return true; +} + +void ResizeLock::UnlockCompositor() { + defer_compositor_lock_ = false; +} + +void ResizeLock::LockCompositor() { + defer_compositor_lock_ = false; +} + +} // namespace content |