Chromium Code Reviews| 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..8c20098ac33590ef48ee7c7503087bb74150526a 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* accessibility_manager() { |
|
msw
2016/07/12 18:30:09
nit: GetAccessibilityManager? Or ConnectToInterfac
sadrul
2016/07/13 01:01:22
Done (changed to 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(); |
| + accessibility_manager()->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)); |
| } |