Граф коммитов

7720 Коммитов

Автор SHA1 Сообщение Дата
Dão Gottwald 0e5e8bf0c3 Bug 1562274 - Remove the PopupAutoCompleteRichResult panel. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D37549

--HG--
extra : moz-landing-system : lando
2019-07-11 12:15:30 +00:00
James Teh 3a49aece73 Bug 1564299: Fire a reorder event on the outer doc accessible when an OOP document gets added. r=yzen
For same-process iframe documents, this reorder event is fired by the content process.
This isn't possible when the document is in a different process to its embedder.
In this case, we need to fire it from the parent process when the embedded document accessible is added.

Differential Revision: https://phabricator.services.mozilla.com/D37352

--HG--
extra : moz-landing-system : lando
2019-07-10 12:59:21 +00:00
Brendan Dahl 28dcf95b41 Bug 1557371 - Part 2 - Load all XUL crashtests with chrome privilege. r=dbaron
386947-1.xul, now has one assertion since we take a different code
path with chrome URL's and XBL files. The assertion is triggered since the
binding is invalid.

Differential Revision: https://phabricator.services.mozilla.com/D34542

--HG--
extra : moz-landing-system : lando
2019-07-09 19:40:42 +00:00
harry 4399f1cef6 Bug 1551233 - Remove legacy urlbar mochitests. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D36346

--HG--
extra : moz-landing-system : lando
2019-07-09 21:48:05 +00:00
James Teh 43f890d3a4 Bug 1562208: Don't assume that a child DocAccessibleParent is for a different process to its parent because there is a BrowserBridgeParent. r=yzen
Previously, DocAccessibleParent::AddChildDoc used the presence of a BrowserBridgeParent to determine whether the child document was in a different process to the parent document.
While this is normally the case, there can be a point while the embedded document is loading where there is a temporary document in the same (embedder) process.
In this case, we tried to get the COM proxy for the child document.
For a child document in the same process, this isn't available yet, so this caused infinite recursion (stack overflow) in ProxyAccessible::GetCOMInterface.

Instead of using the presence of BrowserBridgeParent, first check whether the child document is at the top level of its content process.
If it isn't, the document is in the same process as its parent.

Also, add a DIAGNOSTIC_ASSERT to ProxyAccessible::GetCOMInterface which will fire if no COM proxy or MSAA child id has been set.
Previously, we just recursed infinitely and overflowed the stack in this case, which is painful to debug.

Differential Revision: https://phabricator.services.mozilla.com/D37344

--HG--
extra : moz-landing-system : lando
2019-07-09 00:56:56 +00:00
Sebastian Hengst 1db4056744 Bug 1563275 - make dynamically inserted slotted elements accessible: take new Prettier style into account. a=eslint-fix CLOSED TREE 2019-07-05 21:20:51 +02:00
Alexander Surkov f09b8fa08d Bug 1563275 - make dynamically inserted slotted elements accessible r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D36919

--HG--
extra : moz-landing-system : lando
2019-07-05 12:28:51 +00:00
Victor Porof 6117c06951 Bug 1561435 - Fix linting errors for accessible/, r=standard8
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D36408

--HG--
extra : source : 683c8b5040211bba7eabe7c3a5b4d80550bdc03e
extra : intermediate-source : 27745a284b464e970ff19ee684cb3c0374ba7754
2019-06-28 19:38:45 +02:00
Victor Porof 058dce8bba Bug 1561435 - Format accessible/, a=automatic-formatting
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D35895

--HG--
extra : source : e786ed0773342d7c897007bb1be5a101945b894a
2019-07-05 09:45:34 +02:00
Victor Porof 34da32ec3c Bug 1558517 - Pre 3.1: Change conflicting "camelcase" rule which would fail after running Prettier, r=standard8
Differential Revision: https://phabricator.services.mozilla.com/D34695

