RESOLVED FIXED 22497
Parse turns for <angle> units
https://bugs.webkit.org/show_bug.cgi?id=22497
Summary Parse turns for <angle> units
Dean Jackson
Reported 2008-11-25 14:17:50 PST
CSS says <angle> should accept "turn" units <rdar://problem/6217769>
Attachments
Patch for 'turn' CSS angle unit type + testcases (20.41 KB, patch)
2008-11-27 17:56 PST, Dean Jackson
no flags
updated patch (22.75 KB, patch)
2008-12-01 22:47 PST, Dean Jackson
mitz: review-
update with (hopefully) correct enum vals (18.83 KB, patch)
2008-12-02 13:20 PST, Dean Jackson
mitz: review+
Dean Jackson
Comment 1 2008-11-27 17:56:16 PST
Created attachment 25562 [details] Patch for 'turn' CSS angle unit type + testcases
mitz
Comment 2 2008-12-01 20:58:57 PST
Comment on attachment 25562 [details] Patch for 'turn' CSS angle unit type + testcases Is it okay for the values in CSSPrimitiveValue.h to mismatch the values in CSSPrimitiveValue.idl?
Dean Jackson
Comment 3 2008-12-01 21:08:56 PST
No, it should be the same. I'll update the patch
Dean Jackson
Comment 4 2008-12-01 22:47:13 PST
Created attachment 25667 [details] updated patch Updated patch for mitz's comment. Also updated test for Window properties since it changed with the new value for CSS_TURN.
mitz
Comment 5 2008-12-01 22:57:55 PST
Comment on attachment 25667 [details] updated patch The values in the .idl come from <http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue> and I don't think they can be changed. Since the turn unit is not specified (yet?), I think it should be left out of the IDL completely and assigned a UnitType value that does not clash with the IDL-specified ones. It seems like the 100-and-higher range has been used for such "units". Sorry about not thinking about all that before making my previous comment :(
Dean Jackson
Comment 6 2008-12-02 12:49:34 PST
DOH! You're right. The reason I shoved it in the list was I saw a lot of code in the CSS engine that checks for < and > various types. I don't know why the engine thinks the order of those enums is important, but I thought it would be less risky to put a new unit in the "right" place. I'll put it at the end (100+) and see if anything breaks. The unit is defined in CSS3 but not CSS 2.1.
Dean Jackson
Comment 7 2008-12-02 13:20:53 PST
Created attachment 25679 [details] update with (hopefully) correct enum vals Changed the enum values back to the specified values, and added TURN as 100+.
mitz
Comment 8 2008-12-02 16:45:35 PST
Comment on attachment 25679 [details] update with (hopefully) correct enum vals r=me, but as discussed in IRC, please don't check in the changed to the IDL.
Dean Jackson
Comment 9 2008-12-03 12:47:35 PST
Committed without the IDL change. This also meant the Window DOM testcase didn't need updating. M JavaScriptCore/ChangeLog M JavaScriptCore/wtf/MathExtras.h M LayoutTests/ChangeLog M LayoutTests/transforms/2d/transform-2d-expected.txt M LayoutTests/transforms/2d/transform-2d.html M LayoutTests/transforms/transform-value-types-expected.txt M LayoutTests/transforms/transform-value-types.html M WebCore/ChangeLog M WebCore/css/CSSGrammar.y M WebCore/css/CSSParser.cpp M WebCore/css/CSSPrimitiveValue.cpp M WebCore/css/CSSPrimitiveValue.h M WebCore/css/CSSStyleSelector.cpp M WebCore/css/tokenizer.flex Committed r38959
Note You need to log in before you can comment on or make changes to this bug.