| OLD | NEW | 
|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "chrome/browser/ui/libgtkui/native_theme_gtk3.h" | 5 #include "chrome/browser/ui/libgtkui/native_theme_gtk3.h" | 
| 6 | 6 | 
| 7 #include <gtk/gtk.h> | 7 #include <gtk/gtk.h> | 
| 8 | 8 | 
| 9 #include "chrome/browser/ui/libgtkui/chrome_gtk_frame.h" | 9 #include "chrome/browser/ui/libgtkui/chrome_gtk_frame.h" | 
| 10 #include "chrome/browser/ui/libgtkui/chrome_gtk_menu_subclasses.h" | 10 #include "chrome/browser/ui/libgtkui/chrome_gtk_menu_subclasses.h" | 
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 87   switch (color_id) { | 87   switch (color_id) { | 
| 88     // Windows | 88     // Windows | 
| 89     case ui::NativeTheme::kColorId_WindowBackground: | 89     case ui::NativeTheme::kColorId_WindowBackground: | 
| 90     // Dialogs | 90     // Dialogs | 
| 91     case ui::NativeTheme::kColorId_DialogBackground: | 91     case ui::NativeTheme::kColorId_DialogBackground: | 
| 92     case ui::NativeTheme::kColorId_BubbleBackground: | 92     case ui::NativeTheme::kColorId_BubbleBackground: | 
| 93       return GetBgColor(""); | 93       return GetBgColor(""); | 
| 94 | 94 | 
| 95     // FocusableBorder | 95     // FocusableBorder | 
| 96     case ui::NativeTheme::kColorId_FocusedBorderColor: | 96     case ui::NativeTheme::kColorId_FocusedBorderColor: | 
| 97       return GetBorderColor("GtkEntry#entry:focus"); | 97       // GetBorderColor("GtkEntry#entry:focus") is correct here.  The focus ring | 
|  | 98       // around widgets is usually a lighter version of the "canonical theme | 
|  | 99       // color" - orange on Ambiance, blue on Adwaita, etc.  However, Chrome | 
|  | 100       // lightens the color we give it, so it would look wrong if we give it an | 
|  | 101       // already-lightened color.  This workaround returns the theme color | 
|  | 102       // directly, taken from a selected table row.  This has matched the theme | 
|  | 103       // color on every theme that I've tested. | 
|  | 104       return GetBgColor( | 
|  | 105           "GtkTreeView#treeview.view " | 
|  | 106           "GtkTreeView#treeview.view.cell:selected:focus"); | 
| 98     case ui::NativeTheme::kColorId_UnfocusedBorderColor: | 107     case ui::NativeTheme::kColorId_UnfocusedBorderColor: | 
| 99       return GetBorderColor("GtkEntry#entry"); | 108       return GetBorderColor("GtkEntry#entry"); | 
| 100 | 109 | 
| 101     // Menu | 110     // Menu | 
| 102     case ui::NativeTheme::kColorId_MenuBackgroundColor: | 111     case ui::NativeTheme::kColorId_MenuBackgroundColor: | 
| 103       return GetBgColor("GtkMenu#menu"); | 112       return GetBgColor("GtkMenu#menu"); | 
| 104     case ui::NativeTheme::kColorId_MenuBorderColor: | 113     case ui::NativeTheme::kColorId_MenuBorderColor: | 
| 105       return GetBorderColor("GtkMenu#menu"); | 114       return GetBorderColor("GtkMenu#menu"); | 
| 106     case ui::NativeTheme::kColorId_FocusedMenuItemBackgroundColor: | 115     case ui::NativeTheme::kColorId_FocusedMenuItemBackgroundColor: | 
| 107       return GetBgColor("GtkMenu#menu GtkMenuItem#menuitem:hover"); | 116       return GetBgColor("GtkMenu#menu GtkMenuItem#menuitem:hover"); | 
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 176     // Button | 185     // Button | 
| 177     case ui::NativeTheme::kColorId_ButtonEnabledColor: | 186     case ui::NativeTheme::kColorId_ButtonEnabledColor: | 
| 178       return GetFgColor("GtkButton#button.text-button GtkLabel"); | 187       return GetFgColor("GtkButton#button.text-button GtkLabel"); | 
| 179     case ui::NativeTheme::kColorId_ButtonDisabledColor: | 188     case ui::NativeTheme::kColorId_ButtonDisabledColor: | 
| 180       return GetFgColor("GtkButton#button.text-button:disabled GtkLabel"); | 189       return GetFgColor("GtkButton#button.text-button:disabled GtkLabel"); | 
| 181     case ui::NativeTheme::kColorId_ButtonHoverColor: | 190     case ui::NativeTheme::kColorId_ButtonHoverColor: | 
| 182       return GetFgColor("GtkButton#button.text-button:hover GtkLabel"); | 191       return GetFgColor("GtkButton#button.text-button:hover GtkLabel"); | 
| 183     case ui::NativeTheme::kColorId_ButtonPressedShade: | 192     case ui::NativeTheme::kColorId_ButtonPressedShade: | 
| 184       return SK_ColorTRANSPARENT; | 193       return SK_ColorTRANSPARENT; | 
| 185 | 194 | 
|  | 195     // BlueButton | 
| 186     case ui::NativeTheme::kColorId_BlueButtonEnabledColor: | 196     case ui::NativeTheme::kColorId_BlueButtonEnabledColor: | 
| 187       return GetFgColor( | 197       return GetFgColor( | 
| 188           "GtkButton#button.text-button.suggested-action GtkLabel"); | 198           "GtkButton#button.text-button.default.suggested-action GtkLabel"); | 
| 189     case ui::NativeTheme::kColorId_BlueButtonDisabledColor: | 199     case ui::NativeTheme::kColorId_BlueButtonDisabledColor: | 
| 190       return GetFgColor( | 200       return GetFgColor( | 
| 191           "GtkButton#button.text-button.suggested-action:disabled " | 201           "GtkButton#button.text-button.default.suggested-action:disabled " | 
| 192           "GtkLabel"); | 202           "GtkLabel"); | 
| 193     case ui::NativeTheme::kColorId_BlueButtonHoverColor: | 203     case ui::NativeTheme::kColorId_BlueButtonHoverColor: | 
| 194       return GetFgColor( | 204       return GetFgColor( | 
| 195           "GtkButton#button.text-button.suggested-action:hover GtkLabel"); | 205           "GtkButton#button.text-button.default.suggested-action:hover " | 
|  | 206           "GtkLabel"); | 
| 196     case ui::NativeTheme::kColorId_BlueButtonPressedColor: | 207     case ui::NativeTheme::kColorId_BlueButtonPressedColor: | 
| 197       return GetFgColor( | 208       return GetFgColor( | 
| 198           "GtkButton#button.text-button.suggested-action:hover:active " | 209           "GtkButton#button.text-button.default.suggested-action:hover:active " | 
| 199           "GtkLabel"); | 210           "GtkLabel"); | 
| 200     case ui::NativeTheme::kColorId_BlueButtonShadowColor: | 211     case ui::NativeTheme::kColorId_BlueButtonShadowColor: | 
| 201       return SK_ColorTRANSPARENT; | 212       return SK_ColorTRANSPARENT; | 
| 202 | 213 | 
|  | 214     // ProminentButton | 
| 203     case ui::NativeTheme::kColorId_ProminentButtonColor: | 215     case ui::NativeTheme::kColorId_ProminentButtonColor: | 
| 204       return GetBgColor("GtkButton#button.text-button.destructive-action"); | 216       return GetBgColor( | 
|  | 217           "GtkTreeView#treeview.view " | 
|  | 218           "GtkTreeView#treeview.view.cell:selected:focus"); | 
| 205     case ui::NativeTheme::kColorId_TextOnProminentButtonColor: | 219     case ui::NativeTheme::kColorId_TextOnProminentButtonColor: | 
| 206       return GetFgColor( | 220       return GetFgColor( | 
| 207           "GtkButton#button.text-button.destructive-action GtkLabel"); | 221           "GtkTreeView#treeview.view " | 
|  | 222           "GtkTreeview#treeview.view.cell:selected:focus GtkLabel"); | 
| 208 | 223 | 
| 209     // Textfield | 224     // Textfield | 
| 210     case ui::NativeTheme::kColorId_TextfieldDefaultColor: | 225     case ui::NativeTheme::kColorId_TextfieldDefaultColor: | 
| 211       return GetFgColor("GtkEntry#entry"); | 226       return GetFgColor("GtkTextView#textview.view"); | 
| 212     case ui::NativeTheme::kColorId_TextfieldDefaultBackground: | 227     case ui::NativeTheme::kColorId_TextfieldDefaultBackground: | 
| 213       return GetBgColor("GtkEntry#entry"); | 228       return GetBgColor("GtkTextView#textview.view"); | 
| 214     case ui::NativeTheme::kColorId_TextfieldReadOnlyColor: | 229     case ui::NativeTheme::kColorId_TextfieldReadOnlyColor: | 
| 215       return GetFgColor("GtkEntry#entry:disabled"); | 230       return GetFgColor("GtkTextView#textview.view:disabled"); | 
| 216     case ui::NativeTheme::kColorId_TextfieldReadOnlyBackground: | 231     case ui::NativeTheme::kColorId_TextfieldReadOnlyBackground: | 
| 217       return GetBgColor("GtkEntry#entry:disabled"); | 232       return GetBgColor("GtkTextView#textview.view:disabled"); | 
| 218     case ui::NativeTheme::kColorId_TextfieldSelectionColor: | 233     case ui::NativeTheme::kColorId_TextfieldSelectionColor: | 
| 219       return GetSelectedTextColor("GtkEntry#entry"); | 234       return GetSelectedTextColor("GtkTextView#textview.view"); | 
| 220     case ui::NativeTheme::kColorId_TextfieldSelectionBackgroundFocused: | 235     case ui::NativeTheme::kColorId_TextfieldSelectionBackgroundFocused: | 
| 221       return GetSelectedBgColor("GtkEntry#entry"); | 236       return GetSelectedBgColor("GtkTextView#textview.view"); | 
| 222 | 237 | 
| 223     // Tooltips | 238     // Tooltips | 
| 224     case ui::NativeTheme::kColorId_TooltipBackground: | 239     case ui::NativeTheme::kColorId_TooltipBackground: | 
| 225       return GetBgColor("GtkTooltip#tooltip"); | 240       return GetBgColor("GtkTooltip#tooltip"); | 
| 226     case ui::NativeTheme::kColorId_TooltipText: | 241     case ui::NativeTheme::kColorId_TooltipText: | 
| 227       return color_utils::GetReadableColor(GetFgColor("GtkTooltip#tooltip"), | 242       return color_utils::GetReadableColor(GetFgColor("GtkTooltip#tooltip"), | 
| 228                                            GetBgColor("GtkTooltip#tooltip")); | 243                                            GetBgColor("GtkTooltip#tooltip")); | 
| 229 | 244 | 
| 230     // Trees and Tables (implemented on GTK using the same class) | 245     // Trees and Tables (implemented on GTK using the same class) | 
| 231     case ui::NativeTheme::kColorId_TableBackground: | 246     case ui::NativeTheme::kColorId_TableBackground: | 
| 232     case ui::NativeTheme::kColorId_TreeBackground: | 247     case ui::NativeTheme::kColorId_TreeBackground: | 
| 233       return GetBgColor("GtkTreeView#treeview.view .view.cell"); | 248       return GetBgColor( | 
|  | 249           "GtkTreeView#treeview.view GtkTreeView#treeview.view.cell"); | 
| 234     case ui::NativeTheme::kColorId_TableText: | 250     case ui::NativeTheme::kColorId_TableText: | 
| 235     case ui::NativeTheme::kColorId_TreeText: | 251     case ui::NativeTheme::kColorId_TreeText: | 
| 236     case ui::NativeTheme::kColorId_TableGroupingIndicatorColor: | 252     case ui::NativeTheme::kColorId_TableGroupingIndicatorColor: | 
| 237       return GetFgColor("GtkTreeView#treeview.view .view.cell GtkLabel"); | 253       return GetFgColor( | 
|  | 254           "GtkTreeView#treeview.view GtkTreeView#treeview.view.cell GtkLabel"); | 
| 238     case ui::NativeTheme::kColorId_TableSelectedText: | 255     case ui::NativeTheme::kColorId_TableSelectedText: | 
| 239     case ui::NativeTheme::kColorId_TableSelectedTextUnfocused: | 256     case ui::NativeTheme::kColorId_TableSelectedTextUnfocused: | 
| 240     case ui::NativeTheme::kColorId_TreeSelectedText: | 257     case ui::NativeTheme::kColorId_TreeSelectedText: | 
| 241     case ui::NativeTheme::kColorId_TreeSelectedTextUnfocused: | 258     case ui::NativeTheme::kColorId_TreeSelectedTextUnfocused: | 
| 242       return GetFgColor( | 259       return GetFgColor( | 
| 243           "GtkTreeView#treeview.view .view.cell:selected:focus GtkLabel"); | 260           "GtkTreeView#treeview.view " | 
|  | 261           "GtkTreeView#treeview.view.cell:selected:focus GtkLabel"); | 
| 244     case ui::NativeTheme::kColorId_TableSelectionBackgroundFocused: | 262     case ui::NativeTheme::kColorId_TableSelectionBackgroundFocused: | 
| 245     case ui::NativeTheme::kColorId_TableSelectionBackgroundUnfocused: | 263     case ui::NativeTheme::kColorId_TableSelectionBackgroundUnfocused: | 
| 246     case ui::NativeTheme::kColorId_TreeSelectionBackgroundFocused: | 264     case ui::NativeTheme::kColorId_TreeSelectionBackgroundFocused: | 
| 247     case ui::NativeTheme::kColorId_TreeSelectionBackgroundUnfocused: | 265     case ui::NativeTheme::kColorId_TreeSelectionBackgroundUnfocused: | 
| 248       return GetBgColor("GtkTreeView#treeview.view .view.cell:selected:focus"); | 266       return GetBgColor( | 
|  | 267           "GtkTreeView#treeview.view " | 
|  | 268           "GtkTreeView#treeview.view.cell:selected:focus"); | 
| 249 | 269 | 
| 250     // Table Header | 270     // Table Header | 
| 251     case ui::NativeTheme::kColorId_TableHeaderText: | 271     case ui::NativeTheme::kColorId_TableHeaderText: | 
| 252       return GetFgColor("GtkTreeView#treeview.view GtkButton#button GtkLabel"); | 272       return GetFgColor("GtkTreeView#treeview.view GtkButton#button GtkLabel"); | 
| 253     case ui::NativeTheme::kColorId_TableHeaderBackground: | 273     case ui::NativeTheme::kColorId_TableHeaderBackground: | 
| 254       return GetBgColor("GtkTreeView#treeview.view GtkButton#button"); | 274       return GetBgColor("GtkTreeView#treeview.view GtkButton#button"); | 
| 255     case ui::NativeTheme::kColorId_TableHeaderSeparator: | 275     case ui::NativeTheme::kColorId_TableHeaderSeparator: | 
| 256       return GetBorderColor("GtkTreeView#treeview.view GtkButton#button"); | 276       return GetBorderColor("GtkTreeView#treeview.view GtkButton#button"); | 
| 257 | 277 | 
| 258     // Results Table | 278     // Results Table | 
| 259     case ui::NativeTheme::kColorId_ResultsTableNormalBackground: | 279     case ui::NativeTheme::kColorId_ResultsTableNormalBackground: | 
| 260       return GetBgColor("GtkEntry#entry"); | 280       return SkColorFromColorId( | 
|  | 281           ui::NativeTheme::kColorId_TextfieldDefaultBackground); | 
| 261     case ui::NativeTheme::kColorId_ResultsTableHoveredBackground: | 282     case ui::NativeTheme::kColorId_ResultsTableHoveredBackground: | 
| 262       return color_utils::AlphaBlend(GetBgColor("GtkEntry#entry"), | 283       return color_utils::AlphaBlend( | 
| 263                                      GetSelectedBgColor("GtkEntry#entry"), | 284           SkColorFromColorId( | 
| 264                                      0x80); | 285               ui::NativeTheme::kColorId_TextfieldDefaultBackground), | 
|  | 286           SkColorFromColorId( | 
|  | 287               ui::NativeTheme::kColorId_TextfieldSelectionBackgroundFocused), | 
|  | 288           0x80); | 
| 265     case ui::NativeTheme::kColorId_ResultsTableSelectedBackground: | 289     case ui::NativeTheme::kColorId_ResultsTableSelectedBackground: | 
| 266       return GetSelectedBgColor("GtkEntry#entry"); | 290       return SkColorFromColorId( | 
|  | 291           ui::NativeTheme::kColorId_TextfieldSelectionBackgroundFocused); | 
| 267     case ui::NativeTheme::kColorId_ResultsTableNormalText: | 292     case ui::NativeTheme::kColorId_ResultsTableNormalText: | 
| 268     case ui::NativeTheme::kColorId_ResultsTableHoveredText: | 293     case ui::NativeTheme::kColorId_ResultsTableHoveredText: | 
| 269       return GetFgColor("GtkEntry#entry"); | 294       return SkColorFromColorId( | 
|  | 295           ui::NativeTheme::kColorId_TextfieldDefaultColor); | 
| 270     case ui::NativeTheme::kColorId_ResultsTableSelectedText: | 296     case ui::NativeTheme::kColorId_ResultsTableSelectedText: | 
| 271       return GetSelectedTextColor("GtkEntry#entry"); | 297       return SkColorFromColorId( | 
|  | 298           ui::NativeTheme::kColorId_TextfieldSelectionColor); | 
| 272     case ui::NativeTheme::kColorId_ResultsTableNormalDimmedText: | 299     case ui::NativeTheme::kColorId_ResultsTableNormalDimmedText: | 
| 273     case ui::NativeTheme::kColorId_ResultsTableHoveredDimmedText: | 300     case ui::NativeTheme::kColorId_ResultsTableHoveredDimmedText: | 
| 274       return color_utils::AlphaBlend(GetFgColor("GtkEntry#entry"), | 301       return color_utils::AlphaBlend( | 
| 275                                      GetBgColor("GtkEntry#entry"), 0x80); | 302           SkColorFromColorId(ui::NativeTheme::kColorId_TextfieldDefaultColor), | 
|  | 303           SkColorFromColorId( | 
|  | 304               ui::NativeTheme::kColorId_TextfieldDefaultBackground), | 
|  | 305           0x80); | 
| 276     case ui::NativeTheme::kColorId_ResultsTableSelectedDimmedText: | 306     case ui::NativeTheme::kColorId_ResultsTableSelectedDimmedText: | 
| 277       return color_utils::AlphaBlend(GetSelectedTextColor("GtkEntry#entry"), | 307       return color_utils::AlphaBlend( | 
| 278                                      GetBgColor("GtkEntry#entry"), 0x80); | 308           SkColorFromColorId(ui::NativeTheme::kColorId_TextfieldSelectionColor), | 
|  | 309           SkColorFromColorId( | 
|  | 310               ui::NativeTheme::kColorId_TextfieldDefaultBackground), | 
|  | 311           0x80); | 
| 279     case ui::NativeTheme::kColorId_ResultsTableNormalUrl: | 312     case ui::NativeTheme::kColorId_ResultsTableNormalUrl: | 
| 280     case ui::NativeTheme::kColorId_ResultsTableHoveredUrl: | 313     case ui::NativeTheme::kColorId_ResultsTableHoveredUrl: | 
| 281       return NormalURLColor(GetFgColor("GtkEntry#entry")); | 314       return NormalURLColor( | 
|  | 315           SkColorFromColorId(ui::NativeTheme::kColorId_TextfieldDefaultColor)); | 
| 282     case ui::NativeTheme::kColorId_ResultsTableSelectedUrl: | 316     case ui::NativeTheme::kColorId_ResultsTableSelectedUrl: | 
| 283       return SelectedURLColor(GetSelectedTextColor("GtkEntry#entry"), | 317       return SelectedURLColor( | 
| 284                               GetSelectedBgColor("GtkEntry#entry")); | 318           SkColorFromColorId(ui::NativeTheme::kColorId_TextfieldSelectionColor), | 
| 285 | 319           SkColorFromColorId( | 
|  | 320               ui::NativeTheme::kColorId_TextfieldSelectionBackgroundFocused)); | 
| 286     case ui::NativeTheme::kColorId_ResultsTablePositiveText: | 321     case ui::NativeTheme::kColorId_ResultsTablePositiveText: | 
| 287       return color_utils::GetReadableColor(kPositiveTextColor, | 322       return color_utils::GetReadableColor( | 
| 288                                            GetBgColor("GtkEntry#entry")); | 323           kPositiveTextColor, | 
|  | 324           SkColorFromColorId( | 
|  | 325               ui::NativeTheme::kColorId_TextfieldDefaultBackground)); | 
| 289     case ui::NativeTheme::kColorId_ResultsTablePositiveHoveredText: | 326     case ui::NativeTheme::kColorId_ResultsTablePositiveHoveredText: | 
| 290       return color_utils::GetReadableColor(kPositiveTextColor, | 327       return color_utils::GetReadableColor( | 
| 291                                            GetBgColor("GtkEntry#entry:hover")); | 328           kPositiveTextColor, | 
|  | 329           SkColorFromColorId( | 
|  | 330               ui::NativeTheme::kColorId_TextfieldDefaultBackground)); | 
| 292     case ui::NativeTheme::kColorId_ResultsTablePositiveSelectedText: | 331     case ui::NativeTheme::kColorId_ResultsTablePositiveSelectedText: | 
| 293       return color_utils::GetReadableColor( | 332       return color_utils::GetReadableColor( | 
| 294           kPositiveTextColor, GetBgColor("GtkEntry#entry:selected")); | 333           kPositiveTextColor, | 
|  | 334           SkColorFromColorId( | 
|  | 335               ui::NativeTheme::kColorId_TextfieldSelectionBackgroundFocused)); | 
| 295     case ui::NativeTheme::kColorId_ResultsTableNegativeText: | 336     case ui::NativeTheme::kColorId_ResultsTableNegativeText: | 
| 296       return color_utils::GetReadableColor(kNegativeTextColor, | 337       return color_utils::GetReadableColor( | 
| 297                                            GetBgColor("GtkEntry#entry")); | 338           kNegativeTextColor, | 
|  | 339           SkColorFromColorId( | 
|  | 340               ui::NativeTheme::kColorId_TextfieldDefaultBackground)); | 
| 298     case ui::NativeTheme::kColorId_ResultsTableNegativeHoveredText: | 341     case ui::NativeTheme::kColorId_ResultsTableNegativeHoveredText: | 
| 299       return color_utils::GetReadableColor(kNegativeTextColor, | 342       return color_utils::GetReadableColor( | 
| 300                                            GetBgColor("GtkEntry#entry:hover")); | 343           kNegativeTextColor, | 
|  | 344           SkColorFromColorId( | 
|  | 345               ui::NativeTheme::kColorId_TextfieldDefaultBackground)); | 
| 301     case ui::NativeTheme::kColorId_ResultsTableNegativeSelectedText: | 346     case ui::NativeTheme::kColorId_ResultsTableNegativeSelectedText: | 
| 302       return color_utils::GetReadableColor( | 347       return color_utils::GetReadableColor( | 
| 303           kNegativeTextColor, GetBgColor("GtkEntry#entry:selected")); | 348           kNegativeTextColor, | 
|  | 349           SkColorFromColorId( | 
|  | 350               ui::NativeTheme::kColorId_TextfieldSelectionBackgroundFocused)); | 
| 304 | 351 | 
| 305     // Throbber | 352     // Throbber | 
| 306     // TODO(thomasanderson): Render GtkSpinner directly. | 353     // TODO(thomasanderson): Render GtkSpinner directly. | 
| 307     case ui::NativeTheme::kColorId_ThrobberSpinningColor: | 354     case ui::NativeTheme::kColorId_ThrobberSpinningColor: | 
| 308     case ui::NativeTheme::kColorId_ThrobberWaitingColor: | 355     case ui::NativeTheme::kColorId_ThrobberWaitingColor: | 
| 309       return GetFgColor("GtkMenu#menu GtkSpinner#spinner"); | 356       return GetFgColor("GtkMenu#menu GtkSpinner#spinner"); | 
| 310     case ui::NativeTheme::kColorId_ThrobberLightColor: | 357     case ui::NativeTheme::kColorId_ThrobberLightColor: | 
| 311       return GetFgColor("GtkMenu#menu GtkSpinner#spinner:disabled"); | 358       return GetFgColor("GtkMenu#menu GtkSpinner#spinner:disabled"); | 
| 312 | 359 | 
| 313     // Alert icons | 360     // Alert icons | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
| 336   CR_DEFINE_STATIC_LOCAL(NativeThemeGtk3, s_native_theme, ()); | 383   CR_DEFINE_STATIC_LOCAL(NativeThemeGtk3, s_native_theme, ()); | 
| 337   return &s_native_theme; | 384   return &s_native_theme; | 
| 338 } | 385 } | 
| 339 | 386 | 
| 340 // Constructors automatically called | 387 // Constructors automatically called | 
| 341 NativeThemeGtk3::NativeThemeGtk3() { | 388 NativeThemeGtk3::NativeThemeGtk3() { | 
| 342   // These types are needed by g_type_from_name(), but may not be registered at | 389   // These types are needed by g_type_from_name(), but may not be registered at | 
| 343   // this point.  We need the g_type_class magic to make sure the compiler | 390   // this point.  We need the g_type_class magic to make sure the compiler | 
| 344   // doesn't optimize away this code. | 391   // doesn't optimize away this code. | 
| 345   g_type_class_unref(g_type_class_ref(gtk_button_get_type())); | 392   g_type_class_unref(g_type_class_ref(gtk_button_get_type())); | 
| 346   g_type_class_unref(g_type_class_ref(gtk_label_get_type())); |  | 
| 347   g_type_class_unref(g_type_class_ref(gtk_window_get_type())); |  | 
| 348   g_type_class_unref(g_type_class_ref(gtk_link_button_get_type())); |  | 
| 349   g_type_class_unref(g_type_class_ref(gtk_spinner_get_type())); |  | 
| 350   g_type_class_unref(g_type_class_ref(gtk_menu_get_type())); |  | 
| 351   g_type_class_unref(g_type_class_ref(gtk_menu_item_get_type())); |  | 
| 352   g_type_class_unref(g_type_class_ref(gtk_entry_get_type())); | 393   g_type_class_unref(g_type_class_ref(gtk_entry_get_type())); | 
| 353   g_type_class_unref(g_type_class_ref(gtk_info_bar_get_type())); | 394   g_type_class_unref(g_type_class_ref(gtk_info_bar_get_type())); | 
|  | 395   g_type_class_unref(g_type_class_ref(gtk_label_get_type())); | 
|  | 396   g_type_class_unref(g_type_class_ref(gtk_menu_get_type())); | 
|  | 397   g_type_class_unref(g_type_class_ref(gtk_menu_bar_get_type())); | 
|  | 398   g_type_class_unref(g_type_class_ref(gtk_menu_item_get_type())); | 
|  | 399   g_type_class_unref(g_type_class_ref(gtk_range_get_type())); | 
|  | 400   g_type_class_unref(g_type_class_ref(gtk_scrollbar_get_type())); | 
|  | 401   g_type_class_unref(g_type_class_ref(gtk_scrolled_window_get_type())); | 
|  | 402   g_type_class_unref(g_type_class_ref(gtk_separator_get_type())); | 
|  | 403   g_type_class_unref(g_type_class_ref(gtk_spinner_get_type())); | 
|  | 404   g_type_class_unref(g_type_class_ref(gtk_text_view_get_type())); | 
|  | 405   g_type_class_unref(g_type_class_ref(gtk_toolbar_get_type())); | 
| 354   g_type_class_unref(g_type_class_ref(gtk_tooltip_get_type())); | 406   g_type_class_unref(g_type_class_ref(gtk_tooltip_get_type())); | 
| 355   g_type_class_unref(g_type_class_ref(gtk_scrollbar_get_type())); | 407   g_type_class_unref(g_type_class_ref(gtk_tree_view_get_type())); | 
| 356   g_type_class_unref(g_type_class_ref(gtk_toolbar_get_type())); | 408   g_type_class_unref(g_type_class_ref(gtk_window_get_type())); | 
| 357   g_type_class_unref(g_type_class_ref(gtk_text_view_get_type())); |  | 
| 358   g_type_class_unref(g_type_class_ref(gtk_separator_get_type())); |  | 
| 359   g_type_class_unref(g_type_class_ref(gtk_menu_bar_get_type())); |  | 
| 360   g_type_class_unref(g_type_class_ref(gtk_scrolled_window_get_type())); |  | 
| 361   g_type_class_unref(g_type_class_ref(gtk_range_get_type())); |  | 
| 362 | 409 | 
| 363   g_signal_connect_after(gtk_settings_get_default(), "notify::gtk-theme-name", | 410   g_signal_connect_after(gtk_settings_get_default(), "notify::gtk-theme-name", | 
| 364                          G_CALLBACK(OnThemeChanged), this); | 411                          G_CALLBACK(OnThemeChanged), this); | 
| 365 } | 412 } | 
| 366 | 413 | 
| 367 // This doesn't actually get called | 414 // This doesn't actually get called | 
| 368 NativeThemeGtk3::~NativeThemeGtk3() {} | 415 NativeThemeGtk3::~NativeThemeGtk3() {} | 
| 369 | 416 | 
| 370 void NativeThemeGtk3::ResetColorCache() { | 417 void NativeThemeGtk3::ResetColorCache() { | 
| 371   for (auto& color : color_cache_) | 418   for (auto& color : color_cache_) | 
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 544 | 591 | 
| 545   if (frame_top_area.incognito) { | 592   if (frame_top_area.incognito) { | 
| 546     bitmap = SkBitmapOperations::CreateHSLShiftedBitmap( | 593     bitmap = SkBitmapOperations::CreateHSLShiftedBitmap( | 
| 547         bitmap, kDefaultTintFrameIncognito); | 594         bitmap, kDefaultTintFrameIncognito); | 
| 548   } | 595   } | 
| 549 | 596 | 
| 550   canvas->drawBitmap(bitmap, rect.x(), rect.y()); | 597   canvas->drawBitmap(bitmap, rect.x(), rect.y()); | 
| 551 } | 598 } | 
| 552 | 599 | 
| 553 }  // namespace libgtkui | 600 }  // namespace libgtkui | 
| OLD | NEW | 
|---|