chrome-devtools-frontend 1.0.948295 → 1.0.949424
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/gni/all_devtools_files.gni +5 -0
- package/config/gni/devtools_grd_files.gni +5 -6
- package/front_end/core/i18n/locales/en-US.json +36 -30
- package/front_end/core/i18n/locales/en-XL.json +36 -30
- package/front_end/core/root/Runtime.ts +1 -0
- package/front_end/core/sdk/AccessibilityModel.ts +7 -7
- package/front_end/core/sdk/RemoteObject.ts +15 -1
- package/front_end/entrypoints/devtools_app/devtools_app.ts +0 -1
- package/front_end/entrypoints/visibility.gni +3 -1
- package/front_end/entrypoints/worker_app/worker_app.ts +0 -1
- package/front_end/generated/InspectorBackendCommands.js +8 -1
- package/front_end/generated/protocol-mapping.d.ts +4 -0
- package/front_end/generated/protocol-proxy-api.d.ts +6 -0
- package/front_end/generated/protocol.d.ts +9 -0
- package/front_end/models/issues_manager/AttributionReportingIssue.ts +42 -2
- package/front_end/models/issues_manager/descriptions/arInvalidAttributionSourceExpiry.md +4 -0
- package/front_end/models/issues_manager/descriptions/arInvalidAttributionSourcePriority.md +4 -0
- package/front_end/models/issues_manager/descriptions/arInvalidEventSourceTriggerData.md +9 -0
- package/front_end/models/issues_manager/descriptions/arInvalidTriggerDedupKey.md +5 -0
- package/front_end/models/issues_manager/descriptions/arInvalidTriggerPriority.md +5 -0
- package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +45 -3
- package/front_end/panels/accessibility/AccessibilitySidebarView.ts +2 -4
- package/front_end/panels/accessibility/axBreadcrumbs.css +4 -0
- package/front_end/panels/console/ConsolePrompt.ts +0 -4
- package/front_end/panels/elements/AccessibilityTreeUtils.ts +1 -7
- package/front_end/panels/elements/AccessibilityTreeView.ts +4 -6
- package/front_end/panels/elements/PropertiesWidget.ts +109 -4
- package/front_end/panels/elements/propertiesWidget.css +34 -0
- package/front_end/panels/emulation/DeviceModeToolbar.ts +5 -1
- package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +44 -0
- package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +1 -0
- package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
- package/front_end/third_party/codemirror.next/codemirror.next.d.ts +8 -6
- package/front_end/third_party/codemirror.next/package.json +3 -3
- package/package.json +1 -1
- package/scripts/eslint_rules/lib/ban_a_tags_in_lit_html.js +2 -11
- package/scripts/eslint_rules/lib/ban_literal_devtools_component_tag_names.js +2 -11
- package/scripts/eslint_rules/lib/ban_self_closing_custom_element_tagnames.js +2 -11
- package/scripts/eslint_rules/lib/ban_style_tags_in_lit_html.js +2 -11
- package/scripts/eslint_rules/lib/lit_html_data_as_type.js +2 -11
- package/scripts/eslint_rules/lib/lit_html_no_attribute_quotes.js +1 -13
- package/scripts/eslint_rules/lib/lit_no_style_interpolation.js +2 -11
- package/scripts/eslint_rules/lib/static_tag_must_be_static_property.js +2 -11
- package/scripts/eslint_rules/lib/utils.js +29 -0
- package/scripts/eslint_rules/tests/.eslintrc.js +4 -0
- package/scripts/eslint_rules/tests/utils_test.js +40 -0
- package/front_end/panels/help/HelpImpl.ts +0 -141
- package/front_end/panels/help/ReleaseNoteText.ts +0 -1496
- package/front_end/panels/help/ReleaseNoteView.ts +0 -107
- package/front_end/panels/help/help-meta.ts +0 -145
- package/front_end/panels/help/help.ts +0 -13
- package/front_end/panels/help/releaseNote.css +0 -115
- package/scripts/build/rjsmin.py +0 -484
|
@@ -50,6 +50,11 @@ all_devtools_files = [
|
|
|
50
50
|
"front_end/models/issues_manager/descriptions/arAttributionUntrustworthyOrigin.md",
|
|
51
51
|
"front_end/models/issues_manager/descriptions/arInvalidAttributionData.md",
|
|
52
52
|
"front_end/models/issues_manager/descriptions/arInvalidAttributionSourceEventId.md",
|
|
53
|
+
"front_end/models/issues_manager/descriptions/arInvalidAttributionSourceExpiry.md",
|
|
54
|
+
"front_end/models/issues_manager/descriptions/arInvalidAttributionSourcePriority.md",
|
|
55
|
+
"front_end/models/issues_manager/descriptions/arInvalidEventSourceTriggerData.md",
|
|
56
|
+
"front_end/models/issues_manager/descriptions/arInvalidTriggerDedupKey.md",
|
|
57
|
+
"front_end/models/issues_manager/descriptions/arInvalidTriggerPriority.md",
|
|
53
58
|
"front_end/models/issues_manager/descriptions/arMissingAttributionData.md",
|
|
54
59
|
"front_end/models/issues_manager/descriptions/arPermissionPolicyDisabled.md",
|
|
55
60
|
"front_end/models/issues_manager/descriptions/CoepCoopSandboxedIframeCannotNavigateToCoopPage.md",
|
|
@@ -274,6 +274,11 @@ grd_files_release_sources = [
|
|
|
274
274
|
"front_end/models/issues_manager/descriptions/arAttributionUntrustworthyOrigin.md",
|
|
275
275
|
"front_end/models/issues_manager/descriptions/arInvalidAttributionData.md",
|
|
276
276
|
"front_end/models/issues_manager/descriptions/arInvalidAttributionSourceEventId.md",
|
|
277
|
+
"front_end/models/issues_manager/descriptions/arInvalidAttributionSourceExpiry.md",
|
|
278
|
+
"front_end/models/issues_manager/descriptions/arInvalidAttributionSourcePriority.md",
|
|
279
|
+
"front_end/models/issues_manager/descriptions/arInvalidEventSourceTriggerData.md",
|
|
280
|
+
"front_end/models/issues_manager/descriptions/arInvalidTriggerDedupKey.md",
|
|
281
|
+
"front_end/models/issues_manager/descriptions/arInvalidTriggerPriority.md",
|
|
277
282
|
"front_end/models/issues_manager/descriptions/arMissingAttributionData.md",
|
|
278
283
|
"front_end/models/issues_manager/descriptions/arPermissionPolicyDisabled.md",
|
|
279
284
|
"front_end/models/issues_manager/descriptions/corsAllowCredentialsRequired.md",
|
|
@@ -356,8 +361,6 @@ grd_files_release_sources = [
|
|
|
356
361
|
"front_end/panels/emulation/emulation-meta.js",
|
|
357
362
|
"front_end/panels/emulation/emulation.js",
|
|
358
363
|
"front_end/panels/event_listeners/event_listeners.js",
|
|
359
|
-
"front_end/panels/help/help-meta.js",
|
|
360
|
-
"front_end/panels/help/help.js",
|
|
361
364
|
"front_end/panels/input/input-meta.js",
|
|
362
365
|
"front_end/panels/input/input.js",
|
|
363
366
|
"front_end/panels/issues/components/components.js",
|
|
@@ -957,10 +960,6 @@ grd_files_debug_sources = [
|
|
|
957
960
|
"front_end/panels/event_listeners/EventListenersUtils.js",
|
|
958
961
|
"front_end/panels/event_listeners/EventListenersView.js",
|
|
959
962
|
"front_end/panels/event_listeners/eventListenersView.css.js",
|
|
960
|
-
"front_end/panels/help/HelpImpl.js",
|
|
961
|
-
"front_end/panels/help/ReleaseNoteText.js",
|
|
962
|
-
"front_end/panels/help/ReleaseNoteView.js",
|
|
963
|
-
"front_end/panels/help/releaseNote.css.js",
|
|
964
963
|
"front_end/panels/input/InputModel.js",
|
|
965
964
|
"front_end/panels/input/InputTimeline.js",
|
|
966
965
|
"front_end/panels/input/inputTimeline.css.js",
|
|
@@ -1955,9 +1955,18 @@
|
|
|
1955
1955
|
"panels/accessibility/AXBreadcrumbsPane.ts | accessibilityTree": {
|
|
1956
1956
|
"message": "Accessibility Tree"
|
|
1957
1957
|
},
|
|
1958
|
+
"panels/accessibility/AXBreadcrumbsPane.ts | fullTreeExperimentDescription": {
|
|
1959
|
+
"message": "The accessibility tree moved to the top right corner of the DOM tree."
|
|
1960
|
+
},
|
|
1961
|
+
"panels/accessibility/AXBreadcrumbsPane.ts | fullTreeExperimentName": {
|
|
1962
|
+
"message": "Enable full-page accessibility tree"
|
|
1963
|
+
},
|
|
1958
1964
|
"panels/accessibility/AXBreadcrumbsPane.ts | ignored": {
|
|
1959
1965
|
"message": "Ignored"
|
|
1960
1966
|
},
|
|
1967
|
+
"panels/accessibility/AXBreadcrumbsPane.ts | reloadRequired": {
|
|
1968
|
+
"message": "Reload required before the change takes effect."
|
|
1969
|
+
},
|
|
1961
1970
|
"panels/accessibility/AXBreadcrumbsPane.ts | scrollIntoView": {
|
|
1962
1971
|
"message": "Scroll into view"
|
|
1963
1972
|
},
|
|
@@ -4664,6 +4673,21 @@
|
|
|
4664
4673
|
"panels/elements/PlatformFontsWidget.ts | renderedFonts": {
|
|
4665
4674
|
"message": "Rendered Fonts"
|
|
4666
4675
|
},
|
|
4676
|
+
"panels/elements/PropertiesWidget.ts | filter": {
|
|
4677
|
+
"message": "Filter"
|
|
4678
|
+
},
|
|
4679
|
+
"panels/elements/PropertiesWidget.ts | filterProperties": {
|
|
4680
|
+
"message": "Filter Properties"
|
|
4681
|
+
},
|
|
4682
|
+
"panels/elements/PropertiesWidget.ts | noMatchingProperty": {
|
|
4683
|
+
"message": "No matching property"
|
|
4684
|
+
},
|
|
4685
|
+
"panels/elements/PropertiesWidget.ts | showAll": {
|
|
4686
|
+
"message": "Show all"
|
|
4687
|
+
},
|
|
4688
|
+
"panels/elements/PropertiesWidget.ts | showAllTooltip": {
|
|
4689
|
+
"message": "When unchecked, only properties whose values are neither null nor undefined will be shown"
|
|
4690
|
+
},
|
|
4667
4691
|
"panels/elements/StylePropertyTreeElement.ts | copyAllCssDeclarationsAsJs": {
|
|
4668
4692
|
"message": "Copy all declarations as JS"
|
|
4669
4693
|
},
|
|
@@ -4958,36 +4982,6 @@
|
|
|
4958
4982
|
"panels/event_listeners/EventListenersView.ts | toggleWhetherEventListenerIs": {
|
|
4959
4983
|
"message": "Toggle whether event listener is passive or blocking"
|
|
4960
4984
|
},
|
|
4961
|
-
"panels/help/help-meta.ts | bug": {
|
|
4962
|
-
"message": "bug"
|
|
4963
|
-
},
|
|
4964
|
-
"panels/help/help-meta.ts | doNotShowWhatsNewAfterEachUpdate": {
|
|
4965
|
-
"message": "Do not show What's New after each update"
|
|
4966
|
-
},
|
|
4967
|
-
"panels/help/help-meta.ts | releaseNotes": {
|
|
4968
|
-
"message": "Release notes"
|
|
4969
|
-
},
|
|
4970
|
-
"panels/help/help-meta.ts | reportADevtoolsIssue": {
|
|
4971
|
-
"message": "Report a DevTools issue"
|
|
4972
|
-
},
|
|
4973
|
-
"panels/help/help-meta.ts | reportTranslationIssue": {
|
|
4974
|
-
"message": "Report a translation issue"
|
|
4975
|
-
},
|
|
4976
|
-
"panels/help/help-meta.ts | showWhatsNew": {
|
|
4977
|
-
"message": "Show What's New"
|
|
4978
|
-
},
|
|
4979
|
-
"panels/help/help-meta.ts | showWhatsNewAfterEachUpdate": {
|
|
4980
|
-
"message": "Show What's New after each update"
|
|
4981
|
-
},
|
|
4982
|
-
"panels/help/help-meta.ts | whatsNew": {
|
|
4983
|
-
"message": "What's New"
|
|
4984
|
-
},
|
|
4985
|
-
"panels/help/ReleaseNoteView.ts | close": {
|
|
4986
|
-
"message": "Close"
|
|
4987
|
-
},
|
|
4988
|
-
"panels/help/ReleaseNoteView.ts | learnMore": {
|
|
4989
|
-
"message": "Learn more"
|
|
4990
|
-
},
|
|
4991
4985
|
"panels/input/input-meta.ts | inputs": {
|
|
4992
4986
|
"message": "Inputs"
|
|
4993
4987
|
},
|
|
@@ -5204,9 +5198,21 @@
|
|
|
5204
5198
|
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourceEventId": {
|
|
5205
5199
|
"message": "Invalid attributionsourceeventid"
|
|
5206
5200
|
},
|
|
5201
|
+
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourceExpiry": {
|
|
5202
|
+
"message": "Invalid attributionexpiry"
|
|
5203
|
+
},
|
|
5204
|
+
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourcePriority": {
|
|
5205
|
+
"message": "Invalid attributionsourcepriority"
|
|
5206
|
+
},
|
|
5207
5207
|
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidTriggerData": {
|
|
5208
5208
|
"message": "Invalid trigger-data"
|
|
5209
5209
|
},
|
|
5210
|
+
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidTriggerDedupKey": {
|
|
5211
|
+
"message": "Invalid dedup-key"
|
|
5212
|
+
},
|
|
5213
|
+
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidTriggerPriority": {
|
|
5214
|
+
"message": "Invalid priority"
|
|
5215
|
+
},
|
|
5210
5216
|
"panels/issues/AttributionReportingIssueDetailsView.ts | nViolations": {
|
|
5211
5217
|
"message": "{n, plural, =1 {# violation} other {# violations}}"
|
|
5212
5218
|
},
|
|
@@ -1955,9 +1955,18 @@
|
|
|
1955
1955
|
"panels/accessibility/AXBreadcrumbsPane.ts | accessibilityTree": {
|
|
1956
1956
|
"message": "Âćĉéŝśîb́îĺît́ŷ T́r̂éê"
|
|
1957
1957
|
},
|
|
1958
|
+
"panels/accessibility/AXBreadcrumbsPane.ts | fullTreeExperimentDescription": {
|
|
1959
|
+
"message": "T̂h́ê áĉćêśŝíb̂íl̂ít̂ý t̂ŕêé m̂óv̂éd̂ t́ô t́ĥé t̂óp̂ ŕîǵĥt́ ĉór̂ńêŕ ôf́ t̂h́ê D́ÔḾ t̂ŕêé."
|
|
1960
|
+
},
|
|
1961
|
+
"panels/accessibility/AXBreadcrumbsPane.ts | fullTreeExperimentName": {
|
|
1962
|
+
"message": "Êńâb́l̂é f̂úl̂ĺ-p̂áĝé âćĉéŝśîb́îĺît́ŷ t́r̂éê"
|
|
1963
|
+
},
|
|
1958
1964
|
"panels/accessibility/AXBreadcrumbsPane.ts | ignored": {
|
|
1959
1965
|
"message": "Îǵn̂ór̂éd̂"
|
|
1960
1966
|
},
|
|
1967
|
+
"panels/accessibility/AXBreadcrumbsPane.ts | reloadRequired": {
|
|
1968
|
+
"message": "R̂él̂óâd́ r̂éq̂úîŕêd́ b̂éf̂ór̂é t̂h́ê ćĥán̂ǵê t́âḱêś êf́f̂éĉt́."
|
|
1969
|
+
},
|
|
1961
1970
|
"panels/accessibility/AXBreadcrumbsPane.ts | scrollIntoView": {
|
|
1962
1971
|
"message": "Ŝćr̂ól̂ĺ îńt̂ó v̂íêẃ"
|
|
1963
1972
|
},
|
|
@@ -4664,6 +4673,21 @@
|
|
|
4664
4673
|
"panels/elements/PlatformFontsWidget.ts | renderedFonts": {
|
|
4665
4674
|
"message": "R̂én̂d́êŕêd́ F̂ón̂t́ŝ"
|
|
4666
4675
|
},
|
|
4676
|
+
"panels/elements/PropertiesWidget.ts | filter": {
|
|
4677
|
+
"message": "F̂íl̂t́êŕ"
|
|
4678
|
+
},
|
|
4679
|
+
"panels/elements/PropertiesWidget.ts | filterProperties": {
|
|
4680
|
+
"message": "F̂íl̂t́êŕ P̂ŕôṕêŕt̂íêś"
|
|
4681
|
+
},
|
|
4682
|
+
"panels/elements/PropertiesWidget.ts | noMatchingProperty": {
|
|
4683
|
+
"message": "N̂ó m̂át̂ćĥín̂ǵ p̂ŕôṕêŕt̂ý"
|
|
4684
|
+
},
|
|
4685
|
+
"panels/elements/PropertiesWidget.ts | showAll": {
|
|
4686
|
+
"message": "Ŝh́ôẃ âĺl̂"
|
|
4687
|
+
},
|
|
4688
|
+
"panels/elements/PropertiesWidget.ts | showAllTooltip": {
|
|
4689
|
+
"message": "Ŵh́êń ûńĉh́êćk̂éd̂, ón̂ĺŷ ṕr̂óp̂ér̂t́îéŝ ẃĥóŝé v̂ál̂úêś âŕê ńêít̂h́êŕ n̂úl̂ĺ n̂ór̂ ún̂d́êf́îńêd́ ŵíl̂ĺ b̂é ŝh́ôẃn̂"
|
|
4690
|
+
},
|
|
4667
4691
|
"panels/elements/StylePropertyTreeElement.ts | copyAllCssDeclarationsAsJs": {
|
|
4668
4692
|
"message": "Ĉóp̂ý âĺl̂ d́êćl̂ár̂át̂íôńŝ áŝ J́Ŝ"
|
|
4669
4693
|
},
|
|
@@ -4958,36 +4982,6 @@
|
|
|
4958
4982
|
"panels/event_listeners/EventListenersView.ts | toggleWhetherEventListenerIs": {
|
|
4959
4983
|
"message": "T̂óĝǵl̂é ŵh́êt́ĥér̂ év̂én̂t́ l̂íŝt́êńêŕ îś p̂áŝśîv́ê ór̂ b́l̂óĉḱîńĝ"
|
|
4960
4984
|
},
|
|
4961
|
-
"panels/help/help-meta.ts | bug": {
|
|
4962
|
-
"message": "b̂úĝ"
|
|
4963
|
-
},
|
|
4964
|
-
"panels/help/help-meta.ts | doNotShowWhatsNewAfterEachUpdate": {
|
|
4965
|
-
"message": "D̂ó n̂ót̂ śĥóŵ Ẃĥát̂'ś N̂éŵ áf̂t́êŕ êáĉh́ ûṕd̂át̂é"
|
|
4966
|
-
},
|
|
4967
|
-
"panels/help/help-meta.ts | releaseNotes": {
|
|
4968
|
-
"message": "R̂él̂éâśê ńôt́êś"
|
|
4969
|
-
},
|
|
4970
|
-
"panels/help/help-meta.ts | reportADevtoolsIssue": {
|
|
4971
|
-
"message": "R̂ép̂ór̂t́ â D́êv́T̂óôĺŝ íŝśûé"
|
|
4972
|
-
},
|
|
4973
|
-
"panels/help/help-meta.ts | reportTranslationIssue": {
|
|
4974
|
-
"message": "R̂ép̂ór̂t́ â t́r̂án̂śl̂át̂íôń îśŝúê"
|
|
4975
|
-
},
|
|
4976
|
-
"panels/help/help-meta.ts | showWhatsNew": {
|
|
4977
|
-
"message": "Ŝh́ôẃ Ŵh́ât́'ŝ Ńêẃ"
|
|
4978
|
-
},
|
|
4979
|
-
"panels/help/help-meta.ts | showWhatsNewAfterEachUpdate": {
|
|
4980
|
-
"message": "Ŝh́ôẃ Ŵh́ât́'ŝ Ńêẃ âf́t̂ér̂ éâćĥ úp̂d́ât́ê"
|
|
4981
|
-
},
|
|
4982
|
-
"panels/help/help-meta.ts | whatsNew": {
|
|
4983
|
-
"message": "Ŵh́ât́'ŝ Ńêẃ"
|
|
4984
|
-
},
|
|
4985
|
-
"panels/help/ReleaseNoteView.ts | close": {
|
|
4986
|
-
"message": "Ĉĺôśê"
|
|
4987
|
-
},
|
|
4988
|
-
"panels/help/ReleaseNoteView.ts | learnMore": {
|
|
4989
|
-
"message": "L̂éâŕn̂ ḿôŕê"
|
|
4990
|
-
},
|
|
4991
4985
|
"panels/input/input-meta.ts | inputs": {
|
|
4992
4986
|
"message": "Îńp̂út̂ś"
|
|
4993
4987
|
},
|
|
@@ -5204,9 +5198,21 @@
|
|
|
5204
5198
|
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourceEventId": {
|
|
5205
5199
|
"message": "Îńv̂ál̂íd̂ attributionsourceeventid"
|
|
5206
5200
|
},
|
|
5201
|
+
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourceExpiry": {
|
|
5202
|
+
"message": "Îńv̂ál̂íd̂ attributionexpiry"
|
|
5203
|
+
},
|
|
5204
|
+
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourcePriority": {
|
|
5205
|
+
"message": "Îńv̂ál̂íd̂ attributionsourcepriority"
|
|
5206
|
+
},
|
|
5207
5207
|
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidTriggerData": {
|
|
5208
5208
|
"message": "Îńv̂ál̂íd̂ trigger-data"
|
|
5209
5209
|
},
|
|
5210
|
+
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidTriggerDedupKey": {
|
|
5211
|
+
"message": "Îńv̂ál̂íd̂ dedup-key"
|
|
5212
|
+
},
|
|
5213
|
+
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidTriggerPriority": {
|
|
5214
|
+
"message": "Îńv̂ál̂íd̂ priority"
|
|
5215
|
+
},
|
|
5210
5216
|
"panels/issues/AttributionReportingIssueDetailsView.ts | nViolations": {
|
|
5211
5217
|
"message": "{n, plural, =1 {# v̂íôĺât́îón̂} other {# v́îól̂át̂íôńŝ}}"
|
|
5212
5218
|
},
|
|
@@ -351,6 +351,7 @@ export enum ExperimentName {
|
|
|
351
351
|
PROTOCOL_MONITOR = 'protocolMonitor',
|
|
352
352
|
WEBAUTHN_PANE = 'webauthnPane',
|
|
353
353
|
SYNC_SETTINGS = 'syncSettings',
|
|
354
|
+
FULL_ACCESSIBILITY_TREE = 'fullAccessibilityTree',
|
|
354
355
|
}
|
|
355
356
|
|
|
356
357
|
// TODO(crbug.com/1167717): Make this a const enum again
|
|
@@ -291,25 +291,25 @@ export class AccessibilityModel extends SDKModel<EventTypes> implements Protocol
|
|
|
291
291
|
async requestAXChildren(nodeId: Protocol.Accessibility.AXNodeId, frameId?: Protocol.Page.FrameId):
|
|
292
292
|
Promise<AccessibilityNode[]> {
|
|
293
293
|
const parent = this.#axIdToAXNode.get(nodeId);
|
|
294
|
-
if (
|
|
294
|
+
if (!parent) {
|
|
295
|
+
throw Error('Cannot request children before parent');
|
|
296
|
+
}
|
|
297
|
+
if (!parent.hasUnloadedChildren()) {
|
|
295
298
|
return parent.children();
|
|
296
299
|
}
|
|
297
300
|
|
|
298
301
|
let nodes;
|
|
299
302
|
const request = this.#pendingChildRequests.get(nodeId);
|
|
300
303
|
if (request) {
|
|
301
|
-
|
|
304
|
+
await request;
|
|
302
305
|
} else {
|
|
303
306
|
const req = this.agent.invoke_getChildAXNodes({id: nodeId, frameId});
|
|
304
307
|
this.#pendingChildRequests.set(nodeId, req);
|
|
305
308
|
nodes = (await req).nodes;
|
|
309
|
+
this.createNodesFromPayload(nodes);
|
|
306
310
|
this.#pendingChildRequests.delete(nodeId);
|
|
307
311
|
}
|
|
308
|
-
|
|
309
|
-
return [];
|
|
310
|
-
}
|
|
311
|
-
const axNodes = this.createNodesFromPayload(nodes);
|
|
312
|
-
return axNodes;
|
|
312
|
+
return parent.children();
|
|
313
313
|
}
|
|
314
314
|
|
|
315
315
|
async requestAndLoadSubTreeToNode(node: DOMNode): Promise<AccessibilityNode[]|null> {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
*/
|
|
34
34
|
|
|
35
35
|
import type * as ProtocolProxyApi from '../../generated/protocol-proxy-api.js';
|
|
36
|
-
import
|
|
36
|
+
import * as Protocol from '../../generated/protocol.js';
|
|
37
37
|
|
|
38
38
|
import type {DebuggerModel, FunctionDetails} from './DebuggerModel.js';
|
|
39
39
|
import type {RuntimeModel} from './RuntimeModel.js';
|
|
@@ -62,6 +62,20 @@ export class RemoteObject {
|
|
|
62
62
|
return remoteObject.type;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
+
static isNullOrUndefined(remoteObject: RemoteObject|null|undefined): boolean {
|
|
66
|
+
if (remoteObject === null || remoteObject === undefined) {
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
switch (remoteObject.type) {
|
|
70
|
+
case Protocol.Runtime.RemoteObjectType.Object:
|
|
71
|
+
return remoteObject.subtype === Protocol.Runtime.RemoteObjectSubtype.Null;
|
|
72
|
+
case Protocol.Runtime.RemoteObjectType.Undefined:
|
|
73
|
+
return true;
|
|
74
|
+
default:
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
65
79
|
static arrayNameFromDescription(description: string): string {
|
|
66
80
|
return description.replace(_descriptionLengthParenRegex, '').replace(_descriptionLengthSquareRegex, '');
|
|
67
81
|
}
|
|
@@ -15,7 +15,6 @@ import '../../panels/developer_resources/developer_resources-meta.js';
|
|
|
15
15
|
import '../inspector_main/inspector_main-meta.js';
|
|
16
16
|
import '../../panels/application/application-meta.js';
|
|
17
17
|
import '../../panels/issues/issues-meta.js';
|
|
18
|
-
import '../../panels/help/help-meta.js';
|
|
19
18
|
import '../../panels/layers/layers-meta.js';
|
|
20
19
|
import '../../panels/lighthouse/lighthouse-meta.js';
|
|
21
20
|
import '../../panels/media/media-meta.js';
|
|
@@ -5,7 +5,6 @@ import '../shell/shell.js';
|
|
|
5
5
|
import '../../panels/browser_debugger/browser_debugger-meta.js';
|
|
6
6
|
import '../../panels/developer_resources/developer_resources-meta.js';
|
|
7
7
|
import '../../panels/elements/elements-meta.js';
|
|
8
|
-
import '../../panels/help/help-meta.js';
|
|
9
8
|
import '../../panels/issues/issues-meta.js';
|
|
10
9
|
import '../../panels/layer_viewer/layer_viewer-meta.js';
|
|
11
10
|
import '../../panels/mobile_throttling/mobile_throttling-meta.js';
|
|
@@ -270,7 +270,12 @@ export function registerCommands(inspectorBackend) {
|
|
|
270
270
|
AttributionSourceUntrustworthyOrigin: 'AttributionSourceUntrustworthyOrigin',
|
|
271
271
|
AttributionUntrustworthyOrigin: 'AttributionUntrustworthyOrigin',
|
|
272
272
|
AttributionTriggerDataTooLarge: 'AttributionTriggerDataTooLarge',
|
|
273
|
-
AttributionEventSourceTriggerDataTooLarge: 'AttributionEventSourceTriggerDataTooLarge'
|
|
273
|
+
AttributionEventSourceTriggerDataTooLarge: 'AttributionEventSourceTriggerDataTooLarge',
|
|
274
|
+
InvalidAttributionSourceExpiry: 'InvalidAttributionSourceExpiry',
|
|
275
|
+
InvalidAttributionSourcePriority: 'InvalidAttributionSourcePriority',
|
|
276
|
+
InvalidEventSourceTriggerData: 'InvalidEventSourceTriggerData',
|
|
277
|
+
InvalidTriggerPriority: 'InvalidTriggerPriority',
|
|
278
|
+
InvalidTriggerDedupKey: 'InvalidTriggerDedupKey'
|
|
274
279
|
});
|
|
275
280
|
inspectorBackend.registerEnum(
|
|
276
281
|
'Audits.GenericIssueErrorType', {CrossOriginPortalPostMessageError: 'CrossOriginPortalPostMessageError'});
|
|
@@ -591,6 +596,8 @@ export function registerCommands(inspectorBackend) {
|
|
|
591
596
|
inspectorBackend.registerCommand('Cast.disable', [], []);
|
|
592
597
|
inspectorBackend.registerCommand(
|
|
593
598
|
'Cast.setSinkToUse', [{'name': 'sinkName', 'type': 'string', 'optional': false}], []);
|
|
599
|
+
inspectorBackend.registerCommand(
|
|
600
|
+
'Cast.startDesktopMirroring', [{'name': 'sinkName', 'type': 'string', 'optional': false}], []);
|
|
594
601
|
inspectorBackend.registerCommand(
|
|
595
602
|
'Cast.startTabMirroring', [{'name': 'sinkName', 'type': 'string', 'optional': false}], []);
|
|
596
603
|
inspectorBackend.registerCommand('Cast.stopCasting', [{'name': 'sinkName', 'type': 'string', 'optional': false}], []);
|
|
@@ -1086,6 +1086,10 @@ export namespace ProtocolMapping {
|
|
|
1086
1086
|
* sink via Presentation API, Remote Playback API, or Cast SDK.
|
|
1087
1087
|
*/
|
|
1088
1088
|
'Cast.setSinkToUse': {paramsType: [Protocol.Cast.SetSinkToUseRequest]; returnType: void;};
|
|
1089
|
+
/**
|
|
1090
|
+
* Starts mirroring the desktop to the sink.
|
|
1091
|
+
*/
|
|
1092
|
+
'Cast.startDesktopMirroring': {paramsType: [Protocol.Cast.StartDesktopMirroringRequest]; returnType: void;};
|
|
1089
1093
|
/**
|
|
1090
1094
|
* Starts mirroring the tab to the sink.
|
|
1091
1095
|
*/
|
|
@@ -751,6 +751,12 @@ declare namespace ProtocolProxyApi {
|
|
|
751
751
|
*/
|
|
752
752
|
invoke_setSinkToUse(params: Protocol.Cast.SetSinkToUseRequest): Promise<Protocol.ProtocolResponseWithError>;
|
|
753
753
|
|
|
754
|
+
/**
|
|
755
|
+
* Starts mirroring the desktop to the sink.
|
|
756
|
+
*/
|
|
757
|
+
invoke_startDesktopMirroring(params: Protocol.Cast.StartDesktopMirroringRequest):
|
|
758
|
+
Promise<Protocol.ProtocolResponseWithError>;
|
|
759
|
+
|
|
754
760
|
/**
|
|
755
761
|
* Starts mirroring the tab to the sink.
|
|
756
762
|
*/
|
|
@@ -967,6 +967,11 @@ declare namespace Protocol {
|
|
|
967
967
|
AttributionUntrustworthyOrigin = 'AttributionUntrustworthyOrigin',
|
|
968
968
|
AttributionTriggerDataTooLarge = 'AttributionTriggerDataTooLarge',
|
|
969
969
|
AttributionEventSourceTriggerDataTooLarge = 'AttributionEventSourceTriggerDataTooLarge',
|
|
970
|
+
InvalidAttributionSourceExpiry = 'InvalidAttributionSourceExpiry',
|
|
971
|
+
InvalidAttributionSourcePriority = 'InvalidAttributionSourcePriority',
|
|
972
|
+
InvalidEventSourceTriggerData = 'InvalidEventSourceTriggerData',
|
|
973
|
+
InvalidTriggerPriority = 'InvalidTriggerPriority',
|
|
974
|
+
InvalidTriggerDedupKey = 'InvalidTriggerDedupKey',
|
|
970
975
|
}
|
|
971
976
|
|
|
972
977
|
/**
|
|
@@ -2773,6 +2778,10 @@ declare namespace Protocol {
|
|
|
2773
2778
|
sinkName: string;
|
|
2774
2779
|
}
|
|
2775
2780
|
|
|
2781
|
+
export interface StartDesktopMirroringRequest {
|
|
2782
|
+
sinkName: string;
|
|
2783
|
+
}
|
|
2784
|
+
|
|
2776
2785
|
export interface StartTabMirroringRequest {
|
|
2777
2786
|
sinkName: string;
|
|
2778
2787
|
}
|
|
@@ -17,8 +17,13 @@ export const enum IssueCode {
|
|
|
17
17
|
AttributionSourceUntrustworthyOrigin = 'AttributionReportingIssue::AttributionSourceUntrustworthyOrigin',
|
|
18
18
|
AttributionUntrustworthyFrameOrigin = 'AttributionReportingIssue::AttributionUntrustworthyFrameOrigin',
|
|
19
19
|
AttributionUntrustworthyOrigin = 'AttributionReportingIssue::AttributionUntrustworthyOrigin',
|
|
20
|
-
AttributionTriggerDataTooLarge = '
|
|
21
|
-
AttributionEventSourceTriggerDataTooLarge = '
|
|
20
|
+
AttributionTriggerDataTooLarge = 'AttributionReportingIssue::AttributionTriggerDataTooLarge',
|
|
21
|
+
AttributionEventSourceTriggerDataTooLarge = 'AttributionReportingIssue::AttributionEventSourceTriggerDataTooLarge',
|
|
22
|
+
InvalidAttributionSourceExpiry = 'AttributionReportingIssue::InvalidAttributionSourceExpiry',
|
|
23
|
+
InvalidAttributionSourcePriority = 'AttributionReportingIssue::InvalidAttributionSourcePriority',
|
|
24
|
+
InvalidEventSourceTriggerData = 'AttributionReportingIssue::InvalidEventSourceTriggerData',
|
|
25
|
+
InvalidTriggerPriority = 'AttributionReportingIssue::InvalidTriggerPriority',
|
|
26
|
+
InvalidTriggerDedupKey = 'AttributionReportingIssue::InvalidTriggerDedupKey',
|
|
22
27
|
}
|
|
23
28
|
|
|
24
29
|
function getIssueCode(details: Protocol.Audits.AttributionReportingIssueDetails): IssueCode {
|
|
@@ -40,6 +45,16 @@ function getIssueCode(details: Protocol.Audits.AttributionReportingIssueDetails)
|
|
|
40
45
|
return IssueCode.AttributionTriggerDataTooLarge;
|
|
41
46
|
case Protocol.Audits.AttributionReportingIssueType.AttributionEventSourceTriggerDataTooLarge:
|
|
42
47
|
return IssueCode.AttributionEventSourceTriggerDataTooLarge;
|
|
48
|
+
case Protocol.Audits.AttributionReportingIssueType.InvalidAttributionSourceExpiry:
|
|
49
|
+
return IssueCode.InvalidAttributionSourceExpiry;
|
|
50
|
+
case Protocol.Audits.AttributionReportingIssueType.InvalidAttributionSourcePriority:
|
|
51
|
+
return IssueCode.InvalidAttributionSourcePriority;
|
|
52
|
+
case Protocol.Audits.AttributionReportingIssueType.InvalidEventSourceTriggerData:
|
|
53
|
+
return IssueCode.InvalidEventSourceTriggerData;
|
|
54
|
+
case Protocol.Audits.AttributionReportingIssueType.InvalidTriggerPriority:
|
|
55
|
+
return IssueCode.InvalidTriggerPriority;
|
|
56
|
+
case Protocol.Audits.AttributionReportingIssueType.InvalidTriggerDedupKey:
|
|
57
|
+
return IssueCode.InvalidTriggerDedupKey;
|
|
43
58
|
}
|
|
44
59
|
}
|
|
45
60
|
|
|
@@ -108,6 +123,31 @@ export class AttributionReportingIssue extends Issue<IssueCode> {
|
|
|
108
123
|
file: 'arAttributionEventSourceTriggerDataTooLarge.md',
|
|
109
124
|
links: [],
|
|
110
125
|
};
|
|
126
|
+
case IssueCode.InvalidAttributionSourceExpiry:
|
|
127
|
+
return {
|
|
128
|
+
file: 'arInvalidAttributionSourceExpiry.md',
|
|
129
|
+
links: [],
|
|
130
|
+
};
|
|
131
|
+
case IssueCode.InvalidAttributionSourcePriority:
|
|
132
|
+
return {
|
|
133
|
+
file: 'arInvalidAttributionSourcePriority.md',
|
|
134
|
+
links: [],
|
|
135
|
+
};
|
|
136
|
+
case IssueCode.InvalidEventSourceTriggerData:
|
|
137
|
+
return {
|
|
138
|
+
file: 'arInvalidEventSourceTriggerData.md',
|
|
139
|
+
links: [],
|
|
140
|
+
};
|
|
141
|
+
case IssueCode.InvalidTriggerPriority:
|
|
142
|
+
return {
|
|
143
|
+
file: 'arInvalidTriggerPriority.md',
|
|
144
|
+
links: [],
|
|
145
|
+
};
|
|
146
|
+
case IssueCode.InvalidTriggerDedupKey:
|
|
147
|
+
return {
|
|
148
|
+
file: 'arInvalidTriggerDedupKey.md',
|
|
149
|
+
links: [],
|
|
150
|
+
};
|
|
111
151
|
}
|
|
112
152
|
}
|
|
113
153
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Ensure the "event-source-trigger-data" query parameter for an attribution redirect is a valid number
|
|
2
|
+
|
|
3
|
+
The event-source trigger data associated with an attribution was defaulted to `0`.
|
|
4
|
+
This happens if the `event-source-trigger-data` query parameter provided in the `.well-known`
|
|
5
|
+
redirect is not a valid 64-bit unsigned integer.
|
|
6
|
+
|
|
7
|
+
Note that even if a valid integer is provided, only the lowest 1-bit of the
|
|
8
|
+
`event-source-trigger-data` query parameter is recorded, with a 5% chance of the 1 bit being
|
|
9
|
+
noised.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Ensure the "dedup-key" query parameter for an attribution redirect is a valid number
|
|
2
|
+
|
|
3
|
+
The dedup key associated with an attribution was defaulted to `null`.
|
|
4
|
+
This happens if the `dedup-key` query parameter provided in the `.well-known` redirect is not a
|
|
5
|
+
valid 64-bit signed integer.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Ensure the "priority" query parameter for an attribution redirect is a valid number
|
|
2
|
+
|
|
3
|
+
The priority associated with an attribution was defaulted to `0`.
|
|
4
|
+
This happens if the `priority` query parameter provided in the `.well-known` redirect is not a
|
|
5
|
+
valid 64-bit signed integer.
|
|
@@ -3,8 +3,11 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
5
|
import * as Common from '../../core/common/common.js';
|
|
6
|
+
import * as Host from '../../core/host/host.js';
|
|
6
7
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
8
|
+
import * as Root from '../../core/root/root.js';
|
|
7
9
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
10
|
+
import * as Feedback from '../../ui/components/panel_feedback/panel_feedback.js';
|
|
8
11
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
9
12
|
|
|
10
13
|
import axBreadcrumbsStyles from './axBreadcrumbs.css.js';
|
|
@@ -27,6 +30,18 @@ const UIStrings = {
|
|
|
27
30
|
*@description Ignored node element text content in AXBreadcrumbs Pane of the Accessibility panel
|
|
28
31
|
*/
|
|
29
32
|
ignored: 'Ignored',
|
|
33
|
+
/**
|
|
34
|
+
*@description Name for experimental tree toggle.
|
|
35
|
+
*/
|
|
36
|
+
fullTreeExperimentName: 'Enable full-page accessibility tree',
|
|
37
|
+
/**
|
|
38
|
+
*@description Description text for experimental tree toggle.
|
|
39
|
+
*/
|
|
40
|
+
fullTreeExperimentDescription: 'The accessibility tree moved to the top right corner of the DOM tree.',
|
|
41
|
+
/**
|
|
42
|
+
*@description Message saying that DevTools must be restarted before the experiment is enabled.
|
|
43
|
+
*/
|
|
44
|
+
reloadRequired: 'Reload required before the change takes effect.',
|
|
30
45
|
};
|
|
31
46
|
const str_ = i18n.i18n.registerUIStrings('panels/accessibility/AXBreadcrumbsPane.ts', UIStrings);
|
|
32
47
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
@@ -37,24 +52,48 @@ export class AXBreadcrumbsPane extends AccessibilitySubPane {
|
|
|
37
52
|
private collapsingBreadcrumbId: number;
|
|
38
53
|
private hoveredBreadcrumb: AXBreadcrumb|null;
|
|
39
54
|
private readonly rootElement: HTMLElement;
|
|
55
|
+
#legacyTreeDisabled = false;
|
|
40
56
|
|
|
41
57
|
constructor(axSidebarView: AccessibilitySidebarView) {
|
|
42
58
|
super(i18nString(UIStrings.accessibilityTree));
|
|
43
59
|
|
|
44
60
|
this.element.classList.add('ax-subpane');
|
|
45
|
-
UI.ARIAUtils.markAsTree(this.element);
|
|
46
61
|
this.element.tabIndex = -1;
|
|
47
62
|
|
|
48
63
|
this.axSidebarView = axSidebarView;
|
|
49
|
-
|
|
50
64
|
this.preselectedBreadcrumb = null;
|
|
51
65
|
this.inspectedNodeBreadcrumb = null;
|
|
52
66
|
|
|
53
67
|
this.collapsingBreadcrumbId = -1;
|
|
54
68
|
|
|
55
|
-
this.hoveredBreadcrumb = null;
|
|
56
69
|
this.rootElement = this.element.createChild('div', 'ax-breadcrumbs');
|
|
57
70
|
|
|
71
|
+
this.hoveredBreadcrumb = null;
|
|
72
|
+
const previewToggle = new Feedback.PreviewToggle.PreviewToggle();
|
|
73
|
+
const name = i18nString(UIStrings.fullTreeExperimentName);
|
|
74
|
+
const experiment = Root.Runtime.ExperimentName.FULL_ACCESSIBILITY_TREE;
|
|
75
|
+
const onChangeCallback: (checked: boolean) => void = checked => {
|
|
76
|
+
Host.userMetrics.experimentChanged(experiment, checked);
|
|
77
|
+
UI.InspectorView.InspectorView.instance().displayReloadRequiredWarning(i18nString(UIStrings.reloadRequired));
|
|
78
|
+
};
|
|
79
|
+
if (Root.Runtime.experiments.isEnabled(experiment)) {
|
|
80
|
+
this.#legacyTreeDisabled = true;
|
|
81
|
+
const feedbackURL = 'https://goo.gle/devtools-a11y-tree-feedback';
|
|
82
|
+
previewToggle.data = {
|
|
83
|
+
name,
|
|
84
|
+
helperText: i18nString(UIStrings.fullTreeExperimentDescription),
|
|
85
|
+
feedbackURL,
|
|
86
|
+
experiment,
|
|
87
|
+
onChangeCallback,
|
|
88
|
+
};
|
|
89
|
+
this.element.appendChild(previewToggle);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
previewToggle.data = {name, helperText: null, feedbackURL: null, experiment, onChangeCallback};
|
|
93
|
+
this.element.prepend(previewToggle);
|
|
94
|
+
|
|
95
|
+
UI.ARIAUtils.markAsTree(this.rootElement);
|
|
96
|
+
|
|
58
97
|
this.rootElement.addEventListener('keydown', this.onKeyDown.bind(this), true);
|
|
59
98
|
this.rootElement.addEventListener('mousemove', this.onMouseMove.bind(this), false);
|
|
60
99
|
this.rootElement.addEventListener('mouseleave', this.onMouseLeave.bind(this), false);
|
|
@@ -72,6 +111,9 @@ export class AXBreadcrumbsPane extends AccessibilitySubPane {
|
|
|
72
111
|
}
|
|
73
112
|
|
|
74
113
|
setAXNode(axNode: SDK.AccessibilityModel.AccessibilityNode|null): void {
|
|
114
|
+
if (this.#legacyTreeDisabled) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
75
117
|
const hadFocus = this.element.hasFocus();
|
|
76
118
|
super.setAXNode(axNode);
|
|
77
119
|
|
|
@@ -31,10 +31,8 @@ export class AccessibilitySidebarView extends UI.ThrottledWidget.ThrottledWidget
|
|
|
31
31
|
this.axNodeInternal = null;
|
|
32
32
|
this.skipNextPullNode = false;
|
|
33
33
|
this.sidebarPaneStack = UI.ViewManager.ViewManager.instance().createStackLocation();
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
this.sidebarPaneStack.showView(this.breadcrumbsSubPane);
|
|
37
|
-
}
|
|
34
|
+
this.breadcrumbsSubPane = new AXBreadcrumbsPane(this);
|
|
35
|
+
this.sidebarPaneStack.showView(this.breadcrumbsSubPane);
|
|
38
36
|
this.ariaSubPane = new ARIAAttributesPane();
|
|
39
37
|
this.sidebarPaneStack.showView(this.ariaSubPane);
|
|
40
38
|
this.axNodeSubPane = new AXNodeSubPane();
|
|
@@ -99,6 +99,10 @@
|
|
|
99
99
|
background-color: var(--color-background-elevation-0);
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
+
.ax-breadcrumbs .ax-node:not(.inspected):focus {
|
|
103
|
+
background-color: var(--color-background-elevation-1);
|
|
104
|
+
}
|
|
105
|
+
|
|
102
106
|
.ax-breadcrumbs .ax-node.inspected:focus * {
|
|
103
107
|
color: inherit;
|
|
104
108
|
}
|