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

Unified Diff: services/ui/display/platform_screen_ozone.h

Issue 2323393003: Connect mojom::DisplayController from ash to ui. (Closed)
Patch Set: Add comments. Created 4 years, 3 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
« no previous file with comments | « services/ui/display/platform_screen.h ('k') | services/ui/display/platform_screen_ozone.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: services/ui/display/platform_screen_ozone.h
diff --git a/services/ui/display/platform_screen_ozone.h b/services/ui/display/platform_screen_ozone.h
index 6d569e110328183926dd50f67547d59abc4423db..521ead33aa394f005efe4fc06a817f032b788894 100644
--- a/services/ui/display/platform_screen_ozone.h
+++ b/services/ui/display/platform_screen_ozone.h
@@ -12,6 +12,9 @@
#include "base/callback.h"
#include "base/macros.h"
+#include "mojo/public/cpp/bindings/binding_set.h"
+#include "services/shell/public/cpp/connection.h"
+#include "services/shell/public/cpp/interface_factory.h"
#include "services/ui/display/platform_screen.h"
#include "services/ui/public/interfaces/display/display_controller.mojom.h"
#include "ui/display/chromeos/display_configurator.h"
@@ -21,20 +24,22 @@ namespace display {
// PlatformScreenOzone provides the necessary functionality to configure all
// attached physical displays on the ozone platform.
-class PlatformScreenOzone : public PlatformScreen,
- public ui::DisplayConfigurator::Observer,
- public mojom::DisplayController {
+class PlatformScreenOzone
+ : public PlatformScreen,
+ public ui::DisplayConfigurator::Observer,
+ public shell::InterfaceFactory<mojom::DisplayController>,
+ public mojom::DisplayController {
public:
PlatformScreenOzone();
~PlatformScreenOzone() override;
// PlatformScreen:
+ void AddInterfaces(shell::InterfaceRegistry* registry) override;
void Init(PlatformScreenDelegate* delegate) override;
int64_t GetPrimaryDisplayId() const override;
// mojom::DisplayController:
- void ToggleVirtualDisplay(
- const ToggleVirtualDisplayCallback& callback) override;
+ void ToggleVirtualDisplay() override;
private:
// TODO(kylechar): This struct is just temporary until we migrate
@@ -90,14 +95,20 @@ class PlatformScreenOzone : public PlatformScreen,
const ui::DisplayConfigurator::DisplayStateList& displays,
ui::MultipleDisplayState failed_new_state) override;
- PlatformScreenDelegate* delegate_ = nullptr;
+ // mojo::InterfaceFactory<mojom::DisplayController>:
+ void Create(const shell::Identity& remote_identity,
+ mojom::DisplayControllerRequest request) override;
+
ui::DisplayConfigurator display_configurator_;
+ PlatformScreenDelegate* delegate_ = nullptr;
// TODO(kylechar): These values can/should be replaced by DisplayLayout.
int64_t primary_display_id_ = display::Display::kInvalidDisplayID;
std::vector<DisplayInfo> cached_displays_;
gfx::Point next_display_origin_;
+ mojo::BindingSet<mojom::DisplayController> bindings_;
+
DISALLOW_COPY_AND_ASSIGN(PlatformScreenOzone);
};
« no previous file with comments | « services/ui/display/platform_screen.h ('k') | services/ui/display/platform_screen_ozone.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698