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

336 Коммитов

Автор SHA1 Сообщение Дата
Tokio Kajitsuka 9b9c3780fe Bug 1438193 - part7: NativeRole r=surkov
turn NativeRole into const functions
2018-05-08 04:05:50 +09:00
James Teh a6bdc218ba Bug 1424505: Don't try to retrieve the accessible focus from remote documents on Windows 7. r=eeejay
Bug 1421144 fixed IAccessible::accFocus to work when focus is within a remote document.
Unfortunately, this causes mysterious intermittent crashes when called from a UIA client in Windows 7.
Ideally, we'd deal with the actual cause of the crashes, but they seem to be deep in Windows RPC code and all attempts at tracking this down have failed.
Clients don't seem to need this too often anyway (and it's a minor annoyance if it doesn't work when they do).

MozReview-Commit-ID: IxvbBGJ2wxA

--HG--
extra : rebase_source : 504909703718b75fffcabf1fbe56c0bbff089b58
2018-05-01 15:48:43 +10:00
Yura Zenevich 0deebcebc6 Bug 1457148 - fix crash in Accessible::Bounds. r=surkov
MozReview-Commit-ID: 9gIzmygUcoF
2018-04-26 19:18:26 -04:00
Yura Zenevich 55fe960cc1 Bug 1450927 - add getBoundsInCSSPixels XPCOM method. r=surkov r=jld
MozReview-Commit-ID: CTANPVQw1sG
2018-04-25 14:51:09 -04:00
Tiberius Oros 2fffa00bb3 Backed out 2 changesets (bug 1450927) for failing on ProxyAccessible.cpp(247) on a CLOSED TREE
Backed out changeset ca285aed3926 (bug 1450927)
Backed out changeset d7dd8b0d2473 (bug 1450927)
2018-04-25 19:31:50 +03:00
Yura Zenevich db18588465 Bug 1450927 - add getBoundsInCSSPixels XPCOM method. r=surkov r=jld
MozReview-Commit-ID: CTANPVQw1sG
2018-04-25 11:45:47 -04:00
Emilio Cobos Álvarez 83fd987aec Bug 1454233: Remove nsINode::eDOCUMENT. r=bz
MozReview-Commit-ID: ItjdI79zme7
2018-04-20 01:30:11 +02:00
James Teh c68c566fd8 Bug 1453876: Fix accessibility blocking of the Ask.com Toolbar. r=eeejay
Bug 1421018 intended to block the Ask.Com Toolbar (tbnotifier.exe).
This is basically malware and is responsible for a huge number of unnecessary accessibility instantiations.
However, there seems to have been some confusion and we ended up blocking tbnnotifier.exe instead.
This changes that block to tbnotifier.exe.

MozReview-Commit-ID: 2gZF8sYeGtb

--HG--
extra : rebase_source : 3d14a24c12748edfc31ddf7dac51bca491abd744
2018-04-13 15:12:13 +10:00
James Teh 7f39c5ef15 Bug 1453873: Stop firing accessible focus events for JAWS when combo box options are selected. r=MarcoZ
These events were a hack implemented in bug 703198.
At that time, JAWS required focus events for selection changes in a collapsed combo box.
However, these events also fire for expanded combo boxes.
This is problematic with e10s because now, for an expanded combo box, the real focus events come from the XUL dropdown implemented in the parent process, which is not associated with the document a11y tree in any way.
JAWS seems to cope just fine with value changes for Firefox combo boxes now and VFO have agreed that this is the correct path forward.

MozReview-Commit-ID: Iefop25bFe0

--HG--
extra : rebase_source : a86e5d73d560853bb50e1d8e3bbd11431aba8eb0
2018-04-13 14:14:50 +10:00
David Major 40c8e34acf Bug 1449337: Don't take the first VectoredExceptionHandler slot away from ASan. r=Jamie 2018-03-29 10:18:14 -04:00
Boris Zbarsky 17509bc9da Bug 1449019. Actually propagate out exceptions from the innerHTML getter. r=smaug
I moved the IgnoreErrors decl so it would come after the OOMReporter decl and I
could add the new conversion operator.

