@openfin/fdc3-api 41.83.2 → 41.100.17

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.
@@ -1661,6 +1661,8 @@ declare type BaseConfig = {
1661
1661
  timeout?: number;
1662
1662
  };
1663
1663
 
1664
+ declare type BaseContentBehavior = 'allow' | 'block';
1665
+
1664
1666
  /**
1665
1667
  * Properties shared by all content creation rules, regardless of context.
1666
1668
  *
@@ -1804,6 +1806,10 @@ declare type BaseLoadFailedEvent = NamedEvent & {
1804
1806
  isMainFrame: boolean;
1805
1807
  };
1806
1808
 
1809
+ declare type BaseStructuredContentBehavior = {
1810
+ behavior: BaseContentBehavior;
1811
+ };
1812
+
1807
1813
  declare type BaseUrlEvent = NamedEvent & {
1808
1814
  type: 'url-changed';
1809
1815
  url: string;
@@ -1904,6 +1910,15 @@ declare type BoundsDidChangeEvent = BoundsChangeEvent & {
1904
1910
 
1905
1911
  declare type BoundsEvent = BaseEvent_5 & OpenFin.Bounds;
1906
1912
 
1913
+ declare type BrowserContentBehavior = {
1914
+ behavior: 'browser';
1915
+ /**
1916
+ * Additional property that can be specified when setting the behavior to browser.
1917
+ * When set to true will close the Window or View that tried to navigate or redirect to the blocked URL.
1918
+ */
1919
+ closeExisting?: boolean;
1920
+ };
1921
+
1907
1922
  /**
1908
1923
  * A rule prescribing content creation in the browser.
1909
1924
  *
@@ -3670,6 +3685,13 @@ declare type ConstWindowOptions = {
3670
3685
  * @deprecated - use `icon` instead.
3671
3686
  */
3672
3687
  taskbarIcon: string;
3688
+ /**
3689
+ * Specify a taskbar group for the window.
3690
+ * _Can be shared across applications._
3691
+ * _If omitted from a main window, defaults to app's uuid (`fin.Application.getCurrentSync().identity.uuid`)._
3692
+ * _Use `platform.defaultWindowOptions.taskbarIconGroup` to set a default for platform applications._
3693
+ */
3694
+ taskbarIconGroup: string;
3673
3695
  /**
3674
3696
  * @defaultValue "about:blank"
3675
3697
  *
@@ -3720,6 +3742,15 @@ declare type ContainerCreatedEvent = LayoutDOMEvent & {
3720
3742
  type: 'container-created';
3721
3743
  };
3722
3744
 
3745
+ /**
3746
+ * Sets the behavior for when a Window or View navigates or redirects to a matching URL
3747
+ *
3748
+ * 'allow': The content url is allowed.
3749
+ * 'block': The content url is blocked.
3750
+ * 'browser': The content url is blocked and it is opened in the system's default web browser.
3751
+ */
3752
+ declare type ContentBehavior = BaseContentBehavior | 'browser';
3753
+
3723
3754
  /**
3724
3755
  * Generated when content navigation or redirection is blocked by {@link OpenFin.DomainSettings}.
3725
3756
  * @interface
@@ -3807,12 +3838,9 @@ declare type ContentCreationRulesEvent = NamedEvent & {
3807
3838
  declare type ContentNavigation = NavigationRules;
3808
3839
 
3809
3840
  /**
3810
- * Whether a content url is allowed or blocked for navigation or redirection.
3811
- *
3812
- * * 'allow': The content url is allowed.
3813
- * * 'block': The content url is blocked.
3841
+ * Controls whether a content url is allowed or blocked for navigation in Windows and Views or redirection for Windows, Views and iframes.
3814
3842
  */
3815
- declare type ContentPermission = 'allow' | 'block';
3843
+ declare type ContentPermission = ContentBehavior | StructuredContentBehavior | StructuredContentPermissions;
3816
3844
 
3817
3845
  /**
3818
3846
  * Restrict redirects to URLs that match an allowed pattern.
@@ -9387,6 +9415,10 @@ declare type MutableWindowOptions = {
9387
9415
  showTaskbarIcon: boolean;
9388
9416
  /**
9389
9417
  * Specify a taskbar group for the window.
9418
+ * _Can be shared across applications._
9419
+ *
9420
+ * _If omitted from a main window, defaults to app's uuid (`fin.Application.getCurrentSync().identity.uuid`)._
9421
+ * _Use `platform.defaultWindowOptions.taskbarIconGroup` to set a default for platform applications._
9390
9422
  * _If omitted, defaults to app's uuid (`fin.Application.getCurrentSync().identity.uuid`)._
9391
9423
  * @remarks It's only updatable when `enableJumpList` is set to false.
9392
9424
  */
@@ -9426,13 +9458,14 @@ declare type NativeWindowIntegrationProviderAuthorization = {
9426
9458
  };
9427
9459
 
