OLD | NEW |
---|---|
1 /** | 1 /** |
2 * This file is part of the theme implementation for form controls in WebCore. | 2 * This file is part of the theme implementation for form controls in WebCore. |
3 * | 3 * |
4 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Computer, Inc. | 4 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Computer, Inc. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 922 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
933 | 933 |
934 void RenderTheme::adjustSearchFieldResultsDecorationStyle(RenderStyle*, Element* ) const | 934 void RenderTheme::adjustSearchFieldResultsDecorationStyle(RenderStyle*, Element* ) const |
935 { | 935 { |
936 } | 936 } |
937 | 937 |
938 void RenderTheme::platformColorsDidChange() | 938 void RenderTheme::platformColorsDidChange() |
939 { | 939 { |
940 Page::scheduleForcedStyleRecalcForAllPages(); | 940 Page::scheduleForcedStyleRecalcForAllPages(); |
941 } | 941 } |
942 | 942 |
943 static FontDescription& getCachedFontDescription(CSSValueID systemFontID) | |
944 { | |
945 DEFINE_STATIC_LOCAL(FontDescription, caption, ()); | |
946 DEFINE_STATIC_LOCAL(FontDescription, icon, ()); | |
947 DEFINE_STATIC_LOCAL(FontDescription, menu, ()); | |
948 DEFINE_STATIC_LOCAL(FontDescription, messageBox, ()); | |
949 DEFINE_STATIC_LOCAL(FontDescription, smallCaption, ()); | |
950 DEFINE_STATIC_LOCAL(FontDescription, statusBar, ()); | |
951 DEFINE_STATIC_LOCAL(FontDescription, webkitMiniControl, ()); | |
952 DEFINE_STATIC_LOCAL(FontDescription, webkitSmallControl, ()); | |
953 DEFINE_STATIC_LOCAL(FontDescription, webkitControl, ()); | |
954 DEFINE_STATIC_LOCAL(FontDescription, defaultDescription, ()); | |
955 switch (systemFontID) { | |
956 case CSSValueCaption: | |
957 return caption; | |
958 case CSSValueIcon: | |
959 return icon; | |
960 case CSSValueMenu: | |
961 return menu; | |
962 case CSSValueMessageBox: | |
963 return messageBox; | |
964 case CSSValueSmallCaption: | |
965 return smallCaption; | |
966 case CSSValueStatusBar: | |
967 return statusBar; | |
968 case CSSValueWebkitMiniControl: | |
969 return webkitMiniControl; | |
970 case CSSValueWebkitSmallControl: | |
971 return webkitSmallControl; | |
972 case CSSValueWebkitControl: | |
973 return webkitControl; | |
974 case CSSValueNone: | |
alancutter (OOO until 2018)
2014/10/26 23:40:19
When would this case be reached?
Timothy Loh
2014/10/27 05:45:46
I think only in DragContoller.cpp/dragImageForLink
andersr
2014/10/27 10:58:30
Yes, that's the only place. By letting CSSValueNon
| |
975 return defaultDescription; | |
976 default: | |
977 ASSERT_NOT_REACHED(); | |
978 return defaultDescription; | |
979 } | |
980 } | |
981 | |
982 void RenderTheme::systemFont(CSSValueID systemFontID, FontDescription& fontDescr iption) | |
983 { | |
984 fontDescription = getCachedFontDescription(systemFontID); | |
985 if (fontDescription.isAbsoluteSize()) | |
986 return; | |
987 | |
988 FontStyle fontStyle = FontStyleNormal; | |
989 FontWeight fontWeight = FontWeightNormal; | |
990 float fontSize = 0; | |
991 AtomicString fontFamily; | |
992 systemFont(systemFontID, fontStyle, fontWeight, fontSize, fontFamily); | |
993 fontDescription.setStyle(fontStyle); | |
994 fontDescription.setWeight(fontWeight); | |
995 fontDescription.setSpecifiedSize(fontSize); | |
996 fontDescription.setIsAbsoluteSize(true); | |
997 fontDescription.firstFamily().setFamily(fontFamily); | |
998 fontDescription.setGenericFamily(FontDescription::NoFamily); | |
999 } | |
1000 | |
943 Color RenderTheme::systemColor(CSSValueID cssValueId) const | 1001 Color RenderTheme::systemColor(CSSValueID cssValueId) const |
944 { | 1002 { |
945 switch (cssValueId) { | 1003 switch (cssValueId) { |
946 case CSSValueActiveborder: | 1004 case CSSValueActiveborder: |
947 return 0xFFFFFFFF; | 1005 return 0xFFFFFFFF; |
948 case CSSValueActivecaption: | 1006 case CSSValueActivecaption: |
949 return 0xFFCCCCCC; | 1007 return 0xFFCCCCCC; |
950 case CSSValueAppworkspace: | 1008 case CSSValueAppworkspace: |
951 return 0xFFFFFFFF; | 1009 return 0xFFFFFFFF; |
952 case CSSValueBackground: | 1010 case CSSValueBackground: |
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1199 | 1257 |
1200 // padding - not honored by WinIE, needs to be removed. | 1258 // padding - not honored by WinIE, needs to be removed. |
1201 style->resetPadding(); | 1259 style->resetPadding(); |
1202 | 1260 |
1203 // border - honored by WinIE, but looks terrible (just paints in the control box and turns off the Windows XP theme) | 1261 // border - honored by WinIE, but looks terrible (just paints in the control box and turns off the Windows XP theme) |
1204 // for now, we will not honor it. | 1262 // for now, we will not honor it. |
1205 style->resetBorder(); | 1263 style->resetBorder(); |
1206 } | 1264 } |
1207 | 1265 |
1208 } // namespace blink | 1266 } // namespace blink |
OLD | NEW |