The MediaPlayerClient interface has a mediaPlayerVolumeChanged method so a media engine can report volume changes triggered by the media engine. HTMLMediaElement implements all MediaPlayerClient methods except this.
Created attachment 27604 [details] proposed patch
Comment on attachment 27604 [details] proposed patch > Index: WebCore/html/HTMLMediaElement.cpp > =================================================================== > + // avoid recursion when the player reports volume changes Sentence case. > Index: WebCore/html/HTMLMediaElement.h > =================================================================== > + bool processingMediaPlayerCallback() { return m_processingMediaPlayerCallback > 0; }; Make this |const| > + void setProcessingMediaPlayerCallback(bool processing) { m_processingMediaPlayerCallback += (processing ? 1 : -1); } To avoid the somewhat hard to read 'true', 'false' args, maybe have 2 methods (begin/end). Add an assertion to check that m_processingMediaPlayerCallback never goes negative, and make it signed.
Committed revision 40943.