--HG--
extra : source : 078747ad644246551a165a176a691e0440553c85
extra : intermediate-source : 3b39b237ae3c49eb6c9d56a2ef8bfb5134b878da
2019-06-12 11:43:25 +02:00
Victor Porof b5a4cb3848 Bug 1558517 - Pre 3.0: Remove conflicting eslint rules, and turn on "curly: all" everywhere, r=standard8
Differential Revision: https://phabricator.services.mozilla.com/D34535

--HG--
extra : source : 74ed7ee773393d305c4e948a57a1b1e32b1f12e8
extra : intermediate-source : 403d0757d61683e0a85d0bb07768eb39fbd0af72
2019-06-28 17:14:01 +02:00
L. David Baron 7e9c9d9319 Bug 1474771 - Adjust accessibility test_list.html to deal with frames having NS_FRAME_IS_DIRTY more often. r=Jamie
`NS_FRAME_IS_DIRTY` being set on a frame has always meant that that
frame and all of its descendants need to be reflowed.  What the main
patch on this bug is changing is when it gets propagated to descendants;
prior to that patch it gets propagated during reflow, whereas after the
patch it gets propagated when the bit is set.  This means that
`NS_FRAME_IS_DIRTY` is now (after the patch) a somewhat more reliable
indicator of whether a frame requires reflow than it was before.

However, this has a strange interaction with the particular sequence of
operations that test_list.html performs.  In particular, test_list.html:
 (1) makes a style change that requires reflow,
 (2) flushes style (but not layout), and
 (3) gets the name of an accessible whose layout was dirtied by the style change.

Getting this name ends up here:
```
nsTextFrame::GetRenderedText at layout/generic/nsTextFrame.cpp:9600
nsTextEquivUtils::AppendTextEquivFromTextContent at accessible/base/nsTextEquivUtils.cpp:127
nsTextEquivUtils::AppendFromAccessible at accessible/base/nsTextEquivUtils.cpp:174
nsTextEquivUtils::AppendFromAccessibleChildren at accessible/base/nsTextEquivUtils.cpp:162
nsTextEquivUtils::GetNameFromSubtree at accessible/base/nsTextEquivUtils.cpp:39
mozilla::a11y::Accessible::NativeName at accessible/generic/Accessible.cpp:1991
mozilla::a11y::HyperTextAccessible::NativeName at accessible/generic/HyperTextAccessible.cpp:1760
mozilla::a11y::Accessible::Name at accessible/generic/Accessible.cpp:149
mozilla::a11y::xpcAccessible::GetName at accessible/xpcom/xpcAccessible.cpp:245
NS_InvokeByIndex at xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_x86_64_unix.S:106
```

What the main patch in the bug has changed is whether this `nsTextFrame`
has the `NS_FRAME_IS_DIRTY` bit set at this point.  This means that
`GetRenderedText` will bail out without reporting the text, because the
frame is marked dirty.

On the assumption that this action -- getting accessible names while
frames are dirty -- is an artificial situation set up in the test and
not a real-world situation that we need to care about, I'm proposing
that we make the straightforward adjustment to the test:  flush layout
in addition to flushing style at step (2) above, so that the test works
again.  As long as that assumption is correct, I think this should be
fine.  (I'd note that this is the *only* test that breaks as a result of
the patch.)

If, on the other hand, we actually do care about what accessible names
return while layout state is dirty and reflow is needed, we should
probably improve `nsTextFrame::GetRenderedText` so that it can somehow
report useful state even when `NS_FRAME_IS_DIRTY` is set, or something
else more complicated.

Differential Revision: https://phabricator.services.mozilla.com/D36423

--HG--
extra : moz-landing-system : lando
2019-07-03 05:30:30 +00:00
Mirko Brodesser 6b67de025f Bug 1562876: rename `Selection::RemoveRange` to `Selection::RemoveRangeAndUnselectFramesAndNotifyListeners`. r=smaug
The name of the corresponding webidl interface of course remains unchanged.

