Commit 0ecfc82d authored by James Cook's avatar James Cook Committed by Commit Bot

Move Chrome's ash::AccessibilityDelegate to its own file

This makes it easier to find and consistent with ChromeShellDelegate.

Also cleanup unnecessary includes in ChromeShellDelegate.

I'm doing this because I may need to add a method to the delegate.

Bug: none
Test: existing browser_tests, manually test magnifier
Change-Id: Icf0fdda4f6bea0f9fc3c281902e87fc036764950
Reviewed-on: https://chromium-review.googlesource.com/1246661Reviewed-by: default avatarDavid Tseng <dtseng@chromium.org>
Commit-Queue: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594487}
parent 532ec2cc
...@@ -1420,6 +1420,8 @@ jumbo_split_static_library("ui") { ...@@ -1420,6 +1420,8 @@ jumbo_split_static_library("ui") {
"ash/browser_image_registrar.h", "ash/browser_image_registrar.h",
"ash/cast_config_client_media_router.cc", "ash/cast_config_client_media_router.cc",
"ash/cast_config_client_media_router.h", "ash/cast_config_client_media_router.h",
"ash/chrome_accessibility_delegate.cc",
"ash/chrome_accessibility_delegate.h",
"ash/chrome_browser_main_extra_parts_ash.cc", "ash/chrome_browser_main_extra_parts_ash.cc",
"ash/chrome_browser_main_extra_parts_ash.h", "ash/chrome_browser_main_extra_parts_ash.h",
"ash/chrome_keyboard_controller_observer.cc", "ash/chrome_keyboard_controller_observer.cc",
......
...@@ -10,7 +10,7 @@ specific_include_rules = { ...@@ -10,7 +10,7 @@ specific_include_rules = {
"!ash", "!ash",
"+ash/public", "+ash/public",
], ],
# AshShellInit supports CLASSIC and MUS modes so allow ash/ includes. # AshShellInit supports classic (non-mash) mode so allow ash/ includes.
"ash_shell_init\.cc": [ "ash_shell_init\.cc": [
"+ash", "+ash",
], ],
...@@ -20,6 +20,10 @@ specific_include_rules = { ...@@ -20,6 +20,10 @@ specific_include_rules = {
"+ash/accelerators/accelerator_controller.h", "+ash/accelerators/accelerator_controller.h",
"+ash/shell.h", "+ash/shell.h",
], ],
# https://crbug.com/756054
"chrome_accessibility_delegate.*": [
"+ash/accessibility/accessibility_delegate.h",
],
# For ash::Shell::SetIsBrowserProcessWithMash() # For ash::Shell::SetIsBrowserProcessWithMash()
"chrome_browser_main_extra_parts_ash\.cc": [ "chrome_browser_main_extra_parts_ash\.cc": [
"+ash/shell.h", "+ash/shell.h",
...@@ -40,8 +44,6 @@ specific_include_rules = { ...@@ -40,8 +44,6 @@ specific_include_rules = {
], ],
# https://crbug.com/665064 # https://crbug.com/665064
"chrome_shell_delegate.*": [ "chrome_shell_delegate.*": [
# https://crbug.com/756054
"+ash/accessibility/accessibility_delegate.h",
# https://crbug.com/557397 # https://crbug.com/557397
"+ash/screenshot_delegate.h", "+ash/screenshot_delegate.h",
# https://crbug.com/665064 # https://crbug.com/665064
......
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/ash/chrome_accessibility_delegate.h"
#include <limits>
#include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
#include "chrome/browser/chromeos/accessibility/magnification_manager.h"
using chromeos::AccessibilityManager;
using chromeos::MagnificationManager;
ChromeAccessibilityDelegate::ChromeAccessibilityDelegate() = default;
ChromeAccessibilityDelegate::~ChromeAccessibilityDelegate() = default;
void ChromeAccessibilityDelegate::SetMagnifierEnabled(bool enabled) {
DCHECK(MagnificationManager::Get());
return MagnificationManager::Get()->SetMagnifierEnabled(enabled);
}
bool ChromeAccessibilityDelegate::IsMagnifierEnabled() const {
DCHECK(MagnificationManager::Get());
return MagnificationManager::Get()->IsMagnifierEnabled();
}
bool ChromeAccessibilityDelegate::ShouldShowAccessibilityMenu() const {
DCHECK(AccessibilityManager::Get());
return AccessibilityManager::Get()->ShouldShowAccessibilityMenu();
}
void ChromeAccessibilityDelegate::SaveScreenMagnifierScale(double scale) {
if (MagnificationManager::Get())
MagnificationManager::Get()->SaveScreenMagnifierScale(scale);
}
double ChromeAccessibilityDelegate::GetSavedScreenMagnifierScale() {
if (MagnificationManager::Get())
return MagnificationManager::Get()->GetSavedScreenMagnifierScale();
return std::numeric_limits<double>::min();
}
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_ASH_CHROME_ACCESSIBILITY_DELEGATE_H_
#define CHROME_BROWSER_UI_ASH_CHROME_ACCESSIBILITY_DELEGATE_H_
#include "ash/accessibility/accessibility_delegate.h"
#include "base/macros.h"
// See ash::AccessibilityDelegate for details.
class ChromeAccessibilityDelegate : public ash::AccessibilityDelegate {
public:
ChromeAccessibilityDelegate();
~ChromeAccessibilityDelegate() override;
// ash::AccessibilityDelegate:
void SetMagnifierEnabled(bool enabled) override;
bool IsMagnifierEnabled() const override;
bool ShouldShowAccessibilityMenu() const override;
void SaveScreenMagnifierScale(double scale) override;
double GetSavedScreenMagnifierScale() override;
private:
DISALLOW_COPY_AND_ASSIGN(ChromeAccessibilityDelegate);
};
#endif // CHROME_BROWSER_UI_ASH_CHROME_ACCESSIBILITY_DELEGATE_H_
...@@ -4,24 +4,16 @@ ...@@ -4,24 +4,16 @@
#include "chrome/browser/ui/ash/chrome_shell_delegate.h" #include "chrome/browser/ui/ash/chrome_shell_delegate.h"
#include <stddef.h> #include <memory>
#include <limits>
#include <vector>
#include "ash/accessibility/accessibility_delegate.h"
#include "ash/screenshot_delegate.h" #include "ash/screenshot_delegate.h"
#include "base/macros.h"
#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_process_platform_part_chromeos.h" #include "chrome/browser/browser_process_platform_part_chromeos.h"
#include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
#include "chrome/browser/chromeos/accessibility/magnification_manager.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h" #include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/ash/chrome_accessibility_delegate.h"
#include "chrome/browser/ui/ash/chrome_keyboard_ui.h" #include "chrome/browser/ui/ash/chrome_keyboard_ui.h"
#include "chrome/browser/ui/ash/chrome_screenshot_grabber.h" #include "chrome/browser/ui/ash/chrome_screenshot_grabber.h"
#include "chrome/browser/ui/ash/multi_user/multi_user_util.h"
#include "chrome/browser/ui/ash/session_controller_client.h"
#include "chrome/browser/ui/ash/session_util.h" #include "chrome/browser/ui/ash/session_util.h"
#include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_commands.h" #include "chrome/browser/ui/browser_commands.h"
...@@ -30,57 +22,15 @@ ...@@ -30,57 +22,15 @@
#include "chrome/browser/ui/browser_tabstrip.h" #include "chrome/browser/ui/browser_tabstrip.h"
#include "chrome/browser/ui/browser_window.h" #include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/scoped_tabbed_browser_displayer.h" #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h"
#include "content/public/common/service_manager_connection.h"
#include "content/public/common/url_constants.h"
#include "services/ws/public/cpp/input_devices/input_device_controller_client.h" #include "services/ws/public/cpp/input_devices/input_device_controller_client.h"
#include "ui/aura/window.h" #include "ui/aura/window.h"
#include "ui/base/ui_base_features.h" #include "url/gurl.h"
#include "url/url_constants.h"
using chromeos::AccessibilityManager;
namespace { namespace {
const char kKeyboardShortcutHelpPageUrl[] = const char kKeyboardShortcutHelpPageUrl[] =
"https://support.google.com/chromebook/answer/183101"; "https://support.google.com/chromebook/answer/183101";
class AccessibilityDelegateImpl : public ash::AccessibilityDelegate {
public:
AccessibilityDelegateImpl() = default;
~AccessibilityDelegateImpl() override = default;
void SetMagnifierEnabled(bool enabled) override {
DCHECK(chromeos::MagnificationManager::Get());
return chromeos::MagnificationManager::Get()->SetMagnifierEnabled(enabled);
}
bool IsMagnifierEnabled() const override {
DCHECK(chromeos::MagnificationManager::Get());
return chromeos::MagnificationManager::Get()->IsMagnifierEnabled();
}
bool ShouldShowAccessibilityMenu() const override {
DCHECK(AccessibilityManager::Get());
return AccessibilityManager::Get()->ShouldShowAccessibilityMenu();
}
void SaveScreenMagnifierScale(double scale) override {
if (chromeos::MagnificationManager::Get())
chromeos::MagnificationManager::Get()->SaveScreenMagnifierScale(scale);
}
double GetSavedScreenMagnifierScale() override {
if (chromeos::MagnificationManager::Get()) {
return chromeos::MagnificationManager::Get()
->GetSavedScreenMagnifierScale();
}
return std::numeric_limits<double>::min();
}
private:
DISALLOW_COPY_AND_ASSIGN(AccessibilityDelegateImpl);
};
} // namespace } // namespace
ChromeShellDelegate::ChromeShellDelegate() = default; ChromeShellDelegate::ChromeShellDelegate() = default;
...@@ -108,7 +58,7 @@ std::unique_ptr<keyboard::KeyboardUI> ChromeShellDelegate::CreateKeyboardUI() { ...@@ -108,7 +58,7 @@ std::unique_ptr<keyboard::KeyboardUI> ChromeShellDelegate::CreateKeyboardUI() {
} }
ash::AccessibilityDelegate* ChromeShellDelegate::CreateAccessibilityDelegate() { ash::AccessibilityDelegate* ChromeShellDelegate::CreateAccessibilityDelegate() {
return new AccessibilityDelegateImpl; return new ChromeAccessibilityDelegate;
} }
std::unique_ptr<ash::ScreenshotDelegate> std::unique_ptr<ash::ScreenshotDelegate>
......
...@@ -5,23 +5,15 @@ ...@@ -5,23 +5,15 @@
#ifndef CHROME_BROWSER_UI_ASH_CHROME_SHELL_DELEGATE_H_ #ifndef CHROME_BROWSER_UI_ASH_CHROME_SHELL_DELEGATE_H_
#define CHROME_BROWSER_UI_ASH_CHROME_SHELL_DELEGATE_H_ #define CHROME_BROWSER_UI_ASH_CHROME_SHELL_DELEGATE_H_
#include <memory>
#include <string>
#include "ash/shell_delegate.h" #include "ash/shell_delegate.h"
#include "base/macros.h" #include "base/macros.h"
#include "build/build_config.h"
namespace keyboard {
class KeyboardUI;
}
class ChromeShellDelegate : public ash::ShellDelegate { class ChromeShellDelegate : public ash::ShellDelegate {
public: public:
ChromeShellDelegate(); ChromeShellDelegate();
~ChromeShellDelegate() override; ~ChromeShellDelegate() override;
// ash::ShellDelegate overrides; // ash::ShellDelegate:
bool CanShowWindowForUser(aura::Window* window) const override; bool CanShowWindowForUser(aura::Window* window) const override;
std::unique_ptr<keyboard::KeyboardUI> CreateKeyboardUI() override; std::unique_ptr<keyboard::KeyboardUI> CreateKeyboardUI() override;
std::unique_ptr<ash::ScreenshotDelegate> CreateScreenshotDelegate() override; std::unique_ptr<ash::ScreenshotDelegate> CreateScreenshotDelegate() override;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment