Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4f77c85

Browse files
committed
close navigators when error during signin or signout
1 parent6af4938 commit4f77c85

File tree

4 files changed

+40
-14
lines changed

4 files changed

+40
-14
lines changed

‎src/CordovaPopupWindow.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,10 @@ export default class CordovaPopupWindow {
8585
this._reject(newError(message));
8686
}
8787

88+
close(){
89+
this._cleanup();
90+
}
91+
8892
_cleanup(){
8993
Log.debug("CordovaPopupWindow._cleanup");
9094

‎src/IFrameWindow.js

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,16 +56,22 @@ export default class IFrameWindow {
5656
this._reject(newError(message));
5757
}
5858

59+
close(){
60+
this._cleanup();
61+
}
62+
5963
_cleanup(){
60-
Log.debug("IFrameWindow._cleanup");
64+
if(this._frame){
65+
Log.debug("IFrameWindow._cleanup");
6166

62-
window.removeEventListener("message",this._boundMessageEvent,false);
63-
window.clearTimeout(this._timer);
64-
window.document.body.removeChild(this._frame);
67+
window.removeEventListener("message",this._boundMessageEvent,false);
68+
window.clearTimeout(this._timer);
69+
window.document.body.removeChild(this._frame);
6570

66-
this._timer=null;
67-
this._frame=null;
68-
this._boundMessageEvent=null;
71+
this._timer=null;
72+
this._frame=null;
73+
this._boundMessageEvent=null;
74+
}
6975
}
7076

7177
_timeout(){

‎src/PopupWindow.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,10 @@ export default class PopupWindow {
7171
this._reject(newError(message));
7272
}
7373

74+
close(){
75+
this._cleanup(false);
76+
}
77+
7478
_cleanup(keepOpen){
7579
Log.debug("PopupWindow._cleanup");
7680

‎src/UserManager.js

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -318,20 +318,26 @@ export default class UserManager extends OidcClient {
318318
_signinStart(args,navigator,navigatorParams={}){
319319
Log.debug("_signinStart");
320320

321+
returnnavigator.prepare(navigatorParams).then(handle=>{
322+
Log.debug("got navigator window handle");
321323

322-
returnthis.createSigninRequest(args).then(signinRequest=>{
323-
Log.debug("got signin request");
324-
325-
navigatorParams.url=signinRequest.url;
326-
navigatorParams.id=signinRequest.state.id;
324+
returnthis.createSigninRequest(args).then(signinRequest=>{
325+
Log.debug("got signin request");
327326

328-
returnnavigator.prepare(navigatorParams).then(handle=>{
329-
Log.debug("got navigator window handle");
327+
navigatorParams.url=signinRequest.url;
328+
navigatorParams.id=signinRequest.state.id;
330329

331330
returnhandle.navigate(navigatorParams);
331+
}).catch(err=>{
332+
if(handle.close){
333+
Log.debug("Error after preparing navigator, closing navigator window");
334+
handle.close();
335+
}
336+
throwerr;
332337
});
333338
});
334339
}
340+
335341
_signinEnd(url){
336342
Log.debug("_signinEnd");
337343

@@ -382,6 +388,12 @@ export default class UserManager extends OidcClient {
382388
});
383389
});
384390
});
391+
}).catch(err=>{
392+
if(handle.close){
393+
Log.debug("Error after preparing navigator, closing navigator window");
394+
handle.close();
395+
}
396+
throwerr;
385397
});
386398
});
387399
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp