Bug 241167

Summary: Implement CSSNumericValue.to
Product: WebKit Reporter: Alex Christensen <achristensen>
Component: CSSAssignee: Alex Christensen <achristensen>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, esprehn+autocc, ews-watchlist, glenn, gyuyoung.kim, macpherson, menard, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch none

Alex Christensen
Reported 2022-05-31 21:30:47 PDT
Some strange algorithms, but well specified.
Attachments
Patch (41.98 KB, patch)
2022-05-31 21:34 PDT, Alex Christensen
no flags
Patch (45.16 KB, patch)
2022-06-03 11:47 PDT, Alex Christensen
no flags
Alex Christensen
Comment 1 2022-05-31 21:34:31 PDT
Chris Dumez
Comment 2 2022-06-03 09:45:30 PDT
Comment on attachment 459920 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=459920&action=review r=me but please fix the parameter types to use r-value references. > Source/WebCore/css/typedom/CSSUnitValue.h:53 > + RefPtr<CSSUnitValue> convertTo(CSSUnitType); Can this be const? > Source/WebCore/css/typedom/numeric/CSSMathMax.cpp:42 > +ExceptionOr<Ref<CSSMathMax>> CSSMathMax::create(FixedVector<CSSNumberish> numberishes) I commented the same thing on an earlier patch but I would really prefer if we used FixedVector<CSSNumberish>&&, especially for copyable types. While the flexibility to copy or move may sound nice in theory. I fear that people won't be careful and do unnecessary copies. > Source/WebCore/css/typedom/numeric/CSSMathMax.cpp:47 > +ExceptionOr<Ref<CSSMathMax>> CSSMathMax::create(Vector<Ref<CSSNumericValue>> values) Vector<Ref<CSSNumericValue>>&& > Source/WebCore/css/typedom/numeric/CSSMathMax.cpp:59 > +CSSMathMax::CSSMathMax(Vector<Ref<CSSNumericValue>> values, CSSNumericType type) Vector<Ref<CSSNumericValue>>&& > Source/WebCore/css/typedom/numeric/CSSMathMax.cpp:91 > + for (size_t i = 1; i < valuesArray.size(); i++) { ++i > Source/WebCore/css/typedom/numeric/CSSMathMin.cpp:40 > +ExceptionOr<Ref<CSSMathMin>> CSSMathMin::create(FixedVector<CSSNumberish> numberishes) FixedVector<CSSNumberish>&& > Source/WebCore/css/typedom/numeric/CSSMathMin.cpp:45 > +ExceptionOr<Ref<CSSMathMin>> CSSMathMin::create(Vector<Ref<CSSNumericValue>> values) Vector<Ref<CSSNumericValue>>&& > Source/WebCore/css/typedom/numeric/CSSMathMin.cpp:57 > +CSSMathMin::CSSMathMin(Vector<Ref<CSSNumericValue>> values, CSSNumericType type) Vector<Ref<CSSNumericValue>>&& > Source/WebCore/css/typedom/numeric/CSSMathSum.cpp:88 > + auto convertToNumericType= [] (const UnitMap& units) -> std::optional<CSSNumericType> { missing space before = > Source/WebCore/css/typedom/numeric/CSSMathSum.cpp:123 > + for (size_t i = 1; i < values.size(); i++) { ++i
Alex Christensen
Comment 3 2022-06-03 11:47:11 PDT
EWS
Comment 4 2022-06-03 12:59:36 PDT
Committed r295219 (251276@main): <https://commits.webkit.org/251276@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 460018 [details].
Radar WebKit Bug Importer
Comment 5 2022-06-03 13:00:14 PDT
Note You need to log in before you can comment on or make changes to this bug.