Adding a new opcional property to Frame.js, messageSource, which will allows us to know the source of the Message. We will be using this property to display the correct tooltip message.
Differential Revision: https://phabricator.services.mozilla.com/D38139
--HG--
extra : moz-landing-system : lando
- Remove WebSocket Type column
- Move the frame type information to the Data column as an arrow icon
- Add L10N strings for frame types and time format
- Reorder columns
- Set percentage widths for columns to give more room to data and time
Differential Revision: https://phabricator.services.mozilla.com/D37064
--HG--
extra : moz-landing-system : lando
Some people found that the ConfirmDialog was getting into their
way when typing into the console, as it was stealing the focus.
This patch fixes this by not focusing the ConfirmDialog when
we show it, so the user can still type.
This means that we now handle the dialog confirm and dismiss from
JSTerm, when the former is displayed.
Since it wasn't clear how you could close the popup, we add a close
button that makes it very obvious.
This means we can drop the key handler in the dialog as the jsterm
is always focused.
We also simply remove the feature to open the MDN link on `?` key
stroke as it's not discoverable and was the only part of the
panel where you could do such thing.
Existing tests are adapted and extended to cover the new behaviour.
Differential Revision: https://phabricator.services.mozilla.com/D36174
--HG--
extra : moz-landing-system : lando
This implements the context menu items for the DOM mutation breakpoint.
In addition, there were some server changes to:
- Update the mutationBreakpoints form for the NodeActor
- Expose the mutationBreakpoints form
- Moved the setMutationBreakpoints method from the Node spec to Walker spec
since the Node spec only consisted of getter methods. It made more sense
that the setter went into the Walker spec to be more consistent with how
the Walker and Node spec have been arranged.
Unit tests will be followed up in Part 2 immediately.
Differential Revision: https://phabricator.services.mozilla.com/D36074
When the editor preference is true, a CSS class is added to
the panel that allow us to shift the layout to a CSS Grid, where
the input panel is on the left and the output on the right.
A toolbar is added to be able to execute an expression when in
editor mode.
Differential Revision: https://phabricator.services.mozilla.com/D17096
--HG--
extra : moz-landing-system : lando
Add a context menu entry to export the console output to a file.
We group the 2 export entries into a submenu.
Differential Revision: https://phabricator.services.mozilla.com/D22158
--HG--
extra : moz-landing-system : lando
Added proper plural form to editor.searchResults and sourceSearch.resultsSummary1. Updated the comments and IDs for the new strings as well. Replaced all instances of old string references with new string references.
Differential Revision: https://phabricator.services.mozilla.com/D32881
--HG--
extra : moz-landing-system : lando
This allows to have more meaningful warning group messages, i.e.
"Content Blocking" is turned into something like "The resource at
'<URL>' was blocked because content blocking is enabled".
This is done by parsing the message of the first warning to put
in the group, and replacing the URL with a generic placeholder.
We take this as an opportunity to decouple content blocked messages
and storage access blocked ones, as they have slightly different
meanings and consequences.
Tests are updated to match the new labels, and a new test is
added to make sure that we can have multiple warning group in a
single "page navigation" session.
Differential Revision: https://phabricator.services.mozilla.com/D34339
--HG--
extra : moz-landing-system : lando
This patch adds a componentDidCatch handler to the Message component
so we don't crash the whole console when a message can't be rendered.
When a message causes a crash, we display an error message instead,
asking the user to file a bug. A button allow to copy the message data
so it can be attached in the bug report.
Differential Revision: https://phabricator.services.mozilla.com/D31195
--HG--
extra : moz-landing-system : lando
This makes the console code more consistent, and adds the
nice benefit of being able to check if the layout should
be modified when performing non-window-resize events that
might still impact the layout (sidebar toggle, sidebar
resizing, ...).
Differential Revision: https://phabricator.services.mozilla.com/D27668
--HG--
extra : moz-landing-system : lando
This patch adds a componentDidCatch handler to the Message component
so we don't crash the whole console when a message can't be rendered.
When a message causes a crash, we display an error message instead,
asking the user to file a bug. A button allow to copy the message data
so it can be attached in the bug report.
Differential Revision: https://phabricator.services.mozilla.com/D31195
--HG--
extra : moz-landing-system : lando
### Changes
#### Set 1 - Match cookie creation strings, remove "on" and capitalize.
- Expires on {icon long-arrow-right} Expires
- Last accessed on {icon long-arrow-right} Last accessed
- Created on {icon long-arrow-right} Created
- sameSite {icon long-arrow-right} SameSite
#### Set 2 - Re-add missing strings
- table.headers.cookies.isHttpOnly=HttpOnly
- table.headers.cookies.isSecure=Secure
- table.headers.cookies.hostOnly=HostOnly
Differential Revision: https://phabricator.services.mozilla.com/D33041
--HG--
extra : moz-landing-system : lando
The current “go to line” keyboard shortcut `CmdOrCtrl+;` conflicts with the “step in” shortcut. The "go to line" shortcut is replaced with the shortcut for Chrome debugger and Sublime Text: `Ctrl+G`. Upper or lower cases don’t matter.
1. Current behavior:
1a) With no file open in editor; or with a file open in editor, but not pausing at a breakpoint:
`Cmd+;` or `Cmd+Shift+;` opens the “go to line” box.
1b) Pause at a breakpoint:
`Cmd+;` runs `step in`, and also opens the “go to line” box;
`Cmd+Shift+;` runs `step over`, and also opens the “go to line” box.
2) Code changes:
2a) Create gotoLineModal.key3.
2b) Update localization note.
2b) Update snapshot test.
3) After the code changes, on macOS:
3a) With no file open in editor:
`Ctrl+G` opens the “go to line” box.
3b) With a file open, but not pausing at breakpoints:
`Ctrl+G`opens the “go to line” box; hitting `Ctrl+G` again or `escape` closes the box.
3c) Pause at a breakpoint:
`Cmd+;` or `Cmd+Shift+;` doesn’t open the “go to line” box.
`Ctrl+G` opens the “go to line” box.
Differential Revision: https://phabricator.services.mozilla.com/D26256
--HG--
extra : moz-landing-system : lando
This introduce a new form of invalid messages. Until now, all the
messages were like "X has no effect on this since it's not Y".
But in this case, the width/height properties applies to all but
a few cases, which means we can't really keep the same shape of
message (or it would be "since it's not A, B, C, D, ...).
So we're switching to a message that prints the display property
of the element ("X has no effect on this element since it has a
display of Y").
In order to do that, we need to pipe the element computed display
into the inactive tooltip.
Differential Revision: https://phabricator.services.mozilla.com/D32805
--HG--
extra : moz-landing-system : lando
We also listen for the warningGroup preference change to
toggle warningGroups in the console output.
If warningGroups were disabled, we need to loop through
the state messages to create warningGroups when needed.
A test is added to ensure this works as expected.
Differential Revision: https://phabricator.services.mozilla.com/D32716
--HG--
extra : moz-landing-system : lando
This commit takes the popup, and wires it up the button using the
CustomizableUI interface. It is integrated with the DevTools initialization
code.
Differential Revision: https://phabricator.services.mozilla.com/D31629
--HG--
extra : moz-landing-system : lando
Displays blocked requests in the Network monitor request listing, providing a reason for why the request was blocked based on response codes provided b nsILoadInfo.idl
Differential Revision: https://phabricator.services.mozilla.com/D31907
--HG--
extra : moz-landing-system : lando
New column, defaulted to hidden, to show full URL for resource in netMonitor panel.
Differential Revision: https://phabricator.services.mozilla.com/D31348
--HG--
extra : moz-landing-system : lando
There was a last minute schedule change for remote debugging release and we will not ride the trains with Firefox 68
The deprecation schedule is therefore shifting by one release. We update the deprecation message in WebIDE here and we should
uplift this change to beta if possible. The patch was written in order to be uplifted, we can go for a simpler version if the
uplift is a no go.
Differential Revision: https://phabricator.services.mozilla.com/D31970
--HG--
extra : moz-landing-system : lando
### Changes
Probably the most important change apart from the tooltips is that we now only support one property at a time. This allows us to short circuit at the first invalid property and improve performance. This was previously agreed with Razvan but there were some relics left in the code.
`toolbox.xul`
- Added tooltips.ftl
`devtools/client/inspector/markup/test/helper_events_test_runner.js`:
- Had to change to synthesizeMouseAtCenter because CSS changes caused the original to fail.
`devtools/client/inspector/rules/rules.js`:
- Added `VIEW_NODE_INACTIVE_CSS` to node types and sorted alphabetically.
- Added new nodeInfo data for Inactive CSS icons.
`devtools/client/inspector/rules/test/browser_rules_inactive_css_flexbox.js` &
`devtools/client/inspector/rules/test/browser_rules_inactive_css_grid.js`:
- removed some listeners that are no longer needed
`devtools/client/inspector/rules/test/head.js`:
- Refactored `getPropertiesForRuleIndex()` in order to pass along information needed for testing our Fluent strings.
- Refactored `checkDeclarationIsInactive()` to check tooltip contnts using a new method.
- Added `checkInteractiveTooltip()` for checking the tooltip contents themselves.
- Simple changes to `runInactiveCSSTests()`.
`devtools/client/inspector/rules/views/text-property-editor.js`:
- We no longer create the tooltip by adding the title attribute.
`devtools/client/inspector/shared/node-types.js`:
- Changed the enum to use strings to simplify debugging.
- Added `VIEW_NODE_INACTIVE_CSS`.
- Sorted alphabetically.
`devtools/client/inspector/shared/tooltips-overlay.js`:
- Introduced a new tooltip type called `interactiveTooltip`.
`devtools/client/locales/en-US/inspector.properties`:
- Removed strings.
`devtools/client/locales/en-US/tooltips.ftl`:
- Added structured versions of the properties from `inspector.properties`.
`devtools/client/shared/widgets/tooltip/HTMLTooltip.js`:
- Made the tooltips obey the "prevent popup autohide" option in the browser debugger.
`devtools/client/shared/widgets/tooltip/InactiveCSSTooltipHelper.js`:
- Main file for handling InactiveCSS Tooltips.
`devtools/client/themes/tooltips.css`:
- Made arrow tooltips follow the Proton theme.
`devtools/server/actors/utils/inactive-property-helper.js`:
- General changes to support Fluent.
- Bail on first inactive property found.
### Latest Try (expecting green)
https://treeherder.mozilla.org/#/jobs?repo=try&revision=de28939206d444dc4b534a3e5cc7a84b8797bec3
Differential Revision: https://phabricator.services.mozilla.com/D29372
--HG--
extra : moz-landing-system : lando
### Summary of Changes
1. Added `element-style.js::refreshUnusedCssAll()`:
- This method refreshes the CSS declarations for every property change and then calls `element-style.js::_updatePropertyUsed()` for each pseudo element.
2. Added `element-style.js::_updatePropertyUsed()`:
- This method simply updates the unused CSS HTML for each property that needs it.
3. Added `alerticon-unused.svg`.
4. A tiny bit of tidying in `devtools/client/themes/rules.css`:
- Added blank lines before comments.
- Changed `0px` to `0`;
- Merged both the `#ruleview-class-panel .classes` rules.
- Added used and unused CSS styles.
- Hooked `InactivePropertyHelper` into `devtools/server/actors/styles.js`
5. `devtools/server/actors/utils/inactive-property-helper.js` contains the actual unused CSS engine.
6. This feature exposed a race condition inside `head.js::assertShowPreviewTooltip()`. It was mousing over an element and sometimes the tooltip emitted "shown" before we added the listener. This is now fixed.
### Try
https://treeherder.mozilla.org/#/jobs?repo=try&revision=016f8dc8e05dbaa89bc5a79b822ce23e786d3fc1
Differential Revision: https://phabricator.services.mozilla.com/D26879
--HG--
extra : moz-landing-system : lando
This patch builds on [Bug 1537876](https://bugzilla.mozilla.org/show_bug.cgi?id=1537876) which associates CSS selectors with error messages where applicable.
This patch introduces a new React component, `CSSWarning`, for messages of type CSS. It forks the`PageError` component which was shared for `LOG` messages of type `JAVASCRIPT` and type `CSS`.
The `CSSWarning` component is expandable when the message has an associated CSS selector. When expanded, it runs a `document.querySelectorAll()` command to list all elements matching the selector. Clicking on any of the elements in the result jumps to the Inspector and select the corresponding node in the markup view.
Not all errors have associated CSS selectors. Not all selectors match elements. The errors/warnings are a result of the CSS Parser; there is no guarantee that the CSS rule is used anywhere on the document. The query may return an empty `NodeList`.
Differential Revision: https://phabricator.services.mozilla.com/D28457
--HG--
extra : moz-landing-system : lando
Removed the Service Workers menu item, added Remote Debugging instead. Remote Debugging is displayed just above WebIDE
Differential Revision: https://phabricator.services.mozilla.com/D29219
--HG--
extra : moz-landing-system : lando
### Summary of Changes
1. Added `element-style.js::refreshUnusedCssAll()`:
- This method refreshes the CSS declarations for every property change and then calls `element-style.js::_updatePropertyUsed()` for each pseudo element.
2. Added `element-style.js::_updatePropertyUsed()`:
- This method simply updates the unused CSS HTML for each property that needs it.
3. Added `alerticon-unused.svg`.
4. A tiny bit of tidying in `devtools/client/themes/rules.css`:
- Added blank lines before comments.
- Changed `0px` to `0`;
- Merged both the `#ruleview-class-panel .classes` rules.
- Added used and unused CSS styles.
- Hooked `InactivePropertyHelper` into `devtools/server/actors/styles.js`
5. `devtools/server/actors/utils/inactive-property-helper.js` contains the actual unused CSS engine.
6. This feature exposed a race condition inside `head.js::assertShowPreviewTooltip()`. It was mousing over an element and sometimes the tooltip emitted "shown" before we added the listener. This is now fixed.
### Try
https://treeherder.mozilla.org/#/jobs?repo=try&revision=016f8dc8e05dbaa89bc5a79b822ce23e786d3fc1
Differential Revision: https://phabricator.services.mozilla.com/D26879
--HG--
extra : moz-landing-system : lando
Truncate the Request Payload if it exceeds the `devtools.netmonitor.requestBodyLimit` pref and show `Request has been truncated` error in the Params Tab
Differential Revision: https://phabricator.services.mozilla.com/D27898
--HG--
extra : moz-landing-system : lando
Added optional closing button to message component and sidebar info message for `USB enabled` notification
Differential Revision: https://phabricator.services.mozilla.com/D24702
--HG--
extra : moz-landing-system : lando
This is nearly the same the first patch for blocking, but adds the unblock
option as well.
Differential Revision: https://phabricator.services.mozilla.com/D26581
--HG--
extra : moz-landing-system : lando
This updates the request list to indicate a request was blocked by marking the
entire request item and also replaces transferred size column with "blocked by
DevTools". In the future, we may show other reasons for blocking in this way,
such as CORS, etc.
Differential Revision: https://phabricator.services.mozilla.com/D26580
--HG--
extra : moz-landing-system : lando
This is a very basic form of request blocking for the Network Monitor. It only
supports blocking a request via right-click. This change adds the minimal UI and
server support to block the request.
There is no UI to indicate what happened to the request yet, so it will just
look like a "confused" request that never started. Future patches will improve
from here.
Differential Revision: https://phabricator.services.mozilla.com/D26579
--HG--
extra : moz-landing-system : lando
A preference is added to enable this feature, another one
to store the last value of the checkbox.
When unchecked, the console hides all the messages that
don't originate from a chrome contect, via the `chromeContext`
property on the message.
Since we already have a test to check that content messages are
displayed in the console output, we use it to assert the
effects of the "Show content messages" checkbox.
Differential Revision: https://phabricator.services.mozilla.com/D26337
--HG--
extra : moz-landing-system : lando
Depends on D25779
To avoid confusion with connection/disconnection to runtimes, I use "unplugged" here. Makes sense for USB, might not make sense of we extend it to other connection types
Differential Revision: https://phabricator.services.mozilla.com/D25780
--HG--
extra : moz-landing-system : lando
A preference is added to enable this feature, another one
to store the last value of the checkbox.
When unchecked, the console hides all the messages that
don't originate from a chrome contect, via the `chromeContext`
property on the message.
Since we already have a test to check that content messages are
displayed in the console output, we use it to assert the
effects of the "Show content messages" checkbox.
Differential Revision: https://phabricator.services.mozilla.com/D26337
--HG--
extra : moz-landing-system : lando
This has some fun wins
- colored prompt
- multiline textarea
- default value for log points
Differential Revision: https://phabricator.services.mozilla.com/D26585
--HG--
extra : moz-landing-system : lando
- Reads the value for the letter-spacing CSS property and shows it in the Font Editor. When it is default, show the "normal" identifier. As soon as the user tries to edit it using the value slider, switch to an em-based value.
- Tweaks the unit conversion method to support letter-spacing: using correct reference node for em units, returning high-precision results even for pixels (allow sub-pixel precision)
Differential Revision: https://phabricator.services.mozilla.com/D25087
--HG--
extra : moz-landing-system : lando