summaryrefslogtreecommitdiff
path: root/chromium/content/browser/compositor/resize_lock.cc
blob: ddbc44378720f9c870ef863f8bf4de33cf263b79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Copyright 2014 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/compositor/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