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

Unified Diff: chrome/browser/renderer_host/browser_render_process_host.cc

Issue 6242010: Refactor away most of ExtensionRendererInfo (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address comments Created 9 years, 11 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 | « chrome/browser/extensions/user_script_master.cc ('k') | chrome/common/extensions/extension.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/renderer_host/browser_render_process_host.cc
diff --git a/chrome/browser/renderer_host/browser_render_process_host.cc b/chrome/browser/renderer_host/browser_render_process_host.cc
index 3ebcacf0583214d24a588a7cfb911cb3d5228057..668d151138560a3a91393fee995dc2264caf2abf 100644
--- a/chrome/browser/renderer_host/browser_render_process_host.cc
+++ b/chrome/browser/renderer_host/browser_render_process_host.cc
@@ -635,104 +635,106 @@ void BrowserRenderProcessHost::PropagateBrowserCommandLineToRenderer(
// Propagate the following switches to the renderer command line (along
// with any associated values) if present in the browser command line.
static const char* const kSwitchNames[] = {
- switches::kRendererAssertTest,
-#if !defined(OFFICIAL_BUILD)
- switches::kRendererCheckFalseTest,
-#endif // !defined(OFFICIAL_BUILD)
- switches::kRendererCrashTest,
- switches::kRendererStartupDialog,
- switches::kNoSandbox,
- switches::kTestSandbox,
- switches::kDisableSeccompSandbox,
- switches::kEnableSeccompSandbox,
-#if !defined (GOOGLE_CHROME_BUILD)
- // These are unsupported and not fully tested modes, so don't enable them
- // for official Google Chrome builds.
- switches::kInProcessPlugins,
-#endif // GOOGLE_CHROME_BUILD
+ switches::kAllowOutdatedPlugins,
switches::kAllowScriptingGallery,
- switches::kDomAutomationController,
- switches::kUserAgent,
- switches::kNoReferrers,
- switches::kJavaScriptFlags,
- switches::kRecordMode,
- switches::kPlaybackMode,
- switches::kNoJsRandomness,
- switches::kDisableBreakpad,
- switches::kFullMemoryCrashReport,
- switches::kV,
- switches::kVModule,
- switches::kEnableLogging,
- switches::kDumpHistogramsOnExit,
- switches::kDisableLogging,
- switches::kLoggingLevel,
+ switches::kAppsGalleryURL,
+ // We propagate the Chrome Frame command line here as well in case the
+ // renderer is not run in the sandbox.
+ switches::kChromeFrame,
switches::kDebugPrint,
- switches::kMemoryProfiling,
- switches::kEnableWatchdog,
- switches::kMessageLoopHistogrammer,
- switches::kEnableDCHECK,
- switches::kSilentDumpOnDCHECK,
- switches::kUseLowFragHeapCrt,
- switches::kEnableSearchProviderApiV2,
- switches::kEnableStatsTable,
- switches::kExperimentalSpellcheckerFeatures,
+ switches::kDisable3DAPIs,
+ switches::kDisableAcceleratedCompositing,
+ switches::kDisableApplicationCache,
switches::kDisableAudio,
- switches::kSimpleDataSource,
- switches::kEnableBenchmarking,
- switches::kEnableNaCl,
- switches::kInternalNaCl,
- switches::kInternalPepper,
- switches::kRegisterPepperPlugins,
+ switches::kDisableBreakpad,
switches::kDisableDatabases,
switches::kDisableDesktopNotifications,
- switches::kDisableWebSockets,
- switches::kDisableLocalStorage,
- switches::kDisableSessionStorage,
- switches::kDisableSharedWorkers,
- switches::kDisableApplicationCache,
switches::kDisableDeviceOrientation,
- switches::kDisableIndexedDatabase,
- switches::kDisableSpeechInput,
- switches::kDisableGeolocation,
- switches::kShowPaintRects,
- switches::kEnableOpenMax,
- switches::kVideoThreads,
- switches::kEnableVideoFullscreen,
- switches::kEnableVideoLogging,
- switches::kEnableTouch,
- // We propagate the Chrome Frame command line here as well in case the
- // renderer is not run in the sandbox.
- switches::kChromeFrame,
// We need to propagate this flag to determine whether to make the
// WebGLArray constructors on the DOMWindow visible. This
// information is needed very early during bringup. We prefer to
// use the WebPreferences to set this flag on a page-by-page basis.
switches::kDisableExperimentalWebGL,
+ switches::kDisableFileSystem,
+ switches::kDisableGeolocation,
switches::kDisableGLSLTranslator,
- switches::kInProcessWebGL,
- // This flag needs to be propagated to the renderer process for
- // --in-process-webgl.
- switches::kUseGL,
- switches::kDisableAcceleratedCompositing,
+ switches::kDisableIndexedDatabase,
+ switches::kDisableLocalStorage,
+ switches::kDisableLogging,
+ switches::kDisableSeccompSandbox,
+ switches::kDisableSessionStorage,
+ switches::kDisableSharedWorkers,
+ switches::kDisableSpeechInput,
+ switches::kDisableWebSockets,
+ switches::kDomAutomationController,
+ switches::kDumpHistogramsOnExit,
+ switches::kEnableAcceleratedDecoding,
+ switches::kEnableBenchmarking,
+ switches::kEnableClickToPlay,
+ switches::kEnableCrxlessWebApps,
+ switches::kEnableDCHECK,
+ switches::kEnableExperimentalExtensionApis,
+ switches::kEnableInBrowserThumbnailing,
+ switches::kEnableLogging,
+ switches::kEnableNaCl,
+ switches::kEnableOpenMax,
+ switches::kEnablePepperTesting,
+ switches::kEnablePrintPreview,
+ switches::kEnableRemoting,
+ switches::kEnableResourceContentSettings,
#if defined(OS_MACOSX)
// Allow this to be set when invoking the browser and relayed along.
switches::kEnableSandboxLogging,
#endif
- switches::kRemoteShellPort,
- switches::kEnablePepperTesting,
- switches::kAllowOutdatedPlugins,
+ switches::kEnableSearchProviderApiV2,
+ switches::kEnableSeccompSandbox,
+ switches::kEnableStatsTable,
+ switches::kEnableTouch,
+ switches::kEnableVideoFullscreen,
+ switches::kEnableVideoLogging,
+ switches::kEnableWatchdog,
+ switches::kEnableWebAudio,
+ switches::kExperimentalSpellcheckerFeatures,
+ switches::kFullMemoryCrashReport,
+#if !defined (GOOGLE_CHROME_BUILD)
+ // These are unsupported and not fully tested modes, so don't enable them
+ // for official Google Chrome builds.
+ switches::kInProcessPlugins,
+#endif // GOOGLE_CHROME_BUILD
+ switches::kInProcessWebGL,
+ switches::kInternalNaCl,
+ switches::kInternalPepper,
+ switches::kJavaScriptFlags,
+ switches::kLoggingLevel,
+ switches::kMemoryProfiling,
+ switches::kMessageLoopHistogrammer,
switches::kNewChromeUISecurityModel,
- switches::kEnableRemoting,
- switches::kEnableClickToPlay,
- switches::kEnableResourceContentSettings,
- switches::kEnableAcceleratedDecoding,
- switches::kDisableFileSystem,
+ switches::kNoJsRandomness,
+ switches::kNoReferrers,
+ switches::kNoSandbox,
+ switches::kPlaybackMode,
switches::kPpapiOutOfProcess,
- switches::kEnablePrintPreview,
- switches::kEnableCrxlessWebApps,
- switches::kDisable3DAPIs,
- switches::kEnableInBrowserThumbnailing,
- switches::kEnableWebAudio,
+ switches::kRecordMode,
+ switches::kRegisterPepperPlugins,
+ switches::kRemoteShellPort,
+ switches::kRendererAssertTest,
+#if !defined(OFFICIAL_BUILD)
+ switches::kRendererCheckFalseTest,
+#endif // !defined(OFFICIAL_BUILD)
+ switches::kRendererCrashTest,
+ switches::kRendererStartupDialog,
+ switches::kShowPaintRects,
+ switches::kSilentDumpOnDCHECK,
+ switches::kSimpleDataSource,
+ switches::kTestSandbox,
+ // This flag needs to be propagated to the renderer process for
+ // --in-process-webgl.
+ switches::kUseGL,
+ switches::kUseLowFragHeapCrt,
+ switches::kUserAgent,
+ switches::kV,
+ switches::kVideoThreads,
+ switches::kVModule,
};
renderer_cmd->CopySwitchesFrom(browser_cmd, kSwitchNames,
arraysize(kSwitchNames));
@@ -828,27 +830,11 @@ void BrowserRenderProcessHost::SendExtensionInfo() {
ExtensionService* service = profile()->GetExtensionService();
if (!service)
return;
- ViewMsg_ExtensionsUpdated_Params params;
+
for (size_t i = 0; i < service->extensions()->size(); ++i) {
- const Extension* extension = service->extensions()->at(i);
- ViewMsg_ExtensionRendererInfo info;
- info.id = extension->id();
- info.web_extent = extension->web_extent();
- info.name = extension->name();
- info.location = extension->location();
- info.allowed_to_execute_script_everywhere =
- extension->CanExecuteScriptEverywhere();
- info.host_permissions = extension->host_permissions();
-
- // The icon in the page is 96px. We'd rather not scale up, so use 128.
- info.icon_url = extension->GetIconURL(Extension::EXTENSION_ICON_LARGE,
- ExtensionIconSet::MATCH_EXACTLY);
- if (info.icon_url.is_empty())
- info.icon_url = GURL("chrome://theme/IDR_APP_DEFAULT_ICON");
- params.extensions.push_back(info);
+ Send(new ViewMsg_ExtensionLoaded(
+ ViewMsg_ExtensionLoaded_Params(service->extensions()->at(i))));
}
-
- Send(new ViewMsg_ExtensionsUpdated(params));
}
bool BrowserRenderProcessHost::FastShutdownIfPossible() {
@@ -1126,9 +1112,15 @@ void BrowserRenderProcessHost::Observe(NotificationType type,
}
break;
}
- case NotificationType::EXTENSION_LOADED:
+ case NotificationType::EXTENSION_LOADED: {
+ Send(new ViewMsg_ExtensionLoaded(
+ ViewMsg_ExtensionLoaded_Params(
+ Details<const Extension>(details).ptr())));
+ break;
+ }
case NotificationType::EXTENSION_UNLOADED: {
- SendExtensionInfo();
+ Send(new ViewMsg_ExtensionUnloaded(
+ Details<UnloadedExtensionInfo>(details).ptr()->extension->id()));
break;
}
case NotificationType::SPELLCHECK_HOST_REINITIALIZED: {
« no previous file with comments | « chrome/browser/extensions/user_script_master.cc ('k') | chrome/common/extensions/extension.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698