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
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
Depends on D9122
This is a follow up to the first patch that restores the category, but shows a "disabled"
message instead of the content
Differential Revision: https://phabricator.services.mozilla.com/D9123
--HG--
extra : moz-landing-system : lando
This is an attempt to fix the intermittent on this test.
It looks like we were setting the listeners on some events
after the request message was received, which might have
made us missed some events.
We take this bug as an opportunity to do some cleanup
on the test.
Differential Revision: https://phabricator.services.mozilla.com/D9075
--HG--
extra : moz-landing-system : lando
So far, when USB list was updated, since we replace to all new instances, the
states had not been able to keep. To resolve this, re-use runtimes that retain
in runtimes state.
Depends on D9470
Differential Revision: https://phabricator.services.mozilla.com/D9471
--HG--
extra : moz-landing-system : lando
When the addon was removed/added, REQUEST_EXTENSIONS_SUCCESS action was fired.
But because current USB runtime does not support extensions debugging, we
avoid to add debug target listener for USB runtime. Likewise, we refer the
state of supporting for workers and tabs.
Differential Revision: https://phabricator.services.mozilla.com/D9469
--HG--
extra : moz-landing-system : lando
Depends on D8741
This changeset updates some calls to ok() that should actually be calls to is()
and that needed tiny fixes to match the expected value.
Differential Revision: https://phabricator.services.mozilla.com/D8742
--HG--
extra : moz-landing-system : lando
Depends on D8740.
This changeset replaces calls to ok with 3 arguments to calls with 2 arguments
in situations where the switch does not have a significant impact on the assert.
Differential Revision: https://phabricator.services.mozilla.com/D8741
--HG--
extra : moz-landing-system : lando
Depends on D8739.
This changeset updates calls to ok() that were most likely intended
for is(), but are not working as is.
Differential Revision: https://phabricator.services.mozilla.com/D8740
--HG--
extra : moz-landing-system : lando
This changeset updates all the test that were wrongly using ok() and wanted to
use is() AND for which the assert is still passing without any modification
required.
Differential Revision: https://phabricator.services.mozilla.com/D8739
--HG--
extra : moz-landing-system : lando