fune/remote/marionette
Valentin Gosu 0265423f41 Bug 1848226 - Marionette's driver.sys.mjs uses wrong URL for cookie operations r=edgul,webdriver-reviewers,whimboo
https://w3c.github.io/webdriver/#dfn-get-current-url says:
> For each cookie in all associated cookies of session's
> current browsing context's active document ...

However, the cookie implementations in driver.sys.mjs called _getCurrentURL
which returned the URL of the _top level browsing context_ as specified
in https://w3c.github.io/webdriver/#dfn-get-current-url

As a consequence, the cookie tests that set and deleted cookies
inside an iframe used the top level path for deleting cookies instead of
the path of the iframe, so they failed to find any cookies applicable
to that path.

For example running cookies/encoding/charset.html would set cookies
by calling `fetch('/cookies/resources/cookie.py?...')` then it would
try to delete cookies by calling getAndExpireCookiesForDefaultPathTest
which opened an iframe to /cookies/resources/echo-cookie.html
This iframe would call `setTestContextUsingRootWindow()` then call
`await test_driver.delete_all_cookies();` - but this call attempted to
delete cookies for the top level browing context's path - /cookies/encoding/

Differential Revision: https://phabricator.services.mozilla.com/D211434
2024-06-04 10:43:16 +00:00
..
actors Bug 1885577 - [bidi] Add support for accessibility attributes locator for "browsingContext.locateNodes" command. r=webdriver-reviewers,jdescottes 2024-04-19 07:56:27 +00:00
chrome
test
.eslintrc.js
addon.sys.mjs
atom.sys.mjs Bug 1888004 - [marionette] Fix "WebDriver:GetElementText" to correctly find capitalized text containing an underscore. r=webdriver-reviewers,Sasha 2024-05-08 15:36:38 +00:00
browser.sys.mjs Bug 1880914 - Move BrowserOpenTab. r=Gijs,webdriver-reviewers,perftest-reviewers,extension-reviewers,sessionstore-reviewers,tabbrowser-reviewers,home-newtab-reviewers,thecount,whimboo,dao,afinder,omc-reviewers,aminomancer 2024-04-03 10:32:27 +00:00
cert.sys.mjs
cookie.sys.mjs
driver.sys.mjs Bug 1848226 - Marionette's driver.sys.mjs uses wrong URL for cookie operations r=edgul,webdriver-reviewers,whimboo 2024-06-04 10:43:16 +00:00
evaluate.sys.mjs
interaction.sys.mjs Bug 1798464 - [marionette] Removed usage of 'isElementEnabled' Selenium atom. r=webdriver-reviewers,Sasha 2024-05-03 08:59:22 +00:00
jar.mn Bug 1875065 - Move permissions module to the shared folder. r=webdriver-reviewers,jdescottes 2024-05-08 16:50:30 +00:00
json.sys.mjs
l10n.sys.mjs
message.sys.mjs
moz.build
navigate.sys.mjs
packets.sys.mjs
prefs.sys.mjs Bug 1897180 - Remove "marionette.setpermission.enabled" preference. r=webdriver-reviewers,whimboo 2024-05-31 08:30:40 +00:00
README
reftest-content.js
reftest.sys.mjs
server.sys.mjs
stream-utils.sys.mjs
sync.sys.mjs
transport.sys.mjs
web-reference.sys.mjs
webauthn.sys.mjs

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Marionette [ ˌmarɪəˈnɛt] is

  * a puppet worked by strings: the bird bobs up and down like
    a marionette;

  * a person who is easily manipulated or controlled: many officers
    dismissed him as the mayors marionette;

  * the remote protocol that lets out-of-process programs communicate
    with, instrument, and control Gecko-based browsers.

Marionette provides interfaces for interacting with both the internal
JavaScript runtime and UI elements of Gecko-based browsers, such
as Firefox on desktop and mobile.  It can control both the chrome- and content
documents, giving a high level of control and ability to replicate,
or emulate, user interaction.

Head on to the Marionette documentation to find out more:

	https://firefox-source-docs.mozilla.org/testing/marionette/