@openfin/core 46.100.66 → 46.100.71

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.
@@ -926,6 +926,21 @@ declare class Application extends EmitterBase<OpenFin_2.ApplicationEvent> {
926
926
  * ```
927
927
  */
928
928
  closeTrayIconPopupMenu(): Promise<void>;
929
+ /**
930
+ * @experimental
931
+ * Retrieves a performance snapshot for all Windows, Views and Frames in the Application.
932
+ *
933
+ * By default, all custom marks and measures are collected, along with navigation/paint entries
934
+ * and resource timing (`resources` defaults to `true`). Pass `include` to restrict custom
935
+ * marks/measures to matching names (string substring or RegExp). Pass `browser: true` to also
936
+ * include hereio internal runtime metrics.
937
+ *
938
+ * See also [MDN | Performance Mark API](https://developer.mozilla.org/en-US/docs/Web/API/Performance/mark)
939
+ *
940
+ * Note - only currently running WebContents will be captured, and performance entries can only be
941
+ * captured for the current navigation of each.
942
+ */
943
+ getPerformanceStats: (options?: OpenFin_2.GetPerformanceStatsOptions) => Promise<OpenFin_2.PerformanceStatsResult>;
929
944
  }
930
945
 
931
946
  /**
@@ -1377,6 +1392,7 @@ declare type ApplicationOptions = LegacyWinOptionsInAppOptions & {
1377
1392
  declare type ApplicationPermissions = {
1378
1393
  setFileDownloadLocation: boolean;
1379
1394
  getFileDownloadLocation: boolean;
1395
+ getPerformanceStats: boolean;
1380
1396
  };
1381
1397
 
1382
1398
  /**
@@ -3132,7 +3148,12 @@ declare type ChildWindowCreatedEvent = ContentCreationRulesEvent & {
3132
3148
  childOptions: OpenFin_2.WindowOptions;
3133
3149
  };
3134
3150
 
3135
- /* Excluded from this release type: ChromeBrowser */
3151
+ declare interface ChromeBrowser {
3152
+ /**
3153
+ * Extension action surface — observe and invoke installed Chrome extension actions.
3154
+ */
3155
+ readonly Actions: ChromeBrowserActions;
3156
+ }
3136
3157
 
3137
3158
  /**
3138
3159
  * APIs for interacting with Chromium extension actions from an initialized ChromeBrowser window.
@@ -4433,6 +4454,8 @@ declare type CopyPermissions = {
4433
4454
  };
4434
4455
  };
4435
4456
 
4457
+ declare type CorePerformanceEntry = Omit<PerformanceEntry, 'toJSON'>;
4458
+
4436
4459
  /**
4437
4460
  * Defines and applies rounded corners for a frameless window. **NOTE:** On macOS corner is not ellipse but circle rounded by the
4438
4461
  * average of _height_ and _width_.
@@ -4585,6 +4608,32 @@ declare type CreateLayoutOptions = {
4585
4608
  * @experimental
4586
4609
  */
4587
4610
  renderCustomHeaderControls?: (controlsElement: HTMLElement, context: HeaderControlsContext) => (() => void) | void;
4611
+ /**
4612
+ * Callback invoked once per tab after core has finished building the tab DOM.
4613
+ * Use this to inject custom controls (e.g. action icons) into view tab hats.
4614
+ *
4615
+ * Optionally return a cleanup function that will be called when the tab is destroyed.
4616
+ *
4617
+ * Custom controls are not serialized into snapshots since callbacks are not
4618
+ * serializable. The callback is re-invoked when tabs are recreated.
4619
+ *
4620
+ * **NOTE**: This feature is only supported with layout engine `'v2'` (GL2) and
4621
+ * `settings.tabOverflowBehavior: 'scroll'`.
4622
+ *
4623
+ * Optionally add the `lm_tab_custom_control` class to each injected control as a direct child of
4624
+ * `tabElement`. That opts the control into {@link LayoutAccessibilityOptions} keyboard
4625
+ * navigation (roving tabindex, arrow keys in DOM order, Enter/Space without switching tabs),
4626
+ * pointer isolation so clicks do not activate or close the tab (press-and-drag still
4627
+ * reorders/tears out tab, matching the close button), and default 20×20 flex sizing
4628
+ * (override using `--layout-tab-custom-control-size`).
4629
+ *
4630
+ * @param tabElement The `.lm_tab` DOM element for the view tab.
4631
+ * @param context Context object with DOM anchors for the tab.
4632
+ * @returns A callback to be called when the rendered elements need to be cleaned up.
4633
+ *
4634
+ * @experimental
4635
+ */
4636
+ renderCustomTabControls?: (tabElement: HTMLElement, context: CustomTabControlsContext) => (() => void) | void;
4588
4637
  /**
4589
4638
  * Accessibility options for the layout. Controls ARIA attributes and keyboard navigation.
4590
4639
  */
@@ -4674,6 +4723,19 @@ declare type CustomRequestHeaders = {
4674
4723
  headers: WebRequestHeader[];
4675
4724
  };
4676
4725
 
4726
+ /**
4727
+ * @interface @experimental
4728
+ */
4729
+ declare type CustomTabControlsContext = {
4730
+ viewIdentity: Identity_4;
4731
+ /** Anchor for inserting controls adjacent to the tab text. */
4732
+ titleElement: HTMLElement;
4733
+ /** Anchor for the trailing outer edge. Absent when the view is not closable. */
4734
+ closeElement?: HTMLElement;
4735
+ /** The favicon element. Hidden when favicons are disabled. */
4736
+ faviconElement?: HTMLElement;
4737
+ };
4738
+
4677
4739
  declare type DataChannelReadyState = RTCDataChannel['readyState'];
4678
4740
 
4679
4741
  export declare type DefaultColorChannelId = keyof typeof defaultColorChannels;
@@ -6421,6 +6483,32 @@ declare type GetLogRequestType = {
6421
6483
  name: string;
6422
6484
  };
6423
6485
 
6486
+ /**
6487
+ * End of Interop Client Events
6488
+ */
6489
+ /**
6490
+ * Performance Entry Types
6491
+ */
6492
+ declare type GetPerformanceStatsOptions = {
6493
+ /**
6494
+ * Optional filter for custom performance marks and measures.
6495
+ * When omitted, all custom marks and measures are collected.
6496
+ * When specified, only entries whose names match one of the filters are collected.
6497
+ * Strings match by substring; RegExp matches by test.
6498
+ */
6499
+ include?: (string | RegExp)[];
6500
+ /**
6501
+ * Include `resource` timing entries from each View / Frame / Window.
6502
+ * Defaults to `true`. Pass `false` to omit them.
6503
+ */
6504
+ resources?: boolean;
6505
+ /**
6506
+ * Whether to include hereio internal runtime metrics.
6507
+ * Defaults to `false`. Pass `true` to include.
6508
+ */
6509
+ browser?: boolean;
6510
+ };
6511
+
6424
6512
  declare type GetterCall<T> = ApiCall<void, T>;
6425
6513
 
6426
6514
  /**
@@ -9926,6 +10014,7 @@ declare type MutableViewOptions = {
9926
10014
  preventDragOut: boolean;
9927
10015
  interop?: InteropConfig;
9928
10016
  /* Excluded from this release type: _internalWorkspaceData */
10017
+ /* Excluded from this release type: workspacePlatform */
9929
10018
  /**
9930
10019
  * {@inheritDoc ViewThrottling}
9931
10020
  *
@@ -10849,6 +10938,7 @@ declare namespace OpenFin_2 {
10849
10938
  ScreenCaptureBehavior,
10850
10939
  DomainSettingsPreloadScripts,
10851
10940
  PerDomainSettings,
10941
+ UrlRestoreSettings,
10852
10942
  CopyPermissions,
10853
10943
  PastePermissions,
10854
10944
  ClipboardPermissions,
@@ -10916,6 +11006,7 @@ declare namespace OpenFin_2 {
10916
11006
  LayoutManagerOverride,
10917
11007
  LayoutManager,
10918
11008
  HeaderControlsContext,
11009
+ CustomTabControlsContext,
10919
11010
  CreateLayoutOptions,
10920
11011
  MultiInstanceViewBehavior,
10921
11012
  LayoutAccessibilityOptions,
@@ -10989,6 +11080,12 @@ declare namespace OpenFin_2 {
10989
11080
  InteropClientEvent,
10990
11081
  ClientChangedContextGroup,
10991
11082
  InteropClientEvents,
11083
+ GetPerformanceStatsOptions,
11084
+ SerializedPerformanceOptions,
11085
+ CorePerformanceEntry,
11086
+ WebContentPerformanceStats,
11087
+ WindowPerformanceStats,
11088
+ PerformanceStatsResult,
10992
11089
  ChromeBrowser,
10993
11090
  LanguageInfo,
10994
11091
  PageTranslateOptions,
@@ -11275,6 +11372,12 @@ declare type PerDomainSettings = {
11275
11372
  * See also {@link AppLogLevel} for more information.
11276
11373
  */
11277
11374
  appLogLevel?: AppLogLevel;
11375
+ /**
11376
+ * When the live URL matches this rule, remap inbound
11377
+ * {@link View.ViewModule.navigate View.navigate} / {@link Window.WindowModule.navigate Window.navigate}
11378
+ * to {@link UrlRestoreSettings.url}.
11379
+ */
11380
+ urlRestore?: UrlRestoreSettings;
11278
11381
  };
11279
11382
 
11280
11383
  /**
@@ -11285,6 +11388,15 @@ declare type PerformanceReportEvent = Performance & BaseEvent_5 & {
11285
11388
  type: 'performance-report';
11286
11389
  };
11287
11390
 
11391
+ declare type PerformanceStatsResult = {
11392
+ mainWindow: WindowPerformanceStats;
11393
+ childWindows: WindowPerformanceStats[];
11394
+ browser?: {
11395
+ timeOrigin: number;
11396
+ entries: CorePerformanceEntry[];
11397
+ };
11398
+ };
11399
+
11288
11400
  /**
11289
11401
  * @interface
11290
11402
  *
@@ -12139,20 +12251,6 @@ declare type PlatformOptions = ApplicationCreationOptions & {
12139
12251
  * @default true
12140
12252
  */
12141
12253
  allowLaunchIntoPlatform?: boolean;
12142
- /**
12143
- * @experimental
12144
- *
12145
- * Creates window chrome before views. `createWindow` resolves when the window exists
12146
- * (`window-created`) instead of waiting for layout creation to finish (`layout-ready`).
12147
- *
12148
- * Views start after the window exists. During `applySnapshot`, every window shell is
12149
- * created first; view creation starts after `platform-snapshot-applied`.
12150
- *
12151
- * Tradeoff: windows appear sooner, but view content and `layout-ready` are delayed.
12152
- *
12153
- * @default false
12154
- */
12155
- deferViewCreation?: boolean;
12156
12254
  };
12157
12255
 
12158
12256
  /**
@@ -13425,6 +13523,11 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13425
13523
  response: OpenFin_2.MenuResult;
13426
13524
  };
13427
13525
  'close-tray-icon-popup-menu': IdentityCall<{}, void>;
13526
+ 'get-application-performance-stats': ApplicationIdentityCall<OpenFin_2.SerializedPerformanceOptions, OpenFin_2.PerformanceStatsResult> & {
13527
+ secure: true;
13528
+ namespace: 'Application';
13529
+ apiPath: '.getPerformanceStats';
13530
+ };
13428
13531
  'create-application': ApiCall<OpenFin_2.ApplicationCreationOptions, void>;
13429
13532
  'run-applications': ApiCall<{
13430
13533
  applications: Array<OpenFin_2.ManifestInfo>;
@@ -14810,6 +14913,16 @@ declare type SentMessage<Value> = Promise<Value> & {
14810
14913
  messageId: ReturnType<Environment['getNextMessageId']>;
14811
14914
  };
14812
14915
 
14916
+ declare type SerializedFilter = string | {
14917
+ type: 'regex';
14918
+ expression: string;
14919
+ flags?: string;
14920
+ };
14921
+
14922
+ declare type SerializedPerformanceOptions = Omit<GetPerformanceStatsOptions, 'include'> & {
14923
+ include?: SerializedFilter[];
14924
+ };
14925
+
14813
14926
  declare type ServeAssetOptions = AppAssetServeRequest | PathServeRequest;
14814
14927
 
14815
14928
  declare type ServedAssetInfo = {
@@ -17809,6 +17922,16 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
17809
17922
  httpStatusText: string;
17810
17923
  });
17811
17924
 
17925
+ /**
17926
+ * Domain-settings policy that replaces a matched live URL with a configured start URI.
17927
+ */
17928
+ declare type UrlRestoreSettings = {
17929
+ /**
17930
+ * Absolute replacement URL. Full URL replace, not prefix rewrite.
17931
+ */
17932
+ url: string;
17933
+ };
17934
+
17812
17935
  /**
17813
17936
  * @interface
17814
17937
  */
@@ -18616,10 +18739,10 @@ declare type ViewTabAccessibilityOptions = {
18616
18739
  * Uses roving tabindex pattern - only one element focusable at a time.
18617
18740
  * @default ['active-tab', 'add-tab-button']
18618
18741
  */
18619
- tabNavigation?: ViewTabElements[];
18742
+ tabNavigation?: Exclude<ViewTabElements, 'active-tab-custom-control' | 'inactive-tab-custom-control'>[];
18620
18743
  /**
18621
18744
  * Controls which elements are navigable via Arrow keys.
18622
- * @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button']
18745
+ * @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button', 'active-tab-custom-control', 'inactive-tab-custom-control']
18623
18746
  */
18624
18747
  arrowNavigation?: ViewTabElements[];
18625
18748
  /**
@@ -18651,7 +18774,7 @@ declare type ViewTabAccessibilityOptions = {
18651
18774
  /**
18652
18775
  * Elements that can be navigated in view tabs.
18653
18776
  */
18654
- declare type ViewTabElements = 'active-tab' | 'inactive-tab' | 'active-tab-close-button' | 'inactive-tab-close-button' | 'add-tab-button';
18777
+ declare type ViewTabElements = 'active-tab' | 'inactive-tab' | 'active-tab-close-button' | 'inactive-tab-close-button' | 'add-tab-button' | 'active-tab-custom-control' | 'inactive-tab-custom-control';
18655
18778
 
18656
18779
  /**
18657
18780
  * View throttling state.
@@ -18705,6 +18828,22 @@ declare type VoidCall = ApiCall<void, void>;
18705
18828
 
18706
18829
  declare type WebContent = View_2 | _Window;
18707
18830
 
18831
+ declare type WebContentPerformanceStatBase = {
18832
+ name: string;
18833
+ entries: CorePerformanceEntry[];
18834
+ navigation: {
18835
+ historyLength: number;
18836
+ timeOrigin: number;
18837
+ };
18838
+ url: string;
18839
+ frames: WebContentPerformanceStats[];
18840
+ };
18841
+
18842
+ declare type WebContentPerformanceStats = WebContentPerformanceStatBase | {
18843
+ error: string;
18844
+ url: string;
18845
+ };
18846
+
18708
18847
  declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
18709
18848
  identity: OpenFin_2.Identity;
18710
18849
  entityType: 'window' | 'view';
@@ -21312,6 +21451,13 @@ declare type WindowOptionsChangedEvent = OpenFin_2.WindowEvents.WindowOptionsCha
21312
21451
  */
21313
21452
  declare type WindowOptionsChangedEvent_2 = OptionsChangedEvent;
21314
21453
 
21454
+ declare type WindowPerformanceStats = (WebContentPerformanceStatBase & {
21455
+ views: WebContentPerformanceStats[];
21456
+ }) | {
21457
+ error: string;
21458
+ url: string;
21459
+ };
21460
+
21315
21461
  declare type WindowPrintOptions = PrintOptions | ScreenshotPrintOptions | WindowViewsPrintOptions;
21316
21462
 
21317
21463
  /**
package/out/stub.d.ts CHANGED
@@ -932,6 +932,21 @@ declare class Application extends EmitterBase<OpenFin_2.ApplicationEvent> {
932
932
  * ```
933
933
  */
934
934
  closeTrayIconPopupMenu(): Promise<void>;
935
+ /**
936
+ * @experimental
937
+ * Retrieves a performance snapshot for all Windows, Views and Frames in the Application.
938
+ *
939
+ * By default, all custom marks and measures are collected, along with navigation/paint entries
940
+ * and resource timing (`resources` defaults to `true`). Pass `include` to restrict custom
941
+ * marks/measures to matching names (string substring or RegExp). Pass `browser: true` to also
942
+ * include hereio internal runtime metrics.
943
+ *
944
+ * See also [MDN | Performance Mark API](https://developer.mozilla.org/en-US/docs/Web/API/Performance/mark)
945
+ *
946
+ * Note - only currently running WebContents will be captured, and performance entries can only be
947
+ * captured for the current navigation of each.
948
+ */
949
+ getPerformanceStats: (options?: OpenFin_2.GetPerformanceStatsOptions) => Promise<OpenFin_2.PerformanceStatsResult>;
935
950
  }