Differential Revision: https://phabricator.services.mozilla.com/D36607
2019-07-03 13:26:14 +02:00
Mirko Brodesser 63b4627d28 Bug 1562876: rename `Selection::AddRange` to `Selection::AddRangeAndSelectFramesAndNotifyListeners`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D36602
2019-07-03 13:26:13 +02:00
Maliha Islam 2d69e323f1 Bug 1559975 - Make directories python3 compatible r=catlee
Differential Revision: https://phabricator.services.mozilla.com/D35257

--HG--
extra : moz-landing-system : lando
2019-07-02 15:47:34 +00:00
Cameron McCormack 0a6fb940c5 Bug 1553705 - Use a cheaper to compute state key for parser inserted form controls. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D32259

--HG--
extra : moz-landing-system : lando
2019-07-01 10:06:16 +00:00
Eitan Isaacson cc070b0b1b Bug 1533888 - Check DocAccessibleParents are alive in RecvBatch. r=yzen
Differential Revision: https://phabricator.services.mozilla.com/D36374

--HG--
extra : moz-landing-system : lando
2019-06-29 04:06:26 +00:00
Csoregi Natalia 29f8e6aebd Merge inbound to mozilla-central. a=merge 2019-06-29 12:59:53 +03:00
Narcis Beleuzu cc10ed7ce5 Backed out 2 changesets (bug 1553705) for causing Bug1562142 . CLOSED TREE
Backed out changeset fbb26a04ec1f (bug 1553705)
Backed out changeset dd6e7c0970d5 (bug 1553705)
2019-06-29 02:39:01 +03:00
Andrew Swan 7696519cff Bug 1555060 Convert <tabs> to a custom element
The conversion for "regular" <tabs> elements is straightforward, most of
the work here is to support the tab strip (the <tabs> element with the id
"tabbrowser-tabs").  The markup needed for the tab strip moves directly
into browser.xhtml and the construction/teardown logic is now explicitly
driven from gBrowser.  There are many more little tweaks too numerous to
enumerate.

Differential Revision: https://phabricator.services.mozilla.com/D32855

--HG--
rename : browser/base/content/tabbrowser.xml => browser/base/content/tabbrowser-tabs.js
extra : source : c163881a80c9a032b40f7d965fad6a6850fcf8a4
extra : intermediate-source : a5c6deeda8a9475ac0268a4351417c8ff659c962
extra : histedit_source : 5eb8b3d14027f2aeca5c52534096837cd0343104%2Ca23a07ddd5e1fb8bd084644dd6db0ee028b7c4b4
2019-06-20 14:09:37 -07:00
Andrew Swan f1d137eff5 Bug 1555060 Stop using dom structure for <tabs>/<tab> relationships
A bunch of existing code assumes that <tab> elements are the immediate
and only children of a <tabs> element, and uses dom apis to traverse
relationships between these elements.  To simplify conversion of <tabs>
to a custom element (and hopefully improve readability a bit at the same
time!), introduce new apis:

On <tab>
this.parentNode -> this.container
this.nextElementSibling -> this.container.findNextTab(...)
this.previousElementSibiling -> this.container.findNextTab(...)

On <tabs>
this.children -> this.allTabs

Differential Revision: https://phabricator.services.mozilla.com/D34648

--HG--
extra : source : f4e21e465f384b90fa1e768141c4db708748bf66
extra : histedit_source : 95d8a4242e8e04df9e29c2b647558d37e910b845
2019-06-11 14:49:46 -07:00
Cameron McCormack 4d1517b69f Bug 1553705 - Use a cheaper to compute state key for parser inserted form controls. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D32259

--HG--
extra : moz-landing-system : lando
2019-06-26 21:44:11 +00:00
Ciure Andrei c04368fddd Backed out 3 changesets (bug 1555060) for causing test_tabbar.py to perma fail CLOSED TREE
Backed out changeset a5c6deeda8a9 (bug 1555060)
Backed out changeset f4e21e465f38 (bug 1555060)
Backed out changeset c71c45fe3e63 (bug 1555060)

--HG--
rename : browser/base/content/tabbrowser-tabs.js => browser/base/content/tabbrowser.xml
2019-06-28 00:21:50 +03:00
Andrew Swan e6c0e0f03a Bug 1555060 Convert <tabs> to a custom element
The conversion for "regular" <tabs> elements is straightforward, most of
the work here is to support the tab strip (the <tabs> element with the id
"tabbrowser-tabs").  The markup needed for the tab strip moves directly
into browser.xhtml and the construction/teardown logic is now explicitly
driven from gBrowser.  There are many more little tweaks too numerous to
enumerate.

Differential Revision: https://phabricator.services.mozilla.com/D32855

--HG--
rename : browser/base/content/tabbrowser.xml => browser/base/content/tabbrowser-tabs.js
extra : rebase_source : 6b2b0ed9b01958d1b2db605ab300c4bebcaa461c
extra : source : c163881a80c9a032b40f7d965fad6a6850fcf8a4
2019-06-20 14:09:37 -07:00
Andrew Swan 6fd54d15e6 Bug 1555060 Stop using dom structure for <tabs>/<tab> relationships
A bunch of existing code assumes that <tab> elements are the immediate
and only children of a <tabs> element, and uses dom apis to traverse
relationships between these elements.  To simplify conversion of <tabs>
to a custom element (and hopefully improve readability a bit at the same
time!), introduce new apis:

On <tab>
this.parentNode -> this.container
this.nextElementSibling -> this.container.findNextTab(...)
this.previousElementSibiling -> this.container.findNextTab(...)

On <tabs>
this.children -> this.allTabs

Differential Revision: https://phabricator.services.mozilla.com/D34648

--HG--
extra : rebase_source : affeda0295a5195124709f322de524aea3a28a3f
2019-06-11 14:49:46 -07:00
Jonathan Kingston a5ba216f93 Bug 1315460 - Removal of keygen element r=keeler,baku,jld,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D22810

--HG--
extra : moz-landing-system : lando
2019-06-13 08:58:07 +00:00
James Teh 788fa105b8 Bug 1558390: For OOP iframes, also send the embedder accessible when the BrowserBridgeChild is created. r=yzen,nika
Previously, BrowserBridgeChild::SendSetEmbedderAccessible was only called when an OuterDocAccessible was constructed.
However, it's also possible that the BrowserBridgeChild is created *after* the OuterDocAccessible.
Therefore, we must also do this when a BrowserBridgeChild is created if the OuterDocAccessible already exists.

Differential Revision: https://phabricator.services.mozilla.com/D34474

--HG--
extra : moz-landing-system : lando
2019-06-13 02:19:42 +00:00
Andreea Pavel ab94a895b6 Backed out changeset b5df002db72c (bug 1558390) for build bustages on a CLOSED TREE 2019-06-13 03:33:45 +03:00
James Teh a832fc180d Bug 1558369: AccessibleHandler: Don't use HandlerChildEnumerator for iframes. r=yzen
When a client wants to fetch all accessible children, the COM handler uses handlerProvider::get_AllChildren in the content process to optimize cross-process retrieval of all children.
This works fine for iframes rendered in the same content process, just as it does for other accessibles.
However, for out-of-process iframes, HandlerProvider::get_AllChildren will fail.
This is because we only send down an IDispatch COM proxy for the embedded document, but get_AllChildren will try to QueryInterface this to IAccessible2 to reduce QI calls from the parent process.
Because the content process is sandboxed, it can't make the outgoing COM call to QI the proxy from IDispatch to IAccessible2 and so it fails.

Since an iframe only has one child anyway, we don't need the bulk fetch optimization offered by HandlerChildEnumerator or even IEnumVARIANT.
Therefore, we explicitly tell the client this interface is not supported, which will cause the oleacc AccessibleChildren function to fall back to accChild.

Differential Revision: https://phabricator.services.mozilla.com/D34494

--HG--
extra : moz-landing-system : lando
2019-06-12 15:08:21 +00:00
James Teh 98c9b833d0 Bug 1558390: For OOP iframes, also send the embedder accessible when the BrowserBridgeChild is created. r=yzen,nika
Previously, BrowserBridgeChild::SendSetEmbedderAccessible was only called when an OuterDocAccessible was constructed.
However, it's also possible that the BrowserBridgeChild is created *after* the OuterDocAccessible.
Therefore, we must also do this when a BrowserBridgeChild is created if the OuterDocAccessible already exists.

