chrome-devtools-frontend 1.0.932461 → 1.0.932859
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 +3 -0
- package/front_end/core/i18n/locales/en-US.json +6 -0
- package/front_end/core/i18n/locales/en-XL.json +6 -0
- package/front_end/core/protocol_client/InspectorBackend.ts +0 -8
- package/front_end/generated/InspectorBackendCommands.js +8 -17
- package/front_end/generated/protocol-mapping.d.ts +2 -37
- package/front_end/generated/protocol-proxy-api.d.ts +2 -46
- package/front_end/generated/protocol.d.ts +6 -127
- package/front_end/models/issues_manager/CorsIssue.ts +4 -0
- package/front_end/models/javascript_metadata/NativeFunctions.js +0 -5
- package/front_end/panels/accessibility/AccessibilityStrings.ts +15 -0
- package/front_end/panels/issues/CorsIssueDetailsView.ts +4 -2
- package/front_end/panels/sources/BreakpointEditDialog.ts +21 -9
- package/front_end/panels/sources/JavaScriptBreakpointsSidebarPane.ts +14 -1
- package/front_end/panels/sources/javaScriptBreakpointsSidebarPane.css +52 -2
- package/front_end/ui/components/settings/SettingCheckbox.ts +69 -0
- package/front_end/ui/components/settings/settingCheckbox.css +31 -0
- package/front_end/ui/components/settings/settings.ts +7 -0
- package/front_end/ui/components/text_editor/theme.ts +3 -0
- package/front_end/ui/legacy/SettingsUI.ts +6 -2
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +0 -2
- package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +1 -0
- package/package.json +1 -1
|
@@ -502,6 +502,7 @@ grd_files_release_sources = [
|
|
|
502
502
|
"front_end/ui/components/render_coordinator/render_coordinator.js",
|
|
503
503
|
"front_end/ui/components/report_view/report_view.js",
|
|
504
504
|
"front_end/ui/components/request_link_icon/request_link_icon.js",
|
|
505
|
+
"front_end/ui/components/settings/settings.js",
|
|
505
506
|
"front_end/ui/components/survey_link/survey_link.js",
|
|
506
507
|
"front_end/ui/components/text_editor/text_editor.js",
|
|
507
508
|
"front_end/ui/components/text_prompt/text_prompt.js",
|
|
@@ -1423,6 +1424,8 @@ grd_files_debug_sources = [
|
|
|
1423
1424
|
"front_end/ui/components/report_view/reportValue.css.js",
|
|
1424
1425
|
"front_end/ui/components/request_link_icon/RequestLinkIcon.js",
|
|
1425
1426
|
"front_end/ui/components/request_link_icon/requestLinkIcon.css.js",
|
|
1427
|
+
"front_end/ui/components/settings/SettingCheckbox.js",
|
|
1428
|
+
"front_end/ui/components/settings/settingCheckbox.css.js",
|
|
1426
1429
|
"front_end/ui/components/survey_link/SurveyLink.js",
|
|
1427
1430
|
"front_end/ui/components/survey_link/surveyLink.css.js",
|
|
1428
1431
|
"front_end/ui/components/text_editor/TextEditor.js",
|
|
@@ -1694,6 +1694,9 @@
|
|
|
1694
1694
|
"panels/accessibility/AccessibilityStrings.ts | fromCaption": {
|
|
1695
1695
|
"message": "From caption"
|
|
1696
1696
|
},
|
|
1697
|
+
"panels/accessibility/AccessibilityStrings.ts | fromDescription": {
|
|
1698
|
+
"message": "From description"
|
|
1699
|
+
},
|
|
1697
1700
|
"panels/accessibility/AccessibilityStrings.ts | fromLabel": {
|
|
1698
1701
|
"message": "From label"
|
|
1699
1702
|
},
|
|
@@ -1844,6 +1847,9 @@
|
|
|
1844
1847
|
"panels/accessibility/AccessibilityStrings.ts | valueFromAttribute": {
|
|
1845
1848
|
"message": "Value from attribute."
|
|
1846
1849
|
},
|
|
1850
|
+
"panels/accessibility/AccessibilityStrings.ts | valueFromDescriptionElement": {
|
|
1851
|
+
"message": "Value from description element."
|
|
1852
|
+
},
|
|
1847
1853
|
"panels/accessibility/AccessibilityStrings.ts | valueFromElementContents": {
|
|
1848
1854
|
"message": "Value from element contents."
|
|
1849
1855
|
},
|
|
@@ -1694,6 +1694,9 @@
|
|
|
1694
1694
|
"panels/accessibility/AccessibilityStrings.ts | fromCaption": {
|
|
1695
1695
|
"message": "F̂ŕôḿ caption"
|
|
1696
1696
|
},
|
|
1697
|
+
"panels/accessibility/AccessibilityStrings.ts | fromDescription": {
|
|
1698
|
+
"message": "F̂ŕôḿ description"
|
|
1699
|
+
},
|
|
1697
1700
|
"panels/accessibility/AccessibilityStrings.ts | fromLabel": {
|
|
1698
1701
|
"message": "F̂ŕôḿ label"
|
|
1699
1702
|
},
|
|
@@ -1844,6 +1847,9 @@
|
|
|
1844
1847
|
"panels/accessibility/AccessibilityStrings.ts | valueFromAttribute": {
|
|
1845
1848
|
"message": "V̂ál̂úê f́r̂óm̂ át̂t́r̂íb̂út̂é."
|
|
1846
1849
|
},
|
|
1850
|
+
"panels/accessibility/AccessibilityStrings.ts | valueFromDescriptionElement": {
|
|
1851
|
+
"message": "V̂ál̂úê f́r̂óm̂ description él̂ém̂én̂t́."
|
|
1852
|
+
},
|
|
1847
1853
|
"panels/accessibility/AccessibilityStrings.ts | valueFromElementContents": {
|
|
1848
1854
|
"message": "V̂ál̂úê f́r̂óm̂ él̂ém̂én̂t́ ĉón̂t́êńt̂ś."
|
|
1849
1855
|
},
|
|
@@ -592,10 +592,6 @@ export class TargetBase {
|
|
|
592
592
|
return this.getAgent('Animation');
|
|
593
593
|
}
|
|
594
594
|
|
|
595
|
-
applicationCacheAgent(): ProtocolProxyApi.ApplicationCacheApi {
|
|
596
|
-
return this.getAgent('ApplicationCache');
|
|
597
|
-
}
|
|
598
|
-
|
|
599
595
|
auditsAgent(): ProtocolProxyApi.AuditsApi {
|
|
600
596
|
return this.getAgent('Audits');
|
|
601
597
|
}
|
|
@@ -768,10 +764,6 @@ export class TargetBase {
|
|
|
768
764
|
this.registerDispatcher('Animation', dispatcher);
|
|
769
765
|
}
|
|
770
766
|
|
|
771
|
-
registerApplicationCacheDispatcher(dispatcher: ProtocolProxyApi.ApplicationCacheDispatcher): void {
|
|
772
|
-
this.registerDispatcher('ApplicationCache', dispatcher);
|
|
773
|
-
}
|
|
774
|
-
|
|
775
767
|
registerAuditsDispatcher(dispatcher: ProtocolProxyApi.AuditsDispatcher): void {
|
|
776
768
|
this.registerDispatcher('Audits', dispatcher);
|
|
777
769
|
}
|
|
@@ -46,6 +46,7 @@ export function registerCommands(inspectorBackend) {
|
|
|
46
46
|
RelatedElement: 'relatedElement'
|
|
47
47
|
});
|
|
48
48
|
inspectorBackend.registerEnum('Accessibility.AXValueNativeSourceType', {
|
|
49
|
+
Description: 'description',
|
|
49
50
|
Figcaption: 'figcaption',
|
|
50
51
|
Label: 'label',
|
|
51
52
|
Labelfor: 'labelfor',
|
|
@@ -172,19 +173,6 @@ export function registerCommands(inspectorBackend) {
|
|
|
172
173
|
],
|
|
173
174
|
[]);
|
|
174
175
|
|
|
175
|
-
// ApplicationCache.
|
|
176
|
-
inspectorBackend.registerEvent(
|
|
177
|
-
'ApplicationCache.applicationCacheStatusUpdated', ['frameId', 'manifestURL', 'status']);
|
|
178
|
-
inspectorBackend.registerEvent('ApplicationCache.networkStateUpdated', ['isNowOnline']);
|
|
179
|
-
inspectorBackend.registerCommand('ApplicationCache.enable', [], []);
|
|
180
|
-
inspectorBackend.registerCommand(
|
|
181
|
-
'ApplicationCache.getApplicationCacheForFrame', [{'name': 'frameId', 'type': 'string', 'optional': false}],
|
|
182
|
-
['applicationCache']);
|
|
183
|
-
inspectorBackend.registerCommand('ApplicationCache.getFramesWithManifests', [], ['frameIds']);
|
|
184
|
-
inspectorBackend.registerCommand(
|
|
185
|
-
'ApplicationCache.getManifestForFrame', [{'name': 'frameId', 'type': 'string', 'optional': false}],
|
|
186
|
-
['manifestURL']);
|
|
187
|
-
|
|
188
176
|
// Audits.
|
|
189
177
|
inspectorBackend.registerEnum('Audits.SameSiteCookieExclusionReason', {
|
|
190
178
|
ExcludeSameSiteUnspecifiedTreatedAsLax: 'ExcludeSameSiteUnspecifiedTreatedAsLax',
|
|
@@ -255,7 +243,8 @@ export function registerCommands(inspectorBackend) {
|
|
|
255
243
|
KEvalViolation: 'kEvalViolation',
|
|
256
244
|
KURLViolation: 'kURLViolation',
|
|
257
245
|
KTrustedTypesSinkViolation: 'kTrustedTypesSinkViolation',
|
|
258
|
-
KTrustedTypesPolicyViolation: 'kTrustedTypesPolicyViolation'
|
|
246
|
+
KTrustedTypesPolicyViolation: 'kTrustedTypesPolicyViolation',
|
|
247
|
+
KWasmEvalViolation: 'kWasmEvalViolation'
|
|
259
248
|
});
|
|
260
249
|
inspectorBackend.registerEnum(
|
|
261
250
|
'Audits.SharedArrayBufferIssueType', {TransferIssue: 'TransferIssue', CreationIssue: 'CreationIssue'});
|
|
@@ -1539,6 +1528,7 @@ export function registerCommands(inspectorBackend) {
|
|
|
1539
1528
|
RedirectContainsCredentials: 'RedirectContainsCredentials',
|
|
1540
1529
|
InsecurePrivateNetwork: 'InsecurePrivateNetwork',
|
|
1541
1530
|
InvalidPrivateNetworkAccess: 'InvalidPrivateNetworkAccess',
|
|
1531
|
+
UnexpectedPrivateNetworkAccess: 'UnexpectedPrivateNetworkAccess',
|
|
1542
1532
|
NoCorsRedirectModeNotFollow: 'NoCorsRedirectModeNotFollow'
|
|
1543
1533
|
});
|
|
1544
1534
|
inspectorBackend.registerEnum(
|
|
@@ -1608,7 +1598,9 @@ export function registerCommands(inspectorBackend) {
|
|
|
1608
1598
|
inspectorBackend.registerEnum('Network.PrivateNetworkRequestPolicy', {
|
|
1609
1599
|
Allow: 'Allow',
|
|
1610
1600
|
BlockFromInsecureToMorePrivate: 'BlockFromInsecureToMorePrivate',
|
|
1611
|
-
WarnFromInsecureToMorePrivate: 'WarnFromInsecureToMorePrivate'
|
|
1601
|
+
WarnFromInsecureToMorePrivate: 'WarnFromInsecureToMorePrivate',
|
|
1602
|
+
PreflightBlock: 'PreflightBlock',
|
|
1603
|
+
PreflightWarn: 'PreflightWarn'
|
|
1612
1604
|
});
|
|
1613
1605
|
inspectorBackend.registerEnum(
|
|
1614
1606
|
'Network.IPAddressSpace', {Local: 'Local', Private: 'Private', Public: 'Public', Unknown: 'Unknown'});
|
|
@@ -1991,6 +1983,7 @@ export function registerCommands(inspectorBackend) {
|
|
|
1991
1983
|
Hid: 'hid',
|
|
1992
1984
|
IdleDetection: 'idle-detection',
|
|
1993
1985
|
InterestCohort: 'interest-cohort',
|
|
1986
|
+
KeyboardMap: 'keyboard-map',
|
|
1994
1987
|
Magnetometer: 'magnetometer',
|
|
1995
1988
|
Microphone: 'microphone',
|
|
1996
1989
|
Midi: 'midi',
|
|
@@ -2443,8 +2436,6 @@ export function registerCommands(inspectorBackend) {
|
|
|
2443
2436
|
inspectorBackend.registerCommand(
|
|
2444
2437
|
'Page.setWebLifecycleState', [{'name': 'state', 'type': 'string', 'optional': false}], []);
|
|
2445
2438
|
inspectorBackend.registerCommand('Page.stopScreencast', [], []);
|
|
2446
|
-
inspectorBackend.registerCommand(
|
|
2447
|
-
'Page.setProduceCompilationCache', [{'name': 'enabled', 'type': 'boolean', 'optional': false}], []);
|
|
2448
2439
|
inspectorBackend.registerCommand(
|
|
2449
2440
|
'Page.produceCompilationCache', [{'name': 'scripts', 'type': 'object', 'optional': false}], []);
|
|
2450
2441
|
inspectorBackend.registerCommand(
|
|
@@ -24,8 +24,6 @@ export namespace ProtocolMapping {
|
|
|
24
24
|
* Event for animation that has been started.
|
|
25
25
|
*/
|
|
26
26
|
'Animation.animationStarted': [Protocol.Animation.AnimationStartedEvent];
|
|
27
|
-
'ApplicationCache.applicationCacheStatusUpdated': [Protocol.ApplicationCache.ApplicationCacheStatusUpdatedEvent];
|
|
28
|
-
'ApplicationCache.networkStateUpdated': [Protocol.ApplicationCache.NetworkStateUpdatedEvent];
|
|
29
27
|
'Audits.issueAdded': [Protocol.Audits.IssueAddedEvent];
|
|
30
28
|
/**
|
|
31
29
|
* Called when the recording state for the service has been updated.
|
|
@@ -765,30 +763,6 @@ export namespace ProtocolMapping {
|
|
|
765
763
|
* Sets the timing of an animation node.
|
|
766
764
|
*/
|
|
767
765
|
'Animation.setTiming': {paramsType: [Protocol.Animation.SetTimingRequest]; returnType: void;};
|
|
768
|
-
/**
|
|
769
|
-
* Enables application cache domain notifications.
|
|
770
|
-
*/
|
|
771
|
-
'ApplicationCache.enable': {paramsType: []; returnType: void;};
|
|
772
|
-
/**
|
|
773
|
-
* Returns relevant application cache data for the document in given frame.
|
|
774
|
-
*/
|
|
775
|
-
'ApplicationCache.getApplicationCacheForFrame': {
|
|
776
|
-
paramsType: [Protocol.ApplicationCache.GetApplicationCacheForFrameRequest];
|
|
777
|
-
returnType: Protocol.ApplicationCache.GetApplicationCacheForFrameResponse;
|
|
778
|
-
};
|
|
779
|
-
/**
|
|
780
|
-
* Returns array of frame identifiers with manifest urls for each frame containing a document
|
|
781
|
-
* associated with some application cache.
|
|
782
|
-
*/
|
|
783
|
-
'ApplicationCache.getFramesWithManifests':
|
|
784
|
-
{paramsType: []; returnType: Protocol.ApplicationCache.GetFramesWithManifestsResponse;};
|
|
785
|
-
/**
|
|
786
|
-
* Returns manifest URL for document in the given frame.
|
|
787
|
-
*/
|
|
788
|
-
'ApplicationCache.getManifestForFrame': {
|
|
789
|
-
paramsType: [Protocol.ApplicationCache.GetManifestForFrameRequest];
|
|
790
|
-
returnType: Protocol.ApplicationCache.GetManifestForFrameResponse;
|
|
791
|
-
};
|
|
792
766
|
/**
|
|
793
767
|
* Returns the response body and size if it were re-encoded with the specified settings. Only
|
|
794
768
|
* applies to images.
|
|
@@ -2325,19 +2299,10 @@ export namespace ProtocolMapping {
|
|
|
2325
2299
|
* Stops sending each frame in the `screencastFrame`.
|
|
2326
2300
|
*/
|
|
2327
2301
|
'Page.stopScreencast': {paramsType: []; returnType: void;};
|
|
2328
|
-
/**
|
|
2329
|
-
* Forces compilation cache to be generated for every subresource script.
|
|
2330
|
-
* See also: `Page.produceCompilationCache`.
|
|
2331
|
-
*/
|
|
2332
|
-
'Page.setProduceCompilationCache':
|
|
2333
|
-
{paramsType: [Protocol.Page.SetProduceCompilationCacheRequest]; returnType: void;};
|
|
2334
2302
|
/**
|
|
2335
2303
|
* Requests backend to produce compilation cache for the specified scripts.
|
|
2336
|
-
*
|
|
2337
|
-
*
|
|
2338
|
-
* for which the cache for would produced. Disabling compilation cache with
|
|
2339
|
-
* `setProduceCompilationCache` would reset all pending cache requests.
|
|
2340
|
-
* The list may also be reset during page navigation.
|
|
2304
|
+
* `scripts` are appeneded to the list of scripts for which the cache
|
|
2305
|
+
* would be produced. The list may be reset during page navigation.
|
|
2341
2306
|
* When script with a matching URL is encountered, the cache is optionally
|
|
2342
2307
|
* produced upon backend discretion, based on internal heuristics.
|
|
2343
2308
|
* See also: `Page.compilationCacheProduced`.
|
|
@@ -21,8 +21,6 @@ declare namespace ProtocolProxyApi {
|
|
|
21
21
|
|
|
22
22
|
Animation: AnimationApi;
|
|
23
23
|
|
|
24
|
-
ApplicationCache: ApplicationCacheApi;
|
|
25
|
-
|
|
26
24
|
Audits: AuditsApi;
|
|
27
25
|
|
|
28
26
|
BackgroundService: BackgroundServiceApi;
|
|
@@ -113,8 +111,6 @@ declare namespace ProtocolProxyApi {
|
|
|
113
111
|
|
|
114
112
|
Animation: AnimationDispatcher;
|
|
115
113
|
|
|
116
|
-
ApplicationCache: ApplicationCacheDispatcher;
|
|
117
|
-
|
|
118
114
|
Audits: AuditsDispatcher;
|
|
119
115
|
|
|
120
116
|
BackgroundService: BackgroundServiceDispatcher;
|
|
@@ -317,36 +313,6 @@ declare namespace ProtocolProxyApi {
|
|
|
317
313
|
animationStarted(params: Protocol.Animation.AnimationStartedEvent): void;
|
|
318
314
|
}
|
|
319
315
|
|
|
320
|
-
export interface ApplicationCacheApi {
|
|
321
|
-
/**
|
|
322
|
-
* Enables application cache domain notifications.
|
|
323
|
-
*/
|
|
324
|
-
invoke_enable(): Promise<Protocol.ProtocolResponseWithError>;
|
|
325
|
-
|
|
326
|
-
/**
|
|
327
|
-
* Returns relevant application cache data for the document in given frame.
|
|
328
|
-
*/
|
|
329
|
-
invoke_getApplicationCacheForFrame(params: Protocol.ApplicationCache.GetApplicationCacheForFrameRequest):
|
|
330
|
-
Promise<Protocol.ApplicationCache.GetApplicationCacheForFrameResponse>;
|
|
331
|
-
|
|
332
|
-
/**
|
|
333
|
-
* Returns array of frame identifiers with manifest urls for each frame containing a document
|
|
334
|
-
* associated with some application cache.
|
|
335
|
-
*/
|
|
336
|
-
invoke_getFramesWithManifests(): Promise<Protocol.ApplicationCache.GetFramesWithManifestsResponse>;
|
|
337
|
-
|
|
338
|
-
/**
|
|
339
|
-
* Returns manifest URL for document in the given frame.
|
|
340
|
-
*/
|
|
341
|
-
invoke_getManifestForFrame(params: Protocol.ApplicationCache.GetManifestForFrameRequest):
|
|
342
|
-
Promise<Protocol.ApplicationCache.GetManifestForFrameResponse>;
|
|
343
|
-
}
|
|
344
|
-
export interface ApplicationCacheDispatcher {
|
|
345
|
-
applicationCacheStatusUpdated(params: Protocol.ApplicationCache.ApplicationCacheStatusUpdatedEvent): void;
|
|
346
|
-
|
|
347
|
-
networkStateUpdated(params: Protocol.ApplicationCache.NetworkStateUpdatedEvent): void;
|
|
348
|
-
}
|
|
349
|
-
|
|
350
316
|
export interface AuditsApi {
|
|
351
317
|
/**
|
|
352
318
|
* Returns the response body and size if it were re-encoded with the specified settings. Only
|
|
@@ -2629,20 +2595,10 @@ declare namespace ProtocolProxyApi {
|
|
|
2629
2595
|
*/
|
|
2630
2596
|
invoke_stopScreencast(): Promise<Protocol.ProtocolResponseWithError>;
|
|
2631
2597
|
|
|
2632
|
-
/**
|
|
2633
|
-
* Forces compilation cache to be generated for every subresource script.
|
|
2634
|
-
* See also: `Page.produceCompilationCache`.
|
|
2635
|
-
*/
|
|
2636
|
-
invoke_setProduceCompilationCache(params: Protocol.Page.SetProduceCompilationCacheRequest):
|
|
2637
|
-
Promise<Protocol.ProtocolResponseWithError>;
|
|
2638
|
-
|
|
2639
2598
|
/**
|
|
2640
2599
|
* Requests backend to produce compilation cache for the specified scripts.
|
|
2641
|
-
*
|
|
2642
|
-
*
|
|
2643
|
-
* for which the cache for would produced. Disabling compilation cache with
|
|
2644
|
-
* `setProduceCompilationCache` would reset all pending cache requests.
|
|
2645
|
-
* The list may also be reset during page navigation.
|
|
2600
|
+
* `scripts` are appeneded to the list of scripts for which the cache
|
|
2601
|
+
* would be produced. The list may be reset during page navigation.
|
|
2646
2602
|
* When script with a matching URL is encountered, the cache is optionally
|
|
2647
2603
|
* produced upon backend discretion, based on internal heuristics.
|
|
2648
2604
|
* See also: `Page.compilationCacheProduced`.
|
|
@@ -64,6 +64,7 @@ declare namespace Protocol {
|
|
|
64
64
|
* Enum of possible native property sources (as a subtype of a particular AXValueSourceType).
|
|
65
65
|
*/
|
|
66
66
|
export const enum AXValueNativeSourceType {
|
|
67
|
+
Description = 'description',
|
|
67
68
|
Figcaption = 'figcaption',
|
|
68
69
|
Label = 'label',
|
|
69
70
|
Labelfor = 'labelfor',
|
|
@@ -600,129 +601,6 @@ declare namespace Protocol {
|
|
|
600
601
|
}
|
|
601
602
|
}
|
|
602
603
|
|
|
603
|
-
/**
|
|
604
|
-
* The domain is deprecated as AppCache is being removed (see crbug.com/582750).
|
|
605
|
-
*/
|
|
606
|
-
export namespace ApplicationCache {
|
|
607
|
-
|
|
608
|
-
/**
|
|
609
|
-
* Detailed application cache resource information.
|
|
610
|
-
*/
|
|
611
|
-
export interface ApplicationCacheResource {
|
|
612
|
-
/**
|
|
613
|
-
* Resource url.
|
|
614
|
-
*/
|
|
615
|
-
url: string;
|
|
616
|
-
/**
|
|
617
|
-
* Resource size.
|
|
618
|
-
*/
|
|
619
|
-
size: integer;
|
|
620
|
-
/**
|
|
621
|
-
* Resource type.
|
|
622
|
-
*/
|
|
623
|
-
type: string;
|
|
624
|
-
}
|
|
625
|
-
|
|
626
|
-
/**
|
|
627
|
-
* Detailed application cache information.
|
|
628
|
-
*/
|
|
629
|
-
export interface ApplicationCache {
|
|
630
|
-
/**
|
|
631
|
-
* Manifest URL.
|
|
632
|
-
*/
|
|
633
|
-
manifestURL: string;
|
|
634
|
-
/**
|
|
635
|
-
* Application cache size.
|
|
636
|
-
*/
|
|
637
|
-
size: number;
|
|
638
|
-
/**
|
|
639
|
-
* Application cache creation time.
|
|
640
|
-
*/
|
|
641
|
-
creationTime: number;
|
|
642
|
-
/**
|
|
643
|
-
* Application cache update time.
|
|
644
|
-
*/
|
|
645
|
-
updateTime: number;
|
|
646
|
-
/**
|
|
647
|
-
* Application cache resources.
|
|
648
|
-
*/
|
|
649
|
-
resources: ApplicationCacheResource[];
|
|
650
|
-
}
|
|
651
|
-
|
|
652
|
-
/**
|
|
653
|
-
* Frame identifier - manifest URL pair.
|
|
654
|
-
*/
|
|
655
|
-
export interface FrameWithManifest {
|
|
656
|
-
/**
|
|
657
|
-
* Frame identifier.
|
|
658
|
-
*/
|
|
659
|
-
frameId: Page.FrameId;
|
|
660
|
-
/**
|
|
661
|
-
* Manifest URL.
|
|
662
|
-
*/
|
|
663
|
-
manifestURL: string;
|
|
664
|
-
/**
|
|
665
|
-
* Application cache status.
|
|
666
|
-
*/
|
|
667
|
-
status: integer;
|
|
668
|
-
}
|
|
669
|
-
|
|
670
|
-
export interface GetApplicationCacheForFrameRequest {
|
|
671
|
-
/**
|
|
672
|
-
* Identifier of the frame containing document whose application cache is retrieved.
|
|
673
|
-
*/
|
|
674
|
-
frameId: Page.FrameId;
|
|
675
|
-
}
|
|
676
|
-
|
|
677
|
-
export interface GetApplicationCacheForFrameResponse extends ProtocolResponseWithError {
|
|
678
|
-
/**
|
|
679
|
-
* Relevant application cache data for the document in given frame.
|
|
680
|
-
*/
|
|
681
|
-
applicationCache: ApplicationCache;
|
|
682
|
-
}
|
|
683
|
-
|
|
684
|
-
export interface GetFramesWithManifestsResponse extends ProtocolResponseWithError {
|
|
685
|
-
/**
|
|
686
|
-
* Array of frame identifiers with manifest urls for each frame containing a document
|
|
687
|
-
* associated with some application cache.
|
|
688
|
-
*/
|
|
689
|
-
frameIds: FrameWithManifest[];
|
|
690
|
-
}
|
|
691
|
-
|
|
692
|
-
export interface GetManifestForFrameRequest {
|
|
693
|
-
/**
|
|
694
|
-
* Identifier of the frame containing document whose manifest is retrieved.
|
|
695
|
-
*/
|
|
696
|
-
frameId: Page.FrameId;
|
|
697
|
-
}
|
|
698
|
-
|
|
699
|
-
export interface GetManifestForFrameResponse extends ProtocolResponseWithError {
|
|
700
|
-
/**
|
|
701
|
-
* Manifest URL for document in the given frame.
|
|
702
|
-
*/
|
|
703
|
-
manifestURL: string;
|
|
704
|
-
}
|
|
705
|
-
|
|
706
|
-
export interface ApplicationCacheStatusUpdatedEvent {
|
|
707
|
-
/**
|
|
708
|
-
* Identifier of the frame containing document whose application cache updated status.
|
|
709
|
-
*/
|
|
710
|
-
frameId: Page.FrameId;
|
|
711
|
-
/**
|
|
712
|
-
* Manifest URL.
|
|
713
|
-
*/
|
|
714
|
-
manifestURL: string;
|
|
715
|
-
/**
|
|
716
|
-
* Updated application cache status.
|
|
717
|
-
*/
|
|
718
|
-
status: integer;
|
|
719
|
-
}
|
|
720
|
-
|
|
721
|
-
export interface NetworkStateUpdatedEvent {
|
|
722
|
-
isNowOnline: boolean;
|
|
723
|
-
}
|
|
724
|
-
}
|
|
725
|
-
|
|
726
604
|
/**
|
|
727
605
|
* Audits domain allows investigation of page violations and possible improvements.
|
|
728
606
|
*/
|
|
@@ -931,6 +809,7 @@ declare namespace Protocol {
|
|
|
931
809
|
KURLViolation = 'kURLViolation',
|
|
932
810
|
KTrustedTypesSinkViolation = 'kTrustedTypesSinkViolation',
|
|
933
811
|
KTrustedTypesPolicyViolation = 'kTrustedTypesPolicyViolation',
|
|
812
|
+
KWasmEvalViolation = 'kWasmEvalViolation',
|
|
934
813
|
}
|
|
935
814
|
|
|
936
815
|
export interface SourceCodeLocation {
|
|
@@ -7195,6 +7074,7 @@ declare namespace Protocol {
|
|
|
7195
7074
|
RedirectContainsCredentials = 'RedirectContainsCredentials',
|
|
7196
7075
|
InsecurePrivateNetwork = 'InsecurePrivateNetwork',
|
|
7197
7076
|
InvalidPrivateNetworkAccess = 'InvalidPrivateNetworkAccess',
|
|
7077
|
+
UnexpectedPrivateNetworkAccess = 'UnexpectedPrivateNetworkAccess',
|
|
7198
7078
|
NoCorsRedirectModeNotFollow = 'NoCorsRedirectModeNotFollow',
|
|
7199
7079
|
}
|
|
7200
7080
|
|
|
@@ -7886,6 +7766,8 @@ declare namespace Protocol {
|
|
|
7886
7766
|
Allow = 'Allow',
|
|
7887
7767
|
BlockFromInsecureToMorePrivate = 'BlockFromInsecureToMorePrivate',
|
|
7888
7768
|
WarnFromInsecureToMorePrivate = 'WarnFromInsecureToMorePrivate',
|
|
7769
|
+
PreflightBlock = 'PreflightBlock',
|
|
7770
|
+
PreflightWarn = 'PreflightWarn',
|
|
7889
7771
|
}
|
|
7890
7772
|
|
|
7891
7773
|
export const enum IPAddressSpace {
|
|
@@ -9929,6 +9811,7 @@ declare namespace Protocol {
|
|
|
9929
9811
|
Hid = 'hid',
|
|
9930
9812
|
IdleDetection = 'idle-detection',
|
|
9931
9813
|
InterestCohort = 'interest-cohort',
|
|
9814
|
+
KeyboardMap = 'keyboard-map',
|
|
9932
9815
|
Magnetometer = 'magnetometer',
|
|
9933
9816
|
Microphone = 'microphone',
|
|
9934
9817
|
Midi = 'midi',
|
|
@@ -11311,10 +11194,6 @@ declare namespace Protocol {
|
|
|
11311
11194
|
state: SetWebLifecycleStateRequestState;
|
|
11312
11195
|
}
|
|
11313
11196
|
|
|
11314
|
-
export interface SetProduceCompilationCacheRequest {
|
|
11315
|
-
enabled: boolean;
|
|
11316
|
-
}
|
|
11317
|
-
|
|
11318
11197
|
export interface ProduceCompilationCacheRequest {
|
|
11319
11198
|
scripts: CompilationCacheParams[];
|
|
11320
11199
|
}
|
|
@@ -42,6 +42,7 @@ export enum IssueCode {
|
|
|
42
42
|
InvalidResponse = 'CorsIssue::InvalidResponse',
|
|
43
43
|
NoCorsRedirectModeNotFollow = 'CorsIssue::NoCorsRedirectModeNotFollow',
|
|
44
44
|
InvalidPrivateNetworkAccess = 'CorsIssue::InvalidPrivateNetworkAccess',
|
|
45
|
+
UnexpectedPrivateNetworkAccess = 'CorsIssue::UnexpectedPrivateNetworkAccess',
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
function getIssueCode(details: Protocol.Audits.CorsIssueDetails): IssueCode {
|
|
@@ -90,6 +91,8 @@ function getIssueCode(details: Protocol.Audits.CorsIssueDetails): IssueCode {
|
|
|
90
91
|
return IssueCode.NoCorsRedirectModeNotFollow;
|
|
91
92
|
case Protocol.Network.CorsError.InvalidPrivateNetworkAccess:
|
|
92
93
|
return IssueCode.InvalidPrivateNetworkAccess;
|
|
94
|
+
case Protocol.Network.CorsError.UnexpectedPrivateNetworkAccess:
|
|
95
|
+
return IssueCode.UnexpectedPrivateNetworkAccess;
|
|
93
96
|
}
|
|
94
97
|
}
|
|
95
98
|
|
|
@@ -221,6 +224,7 @@ export class CorsIssue extends Issue<IssueCode> {
|
|
|
221
224
|
case IssueCode.PreflightInvalidAllowExternal:
|
|
222
225
|
case IssueCode.InvalidResponse:
|
|
223
226
|
case IssueCode.InvalidPrivateNetworkAccess:
|
|
227
|
+
case IssueCode.UnexpectedPrivateNetworkAccess:
|
|
224
228
|
return null;
|
|
225
229
|
}
|
|
226
230
|
}
|
|
@@ -1203,11 +1203,6 @@ export const NativeFunctions = [
|
|
|
1203
1203
|
signatures: [['type', '?eventInitDict']],
|
|
1204
1204
|
receiver: 'AnimationPlaybackEvent',
|
|
1205
1205
|
},
|
|
1206
|
-
{
|
|
1207
|
-
name: 'null',
|
|
1208
|
-
signatures: [['type', '?eventInitDict']],
|
|
1209
|
-
receiver: 'ApplicationCacheErrorEvent',
|
|
1210
|
-
},
|
|
1211
1206
|
{
|
|
1212
1207
|
name: 'null',
|
|
1213
1208
|
signatures: [['type', '?eventInitDict']],
|
|
@@ -380,6 +380,17 @@ const UIStrings = {
|
|
|
380
380
|
/**
|
|
381
381
|
* @description Accessibility attribute name that appears under the Computed Properties section in
|
|
382
382
|
* the Accessibility pane of the Elements pane. Indicates that this element got assigned this
|
|
383
|
+
* attribute because there is a related description, hence it received it from the description.
|
|
384
|
+
* 'description' is part of the ARIA API and should not be translated.
|
|
385
|
+
*/
|
|
386
|
+
fromDescription: 'From `description`',
|
|
387
|
+
/**
|
|
388
|
+
*@description Tooltip text that appears when hovering over the 'From description' attribute name under the Computed Properties section in the Accessibility pane of the Elements pane
|
|
389
|
+
*/
|
|
390
|
+
valueFromDescriptionElement: 'Value from `description` element.',
|
|
391
|
+
/**
|
|
392
|
+
* @description Accessibility attribute name that appears under the Computed Properties section in
|
|
393
|
+
* the Accessibility pane of the Elements pane. Indicates that this element got assigned this
|
|
383
394
|
* attribute because there is a related label, hence it received it from the label. 'label'
|
|
384
395
|
* is part of the ARIA API and should not be translated.
|
|
385
396
|
*/
|
|
@@ -656,6 +667,10 @@ export const AXSourceTypes = {
|
|
|
656
667
|
};
|
|
657
668
|
|
|
658
669
|
export const AXNativeSourceTypes = {
|
|
670
|
+
'description': {
|
|
671
|
+
name: i18nLazyString(UIStrings.fromDescription),
|
|
672
|
+
description: i18nLazyString(UIStrings.valueFromDescriptionElement),
|
|
673
|
+
},
|
|
659
674
|
'figcaption':
|
|
660
675
|
{name: i18nLazyString(UIStrings.fromCaption), description: i18nLazyString(UIStrings.valueFromFigcaptionElement)},
|
|
661
676
|
'label': {name: i18nLazyString(UIStrings.fromLabel), description: i18nLazyString(UIStrings.valueFromLabelElement)},
|
|
@@ -206,7 +206,8 @@ export class CorsIssueDetailsView extends AffectedResourcesView {
|
|
|
206
206
|
Platform.assertUnhandled<IssuesManager.CorsIssue.IssueCode.PreflightMissingAllowExternal|
|
|
207
207
|
IssuesManager.CorsIssue.IssueCode.PreflightInvalidAllowExternal|
|
|
208
208
|
IssuesManager.CorsIssue.IssueCode.InvalidResponse|
|
|
209
|
-
IssuesManager.CorsIssue.IssueCode.InvalidPrivateNetworkAccess
|
|
209
|
+
IssuesManager.CorsIssue.IssueCode.InvalidPrivateNetworkAccess|
|
|
210
|
+
IssuesManager.CorsIssue.IssueCode.UnexpectedPrivateNetworkAccess>(issueCode);
|
|
210
211
|
}
|
|
211
212
|
|
|
212
213
|
this.affectedResources.appendChild(header);
|
|
@@ -431,7 +432,8 @@ export class CorsIssueDetailsView extends AffectedResourcesView {
|
|
|
431
432
|
Platform.assertUnhandled<IssuesManager.CorsIssue.IssueCode.PreflightMissingAllowExternal|
|
|
432
433
|
IssuesManager.CorsIssue.IssueCode.PreflightInvalidAllowExternal|
|
|
433
434
|
IssuesManager.CorsIssue.IssueCode.InvalidResponse|
|
|
434
|
-
IssuesManager.CorsIssue.IssueCode.InvalidPrivateNetworkAccess
|
|
435
|
+
IssuesManager.CorsIssue.IssueCode.InvalidPrivateNetworkAccess|
|
|
436
|
+
IssuesManager.CorsIssue.IssueCode.UnexpectedPrivateNetworkAccess>(issueCode);
|
|
435
437
|
break;
|
|
436
438
|
}
|
|
437
439
|
|
|
@@ -117,16 +117,25 @@ export class BreakpointEditDialog extends UI.Widget.Widget {
|
|
|
117
117
|
toolbar.appendToolbarItem(this.typeSelector);
|
|
118
118
|
|
|
119
119
|
const content = oldCondition || '';
|
|
120
|
+
const finishIfComplete = (view: CodeMirror.EditorView): boolean => {
|
|
121
|
+
if (modTextEditor.JavaScript.isExpressionComplete(view.state)) {
|
|
122
|
+
this.finishEditing(true, this.editor.state.doc.toString());
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
125
|
+
return false;
|
|
126
|
+
};
|
|
120
127
|
const keymap = [
|
|
121
128
|
{
|
|
122
129
|
key: 'Mod-Enter',
|
|
123
|
-
run:
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
+
run: finishIfComplete,
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
key: 'Enter',
|
|
134
|
+
run: finishIfComplete,
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
...modCodeMirror.standardKeymap.find(binding => binding.key === 'Enter') as CodeMirror.KeyBinding,
|
|
138
|
+
key: 'Shift-Enter',
|
|
130
139
|
},
|
|
131
140
|
{
|
|
132
141
|
key: 'Escape',
|
|
@@ -139,6 +148,9 @@ export class BreakpointEditDialog extends UI.Widget.Widget {
|
|
|
139
148
|
|
|
140
149
|
this.placeholderCompartment = new modCodeMirror.Compartment();
|
|
141
150
|
|
|
151
|
+
const editorWrapper = this.contentElement.appendChild(document.createElement('div'));
|
|
152
|
+
editorWrapper.classList.add('condition-editor');
|
|
153
|
+
|
|
142
154
|
this.editor = new modTextEditor.TextEditor.TextEditor(modCodeMirror.EditorState.create({
|
|
143
155
|
doc: content,
|
|
144
156
|
selection: {anchor: 0, head: content.length},
|
|
@@ -148,10 +160,10 @@ export class BreakpointEditDialog extends UI.Widget.Widget {
|
|
|
148
160
|
editorConfig,
|
|
149
161
|
],
|
|
150
162
|
}));
|
|
151
|
-
this.editor
|
|
163
|
+
editorWrapper.appendChild(this.editor);
|
|
152
164
|
|
|
153
165
|
this.updateTooltip();
|
|
154
|
-
|
|
166
|
+
|
|
155
167
|
this.element.addEventListener('blur', event => {
|
|
156
168
|
if (!event.relatedTarget ||
|
|
157
169
|
(event.relatedTarget && !(event.relatedTarget as Node).isSelfOrDescendant(this.element))) {
|
|
@@ -11,6 +11,7 @@ import * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
|
11
11
|
import * as Workspace from '../../models/workspace/workspace.js';
|
|
12
12
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
13
13
|
|
|
14
|
+
import {LogpointPrefix} from './BreakpointEditDialog.js';
|
|
14
15
|
import javaScriptBreakpointsSidebarPaneStyles from './javaScriptBreakpointsSidebarPane.css.js';
|
|
15
16
|
|
|
16
17
|
const UIStrings = {
|
|
@@ -292,6 +293,8 @@ export class JavaScriptBreakpointsSidebarPane extends UI.ThrottledWidget.Throttl
|
|
|
292
293
|
const uiLocation = item.locations[0].uiLocation;
|
|
293
294
|
const hasEnabled = item.locations.some(location => location.breakpoint.enabled());
|
|
294
295
|
const hasDisabled = item.locations.some(location => !location.breakpoint.enabled());
|
|
296
|
+
const hasLogpoint = item.locations.some(location => location.breakpoint.condition().includes(LogpointPrefix));
|
|
297
|
+
const hasConditional = item.locations.some(location => Boolean(location.breakpoint.condition()));
|
|
295
298
|
checkboxLabel.textElement.textContent = uiLocation.linkText() +
|
|
296
299
|
(item.showColumn && typeof uiLocation.columnNumber === 'number' ? ':' + (uiLocation.columnNumber + 1) : '');
|
|
297
300
|
checkboxLabel.checkboxElement.checked = hasEnabled;
|
|
@@ -319,7 +322,17 @@ export class JavaScriptBreakpointsSidebarPane extends UI.ThrottledWidget.Throttl
|
|
|
319
322
|
}
|
|
320
323
|
});
|
|
321
324
|
|
|
322
|
-
const
|
|
325
|
+
const lineElement = element.createChild('div', 'decoration-and-source');
|
|
326
|
+
const decorationElement = lineElement.createChild('span', 'breakpoint');
|
|
327
|
+
if (hasDisabled) {
|
|
328
|
+
decorationElement.classList.add('disabled');
|
|
329
|
+
}
|
|
330
|
+
if (hasLogpoint) {
|
|
331
|
+
decorationElement.classList.add('logpoint');
|
|
332
|
+
} else if (hasConditional) {
|
|
333
|
+
decorationElement.classList.add('breakpoint-conditional');
|
|
334
|
+
}
|
|
335
|
+
const snippetElement = lineElement.createChild('div', 'source-text monospace');
|
|
323
336
|
const lineNumber = uiLocation.lineNumber;
|
|
324
337
|
|
|
325
338
|
if (item.text && lineNumber < item.text.lineCount()) {
|
|
@@ -24,12 +24,62 @@
|
|
|
24
24
|
background-color: var(--color-background-elevation-1);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
.breakpoint-entry > .source
|
|
27
|
+
.breakpoint-entry > .decoration-and-source {
|
|
28
|
+
display: flex;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.breakpoint-entry .breakpoint {
|
|
32
|
+
content: var(--inline-breakpoint-enabled);
|
|
33
|
+
height: 12px;
|
|
34
|
+
top: 1px;
|
|
35
|
+
position: relative;
|
|
36
|
+
width: 11px;
|
|
37
|
+
margin-left: 3px;
|
|
38
|
+
margin-right: 3px;
|
|
39
|
+
|
|
40
|
+
--inline-breakpoint-enabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.7549 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.7549 11.2583 6.29382 11.5 5.80139 11.5H0.5V0.5Z" fill="%234285F4" stroke="%231A73E8"/></svg>');
|
|
41
|
+
--inline-breakpoint-disabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.7549 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.7549 11.2583 6.29382 11.5 5.80139 11.5H0.5V0.5Z" fill="%234285F4" fill-opacity="0.2" stroke="%231A73E8"/></svg>');
|
|
42
|
+
--inline-conditional-breakpoint-enabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.75489 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.75489 11.2583 6.29382 11.5 5.80138 11.5H0.5V0.5Z" fill="%23F29900" stroke="%23E37400"/><path d="M3.51074 7.75635H4.68408V9H3.51074V7.75635ZM4.68408 7.23779H3.51074V6.56104C3.51074 6.271 3.55615 6.02344 3.64697 5.81836C3.73779 5.61328 3.90039 5.39648 4.13477 5.16797L4.53027 4.77686C4.71484 4.59814 4.83936 4.4502 4.90381 4.33301C4.97119 4.21582 5.00488 4.09424 5.00488 3.96826C5.00488 3.77197 4.9375 3.62402 4.80273 3.52441C4.66797 3.4248 4.46582 3.375 4.19629 3.375C3.9502 3.375 3.69238 3.42773 3.42285 3.5332C3.15625 3.63574 2.88232 3.78955 2.60107 3.99463V2.81689C2.88818 2.65283 3.17822 2.52979 3.47119 2.44775C3.76709 2.36279 4.06299 2.32031 4.35889 2.32031C4.95068 2.32031 5.41504 2.45801 5.75195 2.7334C6.08887 3.00879 6.25732 3.38818 6.25732 3.87158C6.25732 4.09424 6.20752 4.30225 6.10791 4.49561C6.0083 4.68604 5.8208 4.91602 5.54541 5.18555L5.15869 5.56348C4.95947 5.75684 4.83203 5.91504 4.77637 6.03809C4.7207 6.16113 4.69287 6.31201 4.69287 6.49072C4.69287 6.51709 4.69141 6.54785 4.68848 6.58301C4.68848 6.61816 4.68701 6.65625 4.68408 6.69727V7.23779Z" fill="white"/></svg>');
|
|
43
|
+
--inline-conditional-breakpoint-disabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.75489 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.75489 11.2583 6.29382 11.5 5.80138 11.5H0.5V0.5Z" fill="%23F9AB00" fill-opacity="0.2" stroke="%23E37400"/><path d="M3.51074 7.75635H4.68408V9H3.51074V7.75635ZM4.68408 7.23779H3.51074V6.56104C3.51074 6.271 3.55615 6.02344 3.64697 5.81836C3.73779 5.61328 3.90039 5.39648 4.13477 5.16797L4.53027 4.77686C4.71484 4.59814 4.83936 4.4502 4.90381 4.33301C4.97119 4.21582 5.00488 4.09424 5.00488 3.96826C5.00488 3.77197 4.9375 3.62402 4.80273 3.52441C4.66797 3.4248 4.46582 3.375 4.19629 3.375C3.9502 3.375 3.69238 3.42773 3.42285 3.5332C3.15625 3.63574 2.88232 3.78955 2.60107 3.99463V2.81689C2.88818 2.65283 3.17822 2.52979 3.47119 2.44775C3.76709 2.36279 4.06299 2.32031 4.35889 2.32031C4.95068 2.32031 5.41504 2.45801 5.75195 2.7334C6.08887 3.00879 6.25732 3.38818 6.25732 3.87158C6.25732 4.09424 6.20752 4.30225 6.10791 4.49561C6.0083 4.68604 5.8208 4.91602 5.54541 5.18555L5.15869 5.56348C4.95947 5.75684 4.83203 5.91504 4.77637 6.03809C4.7207 6.16113 4.69287 6.31201 4.69287 6.49072C4.69287 6.51709 4.69141 6.54785 4.68848 6.58301C4.68848 6.61816 4.68701 6.65625 4.68408 6.69727V7.23779Z" fill="%23E37400"/></svg>');
|
|
44
|
+
--inline-logpoint-enabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.7549 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.7549 11.2583 6.29382 11.5 5.80139 11.5H0.5V0.5Z" fill="%23F439A0" stroke="%23D01884"/><circle cx="3" cy="6" r="1" fill="white"/><circle cx="7" cy="6" r="1" fill="white"/></svg>');
|
|
45
|
+
--inline-logpoint-disabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.7549 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.7549 11.2583 6.29382 11.5 5.80139 11.5H0.5V0.5Z" fill="%23F439A0" fill-opacity="0.2" stroke="%23D01884"/><circle cx="3" cy="6" r="1" fill="%23D01884"/><circle cx="7" cy="6" r="1" fill="%23D01884"/></svg>');
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.breakpoint-entry .breakpoint.disabled,
|
|
49
|
+
.breakpoints-list-deactivated .breakpoint-entry .breakpoint {
|
|
50
|
+
content: var(--inline-breakpoint-disabled);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
:host-context(.-theme-with-dark-background) .breakpoint-entry .breakpoint {
|
|
54
|
+
--inline-breakpoint-enabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.7549 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.7549 11.2583 6.29382 11.5 5.80139 11.5H0.5V0.5Z" fill="%235186EC" stroke="%231A73E8"/></svg>');
|
|
55
|
+
--inline-conditional-breakpoint-enabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.75489 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.75489 11.2583 6.29382 11.5 5.80138 11.5H0.5V0.5Z" fill="%23e9a33a" stroke="%23E37400"/><path d="M3.51074 7.75635H4.68408V9H3.51074V7.75635ZM4.68408 7.23779H3.51074V6.56104C3.51074 6.271 3.55615 6.02344 3.64697 5.81836C3.73779 5.61328 3.90039 5.39648 4.13477 5.16797L4.53027 4.77686C4.71484 4.59814 4.83936 4.4502 4.90381 4.33301C4.97119 4.21582 5.00488 4.09424 5.00488 3.96826C5.00488 3.77197 4.9375 3.62402 4.80273 3.52441C4.66797 3.4248 4.46582 3.375 4.19629 3.375C3.9502 3.375 3.69238 3.42773 3.42285 3.5332C3.15625 3.63574 2.88232 3.78955 2.60107 3.99463V2.81689C2.88818 2.65283 3.17822 2.52979 3.47119 2.44775C3.76709 2.36279 4.06299 2.32031 4.35889 2.32031C4.95068 2.32031 5.41504 2.45801 5.75195 2.7334C6.08887 3.00879 6.25732 3.38818 6.25732 3.87158C6.25732 4.09424 6.20752 4.30225 6.10791 4.49561C6.0083 4.68604 5.8208 4.91602 5.54541 5.18555L5.15869 5.56348C4.95947 5.75684 4.83203 5.91504 4.77637 6.03809C4.7207 6.16113 4.69287 6.31201 4.69287 6.49072C4.69287 6.51709 4.69141 6.54785 4.68848 6.58301C4.68848 6.61816 4.68701 6.65625 4.68408 6.69727V7.23779Z" fill="white"/></svg>');
|
|
56
|
+
--inline-logpoint-enabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.7549 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.7549 11.2583 6.29382 11.5 5.80139 11.5H0.5V0.5Z" fill="%23E54D9B" stroke="%23D01884"/><circle cx="3" cy="6" r="1" fill="white"/><circle cx="7" cy="6" r="1" fill="white"/></svg>');
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.breakpoint-entry .breakpoint-conditional {
|
|
60
|
+
content: var(--inline-conditional-breakpoint-enabled);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.breakpoint-entry .breakpoint-conditional.disabled,
|
|
64
|
+
.breakpoints-list-deactivated .breakpoint-entry .breakpoint-conditional {
|
|
65
|
+
content: var(--inline-conditional-breakpoint-disabled);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.breakpoint-entry .logpoint {
|
|
69
|
+
content: var(--inline-logpoint-enabled);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.breakpoint-entry .logpoint.disabled,
|
|
73
|
+
.breakpoints-list-deactivated .breakpoint-entry .logpoint {
|
|
74
|
+
content: var(--inline-logpoint-disabled);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.breakpoint-entry .source-text {
|
|
28
78
|
cursor: pointer;
|
|
29
79
|
text-overflow: ellipsis;
|
|
30
80
|
overflow: hidden;
|
|
31
81
|
white-space: nowrap;
|
|
32
|
-
margin-left:
|
|
82
|
+
margin-left: 4px;
|
|
33
83
|
}
|
|
34
84
|
|
|
35
85
|
.breakpoints-list-deactivated {
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// Copyright 2021 The Chromium Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
import type * as Common from '../../../core/common/common.js';
|
|
6
|
+
import * as ComponentHelpers from '../../components/helpers/helpers.js';
|
|
7
|
+
import * as LitHtml from '../../lit-html/lit-html.js';
|
|
8
|
+
|
|
9
|
+
import settingCheckboxStyles from './settingCheckbox.css.js';
|
|
10
|
+
|
|
11
|
+
export interface SettingCheckboxData {
|
|
12
|
+
setting: Common.Settings.Setting<boolean>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* A simple checkbox that is backed by a boolean setting.
|
|
17
|
+
*/
|
|
18
|
+
export class SettingCheckbox extends HTMLElement {
|
|
19
|
+
static readonly litTagName = LitHtml.literal`setting-checkbox`;
|
|
20
|
+
private readonly shadow = this.attachShadow({mode: 'open'});
|
|
21
|
+
|
|
22
|
+
private setting?: Common.Settings.Setting<boolean>;
|
|
23
|
+
private changeListenerDescriptor?: Common.EventTarget.EventDescriptor;
|
|
24
|
+
|
|
25
|
+
connectedCallback(): void {
|
|
26
|
+
this.shadow.adoptedStyleSheets = [settingCheckboxStyles];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
set data(data: SettingCheckboxData) {
|
|
30
|
+
if (this.changeListenerDescriptor && this.setting) {
|
|
31
|
+
this.setting.removeChangeListener(this.changeListenerDescriptor.listener);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
this.setting = data.setting;
|
|
35
|
+
|
|
36
|
+
this.changeListenerDescriptor = this.setting.addChangeListener(() => {
|
|
37
|
+
this.render();
|
|
38
|
+
});
|
|
39
|
+
this.render();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
private render(): void {
|
|
43
|
+
if (!this.setting) {
|
|
44
|
+
throw new Error('No "Setting" object provided for rendering');
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
LitHtml.render(
|
|
48
|
+
LitHtml.html`
|
|
49
|
+
<p>
|
|
50
|
+
<label>
|
|
51
|
+
<input type="checkbox" ?checked=${this.setting.get()} @change="${this.checkboxChanged}" aria-label="${
|
|
52
|
+
this.setting.title()}" /> ${this.setting.title()}
|
|
53
|
+
</label>
|
|
54
|
+
</p>`,
|
|
55
|
+
this.shadow, {host: this});
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
private checkboxChanged(e: Event): void {
|
|
59
|
+
this.setting?.set((e.target as HTMLInputElement).checked);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
ComponentHelpers.CustomElements.defineComponent('setting-checkbox', SettingCheckbox);
|
|
64
|
+
|
|
65
|
+
declare global {
|
|
66
|
+
interface HTMLElementTagNameMap {
|
|
67
|
+
'setting-checkbox': SettingCheckbox;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2021 The Chromium Authors. All rights reserved.
|
|
3
|
+
* Use of this source code is governed by a BSD-style license that can be
|
|
4
|
+
* found in the LICENSE file.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
:host {
|
|
8
|
+
padding: 0;
|
|
9
|
+
margin: 0;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
input {
|
|
13
|
+
height: 12px;
|
|
14
|
+
width: 12px;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
label {
|
|
18
|
+
display: inline-flex;
|
|
19
|
+
align-items: center;
|
|
20
|
+
overflow: hidden;
|
|
21
|
+
text-overflow: ellipsis;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
p {
|
|
25
|
+
margin: 12px 0;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* Preserve look of legacy checkboxes in dark mode */
|
|
29
|
+
:host-context(.-theme-with-dark-background) input[type="checkbox"]:not(.-theme-preserve) {
|
|
30
|
+
filter: invert(80%);
|
|
31
|
+
}
|
|
@@ -7,6 +7,9 @@ import * as CM from '../../../third_party/codemirror.next/codemirror.next.js';
|
|
|
7
7
|
export const editorTheme = CM.EditorView.theme({
|
|
8
8
|
'&.cm-editor': {
|
|
9
9
|
color: 'color: var(--color-text-primary)',
|
|
10
|
+
'&.cm-focused': {
|
|
11
|
+
outline: 'none',
|
|
12
|
+
},
|
|
10
13
|
},
|
|
11
14
|
|
|
12
15
|
'.cm-scroller': {
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
|
|
31
31
|
import * as Common from '../../core/common/common.js';
|
|
32
32
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
33
|
+
import * as Settings from '../components/settings/settings.js';
|
|
33
34
|
|
|
34
35
|
import * as ARIAUtils from './ARIAUtils.js';
|
|
35
36
|
import {InspectorView} from './InspectorView.js';
|
|
@@ -153,8 +154,11 @@ export const createControlForSetting = function(setting: Common.Settings.Setting
|
|
|
153
154
|
null {
|
|
154
155
|
const uiTitle = setting.title();
|
|
155
156
|
switch (setting.type()) {
|
|
156
|
-
case Common.Settings.SettingType.BOOLEAN:
|
|
157
|
-
|
|
157
|
+
case Common.Settings.SettingType.BOOLEAN: {
|
|
158
|
+
const component = new Settings.SettingCheckbox.SettingCheckbox();
|
|
159
|
+
component.data = {setting: setting as Common.Settings.Setting<boolean>};
|
|
160
|
+
return component;
|
|
161
|
+
}
|
|
158
162
|
case Common.Settings.SettingType.ENUM:
|
|
159
163
|
if (Array.isArray(setting.options())) {
|
|
160
164
|
return createSettingSelect(uiTitle, setting.options(), setting.reloadRequired(), setting, subtitle);
|
|
@@ -191,8 +191,6 @@ export class DataGridImpl<T> extends Common.ObjectWrapper.ObjectWrapper<EventTyp
|
|
|
191
191
|
|
|
192
192
|
const headerContainer = this.element.createChild('div', 'header-container');
|
|
193
193
|
this.headerTable = headerContainer.createChild('table', 'header');
|
|
194
|
-
// Hide the header table from screen readers since titles are also added to data table.
|
|
195
|
-
UI.ARIAUtils.markAsHidden(this.headerTable);
|
|
196
194
|
this.headerTableHeaders = {};
|
|
197
195
|
this.scrollContainerInternal = this.element.createChild('div', 'data-container');
|
|
198
196
|
this.dataTable = this.scrollContainerInternal.createChild('table', 'data');
|
package/package.json
CHANGED