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

Unified Diff: chrome/browser/chromeos/accessibility/accessibility_manager.cc

Issue 2291133005: Re-land: Move ChromeVox loading out of ComponentLoader. (Closed)
Patch Set: Update component_loader comment Created 4 years, 3 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
« no previous file with comments | « no previous file | chrome/browser/extensions/component_loader.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
« no previous file with comments | « no previous file | chrome/browser/extensions/component_loader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698