chrome-devtools-frontend 1.0.1004641 → 1.0.1006124
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/front_end/core/i18n/locales/en-US.json +2 -11
- package/front_end/core/i18n/locales/en-XL.json +2 -11
- package/front_end/core/sdk/DOMModel.ts +15 -0
- package/front_end/generated/InspectorBackendCommands.js +2 -5
- package/front_end/generated/SupportedCSSProperties.js +2 -1
- package/front_end/generated/protocol-mapping.d.ts +7 -4
- package/front_end/generated/protocol-proxy-api.d.ts +6 -3
- package/front_end/generated/protocol.ts +9 -11
- package/front_end/models/issues_manager/DeprecationIssue.ts +5 -33
- package/front_end/models/javascript_metadata/NativeFunctions.js +6219 -3985
- package/front_end/panels/elements/ComputedStyleWidget.ts +6 -5
- package/front_end/panels/elements/ElementsTreeElement.ts +41 -0
- package/front_end/panels/elements/ElementsTreeOutline.ts +5 -0
- package/front_end/panels/elements/components/AdornerManager.ts +7 -0
- package/front_end/panels/elements/elementsTreeOutline.css +9 -0
- package/front_end/third_party/puppeteer/package/README.md +11 -11
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.d.ts +11 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.js +17 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.d.ts +5 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.d.ts +9 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js +19 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.d.ts +55 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js +71 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.d.ts +6 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.js +7 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js +7 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js +8 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts +11 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js +17 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts +5 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts +9 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js +19 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts +55 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js +71 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts +6 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.js +7 -7
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js +7 -5
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js +8 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +85 -3
- package/front_end/third_party/puppeteer/package/package.json +6 -6
- package/front_end/ui/components/text_editor/config.ts +0 -1
- package/front_end/ui/legacy/components/inline_editor/ColorSwatch.ts +4 -0
- package/package.json +1 -1
- package/front_end/third_party/puppeteer/package/CHANGELOG.md +0 -290
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/global.d.ts +0 -17
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/global.d.ts.map +0 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/global.js +0 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/global.js.map +0 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/tsconfig.cjs.tsbuildinfo +0 -2575
- package/front_end/third_party/puppeteer/package/lib/cjs/vendor/tsconfig.cjs.tsbuildinfo +0 -1462
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/global.d.ts +0 -17
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/global.d.ts.map +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/global.js +0 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/global.js.map +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/tsconfig.esm.tsbuildinfo +0 -2575
- package/front_end/third_party/puppeteer/package/lib/esm/vendor/tsconfig.esm.tsbuildinfo +0 -1462
@@ -1366,6 +1366,7 @@ grd_files_debug_sources = [
|
|
1366
1366
|
"front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.js",
|
1367
1367
|
"front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js",
|
1368
1368
|
"front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.js",
|
1369
|
+
"front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkConditions.js",
|
1369
1370
|
"front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkEventManager.js",
|
1370
1371
|
"front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js",
|
1371
1372
|
"front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.js",
|
@@ -1382,9 +1382,6 @@
|
|
1382
1382
|
"models/issues_manager/DeprecationIssue.ts | cssSelectorInternalMediaControlsOverlayCastButton": {
|
1383
1383
|
"message": "The disableRemotePlayback attribute should be used in order to disable the default Cast integration instead of using -internal-media-controls-overlay-cast-button selector."
|
1384
1384
|
},
|
1385
|
-
"models/issues_manager/DeprecationIssue.ts | customCursorIntersectsViewport": {
|
1386
|
-
"message": "Custom cursors with size greater than 32x32 DIP intersecting native UI is deprecated and will be removed."
|
1387
|
-
},
|
1388
1385
|
"models/issues_manager/DeprecationIssue.ts | deprecatedWithReplacement": {
|
1389
1386
|
"message": "{PH1} is deprecated. Please use {PH2} instead."
|
1390
1387
|
},
|
@@ -1416,16 +1413,13 @@
|
|
1416
1413
|
"message": "The website requested a subresource from a network that it could only access because of its users' privileged network position. These requests expose non-public devices and servers to the internet, increasing the risk of a cross-site request forgery (CSRF) attack, and/or information leakage. To mitigate these risks, Chrome deprecates requests to non-public subresources when initiated from non-secure contexts, and will start blocking them."
|
1417
1414
|
},
|
1418
1415
|
"models/issues_manager/DeprecationIssue.ts | legacyConstraintGoogIPv6": {
|
1419
|
-
"message": "IPv6 is enabled-by-default and the ability to disable it using googIPv6
|
1416
|
+
"message": "IPv6 is enabled-by-default and the ability to disable it using googIPv6 is targeted to be removed in M108, after which it will be ignored. Please stop using this legacy constraint."
|
1420
1417
|
},
|
1421
1418
|
"models/issues_manager/DeprecationIssue.ts | localCSSFileExtensionRejected": {
|
1422
1419
|
"message": "CSS cannot be loaded from file: URLs unless they end in a .css file extension."
|
1423
1420
|
},
|
1424
|
-
"models/issues_manager/DeprecationIssue.ts | mediaElementAudioSourceNode": {
|
1425
|
-
"message": "Creating a MediaElementAudioSourceNode on an OfflineAudioContext is deprecated and will be removed."
|
1426
|
-
},
|
1427
1421
|
"models/issues_manager/DeprecationIssue.ts | mediaSourceAbortRemove": {
|
1428
|
-
"message": "Using SourceBuffer.abort() to abort remove()'s asynchronous range removal is deprecated due to specification change. Support will be removed in the future. You should
|
1422
|
+
"message": "Using SourceBuffer.abort() to abort remove()'s asynchronous range removal is deprecated due to specification change. Support will be removed in the future. You should listen to the updateend event instead. abort() is intended to only abort an asynchronous media append or reset parser state."
|
1429
1423
|
},
|
1430
1424
|
"models/issues_manager/DeprecationIssue.ts | mediaSourceDurationTruncatingBuffered": {
|
1431
1425
|
"message": "Setting MediaSource.duration below the highest presentation timestamp of any buffered coded frames is deprecated due to specification change. Support for implicit removal of truncated buffered media will be removed in the future. You should instead perform explicit remove(newDuration, oldDuration) on all sourceBuffers, where newDuration < oldDuration."
|
@@ -1448,9 +1442,6 @@
|
|
1448
1442
|
"models/issues_manager/DeprecationIssue.ts | paymentRequestBasicCard": {
|
1449
1443
|
"message": "The basic-card payment method is deprecated and will be removed."
|
1450
1444
|
},
|
1451
|
-
"models/issues_manager/DeprecationIssue.ts | paymentRequestShowWithoutGesture": {
|
1452
|
-
"message": "Calling PaymentRequest.show() without user activation is deprecated and will be removed."
|
1453
|
-
},
|
1454
1445
|
"models/issues_manager/DeprecationIssue.ts | pictureSourceSrc": {
|
1455
1446
|
"message": "<source src> with a <picture> parent is invalid and therefore ignored. Please use <source srcset> instead."
|
1456
1447
|
},
|
@@ -1382,9 +1382,6 @@
|
|
1382
1382
|
"models/issues_manager/DeprecationIssue.ts | cssSelectorInternalMediaControlsOverlayCastButton": {
|
1383
1383
|
"message": "T̂h́ê disableRemotePlayback át̂t́r̂íb̂út̂é ŝh́ôúl̂d́ b̂é ûśêd́ îń ôŕd̂ér̂ t́ô d́îśâb́l̂é t̂h́ê d́êf́âúl̂t́ Ĉáŝt́ îńt̂éĝŕât́îón̂ ín̂śt̂éâd́ ôf́ ûśîńĝ -internal-media-controls-overlay-cast-button śêĺêćt̂ór̂."
|
1384
1384
|
},
|
1385
|
-
"models/issues_manager/DeprecationIssue.ts | customCursorIntersectsViewport": {
|
1386
|
-
"message": "Ĉúŝt́ôḿ ĉúr̂śôŕŝ ẃît́ĥ śîźê ǵr̂éât́êŕ t̂h́âń 32x̂32 D́ÎṔ îńt̂ér̂śêćt̂ín̂ǵ n̂át̂ív̂é ÛÍ îś d̂ép̂ŕêćât́êd́ âńd̂ ẃîĺl̂ b́ê ŕêḿôv́êd́."
|
1387
|
-
},
|
1388
1385
|
"models/issues_manager/DeprecationIssue.ts | deprecatedWithReplacement": {
|
1389
1386
|
"message": "{PH1} îś d̂ép̂ŕêćât́êd́. P̂ĺêáŝé ûśê {PH2} ín̂śt̂éâd́."
|
1390
1387
|
},
|
@@ -1416,16 +1413,13 @@
|
|
1416
1413
|
"message": "T̂h́ê ẃêb́ŝít̂é r̂éq̂úêśt̂éd̂ á ŝúb̂ŕêśôúr̂ćê f́r̂óm̂ á n̂ét̂ẃôŕk̂ t́ĥát̂ ít̂ ćôúl̂d́ ôńl̂ý âćĉéŝś b̂éĉáûśê óf̂ ít̂ś ûśêŕŝ' ṕr̂ív̂íl̂éĝéd̂ ńêt́ŵór̂ḱ p̂óŝít̂íôń. T̂h́êśê ŕêq́ûéŝt́ŝ éx̂ṕôśê ńôń-p̂úb̂ĺîć d̂év̂íĉéŝ án̂d́ ŝér̂v́êŕŝ t́ô t́ĥé îńt̂ér̂ńêt́, îńĉŕêáŝín̂ǵ t̂h́ê ŕîśk̂ óf̂ á ĉŕôśŝ-śît́ê ŕêq́ûéŝt́ f̂ór̂ǵêŕŷ (ĆŜŔF̂) át̂t́âćk̂, án̂d́/ôŕ îńf̂ór̂ḿât́îón̂ ĺêák̂áĝé. T̂ó m̂ít̂íĝát̂é t̂h́êśê ŕîśk̂ś, Ĉh́r̂óm̂é d̂ép̂ŕêćât́êś r̂éq̂úêśt̂ś t̂ó n̂ón̂-ṕûb́l̂íĉ śûb́r̂éŝóûŕĉéŝ ẃĥén̂ ín̂ít̂íât́êd́ f̂ŕôḿ n̂ón̂-śêćûŕê ćôńt̂éx̂t́ŝ, án̂d́ ŵíl̂ĺ ŝt́âŕt̂ b́l̂óĉḱîńĝ t́ĥém̂."
|
1417
1414
|
},
|
1418
1415
|
"models/issues_manager/DeprecationIssue.ts | legacyConstraintGoogIPv6": {
|
1419
|
-
"message": "ÎṔv̂6 íŝ én̂áb̂ĺêd́-b̂ý-d̂éf̂áûĺt̂ án̂d́ t̂h́ê áb̂íl̂ít̂ý t̂ó d̂íŝáb̂ĺê ít̂ úŝín̂ǵ googIPv6
|
1416
|
+
"message": "ÎṔv̂6 íŝ én̂áb̂ĺêd́-b̂ý-d̂éf̂áûĺt̂ án̂d́ t̂h́ê áb̂íl̂ít̂ý t̂ó d̂íŝáb̂ĺê ít̂ úŝín̂ǵ googIPv6 îś t̂ár̂ǵêt́êd́ t̂ó b̂é r̂ém̂óv̂éd̂ ín̂ Ḿ108, âf́t̂ér̂ ẃĥíĉh́ ît́ ŵíl̂ĺ b̂é îǵn̂ór̂éd̂. Ṕl̂éâśê śt̂óp̂ úŝín̂ǵ t̂h́îś l̂éĝáĉý ĉón̂śt̂ŕâín̂t́."
|
1420
1417
|
},
|
1421
1418
|
"models/issues_manager/DeprecationIssue.ts | localCSSFileExtensionRejected": {
|
1422
1419
|
"message": "ĈŚŜ ćâńn̂ót̂ b́ê ĺôád̂éd̂ f́r̂óm̂ file: ÚR̂Ĺŝ ún̂ĺêśŝ t́ĥéŷ én̂d́ îń â .css f́îĺê éx̂t́êńŝíôń."
|
1423
1420
|
},
|
1424
|
-
"models/issues_manager/DeprecationIssue.ts | mediaElementAudioSourceNode": {
|
1425
|
-
"message": "Ĉŕêát̂ín̂ǵ â MediaElementAudioSourceNode ón̂ án̂ OfflineAudioContext íŝ d́êṕr̂éĉát̂éd̂ án̂d́ ŵíl̂ĺ b̂é r̂ém̂óv̂éd̂."
|
1426
|
-
},
|
1427
1421
|
"models/issues_manager/DeprecationIssue.ts | mediaSourceAbortRemove": {
|
1428
|
-
"message": "Ûśîńĝ SourceBuffer.abort() t́ô áb̂ór̂t́ remove()'ŝ áŝýn̂ćĥŕôńôúŝ ŕâńĝé r̂ém̂óv̂ál̂ íŝ d́êṕr̂éĉát̂éd̂ d́ûé t̂ó ŝṕêćîf́îćât́îón̂ ćĥán̂ǵê. Śûṕp̂ór̂t́ ŵíl̂ĺ b̂é r̂ém̂óv̂éd̂ ín̂ t́ĥé f̂út̂úr̂é. Ŷóû śĥóûĺd̂ i
|
1422
|
+
"message": "Ûśîńĝ SourceBuffer.abort() t́ô áb̂ór̂t́ remove()'ŝ áŝýn̂ćĥŕôńôúŝ ŕâńĝé r̂ém̂óv̂ál̂ íŝ d́êṕr̂éĉát̂éd̂ d́ûé t̂ó ŝṕêćîf́îćât́îón̂ ćĥán̂ǵê. Śûṕp̂ór̂t́ ŵíl̂ĺ b̂é r̂ém̂óv̂éd̂ ín̂ t́ĥé f̂út̂úr̂é. Ŷóû śĥóûĺd̂ ĺîśt̂én̂ t́ô t́ĥé updateend êv́êńt̂ ín̂śt̂éâd́. abort() îś îńt̂én̂d́êd́ t̂ó ôńl̂ý âb́ôŕt̂ án̂ áŝýn̂ćĥŕôńôúŝ ḿêd́îá âṕp̂én̂d́ ôŕ r̂éŝét̂ ṕâŕŝér̂ śt̂át̂é."
|
1429
1423
|
},
|
1430
1424
|
"models/issues_manager/DeprecationIssue.ts | mediaSourceDurationTruncatingBuffered": {
|
1431
1425
|
"message": "Ŝét̂t́îńĝ MediaSource.duration b́êĺôẃ t̂h́ê h́îǵĥéŝt́ p̂ŕêśêńt̂át̂íôń t̂ím̂éŝt́âḿp̂ óf̂ án̂ý b̂úf̂f́êŕêd́ ĉód̂éd̂ f́r̂ám̂éŝ íŝ d́êṕr̂éĉát̂éd̂ d́ûé t̂ó ŝṕêćîf́îćât́îón̂ ćĥán̂ǵê. Śûṕp̂ór̂t́ f̂ór̂ ím̂ṕl̂íĉít̂ ŕêḿôv́âĺ ôf́ t̂ŕûńĉát̂éd̂ b́ûf́f̂ér̂éd̂ ḿêd́îá ŵíl̂ĺ b̂é r̂ém̂óv̂éd̂ ín̂ t́ĥé f̂út̂úr̂é. Ŷóû śĥóûĺd̂ ín̂śt̂éâd́ p̂ér̂f́ôŕm̂ éx̂ṕl̂íĉít̂ remove(newDuration, oldDuration) ón̂ ál̂ĺ sourceBuffers, ŵh́êŕê newDuration < oldDuration."
|
@@ -1448,9 +1442,6 @@
|
|
1448
1442
|
"models/issues_manager/DeprecationIssue.ts | paymentRequestBasicCard": {
|
1449
1443
|
"message": "T̂h́ê basic-card ṕâým̂én̂t́ m̂ét̂h́ôd́ îś d̂ép̂ŕêćât́êd́ âńd̂ ẃîĺl̂ b́ê ŕêḿôv́êd́."
|
1450
1444
|
},
|
1451
|
-
"models/issues_manager/DeprecationIssue.ts | paymentRequestShowWithoutGesture": {
|
1452
|
-
"message": "Ĉál̂ĺîńĝ PaymentRequest.show() ẃît́ĥóût́ ûśêŕ âćt̂ív̂át̂íôń îś d̂ép̂ŕêćât́êd́ âńd̂ ẃîĺl̂ b́ê ŕêḿôv́êd́."
|
1453
|
-
},
|
1454
1445
|
"models/issues_manager/DeprecationIssue.ts | pictureSourceSrc": {
|
1455
1446
|
"message": "<source src> ŵít̂h́ â <picture> ṕâŕêńt̂ íŝ ín̂v́âĺîd́ âńd̂ t́ĥér̂éf̂ór̂é îǵn̂ór̂éd̂. Ṕl̂éâśê úŝé <source srcset> îńŝt́êád̂."
|
1456
1447
|
},
|
@@ -71,6 +71,7 @@ export class DOMNode {
|
|
71
71
|
#creationStackTraceInternal: Promise<Protocol.Runtime.StackTrace|null>|null;
|
72
72
|
pseudoElementsInternal: Map<string, DOMNode>;
|
73
73
|
#distributedNodesInternal: DOMNodeShortcut[];
|
74
|
+
assignedSlot: DOMNodeShortcut|null;
|
74
75
|
readonly shadowRootsInternal: DOMNode[];
|
75
76
|
#attributesInternal: Map<string, Attribute>;
|
76
77
|
// TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration
|
@@ -101,6 +102,7 @@ export class DOMNode {
|
|
101
102
|
this.#creationStackTraceInternal = null;
|
102
103
|
this.pseudoElementsInternal = new Map();
|
103
104
|
this.#distributedNodesInternal = [];
|
105
|
+
this.assignedSlot = null;
|
104
106
|
this.shadowRootsInternal = [];
|
105
107
|
this.#attributesInternal = new Map();
|
106
108
|
this.#markers = new Map();
|
@@ -181,6 +183,10 @@ export class DOMNode {
|
|
181
183
|
this.setDistributedNodePayloads(payload.distributedNodes);
|
182
184
|
}
|
183
185
|
|
186
|
+
if (payload.assignedSlot) {
|
187
|
+
this.setAssignedSlot(payload.assignedSlot);
|
188
|
+
}
|
189
|
+
|
184
190
|
if (payload.children) {
|
185
191
|
this.setChildrenPayload(payload.children);
|
186
192
|
}
|
@@ -341,6 +347,10 @@ export class DOMNode {
|
|
341
347
|
return this.pseudoElementsInternal.get(DOMNode.PseudoElementNames.Marker) || null;
|
342
348
|
}
|
343
349
|
|
350
|
+
hasAssignedSlot(): boolean {
|
351
|
+
return this.assignedSlot !== null;
|
352
|
+
}
|
353
|
+
|
344
354
|
isInsertionPoint(): boolean {
|
345
355
|
return !this.isXMLNode() &&
|
346
356
|
(this.#nodeNameInternal === 'SHADOW' || this.#nodeNameInternal === 'CONTENT' ||
|
@@ -680,6 +690,11 @@ export class DOMNode {
|
|
680
690
|
}
|
681
691
|
}
|
682
692
|
|
693
|
+
setAssignedSlot(payload: Protocol.DOM.BackendNode): void {
|
694
|
+
this.assignedSlot =
|
695
|
+
new DOMNodeShortcut(this.#domModelInternal.target(), payload.backendNodeId, payload.nodeType, payload.nodeName);
|
696
|
+
}
|
697
|
+
|
683
698
|
private renumber(): void {
|
684
699
|
if (!this.childrenInternal) {
|
685
700
|
throw new Error('DOMNode._children is expected to not be null.');
|
@@ -280,7 +280,6 @@ export function registerCommands(inspectorBackend) {
|
|
280
280
|
CrossOriginWindowAlert: 'CrossOriginWindowAlert',
|
281
281
|
CrossOriginWindowConfirm: 'CrossOriginWindowConfirm',
|
282
282
|
CSSSelectorInternalMediaControlsOverlayCastButton: 'CSSSelectorInternalMediaControlsOverlayCastButton',
|
283
|
-
CustomCursorIntersectsViewport: 'CustomCursorIntersectsViewport',
|
284
283
|
DeprecationExample: 'DeprecationExample',
|
285
284
|
DocumentDomainSettingWithoutOriginAgentClusterHeader: 'DocumentDomainSettingWithoutOriginAgentClusterHeader',
|
286
285
|
EventPath: 'EventPath',
|
@@ -291,7 +290,6 @@ export function registerCommands(inspectorBackend) {
|
|
291
290
|
InsecurePrivateNetworkSubresourceRequest: 'InsecurePrivateNetworkSubresourceRequest',
|
292
291
|
LegacyConstraintGoogIPv6: 'LegacyConstraintGoogIPv6',
|
293
292
|
LocalCSSFileExtensionRejected: 'LocalCSSFileExtensionRejected',
|
294
|
-
MediaElementAudioSourceNode: 'MediaElementAudioSourceNode',
|
295
293
|
MediaSourceAbortRemove: 'MediaSourceAbortRemove',
|
296
294
|
MediaSourceDurationTruncatingBuffered: 'MediaSourceDurationTruncatingBuffered',
|
297
295
|
NoSysexWebMIDIWithoutPermission: 'NoSysexWebMIDIWithoutPermission',
|
@@ -299,7 +297,6 @@ export function registerCommands(inspectorBackend) {
|
|
299
297
|
NotificationPermissionRequestedIframe: 'NotificationPermissionRequestedIframe',
|
300
298
|
ObsoleteWebRtcCipherSuite: 'ObsoleteWebRtcCipherSuite',
|
301
299
|
PaymentRequestBasicCard: 'PaymentRequestBasicCard',
|
302
|
-
PaymentRequestShowWithoutGesture: 'PaymentRequestShowWithoutGesture',
|
303
300
|
PictureSourceSrc: 'PictureSourceSrc',
|
304
301
|
PrefixedCancelAnimationFrame: 'PrefixedCancelAnimationFrame',
|
305
302
|
PrefixedRequestAnimationFrame: 'PrefixedRequestAnimationFrame',
|
@@ -1063,8 +1060,6 @@ export function registerCommands(inspectorBackend) {
|
|
1063
1060
|
{'name': 'key', 'type': 'string', 'optional': false}, {'name': 'value', 'type': 'string', 'optional': false}
|
1064
1061
|
],
|
1065
1062
|
[]);
|
1066
|
-
inspectorBackend.registerCommand(
|
1067
|
-
'DOMStorage.getStorageKeyForFrame', [{'name': 'frameId', 'type': 'string', 'optional': false}], ['storageKey']);
|
1068
1063
|
|
1069
1064
|
// Database.
|
1070
1065
|
inspectorBackend.registerEvent('Database.addDatabase', ['database']);
|
@@ -2775,6 +2770,8 @@ export function registerCommands(inspectorBackend) {
|
|
2775
2770
|
inspectorBackend.registerEvent('Storage.indexedDBContentUpdated', ['origin', 'databaseName', 'objectStoreName']);
|
2776
2771
|
inspectorBackend.registerEvent('Storage.indexedDBListUpdated', ['origin']);
|
2777
2772
|
inspectorBackend.registerEvent('Storage.interestGroupAccessed', ['accessTime', 'type', 'ownerOrigin', 'name']);
|
2773
|
+
inspectorBackend.registerCommand(
|
2774
|
+
'Storage.getStorageKeyForFrame', [{'name': 'frameId', 'type': 'string', 'optional': false}], ['storageKey']);
|
2778
2775
|
inspectorBackend.registerCommand(
|
2779
2776
|
'Storage.clearDataForOrigin',
|
2780
2777
|
[
|
@@ -617,7 +617,7 @@ export const generatedProperties = [
|
|
617
617
|
{'longhands': ['overflow-x', 'overflow-y'], 'name': 'overflow'},
|
618
618
|
{'name': 'overflow-anchor', 'inherited': false, 'keywords': ['visible', 'none', 'auto']},
|
619
619
|
{'name': 'overflow-block'},
|
620
|
-
{'name': 'overflow-clip-margin'},
|
620
|
+
{'name': 'overflow-clip-margin', 'keywords': ['border-box', 'content-box', 'padding-box']},
|
621
621
|
{'name': 'overflow-inline'},
|
622
622
|
{'name': 'overflow-wrap', 'inherited': true, 'keywords': ['normal', 'break-word', 'anywhere']},
|
623
623
|
{'name': 'overflow-x', 'keywords': ['visible', 'hidden', 'scroll', 'auto', 'overlay', 'clip']},
|
@@ -1114,6 +1114,7 @@ export const generatedPropertyValues = {
|
|
1114
1114
|
{'values': ['none', 'hidden', 'inset', 'groove', 'outset', 'ridge', 'dotted', 'dashed', 'solid', 'double']},
|
1115
1115
|
'outline-width': {'values': ['thin', 'medium', 'thick']},
|
1116
1116
|
'overflow-anchor': {'values': ['visible', 'none', 'auto']},
|
1117
|
+
'overflow-clip-margin': {'values': ['border-box', 'content-box', 'padding-box']},
|
1117
1118
|
'overflow-wrap': {'values': ['normal', 'break-word', 'anywhere']},
|
1118
1119
|
'overflow-x': {'values': ['visible', 'hidden', 'scroll', 'auto', 'overlay', 'clip']},
|
1119
1120
|
'overflow-y': {'values': ['visible', 'hidden', 'scroll', 'auto', 'overlay', 'clip']},
|
@@ -1464,10 +1464,6 @@ export namespace ProtocolMapping {
|
|
1464
1464
|
'DOMStorage.removeDOMStorageItem':
|
1465
1465
|
{paramsType: [Protocol.DOMStorage.RemoveDOMStorageItemRequest]; returnType: void;};
|
1466
1466
|
'DOMStorage.setDOMStorageItem': {paramsType: [Protocol.DOMStorage.SetDOMStorageItemRequest]; returnType: void;};
|
1467
|
-
'DOMStorage.getStorageKeyForFrame': {
|
1468
|
-
paramsType: [Protocol.DOMStorage.GetStorageKeyForFrameRequest];
|
1469
|
-
returnType: Protocol.DOMStorage.GetStorageKeyForFrameResponse;
|
1470
|
-
};
|
1471
1467
|
/**
|
1472
1468
|
* Disables database tracking, prevents database events from being sent to the client.
|
1473
1469
|
*/
|
@@ -2472,6 +2468,13 @@ export namespace ProtocolMapping {
|
|
2472
2468
|
'ServiceWorker.unregister': {paramsType: [Protocol.ServiceWorker.UnregisterRequest]; returnType: void;};
|
2473
2469
|
'ServiceWorker.updateRegistration':
|
2474
2470
|
{paramsType: [Protocol.ServiceWorker.UpdateRegistrationRequest]; returnType: void;};
|
2471
|
+
/**
|
2472
|
+
* Returns a storage key given a frame id.
|
2473
|
+
*/
|
2474
|
+
'Storage.getStorageKeyForFrame': {
|
2475
|
+
paramsType: [Protocol.Storage.GetStorageKeyForFrameRequest];
|
2476
|
+
returnType: Protocol.Storage.GetStorageKeyForFrameResponse;
|
2477
|
+
};
|
2475
2478
|
/**
|
2476
2479
|
* Clears storage for origin.
|
2477
2480
|
*/
|
@@ -1280,9 +1280,6 @@ declare namespace ProtocolProxyApi {
|
|
1280
1280
|
|
1281
1281
|
invoke_setDOMStorageItem(params: Protocol.DOMStorage.SetDOMStorageItemRequest):
|
1282
1282
|
Promise<Protocol.ProtocolResponseWithError>;
|
1283
|
-
|
1284
|
-
invoke_getStorageKeyForFrame(params: Protocol.DOMStorage.GetStorageKeyForFrameRequest):
|
1285
|
-
Promise<Protocol.DOMStorage.GetStorageKeyForFrameResponse>;
|
1286
1283
|
}
|
1287
1284
|
export interface DOMStorageDispatcher {
|
1288
1285
|
domStorageItemAdded(params: Protocol.DOMStorage.DomStorageItemAddedEvent): void;
|
@@ -2994,6 +2991,12 @@ declare namespace ProtocolProxyApi {
|
|
2994
2991
|
}
|
2995
2992
|
|
2996
2993
|
export interface StorageApi {
|
2994
|
+
/**
|
2995
|
+
* Returns a storage key given a frame id.
|
2996
|
+
*/
|
2997
|
+
invoke_getStorageKeyForFrame(params: Protocol.Storage.GetStorageKeyForFrameRequest):
|
2998
|
+
Promise<Protocol.Storage.GetStorageKeyForFrameResponse>;
|
2999
|
+
|
2997
3000
|
/**
|
2998
3001
|
* Clears storage for origin.
|
2999
3002
|
*/
|
@@ -1027,7 +1027,6 @@ export namespace Audits {
|
|
1027
1027
|
CrossOriginWindowAlert = 'CrossOriginWindowAlert',
|
1028
1028
|
CrossOriginWindowConfirm = 'CrossOriginWindowConfirm',
|
1029
1029
|
CSSSelectorInternalMediaControlsOverlayCastButton = 'CSSSelectorInternalMediaControlsOverlayCastButton',
|
1030
|
-
CustomCursorIntersectsViewport = 'CustomCursorIntersectsViewport',
|
1031
1030
|
DeprecationExample = 'DeprecationExample',
|
1032
1031
|
DocumentDomainSettingWithoutOriginAgentClusterHeader = 'DocumentDomainSettingWithoutOriginAgentClusterHeader',
|
1033
1032
|
EventPath = 'EventPath',
|
@@ -1038,7 +1037,6 @@ export namespace Audits {
|
|
1038
1037
|
InsecurePrivateNetworkSubresourceRequest = 'InsecurePrivateNetworkSubresourceRequest',
|
1039
1038
|
LegacyConstraintGoogIPv6 = 'LegacyConstraintGoogIPv6',
|
1040
1039
|
LocalCSSFileExtensionRejected = 'LocalCSSFileExtensionRejected',
|
1041
|
-
MediaElementAudioSourceNode = 'MediaElementAudioSourceNode',
|
1042
1040
|
MediaSourceAbortRemove = 'MediaSourceAbortRemove',
|
1043
1041
|
MediaSourceDurationTruncatingBuffered = 'MediaSourceDurationTruncatingBuffered',
|
1044
1042
|
NoSysexWebMIDIWithoutPermission = 'NoSysexWebMIDIWithoutPermission',
|
@@ -1046,7 +1044,6 @@ export namespace Audits {
|
|
1046
1044
|
NotificationPermissionRequestedIframe = 'NotificationPermissionRequestedIframe',
|
1047
1045
|
ObsoleteWebRtcCipherSuite = 'ObsoleteWebRtcCipherSuite',
|
1048
1046
|
PaymentRequestBasicCard = 'PaymentRequestBasicCard',
|
1049
|
-
PaymentRequestShowWithoutGesture = 'PaymentRequestShowWithoutGesture',
|
1050
1047
|
PictureSourceSrc = 'PictureSourceSrc',
|
1051
1048
|
PrefixedCancelAnimationFrame = 'PrefixedCancelAnimationFrame',
|
1052
1049
|
PrefixedRequestAnimationFrame = 'PrefixedRequestAnimationFrame',
|
@@ -3212,6 +3209,7 @@ export namespace DOM {
|
|
3212
3209
|
*/
|
3213
3210
|
isSVG?: boolean;
|
3214
3211
|
compatibilityMode?: CompatibilityMode;
|
3212
|
+
assignedSlot?: BackendNode;
|
3215
3213
|
}
|
3216
3214
|
|
3217
3215
|
/**
|
@@ -4979,14 +4977,6 @@ export namespace DOMStorage {
|
|
4979
4977
|
value: string;
|
4980
4978
|
}
|
4981
4979
|
|
4982
|
-
export interface GetStorageKeyForFrameRequest {
|
4983
|
-
frameId: Page.FrameId;
|
4984
|
-
}
|
4985
|
-
|
4986
|
-
export interface GetStorageKeyForFrameResponse extends ProtocolResponseWithError {
|
4987
|
-
storageKey: SerializedStorageKey;
|
4988
|
-
}
|
4989
|
-
|
4990
4980
|
export interface DomStorageItemAddedEvent {
|
4991
4981
|
storageId: StorageId;
|
4992
4982
|
key: string;
|
@@ -12781,6 +12771,14 @@ export namespace Storage {
|
|
12781
12771
|
adComponents: InterestGroupAd[];
|
12782
12772
|
}
|
12783
12773
|
|
12774
|
+
export interface GetStorageKeyForFrameRequest {
|
12775
|
+
frameId: Page.FrameId;
|
12776
|
+
}
|
12777
|
+
|
12778
|
+
export interface GetStorageKeyForFrameResponse extends ProtocolResponseWithError {
|
12779
|
+
storageKey: SerializedStorageKey;
|
12780
|
+
}
|
12781
|
+
|
12784
12782
|
export interface ClearDataForOriginRequest {
|
12785
12783
|
/**
|
12786
12784
|
* Security origin.
|
@@ -34,7 +34,9 @@ const UIStrings = {
|
|
34
34
|
authorizationCoveredByWildcard:
|
35
35
|
'Authorization will not be covered by the wildcard symbol (*) in CORS `Access-Control-Allow-Headers` handling.',
|
36
36
|
/**
|
37
|
-
* @description
|
37
|
+
* @description This warning occurs when a page attempts to request a resource
|
38
|
+
* whose URL contained both a newline character (`\n` or `\r`), and a
|
39
|
+
* less-than character (`<`). These resources are blocked.
|
38
40
|
*/
|
39
41
|
canRequestURLHTTPContainingNewline:
|
40
42
|
'Resource requests whose URLs contained both removed whitespace `\\(n|r|t)` characters and less-than characters (`<`) are blocked. Please remove newlines and encode less-than characters from places like element attribute values in order to load these resources.',
|
@@ -79,11 +81,6 @@ const UIStrings = {
|
|
79
81
|
*/
|
80
82
|
cssSelectorInternalMediaControlsOverlayCastButton:
|
81
83
|
'The `disableRemotePlayback` attribute should be used in order to disable the default Cast integration instead of using `-internal-media-controls-overlay-cast-button` selector.',
|
82
|
-
/**
|
83
|
-
* @description TODO(crbug.com/1320340): Description needed for translation
|
84
|
-
*/
|
85
|
-
customCursorIntersectsViewport:
|
86
|
-
'Custom cursors with size greater than 32x32 DIP intersecting native UI is deprecated and will be removed.',
|
87
84
|
/**
|
88
85
|
* @description This message is shown when the example deprecated feature is used
|
89
86
|
*/
|
@@ -131,22 +128,17 @@ const UIStrings = {
|
|
131
128
|
* use of IPv6 addresses with a non-standard API.
|
132
129
|
*/
|
133
130
|
legacyConstraintGoogIPv6:
|
134
|
-
'IPv6 is enabled-by-default and the ability to disable it using `googIPv6`
|
131
|
+
'IPv6 is enabled-by-default and the ability to disable it using `googIPv6` is targeted to be removed in M108, after which it will be ignored. Please stop using this legacy constraint.',
|
135
132
|
/**
|
136
133
|
* @description TODO(crbug.com/1318865): Description needed for translation
|
137
134
|
*/
|
138
135
|
localCSSFileExtensionRejected:
|
139
136
|
'CSS cannot be loaded from `file:` URLs unless they end in a `.css` file extension.',
|
140
|
-
/**
|
141
|
-
* @description TODO(crbug.com/1320344): Description needed for translation
|
142
|
-
*/
|
143
|
-
mediaElementAudioSourceNode:
|
144
|
-
'Creating a `MediaElementAudioSourceNode` on an `OfflineAudioContext` is deprecated and will be removed.',
|
145
137
|
/**
|
146
138
|
* @description TODO(crbug.com/1320345): Description needed for translation
|
147
139
|
*/
|
148
140
|
mediaSourceAbortRemove:
|
149
|
-
'Using `SourceBuffer.abort()` to abort `remove()`\'s asynchronous range removal is deprecated due to specification change. Support will be removed in the future. You should
|
141
|
+
'Using `SourceBuffer.abort()` to abort `remove()`\'s asynchronous range removal is deprecated due to specification change. Support will be removed in the future. You should listen to the `updateend` event instead. `abort()` is intended to only abort an asynchronous media append or reset parser state.',
|
150
142
|
/**
|
151
143
|
* @description TODO(crbug.com/1320346): Description needed for translation
|
152
144
|
*/
|
@@ -176,11 +168,6 @@ const UIStrings = {
|
|
176
168
|
* @description TODO(crbug.com/1320349): Description needed for translation
|
177
169
|
*/
|
178
170
|
paymentRequestBasicCard: 'The `basic-card` payment method is deprecated and will be removed.',
|
179
|
-
/**
|
180
|
-
* @description TODO(crbug.com/1320350): Description needed for translation
|
181
|
-
*/
|
182
|
-
paymentRequestShowWithoutGesture:
|
183
|
-
'Calling `PaymentRequest.show()` without user activation is deprecated and will be removed.',
|
184
171
|
/**
|
185
172
|
* @description This issue indicates that a `<source>` element with a `<picture>` parent was using an `src` attribute, which is not valid and is ignored by the browser. The `srcset` attribute should be used instead.
|
186
173
|
*/
|
@@ -371,11 +358,6 @@ export class DeprecationIssue extends Issue {
|
|
371
358
|
messageFunction = i18nLazyString(UIStrings.cssSelectorInternalMediaControlsOverlayCastButton);
|
372
359
|
feature = 5714245488476160;
|
373
360
|
break;
|
374
|
-
case Protocol.Audits.DeprecationIssueType.CustomCursorIntersectsViewport:
|
375
|
-
messageFunction = i18nLazyString(UIStrings.customCursorIntersectsViewport);
|
376
|
-
feature = 5825971391299584;
|
377
|
-
milestone = 75;
|
378
|
-
break;
|
379
361
|
case Protocol.Audits.DeprecationIssueType.DeprecationExample:
|
380
362
|
messageFunction = i18nLazyString(UIStrings.deprecationExample);
|
381
363
|
feature = 5684289032159232;
|
@@ -415,11 +397,6 @@ export class DeprecationIssue extends Issue {
|
|
415
397
|
messageFunction = i18nLazyString(UIStrings.localCSSFileExtensionRejected);
|
416
398
|
milestone = 64;
|
417
399
|
break;
|
418
|
-
case Protocol.Audits.DeprecationIssueType.MediaElementAudioSourceNode:
|
419
|
-
messageFunction = i18nLazyString(UIStrings.mediaElementAudioSourceNode);
|
420
|
-
feature = 5258622686724096;
|
421
|
-
milestone = 71;
|
422
|
-
break;
|
423
400
|
case Protocol.Audits.DeprecationIssueType.MediaSourceAbortRemove:
|
424
401
|
messageFunction = i18nLazyString(UIStrings.mediaSourceAbortRemove);
|
425
402
|
feature = 6107495151960064;
|
@@ -449,11 +426,6 @@ export class DeprecationIssue extends Issue {
|
|
449
426
|
feature = 5730051011117056;
|
450
427
|
milestone = 100;
|
451
428
|
break;
|
452
|
-
case Protocol.Audits.DeprecationIssueType.PaymentRequestShowWithoutGesture:
|
453
|
-
messageFunction = i18nLazyString(UIStrings.paymentRequestShowWithoutGesture);
|
454
|
-
feature = 5948593429020672;
|
455
|
-
milestone = 102;
|
456
|
-
break;
|
457
429
|
case Protocol.Audits.DeprecationIssueType.PictureSourceSrc:
|
458
430
|
messageFunction = i18nLazyString(UIStrings.pictureSourceSrc);
|
459
431
|
break;
|