summaryrefslogtreecommitdiffstats
path: root/chrome/browser/mach_broker_mac.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove obsolete base/lock.h and fix up callers to use the new header file andbrettw@chromium.org2011-01-211-3/+3
| | | | | | | | | | | the base namespace. Fix several files including lock.h unnecessarily. BUG=none TEST=none Original review=http://codereview.chromium.org/6142009/ Patch by leviw@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72106 0039d316-1c4b-4281-b951-d872f2087c98
* Rename all methods accessing Singleton<T> as GetInstance().satish@chromium.org2010-12-131-1/+1
| | | | | | | | | | | | | | | This is in preparation to a subsequent CL where Singleton<T> will restrict access to only the type being made singleton. This primarily covers files in chrome os and other directories, missed in the previous CL. In a couple of files i changed Singleton<T> usage to LazyInstance<T>, because changing the method name to GetInstance() in there would require a whole lot of updates throughout the chrome os codebase. BUG=65298 TEST=all existing tests should pass. Review URL: http://codereview.chromium.org/5734002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69007 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac] Replace the existing browser-child mach ipc with a long-lived listener ↵rohitrao@chromium.org2010-09-171-6/+31
| | | | | | | | | | | | | | | | | 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
* FBTF: Header cleanup in chrome/common part 2. The majority of the changed filesjhawkins@chromium.org2010-08-201-0/+1
| | | | | | | | | | | just added notification_observer.h. BUG=none TEST=none Review URL: http://codereview.chromium.org/3120021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56824 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
* Whitespace change to trigger bots.viettrungluu@chromium.org2010-06-051-2/+2
| | | | | | | | TBR=viettrungluu@chromium.org Review URL: http://codereview.chromium.org/2670004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49004 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: Other approach for IPCing child task_ts.thakis@chromium.org2010-01-121-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Mac: Create a pid->task_t mapping in the browser process.thakis@chromium.org2009-12-211-0/+73
| | | | | | | | | | | Since nothing writes to this map in the browser atm, this does not have any visible effect. BUG=13156,25454 TEST=unittest Review URL: http://codereview.chromium.org/501138 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35092 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 34146 - A place to store the pid>mach_port_t mapping.thakis@chromium.org2009-12-091-81/+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/+81
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