936
951
 
937
952
  /**
@@ -1383,6 +1398,7 @@ declare type ApplicationOptions = LegacyWinOptionsInAppOptions & {
1383
1398
  declare type ApplicationPermissions = {
1384
1399
  setFileDownloadLocation: boolean;
1385
1400
  getFileDownloadLocation: boolean;
1401
+ getPerformanceStats: boolean;
1386
1402
  };
1387
1403
 
1388
1404
  /**
@@ -3188,23 +3204,6 @@ declare type ChildWindowCreatedEvent = ContentCreationRulesEvent & {
3188
3204
  childOptions: OpenFin_2.WindowOptions;
3189
3205
  };
3190
3206
 
3191
- /**
3192
- * End of Interop Client Events
3193
- */
3194
- /**
3195
- * Client-side handle for the chrome-browser feature.
3196
- *
3197
- * For extension integration to be active on a window, that window must be
3198
- * created with `chromeBrowser: true` in its window options.
3199
- *
3200
- * @remarks
3201
- * This namespace is intended for internal experimentation only. Enabling the
3202
- * `chromeBrowser` window option changes how the runtime manages content and standard
3203
- * OpenFin content behavior is not guaranteed.
3204
- *
3205
- * @internal
3206
- * @experimental This API is under active development and may change or be removed without notice.
3207
- */
3208
3207
  declare interface ChromeBrowser {
3209
3208
  /**
3210
3209
  * Extension action surface — observe and invoke installed Chrome extension actions.
@@ -4561,6 +4560,8 @@ declare type CopyPermissions = {
4561
4560
  };
4562
4561
  };
4563
4562
 
4563
+ declare type CorePerformanceEntry = Omit<PerformanceEntry, 'toJSON'>;
4564
+
4564
4565
  /**
4565
4566
  * Defines and applies rounded corners for a frameless window. **NOTE:** On macOS corner is not ellipse but circle rounded by the
4566
4567
  * average of _height_ and _width_.
@@ -4713,6 +4714,32 @@ declare type CreateLayoutOptions = {
4713
4714
  * @experimental
4714
4715
  */
4715
4716
  renderCustomHeaderControls?: (controlsElement: HTMLElement, context: HeaderControlsContext) => (() => void) | void;
4717
+ /**
4718
+ * Callback invoked once per tab after core has finished building the tab DOM.
4719
+ * Use this to inject custom controls (e.g. action icons) into view tab hats.
4720
+ *
4721
+ * Optionally return a cleanup function that will be called when the tab is destroyed.
4722
+ *
4723
+ * Custom controls are not serialized into snapshots since callbacks are not
4724
+ * serializable. The callback is re-invoked when tabs are recreated.
4725
+ *
4726
+ * **NOTE**: This feature is only supported with layout engine `'v2'` (GL2) and
4727
+ * `settings.tabOverflowBehavior: 'scroll'`.
4728
+ *
4729
+ * Optionally add the `lm_tab_custom_control` class to each injected control as a direct child of
4730
+ * `tabElement`. That opts the control into {@link LayoutAccessibilityOptions} keyboard
4731
+ * navigation (roving tabindex, arrow keys in DOM order, Enter/Space without switching tabs),
4732
+ * pointer isolation so clicks do not activate or close the tab (press-and-drag still
4733
+ * reorders/tears out tab, matching the close button), and default 20×20 flex sizing
4734
+ * (override using `--layout-tab-custom-control-size`).
4735
+ *
4736
+ * @param tabElement The `.lm_tab` DOM element for the view tab.
4737
+ * @param context Context object with DOM anchors for the tab.
4738
+ * @returns A callback to be called when the rendered elements need to be cleaned up.
4739
+ *
4740
+ * @experimental
4741
+ */
4742
+ renderCustomTabControls?: (tabElement: HTMLElement, context: CustomTabControlsContext) => (() => void) | void;
4716
4743
  /**
4717
4744
  * Accessibility options for the layout. Controls ARIA attributes and keyboard navigation.
4718
4745
  */
@@ -4802,6 +4829,19 @@ declare type CustomRequestHeaders = {
4802
4829
  headers: WebRequestHeader[];
4803
4830
  };
4804
4831
 
4832
+ /**
4833
+ * @interface @experimental
4834
+ */
4835
+ declare type CustomTabControlsContext = {
4836
+ viewIdentity: Identity_4;
4837
+ /** Anchor for inserting controls adjacent to the tab text. */
4838
+ titleElement: HTMLElement;
4839
+ /** Anchor for the trailing outer edge. Absent when the view is not closable. */
4840
+ closeElement?: HTMLElement;
4841
+ /** The favicon element. Hidden when favicons are disabled. */
4842
+ faviconElement?: HTMLElement;
4843
+ };
4844
+
4805
4845
  declare type DataChannelReadyState = RTCDataChannel['readyState'];
4806
4846
 
4807
4847
  export declare type DefaultColorChannelId = keyof typeof defaultColorChannels;
@@ -6584,6 +6624,32 @@ declare type GetLogRequestType = {
6584
6624
  name: string;
6585
6625
  };
6586
6626
 
6627
+ /**
6628
+ * End of Interop Client Events
6629
+ */
6630
+ /**
6631
+ * Performance Entry Types
6632
+ */
6633
+ declare type GetPerformanceStatsOptions = {
6634
+ /**
6635
+ * Optional filter for custom performance marks and measures.
6636
+ * When omitted, all custom marks and measures are collected.
6637
+ * When specified, only entries whose names match one of the filters are collected.
6638
+ * Strings match by substring; RegExp matches by test.
6639
+ */
6640
+ include?: (string | RegExp)[];
6641
+ /**
6642
+ * Include `resource` timing entries from each View / Frame / Window.
6643
+ * Defaults to `true`. Pass `false` to omit them.
6644
+ */
6645
+ resources?: boolean;
6646
+ /**
6647
+ * Whether to include hereio internal runtime metrics.
6648
+ * Defaults to `false`. Pass `true` to include.
6649
+ */
6650
+ browser?: boolean;
6651
+ };
6652
+
6587
6653
  declare type GetterCall<T> = ApiCall<void, T>;
6588
6654
 
6589
6655
  /**
@@ -10314,6 +10380,12 @@ declare type MutableViewOptions = {
10314
10380
  * Used by Workspace to store custom data. Overwriting or modifying this field may impact the functionality of Workspace
10315
10381
  */
10316
10382
  _internalWorkspaceData: any;
10383
+ /**
10384
+ * @internal
10385
+ * Used by Workspace to store platform-specific options (including `viewTab`). Overwriting or modifying this field may impact the functionality of Workspace.
10386
+ * Persisted on create, {@link View.View#updateOptions updateOptions}, snapshot, and {@link View.View#getOptions getOptions} — the same way windows persist `workspacePlatform`.
10387
+ */
10388
+ workspacePlatform?: WorkspacePlatformOptions;
10317
10389
  /**
10318
10390
  * {@inheritDoc ViewThrottling}
10319
10391
  *
@@ -11258,6 +11330,7 @@ declare namespace OpenFin_2 {
11258
11330
  ScreenCaptureBehavior,
11259
11331
  DomainSettingsPreloadScripts,
11260
11332
  PerDomainSettings,
11333
+ UrlRestoreSettings,
11261
11334
  CopyPermissions,
11262
11335
  PastePermissions,
11263
11336
  ClipboardPermissions,
@@ -11325,6 +11398,7 @@ declare namespace OpenFin_2 {
11325
11398
  LayoutManagerOverride,
11326
11399
  LayoutManager,
11327
11400
  HeaderControlsContext,
11401
+ CustomTabControlsContext,
11328
11402
  CreateLayoutOptions,
11329
11403
  MultiInstanceViewBehavior,
11330
11404
  LayoutAccessibilityOptions,
@@ -11398,6 +11472,12 @@ declare namespace OpenFin_2 {
11398
11472
  InteropClientEvent,
11399
11473
  ClientChangedContextGroup,
11400
11474
  InteropClientEvents,
11475
+ GetPerformanceStatsOptions,
11476
+ SerializedPerformanceOptions,
11477
+ CorePerformanceEntry,
11478
+ WebContentPerformanceStats,
11479
+ WindowPerformanceStats,
11480
+ PerformanceStatsResult,
11401
11481
  ChromeBrowser,
11402
11482
  LanguageInfo,
11403
11483
  PageTranslateOptions,
@@ -11684,6 +11764,12 @@ declare type PerDomainSettings = {
11684
11764
  * See also {@link AppLogLevel} for more information.
11685
11765
  */
11686
11766
  appLogLevel?: AppLogLevel;
11767
+ /**
11768
+ * When the live URL matches this rule, remap inbound
11769
+ * {@link View.ViewModule.navigate View.navigate} / {@link Window.WindowModule.navigate Window.navigate}
11770
+ * to {@link UrlRestoreSettings.url}.
11771
+ */
11772
+ urlRestore?: UrlRestoreSettings;
11687
11773
  };
