When navigating away from a document, we mute the playing media elements
through the NotifyOwnerDocumentActivityChanged() notification.
Sometimes, that function may notify the audio channel agent through its
call to AddRemoveSelfReference() which may call
UpdateAudioChannelPlayingState() and notify the agent, but when we're
navigating away from the page, playingThroughTheAudioChannel will always
be equal to mPlayingThroughTheAudioChannel, which causes us to not
notify the audio channel agent.
This patch fixes this by separating NotifyOwnerDocumentActivityChanged()
from its internal consumers, and forcefully notifying the audio channel
agent when we navigate away.
When navigating away from a document, we mute the playing media elements
through the NotifyOwnerDocumentActivityChanged() notification.
Sometimes, that function may notify the audio channel agent through its
call to AddRemoveSelfReference() which may call
UpdateAudioChannelPlayingState() and notify the agent, but when we're
navigating away from the page, playingThroughTheAudioChannel will always
be equal to mPlayingThroughTheAudioChannel, which causes us to not
notify the audio channel agent.
This patch fixes this by separating NotifyOwnerDocumentActivityChanged()
from its internal consumers, and forcefully notifying the audio channel
agent when we navigate away.
When navigating away from a document, we mute the playing media elements
through the NotifyOwnerDocumentActivityChanged() notification.
Sometimes, that function may notify the audio channel agent through its
call to AddRemoveSelfReference() which may call
UpdateAudioChannelPlayingState() and notify the agent, but when we're
navigating away from the page, playingThroughTheAudioChannel will always
be equal to mPlayingThroughTheAudioChannel, which causes us to not
notify the audio channel agent.
This patch fixes this by separating NotifyOwnerDocumentActivityChanged()
from its internal consumers, and forcefully notifying the audio channel
agent when we navigate away.
Since navigating away from a page with an active AudioContext will close
it internally, this patch fixes a similar issue to bug 1180535 for Web
Audio too.
Since navigating away from a page with an active AudioContext will close
it internally, this patch fixes a similar issue to bug 1180535 for Web
Audio too.
This bug will make jar:http:// no longer eligible for the memory-mapping
optimization tested in these test cases, so this patch changes them
to use local files, which is the case that that optimization is meant
for. Specifically, it changes them to chrome tests and pre-resolves
the chrome: URL of the jar file so that nsJARChannel recognizes it as a
local file.
Note that the bug 945152 test jar file remains in the file list for
plain mochitests as well as being added to chrome.ini; there is a test
in another directory that uses it, and a later patch in this series will
add another.
In the beginning of Element::removeAttributeNode() we check that attr object
passed to it belongs to the same element (comparing attr.GetElement and this).
If it is different element, throw NotFoundError.
Mochitest to check new behavior included.
--HG--
extra : rebase_source : 8582d119a99d23d121ad9f7fe5b184668641bf80
The dom/base tests changed here use SpecialPowers.loadChromeScript to
construct a DOM File in the parent and send it to the child, using the
existing remote-blob infrastructure. The dom/html tests don't need a
real file, so they now construct in-memory files.
As a convenient side-effect, these tests are now enabled for desktop
e10s (they were already being run out-of-process on B2G); most of them
failed before this change due to the code that's being moved/removed.