Skip to Content

CDP Domain Coverage

Foxbridge translates the following CDP domains to Firefox’s Juggler protocol.

Full Coverage

Target Domain

MethodDescription
Target.setAutoAttachAuto-attach to new targets (tab→page dual model)
Target.createTargetCreate new page via Browser.newPage
Target.closeTargetClose page via Page.close
Target.createBrowserContextIsolated browser context
Target.disposeBrowserContextRemove context
Target.getTargetsList all targets (pages + workers)
Target.attachToTargetAttach to existing target
Target.activateTargetFocus tab
Target.getBrowserContextsList unique context IDs
Target.getTargetInfoGet target metadata
Target.setDiscoverTargetsEmit targetCreated for existing targets

Page Domain

MethodJuggler Equivalent
Page.navigatePage.navigate (frameId resolved from session)
Page.reloadPage.reload
Page.closePage.close
Page.captureScreenshotPage.screenshot (format, clip, fullPage)
Page.printToPDFPage.printToPDF (landscape, margins, scale)
Page.getFrameTreeBuilt from session state + AX tree probe
Page.getLayoutMetricsRuntime.evaluate (viewport dimensions)
Page.setContentRuntime.evaluate (document.write)
Page.handleJavaScriptDialogPage.handleDialog
Page.addScriptToEvaluateOnNewDocumentPage.addScriptToEvaluateOnNewDocument
Page.removeScriptToEvaluateOnNewDocumentPage.removeScriptToEvaluateOnNewDocument
Page.createIsolatedWorldContext ID allocation + event emission
Page.setExtraHTTPHeadersBrowser.setExtraHTTPHeaders

Runtime Domain

MethodNotes
Runtime.evaluateContext ID mapping + awaitPromise wrapping
Runtime.callFunctionOnobjectId pass-through + awaitPromise wrapping
Runtime.releaseObjectRuntime.disposeObject
Runtime.getPropertiesRuntime.getObjectProperties
Runtime.addBindingStub
Runtime.discardConsoleEntriesStub

Input Domain

MethodJuggler Equivalent
Input.dispatchMouseEventPage.dispatchMouseEvent (incl. wheel deltaX/Y)
Input.dispatchKeyEventPage.dispatchKeyEvent
Input.insertTextPage.insertText
Input.dispatchTouchEventPage.dispatchTouchEvent

Network Domain

MethodJuggler Equivalent
Network.setCookiesBrowser.setCookies
Network.getCookiesBrowser.getCookies
Network.clearBrowserCookiesBrowser.clearCookies
Network.setExtraHTTPHeadersBrowser.setExtraHTTPHeaders
Network.setRequestInterceptionBrowser.setRequestInterception
Network.getResponseBodyBrowser.getResponseBody
Network.emulateNetworkConditionsStub (no Juggler equivalent)

Fetch Domain

MethodJuggler Equivalent
Fetch.enableBrowser.setRequestInterception({enabled: true})
Fetch.disableBrowser.setRequestInterception({enabled: false})
Fetch.continueRequestBrowser.continueInterceptedRequest
Fetch.fulfillRequestBrowser.fulfillInterceptedRequest
Fetch.failRequestBrowser.abortInterceptedRequest
Fetch.getResponseBodyBrowser.getResponseBody

DOM Domain

MethodImplementation
DOM.getDocumentRuntime.evaluate for document info
DOM.querySelectorRuntime.evaluate with selector
DOM.querySelectorAllRuntime.evaluate for count
DOM.describeNodeRuntime.callFunction on objectId
DOM.resolveNodeReturns stub remote object
DOM.getBoxModelRuntime.callFunction (getBoundingClientRect)
DOM.getContentQuadsRuntime.callFunction (getBoundingClientRect)
DOM.getOuterHTMLRuntime.callFunction (outerHTML)
DOM.scrollIntoViewIfNeededRuntime.callFunction
DOM.focusRuntime.callFunction
DOM.setFileInputFilesPage.setFileInputFiles

Emulation Domain

MethodJuggler Equivalent
Emulation.setGeolocationOverrideBrowser.setGeolocationOverride
Emulation.setUserAgentOverrideBrowser.setUserAgentOverride
Emulation.setTimezoneOverrideBrowser.setTimezoneOverride
Emulation.setLocaleOverrideBrowser.setLocaleOverride
Emulation.setDeviceMetricsOverrideBrowser.setDefaultViewport
Emulation.setTouchEmulationEnabledBrowser.setTouchOverride
Emulation.setEmulatedMediaPage.setEmulatedMedia

Stub Domains (No-op)

These return empty success responses. They’re Chrome-specific features with no Firefox equivalent:

Debugger, Profiler, Performance, HeapProfiler, Memory, ServiceWorker, CacheStorage, IndexedDB, Log, Security, CSS, Overlay, DOMStorage, WebAuthn, Media, Audits, Inspector, Database, BackgroundService, Cast, DeviceAccess

Last updated on