I tried all kinds of CSS changes and experiments to get to the bottom of this.
This is due to an incompatibility between the flexbox API and `devtools/shared/layout/dom-matrix-2d.js::getWritingModeMatrix()`.
Take the following flexbox item:
```
______________________________
| ___ |
|| | |
||___| |
|______________________________|
```
In LTR mode the coordinates would be something like 5, 10, 25, 35 (x1, y1, x2, y2).
Now let's look at RTL mode:
```
______________________________
| ___ |
| | ||
| |___||
|______________________________|
```
In RTL mode the coordinates would be something like 85, 10, 105, 35 (x1, y1, x2, y2).
getWritingModeMatrix() flips the canvas in RTL mode naively assuming that this will flip our overlay. This causes 2 problems:
1. 0,0 moves from the top left to the top right, complicating our calculations.
2. The flexbox API returns coordinates relative to the top left of the canvas and not the top right.
Similar issues are caused by setting writing modes that results in flipping and rotating the canvas in similar ways.
In a nutshell rotating the canvas actually complicates our calculations instead of simplifying them.
This patch adds two named parameters to allow opting out of writing mode and RTL calculations.
Differential Revision: https://phabricator.services.mozilla.com/D9390
--HG--
extra : moz-landing-system : lando
Adds a "Refresh devices button". I was unsure on whether this button should use state for this or just plug directly into the adb module. In the end I opted for doing it via actions/state because it would also allow us to show somewhere else an indication of whether the scanner is running or not (in case we need it). But if you think this is overkill, I'll gladly change it.
To try it, with the device connected, open and close firefox. If you press Refresh you should see the list update.
Differential Revision: https://phabricator.services.mozilla.com/D9500
--HG--
extra : moz-landing-system : lando
I left GetMethodInfo, GetConstant as they are still useful as separate methods.
Differential Revision: https://phabricator.services.mozilla.com/D9638
--HG--
extra : moz-landing-system : lando
This combines some of your ideas from D8074, in which I think is quite a big improvement to the overall code.
The code for nsTransferable::GetTransferData, especially nsIFlavorDataProvider is a bit wonky, because I tried to preserve the current behavior.
Differential Revision: https://phabricator.services.mozilla.com/D9599
--HG--
extra : moz-landing-system : lando
Another regression linked to removing setContent API on HTMLTooltip.
The initial feedback to remove the method was from me, because we started seeing
two ways to set the content of the tooltip (DOM APIs or setContent) and I prefered
keeping only one. However the DOM approach still almost forces you to call setContentSize
in case your tooltip instance is shared for different content.
This is the case for the preview tooltip, which is used for CSS variables, fonts and image
previews. Maybe we should revisit the decision to remove this setContent API
Differential Revision: https://phabricator.services.mozilla.com/D9752
--HG--
extra : moz-landing-system : lando
Bug 1210630 introduced a mapping of the html:section element to roles::LANDMARK, however roles::REGION is more appropriate since that is also used by the WAI-ARIA role mapping and contains specific mappings for regions, e. g. on Mac.
Differential Revision: https://phabricator.services.mozilla.com/D9651
--HG--
extra : moz-landing-system : lando
Pointerevents aren't turned on for android, so the tests are obviously failing.
Differential Revision: https://phabricator.services.mozilla.com/D9748
--HG--
extra : moz-landing-system : lando
TextEditRules::Notify() is callback of the timer. Therefore, this won't be
in the stack while editor handles an edit action. Then, TextEditRules
cannot access edit action data which will be put on the stack after fixing
bug 1465702. So, it should do it after once calling a method of editor
instance (and editor instance should call back proper TextEditRules method).
Differential Revision: https://phabricator.services.mozilla.com/D9502
--HG--
extra : moz-landing-system : lando
HTMLEditor::InsertAsCitedQuotation() is an XPCOM method, so, it shouldn't be
used for internal use. Instead, there should be non-virtual method and
InsertAsCitedQuotation() should use it.
Differential Revision: https://phabricator.services.mozilla.com/D9501
--HG--
extra : moz-landing-system : lando
When running tests, we can build a WebIDL environment with no interfaces
exposed on the primary global. Unfortunately, due to the perfecthash.py logic
not handling empty tables, this causes an assertion to be raised.
We can work around this by generating some dummy code for that situation, as we
will never try to build it.
Differential Revision: https://phabricator.services.mozilla.com/D9407
This strategy allows us to dodge dynamic allocations in WebIDLGlobalNameHash.
This removes the Init() and Shutdown() methods, as well as Register. The
RegisterBindings.cpp file now only contains static data and one method
declaration for the WebIDLGlobalNameHash class.
This should also be faster by making the hashtable lookup infallible.
Differential Revision: https://phabricator.services.mozilla.com/D9406
This is needed for bug 1500926. It takes the approach of taking a JSFlatString
and using AutoAssertCannotGC to read the memory directly from the JS heap.
This lets us avoid re-encoding strings when performing lookups, which can be
advantageous.
Only ASCII strings are supported by this handler, and wide strings are hashed
as though they contain only values under 0x7f. This is OK as invalid keys to
perfecthash may return any hashtable entry.
Differential Revision: https://phabricator.services.mozilla.com/D9405
To make switching between `single_dep` and `multi_dep` easier, change
the `dependent-task` to `primary-dependency`.
Differential Revision: https://phabricator.services.mozilla.com/D9722
--HG--
extra : moz-landing-system : lando
Now autotest does not require java to be installed, but
it will let the user know that infer is not being tested if java
is missing.
Differential Revision: https://phabricator.services.mozilla.com/D7326
--HG--
extra : moz-landing-system : lando