chrome-devtools-frontend 1.0.1025631 → 1.0.1027150
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/owner/LIGHTHOUSE_OWNERS +1 -1
 - package/docs/triage_guidelines.md +1 -122
 - package/front_end/core/common/ResourceType.ts +1 -0
 - package/front_end/core/host/UserMetrics.ts +2 -1
 - package/front_end/core/i18n/locales/en-US.json +24 -0
 - package/front_end/core/i18n/locales/en-XL.json +24 -0
 - package/front_end/core/root/Runtime.ts +1 -0
 - package/front_end/core/sdk/DOMModel.ts +5 -0
 - package/front_end/core/sdk/NetworkManager.ts +24 -3
 - package/front_end/core/sdk/ResourceTreeModel.ts +1 -1
 - package/front_end/core/sdk/SourceMap.ts +22 -6
 - package/front_end/core/sdk/sdk-meta.ts +7 -0
 - package/front_end/devtools_compatibility.js +1 -0
 - package/front_end/entrypoints/lighthouse_worker/LighthouseWorkerService.ts +6 -3
 - package/front_end/entrypoints/main/MainImpl.ts +5 -0
 - package/front_end/generated/ARIAProperties.js +723 -723
 - package/front_end/generated/InspectorBackendCommands.js +5 -3
 - package/front_end/generated/SupportedCSSProperties.js +2843 -2832
 - 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/DebuggerLanguagePlugins.ts +38 -11
 - package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +7 -1
 - package/front_end/models/bindings/IgnoreListManager.ts +35 -22
 - 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/console/consoleView.css +4 -0
 - package/front_end/panels/elements/ElementsTreeOutline.ts +18 -34
 - package/front_end/panels/elements/TopLayerContainer.ts +51 -29
 - package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +45 -50
 - package/front_end/panels/elements/elementsTreeOutline.css +1 -1
 - package/front_end/panels/lighthouse/LighthouseController.ts +3 -0
 - package/front_end/panels/lighthouse/LighthousePanel.ts +2 -0
 - package/front_end/panels/network/NetworkDataGridNode.ts +1 -2
 - package/front_end/panels/security/SecurityPanel.ts +52 -0
 - package/front_end/panels/security/originView.css +1 -1
 - package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +16 -0
 - package/front_end/panels/sources/CallStackSidebarPane.ts +45 -16
 - package/front_end/panels/sources/DebuggerPlugin.ts +8 -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/panel_feedback/PreviewToggle.ts +15 -16
 - package/front_end/ui/components/panel_feedback/previewToggle.css +13 -15
 - package/front_end/ui/components/text_editor/TextEditor.ts +3 -0
 - package/front_end/ui/legacy/ListControl.ts +4 -0
 - package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +13 -3
 - package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +5 -4
 - package/package.json +1 -1
 
| 
         @@ -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).
         
     | 
| 
         @@ -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.
         
     | 
| 
         @@ -636,8 +636,9 @@ export enum DevtoolsExperiments { 
     | 
|
| 
       636 
636 
     | 
    
         
             
              'instrumentationBreakpoints' = 61,
         
     | 
| 
       637 
637 
     | 
    
         
             
              'cssAuthoringHints' = 62,
         
     | 
| 
       638 
638 
     | 
    
         
             
              'authoredDeployedGrouping' = 63,
         
     | 
| 
      
 639 
     | 
    
         
            +
              'importantDOMProperties' = 64,
         
     | 
| 
       639 
640 
     | 
    
         
             
              // Increment this when new experiments are added.
         
     | 
| 
       640 
     | 
    
         
            -
              'MaxValue' =  
     | 
| 
      
 641 
     | 
    
         
            +
              'MaxValue' = 65,
         
     | 
| 
       641 
642 
     | 
    
         
             
            }
         
     | 
| 
       642 
643 
     | 
    
         
             
            /* eslint-enable @typescript-eslint/naming-convention */
         
     | 
| 
       643 
644 
     | 
    
         | 
| 
         @@ -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 
     | 
    
         
             
              },
         
     | 
| 
         @@ -9530,6 +9548,12 @@ 
     | 
|
| 
       9530 
9548 
     | 
    
         
             
              "panels/settings/FrameworkIgnoreListSettingsTab.ts | addPattern": {
         
     | 
| 
       9531 
9549 
     | 
    
         
             
                "message": "Add pattern..."
         
     | 
| 
       9532 
9550 
     | 
    
         
             
              },
         
     | 
