1 // Copyright 2013 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 #ifndef CONTENT_BROWSER_AURA_RESIZE_LOCK_H_ 6 #define CONTENT_BROWSER_AURA_RESIZE_LOCK_H_ 7 8 #include "base/basictypes.h" 9 #include "content/common/content_export.h" 10 #include "ui/gfx/size.h" 11 12 namespace content { 13 14 class CONTENT_EXPORT ResizeLock { 15 public: 16 virtual ~ResizeLock(); 17 18 virtual bool GrabDeferredLock(); 19 virtual void UnlockCompositor(); 20 21 const gfx::Size& expected_size() const { return new_size_; } 22 23 protected: 24 ResizeLock(const gfx::Size new_size, bool defer_compositor_lock); 25 26 virtual void LockCompositor(); 27 28 private: 29 gfx::Size new_size_; 30 bool defer_compositor_lock_; 31 32 DISALLOW_COPY_AND_ASSIGN(ResizeLock); 33 }; 34 35 } // namespace content 36 37 #endif // CONTENT_BROWSER_AURA_RESIZE_LOCK_H_ 38