9428
9460
  /**
9429
- * Generated when view navigation is rejected as per contentNavigation allowlist/denylist rules.
9461
+ * Generated when view navigation is rejected as per contentNavigation allowlist/denylist rules or when blocked by a domain-based permission content rule.
9430
9462
  * @interface
9431
9463
  */
9432
9464
  declare type NavigationRejectedEvent = NamedEvent & {
9433
9465
  type: 'navigation-rejected';
9434
9466
  sourceName?: string;
9435
9467
  url: string;
9468
+ contentRule?: OpenFin.ContentPermission | undefined;
9436
9469
  };
9437
9470
 
9438
9471
  /**
@@ -9794,6 +9827,12 @@ declare namespace OpenFin {
9794
9827
  DomainSettings,
9795
9828
  ApiInjection,
9796
9829
  DomainApiSettings,
9830
+ BaseContentBehavior,
9831
+ ContentBehavior,
9832
+ BaseStructuredContentBehavior,
9833
+ BrowserContentBehavior,
9834
+ StructuredContentBehavior,
9835
+ StructuredContentPermissions,
9797
9836
  ContentPermission,
9798
9837
  PerDomainSettings,
9799
9838
  DomainSettingsRule,
@@ -13735,6 +13774,29 @@ declare type StartedEvent = BaseEvents.IdentityEvent & {
13735
13774
  type: 'started';
13736
13775
  };
13737
13776
 
13777
+ /**
13778
+ * Allows more control over content behaviors
13779
+ */
13780
+ declare type StructuredContentBehavior = BaseStructuredContentBehavior | BrowserContentBehavior;
13781
+
13782
+ /**
13783
+ * Specify rules for specific actions.
13784
+ */
13785
+ declare type StructuredContentPermissions = {
13786
+ /**
13787
+ * Controls the behavior for navigations
13788
+ */
13789
+ navigate?: ContentBehavior | StructuredContentBehavior;
13790
+ /**
13791
+ * Controls the behavior for redirects
13792
+ */
13793
+ redirect?: ContentBehavior | StructuredContentBehavior;
13794
+ /**
13795
+ * Controls the behavior for when iframes try to redirect
13796
+ */
13797
+ iframe?: BaseContentBehavior;
13798
+ };
13799
+
13738
13800
  /**
13739
13801
  * @interface
13740
13802
  */
@@ -17244,7 +17306,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17244
17306
  * bounds: {top: 10, left: 10, width: 200, height: 200}
17245
17307
  * });
17246
17308
  *
17247
- * await view.navigate('http://mdn.github.io/simple-shared-worker/index2.html');
17309
+ * await view.navigate('https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/');
17248
17310
  *
17249
17311
  * const sharedWorkers = await view.getSharedWorkers();
17250
17312
  * ```
@@ -17255,7 +17317,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17255
17317
  * name:'child',
17256
17318
  * defaultWidth: 300,
17257
17319
  * defaultHeight: 300,
17258
- * url: 'http://mdn.github.io/simple-shared-worker/index2.html',
17320
+ * url: 'https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/',
17259
17321
  * frame: true,
17260
17322
  * autoShow: true
17261
17323
  * };
@@ -17280,7 +17342,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17280
17342
  * bounds: {top: 10, left: 10, width: 200, height: 200}
17281
17343
  * });
17282
17344
  *
17283
- * await view.navigate('http://mdn.github.io/simple-shared-worker/index2.html');
17345
+ * await view.navigate('https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/');
17284
17346
  *
17285
17347
  * await view.inspectSharedWorker();
17286
17348
  * ```
@@ -17291,7 +17353,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17291
17353
  * name:'child',
17292
17354
  * defaultWidth: 300,
17293
17355
  * defaultHeight: 300,
17294
- * url: 'http://mdn.github.io/simple-shared-worker/index2.html',
17356
+ * url: 'https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/',
17295
17357
  * frame: true,
17296
17358
  * autoShow: true
17297
17359
  * };
@@ -17317,7 +17379,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17317
17379
  * bounds: {top: 10, left: 10, width: 200, height: 200}
17318
17380
  * });
17319
17381
  *
17320
- * await view.navigate('http://mdn.github.io/simple-shared-worker/index2.html');
17382
+ * await view.navigate('https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/');
17321
17383
  *
17322
17384
  * const sharedWorkers = await view.getSharedWorkers();
17323
17385
  * await view.inspectSharedWorkerById(sharedWorkers[0].id);
@@ -17329,7 +17391,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17329
17391
  * name:'child',
17330
17392
  * defaultWidth: 300,
17331
17393
  * defaultHeight: 300,
17332
- * url: 'http://mdn.github.io/simple-shared-worker/index2.html',
17394
+ * url: 'https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/',
17333
17395
  * frame: true,
17334
17396
  * autoShow: true
17335
17397
  * };
@@ -1661,6 +1661,8 @@ declare type BaseConfig = {
1661
1661
  timeout?: number;
1662
1662
  };
1663
1663
 
1664
+ declare type BaseContentBehavior = 'allow' | 'block';
1665
+
1664
1666
  /**
1665
1667
  * Properties shared by all content creation rules, regardless of context.
1666
1668
  *
@@ -1804,6 +1806,10 @@ declare type BaseLoadFailedEvent = NamedEvent & {
1804
1806
  isMainFrame: boolean;
1805
1807
  };
1806
1808
 
1809
+ declare type BaseStructuredContentBehavior = {
1810
+ behavior: BaseContentBehavior;
1811
+ };
1812
+
1807
1813
  declare type BaseUrlEvent = NamedEvent & {
1808
1814
  type: 'url-changed';
1809
1815
  url: string;
@@ -1904,6 +1910,15 @@ declare type BoundsDidChangeEvent = BoundsChangeEvent & {
1904
1910
 
1905
1911
  declare type BoundsEvent = BaseEvent_5 & OpenFin.Bounds;
1906
1912
 
1913
+ declare type BrowserContentBehavior = {
1914
+ behavior: 'browser';
1915
+ /**
1916
+ * Additional property that can be specified when setting the behavior to browser.
1917
+ * When set to true will close the Window or View that tried to navigate or redirect to the blocked URL.
1918
+ */
1919
+ closeExisting?: boolean;
1920
+ };
1921
+
1907
1922
  /**
1908
1923
  * A rule prescribing content creation in the browser.
1909
1924
  *
@@ -3670,6 +3685,13 @@ declare type ConstWindowOptions = {
3670
3685
  * @deprecated - use `icon` instead.
3671
3686
  */
3672
3687
  taskbarIcon: string;
3688
+ /**
3689
+ * Specify a taskbar group for the window.
3690
+ * _Can be shared across applications._
3691
+ * _If omitted from a main window, defaults to app's uuid (`fin.Application.getCurrentSync().identity.uuid`)._
3692
+ * _Use `platform.defaultWindowOptions.taskbarIconGroup` to set a default for platform applications._
3693
+ */
3694
+ taskbarIconGroup: string;
3673
3695
  /**
3674
3696
  * @defaultValue "about:blank"
3675
3697
  *
@@ -3720,6 +3742,15 @@ declare type ContainerCreatedEvent = LayoutDOMEvent & {
3720
3742
  type: 'container-created';
3721
3743
  };
3722
3744
 
3745
+ /**
3746
+ * Sets the behavior for when a Window or View navigates or redirects to a matching URL
3747
+ *
3748
+ * 'allow': The content url is allowed.
3749
+ * 'block': The content url is blocked.
3750
+ * 'browser': The content url is blocked and it is opened in the system's default web browser.
3751
+ */
3752
+ declare type ContentBehavior = BaseContentBehavior | 'browser';
3753
+
3723
3754
  /**
3724
3755
  * Generated when content navigation or redirection is blocked by {@link OpenFin.DomainSettings}.
3725
3756
  * @interface
@@ -3807,12 +3838,9 @@ declare type ContentCreationRulesEvent = NamedEvent & {
3807
3838
  declare type ContentNavigation = NavigationRules;
3808
3839
 
3809
3840
  /**
3810
- * Whether a content url is allowed or blocked for navigation or redirection.
3811
- *
3812
- * * 'allow': The content url is allowed.
3813
- * * 'block': The content url is blocked.
3841
+ * Controls whether a content url is allowed or blocked for navigation in Windows and Views or redirection for Windows, Views and iframes.
3814
3842
  */
3815
- declare type ContentPermission = 'allow' | 'block';
3843
+ declare type ContentPermission = ContentBehavior | StructuredContentBehavior | StructuredContentPermissions;
3816
3844
 
3817
3845
  /**
3818
3846
  * Restrict redirects to URLs that match an allowed pattern.
@@ -9387,6 +9415,10 @@ declare type MutableWindowOptions = {
9387
9415
  showTaskbarIcon: boolean;
9388
9416
  /**
9389
9417
  * Specify a taskbar group for the window.
9418
+ * _Can be shared across applications._
9419
+ *
9420
+ * _If omitted from a main window, defaults to app's uuid (`fin.Application.getCurrentSync().identity.uuid`)._
9421
+ * _Use `platform.defaultWindowOptions.taskbarIconGroup` to set a default for platform applications._
9390
9422
  * _If omitted, defaults to app's uuid (`fin.Application.getCurrentSync().identity.uuid`)._
9391
9423
  * @remarks It's only updatable when `enableJumpList` is set to false.
9392
9424
  */
@@ -9426,13 +9458,14 @@ declare type NativeWindowIntegrationProviderAuthorization = {
9426
9458
  };
9427
9459
 
9428
9460
  /**
9429
- * Generated when view navigation is rejected as per contentNavigation allowlist/denylist rules.
9461
+ * Generated when view navigation is rejected as per contentNavigation allowlist/denylist rules or when blocked by a domain-based permission content rule.
9430
9462
  * @interface
9431
9463
  */
9432
9464
  declare type NavigationRejectedEvent = NamedEvent & {
9433
9465
  type: 'navigation-rejected';
9434
9466
  sourceName?: string;
9435
9467
  url: string;
9468
+ contentRule?: OpenFin.ContentPermission | undefined;
9436
9469
  };
9437
9470
 
9438
9471
  /**
@@ -9794,6 +9827,12 @@ declare namespace OpenFin {
9794
9827
  DomainSettings,
9795
9828
  ApiInjection,
9796
9829
  DomainApiSettings,
9830
+ BaseContentBehavior,
9831
+ ContentBehavior,
9832
+ BaseStructuredContentBehavior,
9833
+ BrowserContentBehavior,
9834
+ StructuredContentBehavior,
9835
+ StructuredContentPermissions,
9797
9836
  ContentPermission,
9798
9837
  PerDomainSettings,
9799
9838
  DomainSettingsRule,
@@ -13735,6 +13774,29 @@ declare type StartedEvent = BaseEvents.IdentityEvent & {
13735
13774
  type: 'started';
13736
13775
  };
13737
13776
 
13777
+ /**
13778
+ * Allows more control over content behaviors
13779
+ */
13780
+ declare type StructuredContentBehavior = BaseStructuredContentBehavior | BrowserContentBehavior;
13781
+
13782
+ /**
13783
+ * Specify rules for specific actions.
13784
+ */
13785
+ declare type StructuredContentPermissions = {
13786
+ /**
13787
+ * Controls the behavior for navigations
13788
+ */
13789
+ navigate?: ContentBehavior | StructuredContentBehavior;
13790
+ /**
13791
+ * Controls the behavior for redirects
13792
+ */
13793
+ redirect?: ContentBehavior | StructuredContentBehavior;
13794
+ /**
13795
+ * Controls the behavior for when iframes try to redirect
13796
+ */
13797
+ iframe?: BaseContentBehavior;
13798
+ };
13799
+
13738
13800
  /**
13739
13801
  * @interface
13740
13802
  */
@@ -17244,7 +17306,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17244
17306
  * bounds: {top: 10, left: 10, width: 200, height: 200}
17245
17307
  * });
17246
17308
  *
17247
- * await view.navigate('http://mdn.github.io/simple-shared-worker/index2.html');
17309
+ * await view.navigate('https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/');
17248
17310
  *
17249
17311
  * const sharedWorkers = await view.getSharedWorkers();
17250
17312
  * ```
@@ -17255,7 +17317,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17255
17317
  * name:'child',
17256
17318
  * defaultWidth: 300,
17257
17319
  * defaultHeight: 300,
17258
- * url: 'http://mdn.github.io/simple-shared-worker/index2.html',
17320
+ * url: 'https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/',
17259
17321
  * frame: true,
17260
17322
  * autoShow: true
17261
17323
  * };
@@ -17280,7 +17342,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17280
17342
  * bounds: {top: 10, left: 10, width: 200, height: 200}
17281
17343
  * });
17282
17344
  *
17283
- * await view.navigate('http://mdn.github.io/simple-shared-worker/index2.html');
17345
+ * await view.navigate('https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/');
17284
17346
  *
17285
17347
  * await view.inspectSharedWorker();
17286
17348
  * ```
@@ -17291,7 +17353,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17291
17353
  * name:'child',
17292
17354
  * defaultWidth: 300,
17293
17355
  * defaultHeight: 300,
17294
- * url: 'http://mdn.github.io/simple-shared-worker/index2.html',
17356
+ * url: 'https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/',
17295
17357
  * frame: true,
17296
17358
  * autoShow: true
17297
17359
  * };
@@ -17317,7 +17379,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17317
17379
  * bounds: {top: 10, left: 10, width: 200, height: 200}
17318
17380
  * });
17319
17381
  *
17320
- * await view.navigate('http://mdn.github.io/simple-shared-worker/index2.html');
17382
+ * await view.navigate('https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/');
17321
17383
  *
17322
17384
  * const sharedWorkers = await view.getSharedWorkers();
17323
17385
  * await view.inspectSharedWorkerById(sharedWorkers[0].id);
@@ -17329,7 +17391,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17329
17391
  * name:'child',
17330
17392
  * defaultWidth: 300,
17331
17393
  * defaultHeight: 300,
17332
- * url: 'http://mdn.github.io/simple-shared-worker/index2.html',
17394
+ * url: 'https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/',
17333
17395
  * frame: true,
17334
17396
  * autoShow: true
17335
17397
  * };
@@ -1661,6 +1661,8 @@ declare type BaseConfig = {
1661
1661
  timeout?: number;
1662
1662
  };
1663
1663
 