11688
11774
 
11689
11775
  /**
@@ -11694,6 +11780,15 @@ declare type PerformanceReportEvent = Performance & BaseEvent_5 & {
11694
11780
  type: 'performance-report';
11695
11781
  };
11696
11782
 
11783
+ declare type PerformanceStatsResult = {
11784
+ mainWindow: WindowPerformanceStats;
11785
+ childWindows: WindowPerformanceStats[];
11786
+ browser?: {
11787
+ timeOrigin: number;
11788
+ entries: CorePerformanceEntry[];
11789
+ };
11790
+ };
11791
+
11697
11792
  /**
11698
11793
  * @interface
11699
11794
  *
@@ -12586,20 +12681,6 @@ declare type PlatformOptions = ApplicationCreationOptions & {
12586
12681
  * @default true
12587
12682
  */
12588
12683
  allowLaunchIntoPlatform?: boolean;
12589
- /**
12590
- * @experimental
12591
- *
12592
- * Creates window chrome before views. `createWindow` resolves when the window exists
12593
- * (`window-created`) instead of waiting for layout creation to finish (`layout-ready`).
12594
- *
12595
- * Views start after the window exists. During `applySnapshot`, every window shell is
12596
- * created first; view creation starts after `platform-snapshot-applied`.
12597
- *
12598
- * Tradeoff: windows appear sooner, but view content and `layout-ready` are delayed.
12599
- *
12600
- * @default false
12601
- */
12602
- deferViewCreation?: boolean;
12603
12684
  };
