| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007 Apple Inc. | 2 * Copyright (C) 2007 Apple Inc. |
| 3 * Copyright (C) 2007 Alp Toker <alp@atoker.com> | 3 * Copyright (C) 2007 Alp Toker <alp@atoker.com> |
| 4 * Copyright (C) 2008 Collabora Ltd. | 4 * Copyright (C) 2008 Collabora Ltd. |
| 5 * Copyright (C) 2008, 2009 Google Inc. | 5 * Copyright (C) 2008, 2009 Google Inc. |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 | 81 |
| 82 // We aim to match IE here. | 82 // We aim to match IE here. |
| 83 // -IE uses a font based on the encoding as the default font for form controls. | 83 // -IE uses a font based on the encoding as the default font for form controls. |
| 84 // -Gecko uses MS Shell Dlg (actually calls GetStockObject(DEFAULT_GUI_FONT), | 84 // -Gecko uses MS Shell Dlg (actually calls GetStockObject(DEFAULT_GUI_FONT), |
| 85 // which returns MS Shell Dlg) | 85 // which returns MS Shell Dlg) |
| 86 // -Safari uses Lucida Grande. | 86 // -Safari uses Lucida Grande. |
| 87 // | 87 // |
| 88 // FIXME: The only case where we know we don't match IE is for ANSI encodings. | 88 // FIXME: The only case where we know we don't match IE is for ANSI encodings. |
| 89 // IE uses MS Shell Dlg there, which we render incorrectly at certain pixel | 89 // IE uses MS Shell Dlg there, which we render incorrectly at certain pixel |
| 90 // sizes (e.g. 15px). So, for now we just use Arial. | 90 // sizes (e.g. 15px). So, for now we just use Arial. |
| 91 static const char* defaultGUIFont(Document* document) | 91 static const char* defaultGUIFont() |
| 92 { | 92 { |
| 93 return "Arial"; | 93 return "Arial"; |
| 94 } | 94 } |
| 95 | 95 |
| 96 RenderTheme* theme() | 96 RenderTheme* theme() |
| 97 { | 97 { |
| 98 static RenderThemeChromiumLinux theme; | 98 static RenderThemeChromiumLinux theme; |
| 99 return &theme; | 99 return &theme; |
| 100 } | 100 } |
| 101 | 101 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 { | 148 { |
| 149 // Disable the blinking caret in layout test mode, as it introduces | 149 // Disable the blinking caret in layout test mode, as it introduces |
| 150 // a race condition for the pixel tests. http://b/1198440 | 150 // a race condition for the pixel tests. http://b/1198440 |
| 151 if (ChromiumBridge::layoutTestMode()) | 151 if (ChromiumBridge::layoutTestMode()) |
| 152 return 0; | 152 return 0; |
| 153 | 153 |
| 154 // We cache the interval so we don't have to repeatedly request it from gtk. | 154 // We cache the interval so we don't have to repeatedly request it from gtk. |
| 155 return 0.5; | 155 return 0.5; |
| 156 } | 156 } |
| 157 | 157 |
| 158 void RenderThemeChromiumLinux::systemFont(int propId, Document* document, FontDe
scription& fontDescription) const | 158 void RenderThemeChromiumLinux::systemFont(int propId, FontDescription& fontDescr
iption) const |
| 159 { | 159 { |
| 160 float fontSize = DefaultFontSize; | 160 float fontSize = DefaultFontSize; |
| 161 | 161 |
| 162 switch (propId) { | 162 switch (propId) { |
| 163 case CSSValueWebkitMiniControl: | 163 case CSSValueWebkitMiniControl: |
| 164 case CSSValueWebkitSmallControl: | 164 case CSSValueWebkitSmallControl: |
| 165 case CSSValueWebkitControl: | 165 case CSSValueWebkitControl: |
| 166 // Why 2 points smaller? Because that's what Gecko does. Note that we | 166 // Why 2 points smaller? Because that's what Gecko does. Note that we |
| 167 // are assuming a 96dpi screen, which is the default that we use on | 167 // are assuming a 96dpi screen, which is the default that we use on |
| 168 // Windows. | 168 // Windows. |
| 169 static const float pointsPerInch = 72.0f; | 169 static const float pointsPerInch = 72.0f; |
| 170 static const float pixelsPerInch = 96.0f; | 170 static const float pixelsPerInch = 96.0f; |
| 171 fontSize -= (2.0f / pointsPerInch) * pixelsPerInch; | 171 fontSize -= (2.0f / pointsPerInch) * pixelsPerInch; |
| 172 break; | 172 break; |
| 173 } | 173 } |
| 174 | 174 |
| 175 fontDescription.firstFamily().setFamily(defaultGUIFont(NULL)); | 175 fontDescription.firstFamily().setFamily(defaultGUIFont()); |
| 176 fontDescription.setSpecifiedSize(fontSize); | 176 fontDescription.setSpecifiedSize(fontSize); |
| 177 fontDescription.setIsAbsoluteSize(true); | 177 fontDescription.setIsAbsoluteSize(true); |
| 178 fontDescription.setGenericFamily(FontDescription::NoFamily); | 178 fontDescription.setGenericFamily(FontDescription::NoFamily); |
| 179 fontDescription.setWeight(FontWeightNormal); | 179 fontDescription.setWeight(FontWeightNormal); |
| 180 fontDescription.setItalic(false); | 180 fontDescription.setItalic(false); |
| 181 } | 181 } |
| 182 | 182 |
| 183 int RenderThemeChromiumLinux::minimumMenuListSize(RenderStyle* style) const | 183 int RenderThemeChromiumLinux::minimumMenuListSize(RenderStyle* style) const |
| 184 { | 184 { |
| 185 return 0; | 185 return 0; |
| (...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 513 // If the MenuList actually has appearance "NoAppearance", then that means | 513 // If the MenuList actually has appearance "NoAppearance", then that means |
| 514 // we don't draw a button, so don't reserve space for it. | 514 // we don't draw a button, so don't reserve space for it. |
| 515 const int bar_type = style->direction() == LTR ? RightPadding : LeftPadding; | 515 const int bar_type = style->direction() == LTR ? RightPadding : LeftPadding; |
| 516 if (paddingType == bar_type && style->appearance() != NoControlPart) | 516 if (paddingType == bar_type && style->appearance() != NoControlPart) |
| 517 padding += ScrollbarTheme::nativeTheme()->scrollbarThickness(); | 517 padding += ScrollbarTheme::nativeTheme()->scrollbarThickness(); |
| 518 | 518 |
| 519 return padding; | 519 return padding; |
| 520 } | 520 } |
| 521 | 521 |
| 522 } // namespace WebCore | 522 } // namespace WebCore |
| OLD | NEW |