1664
+ declare type BaseContentBehavior = 'allow' | 'block';
1665
+
1664
1666
  /**
1665
1667
  * Properties shared by all content creation rules, regardless of context.
1666
1668
  *
@@ -1804,6 +1806,10 @@ declare type BaseLoadFailedEvent = NamedEvent & {
1804
1806
  isMainFrame: boolean;
1805
1807
  };
1806
1808
 
1809
+ declare type BaseStructuredContentBehavior = {
1810
+ behavior: BaseContentBehavior;
1811
+ };
1812
+
1807
1813
  declare type BaseUrlEvent = NamedEvent & {
1808
1814
  type: 'url-changed';
1809
1815
  url: string;
@@ -1904,6 +1910,15 @@ declare type BoundsDidChangeEvent = BoundsChangeEvent & {
1904
1910
 
1905
1911
  declare type BoundsEvent = BaseEvent_5 & OpenFin.Bounds;
1906
1912
 
1913
+ declare type BrowserContentBehavior = {
1914
+ behavior: 'browser';
1915
+ /**
1916
+ * Additional property that can be specified when setting the behavior to browser.
1917
+ * When set to true will close the Window or View that tried to navigate or redirect to the blocked URL.
1918
+ */
1919
+ closeExisting?: boolean;
1920
+ };
1921
+
1907
1922
  /**
1908
1923
  * A rule prescribing content creation in the browser.
1909
1924
  *
@@ -3670,6 +3685,13 @@ declare type ConstWindowOptions = {
3670
3685
  * @deprecated - use `icon` instead.
3671
3686
  */
3672
3687
  taskbarIcon: string;
3688
+ /**
3689
+ * Specify a taskbar group for the window.
3690
+ * _Can be shared across applications._
3691
+ * _If omitted from a main window, defaults to app's uuid (`fin.Application.getCurrentSync().identity.uuid`)._
3692
+ * _Use `platform.defaultWindowOptions.taskbarIconGroup` to set a default for platform applications._
3693
+ */
3694
+ taskbarIconGroup: string;
3673
3695
  /**
3674
3696
  * @defaultValue "about:blank"
3675
3697
  *
@@ -3720,6 +3742,15 @@ declare type ContainerCreatedEvent = LayoutDOMEvent & {
3720
3742
  type: 'container-created';
3721
3743
  };
3722
3744
 
3745
+ /**
3746
+ * Sets the behavior for when a Window or View navigates or redirects to a matching URL
3747
+ *
3748
+ * 'allow': The content url is allowed.
3749
+ * 'block': The content url is blocked.
3750
+ * 'browser': The content url is blocked and it is opened in the system's default web browser.
3751
+ */
3752
+ declare type ContentBehavior = BaseContentBehavior | 'browser';
3753
+
3723
3754
  /**
3724
3755
  * Generated when content navigation or redirection is blocked by {@link OpenFin.DomainSettings}.
3725
3756
  * @interface
@@ -3807,12 +3838,9 @@ declare type ContentCreationRulesEvent = NamedEvent & {
3807
3838
  declare type ContentNavigation = NavigationRules;
3808
3839
 
3809
3840
  /**
3810
- * Whether a content url is allowed or blocked for navigation or redirection.
3811
- *
3812
- * * 'allow': The content url is allowed.
3813
- * * 'block': The content url is blocked.
3841
+ * Controls whether a content url is allowed or blocked for navigation in Windows and Views or redirection for Windows, Views and iframes.
3814
3842
  */
3815
- declare type ContentPermission = 'allow' | 'block';
3843
+ declare type ContentPermission = ContentBehavior | StructuredContentBehavior | StructuredContentPermissions;
3816
3844
 
3817
3845
  /**
3818
3846
  * Restrict redirects to URLs that match an allowed pattern.
@@ -9387,6 +9415,10 @@ declare type MutableWindowOptions = {
9387
9415
  showTaskbarIcon: boolean;
9388
9416
  /**
9389
9417
  * Specify a taskbar group for the window.
9418
+ * _Can be shared across applications._
9419
+ *
9420
+ * _If omitted from a main window, defaults to app's uuid (`fin.Application.getCurrentSync().identity.uuid`)._
9421
+ * _Use `platform.defaultWindowOptions.taskbarIconGroup` to set a default for platform applications._
9390
9422
  * _If omitted, defaults to app's uuid (`fin.Application.getCurrentSync().identity.uuid`)._
9391
9423
  * @remarks It's only updatable when `enableJumpList` is set to false.
9392
9424
  */
@@ -9426,13 +9458,14 @@ declare type NativeWindowIntegrationProviderAuthorization = {
9426
9458
  };
9427
9459
 
9428
9460
  /**
9429
- * Generated when view navigation is rejected as per contentNavigation allowlist/denylist rules.
9461
+ * Generated when view navigation is rejected as per contentNavigation allowlist/denylist rules or when blocked by a domain-based permission content rule.
9430
9462
  * @interface
9431
9463
  */
9432
9464
  declare type NavigationRejectedEvent = NamedEvent & {
9433
9465
  type: 'navigation-rejected';
9434
9466
  sourceName?: string;
9435
9467
  url: string;
9468
+ contentRule?: OpenFin.ContentPermission | undefined;
9436
9469
  };
9437
9470
 
9438
9471
  /**
@@ -9794,6 +9827,12 @@ declare namespace OpenFin {
9794
9827
  DomainSettings,
9795
9828
  ApiInjection,
9796
9829
  DomainApiSettings,
9830
+ BaseContentBehavior,
9831
+ ContentBehavior,
9832
+ BaseStructuredContentBehavior,
9833
+ BrowserContentBehavior,
9834
+ StructuredContentBehavior,
9835
+ StructuredContentPermissions,
9797
9836
  ContentPermission,
9798
9837
  PerDomainSettings,
9799
9838
  DomainSettingsRule,
@@ -13735,6 +13774,29 @@ declare type StartedEvent = BaseEvents.IdentityEvent & {
13735
13774
  type: 'started';
13736
13775
  };
13737
13776
 
13777
+ /**
13778
+ * Allows more control over content behaviors
13779
+ */
13780
+ declare type StructuredContentBehavior = BaseStructuredContentBehavior | BrowserContentBehavior;
13781
+
13782
+ /**
13783
+ * Specify rules for specific actions.
13784
+ */
13785
+ declare type StructuredContentPermissions = {
13786
+ /**
13787
+ * Controls the behavior for navigations
13788
+ */
13789
+ navigate?: ContentBehavior | StructuredContentBehavior;
13790
+ /**
13791
+ * Controls the behavior for redirects
13792
+ */
13793
+ redirect?: ContentBehavior | StructuredContentBehavior;
13794
+ /**
13795
+ * Controls the behavior for when iframes try to redirect
13796
+ */
13797
+ iframe?: BaseContentBehavior;
13798
+ };
13799
+
13738
13800
  /**
13739
13801
  * @interface
13740
13802
  */
@@ -17244,7 +17306,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17244
17306
  * bounds: {top: 10, left: 10, width: 200, height: 200}
17245
17307
  * });
17246
17308
  *
17247
- * await view.navigate('http://mdn.github.io/simple-shared-worker/index2.html');
17309
+ * await view.navigate('https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/');
17248
17310
  *
17249
17311
  * const sharedWorkers = await view.getSharedWorkers();
17250
17312
  * ```
@@ -17255,7 +17317,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17255
17317
  * name:'child',
17256
17318
  * defaultWidth: 300,
17257
17319
  * defaultHeight: 300,
17258
- * url: 'http://mdn.github.io/simple-shared-worker/index2.html',
17320
+ * url: 'https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/',
17259
17321
  * frame: true,
17260
17322
  * autoShow: true
17261
17323
  * };
@@ -17280,7 +17342,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17280
17342
  * bounds: {top: 10, left: 10, width: 200, height: 200}
17281
17343
  * });
17282
17344
  *
17283
- * await view.navigate('http://mdn.github.io/simple-shared-worker/index2.html');
17345
+ * await view.navigate('https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/');
17284
17346
  *
17285
17347
  * await view.inspectSharedWorker();
17286
17348
  * ```
@@ -17291,7 +17353,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17291
17353
  * name:'child',
17292
17354
  * defaultWidth: 300,
17293
17355
  * defaultHeight: 300,
17294
- * url: 'http://mdn.github.io/simple-shared-worker/index2.html',
17356
+ * url: 'https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/',
17295
17357
  * frame: true,
17296
17358
  * autoShow: true
17297
17359
  * };
@@ -17317,7 +17379,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17317
17379
  * bounds: {top: 10, left: 10, width: 200, height: 200}
17318
17380
  * });
17319
17381
  *
17320
- * await view.navigate('http://mdn.github.io/simple-shared-worker/index2.html');
17382
+ * await view.navigate('https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/');
17321
17383
  *
17322
17384
  * const sharedWorkers = await view.getSharedWorkers();
17323
17385
  * await view.inspectSharedWorkerById(sharedWorkers[0].id);
@@ -17329,7 +17391,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17329
17391
  * name:'child',
17330
17392
  * defaultWidth: 300,
17331
17393
  * defaultHeight: 300,
17332
- * url: 'http://mdn.github.io/simple-shared-worker/index2.html',
17394
+ * url: 'https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/',
17333
17395
  * frame: true,
17334
17396
  * autoShow: true
17335
17397
  * };
package/out/fdc3-api.d.ts CHANGED
@@ -1693,6 +1693,8 @@ declare type BaseConfig = {
1693
1693
  timeout?: number;
1694
1694
  };
1695
1695
 
