mirror of
https://github.com/bitwarden/browser.git
synced 2024-11-24 12:06:15 +01:00
private mode page with message
This commit is contained in:
parent
ac00d1f106
commit
60d75ce5fe
@ -747,5 +747,8 @@
|
||||
},
|
||||
"commandGeneratePasswordDesc": {
|
||||
"message": "Generate and copy a new random password to the clipboard."
|
||||
},
|
||||
"privateModeMessage": {
|
||||
"message": "Unfortunately this window is not available in private mode for this browser."
|
||||
}
|
||||
}
|
||||
|
@ -11,6 +11,12 @@
|
||||
|
||||
$urlRouterProvider.otherwise(function ($injector, $location) {
|
||||
var $state = $injector.get('$state');
|
||||
|
||||
if (!chrome.extension.getBackgroundPage()) {
|
||||
$state.go('privateMode');
|
||||
return;
|
||||
}
|
||||
|
||||
var userService = $injector.get('userService');
|
||||
var cryptoService = $injector.get('cryptoService');
|
||||
|
||||
@ -34,14 +40,21 @@
|
||||
$stateProvider
|
||||
.state('splash', {
|
||||
url: '/splash',
|
||||
controller: 'splashController',
|
||||
controller: 'baseController',
|
||||
templateUrl: 'app/global/splash.html',
|
||||
data: { authorize: false },
|
||||
params: { animation: null }
|
||||
})
|
||||
.state('privateMode', {
|
||||
url: '/private-mode',
|
||||
controller: 'privateModeController',
|
||||
templateUrl: 'app/global/privateMode.html',
|
||||
data: { authorize: false },
|
||||
params: { animation: null }
|
||||
})
|
||||
.state('home', {
|
||||
url: '/home',
|
||||
controller: 'homeController',
|
||||
controller: 'baseController',
|
||||
templateUrl: 'app/global/home.html',
|
||||
data: { authorize: false },
|
||||
params: { animation: null }
|
||||
@ -248,6 +261,10 @@
|
||||
stateService.purgeState();
|
||||
}
|
||||
|
||||
if (!userService) {
|
||||
return;
|
||||
}
|
||||
|
||||
userService.isAuthenticated(function (isAuthenticated) {
|
||||
if (isAuthenticated) {
|
||||
var obj = {};
|
||||
|
@ -1,6 +1,6 @@
|
||||
angular
|
||||
.module('bit.global')
|
||||
|
||||
.controller('homeController', function ($scope, i18nService) {
|
||||
.controller('baseController', function ($scope, i18nService) {
|
||||
$scope.i18n = i18nService;
|
||||
});
|
@ -7,7 +7,7 @@ angular
|
||||
self.currentYear = new Date().getFullYear();
|
||||
self.animation = '';
|
||||
self.shBody = $window.screen.availHeight <= 800;
|
||||
self.lgBody = !utilsService.isFirefox() && !utilsService.isEdge() && !self.shBody;
|
||||
self.lgBody = utilsService && !utilsService.isFirefox() && !utilsService.isEdge() && !self.shBody;
|
||||
|
||||
$scope.$on('$stateChangeSuccess', function (event, toState, toParams, fromState, fromParams) {
|
||||
if (toParams.animation) {
|
||||
|
6
src/popup/app/global/privateMode.html
Normal file
6
src/popup/app/global/privateMode.html
Normal file
@ -0,0 +1,6 @@
|
||||
<div class="content text-center">
|
||||
<p>{{privateModeMessage}}</p>
|
||||
<button type="button" class="btn btn-lg btn-link btn-block" ng-click="learnMore()">
|
||||
{{learnMoreMessage}}
|
||||
</button>
|
||||
</div>
|
10
src/popup/app/global/privateModeController.js
Normal file
10
src/popup/app/global/privateModeController.js
Normal file
@ -0,0 +1,10 @@
|
||||
angular
|
||||
.module('bit.global')
|
||||
|
||||
.controller('privateModeController', function ($scope) {
|
||||
$scope.privateModeMessage = chrome.i18n.getMessage("privateModeMessage");
|
||||
$scope.learnMoreMessage = chrome.i18n.getMessage("learnMore");
|
||||
$scope.learnMore = function () {
|
||||
chrome.tabs.create({ url: 'https://help.bitwarden.com/article/extension-wont-load-in-private-mode/' });
|
||||
};
|
||||
});
|
@ -1,6 +0,0 @@
|
||||
angular
|
||||
.module('bit.global')
|
||||
|
||||
.controller('splashController', function ($scope) {
|
||||
|
||||
});
|
@ -2,53 +2,70 @@
|
||||
.module('bit.services')
|
||||
|
||||
.factory('tokenService', function () {
|
||||
return chrome.extension.getBackgroundPage().bg_tokenService;
|
||||
var page = chrome.extension.getBackgroundPage();
|
||||
return page ? page.bg_tokenService : null;
|
||||
})
|
||||
.factory('cryptoService', function () {
|
||||
return chrome.extension.getBackgroundPage().bg_cryptoService;
|
||||
var page = chrome.extension.getBackgroundPage();
|
||||
return page ? page.bg_cryptoService : null;
|
||||
})
|
||||
.factory('userService', function () {
|
||||
return chrome.extension.getBackgroundPage().bg_userService;
|
||||
var page = chrome.extension.getBackgroundPage();
|
||||
return page ? page.bg_userService : null;
|
||||
})
|
||||
.factory('apiService', function () {
|
||||
return chrome.extension.getBackgroundPage().bg_apiService;
|
||||
var page = chrome.extension.getBackgroundPage();
|
||||
return page ? page.bg_apiService : null;
|
||||
})
|
||||
.factory('folderService', function () {
|
||||
return chrome.extension.getBackgroundPage().bg_folderService;
|
||||
var page = chrome.extension.getBackgroundPage();
|
||||
return page ? page.bg_folderService : null;
|
||||
})
|
||||
.factory('loginService', function () {
|
||||
return chrome.extension.getBackgroundPage().bg_loginService;
|
||||
var page = chrome.extension.getBackgroundPage();
|
||||
return page ? page.bg_loginService : null;
|
||||
})
|
||||
.factory('syncService', function () {
|
||||
return chrome.extension.getBackgroundPage().bg_syncService;
|
||||
var page = chrome.extension.getBackgroundPage();
|
||||
return page ? page.bg_syncService : null;
|
||||
})
|
||||
.factory('autofillService', function () {
|
||||
return chrome.extension.getBackgroundPage().bg_autofillService;
|
||||
var page = chrome.extension.getBackgroundPage();
|
||||
return page ? page.bg_autofillService : null;
|
||||
})
|
||||
.factory('passwordGenerationService', function () {
|
||||
return chrome.extension.getBackgroundPage().bg_passwordGenerationService;
|
||||
var page = chrome.extension.getBackgroundPage();
|
||||
return page ? page.bg_passwordGenerationService : null;
|
||||
})
|
||||
.factory('utilsService', function () {
|
||||
return chrome.extension.getBackgroundPage().bg_utilsService;
|
||||
var page = chrome.extension.getBackgroundPage();
|
||||
return page ? page.bg_utilsService : null;
|
||||
})
|
||||
.factory('appIdService', function () {
|
||||
return chrome.extension.getBackgroundPage().bg_appIdService;
|
||||
var page = chrome.extension.getBackgroundPage();
|
||||
return page ? page.bg_appIdService : null;
|
||||
})
|
||||
.factory('i18nService', function () {
|
||||
return chrome.extension.getBackgroundPage().bg_i18nService;
|
||||
var page = chrome.extension.getBackgroundPage();
|
||||
return page ? page.bg_i18nService : null;
|
||||
})
|
||||
.factory('constantsService', function () {
|
||||
return chrome.extension.getBackgroundPage().bg_constantsService;
|
||||
var page = chrome.extension.getBackgroundPage();
|
||||
return page ? page.bg_constantsService : null;
|
||||
})
|
||||
.factory('settingsService', function () {
|
||||
return chrome.extension.getBackgroundPage().bg_settingsService;
|
||||
var page = chrome.extension.getBackgroundPage();
|
||||
return page ? page.bg_settingsService : null;
|
||||
})
|
||||
.factory('lockService', function () {
|
||||
return chrome.extension.getBackgroundPage().bg_lockService;
|
||||
var page = chrome.extension.getBackgroundPage();
|
||||
return page ? page.bg_lockService : null;
|
||||
})
|
||||
.factory('totpService', function () {
|
||||
return chrome.extension.getBackgroundPage().bg_totpService;
|
||||
var page = chrome.extension.getBackgroundPage();
|
||||
return page ? page.bg_totpService : null;
|
||||
})
|
||||
.factory('environmentService', function () {
|
||||
return chrome.extension.getBackgroundPage().bg_environmentService;
|
||||
var page = chrome.extension.getBackgroundPage();
|
||||
return page ? page.bg_environmentService : null;
|
||||
});
|
||||
|
@ -53,8 +53,8 @@
|
||||
<script src="app/global/globalModule.js"></script>
|
||||
<script src="app/global/mainController.js"></script>
|
||||
<script src="app/global/tabsController.js"></script>
|
||||
<script src="app/global/splashController.js"></script>
|
||||
<script src="app/global/homeController.js"></script>
|
||||
<script src="app/global/baseController.js"></script>
|
||||
<script src="app/global/privateModeController.js"></script>
|
||||
|
||||
<script src="app/accounts/accountsModule.js"></script>
|
||||
<script src="app/accounts/accountsLoginController.js"></script>
|
||||
|
@ -1,60 +1,67 @@
|
||||
var gaTrackingId = chrome.extension.getBackgroundPage().bg_utilsService.analyticsId();
|
||||
var gaFunc = null;
|
||||
var isFirefox = chrome.extension.getBackgroundPage().bg_utilsService.isFirefox();
|
||||
|
||||
window.GoogleAnalyticsObject = 'ga';
|
||||
window[window.GoogleAnalyticsObject] = function (action, param1, param2, param3, param4) {
|
||||
if (!gaFunc) {
|
||||
(function () {
|
||||
var bgPage = chrome.extension.getBackgroundPage();
|
||||
if (!bgPage) {
|
||||
return;
|
||||
}
|
||||
|
||||
chrome.storage.local.get('disableGa', function (obj) {
|
||||
// Default for Firefox is disabled.
|
||||
if ((isFirefox && obj.disableGa === undefined) || obj.disableGa) {
|
||||
var gaTrackingId = bgPage.bg_utilsService.analyticsId();
|
||||
var gaFunc = null;
|
||||
var isFirefox = bgPage.bg_utilsService.isFirefox();
|
||||
|
||||
window.GoogleAnalyticsObject = 'ga';
|
||||
window[window.GoogleAnalyticsObject] = function (action, param1, param2, param3, param4) {
|
||||
if (!gaFunc) {
|
||||
return;
|
||||
}
|
||||
|
||||
gaFunc(action, param1, param2, param3, param4);
|
||||
});
|
||||
};
|
||||
chrome.storage.local.get('disableGa', function (obj) {
|
||||
// Default for Firefox is disabled.
|
||||
if ((isFirefox && obj.disableGa === undefined) || obj.disableGa) {
|
||||
return;
|
||||
}
|
||||
|
||||
function gaTrackEvent(options) {
|
||||
return '&t=event&ec=' + (options.eventCategory ? encodeURIComponent(options.eventCategory) : 'Event') +
|
||||
'&ea=' + encodeURIComponent(options.eventAction) +
|
||||
(options.eventLabel ? '&el=' + encodeURIComponent(options.eventLabel) : '') +
|
||||
(options.eventValue ? '&ev=' + encodeURIComponent(options.eventValue) : '') +
|
||||
(options.page ? '&dp=' + encodeURIComponent(options.page) : '');
|
||||
}
|
||||
|
||||
function gaTrackPageView(pagePath) {
|
||||
return '&t=pageview&dp=' + encodeURIComponent(pagePath);
|
||||
}
|
||||
|
||||
chrome.extension.getBackgroundPage().bg_appIdService.getAnonymousAppId(function (gaAnonAppId) {
|
||||
gaFunc = function (action, param1, param2, param3, param4) {
|
||||
if (action !== 'send' || !param1) {
|
||||
return;
|
||||
}
|
||||
|
||||
var version = encodeURIComponent(chrome.runtime.getManifest().version);
|
||||
var message = 'v=1&tid=' + gaTrackingId + '&cid=' + gaAnonAppId + '&cd1=' + version;
|
||||
|
||||
if (param1 === 'pageview' && param2) {
|
||||
message += gaTrackPageView(param2);
|
||||
}
|
||||
else if (param1 === 'event' && param2) {
|
||||
message += gaTrackEvent(param2);
|
||||
}
|
||||
else if (typeof param1 === 'object' && param1.hitType === 'event') {
|
||||
message += gaTrackEvent(param1);
|
||||
}
|
||||
|
||||
var request = new XMLHttpRequest();
|
||||
request.open('POST', 'https://www.google-analytics.com/collect', true);
|
||||
request.send(message);
|
||||
gaFunc(action, param1, param2, param3, param4);
|
||||
});
|
||||
};
|
||||
|
||||
if (typeof bg_isBackground !== 'undefined') {
|
||||
ga('send', 'pageview', '/background.html');
|
||||
function gaTrackEvent(options) {
|
||||
return '&t=event&ec=' + (options.eventCategory ? encodeURIComponent(options.eventCategory) : 'Event') +
|
||||
'&ea=' + encodeURIComponent(options.eventAction) +
|
||||
(options.eventLabel ? '&el=' + encodeURIComponent(options.eventLabel) : '') +
|
||||
(options.eventValue ? '&ev=' + encodeURIComponent(options.eventValue) : '') +
|
||||
(options.page ? '&dp=' + encodeURIComponent(options.page) : '');
|
||||
}
|
||||
});
|
||||
|
||||
function gaTrackPageView(pagePath) {
|
||||
return '&t=pageview&dp=' + encodeURIComponent(pagePath);
|
||||
}
|
||||
|
||||
bgPage.bg_appIdService.getAnonymousAppId(function (gaAnonAppId) {
|
||||
gaFunc = function (action, param1, param2, param3, param4) {
|
||||
if (action !== 'send' || !param1) {
|
||||
return;
|
||||
}
|
||||
|
||||
var version = encodeURIComponent(chrome.runtime.getManifest().version);
|
||||
var message = 'v=1&tid=' + gaTrackingId + '&cid=' + gaAnonAppId + '&cd1=' + version;
|
||||
|
||||
if (param1 === 'pageview' && param2) {
|
||||
message += gaTrackPageView(param2);
|
||||
}
|
||||
else if (param1 === 'event' && param2) {
|
||||
message += gaTrackEvent(param2);
|
||||
}
|
||||
else if (typeof param1 === 'object' && param1.hitType === 'event') {
|
||||
message += gaTrackEvent(param1);
|
||||
}
|
||||
|
||||
var request = new XMLHttpRequest();
|
||||
request.open('POST', 'https://www.google-analytics.com/collect', true);
|
||||
request.send(message);
|
||||
};
|
||||
|
||||
if (typeof bg_isBackground !== 'undefined') {
|
||||
ga('send', 'pageview', '/background.html');
|
||||
}
|
||||
});
|
||||
})();
|
||||
|
Loading…
Reference in New Issue
Block a user