| Index: chrome/browser/chromeos/accessibility/accessibility_manager.cc
|
| diff --git a/chrome/browser/chromeos/accessibility/accessibility_manager.cc b/chrome/browser/chromeos/accessibility/accessibility_manager.cc
|
| index 95ce0f271dcda852654e20af63be0e5cda4d6928..7905ffad0876c1b39ef05882df4fd642abda3e17 100644
|
| --- a/chrome/browser/chromeos/accessibility/accessibility_manager.cc
|
| +++ b/chrome/browser/chromeos/accessibility/accessibility_manager.cc
|
| @@ -377,6 +377,7 @@ AccessibilityManager::AccessibilityManager()
|
| braille_display_connected_(false),
|
| scoped_braille_observer_(this),
|
| braille_ime_current_(false),
|
| + chromevox_panel_(nullptr),
|
| weak_ptr_factory_(this) {
|
| notification_registrar_.Add(this,
|
| chrome::NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE,
|
| @@ -636,6 +637,11 @@ void AccessibilityManager::LoadChromeVoxToLockScreen(
|
| }
|
|
|
| void AccessibilityManager::UnloadChromeVox() {
|
| + if (chromevox_panel_) {
|
| + chromevox_panel_->Close();
|
| + chromevox_panel_ = nullptr;
|
| + }
|
| +
|
| if (chrome_vox_loaded_on_lock_screen_)
|
| UnloadChromeVoxFromLockScreen();
|
|
|
| @@ -1138,6 +1144,8 @@ void AccessibilityManager::PostLoadChromeVox(Profile* profile) {
|
|
|
| should_speak_chrome_vox_announcements_on_user_screen_ =
|
| chrome_vox_loaded_on_lock_screen_;
|
| +
|
| + chromevox_panel_ = new ChromeVoxPanel(profile_);
|
| }
|
|
|
| void AccessibilityManager::PostUnloadChromeVox(Profile* profile) {
|
| @@ -1148,4 +1156,12 @@ void AccessibilityManager::PostUnloadChromeVox(Profile* profile) {
|
| std::vector<gfx::Rect>());
|
| }
|
|
|
| +gfx::Insets AccessibilityManager::GetWorkAreaInsets(
|
| + aura::Window* root_window) const {
|
| + if (chromevox_panel_ && chromevox_panel_->GetRootWindow() == root_window)
|
| + return gfx::Insets(chromevox_panel_->GetHeight(), 0, 0, 0);
|
| + else
|
| + return gfx::Insets();
|
| +}
|
| +
|
| } // namespace chromeos
|
|
|