summaryrefslogtreecommitdiffstats
path: root/chrome/browser/child_process_launcher.cc
Commit message (Collapse)AuthorAgeFilesLines
* Create initial GPU backing store in the GPU process for X windows applications.brettw@chromium.org2010-01-261-20/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Moving sandbox_policy files into chrome/common .gregoryd@google.com2010-01-171-1/+1
| | | | | | | | | | In the next CL (http://codereview.chromium.org/542030/show) NaCl broker code will need to include sandbox_policy.h from chrome/nacl, and without this move check_deps test fails. TEST=none BUG=none Review URL: http://codereview.chromium.org/543042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36468 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: Other approach for IPCing child task_ts.thakis@chromium.org2010-01-121-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also move mach_ipc_mac to base, where it's now used. Based on http://www.foldr.org/~michaelw/log/2009/03/13/ , but uses a named connection instead. Do the IPC right after fork-time, so that the sandbox is not yet in effect. See the codereview comments for a benchmark that proves that this shouldn't be expensive, and for pros and cons for using a named connection vs temporarily switching out the bootstrap port. Works for worker processes too and seems more reliable in general. Measured perf impact in http://src.chromium.org/viewvc/chrome?view=rev&revision=35888 , it's negligible. BUG=13156 TEST=(requires that one enables the task manager in browser.cc) 1.) Open one tab that plays a youtube video 2.) Open a second and visit http://www.whatwg.org/demos/workers/primes/page.html 3.) Install e.g. the gmail checker extension 4.) Open the task manager It should report metrics for * one browser process * two renderer processes * one plugin process * one worker process * one extension process Check that %cpu etc more or less match what Activity Monitor displays if you filter for "Chromium". Also choose "Open all bookmarks" on the bookmarks bar with the task manager open and check that metrics for all tabs appear immediately. Review URL: http://codereview.chromium.org/549002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35977 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 35888 - Mac: Other approach for IPCing child task_ts.thakis@chromium.org2010-01-101-12/+0
| | | | | | | | | | | | | | | | | Based on http://www.foldr.org/~michaelw/log/2009/03/13/ , right now in proofofconcept quality. Works for worker processes too and seems more reliable in general. Makes it impossible to call LaunchApp() concurrently though. Next try: Submitting to get perf numbers, will revert. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=35883 Review URL: http://codereview.chromium.org/549002 TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/536009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35890 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: Other approach for IPCing child task_ts.thakis@chromium.org2010-01-101-0/+12
| | | | | | | | | | | | | | Based on http://www.foldr.org/~michaelw/log/2009/03/13/ , right now in proof-of-concept quality. Works for worker processes too and seems more reliable in general. Makes it impossible to call LaunchApp() concurrently though. Next try: Submitting to get perf numbers, will revert. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=35883 Review URL: http://codereview.chromium.org/549002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35888 0039d316-1c4b-4281-b951-d872f2087c98
* Make ProcessWatcher use kqueues on Mac.jeremy@chromium.org2009-12-151-2/+2
| | | | | | | | | | | | | * Port ProcessWatcher::EnsureProcessTerminated() to kqueue() APIs on OS X. * Make ProcessWatcher::EnsureProcessGetsReaped() Linux-only, since it's only used there. * Add a unit test. BUG=12731 TEST=Open Chrome/Mac, open and close a few tabs. Processes shouldn't stay around. Review URL: http://codereview.chromium.org/496007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34547 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 34146 - A place to store the pid>mach_port_t mapping.thakis@chromium.org2009-12-091-109/+0
| | | | | | | | | | | | | | | | Not yet for review. Landing to measure perf impact, will revert immediately. BUG=13156 TEST=unittests Review URL: http://codereview.chromium.org/460126 TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/466088 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34147 0039d316-1c4b-4281-b951-d872f2087c98
* A place to store the pid->mach_port_t mapping.thakis@chromium.org2009-12-091-0/+109
| | | | | | | | | | | | | Not yet for review. Landing to measure perf impact, will revert immediately. BUG=13156 TEST=unittests Review URL: http://codereview.chromium.org/460126 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34146 0039d316-1c4b-4281-b951-d872f2087c98
* Use the zygote for extension page popup processes.tony@chromium.org2009-12-041-1/+3
| | | | | | | | BUG=29377 Review URL: http://codereview.chromium.org/464041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33858 0039d316-1c4b-4281-b951-d872f2087c98
* Fix environment variables not being used after switching to ↵jam@chromium.org2009-11-231-1/+3
| | | | | | | | | | ChildProcessLauncher. BUG=28602 TEST=verified flash works on Mac Review URL: http://codereview.chromium.org/439005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32854 0039d316-1c4b-4281-b951-d872f2087c98
* Fix bug when accessing g_browser_process->broker_services() at shutdown.jam@chromium.org2009-11-231-17/+4
| | | | | | | BUG=28501 Review URL: http://codereview.chromium.org/435001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32832 0039d316-1c4b-4281-b951-d872f2087c98
* Launch all child processes asynchronously so as not to block the IO thread.jam@chromium.org2009-11-211-36/+119
| | | | | | | 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
* Launch processes asynchronously so as not to block the UI thread. For now, ↵jam@chromium.org2009-11-181-0/+238
| | | | | | | | | renderer only, I'll take care of plugin/worker/utility processes in a followup change. (relanding 32203) BUG=6844 Review URL: http://codereview.chromium.org/397031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32264 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 32203,32204,32205 - Launch processes asynchronously so as not to ↵jam@chromium.org2009-11-181-238/+0
| | | | | | | | | | | block the UI thread. For now, renderer only, I'll take care of plugin/worker/utility processes in a followup change. BUG=6844 Review URL: http://codereview.chromium.org/397002 Review URL: http://codereview.chromium.org/402033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32238 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build break on Mac release.jam@chromium.org2009-11-171-2/+3
| | | | | | | | BUG=6844 TBR=darin Review URL: http://codereview.chromium.org/405006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32205 0039d316-1c4b-4281-b951-d872f2087c98
* Launch processes asynchronously so as not to block the UI thread. For now, ↵jam@chromium.org2009-11-171-0/+237
renderer only, I'll take care of plugin/worker/utility processes in a followup change. BUG=6844 Review URL: http://codereview.chromium.org/397002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32203 0039d316-1c4b-4281-b951-d872f2087c98