Starting point was:
As you can see the controls look like an old Gtk+ application without any theming. Jon suggested that we could began with mimicing Chromium controls as they look closer to any modern themed GNOME application and adapt them to use the GNOME symbolic icons and keep some other stuff like the volume bar, but of course making it look nicer.
What was done:
- Adding the GNOME symbolic icon theme and a method to replace the normal stock icons, though we keep them as fallback.
- Deep adaptation of Chromium CSS and C++ code to make it suit the GNOME requirements.
- Some buttons fell off the design, like seeking backwards and forward.
- Aligned the elements with the pixel ruler to make them as close to perfect as possible in all conditions (as some buttons are hidden in certain situations, like fullscreen, volume…).
- Fixed a bug about the buffering ranges that was in trunk at that point, but was independent of the code I was cooking.
- Removed as much of the C++ code as possible to deviate the drawing to CSS, which is more maintainable for design purposes. The only things that are still painted with C++ code are the slider tracks, which depend on parameters than cannot be specified in CSS, like the buffering ranges and the volume (which was not before, but I introduced for design coherence).
- Removed the focus ring which was making the controls uglier.
- Removed the dead code.
- New baselines for the tests, including the pixel ones. Flagged also some tests that are (and will) not working in Chromium either.
I had a small issue with a Chromium guy landing a patch that forced me to change the
display of some components from
-webkit-flex and of course, rebasing all related tests. This created a small delay in landing the patch, but it finally did as 143463.
I don’t know about you guys, but I like it!