From 91b7f8d622b0d15f7c3dca803d85e21aa2bc417d Mon Sep 17 00:00:00 2001 From: Viktar Donich Date: Mon, 1 Aug 2016 15:01:15 -0700 Subject: [PATCH] Refresh auth credentials prospective fixes - Initial credentials refresh right after auth error to clear cache and to handle situation of auth error because of stale auth cookie. - Clear REST API cache entirely to remove all auth-dependent data. Bug: Issue 4285 Change-Id: I310ac9443ddd46c15d3c34c32d843a0af6db50df --- .../app/elements/core/gr-error-manager/gr-error-manager.js | 3 +++ .../elements/core/gr-error-manager/gr-error-manager_test.html | 2 +- .../shared/gr-rest-api-interface/gr-rest-api-interface.js | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/polygerrit-ui/app/elements/core/gr-error-manager/gr-error-manager.js b/polygerrit-ui/app/elements/core/gr-error-manager/gr-error-manager.js index f2b0d78610..7a9c4f92c7 100644 --- a/polygerrit-ui/app/elements/core/gr-error-manager/gr-error-manager.js +++ b/polygerrit-ui/app/elements/core/gr-error-manager/gr-error-manager.js @@ -100,6 +100,9 @@ this.listen(document, 'visibilitychange', '_handleVisibilityChange'); } this._requestCheckLoggedIn(); + if (!document.hidden) { + this._handleVisibilityChange(); + } }, _createToastAlert: function() { diff --git a/polygerrit-ui/app/elements/core/gr-error-manager/gr-error-manager_test.html b/polygerrit-ui/app/elements/core/gr-error-manager/gr-error-manager_test.html index 71774e345d..f633a7ee25 100644 --- a/polygerrit-ui/app/elements/core/gr-error-manager/gr-error-manager_test.html +++ b/polygerrit-ui/app/elements/core/gr-error-manager/gr-error-manager_test.html @@ -105,7 +105,7 @@ limitations under the License. var hideToastSpy = sandbox.spy(toast, 'hide'); - assert.isFalse(refreshStub.called); + assert.isTrue(refreshStub.called); element.flushDebouncer('checkLoggedIn'); flush(function() { assert.isTrue(refreshStub.called); diff --git a/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface.js b/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface.js index fda3021594..2f109c97af 100644 --- a/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface.js +++ b/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface.js @@ -251,7 +251,7 @@ }, refreshCredentials: function() { - this._cache['/accounts/self/detail'] = undefined; + this._cache = {}; return this.getLoggedIn(); },