summaryrefslogtreecommitdiffstats
path: root/base/process_util.h
Commit message (Collapse)AuthorAgeFilesLines
* Update references to the now-gone LaunchApp() from the code.evan@chromium.org2011-07-191-1/+1
| | | | | | | | BUG=88990 Review URL: http://codereview.chromium.org/7423003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93035 0039d316-1c4b-4281-b951-d872f2087c98
* Remove LaunchAppAsUser().evan@chromium.org2011-07-191-24/+0
| | | | | | | | | | This is the last of the LaunchApp family. BUG=88990 Review URL: http://codereview.chromium.org/7409004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93034 0039d316-1c4b-4281-b951-d872f2087c98
* Remove LaunchAppWithHandleInheritance().evan@chromium.org2011-07-191-11/+0
| | | | | | | | | | It is now implemented as an option to LaunchProcess. BUG=88990 Review URL: http://codereview.chromium.org/7395037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92948 0039d316-1c4b-4281-b951-d872f2087c98
* Convert the remaining callers of LaunchApp to LaunchProcess.evan@chromium.org2011-07-181-22/+0
| | | | | | | | | | And delete temporary shims. BUG=88990 Review URL: http://codereview.chromium.org/7386010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92897 0039d316-1c4b-4281-b951-d872f2087c98
* Add a "clone" option to base/process_util.h:LaunchProcess(). Useful inside ↵bradchen@google.com2011-07-151-1/+5
| | | | | | | | | | | | Linux sandbox. BUG=nativeclient:480 TEST=base/process_util_unittest.cc Review URL: http://codereview.chromium.org/7401002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92771 0039d316-1c4b-4281-b951-d872f2087c98
* Change base::LaunchProcess API slightlyevan@chromium.org2011-07-151-23/+20
| | | | | | | | | | | Rather than passing the out param process handle via the options, take it as a function argument. This simplifies many callers. BUG=88990 Review URL: http://codereview.chromium.org/7377012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92701 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up users of a deprecated base::LaunchApp API.evan@chromium.org2011-07-141-2/+3
| | | | | | | | BUG=88990 Review URL: http://codereview.chromium.org/7351003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92598 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up users of a deprecated base::LaunchApp API.evan@chromium.org2011-07-131-11/+0
| | | | | | | | BUG=88990 Review URL: http://codereview.chromium.org/7346017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92393 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Clean up users of a deprecated base::LaunchApp API."evan@chromium.org2011-07-121-0/+11
| | | | | | This reverts commit r92240, ChromeOS failures. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92244 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up users of a deprecated base::LaunchApp API.evan@chromium.org2011-07-121-11/+0
| | | | | | | | BUG=88990 Review URL: http://codereview.chromium.org/7346017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92240 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up users of a deprecated base::LaunchApp API.evan@chromium.org2011-07-121-13/+0
| | | | | | | | BUG=88990 Review URL: http://codereview.chromium.org/7258005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92200 0039d316-1c4b-4281-b951-d872f2087c98
* posix: remove LaunchAppInNewProcessGroupevan@chromium.org2011-07-061-16/+0
| | | | | | | | Due to refactoring, we can use the common API for this. Review URL: http://codereview.chromium.org/7284018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91612 0039d316-1c4b-4281-b951-d872f2087c98
* Added ability to run a command, getting output and exit status on POSIX.benwells@chromium.org2011-07-061-0/+7
| | | | | | | | | | | | | | | Register protocol handler needs to check the return value of scripts it runs and collects output from. There needs a variant of GetAppOutput which returns the exit code of the application run, not just a success or failure, so this function has been added. BUG=83557 TEST=Unit test added Review URL: http://codereview.chromium.org/7198034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91527 0039d316-1c4b-4281-b951-d872f2087c98
* base: refactor LaunchApp variants into a single functionevan@chromium.org2011-06-301-74/+182
| | | | | | | | | | | | | | | base provides a bunch of process-spawning functions that only differ by one or two arguments; worse, they're all backed by the same implementation anyway. Unify all the functions into one LaunchProcess() function, which takes a struct containing a bunch of optional arguments. For this change, I'm trying to not change the base API. Follow up changes can fix callers. Because of this, I made temporary shims for all of the old API. Review URL: http://codereview.chromium.org/7283019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91220 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 90805 - I am submitting this with LGTMs from agl@ and evanm@. I'm ↵fischman@chromium.org2011-06-281-9/+0
| | | | | | | | | | | | | | | | | | | | | | | marking this as TBR=jam@ because he is on vacation. He previously LGTMed the reverted CL (link below) and there are not substantive changes since then. Modify the Chrome Linux zygote to support a nacl_helper executable, facilitating a special address-space layout as required by NaCl on ARM and ATOM CPUs. In passing, simplify some shared elements of launching NaCl modules in Chrome. This is an update to a previously reverted CL. Please see http://codereview.chromium.org/6995121 for the earlier reviews. Patching nacl_helper CL into fresh branch. BUG=nativeclient:480 TEST=nativeclient in-browser tests TBR=jam@chromium.org TBR=bradchen@google.com Review URL: http://codereview.chromium.org/7230057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90813 0039d316-1c4b-4281-b951-d872f2087c98
* I am submitting this with LGTMs from agl@ and evanm@. I'm marking this as ↵bradchen@google.com2011-06-281-0/+9
| | | | | | | | | | | | | | | | | | | | TBR=jam@ because he is on vacation. He previously LGTMed the reverted CL (link below) and there are not substantive changes since then. Modify the Chrome Linux zygote to support a nacl_helper executable, facilitating a special address-space layout as required by NaCl on ARM and ATOM CPUs. In passing, simplify some shared elements of launching NaCl modules in Chrome. This is an update to a previously reverted CL. Please see http://codereview.chromium.org/6995121 for the earlier reviews. Patching nacl_helper CL into fresh branch. BUG=nativeclient:480 TEST=nativeclient in-browser tests TBR=jam@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90805 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 90681 - New NaCl zygote implementation 2, in which Chrome zygote ↵fischman@chromium.org2011-06-281-9/+0
| | | | | | | | | | | | | | | | forks a NaCl helper. This patch can launch earth_c.html with and without the SUID sandbox. It is enabled with the environment variable NACL_NEW_ZYGOTE. BUG=nativeclient:480 TEST=nativeclient in-browser tests on Linux, ChromeOS Review URL: http://codereview.chromium.org/6995121 TBR=bradchen@google.com Review URL: http://codereview.chromium.org/7274011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90682 0039d316-1c4b-4281-b951-d872f2087c98
* New NaCl zygote implementation 2, in which Chrome zygote forks a NaCl helper.bradchen@google.com2011-06-271-0/+9
| | | | | | | | | | | This patch can launch earth_c.html with and without the SUID sandbox. It is enabled with the environment variable NACL_NEW_ZYGOTE. BUG=nativeclient:480 TEST=nativeclient in-browser tests on Linux, ChromeOS Review URL: http://codereview.chromium.org/6995121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90681 0039d316-1c4b-4281-b951-d872f2087c98
* linux components: expose functions used by testsevan@chromium.org2011-05-091-5/+7
| | | | | | Review URL: http://codereview.chromium.org/6985006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84693 0039d316-1c4b-4281-b951-d872f2087c98
* linux: components buildevan@chromium.org2011-05-021-3/+3
| | | | | | | | Reapply r83630, r83629, r83583, and fix the one compile error. TBR=rvargas git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83740 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 83629 - linux components: expose more BASE_API used by Chrome itselfmaf@chromium.org2011-04-301-3/+3
| | | | | | | | | Review URL: http://codereview.chromium.org/6902177 TBR=evan@chromium.org Review URL: http://codereview.chromium.org/6903159 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83635 0039d316-1c4b-4281-b951-d872f2087c98
* linux components: expose more BASE_API used by Chrome itselfevan@chromium.org2011-04-291-3/+3
| | | | | | Review URL: http://codereview.chromium.org/6902177 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83629 0039d316-1c4b-4281-b951-d872f2087c98
* linux: components support for base/evan@chromium.org2011-04-291-14/+14
| | | | | | | | This builds base_unittests using libbase as a component. Review URL: http://codereview.chromium.org/6904109 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83583 0039d316-1c4b-4281-b951-d872f2087c98
* GTTF: Detect browser crashes on shutdown in UI tests. phajdan.jr@chromium.org2011-04-061-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously the automation framework could miss a browser crash during shutdown on POSIX (on Windows there is crash_service.exe that should catch all crashes). This change makes the automation framework avoid losing information about the browser process' exit status (CrashAwareSleep), and fixes a bug in base::WaitForExitCodeWithTimeout (which on POSIX never reported the process has been signaled). Finally, it makes the automation framework use WaitForExitCodeWithTimeout instead of WaitForSingleProcess. This way we can get the exit status information in an accurate and cross-platform way. To avoid trying to close the same process handle twice (it's only an issue on Windows) I've changed WaitForExitCodeWithTimeout not to close the passed handle. It's only used in few places and I think this CL fixes all of them. I've tested this change locally on Mac with a UI test that SIGKILLs the browser. Before this change the test passed (it shouldn't), and after this change the test failed with an information that the browser has not exited cleanly. BUG=56644 Review URL: http://codereview.chromium.org/6689014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80608 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 80472 - GTTF: Detect browser crashes on shutdown in UI ↵phajdan.jr@chromium.org2011-04-051-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tests.Previously the automation framework could miss a browsercrash during shutdown on POSIX (on Windows there iscrash_service.exe that should catch all crashes).This change makes the automation framework avoid losinginformation about the browser process' exit status(CrashAwareSleep), and fixes a bug in base::WaitForExitCodeWithTimeout(which on POSIX never reported the process has been signaled).Finally, it makes the automation framework use WaitForExitCodeWithTimeoutinstead of WaitForSingleProcess. This way we can get the exit statusinformation in an accurate and cross-platform way.To avoid trying to close the same process handle twice (it's only an issue on Windows) I've changed WaitForExitCodeWithTimeout not to close the passed handle. It's only used in few places and I think this CL fixes all of them.I've tested this change locally on Mac with a UI test that SIGKILLs the browser.Before this change the test passed (it shouldn't), and after this changethe test failed with an information that the browser has not exited cleanly.BUG=56644Review URL: http://codereview.chromium.org/6689014 TBR=phajdan.jr@chromium.org [----------] 1 test from MultipartResponseUITest [ RUN ] MultipartResponseUITest.SingleVisit [3538:3538:0405/104633:11326126024137:ERROR:process_util_posix.cc(108)] Received signal 11 base::debug::StackTrace::StackTrace() [0xcd194a] base::(anonymous namespace)::StackDumpSignalHandler() [0xcb0e5a] 0x2b835e391100 AutomationProxy::GetBrowserWindowCount() [0x2055e86] ProxyLauncher::IsBrowserRunning() [0xc3f1a2] ProxyLauncher::QuitBrowser() [0xc454b3] ProxyLauncher::CloseBrowserAndServer() [0xc472d6] UITestBase::TearDown() [0xc50d54] UITest::TearDown() [0xc51260] testing::TestInfo::Run() [0xe8de78] testing::TestCase::Run() [0xe8df35] testing::internal::UnitTestImpl::RunAllTests() [0xe8f6e7] testing::internal::HandleSehExceptionsInMethodIfSupported<>() [0xe804d5] testing::internal::HandleExceptionsInMethodIfSupported<>() [0xe8ba92] testing::UnitTest::Run() [0xe8badb] base::TestSuite::Run() [0x212c26d] main [0xc48e41] 0x2b835e37d1c4 0x42fec9 Review URL: http://codereview.chromium.org/6794056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80488 0039d316-1c4b-4281-b951-d872f2087c98
* GTTF: Detect browser crashes on shutdown in UI tests.phajdan.jr@chromium.org2011-04-051-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously the automation framework could miss a browser crash during shutdown on POSIX (on Windows there is crash_service.exe that should catch all crashes). This change makes the automation framework avoid losing information about the browser process' exit status (CrashAwareSleep), and fixes a bug in base::WaitForExitCodeWithTimeout (which on POSIX never reported the process has been signaled). Finally, it makes the automation framework use WaitForExitCodeWithTimeout instead of WaitForSingleProcess. This way we can get the exit status information in an accurate and cross-platform way. To avoid trying to close the same process handle twice (it's only an issue on Windows) I've changed WaitForExitCodeWithTimeout not to close the passed handle. It's only used in few places and I think this CL fixes all of them. I've tested this change locally on Mac with a UI test that SIGKILLs the browser. Before this change the test passed (it shouldn't), and after this change the test failed with an information that the browser has not exited cleanly. BUG=56644 Review URL: http://codereview.chromium.org/6689014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80472 0039d316-1c4b-4281-b951-d872f2087c98
* GPU.GPUProcessTerminationStatus histogram addedscheib@chromium.org2011-04-011-1/+2
| | | | | | | | | BUG=77793 TEST= Review URL: http://codereview.chromium.org/6791017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80211 0039d316-1c4b-4281-b951-d872f2087c98
* Base: A few more files using BASE_API (for base.dll)rvargas@google.com2011-03-251-53/+58
| | | | | | | | BUG=76996 TEST=none Review URL: http://codereview.chromium.org/6736019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79427 0039d316-1c4b-4281-b951-d872f2087c98
* Base: A few more files using BASE_API (for base.dll)rvargas@google.com2011-03-241-1/+2
| | | | | | | | BUG=76996 TEST=none Review URL: http://codereview.chromium.org/6729002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79303 0039d316-1c4b-4281-b951-d872f2087c98
* Get service process running standalone on the mac by hooking it into launchd.dmaclach@chromium.org2011-02-241-7/+7
| | | | | | | | | BUG=NONE TEST=BUILD Review URL: http://codereview.chromium.org/6482016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75893 0039d316-1c4b-4281-b951-d872f2087c98
* Start sorting methods in class declarations.erg@google.com2011-01-071-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | A lot of our headers are a mess and aren't organized. Impose the following order on files in the base/ directory: class Blah { each public/protected/private section: typedefs; enums; static constants; ctors; dtors; methods; overridden virtual methods; data members; }; BUG=68682 TEST=compiles Review URL: http://codereview.chromium.org/6081007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70749 0039d316-1c4b-4281-b951-d872f2087c98
* Update file version info/memory details/process utils to use string16.avi@chromium.org2010-12-231-7/+7
| | | | | | | | | BUG=23581 TEST=everything still works Review URL: http://codereview.chromium.org/5968008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70071 0039d316-1c4b-4281-b951-d872f2087c98
* This adds some plumbing for propagating the status and error code of a ↵gspencer@chromium.org2010-12-141-12/+19
| | | | | | | | | | | | | | | | | | | | | 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 TerminationStatus enum in process_util.h, so it can be used as the status returned by GetTerminationStatus. - 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. BUG=http://crosbug.com/8505 TEST=ran new unit test. Test passes on try servers. Review URL: http://codereview.chromium.org/5172009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69082 0039d316-1c4b-4281-b951-d872f2087c98
* Remove a definition in a weird spot since it's only used on Solaris, which ↵thestig@chromium.org2010-11-181-8/+0
| | | | | | | | | | nobody is actively porting to right now. BUG=none TEST=none Review URL: http://codereview.chromium.org/5202001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66578 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 63067 - This adds some plumbing for propagating the status and error ↵gspencer@chromium.org2010-10-191-19/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-7/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* FBTF: Fix more ctor/dtors found by clang plugin.erg@google.com2010-10-131-0/+3
| | | | | | | | | | | (1.2 megs off of Debug Linux .a files) BUG=none TEST=compiles everywhere Review URL: http://codereview.chromium.org/3743001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62420 0039d316-1c4b-4281-b951-d872f2087c98
* Used process_util methods to wait for the service process to die in the ↵sanjeevr@chromium.org2010-10-121-1/+43
| | | | | | | | | | | ServiceProcessControlBrowserTest. BUG=None TEST=browser_tests. Review URL: http://codereview.chromium.org/3653005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62339 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up orphaned testserver processes before launching a new one in ↵rsimha@chromium.org2010-10-051-0/+5
| | | | | | | | | | | | | | | net::TestServer Several chrome tests have failed in recent days because some test cases crashed due to failures, leaving behind orphaned testserver processes. These test suites do not use out_of_proc_test_runner, and therefore, do not get the benefit of using the LaunchAppInNewProcessGroup()/KillProcessGroup() mechanism. This patch implements an added layer of safety, by causing TestServer::LaunchPython() to first kill any remaining orphaned instances of testserver.py before launching a new one. The check for an orphaned testserver process on POSIX is a process with exe_name "python", a parent_pid of "1" (indicating that it's an orphan), and command line parameters that contain the strings "testserver.py" and "<port>" where <port> is the port that is being used by the test server instance. BUG=55808,57253 TEST=Run a test that spawns a testserver and dies. Run another test. It shouldn't fail. Review URL: http://codereview.chromium.org/3537002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61584 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup orphaned testserver processes on posix.rsimha@chromium.org2010-09-221-1/+16
| | | | | | | | | | | If a chrome test that uses a testserver were to crash, the testserver process ends up being orphaned, potentially affecting subsequent tests. This patch causes child processes of a test case to be killed along with the test case if it were to be abruptly terminated. BUG=55808 TEST=sync_integration_tests Review URL: http://codereview.chromium.org/3423012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60192 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac] Replace the existing browser-child mach ipc with a long-lived listener ↵rohitrao@chromium.org2010-09-171-12/+0
| | | | | | | | | | | | | | | | | on a well-known port. Before this CL: Before fork()ing a child, the browser process creates a mach receive port with a random name. After the fork() but before exec(), the child uses mach ipc to transmit send rights to its task port. The child has access to the random name because it inherits it from the browser process. Unfortunately, some of the library functions involved in sending a mach message are not safe to call after fork(). After this CL: Before forking the first child, the browser spins off a new thread that listens on a well-known port for mach ipc from any process. This well-known port is "com.google.Chrome.<browserpid>". When a child process starts up, it sends a mach message to its parent browser's well-known port. On the browser side, we listen for said message, extract the pid of the sending process, and ignore any messages from processes we did not personally fork(). This check is necessary because any arbitrary process on the system could send mach ipc to that port. BUG=35374 TEST=Browser should still start up. The task manager should still show correct cpu/memory data. There should be no perf regressions. TEST=Mac ui_tests and browser_tests should be less flaky. Review URL: http://codereview.chromium.org/3443002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59782 0039d316-1c4b-4281-b951-d872f2087c98
* 2nd attempt: Write the outcome of the Toast Experiment for system-level ↵finnur@chromium.org2010-09-071-2/+10
| | | | | | | | | | | | | | installs to the right registry key. This time with the two boolean parameters in process_util_win.cc:281 flipped to match the function signature. TBR=cpu BUG=44378 TEST=None Review URL: http://codereview.chromium.org/3297015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58693 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 58639 - nsylvain@chromium.org2010-09-071-10/+2
| | | | | | | | | | | | | | | | This seems to have caused some ui_tests to fail (AllowCookies, BlockCookies) Original comment: Write the outcome of the Toast Experiment for system-level installs to the right registry key. BUG=44378 TEST=None Review URL: http://codereview.chromium.org/3308003 TBR=finnur@chromium.org Review URL: http://codereview.chromium.org/3369002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58667 0039d316-1c4b-4281-b951-d872f2087c98
* Write the outcome of the Toast Experiment for system-level installs to the ↵finnur@chromium.org2010-09-061-2/+10
| | | | | | | | | | | right registry key. BUG=44378 TEST=None Review URL: http://codereview.chromium.org/3308003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58639 0039d316-1c4b-4281-b951-d872f2087c98
* Submitting for Erik:tommi@chromium.org2010-08-261-0/+12
| | | | | | | | | | | | | | | | | | | (http://codereview.chromium.org/3167040/show) In IE8, on Vista, when the user deletes their browsing data, the IDeleteBrowsingHistory interface is invoked twice - once in a low integrity process and once in a medium integrity process. Only the medium integrity process may succeed, but the low integrity process will restart the automation server after failing to connect to it. Upon invocation by IE, check the integrity level of the current process - if it is low, exit. GetProcessIntegrityLevel was adapted from rlz. A follow-up changeset will modify rlz to use this implementation. During editing, some unnecessary headers were removed from win_util.h and correspondingly added to win_util.cc and certain clients who were depending on transient includes. BUG=56212 TEST=Load some pages using Chrome Frame. Close IE. Verify that the Chrome Frame cache has grown and that the accessed domains appear in the history files. Launch IE, load a page using Chrome Frame. Delete Browsing Data. Note that the tab does not crash, that the on-disk cache files shrink, and that the accessed domains no longer appear in the history file Review URL: http://codereview.chromium.org/3171033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57567 0039d316-1c4b-4281-b951-d872f2087c98
* Add undeclared virtual destructors part 5ziadh@chromium.org2010-08-021-0/+3
| | | | | | | | | | | | | | | Preventative maintenance for abstract classes that do not declare virtual destructors. Base classes that do not declare their destructors as virtual could potentially lead to memory leaks. These files were discovered using the -Wnon-virtual-dtor flag in g++. r=jar BUG=47469 Review URL: http://codereview.chromium.org/3080013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54540 0039d316-1c4b-4281-b951-d872f2087c98
* base/ header cleanup. Forward declaration instead of including.erg@google.com2010-07-281-2/+3
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3068004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53969 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 53903 - Revert 52613 - Revert 52608 - Add and alternative ↵viettrungluu@chromium.org2010-07-281-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GetAppOutput() to process_util that takes a timeout. [For those keeping track, this removes it again. The failure wasn't a flake. :(] [Undoing the revert to see if the failure wasn't a flake.... Revert if the original failure, below, occurs again.] ["base_unittests" didn't exit cleanly on "Chromium Linux x64" but was killed due to timeout.] Contributed by tessamac@chromium.org TEST=none BUG=47356 Review URL: http://codereview.chromium.org/2810014 Patch from Tessa MacDuff <tessamac@chromium.org>. TBR=viettrungluu@chromium.org, tessamac@chromium.org Review URL: http://codereview.chromium.org/3012004 TBR=viettrungluu@chromium.org, tessamac@chromium.org Review URL: http://codereview.chromium.org/3036023 TBR=viettrungluu@chromium.org, tessamac@chromium.org Review URL: http://codereview.chromium.org/3045018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53908 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 52613 - Revert 52608 - Add and alternative GetAppOutput() to ↵viettrungluu@chromium.org2010-07-281-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | process_util that takes a timeout. [Undoing the revert to see if the failure wasn't a flake.... Revert if the original failure, below, occurs again.] ["base_unittests" didn't exit cleanly on "Chromium Linux x64" but was killed due to timeout.] Contributed by tessamac@chromium.org TEST=none BUG=47356 Review URL: http://codereview.chromium.org/2810014 Patch from Tessa MacDuff <tessamac@chromium.org>. TBR=viettrungluu@chromium.org, tessamac@chromium.org Review URL: http://codereview.chromium.org/3012004 TBR=viettrungluu@chromium.org, tessamac@chromium.org Review URL: http://codereview.chromium.org/3036023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53903 0039d316-1c4b-4281-b951-d872f2087c98
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-261-0/+1
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98