summaryrefslogtreecommitdiffstats
path: root/chrome/browser/utility_process_host.h
diff options
context:
space:
mode:
authorasargent@chromium.org <asargent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-20 16:18:21 +0000
committerasargent@chromium.org <asargent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-20 16:18:21 +0000
commitdbb92e0d55eede17bf2ada8370650d39834e6060 (patch)
tree941532e52eceab1115b60556960abde35f786368 /chrome/browser/utility_process_host.h
parente667f718463a78b7d1de5a51e71982211f00f875 (diff)
downloadchromium_src-dbb92e0d55eede17bf2ada8370650d39834e6060.zip
chromium_src-dbb92e0d55eede17bf2ada8370650d39834e6060.tar.gz
chromium_src-dbb92e0d55eede17bf2ada8370650d39834e6060.tar.bz2
Do extensions update manifest XML parsing in a sandboxed process.
This involves moving the xml parsing code from static functions in extension_updater.cc to a UpdateManifest class, and switching from logging any errors directly to collecting them up and passing them across the IPC channel. BUG=http://crbug.com/12677 TEST=extensions auto-update should still work correctly Review URL: http://codereview.chromium.org/164541 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23822 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/utility_process_host.h')
-rw-r--r--chrome/browser/utility_process_host.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/chrome/browser/utility_process_host.h b/chrome/browser/utility_process_host.h
index 329f856..c52c424 100644
--- a/chrome/browser/utility_process_host.h
+++ b/chrome/browser/utility_process_host.h
@@ -11,6 +11,7 @@
#include "base/ref_counted.h"
#include "base/task.h"
#include "chrome/common/child_process_host.h"
+#include "chrome/common/extensions/update_manifest.h"
#include "ipc/ipc_channel.h"
class CommandLine;
@@ -54,6 +55,15 @@ class UtilityProcessHost : public ChildProcessHost {
virtual void OnUnpackWebResourceFailed(
const std::string& error_message) {}
+ // Called when an update manifest xml file was successfully parsed.
+ virtual void OnParseUpdateManifestSucceeded(
+ const UpdateManifest::ResultList& list) {}
+
+ // Called when an update manifest xml file failed parsing. |error_message|
+ // contains details suitable for logging.
+ virtual void OnParseUpdateManifestFailed(
+ const std::string& error_message) {}
+
private:
friend class UtilityProcessHost;
void OnMessageReceived(const IPC::Message& message);
@@ -79,6 +89,9 @@ class UtilityProcessHost : public ChildProcessHost {
// web resource server format(s).
bool StartWebResourceUnpacker(const std::string& data);
+ // Start parsing an extensions auto-update manifest xml file.
+ bool StartUpdateManifestParse(const std::string& xml);
+
protected:
// Allow these methods to be overridden for tests.
virtual std::wstring GetUtilityProcessCmd();