| Index: chrome/browser/renderer_host/browser_render_process_host.cc
|
| ===================================================================
|
| --- chrome/browser/renderer_host/browser_render_process_host.cc (revision 25203)
|
| +++ chrome/browser/renderer_host/browser_render_process_host.cc (working copy)
|
| @@ -349,6 +349,25 @@
|
| }
|
| }
|
|
|
| + // Tell the renderer to enable extensions if there are any extensions loaded.
|
| + //
|
| + // NOTE: This is subtly different than just passing along whether
|
| + // --enable-extenisons is present in the browser process. For example, there
|
| + // is also an extensions.enabled preference, and there may be various special
|
| + // cases about whether to allow extensions to load.
|
| + //
|
| + // This introduces a race condition where the first renderer never gets
|
| + // extensions enabled, so we also set the flag if extensions_enabled(). This
|
| + // isn't perfect though, because of the special cases above.
|
| + //
|
| + // TODO(aa): We need to get rid of the need to pass this flag at all. It is
|
| + // only used in one place in the renderer.
|
| + if (profile()->GetExtensionsService()) {
|
| + if (profile()->GetExtensionsService()->extensions()->size() > 0 ||
|
| + profile()->GetExtensionsService()->extensions_enabled())
|
| + cmd_line.AppendSwitch(switches::kEnableExtensions);
|
| + }
|
| +
|
| // Pass on the browser locale.
|
| const std::string locale = g_browser_process->GetApplicationLocale();
|
| cmd_line.AppendSwitchWithValue(switches::kLang, ASCIIToWide(locale));
|
|
|