@openfin/core 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.
@@ -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
  /**
@@ -2166,6 +2182,15 @@ declare type ByType_8<Type extends EventType_8> = Payload_10<Type>;
2166
2182
  */
2167
2183
  declare type ByType_9<Type extends EventType_9> = Payload_11<Type>;
2168
2184
 
2185
+ /** Minimal V8 CallSite shape — js-adapter does not include @types/node. */
2186
+ declare interface CallSite {
2187
+ getFileName(): string | null;
2188
+ toString(): string;
2189
+ }
2190
+
2191
+ /** V8 CallSite objects, or native stack-frame strings from browsers that ignore Error.prepareStackTrace. */
2192
+ declare type CapturedStack = CallSite[] | string[];
2193
+
2169
2194
  /**
2170
2195
  * Configuration for page capture.
2171
2196
  *
@@ -3123,7 +3148,12 @@ declare type ChildWindowCreatedEvent = ContentCreationRulesEvent & {
3123
3148
  childOptions: OpenFin_2.WindowOptions;
3124
3149
  };
3125
3150
 
3126
- /* 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
+ }
3127
3157
 
3128
3158
  /**
3129
3159
  * APIs for interacting with Chromium extension actions from an initialized ChromeBrowser window.
@@ -4101,7 +4131,7 @@ declare type ConstWindowOptions = {
4101
4131
  width: number;
4102
4132
  x: number;
4103
4133
  y: number;
4104
- experimental?: any;
4134
+ /* Excluded from this release type: experimental */
4105
4135
  fdc3InteropApi?: string;
4106
4136
  /**
4107
4137
  * _Platform Windows Only_. Controls behavior for showing views when they are being resized by the user.
@@ -4424,6 +4454,8 @@ declare type CopyPermissions = {
4424
4454
  };
4425
4455
  };
4426
4456
 
4457
+ declare type CorePerformanceEntry = Omit<PerformanceEntry, 'toJSON'>;
4458
+
4427
4459
  /**
4428
4460
  * Defines and applies rounded corners for a frameless window. **NOTE:** On macOS corner is not ellipse but circle rounded by the
4429
4461
  * average of _height_ and _width_.
@@ -4576,6 +4608,32 @@ declare type CreateLayoutOptions = {
4576
4608
  * @experimental
4577
4609
  */
4578
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;
4579
4637
  /**
4580
4638
  * Accessibility options for the layout. Controls ARIA attributes and keyboard navigation.
4581
4639
  */
@@ -4665,8 +4723,69 @@ declare type CustomRequestHeaders = {
4665
4723
  headers: WebRequestHeader[];
4666
4724
  };
4667
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
+
4668
4739
  declare type DataChannelReadyState = RTCDataChannel['readyState'];
4669
4740
 
4741
+ export declare type DefaultColorChannelId = keyof typeof defaultColorChannels;
4742
+
4743
+ /**
4744
+ * The default FDC3 user channels advertised by the Interop Broker.
4745
+ */
4746
+ export declare const defaultColorChannels: {
4747
+ readonly 'fdc3.channel.1': {
4748
+ readonly name: "Channel 1";
4749
+ readonly color: "red";
4750
+ readonly glyph: "1";
4751
+ };
4752
+ readonly 'fdc3.channel.2': {
4753
+ readonly name: "Channel 2";
4754
+ readonly color: "orange";
4755
+ readonly glyph: "2";
4756
+ };
4757
+ readonly 'fdc3.channel.3': {
4758
+ readonly name: "Channel 3";
4759
+ readonly color: "yellow";
4760
+ readonly glyph: "3";
4761
+ };
4762
+ readonly 'fdc3.channel.4': {
4763
+ readonly name: "Channel 4";
4764
+ readonly color: "green";
4765
+ readonly glyph: "4";
4766
+ };
4767
+ readonly 'fdc3.channel.5': {
4768
+ readonly name: "Channel 5";
4769
+ readonly color: "cyan";
4770
+ readonly glyph: "5";
4771
+ };
4772
+ readonly 'fdc3.channel.6': {
4773
+ readonly name: "Channel 6";
4774
+ readonly color: "blue";
4775
+ readonly glyph: "6";
4776
+ };
4777
+ readonly 'fdc3.channel.7': {
4778
+ readonly name: "Channel 7";
4779
+ readonly color: "magenta";
4780
+ readonly glyph: "7";
4781
+ };
4782
+ readonly 'fdc3.channel.8': {
4783
+ readonly name: "Channel 8";
4784
+ readonly color: "purple";
4785
+ readonly glyph: "8";
4786
+ };
4787
+ };
4788
+
4670
4789
  /**
4671
4790
  * @deprecated Use {@link OpenFin.DomainSettings} instead.
4672
4791
  * @interface
@@ -6364,6 +6483,32 @@ declare type GetLogRequestType = {
6364
6483
  name: string;
6365
6484
  };
6366
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
+
6367
6512
  declare type GetterCall<T> = ApiCall<void, T>;
6368
6513
 
6369
6514
  /**
@@ -7039,17 +7184,19 @@ declare type InteropActionLoggingOption = {
7039
7184
  * "interopBrokerConfiguration": {
7040
7185
  * "contextGroups": [
7041
7186
  * {
7042
- * "id": "green",
7187
+ * "id": "fdc3.channel.4",
7043
7188
  * "displayMetadata": {
7044
- * "color": "#00CC88",
7045
- * "name": "green"
7189
+ * "color": "green",
7190
+ * "name": "Channel 4",
7191
+ * "glyph": "4"
7046
7192
  * }
7047
7193
  * },
7048
7194
  * {
7049
- * "id": "purple",
7195
+ * "id": "fdc3.channel.8",
7050
7196
  * "displayMetadata": {
7051
- * "color": "#8C61FF",
7052
- * "name": "purple"
7197
+ * "color": "purple",
7198
+ * "name": "Channel 8",
7199
+ * "glyph": "8"
7053
7200
  * }
7054
7201
  * },
7055
7202
  * ]
@@ -7183,7 +7330,7 @@ declare class InteropBroker extends Base {
7183
7330
  * @param joinContextGroupOptions - Id of the Context Group and identity of the entity to join to the group.
7184
7331
  * @param senderIdentity - Identity of the client sender.
7185
7332
  */
7186
- joinContextGroup({ contextGroupId, target }: {
7333
+ joinContextGroup({ contextGroupId: requestedContextGroupId, target }: {
7187
7334
  contextGroupId: string;
7188
7335
  target?: OpenFin_2.ClientIdentity | OpenFin_2.Identity;
7189
7336
  }, senderIdentity: OpenFin_2.ClientIdentity): Promise<void>;
@@ -7194,7 +7341,7 @@ declare class InteropBroker extends Base {
7194
7341
  * @param addClientToContextGroupOptions - Contains the contextGroupId
7195
7342
  * @param clientIdentity - Identity of the client sender.
7196
7343
  */
7197
- addClientToContextGroup({ contextGroupId }: {
7344
+ addClientToContextGroup({ contextGroupId: requestedContextGroupId }: {
7198
7345
  contextGroupId: string;
7199
7346
  }, clientIdentity: OpenFin_2.ClientIdentity): Promise<void>;
7200
7347
  /**
@@ -7607,6 +7754,8 @@ declare class InteropBroker extends Base {
7607
7754
  };
7608
7755
  private getClientState;
7609
7756
  private static toObject;
7757
+ private normalizeContextGroupStates;
7758
+ private normalizeContextGroupId;
7610
7759
  static checkContextIntegrity: (context: OpenFin_2.Context) => {
7611
7760
  isValid: true;
7612
7761
  } | {
@@ -7834,7 +7983,7 @@ declare class InteropClient extends Base {
7834
7983
  *
7835
7984
  * getLastFocusedView()
7836
7985
  * .then(lastFocusedViewIdentity => {
7837
- * joinViewToContextGroup('red', lastFocusedViewIdentity)
7986
+ * joinViewToContextGroup('fdc3.channel.1', lastFocusedViewIdentity)
7838
7987
  * })
7839
7988
  * ```
7840
7989
  */
@@ -7869,7 +8018,7 @@ declare class InteropClient extends Base {
7869
8018
  *
7870
8019
  * @example
7871
8020
  * ```js
7872
- * fin.me.interop.getAllClientsInContextGroup('red')
8021
+ * fin.me.interop.getAllClientsInContextGroup('fdc3.channel.1')
7873
8022
  * .then(clientsInContextGroup => {
7874
8023
  * console.log(clientsInContextGroup)
7875
8024
  * })
@@ -7884,7 +8033,7 @@ declare class InteropClient extends Base {
7884
8033
  *
7885
8034
  * @example
7886
8035
  * ```js
7887
- * fin.me.interop.getInfoForContextGroup('red')
8036
+ * fin.me.interop.getInfoForContextGroup('fdc3.channel.1')
7888
8037
  * .then(contextGroupInfo => {
7889
8038
  * console.log(contextGroupInfo.displayMetadata.name)
7890
8039
  * console.log(contextGroupInfo.displayMetadata.color)
@@ -7941,12 +8090,12 @@ declare class InteropClient extends Base {
7941
8090
  *
7942
8091
  * @example
7943
8092
  * ```js
7944
- * await fin.me.interop.joinContextGroup('yellow');
8093
+ * await fin.me.interop.joinContextGroup('fdc3.channel.3');
7945
8094
  * await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
7946
8095
  * const currentContext = await fin.me.interop.getCurrentContext();
7947
8096
  *
7948
8097
  * // with a specific context
7949
- * await fin.me.interop.joinContextGroup('yellow');
8098
+ * await fin.me.interop.joinContextGroup('fdc3.channel.3');
7950
8099
  * await fin.me.interop.setContext({ type: 'country', id: { ISOALPHA3: 'US' }});
7951
8100
  * await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
7952
8101
  * const currentContext = await fin.me.interop.getCurrentContext('country');
@@ -8108,7 +8257,7 @@ declare type InteropClientOnDisconnectionListener = (InteropBrokerDisconnectionE
8108
8257
  */
8109
8258
  declare type InteropConfig = {
8110
8259
  /**
8111
- * Context Group for the client. (green, yellow, red, etc.).
8260
+ * Context Group ID for the client (for example, `fdc3.channel.4`).
8112
8261
  */
8113
8262
  currentContextGroup?: string | null;
8114
8263
  /**
@@ -8157,7 +8306,7 @@ declare class InteropModule extends Base {
8157
8306
  * @example
8158
8307
  * ```js
8159
8308
  * const interopConfig = {
8160
- * currentContextGroup: 'green'
8309
+ * currentContextGroup: 'fdc3.channel.4'
8161
8310
  * }
8162
8311
  *
8163
8312
  * const interopBroker = await fin.Interop.init('openfin');
@@ -9187,8 +9336,26 @@ declare type LayoutOptions = {
9187
9336
  content?: LayoutContent;
9188
9337
  dimensions?: {
9189
9338
  borderWidth?: number;
9339
+ /**
9340
+ * Minimum height a layout item can be resized to, in pixels.
9341
+ * On web layouts this is mapped to Golden Layout 2 `defaultMinItemHeight`.
9342
+ */
9190
9343
  minItemHeight?: number;
9344
+ /**
9345
+ * Minimum width a layout item can be resized to, in pixels.
9346
+ * On web layouts this is mapped to Golden Layout 2 `defaultMinItemWidth`.
9347
+ */
9191
9348
  minItemWidth?: number;
9349
+ /**
9350
+ * Minimum height a layout item can be resized to (CSS size, e.g. `'500px'`).
9351
+ * Web layouts only. Takes precedence over {@link LayoutOptions.dimensions.minItemHeight} when both are set.
9352
+ */
9353
+ defaultMinItemHeight?: string;
9354
+ /**
9355
+ * Minimum width a layout item can be resized to (CSS size, e.g. `'500px'`).
9356
+ * Web layouts only. Takes precedence over {@link LayoutOptions.dimensions.minItemWidth} when both are set.
9357
+ */
9358
+ defaultMinItemWidth?: string;
9192
9359
  headerHeight?: number;
9193
9360
  };
9194
9361
  };
@@ -9261,6 +9428,20 @@ declare type LayoutSyncApi = {
9261
9428
  updateAccessibilityOptions(options: Partial<LayoutAccessibilityOptions>): void;
9262
9429
  };
9263
9430
 
9431
+ declare type LegacyColorChannelId = keyof typeof legacyColorChannelIds;
9432
+
9433
+ declare const legacyColorChannelIds: {
9434
+ readonly red: "fdc3.channel.1";
9435
+ readonly orange: "fdc3.channel.2";
9436
+ readonly yellow: "fdc3.channel.3";
9437
+ readonly green: "fdc3.channel.4";
9438
+ readonly teal: "fdc3.channel.5";
9439
+ readonly blue: "fdc3.channel.6";
9440
+ readonly pink: "fdc3.channel.7";
9441
+ readonly indigo: "fdc3.channel.8";
9442
+ readonly purple: "fdc3.channel.8";
9443
+ };
9444
+
9264
9445
  /**
9265
9446
  * @interface
9266
9447
  */
@@ -9445,6 +9626,10 @@ declare type Manifest = {
9445
9626
  experimentalExtensionPolicyBlockedHosts?: {
9446
9627
  hosts: string[];
9447
9628
  };
9629
+ /**
9630
+ * Chromium extensions to install and enable for this application.
9631
+ */
9632
+ extensions?: ManifestExtension[];
9448
9633
  licenseKey: string;
9449
9634
  offlineAccess?: boolean;
9450
9635
  platform?: PlatformOptions;
@@ -9498,6 +9683,27 @@ declare type ManifestChangedEvent = BaseEvents.IdentityEvent & {
9498
9683
  type: 'manifest-changed';
9499
9684
  };
9500
9685
 
9686
+ /**
9687
+ * Chromium extension entry in an application configuration.
9688
+ *
9689
+ * @interface
9690
+ */
9691
+ declare type ManifestExtension = {
9692
+ /** Chromium extension ID. */
9693
+ id: string;
9694
+ /** Extension server URL used to install the extension. */
9695
+ serverURL: string;
9696
+ /**
9697
+ * Rules declaring where this extension may inject content scripts into
9698
+ * non-tab surfaces (for example the AI Center). Omit or leave empty to keep
9699
+ * the extension restricted to browser tabs — identical to historic
9700
+ * behavior. A wildcard pattern in `match` grants blanket coverage.
9701
+ * `matchOptions` behaves as it does for domain settings. Intended for
9702
+ * security extensions rather than extensions that add visible UI.
9703
+ */
9704
+ nonTabInjections?: NonTabInjectionRule[];
9705
+ };
9706
+
9501
9707
  /**
9502
9708
  * @interface
9503
9709
  */
@@ -9826,6 +10032,19 @@ declare type MutableViewOptions = {
9826
10032
  preventDragOut: boolean;
9827
10033
  interop?: InteropConfig;
9828
10034
  /* Excluded from this release type: _internalWorkspaceData */
10035
+ /* Excluded from this release type: workspacePlatform */
10036
+ /**
10037
+ * Per-view tab icon. Exception to `showFavicons` / `defaultFaviconUrl`.
10038
+ *
10039
+ * Distinct from Window `icon` (taskbar).
10040
+ *
10041
+ * - Omitted / `''` / `'unset'`: inherit — if `showFavicons`, page favicon then `defaultFaviconUrl`, else hide
10042
+ * - URL string: always show that URL, even when `showFavicons` is false. Load failure uses `defaultFaviconUrl`
10043
+ * - `'hide'`: always hide, even when `showFavicons` is true
10044
+ *
10045
+ * On `updateOptions`, omitted keys are a no-op; set `'unset'` to return to inherit.
10046
+ */
10047
+ icon?: ViewTabIcon;
9829
10048
  /**
9830
10049
  * {@inheritDoc ViewThrottling}
9831
10050
  *
@@ -10288,6 +10507,40 @@ declare type NonPropagatedWebContentsEvent = never;
10288
10507
  */
10289
10508
  declare type NonPropagatedWindowEvent = never;
10290
10509
 
10510
+ /**
10511
+ * Rule permitting a Chromium extension to inject content scripts into non-tab
10512
+ * web content whose URL matches the given patterns.
10513
+ *
10514
+ * Match patterns use the same Chromium
10515
+ * [match pattern](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns)
10516
+ * syntax as {@link DomainSettingsRule}. Omitting `matchOptions` uses the same
10517
+ * default scheme-matching behavior as domain settings.
10518
+ *
10519
+ * @interface
10520
+ */
10521
+ declare type NonTabInjectionRule = {
10522
+ /**
10523
+ * Array of [match patterns](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns)
10524
+ * specifying the content locations where the extension may inject outside
10525
+ * browser tabs. An empty array grants no permission. A wildcard grants
10526
+ * blanket coverage of all content locations.
10527
+ */
10528
+ match: string[];
10529
+ /**
10530
+ * Options to use when comparing URIs to the `match` patterns. Behaves as
10531
+ * {@link DomainSettingsRule.matchOptions} / {@link RuleMatchOptions}.
10532
+ */
10533
+ matchOptions?: RuleMatchOptions;
10534
+ };
10535
+
10536
+ /**
10537
+ * Converts a legacy color-named channel ID to its canonical FDC3 user-channel ID.
10538
+ * The removed legacy gray channel resolves to no channel.
10539
+ */
10540
+ export declare function normalizeColorChannelId<T extends string>(colorChannelId: T): NormalizedColorChannelId<T>;
10541
+
10542
+ declare type NormalizedColorChannelId<T extends string> = string extends T ? string | undefined : T extends 'gray' ? undefined : T extends LegacyColorChannelId ? (typeof legacyColorChannelIds)[T] : T;
10543
+
10291
10544
  /* Excluded from this release type: NotCloseRequested */
10292
10545
 
10293
10546
  declare type NotificationEvent = {
@@ -10543,6 +10796,7 @@ declare namespace OpenFin_2 {
10543
10796
  ViewInfo,
10544
10797
  WindowThrottling,
10545
10798
  ViewThrottling,
10799
+ ViewTabIcon,
10546
10800
  UpdatableViewOptions,
10547
10801
  ViewCreationOptions,
10548
10802
  MutableViewOptions,
@@ -10596,6 +10850,8 @@ declare namespace OpenFin_2 {
10596
10850
  ThemeColorsMap,
10597
10851
  ThemeColorId,
10598
10852
  ThemePalette,
10853
+ NonTabInjectionRule,
10854
+ ManifestExtension,
10599
10855
  Manifest,
10600
10856
  LayoutContent,
10601
10857
  LayoutItemConfig,
@@ -10713,6 +10969,7 @@ declare namespace OpenFin_2 {
10713
10969
  ScreenCaptureBehavior,
10714
10970
  DomainSettingsPreloadScripts,
10715
10971
  PerDomainSettings,
10972
+ UrlRestoreSettings,
10716
10973
  CopyPermissions,
10717
10974
  PastePermissions,
10718
10975
  ClipboardPermissions,
@@ -10780,6 +11037,7 @@ declare namespace OpenFin_2 {
10780
11037
  LayoutManagerOverride,
10781
11038
  LayoutManager,
10782
11039
  HeaderControlsContext,
11040
+ CustomTabControlsContext,
10783
11041
  CreateLayoutOptions,
10784
11042
  MultiInstanceViewBehavior,
10785
11043
  LayoutAccessibilityOptions,
@@ -10853,6 +11111,12 @@ declare namespace OpenFin_2 {
10853
11111
  InteropClientEvent,
10854
11112
  ClientChangedContextGroup,
10855
11113
  InteropClientEvents,
11114
+ GetPerformanceStatsOptions,
11115
+ SerializedPerformanceOptions,
11116
+ CorePerformanceEntry,
11117
+ WebContentPerformanceStats,
11118
+ WindowPerformanceStats,
11119
+ PerformanceStatsResult,
10856
11120
  ChromeBrowser,
10857
11121
  LanguageInfo,
10858
11122
  PageTranslateOptions,
@@ -11139,6 +11403,12 @@ declare type PerDomainSettings = {
11139
11403
  * See also {@link AppLogLevel} for more information.
11140
11404
  */
11141
11405
  appLogLevel?: AppLogLevel;
11406
+ /**
11407
+ * When the live URL matches this rule, remap inbound
11408
+ * {@link View.ViewModule.navigate View.navigate} / {@link Window.WindowModule.navigate Window.navigate}
11409
+ * to {@link UrlRestoreSettings.url}.
11410
+ */
11411
+ urlRestore?: UrlRestoreSettings;
11142
11412
  };
11143
11413
 
11144
11414
  /**
@@ -11149,6 +11419,15 @@ declare type PerformanceReportEvent = Performance & BaseEvent_5 & {
11149
11419
  type: 'performance-report';
11150
11420
  };
11151
11421
 
11422
+ declare type PerformanceStatsResult = {
11423
+ mainWindow: WindowPerformanceStats;
11424
+ childWindows: WindowPerformanceStats[];
11425
+ browser?: {
11426
+ timeOrigin: number;
11427
+ entries: CorePerformanceEntry[];
11428
+ };
11429
+ };
11430
+
11152
11431
  /**
11153
11432
  * @interface
11154
11433
  *
@@ -13275,6 +13554,11 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13275
13554
  response: OpenFin_2.MenuResult;
13276
13555
  };
13277
13556
  'close-tray-icon-popup-menu': IdentityCall<{}, void>;
13557
+ 'get-application-performance-stats': ApplicationIdentityCall<OpenFin_2.SerializedPerformanceOptions, OpenFin_2.PerformanceStatsResult> & {
13558
+ secure: true;
13559
+ namespace: 'Application';
13560
+ apiPath: '.getPerformanceStats';
13561
+ };
13278
13562
  'create-application': ApiCall<OpenFin_2.ApplicationCreationOptions, void>;
13279
13563
  'run-applications': ApiCall<{
13280
13564
  applications: Array<OpenFin_2.ManifestInfo>;
@@ -14660,6 +14944,16 @@ declare type SentMessage<Value> = Promise<Value> & {
14660
14944
  messageId: ReturnType<Environment['getNextMessageId']>;
14661
14945
  };
14662
14946
 
14947
+ declare type SerializedFilter = string | {
14948
+ type: 'regex';
14949
+ expression: string;
14950
+ flags?: string;
14951
+ };
14952
+
14953
+ declare type SerializedPerformanceOptions = Omit<GetPerformanceStatsOptions, 'include'> & {
14954
+ include?: SerializedFilter[];
14955
+ };
14956
+
14663
14957
  declare type ServeAssetOptions = AppAssetServeRequest | PathServeRequest;
14664
14958
 
14665
14959
  declare type ServedAssetInfo = {
@@ -17554,7 +17848,7 @@ declare class Transport<MeType extends EntityType = EntityType> extends EventEmi
17554
17848
  connectByPort(config: ExistingConnectConfig): Promise<void>;
17555
17849
  private authorize;
17556
17850
  sendAction<T extends keyof ProtocolMap>(action: T, payload?: ProtocolMap[T]['request'], uncorrelated?: boolean): SentMessage<SendActionResponse<T>>;
17557
- protected nackHandler(payloadOrMessage: RuntimeErrorPayload | string, reject: Function, callSites?: NodeJS.CallSite[]): void;
17851
+ protected nackHandler(payloadOrMessage: RuntimeErrorPayload | string, reject: Function, callSites?: CapturedStack): void;
17558
17852
  ferryAction(origData: any): Promise<Message<any>>;
17559
17853
  registerMessageHandler(handler: MessageHandler): void;
17560
17854
  protected addWireListener(id: number, resolve: Function, handleNack: NackHandler, uncorrelated: boolean): void;
@@ -17660,6 +17954,16 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
17660
17954
  httpStatusText: string;
17661
17955
  });
17662
17956
 
17957
+ /**
17958
+ * Domain-settings policy that replaces a matched live URL with a configured start URI.
17959
+ */
17960
+ declare type UrlRestoreSettings = {
17961
+ /**
17962
+ * Absolute replacement URL. Full URL replace, not prefix rewrite.
17963
+ */
17964
+ url: string;
17965
+ };
17966
+
17663
17967
  /**
17664
17968
  * @interface
17665
17969
  */
@@ -18467,10 +18771,10 @@ declare type ViewTabAccessibilityOptions = {
18467
18771
  * Uses roving tabindex pattern - only one element focusable at a time.
18468
18772
  * @default ['active-tab', 'add-tab-button']
18469
18773
  */
18470
- tabNavigation?: ViewTabElements[];
18774
+ tabNavigation?: Exclude<ViewTabElements, 'active-tab-custom-control' | 'inactive-tab-custom-control'>[];
18471
18775
  /**
18472
18776
  * Controls which elements are navigable via Arrow keys.
18473
- * @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button']
18777
+ * @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button', 'active-tab-custom-control', 'inactive-tab-custom-control']
18474
18778
  */
18475
18779
  arrowNavigation?: ViewTabElements[];
18476
18780
  /**
@@ -18502,7 +18806,14 @@ declare type ViewTabAccessibilityOptions = {
18502
18806
  /**
18503
18807
  * Elements that can be navigated in view tabs.
18504
18808
  */
18505
- declare type ViewTabElements = 'active-tab' | 'inactive-tab' | 'active-tab-close-button' | 'inactive-tab-close-button' | 'add-tab-button';
18809
+ 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';
18810
+
18811
+ /**
18812
+ * Per-view tab icon. A URL, or the reserved sentinels `'hide'` / `'unset'`.
18813
+ *
18814
+ * `'hide'` and `'unset'` are not URLs. `''` is also unset (inherit) and is the default.
18815
+ */
18816
+ declare type ViewTabIcon = string | 'hide' | 'unset';
18506
18817
 
18507
18818
  /**
18508
18819
  * View throttling state.
@@ -18556,6 +18867,22 @@ declare type VoidCall = ApiCall<void, void>;
18556
18867
 
18557
18868
  declare type WebContent = View_2 | _Window;
18558
18869
 
18870
+ declare type WebContentPerformanceStatBase = {
18871
+ name: string;
18872
+ entries: CorePerformanceEntry[];
18873
+ navigation: {
18874
+ historyLength: number;
18875
+ timeOrigin: number;
18876
+ };
18877
+ url: string;
18878
+ frames: WebContentPerformanceStats[];
18879
+ };
18880
+
18881
+ declare type WebContentPerformanceStats = WebContentPerformanceStatBase | {
18882
+ error: string;
18883
+ url: string;
18884
+ };
18885
+
18559
18886
  declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
18560
18887
  identity: OpenFin_2.Identity;
18561
18888
  entityType: 'window' | 'view';
@@ -21163,6 +21490,13 @@ declare type WindowOptionsChangedEvent = OpenFin_2.WindowEvents.WindowOptionsCha
21163
21490
  */
21164
21491
  declare type WindowOptionsChangedEvent_2 = OptionsChangedEvent;
21165
21492
 
21493
+ declare type WindowPerformanceStats = (WebContentPerformanceStatBase & {
21494
+ views: WebContentPerformanceStats[];
21495
+ }) | {
21496
+ error: string;
21497
+ url: string;
21498
+ };
21499
+
21166
21500
  declare type WindowPrintOptions = PrintOptions | ScreenshotPrintOptions | WindowViewsPrintOptions;
21167
21501
 
21168
21502
  /**