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

Unified Diff: ash/mus/bridge/wm_shell_mus.cc

Issue 2127383003: mus: Introduce high-contrast mode in mus. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 5 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: 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));
}
« no previous file with comments | « ash/mus/bridge/wm_shell_mus.h ('k') | ash/mus/manifest.json » ('j') | ash/mus/manifest.json » ('J')

Powered by Google App Engine
This is Rietveld 408576698