Differential Revision: https://phabricator.services.mozilla.com/D34474

--HG--
extra : moz-landing-system : lando
2019-06-12 14:57:40 +00:00
Brendan Dahl da359a0016 Bug 1558686 - Enable XUL default button behavior for any doc that allows XUL. r=Jamie
Fixes test 'accessible/tests/mochitest/relations/test_general.xul' when
loaded as XHTML.

Differential Revision: https://phabricator.services.mozilla.com/D34655

--HG--
extra : moz-landing-system : lando
2019-06-12 03:16:33 +00:00
Joanmarie Diggs 534bd455b6 Bug 1446699 - Fix ATK mapping for EVENT_TEXT_SELECTION_CHANGED r=Jamie
The correct mapping for nsIAccessibleEvent::EVENT_TEXT_SELECTION_CHANGED
in ATK is text_selection_changed; not selection_changed. The latter is
meant for containers which support selection of child objects, such as
a menu or expanded select element.

Differential Revision: https://phabricator.services.mozilla.com/D34521

--HG--
extra : moz-landing-system : lando
2019-06-12 04:01:51 +00:00
Boris Zbarsky 9de72a3ac6 Bug 1557793 part 2. Stop using [array] in nsIStringBundle. r=Pike
Differential Revision: https://phabricator.services.mozilla.com/D34196

--HG--
extra : moz-landing-system : lando
2019-06-11 15:51:51 +00:00
Tim Nguyen aba8c723e5 Bug 1556561 - Remove <children> usage from autocomplete binding. r=dao,surkov
Differential Revision: https://phabricator.services.mozilla.com/D33568

--HG--
extra : moz-landing-system : lando
2019-06-08 08:16:18 +00:00
Emilio Cobos Álvarez 1e7b303431 Bug 1539469 - Make all input elements display: inline-block, for compat with other UAs. r=mats
See https://github.com/whatwg/html/issues/4082 for the data and some comments
from Boris and David.

I didn't look into fixing the font-inflation reftests, see bug 1540176 for that.

Differential Revision: https://phabricator.services.mozilla.com/D25566

--HG--
extra : moz-landing-system : lando
2019-06-04 15:39:47 +00:00
James Teh 5fd61516b3 Bug 1554831: For out-of-process iframe documents on Windows, send the a11y emulated window (if any) to the content process. r=eeejay
If window emulation is enabled, an out-of-process iframe document should use the same emulated window as its embedder.
Previously, we were setting this on DocAccessibleParent, but we weren't sending it to content to make it available on DocAccessibleChild.
This meant that accessibles in out-of-process iframe documents were reporting the wrong window handle.

Differential Revision: https://phabricator.services.mozilla.com/D32788

--HG--
extra : moz-landing-system : lando
2019-05-29 04:37:28 +00:00
James Teh 9e31e95a78 Bug 1553706: Fix IAccessible::accChild in the parent process for out-of-process iframes. r=eeejay
It must be possible to retrieve any accessible by calling IAccessible::accChild on the RootAccessible (in the parent process) with the unique id of the desired accessible.
Among other things, this is the way accessibility events are targeted on Windows.
Previously, this code only searched remote documents at the top level of the tree.
In order to support out-of-process iframes, it must now also search embedded documents at the top level of their content process.

As part of this, the MSAA id must be set for out-of-process iframe documents, just as it is for top level documents.
This was already being sent from the content process, but previously, we didn't store this in the parent process.

Differential Revision: https://phabricator.services.mozilla.com/D32417

--HG--
extra : moz-landing-system : lando
2019-06-03 06:03:10 +00:00
James Teh c0a638e74c Bug 1543313 part 3: For out-of-process iframes on Windows, send the embedder accessible COM proxy to be used as the parent of the embedded document. r=eeejay,yzen
Aside from the parent being needed by the client, this is also important because events from the embedded document are deferred until the parent COM proxy is received.

