OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/chromeos/accessibility_util.h" | 5 #include "chrome/browser/chromeos/accessibility_util.h" |
6 | 6 |
7 #include "base/callback.h" | 7 #include "base/callback.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "chrome/browser/browser_process.h" | 9 #include "chrome/browser/browser_process.h" |
10 #include "chrome/browser/extensions/extension_accessibility_api.h" | 10 #include "chrome/browser/extensions/extension_accessibility_api.h" |
11 #include "chrome/browser/extensions/extension_service.h" | 11 #include "chrome/browser/extensions/extension_service.h" |
12 #include "chrome/browser/extensions/file_reader.h" | 12 #include "chrome/browser/extensions/file_reader.h" |
13 #include "chrome/browser/profiles/profile.h" | 13 #include "chrome/browser/profiles/profile.h" |
14 #include "chrome/browser/profiles/profile_manager.h" | 14 #include "chrome/browser/profiles/profile_manager.h" |
15 #include "chrome/common/extensions/extension_messages.h" | 15 #include "chrome/common/extensions/extension_messages.h" |
16 #include "chrome/common/extensions/extension_resource.h" | 16 #include "chrome/common/extensions/extension_resource.h" |
17 #include "chrome/common/pref_names.h" | 17 #include "chrome/common/pref_names.h" |
| 18 #include "content/browser/renderer_host/render_view_host.h" |
| 19 #include "content/browser/tab_contents/tab_contents.h" |
18 #include "content/browser/webui/web_ui.h" | 20 #include "content/browser/webui/web_ui.h" |
19 #include "content/browser/renderer_host/render_view_host.h" | |
20 #include "grit/browser_resources.h" | 21 #include "grit/browser_resources.h" |
21 #include "ui/base/resource/resource_bundle.h" | 22 #include "ui/base/resource/resource_bundle.h" |
22 | 23 |
23 namespace chromeos { | 24 namespace chromeos { |
24 namespace accessibility { | 25 namespace accessibility { |
25 | 26 |
26 // Helper class that directly loads an extension's content scripts into | 27 // Helper class that directly loads an extension's content scripts into |
27 // all of the frames corresponding to a given RenderViewHost. | 28 // all of the frames corresponding to a given RenderViewHost. |
28 class ContentScriptLoader { | 29 class ContentScriptLoader { |
29 public: | 30 public: |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 GetRawDataResource(IDR_CHROMEVOX_MANIFEST).as_string(); | 100 GetRawDataResource(IDR_CHROMEVOX_MANIFEST).as_string(); |
100 FilePath path = FilePath(extension_misc::kAccessExtensionPath) | 101 FilePath path = FilePath(extension_misc::kAccessExtensionPath) |
101 .AppendASCII(extension_misc::kChromeVoxDirectoryName); | 102 .AppendASCII(extension_misc::kChromeVoxDirectoryName); |
102 ExtensionService::ComponentExtensionInfo info(manifest, path); | 103 ExtensionService::ComponentExtensionInfo info(manifest, path); |
103 if (enabled) { // Load ChromeVox | 104 if (enabled) { // Load ChromeVox |
104 extension_service->register_component_extension(info); | 105 extension_service->register_component_extension(info); |
105 const Extension* extension = | 106 const Extension* extension = |
106 extension_service->LoadComponentExtension(info); | 107 extension_service->LoadComponentExtension(info); |
107 | 108 |
108 if (login_web_ui) { | 109 if (login_web_ui) { |
109 RenderViewHost* render_view_host = login_web_ui->GetRenderViewHost(); | 110 RenderViewHost* render_view_host = |
| 111 login_web_ui->tab_contents()->render_view_host(); |
110 ContentScriptLoader* loader = new ContentScriptLoader( | 112 ContentScriptLoader* loader = new ContentScriptLoader( |
111 extension->id(), render_view_host); | 113 extension->id(), render_view_host); |
112 | 114 |
113 for (size_t i = 0; i < extension->content_scripts().size(); i++) { | 115 for (size_t i = 0; i < extension->content_scripts().size(); i++) { |
114 const UserScript& script = extension->content_scripts()[i]; | 116 const UserScript& script = extension->content_scripts()[i]; |
115 for (size_t j = 0; j < script.js_scripts().size(); ++j) { | 117 for (size_t j = 0; j < script.js_scripts().size(); ++j) { |
116 const UserScript::File &file = script.js_scripts()[j]; | 118 const UserScript::File &file = script.js_scripts()[j]; |
117 ExtensionResource resource = extension->GetResource( | 119 ExtensionResource resource = extension->GetResource( |
118 file.relative_path()); | 120 file.relative_path()); |
119 loader->AppendScript(resource); | 121 loader->AppendScript(resource); |
(...skipping 13 matching lines...) Expand all Loading... |
133 void ToggleAccessibility(WebUI* login_web_ui) { | 135 void ToggleAccessibility(WebUI* login_web_ui) { |
134 bool accessibility_enabled = g_browser_process && | 136 bool accessibility_enabled = g_browser_process && |
135 g_browser_process->local_state()->GetBoolean( | 137 g_browser_process->local_state()->GetBoolean( |
136 prefs::kAccessibilityEnabled); | 138 prefs::kAccessibilityEnabled); |
137 accessibility_enabled = !accessibility_enabled; | 139 accessibility_enabled = !accessibility_enabled; |
138 EnableAccessibility(accessibility_enabled, login_web_ui); | 140 EnableAccessibility(accessibility_enabled, login_web_ui); |
139 }; | 141 }; |
140 | 142 |
141 } // namespace accessibility | 143 } // namespace accessibility |
142 } // namespace chromeos | 144 } // namespace chromeos |
OLD | NEW |