Closed Bug 1490258 Opened 6 years ago Closed 1 year ago

Stop support for "moz:useNonSpecCompliantPointerOrigin" capability in Firefox 116

Categories

(Remote Protocol :: Marionette, enhancement, P1)

enhancement
Points:
2

Tracking

(firefox116 fixed)

RESOLVED FIXED
116 Branch
Tracking Status
firefox116 --- fixed

People

(Reporter: ato, Assigned: whimboo)

References

Details

(Whiteboard: [webdriver:m7][webdriver:relnote])

Attachments

(1 file)

This bug tracks the removal of the temporary
moz:useNonSpecCompliantPointerOrigin capability.

From the description in geckodriver’s README:

> A boolean value to indicate how the pointer origin for an action
> command will be calculated.
> 
> With Firefox 59 the calculation will be based on the requirements
> by the WebDriver specification. This means that the pointer origin
> is no longer computed based on the top and left position of the
> referenced element, but on the in-view center point.
> 
> To temporarily disable the WebDriver conformant behavior use false
> as value for this capability.
> 
> Please note that this capability exists only temporarily, and that
> it will be removed once all Selenium bindings can handle the new
> behavior.
Blocks: 1489130
Priority: -- → P3
Can you give any indication which Selenium bindings we are waiting for?
Flags: needinfo?(hskupin)
Sorry, but I don't know the status at the moment. It's been a while since we added that, and I doubt that much has been changed for the bindings given that we didn't file any issue. At some point we should re-evaluate it all.

Note that there are still left-open bugs which fail without this capability. We should do a triage session maybe during our upcoming workweek to hash out those dependencies.
Flags: needinfo?(hskupin)
I can’t find any reference to moz:useNonSpecCompliantPointerOrigin
in the Selenium repository [1] which means clients are not employing
this workaround in a centralised fashion and that—by default—the
stock behaviour users get is equal to the default WebDriver-conforming
behaviour geckodriver ships with.

This means there’s a likelihood that a small amount of users use
this capability to make their action tests pass, but that a vast
majority of them think their action tests are broken in Firefox
because of a bug in geckodriver.  I wonder if not the best approach
would be to not offer a workaround to Selenium and instead track
the bug to fix the underlying problem.

However, I don’t know what, or where, the underlying problem is
being tracked in Selenium. 

  [1] https://github.com/SeleniumHQ/selenium/search?q=moz%3AuseNonSpecCompliantPointerOrigin&unscoped_q=moz%3AuseNonSpecCompliantPointerOrigin
You won't find it there, right. But consumers of Selenium have this capability set to workaround some known bugs in Marionette (as mentioned before), and maybe because they are lazy to update the tests for the new behavior.
Severity: normal → S3
Product: Testing → Remote Protocol

There are no more open dependencies left. As such I would propose that we get rid of this capability and only support the W3C mode by using the center point of the given Element Origin as reference.

When we remove the capability we should first start with Marionette and keep support for it in geckodriver for a while (bug for removal to be filed).

Lets discuss in our next triage meeting.

Whiteboard: [webdriver:triage]

Work that we will have to do here:

  • Send out tweet to get a sense who actually uses this vendor prefixed capability with geckodriver and if it is still needed.
  • Get it first removed from Marionette (make sure that it wouldn't fail if geckodriver continues forwarding the capability)
  • File a new bug to get it removed in geckodriver as well
Whiteboard: [webdriver:triage] → [webdriver:backlog]

WebdriverIO still sets this capability at some places but with a value of false . I filed an issue to get that removed.

(In reply to Henrik Skupin [:whimboo][⌚️UTC+1] from comment #8)

WebdriverIO still sets this capability at some places but with a value of false . I filed an issue to get that removed.

Actually all these instances were part of examples and have been removed now.

Now lets wait at maximum 2 weeks if we get some replies via Twitter.

(In reply to Henrik Skupin [:whimboo][⌚️UTC+1] from comment #9)

Now lets wait at maximum 2 weeks if we get some replies via Twitter.

So far there was not a single reply and I think that we might go ahead and first warn about it's deprecation in the next geckodriver release. I'll file a separate bug for it.

We are going to ship the deprecation warning with geckodriver 0.33.0. The removal of the capability will not be done before the next ESR is out. That means we target it for Firefox 116. The nightly builds for 116 will start on June 5th.

Assignee: nobody → hskupin
Status: NEW → ASSIGNED

We announced the removal for the Firefox 116 release. So lets get this done.

Priority: P3 → P1
Whiteboard: [webdriver:backlog] → [webdriver:m7]
Pushed by hskupin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/702dc0aa87a8
[marionette] Remove moz:useNonSpecCompliantPointerOrigin capability. r=webdriver-reviewers,jgraham
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 116 Branch
Summary: Remove moz:useNonSpecCompliantPointerOrigin → Stop support for "moz:useNonSpecCompliantPointerOrigin" capability in Firefox 116
Whiteboard: [webdriver:m7] → [webdriver:m7][webdriver:relnote]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: