Created attachment 329091[details]
Archive of layout-test-results from ews103 for mac-elcapitan
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews103 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Created attachment 329092[details]
Archive of layout-test-results from ews107 for mac-elcapitan-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews107 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Created attachment 329093[details]
Archive of layout-test-results from ews114 for mac-elcapitan
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews114 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Created attachment 329623[details]
Archive of layout-test-results from ews105 for mac-elcapitan-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews105 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Created attachment 329624[details]
Archive of layout-test-results from ews121 for ios-simulator-wk2
The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews121 Port: ios-simulator-wk2 Platform: Mac OS X 10.12.6
Created attachment 329634[details]
Archive of layout-test-results from ews122 for ios-simulator-wk2
The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews122 Port: ios-simulator-wk2 Platform: Mac OS X 10.12.6
Created attachment 329638[details]
Archive of layout-test-results from ews102 for mac-elcapitan
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews102 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Created attachment 329639[details]
Archive of layout-test-results from ews106 for mac-elcapitan-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Created attachment 329640[details]
Archive of layout-test-results from ews124 for ios-simulator-wk2
The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews124 Port: ios-simulator-wk2 Platform: Mac OS X 10.12.6
Created attachment 329641[details]
Archive of layout-test-results from ews117 for mac-elcapitan
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews117 Port: mac-elcapitan Platform: Mac OS X 10.11.6
I think the patch is ready for review now; but I could land it in much smaller pieces if reviewers think I should. Would probably make the process take weeks, but that’s OK with me.
Dean, Simon, anyone, would love to get your feedback on this patch eventually; finally got it all working three weeks ago. Some combination of:
1) Review and encouragement to finish and land.
2) Comments about what seems wrong or better ideas you may have, so I can continue to refine this or decide to abandon it.
3) Specific suggestion about the need to break it into smaller pieces.
I am open to any of that.
OK, started by excerpting all the things Simon called out above (except the CSS parser part, bigger job to do that) and other independent tweaks into a new patch/bug.
This patch has lots of different ideas about improving Color. Some of them are things done already recently by Sam and others. Some of them are things where we did something better. But other things here are still good ideas.
(In reply to Darin Adler from comment #45)
> This patch has lots of different ideas about improving Color. Some of them
> are things done already recently by Sam and others. Some of them are things
> where we did something better. But other things here are still good ideas.
Oh man, so much overlap! I did a pass of it and here are some things I think we should still do from it (I am probably missing some, but I wanted to write them down so I wouldn't forget):
- Rename makeSimpleColor to makeSimpleColorFromRGBABytes (for 0-255 based input)
- Rename makeSimpleColorFromFloats to makeSimpleColorFromRGBA (for 0.0f-1.0f based input)
- Add non-clamping version of makeSimpleColorFromRGBABytes that takes uint8_ts
- Move roundAndClampColorChannel to SVGAnimatedColor.cpp
- Remove uses of code that requires NSDeviceRGBColorSpace, replacing with colorFromNSColor() in most cases
- Lots of the API tests can be added as is (or slightly modified for different names
- Use same overall structure for nsColor()/CSSValuePool::createColorValue() as leakCGColor() (e.g. switch + TinyLRUCache)
- Split makePremultipliedSimpleColor into makePremultipliedFlooringSimpleColor/makePremultipliedCeilingSimpleColor
Additional things I think we should do that weren't in the patch directly:
- Time to replace uses of nextafter(256, 0) base conversion to int (chop and truncates) with 255 based conversion (clamp and round).
- Move color modifying functions (e.g. blend, invert, lighten, etc.) outside of the Color class itself and into ColorUtilities.
- Requiring passing the "working space" colorspace to blending / gradient / animation code
- Remove makeSimpleColorFromHSLA and makeSimpleColorFromCMYKA, move / use conversion code in ColorUtilities
- Consolidate/rationalize all the vaiious methods of determing relative differences (e.g. isDark(), lightness(), differenceSquared())
- Need to add encoding/decoding of semantic bit to Color coder
- Should delegate to ExtendedColor/SimpleColor for coding
- Rename colorWithAlpha to colorWithOverriddenAlpha
2017-12-08 22:24 PST, Darin Adler
2017-12-11 00:58 PST, Darin Adler
2017-12-11 01:00 PST, Darin Adler
2017-12-11 20:39 PST, Darin Adler
2017-12-11 21:37 PST, Darin Adler
2017-12-11 22:23 PST, EWS Watchlist
2017-12-11 22:28 PST, EWS Watchlist
2017-12-11 22:31 PST, EWS Watchlist
2017-12-17 10:05 PST, Darin Adler
2017-12-17 10:28 PST, Darin Adler
2017-12-17 10:41 PST, Darin Adler
2017-12-17 11:08 PST, Darin Adler
2017-12-17 11:40 PST, Darin Adler
2017-12-17 12:44 PST, Darin Adler
2017-12-17 13:18 PST, Darin Adler
2017-12-17 14:36 PST, EWS Watchlist
2017-12-17 14:52 PST, EWS Watchlist
2017-12-17 19:36 PST, Darin Adler
2017-12-17 21:07 PST, EWS Watchlist
2017-12-17 21:12 PST, Darin Adler
2017-12-17 22:17 PST, EWS Watchlist
2017-12-17 22:29 PST, EWS Watchlist
2017-12-17 22:44 PST, EWS Watchlist
2017-12-17 22:47 PST, EWS Watchlist
2018-01-10 22:40 PST, Darin Adler
2018-01-10 23:30 PST, Darin Adler
2018-01-11 08:54 PST, Darin Adler
2018-01-11 19:52 PST, Darin Adler
2018-01-11 20:39 PST, Darin Adler