It is awkward to need to have a DocAccessibleChild to send events with before
DocAccessible::DoInitialUpdate() is called because we might not have a
TabParent for the document until then. However we could try to fire reload
events on documents before DoInitialUpdate() was called which would require
having a DocAccessibleChild there to send the load event to the parent process.
However before DocAccessible::DoInitialUpdate() is called the document already
has a pending load event. If a document hasn't yet been the subject of a load
event it doesn't make a lot of sense to fire a reload event for that document,
and then the initial load event. So it should be safe to skip firing
reload events for documents where mLoadEvent specifies a load event to
fire in the future.
We sometimes briefly have more than one root DocAccessible associated with a TabChild, for example, while navigating links in a page. This patch makes sure that we use the correct accessible when delaying messages that we forward to the parent process.
This avoids conflicts with mozilla::dom::FrameType.
MozReview-Commit-ID: 7aEMbHRaTFk
--HG--
extra : rebase_source : 2d01321f5ce0ec8c0e3f70984674f82678034b3c
The Manager is set by IPDL for remotely constructed objects but our DocAccessibleChilds are created on the child process side, so we need to assign a manager in the constructor so that we can find it when needed.
--HG--
extra : rebase_source : 8bf76534860ed73fbdc71df494130f6028400fa3
It seems likely that some documents are created in content processes without
a DocAccessibleChild actor because there is no docshell or tabchild
associated with the document. However DocAccessible::DoInitialUpdate()
already calls functions that assume the document is associated with a
docshell. So hopefully trying to create the child actor there will mean it
is more successful.
This puts events in the queue instead of the event tree, and then fires them
based on the queue. Some tests need to be adjusted to make sure they check
constraints on event order correctly.
r=davidb
This ensures that if creating the sub tree creates events to fire they will go
before the show event for the root of the tree. It is fine to fire show events
for the subtree before the root because they will just get coalesced away
anyway. However it is important that any hide events come before the hidden
subtree appears in the new tree.
This puts events in the queue instead of the event tree, and then fires them
based on the queue. Some tests need to be adjusted to make sure they check
constraints on event order correctly.
r=davidb
This ensures that if creating the sub tree creates events to fire they will go
before the show event for the root of the tree. It is fine to fire show events
for the subtree before the root because they will just get coalesced away
anyway. However it is important that any hide events come before the hidden
subtree appears in the new tree.
This will be used to pass through information like the triggering principal and
whatnot, as well as the boolean for not sending a referrer, for rel=noreferrer
links.
The patch is generated from following command:
rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,
MozReview-Commit-ID: AtLcWApZfES
--HG--
rename : mfbt/unused.h => mfbt/Unused.h