12604
12685
 
12605
12686
  /**
@@ -13917,6 +13998,11 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13917
13998
  response: OpenFin_2.MenuResult;
13918
13999
  };
13919
14000
  'close-tray-icon-popup-menu': IdentityCall<{}, void>;
14001
+ 'get-application-performance-stats': ApplicationIdentityCall<OpenFin_2.SerializedPerformanceOptions, OpenFin_2.PerformanceStatsResult> & {
14002
+ secure: true;
14003
+ namespace: 'Application';
14004
+ apiPath: '.getPerformanceStats';
14005
+ };
13920
14006
  'create-application': ApiCall<OpenFin_2.ApplicationCreationOptions, void>;
13921
14007
  'run-applications': ApiCall<{
13922
14008
  applications: Array<OpenFin_2.ManifestInfo>;
@@ -15302,6 +15388,16 @@ declare type SentMessage<Value> = Promise<Value> & {
15302
15388
  messageId: ReturnType<Environment['getNextMessageId']>;
15303
15389
  };
15304
15390
 
15391
+ declare type SerializedFilter = string | {
15392
+ type: 'regex';
15393
+ expression: string;
15394
+ flags?: string;
15395
+ };
15396
+
15397
+ declare type SerializedPerformanceOptions = Omit<GetPerformanceStatsOptions, 'include'> & {
15398
+ include?: SerializedFilter[];
15399
+ };
15400
+
15305
15401
  declare type ServeAssetOptions = AppAssetServeRequest | PathServeRequest;
15306
15402
 
15307
15403
  declare type ServedAssetInfo = {
@@ -18314,6 +18410,16 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
18314
18410
  httpStatusText: string;
18315
18411
  });
18316
18412
 
18413
+ /**
18414
+ * Domain-settings policy that replaces a matched live URL with a configured start URI.
18415
+ */
18416
+ declare type UrlRestoreSettings = {
18417
+ /**
18418
+ * Absolute replacement URL. Full URL replace, not prefix rewrite.
18419
+ */
18420
+ url: string;
18421
+ };
18422
+
18317
18423
  /**
18318
18424
  * @interface
18319
18425
  */
