RESOLVED FIXED 130746
WebProcesses use lots of cpu in the background if there are a lot of plugins.
https://bugs.webkit.org/show_bug.cgi?id=130746
Summary WebProcesses use lots of cpu in the background if there are a lot of plugins.
Stephanie Lewis
Reported 2014-03-25 15:19:19 PDT
Everytime pluginDidEvaluate is called the WebProcess page throttler is disabled. This was done originally so that web apps like Pandora could continue to play smoothly in the background. We only need to stop the page throttler is audio is playing.
Attachments
patch (21.03 KB, patch)
2014-03-25 15:19 PDT, Stephanie Lewis
slewis: review-
reworked patch (21.54 KB, patch)
2014-03-27 14:19 PDT, Stephanie Lewis
andersca: review+
Stephanie Lewis
Comment 1 2014-03-25 15:19:50 PDT
Stephanie Lewis
Comment 2 2014-03-25 15:47:08 PDT
Going to change the bool to an enum so I don't need the isSupported function but the general layout of the patch should be correct
Stephanie Lewis
Comment 3 2014-03-27 14:19:27 PDT
Created attachment 227980 [details] reworked patch
Anders Carlsson
Comment 4 2014-03-28 14:29:18 PDT
Comment on attachment 227980 [details] reworked patch View in context: https://bugs.webkit.org/attachment.cgi?id=227980&action=review > Source/WebKit2/PluginProcess/PluginProcess.cpp:264 > + for (auto it = m_webProcessConnections.begin(), end = m_webProcessConnections.end(); it != end; ++it) { > + WebProcessConnection* connection = it->get(); > + connection->audioHardwareDidBecomeActive(); > + } This can use range for. > Source/WebKit2/PluginProcess/PluginProcess.cpp:272 > + for (auto it = m_webProcessConnections.begin(), end = m_webProcessConnections.end(); it != end; ++it) { > + WebProcessConnection* connection = it->get(); > + connection->audioHardwareDidBecomeInactive(); > + } Ditto. > Source/WebKit2/PluginProcess/PluginProcess.h:45 > + public WebCore::AudioHardwareListener::Client Please put this on the same line. I also don't think it needs to be public. > Source/WebKit2/PluginProcess/PluginProcess.h:102 > + //AudioHardwareListenerClient Missing space after //.
Stephanie Lewis
Comment 5 2014-03-28 18:20:55 PDT
Note You need to log in before you can comment on or make changes to this bug.