| 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);
|
| };
|
|
|
|
|