Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(362)

Unified Diff: chrome/browser/ui/panels/display_settings_provider.h

Issue 2263863002: Remove implementation of Panels on OSes other than ChromeOS. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: CR feedback Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/panels/display_settings_provider.h
diff --git a/chrome/browser/ui/panels/display_settings_provider.h b/chrome/browser/ui/panels/display_settings_provider.h
deleted file mode 100644
index e95e7966d3af86212cc57cb8f240d99aeb717fdb..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/panels/display_settings_provider.h
+++ /dev/null
@@ -1,158 +0,0 @@
-// Copyright (c) 2012 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 CHROME_BROWSER_UI_PANELS_DISPLAY_SETTINGS_PROVIDER_H_
-#define CHROME_BROWSER_UI_PANELS_DISPLAY_SETTINGS_PROVIDER_H_
-
-#include "base/macros.h"
-#include "base/observer_list.h"
-#include "base/timer/timer.h"
-#include "ui/gfx/geometry/rect.h"
-
-// Encapsulates the logic to provide display settings support, including the
-// information for:
-// 1) Work area
-// 2) Auto-hiding desktop bars, like Windows taskbar and MacOSX dock.
-class DisplaySettingsProvider {
- public:
- // Indicates which screen edge the desktop bar is aligned to.
- // We do not care about the desktop aligned to the top screen edge.
- enum DesktopBarAlignment {
- DESKTOP_BAR_ALIGNED_BOTTOM = 0,
- DESKTOP_BAR_ALIGNED_LEFT = 1,
- DESKTOP_BAR_ALIGNED_RIGHT = 2
- };
-
- // Indicates current visibility state of the desktop bar.
- enum DesktopBarVisibility {
- DESKTOP_BAR_VISIBLE,
- DESKTOP_BAR_ANIMATING,
- DESKTOP_BAR_HIDDEN
- };
-
- class DisplayObserver {
- public:
- virtual void OnDisplayChanged() = 0;
- };
-
- class DesktopBarObserver {
- public:
- virtual void OnAutoHidingDesktopBarVisibilityChanged(
- DesktopBarAlignment alignment, DesktopBarVisibility visibility) = 0;
- virtual void OnAutoHidingDesktopBarThicknessChanged(
- DesktopBarAlignment alignment, int thickness) = 0;
- };
-
- class FullScreenObserver {
- public:
- virtual void OnFullScreenModeChanged(bool is_full_screen) = 0;
- };
-
- static DisplaySettingsProvider* Create();
-
- virtual ~DisplaySettingsProvider();
-
- // Subscribes/unsubscribes from the display settings change notification.
- void AddDisplayObserver(DisplayObserver* observer);
- void RemoveDisplayObserver(DisplayObserver* observer);
-
- void AddDesktopBarObserver(DesktopBarObserver* observer);
- void RemoveDesktopBarObserver(DesktopBarObserver* observer);
-
- void AddFullScreenObserver(FullScreenObserver* observer);
- void RemoveFullScreenObserver(FullScreenObserver* observer);
-
- //
- // Display Area:
- // This is the area of a display (monitor). There could be multiple display
- // areas.
- // Work Area:
- // This is the standard work area returned by the system. It is usually
- // computed by the system as the part of display area that excludes
- // top-most system menu or bars aligned to the screen edges.
- //
-
- // Returns the bounds of primary display.
- virtual gfx::Rect GetPrimaryDisplayArea() const;
-
- // Returns the bounds of the work area of primary display.
- virtual gfx::Rect GetPrimaryWorkArea() const;
-
- // Returns the bounds of the display area that most closely intersects the
- // provided bounds.
- virtual gfx::Rect GetDisplayAreaMatching(const gfx::Rect& bounds) const;
-
- // Returns the bounds of the work area that most closely intersects the
- // provided bounds.
- virtual gfx::Rect GetWorkAreaMatching(const gfx::Rect& bounds) const;
-
- // Invoked when the display settings has changed, due to any of the following:
- // 1) screen resolution changes
- // 2) the thickness of desktop bar changes
- // 3) desktop bar switches between auto-hiding and non-auto-hiding
- virtual void OnDisplaySettingsChanged();
-
- // Returns true if there is a desktop bar that is aligned to the specified
- // screen edge and set to auto-hide.
- virtual bool IsAutoHidingDesktopBarEnabled(DesktopBarAlignment alignment);
-
- // Returns the thickness of the desktop bar that is aligned to the specified
- // screen edge, when it is visible. When the desktop bar is aligned to bottom
- // edge, this is the height of the bar. If the desktop bar is aligned to
- // left or right edge, this is the width of the bar.
- virtual int GetDesktopBarThickness(DesktopBarAlignment alignment) const;
-
- // Returns the visibility state of the desktop bar that is aligned to the
- // specified screen edge.
- virtual DesktopBarVisibility GetDesktopBarVisibility(
- DesktopBarAlignment alignment) const;
-
- base::ObserverList<DisplayObserver>& display_observers() {
- return display_observers_;
- }
-
- base::ObserverList<DesktopBarObserver>& desktop_bar_observers() {
- return desktop_bar_observers_;
- }
-
- base::ObserverList<FullScreenObserver>& full_screen_observers() {
- return full_screen_observers_;
- }
-
- bool is_full_screen() const { return is_full_screen_; }
-
- protected:
- enum FullScreenCheckMode {
- ASSUME_FULLSCREEN_ON,
- ASSUME_FULLSCREEN_OFF,
- PERFORM_FULLSCREEN_CHECK
- };
-
- DisplaySettingsProvider();
-
- // Returns true if we need to perform fullscreen check periodically.
- virtual bool NeedsPeriodicFullScreenCheck() const;
-
- // Returns true if full screen or presentation mode in main screen is entered.
- virtual bool IsFullScreen();
-
- // Callback to perform periodic check for full screen mode changes.
- void CheckFullScreenMode(FullScreenCheckMode check_mode);
-
- private:
- // Observers that listen to various display settings changes.
- base::ObserverList<DisplayObserver> display_observers_;
- base::ObserverList<DesktopBarObserver> desktop_bar_observers_;
- base::ObserverList<FullScreenObserver> full_screen_observers_;
-
- // True if full screen mode or presentation mode is entered.
- bool is_full_screen_;
-
- // Timer used to detect full-screen mode change.
- base::RepeatingTimer full_screen_mode_timer_;
-
- DISALLOW_COPY_AND_ASSIGN(DisplaySettingsProvider);
-};
-
-#endif // CHROME_BROWSER_UI_PANELS_DISPLAY_SETTINGS_PROVIDER_H_
« no previous file with comments | « chrome/browser/ui/panels/detached_panel_drag_handler.cc ('k') | chrome/browser/ui/panels/display_settings_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698