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

Unified Diff: content/common/utility_messages.h

Issue 8318028: Gracefully handle child process death in out-of-process plugin loading. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase, use sync messages. Created 9 years, 2 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
Index: content/common/utility_messages.h
diff --git a/content/common/utility_messages.h b/content/common/utility_messages.h
index 6b54221c3bc5a390e6816522c01d35de3323e20b..714184c977587efad9e3906ef185792bbdf3e174 100644
--- a/content/common/utility_messages.h
+++ b/content/common/utility_messages.h
@@ -40,12 +40,10 @@ IPC_MESSAGE_CONTROL0(UtilityMsg_BatchMode_Started)
IPC_MESSAGE_CONTROL0(UtilityMsg_BatchMode_Finished)
#if defined(OS_POSIX)
-// Tells the utility process to load the plugins from disk and send a list of
-// WebPluginInfo objects back.
-IPC_MESSAGE_CONTROL3(UtilityMsg_LoadPlugins,
- std::vector<FilePath>, /* extra plugin paths */
- std::vector<FilePath>, /* extra plugin dirs */
- std::vector<webkit::WebPluginInfo> /* internal plugins */)
+// Tells the utility process to load each plugin in the order specified by the
+// vector. It will respond after each load with the WebPluginInfo.
+IPC_MESSAGE_CONTROL1(UtilityMsg_LoadPlugins,
+ std::vector<FilePath> /* plugin paths */)
#endif
//------------------------------------------------------------------------------
@@ -69,8 +67,15 @@ IPC_MESSAGE_CONTROL1(UtilityHostMsg_InjectIDBKey_Finished,
SerializedScriptValue /* new value */)
#if defined(OS_POSIX)
-// After loading plugins from disk and querying each for MIME information, this
-// sends the resulting WebPluginInfo back to the browser process.
-IPC_MESSAGE_CONTROL1(UtilityHostMsg_LoadedPlugins,
- std::vector<webkit::WebPluginInfo> /* plugin infos */)
+// Notifies the browser when a plugin failed to load so the two processes can
+// keep the canonical list in sync.
+IPC_SYNC_MESSAGE_CONTROL2_0(UtilityHostMsg_LoadPluginFailed,
+ size_t, /* index in vector */
+ FilePath /* path of plugin */)
+
+// Notifies the browser that a plugin in the vector sent by it has been loaded.
+// The index is a synchronization check between the two processes.
+IPC_SYNC_MESSAGE_CONTROL2_0(UtilityHostMsg_LoadedPlugin,
+ size_t, /* index in vector */
+ webkit::WebPluginInfo /* plugin info */)
#endif // OS_POSIX

Powered by Google App Engine
This is Rietveld 408576698