summaryrefslogtreecommitdiffstats
path: root/chrome/browser/utility_process_host.cc
Commit message (Collapse)AuthorAgeFilesLines
* Revert 63067 - This adds some plumbing for propagating the status and error ↵gspencer@chromium.org2010-10-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | code of a renderer process that went away so that we can tell at the UI level what happened to the tab: did it crash, or was it killed by the OOM killer (or some other reason). This is in preparation for implementing a new UI for when a process is killed by the OOM on ChromeOS which handles it differently from a crash. Most of the changes are modifications of the argument list to include a status and error code for the exited process, but in addition the following was done: - Changed the name of DidProcessCrash to GetTerminationStatus. - Added some new enum values to TerminationStatus enum (and named it) in process_util.h, so it can be used as the status returned by WhatHappenedToProcess. - Improved process_util_unittest to actually test for crashing and terminated processes on all platforms. - Added a new notification for renderers that were killed. - Added error code information to crash notification. - Added status and error code information to renderer IPC message for RenderViewGone. - Added a UMA histogram count for number of renderer kills. [This change was previously reviewed and LGTM'd: http://codereview.chromium.org/3386014/show but due to issues with "git cl push" was never committed to the tree.] BUG=none TEST=ran new unit test. Test passes on try servers. Review URL: http://codereview.chromium.org/3869001 TBR=gspencer@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63074 0039d316-1c4b-4281-b951-d872f2087c98
* This adds some plumbing for propagating the status and error code of agspencer@chromium.org2010-10-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | renderer process that went away so that we can tell at the UI level what happened to the tab: did it crash, or was it killed by the OOM killer (or some other reason). This is in preparation for implementing a new UI for when a process is killed by the OOM on ChromeOS which handles it differently from a crash. Most of the changes are modifications of the argument list to include a status and error code for the exited process, but in addition the following was done: - Changed the name of DidProcessCrash to GetTerminationStatus. - Added some new enum values to TerminationStatus enum (and named it) in process_util.h, so it can be used as the status returned by WhatHappenedToProcess. - Improved process_util_unittest to actually test for crashing and terminated processes on all platforms. - Added a new notification for renderers that were killed. - Added error code information to crash notification. - Added status and error code information to renderer IPC message for RenderViewGone. - Added a UMA histogram count for number of renderer kills. [This change was previously reviewed and LGTM'd: http://codereview.chromium.org/3386014/show but due to issues with "git cl push" was never committed to the tree.] BUG=none TEST=ran new unit test. Test passes on try servers. Review URL: http://codereview.chromium.org/3869001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63067 0039d316-1c4b-4281-b951-d872f2087c98
* Rename ChromeThread to BrowserThread Part16:tfarina@chromium.org2010-10-111-3/+3
| | | | | | | | | | | - Rename entries starting from shell_integration.cc. More 30 files covered. BUG=56926 TEST=trybots Review URL: http://codereview.chromium.org/3708001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62136 0039d316-1c4b-4281-b951-d872f2087c98
* Implement new strategy for default apps. Instead of usingaa@chromium.org2010-10-091-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the component extension system, simply install them as normal apps the first time Chrome runs. Remove the old style default apps. This also removes support for --disable-apps, which doesn't seem necessary since we already have --disable-extensions. BUG=53972 TEST=Uninstall any installed apps. Remove the "default_apps_installed" and "app_promo_counter" keys from Preferences if they are present. Start Chrome with the --enable-default-apps flag, navigate to chrome://extensions/, and click "update now" in the developer tools. This is to make the updater grab the apps from the store quicker, so that you don't have to wait while testing. Normally Chrome would do this by itself after 5-40 mins. Go to NTP. You should see gmail, calendar, and docs default apps show up along with the promo (the text that says "New! A world of ..."). Refresh the NTP 10 times. The promo should go away on the 10th time. There are other details. To test each of these, remove all installed apps and remove the keys from the preferences to reset the state. * If you close Chrome before getting the default apps. They should still show up the next time Chrome is started (after clicking 'Update now') * Clicking "hide this message" should hide the promo and it shouldn't come back on refresh. * Installing or uninstalling any app should hide the promo, and it shouldn't come back. * If the keys from the preferences are removed, but apps are left installed, the default apps should not be installed when clicking 'update now'. * The default apps should only be installed in locale en-US. Review URL: http://codereview.chromium.org/3522015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62084 0039d316-1c4b-4281-b951-d872f2087c98
* Remove logging for issue 35198.skerner@chromium.org2010-09-241-3/+0
| | | | | | | | | | | Remove switch --issue35198-logging . BUG=56664 TEST=Install an extension on all platforms. Review URL: http://codereview.chromium.org/3427019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60471 0039d316-1c4b-4281-b951-d872f2087c98
* Removes indexed_db_param_traits.h depedencies on WebKit headers.bulach@chromium.org2010-09-091-0/+1
| | | | | | | | | BUG=53317 TEST=No functional change, compiler/linker should be happy. Review URL: http://codereview.chromium.org/3297011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58971 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: A giant cleanup to net/erg@google.com2010-08-311-0/+1
| | | | | | | | | | | | This moves all sorts of code from h files to cc files and reduces header dependencies. BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3212008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58020 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Move individual XXXMsg_Params structs to a new file.erg@google.com2010-08-241-0/+1
| | | | | | | | | | | | | | | | The new file, render_messages_params.h, is included in 57 files, while render_messages.h is included in 176 files. Moving the Params structs to their own file allow pruning the included headers. (Part 2 of this cleanup will be sorting the individual structs into themes to further minimize header inclusion.) BUG=51411 TEST=compiles Review URL: http://codereview.chromium.org/3119035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57229 0039d316-1c4b-4281-b951-d872f2087c98
* Adds IDBKeyPath parser / extractor, and provides a mechanism to call it ↵bulach@chromium.org2010-08-181-1/+33
| | | | | | | | | | sandboxed. TEST=idbkeypathextractor_browsertests.cc Review URL: http://codereview.chromium.org/3043037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56524 0039d316-1c4b-4281-b951-d872f2087c98
* PrependWrapper is platform-specific, so it should take a platform string.evan@chromium.org2010-08-041-1/+1
| | | | | | | | | Though the comments said it was POSIX only, I see it used on Windows as well so I'm updating the comment. Review URL: http://codereview.chromium.org/3030043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54933 0039d316-1c4b-4281-b951-d872f2087c98
* enable apps by defaulterikkay@chromium.org2010-08-021-2/+2
| | | | | | | | | BUG=none TEST=run Chrome with no command line flags, apps should be enabled Review URL: http://codereview.chromium.org/3015043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54624 0039d316-1c4b-4281-b951-d872f2087c98
* Convert a bunch of easy AppendSwitchWithValue to *ASCII.evan@chromium.org2010-07-301-4/+4
| | | | | | | | | For this patch, I skipped over any instance where it wasn't a nearly trivial change. Review URL: http://codereview.chromium.org/3069014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54285 0039d316-1c4b-4281-b951-d872f2087c98
* CommandLine: add a CopySwitchesFrom() and AppendSwitchPath()evan@chromium.org2010-07-291-4/+2
| | | | | | | | | | | These are two common patterns in Chrome code: copying a subset of switches from one CommandLine to another, and appending a FilePath to a CommandLine. This sets me up to do a lot more deprecation in a follow-up change. Review URL: http://codereview.chromium.org/3012021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54218 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove unneeded headers from app/thestig@chromium.org2010-07-291-1/+0
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/2819063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54102 0039d316-1c4b-4281-b951-d872f2087c98
* Moved common parts of ChildProcessHost into chrome/common and created a ↵sanjeevr@chromium.org2010-07-031-1/+1
| | | | | | | | | | | BrowserChildProcessHost with browser-specific implementation. This is in preparation of creating a ServiceChildProcessHost. BUG=None TEST=Test for regressions . Review URL: http://codereview.chromium.org/2885017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51593 0039d316-1c4b-4281-b951-d872f2087c98
* Loosen permission on extension temp dir when a flag is used.skerner@chromium.org2010-07-011-0/+3
| | | | | | | | | | | | | | | | | | | Issue 35198 can not be reproduced locally. To enable users to do experiments, three command line flags are added to chrome: --issue35198-crxdir-browser: Have the browser process create the directory in which the extension will be unzipped. --issue35198-logging: Enable log messages from directory creation in the utility process to be moved to the browser process. --issue35198-permission: Use the most permissive file permissions possible on the extension unpack directory. BUG=35198 TEST=manual Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=51231 Review URL: http://codereview.chromium.org/2802018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51416 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 51231 - Loosen permission on extension temp dir when a flag is used.skerner@chromium.org2010-06-301-3/+0
| | | | | | | | | | | | | | | | | | | | Issue 35198 can not be reproduced locally. To enable users to do experiments, three command line flags are added to chrome: --issue35198-crxdir-browser: Have the browser process create the directory in which the extension will be unzipped. --issue35198-logging: Enable log messages from directory creation in the utility process to be moved to the browser process. --issue35198-permission: Use the most permissive file permissions possible on the extension unpack directory. BUG=35198 TEST=manual Review URL: http://codereview.chromium.org/2802018 TBR=skerner@chromium.org Review URL: http://codereview.chromium.org/2861039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51238 0039d316-1c4b-4281-b951-d872f2087c98
* Loosen permission on extension temp dir when a flag is used.skerner@chromium.org2010-06-301-0/+3
| | | | | | | | | | | | | | | | | Issue 35198 can not be reproduced locally. To enable users to do experiments, three command line flags are added to chrome: --issue35198-crxdir-browser: Have the browser process create the directory in which the extension will be unzipped. --issue35198-logging: Enable log messages from directory creation in the utility process to be moved to the browser process. --issue35198-permission: Use the most permissive file permissions possible on the extension unpack directory. BUG=35198 TEST=manual Review URL: http://codereview.chromium.org/2802018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51231 0039d316-1c4b-4281-b951-d872f2087c98
* Give the extension unpacker process a junction/symlink free path to the ↵skerner@chromium.org2010-06-091-24/+1
| | | | | | | | | | | unpack directory. BUG=35198,13044 TEST=FileUtilTest.NormalizeFilePathBasic,FileUtilTest. NormalizeFilePathReparsePoints,FileUtilTest.NormalizeFilePathSymlinks Review URL: http://codereview.chromium.org/2088006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49337 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land r47079: Shorten several appsrelated flags.aa@chromium.org2010-05-131-2/+2
| | | | | | TBR=rafaelw@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47104 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 47079 - Shorten several appsrelated flags. "256 characters should be ↵aa@chromium.org2010-05-121-2/+2
| | | | | | | | | | | enough for anyone's shortcut flags!" Review URL: http://codereview.chromium.org/1991009 TBR=aa@chromium.org Review URL: http://codereview.chromium.org/2010013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47081 0039d316-1c4b-4281-b951-d872f2087c98
* Shorten several apps-related flags. "256 characters should be enough for ↵aa@chromium.org2010-05-121-2/+2
| | | | | | | | anyone's shortcut flags!" Review URL: http://codereview.chromium.org/1991009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47079 0039d316-1c4b-4281-b951-d872f2087c98
* Use realpath() to find the path to the extension unpack dir on posix systems.skerner@chromium.org2010-05-121-1/+24
| | | | | | | | | | | | | Extensions are unpacked by a sandboxed utility process. The sandbox forbids file access outside the directory the extension will be unpacked in. If the path to that directory contains a symbolic link, then unpacking will fail because following the link will cause file system access outside the sandbox path. Use realpath() to get a symlink free path to the directory where the extension will be unpacked. A similar issue exists on windows, with junctions instead of symlinks. This will be fixed in another change. BUG=13044,35198 TEST=FileUtilTest.RealPath Review URL: http://codereview.chromium.org/2001013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47032 0039d316-1c4b-4281-b951-d872f2087c98
* Added decoding of any supported image format into vector of chars.avayvod@google.com2010-04-151-0/+13
| | | | | | | | | | | | | | This is used for decoding user's image downloaded from Google Profile in sandboxed process upon user's login to Chromium OS. This required adding dependency on webkit/glue/ in chrome/utility. Approved by Brett. BUG=none TEST=none Review URL: http://codereview.chromium.org/1646004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44675 0039d316-1c4b-4281-b951-d872f2087c98
* Make utility process succeed in unpacking .crx file withjoi@chromium.org2010-02-251-0/+5
| | | | | | | | | | | | | 'experimental' in the permissions section of its manifest file, if --enable-experimental-extension-apis was provided to Chrome on the command line. BUG=36702 TEST=as per repro in bug 36702 Review URL: http://codereview.chromium.org/661013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40014 0039d316-1c4b-4281-b951-d872f2087c98
* Create initial GPU backing store in the GPU process for X windows applications.brettw@chromium.org2010-01-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This gets the window from the RenderWidgetHostViewGtk and just does OpenGL calls directly into it. There are a lot of bugs, especially around expose events, which aren't really processed at all, and also tab teardown and reparenting. The new backing store defaults to off. This does some refactoring of the existing Windows GPU process backing store implementation to make some of it sharable by this Linux verion. This removes some previously defunct in-process GL backing store code and moves it to the GPU process. This patch does some refactoring around how child processes are created using zygoes or not. I found there were many places where a command line would be checked with special logic to know whether to enable zygote code or not. I tried to unify this so it could be computed once for each process type. This is what most of the changed files in chrome/browser are related to. BUG=none TEST=none Review URL: http://codereview.chromium.org/548112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37088 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 36337: Add launch configuration to apps. Create a desktop shortcut if ↵aa@chromium.org2010-01-151-0/+3
| | | | | | | | | | | launch configuration is present. Future changes will add UI asking if the user wants to create a shortcut first, and change the presentation when the shortcut is launched. TBR=erikkay@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36340 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 36337 and 36338. Compile failure.aa@chromium.org2010-01-151-3/+0
| | | | | | TBR=erikkay@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36339 0039d316-1c4b-4281-b951-d872f2087c98
* Add launch configuration to apps. Create a desktop shortcutaa@chromium.org2010-01-151-0/+3
| | | | | | | | | | | | if launch configuration is present. Future changes will add UI asking if the user wants to create a shortcut first, and change the presentation when the shortcut is launched. Review URL: http://codereview.chromium.org/543055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36337 0039d316-1c4b-4281-b951-d872f2087c98
* Move the utility process messages to their own file now that we have more thanbrettw@chromium.org2009-12-151-1/+1
| | | | | | | | | | 16 message types. BUG=none TEST=none Review URL: http://codereview.chromium.org/460119 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34597 0039d316-1c4b-4281-b951-d872f2087c98
* Make BrowserProcess::GetApplicationLocale thread safe and migratetony@chromium.org2009-12-101-3/+1
| | | | | | | | | | | | | | | | | callers of l10n_util::GetApplicationLocale to use this instead. In the browser process, it's wrong to call l10n_util::GetApplicationLocale with an empty string because then it won't consider the user pref value when resolving the locale. On Linux, it's also wrong to call l10n_util::GetApplicationLocale after startup because the call touches disk and on Linux, we assume that all of the program files can be deleted after startup (so updates in place can work). Review URL: http://codereview.chromium.org/476002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34206 0039d316-1c4b-4281-b951-d872f2087c98
* Have the utility process run out of process on Linux again bytony@chromium.org2009-12-091-9/+4
| | | | | | | | | | | | using the /proc/self/exe trick we use for plugins. Since we don't need any resources from .pak files, this should be safe. BUG=22703 TEST=Install a theme, verify that it worked properly. Review URL: http://codereview.chromium.org/464073 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34117 0039d316-1c4b-4281-b951-d872f2087c98
* Add regex escaping code to Mac sandbox implementation and re-enable the ↵jeremy@chromium.org2009-12-031-2/+2
| | | | | | | | | | | | | | | utility process on OS X. Other changes: * An error initializing the sandbox on OS X is now treated as fatal. * Improved error reporting for sandbox-related failures. BUG=26492,23837 TEST=Installing extensions and themes should still work on OS X. Review URL: http://codereview.chromium.org/434077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33682 0039d316-1c4b-4281-b951-d872f2087c98
* 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