MozReview-Commit-ID: B1S6DXmZfvE
2018-03-26 16:41:43 -04:00
Boris Zbarsky 98a683f9e1 Backed out changeset 1023e033bfa6 (bug 1132934) because it hasn't been reviewed yet.
MozReview-Commit-ID: LXefIp2OG6Q
2018-03-26 16:47:31 -04:00
Boris Zbarsky 0ce4de30db Bug 1132934 part 1. Actually propagate out exceptions from the innerHTML getter. r=smaug
MozReview-Commit-ID: KEqsx836qQn
2018-03-26 16:41:43 -04:00
Aaron Klotz 0db58e8c1e Bug 1446280: Ensure a11y::SetInstantiator only runs once; r=eeejay
--HG--
extra : rebase_source : 384dc706b72ff9a9f73da261bc441e60083ed266
2018-03-16 12:23:46 -06:00
James Teh f84eedf97c Bug 1434822 part 3: On Windows, when a content Accessible shuts down, disconnect all associated remote clients. r=MarcoZ
To improve performance for cross-process COM, we disable COM garbage collection.
However, this means we never receive Release calls from clients, so defunct accessibles can never be deleted.
Since we know when an accessible is shutting down, we can work around this by forcing COM to disconnect this object from all of its remote clients, which will cause associated references to be released.

MozReview-Commit-ID: 5sIuxnaRJWj

--HG--
extra : rebase_source : e5c54e4f107b2db39d77277020aa939a6a283bd8
extra : histedit_source : 0a964ba20363cc1b8880d78e5d214dae0f758a01
2018-02-22 22:00:36 +10:00
Bogdan Tara 0a896b5418 Backed out changeset 918b41fa66d9 (bug 1434822) is causing 1442523. a=backout 2018-03-02 11:27:08 +02:00
Tiberius Oros 61d400da1c Merge inbound to mozilla-central. a=merge 2018-03-01 19:29:00 +02:00
James Teh a2e576c75c Bug 1434822 part 3: On Windows, when a content Accessible shuts down, disconnect all associated remote clients. r=MarcoZ
To improve performance for cross-process COM, we disable COM garbage collection.
However, this means we never receive Release calls from clients, so defunct accessibles can never be deleted.
Since we know when an accessible is shutting down, we can work around this by forcing COM to disconnect this object from all of its remote clients, which will cause associated references to be released.

MozReview-Commit-ID: 5sIuxnaRJWj

--HG--
extra : rebase_source : 9059dbed02bf78b4be5b544c8b3bc14f0ca088c8
2018-02-22 22:00:36 +10:00
Alexander Surkov ea486874e9 Bug 857348 - assert if defunct state is out of sync with content ref, rs=jamie 2018-02-27 16:34:12 -05:00
James Teh 4eacecd159 Bug 1437417 part 2: Don't block accessibility instantiation for newer RealPlayer builds with accessibility performance fixes. r=MarcoZ
RealPlayer's use of accessibility was blocked in bug 1418535 due to severe performance problems caused by its use of accessibility.
This is fixed in newer builds, so we want to allow those while still blocking older builds.

MozReview-Commit-ID: 5XlY4IM5qHf

--HG--
extra : rebase_source : b14251b697c5d2a08c613b4a402214f6bd4f475f
2018-02-13 16:50:23 +10:00
James Teh 58fcef6d33 Bug 1437417 part 1: a11y: Fix some issues in IsModuleVersionLessThan and make it reusable. r=MarcoZ
1. Move IsModuleVersionLessThan into the Compatibility class and export it in the header file.

2. The function previously referred to the third component of the version as the minor version; i.e. it was testing major.bbbb.minor.dddd.
This is incorrect and might confuse people using this in future code.
The minor version is the second component; i.e. major.minor.cccc.dddd.
cccc and dddd are often named build and revision, but the naming here is less consistent.

