chrome-devtools-frontend 1.0.1625079 → 1.0.1625854
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/front_end/core/common/VersionController.ts +9 -7
- package/front_end/core/common/common.ts +0 -4
- package/front_end/core/host/Platform.ts +0 -9
- package/front_end/core/host/UserMetrics.ts +0 -55
- package/front_end/core/root/ExperimentNames.ts +0 -1
- package/front_end/core/sdk/CPUThrottlingManager.ts +1 -1
- package/front_end/core/sdk/CSSMetadata.ts +0 -8
- package/front_end/core/sdk/CSSProperty.ts +1 -5
- package/front_end/core/sdk/CSSPropertyParserMatchers.ts +0 -30
- package/front_end/{panels/application → core/sdk}/DOMStorageModel.ts +12 -10
- package/front_end/core/sdk/sdk.ts +2 -0
- package/front_end/entrypoints/main/MainImpl.ts +12 -8
- package/front_end/entrypoints/main/SimpleApp.ts +3 -4
- package/front_end/entrypoints/main/main-meta.ts +1 -1
- package/front_end/generated/InspectorBackendCommands.ts +3 -3
- package/front_end/generated/SupportedCSSProperties.js +21 -21
- package/front_end/generated/protocol.ts +4 -1
- package/front_end/models/ai_code_completion/AiCodeCompletion.ts +10 -2
- package/front_end/models/ai_code_generation/AiCodeGeneration.ts +5 -1
- package/front_end/models/issues_manager/CookieIssue.ts +0 -4
- package/front_end/models/issues_manager/RelatedIssue.ts +0 -14
- package/front_end/models/workspace/IgnoreListManager.ts +1 -1
- package/front_end/models/workspace/UISourceCode.ts +10 -5
- package/front_end/panels/ai_assistance/components/ChatMessage.ts +26 -9
- package/front_end/panels/application/ApplicationPanelSidebar.ts +32 -42
- package/front_end/panels/application/BackForwardCacheTreeElement.ts +2 -2
- package/front_end/panels/application/BounceTrackingMitigationsTreeElement.ts +2 -2
- package/front_end/panels/application/DOMStorageItemsView.ts +18 -13
- package/front_end/panels/application/InterestGroupTreeElement.ts +2 -2
- package/front_end/panels/application/ReportingApiTreeElement.ts +3 -3
- package/front_end/panels/application/ResourcesPanel.ts +1 -2
- package/front_end/panels/application/ServiceWorkerCacheTreeElement.ts +1 -2
- package/front_end/panels/application/StorageView.ts +1 -2
- package/front_end/panels/application/TrustTokensTreeElement.ts +2 -2
- package/front_end/panels/application/WebMCPTreeElement.ts +2 -2
- package/front_end/panels/application/application.ts +0 -2
- package/front_end/panels/console/ConsolePrompt.ts +1 -1
- package/front_end/panels/console/ConsoleView.ts +3 -4
- package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +0 -152
- package/front_end/panels/elements/ElementsTreeElement.ts +4 -9
- package/front_end/panels/elements/StylePropertiesSection.ts +0 -61
- package/front_end/panels/elements/StylePropertyTreeElement.ts +1 -21
- package/front_end/panels/elements/StylesAiCodeCompletionProvider.ts +6 -4
- package/front_end/panels/elements/StylesSidebarPane.ts +2 -3
- package/front_end/panels/elements/stylesSidebarPane.css +0 -8
- package/front_end/panels/emulation/AdvancedApp.ts +3 -3
- package/front_end/panels/emulation/DeviceModeToolbar.ts +203 -377
- package/front_end/panels/emulation/emulation-meta.ts +1 -1
- package/front_end/panels/network/NetworkPanel.ts +1 -1
- package/front_end/panels/profiler/HeapProfilerPanel.ts +1 -2
- package/front_end/panels/screencast/ScreencastApp.ts +3 -3
- package/front_end/panels/screencast/screencast-meta.ts +1 -2
- package/front_end/panels/settings/SettingsScreen.ts +2 -2
- package/front_end/panels/sources/AiCodeCompletionPlugin.ts +2 -4
- package/front_end/panels/sources/SourcesNavigator.ts +1 -1
- package/front_end/panels/sources/UISourceCodeFrame.ts +1 -3
- package/front_end/panels/timeline/TimelinePanel.ts +2 -2
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/locators/locators.d.ts +3 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/locators/locators.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/locators/locators.js +53 -23
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/locators/locators.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +3 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js +18 -8
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +4 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.js +54 -19
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebMCP.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebMCP.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebMCP.js +2 -9
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebMCP.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts +37 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts.map +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/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +5 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +47 -65
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +143 -55
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/locators/locators.d.ts +3 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/locators/locators.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/locators/locators.js +53 -23
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/locators/locators.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +3 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js +18 -8
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +4 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.js +54 -19
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebMCP.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebMCP.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebMCP.js +2 -9
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebMCP.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts +37 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js +5 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +47 -65
- package/front_end/third_party/puppeteer/package/package.json +6 -6
- package/front_end/third_party/puppeteer/package/src/api/Page.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/api/locators/locators.ts +69 -27
- package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +27 -8
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserConnector.ts +4 -2
- package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +6 -0
- package/front_end/third_party/puppeteer/package/src/cdp/TargetManager.ts +60 -18
- package/front_end/third_party/puppeteer/package/src/cdp/WebMCP.ts +7 -9
- package/front_end/third_party/puppeteer/package/src/common/BrowserConnector.ts +3 -0
- package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +37 -1
- package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +7 -2
- package/front_end/third_party/puppeteer/package/src/node/ChromeLauncher.ts +1 -0
- package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
- package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +19 -14
- package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +8 -7
- package/front_end/{core/common → ui/legacy}/AppProvider.ts +1 -1
- package/front_end/ui/legacy/InspectorView.ts +4 -3
- package/front_end/ui/legacy/TabbedPane.ts +1 -1
- package/front_end/ui/legacy/UIUserMetrics.ts +70 -0
- package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +1 -8
- package/front_end/ui/legacy/components/inline_editor/inline_editor.ts +0 -6
- package/front_end/ui/legacy/legacy.ts +6 -0
- package/front_end/ui/visual_logging/KnownContextValues.ts +1 -0
- package/package.json +1 -1
- package/front_end/Images/src/custom-typography.svg +0 -3
- package/front_end/ui/legacy/components/inline_editor/FontEditor.ts +0 -798
- package/front_end/ui/legacy/components/inline_editor/FontEditorUnitConverter.ts +0 -250
- package/front_end/ui/legacy/components/inline_editor/FontEditorUtils.ts +0 -204
- package/front_end/ui/legacy/components/inline_editor/fontEditor.css +0 -185
- /package/front_end/{core/common → ui/legacy}/App.ts +0 -0
|
@@ -13,7 +13,6 @@ import * as DeviceBoundSessionsModel from './DeviceBoundSessionsModel.js';
|
|
|
13
13
|
import * as DeviceBoundSessionsTreeElement from './DeviceBoundSessionsTreeElement.js';
|
|
14
14
|
import * as DeviceBoundSessionsView from './DeviceBoundSessionsView.js';
|
|
15
15
|
import * as DOMStorageItemsView from './DOMStorageItemsView.js';
|
|
16
|
-
import * as DOMStorageModel from './DOMStorageModel.js';
|
|
17
16
|
import * as ExtensionStorageItemsView from './ExtensionStorageItemsView.js';
|
|
18
17
|
import * as ExtensionStorageModel from './ExtensionStorageModel.js';
|
|
19
18
|
import * as FrameDetailsView from './FrameDetailsView.js';
|
|
@@ -58,7 +57,6 @@ export {
|
|
|
58
57
|
DeviceBoundSessionsTreeElement,
|
|
59
58
|
DeviceBoundSessionsView,
|
|
60
59
|
DOMStorageItemsView,
|
|
61
|
-
DOMStorageModel,
|
|
62
60
|
ExtensionStorageItemsView,
|
|
63
61
|
ExtensionStorageModel,
|
|
64
62
|
FrameDetailsView,
|
|
@@ -190,7 +190,7 @@ export class ConsolePrompt extends Common.ObjectWrapper.eventMixin<EventTypes, t
|
|
|
190
190
|
this.editorSetForTest();
|
|
191
191
|
|
|
192
192
|
// Record the console tool load time after the console prompt constructor is complete.
|
|
193
|
-
|
|
193
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelLoaded('console', 'DevTools.Launch.Console');
|
|
194
194
|
}
|
|
195
195
|
|
|
196
196
|
private eagerSettingChanged(): void {
|
|
@@ -571,9 +571,8 @@ export class ConsoleView extends UI.Widget.VBox implements
|
|
|
571
571
|
this.consoleMessages = [];
|
|
572
572
|
this.consoleGroupStarts = [];
|
|
573
573
|
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
AiCodeCompletion.AiCodeCompletion.AiCodeCompletion.isAiCodeCompletionEnabled(devtoolsLocale.locale) ? {
|
|
574
|
+
this.aiCodeCompletionConfig = AiCodeCompletion.AiCodeCompletion.AiCodeCompletion.isAiCodeCompletionAvailable() ?
|
|
575
|
+
{
|
|
577
576
|
completionContext: {
|
|
578
577
|
getPrefix: this.getConsoleMessageHistory.bind(this),
|
|
579
578
|
additionalFiles: [{
|
|
@@ -597,7 +596,7 @@ export class ConsoleView extends UI.Widget.VBox implements
|
|
|
597
596
|
onResponseReceived: this.#onAiCodeCompletionResponseReceived.bind(this),
|
|
598
597
|
panel: AiCodeCompletion.AiCodeCompletion.ContextFlavor.CONSOLE,
|
|
599
598
|
} :
|
|
600
|
-
|
|
599
|
+
undefined;
|
|
601
600
|
|
|
602
601
|
this.prompt = new ConsolePrompt(this.aiCodeCompletionConfig);
|
|
603
602
|
this.prompt.show(this.promptElement);
|
|
@@ -11,9 +11,7 @@ import * as ColorPicker from '../../ui/legacy/components/color_picker/color_pick
|
|
|
11
11
|
import * as InlineEditor from '../../ui/legacy/components/inline_editor/inline_editor.js';
|
|
12
12
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
13
13
|
|
|
14
|
-
import type {StylePropertiesSection} from './StylePropertiesSection.js';
|
|
15
14
|
import type {StylePropertyTreeElement} from './StylePropertyTreeElement.js';
|
|
16
|
-
import type {StylesContainer} from './StylesContainer.js';
|
|
17
15
|
|
|
18
16
|
const UIStrings = {
|
|
19
17
|
/**
|
|
@@ -403,153 +401,3 @@ export class ShadowSwatchPopoverHelper extends Common.ObjectWrapper.ObjectWrappe
|
|
|
403
401
|
delete this.originalPropertyText;
|
|
404
402
|
}
|
|
405
403
|
}
|
|
406
|
-
|
|
407
|
-
export class FontEditorSectionManager {
|
|
408
|
-
private readonly treeElementMap: Map<string, StylePropertyTreeElement>;
|
|
409
|
-
private readonly swatchPopoverHelper: InlineEditor.SwatchPopoverHelper.SwatchPopoverHelper;
|
|
410
|
-
private readonly section: StylePropertiesSection;
|
|
411
|
-
private stylesContainer: StylesContainer|null;
|
|
412
|
-
private fontEditor: InlineEditor.FontEditor.FontEditor|null;
|
|
413
|
-
private scrollerElement: Element|null;
|
|
414
|
-
private readonly boundFontChanged:
|
|
415
|
-
(event: Common.EventTarget.EventTargetEvent<InlineEditor.FontEditor.FontChangedEvent>) => void;
|
|
416
|
-
private readonly boundOnScroll: () => void;
|
|
417
|
-
private readonly boundResized: () => void;
|
|
418
|
-
constructor(
|
|
419
|
-
swatchPopoverHelper: InlineEditor.SwatchPopoverHelper.SwatchPopoverHelper, section: StylePropertiesSection) {
|
|
420
|
-
this.treeElementMap = new Map();
|
|
421
|
-
|
|
422
|
-
this.swatchPopoverHelper = swatchPopoverHelper;
|
|
423
|
-
|
|
424
|
-
this.section = section;
|
|
425
|
-
|
|
426
|
-
this.stylesContainer = null;
|
|
427
|
-
|
|
428
|
-
this.fontEditor = null;
|
|
429
|
-
|
|
430
|
-
this.scrollerElement = null;
|
|
431
|
-
|
|
432
|
-
this.boundFontChanged = this.fontChanged.bind(this);
|
|
433
|
-
this.boundOnScroll = this.onScroll.bind(this);
|
|
434
|
-
this.boundResized = this.fontEditorResized.bind(this);
|
|
435
|
-
}
|
|
436
|
-
|
|
437
|
-
private fontChanged(event: Common.EventTarget.EventTargetEvent<InlineEditor.FontEditor.FontChangedEvent>): void {
|
|
438
|
-
const {propertyName, value} = event.data;
|
|
439
|
-
const treeElement = this.treeElementMap.get(propertyName);
|
|
440
|
-
void this.updateFontProperty(propertyName, value, treeElement);
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
private async updateFontProperty(propertyName: string, value: string, treeElement?: StylePropertyTreeElement):
|
|
444
|
-
Promise<void> {
|
|
445
|
-
if (treeElement?.treeOutline && treeElement.valueElement && treeElement.property.parsedOk &&
|
|
446
|
-
treeElement.property.range) {
|
|
447
|
-
let elementRemoved = false;
|
|
448
|
-
treeElement.valueElement.textContent = value;
|
|
449
|
-
treeElement.property.value = value;
|
|
450
|
-
let styleText;
|
|
451
|
-
const propertyName = treeElement.property.name;
|
|
452
|
-
if (value.length) {
|
|
453
|
-
styleText = treeElement.renderedPropertyText();
|
|
454
|
-
} else {
|
|
455
|
-
styleText = '';
|
|
456
|
-
elementRemoved = true;
|
|
457
|
-
this.fixIndex(treeElement.property.index);
|
|
458
|
-
}
|
|
459
|
-
this.treeElementMap.set(propertyName, treeElement);
|
|
460
|
-
await treeElement.applyStyleText(styleText, true);
|
|
461
|
-
if (elementRemoved) {
|
|
462
|
-
this.treeElementMap.delete(propertyName);
|
|
463
|
-
}
|
|
464
|
-
} else if (value.length) {
|
|
465
|
-
const newProperty = this.section.addNewBlankProperty();
|
|
466
|
-
if (newProperty) {
|
|
467
|
-
newProperty.property.name = propertyName;
|
|
468
|
-
newProperty.property.value = value;
|
|
469
|
-
newProperty.updateTitle();
|
|
470
|
-
await newProperty.applyStyleText(newProperty.renderedPropertyText(), true);
|
|
471
|
-
this.treeElementMap.set(newProperty.property.name, newProperty);
|
|
472
|
-
}
|
|
473
|
-
}
|
|
474
|
-
this.section.onpopulate();
|
|
475
|
-
this.swatchPopoverHelper.reposition();
|
|
476
|
-
return;
|
|
477
|
-
}
|
|
478
|
-
|
|
479
|
-
private fontEditorResized(): void {
|
|
480
|
-
this.swatchPopoverHelper.reposition();
|
|
481
|
-
}
|
|
482
|
-
|
|
483
|
-
private fixIndex(removedIndex: number): void {
|
|
484
|
-
for (const treeElement of this.treeElementMap.values()) {
|
|
485
|
-
if (treeElement.property.index > removedIndex) {
|
|
486
|
-
treeElement.property.index -= 1;
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
|
-
}
|
|
490
|
-
|
|
491
|
-
private createPropertyValueMap(): Map<string, string> {
|
|
492
|
-
const propertyMap = new Map<string, string>();
|
|
493
|
-
for (const fontProperty of this.treeElementMap) {
|
|
494
|
-
const propertyName = (fontProperty[0]);
|
|
495
|
-
const treeElement = fontProperty[1];
|
|
496
|
-
if (treeElement.property.value.length) {
|
|
497
|
-
propertyMap.set(propertyName, treeElement.property.value);
|
|
498
|
-
} else {
|
|
499
|
-
this.treeElementMap.delete(propertyName);
|
|
500
|
-
}
|
|
501
|
-
}
|
|
502
|
-
return propertyMap;
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
registerFontProperty(treeElement: StylePropertyTreeElement): void {
|
|
506
|
-
const propertyName = treeElement.property.name;
|
|
507
|
-
if (this.treeElementMap.has(propertyName)) {
|
|
508
|
-
const treeElementFromMap = this.treeElementMap.get(propertyName);
|
|
509
|
-
if (!treeElement.overloaded() || (treeElementFromMap?.overloaded())) {
|
|
510
|
-
this.treeElementMap.set(propertyName, treeElement);
|
|
511
|
-
}
|
|
512
|
-
} else {
|
|
513
|
-
this.treeElementMap.set(propertyName, treeElement);
|
|
514
|
-
}
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
async showPopover(iconElement: Element, stylesContainer: StylesContainer): Promise<void> {
|
|
518
|
-
if (this.swatchPopoverHelper.isShowing()) {
|
|
519
|
-
this.swatchPopoverHelper.hide(true);
|
|
520
|
-
return;
|
|
521
|
-
}
|
|
522
|
-
this.stylesContainer = stylesContainer;
|
|
523
|
-
const propertyValueMap = this.createPropertyValueMap();
|
|
524
|
-
this.fontEditor = new InlineEditor.FontEditor.FontEditor(propertyValueMap);
|
|
525
|
-
this.fontEditor.addEventListener(InlineEditor.FontEditor.Events.FONT_CHANGED, this.boundFontChanged);
|
|
526
|
-
this.fontEditor.addEventListener(InlineEditor.FontEditor.Events.FONT_EDITOR_RESIZED, this.boundResized);
|
|
527
|
-
this.swatchPopoverHelper.show(this.fontEditor, iconElement, this.onPopoverHidden.bind(this));
|
|
528
|
-
this.scrollerElement = iconElement.enclosingNodeOrSelfWithClass('style-panes-wrapper');
|
|
529
|
-
if (this.scrollerElement) {
|
|
530
|
-
this.scrollerElement.addEventListener('scroll', this.boundOnScroll, false);
|
|
531
|
-
}
|
|
532
|
-
|
|
533
|
-
this.stylesContainer.setEditingStyle(true);
|
|
534
|
-
}
|
|
535
|
-
|
|
536
|
-
private onScroll(): void {
|
|
537
|
-
this.swatchPopoverHelper.hide(true);
|
|
538
|
-
}
|
|
539
|
-
|
|
540
|
-
private onPopoverHidden(): void {
|
|
541
|
-
if (this.scrollerElement) {
|
|
542
|
-
this.scrollerElement.removeEventListener('scroll', this.boundOnScroll, false);
|
|
543
|
-
}
|
|
544
|
-
this.section.onpopulate();
|
|
545
|
-
if (this.fontEditor) {
|
|
546
|
-
this.fontEditor.removeEventListener(InlineEditor.FontEditor.Events.FONT_CHANGED, this.boundFontChanged);
|
|
547
|
-
}
|
|
548
|
-
this.fontEditor = null;
|
|
549
|
-
if (this.stylesContainer) {
|
|
550
|
-
this.stylesContainer.setEditingStyle(false);
|
|
551
|
-
}
|
|
552
|
-
this.section.resetToolbars();
|
|
553
|
-
this.section.onpopulate();
|
|
554
|
-
}
|
|
555
|
-
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// Copyright 2021 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
|
-
/* eslint-disable @devtools/no-imperative-dom-api */
|
|
5
4
|
/* eslint-disable @devtools/no-lit-render-outside-of-view */
|
|
6
5
|
|
|
7
6
|
/*
|
|
@@ -55,7 +54,6 @@ import type * as Adorners from '../../ui/components/adorners/adorners.js';
|
|
|
55
54
|
import * as CodeHighlighter from '../../ui/components/code_highlighter/code_highlighter.js';
|
|
56
55
|
import * as Highlighting from '../../ui/components/highlighting/highlighting.js';
|
|
57
56
|
import * as TextEditor from '../../ui/components/text_editor/text_editor.js';
|
|
58
|
-
import {Icon} from '../../ui/kit/kit.js';
|
|
59
57
|
import * as Components from '../../ui/legacy/components/utils/utils.js';
|
|
60
58
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
61
59
|
import * as Lit from '../../ui/lit/lit.js';
|
|
@@ -1233,12 +1231,9 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
1233
1231
|
this.performUpdate();
|
|
1234
1232
|
|
|
1235
1233
|
if (this.nodeInternal.retained && !this.isClosingTag()) {
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
icon.classList.add('extra-small');
|
|
1240
|
-
icon.style.setProperty('vertical-align', 'middle');
|
|
1241
|
-
this.setLeadingIcons([icon]);
|
|
1234
|
+
this.setLeadingIcons([
|
|
1235
|
+
html`<devtools-icon class="extra-small" name="small-status-dot" style="color:var(--icon-error); vertical-align:middle"></devtools-icon>`
|
|
1236
|
+
]);
|
|
1242
1237
|
this.listItemNode.classList.add('detached-elements-detached-node');
|
|
1243
1238
|
this.listItemNode.style.setProperty('display', '-webkit-box');
|
|
1244
1239
|
this.listItemNode.setAttribute('title', 'Retained Node');
|
|
@@ -2375,7 +2370,7 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
2375
2370
|
private addNewAttribute(): boolean {
|
|
2376
2371
|
// Cannot just convert the textual html into an element without
|
|
2377
2372
|
// a parent node. Use a temporary span container for the HTML.
|
|
2378
|
-
const container = document.
|
|
2373
|
+
const container = document.createDocumentFragment();
|
|
2379
2374
|
|
|
2380
2375
|
Lit.render(renderAttribute({name: ' ', value: ''}, null, false, this.nodeInternal), container);
|
|
2381
2376
|
const attr = container.firstElementChild as HTMLElement;
|
|
@@ -39,7 +39,6 @@ import * as Common from '../../core/common/common.js';
|
|
|
39
39
|
import * as Host from '../../core/host/host.js';
|
|
40
40
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
41
41
|
import * as Platform from '../../core/platform/platform.js';
|
|
42
|
-
import * as Root from '../../core/root/root.js';
|
|
43
42
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
44
43
|
import * as Protocol from '../../generated/protocol.js';
|
|
45
44
|
import * as Badges from '../../models/badges/badges.js';
|
|
@@ -54,7 +53,6 @@ import {html, type LitTemplate, nothing, render} from '../../ui/lit/lit.js';
|
|
|
54
53
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
55
54
|
import * as PanelsCommon from '../common/common.js';
|
|
56
55
|
|
|
57
|
-
import {FontEditorSectionManager} from './ColorSwatchPopoverIcon.js';
|
|
58
56
|
import * as ElementsComponents from './components/components.js';
|
|
59
57
|
import {ElementsPanel} from './ElementsPanel.js';
|
|
60
58
|
import stylePropertiesTreeOutlineStyles from './stylePropertiesTreeOutline.css.js';
|
|
@@ -166,9 +164,6 @@ export class StylePropertiesSection {
|
|
|
166
164
|
private showAllButton: Buttons.Button.Button;
|
|
167
165
|
protected selectorElement: HTMLSpanElement;
|
|
168
166
|
private readonly newStyleRuleToolbar: UI.Toolbar.Toolbar|undefined;
|
|
169
|
-
private readonly fontEditorToolbar: UI.Toolbar.Toolbar|undefined;
|
|
170
|
-
private readonly fontEditorSectionManager: FontEditorSectionManager|undefined;
|
|
171
|
-
private readonly fontEditorButton: UI.Toolbar.ToolbarButton|undefined;
|
|
172
167
|
private selectedSinceMouseDown: boolean;
|
|
173
168
|
private readonly elementToSelectorIndex = new WeakMap<Element, number>();
|
|
174
169
|
navigable: boolean|null|undefined;
|
|
@@ -309,31 +304,6 @@ export class StylePropertiesSection {
|
|
|
309
304
|
UI.ARIAUtils.setHidden(this.newStyleRuleToolbar, true);
|
|
310
305
|
}
|
|
311
306
|
|
|
312
|
-
if (Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.FONT_EDITOR) && this.editable) {
|
|
313
|
-
this.fontEditorToolbar = this.#styleRuleElement.createChild('devtools-toolbar', 'sidebar-pane-section-toolbar');
|
|
314
|
-
this.fontEditorSectionManager = new FontEditorSectionManager(this.stylesContainer.swatchPopoverHelper(), this);
|
|
315
|
-
this.fontEditorButton =
|
|
316
|
-
new UI.Toolbar.ToolbarButton('Font Editor', 'custom-typography', undefined, 'font-editor');
|
|
317
|
-
this.fontEditorButton.addEventListener(UI.Toolbar.ToolbarButton.Events.CLICK, () => {
|
|
318
|
-
this.onFontEditorButtonClicked();
|
|
319
|
-
}, this);
|
|
320
|
-
this.fontEditorButton.element.addEventListener('keydown', event => {
|
|
321
|
-
if (Platform.KeyboardUtilities.isEnterOrSpaceKey(event)) {
|
|
322
|
-
event.consume(true);
|
|
323
|
-
this.onFontEditorButtonClicked();
|
|
324
|
-
}
|
|
325
|
-
}, false);
|
|
326
|
-
this.fontEditorToolbar.appendToolbarItem(this.fontEditorButton);
|
|
327
|
-
|
|
328
|
-
if (this.styleInternal.type === SDK.CSSStyleDeclaration.Type.Inline) {
|
|
329
|
-
if (this.newStyleRuleToolbar) {
|
|
330
|
-
this.newStyleRuleToolbar.classList.add('shifted-toolbar');
|
|
331
|
-
}
|
|
332
|
-
} else {
|
|
333
|
-
this.fontEditorToolbar.classList.add('font-toolbar-hidden');
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
|
|
337
307
|
this.selectorElement.addEventListener('click', this.handleSelectorClick.bind(this), false);
|
|
338
308
|
this.selectorElement.setAttribute(
|
|
339
309
|
'jslog', `${VisualLogging.cssRuleHeader('selector').track({click: true, change: true})}`);
|
|
@@ -409,31 +379,6 @@ export class StylePropertiesSection {
|
|
|
409
379
|
return this.sectionIdx;
|
|
410
380
|
}
|
|
411
381
|
|
|
412
|
-
registerFontProperty(treeElement: StylePropertyTreeElement): void {
|
|
413
|
-
if (this.fontEditorSectionManager) {
|
|
414
|
-
this.fontEditorSectionManager.registerFontProperty(treeElement);
|
|
415
|
-
}
|
|
416
|
-
if (this.fontEditorToolbar) {
|
|
417
|
-
this.fontEditorToolbar.classList.remove('font-toolbar-hidden');
|
|
418
|
-
if (this.newStyleRuleToolbar) {
|
|
419
|
-
this.newStyleRuleToolbar.classList.add('shifted-toolbar');
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
resetToolbars(): void {
|
|
425
|
-
if (this.stylesContainer.swatchPopoverHelper().isShowing() ||
|
|
426
|
-
this.styleInternal.type === SDK.CSSStyleDeclaration.Type.Inline) {
|
|
427
|
-
return;
|
|
428
|
-
}
|
|
429
|
-
if (this.fontEditorToolbar) {
|
|
430
|
-
this.fontEditorToolbar.classList.add('font-toolbar-hidden');
|
|
431
|
-
}
|
|
432
|
-
if (this.newStyleRuleToolbar) {
|
|
433
|
-
this.newStyleRuleToolbar.classList.remove('shifted-toolbar');
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
|
|
437
382
|
static createRuleOriginNode(
|
|
438
383
|
matchedStyles: SDK.CSSMatchedStyles.CSSMatchedStyles, linkifier: Components.Linkifier.Linkifier,
|
|
439
384
|
rule: SDK.CSSRule.CSSRule|null): LitTemplate {
|
|
@@ -678,12 +623,6 @@ export class StylePropertiesSection {
|
|
|
678
623
|
}
|
|
679
624
|
}
|
|
680
625
|
|
|
681
|
-
private onFontEditorButtonClicked(): void {
|
|
682
|
-
if (this.fontEditorSectionManager && this.fontEditorButton) {
|
|
683
|
-
void this.fontEditorSectionManager.showPopover(this.fontEditorButton.element, this.stylesContainer);
|
|
684
|
-
}
|
|
685
|
-
}
|
|
686
|
-
|
|
687
626
|
style(): SDK.CSSStyleDeclaration.CSSStyleDeclaration {
|
|
688
627
|
return this.styleInternal;
|
|
689
628
|
}
|
|
@@ -8,7 +8,6 @@ import * as Common from '../../core/common/common.js';
|
|
|
8
8
|
import * as Host from '../../core/host/host.js';
|
|
9
9
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
10
10
|
import * as Platform from '../../core/platform/platform.js';
|
|
11
|
-
import * as Root from '../../core/root/root.js';
|
|
12
11
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
13
12
|
import type * as Protocol from '../../generated/protocol.js';
|
|
14
13
|
import * as Badges from '../../models/badges/badges.js';
|
|
@@ -1599,20 +1598,6 @@ export class ShadowRenderer extends rendererBase(SDK.CSSPropertyParserMatchers.S
|
|
|
1599
1598
|
}
|
|
1600
1599
|
}
|
|
1601
1600
|
|
|
1602
|
-
// clang-format off
|
|
1603
|
-
export class FontRenderer extends rendererBase(SDK.CSSPropertyParserMatchers.FontMatch) {
|
|
1604
|
-
// clang-format on
|
|
1605
|
-
constructor(readonly treeElement: StylePropertyTreeElement) {
|
|
1606
|
-
super();
|
|
1607
|
-
}
|
|
1608
|
-
|
|
1609
|
-
override render(match: SDK.CSSPropertyParserMatchers.FontMatch, context: RenderingContext): Node[] {
|
|
1610
|
-
this.treeElement.section().registerFontProperty(this.treeElement);
|
|
1611
|
-
const {nodes} = Renderer.render(ASTUtils.siblings(ASTUtils.declValue(match.node)), context);
|
|
1612
|
-
return nodes;
|
|
1613
|
-
}
|
|
1614
|
-
}
|
|
1615
|
-
|
|
1616
1601
|
// clang-format off
|
|
1617
1602
|
export class GridTemplateRenderer extends rendererBase(SDK.CSSPropertyParserMatchers.GridTemplateMatch) {
|
|
1618
1603
|
// clang-format on
|
|
@@ -2462,9 +2447,6 @@ export class StylePropertyTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
2462
2447
|
this.getComputedStyles() ?? new Map(), this.getComputedStyleExtraFields()) :
|
|
2463
2448
|
[];
|
|
2464
2449
|
|
|
2465
|
-
if (Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.FONT_EDITOR) && this.property.parsedOk) {
|
|
2466
|
-
renderers.push(new FontRenderer(this));
|
|
2467
|
-
}
|
|
2468
2450
|
this.listItemElement.removeChildren();
|
|
2469
2451
|
const matchedResult = this.property.parseValue(this.matchedStyles(), this.computedStyles);
|
|
2470
2452
|
this.valueElement = Renderer.renderValueElement(this.property, matchedResult, renderers).valueElement;
|
|
@@ -3610,9 +3592,7 @@ export class StylePropertyTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
3610
3592
|
// This occurs when deleting the last index of a StylePropertiesSection as this.style._allProperties array gets updated
|
|
3611
3593
|
// before we index it when setting the value for updatedProperty
|
|
3612
3594
|
const deleteProperty = majorChange && !styleText.length;
|
|
3613
|
-
if (deleteProperty) {
|
|
3614
|
-
this.#parentSection.resetToolbars();
|
|
3615
|
-
} else if (!deleteProperty && updatedProperty) {
|
|
3595
|
+
if (!deleteProperty && updatedProperty) {
|
|
3616
3596
|
this.property = updatedProperty;
|
|
3617
3597
|
}
|
|
3618
3598
|
|
|
@@ -32,9 +32,8 @@ export class StylesAiCodeCompletionProvider {
|
|
|
32
32
|
#boundOnUpdateAiCodeCompletionState = this.#updateAiCodeCompletionState.bind(this);
|
|
33
33
|
|
|
34
34
|
private constructor(aiCodeCompletionConfig: TextEditor.AiCodeCompletionProvider.AiCodeCompletionConfig) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
throw new Error('AI code completion feature in Styles is not enabled.');
|
|
35
|
+
if (!AiCodeCompletion.AiCodeCompletion.AiCodeCompletion.isAiCodeCompletionStylesAvailable()) {
|
|
36
|
+
throw new Error('AI code completion feature in Styles is not available.');
|
|
38
37
|
}
|
|
39
38
|
this.#aiCodeCompletionConfig = aiCodeCompletionConfig;
|
|
40
39
|
Host.AidaClient.HostConfigTracker.instance().addEventListener(
|
|
@@ -82,7 +81,10 @@ export class StylesAiCodeCompletionProvider {
|
|
|
82
81
|
async #updateAiCodeCompletionState(): Promise<void> {
|
|
83
82
|
const aidaAvailability = await Host.AidaClient.AidaClient.checkAccessPreconditions();
|
|
84
83
|
const isAvailable = aidaAvailability === Host.AidaClient.AidaAccessPreconditions.AVAILABLE;
|
|
85
|
-
const
|
|
84
|
+
const devtoolsLocale = i18n.DevToolsLocale.DevToolsLocale.instance().locale;
|
|
85
|
+
const isEnabled =
|
|
86
|
+
AiCodeCompletion.AiCodeCompletion.AiCodeCompletion.isAiCodeCompletionStylesEnabled(devtoolsLocale) &&
|
|
87
|
+
this.#aiCodeCompletionSetting.get();
|
|
86
88
|
if (isAvailable && isEnabled) {
|
|
87
89
|
this.#setupAiCodeCompletion();
|
|
88
90
|
} else {
|
|
@@ -275,8 +275,7 @@ export class StylesSidebarPane extends Common.ObjectWrapper.eventMixin<EventType
|
|
|
275
275
|
}
|
|
276
276
|
});
|
|
277
277
|
|
|
278
|
-
|
|
279
|
-
if (AiCodeCompletion.AiCodeCompletion.AiCodeCompletion.isAiCodeCompletionStylesEnabled(devtoolsLocale.locale)) {
|
|
278
|
+
if (AiCodeCompletion.AiCodeCompletion.AiCodeCompletion.isAiCodeCompletionStylesAvailable()) {
|
|
280
279
|
this.aiCodeCompletionConfig = {
|
|
281
280
|
completionContext: {},
|
|
282
281
|
generationContext: {},
|
|
@@ -1045,7 +1044,7 @@ export class StylesSidebarPane extends Common.ObjectWrapper.eventMixin<EventType
|
|
|
1045
1044
|
this.swatchPopoverHelper().reposition();
|
|
1046
1045
|
|
|
1047
1046
|
// Record the elements tool load time after the sidepane has loaded.
|
|
1048
|
-
|
|
1047
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelLoaded('elements', 'DevTools.Launch.Elements');
|
|
1049
1048
|
|
|
1050
1049
|
this.dispatchEventToListeners(Events.STYLES_UPDATE_COMPLETED, {hasMatchedStyles: false});
|
|
1051
1050
|
}
|
|
@@ -217,10 +217,6 @@
|
|
|
217
217
|
width: 100%;
|
|
218
218
|
}
|
|
219
219
|
|
|
220
|
-
.font-toolbar-hidden {
|
|
221
|
-
visibility: hidden;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
220
|
.sidebar-separator {
|
|
225
221
|
background-color: var(--sys-color-surface2);
|
|
226
222
|
padding: 0 5px;
|
|
@@ -262,10 +258,6 @@
|
|
|
262
258
|
|
|
263
259
|
--toolbar-height: 16px;
|
|
264
260
|
}
|
|
265
|
-
|
|
266
|
-
&.shifted-toolbar {
|
|
267
|
-
padding-right: 32px;
|
|
268
|
-
}
|
|
269
261
|
}
|
|
270
262
|
|
|
271
263
|
.styles-pane:not(.is-editing-style)
|
|
@@ -13,7 +13,7 @@ import {type Bounds, Events, InspectedPagePlaceholder} from './InspectedPagePlac
|
|
|
13
13
|
|
|
14
14
|
let appInstance: AdvancedApp;
|
|
15
15
|
|
|
16
|
-
export class AdvancedApp implements
|
|
16
|
+
export class AdvancedApp implements UI.App.App {
|
|
17
17
|
private rootSplitWidget!: UI.SplitWidget.SplitWidget;
|
|
18
18
|
private deviceModeView!: DeviceModeWrapper;
|
|
19
19
|
private inspectedPagePlaceholder!: InspectedPagePlaceholder;
|
|
@@ -188,7 +188,7 @@ globalThis.Emulation.AdvancedApp = AdvancedApp;
|
|
|
188
188
|
|
|
189
189
|
let advancedAppProviderInstance: AdvancedAppProvider;
|
|
190
190
|
|
|
191
|
-
export class AdvancedAppProvider implements
|
|
191
|
+
export class AdvancedAppProvider implements UI.AppProvider.AppProvider {
|
|
192
192
|
static instance(opts: {
|
|
193
193
|
forceNew: boolean|null,
|
|
194
194
|
} = {forceNew: null}): AdvancedAppProvider {
|
|
@@ -200,7 +200,7 @@ export class AdvancedAppProvider implements Common.AppProvider.AppProvider {
|
|
|
200
200
|
return advancedAppProviderInstance;
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
-
createApp():
|
|
203
|
+
createApp(): UI.App.App {
|
|
204
204
|
return AdvancedApp.instance();
|
|
205
205
|
}
|
|
206
206
|
}
|