| 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 91dd76fff381e794d724389db530571b7465ead7..c82e76c523d44ddaa2866f3ad5dc2e4f0dc5aedc 100644
|
| --- a/chrome/browser/chromeos/accessibility/accessibility_manager.cc
|
| +++ b/chrome/browser/chromeos/accessibility/accessibility_manager.cc
|
| @@ -213,6 +213,13 @@ void InjectChromeVoxContentScript(
|
| int render_view_id,
|
| const base::Closure& done_cb);
|
|
|
| +void AddChromeVoxExtensionToComponentLoader(
|
| + extensions::ComponentLoader* component_loader,
|
| + base::Closure done_cb) {
|
| + component_loader->AddComponentFromDir(
|
| + GetChromeVoxPath(), extension_misc::kChromeVoxExtensionId, done_cb);
|
| +}
|
| +
|
| void LoadChromeVoxExtension(
|
| Profile* profile,
|
| RenderViewHost* render_view_host,
|
| @@ -228,7 +235,9 @@ void LoadChromeVoxExtension(
|
| render_view_host->GetRoutingID(),
|
| done_cb);
|
| }
|
| - extension_service->component_loader()->AddChromeVoxExtension(done_cb);
|
| +
|
| + AddChromeVoxExtensionToComponentLoader(extension_service->component_loader(),
|
| + done_cb);
|
| }
|
|
|
| void InjectChromeVoxContentScript(
|
| @@ -614,6 +623,16 @@ void AccessibilityManager::UpdateSpokenFeedbackFromPref() {
|
| const bool enabled = profile_->GetPrefs()->GetBoolean(
|
| prefs::kAccessibilitySpokenFeedbackEnabled);
|
|
|
| + // If ChromeVox was already enabled, but not for this profile,
|
| + // add it to this profile.
|
| + auto* extension_service =
|
| + extensions::ExtensionSystem::Get(profile_)->extension_service();
|
| + auto* component_loader = extension_service->component_loader();
|
| + bool is_already_loaded =
|
| + component_loader->Exists(extension_misc::kChromeVoxExtensionId);
|
| + if (spoken_feedback_enabled_ && enabled && !is_already_loaded)
|
| + AddChromeVoxExtensionToComponentLoader(component_loader, base::Closure());
|
| +
|
| if (spoken_feedback_enabled_ == enabled)
|
| return;
|
|
|
|
|