chrome-devtools-frontend 1.0.1025175 → 1.0.1026673
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/devtools_grd_files.gni +1 -0
- package/config/gni/devtools_image_files.gni +1 -0
- package/docs/triage_guidelines.md +1 -122
- package/front_end/Images/src/star_outline.svg +3 -0
- package/front_end/core/common/ResourceType.ts +1 -0
- package/front_end/core/i18n/locales/en-US.json +18 -0
- package/front_end/core/i18n/locales/en-XL.json +18 -0
- package/front_end/core/sdk/DOMModel.ts +5 -0
- package/front_end/core/sdk/SourceMap.ts +22 -6
- package/front_end/entrypoints/lighthouse_worker/LighthouseWorkerService.ts +6 -3
- package/front_end/generated/InspectorBackendCommands.js +5 -3
- package/front_end/generated/SupportedCSSProperties.js +11 -0
- package/front_end/generated/protocol-mapping.d.ts +14 -0
- package/front_end/generated/protocol-proxy-api.d.ts +10 -0
- package/front_end/generated/protocol.ts +67 -0
- package/front_end/legacy_test_runner/sources_test_runner/DebuggerTestRunner.js +1 -1
- package/front_end/models/bindings/CompilerScriptMapping.ts +1 -1
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +7 -1
- package/front_end/models/bindings/IgnoreListManager.ts +18 -20
- package/front_end/models/issues_manager/descriptions/arAttributionUntrustworthyOrigin.md +3 -3
- package/front_end/models/issues_manager/descriptions/clientHintMetaTagAllowListInvalidOrigin.md +1 -1
- package/front_end/models/issues_manager/descriptions/clientHintMetaTagModifiedHTML.md +1 -1
- package/front_end/models/javascript_metadata/NativeFunctions.js +79 -67
- package/front_end/models/source_map_scopes/NamesResolver.ts +34 -0
- package/front_end/models/text_utils/TextRange.ts +8 -0
- package/front_end/models/timeline_model/TimelineModel.ts +18 -1
- package/front_end/panels/elements/ElementsTreeOutline.ts +18 -34
- package/front_end/panels/elements/TopLayerContainer.ts +51 -29
- package/front_end/panels/elements/elementsTreeOutline.css +1 -1
- package/front_end/panels/lighthouse/LighthouseController.ts +3 -0
- package/front_end/panels/network/NetworkDataGridNode.ts +1 -2
- package/front_end/panels/profiler/ProfilesPanel.ts +1 -0
- package/front_end/panels/security/SecurityPanel.ts +52 -0
- package/front_end/panels/security/originView.css +1 -1
- package/front_end/panels/sources/CallStackSidebarPane.ts +45 -16
- package/front_end/panels/sources/DebuggerPlugin.ts +2 -2
- package/front_end/panels/sources/callStackSidebarPane.css +15 -9
- package/front_end/panels/sources/navigatorTree.css +3 -3
- package/front_end/panels/sources/watchExpressionsSidebarPane.css +6 -0
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +1 -1
- package/front_end/ui/components/docs/building-ui-documentation/CreatingComponents.md +172 -1
- package/front_end/ui/components/text_editor/TextEditor.ts +3 -0
- package/front_end/ui/legacy/components/data_grid/dataGrid.css +2 -1
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +3 -2
- package/front_end/ui/legacy/components/object_ui/objectPropertiesSection.css +6 -1
- package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +5 -4
- package/package.json +1 -1
@@ -142,6 +142,7 @@ grd_files_release_sources = [
|
|
142
142
|
"front_end/Images/smallIcons.svg",
|
143
143
|
"front_end/Images/sources_panel_icon.svg",
|
144
144
|
"front_end/Images/speech.png",
|
145
|
+
"front_end/Images/star_outline.svg",
|
145
146
|
"front_end/Images/survey_feedback_icon.svg",
|
146
147
|
"front_end/Images/switcherIcon.svg",
|
147
148
|
"front_end/Images/three_dots_menu_icon.svg",
|
@@ -1,124 +1,3 @@
|
|
1
1
|
# Triage Guidelines
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
The most important thing: please use common sense. The guidelines below are likely not exhaustive and do not cover every case.
|
6
|
-
|
7
|
-
## What should be triaged?
|
8
|
-
|
9
|
-
All `Untriaged` DevTools issues, as well as any `Unconfirmed` issues that also have the `TE-NeedsTriageHelp` label need to be triaged.
|
10
|
-
|
11
|
-
[[Query]](https://bugs.chromium.org/p/chromium/issues/list?sort=-modified&q=-label%3ADevTools-Triaged%20component%3APlatform%3EDevTools%20status%3AUntriaged%20OR%20component%3APlatform%3EDevTools%20status%3AUnconfirmed%20label%3ATE-NeedsTriageHelp)
|
12
|
-
|
13
|
-
## Who is triaging?
|
14
|
-
|
15
|
-
Right now there is a Google-internal rotation set-up, with people that do weekly shifts.
|
16
|
-
As Microsoft is in an opposite timezone they have a similar rotation on the same triage queue, but during a different time.
|
17
|
-
|
18
|
-
- Google rotation: GMT+1
|
19
|
-
- MS rotation: GMT-9
|
20
|
-
|
21
|
-
## What are the SLOs?
|
22
|
-
|
23
|
-
[[Query]](https://bugs.chromium.org/p/chromium/issues/list?q=component%3APlatform%3EDevTools%20status%3AUntriaged%20modified-before%3Atoday-7%20OR%20component%3APlatform%3EDevTools%20status%3AUnconfirmed%20label%3ATE-NeedsTriageHelp%20modified-before%3Atoday-7)
|
24
|
-
|
25
|
-
Issues in the untriaged queue should receive a meaningful response within a business week. This means that the goal is to make the query mentioned above return zero issues.
|
26
|
-
|
27
|
-
## How are priorities defined?
|
28
|
-
|
29
|
-
- P0: This needs to be urgently done, fire drill alert!
|
30
|
-
- Most of the time, this seldom needs to be used.
|
31
|
-
- Critical security exploits that affect stable are a good example for a P0
|
32
|
-
- DevTools crashing on startup is a good example
|
33
|
-
- P1: This is important. Let’s aim to get this done next
|
34
|
-
- Non-critical security fixes will likely be in this category
|
35
|
-
- Regression bugs will be likely in this category
|
36
|
-
- Important features that partners are waiting for might be in this category
|
37
|
-
- P2: We want to do that. The exact time of delivery is not that important though.
|
38
|
-
- General feature work will likely be in this category
|
39
|
-
- Non-severe bugs
|
40
|
-
- P3: This is nice, but not important. We unlikely will do work here.
|
41
|
-
- Edge-case bugs might fit this category
|
42
|
-
- Non-important feature requests too
|
43
|
-
|
44
|
-
## How should issues be triaged?
|
45
|
-
|
46
|
-
- Close issues as `WontFix` if they don't reproduce (in simple cases) or are requests for features we've already concluded not to pursue.
|
47
|
-
- Close issues as `Archived` that are valid, but it seems unlikely that we will get there anytime soon.
|
48
|
-
- Move issues out of `Platform>DevTools` if they are not DevTools issues (but just reported via the menu item in DevTools), put on the `DevTools-Triaged` label and leave the `Untriaged` status as is.
|
49
|
-
- Assign regression bugs with bisects to individuals directly and set the status to `Assigned`.
|
50
|
-
- Put proper `Platform>DevTools>XXX` component(s) on the issue and do an initial check-in regarding the priority.
|
51
|
-
- Put one of the following labels on it and set the status to `Available`:
|
52
|
-
- `Hotlist-DevTools-ProductReview` if it's controversial or clear that consensus needs to be built first.
|
53
|
-
- `Team-DevTools-BrowserAutomation` if it's an issue related to ChromeDriver or puppeteer.
|
54
|
-
- `Team-DevTools-RuntimeDebugging` if it's a JavaScript or WebAssembly debugging issue.
|
55
|
-
- `Team-DevTools-WebDebugging` if it's a Web specific debugging issue (i.e. Network or Application panel).
|
56
|
-
- `Team-DevTools-DesignAccessibility` if it's a design or accessibility issue.
|
57
|
-
- `Team-DevTools-Performance` if the issue is related to our performance tooling (i.e. Performance panel, Lighthouse).
|
58
|
-
- `Team-DevTools-RecordReplay` if it's an issue with the recorder or puppeteer.
|
59
|
-
- No specific `Team` or `Hotlist` if it doesn't fit any specific team otherwise. Make sure to have the `Platform>DevTools` component (or a subcomponent) on it though.
|
60
|
-
- Also remember to put the `Needs-UX` label on it, if help from a designer is likely to be required.
|
61
|
-
|
62
|
-
### Setting Assigned or Available
|
63
|
-
|
64
|
-
Set issues to `Available` if they don’t need immediate action and nobody right now and in the short-term future (an iteration) needs to work on it.
|
65
|
-
|
66
|
-
Issues that are handled by Microsoft have the label “Hotlist-DevTools-MS-Backlog” and “Hotlist-DevTools-MS-CurrentSprint” respectively and can be considered triaged.
|
67
|
-
|
68
|
-
If you think they are super urgent, please assign them to yangguo@chromium.org and cc bmeurer@chromium.org and hablich@chromium.org.
|
69
|
-
|
70
|
-
### Closing issues
|
71
|
-
|
72
|
-
Don’t be afraid to close issues with WontFix if:
|
73
|
-
|
74
|
-
- Bugs that are not reproducible
|
75
|
-
- After two weeks you did not get a response back from the reporter on a question
|
76
|
-
- The requested “bug” is the intended behavior
|
77
|
-
Make sure that you bundle the WontFix with a brief comment explaining it e.g. “Setting to WontFix because not reproducible.”
|
78
|
-
|
79
|
-
## FAQ
|
80
|
-
|
81
|
-
### What if the issue belongs to another team?
|
82
|
-
|
83
|
-
If you think the to-triage issue is not a DevTools issue, please simply set it to a component that you think it should belong to and potentially remove the DevTools component. Make sure that the status is set to Untriaged. Please also ensure that you add the label DevTools-Triaged to the bug to ensure that the bug does not come back to the DevTools component. Feel free to CC people that you think might help with triaging this.
|
84
|
-
This essentially moves the issue out of the DevTools triage queue into another team’s queue.
|
85
|
-
|
86
|
-
### What if the issue is best handled by Microsoft?
|
87
|
-
|
88
|
-
If you think the to-triage issue or feature request is best handled by Microsoft then add the label "msft-consider" to the issue along with completing the other normal triage steps.
|
89
|
-
|
90
|
-
### There is a feature request I am unsure how to handle. What should I do?
|
91
|
-
|
92
|
-
Please set the request to Available and add the label “Hotlist-DevTools-ProductReview”.
|
93
|
-
|
94
|
-
### How do I indicate that a bug should block a release?
|
95
|
-
|
96
|
-
The combination of the label “M-<milestone>” and “Release-Block-<channel>” signals that this very bug is blocking a release. Examples:
|
97
|
-
|
98
|
-
- M-80, Release-Block-Stable
|
99
|
-
- This blocks the release of 80 to the Stable channel
|
100
|
-
- Depends in which release channel 80 is, this might not be an urgent (but still important bug to fix)
|
101
|
-
- M-81, Release-Block-Beta
|
102
|
-
- This blocks the release of 81 to the Beta channel
|
103
|
-
- Depends in which release channel 81 is, this might not be an urgent (but still important bug to fix)
|
104
|
-
- M-81, Release-Block-Dev
|
105
|
-
- This blocks the release of 81 to the Dev channel
|
106
|
-
- This typically means that the bug is urgent and important, as Dev releases are happening every week and are ok to be a little bit buggy.
|
107
|
-
|
108
|
-
## Out of scope
|
109
|
-
|
110
|
-
### Managing the backlog
|
111
|
-
|
112
|
-
[[Query]](https://bugs.chromium.org/p/chromium/issues/list?q=component%3APlatform%3EDevTools%20status%3AAvailable)
|
113
|
-
|
114
|
-
Managing the backlog is out of scope for the triage rotation. The backlog will be groomed continuously by hablich@ for now. The SLA is that there should be a maximum of 50 issues in there.
|
115
|
-
|
116
|
-
### Managing the ProductReview queue
|
117
|
-
|
118
|
-
[[Query]](https://bugs.chromium.org/p/chromium/issues/list?q=Hotlist%3DDevTools-ProductReview)
|
119
|
-
|
120
|
-
Issues in `ProductReview` will continuously be handled by hablich@ to unblock items in there. SLA is max 10 issues.
|
121
|
-
|
122
|
-
## References
|
123
|
-
|
124
|
-
- [Chromium triage guidelines](https://www.chromium.org/for-testers/bug-reporting-guidelines/triage-best-practices)
|
3
|
+
Moved to [go/chrome-devtools/triage-sheriff](http://go/chrome-devtools/triage-sheriff).
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path d="M7.08749 12.5811L8.99999 11.1186L10.9125 12.5811L10.1997 10.2564L12.3372 8.55H9.76859L8.99999 6.1875L8.25029 8.55H5.66279L7.81919 10.2564L7.08749 12.5811ZM4.55579 16.2L6.24419 10.7442L1.79999 7.2H7.25579L8.99999 1.8L10.7442 7.2H16.2L11.7558 10.7442L13.4442 16.2L8.99999 12.825L4.55579 16.2Z" fill="black"/>
|
3
|
+
</svg>
|
@@ -366,6 +366,7 @@ export const resourceTypes = {
|
|
366
366
|
TextTrack: new ResourceType('texttrack', i18nLazyString(UIStrings.texttrack), resourceCategories.Other, true),
|
367
367
|
XHR: new ResourceType('xhr', i18n.i18n.lockedLazyString('XHR'), resourceCategories.XHR, true),
|
368
368
|
Fetch: new ResourceType('fetch', i18nLazyString(UIStrings.fetch), resourceCategories.XHR, true),
|
369
|
+
Prefetch: new ResourceType('prefetch', i18n.i18n.lockedLazyString('Prefetch'), resourceCategories.Document, true),
|
369
370
|
EventSource: new ResourceType('eventsource', i18nLazyString(UIStrings.eventsource), resourceCategories.XHR, true),
|
370
371
|
WebSocket: new ResourceType('websocket', i18nLazyString(UIStrings.websocket), resourceCategories.WebSocket, false),
|
371
372
|
// TODO(yoichio): Consider creating new category WT or WS/WT with WebSocket.
|
@@ -1709,6 +1709,12 @@
|
|
1709
1709
|
"models/timeline_model/TimelineModel.ts | workerSS": {
|
1710
1710
|
"message": "Worker: {PH1} — {PH2}"
|
1711
1711
|
},
|
1712
|
+
"models/timeline_model/TimelineModel.ts | workletService": {
|
1713
|
+
"message": "Auction Worklet Service"
|
1714
|
+
},
|
1715
|
+
"models/timeline_model/TimelineModel.ts | workletServiceS": {
|
1716
|
+
"message": "Auction Worklet Service — {PH1}"
|
1717
|
+
},
|
1712
1718
|
"models/workspace/UISourceCode.ts | index": {
|
1713
1719
|
"message": "(index)"
|
1714
1720
|
},
|
@@ -8921,6 +8927,12 @@
|
|
8921
8927
|
"panels/security/SecurityPanel.ts | contentWithCertificateErrors": {
|
8922
8928
|
"message": "content with certificate errors"
|
8923
8929
|
},
|
8930
|
+
"panels/security/SecurityPanel.ts | enabled": {
|
8931
|
+
"message": "enabled"
|
8932
|
+
},
|
8933
|
+
"panels/security/SecurityPanel.ts | encryptedClientHello": {
|
8934
|
+
"message": "Encrypted ClientHello"
|
8935
|
+
},
|
8924
8936
|
"panels/security/SecurityPanel.ts | flaggedByGoogleSafeBrowsing": {
|
8925
8937
|
"message": "Flagged by Google Safe Browsing"
|
8926
8938
|
},
|
@@ -9044,6 +9056,9 @@
|
|
9044
9056
|
"panels/security/SecurityPanel.ts | securityOverview": {
|
9045
9057
|
"message": "Security overview"
|
9046
9058
|
},
|
9059
|
+
"panels/security/SecurityPanel.ts | serverSignature": {
|
9060
|
+
"message": "Server signature"
|
9061
|
+
},
|
9047
9062
|
"panels/security/SecurityPanel.ts | showFullDetails": {
|
9048
9063
|
"message": "Show full details"
|
9049
9064
|
},
|
@@ -9146,6 +9161,9 @@
|
|
9146
9161
|
"panels/security/SecurityPanel.ts | unknownCanceled": {
|
9147
9162
|
"message": "Unknown / canceled"
|
9148
9163
|
},
|
9164
|
+
"panels/security/SecurityPanel.ts | unknownField": {
|
9165
|
+
"message": "unknown"
|
9166
|
+
},
|
9149
9167
|
"panels/security/SecurityPanel.ts | validAndTrusted": {
|
9150
9168
|
"message": "valid and trusted"
|
9151
9169
|
},
|
@@ -1709,6 +1709,12 @@
|
|
1709
1709
|
"models/timeline_model/TimelineModel.ts | workerSS": {
|
1710
1710
|
"message": "Worker: {PH1} — {PH2}"
|
1711
1711
|
},
|
1712
|
+
"models/timeline_model/TimelineModel.ts | workletService": {
|
1713
|
+
"message": "Âúĉt́îón̂ Ẃôŕk̂ĺêt́ Ŝér̂v́îćê"
|
1714
|
+
},
|
1715
|
+
"models/timeline_model/TimelineModel.ts | workletServiceS": {
|
1716
|
+
"message": "Âúĉt́îón̂ Ẃôŕk̂ĺêt́ Ŝér̂v́îćê — {PH1}"
|
1717
|
+
},
|
1712
1718
|
"models/workspace/UISourceCode.ts | index": {
|
1713
1719
|
"message": "(îńd̂éx̂)"
|
1714
1720
|
},
|
@@ -8921,6 +8927,12 @@
|
|
8921
8927
|
"panels/security/SecurityPanel.ts | contentWithCertificateErrors": {
|
8922
8928
|
"message": "ĉón̂t́êńt̂ ẃît́ĥ ćêŕt̂íf̂íĉát̂é êŕr̂ór̂ś"
|
8923
8929
|
},
|
8930
|
+
"panels/security/SecurityPanel.ts | enabled": {
|
8931
|
+
"message": "êńâb́l̂éd̂"
|
8932
|
+
},
|
8933
|
+
"panels/security/SecurityPanel.ts | encryptedClientHello": {
|
8934
|
+
"message": "Êńĉŕŷṕt̂éd̂ Ćl̂íêńt̂H́êĺl̂ó"
|
8935
|
+
},
|
8924
8936
|
"panels/security/SecurityPanel.ts | flaggedByGoogleSafeBrowsing": {
|
8925
8937
|
"message": "F̂ĺâǵĝéd̂ b́ŷ Ǵôóĝĺê Śâf́ê B́r̂óŵśîńĝ"
|
8926
8938
|
},
|
@@ -9044,6 +9056,9 @@
|
|
9044
9056
|
"panels/security/SecurityPanel.ts | securityOverview": {
|
9045
9057
|
"message": "Ŝéĉúr̂ít̂ý ôv́êŕv̂íêẃ"
|
9046
9058
|
},
|
9059
|
+
"panels/security/SecurityPanel.ts | serverSignature": {
|
9060
|
+
"message": "Ŝér̂v́êŕ ŝíĝńât́ûŕê"
|
9061
|
+
},
|
9047
9062
|
"panels/security/SecurityPanel.ts | showFullDetails": {
|
9048
9063
|
"message": "Ŝh́ôẃ f̂úl̂ĺ d̂ét̂áîĺŝ"
|
9049
9064
|
},
|
@@ -9146,6 +9161,9 @@
|
|
9146
9161
|
"panels/security/SecurityPanel.ts | unknownCanceled": {
|
9147
9162
|
"message": "Ûńk̂ńôẃn̂ / ćâńĉél̂éd̂"
|
9148
9163
|
},
|
9164
|
+
"panels/security/SecurityPanel.ts | unknownField": {
|
9165
|
+
"message": "ûńk̂ńôẃn̂"
|
9166
|
+
},
|
9149
9167
|
"panels/security/SecurityPanel.ts | validAndTrusted": {
|
9150
9168
|
"message": "v̂ál̂íd̂ án̂d́ t̂ŕûśt̂éd̂"
|
9151
9169
|
},
|
@@ -344,6 +344,10 @@ export class DOMNode {
|
|
344
344
|
return this.#pseudoElements.get(DOMNode.PseudoElementNames.Marker)?.at(-1);
|
345
345
|
}
|
346
346
|
|
347
|
+
backdropPseudoElement(): DOMNode|undefined {
|
348
|
+
return this.#pseudoElements.get(DOMNode.PseudoElementNames.Backdrop)?.at(-1);
|
349
|
+
}
|
350
|
+
|
347
351
|
pageTransitionPseudoElements(): DOMNode[] {
|
348
352
|
return [
|
349
353
|
...this.#pseudoElements.get(DOMNode.PseudoElementNames.PageTransition) || [],
|
@@ -982,6 +986,7 @@ export namespace DOMNode {
|
|
982
986
|
PageTransitionImageWrapper = 'page-transition-image-wrapper',
|
983
987
|
PageTransitionOutgoingImage = 'page-transition-outgoing-image',
|
984
988
|
PageTransitionIncomingImage = 'page-transition-incoming-image',
|
989
|
+
Backdrop = 'backdrop',
|
985
990
|
}
|
986
991
|
|
987
992
|
// TODO(crbug.com/1167717): Make this a const enum again
|
@@ -77,6 +77,9 @@ export interface SourceMap {
|
|
77
77
|
SourceMapEntry|null;
|
78
78
|
mappings(): SourceMapEntry[];
|
79
79
|
mapsOrigin(): boolean;
|
80
|
+
hasIgnoreListHint(sourceURL: Platform.DevToolsPath.UrlString): boolean;
|
81
|
+
findRanges(predicate: (sourceURL: Platform.DevToolsPath.UrlString) => boolean, options: {isStartMatching: boolean}):
|
82
|
+
TextUtils.TextRange.TextRange[];
|
80
83
|
}
|
81
84
|
|
82
85
|
export class SourceMapV3 {
|
@@ -595,19 +598,32 @@ export class TextSourceMap implements SourceMap {
|
|
595
598
|
}
|
596
599
|
|
597
600
|
/**
|
598
|
-
* Returns a list of ranges in the generated script
|
599
|
-
*
|
600
|
-
*
|
601
|
-
* the
|
601
|
+
* Returns a list of ranges in the generated script for original sources that
|
602
|
+
* match a predicate. Each range is a [begin, end) pair, meaning that code at
|
603
|
+
* the beginning location, up to but not including the end location, matches
|
604
|
+
* the predicate.
|
602
605
|
*/
|
603
|
-
|
606
|
+
findRanges(predicate: (sourceURL: Platform.DevToolsPath.UrlString) => boolean, options?: {isStartMatching: boolean}):
|
607
|
+
TextUtils.TextRange.TextRange[] {
|
604
608
|
const mappings = this.mappings();
|
605
609
|
const ranges = [];
|
606
610
|
|
611
|
+
if (!mappings.length) {
|
612
|
+
return [];
|
613
|
+
}
|
614
|
+
|
607
615
|
let current: TextUtils.TextRange.TextRange|null = null;
|
608
616
|
|
617
|
+
// If the first mapping isn't at the beginning of the original source, it's
|
618
|
+
// up to the caller to decide if it should be considered matching the
|
619
|
+
// predicate or not. By default, it's not.
|
620
|
+
if ((mappings[0].lineNumber !== 0 || mappings[0].columnNumber !== 0) && options?.isStartMatching) {
|
621
|
+
current = TextUtils.TextRange.TextRange.createUnboundedFromLocation(0, 0);
|
622
|
+
ranges.push(current);
|
623
|
+
}
|
624
|
+
|
609
625
|
for (const {sourceURL, lineNumber, columnNumber} of mappings) {
|
610
|
-
const ignoreListHint = sourceURL &&
|
626
|
+
const ignoreListHint = sourceURL && predicate(sourceURL);
|
611
627
|
|
612
628
|
if (!current && ignoreListHint) {
|
613
629
|
current = TextUtils.TextRange.TextRange.createUnboundedFromLocation(lineNumber, columnNumber);
|
@@ -147,19 +147,22 @@ async function invokeLH(action: string, args: any): Promise<unknown> {
|
|
147
147
|
};
|
148
148
|
|
149
149
|
if (action === 'snapshot') {
|
150
|
+
// TODO: Remove `configContext` once Lighthouse roll removes it
|
150
151
|
// @ts-expect-error https://github.com/GoogleChrome/lighthouse/issues/11628
|
151
|
-
return await self.runLighthouseSnapshot({config, page, configContext});
|
152
|
+
return await self.runLighthouseSnapshot({config, page, configContext, flags});
|
152
153
|
}
|
153
154
|
|
154
155
|
if (action === 'startTimespan') {
|
156
|
+
// TODO: Remove `configContext` once Lighthouse roll removes it
|
155
157
|
// @ts-expect-error https://github.com/GoogleChrome/lighthouse/issues/11628
|
156
|
-
const timespan = await self.startLighthouseTimespan({config, page, configContext});
|
158
|
+
const timespan = await self.startLighthouseTimespan({config, page, configContext, flags});
|
157
159
|
endTimespan = timespan.endTimespan;
|
158
160
|
return;
|
159
161
|
}
|
160
162
|
|
163
|
+
// TODO: Remove `configContext` once Lighthouse roll removes it
|
161
164
|
// @ts-expect-error https://github.com/GoogleChrome/lighthouse/issues/11628
|
162
|
-
return await self.runLighthouseNavigation(url, {config, page, configContext});
|
165
|
+
return await self.runLighthouseNavigation(url, {config, page, configContext, flags});
|
163
166
|
} catch (err) {
|
164
167
|
return ({
|
165
168
|
fatal: true,
|
@@ -65,7 +65,7 @@ inspectorBackend.registerEnum("Audits.SharedArrayBufferIssueType", {TransferIssu
|
|
65
65
|
inspectorBackend.registerEnum("Audits.TwaQualityEnforcementViolationType", {KHttpError: "kHttpError", KUnavailableOffline: "kUnavailableOffline", KDigitalAssetLinks: "kDigitalAssetLinks"});
|
66
66
|
inspectorBackend.registerEnum("Audits.AttributionReportingIssueType", {PermissionPolicyDisabled: "PermissionPolicyDisabled", AttributionSourceUntrustworthyOrigin: "AttributionSourceUntrustworthyOrigin", AttributionUntrustworthyOrigin: "AttributionUntrustworthyOrigin", InvalidHeader: "InvalidHeader"});
|
67
67
|
inspectorBackend.registerEnum("Audits.GenericIssueErrorType", {CrossOriginPortalPostMessageError: "CrossOriginPortalPostMessageError"});
|
68
|
-
inspectorBackend.registerEnum("Audits.DeprecationIssueType", {AuthorizationCoveredByWildcard: "AuthorizationCoveredByWildcard", CanRequestURLHTTPContainingNewline: "CanRequestURLHTTPContainingNewline", ChromeLoadTimesConnectionInfo: "ChromeLoadTimesConnectionInfo", ChromeLoadTimesFirstPaintAfterLoadTime: "ChromeLoadTimesFirstPaintAfterLoadTime", ChromeLoadTimesWasAlternateProtocolAvailable: "ChromeLoadTimesWasAlternateProtocolAvailable", CookieWithTruncatingChar: "CookieWithTruncatingChar", CrossOriginAccessBasedOnDocumentDomain: "CrossOriginAccessBasedOnDocumentDomain", CrossOriginWindowAlert: "CrossOriginWindowAlert", CrossOriginWindowConfirm: "CrossOriginWindowConfirm", CSSSelectorInternalMediaControlsOverlayCastButton: "CSSSelectorInternalMediaControlsOverlayCastButton", DeprecationExample: "DeprecationExample", DocumentDomainSettingWithoutOriginAgentClusterHeader: "DocumentDomainSettingWithoutOriginAgentClusterHeader", EventPath: "EventPath", GeolocationInsecureOrigin: "GeolocationInsecureOrigin", GeolocationInsecureOriginDeprecatedNotRemoved: "GeolocationInsecureOriginDeprecatedNotRemoved", GetUserMediaInsecureOrigin: "GetUserMediaInsecureOrigin", HostCandidateAttributeGetter: "HostCandidateAttributeGetter", IdentityInCanMakePaymentEvent: "IdentityInCanMakePaymentEvent", InsecurePrivateNetworkSubresourceRequest: "InsecurePrivateNetworkSubresourceRequest", LegacyConstraintGoogIPv6: "LegacyConstraintGoogIPv6", LocalCSSFileExtensionRejected: "LocalCSSFileExtensionRejected", MediaSourceAbortRemove: "MediaSourceAbortRemove", MediaSourceDurationTruncatingBuffered: "MediaSourceDurationTruncatingBuffered", NoSysexWebMIDIWithoutPermission: "NoSysexWebMIDIWithoutPermission", NotificationInsecureOrigin: "NotificationInsecureOrigin", NotificationPermissionRequestedIframe: "NotificationPermissionRequestedIframe", ObsoleteWebRtcCipherSuite: "ObsoleteWebRtcCipherSuite", OpenWebDatabaseInsecureContext: "OpenWebDatabaseInsecureContext", PictureSourceSrc: "PictureSourceSrc", PrefixedCancelAnimationFrame: "PrefixedCancelAnimationFrame", PrefixedRequestAnimationFrame: "PrefixedRequestAnimationFrame", PrefixedStorageInfo: "PrefixedStorageInfo", PrefixedVideoDisplayingFullscreen: "PrefixedVideoDisplayingFullscreen", PrefixedVideoEnterFullscreen: "PrefixedVideoEnterFullscreen", PrefixedVideoEnterFullScreen: "PrefixedVideoEnterFullScreen", PrefixedVideoExitFullscreen: "PrefixedVideoExitFullscreen", PrefixedVideoExitFullScreen: "PrefixedVideoExitFullScreen", PrefixedVideoSupportsFullscreen: "PrefixedVideoSupportsFullscreen", RangeExpand: "RangeExpand", RequestedSubresourceWithEmbeddedCredentials: "RequestedSubresourceWithEmbeddedCredentials", RTCConstraintEnableDtlsSrtpFalse: "RTCConstraintEnableDtlsSrtpFalse", RTCConstraintEnableDtlsSrtpTrue: "RTCConstraintEnableDtlsSrtpTrue", RTCPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics: "RTCPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics", RTCPeerConnectionSdpSemanticsPlanB: "RTCPeerConnectionSdpSemanticsPlanB", RtcpMuxPolicyNegotiate: "RtcpMuxPolicyNegotiate", SharedArrayBufferConstructedWithoutIsolation: "SharedArrayBufferConstructedWithoutIsolation", TextToSpeech_DisallowedByAutoplay: "TextToSpeech_DisallowedByAutoplay", V8SharedArrayBufferConstructedInExtensionWithoutIsolation: "V8SharedArrayBufferConstructedInExtensionWithoutIsolation", XHRJSONEncodingDetection: "XHRJSONEncodingDetection", XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload: "XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload", XRSupportsSession: "XRSupportsSession"});
|
68
|
+
inspectorBackend.registerEnum("Audits.DeprecationIssueType", {AuthorizationCoveredByWildcard: "AuthorizationCoveredByWildcard", CanRequestURLHTTPContainingNewline: "CanRequestURLHTTPContainingNewline", ChromeLoadTimesConnectionInfo: "ChromeLoadTimesConnectionInfo", ChromeLoadTimesFirstPaintAfterLoadTime: "ChromeLoadTimesFirstPaintAfterLoadTime", ChromeLoadTimesWasAlternateProtocolAvailable: "ChromeLoadTimesWasAlternateProtocolAvailable", CookieWithTruncatingChar: "CookieWithTruncatingChar", CrossOriginAccessBasedOnDocumentDomain: "CrossOriginAccessBasedOnDocumentDomain", CrossOriginWindowAlert: "CrossOriginWindowAlert", CrossOriginWindowConfirm: "CrossOriginWindowConfirm", CSSSelectorInternalMediaControlsOverlayCastButton: "CSSSelectorInternalMediaControlsOverlayCastButton", DeprecationExample: "DeprecationExample", DocumentDomainSettingWithoutOriginAgentClusterHeader: "DocumentDomainSettingWithoutOriginAgentClusterHeader", EventPath: "EventPath", ExpectCTHeader: "ExpectCTHeader", GeolocationInsecureOrigin: "GeolocationInsecureOrigin", GeolocationInsecureOriginDeprecatedNotRemoved: "GeolocationInsecureOriginDeprecatedNotRemoved", GetUserMediaInsecureOrigin: "GetUserMediaInsecureOrigin", HostCandidateAttributeGetter: "HostCandidateAttributeGetter", IdentityInCanMakePaymentEvent: "IdentityInCanMakePaymentEvent", InsecurePrivateNetworkSubresourceRequest: "InsecurePrivateNetworkSubresourceRequest", LegacyConstraintGoogIPv6: "LegacyConstraintGoogIPv6", LocalCSSFileExtensionRejected: "LocalCSSFileExtensionRejected", MediaSourceAbortRemove: "MediaSourceAbortRemove", MediaSourceDurationTruncatingBuffered: "MediaSourceDurationTruncatingBuffered", NoSysexWebMIDIWithoutPermission: "NoSysexWebMIDIWithoutPermission", NotificationInsecureOrigin: "NotificationInsecureOrigin", NotificationPermissionRequestedIframe: "NotificationPermissionRequestedIframe", ObsoleteWebRtcCipherSuite: "ObsoleteWebRtcCipherSuite", OpenWebDatabaseInsecureContext: "OpenWebDatabaseInsecureContext", PictureSourceSrc: "PictureSourceSrc", PrefixedCancelAnimationFrame: "PrefixedCancelAnimationFrame", PrefixedRequestAnimationFrame: "PrefixedRequestAnimationFrame", PrefixedStorageInfo: "PrefixedStorageInfo", PrefixedVideoDisplayingFullscreen: "PrefixedVideoDisplayingFullscreen", PrefixedVideoEnterFullscreen: "PrefixedVideoEnterFullscreen", PrefixedVideoEnterFullScreen: "PrefixedVideoEnterFullScreen", PrefixedVideoExitFullscreen: "PrefixedVideoExitFullscreen", PrefixedVideoExitFullScreen: "PrefixedVideoExitFullScreen", PrefixedVideoSupportsFullscreen: "PrefixedVideoSupportsFullscreen", RangeExpand: "RangeExpand", RequestedSubresourceWithEmbeddedCredentials: "RequestedSubresourceWithEmbeddedCredentials", RTCConstraintEnableDtlsSrtpFalse: "RTCConstraintEnableDtlsSrtpFalse", RTCConstraintEnableDtlsSrtpTrue: "RTCConstraintEnableDtlsSrtpTrue", RTCPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics: "RTCPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics", RTCPeerConnectionSdpSemanticsPlanB: "RTCPeerConnectionSdpSemanticsPlanB", RtcpMuxPolicyNegotiate: "RtcpMuxPolicyNegotiate", SharedArrayBufferConstructedWithoutIsolation: "SharedArrayBufferConstructedWithoutIsolation", TextToSpeech_DisallowedByAutoplay: "TextToSpeech_DisallowedByAutoplay", V8SharedArrayBufferConstructedInExtensionWithoutIsolation: "V8SharedArrayBufferConstructedInExtensionWithoutIsolation", XHRJSONEncodingDetection: "XHRJSONEncodingDetection", XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload: "XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload", XRSupportsSession: "XRSupportsSession"});
|
69
69
|
inspectorBackend.registerEnum("Audits.ClientHintIssueReason", {MetaTagAllowListInvalidOrigin: "MetaTagAllowListInvalidOrigin", MetaTagModifiedHTML: "MetaTagModifiedHTML"});
|
70
70
|
inspectorBackend.registerEnum("Audits.FederatedAuthRequestIssueReason", {ApprovalDeclined: "ApprovalDeclined", TooManyRequests: "TooManyRequests", ManifestListHttpNotFound: "ManifestListHttpNotFound", ManifestListNoResponse: "ManifestListNoResponse", ManifestListInvalidResponse: "ManifestListInvalidResponse", ManifestNotInManifestList: "ManifestNotInManifestList", ManifestListTooBig: "ManifestListTooBig", ManifestHttpNotFound: "ManifestHttpNotFound", ManifestNoResponse: "ManifestNoResponse", ManifestInvalidResponse: "ManifestInvalidResponse", ClientMetadataHttpNotFound: "ClientMetadataHttpNotFound", ClientMetadataNoResponse: "ClientMetadataNoResponse", ClientMetadataInvalidResponse: "ClientMetadataInvalidResponse", ClientMetadataMissingPrivacyPolicyUrl: "ClientMetadataMissingPrivacyPolicyUrl", DisabledInSettings: "DisabledInSettings", ErrorFetchingSignin: "ErrorFetchingSignin", InvalidSigninResponse: "InvalidSigninResponse", AccountsHttpNotFound: "AccountsHttpNotFound", AccountsNoResponse: "AccountsNoResponse", AccountsInvalidResponse: "AccountsInvalidResponse", IdTokenHttpNotFound: "IdTokenHttpNotFound", IdTokenNoResponse: "IdTokenNoResponse", IdTokenInvalidResponse: "IdTokenInvalidResponse", IdTokenInvalidRequest: "IdTokenInvalidRequest", ErrorIdToken: "ErrorIdToken", Canceled: "Canceled"});
|
71
71
|
inspectorBackend.registerEnum("Audits.InspectorIssueCode", {CookieIssue: "CookieIssue", MixedContentIssue: "MixedContentIssue", BlockedByResponseIssue: "BlockedByResponseIssue", HeavyAdIssue: "HeavyAdIssue", ContentSecurityPolicyIssue: "ContentSecurityPolicyIssue", SharedArrayBufferIssue: "SharedArrayBufferIssue", TrustedWebActivityIssue: "TrustedWebActivityIssue", LowTextContrastIssue: "LowTextContrastIssue", CorsIssue: "CorsIssue", AttributionReportingIssue: "AttributionReportingIssue", QuirksModeIssue: "QuirksModeIssue", NavigatorUserAgentIssue: "NavigatorUserAgentIssue", GenericIssue: "GenericIssue", DeprecationIssue: "DeprecationIssue", ClientHintIssue: "ClientHintIssue", FederatedAuthRequestIssue: "FederatedAuthRequestIssue"});
|
@@ -418,7 +418,7 @@ inspectorBackend.registerCommand("Memory.getBrowserSamplingProfile", [], ["profi
|
|
418
418
|
inspectorBackend.registerCommand("Memory.getSamplingProfile", [], ["profile"]);
|
419
419
|
|
420
420
|
// Network.
|
421
|
-
inspectorBackend.registerEnum("Network.ResourceType", {Document: "Document", Stylesheet: "Stylesheet", Image: "Image", Media: "Media", Font: "Font", Script: "Script", TextTrack: "TextTrack", XHR: "XHR", Fetch: "Fetch", EventSource: "EventSource", WebSocket: "WebSocket", Manifest: "Manifest", SignedExchange: "SignedExchange", Ping: "Ping", CSPViolationReport: "CSPViolationReport", Preflight: "Preflight", Other: "Other"});
|
421
|
+
inspectorBackend.registerEnum("Network.ResourceType", {Document: "Document", Stylesheet: "Stylesheet", Image: "Image", Media: "Media", Font: "Font", Script: "Script", TextTrack: "TextTrack", XHR: "XHR", Fetch: "Fetch", Prefetch: "Prefetch", EventSource: "EventSource", WebSocket: "WebSocket", Manifest: "Manifest", SignedExchange: "SignedExchange", Ping: "Ping", CSPViolationReport: "CSPViolationReport", Preflight: "Preflight", Other: "Other"});
|
422
422
|
inspectorBackend.registerEnum("Network.ErrorReason", {Failed: "Failed", Aborted: "Aborted", TimedOut: "TimedOut", AccessDenied: "AccessDenied", ConnectionClosed: "ConnectionClosed", ConnectionReset: "ConnectionReset", ConnectionRefused: "ConnectionRefused", ConnectionAborted: "ConnectionAborted", ConnectionFailed: "ConnectionFailed", NameNotResolved: "NameNotResolved", InternetDisconnected: "InternetDisconnected", AddressUnreachable: "AddressUnreachable", BlockedByClient: "BlockedByClient", BlockedByResponse: "BlockedByResponse"});
|
423
423
|
inspectorBackend.registerEnum("Network.ConnectionType", {None: "none", Cellular2g: "cellular2g", Cellular3g: "cellular3g", Cellular4g: "cellular4g", Bluetooth: "bluetooth", Ethernet: "ethernet", Wifi: "wifi", Wimax: "wimax", Other: "other"});
|
424
424
|
inspectorBackend.registerEnum("Network.CookieSameSite", {Strict: "Strict", Lax: "Lax", None: "None"});
|
@@ -554,7 +554,7 @@ inspectorBackend.registerEnum("Page.AdFrameExplanation", {ParentIsAd: "ParentIsA
|
|
554
554
|
inspectorBackend.registerEnum("Page.SecureContextType", {Secure: "Secure", SecureLocalhost: "SecureLocalhost", InsecureScheme: "InsecureScheme", InsecureAncestor: "InsecureAncestor"});
|
555
555
|
inspectorBackend.registerEnum("Page.CrossOriginIsolatedContextType", {Isolated: "Isolated", NotIsolated: "NotIsolated", NotIsolatedFeatureDisabled: "NotIsolatedFeatureDisabled"});
|
556
556
|
inspectorBackend.registerEnum("Page.GatedAPIFeatures", {SharedArrayBuffers: "SharedArrayBuffers", SharedArrayBuffersTransferAllowed: "SharedArrayBuffersTransferAllowed", PerformanceMeasureMemory: "PerformanceMeasureMemory", PerformanceProfile: "PerformanceProfile"});
|
557
|
-
inspectorBackend.registerEnum("Page.PermissionsPolicyFeature", {Accelerometer: "accelerometer", AmbientLightSensor: "ambient-light-sensor", AttributionReporting: "attribution-reporting", Autoplay: "autoplay", Bluetooth: "bluetooth", BrowsingTopics: "browsing-topics", Camera: "camera", ChDpr: "ch-dpr", ChDeviceMemory: "ch-device-memory", ChDownlink: "ch-downlink", ChEct: "ch-ect", ChPrefersColorScheme: "ch-prefers-color-scheme", ChRtt: "ch-rtt", ChSaveData: "ch-save-data", ChUa: "ch-ua", ChUaArch: "ch-ua-arch", ChUaBitness: "ch-ua-bitness", ChUaPlatform: "ch-ua-platform", ChUaModel: "ch-ua-model", ChUaMobile: "ch-ua-mobile", ChUaFull: "ch-ua-full", ChUaFullVersion: "ch-ua-full-version", ChUaFullVersionList: "ch-ua-full-version-list", ChUaPlatformVersion: "ch-ua-platform-version", ChUaReduced: "ch-ua-reduced", ChUaWow64: "ch-ua-wow64", ChViewportHeight: "ch-viewport-height", ChViewportWidth: "ch-viewport-width", ChWidth: "ch-width", ClipboardRead: "clipboard-read", ClipboardWrite: "clipboard-write", CrossOriginIsolated: "cross-origin-isolated", DirectSockets: "direct-sockets", DisplayCapture: "display-capture", DocumentDomain: "document-domain", EncryptedMedia: "encrypted-media", ExecutionWhileOutOfViewport: "execution-while-out-of-viewport", ExecutionWhileNotRendered: "execution-while-not-rendered", FederatedCredentials: "federated-credentials", FocusWithoutUserActivation: "focus-without-user-activation", Fullscreen: "fullscreen", Frobulate: "frobulate", Gamepad: "gamepad", Geolocation: "geolocation", Gyroscope: "gyroscope", Hid: "hid", IdleDetection: "idle-detection", InterestCohort: "interest-cohort", JoinAdInterestGroup: "join-ad-interest-group", KeyboardMap: "keyboard-map", LocalFonts: "local-fonts", Magnetometer: "magnetometer", Microphone: "microphone", Midi: "midi", OtpCredentials: "otp-credentials", Payment: "payment", PictureInPicture: "picture-in-picture", PublickeyCredentialsGet: "publickey-credentials-get", RunAdAuction: "run-ad-auction", ScreenWakeLock: "screen-wake-lock", Serial: "serial", SharedAutofill: "shared-autofill", StorageAccessAPI: "storage-access-api", SyncXhr: "sync-xhr", TrustTokenRedemption: "trust-token-redemption", Usb: "usb", VerticalScroll: "vertical-scroll", WebShare: "web-share", WindowPlacement: "window-placement", XrSpatialTracking: "xr-spatial-tracking"});
|
557
|
+
inspectorBackend.registerEnum("Page.PermissionsPolicyFeature", {Accelerometer: "accelerometer", AmbientLightSensor: "ambient-light-sensor", AttributionReporting: "attribution-reporting", Autoplay: "autoplay", Bluetooth: "bluetooth", BrowsingTopics: "browsing-topics", Camera: "camera", ChDpr: "ch-dpr", ChDeviceMemory: "ch-device-memory", ChDownlink: "ch-downlink", ChEct: "ch-ect", ChPrefersColorScheme: "ch-prefers-color-scheme", ChRtt: "ch-rtt", ChSaveData: "ch-save-data", ChUa: "ch-ua", ChUaArch: "ch-ua-arch", ChUaBitness: "ch-ua-bitness", ChUaPlatform: "ch-ua-platform", ChUaModel: "ch-ua-model", ChUaMobile: "ch-ua-mobile", ChUaFull: "ch-ua-full", ChUaFullVersion: "ch-ua-full-version", ChUaFullVersionList: "ch-ua-full-version-list", ChUaPlatformVersion: "ch-ua-platform-version", ChUaReduced: "ch-ua-reduced", ChUaWow64: "ch-ua-wow64", ChViewportHeight: "ch-viewport-height", ChViewportWidth: "ch-viewport-width", ChWidth: "ch-width", ClipboardRead: "clipboard-read", ClipboardWrite: "clipboard-write", CrossOriginIsolated: "cross-origin-isolated", DirectSockets: "direct-sockets", DisplayCapture: "display-capture", DocumentDomain: "document-domain", EncryptedMedia: "encrypted-media", ExecutionWhileOutOfViewport: "execution-while-out-of-viewport", ExecutionWhileNotRendered: "execution-while-not-rendered", FederatedCredentials: "federated-credentials", FocusWithoutUserActivation: "focus-without-user-activation", Fullscreen: "fullscreen", Frobulate: "frobulate", Gamepad: "gamepad", Geolocation: "geolocation", Gyroscope: "gyroscope", Hid: "hid", IdleDetection: "idle-detection", InterestCohort: "interest-cohort", JoinAdInterestGroup: "join-ad-interest-group", KeyboardMap: "keyboard-map", LocalFonts: "local-fonts", Magnetometer: "magnetometer", Microphone: "microphone", Midi: "midi", OtpCredentials: "otp-credentials", Payment: "payment", PictureInPicture: "picture-in-picture", PublickeyCredentialsGet: "publickey-credentials-get", RunAdAuction: "run-ad-auction", ScreenWakeLock: "screen-wake-lock", Serial: "serial", SharedAutofill: "shared-autofill", SharedStorage: "shared-storage", StorageAccessAPI: "storage-access-api", SyncXhr: "sync-xhr", TrustTokenRedemption: "trust-token-redemption", Usb: "usb", VerticalScroll: "vertical-scroll", WebShare: "web-share", WindowPlacement: "window-placement", XrSpatialTracking: "xr-spatial-tracking"});
|
558
558
|
inspectorBackend.registerEnum("Page.PermissionsPolicyBlockReason", {Header: "Header", IframeAttribute: "IframeAttribute", InFencedFrameTree: "InFencedFrameTree", InIsolatedApp: "InIsolatedApp"});
|
559
559
|
inspectorBackend.registerEnum("Page.OriginTrialTokenStatus", {Success: "Success", NotSupported: "NotSupported", Insecure: "Insecure", Expired: "Expired", WrongOrigin: "WrongOrigin", InvalidSignature: "InvalidSignature", Malformed: "Malformed", WrongVersion: "WrongVersion", FeatureDisabled: "FeatureDisabled", TokenDisabled: "TokenDisabled", FeatureDisabledForUser: "FeatureDisabledForUser", UnknownTrial: "UnknownTrial"});
|
560
560
|
inspectorBackend.registerEnum("Page.OriginTrialStatus", {Enabled: "Enabled", ValidTokenNotProvided: "ValidTokenNotProvided", OSNotSupported: "OSNotSupported", TrialNotAllowed: "TrialNotAllowed"});
|
@@ -872,6 +872,8 @@ inspectorBackend.registerCommand("Debugger.enable", [{"name": "maxScriptsCacheSi
|
|
872
872
|
inspectorBackend.registerCommand("Debugger.evaluateOnCallFrame", [{"name": "callFrameId", "type": "string", "optional": false}, {"name": "expression", "type": "string", "optional": false}, {"name": "objectGroup", "type": "string", "optional": true}, {"name": "includeCommandLineAPI", "type": "boolean", "optional": true}, {"name": "silent", "type": "boolean", "optional": true}, {"name": "returnByValue", "type": "boolean", "optional": true}, {"name": "generatePreview", "type": "boolean", "optional": true}, {"name": "throwOnSideEffect", "type": "boolean", "optional": true}, {"name": "timeout", "type": "number", "optional": true}], ["result", "exceptionDetails"]);
|
873
873
|
inspectorBackend.registerCommand("Debugger.getPossibleBreakpoints", [{"name": "start", "type": "object", "optional": false}, {"name": "end", "type": "object", "optional": true}, {"name": "restrictToFunction", "type": "boolean", "optional": true}], ["locations"]);
|
874
874
|
inspectorBackend.registerCommand("Debugger.getScriptSource", [{"name": "scriptId", "type": "string", "optional": false}], ["scriptSource", "bytecode"]);
|
875
|
+
inspectorBackend.registerCommand("Debugger.disassembleWasmModule", [{"name": "scriptId", "type": "string", "optional": false}], ["streamId", "totalNumberOfLines", "functionBodyOffsets", "chunk"]);
|
876
|
+
inspectorBackend.registerCommand("Debugger.nextWasmDisassemblyChunk", [{"name": "streamId", "type": "string", "optional": false}], ["chunk"]);
|
875
877
|
inspectorBackend.registerCommand("Debugger.getWasmBytecode", [{"name": "scriptId", "type": "string", "optional": false}], ["bytecode"]);
|
876
878
|
inspectorBackend.registerCommand("Debugger.getStackTrace", [{"name": "stackTraceId", "type": "object", "optional": false}], ["stackTrace"]);
|
877
879
|
inspectorBackend.registerCommand("Debugger.pause", [], []);
|
@@ -344,6 +344,12 @@ export const generatedProperties = [
|
|
344
344
|
],
|
345
345
|
"name": "anchor-name"
|
346
346
|
},
|
347
|
+
{
|
348
|
+
"keywords": [
|
349
|
+
"none"
|
350
|
+
],
|
351
|
+
"name": "anchor-scroll"
|
352
|
+
},
|
347
353
|
{
|
348
354
|
"longhands": [
|
349
355
|
"animation-duration",
|
@@ -3567,6 +3573,11 @@ export const generatedPropertyValues = {
|
|
3567
3573
|
"none"
|
3568
3574
|
]
|
3569
3575
|
},
|
3576
|
+
"anchor-scroll": {
|
3577
|
+
"values": [
|
3578
|
+
"none"
|
3579
|
+
]
|
3580
|
+
},
|
3570
3581
|
"animation-direction": {
|
3571
3582
|
"values": [
|
3572
3583
|
"normal",
|
@@ -3952,6 +3952,20 @@ export namespace ProtocolMapping {
|
|
3952
3952
|
paramsType: [Protocol.Debugger.GetScriptSourceRequest];
|
3953
3953
|
returnType: Protocol.Debugger.GetScriptSourceResponse;
|
3954
3954
|
};
|
3955
|
+
'Debugger.disassembleWasmModule': {
|
3956
|
+
paramsType: [Protocol.Debugger.DisassembleWasmModuleRequest];
|
3957
|
+
returnType: Protocol.Debugger.DisassembleWasmModuleResponse;
|
3958
|
+
};
|
3959
|
+
/**
|
3960
|
+
* Disassemble the next chunk of lines for the module corresponding to the
|
3961
|
+
* stream. If disassembly is complete, this API will invalidate the streamId
|
3962
|
+
* and return an empty chunk. Any subsequent calls for the now invalid stream
|
3963
|
+
* will return errors.
|
3964
|
+
*/
|
3965
|
+
'Debugger.nextWasmDisassemblyChunk': {
|
3966
|
+
paramsType: [Protocol.Debugger.NextWasmDisassemblyChunkRequest];
|
3967
|
+
returnType: Protocol.Debugger.NextWasmDisassemblyChunkResponse;
|
3968
|
+
};
|
3955
3969
|
/**
|
3956
3970
|
* This command is deprecated. Use getScriptSource instead.
|
3957
3971
|
*/
|
@@ -3510,6 +3510,16 @@ declare namespace ProtocolProxyApi {
|
|
3510
3510
|
*/
|
3511
3511
|
invoke_getScriptSource(params: Protocol.Debugger.GetScriptSourceRequest): Promise<Protocol.Debugger.GetScriptSourceResponse>;
|
3512
3512
|
|
3513
|
+
invoke_disassembleWasmModule(params: Protocol.Debugger.DisassembleWasmModuleRequest): Promise<Protocol.Debugger.DisassembleWasmModuleResponse>;
|
3514
|
+
|
3515
|
+
/**
|
3516
|
+
* Disassemble the next chunk of lines for the module corresponding to the
|
3517
|
+
* stream. If disassembly is complete, this API will invalidate the streamId
|
3518
|
+
* and return an empty chunk. Any subsequent calls for the now invalid stream
|
3519
|
+
* will return errors.
|
3520
|
+
*/
|
3521
|
+
invoke_nextWasmDisassemblyChunk(params: Protocol.Debugger.NextWasmDisassemblyChunkRequest): Promise<Protocol.Debugger.NextWasmDisassemblyChunkResponse>;
|
3522
|
+
|
3513
3523
|
/**
|
3514
3524
|
* This command is deprecated. Use getScriptSource instead.
|
3515
3525
|
*/
|
@@ -236,6 +236,10 @@ export namespace Accessibility {
|
|
236
236
|
* This `Node`'s role, whether explicit or implicit.
|
237
237
|
*/
|
238
238
|
role?: AXValue;
|
239
|
+
/**
|
240
|
+
* This `Node`'s Chrome raw role.
|
241
|
+
*/
|
242
|
+
chromeRole?: AXValue;
|
239
243
|
/**
|
240
244
|
* The accessible name for this `Node`.
|
241
245
|
*/
|
@@ -1026,6 +1030,7 @@ export namespace Audits {
|
|
1026
1030
|
DeprecationExample = 'DeprecationExample',
|
1027
1031
|
DocumentDomainSettingWithoutOriginAgentClusterHeader = 'DocumentDomainSettingWithoutOriginAgentClusterHeader',
|
1028
1032
|
EventPath = 'EventPath',
|
1033
|
+
ExpectCTHeader = 'ExpectCTHeader',
|
1029
1034
|
GeolocationInsecureOrigin = 'GeolocationInsecureOrigin',
|
1030
1035
|
GeolocationInsecureOriginDeprecatedNotRemoved = 'GeolocationInsecureOriginDeprecatedNotRemoved',
|
1031
1036
|
GetUserMediaInsecureOrigin = 'GetUserMediaInsecureOrigin',
|
@@ -7049,6 +7054,7 @@ export namespace Network {
|
|
7049
7054
|
TextTrack = 'TextTrack',
|
7050
7055
|
XHR = 'XHR',
|
7051
7056
|
Fetch = 'Fetch',
|
7057
|
+
Prefetch = 'Prefetch',
|
7052
7058
|
EventSource = 'EventSource',
|
7053
7059
|
WebSocket = 'WebSocket',
|
7054
7060
|
Manifest = 'Manifest',
|
@@ -7420,6 +7426,16 @@ export namespace Network {
|
|
7420
7426
|
* Whether the request complied with Certificate Transparency policy
|
7421
7427
|
*/
|
7422
7428
|
certificateTransparencyCompliance: CertificateTransparencyCompliance;
|
7429
|
+
/**
|
7430
|
+
* The signature algorithm used by the server in the TLS server signature,
|
7431
|
+
* represented as a TLS SignatureScheme code point. Omitted if not
|
7432
|
+
* applicable or not known.
|
7433
|
+
*/
|
7434
|
+
serverSignatureAlgorithm?: integer;
|
7435
|
+
/**
|
7436
|
+
* Whether the connection used Encrypted ClientHello
|
7437
|
+
*/
|
7438
|
+
encryptedClientHello: boolean;
|
7423
7439
|
}
|
7424
7440
|
|
7425
7441
|
/**
|
@@ -10309,6 +10325,7 @@ export namespace Page {
|
|
10309
10325
|
ScreenWakeLock = 'screen-wake-lock',
|
10310
10326
|
Serial = 'serial',
|
10311
10327
|
SharedAutofill = 'shared-autofill',
|
10328
|
+
SharedStorage = 'shared-storage',
|
10312
10329
|
StorageAccessAPI = 'storage-access-api',
|
10313
10330
|
SyncXhr = 'sync-xhr',
|
10314
10331
|
TrustTokenRedemption = 'trust-token-redemption',
|
@@ -14943,6 +14960,17 @@ export namespace Debugger {
|
|
14943
14960
|
type?: BreakLocationType;
|
14944
14961
|
}
|
14945
14962
|
|
14963
|
+
export interface WasmDisassemblyChunk {
|
14964
|
+
/**
|
14965
|
+
* The next chunk of disassembled lines.
|
14966
|
+
*/
|
14967
|
+
lines: string[];
|
14968
|
+
/**
|
14969
|
+
* The bytecode offsets describing the start of each line.
|
14970
|
+
*/
|
14971
|
+
bytecodeOffsets: integer[];
|
14972
|
+
}
|
14973
|
+
|
14946
14974
|
/**
|
14947
14975
|
* Enum of possible script languages.
|
14948
14976
|
*/
|
@@ -15094,6 +15122,45 @@ export namespace Debugger {
|
|
15094
15122
|
bytecode?: binary;
|
15095
15123
|
}
|
15096
15124
|
|
15125
|
+
export interface DisassembleWasmModuleRequest {
|
15126
|
+
/**
|
15127
|
+
* Id of the script to disassemble
|
15128
|
+
*/
|
15129
|
+
scriptId: Runtime.ScriptId;
|
15130
|
+
}
|
15131
|
+
|
15132
|
+
export interface DisassembleWasmModuleResponse extends ProtocolResponseWithError {
|
15133
|
+
/**
|
15134
|
+
* For large modules, return a stream from which additional chunks of
|
15135
|
+
* disassembly can be read successively.
|
15136
|
+
*/
|
15137
|
+
streamId?: string;
|
15138
|
+
/**
|
15139
|
+
* The total number of lines in the disassembly text.
|
15140
|
+
*/
|
15141
|
+
totalNumberOfLines: integer;
|
15142
|
+
/**
|
15143
|
+
* The offsets of all function bodies plus one additional entry pointing
|
15144
|
+
* one by past the end of the last function.
|
15145
|
+
*/
|
15146
|
+
functionBodyOffsets: integer[];
|
15147
|
+
/**
|
15148
|
+
* The first chunk of disassembly.
|
15149
|
+
*/
|
15150
|
+
chunk: WasmDisassemblyChunk;
|
15151
|
+
}
|
15152
|
+
|
15153
|
+
export interface NextWasmDisassemblyChunkRequest {
|
15154
|
+
streamId: string;
|
15155
|
+
}
|
15156
|
+
|
15157
|
+
export interface NextWasmDisassemblyChunkResponse extends ProtocolResponseWithError {
|
15158
|
+
/**
|
15159
|
+
* The next chunk of disassembly.
|
15160
|
+
*/
|
15161
|
+
chunk: WasmDisassemblyChunk;
|
15162
|
+
}
|
15163
|
+
|
15097
15164
|
export interface GetWasmBytecodeRequest {
|
15098
15165
|
/**
|
15099
15166
|
* Id of the Wasm script to get source for.
|
@@ -291,7 +291,7 @@ SourcesTestRunner.captureStackTraceIntoString = async function(callFrames, async
|
|
291
291
|
const script = location.script();
|
292
292
|
const uiLocation = await self.Bindings.debuggerWorkspaceBinding.rawLocationToUILocation(location);
|
293
293
|
const isFramework =
|
294
|
-
uiLocation ? self.Bindings.ignoreListManager.
|
294
|
+
uiLocation ? self.Bindings.ignoreListManager.isUserIgnoreListedURL(uiLocation.uiSourceCode.url()) : false;
|
295
295
|
|
296
296
|
if (options.dropFrameworkCallFrames && isFramework) {
|
297
297
|
continue;
|
@@ -247,7 +247,7 @@ export class CompilerScriptMapping implements DebuggerSourceMapping {
|
|
247
247
|
const sourceMap = event.data.sourceMap;
|
248
248
|
await this.removeStubUISourceCode(script);
|
249
249
|
|
250
|
-
if (IgnoreListManager.instance().
|
250
|
+
if (IgnoreListManager.instance().isUserIgnoreListedURL(script.sourceURL, script.isContentScript())) {
|
251
251
|
this.sourceMapAttachedForTest(sourceMap);
|
252
252
|
return;
|
253
253
|
}
|
@@ -509,7 +509,13 @@ export class Location extends LiveLocationWithPool {
|
|
509
509
|
|
510
510
|
async isIgnoreListed(): Promise<boolean> {
|
511
511
|
const uiLocation = await this.uiLocation();
|
512
|
-
|
512
|
+
if (!uiLocation) {
|
513
|
+
return false;
|
514
|
+
}
|
515
|
+
const manager = this.rawLocation.debuggerModel.sourceMapManager();
|
516
|
+
const script = this.rawLocation.script();
|
517
|
+
const map = script ? await manager.sourceMapForClientPromise(script) : null;
|
518
|
+
return IgnoreListManager.instance().isUserOrSourceMapIgnoreListedUISourceCode(uiLocation.uiSourceCode, map);
|
513
519
|
}
|
514
520
|
}
|
515
521
|
|