As part of this, we no longer try to send the parent COM proxy during construction of an OuterDocAccessible in the parent process.
This was previously a no-op anyway, as DocAccessibleParent::SendParentCOMProxy called DocAccessible::GetAccessible for the frame element, which would have returned null because the accessible isn't bound to the document until *after* it is constructed.
Changing this to directly pass the OuterDocAccessible was causing assertions in content processes, since it sometimes meant the parent COM proxy was sent twice, which is precisely what the assertion is protecting against.
Instead, the parent proxy is sent in Browserparent::RecvPDocAccessibleConstructor as it always was.

Differential Revision: https://phabricator.services.mozilla.com/D32284

--HG--
extra : moz-landing-system : lando
2019-06-03 14:29:37 +00:00
James Teh 6af036af5f Bug 1543313 part 2: Support getting an IAccessible for a ProxyAccessible in an out-of-process iframe. r=eeejay
Previously, a COM proxy was only sent from content for top level documents.
Now, a COM proxy is also sent (and needed) for out-of-process iframe documents.
This change adjusts GetProxiedAccessibleInSubtree accordingly.

Differential Revision: https://phabricator.services.mozilla.com/D32283

--HG--
extra : moz-landing-system : lando
2019-05-31 03:27:18 +00:00
James Teh 86e3c8af49 Bug 1543313 part 1: Allow identification and retrieval of DocAccessibleParents at the top level of their content process. r=eeejay
DocAccessibleParent already has IsTopLevel(), which identifies a document at the top level of the hierarchy; i.e. it has no parents.
Now that we have out-of-process iframes, we need to be able to identify and retrieve documents at the top level of their content process, even if they are embedded by another remote document.
DocAccessibleParent::IsTopLevelInContentProcess() has been introduced to achieve this.
BrowserParent::GetTopLevelDocAccessible() now uses this instead of IsTopLevel(), since we want to be able to get the top DocAccessibleParent even for a BrowserParent for an out-of-process iframe.

Differential Revision: https://phabricator.services.mozilla.com/D32282

--HG--
extra : moz-landing-system : lando
2019-05-31 03:27:26 +00:00
Emilio Cobos Álvarez 19258bfbb4 Bug 1554716 - Remove nsStyleColor moving the color property to nsStyleText. r=jfkthame
I think this is a good change regardless of other discussion in bug 1552587. If
we decide to move `mColor` to the top-level of the struct that can be done
separately.

Differential Revision: https://phabricator.services.mozilla.com/D32726

--HG--
extra : moz-landing-system : lando
2019-05-31 14:48:22 +00:00
Noemi Erli d831a07840 Backed out 4 changesets (bug 1553706, bug 1543313) for failures in DocAccessibleChild.cpp
Backed out changeset 1a8bea02205d (bug 1553706)
Backed out changeset 15f3e6bb3ba9 (bug 1543313)
Backed out changeset 30b106088985 (bug 1543313)
Backed out changeset 85d11dab6b63 (bug 1543313)
2019-05-31 06:24:44 +03:00
James Teh 2864ddc45b Bug 1553706: Fix IAccessible::accChild in the parent process for out-of-process iframes. r=eeejay
It must be possible to retrieve any accessible by calling IAccessible::accChild on the RootAccessible (in the parent process) with the unique id of the desired accessible.
Among other things, this is the way accessibility events are targeted on Windows.
Previously, this code only searched remote documents at the top level of the tree.
In order to support out-of-process iframes, it must now also search embedded documents at the top level of their content process.

As part of this, the MSAA id must be set for out-of-process iframe documents, just as it is for top level documents.
This was already being sent from the content process, but previously, we didn't store this in the parent process.

Differential Revision: https://phabricator.services.mozilla.com/D32417

--HG--
extra : moz-landing-system : lando
2019-05-29 00:59:53 +00:00
James Teh 381c2b2f93 Bug 1543313 part 3: For out-of-process iframes on Windows, send the embedder accessible COM proxy to be used as the parent of the embedded document. r=eeejay
Aside from the parent being needed by the client, this is also important because events from the embedded document are deferred until the parent COM proxy is received.

