* Flip the component pref to true by default for nightly builds only
* Move the pref check and initialization to a startup idle task
* And be a bit smarter about when we get and disable the addon
* Fix a bug where we try to communicate with the overlay after the window actor is destroyed when
the component pref gets flipped off during use
Differential Revision: https://phabricator.services.mozilla.com/D196888
* Flip the component pref to true by default for nightly builds only
* Move the pref check and initialization to a startup idle task
* And be a bit smarter about when we get and disable the addon
* Fix a bug where we try to communicate with the overlay after the window actor is destroyed when
the component pref gets flipped off during use
Differential Revision: https://phabricator.services.mozilla.com/D196888
* Flip the component pref to true by default for nightly builds only
* Move the pref check and initialization to a startup idle task
* And be a bit smarter about when we get and disable the addon
* Fix a bug where we try to communicate with the overlay after the window actor is destroyed when
the component pref gets flipped off during use
Differential Revision: https://phabricator.services.mozilla.com/D196888
* Flip the component pref to true by default for nightly builds only
* Move the pref check and initialization to a startup idle task
* And be a bit smarter about when we get and disable the addon
* Fix a bug where we try to communicate with the overlay after the window actor is destroyed when
the component pref gets flipped off during use
Differential Revision: https://phabricator.services.mozilla.com/D196888
Both the extension and the component were both passing in numbers like 286.6499938964844 but they were behind rounded differently or something?
It seems to me that the extension was flooring the numbers somewhere and the component wasn't flooring or rounding the numbers anywhere.
The two images would start off being the same but then would progressively become more different. See image diff below
{F5955989}
If we round the region before drawing the snapshot the resulting images will match.
Sometimes there is some offset difference (only 1 px difference) because the component now `round`s and I think the extensions `floor`s. `286.6499938964844` would be `286` for the extension and `287` for the component.
Differential Revision: https://phabricator.services.mozilla.com/D199059
* Move the chrome panel buttons into a `box` which is inserted into #navigator-toolbox
* Adjust what open/closed means using hidden instead
* Capture a weak ref to the focused element on open, and attempt to put focus back on exit
* Add some restore-focus tests
* Fix a bug where cancel via overlay "X" button wasn't exiting properly
* Place initial focus in the preview dialog button on the download button
Differential Revision: https://phabricator.services.mozilla.com/D181184
* Captures at exactly the max dimension (32767) result in a fully transparent image.
* Import these dimensions to use in tests so we have a single source of truth
* Update the same constant in the extension
Differential Revision: https://phabricator.services.mozilla.com/D190221
* Add a UIPhases / getUIPhase to figure out where we are in the flow, and get the UI into the right state
* Refactor to get rid of a bunch of implicit side-effects:
- Separate out getting the panel from creating it
- closePanel only closes the buttons panel
- Add a closeOverlay so we do that and only that when needed
* When the preview dialog closes, we expect to exit unless exitOnPreviewClose was set false
* Keep some state for each browser using a weakmap so we can better handle re-entry (and later, re-focusing)
Differential Revision: https://phabricator.services.mozilla.com/D185379