| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2008, 2009 Google, Inc. | 3 * Copyright (C) 2008, 2009 Google, Inc. |
| 4 * | 4 * |
| 5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
| 9 * | 9 * |
| 10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 #import "core/layout/LayoutThemeMac.h" | 22 #import "core/layout/LayoutThemeMac.h" |
| 23 | 23 |
| 24 #import "core/CSSValueKeywords.h" | 24 #import "core/CSSValueKeywords.h" |
| 25 #import "core/HTMLNames.h" | 25 #import "core/HTMLNames.h" |
| 26 #import "core/fileapi/FileList.h" | 26 #import "core/fileapi/FileList.h" |
| 27 #import "core/html/HTMLMeterElement.h" | 27 #import "core/html/HTMLMeterElement.h" |
| 28 #import "core/layout/LayoutMeter.h" | 28 #import "core/layout/LayoutMeter.h" |
| 29 #import "core/layout/LayoutProgress.h" | 29 #import "core/layout/LayoutProgress.h" |
| 30 #import "core/layout/LayoutView.h" | 30 #import "core/layout/LayoutView.h" |
| 31 #import "core/paint/MediaControlsPainter.h" | 31 #import "core/paint/MediaControlsPainter.h" |
| 32 #import "core/style/AuthorStyleInfo.h" | |
| 33 #import "core/style/ShadowList.h" | 32 #import "core/style/ShadowList.h" |
| 34 #import "platform/LayoutTestSupport.h" | 33 #import "platform/LayoutTestSupport.h" |
| 35 #import "platform/PlatformResourceLoader.h" | 34 #import "platform/PlatformResourceLoader.h" |
| 36 #import "platform/graphics/BitmapImage.h" | 35 #import "platform/graphics/BitmapImage.h" |
| 37 #import "platform/mac/ColorMac.h" | 36 #import "platform/mac/ColorMac.h" |
| 38 #import "platform/mac/LocalCurrentGraphicsContext.h" | 37 #import "platform/mac/LocalCurrentGraphicsContext.h" |
| 39 #import "platform/mac/ThemeMac.h" | 38 #import "platform/mac/ThemeMac.h" |
| 40 #import "platform/mac/VersionUtilMac.h" | 39 #import "platform/mac/VersionUtilMac.h" |
| 41 #import "platform/mac/WebCoreNSCellExtras.h" | 40 #import "platform/mac/WebCoreNSCellExtras.h" |
| 42 #import "platform/text/PlatformLocale.h" | 41 #import "platform/text/PlatformLocale.h" |
| (...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 439 } | 438 } |
| 440 | 439 |
| 441 if (needsFallback) | 440 if (needsFallback) |
| 442 color = LayoutTheme::systemColor(cssValueId); | 441 color = LayoutTheme::systemColor(cssValueId); |
| 443 | 442 |
| 444 m_systemColorCache.set(cssValueId, color.rgb()); | 443 m_systemColorCache.set(cssValueId, color.rgb()); |
| 445 | 444 |
| 446 return color; | 445 return color; |
| 447 } | 446 } |
| 448 | 447 |
| 449 bool LayoutThemeMac::isControlStyled(const ComputedStyle& style, const AuthorSty
leInfo& authorStyle) const | 448 bool LayoutThemeMac::isControlStyled(const ComputedStyle& style) const |
| 450 { | 449 { |
| 451 if (style.appearance() == TextFieldPart || style.appearance() == TextAreaPar
t) | 450 if (style.appearance() == TextFieldPart || style.appearance() == TextAreaPar
t) |
| 452 return authorStyle.specifiesBorder() || style.boxShadow(); | 451 return style.hasAuthorBorder() || style.boxShadow(); |
| 453 | 452 |
| 454 // FIXME: This is horrible, but there is not much else that can be done. | 453 // FIXME: This is horrible, but there is not much else that can be done. |
| 455 // Menu lists cannot draw properly when scaled. They can't really draw | 454 // Menu lists cannot draw properly when scaled. They can't really draw |
| 456 // properly when transformed either. We can't detect the transform case at | 455 // properly when transformed either. We can't detect the transform case at |
| 457 // style adjustment time so that will just have to stay broken. We can | 456 // style adjustment time so that will just have to stay broken. We can |
| 458 // however detect that we're zooming. If zooming is in effect we treat it | 457 // however detect that we're zooming. If zooming is in effect we treat it |
| 459 // like the control is styled. | 458 // like the control is styled. |
| 460 if (style.appearance() == MenulistPart && style.effectiveZoom() != 1.0f) | 459 if (style.appearance() == MenulistPart && style.effectiveZoom() != 1.0f) |
| 461 return true; | 460 return true; |
| 462 // FIXME: NSSearchFieldCell doesn't work well when scaled. | 461 // FIXME: NSSearchFieldCell doesn't work well when scaled. |
| 463 if (style.appearance() == SearchFieldPart && style.effectiveZoom() != 1) | 462 if (style.appearance() == SearchFieldPart && style.effectiveZoom() != 1) |
| 464 return true; | 463 return true; |
| 465 | 464 |
| 466 return LayoutTheme::isControlStyled(style, authorStyle); | 465 return LayoutTheme::isControlStyled(style); |
| 467 } | 466 } |
| 468 | 467 |
| 469 void LayoutThemeMac::addVisualOverflow(const LayoutObject& object, IntRect& rect
) | 468 void LayoutThemeMac::addVisualOverflow(const LayoutObject& object, IntRect& rect
) |
| 470 { | 469 { |
| 471 ControlPart part = object.style()->appearance(); | 470 ControlPart part = object.style()->appearance(); |
| 472 | 471 |
| 473 #if USE(NEW_THEME) | 472 #if USE(NEW_THEME) |
| 474 switch (part) { | 473 switch (part) { |
| 475 case CheckboxPart: | 474 case CheckboxPart: |
| 476 case RadioPart: | 475 case RadioPart: |
| (...skipping 689 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1166 | 1165 |
| 1167 bool LayoutThemeMac::shouldUseFallbackTheme(const ComputedStyle& style) const | 1166 bool LayoutThemeMac::shouldUseFallbackTheme(const ComputedStyle& style) const |
| 1168 { | 1167 { |
| 1169 ControlPart part = style.appearance(); | 1168 ControlPart part = style.appearance(); |
| 1170 if (part == CheckboxPart || part == RadioPart) | 1169 if (part == CheckboxPart || part == RadioPart) |
| 1171 return style.effectiveZoom() != 1; | 1170 return style.effectiveZoom() != 1; |
| 1172 return false; | 1171 return false; |
| 1173 } | 1172 } |
| 1174 | 1173 |
| 1175 } // namespace blink | 1174 } // namespace blink |
| OLD | NEW |