"nsDOMWindowUtils::ToTopLevelWidgetRect" needs to take full zoom into account
Categories
(Core :: Layout, defect)
Tracking
()
People
(Reporter: whimboo, Unassigned, NeedInfo)
References
(Blocks 2 open bugs)
Details
With async mouse events the following test is failing because the nsDOMWindowUtils::ToTopLevelWidgetRect() method as used by LayoutUtils.rectToTopLevelWidgetRect() isn't taking the full zoom setting into account. As result the calculated position is wrong and the click is not happening at the expected position.
As per the comment in nsDOMWindowUtils::ConvertTo the method ViewportUtils::DocumentRelativeLayoutToVisual() doesn't seem to apply it correctly.
To verify use the following command:
mach wpt --setpref="remote.log.level=Trace" testing/web-platform/mozilla/tests/dom/events/screenX_screenY_after_propagation_in_zoomed_doc.html --setpref="remote.events.async.mouse.enabled=true"
I'm going to disable the async mouse events for now for this particular test to keep it passing.
Comment 1•16 hours ago
|
||
That seems wrong? This is the code that takes zoom level into account, by virtue of using the AppUnitsPerDevPixel of the child page.
That comment is about "desktop zoom" which is the panning / zooming, not the zoom that test is using.
| Reporter | ||
Comment 2•16 hours ago
|
||
Hm, the test uses SpecialPowers.setFullZoom(window, 2); to set the full zoom, which itself uses the fullZoom property of the BrowsingContext. So it means full zoom is not full zoom but desktop zoom?
The method that we currently use in Marionette relies on the computation of the code as layed out in comment 0. So at some point the desktop zoom needs to be applied as well. If this is panning / zooming I would then like to ask Botond for further feedback. Should we then move this bug to APZ as well?
Description
•