@openfin/fdc3-api 45.100.113 → 45.100.115

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.
@@ -923,6 +923,21 @@ declare class Application extends EmitterBase<OpenFin.ApplicationEvent> {
923
923
  * ```
924
924
  */
925
925
  closeTrayIconPopupMenu(): Promise<void>;
926
+ /**
927
+ * @experimental
928
+ * Retrieves a performance snapshot for all Windows, Views and Frames in the Application.
929
+ *
930
+ * By default, all custom marks and measures are collected, along with navigation/paint entries
931
+ * and resource timing (`resources` defaults to `true`). Pass `include` to restrict custom
932
+ * marks/measures to matching names (string substring or RegExp). Pass `browser: true` to also
933
+ * include hereio internal runtime metrics.
934
+ *
935
+ * See also [MDN | Performance Mark API](https://developer.mozilla.org/en-US/docs/Web/API/Performance/mark)
936
+ *
937
+ * Note - only currently running WebContents will be captured, and performance entries can only be
938
+ * captured for the current navigation of each.
939
+ */
940
+ getPerformanceStats: (options?: OpenFin.GetPerformanceStatsOptions) => Promise<OpenFin.PerformanceStatsResult>;
926
941
  }
927
942
 
928
943
  /**
@@ -1374,6 +1389,7 @@ declare type ApplicationOptions = LegacyWinOptionsInAppOptions & {
1374
1389
  declare type ApplicationPermissions = {
1375
1390
  setFileDownloadLocation: boolean;
1376
1391
  getFileDownloadLocation: boolean;
1392
+ getPerformanceStats: boolean;
1377
1393
  };
1378
1394
 
1379
1395
  /**
@@ -2163,6 +2179,15 @@ declare type ByType_8<Type extends EventType_8> = Payload_10<Type>;
2163
2179
  */
2164
2180
  declare type ByType_9<Type extends EventType_9> = Payload_11<Type>;
2165
2181
 
2182
+ /** Minimal V8 CallSite shape — js-adapter does not include @types/node. */
2183
+ declare interface CallSite {
2184
+ getFileName(): string | null;
2185
+ toString(): string;
2186
+ }
2187
+
2188
+ /** V8 CallSite objects, or native stack-frame strings from browsers that ignore Error.prepareStackTrace. */
2189
+ declare type CapturedStack = CallSite[] | string[];
2190
+
2166
2191
  /**
2167
2192
  * Configuration for page capture.
2168
2193
  *
@@ -3120,7 +3145,12 @@ declare type ChildWindowCreatedEvent = ContentCreationRulesEvent & {
3120
3145
  childOptions: OpenFin.WindowOptions;
3121
3146
  };
3122
3147
 
3123
- /* Excluded from this release type: ChromeBrowser */
3148
+ declare interface ChromeBrowser {
3149
+ /**
3150
+ * Extension action surface — observe and invoke installed Chrome extension actions.
3151
+ */
3152
+ readonly Actions: ChromeBrowserActions;
3153
+ }
3124
3154
 
3125
3155
  /**
3126
3156
  * APIs for interacting with Chromium extension actions from an initialized ChromeBrowser window.
@@ -4098,7 +4128,7 @@ declare type ConstWindowOptions = {
4098
4128
  width: number;
4099
4129
  x: number;
4100
4130
  y: number;
4101
- experimental?: any;
4131
+ /* Excluded from this release type: experimental */
4102
4132
  fdc3InteropApi?: string;
4103
4133
  /**
4104
4134
  * _Platform Windows Only_. Controls behavior for showing views when they are being resized by the user.
@@ -4421,6 +4451,8 @@ declare type CopyPermissions = {
4421
4451
  };
4422
4452
  };
4423
4453
 
4454
+ declare type CorePerformanceEntry = Omit<PerformanceEntry, 'toJSON'>;
4455
+
4424
4456
  /**
4425
4457
  * Defines and applies rounded corners for a frameless window. **NOTE:** On macOS corner is not ellipse but circle rounded by the
4426
4458
  * average of _height_ and _width_.
@@ -4573,6 +4605,32 @@ declare type CreateLayoutOptions = {
4573
4605
  * @experimental
4574
4606
  */
4575
4607
  renderCustomHeaderControls?: (controlsElement: HTMLElement, context: HeaderControlsContext) => (() => void) | void;
4608
+ /**
4609
+ * Callback invoked once per tab after core has finished building the tab DOM.
4610
+ * Use this to inject custom controls (e.g. action icons) into view tab hats.
4611
+ *
4612
+ * Optionally return a cleanup function that will be called when the tab is destroyed.
4613
+ *
4614
+ * Custom controls are not serialized into snapshots since callbacks are not
4615
+ * serializable. The callback is re-invoked when tabs are recreated.
4616
+ *
4617
+ * **NOTE**: This feature is only supported with layout engine `'v2'` (GL2) and
4618
+ * `settings.tabOverflowBehavior: 'scroll'`.
4619
+ *
4620
+ * Optionally add the `lm_tab_custom_control` class to each injected control as a direct child of
4621
+ * `tabElement`. That opts the control into {@link LayoutAccessibilityOptions} keyboard
4622
+ * navigation (roving tabindex, arrow keys in DOM order, Enter/Space without switching tabs),
4623
+ * pointer isolation so clicks do not activate or close the tab (press-and-drag still
4624
+ * reorders/tears out tab, matching the close button), and default 20×20 flex sizing
4625
+ * (override using `--layout-tab-custom-control-size`).
4626
+ *
4627
+ * @param tabElement The `.lm_tab` DOM element for the view tab.
4628
+ * @param context Context object with DOM anchors for the tab.
4629
+ * @returns A callback to be called when the rendered elements need to be cleaned up.
4630
+ *
4631
+ * @experimental
4632
+ */
4633
+ renderCustomTabControls?: (tabElement: HTMLElement, context: CustomTabControlsContext) => (() => void) | void;
4576
4634
  /**
4577
4635
  * Accessibility options for the layout. Controls ARIA attributes and keyboard navigation.
4578
4636
  */
@@ -4662,6 +4720,19 @@ declare type CustomRequestHeaders = {
4662
4720
  headers: WebRequestHeader[];
4663
4721
  };
4664
4722
 
4723
+ /**
4724
+ * @interface @experimental
4725
+ */
4726
+ declare type CustomTabControlsContext = {
4727
+ viewIdentity: Identity_4;
4728
+ /** Anchor for inserting controls adjacent to the tab text. */
4729
+ titleElement: HTMLElement;
4730
+ /** Anchor for the trailing outer edge. Absent when the view is not closable. */
4731
+ closeElement?: HTMLElement;
4732
+ /** The favicon element. Hidden when favicons are disabled. */
4733
+ faviconElement?: HTMLElement;
4734
+ };
4735
+
4665
4736
  declare type DataChannelReadyState = RTCDataChannel['readyState'];
4666
4737
 
4667
4738
  /**
@@ -6706,6 +6777,32 @@ declare type GetLogRequestType = {
6706
6777
  name: string;
6707
6778
  };
6708
6779
 
6780
+ /**
6781
+ * End of Interop Client Events
6782
+ */
6783
+ /**
6784
+ * Performance Entry Types
6785
+ */
6786
+ declare type GetPerformanceStatsOptions = {
6787
+ /**
6788
+ * Optional filter for custom performance marks and measures.
6789
+ * When omitted, all custom marks and measures are collected.
6790
+ * When specified, only entries whose names match one of the filters are collected.
6791
+ * Strings match by substring; RegExp matches by test.
6792
+ */
6793
+ include?: (string | RegExp)[];
6794
+ /**
6795
+ * Include `resource` timing entries from each View / Frame / Window.
6796
+ * Defaults to `true`. Pass `false` to omit them.
6797
+ */
6798
+ resources?: boolean;
6799
+ /**
6800
+ * Whether to include hereio internal runtime metrics.
6801
+ * Defaults to `false`. Pass `true` to include.
6802
+ */
6803
+ browser?: boolean;
6804
+ };
6805
+
6709
6806
  declare type GetterCall<T> = ApiCall<void, T>;
6710
6807
 
6711
6808
  /**
@@ -7381,17 +7478,19 @@ declare type InteropActionLoggingOption = {
7381
7478
  * "interopBrokerConfiguration": {
7382
7479
  * "contextGroups": [
7383
7480
  * {
7384
- * "id": "green",
7481
+ * "id": "fdc3.channel.4",
7385
7482
  * "displayMetadata": {
7386
- * "color": "#00CC88",
7387
- * "name": "green"
7483
+ * "color": "green",
7484
+ * "name": "Channel 4",
7485
+ * "glyph": "4"
7388
7486
  * }
7389
7487
  * },
7390
7488
  * {
7391
- * "id": "purple",
7489
+ * "id": "fdc3.channel.8",
7392
7490
  * "displayMetadata": {
7393
- * "color": "#8C61FF",
7394
- * "name": "purple"
7491
+ * "color": "purple",
7492
+ * "name": "Channel 8",
7493
+ * "glyph": "8"
7395
7494
  * }
7396
7495
  * },
7397
7496
  * ]
@@ -7525,7 +7624,7 @@ declare class InteropBroker extends Base {
7525
7624
  * @param joinContextGroupOptions - Id of the Context Group and identity of the entity to join to the group.
7526
7625
  * @param senderIdentity - Identity of the client sender.
7527
7626
  */
7528
- joinContextGroup({ contextGroupId, target }: {
7627
+ joinContextGroup({ contextGroupId: requestedContextGroupId, target }: {
7529
7628
  contextGroupId: string;
7530
7629
  target?: OpenFin.ClientIdentity | OpenFin.Identity;
7531
7630
  }, senderIdentity: OpenFin.ClientIdentity): Promise<void>;
@@ -7536,7 +7635,7 @@ declare class InteropBroker extends Base {
7536
7635
  * @param addClientToContextGroupOptions - Contains the contextGroupId
7537
7636
  * @param clientIdentity - Identity of the client sender.
7538
7637
  */
7539
- addClientToContextGroup({ contextGroupId }: {
7638
+ addClientToContextGroup({ contextGroupId: requestedContextGroupId }: {
7540
7639
  contextGroupId: string;
7541
7640
  }, clientIdentity: OpenFin.ClientIdentity): Promise<void>;
7542
7641
  /**
@@ -7949,6 +8048,8 @@ declare class InteropBroker extends Base {
7949
8048
  };
7950
8049
  private getClientState;
7951
8050
  private static toObject;
8051
+ private normalizeContextGroupStates;
8052
+ private normalizeContextGroupId;
7952
8053
  static checkContextIntegrity: (context: OpenFin.Context) => {
7953
8054
  isValid: true;
7954
8055
  } | {
@@ -8176,7 +8277,7 @@ declare class InteropClient extends Base {
8176
8277
  *
8177
8278
  * getLastFocusedView()
8178
8279
  * .then(lastFocusedViewIdentity => {
8179
- * joinViewToContextGroup('red', lastFocusedViewIdentity)
8280
+ * joinViewToContextGroup('fdc3.channel.1', lastFocusedViewIdentity)
8180
8281
  * })
8181
8282
  * ```
8182
8283
  */
@@ -8211,7 +8312,7 @@ declare class InteropClient extends Base {
8211
8312
  *
8212
8313
  * @example
8213
8314
  * ```js
8214
- * fin.me.interop.getAllClientsInContextGroup('red')
8315
+ * fin.me.interop.getAllClientsInContextGroup('fdc3.channel.1')
8215
8316
  * .then(clientsInContextGroup => {
8216
8317
  * console.log(clientsInContextGroup)
8217
8318
  * })
@@ -8226,7 +8327,7 @@ declare class InteropClient extends Base {
8226
8327
  *
8227
8328
  * @example
8228
8329
  * ```js
8229
- * fin.me.interop.getInfoForContextGroup('red')
8330
+ * fin.me.interop.getInfoForContextGroup('fdc3.channel.1')
8230
8331
  * .then(contextGroupInfo => {
8231
8332
  * console.log(contextGroupInfo.displayMetadata.name)
8232
8333
  * console.log(contextGroupInfo.displayMetadata.color)
@@ -8283,12 +8384,12 @@ declare class InteropClient extends Base {
8283
8384
  *
8284
8385
  * @example
8285
8386
  * ```js
8286
- * await fin.me.interop.joinContextGroup('yellow');
8387
+ * await fin.me.interop.joinContextGroup('fdc3.channel.3');
8287
8388
  * await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
8288
8389
  * const currentContext = await fin.me.interop.getCurrentContext();
8289
8390
  *
8290
8391
  * // with a specific context
8291
- * await fin.me.interop.joinContextGroup('yellow');
8392
+ * await fin.me.interop.joinContextGroup('fdc3.channel.3');
8292
8393
  * await fin.me.interop.setContext({ type: 'country', id: { ISOALPHA3: 'US' }});
8293
8394
  * await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
8294
8395
  * const currentContext = await fin.me.interop.getCurrentContext('country');
@@ -8450,7 +8551,7 @@ declare type InteropClientOnDisconnectionListener = (InteropBrokerDisconnectionE
8450
8551
  */
8451
8552
  declare type InteropConfig = {
8452
8553
  /**
8453
- * Context Group for the client. (green, yellow, red, etc.).
8554
+ * Context Group ID for the client (for example, `fdc3.channel.4`).
8454
8555
  */
8455
8556
  currentContextGroup?: string | null;
8456
8557
  /**
@@ -8499,7 +8600,7 @@ declare class InteropModule extends Base {
8499
8600
  * @example
8500
8601
  * ```js
8501
8602
  * const interopConfig = {
8502
- * currentContextGroup: 'green'
8603
+ * currentContextGroup: 'fdc3.channel.4'
8503
8604
  * }
8504
8605
  *
8505
8606
  * const interopBroker = await fin.Interop.init('openfin');
@@ -9529,8 +9630,26 @@ declare type LayoutOptions = {
9529
9630
  content?: LayoutContent;
9530
9631
  dimensions?: {
9531
9632
  borderWidth?: number;
9633
+ /**
9634
+ * Minimum height a layout item can be resized to, in pixels.
9635
+ * On web layouts this is mapped to Golden Layout 2 `defaultMinItemHeight`.
9636
+ */
9532
9637
  minItemHeight?: number;
9638
+ /**
9639
+ * Minimum width a layout item can be resized to, in pixels.
9640
+ * On web layouts this is mapped to Golden Layout 2 `defaultMinItemWidth`.
9641
+ */
9533
9642
  minItemWidth?: number;
9643
+ /**
9644
+ * Minimum height a layout item can be resized to (CSS size, e.g. `'500px'`).
9645
+ * Web layouts only. Takes precedence over {@link LayoutOptions.dimensions.minItemHeight} when both are set.
9646
+ */
9647
+ defaultMinItemHeight?: string;
9648
+ /**
9649
+ * Minimum width a layout item can be resized to (CSS size, e.g. `'500px'`).
9650
+ * Web layouts only. Takes precedence over {@link LayoutOptions.dimensions.minItemWidth} when both are set.
9651
+ */
9652
+ defaultMinItemWidth?: string;
9534
9653
  headerHeight?: number;
9535
9654
  };
9536
9655
  };
@@ -9787,6 +9906,10 @@ declare type Manifest = {
9787
9906
  experimentalExtensionPolicyBlockedHosts?: {
9788
9907
  hosts: string[];
9789
9908
  };
9909
+ /**
9910
+ * Chromium extensions to install and enable for this application.
9911
+ */
9912
+ extensions?: ManifestExtension[];
9790
9913
  licenseKey: string;
9791
9914
  offlineAccess?: boolean;
9792
9915
  platform?: PlatformOptions;
@@ -9840,6 +9963,27 @@ declare type ManifestChangedEvent = BaseEvents.IdentityEvent & {
9840
9963
  type: 'manifest-changed';
9841
9964
  };
9842
9965
 
9966
+ /**
9967
+ * Chromium extension entry in an application configuration.
9968
+ *
9969
+ * @interface
9970
+ */
9971
+ declare type ManifestExtension = {
9972
+ /** Chromium extension ID. */
9973
+ id: string;
9974
+ /** Extension server URL used to install the extension. */
9975
+ serverURL: string;
9976
+ /**
9977
+ * Rules declaring where this extension may inject content scripts into
9978
+ * non-tab surfaces (for example the AI Center). Omit or leave empty to keep
9979
+ * the extension restricted to browser tabs — identical to historic
9980
+ * behavior. A wildcard pattern in `match` grants blanket coverage.
9981
+ * `matchOptions` behaves as it does for domain settings. Intended for
9982
+ * security extensions rather than extensions that add visible UI.
9983
+ */
9984
+ nonTabInjections?: NonTabInjectionRule[];
9985
+ };
9986
+
9843
9987
  /**
9844
9988
  * @interface
9845
9989
  */
@@ -10168,6 +10312,19 @@ declare type MutableViewOptions = {
10168
10312
  preventDragOut: boolean;
10169
10313
  interop?: InteropConfig;
10170
10314
  /* Excluded from this release type: _internalWorkspaceData */
10315
+ /* Excluded from this release type: workspacePlatform */
10316
+ /**
10317
+ * Per-view tab icon. Exception to `showFavicons` / `defaultFaviconUrl`.
10318
+ *
10319
+ * Distinct from Window `icon` (taskbar).
10320
+ *
10321
+ * - Omitted / `''` / `'unset'`: inherit — if `showFavicons`, page favicon then `defaultFaviconUrl`, else hide
10322
+ * - URL string: always show that URL, even when `showFavicons` is false. Load failure uses `defaultFaviconUrl`
10323
+ * - `'hide'`: always hide, even when `showFavicons` is true
10324
+ *
10325
+ * On `updateOptions`, omitted keys are a no-op; set `'unset'` to return to inherit.
10326
+ */
10327
+ icon?: ViewTabIcon;
10171
10328
  /**
10172
10329
  * {@inheritDoc ViewThrottling}
10173
10330
  *
@@ -10630,6 +10787,32 @@ declare type NonPropagatedWebContentsEvent = never;
10630
10787
  */
10631
10788
  declare type NonPropagatedWindowEvent = never;
10632
10789
 
10790
+ /**
10791
+ * Rule permitting a Chromium extension to inject content scripts into non-tab
10792
+ * web content whose URL matches the given patterns.
10793
+ *
10794
+ * Match patterns use the same Chromium
10795
+ * [match pattern](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns)
10796
+ * syntax as {@link DomainSettingsRule}. Omitting `matchOptions` uses the same
10797
+ * default scheme-matching behavior as domain settings.
10798
+ *
10799
+ * @interface
10800
+ */
10801
+ declare type NonTabInjectionRule = {
10802
+ /**
10803
+ * Array of [match patterns](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns)
10804
+ * specifying the content locations where the extension may inject outside
10805
+ * browser tabs. An empty array grants no permission. A wildcard grants
10806
+ * blanket coverage of all content locations.
10807
+ */
10808
+ match: string[];
10809
+ /**
10810
+ * Options to use when comparing URIs to the `match` patterns. Behaves as
10811
+ * {@link DomainSettingsRule.matchOptions} / {@link RuleMatchOptions}.
10812
+ */
10813
+ matchOptions?: RuleMatchOptions;
10814
+ };
10815
+
10633
10816
  /* Excluded from this release type: NotCloseRequested */
10634
10817
 
10635
10818
  declare type NotificationEvent = {
@@ -10885,6 +11068,7 @@ declare namespace OpenFin {
10885
11068
  ViewInfo,
10886
11069
  WindowThrottling,
10887
11070
  ViewThrottling,
11071
+ ViewTabIcon,
10888
11072
  UpdatableViewOptions,
10889
11073
  ViewCreationOptions,
10890
11074
  MutableViewOptions,
@@ -10938,6 +11122,8 @@ declare namespace OpenFin {
10938
11122
  ThemeColorsMap,
10939
11123
  ThemeColorId,
10940
11124
  ThemePalette,
11125
+ NonTabInjectionRule,
11126
+ ManifestExtension,
10941
11127
  Manifest,
10942
11128
  LayoutContent,
10943
11129
  LayoutItemConfig,
@@ -11055,6 +11241,7 @@ declare namespace OpenFin {
11055
11241
  ScreenCaptureBehavior,
11056
11242
  DomainSettingsPreloadScripts,
11057
11243
  PerDomainSettings,
11244
+ UrlRestoreSettings,
11058
11245
  CopyPermissions,
11059
11246
  PastePermissions,
11060
11247
  ClipboardPermissions,
@@ -11122,6 +11309,7 @@ declare namespace OpenFin {
11122
11309
  LayoutManagerOverride,
11123
11310
  LayoutManager,
11124
11311
  HeaderControlsContext,
11312
+ CustomTabControlsContext,
11125
11313
  CreateLayoutOptions,
11126
11314
  MultiInstanceViewBehavior,
11127
11315
  LayoutAccessibilityOptions,
@@ -11195,6 +11383,12 @@ declare namespace OpenFin {
11195
11383
  InteropClientEvent,
11196
11384
  ClientChangedContextGroup,
11197
11385
  InteropClientEvents,
11386
+ GetPerformanceStatsOptions,
11387
+ SerializedPerformanceOptions,
11388
+ CorePerformanceEntry,
11389
+ WebContentPerformanceStats,
11390
+ WindowPerformanceStats,
11391
+ PerformanceStatsResult,
11198
11392
  ChromeBrowser,
11199
11393
  LanguageInfo,
11200
11394
  PageTranslateOptions,
@@ -11479,6 +11673,12 @@ declare type PerDomainSettings = {
11479
11673
  * See also {@link AppLogLevel} for more information.
11480
11674
  */
11481
11675
  appLogLevel?: AppLogLevel;
11676
+ /**
11677
+ * When the live URL matches this rule, remap inbound
11678
+ * {@link View.ViewModule.navigate View.navigate} / {@link Window.WindowModule.navigate Window.navigate}
11679
+ * to {@link UrlRestoreSettings.url}.
11680
+ */
11681
+ urlRestore?: UrlRestoreSettings;
11482
11682
  };
11483
11683
 
11484
11684
  /**
@@ -11489,6 +11689,15 @@ declare type PerformanceReportEvent = Performance & BaseEvent_5 & {
11489
11689
  type: 'performance-report';
11490
11690
  };
11491
11691
 
11692
+ declare type PerformanceStatsResult = {
11693
+ mainWindow: WindowPerformanceStats;
11694
+ childWindows: WindowPerformanceStats[];
11695
+ browser?: {
11696
+ timeOrigin: number;
11697
+ entries: CorePerformanceEntry[];
11698
+ };
11699
+ };
11700
+
11492
11701
  /**
11493
11702
  * @interface
11494
11703
  *
@@ -13615,6 +13824,11 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13615
13824
  response: OpenFin.MenuResult;
13616
13825
  };
13617
13826
  'close-tray-icon-popup-menu': IdentityCall<{}, void>;
13827
+ 'get-application-performance-stats': ApplicationIdentityCall<OpenFin.SerializedPerformanceOptions, OpenFin.PerformanceStatsResult> & {
13828
+ secure: true;
13829
+ namespace: 'Application';
13830
+ apiPath: '.getPerformanceStats';
13831
+ };
13618
13832
  'create-application': ApiCall<OpenFin.ApplicationCreationOptions, void>;
13619
13833
  'run-applications': ApiCall<{
13620
13834
  applications: Array<OpenFin.ManifestInfo>;
@@ -15000,6 +15214,16 @@ declare type SentMessage<Value> = Promise<Value> & {
15000
15214
  messageId: ReturnType<Environment['getNextMessageId']>;
15001
15215
  };
15002
15216
 
15217
+ declare type SerializedFilter = string | {
15218
+ type: 'regex';
15219
+ expression: string;
15220
+ flags?: string;
15221
+ };
15222
+
15223
+ declare type SerializedPerformanceOptions = Omit<GetPerformanceStatsOptions, 'include'> & {
15224
+ include?: SerializedFilter[];
15225
+ };
15226
+
15003
15227
  declare type ServeAssetOptions = AppAssetServeRequest | PathServeRequest;
15004
15228
 
15005
15229
  declare type ServedAssetInfo = {
@@ -17894,7 +18118,7 @@ declare class Transport<MeType extends EntityType = EntityType> extends EventEmi
17894
18118
  connectByPort(config: ExistingConnectConfig): Promise<void>;
17895
18119
  private authorize;
17896
18120
  sendAction<T extends keyof ProtocolMap>(action: T, payload?: ProtocolMap[T]['request'], uncorrelated?: boolean): SentMessage<SendActionResponse<T>>;
17897
- protected nackHandler(payloadOrMessage: RuntimeErrorPayload | string, reject: Function, callSites?: NodeJS.CallSite[]): void;
18121
+ protected nackHandler(payloadOrMessage: RuntimeErrorPayload | string, reject: Function, callSites?: CapturedStack): void;
17898
18122
  ferryAction(origData: any): Promise<Message<any>>;
17899
18123
  registerMessageHandler(handler: MessageHandler): void;
17900
18124
  protected addWireListener(id: number, resolve: Function, handleNack: NackHandler, uncorrelated: boolean): void;
@@ -18000,6 +18224,16 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
18000
18224
  httpStatusText: string;
18001
18225
  });
18002
18226
 
18227
+ /**
18228
+ * Domain-settings policy that replaces a matched live URL with a configured start URI.
18229
+ */
18230
+ declare type UrlRestoreSettings = {
18231
+ /**
18232
+ * Absolute replacement URL. Full URL replace, not prefix rewrite.
18233
+ */
18234
+ url: string;
18235
+ };
18236
+
18003
18237
  /**
18004
18238
  * @interface
18005
18239
  */
@@ -18913,10 +19147,10 @@ declare type ViewTabAccessibilityOptions = {
18913
19147
  * Uses roving tabindex pattern - only one element focusable at a time.
18914
19148
  * @default ['active-tab', 'add-tab-button']
18915
19149
  */
18916
- tabNavigation?: ViewTabElements[];
19150
+ tabNavigation?: Exclude<ViewTabElements, 'active-tab-custom-control' | 'inactive-tab-custom-control'>[];
18917
19151
  /**
18918
19152
  * Controls which elements are navigable via Arrow keys.
18919
- * @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button']
19153
+ * @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button', 'active-tab-custom-control', 'inactive-tab-custom-control']
18920
19154
  */
18921
19155
  arrowNavigation?: ViewTabElements[];
18922
19156
  /**
@@ -18948,7 +19182,14 @@ declare type ViewTabAccessibilityOptions = {
18948
19182
  /**
18949
19183
  * Elements that can be navigated in view tabs.
18950
19184
  */
18951
- declare type ViewTabElements = 'active-tab' | 'inactive-tab' | 'active-tab-close-button' | 'inactive-tab-close-button' | 'add-tab-button';
19185
+ 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';
19186
+
19187
+ /**
19188
+ * Per-view tab icon. A URL, or the reserved sentinels `'hide'` / `'unset'`.
19189
+ *
19190
+ * `'hide'` and `'unset'` are not URLs. `''` is also unset (inherit) and is the default.
19191
+ */
19192
+ declare type ViewTabIcon = string | 'hide' | 'unset';
18952
19193
 
18953
19194
  /**
18954
19195
  * View throttling state.
@@ -19002,6 +19243,22 @@ declare type VoidCall = ApiCall<void, void>;
19002
19243
 
19003
19244
  declare type WebContent = View_2 | _Window;
19004
19245
 
19246
+ declare type WebContentPerformanceStatBase = {
19247
+ name: string;
19248
+ entries: CorePerformanceEntry[];
19249
+ navigation: {
19250
+ historyLength: number;
19251
+ timeOrigin: number;
19252
+ };
19253
+ url: string;
19254
+ frames: WebContentPerformanceStats[];
19255
+ };
19256
+
19257
+ declare type WebContentPerformanceStats = WebContentPerformanceStatBase | {
19258
+ error: string;
19259
+ url: string;
19260
+ };
19261
+
19005
19262
  declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
19006
19263
  identity: OpenFin.Identity;
19007
19264
  entityType: 'window' | 'view';
@@ -21609,6 +21866,13 @@ declare type WindowOptionsChangedEvent = OpenFin.WindowEvents.WindowOptionsChang
21609
21866
  */
21610
21867
  declare type WindowOptionsChangedEvent_2 = OptionsChangedEvent;
21611
21868
 
21869
+ declare type WindowPerformanceStats = (WebContentPerformanceStatBase & {
21870
+ views: WebContentPerformanceStats[];
21871
+ }) | {
21872
+ error: string;
21873
+ url: string;
21874
+ };
21875
+
21612
21876
  declare type WindowPrintOptions = PrintOptions | ScreenshotPrintOptions | WindowViewsPrintOptions;
21613
21877
 
21614
21878
  /**