mirror of
https://github.com/bitwarden/browser
synced 2025-12-12 14:23:32 +00:00
[deps] Platform: Update @types/chrome to v0.0.306 (#12126)
* [deps] Platform: Update @types/chrome to v0.0.306 * Fix APIs * Add `await` * Fix tests --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
This commit is contained in:
@@ -364,7 +364,7 @@ export class AutofillComponent implements OnInit {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
BrowserApi.updateDefaultBrowserAutofillSettings(!this.defaultBrowserAutofillDisabled);
|
await BrowserApi.updateDefaultBrowserAutofillSettings(!this.defaultBrowserAutofillDisabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
private handleOverrideDialogAccept = async () => {
|
private handleOverrideDialogAccept = async () => {
|
||||||
|
|||||||
@@ -103,6 +103,7 @@ export function createChromeTabMock(customFields = {}): chrome.tabs.Tab {
|
|||||||
selected: true,
|
selected: true,
|
||||||
discarded: false,
|
discarded: false,
|
||||||
autoDiscardable: false,
|
autoDiscardable: false,
|
||||||
|
frozen: false,
|
||||||
groupId: 2,
|
groupId: 2,
|
||||||
url: "https://jest-testing-website.com",
|
url: "https://jest-testing-website.com",
|
||||||
...customFields,
|
...customFields,
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ import { mock } from "jest-mock-extended";
|
|||||||
|
|
||||||
import { BrowserApi } from "./browser-api";
|
import { BrowserApi } from "./browser-api";
|
||||||
|
|
||||||
|
type ChromeSettingsGet = chrome.types.ChromeSetting<boolean>["get"];
|
||||||
|
|
||||||
describe("BrowserApi", () => {
|
describe("BrowserApi", () => {
|
||||||
const executeScriptResult = ["value"];
|
const executeScriptResult = ["value"];
|
||||||
|
|
||||||
@@ -468,19 +470,23 @@ describe("BrowserApi", () => {
|
|||||||
|
|
||||||
describe("browserAutofillSettingsOverridden", () => {
|
describe("browserAutofillSettingsOverridden", () => {
|
||||||
it("returns true if the browser autofill settings are overridden", async () => {
|
it("returns true if the browser autofill settings are overridden", async () => {
|
||||||
const expectedDetails = {
|
const mockFn = jest.fn<
|
||||||
value: false,
|
void,
|
||||||
levelOfControl: "controlled_by_this_extension",
|
[
|
||||||
} as chrome.types.ChromeSettingGetResultDetails;
|
details: chrome.types.ChromeSettingGetDetails,
|
||||||
chrome.privacy.services.autofillAddressEnabled.get = jest.fn((details, callback) =>
|
callback: (details: chrome.types.ChromeSettingGetResult<boolean>) => void,
|
||||||
callback(expectedDetails),
|
],
|
||||||
);
|
never
|
||||||
chrome.privacy.services.autofillCreditCardEnabled.get = jest.fn((details, callback) =>
|
>((details, callback) => {
|
||||||
callback(expectedDetails),
|
callback({
|
||||||
);
|
value: false,
|
||||||
chrome.privacy.services.passwordSavingEnabled.get = jest.fn((details, callback) =>
|
levelOfControl: "controlled_by_this_extension",
|
||||||
callback(expectedDetails),
|
});
|
||||||
);
|
});
|
||||||
|
chrome.privacy.services.autofillAddressEnabled.get = mockFn as unknown as ChromeSettingsGet;
|
||||||
|
chrome.privacy.services.autofillCreditCardEnabled.get =
|
||||||
|
mockFn as unknown as ChromeSettingsGet;
|
||||||
|
chrome.privacy.services.passwordSavingEnabled.get = mockFn as unknown as ChromeSettingsGet;
|
||||||
|
|
||||||
const result = await BrowserApi.browserAutofillSettingsOverridden();
|
const result = await BrowserApi.browserAutofillSettingsOverridden();
|
||||||
|
|
||||||
@@ -488,19 +494,24 @@ describe("BrowserApi", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("returns false if the browser autofill settings are not overridden", async () => {
|
it("returns false if the browser autofill settings are not overridden", async () => {
|
||||||
const expectedDetails = {
|
const mockFn = jest.fn<
|
||||||
value: true,
|
void,
|
||||||
levelOfControl: "controlled_by_this_extension",
|
[
|
||||||
} as chrome.types.ChromeSettingGetResultDetails;
|
details: chrome.types.ChromeSettingGetDetails,
|
||||||
chrome.privacy.services.autofillAddressEnabled.get = jest.fn((details, callback) =>
|
callback: (details: chrome.types.ChromeSettingGetResult<boolean>) => void,
|
||||||
callback(expectedDetails),
|
],
|
||||||
);
|
never
|
||||||
chrome.privacy.services.autofillCreditCardEnabled.get = jest.fn((details, callback) =>
|
>((details, callback) => {
|
||||||
callback(expectedDetails),
|
callback({
|
||||||
);
|
value: true,
|
||||||
chrome.privacy.services.passwordSavingEnabled.get = jest.fn((details, callback) =>
|
levelOfControl: "controlled_by_this_extension",
|
||||||
callback(expectedDetails),
|
});
|
||||||
);
|
});
|
||||||
|
|
||||||
|
chrome.privacy.services.autofillAddressEnabled.get = mockFn as unknown as ChromeSettingsGet;
|
||||||
|
chrome.privacy.services.autofillCreditCardEnabled.get =
|
||||||
|
mockFn as unknown as ChromeSettingsGet;
|
||||||
|
chrome.privacy.services.passwordSavingEnabled.get = mockFn as unknown as ChromeSettingsGet;
|
||||||
|
|
||||||
const result = await BrowserApi.browserAutofillSettingsOverridden();
|
const result = await BrowserApi.browserAutofillSettingsOverridden();
|
||||||
|
|
||||||
@@ -508,19 +519,23 @@ describe("BrowserApi", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("returns false if the browser autofill settings are not controlled by the extension", async () => {
|
it("returns false if the browser autofill settings are not controlled by the extension", async () => {
|
||||||
const expectedDetails = {
|
const mockFn = jest.fn<
|
||||||
value: false,
|
void,
|
||||||
levelOfControl: "controlled_by_other_extensions",
|
[
|
||||||
} as chrome.types.ChromeSettingGetResultDetails;
|
details: chrome.types.ChromeSettingGetDetails,
|
||||||
chrome.privacy.services.autofillAddressEnabled.get = jest.fn((details, callback) =>
|
callback: (details: chrome.types.ChromeSettingGetResult<boolean>) => void,
|
||||||
callback(expectedDetails),
|
],
|
||||||
);
|
never
|
||||||
chrome.privacy.services.autofillCreditCardEnabled.get = jest.fn((details, callback) =>
|
>((details, callback) => {
|
||||||
callback(expectedDetails),
|
callback({
|
||||||
);
|
value: false,
|
||||||
chrome.privacy.services.passwordSavingEnabled.get = jest.fn((details, callback) =>
|
levelOfControl: "controlled_by_other_extensions",
|
||||||
callback(expectedDetails),
|
});
|
||||||
);
|
});
|
||||||
|
chrome.privacy.services.autofillAddressEnabled.get = mockFn as unknown as ChromeSettingsGet;
|
||||||
|
chrome.privacy.services.autofillCreditCardEnabled.get =
|
||||||
|
mockFn as unknown as ChromeSettingsGet;
|
||||||
|
chrome.privacy.services.passwordSavingEnabled.get = mockFn as unknown as ChromeSettingsGet;
|
||||||
|
|
||||||
const result = await BrowserApi.browserAutofillSettingsOverridden();
|
const result = await BrowserApi.browserAutofillSettingsOverridden();
|
||||||
|
|
||||||
|
|||||||
@@ -504,7 +504,9 @@ export class BrowserApi {
|
|||||||
*
|
*
|
||||||
* @param permissions - The permissions to check.
|
* @param permissions - The permissions to check.
|
||||||
*/
|
*/
|
||||||
static async permissionsGranted(permissions: string[]): Promise<boolean> {
|
static async permissionsGranted(
|
||||||
|
permissions: chrome.runtime.ManifestPermissions[],
|
||||||
|
): Promise<boolean> {
|
||||||
return new Promise((resolve) =>
|
return new Promise((resolve) =>
|
||||||
chrome.permissions.contains({ permissions }, (result) => resolve(result)),
|
chrome.permissions.contains({ permissions }, (result) => resolve(result)),
|
||||||
);
|
);
|
||||||
@@ -594,7 +596,7 @@ export class BrowserApi {
|
|||||||
* Identifies if the browser autofill settings are overridden by the extension.
|
* Identifies if the browser autofill settings are overridden by the extension.
|
||||||
*/
|
*/
|
||||||
static async browserAutofillSettingsOverridden(): Promise<boolean> {
|
static async browserAutofillSettingsOverridden(): Promise<boolean> {
|
||||||
const checkOverrideStatus = (details: chrome.types.ChromeSettingGetResultDetails) =>
|
const checkOverrideStatus = (details: chrome.types.ChromeSettingGetResult<boolean>) =>
|
||||||
details.levelOfControl === "controlled_by_this_extension" && !details.value;
|
details.levelOfControl === "controlled_by_this_extension" && !details.value;
|
||||||
|
|
||||||
const autofillAddressOverridden: boolean = await new Promise((resolve) =>
|
const autofillAddressOverridden: boolean = await new Promise((resolve) =>
|
||||||
@@ -623,10 +625,10 @@ export class BrowserApi {
|
|||||||
*
|
*
|
||||||
* @param value - Determines whether to enable or disable the autofill settings.
|
* @param value - Determines whether to enable or disable the autofill settings.
|
||||||
*/
|
*/
|
||||||
static updateDefaultBrowserAutofillSettings(value: boolean) {
|
static async updateDefaultBrowserAutofillSettings(value: boolean) {
|
||||||
chrome.privacy.services.autofillAddressEnabled.set({ value });
|
await chrome.privacy.services.autofillAddressEnabled.set({ value });
|
||||||
chrome.privacy.services.autofillCreditCardEnabled.set({ value });
|
await chrome.privacy.services.autofillCreditCardEnabled.set({ value });
|
||||||
chrome.privacy.services.passwordSavingEnabled.set({ value });
|
await chrome.privacy.services.passwordSavingEnabled.set({ value });
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
8
package-lock.json
generated
8
package-lock.json
generated
@@ -96,7 +96,7 @@
|
|||||||
"@storybook/theming": "8.5.2",
|
"@storybook/theming": "8.5.2",
|
||||||
"@storybook/web-components-webpack5": "8.5.2",
|
"@storybook/web-components-webpack5": "8.5.2",
|
||||||
"@types/argon2-browser": "1.18.4",
|
"@types/argon2-browser": "1.18.4",
|
||||||
"@types/chrome": "0.0.280",
|
"@types/chrome": "0.0.306",
|
||||||
"@types/firefox-webext-browser": "120.0.4",
|
"@types/firefox-webext-browser": "120.0.4",
|
||||||
"@types/inquirer": "8.2.10",
|
"@types/inquirer": "8.2.10",
|
||||||
"@types/jest": "29.5.12",
|
"@types/jest": "29.5.12",
|
||||||
@@ -10904,9 +10904,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/chrome": {
|
"node_modules/@types/chrome": {
|
||||||
"version": "0.0.280",
|
"version": "0.0.306",
|
||||||
"resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.280.tgz",
|
"resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.306.tgz",
|
||||||
"integrity": "sha512-AotSmZrL9bcZDDmSI1D9dE7PGbhOur5L0cKxXd7IqbVizQWCY4gcvupPUVsQ4FfDj3V2tt/iOpomT9EY0s+w1g==",
|
"integrity": "sha512-95kgcqvTNcaZCXmx/kIKY6uo83IaRNT3cuPxYqlB2Iu+HzKDCP4t7TUe7KhJijTdibcvn+SzziIcfSLIlgRnhQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@@ -58,7 +58,7 @@
|
|||||||
"@storybook/theming": "8.5.2",
|
"@storybook/theming": "8.5.2",
|
||||||
"@storybook/web-components-webpack5": "8.5.2",
|
"@storybook/web-components-webpack5": "8.5.2",
|
||||||
"@types/argon2-browser": "1.18.4",
|
"@types/argon2-browser": "1.18.4",
|
||||||
"@types/chrome": "0.0.280",
|
"@types/chrome": "0.0.306",
|
||||||
"@types/firefox-webext-browser": "120.0.4",
|
"@types/firefox-webext-browser": "120.0.4",
|
||||||
"@types/inquirer": "8.2.10",
|
"@types/inquirer": "8.2.10",
|
||||||
"@types/jest": "29.5.12",
|
"@types/jest": "29.5.12",
|
||||||
|
|||||||
Reference in New Issue
Block a user