| Index: ash/mus/bridge/wm_shell_mus.cc
|
| diff --git a/ash/mus/bridge/wm_shell_mus.cc b/ash/mus/bridge/wm_shell_mus.cc
|
| index 582e75000da983f3d73a1f2246e655e823cc131f..b9626529759b2ad657d98e7bc909056ddf7d29fb 100644
|
| --- a/ash/mus/bridge/wm_shell_mus.cc
|
| +++ b/ash/mus/bridge/wm_shell_mus.cc
|
| @@ -22,9 +22,11 @@
|
| #include "ash/mus/root_window_controller.h"
|
| #include "base/memory/ptr_util.h"
|
| #include "components/user_manager/user_info_impl.h"
|
| +#include "services/shell/public/cpp/connector.h"
|
| #include "services/ui/common/util.h"
|
| #include "services/ui/public/cpp/window.h"
|
| #include "services/ui/public/cpp/window_tree_client.h"
|
| +#include "services/ui/public/interfaces/accessibility_manager.mojom.h"
|
|
|
| namespace ash {
|
| namespace mus {
|
| @@ -90,11 +92,39 @@ class SessionStateDelegateStub : public SessionStateDelegate {
|
| DISALLOW_COPY_AND_ASSIGN(SessionStateDelegateStub);
|
| };
|
|
|
| +class AccessibilityDelegateMus : public DefaultAccessibilityDelegate {
|
| + public:
|
| + explicit AccessibilityDelegateMus(shell::Connector* connector)
|
| + : connector_(connector) {}
|
| + ~AccessibilityDelegateMus() override {}
|
| +
|
| + private:
|
| + ui::mojom::AccessibilityManager* GetAccessibilityManager() {
|
| + if (!accessibility_manager_ptr_.is_bound())
|
| + connector_->ConnectToInterface("mojo:ui", &accessibility_manager_ptr_);
|
| + return accessibility_manager_ptr_.get();
|
| + }
|
| +
|
| + // DefaultAccessibilityDelegate:
|
| + void ToggleHighContrast() override {
|
| + DefaultAccessibilityDelegate::ToggleHighContrast();
|
| + GetAccessibilityManager()->SetHighContrastMode(IsHighContrastEnabled());
|
| + }
|
| +
|
| + ui::mojom::AccessibilityManagerPtr accessibility_manager_ptr_;
|
| + shell::Connector* connector_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(AccessibilityDelegateMus);
|
| +};
|
| +
|
| } // namespace
|
|
|
| -WmShellMus::WmShellMus(ShellDelegate* delegate, ::ui::WindowTreeClient* client)
|
| +WmShellMus::WmShellMus(ShellDelegate* delegate,
|
| + ::ui::WindowTreeClient* client,
|
| + shell::Connector* connector)
|
| : WmShell(delegate),
|
| client_(client),
|
| + connector_(connector),
|
| session_state_delegate_(new SessionStateDelegateStub) {
|
| client_->AddObserver(this);
|
| WmShell::Set(this);
|
| @@ -103,7 +133,7 @@ WmShellMus::WmShellMus(ShellDelegate* delegate, ::ui::WindowTreeClient* client)
|
|
|
| CreateMruWindowTracker();
|
|
|
| - accessibility_delegate_.reset(new DefaultAccessibilityDelegate);
|
| + accessibility_delegate_.reset(new AccessibilityDelegateMus(connector_));
|
| SetSystemTrayDelegate(base::WrapUnique(new DefaultSystemTrayDelegate));
|
| }
|
|
|
|
|