1696
+ declare type BaseContentBehavior = 'allow' | 'block';
1697
+
1696
1698
  /**
1697
1699
  * Properties shared by all content creation rules, regardless of context.
1698
1700
  *
@@ -1836,6 +1838,10 @@ declare type BaseLoadFailedEvent = NamedEvent & {
1836
1838
  isMainFrame: boolean;
1837
1839
  };
1838
1840
 
1841
+ declare type BaseStructuredContentBehavior = {
1842
+ behavior: BaseContentBehavior;
1843
+ };
1844
+
1839
1845
  declare type BaseUrlEvent = NamedEvent & {
1840
1846
  type: 'url-changed';
1841
1847
  url: string;
@@ -1936,6 +1942,15 @@ declare type BoundsDidChangeEvent = BoundsChangeEvent & {
1936
1942
 
1937
1943
  declare type BoundsEvent = BaseEvent_5 & OpenFin.Bounds;
1938
1944
 
1945
+ declare type BrowserContentBehavior = {
1946
+ behavior: 'browser';
1947
+ /**
1948
+ * Additional property that can be specified when setting the behavior to browser.
1949
+ * When set to true will close the Window or View that tried to navigate or redirect to the blocked URL.
1950
+ */
1951
+ closeExisting?: boolean;
1952
+ };
1953
+
1939
1954
  /**
1940
1955
  * A rule prescribing content creation in the browser.
1941
1956
  *
@@ -3729,6 +3744,13 @@ declare type ConstWindowOptions = {
3729
3744
  * @deprecated - use `icon` instead.
3730
3745
  */
3731
3746
  taskbarIcon: string;
3747
+ /**
3748
+ * Specify a taskbar group for the window.
3749
+ * _Can be shared across applications._
3750
+ * _If omitted from a main window, defaults to app's uuid (`fin.Application.getCurrentSync().identity.uuid`)._
3751
+ * _Use `platform.defaultWindowOptions.taskbarIconGroup` to set a default for platform applications._
3752
+ */
3753
+ taskbarIconGroup: string;
3732
3754
  /**
3733
3755
  * @defaultValue "about:blank"
3734
3756
  *
@@ -3779,6 +3801,15 @@ declare type ContainerCreatedEvent = LayoutDOMEvent & {
3779
3801
  type: 'container-created';
3780
3802
  };
3781
3803
 
3804
+ /**
3805
+ * Sets the behavior for when a Window or View navigates or redirects to a matching URL
3806
+ *
3807
+ * 'allow': The content url is allowed.
3808
+ * 'block': The content url is blocked.
3809
+ * 'browser': The content url is blocked and it is opened in the system's default web browser.
3810
+ */
3811
+ declare type ContentBehavior = BaseContentBehavior | 'browser';
3812
+
3782
3813
  /**
3783
3814
  * Generated when content navigation or redirection is blocked by {@link OpenFin.DomainSettings}.
3784
3815
  * @interface
@@ -3866,12 +3897,9 @@ declare type ContentCreationRulesEvent = NamedEvent & {
3866
3897
  declare type ContentNavigation = NavigationRules;
3867
3898
 
3868
3899
  /**
3869
- * Whether a content url is allowed or blocked for navigation or redirection.
3870
- *
3871
- * * 'allow': The content url is allowed.
3872
- * * 'block': The content url is blocked.
3900
+ * Controls whether a content url is allowed or blocked for navigation in Windows and Views or redirection for Windows, Views and iframes.
3873
3901
  */
3874
- declare type ContentPermission = 'allow' | 'block';
3902
+ declare type ContentPermission = ContentBehavior | StructuredContentBehavior | StructuredContentPermissions;
3875
3903
 
3876
3904
  /**
3877
3905
  * Restrict redirects to URLs that match an allowed pattern.
@@ -9687,6 +9715,10 @@ declare type MutableWindowOptions = {
9687
9715
  showTaskbarIcon: boolean;
9688
9716
  /**
9689
9717
  * Specify a taskbar group for the window.
9718
+ * _Can be shared across applications._
9719
+ *
9720
+ * _If omitted from a main window, defaults to app's uuid (`fin.Application.getCurrentSync().identity.uuid`)._
9721
+ * _Use `platform.defaultWindowOptions.taskbarIconGroup` to set a default for platform applications._
9690
9722
  * _If omitted, defaults to app's uuid (`fin.Application.getCurrentSync().identity.uuid`)._
9691
9723
  * @remarks It's only updatable when `enableJumpList` is set to false.
9692
9724
  */
@@ -9734,13 +9766,14 @@ declare type NativeWindowIntegrationProviderAuthorization = {
9734
9766
  };
9735
9767
 
9736
9768
  /**
9737
- * Generated when view navigation is rejected as per contentNavigation allowlist/denylist rules.
9769
+ * Generated when view navigation is rejected as per contentNavigation allowlist/denylist rules or when blocked by a domain-based permission content rule.
9738
9770
  * @interface
9739
9771
  */
9740
9772
  declare type NavigationRejectedEvent = NamedEvent & {
9741
9773
  type: 'navigation-rejected';
9742
9774
  sourceName?: string;
9743
9775
  url: string;
9776
+ contentRule?: OpenFin.ContentPermission | undefined;
9744
9777
  };
9745
9778
 
9746
9779
  /**
@@ -10112,6 +10145,12 @@ declare namespace OpenFin {
10112
10145
  DomainSettings,
10113
10146
  ApiInjection,
10114
10147
  DomainApiSettings,
10148
+ BaseContentBehavior,
10149
+ ContentBehavior,
10150
+ BaseStructuredContentBehavior,
10151
+ BrowserContentBehavior,
10152
+ StructuredContentBehavior,
10153
+ StructuredContentPermissions,
10115
10154
  ContentPermission,
10116
10155
  PerDomainSettings,
10117
10156
  DomainSettingsRule,
@@ -14139,6 +14178,29 @@ declare type StartedEvent = BaseEvents.IdentityEvent & {
14139
14178
  type: 'started';
14140
14179
  };
14141
14180
 
14181
+ /**
14182
+ * Allows more control over content behaviors
14183
+ */
14184
+ declare type StructuredContentBehavior = BaseStructuredContentBehavior | BrowserContentBehavior;
14185
+
14186
+ /**
14187
+ * Specify rules for specific actions.
14188
+ */
14189
+ declare type StructuredContentPermissions = {
14190
+ /**
14191
+ * Controls the behavior for navigations
14192
+ */
14193
+ navigate?: ContentBehavior | StructuredContentBehavior;
14194
+ /**
14195
+ * Controls the behavior for redirects
14196
+ */
14197
+ redirect?: ContentBehavior | StructuredContentBehavior;
14198
+ /**
14199
+ * Controls the behavior for when iframes try to redirect
14200
+ */
14201
+ iframe?: BaseContentBehavior;
14202
+ };
14203
+
14142
14204
  /**
14143
14205
  * @interface
14144
14206
  */
@@ -17695,7 +17757,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17695
17757
  * bounds: {top: 10, left: 10, width: 200, height: 200}
17696
17758
  * });
17697
17759
  *
17698
- * await view.navigate('http://mdn.github.io/simple-shared-worker/index2.html');
17760
+ * await view.navigate('https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/');
17699
17761
  *
17700
17762
  * const sharedWorkers = await view.getSharedWorkers();
17701
17763
  * ```
@@ -17706,7 +17768,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17706
17768
  * name:'child',
17707
17769
  * defaultWidth: 300,
17708
17770
  * defaultHeight: 300,
17709
- * url: 'http://mdn.github.io/simple-shared-worker/index2.html',
17771
+ * url: 'https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/',
17710
17772
  * frame: true,
17711
17773
  * autoShow: true
17712
17774
  * };
@@ -17731,7 +17793,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17731
17793
  * bounds: {top: 10, left: 10, width: 200, height: 200}
17732
17794
  * });
17733
17795
  *
17734
- * await view.navigate('http://mdn.github.io/simple-shared-worker/index2.html');
17796
+ * await view.navigate('https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/');
17735
17797
  *
17736
17798
  * await view.inspectSharedWorker();
17737
17799
  * ```
@@ -17742,7 +17804,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17742
17804
  * name:'child',
17743
17805
  * defaultWidth: 300,
17744
17806
  * defaultHeight: 300,
17745
- * url: 'http://mdn.github.io/simple-shared-worker/index2.html',
17807
+ * url: 'https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/',
17746
17808
  * frame: true,
17747
17809
  * autoShow: true
17748
17810
  * };
@@ -17768,7 +17830,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17768
17830
  * bounds: {top: 10, left: 10, width: 200, height: 200}
17769
17831
  * });
17770
17832
  *
17771
- * await view.navigate('http://mdn.github.io/simple-shared-worker/index2.html');
17833
+ * await view.navigate('https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/');
17772
17834
  *
17773
17835
  * const sharedWorkers = await view.getSharedWorkers();
17774
17836
  * await view.inspectSharedWorkerById(sharedWorkers[0].id);
@@ -17780,7 +17842,7 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17780
17842
  * name:'child',
17781
17843
  * defaultWidth: 300,
17782
17844
  * defaultHeight: 300,
17783
- * url: 'http://mdn.github.io/simple-shared-worker/index2.html',
17845
+ * url: 'https://mdn.github.io/dom-examples/web-workers/simple-shared-worker/',
17784
17846
  * frame: true,
17785
17847
  * autoShow: true
17786
17848
  * };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openfin/fdc3-api",
3
- "version": "41.83.2",
3
+ "version": "41.100.17",
4
4
  "description": "OpenFin fdc3 module utilities and types.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "private": false,
@@ -16,7 +16,8 @@
16
16
  "watch": "npm run dev -- --watch",
17
17
  "ci:prepublish": "of-npm prepublish",
18
18
  "ci:postpublish": "of-npm postpublish",
19
- "ci:publish": "npm publish"
19
+ "ci:publish": "npm publish",
20
+ "version:update": "of-npm version --allow-same-version '$RMAJOR.$RMINOR.$RPATCH'"
20
21
  },
21
22
  "author": "OpenFin",
22
23
  "dependencies": {