chrome-devtools-frontend 1.0.927127 → 1.0.928589
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/AUTHORS +1 -0
- package/config/gni/all_devtools_files.gni +0 -1
- package/config/gni/devtools_grd_files.gni +30 -4
- package/config/gni/devtools_image_files.gni +1 -0
- package/front_end/Images/src/ic_preview_feature.svg +3 -0
- package/front_end/Tests.js +2 -3
- package/front_end/core/common/Settings.ts +26 -45
- package/front_end/core/host/UserMetrics.ts +2 -2
- package/front_end/core/i18n/locales/en-US.json +60 -15
- package/front_end/core/i18n/locales/en-XL.json +60 -15
- package/front_end/core/platform/keyboard-utilities.ts +1 -0
- package/front_end/core/root/Runtime.ts +62 -61
- package/front_end/core/sdk/AccessibilityModel.ts +73 -73
- package/front_end/core/sdk/CPUProfileDataModel.ts +14 -14
- package/front_end/core/sdk/CPUProfilerModel.ts +33 -33
- package/front_end/core/sdk/CPUThrottlingManager.ts +8 -8
- package/front_end/core/sdk/CSSFontFace.ts +10 -10
- package/front_end/core/sdk/CSSMatchedStyles.ts +114 -114
- package/front_end/core/sdk/CSSMedia.ts +22 -22
- package/front_end/core/sdk/CSSMetadata.ts +53 -49
- package/front_end/core/sdk/CSSModel.ts +139 -135
- package/front_end/core/sdk/CSSProperty.ts +18 -18
- package/front_end/core/sdk/CSSRule.ts +15 -15
- package/front_end/core/sdk/CSSStyleDeclaration.ts +49 -47
- package/front_end/core/sdk/CSSStyleSheetHeader.ts +12 -12
- package/front_end/core/sdk/ChildTargetManager.ts +41 -40
- package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +10 -10
- package/front_end/core/sdk/Connections.ts +81 -81
- package/front_end/core/sdk/ConsoleModel.ts +68 -68
- package/front_end/core/sdk/Cookie.ts +48 -48
- package/front_end/core/sdk/CookieModel.ts +13 -13
- package/front_end/core/sdk/CookieParser.ts +45 -45
- package/front_end/core/sdk/DOMDebuggerModel.ts +131 -131
- package/front_end/core/sdk/DOMModel.ts +264 -252
- package/front_end/core/sdk/DebuggerModel.ts +209 -205
- package/front_end/core/sdk/EmulationModel.ts +76 -76
- package/front_end/core/sdk/FilmStripModel.ts +29 -29
- package/front_end/core/sdk/FrameManager.ts +43 -42
- package/front_end/core/sdk/HeapProfilerModel.ts +36 -36
- package/front_end/core/sdk/IsolateManager.ts +82 -82
- package/front_end/core/sdk/IssuesModel.ts +6 -6
- package/front_end/core/sdk/LayerTreeBase.ts +37 -37
- package/front_end/core/sdk/LogModel.ts +5 -5
- package/front_end/core/sdk/NetworkManager.ts +229 -225
- package/front_end/core/sdk/NetworkRequest.ts +368 -360
- package/front_end/core/sdk/OverlayColorGenerator.ts +9 -9
- package/front_end/core/sdk/OverlayModel.ts +155 -153
- package/front_end/core/sdk/OverlayPersistentHighlighter.ts +100 -101
- package/front_end/core/sdk/PageResourceLoader.ts +30 -30
- package/front_end/core/sdk/PaintProfiler.ts +16 -16
- package/front_end/core/sdk/PerformanceMetricsModel.ts +12 -12
- package/front_end/core/sdk/ProfileTreeModel.ts +3 -3
- package/front_end/core/sdk/RemoteObject.ts +108 -104
- package/front_end/core/sdk/Resource.ts +85 -84
- package/front_end/core/sdk/ResourceTreeModel.ts +150 -145
- package/front_end/core/sdk/RuntimeModel.ts +38 -34
- package/front_end/core/sdk/SDKModel.ts +3 -3
- package/front_end/core/sdk/ScreenCaptureModel.ts +19 -19
- package/front_end/core/sdk/Script.ts +29 -29
- package/front_end/core/sdk/SecurityOriginManager.ts +19 -19
- package/front_end/core/sdk/ServerTiming.ts +2 -2
- package/front_end/core/sdk/ServiceWorkerCacheModel.ts +43 -43
- package/front_end/core/sdk/ServiceWorkerManager.ts +72 -68
- package/front_end/core/sdk/SourceMap.ts +40 -36
- package/front_end/core/sdk/SourceMapManager.ts +57 -57
- package/front_end/core/sdk/Target.ts +64 -63
- package/front_end/core/sdk/TargetManager.ts +60 -56
- package/front_end/core/sdk/TracingManager.ts +39 -39
- package/front_end/core/sdk/TracingModel.ts +125 -125
- package/front_end/core/sdk/WebAuthnModel.ts +9 -9
- package/front_end/entrypoints/lighthouse_worker/{LighthouseService.js → LighthouseService.ts} +20 -45
- package/front_end/entrypoints/lighthouse_worker/{lighthouse_worker.js → lighthouse_worker.ts} +0 -0
- package/front_end/entrypoints/main/MainImpl.ts +7 -2
- package/front_end/legacy_test_runner/elements_test_runner/ElementsTestRunner.js +4 -4
- package/front_end/legacy_test_runner/sdk_test_runner/sdk_test_runner.js +1 -1
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +0 -6
- package/front_end/models/issues_manager/GenericIssue.ts +86 -0
- package/front_end/models/issues_manager/Issue.ts +24 -0
- package/front_end/models/issues_manager/IssuesManager.ts +18 -6
- package/front_end/models/issues_manager/descriptions/genericCrossOriginPortalPostMessageError.md +3 -0
- package/front_end/models/issues_manager/issues_manager.ts +2 -0
- package/front_end/models/javascript_metadata/NativeFunctions.js +5422 -1
- package/front_end/panels/console/ConsoleSidebar.ts +0 -3
- package/front_end/panels/elements/ElementsTreeElement.ts +53 -61
- package/front_end/panels/elements/ElementsTreeOutline.ts +0 -1
- package/front_end/panels/elements/components/LayoutPane.ts +5 -1
- package/front_end/panels/issues/GenericIssueDetailsView.ts +68 -0
- package/front_end/panels/issues/IssueAggregator.ts +16 -0
- package/front_end/panels/issues/IssueKindView.ts +95 -0
- package/front_end/panels/issues/IssueView.ts +6 -0
- package/front_end/panels/issues/IssuesPane.ts +81 -18
- package/front_end/panels/issues/issuesTree.css +8 -3
- package/front_end/panels/lighthouse/LighthouseController.ts +3 -1
- package/front_end/panels/network/NetworkItemView.ts +1 -1
- package/front_end/panels/network/networkLogView.css +5 -0
- package/front_end/panels/sensors/LocationsSettingsTab.ts +1 -1
- package/front_end/panels/settings/SettingsScreen.ts +1 -0
- package/front_end/panels/settings/settingsScreen.css +24 -0
- package/front_end/panels/snippets/SnippetsQuickOpen.ts +8 -3
- package/front_end/panels/sources/TabbedEditorContainer.ts +1 -1
- package/front_end/panels/sources/sources-meta.ts +22 -7
- package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
- package/front_end/third_party/codemirror.next/package.json +4 -4
- package/front_end/ui/components/code_highlighter/CodeHighlighter.ts +137 -0
- package/front_end/ui/components/code_highlighter/codeHighlighter.css +51 -0
- package/front_end/ui/components/code_highlighter/code_highlighter.ts +11 -0
- package/front_end/ui/components/docs/text_editor/basic.html +28 -0
- package/front_end/ui/components/docs/text_editor/basic.ts +14 -0
- package/front_end/ui/components/docs/text_prompt/basic.html +35 -0
- package/front_end/ui/components/docs/text_prompt/basic.ts +19 -0
- package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +1 -0
- package/front_end/ui/components/render_coordinator/RenderCoordinator.ts +17 -0
- package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +1 -0
- package/front_end/ui/components/text_editor/TextEditor.ts +161 -0
- package/front_end/ui/components/text_editor/config.ts +264 -0
- package/front_end/{panels/console/components/components.ts → ui/components/text_editor/text_editor.ts} +2 -5
- package/front_end/ui/components/text_editor/theme.ts +113 -0
- package/front_end/ui/components/text_prompt/TextPrompt.ts +144 -0
- package/front_end/ui/components/text_prompt/textPrompt.css +33 -0
- package/front_end/ui/components/text_prompt/text_prompt.ts +9 -0
- package/front_end/ui/legacy/ARIAUtils.ts +14 -11
- package/front_end/ui/legacy/TabbedPane.ts +32 -3
- package/front_end/ui/legacy/UIUtils.ts +3 -1
- package/front_end/ui/legacy/View.ts +6 -0
- package/front_end/ui/legacy/ViewManager.ts +5 -1
- package/front_end/ui/legacy/ViewRegistration.ts +5 -0
- package/front_end/ui/legacy/XLink.ts +1 -1
- package/front_end/ui/legacy/closeButton.css +6 -0
- package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +8 -3
- package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +38 -38
- package/front_end/ui/legacy/components/quick_open/HelpQuickOpen.ts +10 -4
- package/front_end/ui/legacy/components/quick_open/QuickOpen.ts +23 -6
- package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +14 -16
- package/front_end/ui/legacy/filter.css +1 -0
- package/front_end/ui/legacy/tabbedPane.css +24 -0
- package/front_end/ui/legacy/toolbar.css +5 -0
- package/inspector_overlay/main.ts +2 -1
- package/inspector_overlay/tool_screenshot.ts +8 -1
- package/package.json +1 -1
- package/scripts/build/rollup.config.js +9 -0
- package/scripts/migration/class-fields/migrate.js +56 -0
- package/scripts/migration/class-fields/package.json +5 -0
- package/front_end/panels/console/components/SidebarDeprecation.ts +0 -58
- package/front_end/panels/console/components/sidebarDeprecation.css +0 -17
|
@@ -1334,18 +1334,30 @@
|
|
|
1334
1334
|
"models/issues_manager/DeprecationIssue.ts | userAgentReduction": {
|
|
1335
1335
|
"message": "Ûśêŕ-Âǵêńt̂ Śt̂ŕîńĝ Ŕêd́ûćt̂íôń"
|
|
1336
1336
|
},
|
|
1337
|
+
"models/issues_manager/GenericIssue.ts | crossOriginPortalPostMessage": {
|
|
1338
|
+
"message": "P̂ór̂t́âĺŝ - Śâḿê-ór̂íĝín̂ ćôḿm̂ún̂íĉát̂íôń ĉh́âńn̂él̂ś"
|
|
1339
|
+
},
|
|
1337
1340
|
"models/issues_manager/HeavyAdIssue.ts | handlingHeavyAdInterventions": {
|
|
1338
1341
|
"message": "Ĥán̂d́l̂ín̂ǵ Ĥéâv́ŷ Ád̂ Ín̂t́êŕv̂én̂t́îón̂ś"
|
|
1339
1342
|
},
|
|
1340
1343
|
"models/issues_manager/Issue.ts | breakingChangeIssue": {
|
|
1341
1344
|
"message": "Â b́r̂éâḱîńĝ ćĥán̂ǵê íŝśûé: t̂h́ê ṕâǵê ḿâý ŝt́ôṕ ŵór̂ḱîńĝ ín̂ án̂ úp̂ćôḿîńĝ v́êŕŝíôń ôf́ Ĉh́r̂óm̂é"
|
|
1342
1345
|
},
|
|
1346
|
+
"models/issues_manager/Issue.ts | breakingChanges": {
|
|
1347
|
+
"message": "B̂ŕêák̂ín̂ǵ Ĉh́âńĝéŝ"
|
|
1348
|
+
},
|
|
1343
1349
|
"models/issues_manager/Issue.ts | improvementIssue": {
|
|
1344
1350
|
"message": "Âń îḿp̂ŕôv́êḿêńt̂ íŝśûé: t̂h́êŕê íŝ án̂ óp̂ṕôŕt̂ún̂ít̂ý t̂ó îḿp̂ŕôv́ê t́ĥé p̂áĝé"
|
|
1345
1351
|
},
|
|
1352
|
+
"models/issues_manager/Issue.ts | improvements": {
|
|
1353
|
+
"message": "Îḿp̂ŕôv́êḿêńt̂ś"
|
|
1354
|
+
},
|
|
1346
1355
|
"models/issues_manager/Issue.ts | pageErrorIssue": {
|
|
1347
1356
|
"message": "Â ṕâǵê ér̂ŕôŕ îśŝúê: t́ĥé p̂áĝé îś n̂ót̂ ẃôŕk̂ín̂ǵ ĉór̂ŕêćt̂ĺŷ"
|
|
1348
1357
|
},
|
|
1358
|
+
"models/issues_manager/Issue.ts | pageErrors": {
|
|
1359
|
+
"message": "P̂áĝé Êŕr̂ór̂ś"
|
|
1360
|
+
},
|
|
1349
1361
|
"models/issues_manager/LowTextContrastIssue.ts | colorAndContrastAccessibility": {
|
|
1350
1362
|
"message": "Ĉól̂ór̂ án̂d́ ĉón̂t́r̂áŝt́ âćĉéŝśîb́îĺît́ŷ"
|
|
1351
1363
|
},
|
|
@@ -3299,12 +3311,6 @@
|
|
|
3299
3311
|
"panels/console_counters/WarningErrorCounter.ts | sWarnings": {
|
|
3300
3312
|
"message": "{n, plural, =1 {# ŵár̂ńîńĝ} other {# ẃâŕn̂ín̂ǵŝ}}"
|
|
3301
3313
|
},
|
|
3302
|
-
"panels/console/components/SidebarDeprecation.ts | deprecationNotice": {
|
|
3303
|
-
"message": "T̂h́îś ŝíd̂éb̂ár̂ ẃîĺl̂ b́ê ŕêḿôv́êd́ îń â f́ût́ûŕê v́êŕŝíôń ôf́ Ĉh́r̂óm̂é. Îf́ ŷóû h́âv́ê f́êéd̂b́âćk̂, ṕl̂éâśê ĺêt́ ûś k̂ńôẃ v̂íâ t́ĥé"
|
|
3304
|
-
},
|
|
3305
|
-
"panels/console/components/SidebarDeprecation.ts | issueTrackerLinkText": {
|
|
3306
|
-
"message": "îśŝúê t́r̂áĉḱêŕ"
|
|
3307
|
-
},
|
|
3308
3314
|
"panels/console/console-meta.ts | autocompleteFromHistory": {
|
|
3309
3315
|
"message": "Âút̂óĉóm̂ṕl̂ét̂é f̂ŕôḿ ĥíŝt́ôŕŷ"
|
|
3310
3316
|
},
|
|
@@ -3986,6 +3992,9 @@
|
|
|
3986
3992
|
"panels/elements/components/ElementsBreadcrumbsUtils.ts | text": {
|
|
3987
3993
|
"message": "(t̂éx̂t́)"
|
|
3988
3994
|
},
|
|
3995
|
+
"panels/elements/components/LayoutPane.ts | chooseElementOverlayColor": {
|
|
3996
|
+
"message": "Ĉh́ôóŝé t̂h́ê óv̂ér̂ĺâý ĉól̂ór̂ f́ôŕ t̂h́îś êĺêḿêńt̂"
|
|
3997
|
+
},
|
|
3989
3998
|
"panels/elements/components/LayoutPane.ts | flexbox": {
|
|
3990
3999
|
"message": "F̂ĺêx́b̂óx̂"
|
|
3991
4000
|
},
|
|
@@ -4976,6 +4985,12 @@
|
|
|
4976
4985
|
"panels/issues/CSPViolationsView.ts | filter": {
|
|
4977
4986
|
"message": "F̂íl̂t́êŕ"
|
|
4978
4987
|
},
|
|
4988
|
+
"panels/issues/GenericIssueDetailsView.ts | frameId": {
|
|
4989
|
+
"message": "F̂ŕâḿê"
|
|
4990
|
+
},
|
|
4991
|
+
"panels/issues/GenericIssueDetailsView.ts | nResources": {
|
|
4992
|
+
"message": "{n, plural, =1 {# r̂éŝóûŕĉé} other {# r̂éŝóûŕĉéŝ}}"
|
|
4993
|
+
},
|
|
4979
4994
|
"panels/issues/HiddenIssuesRow.ts | hiddenIssues": {
|
|
4980
4995
|
"message": "Ĥíd̂d́êń îśŝúêś"
|
|
4981
4996
|
},
|
|
@@ -5006,12 +5021,21 @@
|
|
|
5006
5021
|
"panels/issues/IssuesPane.ts | crossOriginEmbedderPolicy": {
|
|
5007
5022
|
"message": "Ĉŕôśŝ Ór̂íĝín̂ Ém̂b́êd́d̂ér̂ Ṕôĺîćŷ"
|
|
5008
5023
|
},
|
|
5024
|
+
"panels/issues/IssuesPane.ts | generic": {
|
|
5025
|
+
"message": "Ĝén̂ér̂íĉ"
|
|
5026
|
+
},
|
|
5009
5027
|
"panels/issues/IssuesPane.ts | groupByCategory": {
|
|
5010
5028
|
"message": "Ĝŕôúp̂ b́ŷ ćât́êǵôŕŷ"
|
|
5011
5029
|
},
|
|
5030
|
+
"panels/issues/IssuesPane.ts | groupByKind": {
|
|
5031
|
+
"message": "Ĝŕôúp̂ b́ŷ ḱîńd̂"
|
|
5032
|
+
},
|
|
5012
5033
|
"panels/issues/IssuesPane.ts | groupDisplayedIssuesUnder": {
|
|
5013
5034
|
"message": "Ĝŕôúp̂ d́îśp̂ĺâýêd́ îśŝúêś ûńd̂ér̂ áŝśôćîát̂éd̂ ćât́êǵôŕîéŝ"
|
|
5014
5035
|
},
|
|
5036
|
+
"panels/issues/IssuesPane.ts | groupDisplayedIssuesUnderKind": {
|
|
5037
|
+
"message": "Ĝŕôúp̂ d́îśp̂ĺâýêd́ îśŝúêś âś P̂áĝé êŕr̂ór̂ś, B̂ŕêák̂ín̂ǵ ĉh́âńĝéŝ án̂d́ Îḿp̂ŕôv́êḿêńt̂ś"
|
|
5038
|
+
},
|
|
5015
5039
|
"panels/issues/IssuesPane.ts | heavyAds": {
|
|
5016
5040
|
"message": "Ĥéâv́ŷ Ád̂ś"
|
|
5017
5041
|
},
|
|
@@ -8651,8 +8675,11 @@
|
|
|
8651
8675
|
"panels/snippets/SnippetsQuickOpen.ts | noSnippetsFound": {
|
|
8652
8676
|
"message": "N̂ó ŝńîṕp̂ét̂ś f̂óûńd̂."
|
|
8653
8677
|
},
|
|
8654
|
-
"panels/snippets/SnippetsQuickOpen.ts |
|
|
8655
|
-
"message": "R̂ún̂
|
|
8678
|
+
"panels/snippets/SnippetsQuickOpen.ts | run": {
|
|
8679
|
+
"message": "R̂ún̂"
|
|
8680
|
+
},
|
|
8681
|
+
"panels/snippets/SnippetsQuickOpen.ts | snippet": {
|
|
8682
|
+
"message": "Ŝńîṕp̂ét̂"
|
|
8656
8683
|
},
|
|
8657
8684
|
"panels/sources/AddSourceMapURLDialog.ts | add": {
|
|
8658
8685
|
"message": "Âd́d̂"
|
|
@@ -9146,18 +9173,21 @@
|
|
|
9146
9173
|
"panels/sources/sources-meta.ts | evaluateSelectedTextInConsole": {
|
|
9147
9174
|
"message": "Êv́âĺûát̂é ŝél̂éĉt́êd́ t̂éx̂t́ îń ĉón̂śôĺê"
|
|
9148
9175
|
},
|
|
9176
|
+
"panels/sources/sources-meta.ts | file": {
|
|
9177
|
+
"message": "F̂íl̂é"
|
|
9178
|
+
},
|
|
9149
9179
|
"panels/sources/sources-meta.ts | filesystem": {
|
|
9150
9180
|
"message": "F̂íl̂éŝýŝt́êḿ"
|
|
9151
9181
|
},
|
|
9182
|
+
"panels/sources/sources-meta.ts | goTo": {
|
|
9183
|
+
"message": "Ĝó t̂ó"
|
|
9184
|
+
},
|
|
9152
9185
|
"panels/sources/sources-meta.ts | goToAFunctionDeclarationruleSet": {
|
|
9153
9186
|
"message": "Ĝó t̂ó â f́ûńĉt́îón̂ d́êćl̂ár̂át̂íôń/r̂úl̂é ŝét̂"
|
|
9154
9187
|
},
|
|
9155
9188
|
"panels/sources/sources-meta.ts | goToLine": {
|
|
9156
9189
|
"message": "Ĝó t̂ó l̂ín̂é"
|
|
9157
9190
|
},
|
|
9158
|
-
"panels/sources/sources-meta.ts | goToSymbol": {
|
|
9159
|
-
"message": "Ĝó t̂ó ŝým̂b́ôĺ"
|
|
9160
|
-
},
|
|
9161
9191
|
"panels/sources/sources-meta.ts | incrementCssUnitBy": {
|
|
9162
9192
|
"message": "Îńĉŕêḿêńt̂ ĆŜŚ ûńît́ b̂ý {PH1}"
|
|
9163
9193
|
},
|
|
@@ -9167,14 +9197,17 @@
|
|
|
9167
9197
|
"panels/sources/sources-meta.ts | jumpToPreviousEditingLocation": {
|
|
9168
9198
|
"message": "Ĵúm̂ṕ t̂ó p̂ŕêv́îóûś êd́ît́îńĝ ĺôćât́îón̂"
|
|
9169
9199
|
},
|
|
9200
|
+
"panels/sources/sources-meta.ts | line": {
|
|
9201
|
+
"message": "L̂ín̂é"
|
|
9202
|
+
},
|
|
9170
9203
|
"panels/sources/sources-meta.ts | nextCallFrame": {
|
|
9171
9204
|
"message": "N̂éx̂t́ ĉál̂ĺ f̂ŕâḿê"
|
|
9172
9205
|
},
|
|
9173
9206
|
"panels/sources/sources-meta.ts | none": {
|
|
9174
9207
|
"message": "N̂ón̂é"
|
|
9175
9208
|
},
|
|
9176
|
-
"panels/sources/sources-meta.ts |
|
|
9177
|
-
"message": "Ôṕêń
|
|
9209
|
+
"panels/sources/sources-meta.ts | open": {
|
|
9210
|
+
"message": "Ôṕêń"
|
|
9178
9211
|
},
|
|
9179
9212
|
"panels/sources/sources-meta.ts | pauseScriptExecution": {
|
|
9180
9213
|
"message": "P̂áûśê śĉŕîṕt̂ éx̂éĉút̂íôń"
|
|
@@ -9266,6 +9299,9 @@
|
|
|
9266
9299
|
"panels/sources/sources-meta.ts | switchFile": {
|
|
9267
9300
|
"message": "Ŝẃît́ĉh́ f̂íl̂é"
|
|
9268
9301
|
},
|
|
9302
|
+
"panels/sources/sources-meta.ts | symbol": {
|
|
9303
|
+
"message": "Ŝým̂b́ôĺ"
|
|
9304
|
+
},
|
|
9269
9305
|
"panels/sources/sources-meta.ts | threads": {
|
|
9270
9306
|
"message": "T̂h́r̂éâd́ŝ"
|
|
9271
9307
|
},
|
|
@@ -11000,6 +11036,9 @@
|
|
|
11000
11036
|
"ui/components/survey_link/SurveyLink.ts | thankYouForYourFeedback": {
|
|
11001
11037
|
"message": "T̂h́âńk̂ ýôú f̂ór̂ ýôúr̂ f́êéd̂b́âćk̂"
|
|
11002
11038
|
},
|
|
11039
|
+
"ui/components/text_editor/config.ts | codeEditor": {
|
|
11040
|
+
"message": "Ĉód̂é êd́ît́ôŕ"
|
|
11041
|
+
},
|
|
11003
11042
|
"ui/legacy/components/color_picker/ContrastDetails.ts | aa": {
|
|
11004
11043
|
"message": "ÂÁ"
|
|
11005
11044
|
},
|
|
@@ -11417,14 +11456,17 @@
|
|
|
11417
11456
|
"ui/legacy/components/perf_ui/PieChart.ts | total": {
|
|
11418
11457
|
"message": "T̂ót̂ál̂"
|
|
11419
11458
|
},
|
|
11459
|
+
"ui/legacy/components/quick_open/CommandMenu.ts | command": {
|
|
11460
|
+
"message": "Ĉóm̂ḿâńd̂"
|
|
11461
|
+
},
|
|
11420
11462
|
"ui/legacy/components/quick_open/CommandMenu.ts | noCommandsFound": {
|
|
11421
11463
|
"message": "N̂ó ĉóm̂ḿâńd̂ś f̂óûńd̂"
|
|
11422
11464
|
},
|
|
11423
11465
|
"ui/legacy/components/quick_open/CommandMenu.ts | oneOrMoreSettingsHaveChanged": {
|
|
11424
11466
|
"message": "Ôńê ór̂ ḿôŕê śêt́t̂ín̂ǵŝ h́âv́ê ćĥán̂ǵêd́ ŵh́îćĥ ŕêq́ûír̂éŝ á r̂él̂óâd́ t̂ó t̂ák̂é êf́f̂éĉt́."
|
|
11425
11467
|
},
|
|
11426
|
-
"ui/legacy/components/quick_open/CommandMenu.ts |
|
|
11427
|
-
"message": "R̂ún̂
|
|
11468
|
+
"ui/legacy/components/quick_open/CommandMenu.ts | run": {
|
|
11469
|
+
"message": "R̂ún̂"
|
|
11428
11470
|
},
|
|
11429
11471
|
"ui/legacy/components/quick_open/FilteredListWidget.ts | noResultsFound": {
|
|
11430
11472
|
"message": "N̂ó r̂éŝúl̂t́ŝ f́ôún̂d́"
|
|
@@ -11777,6 +11819,9 @@
|
|
|
11777
11819
|
"ui/legacy/TabbedPane.ts | moreTabs": {
|
|
11778
11820
|
"message": "M̂ór̂é t̂áb̂ś"
|
|
11779
11821
|
},
|
|
11822
|
+
"ui/legacy/TabbedPane.ts | previewFeature": {
|
|
11823
|
+
"message": "P̂ŕêv́îéŵ f́êát̂úr̂é"
|
|
11824
|
+
},
|
|
11780
11825
|
"ui/legacy/TargetCrashedScreen.ts | devtoolsWasDisconnectedFromThe": {
|
|
11781
11826
|
"message": "D̂év̂T́ôól̂ś ŵáŝ d́îśĉón̂ńêćt̂éd̂ f́r̂óm̂ t́ĥé p̂áĝé."
|
|
11782
11827
|
},
|
|
@@ -65,17 +65,17 @@ export const mappingForLayoutTests = new Map<string, string>([
|
|
|
65
65
|
]);
|
|
66
66
|
|
|
67
67
|
export class Runtime {
|
|
68
|
-
|
|
68
|
+
readonly #modules: Module[];
|
|
69
69
|
modulesMap: {
|
|
70
70
|
[x: string]: Module,
|
|
71
71
|
};
|
|
72
|
-
|
|
72
|
+
readonly #descriptorsMap: {
|
|
73
73
|
[x: string]: ModuleDescriptor,
|
|
74
74
|
};
|
|
75
75
|
private constructor(descriptors: ModuleDescriptor[]) {
|
|
76
|
-
this
|
|
76
|
+
this.#modules = [];
|
|
77
77
|
this.modulesMap = {};
|
|
78
|
-
this
|
|
78
|
+
this.#descriptorsMap = {};
|
|
79
79
|
|
|
80
80
|
for (const descriptor of descriptors) {
|
|
81
81
|
this.registerModule(descriptor);
|
|
@@ -209,7 +209,7 @@ export class Runtime {
|
|
|
209
209
|
|
|
210
210
|
private registerModule(descriptor: ModuleDescriptor): void {
|
|
211
211
|
const module = new Module(this, descriptor);
|
|
212
|
-
this
|
|
212
|
+
this.#modules.push(module);
|
|
213
213
|
this.modulesMap[descriptor['name']] = module;
|
|
214
214
|
const mappedName = mappingForLayoutTests.get(descriptor['name']);
|
|
215
215
|
if (mappedName !== undefined) {
|
|
@@ -259,20 +259,20 @@ function computeContainingFolderName(name: string): string {
|
|
|
259
259
|
}
|
|
260
260
|
|
|
261
261
|
export class Module {
|
|
262
|
-
|
|
262
|
+
readonly #manager: Runtime;
|
|
263
263
|
readonly descriptor: ModuleDescriptor;
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
264
|
+
readonly #nameInternal: string;
|
|
265
|
+
#loadedForTest: boolean;
|
|
266
|
+
#pendingLoadPromise?: Promise<boolean>;
|
|
267
267
|
constructor(manager: Runtime, descriptor: ModuleDescriptor) {
|
|
268
|
-
this
|
|
268
|
+
this.#manager = manager;
|
|
269
269
|
this.descriptor = descriptor;
|
|
270
|
-
this
|
|
271
|
-
this
|
|
270
|
+
this.#nameInternal = descriptor.name;
|
|
271
|
+
this.#loadedForTest = false;
|
|
272
272
|
}
|
|
273
273
|
|
|
274
274
|
name(): string {
|
|
275
|
-
return this
|
|
275
|
+
return this.#nameInternal;
|
|
276
276
|
}
|
|
277
277
|
|
|
278
278
|
enabled(): boolean {
|
|
@@ -280,7 +280,7 @@ export class Module {
|
|
|
280
280
|
}
|
|
281
281
|
|
|
282
282
|
resource(name: string): string {
|
|
283
|
-
const fullName = this
|
|
283
|
+
const fullName = this.#nameInternal + '/' + name;
|
|
284
284
|
const content = cachedResources.get(fullName);
|
|
285
285
|
if (!content) {
|
|
286
286
|
throw new Error(fullName + ' not preloaded. Check module.json');
|
|
@@ -290,29 +290,29 @@ export class Module {
|
|
|
290
290
|
|
|
291
291
|
loadPromise(): Promise<boolean> {
|
|
292
292
|
if (!this.enabled()) {
|
|
293
|
-
return Promise.reject(new Error('Module ' + this
|
|
293
|
+
return Promise.reject(new Error('Module ' + this.#nameInternal + ' is not enabled'));
|
|
294
294
|
}
|
|
295
295
|
|
|
296
|
-
if (this
|
|
297
|
-
return this
|
|
296
|
+
if (this.#pendingLoadPromise) {
|
|
297
|
+
return this.#pendingLoadPromise;
|
|
298
298
|
}
|
|
299
299
|
|
|
300
300
|
const dependencies = this.descriptor.dependencies;
|
|
301
301
|
const dependencyPromises = [];
|
|
302
302
|
for (let i = 0; dependencies && i < dependencies.length; ++i) {
|
|
303
|
-
dependencyPromises.push(this
|
|
303
|
+
dependencyPromises.push(this.#manager.getModulesMap()[dependencies[i]].loadPromise());
|
|
304
304
|
}
|
|
305
305
|
|
|
306
|
-
this
|
|
307
|
-
this
|
|
308
|
-
return this
|
|
306
|
+
this.#pendingLoadPromise = Promise.all(dependencyPromises).then(this.loadModules.bind(this)).then(() => {
|
|
307
|
+
this.#loadedForTest = true;
|
|
308
|
+
return this.#loadedForTest;
|
|
309
309
|
});
|
|
310
310
|
|
|
311
|
-
return this
|
|
311
|
+
return this.#pendingLoadPromise;
|
|
312
312
|
}
|
|
313
313
|
|
|
314
314
|
private async loadModules(): Promise<void> {
|
|
315
|
-
const containingFolderName = computeContainingFolderName(this
|
|
315
|
+
const containingFolderName = computeContainingFolderName(this.#nameInternal);
|
|
316
316
|
|
|
317
317
|
const moduleFileName = `${containingFolderName}_module.js`;
|
|
318
318
|
const entrypointFileName = `${containingFolderName}.js`;
|
|
@@ -321,14 +321,14 @@ export class Module {
|
|
|
321
321
|
// by `build_release_applications`. These need to be loaded before any other code is
|
|
322
322
|
// loaded, to make sure that the resource content is properly cached in `cachedResources`.
|
|
323
323
|
if (this.descriptor.modules && this.descriptor.modules.includes(moduleFileName)) {
|
|
324
|
-
await import(`../../${this
|
|
324
|
+
await import(`../../${this.#nameInternal}/${moduleFileName}`);
|
|
325
325
|
}
|
|
326
326
|
|
|
327
|
-
await import(`../../${this
|
|
327
|
+
await import(`../../${this.#nameInternal}/${entrypointFileName}`);
|
|
328
328
|
}
|
|
329
329
|
|
|
330
330
|
private modularizeURL(resourceName: string): string {
|
|
331
|
-
return Runtime.normalizePath(this
|
|
331
|
+
return Runtime.normalizePath(this.#nameInternal + '/' + resourceName);
|
|
332
332
|
}
|
|
333
333
|
|
|
334
334
|
fetchResource(resourceName: string): Promise<string> {
|
|
@@ -338,23 +338,23 @@ export class Module {
|
|
|
338
338
|
}
|
|
339
339
|
|
|
340
340
|
export class ExperimentsSupport {
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
341
|
+
#experiments: Experiment[];
|
|
342
|
+
#experimentNames: Set<string>;
|
|
343
|
+
#enabledTransiently: Set<string>;
|
|
344
|
+
readonly #enabledByDefault: Set<string>;
|
|
345
|
+
readonly #serverEnabled: Set<string>;
|
|
346
346
|
constructor() {
|
|
347
|
-
this
|
|
348
|
-
this
|
|
349
|
-
this
|
|
350
|
-
this
|
|
351
|
-
this
|
|
347
|
+
this.#experiments = [];
|
|
348
|
+
this.#experimentNames = new Set();
|
|
349
|
+
this.#enabledTransiently = new Set();
|
|
350
|
+
this.#enabledByDefault = new Set();
|
|
351
|
+
this.#serverEnabled = new Set();
|
|
352
352
|
}
|
|
353
353
|
|
|
354
354
|
allConfigurableExperiments(): Experiment[] {
|
|
355
355
|
const result = [];
|
|
356
|
-
for (const experiment of this
|
|
357
|
-
if (!this
|
|
356
|
+
for (const experiment of this.#experiments) {
|
|
357
|
+
if (!this.#enabledTransiently.has(experiment.name)) {
|
|
358
358
|
result.push(experiment);
|
|
359
359
|
}
|
|
360
360
|
}
|
|
@@ -362,7 +362,7 @@ export class ExperimentsSupport {
|
|
|
362
362
|
}
|
|
363
363
|
|
|
364
364
|
enabledExperiments(): Experiment[] {
|
|
365
|
-
return this
|
|
365
|
+
return this.#experiments.filter(experiment => experiment.isEnabled());
|
|
366
366
|
}
|
|
367
367
|
|
|
368
368
|
private setExperimentsSetting(value: Object): void {
|
|
@@ -373,22 +373,23 @@ export class ExperimentsSupport {
|
|
|
373
373
|
}
|
|
374
374
|
|
|
375
375
|
register(experimentName: string, experimentTitle: string, unstable?: boolean, docLink?: string): void {
|
|
376
|
-
Runtime.assert(
|
|
377
|
-
|
|
378
|
-
this.
|
|
376
|
+
Runtime.assert(
|
|
377
|
+
!this.#experimentNames.has(experimentName), 'Duplicate registration of experiment ' + experimentName);
|
|
378
|
+
this.#experimentNames.add(experimentName);
|
|
379
|
+
this.#experiments.push(new Experiment(this, experimentName, experimentTitle, Boolean(unstable), docLink ?? ''));
|
|
379
380
|
}
|
|
380
381
|
|
|
381
382
|
isEnabled(experimentName: string): boolean {
|
|
382
383
|
this.checkExperiment(experimentName);
|
|
383
|
-
// Check for explicitly disabled experiments first - the code could call setEnable(false) on the experiment enabled
|
|
384
|
+
// Check for explicitly disabled #experiments first - the code could call setEnable(false) on the experiment enabled
|
|
384
385
|
// by default and we should respect that.
|
|
385
386
|
if (Runtime.experimentsSetting()[experimentName] === false) {
|
|
386
387
|
return false;
|
|
387
388
|
}
|
|
388
|
-
if (this
|
|
389
|
+
if (this.#enabledTransiently.has(experimentName) || this.#enabledByDefault.has(experimentName)) {
|
|
389
390
|
return true;
|
|
390
391
|
}
|
|
391
|
-
if (this
|
|
392
|
+
if (this.#serverEnabled.has(experimentName)) {
|
|
392
393
|
return true;
|
|
393
394
|
}
|
|
394
395
|
|
|
@@ -405,35 +406,35 @@ export class ExperimentsSupport {
|
|
|
405
406
|
enableExperimentsTransiently(experimentNames: string[]): void {
|
|
406
407
|
for (const experimentName of experimentNames) {
|
|
407
408
|
this.checkExperiment(experimentName);
|
|
408
|
-
this
|
|
409
|
+
this.#enabledTransiently.add(experimentName);
|
|
409
410
|
}
|
|
410
411
|
}
|
|
411
412
|
|
|
412
413
|
enableExperimentsByDefault(experimentNames: string[]): void {
|
|
413
414
|
for (const experimentName of experimentNames) {
|
|
414
415
|
this.checkExperiment(experimentName);
|
|
415
|
-
this
|
|
416
|
+
this.#enabledByDefault.add(experimentName);
|
|
416
417
|
}
|
|
417
418
|
}
|
|
418
419
|
|
|
419
420
|
setServerEnabledExperiments(experimentNames: string[]): void {
|
|
420
421
|
for (const experiment of experimentNames) {
|
|
421
422
|
this.checkExperiment(experiment);
|
|
422
|
-
this
|
|
423
|
+
this.#serverEnabled.add(experiment);
|
|
423
424
|
}
|
|
424
425
|
}
|
|
425
426
|
|
|
426
427
|
enableForTest(experimentName: string): void {
|
|
427
428
|
this.checkExperiment(experimentName);
|
|
428
|
-
this
|
|
429
|
+
this.#enabledTransiently.add(experimentName);
|
|
429
430
|
}
|
|
430
431
|
|
|
431
432
|
clearForTest(): void {
|
|
432
|
-
this
|
|
433
|
-
this
|
|
434
|
-
this
|
|
435
|
-
this
|
|
436
|
-
this
|
|
433
|
+
this.#experiments = [];
|
|
434
|
+
this.#experimentNames.clear();
|
|
435
|
+
this.#enabledTransiently.clear();
|
|
436
|
+
this.#enabledByDefault.clear();
|
|
437
|
+
this.#serverEnabled.clear();
|
|
437
438
|
}
|
|
438
439
|
|
|
439
440
|
cleanUpStaleExperiments(): void {
|
|
@@ -441,10 +442,10 @@ export class ExperimentsSupport {
|
|
|
441
442
|
const cleanedUpExperimentSetting: {
|
|
442
443
|
[x: string]: boolean,
|
|
443
444
|
} = {};
|
|
444
|
-
for (const {name: experimentName} of this
|
|
445
|
+
for (const {name: experimentName} of this.#experiments) {
|
|
445
446
|
if (experimentsSetting.hasOwnProperty(experimentName)) {
|
|
446
447
|
const isEnabled = experimentsSetting[experimentName];
|
|
447
|
-
if (isEnabled || this
|
|
448
|
+
if (isEnabled || this.#enabledByDefault.has(experimentName)) {
|
|
448
449
|
cleanedUpExperimentSetting[experimentName] = isEnabled;
|
|
449
450
|
}
|
|
450
451
|
}
|
|
@@ -453,7 +454,7 @@ export class ExperimentsSupport {
|
|
|
453
454
|
}
|
|
454
455
|
|
|
455
456
|
private checkExperiment(experimentName: string): void {
|
|
456
|
-
Runtime.assert(this
|
|
457
|
+
Runtime.assert(this.#experimentNames.has(experimentName), 'Unknown experiment ' + experimentName);
|
|
457
458
|
}
|
|
458
459
|
}
|
|
459
460
|
|
|
@@ -462,21 +463,21 @@ export class Experiment {
|
|
|
462
463
|
title: string;
|
|
463
464
|
unstable: boolean;
|
|
464
465
|
docLink?: string;
|
|
465
|
-
|
|
466
|
+
readonly #experiments: ExperimentsSupport;
|
|
466
467
|
constructor(experiments: ExperimentsSupport, name: string, title: string, unstable: boolean, docLink: string) {
|
|
467
468
|
this.name = name;
|
|
468
469
|
this.title = title;
|
|
469
470
|
this.unstable = unstable;
|
|
470
471
|
this.docLink = docLink;
|
|
471
|
-
this
|
|
472
|
+
this.#experiments = experiments;
|
|
472
473
|
}
|
|
473
474
|
|
|
474
475
|
isEnabled(): boolean {
|
|
475
|
-
return this
|
|
476
|
+
return this.#experiments.isEnabled(this.name);
|
|
476
477
|
}
|
|
477
478
|
|
|
478
479
|
setEnabled(enabled: boolean): void {
|
|
479
|
-
this
|
|
480
|
+
this.#experiments.setEnabled(this.name, enabled);
|
|
480
481
|
}
|
|
481
482
|
}
|
|
482
483
|
|