summaryrefslogtreecommitdiffstats
path: root/chromium/ash/wm/solo_window_tracker.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ash/wm/solo_window_tracker.h')
-rw-r--r--chromium/ash/wm/solo_window_tracker.h81
1 files changed, 0 insertions, 81 deletions
diff --git a/chromium/ash/wm/solo_window_tracker.h b/chromium/ash/wm/solo_window_tracker.h
deleted file mode 100644
index 829af01b402..00000000000
--- a/chromium/ash/wm/solo_window_tracker.h
+++ /dev/null
@@ -1,81 +0,0 @@
-// 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.
-
-#ifndef ASH_WM_SOLO_WINDOW_TRACKER_H_
-#define ASH_WM_SOLO_WINDOW_TRACKER_H_
-
-#include <vector>
-
-#include "ash/ash_export.h"
-#include "ash/wm/dock/docked_window_layout_manager_observer.h"
-#include "base/compiler_specific.h"
-#include "base/memory/scoped_ptr.h"
-#include "ui/aura/window_observer.h"
-#include "ui/gfx/rect.h"
-
-namespace aura {
-class RootWindow;
-class Window;
-}
-
-namespace ash {
-
-// Class which keeps track of the window (if any) which should use the solo
-// window header. The solo window header is very transparent and is used when
-// there is only one visible window and the window is not maximized or
-// fullscreen. The solo window header is not used for either panels or docked
-// windows.
-class ASH_EXPORT SoloWindowTracker
- : public aura::WindowObserver,
- public internal::DockedWindowLayoutManagerObserver {
- public:
- explicit SoloWindowTracker(aura::RootWindow* root_window);
- virtual ~SoloWindowTracker();
-
- // Enable/Disable solo headers.
- static void SetSoloHeaderEnabled(bool enabled);
-
- // Returns the window, if any, which should use the solo window header.
- aura::Window* GetWindowWithSoloHeader();
-
- private:
- // Updates the window which would use the solo header if the window were not
- // maximized or fullscreen. If |ignore_window| is not NULL, it is ignored for
- // counting valid candidates. This is useful when there is a window which is
- // about to be moved to a different root window or about to be closed.
- void UpdateSoloWindow(aura::Window* ignore_window);
-
- // Returns true if there is a visible docked window.
- bool AnyVisibleWindowDocked() const;
-
- // aura::WindowObserver overrides:
- virtual void OnWindowAdded(aura::Window* new_window) OVERRIDE;
- virtual void OnWillRemoveWindow(aura::Window* window) OVERRIDE;
- virtual void OnWindowVisibilityChanged(aura::Window* window,
- bool visible) OVERRIDE;
-
- // ash::internal::DockedWindowLayoutManagerObserver override:
- virtual void OnDockBoundsChanging(const gfx::Rect& new_bounds,
- Reason reason) OVERRIDE;
-
- // The containers whose children can use the solo header.
- std::vector<aura::Window*> containers_;
-
- // The dock's bounds.
- gfx::Rect dock_bounds_;
-
- // The window which would use the solo header if it were not maximized or
- // fullscreen.
- aura::Window* solo_window_;
-
- // Class which observes changes in |solo_window_|'s show type.
- class SoloWindowObserver;
- scoped_ptr<SoloWindowObserver> solo_window_observer_;
-
- DISALLOW_COPY_AND_ASSIGN(SoloWindowTracker);
-};
-
-} // namespace ash
-
-#endif // ASH_WM_SOLO_WINDOW_TRACKER_H_