diff --git a/src/popup/app/vault/vaultController.js b/src/popup/app/vault/vaultController.js index c5cab2ee46..f088f7d5df 100644 --- a/src/popup/app/vault/vaultController.js +++ b/src/popup/app/vault/vaultController.js @@ -144,13 +144,17 @@ angular }; $scope.viewCipher = function (cipher) { - if (cipher.clicked) { + var canLaunch = cipher.login && cipher.login.uri && + (cipher.login.uri.startsWith('http://') || cipher.login.uri.startsWith('https://')); + if (canLaunch && cipher.clicked) { cipher.cancelClick = true; + cipher.clicked = false; $scope.launchWebsite(cipher); return; } cipher.clicked = true; + cipher.cancelClick = false; $timeout(function () { if (cipher.cancelClick) { @@ -172,6 +176,13 @@ angular }, 200); }; + $scope.launchWebsite = function (cipher) { + if (cipher.login && cipher.login.uri) { + $analytics.eventTrack('Launched Website'); + chrome.tabs.create({ url: cipher.login.uri }); + } + }; + $scope.viewGrouping = function (grouping, folder) { storeState(); $state.go('viewGrouping', { diff --git a/src/popup/app/vault/vaultViewGroupingController.js b/src/popup/app/vault/vaultViewGroupingController.js index 0b0c3713ee..c36d337415 100644 --- a/src/popup/app/vault/vaultViewGroupingController.js +++ b/src/popup/app/vault/vaultViewGroupingController.js @@ -181,13 +181,17 @@ angular }; $scope.viewCipher = function (cipher) { - if (cipher.clicked) { + var canLaunch = cipher.login && cipher.login.uri && + (cipher.login.uri.startsWith('http://') || cipher.login.uri.startsWith('https://')); + if (canLaunch && cipher.clicked) { cipher.cancelClick = true; + cipher.clicked = false; $scope.launchWebsite(cipher); return; } cipher.clicked = true; + cipher.cancelClick = false; $timeout(function () { if (cipher.cancelClick) { @@ -209,6 +213,13 @@ angular }, 200); }; + $scope.launchWebsite = function (cipher) { + if (cipher.login && cipher.login.uri) { + $analytics.eventTrack('Launched Website'); + chrome.tabs.create({ url: cipher.login.uri }); + } + }; + function storeState() { angular.extend(state, { scrollY: getScrollY(),