1// Copyright 2014 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/compositor/resize_lock.h"
6
7namespace content {
8
9ResizeLock::ResizeLock(const gfx::Size new_size, bool defer_compositor_lock)
10    : new_size_(new_size),
11      defer_compositor_lock_(defer_compositor_lock) {
12  if (!defer_compositor_lock_)
13    LockCompositor();
14}
15
16ResizeLock::~ResizeLock() {
17  UnlockCompositor();
18}
19
20bool ResizeLock::GrabDeferredLock() {
21  if (!defer_compositor_lock_)
22    return false;
23  LockCompositor();
24  return true;
25}
26
27void ResizeLock::UnlockCompositor() {
28  defer_compositor_lock_ = false;
29}
30
31void ResizeLock::LockCompositor() {
32  defer_compositor_lock_ = false;
33}
34
35}  // namespace content
36