| Index: chrome/browser/ui/libgtk2ui/native_theme_gtk2.cc | 
| diff --git a/chrome/browser/ui/libgtk2ui/native_theme_gtk2.cc b/chrome/browser/ui/libgtk2ui/native_theme_gtk2.cc | 
| index 3dec05e03c2df7ed5ca6e361999b24e5561e8570..678d1651984d6038b9108c71fe2ef3886478a553 100644 | 
| --- a/chrome/browser/ui/libgtk2ui/native_theme_gtk2.cc | 
| +++ b/chrome/browser/ui/libgtk2ui/native_theme_gtk2.cc | 
| @@ -93,6 +93,12 @@ GdkColor SelectedURLColor(GdkColor foreground, GdkColor background) { | 
| return libgtk2ui::SkColorToGdkColor(color_utils::HSLToSkColor(output, 255)); | 
| } | 
|  | 
| +GdkColor GetReadableColor(const GdkColor& color, const GdkColor& background) { | 
| +  return libgtk2ui::SkColorToGdkColor( | 
| +      color_utils::GetReadableColor(libgtk2ui::GdkColorToSkColor(color), | 
| +                                    libgtk2ui::GdkColorToSkColor(background))); | 
| +} | 
| + | 
| }  // namespace | 
|  | 
|  | 
| @@ -208,6 +214,8 @@ void NativeThemeGtk2::PaintMenuItemBackground( | 
| } | 
|  | 
| GdkColor NativeThemeGtk2::GetSystemGdkColor(ColorId color_id) const { | 
| +  const GdkColor kPositiveTextColor = GDK_COLOR_RGB(0x00, 0xff, 0x00); | 
| +  const GdkColor kNegativeTextColor = GDK_COLOR_RGB(0xff, 0x00, 0x00); | 
| switch (color_id) { | 
| // Windows | 
| case kColorId_WindowBackground: | 
| @@ -373,6 +381,30 @@ GdkColor NativeThemeGtk2::GetSystemGdkColor(ColorId color_id) const { | 
| return GdkAlphaBlend(win_style->text[GTK_STATE_SELECTED], | 
| win_style->bg[GTK_STATE_SELECTED], 0x34); | 
| } | 
| +    case kColorId_ResultsTablePositiveText: { | 
| +      return GetReadableColor(kPositiveTextColor, | 
| +                              GetEntryStyle()->base[GTK_STATE_NORMAL]); | 
| +    } | 
| +    case kColorId_ResultsTablePositiveHoveredText: { | 
| +      return GetReadableColor(kPositiveTextColor, | 
| +                              GetEntryStyle()->base[GTK_STATE_PRELIGHT]); | 
| +    } | 
| +    case kColorId_ResultsTablePositiveSelectedText: { | 
| +      return GetReadableColor(kPositiveTextColor, | 
| +                              GetEntryStyle()->base[GTK_STATE_SELECTED]); | 
| +    } | 
| +    case kColorId_ResultsTableNegativeText: { | 
| +      return GetReadableColor(kNegativeTextColor, | 
| +                              GetEntryStyle()->base[GTK_STATE_NORMAL]); | 
| +    } | 
| +    case kColorId_ResultsTableNegativeHoveredText: { | 
| +      return GetReadableColor(kNegativeTextColor, | 
| +                              GetEntryStyle()->base[GTK_STATE_PRELIGHT]); | 
| +    } | 
| +    case kColorId_ResultsTableNegativeSelectedText: { | 
| +      return GetReadableColor(kNegativeTextColor, | 
| +                              GetEntryStyle()->base[GTK_STATE_SELECTED]); | 
| +    } | 
| case kColorId_NumColors: | 
| NOTREACHED(); | 
| break; | 
|  |