Differential Revision: https://phabricator.services.mozilla.com/D32284

--HG--
extra : moz-landing-system : lando
2019-05-24 06:14:24 +00:00
James Teh 2ce51b6111 Bug 1543313 part 2: Support getting an IAccessible for a ProxyAccessible in an out-of-process iframe. r=eeejay
Previously, a COM proxy was only sent from content for top level documents.
Now, a COM proxy is also sent (and needed) for out-of-process iframe documents.
This change adjusts GetProxiedAccessibleInSubtree accordingly.

Differential Revision: https://phabricator.services.mozilla.com/D32283

--HG--
extra : moz-landing-system : lando
2019-05-23 20:13:00 +00:00
James Teh 80e4370a70 Bug 1543313 part 1: Allow identification and retrieval of DocAccessibleParents at the top level of their content process. r=eeejay
DocAccessibleParent already has IsTopLevel(), which identifies a document at the top level of the hierarchy; i.e. it has no parents.
Now that we have out-of-process iframes, we need to be able to identify and retrieve documents at the top level of their content process, even if they are embedded by another remote document.
DocAccessibleParent::IsTopLevelInContentProcess() has been introduced to achieve this.
BrowserParent::GetTopLevelDocAccessible() now uses this instead of IsTopLevel(), since we want to be able to get the top DocAccessibleParent even for a BrowserParent for an out-of-process iframe.

Differential Revision: https://phabricator.services.mozilla.com/D32282

--HG--
extra : moz-landing-system : lando
2019-05-23 20:00:31 +00:00
James Teh bffe0db8cf Bug 1543307: For out-of-process iframes on Windows, return the embedded document as a child of the OuterDocAccessible. r=eeejay
Windows accessibility clients talk directly to the content process via COM.
In order to expose an OOP iframe document accessible as a child of the embedder iframe accessible via COM, the embedder process needs a COM proxy for the iframe document accessible.
This is exposed on the embedder's BrowserBridgeChild, so we can use this when a client asks for the child of the OuterDocAccessible.

Differential Revision: https://phabricator.services.mozilla.com/D32281

--HG--
extra : moz-landing-system : lando
2019-05-23 19:54:37 +00:00
James Teh a23e2db32f Bug 1543298 part 3: For out-of-process iframes, send the embedded document accessible's COM proxy to the embedder. r=eeejay
This will be later exposed as a child of the embedder OuterDocAccessible.

Differential Revision: https://phabricator.services.mozilla.com/D32280

--HG--
extra : moz-landing-system : lando
2019-05-24 00:19:51 +00:00
James Teh ca09924827 Bug 1543298 part 1: Add a stub AccessibleWrap used in a Windows content process for an embedded document residing in another content process. r=eeejay
For an out-of-process iframe, we need to be able to return a remote embedder accessible as a child of an OuterDocAccessible.
For parent process OuterDocAccessibles, we use the ProxyAccessible for the embedded document.
In the case of out-of-process iframes, there is no ProxyAccessible for the embedded document, since the iframe is in a content process and ProxyAccessibles only exist in the parent process.
Like ProxyAccessibleWrap, the only real method that gets called is GetNativeInterface, which returns a COM proxy for the document.

Differential Revision: https://phabricator.services.mozilla.com/D32278

--HG--
extra : moz-landing-system : lando
2019-05-23 18:14:39 +00:00
Edgar Chen 4b1ff2f791 Bug 1543439 - Part 1: Move special handling for MouseDown/Up event out of AutoHandlingUserInputStatePusher; r=masayuki
PresShell::EventHandler::HandleEventWithCurrentEventInfo is the only possible
place will do such handling; other places pass either a nullptr or a
non-MouseDown/Up event.

Differential Revision: https://phabricator.services.mozilla.com/D32431

--HG--
extra : moz-landing-system : lando
2019-05-29 07:48:16 +00:00