chrome-devtools-frontend 1.0.1674545 → 1.0.1676824
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/.agents/skills/devtools-ux-writing-refactor/SKILL.md +26 -9
- package/WATCHLISTS +0 -4
- package/front_end/core/common/ParsedURL.ts +5 -1
- package/front_end/core/common/SettingRegistration.ts +29 -8
- package/front_end/core/common/Settings.ts +0 -77
- package/front_end/core/root/Runtime.ts +4 -5
- package/front_end/core/sdk/CSSMetadata.ts +5 -9
- package/front_end/core/sdk/CSSPropertyParserMatchers.ts +8 -28
- package/front_end/core/sdk/DebuggerModel.ts +50 -30
- package/front_end/core/sdk/ResourceTreeModel.ts +20 -1
- package/front_end/core/sdk/Script.ts +9 -53
- package/front_end/core/sdk/TargetManager.ts +18 -0
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +213 -23
- package/front_end/entrypoints/main/MainImpl.ts +32 -0
- package/front_end/foundation/Universe.ts +44 -29
- package/front_end/generated/InspectorBackendCommands.ts +3 -1
- package/front_end/generated/SupportedCSSProperties.ts +21 -4
- package/front_end/generated/protocol-mapping.d.ts +14 -0
- package/front_end/generated/protocol-proxy-api.d.ts +10 -0
- package/front_end/generated/protocol.ts +35 -0
- package/front_end/models/ai_assistance/AiAgent2.ts +11 -0
- package/front_end/models/ai_assistance/AiConversation.ts +22 -5
- package/front_end/models/ai_assistance/README.md +52 -26
- package/front_end/models/ai_assistance/agents/AiAgent.ts +54 -8
- package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +1 -1
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +15 -192
- package/front_end/models/ai_assistance/agents/StorageAgent.ts +8 -87
- package/front_end/models/ai_assistance/agents/StylingAgent.snapshot.txt +2 -1
- package/front_end/models/ai_assistance/ai_assistance.ts +16 -0
- package/front_end/models/ai_assistance/contexts/PerformanceTraceContext.ts +124 -0
- package/front_end/models/ai_assistance/contexts/StorageContext.ts +111 -0
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +69 -1
- package/front_end/models/ai_assistance/skills/README.md +63 -1
- package/front_end/models/ai_assistance/skills/Skill.ts +1 -1
- package/front_end/models/ai_assistance/skills/SkillRegistry.ts +4 -0
- package/front_end/models/ai_assistance/skills/performance.md +8 -0
- package/front_end/models/ai_assistance/skills/sources.md +16 -0
- package/front_end/models/ai_assistance/skills/storage.md +31 -0
- package/front_end/models/ai_assistance/tools/GetSourceContent.ts +101 -0
- package/front_end/models/ai_assistance/tools/GetTraceEventByKey.ts +83 -0
- package/front_end/models/ai_assistance/tools/GetTraceMainThreadSummary.ts +106 -0
- package/front_end/models/ai_assistance/tools/GetTraceNetworkSummary.ts +104 -0
- package/front_end/models/ai_assistance/tools/ListPageOrigins.ts +81 -0
- package/front_end/models/ai_assistance/tools/ListSources.ts +116 -0
- package/front_end/models/ai_assistance/tools/SelectTraceEventByKey.ts +90 -0
- package/front_end/models/ai_assistance/tools/Tool.ts +22 -1
- package/front_end/models/ai_assistance/tools/ToolRegistry.ts +14 -0
- package/front_end/models/bindings/CSSWorkspaceBinding.ts +4 -0
- package/front_end/models/bindings/CompilerScriptMapping.ts +4 -0
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +8 -0
- package/front_end/models/bindings/ResourceScriptMapping.ts +3 -201
- package/front_end/models/bindings/SASSSourceMapping.ts +6 -0
- package/front_end/models/breakpoints/BreakpointManager.ts +2 -49
- package/front_end/models/emulation/DeviceModeModel.ts +60 -71
- package/front_end/models/emulation/EmulatedDevices.ts +18 -66
- package/front_end/models/heap_snapshot/HeapSnapshotModel.ts +27 -0
- package/front_end/models/heap_snapshot/HeapSnapshotProxy.ts +10 -2
- package/front_end/models/issues_manager/descriptions/connectionAllowlistEmbeddingRequirementNotSatisfied.md +26 -0
- package/front_end/models/issues_manager/descriptions/connectionAllowlistIFrameAttributeLoosensEmbeddingRequirement.md +19 -0
- package/front_end/models/issues_manager/descriptions/connectionAllowlistInvalidAllowConnectionAllowlistFrom.md +21 -0
- package/front_end/models/javascript_metadata/NativeFunctions.js +1 -1
- package/front_end/models/persistence/AutomaticFileSystemManager.ts +2 -2
- package/front_end/models/persistence/IsolatedFileSystem.ts +7 -8
- package/front_end/models/persistence/IsolatedFileSystemManager.ts +22 -31
- package/front_end/models/persistence/PlatformFileSystem.ts +1 -1
- package/front_end/models/persistence/persistence-meta.ts +9 -9
- package/front_end/models/trace/types/TraceEvents.ts +36 -0
- package/front_end/models/workspace/FileManager.ts +13 -6
- package/front_end/panels/accessibility/ARIAAttributesView.ts +3 -3
- package/front_end/panels/accessibility/AccessibilityNodeView.ts +36 -36
- package/front_end/panels/accessibility/AccessibilityStrings.ts +168 -168
- package/front_end/panels/accessibility/SourceOrderView.ts +7 -7
- package/front_end/panels/accessibility/accessibility-meta.ts +2 -2
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +5 -5
- package/front_end/panels/ai_assistance/components/AIv2MarkdownRenderer.ts +2 -3
- package/front_end/panels/ai_assistance/components/ChatInput.ts +2 -2
- package/front_end/panels/ai_assistance/components/ChatMessage.ts +27 -2
- package/front_end/panels/application/IndexedDBViews.ts +65 -63
- package/front_end/panels/application/WebMCPView.ts +29 -12
- package/front_end/panels/application/components/AdsView.ts +24 -1
- package/front_end/panels/application/components/adsView.css +27 -21
- package/front_end/panels/autofill/AutofillView.ts +12 -12
- package/front_end/panels/autofill/autofill-meta.ts +2 -2
- package/front_end/panels/common/AiCodeCompletionSummaryToolbar.ts +5 -5
- package/front_end/panels/common/BadgeNotification.ts +8 -8
- package/front_end/panels/common/ExtensionServer.ts +21 -1
- package/front_end/panels/common/GdpSignUpDialog.ts +16 -16
- package/front_end/panels/common/GeminiRebrandPromoDialog.ts +5 -6
- package/front_end/panels/common/PersistenceUtils.ts +2 -2
- package/front_end/panels/common/common.ts +0 -97
- package/front_end/panels/console/ConsoleInsightTeaser.ts +2 -2
- package/front_end/panels/console/ConsolePinPane.ts +2 -2
- package/front_end/panels/console/ConsoleView.ts +20 -19
- package/front_end/panels/elements/ElementsTreeElement.ts +550 -327
- package/front_end/panels/elements/ElementsTreeOutline.ts +1 -1
- package/front_end/panels/elements/LayoutPane.ts +2 -8
- package/front_end/panels/event_listeners/EventListenersView.ts +8 -4
- package/front_end/panels/issues/AffectedTrackingSitesView.ts +25 -14
- package/front_end/panels/js_timeline/js_timeline-meta.ts +8 -8
- package/front_end/panels/layer_viewer/LayerDetailsView.ts +30 -30
- package/front_end/panels/layer_viewer/LayerTreeOutline.ts +6 -6
- package/front_end/panels/layer_viewer/LayerViewHost.ts +1 -1
- package/front_end/panels/layer_viewer/Layers3DView.ts +11 -11
- package/front_end/panels/layer_viewer/PaintProfilerView.ts +8 -8
- package/front_end/panels/layer_viewer/TransformController.ts +3 -3
- package/front_end/panels/layer_viewer/layer_viewer-meta.ts +11 -11
- package/front_end/panels/media/PlayerMessagesView.ts +149 -68
- package/front_end/panels/mobile_throttling/ThrottlingManager.ts +1 -58
- package/front_end/panels/mobile_throttling/mobile_throttling.ts +0 -10
- package/front_end/panels/network/NetworkPanel.ts +1 -1
- package/front_end/panels/network/RequestPayloadView.ts +1 -0
- package/front_end/panels/profiler/HeapSnapshotView.ts +0 -2
- package/front_end/panels/profiler/heapProfiler.css +0 -9
- package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +7 -0
- package/front_end/panels/recorder/RecorderPanel.ts +2 -3
- package/front_end/panels/screencast/ScreencastView.ts +148 -138
- package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +1 -2
- package/front_end/panels/sources/AiCodeCompletionPlugin.ts +2 -2
- package/front_end/panels/sources/DebuggerPlugin.ts +9 -58
- package/front_end/panels/sources/ScopeChainSidebarPane.ts +1 -1
- package/front_end/panels/sources/UISourceCodeFrame.ts +3 -8
- package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +4 -2
- package/front_end/panels/timeline/TimelineController.ts +36 -64
- package/front_end/panels/timeline/TimelinePanel.ts +11 -8
- package/front_end/panels/timeline/TimelineUIUtils.ts +5 -2
- package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +2 -2
- package/front_end/panels/timeline/timelinePanel.css +0 -10
- package/front_end/panels/utils/utils.ts +7 -7
- package/front_end/services/tracing/PerformanceTracing.ts +5 -17
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/codemirror.js.map +1 -1
- package/front_end/third_party/codemirror.next/package.json +2 -2
- package/front_end/third_party/codemirror.next/rebuild.sh +4 -1
- package/front_end/ui/comments/CommentAnchorResolver.ts +558 -0
- package/front_end/ui/comments/CommentManager.ts +640 -0
- package/front_end/ui/comments/CommentsOverlayWidget.ts +121 -0
- package/front_end/ui/comments/comments.ts +13 -0
- package/front_end/ui/comments/commentsOverlay.css +49 -0
- package/front_end/{panels/common → ui/components/dialogs}/FreDialog.ts +6 -6
- package/front_end/ui/components/dialogs/TypeToAllowDialog.ts +96 -0
- package/front_end/ui/components/dialogs/dialogs.ts +4 -0
- package/front_end/ui/components/settings/SettingCheckbox.ts +3 -3
- package/front_end/{panels/common → ui/components/text_editor}/AiCodeCompletionDisclaimer.ts +13 -13
- package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +7 -6
- package/front_end/{panels/common → ui/components/text_editor}/AiCodeCompletionTeaser.ts +43 -46
- package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +22 -26
- package/front_end/{panels/common → ui/components/text_editor}/AiCodeGenerationTeaser.ts +10 -10
- package/front_end/{panels/common → ui/components/text_editor}/AiCodeGenerationUpgradeDialog.ts +5 -5
- package/front_end/ui/components/text_editor/text_editor.ts +4 -0
- package/front_end/ui/legacy/Toolbar.ts +1 -1
- package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +40 -0
- package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +11 -3
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +270 -162
- package/front_end/ui/legacy/components/object_ui/objectPropertiesSection.css +5 -0
- package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +11 -16
- package/front_end/ui/legacy/components/settings_ui/SettingsUI.ts +5 -12
- package/front_end/ui/legacy/components/source_frame/JSONView.ts +8 -1
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +2 -2
- package/front_end/ui/legacy/components/utils/Linkifier.ts +1 -0
- package/front_end/ui/settings/SettingUIRegistration.ts +59 -6
- package/front_end/ui/visual_logging/Debugging.ts +1 -5
- package/front_end/ui/visual_logging/KnownContextValues.ts +2 -0
- package/front_end/ui/visual_logging/LoggingConfig.ts +21 -0
- package/front_end/ui/visual_logging/visual_logging.ts +9 -0
- package/mcp/mcp.ts +6 -1
- package/package.json +1 -1
- package/front_end/Images/toolbarResizerVertical.png +0 -0
- package/front_end/emulated_devices/MotoG4-landscape.svg +0 -155
- package/front_end/emulated_devices/MotoG4-portrait.svg +0 -155
- package/front_end/emulated_devices/Nexus5X-landscape.svg +0 -19
- package/front_end/emulated_devices/Nexus5X-portrait.svg +0 -19
- package/front_end/emulated_devices/Nexus6P-landscape.svg +0 -50
- package/front_end/emulated_devices/Nexus6P-portrait.svg +0 -54
- package/front_end/emulated_devices/google-nest-hub-horizontal.png +0 -0
- package/front_end/emulated_devices/google-nest-hub-max-horizontal.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-horizontal-default-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-horizontal-default-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-horizontal-keyboard-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-horizontal-keyboard-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-horizontal-navigation-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-horizontal-navigation-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-vertical-default-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-vertical-default-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-vertical-keyboard-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-vertical-keyboard-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-vertical-navigation-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-vertical-navigation-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-horizontal-default-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-horizontal-default-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-horizontal-keyboard-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-horizontal-keyboard-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-horizontal-navigation-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-horizontal-navigation-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-vertical-default-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-vertical-default-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-vertical-keyboard-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-vertical-navigation-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-vertical-navigation-2x.png +0 -0
- package/front_end/emulated_devices/iPad-landscape.svg +0 -73
- package/front_end/emulated_devices/iPad-portrait.svg +0 -76
- package/front_end/emulated_devices/iPhone5-landscape.svg +0 -99
- package/front_end/emulated_devices/iPhone5-portrait.svg +0 -83
- package/front_end/emulated_devices/iPhone6-landscape.svg +0 -111
- package/front_end/emulated_devices/iPhone6-portrait.svg +0 -116
- package/front_end/emulated_devices/iPhone6Plus-landscape.svg +0 -118
- package/front_end/emulated_devices/iPhone6Plus-portrait.svg +0 -116
- package/front_end/emulated_devices/optimized/MotoG4-landscape.avif +0 -0
- package/front_end/emulated_devices/optimized/MotoG4-portrait.avif +0 -0
- package/front_end/emulated_devices/optimized/Nexus5X-landscape.avif +0 -0
- package/front_end/emulated_devices/optimized/Nexus5X-portrait.avif +0 -0
- package/front_end/emulated_devices/optimized/Nexus6P-landscape.avif +0 -0
- package/front_end/emulated_devices/optimized/Nexus6P-portrait.avif +0 -0
- package/front_end/emulated_devices/optimized/README.md +0 -9
- package/front_end/emulated_devices/optimized/google-nest-hub-horizontal.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nest-hub-max-horizontal.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-horizontal-default-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-horizontal-default-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-horizontal-navigation-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-horizontal-navigation-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-vertical-default-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-vertical-default-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-vertical-keyboard-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-vertical-keyboard-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-vertical-navigation-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-vertical-navigation-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-default-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-default-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-vertical-default-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-vertical-default-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-vertical-navigation-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-vertical-navigation-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/iPad-landscape.avif +0 -0
- package/front_end/emulated_devices/optimized/iPad-portrait.avif +0 -0
- package/front_end/emulated_devices/optimized/iPhone5-landscape.avif +0 -0
- package/front_end/emulated_devices/optimized/iPhone5-portrait.avif +0 -0
- package/front_end/emulated_devices/optimized/iPhone6-landscape.avif +0 -0
- package/front_end/emulated_devices/optimized/iPhone6-portrait.avif +0 -0
- package/front_end/emulated_devices/optimized/iPhone6Plus-landscape.avif +0 -0
- package/front_end/emulated_devices/optimized/iPhone6Plus-portrait.avif +0 -0
- package/front_end/emulated_devices/optimized/optimized_images.gni +0 -53
- package/front_end/models/ai_assistance/agents/README.md +0 -136
- package/front_end/panels/mobile_throttling/MobileThrottlingSelector.ts +0 -92
- /package/front_end/{panels/common → ui/components/dialogs}/freDialog.css +0 -0
- /package/front_end/{panels/common/common.css → ui/components/dialogs/typeToAllowDialog.css} +0 -0
- /package/front_end/{panels/common → ui/components/text_editor}/aiCodeCompletionDisclaimer.css +0 -0
- /package/front_end/{panels/common → ui/components/text_editor}/aiCodeCompletionTeaser.css +0 -0
- /package/front_end/{panels/common → ui/components/text_editor}/aiCodeGenerationTeaser.css +0 -0
- /package/front_end/{panels/common → ui/components/text_editor}/aiCodeGenerationUpgradeDialog.css +0 -0
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
-
<svg width="470px" height="954px" viewBox="0 0 470 954" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
-
<title>iPhone 6 Plus</title>
|
|
4
|
-
<defs>
|
|
5
|
-
<linearGradient x1="50.0004402%" y1="-0.00765597003%" x2="50.0004402%" y2="99.9887604%" id="linearGradient-1">
|
|
6
|
-
<stop stop-color="#FFFFFF" stop-opacity="0.15" offset="0%"></stop>
|
|
7
|
-
<stop stop-color="#FFFFFF" stop-opacity="0" offset="11.69%"></stop>
|
|
8
|
-
<stop stop-color="#FFFFFF" stop-opacity="0.00509108" offset="87.64%"></stop>
|
|
9
|
-
<stop stop-color="#FFFFFF" stop-opacity="0.15" offset="100%"></stop>
|
|
10
|
-
</linearGradient>
|
|
11
|
-
<linearGradient x1="-28.8457617%" y1="28.2592375%" x2="128.846656%" y2="71.7422576%" id="linearGradient-2">
|
|
12
|
-
<stop stop-color="#FFFFFF" stop-opacity="0.15" offset="0%"></stop>
|
|
13
|
-
<stop stop-color="#FFFFFF" stop-opacity="0.05" offset="13.73%"></stop>
|
|
14
|
-
<stop stop-color="#FFFFFF" stop-opacity="0.02" offset="88.31%"></stop>
|
|
15
|
-
<stop stop-color="#FFFFFF" stop-opacity="0.15" offset="100%"></stop>
|
|
16
|
-
</linearGradient>
|
|
17
|
-
<radialGradient cx="49.981457%" cy="49.9768212%" fx="49.981457%" fy="49.9768212%" r="49.9807947%" id="radialGradient-3">
|
|
18
|
-
<stop stop-color="#5D5D5F" offset="0%"></stop>
|
|
19
|
-
<stop stop-color="#333333" stop-opacity="0.8" offset="100%"></stop>
|
|
20
|
-
</radialGradient>
|
|
21
|
-
<radialGradient cx="50.426664%" cy="57.0966105%" fx="50.426664%" fy="57.0966105%" r="49.9701987%" id="radialGradient-4">
|
|
22
|
-
<stop stop-color="#000000" stop-opacity="0" offset="0%"></stop>
|
|
23
|
-
<stop stop-color="#020202" stop-opacity="0.4119" offset="51.49%"></stop>
|
|
24
|
-
<stop stop-color="#090909" stop-opacity="0.5603" offset="70.03%"></stop>
|
|
25
|
-
<stop stop-color="#141414" stop-opacity="0.666" offset="83.25%"></stop>
|
|
26
|
-
<stop stop-color="#252525" stop-opacity="0.7509" offset="93.87%"></stop>
|
|
27
|
-
<stop stop-color="#333333" stop-opacity="0.8" offset="100%"></stop>
|
|
28
|
-
</radialGradient>
|
|
29
|
-
<radialGradient cx="47.6564342%" cy="96.2967075%" fx="47.6564342%" fy="96.2967075%" r="95.6970109%" id="radialGradient-5">
|
|
30
|
-
<stop stop-color="#FFFFFF" stop-opacity="0.3" offset="0%"></stop>
|
|
31
|
-
<stop stop-color="#000000" stop-opacity="0" offset="100%"></stop>
|
|
32
|
-
</radialGradient>
|
|
33
|
-
<radialGradient cx="50.6606714%" cy="23.7662009%" fx="50.6606714%" fy="23.7662009%" r="57.5643564%" id="radialGradient-6">
|
|
34
|
-
<stop stop-color="#FFFFFF" stop-opacity="0.3" offset="0%"></stop>
|
|
35
|
-
<stop stop-color="#000000" stop-opacity="0" offset="100%"></stop>
|
|
36
|
-
</radialGradient>
|
|
37
|
-
<linearGradient x1="49.8466941%" y1="7.41101415%" x2="49.8485846%" y2="111.231014%" id="linearGradient-7">
|
|
38
|
-
<stop stop-color="#FFFFFF" stop-opacity="0.6" offset="0%"></stop>
|
|
39
|
-
<stop stop-color="#FFFFFF" stop-opacity="0.1" offset="100%"></stop>
|
|
40
|
-
</linearGradient>
|
|
41
|
-
<path id="path-8" d="M63.42,9.02 L4.8,9.02 C2.43,9.02 0.51,7.1 0.51,4.73 L0.51,4.73 C0.51,2.36 2.43,0.44 4.8,0.44 L63.42,0.44 C65.79,0.44 67.71,2.36 67.71,4.73 L67.71,4.73 C67.7,7.1 65.78,9.02 63.42,9.02 L63.42,9.02 Z"></path>
|
|
42
|
-
<linearGradient x1="50.0105141%" y1="99.9084218%" x2="50.0105141%" y2="-0.0179701632%" id="linearGradient-10">
|
|
43
|
-
<stop stop-color="#2E2E31" offset="0%"></stop>
|
|
44
|
-
<stop stop-color="#616161" offset="24.48%"></stop>
|
|
45
|
-
<stop stop-color="#858585" offset="81.37%"></stop>
|
|
46
|
-
<stop stop-color="#2E2E31" offset="100%"></stop>
|
|
47
|
-
</linearGradient>
|
|
48
|
-
<path id="path-11" d="M63.42,9.02 L4.8,9.02 C2.43,9.02 0.51,7.1 0.51,4.73 L0.51,4.73 C0.51,2.36 2.43,0.44 4.8,0.44 L63.42,0.44 C65.79,0.44 67.71,2.36 67.71,4.73 L67.71,4.73 C67.7,7.1 65.78,9.02 63.42,9.02 L63.42,9.02 Z"></path>
|
|
49
|
-
<path id="path-13" d="M63.42,9.02 L4.8,9.02 C2.43,9.02 0.51,7.1 0.51,4.73 L0.51,4.73 C0.51,2.36 2.43,0.44 4.8,0.44 L63.42,0.44 C65.79,0.44 67.71,2.36 67.71,4.73 L67.71,4.73 C67.7,7.1 65.78,9.02 63.42,9.02 L63.42,9.02 Z"></path>
|
|
50
|
-
<linearGradient x1="86.3842522%" y1="91.8719159%" x2="14.0484313%" y2="8.61742309%" id="linearGradient-15">
|
|
51
|
-
<stop stop-color="#FFFFFF" stop-opacity="0.3" offset="14.7%"></stop>
|
|
52
|
-
<stop stop-color="#FFFFFF" stop-opacity="0" offset="40.73%"></stop>
|
|
53
|
-
<stop stop-color="#FFFFFF" stop-opacity="0.00509108" offset="74.45%"></stop>
|
|
54
|
-
<stop stop-color="#FFFFFF" stop-opacity="0.2" offset="100%"></stop>
|
|
55
|
-
</linearGradient>
|
|
56
|
-
<linearGradient x1="-34.1635743%" y1="-2.09409175%" x2="28.8478289%" y2="36.9074705%" id="linearGradient-16">
|
|
57
|
-
<stop stop-color="#FFFFFF" stop-opacity="0.15" offset="0%"></stop>
|
|
58
|
-
<stop stop-color="#FFFFFF" stop-opacity="0" offset="100%"></stop>
|
|
59
|
-
</linearGradient>
|
|
60
|
-
</defs>
|
|
61
|
-
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
62
|
-
<g id="iphone6plus-portrait">
|
|
63
|
-
<g id="Group">
|
|
64
|
-
<path d="M5.73,144.54 L2.01,144.54 C0.98,144.54 0.15,143.71 0.15,142.68 L0.15,112.72 C0.15,111.69 0.98,110.86 2.01,110.86 L5.73,110.86 L5.73,144.54 L5.73,144.54 Z" id="Shape" fill="#808086"></path>
|
|
65
|
-
<path d="M0.15,187.77 C0.15,186.74 0.98,185.91 2.01,185.91 L5.73,185.91 L5.73,247.04 L2.01,247.04 C0.98,247.04 0.15,246.21 0.15,245.18" id="Shape" fill="#808086"></path>
|
|
66
|
-
<path d="M0.15,262.53 C0.15,261.5 0.98,260.67 2.01,260.67 L5.73,260.67 L5.73,321.8 L2.01,321.8 C0.98,321.8 0.15,320.97 0.15,319.94" id="Shape" fill="#808086"></path>
|
|
67
|
-
<path d="M464.27,187.27 L467.99,187.27 C469.02,187.27 469.85,188.1 469.85,189.13 L469.85,246.54 C469.85,247.57 469.02,248.4 467.99,248.4 L464.27,248.4 L464.27,187.27 L464.27,187.27 Z" id="Shape" fill="#818187"></path>
|
|
68
|
-
<g transform="translate(2.000000, 0.000000)" id="Shape">
|
|
69
|
-
<path d="M65.5,953.05 C29.97,953.05 1.06,924.14 1.06,888.61 L1.06,64.98 C1.06,29.45 29.97,0.54 65.5,0.54 L399.96,0.54 C435.49,0.54 464.39,29.45 464.39,64.98 L464.39,888.61 C464.39,924.14 435.48,953.05 399.96,953.05 L65.5,953.05 L65.5,953.05 Z" fill="#B2B2B2"></path>
|
|
70
|
-
<path d="M399.96,1.05 C435.21,1.05 463.89,29.73 463.89,64.99 L463.89,888.62 C463.89,923.87 435.21,952.56 399.96,952.56 L65.5,952.56 C30.25,952.56 1.56,923.88 1.56,888.62 L1.56,64.98 C1.56,29.73 30.24,1.04 65.5,1.04 L399.96,1.04 L399.96,1.05 Z M399.96,0.05 L65.5,0.05 C29.69,0.05 0.56,29.18 0.56,64.99 L0.56,888.62 C0.56,924.43 29.69,953.56 65.5,953.56 L399.96,953.56 C435.76,953.56 464.89,924.43 464.89,888.62 L464.89,64.98 C464.89,29.18 435.76,0.05 399.96,0.05 L399.96,0.05 L399.96,0.05 Z" fill="#666666"></path>
|
|
71
|
-
</g>
|
|
72
|
-
<path d="M401.95,948.55 L67.5,948.55 C34.4,948.55 7.56,921.72 7.56,888.61 L7.56,64.98 C7.56,31.88 34.39,5.04 67.5,5.04 L401.96,5.04 C435.06,5.04 461.9,31.87 461.9,64.98 L461.9,888.61 C461.89,921.71 435.06,948.55 401.95,948.55 L401.95,948.55 Z" id="Shape" fill="#262626"></path>
|
|
73
|
-
<path d="M402.14,5.05 L67.31,5.05 C34.31,5.05 7.56,31.8 7.56,64.8 L7.56,66.44 C7.56,33.44 34.31,6.69 67.31,6.69 L402.14,6.69 C435.14,6.69 461.89,33.44 461.89,66.44 L461.89,64.8 C461.89,31.8 435.14,5.05 402.14,5.05 L402.14,5.05 Z" id="Shape" fill="url(#linearGradient-1)"></path>
|
|
74
|
-
<path d="M402.14,8.59 L67.31,8.59 C36.32,8.59 11.11,33.8 11.11,64.79 L11.11,888.79 C11.11,919.78 36.32,944.99 67.31,944.99 L402.14,944.99 C433.13,944.99 458.34,919.78 458.34,888.79 L458.34,64.79 C458.34,33.81 433.13,8.59 402.14,8.59 L402.14,8.59 Z M452.34,888.8 C452.34,916.48 429.82,939 402.14,939 L67.31,939 C39.63,939 17.11,916.48 17.11,888.8 L17.11,64.8 C17.11,37.12 39.63,14.6 67.31,14.6 L402.14,14.6 C429.82,14.6 452.34,37.12 452.34,64.8 L452.34,888.8 L452.34,888.8 Z" id="Shape" fill="url(#linearGradient-2)"></path>
|
|
75
|
-
<g transform="translate(159.000000, 46.000000)">
|
|
76
|
-
<circle id="Oval" fill="url(#radialGradient-3)" cx="7.8" cy="7.99" r="7.55"></circle>
|
|
77
|
-
<circle id="Oval" fill="url(#radialGradient-4)" opacity="0.8" cx="7.8" cy="7.99" r="7.55"></circle>
|
|
78
|
-
<circle id="Oval" fill="#1B1A1F" cx="7.8" cy="7.99" r="5.03"></circle>
|
|
79
|
-
<circle id="Oval" fill="#36284C" cx="7.8" cy="7.99" r="3.68"></circle>
|
|
80
|
-
<circle id="Oval" fill="url(#radialGradient-5)" cx="7.8" cy="7.99" r="3.68"></circle>
|
|
81
|
-
<g transform="translate(5.000000, 5.000000)" id="Shape">
|
|
82
|
-
<path d="M4.82,2.99 C4.82,4.11 3.91,5.01 2.8,5.01 C1.68,5.01 0.78,4.1 0.78,2.99 C0.78,1.87 1.69,0.97 2.8,0.97 C3.91,0.96 4.82,1.87 4.82,2.99 L4.82,2.99 Z" fill="#141414" opacity="0.5"></path>
|
|
83
|
-
<path d="M4.82,2.99 C4.82,4.11 3.91,5.01 2.8,5.01 C1.68,5.01 0.78,4.1 0.78,2.99 C0.78,1.87 1.69,0.97 2.8,0.97 C3.91,0.96 4.82,1.87 4.82,2.99 L4.82,2.99 Z" fill="url(#radialGradient-6)"></path>
|
|
84
|
-
</g>
|
|
85
|
-
<path d="M7.8,6.47 C7.35,6.47 6.96,6.67 6.68,6.98 L7.15,7.45 C7.31,7.26 7.53,7.14 7.79,7.14 C8.06,7.14 8.29,7.28 8.45,7.47 L8.92,6.99 C8.65,6.68 8.25,6.47 7.8,6.47 L7.8,6.47 Z" id="Shape" fill="url(#linearGradient-7)"></path>
|
|
86
|
-
</g>
|
|
87
|
-
<g transform="translate(201.000000, 50.000000)" id="Clipped">
|
|
88
|
-
<g>
|
|
89
|
-
<mask id="mask-9" fill="white">
|
|
90
|
-
<use xlink:href="#path-8"></use>
|
|
91
|
-
</mask>
|
|
92
|
-
<g id="SVGID_9_"></g>
|
|
93
|
-
<path d="M63.42,9.02 L4.8,9.02 C2.43,9.02 0.51,7.1 0.51,4.73 L0.51,4.73 C0.51,2.36 2.43,0.44 4.8,0.44 L63.42,0.44 C65.79,0.44 67.71,2.36 67.71,4.73 L67.71,4.73 C67.7,7.1 65.78,9.02 63.42,9.02 L63.42,9.02 Z" id="Shape" fill="url(#linearGradient-10)" opacity="0.8" mask="url(#mask-9)"></path>
|
|
94
|
-
</g>
|
|
95
|
-
<g>
|
|
96
|
-
<mask id="mask-12" fill="white">
|
|
97
|
-
<use xlink:href="#path-11"></use>
|
|
98
|
-
</mask>
|
|
99
|
-
<g id="SVGID_9_"></g>
|
|
100
|
-
<path d="M1.92,0.33 L0.45,0.33 L0.45,1.8 L1.92,1.8 L1.92,0.33 L1.92,0.33 Z M4.85,0.33 L3.38,0.33 L3.38,1.8 L4.85,1.8 L4.85,0.33 L4.85,0.33 Z M7.79,0.33 L6.32,0.33 L6.32,1.8 L7.79,1.8 L7.79,0.33 L7.79,0.33 Z M10.72,0.33 L9.25,0.33 L9.25,1.8 L10.72,1.8 L10.72,0.33 L10.72,0.33 Z M13.66,0.33 L12.19,0.33 L12.19,1.8 L13.66,1.8 L13.66,0.33 L13.66,0.33 Z M16.59,0.33 L15.12,0.33 L15.12,1.8 L16.59,1.8 L16.59,0.33 L16.59,0.33 Z M19.53,0.33 L18.06,0.33 L18.06,1.8 L19.53,1.8 L19.53,0.33 L19.53,0.33 Z M22.46,0.33 L20.99,0.33 L20.99,1.8 L22.46,1.8 L22.46,0.33 L22.46,0.33 Z M25.4,0.33 L23.93,0.33 L23.93,1.8 L25.4,1.8 L25.4,0.33 L25.4,0.33 Z M28.33,0.33 L26.86,0.33 L26.86,1.8 L28.33,1.8 L28.33,0.33 L28.33,0.33 Z M31.27,0.33 L29.8,0.33 L29.8,1.8 L31.27,1.8 L31.27,0.33 L31.27,0.33 Z M34.2,0.33 L32.73,0.33 L32.73,1.8 L34.2,1.8 L34.2,0.33 L34.2,0.33 Z M37.14,0.33 L35.67,0.33 L35.67,1.8 L37.14,1.8 L37.14,0.33 L37.14,0.33 Z M40.07,0.33 L38.6,0.33 L38.6,1.8 L40.07,1.8 L40.07,0.33 L40.07,0.33 Z M43.01,0.33 L41.54,0.33 L41.54,1.8 L43.01,1.8 L43.01,0.33 L43.01,0.33 Z M45.94,0.33 L44.47,0.33 L44.47,1.8 L45.94,1.8 L45.94,0.33 L45.94,0.33 Z M48.88,0.33 L47.41,0.33 L47.41,1.8 L48.88,1.8 L48.88,0.33 L48.88,0.33 Z M51.81,0.33 L50.34,0.33 L50.34,1.8 L51.81,1.8 L51.81,0.33 L51.81,0.33 Z M54.75,0.33 L53.28,0.33 L53.28,1.8 L54.75,1.8 L54.75,0.33 L54.75,0.33 Z M57.68,0.33 L56.21,0.33 L56.21,1.8 L57.68,1.8 L57.68,0.33 L57.68,0.33 Z M60.62,0.33 L59.15,0.33 L59.15,1.8 L60.62,1.8 L60.62,0.33 L60.62,0.33 Z M63.55,0.33 L62.08,0.33 L62.08,1.8 L63.55,1.8 L63.55,0.33 L63.55,0.33 Z M66.49,0.33 L65.02,0.33 L65.02,1.8 L66.49,1.8 L66.49,0.33 L66.49,0.33 Z M3.39,1.79 L1.92,1.79 L1.92,3.26 L3.39,3.26 L3.39,1.79 L3.39,1.79 Z M6.32,1.79 L4.85,1.79 L4.85,3.26 L6.32,3.26 L6.32,1.79 L6.32,1.79 Z M9.26,1.79 L7.79,1.79 L7.79,3.26 L9.26,3.26 L9.26,1.79 L9.26,1.79 Z M12.19,1.79 L10.72,1.79 L10.72,3.26 L12.19,3.26 L12.19,1.79 L12.19,1.79 Z M15.13,1.79 L13.66,1.79 L13.66,3.26 L15.13,3.26 L15.13,1.79 L15.13,1.79 Z M18.06,1.79 L16.59,1.79 L16.59,3.26 L18.06,3.26 L18.06,1.79 L18.06,1.79 Z M20.99,1.79 L19.52,1.79 L19.52,3.26 L20.99,3.26 L20.99,1.79 L20.99,1.79 Z M23.93,1.79 L22.46,1.79 L22.46,3.26 L23.93,3.26 L23.93,1.79 L23.93,1.79 Z M26.86,1.79 L25.39,1.79 L25.39,3.26 L26.86,3.26 L26.86,1.79 L26.86,1.79 Z M29.8,1.79 L28.33,1.79 L28.33,3.26 L29.8,3.26 L29.8,1.79 L29.8,1.79 Z M32.73,1.79 L31.26,1.79 L31.26,3.26 L32.73,3.26 L32.73,1.79 L32.73,1.79 Z M35.67,1.79 L34.2,1.79 L34.2,3.26 L35.67,3.26 L35.67,1.79 L35.67,1.79 Z M38.6,1.79 L37.13,1.79 L37.13,3.26 L38.6,3.26 L38.6,1.79 L38.6,1.79 Z M41.54,1.79 L40.07,1.79 L40.07,3.26 L41.54,3.26 L41.54,1.79 L41.54,1.79 Z M44.47,1.79 L43,1.79 L43,3.26 L44.47,3.26 L44.47,1.79 L44.47,1.79 Z M47.41,1.79 L45.94,1.79 L45.94,3.26 L47.41,3.26 L47.41,1.79 L47.41,1.79 Z M50.34,1.79 L48.87,1.79 L48.87,3.26 L50.34,3.26 L50.34,1.79 L50.34,1.79 Z M53.28,1.79 L51.81,1.79 L51.81,3.26 L53.28,3.26 L53.28,1.79 L53.28,1.79 Z M56.21,1.79 L54.74,1.79 L54.74,3.26 L56.21,3.26 L56.21,1.79 L56.21,1.79 Z M59.15,1.79 L57.68,1.79 L57.68,3.26 L59.15,3.26 L59.15,1.79 L59.15,1.79 Z M62.08,1.79 L60.61,1.79 L60.61,3.26 L62.08,3.26 L62.08,1.79 L62.08,1.79 Z M65.02,1.79 L63.55,1.79 L63.55,3.26 L65.02,3.26 L65.02,1.79 L65.02,1.79 Z M67.95,1.79 L66.48,1.79 L66.48,3.26 L67.95,3.26 L67.95,1.79 L67.95,1.79 Z M1.92,3.26 L0.45,3.26 L0.45,4.73 L1.92,4.73 L1.92,3.26 L1.92,3.26 Z M4.85,3.26 L3.38,3.26 L3.38,4.73 L4.85,4.73 L4.85,3.26 L4.85,3.26 Z M7.79,3.26 L6.32,3.26 L6.32,4.73 L7.79,4.73 L7.79,3.26 L7.79,3.26 Z M10.72,3.26 L9.25,3.26 L9.25,4.73 L10.72,4.73 L10.72,3.26 L10.72,3.26 Z M13.66,3.26 L12.19,3.26 L12.19,4.73 L13.66,4.73 L13.66,3.26 L13.66,3.26 Z M16.59,3.26 L15.12,3.26 L15.12,4.73 L16.59,4.73 L16.59,3.26 L16.59,3.26 Z M19.53,3.26 L18.06,3.26 L18.06,4.73 L19.53,4.73 L19.53,3.26 L19.53,3.26 Z M22.46,3.26 L20.99,3.26 L20.99,4.73 L22.46,4.73 L22.46,3.26 L22.46,3.26 Z M25.4,3.26 L23.93,3.26 L23.93,4.73 L25.4,4.73 L25.4,3.26 L25.4,3.26 Z M28.33,3.26 L26.86,3.26 L26.86,4.73 L28.33,4.73 L28.33,3.26 L28.33,3.26 Z M31.27,3.26 L29.8,3.26 L29.8,4.73 L31.27,4.73 L31.27,3.26 L31.27,3.26 Z M34.2,3.26 L32.73,3.26 L32.73,4.73 L34.2,4.73 L34.2,3.26 L34.2,3.26 Z M37.14,3.26 L35.67,3.26 L35.67,4.73 L37.14,4.73 L37.14,3.26 L37.14,3.26 Z M40.07,3.26 L38.6,3.26 L38.6,4.73 L40.07,4.73 L40.07,3.26 L40.07,3.26 Z M43.01,3.26 L41.54,3.26 L41.54,4.73 L43.01,4.73 L43.01,3.26 L43.01,3.26 Z M45.94,3.26 L44.47,3.26 L44.47,4.73 L45.94,4.73 L45.94,3.26 L45.94,3.26 Z M48.88,3.26 L47.41,3.26 L47.41,4.73 L48.88,4.73 L48.88,3.26 L48.88,3.26 Z M51.81,3.26 L50.34,3.26 L50.34,4.73 L51.81,4.73 L51.81,3.26 L51.81,3.26 Z M54.75,3.26 L53.28,3.26 L53.28,4.73 L54.75,4.73 L54.75,3.26 L54.75,3.26 Z M57.68,3.26 L56.21,3.26 L56.21,4.73 L57.68,4.73 L57.68,3.26 L57.68,3.26 Z M60.62,3.26 L59.15,3.26 L59.15,4.73 L60.62,4.73 L60.62,3.26 L60.62,3.26 Z M63.55,3.26 L62.08,3.26 L62.08,4.73 L63.55,4.73 L63.55,3.26 L63.55,3.26 Z M66.49,3.26 L65.02,3.26 L65.02,4.73 L66.49,4.73 L66.49,3.26 L66.49,3.26 Z M3.39,4.73 L1.92,4.73 L1.92,6.2 L3.39,6.2 L3.39,4.73 L3.39,4.73 Z M6.32,4.73 L4.85,4.73 L4.85,6.2 L6.32,6.2 L6.32,4.73 L6.32,4.73 Z M9.26,4.73 L7.79,4.73 L7.79,6.2 L9.26,6.2 L9.26,4.73 L9.26,4.73 Z M12.19,4.73 L10.72,4.73 L10.72,6.2 L12.19,6.2 L12.19,4.73 L12.19,4.73 Z M15.13,4.73 L13.66,4.73 L13.66,6.2 L15.13,6.2 L15.13,4.73 L15.13,4.73 Z M18.06,4.73 L16.59,4.73 L16.59,6.2 L18.06,6.2 L18.06,4.73 L18.06,4.73 Z M20.99,4.73 L19.52,4.73 L19.52,6.2 L20.99,6.2 L20.99,4.73 L20.99,4.73 Z M23.93,4.73 L22.46,4.73 L22.46,6.2 L23.93,6.2 L23.93,4.73 L23.93,4.73 Z M26.86,4.73 L25.39,4.73 L25.39,6.2 L26.86,6.2 L26.86,4.73 L26.86,4.73 Z M29.8,4.73 L28.33,4.73 L28.33,6.2 L29.8,6.2 L29.8,4.73 L29.8,4.73 Z M32.73,4.73 L31.26,4.73 L31.26,6.2 L32.73,6.2 L32.73,4.73 L32.73,4.73 Z M35.67,4.73 L34.2,4.73 L34.2,6.2 L35.67,6.2 L35.67,4.73 L35.67,4.73 Z M38.6,4.73 L37.13,4.73 L37.13,6.2 L38.6,6.2 L38.6,4.73 L38.6,4.73 Z M41.54,4.73 L40.07,4.73 L40.07,6.2 L41.54,6.2 L41.54,4.73 L41.54,4.73 Z M44.47,4.73 L43,4.73 L43,6.2 L44.47,6.2 L44.47,4.73 L44.47,4.73 Z M47.41,4.73 L45.94,4.73 L45.94,6.2 L47.41,6.2 L47.41,4.73 L47.41,4.73 Z M50.34,4.73 L48.87,4.73 L48.87,6.2 L50.34,6.2 L50.34,4.73 L50.34,4.73 Z M53.28,4.73 L51.81,4.73 L51.81,6.2 L53.28,6.2 L53.28,4.73 L53.28,4.73 Z M56.21,4.73 L54.74,4.73 L54.74,6.2 L56.21,6.2 L56.21,4.73 L56.21,4.73 Z M59.15,4.73 L57.68,4.73 L57.68,6.2 L59.15,6.2 L59.15,4.73 L59.15,4.73 Z M62.08,4.73 L60.61,4.73 L60.61,6.2 L62.08,6.2 L62.08,4.73 L62.08,4.73 Z M65.02,4.73 L63.55,4.73 L63.55,6.2 L65.02,6.2 L65.02,4.73 L65.02,4.73 Z M67.95,4.73 L66.48,4.73 L66.48,6.2 L67.95,6.2 L67.95,4.73 L67.95,4.73 Z M1.92,6.2 L0.45,6.2 L0.45,7.67 L1.92,7.67 L1.92,6.2 L1.92,6.2 Z M4.85,6.2 L3.38,6.2 L3.38,7.67 L4.85,7.67 L4.85,6.2 L4.85,6.2 Z M7.79,6.2 L6.32,6.2 L6.32,7.67 L7.79,7.67 L7.79,6.2 L7.79,6.2 Z M10.72,6.2 L9.25,6.2 L9.25,7.67 L10.72,7.67 L10.72,6.2 L10.72,6.2 Z M13.66,6.2 L12.19,6.2 L12.19,7.67 L13.66,7.67 L13.66,6.2 L13.66,6.2 Z M16.59,6.2 L15.12,6.2 L15.12,7.67 L16.59,7.67 L16.59,6.2 L16.59,6.2 Z M19.53,6.2 L18.06,6.2 L18.06,7.67 L19.53,7.67 L19.53,6.2 L19.53,6.2 Z M22.46,6.2 L20.99,6.2 L20.99,7.67 L22.46,7.67 L22.46,6.2 L22.46,6.2 Z M25.4,6.2 L23.93,6.2 L23.93,7.67 L25.4,7.67 L25.4,6.2 L25.4,6.2 Z M28.33,6.2 L26.86,6.2 L26.86,7.67 L28.33,7.67 L28.33,6.2 L28.33,6.2 Z M31.27,6.2 L29.8,6.2 L29.8,7.67 L31.27,7.67 L31.27,6.2 L31.27,6.2 Z M34.2,6.2 L32.73,6.2 L32.73,7.67 L34.2,7.67 L34.2,6.2 L34.2,6.2 Z M37.14,6.2 L35.67,6.2 L35.67,7.67 L37.14,7.67 L37.14,6.2 L37.14,6.2 Z M40.07,6.2 L38.6,6.2 L38.6,7.67 L40.07,7.67 L40.07,6.2 L40.07,6.2 Z M43.01,6.2 L41.54,6.2 L41.54,7.67 L43.01,7.67 L43.01,6.2 L43.01,6.2 Z M45.94,6.2 L44.47,6.2 L44.47,7.67 L45.94,7.67 L45.94,6.2 L45.94,6.2 Z M48.88,6.2 L47.41,6.2 L47.41,7.67 L48.88,7.67 L48.88,6.2 L48.88,6.2 Z M51.81,6.2 L50.34,6.2 L50.34,7.67 L51.81,7.67 L51.81,6.2 L51.81,6.2 Z M54.75,6.2 L53.28,6.2 L53.28,7.67 L54.75,7.67 L54.75,6.2 L54.75,6.2 Z M57.68,6.2 L56.21,6.2 L56.21,7.67 L57.68,7.67 L57.68,6.2 L57.68,6.2 Z M60.62,6.2 L59.15,6.2 L59.15,7.67 L60.62,7.67 L60.62,6.2 L60.62,6.2 Z M63.55,6.2 L62.08,6.2 L62.08,7.67 L63.55,7.67 L63.55,6.2 L63.55,6.2 Z M66.49,6.2 L65.02,6.2 L65.02,7.67 L66.49,7.67 L66.49,6.2 L66.49,6.2 Z M3.39,7.66 L1.92,7.66 L1.92,9.13 L3.39,9.13 L3.39,7.66 L3.39,7.66 Z M6.32,7.66 L4.85,7.66 L4.85,9.13 L6.32,9.13 L6.32,7.66 L6.32,7.66 Z M9.26,7.66 L7.79,7.66 L7.79,9.13 L9.26,9.13 L9.26,7.66 L9.26,7.66 Z M12.19,7.66 L10.72,7.66 L10.72,9.13 L12.19,9.13 L12.19,7.66 L12.19,7.66 Z M15.13,7.66 L13.66,7.66 L13.66,9.13 L15.13,9.13 L15.13,7.66 L15.13,7.66 Z M18.06,7.66 L16.59,7.66 L16.59,9.13 L18.06,9.13 L18.06,7.66 L18.06,7.66 Z M20.99,7.66 L19.52,7.66 L19.52,9.13 L20.99,9.13 L20.99,7.66 L20.99,7.66 Z M23.93,7.66 L22.46,7.66 L22.46,9.13 L23.93,9.13 L23.93,7.66 L23.93,7.66 Z M26.86,7.66 L25.39,7.66 L25.39,9.13 L26.86,9.13 L26.86,7.66 L26.86,7.66 Z M29.8,7.66 L28.33,7.66 L28.33,9.13 L29.8,9.13 L29.8,7.66 L29.8,7.66 Z M32.73,7.66 L31.26,7.66 L31.26,9.13 L32.73,9.13 L32.73,7.66 L32.73,7.66 Z M35.67,7.66 L34.2,7.66 L34.2,9.13 L35.67,9.13 L35.67,7.66 L35.67,7.66 Z M38.6,7.66 L37.13,7.66 L37.13,9.13 L38.6,9.13 L38.6,7.66 L38.6,7.66 Z M41.54,7.66 L40.07,7.66 L40.07,9.13 L41.54,9.13 L41.54,7.66 L41.54,7.66 Z M44.47,7.66 L43,7.66 L43,9.13 L44.47,9.13 L44.47,7.66 L44.47,7.66 Z M47.41,7.66 L45.94,7.66 L45.94,9.13 L47.41,9.13 L47.41,7.66 L47.41,7.66 Z M50.34,7.66 L48.87,7.66 L48.87,9.13 L50.34,9.13 L50.34,7.66 L50.34,7.66 Z M53.28,7.66 L51.81,7.66 L51.81,9.13 L53.28,9.13 L53.28,7.66 L53.28,7.66 Z M56.21,7.66 L54.74,7.66 L54.74,9.13 L56.21,9.13 L56.21,7.66 L56.21,7.66 Z M59.15,7.66 L57.68,7.66 L57.68,9.13 L59.15,9.13 L59.15,7.66 L59.15,7.66 Z M62.08,7.66 L60.61,7.66 L60.61,9.13 L62.08,9.13 L62.08,7.66 L62.08,7.66 Z M65.02,7.66 L63.55,7.66 L63.55,9.13 L65.02,9.13 L65.02,7.66 L65.02,7.66 Z M67.95,7.66 L66.48,7.66 L66.48,9.13 L67.95,9.13 L67.95,7.66 L67.95,7.66 Z" id="Shape" fill="#2E2E2E" mask="url(#mask-12)"></path>
|
|
101
|
-
</g>
|
|
102
|
-
<g>
|
|
103
|
-
<mask id="mask-14" fill="white">
|
|
104
|
-
<use xlink:href="#path-13"></use>
|
|
105
|
-
</mask>
|
|
106
|
-
<g id="SVGID_9_"></g>
|
|
107
|
-
<path d="M63.83,0.08 L4.39,0.08 C1.99,0.08 0.04,2.16 0.04,4.73 C0.04,7.3 1.99,9.38 4.39,9.38 L63.83,9.38 C66.23,9.38 68.18,7.3 68.18,4.73 C68.18,2.16 66.23,0.08 63.83,0.08 L63.83,0.08 Z M63.42,7.92 L4.8,7.92 C3.04,7.92 1.6,6.49 1.6,4.72 C1.6,2.95 3.03,1.52 4.8,1.52 L63.42,1.52 C65.18,1.52 66.62,2.95 66.62,4.72 C66.62,6.49 65.18,7.92 63.42,7.92 L63.42,7.92 Z" id="Shape" fill="#000000" opacity="0.2" mask="url(#mask-14)"></path>
|
|
108
|
-
</g>
|
|
109
|
-
</g>
|
|
110
|
-
<path d="M234.73,865.33 C216.6,865.33 201.9,880.03 201.9,898.16 C201.9,916.29 216.6,930.99 234.73,930.99 C252.86,930.99 267.56,916.29 267.56,898.16 C267.56,880.03 252.86,865.33 234.73,865.33 L234.73,865.33 Z M234.73,927.98 C218.26,927.98 204.91,914.63 204.91,898.16 C204.91,881.69 218.26,868.34 234.73,868.34 C251.2,868.34 264.55,881.69 264.55,898.16 C264.55,914.62 251.2,927.98 234.73,927.98 L234.73,927.98 Z" id="Shape" fill="url(#linearGradient-15)"></path>
|
|
111
|
-
<path d="M69.89,8.59 C37.79,8.59 11.76,34.62 11.76,66.72 L11.76,571.87 L322.2,8.59 L69.89,8.59 L69.89,8.59 Z" id="Shape" fill="url(#linearGradient-16)"></path>
|
|
112
|
-
</g>
|
|
113
|
-
<rect id="Rectangle-path" fill="#000000" x="26" y="107" width="414" height="736"></rect>
|
|
114
|
-
</g>
|
|
115
|
-
</g>
|
|
116
|
-
</svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
The images in this directory are compressed with AVIF via https://squoosh.app.
|
|
2
|
-
|
|
3
|
-
For images that have text (e.g. the keyboard images), use the following settings:
|
|
4
|
-
- Max quality 20
|
|
5
|
-
- Effort 5
|
|
6
|
-
|
|
7
|
-
For all other images, use the following settings:
|
|
8
|
-
- Max quality 20
|
|
9
|
-
- Effort 10
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# Copyright 2020 The Chromium Authors
|
|
2
|
-
# Use of this source code is governed by a BSD-style license that can be
|
|
3
|
-
# found in the LICENSE file.
|
|
4
|
-
import("../../../scripts/build/ninja/vars.gni")
|
|
5
|
-
|
|
6
|
-
devtools_emulated_devices_images = [
|
|
7
|
-
"google-nest-hub-max-horizontal.avif",
|
|
8
|
-
"google-nest-hub-horizontal.avif",
|
|
9
|
-
"google-nexus-5-horizontal-default-1x.avif",
|
|
10
|
-
"google-nexus-5-horizontal-default-2x.avif",
|
|
11
|
-
"google-nexus-5-horizontal-keyboard-1x.avif",
|
|
12
|
-
"google-nexus-5-horizontal-keyboard-2x.avif",
|
|
13
|
-
"google-nexus-5-horizontal-navigation-1x.avif",
|
|
14
|
-
"google-nexus-5-horizontal-navigation-2x.avif",
|
|
15
|
-
"google-nexus-5-vertical-default-1x.avif",
|
|
16
|
-
"google-nexus-5-vertical-default-2x.avif",
|
|
17
|
-
"google-nexus-5-vertical-keyboard-1x.avif",
|
|
18
|
-
"google-nexus-5-vertical-keyboard-2x.avif",
|
|
19
|
-
"google-nexus-5-vertical-navigation-1x.avif",
|
|
20
|
-
"google-nexus-5-vertical-navigation-2x.avif",
|
|
21
|
-
"google-nexus-5x-horizontal-default-1x.avif",
|
|
22
|
-
"google-nexus-5x-horizontal-default-2x.avif",
|
|
23
|
-
"google-nexus-5x-horizontal-keyboard-1x.avif",
|
|
24
|
-
"google-nexus-5x-horizontal-keyboard-2x.avif",
|
|
25
|
-
"google-nexus-5x-horizontal-navigation-1x.avif",
|
|
26
|
-
"google-nexus-5x-horizontal-navigation-2x.avif",
|
|
27
|
-
"google-nexus-5x-vertical-default-1x.avif",
|
|
28
|
-
"google-nexus-5x-vertical-default-2x.avif",
|
|
29
|
-
"google-nexus-5x-vertical-keyboard-1x.avif",
|
|
30
|
-
"google-nexus-5x-vertical-keyboard-2x.avif",
|
|
31
|
-
"google-nexus-5x-vertical-navigation-1x.avif",
|
|
32
|
-
"google-nexus-5x-vertical-navigation-2x.avif",
|
|
33
|
-
"iPad-landscape.avif",
|
|
34
|
-
"iPad-portrait.avif",
|
|
35
|
-
"iPhone5-landscape.avif",
|
|
36
|
-
"iPhone5-portrait.avif",
|
|
37
|
-
"iPhone6-landscape.avif",
|
|
38
|
-
"iPhone6-portrait.avif",
|
|
39
|
-
"iPhone6Plus-landscape.avif",
|
|
40
|
-
"iPhone6Plus-portrait.avif",
|
|
41
|
-
"MotoG4-landscape.avif",
|
|
42
|
-
"MotoG4-portrait.avif",
|
|
43
|
-
"Nexus5X-landscape.avif",
|
|
44
|
-
"Nexus5X-portrait.avif",
|
|
45
|
-
"Nexus6P-landscape.avif",
|
|
46
|
-
"Nexus6P-portrait.avif",
|
|
47
|
-
]
|
|
48
|
-
|
|
49
|
-
optimized_emulated_device_images = []
|
|
50
|
-
|
|
51
|
-
foreach(image, devtools_emulated_devices_images) {
|
|
52
|
-
optimized_emulated_device_images += [ "emulated_devices/optimized/$image" ]
|
|
53
|
-
}
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
# AI Agents
|
|
2
|
-
|
|
3
|
-
This directory contains the implementations of various AI agents used in the AI Assistance panel in Chrome DevTools.
|
|
4
|
-
|
|
5
|
-
## Agent Lifecycle & State Management
|
|
6
|
-
|
|
7
|
-
AI Agents can maintain internal stateful variables to optimize performance or store context (e.g., stashed tool results, formatters, or instruction flags). However, this state must be carefully managed to prevent security leaks (such as cross-origin data leaks after page navigation) or stale results.
|
|
8
|
-
|
|
9
|
-
### Cache Clearing (`clearCache()`)
|
|
10
|
-
|
|
11
|
-
The `AiAgent` base class defines a `clearCache()` method. This method is automatically invoked by the system when:
|
|
12
|
-
- An execution error occurs.
|
|
13
|
-
- The user aborts the execution.
|
|
14
|
-
- A cross-origin navigation is detected (via the top-level origin blocking mechanism).
|
|
15
|
-
|
|
16
|
-
#### Overriding `clearCache()` in Subclasses
|
|
17
|
-
|
|
18
|
-
If you introduce new stateful member variables in an `AiAgent` subclass, you **must** override `clearCache()` to reset them:
|
|
19
|
-
|
|
20
|
-
1. Always call `super.clearCache()` to ensure base class cleanup is executed.
|
|
21
|
-
2. Reset any subclass-specific state (e.g., setting formatters to `null`, clearing lists, resetting boolean flags).
|
|
22
|
-
|
|
23
|
-
Example from `PerformanceAgent`:
|
|
24
|
-
```typescript
|
|
25
|
-
override clearCache(): void {
|
|
26
|
-
super.clearCache();
|
|
27
|
-
this.#functionCallCacheForFocus.clear();
|
|
28
|
-
this.#formatter = null;
|
|
29
|
-
this.#traceFacts = [];
|
|
30
|
-
// ... reset other stateful fields
|
|
31
|
-
}
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
### Origin Validation (`isOriginAllowed`)
|
|
35
|
-
|
|
36
|
-
Before running an execution loop, the system validates the context's origin:
|
|
37
|
-
* **Opaque Origin Rejection**: Opaque origins are rejected immediately, blocking conversations on untrusted/opaque contexts (like `about:blank`, `data:` URLs, or opaque blob URLs).
|
|
38
|
-
* **Origin Lock Integrity**: If the conversation is already locked to an origin, the new context's origin must be equivalent (as defined by `areOriginsEquivalent()`) to the locked origin.
|
|
39
|
-
* **Safety Termination**: If validation fails, a cross-origin error is yielded and execution stops.
|
|
40
|
-
|
|
41
|
-
## Performance Agent
|
|
42
|
-
|
|
43
|
-
The `PerformanceAgent` analyzes performance traces. This documentation details the specific data provided to the agent and the data it can retrieve via functions.
|
|
44
|
-
|
|
45
|
-
### Initial Data Provided to the Agent
|
|
46
|
-
|
|
47
|
-
When a conversation starts or the context changes, the agent is provided with a set of "facts" and query enhancements. This data forms the agent's base knowledge about the trace.
|
|
48
|
-
|
|
49
|
-
#### Trace Facts (Initial Context)
|
|
50
|
-
|
|
51
|
-
Facts are text-based data summaries injected into the conversation. The agent receives:
|
|
52
|
-
|
|
53
|
-
- **Data Schema Descriptions**: Text explaining the format of call frame and network data to help the agent interpret subsequent tool outputs.
|
|
54
|
-
- **Environment State**: Flags indicating if the trace is a fresh recording or loaded from an external file.
|
|
55
|
-
- **Trace Summary Data**: A text summary containing key performance metrics (LCP, INP, CLS) and basic trace metadata.
|
|
56
|
-
- **Critical Requests Data**: A text list of the most critical network requests identified in the trace.
|
|
57
|
-
- **Main Thread Activity Data**: A bottom-up aggregated summary of where time was spent on the main thread.
|
|
58
|
-
- **Longest Tasks Data**: A list of the longest tasks found on the main thread.
|
|
59
|
-
- **Third Party Activity Data**: A summary of time spent on third-party scripts.
|
|
60
|
-
|
|
61
|
-
#### Context Selection (Additional initial context)
|
|
62
|
-
|
|
63
|
-
The agent receives additional initial context based on the user's context selection. The context can be a Trace, an Insight, or a specific Event:
|
|
64
|
-
|
|
65
|
-
- **Trace Context**: No additional context is added beyond the base trace facts.
|
|
66
|
-
- **Insight Context**: The agent receives the name and key of the specific performance insight selected.
|
|
67
|
-
- **Event Context**: The agent receives the serialized details of the specific trace event selected.
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
### Data Retrieval Functions (Tools)
|
|
71
|
-
|
|
72
|
-
The agent can request additional data by calling functions. Here is the data the agent receives from each function:
|
|
73
|
-
|
|
74
|
-
#### `getInsightDetails`
|
|
75
|
-
- **Arguments**: `insightSetId` (string), `insightName` (string)
|
|
76
|
-
- **Data Returned to Agent**: A detailed text representation of the specific insight (e.g., LCP breakdown components, render-blocking resource URLs).
|
|
77
|
-
|
|
78
|
-
#### `getEventByKey`
|
|
79
|
-
- **Arguments**: `eventKey` (string)
|
|
80
|
-
- **Data Returned to Agent**: The full JSON representation of the specific trace event.
|
|
81
|
-
|
|
82
|
-
#### `getNetworkTrackSummary`
|
|
83
|
-
- **Arguments**: `min` (integer, optional), `max` (integer, optional)
|
|
84
|
-
- **Data Returned to Agent**: A text summary of network requests and activity within the bounds.
|
|
85
|
-
|
|
86
|
-
#### `getDetailedCallTree`
|
|
87
|
-
- **Arguments**: `eventKey` (string)
|
|
88
|
-
- **Data Returned to Agent**: A detailed call tree representation for the specified event.
|
|
89
|
-
|
|
90
|
-
#### `addElementAnnotation`
|
|
91
|
-
- **Arguments**: `elementId` (string), `annotationMessage` (string)
|
|
92
|
-
- **Data Returned to Agent**: Confirmation of success or an error message. (Note: This function also modifies the DevTools UI by adding a visual annotation).
|
|
93
|
-
|
|
94
|
-
#### `addNetworkRequestAnnotation`
|
|
95
|
-
- **Arguments**: `eventKey` (string), `annotationMessage` (string)
|
|
96
|
-
- **Data Returned to Agent**: Confirmation of success or an error message. (Note: This function also modifies the DevTools UI by adding a visual annotation).
|
|
97
|
-
|
|
98
|
-
#### `getFunctionCode`
|
|
99
|
-
- **Arguments**: `scriptUrl` (string), `line` (integer), `column` (integer)
|
|
100
|
-
- **Data Returned to Agent**: The source code lines for the function, annotated with performance cost per line if available.
|
|
101
|
-
|
|
102
|
-
#### `getResourceContent`
|
|
103
|
-
- **Arguments**: `url` (string)
|
|
104
|
-
- **Data Returned to Agent**: The full text content of the specified resource (e.g., script file).
|
|
105
|
-
|
|
106
|
-
#### `selectEventByKey`
|
|
107
|
-
- **Arguments**: `eventKey` (string)
|
|
108
|
-
- **Data Returned to Agent**: Confirmation of success or an error message. (Note: This function also modifies the DevTools UI by selecting the event in the flamechart).
|
|
109
|
-
|
|
110
|
-
## Styling Agent
|
|
111
|
-
|
|
112
|
-
The `StylingAgent` assists with CSS styling and layout questions. It can interact with the page to inspect styles, execute Javascript, and optionally emulate devices or vision deficiencies.
|
|
113
|
-
|
|
114
|
-
### Initial Data Provided to the Agent
|
|
115
|
-
|
|
116
|
-
The agent is initialized with the selected DOM node context.
|
|
117
|
-
|
|
118
|
-
### Data Retrieval & Action Functions (Tools)
|
|
119
|
-
|
|
120
|
-
The agent can call the following functions to retrieve more details or perform actions:
|
|
121
|
-
|
|
122
|
-
#### `getStyles`
|
|
123
|
-
- **Arguments**: None (it uses the currently selected DOM node).
|
|
124
|
-
- **Data Returned to Agent**: Computed styles and authored styles (matching rules, active stylesheets, etc.) for the selected node.
|
|
125
|
-
|
|
126
|
-
#### `executeJavaScript`
|
|
127
|
-
- **Arguments**: `query` (string)
|
|
128
|
-
- **Data Returned to Agent**: The result of executing the JavaScript query in the context of the page.
|
|
129
|
-
|
|
130
|
-
#### `addElementAnnotation`
|
|
131
|
-
- **Arguments**: `elementId` (string), `annotationMessage` (string)
|
|
132
|
-
- **Data Returned to Agent**: Confirmation of success or an error message. (Note: This function also modifies the DevTools UI by adding a visual annotation to the node).
|
|
133
|
-
|
|
134
|
-
#### `activateDeviceEmulation`
|
|
135
|
-
- **Arguments**: `deviceName` (string), `visionDeficiency` (string, optional)
|
|
136
|
-
- **Data Returned to Agent**: Confirmation of success or an error message. (Note: This function modifies the DevTools UI by enabling device and/or vision deficiency emulation).
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
// Copyright 2017 The Chromium Authors
|
|
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 * as i18n from '../../core/i18n/i18n.js';
|
|
6
|
-
import * as SDK from '../../core/sdk/sdk.js';
|
|
7
|
-
|
|
8
|
-
import {throttlingManager} from './ThrottlingManager.js';
|
|
9
|
-
import {
|
|
10
|
-
ThrottlingPresets,
|
|
11
|
-
type Conditions,
|
|
12
|
-
type ConditionsList,
|
|
13
|
-
type MobileThrottlingConditionsGroup,
|
|
14
|
-
} from './ThrottlingPresets.js';
|
|
15
|
-
|
|
16
|
-
const UIStrings = {
|
|
17
|
-
/**
|
|
18
|
-
* @description Mobile throttling is disabled. The user can select this option to run mobile
|
|
19
|
-
* emulation at a normal speed instead of throttled.
|
|
20
|
-
*/
|
|
21
|
-
disabled: 'Disabled',
|
|
22
|
-
/**
|
|
23
|
-
* @description Title for a group of pre-decided configuration options for mobile throttling. These
|
|
24
|
-
* are useful default options that users might want.
|
|
25
|
-
*/
|
|
26
|
-
presets: 'Presets',
|
|
27
|
-
/**
|
|
28
|
-
* @description Title for a group of advanced configuration options for mobile throttling, which
|
|
29
|
-
* might not be applicable to every user or situation.
|
|
30
|
-
*/
|
|
31
|
-
advanced: 'Advanced',
|
|
32
|
-
} as const;
|
|
33
|
-
const str_ = i18n.i18n.registerUIStrings('panels/mobile_throttling/MobileThrottlingSelector.ts', UIStrings);
|
|
34
|
-
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
35
|
-
|
|
36
|
-
export class MobileThrottlingSelector {
|
|
37
|
-
private readonly populateCallback: (arg0: MobileThrottlingConditionsGroup[]) => ConditionsList;
|
|
38
|
-
private readonly selectCallback: (arg0: number) => void;
|
|
39
|
-
private readonly options: ConditionsList;
|
|
40
|
-
|
|
41
|
-
constructor(
|
|
42
|
-
populateCallback: (arg0: MobileThrottlingConditionsGroup[]) => ConditionsList,
|
|
43
|
-
selectCallback: (arg0: number) => void) {
|
|
44
|
-
this.populateCallback = populateCallback;
|
|
45
|
-
this.selectCallback = selectCallback;
|
|
46
|
-
SDK.CPUThrottlingManager.CPUThrottlingManager.instance().addEventListener(
|
|
47
|
-
SDK.CPUThrottlingManager.Events.RATE_CHANGED, this.conditionsChanged, this);
|
|
48
|
-
SDK.NetworkManager.MultitargetNetworkManager.instance().addEventListener(
|
|
49
|
-
SDK.NetworkManager.MultitargetNetworkManager.Events.CONDITIONS_CHANGED, this.conditionsChanged, this);
|
|
50
|
-
this.options = this.populateOptions();
|
|
51
|
-
this.conditionsChanged();
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
optionSelected(conditions: Conditions): void {
|
|
55
|
-
SDK.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(conditions.network);
|
|
56
|
-
throttlingManager().setCPUThrottlingOption(conditions.cpuThrottlingOption);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
private populateOptions(): ConditionsList {
|
|
60
|
-
const disabledGroup = {
|
|
61
|
-
title: i18nString(UIStrings.disabled),
|
|
62
|
-
items: [ThrottlingPresets.getNoThrottlingConditions()],
|
|
63
|
-
};
|
|
64
|
-
const presetsGroup = {title: i18nString(UIStrings.presets), items: ThrottlingPresets.getMobilePresets()};
|
|
65
|
-
const advancedGroup = {title: i18nString(UIStrings.advanced), items: ThrottlingPresets.getAdvancedMobilePresets()};
|
|
66
|
-
return this.populateCallback([disabledGroup, presetsGroup, advancedGroup]);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
private conditionsChanged(): void {
|
|
70
|
-
this.populateOptions();
|
|
71
|
-
|
|
72
|
-
const networkConditions = SDK.NetworkManager.MultitargetNetworkManager.instance().networkConditions();
|
|
73
|
-
const cpuThrottlingOption = throttlingManager().cpuThrottlingOption();
|
|
74
|
-
for (let index = 0; index < this.options.length; ++index) {
|
|
75
|
-
const option = this.options[index];
|
|
76
|
-
if (option && 'network' in option && option.network === networkConditions &&
|
|
77
|
-
option.cpuThrottlingOption === cpuThrottlingOption) {
|
|
78
|
-
this.selectCallback(index);
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
const customConditions = ThrottlingPresets.getCustomConditions();
|
|
84
|
-
for (let index = 0; index < this.options.length; ++index) {
|
|
85
|
-
const item = this.options[index];
|
|
86
|
-
if (item && item.title === customConditions.title && item.description === customConditions.description) {
|
|
87
|
-
this.selectCallback(index);
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
File without changes
|
|
File without changes
|
/package/front_end/{panels/common → ui/components/text_editor}/aiCodeCompletionDisclaimer.css
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/front_end/{panels/common → ui/components/text_editor}/aiCodeGenerationUpgradeDialog.css
RENAMED
|
File without changes
|