Closed
Bug 598099
Opened 14 years ago
Closed 14 years ago
add tests for nsStyleAnimation::ComputeDistance
Categories
(Core :: CSS Parsing and Computation, defect, P3)
Core
CSS Parsing and Computation
Tracking
()
RESOLVED
FIXED
mozilla2.0b7
Tracking | Status | |
---|---|---|
blocking2.0 | --- | betaN+ |
People
(Reporter: dbaron, Assigned: dbaron)
References
Details
Attachments
(3 files)
1.54 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
13.14 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
44.41 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
In bug 520234 comment 22 bzbarsky pointed out the lack of tests for ComputeDistance (which I knew about, and was perhaps planning to deal with as part of bug 526784). However, it should really have its own bug. I have patches; they need a little more work.
Assignee | ||
Comment 1•14 years ago
|
||
Marking this as a blocker, because I have tests, and they turned up a bug that I think needs to be fixed.
blocking2.0: --- → betaN+
Assignee | ||
Comment 2•14 years ago
|
||
I need this because patch 3 uses nsStyleAnimation::ComputeValue, which in turn uses ResolveStyleByAddingRules. But I believe it also fixes a SMIL+transitions interaction bug.
Attachment #484519 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 3•14 years ago
|
||
This should at least be capable of reversing AddWeighted correctly.
Attachment #484520 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 4•14 years ago
|
||
Attachment #484522 -
Flags: review?(bzbarsky)
Assignee | ||
Updated•14 years ago
|
Whiteboard: [needs review]
Comment 5•14 years ago
|
||
Comment on attachment 484519 [details] [diff] [review] patch 1: fix AnimValuesStyleRule::MapRuleInfoInto r=me
Attachment #484519 -
Flags: review?(bzbarsky) → review+
Comment 6•14 years ago
|
||
Comment on attachment 484520 [details] [diff] [review] patch 2: fix distance metric for transforms This looks fine, for the most part. The one worry is the skew distance calculation. It can end up with diff == Infinity, I think, or worse yet diff being a NaN (e.g. when the float value is pi/2 for both v1 and v2, modulo rounding error). Why did you decide to go with tan() here?
Comment 7•14 years ago
|
||
Comment on attachment 484522 [details] [diff] [review] patch 3: tests for ComputeDistance >+ if (property != eCSSProperty_UNKNOWN && nsCSSProps::IsShorthand(property)) { >+ nsCSSProperty subprop0 = *nsCSSProps::SubpropertyEntryFor(property); >+ if (nsCSSProps::PropHasFlags(subprop0, CSS_PROPERTY_REPORT_OTHER_NAME) && >+ nsCSSProps::OtherNameFor(subprop0) == property) { >+ property = subprop0; >+ } else { >+ property = eCSSProperty_UNKNOWN; >+ } >+ } I don't understand this chunk of code.... it's mapping shorthands to some other property names sometimes? Why? The rest looks fine; make sure to land the interface change for b7?
Assignee | ||
Comment 8•14 years ago
|
||
> This looks fine, for the most part. The one worry is the skew distance > calculation. It can end up with diff == Infinity, I think, or worse yet diff > being a NaN (e.g. when the float value is pi/2 for both v1 and v2, modulo > rounding error). Why did you decide to go with tan() here? I went with tan() because we also use tan() for interpolation of skew (since we animate it as though it was shear() rather than skew()). I guess this is an issue for both distance and interpolation, though. (In reply to comment #7) > I don't understand this chunk of code.... it's mapping shorthands to some other > property names sometimes? Why? It's mapping border-left to border-left-value, etc.
Comment 9•14 years ago
|
||
Comment on attachment 484522 [details] [diff] [review] patch 3: tests for ComputeDistance > It's mapping border-left to border-left-value, etc. Please comment that.
Attachment #484522 -
Flags: review?(bzbarsky) → review+
Comment 10•14 years ago
|
||
Comment on attachment 484520 [details] [diff] [review] patch 2: fix distance metric for transforms > I went with tan() because we also use tan() for interpolation of skew OK. Let's do this for now, then, but file a followup on addressing this issue?
Attachment #484520 -
Flags: review?(bzbarsky) → review+
Assignee | ||
Comment 11•14 years ago
|
||
(In reply to comment #10) > Comment on attachment 484520 [details] [diff] [review] > patch 2: fix distance metric for transforms > > > I went with tan() because we also use tan() for interpolation of skew > > OK. Let's do this for now, then, but file a followup on addressing this issue? filed bug 606722
Assignee | ||
Comment 12•14 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/af70dc124ddd http://hg.mozilla.org/mozilla-central/rev/567e9ffd65cb http://hg.mozilla.org/mozilla-central/rev/de2d90ff2ac7 I also filed bug 606726 on syncing nsIDOMWindowUtils on the 2.0b7 branch, which is easiest to do *after* compartments lands on that branch.
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Priority: -- → P3
Resolution: --- → FIXED
Whiteboard: [needs review]
Target Milestone: --- → mozilla2.0b8
Updated•14 years ago
|
Target Milestone: mozilla2.0b8 → mozilla2.0b7
You need to log in
before you can comment on or make changes to this bug.
Description
•