@@ -19158,10 +19264,10 @@ declare type ViewTabAccessibilityOptions = {
19158
19264
  * Uses roving tabindex pattern - only one element focusable at a time.
19159
19265
  * @default ['active-tab', 'add-tab-button']
19160
19266
  */
19161
- tabNavigation?: ViewTabElements[];
19267
+ tabNavigation?: Exclude<ViewTabElements, 'active-tab-custom-control' | 'inactive-tab-custom-control'>[];
19162
19268
  /**
19163
19269
  * Controls which elements are navigable via Arrow keys.
19164
- * @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button']
19270
+ * @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button', 'active-tab-custom-control', 'inactive-tab-custom-control']
19165
19271
  */
19166
19272
  arrowNavigation?: ViewTabElements[];
19167
19273
  /**
@@ -19193,7 +19299,7 @@ declare type ViewTabAccessibilityOptions = {
19193
19299
  /**
19194
19300
  * Elements that can be navigated in view tabs.
19195
19301
  */
19196
- declare type ViewTabElements = 'active-tab' | 'inactive-tab' | 'active-tab-close-button' | 'inactive-tab-close-button' | 'add-tab-button';
19302
+ declare type ViewTabElements = 'active-tab' | 'inactive-tab' | 'active-tab-close-button' | 'inactive-tab-close-button' | 'add-tab-button' | 'active-tab-custom-control' | 'inactive-tab-custom-control';
19197
19303
 
19198
19304
  /**
19199
19305
  * View throttling state.
@@ -19247,6 +19353,22 @@ declare type VoidCall = ApiCall<void, void>;
19247
19353
 
19248
19354
  declare type WebContent = View_2 | _Window;
19249
19355
 
19356
+ declare type WebContentPerformanceStatBase = {
19357
+ name: string;
19358
+ entries: CorePerformanceEntry[];
19359
+ navigation: {
19360
+ historyLength: number;
19361
+ timeOrigin: number;
19362
+ };
19363
+ url: string;
19364
+ frames: WebContentPerformanceStats[];
19365
+ };
19366
+
19367
+ declare type WebContentPerformanceStats = WebContentPerformanceStatBase | {
19368
+ error: string;
19369
+ url: string;
19370
+ };
19371
+
19250
19372
  declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
19251
19373
  identity: OpenFin_2.Identity;
19252
19374
  entityType: 'window' | 'view';
@@ -21857,6 +21979,13 @@ declare type WindowOptionsChangedEvent = OpenFin_2.WindowEvents.WindowOptionsCha
21857
21979
  */
21858
21980
  declare type WindowOptionsChangedEvent_2 = OptionsChangedEvent;
21859
21981
 
21982
+ declare type WindowPerformanceStats = (WebContentPerformanceStatBase & {
21983
+ views: WebContentPerformanceStats[];
21984
+ }) | {
21985
+ error: string;
21986
+ url: string;
21987
+ };
21988
+
21860
21989
  declare type WindowPrintOptions = PrintOptions | ScreenshotPrintOptions | WindowViewsPrintOptions;
21861
21990
 
21862
21991
  /**