# FirefoxExtension

[**@openpolyfill/firefox-addon-playwright-harness**](/docs/api/reference)

***

[@openpolyfill/firefox-addon-playwright-harness](/docs/api/reference/globals) / FirefoxExtension

# Interface: FirefoxExtension

Defined in: [src/types.ts:93](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L93)

## Properties

### background?

> `readonly` `optional` **background?**: [`FirefoxBackground`](/docs/api/reference/interfaces/FirefoxBackground)

Defined in: [src/types.ts:95](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L95)

***

### id

> `readonly` **id**: `string`

Defined in: [src/types.ts:94](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L94)

***

### installPath

> **installPath**: `string`

Defined in: [src/types.ts:99](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L99)

Current directory or XPI source path; updated when the extension is replaced.

***

### isolated

> `readonly` **isolated**: [`FirefoxIsolatedPage`](/docs/api/reference/interfaces/FirefoxIsolatedPage)

Defined in: [src/types.ts:96](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L96)

***

### isolatedContexts

> `readonly` **isolatedContexts**: [`FirefoxIsolatedContexts`](/docs/api/reference/interfaces/FirefoxIsolatedContexts)

Defined in: [src/types.ts:97](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L97)

## Methods

### activateAction()

#### Call Signature

> **activateAction**(`page`, `kind?`): `Promise`\<`Page`\>

Defined in: [src/types.ts:100](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L100)

##### Parameters

###### page

`Page`

###### kind?

[`ActionKind`](/docs/api/reference/type-aliases/ActionKind)

##### Returns

`Promise`\<`Page`\>

#### Call Signature

> **activateAction**(`page`, `kind`, `options`): `Promise`\<`void`\>

Defined in: [src/types.ts:101](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L101)

##### Parameters

###### page

`Page`

###### kind

[`ActionKind`](/docs/api/reference/type-aliases/ActionKind)

###### options

###### waitForPopup

`false`

##### Returns

`Promise`\<`void`\>

***

### activateSidebar()

> **activateSidebar**(`page`): `Promise`\<`Page`\>

Defined in: [src/types.ts:102](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L102)

#### Parameters

##### page

`Page`

#### Returns

`Promise`\<`Page`\>

***

### close()

> **close**(): `Promise`\<`void`\>

Defined in: [src/types.ts:113](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L113)

Alias for uninstalling this extension.

#### Returns

`Promise`\<`void`\>

***

### disable()

> **disable**(): `Promise`\<`void`\>

Defined in: [src/types.ts:109](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L109)

Disable this extension and invalidate its background and UI contexts.

#### Returns

`Promise`\<`void`\>

***

### enable()

> **enable**(): `Promise`\<`void`\>

Defined in: [src/types.ts:107](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L107)

Enable this extension and refresh its background context, if any.

#### Returns

`Promise`\<`void`\>

***

### reload()

> **reload**(): `Promise`\<`void`\>

Defined in: [src/types.ts:105](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L105)

Reload the extension while preserving this handle's identity.

#### Returns

`Promise`\<`void`\>

***

### uninstall()

> **uninstall**(): `Promise`\<`void`\>

Defined in: [src/types.ts:111](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L111)

Uninstall this extension and remove it from the collection.

#### Returns

`Promise`\<`void`\>

***

### waitForPopup()

> **waitForPopup**(`options?`): `Promise`\<`Page`\>

Defined in: [src/types.ts:103](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L103)

#### Parameters

##### options?

###### timeout?

`number`

#### Returns

`Promise`\<`Page`\>
