chrome-devtools-frontend 1.0.1515796 → 1.0.1516909
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/docs/contributing/infrastructure.md +131 -82
- package/front_end/Tests.js +3 -29
- package/front_end/core/common/Progress.ts +73 -55
- package/front_end/core/host/GdpClient.ts +1 -1
- package/front_end/core/host/UserMetrics.ts +5 -2
- package/front_end/core/protocol_client/InspectorBackend.ts +2 -0
- package/front_end/core/root/Runtime.ts +0 -1
- package/front_end/core/sdk/CSSMatchedStyles.ts +12 -10
- package/front_end/core/sdk/CSSModel.ts +1 -31
- package/front_end/core/sdk/CSSPropertyParserMatchers.ts +27 -7
- package/front_end/core/sdk/DebuggerModel.ts +1 -31
- package/front_end/core/sdk/EnhancedTracesParser.ts +81 -50
- package/front_end/core/sdk/NetworkManager.ts +1 -31
- package/front_end/core/sdk/NetworkRequest.ts +1 -31
- package/front_end/core/sdk/RehydratingConnection.snapshot.txt +1003 -0
- package/front_end/core/sdk/RehydratingConnection.ts +13 -18
- package/front_end/core/sdk/RehydratingObject.ts +8 -31
- package/front_end/core/sdk/RemoteObject.ts +1 -31
- package/front_end/core/sdk/ResourceTreeModel.ts +1 -31
- package/front_end/core/sdk/RuntimeModel.ts +1 -31
- package/front_end/core/sdk/ServiceWorkerManager.ts +1 -31
- package/front_end/core/sdk/SourceMap.ts +1 -31
- package/front_end/core/sdk/TraceObject.ts +8 -3
- package/front_end/entrypoints/main/MainImpl.ts +1 -3
- package/front_end/models/ai_assistance/AiHistoryStorage.ts +1 -3
- package/front_end/models/ai_assistance/ConversationHandler.ts +4 -6
- package/front_end/models/ai_assistance/agents/AiAgent.ts +4 -1
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +110 -76
- package/front_end/models/ai_assistance/agents/PerformanceAnnotationsAgent.ts +2 -2
- package/front_end/models/ai_assistance/agents/StylingAgent.ts +2 -2
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +178 -85
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +308 -218
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +100 -100
- package/front_end/models/ai_assistance/data_formatters/UnitFormatters.ts +10 -1
- package/front_end/models/ai_assistance/performance/AIContext.ts +19 -21
- package/front_end/models/ai_code_completion/AiCodeCompletion.ts +24 -8
- package/front_end/models/badges/UserBadges.ts +38 -3
- package/front_end/models/bindings/ContentProviderBasedProject.ts +6 -4
- package/front_end/models/breakpoints/BreakpointManager.ts +3 -3
- package/front_end/models/formatter/FormatterWorkerPool.ts +3 -3
- package/front_end/models/har/Writer.ts +11 -11
- package/front_end/models/persistence/FileSystemWorkspaceBinding.ts +3 -3
- package/front_end/models/persistence/IsolatedFileSystem.ts +4 -4
- package/front_end/models/persistence/IsolatedFileSystemManager.ts +7 -7
- package/front_end/models/persistence/PersistenceImpl.ts +8 -8
- package/front_end/models/persistence/PlatformFileSystem.ts +1 -1
- package/front_end/models/trace/ModelImpl.ts +2 -16
- package/front_end/models/trace/Processor.ts +15 -9
- package/front_end/models/trace/handlers/AuctionWorkletsHandler.ts +4 -4
- package/front_end/models/trace/handlers/FramesHandler.ts +2 -2
- package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +7 -10
- package/front_end/models/trace/handlers/MetaHandler.ts +11 -9
- package/front_end/models/trace/handlers/ScreenshotsHandler.ts +1 -1
- package/front_end/models/trace/handlers/ScriptsHandler.ts +5 -5
- package/front_end/models/trace/handlers/UserInteractionsHandler.ts +2 -14
- package/front_end/models/trace/handlers/UserTimingsHandler.ts +3 -4
- package/front_end/models/trace/insights/CLSCulprits.ts +1 -1
- package/front_end/models/trace/insights/DocumentLatency.ts +3 -4
- package/front_end/models/trace/insights/DuplicatedJavaScript.ts +1 -1
- package/front_end/models/trace/insights/INPBreakdown.ts +1 -1
- package/front_end/models/trace/insights/ImageDelivery.ts +1 -1
- package/front_end/models/trace/insights/LCPBreakdown.ts +1 -1
- package/front_end/models/trace/insights/LCPDiscovery.ts +1 -1
- package/front_end/models/trace/insights/ModernHTTP.ts +1 -1
- package/front_end/models/trace/insights/NetworkDependencyTree.ts +1 -1
- package/front_end/models/trace/insights/RenderBlocking.ts +1 -1
- package/front_end/models/trace/insights/types.ts +2 -0
- package/front_end/models/trace/types/TraceEvents.ts +41 -64
- package/front_end/models/trace_source_maps_resolver/trace_source_maps_resolver.ts +1 -1
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +21 -99
- package/front_end/panels/application/ServiceWorkersView.ts +0 -1
- package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +2 -3
- package/front_end/panels/common/BadgeNotification.ts +46 -10
- package/front_end/panels/common/GdpSignUpDialog.ts +6 -3
- package/front_end/panels/console/ConsoleView.ts +23 -28
- package/front_end/panels/console/ConsoleViewport.ts +2 -2
- package/front_end/panels/console/consoleView.css +11 -1
- package/front_end/panels/coverage/CoverageView.ts +2 -2
- package/front_end/panels/elements/ComputedStyleWidget.ts +1 -2
- package/front_end/panels/elements/ElementsTreeOutline.ts +2 -2
- package/front_end/panels/elements/LayoutPane.ts +1 -1
- package/front_end/panels/elements/StyleEditorWidget.ts +8 -19
- package/front_end/panels/elements/StylePropertyTreeElement.ts +39 -25
- package/front_end/panels/elements/StylesSidebarPane.ts +2 -2
- package/front_end/panels/elements/stylePropertiesTreeOutline.css +4 -3
- package/front_end/panels/layer_viewer/Layers3DView.ts +2 -2
- package/front_end/panels/layers/LayerTreeModel.ts +3 -3
- package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +4 -4
- package/front_end/panels/network/NetworkLogView.ts +6 -2
- package/front_end/panels/network/NetworkLogViewColumns.ts +3 -3
- package/front_end/panels/network/NetworkSearchScope.ts +6 -6
- package/front_end/panels/search/SearchResultsPane.ts +32 -47
- package/front_end/panels/search/SearchView.ts +58 -80
- package/front_end/panels/settings/components/SyncSection.ts +7 -2
- package/front_end/panels/sources/OutlineQuickOpen.ts +3 -1
- package/front_end/panels/sources/SourcesSearchScope.ts +4 -4
- package/front_end/panels/sources/TabbedEditorContainer.ts +5 -5
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +10 -5
- package/front_end/panels/timeline/TimelineFlameChartView.ts +18 -15
- package/front_end/panels/timeline/TimelinePanel.ts +41 -22
- package/front_end/panels/timeline/TimelineUIUtils.ts +13 -8
- package/front_end/panels/timeline/TracingLayerTree.ts +4 -5
- package/front_end/panels/timeline/components/ExportTraceOptions.ts +37 -22
- package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +17 -7
- package/front_end/third_party/axe-core/README.chromium +1 -0
- package/front_end/third_party/codemirror/README.chromium +1 -0
- package/front_end/third_party/codemirror.next/README.chromium +1 -0
- package/front_end/third_party/csp_evaluator/README.chromium +1 -0
- package/front_end/third_party/diff/README.chromium +1 -0
- package/front_end/third_party/i18n/README.chromium +1 -0
- package/front_end/third_party/intl-messageformat/README.chromium +1 -0
- package/front_end/third_party/json5/README.chromium +1 -0
- package/front_end/third_party/legacy-javascript/README.chromium +1 -0
- package/front_end/third_party/lighthouse/README.chromium +1 -0
- package/front_end/third_party/lit/README.chromium +1 -0
- package/front_end/third_party/marked/README.chromium +1 -0
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js +0 -20
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +2 -23
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js +0 -20
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/package.json +1 -1
- package/front_end/third_party/puppeteer/package/src/cdp/Accessibility.ts +1 -21
- package/front_end/third_party/puppeteer/package/src/generated/version.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/revisions.ts +1 -1
- package/front_end/third_party/puppeteer-replay/README.chromium +1 -0
- package/front_end/third_party/third-party-web/README.chromium +1 -0
- package/front_end/third_party/vscode.web-custom-data/README.chromium +1 -0
- package/front_end/third_party/wasmparser/README.chromium +1 -0
- package/front_end/third_party/web-vitals/README.chromium +1 -0
- package/front_end/ui/components/text_editor/config.ts +30 -1
- package/front_end/ui/components/tooltips/Tooltip.ts +18 -4
- package/front_end/ui/legacy/ContextMenu.ts +2 -2
- package/front_end/ui/legacy/GlassPane.ts +7 -3
- package/front_end/ui/legacy/ProgressIndicator.ts +29 -16
- package/front_end/ui/legacy/TabbedPane.ts +2 -2
- package/front_end/ui/legacy/Treeoutline.ts +10 -5
- package/front_end/ui/legacy/UIUtils.ts +42 -10
- package/front_end/ui/legacy/components/color_picker/Spectrum.ts +14 -14
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +6 -6
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +3 -29
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +14 -14
- package/front_end/ui/visual_logging/KnownContextValues.ts +7 -0
- package/inspector_overlay/highlight_common.ts +1 -27
- package/inspector_overlay/highlight_grid_common.ts +1 -27
- package/inspector_overlay/tool_highlight.ts +1 -27
- package/inspector_overlay/tool_persistent.ts +1 -27
- package/inspector_overlay/tool_source_order.ts +1 -27
- package/package.json +1 -1
@@ -33,44 +33,57 @@ export class ProgressIndicator extends HTMLElement implements Common.Progress.Pr
|
|
33
33
|
// using the 'no-stop-button' attribute on the element.
|
34
34
|
if (!this.hasAttribute('no-stop-button')) {
|
35
35
|
this.#stopButton = this.#contentElement.createChild('button', 'progress-indicator-shadow-stop-button');
|
36
|
-
this.#stopButton.addEventListener('click',
|
36
|
+
this.#stopButton.addEventListener('click', () => {
|
37
|
+
this.canceled = true;
|
38
|
+
});
|
37
39
|
}
|
38
40
|
}
|
39
41
|
|
40
|
-
done(
|
41
|
-
if (this.#isDone) {
|
42
|
+
set done(done: boolean) {
|
43
|
+
if (this.#isDone === done) {
|
42
44
|
return;
|
43
45
|
}
|
44
|
-
this.#isDone =
|
45
|
-
|
46
|
+
this.#isDone = done;
|
47
|
+
if (done) {
|
48
|
+
this.remove();
|
49
|
+
}
|
50
|
+
}
|
51
|
+
|
52
|
+
get done(): boolean {
|
53
|
+
return this.#isDone;
|
46
54
|
}
|
47
55
|
|
48
|
-
|
49
|
-
this.#isCanceled =
|
56
|
+
set canceled(value: boolean) {
|
57
|
+
this.#isCanceled = value;
|
50
58
|
}
|
51
59
|
|
52
|
-
|
60
|
+
get canceled(): boolean {
|
53
61
|
return this.#isCanceled;
|
54
62
|
}
|
55
63
|
|
56
|
-
|
64
|
+
override set title(title: string) {
|
57
65
|
this.#labelElement.textContent = title;
|
58
66
|
}
|
59
67
|
|
60
|
-
|
68
|
+
override get title(): string {
|
69
|
+
return this.#labelElement.textContent ?? '';
|
70
|
+
}
|
71
|
+
|
72
|
+
set totalWork(totalWork: number) {
|
61
73
|
this.#progressElement.max = totalWork;
|
62
74
|
}
|
63
75
|
|
64
|
-
|
76
|
+
get totalWork(): number {
|
77
|
+
return this.#progressElement.max;
|
78
|
+
}
|
79
|
+
|
80
|
+
set worked(worked: number) {
|
65
81
|
this.#worked = worked;
|
66
82
|
this.#progressElement.value = worked;
|
67
|
-
if (title) {
|
68
|
-
this.setTitle(title);
|
69
|
-
}
|
70
83
|
}
|
71
84
|
|
72
|
-
|
73
|
-
this
|
85
|
+
get worked(): number {
|
86
|
+
return this.#worked;
|
74
87
|
}
|
75
88
|
}
|
76
89
|
|
@@ -242,7 +242,7 @@ export class TabbedPane extends Common.ObjectWrapper.eventMixin<EventTypes, type
|
|
242
242
|
|
243
243
|
const focused = this.hasFocus();
|
244
244
|
for (let i = 0; i < ids.length; ++i) {
|
245
|
-
this
|
245
|
+
this.#closeTab(ids[i], userGesture);
|
246
246
|
}
|
247
247
|
this.requestUpdate();
|
248
248
|
if (this.tabsHistory.length) {
|
@@ -253,7 +253,7 @@ export class TabbedPane extends Common.ObjectWrapper.eventMixin<EventTypes, type
|
|
253
253
|
}
|
254
254
|
}
|
255
255
|
|
256
|
-
|
256
|
+
#closeTab(id: string, userGesture?: boolean): true|undefined {
|
257
257
|
const tab = this.tabsById.get(id);
|
258
258
|
if (!tab) {
|
259
259
|
return;
|
@@ -1618,8 +1618,8 @@ function getTreeNodes(nodeList: NodeList|Node[]): HTMLLIElement[] {
|
|
1618
1618
|
|
1619
1619
|
/**
|
1620
1620
|
* A tree element that can be used as progressive enhancement over a <ul> element. A `template` IDL attribute allows
|
1621
|
-
* additionally to insert the <ul> into a <template>, avoiding rendering anything into light DOM
|
1622
|
-
* be cloned into shadow DOM and rendered there.
|
1621
|
+
* additionally to insert the <ul> into a <template>, avoiding rendering anything into light DOM, which is recommended.
|
1622
|
+
* The <ul> itself will be cloned into shadow DOM and rendered there.
|
1623
1623
|
*
|
1624
1624
|
* ## Usage ##
|
1625
1625
|
*
|
@@ -1663,12 +1663,17 @@ function getTreeNodes(nodeList: NodeList|Node[]): HTMLLIElement[] {
|
|
1663
1663
|
*
|
1664
1664
|
* ## Event Handling ##
|
1665
1665
|
*
|
1666
|
+
* This section is only relevant if NOT using the `template`.
|
1667
|
+
*
|
1666
1668
|
* Since config elements are cloned into the shadow DOM, it's not possible to directly attach event listeners to the
|
1667
|
-
* children of config elements. Instead, the `
|
1669
|
+
* children of config elements. Instead, the `UI.UIUtils.InterceptBindingDirective` directive needs to be used as a
|
1670
|
+
* wrapper:
|
1668
1671
|
* ```
|
1669
|
-
*
|
1672
|
+
* const on = Lit.Directive.directive(UI.UIUtils.InterceptBindingDirective);
|
1673
|
+
*
|
1674
|
+
* html`<li role="treeitem">
|
1670
1675
|
* <button @click=${on(clickHandler)}>click me</button>
|
1671
|
-
* </li
|
1676
|
+
* </li>`
|
1672
1677
|
* ```
|
1673
1678
|
*
|
1674
1679
|
* @property template Define the tree contents
|
@@ -2181,17 +2181,15 @@ export function bindToAction(actionName: string): ReturnType<typeof Directives.r
|
|
2181
2181
|
});
|
2182
2182
|
}
|
2183
2183
|
|
2184
|
-
|
2185
|
-
|
2184
|
+
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
2185
|
+
type BindingEventListener = (arg: any) => any;
|
2186
|
+
export class InterceptBindingDirective extends Lit.Directive.Directive {
|
2187
|
+
static readonly #interceptedBindings = new WeakMap<Element, Map<string, BindingEventListener>>();
|
2186
2188
|
|
2187
|
-
|
2188
|
-
super(part);
|
2189
|
+
override update(part: Lit.Directive.Part, [listener]: [BindingEventListener]): unknown {
|
2189
2190
|
if (part.type !== Lit.Directive.PartType.EVENT) {
|
2190
|
-
|
2191
|
+
return listener;
|
2191
2192
|
}
|
2192
|
-
}
|
2193
|
-
|
2194
|
-
override update(part: Lit.Directive.EventPart, [listener]: [(e: Event) => void]): undefined {
|
2195
2193
|
let eventListeners = InterceptBindingDirective.#interceptedBindings.get(part.element);
|
2196
2194
|
if (!eventListeners) {
|
2197
2195
|
eventListeners = new Map();
|
@@ -2202,7 +2200,8 @@ class InterceptBindingDirective extends Lit.Directive.Directive {
|
|
2202
2200
|
return this.render(listener);
|
2203
2201
|
}
|
2204
2202
|
|
2205
|
-
|
2203
|
+
/* eslint-disable-next-line @typescript-eslint/no-unsafe-function-type */
|
2204
|
+
render(_listener: Function): undefined {
|
2206
2205
|
return undefined;
|
2207
2206
|
}
|
2208
2207
|
|
@@ -2218,7 +2217,6 @@ class InterceptBindingDirective extends Lit.Directive.Directive {
|
|
2218
2217
|
}
|
2219
2218
|
|
2220
2219
|
export class HTMLElementWithLightDOMTemplate extends HTMLElement {
|
2221
|
-
static readonly on = Lit.Directive.directive(InterceptBindingDirective);
|
2222
2220
|
readonly #mutationObserver = new MutationObserver(this.#onChange.bind(this));
|
2223
2221
|
#contentTemplate: HTMLTemplateElement|null = null;
|
2224
2222
|
|
@@ -2238,6 +2236,39 @@ export class HTMLElementWithLightDOMTemplate extends HTMLElement {
|
|
2238
2236
|
return clone;
|
2239
2237
|
}
|
2240
2238
|
|
2239
|
+
private static patchLitTemplate(template: Lit.LitTemplate): void {
|
2240
|
+
const wrapper = Lit.Directive.directive(InterceptBindingDirective);
|
2241
|
+
if (template === Lit.nothing) {
|
2242
|
+
return;
|
2243
|
+
}
|
2244
|
+
template.values = template.values.map(patchValue);
|
2245
|
+
|
2246
|
+
function isLitTemplate(value: unknown): value is Lit.TemplateResult<1> {
|
2247
|
+
return Boolean(
|
2248
|
+
typeof value === 'object' && value && '_$litType$' in value && 'strings' in value && 'values' in value &&
|
2249
|
+
value['_$litType$'] === 1);
|
2250
|
+
}
|
2251
|
+
|
2252
|
+
function patchValue(value: unknown): unknown {
|
2253
|
+
if (typeof value === 'function') {
|
2254
|
+
try {
|
2255
|
+
return wrapper(value);
|
2256
|
+
} catch {
|
2257
|
+
return value;
|
2258
|
+
}
|
2259
|
+
}
|
2260
|
+
if (isLitTemplate(value)) {
|
2261
|
+
HTMLElementWithLightDOMTemplate.patchLitTemplate(value);
|
2262
|
+
return value;
|
2263
|
+
}
|
2264
|
+
if (Array.isArray(value)) {
|
2265
|
+
return value.map(patchValue);
|
2266
|
+
}
|
2267
|
+
|
2268
|
+
return value;
|
2269
|
+
}
|
2270
|
+
}
|
2271
|
+
|
2241
2272
|
set template(template: Lit.LitTemplate) {
|
2242
2273
|
if (!this.#contentTemplate) {
|
2243
2274
|
this.removeChildren();
|
@@ -2246,6 +2277,7 @@ export class HTMLElementWithLightDOMTemplate extends HTMLElement {
|
|
2246
2277
|
this.#mutationObserver.observe(
|
2247
2278
|
this.#contentTemplate.content, {childList: true, attributes: true, subtree: true, characterData: true});
|
2248
2279
|
}
|
2280
|
+
HTMLElementWithLightDOMTemplate.patchLitTemplate(template);
|
2249
2281
|
// eslint-disable-next-line rulesdir/no-lit-render-outside-of-view
|
2250
2282
|
render(template, this.#contentTemplate.content);
|
2251
2283
|
}
|
@@ -493,7 +493,7 @@ export class Spectrum extends Common.ObjectWrapper.eventMixin<EventTypes, typeof
|
|
493
493
|
const positionFraction = (sliderPosition - hueAlphaLeft) / this.hueAlphaWidth;
|
494
494
|
const newHue = 1 - positionFraction;
|
495
495
|
hsva[0] = Platform.NumberUtilities.clamp(newHue, 0, 1);
|
496
|
-
this
|
496
|
+
this.#setColor(hsva, '', undefined /* colorName */, undefined, ChangeSource.Other);
|
497
497
|
const color = getColorFromHsva(this.gamut, hsva);
|
498
498
|
const colorValues = color.as(Common.Color.Format.HSL).canonicalHSLA();
|
499
499
|
UI.ARIAUtils.setValueNow(this.hueElement, colorValues[0]);
|
@@ -506,7 +506,7 @@ export class Spectrum extends Common.ObjectWrapper.eventMixin<EventTypes, typeof
|
|
506
506
|
const positionFraction = (sliderPosition - hueAlphaLeft) / this.hueAlphaWidth;
|
507
507
|
const newAlpha = Math.round(positionFraction * 100) / 100;
|
508
508
|
hsva[3] = Platform.NumberUtilities.clamp(newAlpha, 0, 1);
|
509
|
-
this
|
509
|
+
this.#setColor(hsva, '', undefined /* colorName */, undefined, ChangeSource.Other);
|
510
510
|
const color = getColorFromHsva(this.gamut, hsva);
|
511
511
|
const colorValues = color.as(Common.Color.Format.HSL).canonicalHSLA();
|
512
512
|
UI.ARIAUtils.setValueText(this.alphaElement, colorValues[3]);
|
@@ -518,7 +518,7 @@ export class Spectrum extends Common.ObjectWrapper.eventMixin<EventTypes, typeof
|
|
518
518
|
this.colorOffset = this.colorElement.getBoundingClientRect();
|
519
519
|
hsva[1] = Platform.NumberUtilities.clamp((colorPosition.x - this.colorOffset.left) / this.dragWidth, 0, 1);
|
520
520
|
hsva[2] = Platform.NumberUtilities.clamp(1 - (colorPosition.y - this.colorOffset.top) / this.dragHeight, 0, 1);
|
521
|
-
this
|
521
|
+
this.#setColor(hsva, '', undefined /* colorName */, undefined, ChangeSource.Other);
|
522
522
|
}
|
523
523
|
|
524
524
|
function getUpdatedColorPosition(dragElement: Element, event: Event): {
|
@@ -959,7 +959,7 @@ export class Spectrum extends Common.ObjectWrapper.eventMixin<EventTypes, typeof
|
|
959
959
|
const colorName = palette.colorNames[colorIndex];
|
960
960
|
const color = Common.Color.parse(colorText);
|
961
961
|
if (color) {
|
962
|
-
this
|
962
|
+
this.#setColor(
|
963
963
|
color, colorText, colorName, palette.matchUserFormat ? this.colorFormat : color.format(),
|
964
964
|
ChangeSource.Other);
|
965
965
|
}
|
@@ -991,7 +991,7 @@ export class Spectrum extends Common.ObjectWrapper.eventMixin<EventTypes, typeof
|
|
991
991
|
if (event instanceof MouseEvent || Platform.KeyboardUtilities.isEnterOrSpaceKey(event)) {
|
992
992
|
const color = Common.Color.parse(shade);
|
993
993
|
if (color) {
|
994
|
-
this
|
994
|
+
this.#setColor(color, shade, shade, color.format(), ChangeSource.Other);
|
995
995
|
}
|
996
996
|
// Continue bubbling so that the color picker will close and submit the selected color.
|
997
997
|
return;
|
@@ -1063,14 +1063,14 @@ export class Spectrum extends Common.ObjectWrapper.eventMixin<EventTypes, typeof
|
|
1063
1063
|
}
|
1064
1064
|
|
1065
1065
|
setColor(color: Common.Color.Color): void {
|
1066
|
-
this
|
1066
|
+
this.#setColor(color, '', undefined /* colorName */, color.format(), ChangeSource.Model);
|
1067
1067
|
const colorValues = color.as(Common.Color.Format.HSL).canonicalHSLA();
|
1068
1068
|
UI.ARIAUtils.setValueNow(this.hueElement, colorValues[0]);
|
1069
1069
|
UI.ARIAUtils.setValueText(this.alphaElement, colorValues[3]);
|
1070
1070
|
}
|
1071
1071
|
|
1072
1072
|
private colorSelected(color: Common.Color.Legacy): void {
|
1073
|
-
this
|
1073
|
+
this.#setColor(color, '', undefined /* colorName */, undefined /* colorFormat */, ChangeSource.Other);
|
1074
1074
|
}
|
1075
1075
|
|
1076
1076
|
get color(): Common.Color.Color {
|
@@ -1081,7 +1081,7 @@ export class Spectrum extends Common.ObjectWrapper.eventMixin<EventTypes, typeof
|
|
1081
1081
|
return getColorFromHsva(this.gamut, this.hsv);
|
1082
1082
|
}
|
1083
1083
|
|
1084
|
-
|
1084
|
+
#setColor(
|
1085
1085
|
colorOrHsv: Common.Color.Color|Common.ColorUtils.Color4D|undefined, colorString: string|undefined,
|
1086
1086
|
colorName: string|undefined, colorFormat: Common.Color.Format|undefined, changeSource: string): void {
|
1087
1087
|
// It is important to do `undefined` check here since we want to update the
|
@@ -1289,7 +1289,7 @@ export class Spectrum extends Common.ObjectWrapper.eventMixin<EventTypes, typeof
|
|
1289
1289
|
const contextMenu = new FormatPickerContextMenu(this.color);
|
1290
1290
|
this.isFormatPickerShown = true;
|
1291
1291
|
await contextMenu.show(event, newColor => {
|
1292
|
-
this
|
1292
|
+
this.#setColor(newColor, undefined, undefined, newColor.format(), ChangeSource.Other);
|
1293
1293
|
});
|
1294
1294
|
this.isFormatPickerShown = false;
|
1295
1295
|
}
|
@@ -1306,7 +1306,7 @@ export class Spectrum extends Common.ObjectWrapper.eventMixin<EventTypes, typeof
|
|
1306
1306
|
if (!color) {
|
1307
1307
|
return;
|
1308
1308
|
}
|
1309
|
-
this
|
1309
|
+
this.#setColor(color, text, undefined /* colorName */, undefined /* colorFormat */, ChangeSource.Other);
|
1310
1310
|
event.preventDefault();
|
1311
1311
|
}
|
1312
1312
|
|
@@ -1360,7 +1360,7 @@ export class Spectrum extends Common.ObjectWrapper.eventMixin<EventTypes, typeof
|
|
1360
1360
|
return;
|
1361
1361
|
}
|
1362
1362
|
|
1363
|
-
this
|
1363
|
+
this.#setColor(color, undefined, undefined /* colorName */, colorFormat, ChangeSource.Input);
|
1364
1364
|
}
|
1365
1365
|
|
1366
1366
|
override wasShown(): void {
|
@@ -1369,7 +1369,7 @@ export class Spectrum extends Common.ObjectWrapper.eventMixin<EventTypes, typeof
|
|
1369
1369
|
this.dragWidth = this.colorElement.offsetWidth;
|
1370
1370
|
this.dragHeight = this.colorElement.offsetHeight;
|
1371
1371
|
this.colorDragElementHeight = this.colorDragElement.offsetHeight / 2;
|
1372
|
-
this
|
1372
|
+
this.#setColor(undefined, undefined, undefined /* colorName */, undefined, ChangeSource.Model);
|
1373
1373
|
// When flag is turned on, eye dropper is not turned on by default.
|
1374
1374
|
// This is because the global change of the cursor into a dropper will disturb the user.
|
1375
1375
|
if (!IS_NATIVE_EYE_DROPPER_AVAILABLE) {
|
@@ -1426,7 +1426,7 @@ export class Spectrum extends Common.ObjectWrapper.eventMixin<EventTypes, typeof
|
|
1426
1426
|
const hexColor = await eyeDropper.open({signal: this.eyeDropperAbortController.signal});
|
1427
1427
|
const color = Common.Color.parse(hexColor.sRGBHex);
|
1428
1428
|
|
1429
|
-
this
|
1429
|
+
this.#setColor(color ?? undefined, '', undefined /* colorName */, undefined, ChangeSource.Other);
|
1430
1430
|
} catch (error) {
|
1431
1431
|
if (error.name !== 'AbortError') {
|
1432
1432
|
console.error(error);
|
@@ -1445,7 +1445,7 @@ export class Spectrum extends Common.ObjectWrapper.eventMixin<EventTypes, typeof
|
|
1445
1445
|
}: Common.EventTarget.EventTargetEvent<Host.InspectorFrontendHostAPI.EyeDropperPickedColorEvent>): void {
|
1446
1446
|
const rgba = [rgbColor.r, rgbColor.g, rgbColor.b, (rgbColor.a / 2.55 | 0) / 100];
|
1447
1447
|
const color = Common.Color.Legacy.fromRGBA(rgba);
|
1448
|
-
this
|
1448
|
+
this.#setColor(color, '', undefined /* colorName */, undefined, ChangeSource.Other);
|
1449
1449
|
Host.InspectorFrontendHost.InspectorFrontendHostInstance.bringToFront();
|
1450
1450
|
}
|
1451
1451
|
}
|
@@ -212,7 +212,7 @@ export class DataGridImpl<T> extends Common.ObjectWrapper.ObjectWrapper<EventTyp
|
|
212
212
|
this.columns = {};
|
213
213
|
this.visibleColumnsArray = columnsArray;
|
214
214
|
|
215
|
-
columnsArray.forEach(column => this
|
215
|
+
columnsArray.forEach(column => this.#addColumn(column));
|
216
216
|
|
217
217
|
this.cellClass = null;
|
218
218
|
|
@@ -409,12 +409,12 @@ export class DataGridImpl<T> extends Common.ObjectWrapper.ObjectWrapper<EventTyp
|
|
409
409
|
UI.ARIAUtils.LiveAnnouncer.alert(accessibleText);
|
410
410
|
}
|
411
411
|
|
412
|
-
|
412
|
+
#addColumn(column: ColumnDescriptor, position?: number): void {
|
413
413
|
column.defaultWeight = column.weight;
|
414
414
|
|
415
415
|
const columnId = column.id;
|
416
416
|
if (columnId in this.columns) {
|
417
|
-
this
|
417
|
+
this.#removeColumn(columnId);
|
418
418
|
}
|
419
419
|
|
420
420
|
if (position === undefined) {
|
@@ -472,10 +472,10 @@ export class DataGridImpl<T> extends Common.ObjectWrapper.ObjectWrapper<EventTyp
|
|
472
472
|
}
|
473
473
|
|
474
474
|
addColumn(column: ColumnDescriptor, position?: number): void {
|
475
|
-
this
|
475
|
+
this.#addColumn(column, position);
|
476
476
|
}
|
477
477
|
|
478
|
-
|
478
|
+
#removeColumn(columnId: string): void {
|
479
479
|
const column = this.columns[columnId];
|
480
480
|
if (!column) {
|
481
481
|
return;
|
@@ -491,7 +491,7 @@ export class DataGridImpl<T> extends Common.ObjectWrapper.ObjectWrapper<EventTyp
|
|
491
491
|
}
|
492
492
|
|
493
493
|
removeColumn(columnId: string): void {
|
494
|
-
this
|
494
|
+
this.#removeColumn(columnId);
|
495
495
|
}
|
496
496
|
|
497
497
|
setCellClass(cellClass: string): void {
|
@@ -1,32 +1,6 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
* Redistribution and use in source and binary forms, with or without
|
5
|
-
* modification, are permitted provided that the following conditions are
|
6
|
-
* met:
|
7
|
-
*
|
8
|
-
* * Redistributions of source code must retain the above copyright
|
9
|
-
* notice, this list of conditions and the following disclaimer.
|
10
|
-
* * Redistributions in binary form must reproduce the above
|
11
|
-
* copyright notice, this list of conditions and the following disclaimer
|
12
|
-
* in the documentation and/or other materials provided with the
|
13
|
-
* distribution.
|
14
|
-
* * Neither the name of Google Inc. nor the names of its
|
15
|
-
* contributors may be used to endorse or promote products derived from
|
16
|
-
* this software without specific prior written permission.
|
17
|
-
*
|
18
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
19
|
-
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
20
|
-
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
21
|
-
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
22
|
-
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
23
|
-
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
24
|
-
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
25
|
-
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
26
|
-
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
27
|
-
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
28
|
-
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
29
|
-
*/
|
1
|
+
// Copyright 2013 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.
|
30
4
|
|
31
5
|
/* eslint-disable rulesdir/no-imperative-dom-api */
|
32
6
|
|
@@ -526,11 +526,11 @@ export class SourceFrameImpl extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
526
526
|
protected async setContentDataOrError(contentDataPromise: Promise<TextUtils.ContentData.ContentDataOrError>):
|
527
527
|
Promise<void> {
|
528
528
|
const progressIndicator = document.createElement('devtools-progress');
|
529
|
-
progressIndicator.
|
530
|
-
progressIndicator.
|
529
|
+
progressIndicator.title = i18nString(UIStrings.loading);
|
530
|
+
progressIndicator.totalWork = 100;
|
531
531
|
this.progressToolbarItem.element.appendChild(progressIndicator);
|
532
532
|
|
533
|
-
progressIndicator.
|
533
|
+
progressIndicator.worked = 1;
|
534
534
|
const contentData = await contentDataPromise;
|
535
535
|
|
536
536
|
let error: string|undefined;
|
@@ -557,8 +557,8 @@ export class SourceFrameImpl extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
557
557
|
this.wasmDisassemblyInternal = null;
|
558
558
|
}
|
559
559
|
|
560
|
-
progressIndicator.
|
561
|
-
progressIndicator.done
|
560
|
+
progressIndicator.worked = 100;
|
561
|
+
progressIndicator.done = true;
|
562
562
|
|
563
563
|
if (this.rawContent === content && error === undefined) {
|
564
564
|
return;
|
@@ -599,10 +599,10 @@ export class SourceFrameImpl extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
599
599
|
} else {
|
600
600
|
this.positionToReveal = {...position, shouldHighlight};
|
601
601
|
}
|
602
|
-
this
|
602
|
+
this.#revealPositionIfNeeded();
|
603
603
|
}
|
604
604
|
|
605
|
-
|
605
|
+
#revealPositionIfNeeded(): void {
|
606
606
|
if (!this.positionToReveal) {
|
607
607
|
return;
|
608
608
|
}
|
@@ -627,10 +627,10 @@ export class SourceFrameImpl extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
627
627
|
scrollToLine(line: number): void {
|
628
628
|
this.clearPositionToReveal();
|
629
629
|
this.lineToScrollTo = line;
|
630
|
-
this
|
630
|
+
this.#scrollToLineIfNeeded();
|
631
631
|
}
|
632
632
|
|
633
|
-
|
633
|
+
#scrollToLineIfNeeded(): void {
|
634
634
|
if (this.lineToScrollTo !== null) {
|
635
635
|
if (this.loaded && this.isShowing()) {
|
636
636
|
const {textEditor} = this;
|
@@ -643,10 +643,10 @@ export class SourceFrameImpl extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
643
643
|
|
644
644
|
setSelection(textRange: TextUtils.TextRange.TextRange): void {
|
645
645
|
this.selectionToSet = textRange;
|
646
|
-
this
|
646
|
+
this.#setSelectionIfNeeded();
|
647
647
|
}
|
648
648
|
|
649
|
-
|
649
|
+
#setSelectionIfNeeded(): void {
|
650
650
|
const sel = this.selectionToSet;
|
651
651
|
if (sel && this.loaded && this.isShowing()) {
|
652
652
|
const {textEditor} = this;
|
@@ -660,9 +660,9 @@ export class SourceFrameImpl extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
660
660
|
}
|
661
661
|
|
662
662
|
private wasShownOrLoaded(): void {
|
663
|
-
this
|
664
|
-
this
|
665
|
-
this
|
663
|
+
this.#revealPositionIfNeeded();
|
664
|
+
this.#setSelectionIfNeeded();
|
665
|
+
this.#scrollToLineIfNeeded();
|
666
666
|
this.textEditor.shadowRoot?.querySelector('.cm-lineNumbers')
|
667
667
|
?.setAttribute('jslog', `${VisualLogging.gutter('line-numbers').track({click: true})}`);
|
668
668
|
this.textEditor.shadowRoot?.querySelector('.cm-foldGutter')
|
@@ -1598,6 +1598,7 @@ export const knownContextValues = new Set([
|
|
1598
1598
|
'font-family',
|
1599
1599
|
'font-feature-settings',
|
1600
1600
|
'font-kerning',
|
1601
|
+
'font-language-override',
|
1601
1602
|
'font-optical-sizing',
|
1602
1603
|
'font-palette',
|
1603
1604
|
'font-size',
|
@@ -1906,6 +1907,8 @@ export const knownContextValues = new Set([
|
|
1906
1907
|
'interactions',
|
1907
1908
|
'interactivity',
|
1908
1909
|
'interest-delay',
|
1910
|
+
'interest-delay-end',
|
1911
|
+
'interest-delay-start',
|
1909
1912
|
'interest-groups',
|
1910
1913
|
'interest-hide-delay',
|
1911
1914
|
'interest-show-delay',
|
@@ -3546,6 +3549,9 @@ export const knownContextValues = new Set([
|
|
3546
3549
|
'start-time',
|
3547
3550
|
'start-url',
|
3548
3551
|
'start-view',
|
3552
|
+
'starter-badge-dismissed',
|
3553
|
+
'starter-badge-last-snoozed-timestamp',
|
3554
|
+
'starter-badge-snooze-count',
|
3549
3555
|
'static-global-setting',
|
3550
3556
|
'static-synced-setting',
|
3551
3557
|
'status',
|
@@ -3771,6 +3777,7 @@ export const knownContextValues = new Set([
|
|
3771
3777
|
'timeline.export-trace-options',
|
3772
3778
|
'timeline.export-trace-options.annotations-checkbox',
|
3773
3779
|
'timeline.export-trace-options.script-content-checkbox',
|
3780
|
+
'timeline.export-trace-options.should-compress-checkbox',
|
3774
3781
|
'timeline.export-trace-options.source-maps-checkbox',
|
3775
3782
|
'timeline.extension',
|
3776
3783
|
'timeline.field-data.configure',
|
@@ -1,33 +1,7 @@
|
|
1
|
-
// Copyright
|
1
|
+
// Copyright 2012 The Chromium Authors
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
3
3
|
// found in the LICENSE file.
|
4
4
|
|
5
|
-
// Copyright (C) 2012 Google Inc. All rights reserved.
|
6
|
-
|
7
|
-
// Redistribution and use in source and binary forms, with or without
|
8
|
-
// modification, are permitted provided that the following conditions
|
9
|
-
// are met:
|
10
|
-
|
11
|
-
// 1. Redistributions of source code must retain the above copyright
|
12
|
-
// notice, this list of conditions and the following disclaimer.
|
13
|
-
// 2. Redistributions in binary form must reproduce the above copyright
|
14
|
-
// notice, this list of conditions and the following disclaimer in the
|
15
|
-
// documentation and/or other materials provided with the distribution.
|
16
|
-
// 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
|
17
|
-
// its contributors may be used to endorse or promote products derived
|
18
|
-
// from this software without specific prior written permission.
|
19
|
-
|
20
|
-
// THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
|
21
|
-
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
22
|
-
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
23
|
-
// DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
|
24
|
-
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
25
|
-
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
26
|
-
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
27
|
-
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
28
|
-
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
29
|
-
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
30
|
-
|
31
5
|
import {
|
32
6
|
type Color4D,
|
33
7
|
rgbaToHsla,
|
@@ -1,33 +1,7 @@
|
|
1
|
-
// Copyright
|
1
|
+
// Copyright 2012 The Chromium Authors
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
3
3
|
// found in the LICENSE file.
|
4
4
|
|
5
|
-
// Copyright (C) 2012 Google Inc. All rights reserved.
|
6
|
-
|
7
|
-
// Redistribution and use in source and binary forms, with or without
|
8
|
-
// modification, are permitted provided that the following conditions
|
9
|
-
// are met:
|
10
|
-
|
11
|
-
// 1. Redistributions of source code must retain the above copyright
|
12
|
-
// notice, this list of conditions and the following disclaimer.
|
13
|
-
// 2. Redistributions in binary form must reproduce the above copyright
|
14
|
-
// notice, this list of conditions and the following disclaimer in the
|
15
|
-
// documentation and/or other materials provided with the distribution.
|
16
|
-
// 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
|
17
|
-
// its contributors may be used to endorse or promote products derived
|
18
|
-
// from this software without specific prior written permission.
|
19
|
-
|
20
|
-
// THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
|
21
|
-
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
22
|
-
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
23
|
-
// DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
|
24
|
-
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
25
|
-
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
26
|
-
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
27
|
-
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
28
|
-
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
29
|
-
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
30
|
-
|
31
5
|
import type {AreaBounds, Bounds} from './common.js';
|
32
6
|
import {drawGridLabels, type GridLabelState, isHorizontalWritingMode} from './css_grid_label_helpers.js';
|
33
7
|
import {applyMatrixToPoint, buildPath, emptyBounds, hatchFillPath} from './highlight_common.js';
|
@@ -1,33 +1,7 @@
|
|
1
|
-
// Copyright
|
1
|
+
// Copyright 2012 The Chromium Authors
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
3
3
|
// found in the LICENSE file.
|
4
4
|
|
5
|
-
// Copyright (C) 2012 Google Inc. All rights reserved.
|
6
|
-
|
7
|
-
// Redistribution and use in source and binary forms, with or without
|
8
|
-
// modification, are permitted provided that the following conditions
|
9
|
-
// are met:
|
10
|
-
|
11
|
-
// 1. Redistributions of source code must retain the above copyright
|
12
|
-
// notice, this list of conditions and the following disclaimer.
|
13
|
-
// 2. Redistributions in binary form must reproduce the above copyright
|
14
|
-
// notice, this list of conditions and the following disclaimer in the
|
15
|
-
// documentation and/or other materials provided with the distribution.
|
16
|
-
// 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
|
17
|
-
// its contributors may be used to endorse or promote products derived
|
18
|
-
// from this software without specific prior written permission.
|
19
|
-
|
20
|
-
// THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
|
21
|
-
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
22
|
-
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
23
|
-
// DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
|
24
|
-
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
25
|
-
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
26
|
-
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
27
|
-
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
28
|
-
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
29
|
-
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
30
|
-
|
31
5
|
import {
|
32
6
|
contrastRatio,
|
33
7
|
contrastRatioAPCA,
|