3. Rather than accepting separate version components, the function now accepts a single 64 bit value.
This makes comparison easier and also allows for comparison against magic values in other code; e.g. a value meaning "all versions".
This value can be created from separate components using the MAKE_FILE_VERSION macro.

4. Previously, it was assumed that a dll path could not be longer than MAX_PATH, but it can actually be longer.
The function now handles this.

5. The function previously didn't do any error checking, which could have led to null pointer dereferences and possibly other pain.
This was fine when it was only being used for JAWS, which we know always has version info, but this could be problematic for other callers.
We return true if there is a failure, assuming that no version info implies an earlier version.

6. The code now uses smart pointers instead of raw pointers, making memory management simpler.

7. Updated the JAWS version check accordingly.

MozReview-Commit-ID: 9Y6gUQSX0P5

--HG--
extra : rebase_source : 595408140d8611d38fef1211ef41c53e4b65e90c
2018-02-13 16:48:16 +10:00
Aaron Klotz a26b59fe0b Bug 1424505: Block osk.exe from UIA instantiation; r=Jamie 2018-02-20 12:24:47 -07:00
Chris Peterson fe5cd3d5d9 Bug 1436263 - Part 3: Remove `virtual` from final virtual function declarations. r=froydnj
MozReview-Commit-ID: 8pjYjEvQF42

--HG--
extra : rebase_source : 5eb0bea2ef5f06a811b4f3daf57ce8720f12dd07
2018-02-08 21:22:43 -08:00
Boris Zbarsky 9bdcffc985 Bug 1436902 part 3. Replace usage of NS_IMPL_ISUPPORTS_INHERITED0 with NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8
The change to RootAccessible.cpp fixes an obvious bug introduced in bug 741707.

The visibility changes in gfx/thebes are because NS_DECL_ISUPPORTS has a
trailing "public:" that those classes were relying on to have public
constructors.

MozReview-Commit-ID: IeB8KIJCGhU
2018-02-12 15:44:40 -05:00
Boris Zbarsky 4c01bdc27f Bug 1428610 part 7. Make the nsICSSDeclaration length API nicer. r=emilio
MozReview-Commit-ID: 2gs8npBJFJY
2018-01-30 14:48:27 -05:00
Boris Zbarsky 53e8cfdcf5 Bug 1418085 part 2. Stop using nsIDOMHTMLElement in accessibility code. r=surkov
MozReview-Commit-ID: 6YddkxqB5Bv
2018-01-30 00:25:36 -05:00
Boris Zbarsky abfab07da3 Bug 1432186 part 5. Remove nsIDOMNode's nodeType attribute. r=mccr8
MozReview-Commit-ID: LKsBgKcqtBS
2018-01-29 23:10:50 -05:00
Boris Zbarsky 3b6d43f65c Bug 1432186 part 4. Remove nsIDOMNode's nodeValue attribute. r=mccr8
MozReview-Commit-ID: Aqt4NDjcdKW
2018-01-29 23:10:50 -05:00
Boris Zbarsky c646473558 Bug 1432186 part 3. Remove nsIDOMNode's nodeName attribute. r=mccr8
MozReview-Commit-ID: Jg0Tuvdi6uX
2018-01-29 23:10:50 -05:00
Aaron Klotz 4e5aebde55 Bug 1433551: Use fallible allocation for handleInfoBuf inside UIA detection; r=davidb
--HG--
extra : amend_source : c0ed75af74df6aa7c9c9aa94ad52cebd37e5140c
2018-01-26 14:08:42 -07:00
Milan Sreckovic 6cf51345e7 Bug 1423541: Use BaseRect access methods instead of member variables in accessible/ r=surkov
MozReview-Commit-ID: KRfgYEW7aWY

