Display storage.sync items alongside storage.local items in the extension
storage inspector.
Because storage.local and storage.sync can each contain an item with the same
name, the item name alone is no longer unique. Use a compound uniqueKey
consisting of the item name and storage area to disambiguate them within the
same table. This approach follows the one used by the cookies storage actor.
The Storage Inspector client automatically uses the first field returned by
getFields() as the unique identifier for table rows, so exposing the compound
uniqueKey there lets existing interfaces such as getValuesForHost(),
editItem(), and removeItem() receive it without changes to their external
signatures.
Differential Revision: https://phabricator.services.mozilla.com/D304326
This reverts commit f2d8553f79.
Revert "Bug 2031714 - [devtools] Expose a flag on the TargetFront to know if the page is an error page. r=devtools-reviewers,nchevobbe"
This reverts commit 0ef861f993.
This reverts commit 13896a724c.
Revert "Bug 2031714 - [devtools] Expose a flag on the TargetFront to know if the page is an error page. r=devtools-reviewers,nchevobbe"
This reverts commit d6ca9ef038.
This reverts commit 78970467d8.
Revert "Bug 2031714 - [devtools] Expose a flag on the TargetFront to know if the page is an error page. r=devtools-reviewers,nchevobbe"
This reverts commit 6b862813ef.
This reverts commit b7f48700d7.
Revert "Bug 2031714 - [devtools] Implement "Local Mode" backend. r=devtools-reviewers,devtools-backward-compat-reviewers,bomsy"
This reverts commit 0f1b6c66ab.
Revert "Bug 2031714 - [devtools] Expose a flag on the TargetFront to know if the page is an error page. r=devtools-reviewers,nchevobbe"
This reverts commit 4cbb3ac689.
This patch make it so the tooltip we show when hovering a `@container` query condition
in the rule view will have the properties that are directly referenced in the condition.
So for example, if the query is `@container (width > 10px)` it'll have `width`,
if it's `@container style(--x)` it'll have `--x`, if it's `@container style(attr(data-x px))`,
it'll have `data-x` and so on.
We also indicate when referenced variables and attributes are not set.
Tests case are added in !!browser_rules_container-queries.js!! to cover the different
features we can have. We also now assert the condition text in `assertQueryContainerTooltip`
so it's easier to understand which condition the function is asserting.
Differential Revision: https://phabricator.services.mozilla.com/D294420
The player word is a relic of a past implementation of the Animation API that doesn't
exist anymore.
This patch removes/renames references to player that are easy to handle.
Renaming RDP methods / fronts will be done later in following commits.
Differential Revision: https://phabricator.services.mozilla.com/D289496
container queries can now have multiple conditions, so we're computing those
on the server and sending it to the client, where we render them separately.
As each condition might refer to a different container, we need to update how
we were handling hovering the container query to show the container tooltip.
Before, we were underlining the `@container` part plus the eventual container
name; now, we underline the whole condition (eventual container name + eventual
container query).
This also impacts how we were triggering the box model highlighter for the container,
it is now displayed when the tooltip is visible, and the tooltip is actually
responsible to toggle it.
The tooltip code is also tweaked so we would always show the tooltip based on
the condition element, not any of its children (e.g. the jump button).
And since we were updating things here, we now add a tooltip-anchor class to
the element that is used as the anchor for the tooltip, so it can be styled.
In this case, we use it to have the same style as we put on hover on the condition
so things feels a bit more stable.
Finally, in order for us to get the proper container, we had to update
`CSSContainerRule.queryContainerFor` in the previous patch so it would know which
condition we should get the container for.
This patch now properly pass the condition index to the RDP method, and the server
functions pass it to `CSSContainerRule.queryContainerFor`.
Differential Revision: https://phabricator.services.mozilla.com/D291482
Protocol.js doesn't enforce that packet objects **only** contains
attributes described in types. So that the "appliedstyle"
style was quite outdated.
This type is returned by `PageStyleActor.getApplied` and
is a critical part of Rule View updates as it convays
all the information about each applied rule for a given DOM Element.
But the overall management and definition of these objects
was diffused into manually crafted object of many shapes.
Unify all of them by always creating each of them through the
`#getRuleItem` method.
Also tweak a few comments that could be clearer.
Differential Revision: https://phabricator.services.mozilla.com/D283167
To detect the indentation of a given stylesheet when adding a property to an
empty rule, we would retrieve the whole stylesheet text on the client and then
run some heuristics.
This is quite costly, stylesheet can be quite large and sending all that text
from the server to the client isn't ideal.
This patch adds a `getStyleSheetIndentation` RDP method to the `StyleSheetsActor`,
so we're only getting what we want.
We also fix the backward compat case when adding property to an empty rule in
a large stylesheet, by taking the initial text from the long string front we
get in such case.
Differential Revision: https://phabricator.services.mozilla.com/D269349
The devtools protocol's bulk API is much more efficient, as we're
transfering the protocol data in a binary form instead of serializing it
using the devtools protocol.
In addition to that, the profile data is now gzipped before sending it.
Differential Revision: https://phabricator.services.mozilla.com/D244341
The Browser Toolbox currently debug all scripts in a given content process
via the related Content Process Target actor.
Because of this, we have to ignore the WindowGlobal Target actors
for anything related to Sources, breakpoints,...
But VS.Code would benefit from reusing the Browser Toolbox codepath,
while never using the Content Process targets (which have no real meaning for the user in VS.code),
and instead debug the sources via the WindowGlobal Target actors.
Introduce a new configuration to be able to distinguish the two codepaths.
Differential Revision: https://phabricator.services.mozilla.com/D235681