From 8369dc6b6421db577bdefb23c96f1750998ef488 Mon Sep 17 00:00:00 2001 From: Catalin Iacob Date: Fri, 24 Mar 2017 18:57:29 +0100 Subject: [PATCH] portalHelper: Fix portals which require a new window to be loaded https://bugzilla.gnome.org/show_bug.cgi?id=759044 --- js/portalHelper/main.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/js/portalHelper/main.js b/js/portalHelper/main.js index 2928c761a..b721f6a0f 100644 --- a/js/portalHelper/main.js +++ b/js/portalHelper/main.js @@ -215,6 +215,18 @@ const PortalWindow = new Lang.Class({ _onDecidePolicy: function(view, decision, type) { 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(); return true; }