WebDriver/Marionette/Fission

From MozillaWiki
Jump to navigation Jump to search

Fission is Mozilla's project to implement Firefox site isolation. This introduces a major architecture change in Firefox such that a unique process is allocated for the main web page and for each unique third-party iframe embedded in it, thereby safely sandboxing them and further strengthening Firefox security.

For more details about Fission see the Fission project page.

To allow automation and testing of Firefox with active site isolation the Marionette project needs to be adapted to the new Fission architecture.

If you find a bug with Fission enabled please file a bug under Testing::Marionette.

The following tables for MVP and reserve bugs show the current status of the project.

Marionette Fission MVP

Full Query
ID Summary Status Assigned to Priority
1305822 WebDriver:SwitchToWindow should switch back to the top-level browsing context RESOLVED hskupin@gmail.com P1
1365886 Add support for Actions in chrome scope RESOLVED mjzffr@gmail.com P5
1394354 WebDriver:ElementClick sometimes does not trigger a click RESOLVED hskupin@gmail.com P1
1493108 Commands have to check the appropriate browsing context (and not the current window) if it's still available RESOLVED hskupin@gmail.com P1
1534582 Convert usage of legacy actions to WebDriver actions RESOLVED mjzffr@gmail.com P1
1580699 With Fission enabled "WebDriver:SwitchToFrame" raises: SecurityError: Permission denied to access property "frameElement" on cross-origin object RESOLVED hskupin@gmail.com P3
1582736 High frequency testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py TestTLSNavigation.test_deactivation | AssertionError: InsecureCertificateException not raised RESOLVED mjzffr@gmail.com P5
1612831 Move all page navigation related code into parent process (driver.js) RESOLVED hskupin@gmail.com P1
1644235 Run Marionette unit tests with Fission enabled in CI RESOLVED hskupin@gmail.com P1
1648444 Refactor reftest navigation code to use JSWindowActor RESOLVED jdescottes@mozilla.com P1
1651648 Unify locator strategies for chrome and content RESOLVED mjzffr@gmail.com P3
1651691 Simplify implementation of WebDriver:SwitchToFrame RESOLVED hskupin@gmail.com P1
1652932 Keep reference to browsing context of currently selected frame in parent process RESOLVED mjzffr@gmail.com P2
1653911 Land minimal implementation of JSWindowActor pair RESOLVED hskupin@gmail.com P1
1654453 Conditionally enable usage of JSWindowActor in Marionette RESOLVED hskupin@gmail.com P1
1654454 Port WebDriver:FindElement and WebDriver:FindElements to JSWindowActor RESOLVED hskupin@gmail.com P1
1654513 Move usage of element store from content to parent process RESOLVED mjzffr@gmail.com P2
1654609 Port WebDriver:GetElementProperty and WebDriver:GetElementAttribute to JSWindowActor RESOLVED hskupin@gmail.com P1
1654628 Port WebDriver:SwitchToFrame and WebDriver:SwitchToParentFrame to JSWindowActor RESOLVED hskupin@gmail.com P1
1655438 6.65 - 30.02% Base Content Explicit / Base Content JS / Base Content Resident Unique Memory (linux1804, macosx1014-64-shippable, windows10-64-shippable-qr) regression on push 6a3cc8878240b50d1b50d5979ad86e2078de1b4e (Thu July 23 2020) RESOLVED hskupin@gmail.com P3
1658696 ensureWindow for reftests has to wait until page of added browser element has been loaded RESOLVED hskupin@gmail.com P1
1658928 Make "WebDriver:GetCurrentURL" Fission compatible RESOLVED hskupin@gmail.com P1
1659502 Remove obsolete command "WebDriver:GetActiveFrame" RESOLVED hskupin@gmail.com P1
1660168 Set marionette.actors.enabled to true by default for Fission builds RESOLVED hskupin@gmail.com P1
1660332 Make WebDriver:ElementClick Fission compatible RESOLVED hskupin@gmail.com P1
1660426 Make "WebDriver:GetTitle" Fission compatible RESOLVED hskupin@gmail.com P1
1660781 Lazily load all external modules in Marionette's JSWindowActor classes RESOLVED hskupin@gmail.com P1
1660881 Use XPCOMUtils.defineLazyModuleGetters() to defer loading of not immediately necessary modules in Marionette RESOLVED hskupin@gmail.com P1
1661332 Marionette reftests have to run in content and not chrome context RESOLVED hskupin@gmail.com P1
1661495 Broken tracking of current browsing context after opening new windows RESOLVED hskupin@gmail.com P1
1662455 Port WebDriver:GetElementCSSValue, WebDriver:GetElementTagName, and WebDriver:GetElementText to JSWindowActor RESOLVED jdescottes@mozilla.com P3
1662460 Port WebDriver:ExecuteScript and WebDriver:ExecuteAsyncScript to JSWindowActor RESOLVED hskupin@gmail.com P1
1662469 Port WebDriver:PerformActions and WebDriver:ReleaseActions to JSWindowActor RESOLVED hskupin@gmail.com P1
1662473 Port WebDriver:ElementSendKeys to JSWindowActor RESOLVED jdescottes@mozilla.com P1
1662475 Port WebDriver:ElementClear to JSWindowActor RESOLVED mjzffr@gmail.com P3
1662479 Port WebDriver:GetPageSource to JSWindowActor RESOLVED jdescottes@mozilla.com P3
1662480 Port WebDriver:GetElementRect to JSWindowActor RESOLVED hskupin@gmail.com P1
1662790 Port WebDriver:IsElementDisplayed, WebDriver:IsElementEnabled, and WebDriver:IsElementSelected to JSWindowActor RESOLVED mjzffr@gmail.com P1
1662798 Port WebDriver:GetActiveElement to JSWindowActor RESOLVED mjzffr@gmail.com P3
1662803 Make handling of alerts/dialogs Fission compatible RESOLVED hskupin@gmail.com P1
1663641 "WebDriver:GetCurrentURL" should not return "about:error" prefixes for erroneous navigation requests RESOLVED hskupin@gmail.com P1
1665307 Ensure to really lazily load Log.get RESOLVED hskupin@gmail.com P1
1665437 Intermittent testing/marionette/harness/marionette_harness/tests/unit/test_<random> <something> | AssertionError: NoSuchWindowException not raised RESOLVED hskupin@gmail.com P1
1665489 Intermittent testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py TestNavigate.test_navigate_top_frame_from_nested_context | AssertionError: u'data:text/html;charset=utf-8,%0A%20%20%20%20%20%20%20%20%20%20%3Ctitle%3Efoo%3C/title% RESOLVED hskupin@gmail.com P5
1665718 Clean up element store in parent process when a tab closes RESOLVED mjzffr@gmail.com P3
1666198 TestLegacyClick class in test_click.py does not disable "moz:webdriverClick" RESOLVED hskupin@gmail.com P1
1666204 Race condition between removing frame and next context browser check RESOLVED hskupin@gmail.com P1
1666755 Wait for navigation for WebDriver:ElementClick has to take click delays into account RESOLVED hskupin@gmail.com P1
1667377 waitForNavigationCompleted doesn't trigger callback when no load events are expected or page load strategy is None RESOLVED hskupin@gmail.com P1
1668790 (actors) testing/marionette/harness/marionette_harness/tests/unit/test_expected.py TestExpected.<test> - UnknownException: Error: The element reference of <p> is stale RESOLVED hskupin@gmail.com P1
1668846 (actors) testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py TestBackForwardNavigation.test_frameset_after_navigating_in_frame - TimeoutException RESOLVED hskupin@gmail.com P1
1669005 Perma [Fission] /fetch/corb/script-resource-with-json-parser-breaker.tentative.sub.html | TypeError: window.__wptrunner_process_next_event is not a function RESOLVED hskupin@gmail.com P5
1669169 Set marionette.actors.enabled to true by default for all builds RESOLVED hskupin@gmail.com P1
1669174 Stop running framescript (listener.js) code when actors are enabled RESOLVED hskupin@gmail.com P1
1669917 Port "WebDriver:TakeScreenshot" to JSWindowActor RESOLVED hskupin@gmail.com P1
1669920 (actors) testing/marionette/harness/marionette_harness/tests/unit/test_switch_frame_chrome.py TestSwitchFrameChrome.test_stack_trace - NoSuchWindowException: No such content frame; perhaps the listener was not registered? RESOLVED hskupin@gmail.com P1
1669961 JSWindowActorChild .contentWindow getter returns a WindowProxy even when the inner window isn't current RESOLVED kmaglione+bmo@mozilla.com P2
1670175 Indicate that "elem" arguments of methods in MarionetteFrameParent are actually web element references RESOLVED hskupin@gmail.com P1
1670295 Port Marionette:singleTap to use JSWindowActors RESOLVED jdescottes@mozilla.com P3
1670332 Review contentWindow usage in marionette JSWindowActors RESOLVED mjzffr@gmail.com P1
1671347 UnknownException: AbortError: Actor 'MarionetteFrame' destroyed before query 'MarionetteFrameParent:*' was resolved RESOLVED jdescottes@mozilla.com P1
1671370 (actors) Perma Fis Wd | <test-name> - Failed: DID NOT RAISE <class 'webdriver.error.StaleElementReferenceException'> RESOLVED mjzffr@gmail.com P1
1671372 Perma Fis /webdriver/tests/release_actions/release.py | test_no_browsing_context - AssertionError: unknown error (500): TypeError: can't access property "getActor", browsingContext.currentWindowGlobal is null RESOLVED hskupin@gmail.com P1
1671770 (actor) Perma Fis /webdriver/tests/switch_to_frame/switch.py | test_no_browsing_context[None] - AssertionError: unknown error (500): TypeError: can't access property "getActor", browsingContext.currentWindowGlobal is null RESOLVED hskupin@gmail.com P1
1672758 "WebDriver:Back" hangs when navigation is triggered from within an iframe and frameset is unloaded (no bfcache) RESOLVED hskupin@gmail.com P1
1672788 ChromeWebElements are recorded as ContentWebElements in the ReferenceStore RESOLVED jdescottes@mozilla.com P3
1673823 Move navigation event distribution from framescript to the JSWindowActor implementation RESOLVED hskupin@gmail.com P1
1674158 waitForNavigationCompleted doesn't clean-up listeners when running into a page timeout RESOLVED hskupin@gmail.com P1
1674172 getMarionetteCommandsActorProxy doesn't check for a valid browsing context RESOLVED jdescottes@mozilla.com P3
1674329 Detect replacement of browsing context for cross-group navigations RESOLVED hskupin@gmail.com P1
1675248 Remove usage of Marionette:ListenersAttached from openTab() method RESOLVED hskupin@gmail.com P3
1675320 "WebDriver:NewWindow" causes race conditions because it doesn't wait until the initial "about:blank" has been finished loading RESOLVED jdescottes@mozilla.com P1
1676283 Don't bail out when MarionetteEvents actor is registered more than once RESOLVED hskupin@gmail.com P3
1676665 Commands should not call "this.listener.switchToFrame" and "this.listener.setBrowsingContextId" unconditionally RESOLVED hskupin@gmail.com P1
1676671 Refactor registration of browsers RESOLVED jdescottes@mozilla.com P2
1676709 Dispatch "browsing-context-attached" notification when attaching a BrowsingContext RESOLVED hskupin@gmail.com P1
1676742 Don't enable event dispatcher of framescript if actors are enabled RESOLVED hskupin@gmail.com P1
1678455 "WebDriver:ElementClick" on links with targets other than "_blank" can cause page load timeout errors RESOLVED hskupin@gmail.com P1
1678708 UnknownException: NotSupportedError: ChromeUtils.registerWindowActor: 'MarionetteCommands' actor is already registered RESOLVED hskupin@gmail.com P3
1679414 MarionetteCommands actor leaks observers of dialog observer instance RESOLVED hskupin@gmail.com P1
1682242 UnknownException: TypeError: can't access property "tabs", tabBrowser is null RESOLVED hskupin@gmail.com P1
1682757 event.DoubleClickTracker not handled by MarionetteEventsActor RESOLVED hskupin@gmail.com P1
1685454 Enhance retry logic for getMarionetteCommandsActorProxy for inactive actors. RESOLVED hskupin@gmail.com P2

83 Total; 0 Open (0%); 83 Resolved (100%); 0 Verified (0%);


Marionette Fission Reserve

Full Query
ID Summary Status Assigned to Priority
1574508 Perma W-fis(Wr) UnknownError: SecurityError: Permission denied to access property "windowUtils" on cross-origin object (flushWindow@chrome://marionette/content/actors/MarionetteReftestChild.jsm, line 176) RESOLVED jdescottes@mozilla.com P3
1661591 Intermittent /webdriver/tests/get_title/get.py | test_after_modification - AssertionError: assert 'Initial' == 'Updated' RESOLVED hskupin@gmail.com P5
1662808 TypeError: can't access property "getActor", browsingContextFn().currentWindowGlobal is null (reftest.js) RESOLVED hskupin@gmail.com P3
1664881 "WebDriver:GetCurrentURL" has to retrieve the visible URL via the currentWindowGlobal RESOLVED hskupin@gmail.com P3
1669172 Remove all code related to framescript usage (listener.js) RESOLVED hskupin@gmail.com P3
1669176 Move out action initializing code from listener.js RESOLVED mjzffr@gmail.com P2
1683193 Move handling of actions input states to WebDriverSession NEW nobody@mozilla.org P2
1683755 Remove support for unused "Marionette:ActionChain and Marionette:MultiAction RESOLVED hskupin@gmail.com P1
1684054 Remove unused focus argument from "WebDriver:SwitchToFrame" RESOLVED hskupin@gmail.com P1
1684827 Sometimes a NoSuchElement error is returned instead of a StaleElement error RESOLVED hskupin@gmail.com P2
1685291 sendKeys to context menu in chrome context gives: Element is not reachable by keyboard RESOLVED jdescottes@mozilla.com P3
1691683 Remove unused WebElementEventTarget class RESOLVED hskupin@gmail.com P1
1694823 Enable Fission Marionette tests on more platforms RESOLVED ahal@mozilla.com P2

13 Total; 1 Open (7.69%); 12 Resolved (92.31%); 0 Verified (0%);