| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/extensions/chrome_extensions_browser_client.h" | 5 #include "chrome/browser/extensions/chrome_extensions_browser_client.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/version.h" | 8 #include "base/version.h" |
| 9 #include "chrome/browser/app_mode/app_mode_utils.h" | 9 #include "chrome/browser/app_mode/app_mode_utils.h" |
| 10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 121 } | 121 } |
| 122 | 122 |
| 123 bool ChromeExtensionsBrowserClient::IsExtensionIncognitoEnabled( | 123 bool ChromeExtensionsBrowserClient::IsExtensionIncognitoEnabled( |
| 124 const std::string& extension_id, | 124 const std::string& extension_id, |
| 125 content::BrowserContext* context) const { | 125 content::BrowserContext* context) const { |
| 126 return IsGuestSession(context) | 126 return IsGuestSession(context) |
| 127 || util::IsIncognitoEnabled(extension_id, context); | 127 || util::IsIncognitoEnabled(extension_id, context); |
| 128 } | 128 } |
| 129 | 129 |
| 130 bool ChromeExtensionsBrowserClient::CanExtensionCrossIncognito( | 130 bool ChromeExtensionsBrowserClient::CanExtensionCrossIncognito( |
| 131 const extensions::Extension* extension, | 131 const Extension* extension, |
| 132 content::BrowserContext* context) const { | 132 content::BrowserContext* context) const { |
| 133 return IsGuestSession(context) | 133 return IsGuestSession(context) |
| 134 || util::CanCrossIncognito(extension, context); | 134 || util::CanCrossIncognito(extension, context); |
| 135 } | 135 } |
| 136 | 136 |
| 137 net::URLRequestJob* | 137 net::URLRequestJob* |
| 138 ChromeExtensionsBrowserClient::MaybeCreateResourceBundleRequestJob( | 138 ChromeExtensionsBrowserClient::MaybeCreateResourceBundleRequestJob( |
| 139 net::URLRequest* request, | 139 net::URLRequest* request, |
| 140 net::NetworkDelegate* network_delegate, | 140 net::NetworkDelegate* network_delegate, |
| 141 const base::FilePath& directory_path, | 141 const base::FilePath& directory_path, |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 } | 236 } |
| 237 | 237 |
| 238 ExtensionSystemProvider* | 238 ExtensionSystemProvider* |
| 239 ChromeExtensionsBrowserClient::GetExtensionSystemFactory() { | 239 ChromeExtensionsBrowserClient::GetExtensionSystemFactory() { |
| 240 return ExtensionSystemFactory::GetInstance(); | 240 return ExtensionSystemFactory::GetInstance(); |
| 241 } | 241 } |
| 242 | 242 |
| 243 void ChromeExtensionsBrowserClient::RegisterExtensionFunctions( | 243 void ChromeExtensionsBrowserClient::RegisterExtensionFunctions( |
| 244 ExtensionFunctionRegistry* registry) const { | 244 ExtensionFunctionRegistry* registry) const { |
| 245 // Preferences. | 245 // Preferences. |
| 246 registry->RegisterFunction<extensions::GetPreferenceFunction>(); | 246 registry->RegisterFunction<GetPreferenceFunction>(); |
| 247 registry->RegisterFunction<extensions::SetPreferenceFunction>(); | 247 registry->RegisterFunction<SetPreferenceFunction>(); |
| 248 registry->RegisterFunction<extensions::ClearPreferenceFunction>(); | 248 registry->RegisterFunction<ClearPreferenceFunction>(); |
| 249 | 249 |
| 250 // Direct Preference Access for Component Extensions. | 250 // Direct Preference Access for Component Extensions. |
| 251 registry->RegisterFunction< | 251 registry->RegisterFunction<chromedirectsetting::GetDirectSettingFunction>(); |
| 252 extensions::chromedirectsetting::GetDirectSettingFunction>(); | 252 registry->RegisterFunction<chromedirectsetting::SetDirectSettingFunction>(); |
| 253 registry->RegisterFunction< | 253 registry->RegisterFunction<chromedirectsetting::ClearDirectSettingFunction>(); |
| 254 extensions::chromedirectsetting::SetDirectSettingFunction>(); | |
| 255 registry->RegisterFunction< | |
| 256 extensions::chromedirectsetting::ClearDirectSettingFunction>(); | |
| 257 | 254 |
| 258 // Generated APIs from lower-level modules. | 255 // Generated APIs from lower-level modules. |
| 259 extensions::core_api::GeneratedFunctionRegistry::RegisterAll(registry); | 256 api::GeneratedFunctionRegistry::RegisterAll(registry); |
| 260 | 257 |
| 261 // Generated APIs from Chrome. | 258 // Generated APIs from Chrome. |
| 262 extensions::api::GeneratedFunctionRegistry::RegisterAll(registry); | 259 api::ChromeGeneratedFunctionRegistry::RegisterAll(registry); |
| 263 } | 260 } |
| 264 | 261 |
| 265 void ChromeExtensionsBrowserClient::RegisterMojoServices( | 262 void ChromeExtensionsBrowserClient::RegisterMojoServices( |
| 266 content::RenderFrameHost* render_frame_host, | 263 content::RenderFrameHost* render_frame_host, |
| 267 const Extension* extension) const { | 264 const Extension* extension) const { |
| 268 RegisterServicesForFrame(render_frame_host, extension); | 265 RegisterServicesForFrame(render_frame_host, extension); |
| 269 RegisterChromeServicesForFrame(render_frame_host, extension); | 266 RegisterChromeServicesForFrame(render_frame_host, extension); |
| 270 } | 267 } |
| 271 | 268 |
| 272 scoped_ptr<extensions::RuntimeAPIDelegate> | 269 scoped_ptr<RuntimeAPIDelegate> |
| 273 ChromeExtensionsBrowserClient::CreateRuntimeAPIDelegate( | 270 ChromeExtensionsBrowserClient::CreateRuntimeAPIDelegate( |
| 274 content::BrowserContext* context) const { | 271 content::BrowserContext* context) const { |
| 275 return scoped_ptr<extensions::RuntimeAPIDelegate>( | 272 return scoped_ptr<RuntimeAPIDelegate>(new ChromeRuntimeAPIDelegate(context)); |
| 276 new ChromeRuntimeAPIDelegate(context)); | |
| 277 } | 273 } |
| 278 | 274 |
| 279 const ComponentExtensionResourceManager* | 275 const ComponentExtensionResourceManager* |
| 280 ChromeExtensionsBrowserClient::GetComponentExtensionResourceManager() { | 276 ChromeExtensionsBrowserClient::GetComponentExtensionResourceManager() { |
| 281 return resource_manager_.get(); | 277 return resource_manager_.get(); |
| 282 } | 278 } |
| 283 | 279 |
| 284 void ChromeExtensionsBrowserClient::BroadcastEventToRenderers( | 280 void ChromeExtensionsBrowserClient::BroadcastEventToRenderers( |
| 285 events::HistogramValue histogram_value, | 281 events::HistogramValue histogram_value, |
| 286 const std::string& event_name, | 282 const std::string& event_name, |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 | 321 |
| 326 ExtensionWebContentsObserver* | 322 ExtensionWebContentsObserver* |
| 327 ChromeExtensionsBrowserClient::GetExtensionWebContentsObserver( | 323 ChromeExtensionsBrowserClient::GetExtensionWebContentsObserver( |
| 328 content::WebContents* web_contents) { | 324 content::WebContents* web_contents) { |
| 329 return ChromeExtensionWebContentsObserver::FromWebContents(web_contents); | 325 return ChromeExtensionWebContentsObserver::FromWebContents(web_contents); |
| 330 } | 326 } |
| 331 | 327 |
| 332 void ChromeExtensionsBrowserClient::ReportError( | 328 void ChromeExtensionsBrowserClient::ReportError( |
| 333 content::BrowserContext* context, | 329 content::BrowserContext* context, |
| 334 scoped_ptr<ExtensionError> error) { | 330 scoped_ptr<ExtensionError> error) { |
| 335 extensions::ErrorConsole::Get(context)->ReportError(error.Pass()); | 331 ErrorConsole::Get(context)->ReportError(error.Pass()); |
| 336 } | 332 } |
| 337 | 333 |
| 338 void ChromeExtensionsBrowserClient::CleanUpWebView(int embedder_process_id, | 334 void ChromeExtensionsBrowserClient::CleanUpWebView(int embedder_process_id, |
| 339 int view_instance_id) { | 335 int view_instance_id) { |
| 340 content::BrowserContext* browser_context = | 336 content::BrowserContext* browser_context = |
| 341 content::RenderProcessHost::FromID(embedder_process_id) | 337 content::RenderProcessHost::FromID(embedder_process_id) |
| 342 ->GetBrowserContext(); | 338 ->GetBrowserContext(); |
| 343 | 339 |
| 344 // Clean up context menus for the WebView. | 340 // Clean up context menus for the WebView. |
| 345 auto menu_manager = | 341 auto menu_manager = |
| 346 MenuManager::Get(Profile::FromBrowserContext(browser_context)); | 342 MenuManager::Get(Profile::FromBrowserContext(browser_context)); |
| 347 menu_manager->RemoveAllContextItems( | 343 menu_manager->RemoveAllContextItems( |
| 348 MenuItem::ExtensionKey("", embedder_process_id, view_instance_id)); | 344 MenuItem::ExtensionKey("", embedder_process_id, view_instance_id)); |
| 349 } | 345 } |
| 350 | 346 |
| 351 } // namespace extensions | 347 } // namespace extensions |
| OLD | NEW |