summaryrefslogtreecommitdiffstats
path: root/chrome/browser/utility_process_host.cc
Commit message (Collapse)AuthorAgeFilesLines
* Launch all child processes asynchronously so as not to block the IO thread.jam@chromium.org2009-11-211-54/+25
| | | | | | | BUG=6844, 27935 Review URL: http://codereview.chromium.org/402097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32750 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the utility process unit tests to simplify the utility process code a ↵jam@chromium.org2009-11-191-4/+1
| | | | | | | | little (helpeful to make it use ChildProcessLauncher). Note that the test isn't needed anymore as a unit test because since it was written, there have been a couple of tests that exercise this code path through browser_tests. They use sandboxed utility processes so it's more equivalent to what the user experiences. Review URL: http://codereview.chromium.org/402074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32446 0039d316-1c4b-4281-b951-d872f2087c98
* TBR: mark@chromium.orgjeremy@chromium.org2009-11-051-3/+6
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31091 0039d316-1c4b-4281-b951-d872f2087c98
* TBR:markjeremy@chromium.org2009-11-051-6/+3
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31090 0039d316-1c4b-4281-b951-d872f2087c98
* Sandbox Worker process on the Mac.jeremy@chromium.org2009-11-051-3/+6
| | | | | | | | | | | | | | * Add plumbing to allow multiple Sandbox profiles on OS X. * Separate sandbox_init_wrapper into platform specific files. * Sandbox Worker process & add plumbing to Sandbox utility process when we bring that up. * Remove mention of stale bugs in utility process on Mac. BUG=23582 TEST=Worker process should work. Review URL: http://codereview.chromium.org/341033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31089 0039d316-1c4b-4281-b951-d872f2087c98
* Continue to remove CHROME_FRAME_BUILD define from code that goes into ↵robertshield@chromium.org2009-11-041-1/+5
| | | | | | | | | | | | | | | | | | | | | chrome.dll. This reworks the browser distribution code to use the ChromeFrameBrowserDistribution iff --chrome-frame is present on the command line. Also, * At startup, chrome.exe now uses the BrowserDistribution code to determine where the Chromium version key resides (instead of hard coding it). * The installer now propagates the presence of --verbose-logging to uninstalls. * The chrome_launcher now allows the --chrome-frame switch through to chrome. * The installer now accepts a --chrome-frame switch. * Remove almost all occurences of the CHROME_FRAME_BUILD define from the installer. BUG=26012, 26603 TEST=Chrome Frame still builds and runs correctly. Chrome Frame builds built without 'branding'='Chrome' now install correctly. Review URL: http://codereview.chromium.org/345021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31015 0039d316-1c4b-4281-b951-d872f2087c98
* Get rid of MessageLoop* caching in extensions code.jam@chromium.org2009-10-301-4/+6
| | | | | | | BUG=25354 Review URL: http://codereview.chromium.org/345023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30550 0039d316-1c4b-4281-b951-d872f2087c98
* Fix bug where many extensions don't install due to sandbox.aa@chromium.org2009-10-271-0/+6
| | | | | | | | | | | | | | FWIW, I tracked down why our tests didn't find this. We do have coverage for the code path that was getting executed, but the sandbox is disabled in our browser tests, so it did not expose this issue. BUG=25865 TEST=Install any extension that has a content script or icons (test/data/extensions/good.crx is one example). Go to chrome://extensions/. You should see the extension successfully installed. Review URL: http://codereview.chromium.org/337041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30282 0039d316-1c4b-4281-b951-d872f2087c98
* Use FilePath in ChildProcessHost.evan@chromium.org2009-10-131-2/+2
| | | | | | | | | BUG=24672 TEST=still compiles Review URL: http://codereview.chromium.org/270077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28909 0039d316-1c4b-4281-b951-d872f2087c98
* Do not use the utility process on linux.asargent@chromium.org2009-10-051-0/+7
| | | | | | | | | | | We don't currently use the zygote to spawn the utility process, so after browser updates bad bugs can occur with mismatched subprocesses. See crbug.com/23327 and crbug.com/22703. BUG=23327 TEST=Extensions installation/autoupdate and New Tab Page tip download should still work. Review URL: http://codereview.chromium.org/256036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27997 0039d316-1c4b-4281-b951-d872f2087c98
* Do extensions update manifest XML parsing in a sandboxed process.asargent@chromium.org2009-08-201-0/+12
| | | | | | | | | | | | | | | | 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
* Change breakpads on the helper processes to keep our rimZ clean.mark@chromium.org2009-08-151-0/+1
| | | | | | | | | | | | | | | | | | | | | Initialize crash reporting in helper processes such as the renderer process. Renderer crash reporting stopped working in r23006 when multiple .app bundles were introduced, because the stats collection and crash reporting preference is presently accessed via NSUserDefaults, keyed on the bundle ID. The main browser process and helper processes have distinct bundle IDs. In the new scheme, only the main browser process consults this preference, and passes it to helper processes in their command lines. BUG=19204 TEST=When reporting is enabled, Breakpad should pick up browser and renderer process crashes; When reporting is enabled, renderer should not log messages like [mmdd/hhmmss:WARNING:/path/to/breakpad_mac.mm(47)] Breakpad disabled; When reporting is disabled, browser and renderer should both log these messages. Review URL: http://codereview.chromium.org/165546 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23509 0039d316-1c4b-4281-b951-d872f2087c98
* Re-commit r22981 after backout at r22992. Contains fixes to relocatemark@chromium.org2009-08-111-6/+1
| | | | | | | | | | | | | | | | plugin_carbon_interpose.dylib from the outer browser app bundle to the inner helper app bundle. Provide a separate app bundle for subprocesses like the renderer on the Mac. Remove LSUIElement and related hacks from the browser's app bundle. BUG=8044 TEST=Observe one Chromium and one or more Chromium Helper processes in Activity Monitor Review URL: http://codereview.chromium.org/164177 Review URL: http://codereview.chromium.org/164303 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23006 0039d316-1c4b-4281-b951-d872f2087c98
* Back out r22981, it may have caused Windows test failures.mark@chromium.org2009-08-111-1/+6
| | | | | | Review URL: http://codereview.chromium.org/164298 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22992 0039d316-1c4b-4281-b951-d872f2087c98
* Provide a separate app bundle for subprocesses like the renderer on the Mac.mark@chromium.org2009-08-111-6/+1
| | | | | | | | | | | Remove LSUIElement and related hacks from the browser's app bundle. BUG=8044 TEST=Observe one Chromium and one or more Chromium Helper processes in Activity Monitor Review URL: http://codereview.chromium.org/164177 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22981 0039d316-1c4b-4281-b951-d872f2087c98
* Fix liner errors due to duplicate symbols in the switches. These switchesbrettw@chromium.org2009-07-231-0/+1
| | | | | | | were moved to IPC, but the source ones in chrome/common were kept. Review URL: http://codereview.chromium.org/160014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21389 0039d316-1c4b-4281-b951-d872f2087c98
* Split the IPC code into ipc/agl@chromium.org2009-07-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This splits the ipc code from the common project. The 'common' project pulls in all of webkit, the v8 bindings, skia, googleurl, and a number of other projects which makes it very difficult to deal with especially for external projects wanting just to use some of Chromium's infrastructure. This puts the ipc code into its top-level ipc/ directory with a dependency only on base. The common project depends on the new ipc/ipc.gyp:ipc target so that all projects currently pulling common in to get the IPC code still have it available. This mostly follows agl's pre-gyp attempt to do this which was r13062. Known issues: - Currently a number of projects depend on chrome/chrome.gyp:common in order to use the IPC infrastructure. Rather than fixing all of these dependencies I have made common depend on ipc/ipc.gyp:ipc and added "ipc" to the include_rules section of DEPS so that checkdeps.py doesn't complain. Over time projects that need IPC should depend on the IPC project themselves and dependencies on common removed, although I don't think many projects that need IPC will be able to get away without common currently. - ipc/ipc_message_macros.h still has #include "chrome/common/..." inside of a ipc/ should not refer to files in chrome/... now. I'm not sure how to resolve this since it's really an IDE bug - the named pipe name (windows+linux) and the logging event name (all) + env variable (posix) refer explicitly to 'Chrome' which somewhat hurts the illusion of ipc/ being an independent library. I think this should be examined in a subsequent, much smaller patch. - I've eliminated the IPC.SendMsgCount counter since it was implemented in a way to create a dependency from ipc/ to chrome/common/chrome_counters. This is the same approach that r13062 took. http://codereview.chromium.org/155905 (Patch from James Robinson) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21342 0039d316-1c4b-4281-b951-d872f2087c98
* Fix minor naming issue (see http://codereview.chromium.org/149255).mirandac@chromium.org2009-07-131-1/+1
| | | | | | Review URL: http://codereview.chromium.org/155435 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20508 0039d316-1c4b-4281-b951-d872f2087c98
* Turn backend tip service on by default.mirandac@chromium.org2009-07-121-0/+5
| | | | | | | | | | BUG= none. TEST= New NTP should come up with a default title in Tips and Suggestions box, then be loaded with actual data from popgadget. Review URL: http://codereview.chromium.org/149255 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20466 0039d316-1c4b-4281-b951-d872f2087c98
* plugins: use OnChannelError to detect when the channel goes awayevan@chromium.org2009-07-101-0/+1
| | | | | | | | | | | | | | | Previously we used a special Watcher object to watch the process, but that is not portable to POSIX and this is simpler anyway. With this change, I now see ~PluginProcessHost() running when a plugin crashes. If you recall all the way back to http://codereview.chromium.org/16814 we did a similar thing to the renderer host. Review URL: http://codereview.chromium.org/155331 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20414 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "plugins: use OnChannelError to detect when the channel goes away"evan@chromium.org2009-07-101-1/+0
| | | | | | | This reverts commit r20349. Unit test failure. I suspect the test, but let's keep the tree green. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20354 0039d316-1c4b-4281-b951-d872f2087c98
* plugins: use OnChannelError to detect when the channel goes awayevan@chromium.org2009-07-101-0/+1
| | | | | | | | | | | | | | | Previously we used a special Watcher object to watch the process, but that is not portable to POSIX and this is simpler anyway. With this change, I now see ~PluginProcessHost() running when a plugin crashes. If you recall all the way back to http://codereview.chromium.org/16814 we did a similar thing to the renderer host. Review URL: http://codereview.chromium.org/155331 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20349 0039d316-1c4b-4281-b951-d872f2087c98
* Fix extension unpacking on linux/mactc@google.com2009-06-241-8/+43
| | | | | | | | | Add a unittest that pretends to be the UtilityProcessHost and launches a chrome utility process for unpacking a theme. Review URL: http://codereview.chromium.org/147001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19181 0039d316-1c4b-4281-b951-d872f2087c98
* First draft of web resource service; fetches data from a JSON feed mirandac@chromium.org2009-06-181-1/+16
| | | | | | | | | | 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
* Disable extensions in incognito mode.mpcomplete@google.com2009-06-111-3/+6
| | | | | | | | | | | Add a browsertest to make sure we don't crash with an incognito window open. Had to finagle utility_process_host to make it work in a browsertest. BUG=12326 TEST=none Review URL: http://codereview.chromium.org/118476 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18116 0039d316-1c4b-4281-b951-d872f2087c98
* ipc: use strings, not wstrings for channel ids.evan@chromium.org2009-06-041-1/+2
| | | | | | | | | | They're ASCII anyway. TEST=covered by existing tests Review URL: http://codereview.chromium.org/119131 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17682 0039d316-1c4b-4281-b951-d872f2087c98
* Have the browser process rewrite manifest.json and theme/page action imagesmpcomplete@google.com2009-05-221-2/+4
| | | | | | | | | that the extension unpacker process parsed. BUG=11680 Review URL: http://codereview.chromium.org/115595 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16768 0039d316-1c4b-4281-b951-d872f2087c98
* Introducing the Utility process, which handles the unpacking and verificationmpcomplete@google.com2009-05-151-0/+87
of extension packages. This is a first pass. In the second pass, I will add support for transcoding the manifest and any images in the browser process. BUG=11680 Review URL: http://codereview.chromium.org/114027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16198 0039d316-1c4b-4281-b951-d872f2087c98