mirror of
https://github.com/bitwarden/browser
synced 2025-12-16 08:13:42 +00:00
clear clipboard setting
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user