Bug 1682743 Comment 1 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

So a problem I noticed is that for dropdown (or some such) positions in OOP iframes use PuppetWidget::WidgetToScreenOffset to get the coordinate origin of the document inside the iframe, but it's the origin, it doesn't convert positions inside the iframe by the outer transform values,  in this test case, `scale(2)` is a transform in the parent document.

Presumably one of reasonable place to factor outer transforms is inside [ViewportUtils::GetVisualToLayoutTransform](https://searchfox.org/mozilla-central/rev/8d722de75886d6bffc116772a1db8854e34ee6a7/layout/base/ViewportUtils.cpp#57).

Another possible solution I can think of is to introduce a new function in PuppetWidget (or BrowserChild) to convert a given position in the OOP iframe units (app units/css units) to screen coordinate system.
So a problem I noticed is that for dropdown (or some such) positions in OOP iframes use PuppetWidget::WidgetToScreenOffset (via mozInnerScreen{X,Y}) to get the coordinate origin of the document inside the iframe, but it's the origin, it doesn't convert positions inside the iframe by the outer transform values,  in this test case, `scale(2)` is a transform in the parent document.

Presumably one of reasonable place to factor outer transforms is inside [ViewportUtils::GetVisualToLayoutTransform](https://searchfox.org/mozilla-central/rev/8d722de75886d6bffc116772a1db8854e34ee6a7/layout/base/ViewportUtils.cpp#57).

Another possible solution I can think of is to introduce a new function in PuppetWidget (or BrowserChild) to convert a given position in the OOP iframe units (app units/css units) to screen coordinate system.

Back to Bug 1682743 Comment 1