Mac Followup

Things we've found along the way that we'll need to circle back to (See thomasvl@chromium.org if you need more info/details):

  1. third_party/WebKit/WebCore/platform/mac/ScrollbarThemeMac.mm directly hooks the preference notifications (NSDistributedNotificaitons) and loads preferences (NSUserDefaults) for scrollbars.  We'll probably need to make the browser process do this and message over to the renderers, so we'll have to figure out a logical match for core WebKit since this is a shared file.
  2. third_party/WebCore/platform/graphics/chromium/ColorChromium.cpp has the orange focus color, but mac currently is ifdefed to use the aqua blue so more layout tests pass w/o having to rebase (and continue to rebase w/ ever new test that needs the right color).  The real solution is to clean things up so the RenderTheme provides this color instead, and then allow the TestShell to override the color.  This would also let the browser catch the user's color changes and send them over to the renderers.  See http://groups.google.com/group/chromium-reviews/browse_thread/thread/b481ba053116b26a/df0167f758260932 for some discussion on it.
  3. Scrollbar aren't rendering right in layout test mode, the thumb seems to be slightly off in metrics, and there may be some problems w/ the color of blue we're getting (two sets of color correction happening (one offscreen, again when going onscreen?)). sample: LayoutTests/css1/basic/comments.html (note the thumb extend an amount below in addition to the tinting issues)
  4. Radio buttons aren't rendering (nothing seems to draw) in layout test mode, this could show up w/in renderers also. Note: they are fine in interactive mode.  sample: LayoutTests/css1/box_properties/acid_test.html
  5. Popup menus aren't rendering (only the text shows) in layout test mode, this could show up w/in renderers also.  Note: they are fine in interactive mode.  sample: LayoutTests/fast/forms/004.html
  6. Similar to item 1, if you search third_party/WebKit for NSUserDefaults you get a bunch of hits, we need to double check that we don't pick up any more, and if we do, upstream changes to let the browser message the info into the renderer.

Comments