[PM-5739] Remove Usage of Angular within Background Script (#7659)
This commit is contained in:
parent
c285a07e16
commit
fb17cb7b99
|
@ -24,7 +24,7 @@ import { DialogService } from "@bitwarden/components";
|
||||||
|
|
||||||
import { BiometricErrors, BiometricErrorTypes } from "../../models/biometricErrors";
|
import { BiometricErrors, BiometricErrorTypes } from "../../models/biometricErrors";
|
||||||
import { BrowserRouterService } from "../../platform/popup/services/browser-router.service";
|
import { BrowserRouterService } from "../../platform/popup/services/browser-router.service";
|
||||||
import { fido2PopoutSessionData$ } from "../../vault/fido2/browser-fido2-user-interface.service";
|
import { fido2PopoutSessionData$ } from "../../vault/popup/utils/fido2-popout-session-data";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: "app-lock",
|
selector: "app-lock",
|
||||||
|
|
|
@ -24,7 +24,10 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"all_frames": true,
|
"all_frames": true,
|
||||||
"js": ["content/trigger-autofill-script-injection.js"],
|
"js": [
|
||||||
|
"content/trigger-autofill-script-injection.js",
|
||||||
|
"content/fido2/trigger-fido2-content-script-injection.js"
|
||||||
|
],
|
||||||
"matches": ["http://*/*", "https://*/*", "file:///*"],
|
"matches": ["http://*/*", "https://*/*", "file:///*"],
|
||||||
"run_at": "document_start"
|
"run_at": "document_start"
|
||||||
},
|
},
|
||||||
|
@ -108,7 +111,7 @@
|
||||||
"web_accessible_resources": [
|
"web_accessible_resources": [
|
||||||
{
|
{
|
||||||
"resources": [
|
"resources": [
|
||||||
"content/webauthn/page-script.js",
|
"content/fido2/page-script.js",
|
||||||
"notification/bar.html",
|
"notification/bar.html",
|
||||||
"images/icon38.png",
|
"images/icon38.png",
|
||||||
"images/icon38_locked.png",
|
"images/icon38_locked.png",
|
||||||
|
|
|
@ -86,7 +86,7 @@ class BrowserPopupUtils {
|
||||||
* Identifies if the background page needs to be initialized.
|
* Identifies if the background page needs to be initialized.
|
||||||
*/
|
*/
|
||||||
static backgroundInitializationRequired() {
|
static backgroundInitializationRequired() {
|
||||||
return BrowserApi.getBackgroundPage() === null;
|
return !BrowserApi.getBackgroundPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
import { inject } from "@angular/core";
|
|
||||||
import { ActivatedRoute } from "@angular/router";
|
|
||||||
import {
|
import {
|
||||||
BehaviorSubject,
|
BehaviorSubject,
|
||||||
EmptyError,
|
EmptyError,
|
||||||
|
@ -7,7 +5,6 @@ import {
|
||||||
firstValueFrom,
|
firstValueFrom,
|
||||||
fromEvent,
|
fromEvent,
|
||||||
fromEventPattern,
|
fromEventPattern,
|
||||||
map,
|
|
||||||
merge,
|
merge,
|
||||||
Observable,
|
Observable,
|
||||||
Subject,
|
Subject,
|
||||||
|
@ -33,24 +30,6 @@ import { closeFido2Popout, openFido2Popout } from "../popup/utils/vault-popout-w
|
||||||
|
|
||||||
const BrowserFido2MessageName = "BrowserFido2UserInterfaceServiceMessage";
|
const BrowserFido2MessageName = "BrowserFido2UserInterfaceServiceMessage";
|
||||||
|
|
||||||
/**
|
|
||||||
* Function to retrieve FIDO2 session data from query parameters.
|
|
||||||
* Expected to be used within components tied to routes with these query parameters.
|
|
||||||
*/
|
|
||||||
export function fido2PopoutSessionData$() {
|
|
||||||
const route = inject(ActivatedRoute);
|
|
||||||
|
|
||||||
return route.queryParams.pipe(
|
|
||||||
map((queryParams) => ({
|
|
||||||
isFido2Session: queryParams.sessionId != null,
|
|
||||||
sessionId: queryParams.sessionId as string,
|
|
||||||
fallbackSupported: queryParams.fallbackSupported === "true",
|
|
||||||
userVerification: queryParams.userVerification === "true",
|
|
||||||
senderUrl: queryParams.senderUrl as string,
|
|
||||||
})),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export class SessionClosedError extends Error {
|
export class SessionClosedError extends Error {
|
||||||
constructor() {
|
constructor() {
|
||||||
super("Fido2UserInterfaceSession was closed");
|
super("Fido2UserInterfaceSession was closed");
|
||||||
|
|
|
@ -8,10 +8,8 @@ import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/pl
|
||||||
import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
|
import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
|
||||||
import { Utils } from "@bitwarden/common/platform/misc/utils";
|
import { Utils } from "@bitwarden/common/platform/misc/utils";
|
||||||
|
|
||||||
import {
|
import { BrowserFido2UserInterfaceSession } from "../../../fido2/browser-fido2-user-interface.service";
|
||||||
BrowserFido2UserInterfaceSession,
|
import { fido2PopoutSessionData$ } from "../../utils/fido2-popout-session-data";
|
||||||
fido2PopoutSessionData$,
|
|
||||||
} from "../../../fido2/browser-fido2-user-interface.service";
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: "app-fido2-use-browser-link",
|
selector: "app-fido2-use-browser-link",
|
||||||
|
|
|
@ -27,10 +27,8 @@ import { PasswordRepromptService } from "@bitwarden/vault";
|
||||||
import { BrowserApi } from "../../../../platform/browser/browser-api";
|
import { BrowserApi } from "../../../../platform/browser/browser-api";
|
||||||
import BrowserPopupUtils from "../../../../platform/popup/browser-popup-utils";
|
import BrowserPopupUtils from "../../../../platform/popup/browser-popup-utils";
|
||||||
import { PopupCloseWarningService } from "../../../../popup/services/popup-close-warning.service";
|
import { PopupCloseWarningService } from "../../../../popup/services/popup-close-warning.service";
|
||||||
import {
|
import { BrowserFido2UserInterfaceSession } from "../../../fido2/browser-fido2-user-interface.service";
|
||||||
BrowserFido2UserInterfaceSession,
|
import { fido2PopoutSessionData$ } from "../../utils/fido2-popout-session-data";
|
||||||
fido2PopoutSessionData$,
|
|
||||||
} from "../../../fido2/browser-fido2-user-interface.service";
|
|
||||||
import { VaultPopoutType, closeAddEditVaultItemPopout } from "../../utils/vault-popout-window";
|
import { VaultPopoutType, closeAddEditVaultItemPopout } from "../../utils/vault-popout-window";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
|
|
@ -29,10 +29,8 @@ import { PasswordRepromptService } from "@bitwarden/vault";
|
||||||
import { AutofillService } from "../../../../autofill/services/abstractions/autofill.service";
|
import { AutofillService } from "../../../../autofill/services/abstractions/autofill.service";
|
||||||
import { BrowserApi } from "../../../../platform/browser/browser-api";
|
import { BrowserApi } from "../../../../platform/browser/browser-api";
|
||||||
import BrowserPopupUtils from "../../../../platform/popup/browser-popup-utils";
|
import BrowserPopupUtils from "../../../../platform/popup/browser-popup-utils";
|
||||||
import {
|
import { BrowserFido2UserInterfaceSession } from "../../../fido2/browser-fido2-user-interface.service";
|
||||||
BrowserFido2UserInterfaceSession,
|
import { fido2PopoutSessionData$ } from "../../utils/fido2-popout-session-data";
|
||||||
fido2PopoutSessionData$,
|
|
||||||
} from "../../../fido2/browser-fido2-user-interface.service";
|
|
||||||
import { closeViewVaultItemPopout, VaultPopoutType } from "../../utils/vault-popout-window";
|
import { closeViewVaultItemPopout, VaultPopoutType } from "../../utils/vault-popout-window";
|
||||||
|
|
||||||
const BroadcasterSubscriptionId = "ChildViewComponent";
|
const BroadcasterSubscriptionId = "ChildViewComponent";
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
import { inject } from "@angular/core";
|
||||||
|
import { ActivatedRoute } from "@angular/router";
|
||||||
|
import { map } from "rxjs";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function to retrieve FIDO2 session data from query parameters.
|
||||||
|
* Expected to be used within components tied to routes with these query parameters.
|
||||||
|
*/
|
||||||
|
export function fido2PopoutSessionData$() {
|
||||||
|
const route = inject(ActivatedRoute);
|
||||||
|
|
||||||
|
return route.queryParams.pipe(
|
||||||
|
map((queryParams) => ({
|
||||||
|
isFido2Session: queryParams.sessionId != null,
|
||||||
|
sessionId: queryParams.sessionId as string,
|
||||||
|
fallbackSupported: queryParams.fallbackSupported === "true",
|
||||||
|
userVerification: queryParams.userVerification === "true",
|
||||||
|
senderUrl: queryParams.senderUrl as string,
|
||||||
|
})),
|
||||||
|
);
|
||||||
|
}
|
Loading…
Reference in New Issue