--HG--
extra : rebase_source : b88fcdb3095ac9bfa82ae6a596070d80c1c482fd
2018-01-12 12:07:29 -05:00
Cameron McCormack 8731df3c34 Bug 1427512 - Part 29: Remove nsIDOMCSSDeclaration. r=xidorn,jryans,bz
This removes the .style attribute from nsIDOMSVGElement, but there
shouldn't be any users of that.

MozReview-Commit-ID: LOBSFo85Utn
2018-01-11 16:17:57 +08:00
Aaron Klotz 35b1027e2c Bug 1423999: Improved UIA detection that eliminates handle duplication; r=Jamie
MozReview-Commit-ID: 5CqjkyDoPs8

--HG--
extra : amend_source : 877a3d6cadab0645274c9542249fc35cfd682d41
2017-12-07 12:13:14 -07:00
Andrea Marchesini a861feff81 Bug 1425321 - Renaming nsINode::GetChildAt to GetChildAt_Deprecated, r=me 2018-01-03 14:04:09 +01:00
Emilio Cobos Álvarez c8eb630ebe Bug 1423990: Move the last few attribute-related methods outside of nsIContent. r=bz
MozReview-Commit-ID: 8JZuS6O8f8W
2017-12-25 17:50:10 +01:00
Emilio Cobos Álvarez ffdf5d2cb5 Backout changeset e43f568b3e9a (bug 1423990) because some OSX-only code still doesn't build. r=me 2017-12-25 12:55:45 +01:00
Emilio Cobos Álvarez c0959b2955 Bug 1423990: Move the last few attribute-related methods outside of nsIContent. r=bz
MozReview-Commit-ID: 8JZuS6O8f8W

--HG--
extra : rebase_source : 09b82acb4f3d69e8a4345457ab217443bc28d6e2
2017-12-07 19:13:50 +01:00
James Teh 0ba48a4da2 Bug 1425030: ia2Accessible::get_accessibleWithCaret: Gracefully handle null returned from SelectionManager::AccessibleWithCaret. r=surkov
We weren't checking for null previously, thus causing a crash when there was no caret.
MozReview-Commit-ID: 6NNRafcVPhb

--HG--
extra : rebase_source : 7d6bfc8c776c1be1429da8c2c94f4bda232c6314
2017-12-12 13:38:34 +10:00
James Teh 47040c9214 Bug 1424657: Make IAccessible::accChild handle remote ids for popup windows. r=eeejay
Bug 1422201 changed GetIAccessibleFor so it only handles remote ids when called on the root accessible.
However, this breaks webextension popup documents.
These popups have their own HWND, so the root accessible of that HWND needs to handle accChild for ids in remote documents within that HWND.
Therefore, expand the restriction to cover the root accessible of any HWND, not just the main HWND.

MozReview-Commit-ID: 69v4XSeQLcS

--HG--
extra : rebase_source : bf5c5e0a475424b2276800d1a10ab1a46c136bd6
2017-12-11 14:35:00 +10:00
Aaron Klotz f438b13735 Bug 1423989: Add telemetry probe to measure the time spent finding the UIA client; r=Jamie, r=francois
MozReview-Commit-ID: 7Z9Ay3TiHjH

