For example, this can happen when choosing File menu -> new Tab.
Focus briefly returns to the document in the original tab, so we ask that document to restore focus.
The remote document then sends a focus event to the parent.
However, before the parent can process that event, focus has already moved to the address bar for the new tab.
With this check, we discover that focus is now in the chrome and thus avoid firing the event for the remote accessible.
MozReview-Commit-ID: 7k58dzREqZD
--HG--
extra : rebase_source : 51303f54293957f562e8540c8bf98f821694be54
For example, this can happen when choosing File menu -> new Tab.
Focus briefly returns to the document in the original tab, so we ask that document to restore focus.
The remote document then sends a focus event to the parent.
However, before the parent can process that event, focus has already moved to the address bar for the new tab.
With this check, we discover that focus is now in the chrome and thus avoid firing the event for the remote accessible.
MozReview-Commit-ID: 7k58dzREqZD
--HG--
extra : rebase_source : 070d3a6b5032bd6d4cd36fb054be04509bb0faae
There is one actual behavior change here, in the webidl version of
TreeBoxObject::GetCellAt. I believe this change fixes a leak of the
nsTreeColumn, but could use careful review.
I tried to avoid changes not needed to get this compiling. There will be a lot
more cleanup in the next few changesets.
This was done automatically replacing:
s/mozilla::Move/std::move/
s/ Move(/ std::move(/
s/(Move(/(std::move(/
Removing the 'using mozilla::Move;' lines.
And then with a few manual fixups, see the bug for the split series..
MozReview-Commit-ID: Jxze3adipUh
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
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
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
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
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
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
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
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
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
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
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