Closed
Bug 769193
Opened 14 years ago
Closed 14 years ago
Update css code to use primitives for transform functions
Categories
(Core :: Layout, defect)
Core
Layout
Tracking
()
RESOLVED
FIXED
mozilla17
People
(Reporter: dzbarsky, Assigned: dzbarsky)
References
Details
Attachments
(1 file, 1 obsolete file)
|
15.72 KB,
patch
|
dbaron
:
review+
|
Details | Diff | Splinter Review |
The spec says we should use primitives, which allow things interpolating between the various scale* and translate* functions.
Dbaron, do you care if I land this with async css animations?
| Assignee | ||
Comment 1•14 years ago
|
||
Seems to pass animation mochitests and my local testing. Running on tryserver now.
Attachment #637511 -
Flags: review?(dbaron)
| Assignee | ||
Comment 2•14 years ago
|
||
Forgot to qref, so ignore the printfs
| Assignee | ||
Comment 3•14 years ago
|
||
There should be a break after the translatez case in ToPrimitive
| Assignee | ||
Comment 4•14 years ago
|
||
This one should pass tests.
Attachment #637511 -
Attachment is obsolete: true
Attachment #637511 -
Flags: review?(dbaron)
Attachment #637576 -
Flags: review?(dbaron)
| Assignee | ||
Comment 5•14 years ago
|
||
Dbaron, do you mind if I fold this patch in with async animations? It touches nsCSSValue.h so I have to rebuild half the tree whenever I push/pop it, which is every time I want to commit a new patch to my repo :(
Please don't.
If you want to avoid rebuilding when you push/pop patches, do the pushing/popping in one tree, pull from that one into another tree, and build there.
| Assignee | ||
Comment 7•14 years ago
|
||
Or you could review this. That would make my life a lot easier ;)
Comment on attachment 637576 [details] [diff] [review]
Patch
>From: David Zbarsky <dzbarsky@gmail.com>
>try: -b do
In the future, please include commit messages in patches for review.
For this one, I'd suggest as a commit message (all on one line):
Interpolate between transform functions that share common primitives rather than forcing them to fall back to matrix decomposition. (Bug 769193) r=dbaron
Throughout the patch, the opening brace of a function, when not
inlined in the class definition, should be on its own line.
>+ void SetItem(size_t aIndex, nsCSSValue& aValue) {
>+ (*this)[aIndex] = aValue;
>+ }
This is unneeded. You can use either operator[] (preferable if you
have an object or reference) or Item() (preferable if you have a pointer).
So you should change:
>+ arr->SetItem(1, aArray->Item(1));
to:
+ arr->Item(1) = aArray->Item(1);
throughout the patch.
I think it would be substantially clearer to:
* make AppendFunction use the old numbers, i.e., the ones you removed
from nsStyleAnimation::AppendTransformFunction
* call ToPrimitive(nsCSSKeyword) at the start of
ToPrimitive(nsCSSValue::Array*)
* call AppendFunction on the *result* of that first ToPrimitive call
when setting up the result array on the second line of ToPrimitive
Remove the printf from AddTransformTranslate.
You might also want to double-check with mattwoodrow that the only time we do transform-function-based checks for whether a transform is 3-D is in the parser (which this shouldn't go through again) and that any other checks for is-it-3D are based on the matrix. You're depending on that.
r=dbaron with that
Attachment #637576 -
Flags: review?(dbaron) → review+
| Assignee | ||
Comment 9•14 years ago
|
||
Addressed nits and landed:
https://hg.mozilla.org/integration/mozilla-inbound/rev/19b5733f954d
Flags: in-testsuite+
Target Milestone: --- → mozilla17
Comment 10•14 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•