Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upEnyoJS sampler doesn't work. #6643
Comments
|
cc @metajack |
|
@metajack The enyo libraries rely on (at least some parts of) cssom to work. The sampler fails due to missing support for https://github.com/mozilla/gecko-dev/blob/master/dom/webidl/HTMLElement.webidl#L84. |
|
@metajack enyo also relies on MouseEvent implementing the (non standard) 'which' field of MouseEvent (see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/which and https://dxr.mozilla.org/mozilla-central/source/dom/events/MouseEvent.h#40). This should be trivial to implement (although I'm not sure if we support implementing binding methods without a WebIDL declaration, which is what the current gecko code does). Are we happy to implement this non-standard field? The MDN page says it's supported in every other browser (well, IE9+ anyway). |
https://w3c.github.io/uievents/#KeyboardEvent-supplemental-interface
Gecko implements it on |
|
@metajack enyo also seems to rely on transition callbacks too, which I don't believe we support yet. It does use animation + animation callbacks, but I'm not sure to what extent yet. |
|
@metajack Ah, part of the reason why none of the button presses are working is because the target of our mousedown events is different than what FF sets, so they get dispatched incorrectly. I'll look into how our hit detection is working. The servo hit detection doesn't work with (2d or 3d) transforms, which explains the discrepancy here. With the way enyo works, this places all panels at (0,0) so the hit detection is wrong for buttons etc. |
|
Filed https://bugzilla.mozilla.org/show_bug.cgi?id=1186125 about Gecko's noncompliance here, fwiw. |
|
enyo relies heavily on transforms for doing layout in js. But some of the transforms are failing to parse - looking into that now before fixing the hit test code. |
|
Partial fix for hit testing (needs servo integration) servo/euclid#98 Fix for mouseevent.which #6691 |
This simplifies an upcoming PR to support serializing transform values for css style declarations. Related to issue servo#6643.
This provides enough support to do correct layout for servo#6643.
This makes hit tests work on stacking contexts with transforms. Ref servo#6643.
This makes hit tests work on stacking contexts with transforms. Ref servo#6643.
This makes hit tests work on stacking contexts with transforms. Ref servo#6643.
Change transforms to use LengthOrPercentage. This simplifies an upcoming PR to support serializing transform values for css style declarations. Related to issue #6643. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6796) <!-- Reviewable:end -->
Accumulate and invert stacking context transform for hit tests. This makes hit tests work on stacking contexts with transforms. Ref #6643. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6801) <!-- Reviewable:end -->
Accumulate and invert stacking context transform for hit tests. This makes hit tests work on stacking contexts with transforms. Ref #6643. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6801) <!-- Reviewable:end -->
Add ToCss serialization support for translation transforms. Ref #6643. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6827) <!-- Reviewable:end -->
… containing block height. It's not possible to correctly determine during the css cascade whether the container height is explicitly specified. Additionally, the spec https://drafts.csswg.org/css2/visudet.html#the-height-property says this should affect the *used* height, rather than the computed height. This improves some of the layout in servo#6643 (a test case for this will be added when an unrelated bug to absolute containing blocks is fixed).
Change where percentage height becomes auto when there is no explicit containing block height. It's not possible to correctly determine during the css cascade whether the container height is explicitly specified. Additionally, the spec https://drafts.csswg.org/css2/visudet.html#the-height-property says this should affect the *used* height, rather than the computed height. This improves some of the layout in #6643 (a test case for this will be added when an unrelated bug to absolute containing blocks is fixed). <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6844) <!-- Reviewable:end -->
This simplifies an upcoming PR to support serializing transform values for css style declarations. Related to issue servo#6643.
This makes hit tests work on stacking contexts with transforms. Ref servo#6643.
…sforms. Fixes a lot of incorrect clipping that was occurring in servo#6643.
Fix percentage height calculation, absolute containing block height calculations. It's not possible to correctly determine during the css cascade whether the container height is explicitly specified. Additionally, the spec https://drafts.csswg.org/css2/visudet.html#the-height-property says this should affect the *used* height, rather than the computed height. This significantly improves the layout in #6643. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6903) <!-- Reviewable:end -->
Support transforms for display list optimization. Prevents clipping in #6643. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6983) <!-- Reviewable:end -->
Needed for servo#6643.
Fix explicit height edge case with absolute / relative nested divs. Needed for #6643. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7147) <!-- Reviewable:end -->
Ensure compositor layers are collected when removed from layout. Needed for #6643 and #7134. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7182) <!-- Reviewable:end -->
…have stale clipping results. Needed for servo#6643. Fixes servo#7153.
…ale clipping results. Needed for servo#6643. Fixes servo#7153.
Add fix / hack for compositor repainting tiles on scroll layers that have stale clipping results. Needed for #6643. Fixes #7153. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7183) <!-- Reviewable:end -->
…s on layers with 2d transforms. Needed for servo#6643.
Enable item clipping on normal transform layers. Fixes rounded corners on layers with 2d transforms. Needed for #6643. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7186) <!-- Reviewable:end -->
Needed for servo#6643.
…ale clipping results. Needed for servo#6643. Fixes servo#7153.
…s on layers with 2d transforms. Needed for servo#6643.
This simplifies an upcoming PR to support serializing transform values for css style declarations. Related to issue servo#6643.
This makes hit tests work on stacking contexts with transforms. Ref servo#6643.
Ref servo#6643.
…alculations. It's not possible to correctly determine during the css cascade whether the container height is explicitly specified. Additionally, the spec https://drafts.csswg.org/css2/visudet.html#the-height-property says this should affect the *used* height, rather than the computed height. This significantly improves the layout in servo#6643.
Needed for servo#6643.
…ale clipping results. Needed for servo#6643. Fixes servo#7153.
…s on layers with 2d transforms. Needed for servo#6643.
I did some investigation into it - info below for anyone else who looks into it:
To set up a local version you can test with:
Then build the JS (you need node + grunt installed):
./tools/deploy.sh
By default, this produces a minified / obfuscated build. To work around that, I hacked the compressJsFile function in tools/minifier/minify.js to be:
Then you get concatenated JS that is debuggable.
The first problem I ran into is our lack of history implementation - but this can easily be commented out.
After that, the same problem remains. The code appears to do all ajax correctly and get the right sample information. It then calls into pushSampleList. As far as I can tell, servo behaves the same to this point as FF.