From b94d025da44aeebd9651f46cfc4fe367cdd56a87 Mon Sep 17 00:00:00 2001
From: =Corey Hulen <corey@hulen.com>
Date: Mon, 14 Dec 2015 15:21:22 -0800
Subject: PLT-1404 signal login to other tags

---
 web/react/stores/browser_store.jsx | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

(limited to 'web/react/stores/browser_store.jsx')

diff --git a/web/react/stores/browser_store.jsx b/web/react/stores/browser_store.jsx
index ff6ae45ea..3417faaaf 100644
--- a/web/react/stores/browser_store.jsx
+++ b/web/react/stores/browser_store.jsx
@@ -29,6 +29,8 @@ class BrowserStoreClass {
         this.checkedLocalStorageSupported = '';
         this.signalLogout = this.signalLogout.bind(this);
         this.isSignallingLogout = this.isSignallingLogout.bind(this);
+        this.signalLogin = this.signalLogin.bind(this);
+        this.isSignallingLogin = this.isSignallingLogin.bind(this);
 
         var currentVersion = sessionStorage.getItem('storage_version');
         if (currentVersion !== global.window.mm_config.Version) {
@@ -129,6 +131,21 @@ class BrowserStoreClass {
         return logoutId === sessionStorage.getItem('__logout__');
     }
 
+    signalLogin() {
+        if (this.isLocalStorageSupported()) {
+            // PLT-1285 store an identifier in session storage so we can catch if the logout came from this tab on IE11
+            const loginId = generateId();
+
+            sessionStorage.setItem('__login__', loginId);
+            localStorage.setItem('__login__', loginId);
+            localStorage.removeItem('__login__');
+        }
+    }
+
+    isSignallingLogin(loginId) {
+        return loginId === sessionStorage.getItem('__login__');
+    }
+
     /**
      * Preforms the given action on each item that has the given prefix
      * Signature for action is action(key, value)
-- 
cgit v1.2.3-1-g7c22

