On Thursday, January 15, 2015 at 3:24:03 PM UTC-5, Handyman wrote:
> and the compositor... I'm not sure how it compensates but it must use a
> different mechanism for Compositors and CrossProcessCompositors, probably at
> the Layer level?).

I believe this happens in RenderFrameParent::BuildLayer, with the transform 
getting set on the RefLayer that hosts the child process content.

> So the big picture is that we have introduced a new coordinate system in the
> content process (TabCoordinates) that are exactly like screen coordinates but
> located at a different origin.  This could possibly be incorporated into
> UnitTransforms as a new space but that seems like a seriously heavy duty
> solution.  Also, its not clear how to make that useful -- this setup seems to
> have been chosen so that parent and content processes can share formulas but
> this would mean that they would target different coordinate systems.  On top
> of all that, the coordinate system framework doesn't seem to have been built
> for this sort of purpose -- it seems to be for tracking scaling, not general
> Euclidean operations (so it would be hard to take advantage of).

Agreed, the stuff in Units.h and UnitTransforms.h was not designed for this.

I agree with what roc said (and also what smaug said on the bug) - we should 
just fix PuppetWidget to provide the right information and use that to fix 
these bugs. Is there any problem you foresee with that approach? It wasn't 
clear to me from the bug if you had any objections to that.

kats
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to