In most of the case, we're using it to remove all children, where we used
to loop through children and removing them one by one.
In a few cases where we would actually update the element right away,
clearing the item and adding new children, we migrate to replaceChildren
so we update the Element in one go.
Differential Revision: https://phabricator.services.mozilla.com/D266984
The plain class that was removed in Bug 1896330 was set
on a few elements in the variable view, the table and
the chart widgets, as well as in the inspector breadcrumb.
This patch removes the plain class and adjust styling
where it's needed.
Differential Revision: https://phabricator.services.mozilla.com/D210316
We need the string in devtools/shared `naturalOrder`, but we can't directly retrieve
it from the fluent file as it lives on the client (and won't be available in the
server on Android).
As the client and server might have different locales, we can't move the string
to devtools/shared.
Since the function is used from the server to make sure the data is displayed
properly on the UI, we pass the localized string to `getStoreObjects` so it's
then available to `naturalOrder`.
Tests are updated to match the new signature.
Differential Revision: https://phabricator.services.mozilla.com/D164354
It was needed only for sticky to work on XUL and it's not needed anymore.
The way splitters work on modern flexbox is that they take the min-width
property of the element they're resizing (without looking at descendants).
This is done for performance reasons (flex item min-width is more expensive to
compute on isolation than XUL flex was). Removing the wrapper makes the
min-width be on the right element anyways.
Differential Revision: https://phabricator.services.mozilla.com/D160722
Two issues fixed:
- when sorting on one column, other column content should be re-arranged
- natural order sort was not symmetrical for dates and led to inconsistent sorting
Differential Revision: https://phabricator.services.mozilla.com/D156420
There is a race condition in which the TableWidget was trying to sort values that are no longer available in the table itself, if we change the contents of the table too quickly. This patch should also fix Bug 1696727
Differential Revision: https://phabricator.services.mozilla.com/D122970
Summary
I needed to make changes to `devtools/client/shared/test/browser_tableWidget_mouse_interaction.js` because it was affected by the tiny change in structure to the table. This test is full of things like `table.tbody.firstChild.firstChild.firstChild` so it should be updated at some point but I am stuck for time at the moment.
Differential Revision: https://phabricator.services.mozilla.com/D59496
* Update the extensionStorage actor to enable some writing to extension storage.local through the Storage panel client.
* All values in the client are displayed as strings, so the actor must stringify them before sending them to the client and parse them when receiving changes from the client. For this reason, there is currently limited write support.
* Item values that are JSONifiable (numbers, strings, booleans, object literals, arrays and null) can be edited from the Storage panel.
* Object literals and arrays are only editable if their values are JSONifiable, with a maximum nested depth of 2 (e.g. an object with a nested object is editable, provided the nested object contains only primitive values). Object literals' keys must also be strings to be editable.
* Non-JSONifiable values cannot be edited, and will be represented by "{}" in most cases in the panel, though some non-JSONifiable values (undefined, Date, and BigInt) will be displayed as more readable strings.
* Some modifications are a little more complex, requiring an IndexedDB transaction. This will be handled in a separate patch.
* Item names cannot be edited from the Storage panel.
* New items cannot be added from the Storage panel.
* Any item can be removed.
* All items can be removed at once.
* In-line comments referencing Bugs 1542038 and 1542039 indicate places where the implementation may differ for local storage versus the other storage areas in the actor.
* The parseItemValue method used in the client was moved to a shared directory, so that the actor could parse string values from the client in its editItem method.
Differential Revision: https://phabricator.services.mozilla.com/D34416
As far as I am aware, we can't create tests to detect whether an error has been thrown... especially if the error has no side affects.
If we really need a test for these simple four fixes you can always insist but I don't think we do.
MozReview-Commit-ID: 7j9N1X4jTHY
We'll stop dispatching keypress event for non-printable keys and key
combinations at least in web content. This means that widget of
devtools/client cannot be tested with loading them into tabs with mochitest
browser chrome. Fortunately, they are cleanly independent from other module's
keypress event listeners. So, we can make they use keydown event to handle
non-printable keys and key combinations.
MozReview-Commit-ID: 6fNSsGi9VbQ