Variables used for the background and text colors now have specific values in HCM.
We take this as an opportunity to add the force-color-on-flash class on closing tags,
as it was missing, which is pretty noticable in HCM.
Differential Revision: https://phabricator.services.mozilla.com/D226908
Using text-decoration allows us to only do it on hover, as it doesn't
triggers a layout shift (contrary to bottom border). This way, it also
prevent always showing the border in High Contrast Mode, where transparent
color is ignored.
Differential Revision: https://phabricator.services.mozilla.com/D226780
The indicator was always visible because transparent is forced
into an actual solid color in HCM, and the border is always set
to avoid layout shifts when a declaration becomes updated.
This is fixed by opting out of forced colors just for the declaration
top element, and re-setting it again for children.
The colors used for the indicator, --theme-highlight-green, is properly
set to a high contrast color in HCM.
Differential Revision: https://phabricator.services.mozilla.com/D226779
We're setting --theme-text-color-inactive to GrayText in HCM,
and we use this variable for styling unused/inactive items in
the Rules view, as we still want --theme-text-color-alt to have
the default canvas text in HCM.
In non-HCM, --theme-text-color-inactive was lacking contrast
against the usual background, so it's updated to have
sufficient contrast.
Differential Revision: https://phabricator.services.mozilla.com/D226746
The variable was used in a few places for elements that are not inactive.
It was probably picked because of its lighter color, but we do have
specific variable for that (for text and icons), that are better suited
and already adapt to High Contrast Mode.
In one case, the rule using it wasn't even used, so I removed it completely.
Depends on D226789
Differential Revision: https://phabricator.services.mozilla.com/D226745
The button had a children where we were handling the background image,
which is not the pattern we use for other icons.
The element is removed ans we defined the background image on the
button before pseudo element (everything is then handled thanks to the devtools-button class).
This makes the button look correct in High Contrast Mode.
Differential Revision: https://phabricator.services.mozilla.com/D226789
The colors that are defined for the charts are specified in High Contrast Mode,
so we can display them in the legend just fine.
This requires making the legend element their own element, as we don't want to
opt out of forced colors for the cell content.
Differential Revision: https://phabricator.services.mozilla.com/D226788
The highlighter is created when the inspector
is initialized and we were forcing a layout update
since we're not waiting for the page to load.
This was displaying a warning message in the console
that could confuse end users, and worse, trigger
animations when people didn't expected them to be.
To fix this, we add a new option in CanvasFrameAnonymousContentHelper
to control the layout update.
Differential Revision: https://phabricator.services.mozilla.com/D226320
This shouldn't happen but we got report that it did.
Let's hotfix this first so we avoid crashes, and we'll
come up with a proper fix later.
Differential Revision: https://phabricator.services.mozilla.com/D226316
The button could cover previous element (the tagname or an attribute value),
taking precedence over the clicked element.
To avoid this, we move the button hover the > character.
Differential Revision: https://phabricator.services.mozilla.com/D226278
This avoids having to pass the current thread from most callsites.
Even the leftovers, still passing a custom thread argument,
should probably be asserting that they are still relevant,
and be working against the currently selected thread.
Differential Revision: https://phabricator.services.mozilla.com/D218295
We were doing the check in the mapStateToProps, but only for pausing, not for tracing.
Let's do that consistantly from the selector.
Differential Revision: https://phabricator.services.mozilla.com/D218294
This help stop passing the selected frame as argument and ensure we never try to fetch data for an outdated frame.
While doing this, I'm adding assertion after each async call to stop execution if we resumed or moved to another frame.
Differential Revision: https://phabricator.services.mozilla.com/D218293
When we communicate a previously notified object actor form,
which was notified through a prevent RDP event or method call,
we passed its actor's form (a.k.a. "grip").
This contains a snapshot of the object in order to be able to display a preview
of it at the time the object was processed in the backend.
Now, when we manipulate the same JS value in the backend,
we may notify about the same object actor instance, but the actor's form ("grip")
will be updated to match the current state of the object.
In the frontend, we need to process this new form/grip in the Object Actor front,
so that the previews are correctly updated over time.
Differential Revision: https://phabricator.services.mozilla.com/D225236
This dedicated pool class shared by all the actors instantiating Object Actors
(console, thread and tracer actors) is going to later help reuse the same
WeakMap logic to instantiate only one actor per unique JS value.
I also merged console and target actor to use the same pool
as they basically have the same lifecycle. This simplify lookups
by Actor IDs done for selected object actor or console table objects.
Differential Revision: https://phabricator.services.mozilla.com/D225235