| 
      
 9551 
     | 
    
         
            +
              "panels/settings/FrameworkIgnoreListSettingsTab.ts | automaticallyIgnoreListKnownThirdPartyScripts": {
         
     | 
| 
      
 9552 
     | 
    
         
            +
                "message": "Automatically add known third-party scripts to ignore list"
         
     | 
| 
      
 9553 
     | 
    
         
            +
              },
         
     | 
| 
      
 9554 
     | 
    
         
            +
              "panels/settings/FrameworkIgnoreListSettingsTab.ts | automaticallyIgnoreListKnownThirdPartyScriptsTooltip": {
         
     | 
| 
      
 9555 
     | 
    
         
            +
                "message": "Add sources from the x_google_ignoreList field from source maps to the ignore list"
         
     | 
| 
      
 9556 
     | 
    
         
            +
              },
         
     | 
| 
       9533 
9557 
     | 
    
         
             
              "panels/settings/FrameworkIgnoreListSettingsTab.ts | behavior": {
         
     | 
| 
       9534 
9558 
     | 
    
         
             
                "message": "Behavior"
         
     | 
| 
       9535 
9559 
     | 
    
         
             
              },
         
     | 
| 
         @@ -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 
     | 
    
         
             
              },
         
     | 
| 
         @@ -9530,6 +9548,12 @@ 
     | 
|
| 
       9530 
9548 
     | 
    
         
             
              "panels/settings/FrameworkIgnoreListSettingsTab.ts | addPattern": {
         
     | 
| 
       9531 
9549 
     | 
    
         
             
                "message": "Âd́d̂ ṕât́t̂ér̂ń..."
         
     | 
| 
       9532 
9550 
     | 
    
         
             
              },
         
     | 
| 
      
 9551 
     | 
    
         
            +
              "panels/settings/FrameworkIgnoreListSettingsTab.ts | automaticallyIgnoreListKnownThirdPartyScripts": {
         
     | 
| 
      
 9552 
     | 
    
         
            +
                "message": "Âút̂óm̂át̂íĉál̂ĺŷ ád̂d́ k̂ńôẃn̂ t́ĥír̂d́-p̂ár̂t́ŷ śĉŕîṕt̂ś t̂ó îǵn̂ór̂é l̂íŝt́"
         
     | 
| 
      
 9553 
     | 
    
         
            +
              },
         
     | 
| 
      
 9554 
     | 
    
         
            +
              "panels/settings/FrameworkIgnoreListSettingsTab.ts | automaticallyIgnoreListKnownThirdPartyScriptsTooltip": {
         
     | 
| 
      
 9555 
     | 
    
         
            +
                "message": "Âd́d̂ śôúr̂ćêś f̂ŕôḿ t̂h́ê x_google_ignoreList f́îél̂d́ f̂ŕôḿ ŝóûŕĉé m̂áp̂ś t̂ó t̂h́ê íĝńôŕê ĺîśt̂"
         
     | 
| 
      
 9556 
     | 
    
         
            +
              },
         
     | 
| 
       9533 
9557 
     | 
    
         
             
              "panels/settings/FrameworkIgnoreListSettingsTab.ts | behavior": {
         
     | 
| 
       9534 
9558 
     | 
    
         
             
                "message": "B̂éĥáv̂íôŕ"
         
     | 
| 
       9535 
9559 
     | 
    
         
             
              },
         
     | 
| 
         @@ -293,6 +293,7 @@ export enum ExperimentName { 
     | 
|
| 
       293 
293 
     | 
    
         
             
              INSTRUMENTATION_BREAKPOINTS = 'instrumentationBreakpoints',
         
     | 
| 
       294 
294 
     | 
    
         
             
              CSS_AUTHORING_HINTS = 'cssAuthoringHints',
         
     | 
| 
       295 
295 
     | 
    
         
             
              AUTHORED_DEPLOYED_GROUPING = 'authoredDeployedGrouping',
         
     | 
| 
      
 296 
     | 
    
         
            +
              IMPORTANT_DOM_PROPERTIES = 'importantDOMProperties',
         
     | 
| 
       296 
297 
     | 
    
         
             
            }
         
     | 
| 
       297 
298 
     | 
    
         | 
| 
       298 
299 
     | 
    
         
             
            // TODO(crbug.com/1167717): Make this a const enum again
         
     | 
| 
         @@ -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
         
     | 
