summaryrefslogtreecommitdiffstats
path: root/chrome/browser/utility_process_host.cc
diff options
context:
space:
mode:
authormirandac@chromium.org <mirandac@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-18 23:02:54 +0000
committermirandac@chromium.org <mirandac@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-18 23:02:54 +0000
commitea0c98cfa2849f95bf40238c9f476c9cebb22244 (patch)
treeec81fe0c664cb6c0adddbd5d392313e8fbb93ec5 /chrome/browser/utility_process_host.cc
parent1f70f0ca51d1c61d3a775507b2b69dcdf60e77df (diff)
downloadchromium_src-ea0c98cfa2849f95bf40238c9f476c9cebb22244.zip
chromium_src-ea0c98cfa2849f95bf40238c9f476c9cebb22244.tar.gz
chromium_src-ea0c98cfa2849f95bf40238c9f476c9cebb22244.tar.bz2
First draft of web resource service; fetches data from a JSON feed
and stores it in user prefs, where it can be used by the new tab page. BUG = http://crbug.com/13363 Review URL: http://codereview.chromium.org/125052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18766 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/utility_process_host.cc')
-rw-r--r--chrome/browser/utility_process_host.cc17
1 files changed, 16 insertions, 1 deletions
diff --git a/chrome/browser/utility_process_host.cc b/chrome/browser/utility_process_host.cc
index 5dad2c5..e515eeb 100644
--- a/chrome/browser/utility_process_host.cc
+++ b/chrome/browser/utility_process_host.cc
@@ -37,6 +37,14 @@ bool UtilityProcessHost::StartExtensionUnpacker(const FilePath& extension) {
return true;
}
+bool UtilityProcessHost::StartWebResourceUnpacker(const std::string& data) {
+ if (!StartProcess(FilePath()))
+ return false;
+
+ Send(new UtilityMsg_UnpackWebResource(data));
+ return true;
+}
+
bool UtilityProcessHost::StartProcess(const FilePath& exposed_dir) {
if (!CreateChannel())
return false;
@@ -56,7 +64,10 @@ bool UtilityProcessHost::StartProcess(const FilePath& exposed_dir) {
base::ProcessHandle process;
#if defined(OS_WIN)
- process = sandbox::StartProcessWithAccess(&cmd_line, exposed_dir);
+ if (exposed_dir.empty())
+ process = sandbox::StartProcess(&cmd_line);
+ else
+ process = sandbox::StartProcessWithAccess(&cmd_line, exposed_dir);
#else
// TODO(port): sandbox
base::LaunchApp(cmd_line, false, false, &process);
@@ -89,5 +100,9 @@ void UtilityProcessHost::Client::OnMessageReceived(
Client::OnUnpackExtensionSucceeded)
IPC_MESSAGE_HANDLER(UtilityHostMsg_UnpackExtension_Failed,
Client::OnUnpackExtensionFailed)
+ IPC_MESSAGE_HANDLER(UtilityHostMsg_UnpackWebResource_Succeeded,
+ Client::OnUnpackWebResourceSucceeded)
+ IPC_MESSAGE_HANDLER(UtilityHostMsg_UnpackWebResource_Failed,
+ Client::OnUnpackWebResourceFailed)
IPC_END_MESSAGE_MAP_EX()
}