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.
Created attachment 227807 [details] patch
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
Created attachment 227980 [details] reworked patch
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 //.
http://trac.webkit.org/changeset/166443