WebDriver/Marionette/Fission

From MozillaWiki
Jump to: navigation, 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 Henrik Skupin [:whimboo][⌚️UTC+1] P1
1365886 Add support for Actions in chrome scope RESOLVED Maja Frydrychowicz :impossibus (was :maja_zf) (needinfo me) P5
1394354 WebDriver:ElementClick sometimes does not trigger a click RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1493108 Commands have to check the appropriate browsing context (and not the current window) if it's still available RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1534582 Convert usage of legacy actions to WebDriver actions RESOLVED Maja Frydrychowicz :impossibus (was :maja_zf) (needinfo me) P1
1580699 With Fission enabled "WebDriver:SwitchToFrame" raises: SecurityError: Permission denied to access property "frameElement" on cross-origin object RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P3
1582736 High frequency testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py TestTLSNavigation.test_deactivation | AssertionError: InsecureCertificateException not raised RESOLVED Maja Frydrychowicz :impossibus (was :maja_zf) (needinfo me) P5
1612831 Move all page navigation related code into parent process (driver.js) RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1644235 Run Marionette unit tests with Fission enabled in CI RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1648444 Refactor reftest navigation code to use JSWindowActor RESOLVED Julian Descottes [:jdescottes] P1
1651648 Unify locator strategies for chrome and content RESOLVED Maja Frydrychowicz :impossibus (was :maja_zf) (needinfo me) P3
1651691 Simplify implementation of WebDriver:SwitchToFrame RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1652932 Keep reference to browsing context of currently selected frame in parent process RESOLVED Maja Frydrychowicz :impossibus (was :maja_zf) (needinfo me) P2
1653911 Land minimal implementation of JSWindowActor pair RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1654453 Conditionally enable usage of JSWindowActor in Marionette RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1654454 Port WebDriver:FindElement and WebDriver:FindElements to JSWindowActor RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1654513 Move usage of element store from content to parent process RESOLVED Maja Frydrychowicz :impossibus (was :maja_zf) (needinfo me) P2
1654609 Port WebDriver:GetElementProperty and WebDriver:GetElementAttribute to JSWindowActor RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1654628 Port WebDriver:SwitchToFrame and WebDriver:SwitchToParentFrame to JSWindowActor RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] 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 Henrik Skupin [:whimboo][⌚️UTC+1] P3
1658696 ensureWindow for reftests has to wait until page of added browser element has been loaded RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1658928 Make "WebDriver:GetCurrentURL" Fission compatible RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1659502 Remove obsolete command "WebDriver:GetActiveFrame" RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1660168 Set marionette.actors.enabled to true by default for Fission builds RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1660332 Make WebDriver:ElementClick Fission compatible RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1660426 Make "WebDriver:GetTitle" Fission compatible RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1660781 Lazily load all external modules in Marionette's JSWindowActor classes RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1660881 Use XPCOMUtils.defineLazyModuleGetters() to defer loading of not immediately necessary modules in Marionette RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1661332 Marionette reftests have to run in content and not chrome context RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1661495 Broken tracking of current browsing context after opening new windows RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1662455 Port WebDriver:GetElementCSSValue, WebDriver:GetElementTagName, and WebDriver:GetElementText to JSWindowActor RESOLVED Julian Descottes [:jdescottes] P3
1662460 Port WebDriver:ExecuteScript and WebDriver:ExecuteAsyncScript to JSWindowActor RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1662469 Port WebDriver:PerformActions and WebDriver:ReleaseActions to JSWindowActor RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1662473 Port WebDriver:ElementSendKeys to JSWindowActor RESOLVED Julian Descottes [:jdescottes] P1
1662475 Port WebDriver:ElementClear to JSWindowActor RESOLVED Maja Frydrychowicz :impossibus (was :maja_zf) (needinfo me) P3
1662479 Port WebDriver:GetPageSource to JSWindowActor RESOLVED Julian Descottes [:jdescottes] P3
1662480 Port WebDriver:GetElementRect to JSWindowActor RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1662790 Port WebDriver:IsElementDisplayed, WebDriver:IsElementEnabled, and WebDriver:IsElementSelected to JSWindowActor RESOLVED Maja Frydrychowicz :impossibus (was :maja_zf) (needinfo me) P1
1662798 Port WebDriver:GetActiveElement to JSWindowActor RESOLVED Maja Frydrychowicz :impossibus (was :maja_zf) (needinfo me) P3
1662803 Make handling of alerts/dialogs Fission compatible RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1663641 "WebDriver:GetCurrentURL" should not return "about:error" prefixes for erroneous navigation requests RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1665307 Ensure to really lazily load Log.get RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1665437 Intermittent testing/marionette/harness/marionette_harness/tests/unit/test_<random> <something> | AssertionError: NoSuchWindowException not raised RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] 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 Henrik Skupin [:whimboo][⌚️UTC+1] P5
1665718 Clean up element store in parent process when a tab closes RESOLVED Maja Frydrychowicz :impossibus (was :maja_zf) (needinfo me) P3
1666198 TestLegacyClick class in test_click.py does not disable "moz:webdriverClick" RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1666204 Race condition between removing frame and next context browser check RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1666755 Wait for navigation for WebDriver:ElementClick has to take click delays into account RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1667377 waitForNavigationCompleted doesn't trigger callback when no load events are expected or page load strategy is None RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] 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 Henrik Skupin [:whimboo][⌚️UTC+1] P1
1668846 (actors) testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py TestBackForwardNavigation.test_frameset_after_navigating_in_frame - TimeoutException RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] 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 Henrik Skupin [:whimboo][⌚️UTC+1] P5
1669169 Set marionette.actors.enabled to true by default for all builds RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1669174 Stop running framescript (listener.js) code when actors are enabled RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1669917 Port "WebDriver:TakeScreenshot" to JSWindowActor RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] 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 Henrik Skupin [:whimboo][⌚️UTC+1] P1
1669961 JSWindowActorChild .contentWindow getter returns a WindowProxy even when the inner window isn't current RESOLVED Kris Maglione [:kmag] P2
1670175 Indicate that "elem" arguments of methods in MarionetteFrameParent are actually web element references RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1670295 Port Marionette:singleTap to use JSWindowActors RESOLVED Julian Descottes [:jdescottes] P3
1670332 Review contentWindow usage in marionette JSWindowActors RESOLVED Maja Frydrychowicz :impossibus (was :maja_zf) (needinfo me) P1
1671347 UnknownException: AbortError: Actor 'MarionetteFrame' destroyed before query 'MarionetteFrameParent:*' was resolved RESOLVED Julian Descottes [:jdescottes] P1
1671370 (actors) Perma Fis Wd | <test-name> - Failed: DID NOT RAISE <class 'webdriver.error.StaleElementReferenceException'> RESOLVED Maja Frydrychowicz :impossibus (was :maja_zf) (needinfo me) 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 Henrik Skupin [:whimboo][⌚️UTC+1] 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 Henrik Skupin [:whimboo][⌚️UTC+1] P1
1672758 "WebDriver:Back" hangs when navigation is triggered from within an iframe and frameset is unloaded (no bfcache) RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1672788 ChromeWebElements are recorded as ContentWebElements in the ReferenceStore RESOLVED Julian Descottes [:jdescottes] P3
1673823 Move navigation event distribution from framescript to the JSWindowActor implementation RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1674158 waitForNavigationCompleted doesn't clean-up listeners when running into a page timeout RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1674172 getMarionetteCommandsActorProxy doesn't check for a valid browsing context RESOLVED Julian Descottes [:jdescottes] P3
1674329 Detect replacement of browsing context for cross-group navigations RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1675248 Remove usage of Marionette:ListenersAttached from openTab() method RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P3
1675320 "WebDriver:NewWindow" causes race conditions because it doesn't wait until the initial "about:blank" has been finished loading RESOLVED Julian Descottes [:jdescottes] P1
1676283 Don't bail out when MarionetteEvents actor is registered more than once RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P3
1676665 Commands should not call "this.listener.switchToFrame" and "this.listener.setBrowsingContextId" unconditionally RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1676671 Refactor registration of browsers RESOLVED Julian Descottes [:jdescottes] P2
1676709 Dispatch "browsing-context-attached" notification when attaching a BrowsingContext RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1676742 Don't enable event dispatcher of framescript if actors are enabled RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1678455 "WebDriver:ElementClick" on links with targets other than "_blank" can cause page load timeout errors RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1678708 UnknownException: NotSupportedError: ChromeUtils.registerWindowActor: 'MarionetteCommands' actor is already registered RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P3
1679414 MarionetteCommands actor leaks observers of dialog observer instance RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1682242 UnknownException: TypeError: can't access property "tabs", tabBrowser is null RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1682757 event.DoubleClickTracker not handled by MarionetteEventsActor RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1685454 Enhance retry logic for getMarionetteCommandsActorProxy for inactive actors. RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] 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 Julian Descottes [:jdescottes] P3
1661591 Intermittent /webdriver/tests/get_title/get.py | test_after_modification - AssertionError: assert 'Initial' == 'Updated' RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P5
1662808 TypeError: can't access property "getActor", browsingContextFn().currentWindowGlobal is null (reftest.js) RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P3
1664881 "WebDriver:GetCurrentURL" has to retrieve the visible URL via the currentWindowGlobal RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P3
1669172 Remove all code related to framescript usage (listener.js) RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P3
1669176 Move out action initializing code from listener.js RESOLVED Maja Frydrychowicz :impossibus (was :maja_zf) (needinfo me) P2
1683193 Move handling of actions input states to WebDriverSession NEW P2
1683755 Remove support for unused "Marionette:ActionChain and Marionette:MultiAction RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1684054 Remove unused focus argument from "WebDriver:SwitchToFrame" RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1684827 Sometimes a NoSuchElement error is returned instead of a StaleElement error RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P2
1685291 sendKeys to context menu in chrome context gives: Element is not reachable by keyboard RESOLVED Julian Descottes [:jdescottes] P3
1691683 Remove unused WebElementEventTarget class RESOLVED Henrik Skupin [:whimboo][⌚️UTC+1] P1
1694823 Enable Fission Marionette tests on more platforms RESOLVED Andrew Halberstadt [:ahal] P2

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