--HG--
extra : amend_source : 3e17c89bb53ea8605021c4c1771db6d4fea3bcbb
2017-12-04 17:56:45 -07:00
Sylvestre Ledru 4591d82b23 Bug 1394734 - Replace CONFIG['CLANG*'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: HbF5oT5HW6f

--HG--
extra : rebase_source : eca479b6ae4bff7f600d1cdb39e11ac2057e4e79
2017-12-07 22:09:38 +01:00
Aaron Klotz 80a4e21834 Bug 1419886: Part 2 - Add UIA detection to a11y and centralize a11y instantiator telemetry under a11y::SetInstantiator function; r=Jamie
MozReview-Commit-ID: 11QN7amImK9
2017-12-04 17:56:31 -07:00
James Teh 63f0dbc751 Bug 1422674: Fix IAccessible::accChild on parent process accessibles with positive indices. r=MarcoZ
Previously, in the parent process, we were treating positive child ids as remote unique ids.
This of course failed when searching remote documents and returned early.
Make sure we only treat ids as remote if they are less than 0.
Ids above 0 are child indices and are handled later in the code for both local and remote children.

MozReview-Commit-ID: 2KmFj6rTXTV

--HG--
extra : rebase_source : 273496a3f6420d184f71795095937638e1e3e2ca
2017-12-06 10:11:17 +10:00
Noemi Erli 449829ebb2 Merge mozilla-central to mozilla-autoland. r=merge a=merge 2017-12-05 16:31:06 +02:00
Eitan Isaacson 2cc9a52ceb Bug 1421018 - Create accessible client blocklist and add TBNNotifier.exe. r=jimm 2017-12-04 13:20:00 -05:00
James Teh caac6a3325 Bug 1422201: Only handle remote ids passed to IAccessible::accChild on the root accessible. r=MarcoZ
Previously, we could return remote accessibles which weren't actually descendants of the accessible on which accChild was called.
For example, calling accChild on a local document with the id of a remote document would happily return the remote accessible.
This confused clients such as NVDA which use accChild to check whether something is a descendant of a document.

MozReview-Commit-ID: 8mJ4m6RC3r2

--HG--
extra : rebase_source : c56040d84e09c2b9ede94985cdd94606c27160a3
2017-12-04 15:32:56 +10:00
James Teh b38f9b5d10 Bug 1421209 part 2: Fix IAccessible::accRole where a string is returned and ARIA role="". r=MarcoZ
For elements such as divs which have no enumerated MSAA role, we return a string.
First, we try the ARIA role, and failing that, we use the tag name.
However, if the author specifies role="", we previously failed.
Instead, we now fall back to the tag name for an empty role string.
That is, we treat the non-existence of the attribute or an empty string value the same way.
Although this is invalid markup, it occurs in the wild, and accRole failing breaks handler caching.

Note that this patch also removes a check for msaaRole != ROLE_SYSTEM_CLIENT when getting a string role.
This check is now pointless because we've already returned earlier if msaaRole != USE_ROLE_STRING.
That is, msaaRole can only be USE_ROLE_STRING at this point.

MozReview-Commit-ID: 7PVvU5V2uO4

--HG--
extra : rebase_source : 7aa1baee31393291ed15e8d6687e6a2d576f858c
2017-11-29 15:36:34 +10:00
Jim Mathies 60f8ccca28 Bug 1421402 - Add an environment variable for controlling the accessible blocklist. r=aklotz
MozReview-Commit-ID: GFCRbrfva7A

--HG--
extra : rebase_source : 88c8e6e5d9b1f87e20712f3f77ade940e9b3570c
2017-11-28 14:53:09 -06:00
James Teh bac5e97690 Bug 1421144: Fix IAccessible::accFocus on the root accessible for remote content. r=surkov
The base implementation of accFocus can't handle the case when a remote document has focus and just returns no focus (VT_EMPTY).
Override accFocus on the root accessible to try the accessible for the remote document in the active tab in this case.
This fixes focus loss with NVDA when dismissing the System menu.

MozReview-Commit-ID: 1jhAv08rDFU

--HG--
extra : rebase_source : 7381b397724f21ba894dc94a051996e5d96c642d
2017-11-28 04:15:56 +10:00
James Teh 2836bbadbd Bug 1419362 part 1: Make IAccessibleHypertext2::hyperlinks return null and S_FALSE when there are no hyperlinks. r=MarcoZ
As per the spec, if there are no hyperlinks, the hyperlinks array should be set to null and S_FALSE should be returned.
This saves pointless memory management when there are no hyperlinks.

MozReview-Commit-ID: 9wsiXBely6G

--HG--
extra : rebase_source : bc1f6b8a04205939b322393674414365fd89f39a
2017-11-22 10:33:23 +10:00