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

Unified Diff: ui/ozone/platform/dri/screen_manager.h

Issue 469343003: [Ozone-GBM] Pumb DriWindowDelegate throughout the platform (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 6 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: ui/ozone/platform/dri/screen_manager.h
diff --git a/ui/ozone/platform/dri/screen_manager.h b/ui/ozone/platform/dri/screen_manager.h
index 1dc1e52ea24c5a8e043285ee75782db6adf6ff36..46cbd66133f48a8727fb1bbf212dc758f5191eb4 100644
--- a/ui/ozone/platform/dri/screen_manager.h
+++ b/ui/ozone/platform/dri/screen_manager.h
@@ -5,11 +5,9 @@
#ifndef UI_OZONE_PLATFORM_DRI_SCREEN_MANAGER_H_
#define UI_OZONE_PLATFORM_DRI_SCREEN_MANAGER_H_
-#include <map>
-
#include "base/macros.h"
+#include "base/memory/scoped_vector.h"
#include "base/memory/weak_ptr.h"
-#include "ui/gfx/native_widget_types.h"
#include "ui/ozone/platform/dri/hardware_display_controller.h"
typedef struct _drmModeModeInfo drmModeModeInfo;
@@ -47,14 +45,6 @@ class ScreenManager {
// may still be connected, so this does not remove the controller.
bool DisableDisplayController(uint32_t crtc);
- // Returns a reference to the display controller associated with |widget|.
- // This returns a weak reference since the display controller may be destroyed
- // at any point in time, but the changes are propagated to the compositor much
- // later (Compositor owns SurfaceOzone*, which is responsible for updating the
- // display surface).
- base::WeakPtr<HardwareDisplayController> GetDisplayController(
- gfx::AcceleratedWidget widget);
-
// Returns a reference to the display controller configured to display within
// |bounds|.
// This returns a weak reference since the display controller may be destroyed
@@ -65,22 +55,15 @@ class ScreenManager {
const gfx::Rect& bounds);
private:
- typedef std::map<gfx::AcceleratedWidget, HardwareDisplayController*>
- HardwareDisplayControllerMap;
+ typedef ScopedVector<HardwareDisplayController> HardwareDisplayControllers;
// Returns an iterator into |controllers_| for the controller identified by
// (|crtc|, |connector|).
- HardwareDisplayControllerMap::iterator FindDisplayController(
- uint32_t crtc);
+ HardwareDisplayControllers::iterator FindDisplayController(uint32_t crtc);
// Returns an iterator into |controllers_| for the controller located at
// |origin|.
- HardwareDisplayControllerMap::iterator FindDisplayControllerByOrigin(
- const gfx::Point& origin);
-
- // Returns an iterator into |controllers_| for the controller located within
- // |bounds|.
- HardwareDisplayControllerMap::iterator FindActiveDisplayControllerByLocation(
+ HardwareDisplayControllers::iterator FindActiveDisplayControllerByLocation(
const gfx::Rect& bounds);
// Perform modesetting in |controller| using |origin| and |mode|.
@@ -91,11 +74,10 @@ class ScreenManager {
// Tries to set the controller identified by (|crtc|, |connector|) to mirror
// those in |mirror|. |original| is an iterator to the HDC where the
// controller is currently present.
- bool HandleMirrorMode(
- HardwareDisplayControllerMap::iterator original,
- HardwareDisplayControllerMap::iterator mirror,
- uint32_t crtc,
- uint32_t connector);
+ bool HandleMirrorMode(HardwareDisplayControllers::iterator original,
+ HardwareDisplayControllers::iterator mirror,
+ uint32_t crtc,
+ uint32_t connector);
// On non CrOS builds there is no display configurator to look-up available
// displays and initialize the HDCs. In such cases this is called internally
@@ -104,9 +86,8 @@ class ScreenManager {
DriWrapper* dri_; // Not owned.
ScanoutBufferGenerator* buffer_generator_; // Not owned.
- // Mapping between an accelerated widget and an active display.
- HardwareDisplayControllerMap controllers_;
- gfx::AcceleratedWidget last_added_widget_;
+ // List of display controllers (active and disabled).
+ HardwareDisplayControllers controllers_;
DISALLOW_COPY_AND_ASSIGN(ScreenManager);
};

Powered by Google App Engine
This is Rietveld 408576698