This should prevent introducing further delay when opening DevTools.
MozReview-Commit-ID: D9XDieFoU8a
--HG--
extra : rebase_source : f7a5309ed2f64ec358fee13068efd6da8acfbdd2
This is to avoid rendering for a frame or two without the menu item icons being
visible which causes flicker, particularly on lower-end machines.
MozReview-Commit-ID: Aq7AOkPwu9V
--HG--
extra : rebase_source : ee371cf848dcf39ec9f3cd9689268c3e9ef41c54
This is so that we can hook into the componentDidMount method.
MozReview-Commit-ID: 5NCDgvDPbe1
--HG--
extra : rebase_source : 3768f50b20d208f5d9bb5724194fcdc2927a873c
This patch introduces the icon property for MenuItem. It also add padding to
allow for checkboxes only if there is at least one MenuItem using a checkbox.
MozReview-Commit-ID: CvvlR51mA53
--HG--
extra : rebase_source : 47a2a7cace22ad93d247a1e60006f16eb79ab476
This patch will remove the dotted style focusring from TabBar. We have same tab
bar in the toolbox, but this tab has removed this style already.
(For detail, see bug 1444793)
MozReview-Commit-ID: CyazZkvKR6H
--HG--
extra : rebase_source : 821e606f54bfceba124af9d9c2585296f2ebc40e
Previously, we were trying to select the item the closest
to the input used for the autocompletion. It was causing
some weird behaviour when the popup wasn't displayed at
the expected position.
Always selection the top-most item seems will avoid those
cases, bring us consistency across the toolbox as well as
with other tool having autocompletion (code editors, Chrome, …).
The autocomplete-popup test is modified to assert the new behavior.
MozReview-Commit-ID: DhNovX51KRO
--HG--
extra : rebase_source : cfb2ebaaed23ce5c51ef9d8f447f3fabe0a04a49
This test is directly calling Autocomplete popup methods and only uses the
console for the instance and the input it provides. This patch moves the
test to the shared component folder, where the autocompletion code lives
so it feels more natural.
A few test cases are added in the jsterm_accessibility test, this time in
direct relation with the console input.
MozReview-Commit-ID: Ih7rOJ3vHpb
--HG--
rename : devtools/client/webconsole/test/mochitest/browser_jsterm_popup.js => devtools/client/shared/test/browser_autocomplete_popup.js
extra : rebase_source : 148e7d3d9ac69a40facc428c1201a9aa52eeda29
extra : source : b8b912f1999018c8f1677299d7180d3a03bcb2d7
In particular, the ID allows us to associate the tooltip with the button that
triggers it using the aria-controls attribute.
MozReview-Commit-ID: ArjH2s5JNlC
--HG--
extra : rebase_source : 5fed7b40a09c01d9b3d0f70de42d22388f2e5d63
We will use these methods later when we put menu content inside HTMLTooltip in
order to set the initial focus.
MozReview-Commit-ID: HR02wg543gP
--HG--
extra : rebase_source : d873b490db0358b813bc6fb019b70a3277b419a9
We will use this later when we introduce a MenuList class since it will want to
manage focus for its menu items.
This patch also extends the definition of focusable elements somewhat.
MozReview-Commit-ID: 3shnC0t79rF
--HG--
extra : rebase_source : 177e05adeef9708bdb78d46fda5286216db6cbb7
The current default value for height of Infinity has the unfortunate side
effect that, when combined with using a XUL wrapper, there will be a large
filler element stretching vertically on one side of the tooltip that effectively
neuters all content beneath it. While this is probably fine for tooltips that
are shown on hover, it is problematic if we want to use this for DevTools menus
because it means the user is unable to click anything above/below the menu so
long as it is open (which can be particularly problematic once we make
HTMLTooltip support the "Disable popup autohide" feature"). Even if we were to
decide that clicks outside the tooltip should be consumed anyway we would still
have the problem that hover styles don't apply in this "dead" region.
As a result, this patch makes the { height: Infinity } behaviour opt-in for
those tooltips that really need it. For most uses, however, a height calculated
when the tooltip is shown should be sufficient (and later in this patch series
we will add a mechanism to HTMLTooltip to explicitly request it recalculate its
size and position in response to content changes).
This patch introduces the { height: "auto" } mechanism and also reverses the
order in which size/position properties are calculated to match the regular
manner in which layout is performed: widths first, then heights.
MozReview-Commit-ID: 7BeVkxGVhYn
--HG--
extra : rebase_source : 4f0d88b377e00efc9d443db1a5ef0a7d29295929
In a couple of places in DevTools we read back the value of the
"devtools.toolbox.zoomValue" pref and take that to be the zoom value. However,
at certain zoom levels these two can differ: the pref value representing the
ideal zoom and currentZoom giving the actual zoom value in use.
This patch makes us use the actual zoom value in the two places where this
occurs.
Unfortunately, we cannot easily adjust the browser_html_tooltip_zoom.js test for
this since it uses a separate XUL document that does not take into account the
pref value---as a result that test directly sets the currentZoom on the separate
doc and hence this problem won't occur.
Instead, this patch adjusts the browser_toolbox_zoom_popup.js test since the
toolbox menu positioning uses the same problematic pattern so we can reproduce
the bug in the browser_toolbox_zoom_popup.js. (This patch fixes both
occurances of this pattern.)
At least locally browser_toolbox_zoom_popup.js passes for me with a zoom of 1.5
but fails with a zoom of 1.4. Similarly in my testing of HTMLTooltip, zoom
values such as 1.2 and 1.4 often show significant misalignment whilst a zoom of
1.3 or 1.5 is fine.
With the code changes in this patch, the test passes with any given zoom factor.
(This patch also incidentally replaced isNaN with the more robust Number.isNaN.)
MozReview-Commit-ID: JmlRoidARVp
--HG--
extra : rebase_source : 39370089e38c473987c9bfb1a4ba582cc781db1b
Currently the arrow offset is not correctly positioned in RTL mode as evidenced
by the test case included in this patch (which fails without the code changes
included in this patch).
This patch logicalizes the calculations for positioning the tooltip which fixes
this and other issues when using RTL mode and will make it easier to introduce
a new "doorhanger" type tooltip later in this patch series.
MozReview-Commit-ID: BQXhDHbPTbl
--HG--
extra : rebase_source : c9227a18442dafef84643981a98b5f3697d9e50b
Basically this rolls back the changes made to the reps bundle
in Bug 1463415. This change will be backported in Github later
so the fix can ride the train.
A test is added to make sure we don't regress again.
MozReview-Commit-ID: Csak2pPyTOR
--HG--
extra : rebase_source : a3f24dab9e062f0743cdbc4e9cec9d1ce62c86d1
The term "tab actor" was used ambiguously to mean either the "target actor
representing a tab" or "a child actor of the tab target actor" (such as the
console actor). Here we rename the second case to "target-scoped actor".
Differential Revision: https://phabricator.services.mozilla.com/D1760
--HG--
rename : devtools/client/debugger/test/mochitest/browser_dbg_tabactor-01.js => devtools/client/debugger/test/mochitest/browser_dbg_target-scoped-actor-01.js
rename : devtools/client/debugger/test/mochitest/browser_dbg_tabactor-02.js => devtools/client/debugger/test/mochitest/browser_dbg_target-scoped-actor-02.js
The term "tab actor" was used ambiguously to mean either the "target actor
representing a tab" or "a child actor of the tab target actor" (such as the
console actor). Here we rename the second case to "target-scoped actor".
Differential Revision: https://phabricator.services.mozilla.com/D1760
--HG--
rename : devtools/client/debugger/test/mochitest/browser_dbg_tabactor-01.js => devtools/client/debugger/test/mochitest/browser_dbg_target-scoped-actor-01.js
rename : devtools/client/debugger/test/mochitest/browser_dbg_tabactor-02.js => devtools/client/debugger/test/mochitest/browser_dbg_target-scoped-actor-02.js
This fixes the case of navigating a container tab from about:newtab to a remote
site. This case triggers the process flip machinery where parent process is
told to manage the load. We needed to allow certain session store messages for
this to complete successfully.
--HG--
extra : rebase_source : bb89e430941039d13a5352c9fc21777844de94e4
This adds a `openContentLink` helper meant for any link controlled by web
content. If there is an associated toolbox open, the toolbox's tab is used to
supply a triggering principal for the link.
MozReview-Commit-ID: 45l5yAPGpZr
--HG--
extra : rebase_source : 61a1d471d6792d148932488e854e16de60dea44b
All the changes here either directly worked when switching from ok() to is()
or were straightforward to fix.
MozReview-Commit-ID: LEcCu0A4msu
--HG--
extra : rebase_source : e46c812a64bca55cc29d7e76298d15bbc1b30b2a
This leaves getAdjustedQuads alone because it lives in its own world and its
result gets sent over IPC. That leaves things in a bit of an intermediate
state, but that should be OK for now.
MozReview-Commit-ID: DH6eGqCFhPr
--HG--
extra : rebase_source : 39feed5868c86a104e586f40bd1e80e8f8f34e0b
Ultimately fluent.js should not be vendored here, since fluent-react only
needs 2 methods from fluent.js.
Work is currently ongoing to extract those dependencies to separate packages,
once ready we will remove this vendored version of fluent.js.
MozReview-Commit-ID: E5uwsCHQ7tj
--HG--
extra : rebase_source : 549200589ee8f33a950cf28787ae170ee43229c1
The changes to telemetry.js::recordEvent() were necessary because the optional value and extra params cannot be sent to Services.telemetry.recordEvent() as undefined without throwing... using null instead works just fine.
MozReview-Commit-ID: CgoqSeR6mkl
--HG--
extra : rebase_source : 45bf8e249836e2a5c1a1281f1658170a44e1c470
Bug 1462553 points out that the CSS-parsing code in parsing-utils was
not correctly handling "!important"; in particular, it was allowing
this to appear in the middle of a declaration, rather than only at the
end. This patch fixes the parser.
MozReview-Commit-ID: 9efv60gX6nV
--HG--
extra : rebase_source : c7e2d1209132bc7a2285850b4bbd24ecbbcbb48d
The methods have been improved and now live in telemetry.js again.
We use these methods for tools that at least require timing.
MozReview-Commit-ID: 2CqBCA9j3XU
--HG--
extra : rebase_source : faa489ea4790db55648301be842f55cea308ce29
The openPopupAtScreen() use the zoomed css coordinate value as position value,
devtools's caller of this function use css pixel value without zoom. So position
of popup will missaligned if zooming out/in the devtool panel.
MozReview-Commit-ID: 4vvEssO41bO
--HG--
extra : rebase_source : 6bb8d7288590f3d85bfef362ecda9fc823675d7b
This patch will use rounded zoom value of dev tool panel.
This changes will ensure the zoom value test.
MozReview-Commit-ID: JvSdZUbpeCH
--HG--
extra : rebase_source : 390361836735f7bb1edeb28ad9e6ff40bb51e97f
This key will empty string, so we don't use this key now.
But we might use this key in the future.
MozReview-Commit-ID: ETwzSvqxXto
--HG--
extra : rebase_source : 314b758fcd02927ada42202d36e14f51380321f5
Also fixes existing code which fails the rule.
MozReview-Commit-ID: CkLFgsspGMU
--HG--
extra : rebase_source : 86a43837659aa2ad83a87eab53b7aa8d39ccf55b
Changes and notes:
- Created `devtools/client/shared/test/telemetry-test-helpers.js`, which
contains test helpers to aid in creating and running telemetry tests.
- Removed any telemetry monkeypatching as it is not dependable and no longer
needed (there is some left in GCLI but the test is now disabled because
we are removing GCLI soon anyhow).
- Because `telemetry-test-helpers.js` is imported by `shared-head.js` I
have had to make it available everywhere that shared-head.js is used.
- All telemetry tests have been rewritten to use the new helper.
- shared-head.js cannot be imported by tests inside
`devtools/client/performance/test/` because perf have custom `once` and
`waitFor` implementations that act differently from the ones inside
`shared-head.js`. This means I had to import the telemetry helpers into
`devtools/client/performance/test/head.js`
- Created `devtools/client/shared/test/browser_telemetry_misc.js` to be sure
to catch `DEVTOOLS_SCREEN_RESOLUTION_ENUMERATED_PER_USER` (we catch a few
others to be thorough).
- Disabled `browser_inspector_menu-02-copy-items.js`, which was failing to
test some expired scalars. I also corrected the way the scalars are logged
because it was completely wrong.
MozReview-Commit-ID: JjQEGM6hT61
--HG--
extra : rebase_source : cd1214d01bd11908f69167839975cd93ecb83421