portalHelper: Fix portals which require a new window to be loaded
https://bugzilla.gnome.org/show_bug.cgi?id=759044
This commit is contained in:
parent
a0c31478c0
commit
8369dc6b64
@ -215,6 +215,18 @@ const PortalWindow = new Lang.Class({
|
|||||||
|
|
||||||
_onDecidePolicy: function(view, decision, type) {
|
_onDecidePolicy: function(view, decision, type) {
|
||||||
if (type == WebKit.PolicyDecisionType.NEW_WINDOW_ACTION) {
|
if (type == WebKit.PolicyDecisionType.NEW_WINDOW_ACTION) {
|
||||||
|
let navigationAction = decision.get_navigation_action();
|
||||||
|
if (navigationAction.is_user_gesture()) {
|
||||||
|
// Even though the portal asks for a new window,
|
||||||
|
// perform the navigation in the current one. Some
|
||||||
|
// portals open a window as their last login step and
|
||||||
|
// ignoring that window causes them to not let the
|
||||||
|
// user go through. We don't risk popups taking over
|
||||||
|
// the page because we check that the navigation is
|
||||||
|
// user initiated.
|
||||||
|
this._webView.load_request(navigationAction.get_request());
|
||||||
|
}
|
||||||
|
|
||||||
decision.ignore();
|
decision.ignore();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user