@@ -398,6 +398,7 @@ export interface IBrowserViewModel extends IDisposable {
398398 readonly onDidKeyCommand : Event < IBrowserViewKeyDownEvent > ;
399399 readonly onDidChangeTitle : Event < IBrowserViewTitleChangeEvent > ;
400400 readonly onDidChangeFavicon : Event < IBrowserViewFaviconChangeEvent > ;
401+ readonly onDidChangeOwner : Event < IBrowserViewOwner > ;
401402 readonly onDidFindInPage : Event < IBrowserViewFindInPageResult > ;
402403 readonly onDidChangeVisibility : Event < IBrowserViewVisibilityEvent > ;
403404 readonly onDidClose : Event < void > ;
@@ -424,6 +425,7 @@ export interface IBrowserViewModel extends IDisposable {
424425 stopFindInPage ( keepSelection ?: boolean ) : Promise < void > ;
425426 getSelectedText ( ) : Promise < string > ;
426427 clearStorage ( ) : Promise < void > ;
428+ setOwner ( owner : IBrowserViewOwner ) : Promise < void > ;
427429 setSharedWithAgent ( shared : boolean ) : Promise < boolean > ;
428430 trustCertificate ( host : string , fingerprint : string ) : Promise < void > ;
429431 untrustCertificate ( host : string , fingerprint : string ) : Promise < void > ;
@@ -442,6 +444,7 @@ export interface IBrowserViewModel extends IDisposable {
442444
443445export class BrowserViewModel extends Disposable implements IBrowserViewModel {
444446 private _url : string = '' ;
447+ private _owner : IBrowserViewOwner ;
445448 private _title : string = '' ;
446449 private _favicon : string | undefined = undefined ;
447450 private _screenshot : VSBuffer | undefined = undefined ;
@@ -483,7 +486,7 @@ export class BrowserViewModel extends Disposable implements IBrowserViewModel {
483486
484487 constructor (
485488 readonly id : string ,
486- readonly owner : IBrowserViewOwner ,
489+ owner : IBrowserViewOwner ,
487490 readonly associatedResource : URI | undefined ,
488491 initialState : IBrowserViewState ,
489492 private readonly browserViewService : IBrowserViewService ,
@@ -496,6 +499,7 @@ export class BrowserViewModel extends Disposable implements IBrowserViewModel {
496499 @ILogService private readonly logService : ILogService ,
497500 ) {
498501 super ( ) ;
502+ this . _owner = owner ;
499503
500504 // Initialize state
501505 this . _url = initialState . url ;
@@ -598,6 +602,10 @@ export class BrowserViewModel extends Disposable implements IBrowserViewModel {
598602 this . _favicon = e . favicon ;
599603 } ) ) ;
600604
605+ this . _register ( this . onDidChangeOwner ( owner => {
606+ this . _owner = owner ;
607+ } ) ) ;
608+
601609 this . _register ( this . onDidChangeFocus ( ( { focused } ) => {
602610 this . _focused = focused ;
603611 } ) ) ;
@@ -638,6 +646,7 @@ export class BrowserViewModel extends Disposable implements IBrowserViewModel {
638646 }
639647
640648 get url ( ) : string { return this . _url ; }
649+ get owner ( ) : IBrowserViewOwner { return this . _owner ; }
641650 get title ( ) : string { return this . _title ; }
642651 get favicon ( ) : string | undefined { return this . _favicon ; }
643652 get loading ( ) : boolean { return this . _loading ; }
@@ -692,6 +701,10 @@ export class BrowserViewModel extends Disposable implements IBrowserViewModel {
692701 return this . browserViewService . onDynamicDidChangeFavicon ( this . id ) ;
693702 }
694703
704+ get onDidChangeOwner ( ) : Event < IBrowserViewOwner > {
705+ return this . browserViewService . onDynamicDidChangeOwner ( this . id ) ;
706+ }
707+
695708 get onDidFindInPage ( ) : Event < IBrowserViewFindInPageResult > {
696709 return this . browserViewService . onDynamicDidFindInPage ( this . id ) ;
697710 }
@@ -784,6 +797,10 @@ export class BrowserViewModel extends Disposable implements IBrowserViewModel {
784797 return this . browserViewService . clearStorage ( this . id ) ;
785798 }
786799
800+ async setOwner ( owner : IBrowserViewOwner ) : Promise < void > {
801+ return this . browserViewService . setOwner ( this . id , owner ) ;
802+ }
803+
787804 async trustCertificate ( host : string , fingerprint : string ) : Promise < void > {
788805 return this . browserViewService . trustCertificate ( this . id , host , fingerprint ) ;
789806 }
0 commit comments