| 
         @@ -914,8 +914,13 @@ export class NetworkDispatcher implements ProtocolProxyApi.NetworkDispatcher { 
     | 
|
| 
       914 
914 
     | 
    
         
             
                const oldDispatcher = (NetworkManager.forRequest(request) as NetworkManager).dispatcher;
         
     | 
| 
       915 
915 
     | 
    
         
             
                oldDispatcher.#requestsById.delete(requestId);
         
     | 
| 
       916 
916 
     | 
    
         
             
                oldDispatcher.#requestsByURL.delete(request.url());
         
     | 
| 
      
 917 
     | 
    
         
            +
                const builder = oldDispatcher.#requestIdToExtraInfoBuilder.get(requestId);
         
     | 
| 
      
 918 
     | 
    
         
            +
                oldDispatcher.#requestIdToExtraInfoBuilder.delete(requestId);
         
     | 
| 
       917 
919 
     | 
    
         
             
                this.#requestsById.set(requestId, request);
         
     | 
| 
       918 
920 
     | 
    
         
             
                this.#requestsByURL.set(request.url(), request);
         
     | 
| 
      
 921 
     | 
    
         
            +
                if (builder) {
         
     | 
| 
      
 922 
     | 
    
         
            +
                  this.#requestIdToExtraInfoBuilder.set(requestId, builder);
         
     | 
| 
      
 923 
     | 
    
         
            +
                }
         
     | 
| 
       919 
924 
     | 
    
         
             
                requestToManagerMap.set(request, this.#manager);
         
     | 
| 
       920 
925 
     | 
    
         
             
                return request;
         
     | 
| 
       921 
926 
     | 
    
         
             
              }
         
     | 
| 
         @@ -981,9 +986,21 @@ export class NetworkDispatcher implements ProtocolProxyApi.NetworkDispatcher { 
     | 
|
| 
       981 
986 
     | 
    
         
             
              }
         
     | 
| 
       982 
987 
     | 
    
         | 
| 
       983 
988 
     | 
    
         
             
              clearRequests(): void {
         
     | 
| 
       984 
     | 
    
         
            -
                this.#requestsById 
     | 
| 
       985 
     | 
    
         
            -
             
     | 
| 
       986 
     | 
    
         
            -
             
     | 
| 
      
 989 
     | 
    
         
            +
                for (const [requestId, request] of this.#requestsById) {
         
     | 
| 
      
 990 
     | 
    
         
            +
                  if (request.finished) {
         
     | 
| 
      
 991 
     | 
    
         
            +
                    this.#requestsById.delete(requestId);
         
     | 
| 
      
 992 
     | 
    
         
            +
                  }
         
     | 
| 
      
 993 
     | 
    
         
            +
                }
         
     | 
| 
      
 994 
     | 
    
         
            +
                for (const [requestURL, request] of this.#requestsByURL) {
         
     | 
| 
      
 995 
     | 
    
         
            +
                  if (request.finished) {
         
     | 
| 
      
 996 
     | 
    
         
            +
                    this.#requestsByURL.delete(requestURL);
         
     | 
| 
      
 997 
     | 
    
         
            +
                  }
         
     | 
| 
      
 998 
     | 
    
         
            +
                }
         
     | 
| 
      
 999 
     | 
    
         
            +
                for (const [requestId, builder] of this.#requestIdToExtraInfoBuilder) {
         
     | 
| 
      
 1000 
     | 
    
         
            +
                  if (builder.isFinished()) {
         
     | 
| 
      
 1001 
     | 
    
         
            +
                    this.#requestIdToExtraInfoBuilder.delete(requestId);
         
     | 
| 
      
 1002 
     | 
    
         
            +
                  }
         
     | 
| 
      
 1003 
     | 
    
         
            +
                }
         
     | 
| 
       987 
1004 
     | 
    
         
             
              }
         
     | 
| 
       988 
1005 
     | 
    
         | 
| 
       989 
1006 
     | 
    
         
             
              webTransportCreated({transportId, url: requestURL, timestamp: time, initiator}:
         
     | 
| 
         @@ -1643,6 +1660,10 @@ class ExtraInfoBuilder { 
     | 
|
| 
       1643 
1660 
     | 
    
         
             
                this.updateFinalRequest();
         
     | 
| 
       1644 
1661 
     | 
    
         
             
              }
         
     | 
| 
       1645 
1662 
     | 
    
         | 
| 
      
 1663 
     | 
    
         
            +
              isFinished(): boolean {
         
     | 
| 
      
 1664 
     | 
    
         
            +
                return this.#finishedInternal;
         
     | 
| 
      
 1665 
     | 
    
         
            +
              }
         
     | 
| 
      
 1666 
     | 
    
         
            +
             
     | 
| 
       1646 
1667 
     | 
    
         
             
              private sync(index: number): void {
         
     | 
| 
       1647 
1668 
     | 
    
         
             
                const req = this.#requests[index];
         
     | 
| 
       1648 
1669 
     | 
    
         
             
                if (!req) {
         
     | 
| 
         @@ -232,7 +232,7 @@ export class ResourceTreeModel extends SDKModel<EventTypes> { 
     | 
|
| 
       232 
232 
     | 
    
         
             
                  this.processPendingEvents(frame);
         
     | 
| 
       233 
233 
     | 
    
         
             
                  this.dispatchEventToListeners(Events.MainFrameNavigated, frame);
         
     | 
| 
       234 
234 
     | 
    
         
             
                  const networkManager = this.target().model(NetworkManager);
         
     | 
| 
       235 
     | 
    
         
            -
                  if (networkManager) {
         
     | 
| 
      
 235 
     | 
    
         
            +
                  if (networkManager && frame.isTopFrame()) {
         
     | 
| 
       236 
236 
     | 
    
         
             
                    networkManager.clearRequests();
         
     | 
| 
       237 
237 
     | 
    
         
             
                  }
         
     | 
| 
       238 
238 
     | 
    
         
             
                }
         
     | 
| 
         @@ -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);
         
     | 
| 
         @@ -332,6 +332,13 @@ Common.Settings.registerSettingExtension({ 
     | 
|
| 
       332 
332 
     | 
    
         
             
              defaultValue: false,
         
     | 
| 
       333 
333 
     | 
    
         
             
            });
         
     | 
| 
       334 
334 
     | 
    
         | 
| 
      
 335 
     | 
    
         
            +
            Common.Settings.registerSettingExtension({
         
     | 
| 
      
 336 
     | 
    
         
            +
              storageType: Common.Settings.SettingStorageType.Synced,
         
     | 
| 
      
 337 
     | 
    
         
            +
              settingName: 'automaticallyIgnoreListKnownThirdPartyScripts',
         
     | 
| 
      
 338 
     | 
    
         
            +
              settingType: Common.Settings.SettingType.BOOLEAN,
         
     | 
| 
      
 339 
     | 
    
         
            +
              defaultValue: true,
         
     | 
| 
      
 340 
     | 
    
         
            +
            });
         
     | 
| 
      
 341 
     | 
    
         
            +
             
     | 
| 
       335 
342 
     | 
    
         
             
            Common.Settings.registerSettingExtension({
         
     | 
| 
       336 
343 
     | 
    
         
             
              category: Common.Settings.SettingCategory.CONSOLE,
         
     | 
| 
       337 
344 
     | 
    
         
             
              storageType: Common.Settings.SettingStorageType.Synced,
         
     | 
| 
         @@ -1155,6 +1155,7 @@ 
     | 
|
| 
       1155 
1155 
     | 
    
         
             
                  'showWhitespacesInEditor',
         
     | 
| 
       1156 
1156 
     | 
    
         
             
                  'sidebarPosition',
         
     | 
| 
       1157 
1157 
     | 
    
         
             
                  'skipContentScripts',
         
     | 
| 
      
 1158 
     | 
    
         
            +
                  'automaticallyIgnoreListKnownThirdPartyScripts',
         
     | 
| 
       1158 
1159 
     | 
    
         
             
                  'skipStackFramesPattern',
         
     | 
| 
       1159 
1160 
     | 
    
         
             
                  'sourceMapInfobarDisabled',
         
     | 
| 
       1160 
1161 
     | 
    
         
             
                  'sourcesPanelDebuggerSidebarSplitViewState',
         
     | 
| 
         @@ -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,
         
     | 
| 
         @@ -406,6 +406,11 @@ export class MainImpl { 
     | 
|
| 
       406 
406 
     | 
    
         
             
                Root.Runtime.experiments.register(
         
     | 
| 
       407 
407 
     | 
    
         
             
                    Root.Runtime.ExperimentName.AUTHORED_DEPLOYED_GROUPING, 'Group sources into Authored and Deployed trees');
         
     | 
| 
       408 
408 
     | 
    
         | 
| 
      
 409 
     | 
    
         
            +
                // Highlight important DOM properties in the Object Properties viewer.
         
     | 
| 
      
 410 
     | 
    
         
            +
                Root.Runtime.experiments.register(
         
     | 
| 
      
 411 
     | 
    
         
            +
                    Root.Runtime.ExperimentName.IMPORTANT_DOM_PROPERTIES,
         
     | 
| 
      
 412 
     | 
    
         
            +
                    'Highlight important DOM properties in the Object Properties viewer');
         
     | 
| 
      
 413 
     | 
    
         
            +
             
     | 
| 
       409 
414 
     | 
    
         
             
                Root.Runtime.experiments.enableExperimentsByDefault([
         
     | 
| 
       410 
415 
     | 
    
         
             
                  'sourceOrderViewer',
         
     | 
| 
       411 
416 
     | 
    
         
             
                  'hideIssuesFeature',
         
     |