Index: content/browser/web_contents/aura/constrained_windows_observer.h |
diff --git a/content/browser/web_contents/aura/constrained_windows_observer.h b/content/browser/web_contents/aura/constrained_windows_observer.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..4997e4dbb25ef83a5300f548c28e06305145a687 |
--- /dev/null |
+++ b/content/browser/web_contents/aura/constrained_windows_observer.h |
@@ -0,0 +1,45 @@ |
+// Copyright (c) 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. |
+ |
+#ifndef CONTENT_BROWSER_WEB_CONTENTS_AURA_CONSTRAINED_WINDOWS_OBSERVER_H__ |
+#define CONTENT_BROWSER_WEB_CONTENTS_AURA_CONSTRAINED_WINDOWS_OBSERVER_H__ |
+ |
+#include "base/compiler_specific.h" |
+#include "content/common/content_export.h" |
+#include "ui/aura/window_observer.h" |
+ |
+namespace content { |
+ |
+class WebContentsViewAura; |
+ |
+class CONTENT_EXPORT ConstrainedWindowsObserver |
+ : public aura::WindowObserver { |
+public: |
+ ConstrainedWindowsObserver(WebContentsViewAura* view); |
+ virtual ~ConstrainedWindowsObserver(); |
+ |
+ // Overridden from aura::WindowObserver: |
+ virtual void OnWindowAdded(aura::Window* new_window) OVERRIDE; |
+ virtual void OnWillRemoveWindow(aura::Window* window) OVERRIDE; |
+ virtual void OnWindowVisibilityChanged(aura::Window* window, |
+ bool visible) OVERRIDE; |
+ virtual void OnWindowParentChanged(aura::Window* window, |
+ aura::Window* parent) OVERRIDE; |
+ virtual void OnWindowBoundsChanged(aura::Window* window, |
+ const gfx::Rect& old_bounds, |
+ const gfx::Rect& new_bounds) OVERRIDE; |
+ virtual void OnWindowAddedToRootWindow(aura::Window* window) OVERRIDE; |
+ virtual void OnWindowRemovingFromRootWindow(aura::Window* window) OVERRIDE; |
+ |
+private: |
+ void UpdateConstrainedWindows(aura::Window* exclude); |
+ |
+ WebContentsViewAura* view_; |
+ aura::Window* constrained_parent_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(ConstrainedWindowsObserver); |
+}; |
+ |
+} //namespace content |
+#endif // CONTENT_BROWSER_WEB_CONTENTS_AURA_CONSTRAINED_WINDOWS_OBSERVER_H__ |