diff options
author | tapted@chromium.org <tapted@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-05 00:19:40 +0000 |
---|---|---|
committer | tapted@chromium.org <tapted@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-05 00:19:40 +0000 |
commit | 22eedd374ac1ad856679dc731ab3b894d618e78c (patch) | |
tree | cef54e547bc106f7f0a79257e0d9276b9e3dce80 /content/app | |
parent | 1101dbc5431a558283c5b0ca962d7fedc351e1e2 (diff) | |
download | chromium_src-22eedd374ac1ad856679dc731ab3b894d618e78c.zip chromium_src-22eedd374ac1ad856679dc731ab3b894d618e78c.tar.gz chromium_src-22eedd374ac1ad856679dc731ab3b894d618e78c.tar.bz2 |
Mac: Do not ask to handle power events in processes with no PowerManager.
Otherwise Chrome causes a 30-second delay trying to put a Mac to sleep.
Only the main browser process, and nacl processes, create a
PowerMonitorDeviceSource. However, renderers and other processes still
call the static function PowerMonitorDeviceSource::AllocateSystemIOPorts.
This results in the process asking to receive power change
notifications, but not hooking up a function to acknowledge them. This
results in 30-second timeouts while trying to sleep a Mac.
This change removes plugin, renderer, utility and worker processes from
the list of process types that register to receive power change events
from OS X.
BUG=132336
TEST=Put a Mac to sleep with Chrome running. After waking, run `pmset -g
log` from Terminal. There should be no new entries for Chrome under
applicationresponse.timedout [10.6] or on a `Timedout` line [10.8]
Review URL: https://codereview.chromium.org/25954005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227148 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/app')
-rw-r--r-- | content/app/content_main_runner.cc | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/content/app/content_main_runner.cc b/content/app/content_main_runner.cc index 949514a..da27afa 100644 --- a/content/app/content_main_runner.cc +++ b/content/app/content_main_runner.cc @@ -672,10 +672,6 @@ class ContentMainRunnerImpl : public ContentMainRunner { // It's important not to allocate the ports for processes which don't // register with the power monitor - see crbug.com/88867. if (process_type.empty() || - process_type == switches::kPluginProcess || - process_type == switches::kRendererProcess || - process_type == switches::kUtilityProcess || - process_type == switches::kWorkerProcess || (delegate && delegate->ProcessRegistersWithSystemProcess(process_type))) { base::PowerMonitorDeviceSource::AllocateSystemIOPorts(); |