1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-16 00:03:56 +00:00

clear clipboard setting

This commit is contained in:
Kyle Spearrin
2019-02-27 11:06:55 -05:00
parent 8aa2f0fb18
commit d4fab1c697
2 changed files with 16 additions and 6 deletions

View File

@@ -20,6 +20,7 @@ export class ConstantsService {
static readonly defaultUriMatch: string = 'defaultUriMatch'; static readonly defaultUriMatch: string = 'defaultUriMatch';
static readonly pinProtectedKey: string = 'pinProtectedKey'; static readonly pinProtectedKey: string = 'pinProtectedKey';
static readonly protectedPin: string = 'protectedPin'; static readonly protectedPin: string = 'protectedPin';
static readonly clearClipboardKey: string = 'clearClipboardKey';
readonly environmentUrlsKey: string = ConstantsService.environmentUrlsKey; readonly environmentUrlsKey: string = ConstantsService.environmentUrlsKey;
readonly disableGaKey: string = ConstantsService.disableGaKey; readonly disableGaKey: string = ConstantsService.disableGaKey;
@@ -41,4 +42,5 @@ export class ConstantsService {
readonly defaultUriMatch: string = ConstantsService.defaultUriMatch; readonly defaultUriMatch: string = ConstantsService.defaultUriMatch;
readonly pinProtectedKey: string = ConstantsService.pinProtectedKey; readonly pinProtectedKey: string = ConstantsService.pinProtectedKey;
readonly protectedPin: string = ConstantsService.protectedPin; readonly protectedPin: string = ConstantsService.protectedPin;
readonly clearClipboardKey: string = ConstantsService.clearClipboardKey;
} }

View File

@@ -48,7 +48,7 @@ export class SystemService implements SystemServiceAbstraction {
} }
} }
clearClipboard(clipboardValue: string, timeoutMs = 30000): void { clearClipboard(clipboardValue: string, timeoutMs: number = null): void {
if (this.clearClipboardTimeout != null) { if (this.clearClipboardTimeout != null) {
clearTimeout(this.clearClipboardTimeout); clearTimeout(this.clearClipboardTimeout);
this.clearClipboardTimeout = null; this.clearClipboardTimeout = null;
@@ -56,11 +56,19 @@ export class SystemService implements SystemServiceAbstraction {
if (Utils.isNullOrWhitespace(clipboardValue)) { if (Utils.isNullOrWhitespace(clipboardValue)) {
return; return;
} }
this.clearClipboardTimeout = setTimeout(async () => { this.storageService.get<number>(ConstantsService.clearClipboardKey).then((clearSeconds) => {
const clipboardValueNow = await this.platformUtilsService.readFromClipboard(); if (clearSeconds == null) {
if (clipboardValue === clipboardValueNow) { return;
this.platformUtilsService.copyToClipboard('');
} }
}, timeoutMs); if (timeoutMs == null) {
timeoutMs = clearSeconds * 1000;
}
this.clearClipboardTimeout = setTimeout(async () => {
const clipboardValueNow = await this.platformUtilsService.readFromClipboard();
if (clipboardValue === clipboardValueNow) {
this.platformUtilsService.copyToClipboard('');
}
}, timeoutMs);
});
} }
} }