JSDoc: Class: Manager

# Class: Manager

## frame.Manager(driver)

The FrameManager will maintain the list of Out Of Process (OOP) frames and will handle frame switching between them.

It handles explicit frame switching (switchToFrame), and implicit frame switching, which occurs when a modal dialog is triggered in B2G.

## Constructor

#### new Manager(driver)

##### Parameters:

Name | Type | Description
--- | --- | ---
`driver` | GeckoDriver | Reference to the driver instance.

Source:
  - frame.js, line 44

### Methods

#### addMessageManagerListeners(mm)

Adds message listeners to the driver, listening for messages from content frame scripts. It also adds a MarionetteFrame:getInterruptedState message listener to the FrameManager, so the frame manager's state can be checked by the frame.

##### Parameters:

Name | Type | Description
--- | --- | ---
`mm` | nsIMessageListenerManager | The message manager object, typically ChromeMessageBroadcaster or ChromeMessageSender.

Source:
  - frame.js, line 212

#### removeMessageManagerListeners(mm)

Removes listeners for messages from content frame scripts. We do not remove the MarionetteFrame:getInterruptedState or the Marionette:switchToModalOrigin message listener, because we want to allow all known frames to contact the frame manager so that it can check if it was interrupted, and if so, it will call switchToModalOrigin when its process gets resumed.

##### Parameters:

Name | Type | Description
--- | --- | ---
`mm` | nsIMessageListenerManager | The message manager object, typically ChromeMessageBroadcaster or ChromeMessageSender.

Source:
  - frame.js, line 241

#### switchToFrame()

Switch to OOP frame. We're handling this here so we can maintain a list of remote frames.

Source:
  - frame.js, line 145