Changeset 45285 in webkit
- Timestamp:
- Jun 26, 2009 2:53:19 PM (15 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 1 added
- 3 deleted
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r45284 r45285 1 2009-06-26 Jeremy Moskovich <jeremy@chromium.org> 2 3 Reviewed by Eric Seidel. 4 5 https://bugs.webkit.org/show_bug.cgi?id=26691 6 7 Cleanup: Move focusRingColor to RenderTheme. 8 9 Most of this CL involves deleting files and removing dead code. 10 11 focusRingColor() is now defined in RenderTheme rather than in 12 misc. places on each port. The default color is specified as 13 black in renderTheme and ports can override it in their own 14 custom renderThemes. 15 16 Behavior should be identical except for the following cases, 17 this lists platform and what the focus ring color used to be 18 before this cl and the file where it used to be defined: 19 20 Android - red 21 WebCore/platform/android/TemporaryLinkStubs.cpp 22 23 Cairo - aqua focus ring color - 0xFF7DADD9 24 WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp 25 26 wx - red 27 WebCore/platform/wx/TemporaryLinkStubs.cpp 28 29 QT - black 30 WebCore/platform/graphics/qt/GraphicsContextQt.cpp 31 32 Manual test: manual-tests/focusringcolor-change-on-theme-change.html 33 34 * css/CSSStyleSelector.cpp: 35 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): 36 * manual-tests/focusringcolor-change-on-theme-change.html: Added. 37 * platform/android/TemporaryLinkStubs.cpp: 38 * platform/graphics/cairo/GraphicsContextCairo.cpp: 39 * platform/graphics/chromium/ColorChromium.cpp: Removed. 40 * platform/graphics/chromium/ColorChromiumMac.mm: Removed. 41 * platform/graphics/mac/ColorMac.h: 42 * platform/graphics/mac/ColorMac.mm: 43 (WebCore::oldAquaFocusRingColor): 44 (WebCore::setUsesTestModeFocusRingColor): 45 (WebCore::usesTestModeFocusRingColor): 46 * platform/graphics/qt/GraphicsContextQt.cpp: 47 * platform/graphics/skia/GraphicsContextSkia.cpp: 48 (WebCore::GraphicsContext::drawFocusRing): 49 * platform/graphics/win/ColorSafari.cpp: Removed. 50 * platform/wx/TemporaryLinkStubs.cpp: 51 * rendering/RenderTheme.cpp: 52 (WebCore::RenderTheme::focusRingColor): 53 * rendering/RenderTheme.h: 54 * rendering/RenderThemeChromiumMac.h: 55 * rendering/RenderThemeChromiumMac.mm: 56 (WebCore::RenderThemeChromiumMac::focusRingColor): 57 (WebCore::RenderThemeChromiumMac::systemColor): 58 * rendering/RenderThemeChromiumSkia.cpp: 59 (WebCore::RenderThemeChromiumSkia::focusRingColor): 60 * rendering/RenderThemeChromiumSkia.h: 61 * rendering/RenderThemeMac.h: 62 * rendering/RenderThemeMac.mm: 63 (WebCore::RenderThemeMac::focusRingColor): 64 (WebCore::RenderThemeMac::systemColor): 65 * rendering/RenderThemeSafari.cpp: 66 (WebCore::makeRGBAFromCGColor): 67 (WebCore::RenderThemeSafari::focusRingColor): 68 * rendering/RenderThemeSafari.h: 69 1 70 2009-06-26 Dmitry Titov <dimich@chromium.org> 2 71 -
trunk/WebCore/css/CSSStyleSelector.cpp
r44778 r45285 5719 5719 col = m_element->document()->activeLinkColor(); 5720 5720 else if (ident == CSSValueWebkitFocusRingColor) 5721 col = focusRingColor();5721 col = RenderTheme::defaultTheme()->focusRingColor(); 5722 5722 else if (ident == CSSValueCurrentcolor) 5723 5723 col = m_style->color(); -
trunk/WebCore/platform/android/TemporaryLinkStubs.cpp
r44587 r45285 163 163 void Icon::paint(GraphicsContext*, const IntRect&) { } 164 164 165 // This function provides the default value for the CSS property:166 // -webkit-focus-ring-color167 // It is also related to the CSS property outline-color:168 Color focusRingColor()169 {170 verifiedOk();171 return 0xFF0000FF;172 }173 174 165 } // namespace WebCore 175 166 -
trunk/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
r44539 r45285 62 62 63 63 namespace WebCore { 64 65 static const unsigned aquaFocusRingColor = 0xFF7DADD9;66 67 Color focusRingColor()68 {69 static Color focusRingColor = aquaFocusRingColor;70 71 return focusRingColor;72 }73 64 74 65 static inline void setColor(cairo_t* cr, const Color& col) -
trunk/WebCore/platform/graphics/mac/ColorMac.h
r44108 r45285 47 47 void setUsesTestModeFocusRingColor(bool); 48 48 49 // Focus ring color used for testing purposes. 50 RGBA32 oldAquaFocusRingColor(); 51 49 52 } 50 53 -
trunk/WebCore/platform/graphics/mac/ColorMac.mm
r44108 r45285 30 30 #import <wtf/StdLibExtras.h> 31 31 32 @interface WebCoreControlTintObserver : NSObject33 + (void)controlTintDidChange;34 @end35 36 32 namespace WebCore { 37 33 38 34 // NSColor calls don't throw, so no need to block Cocoa exceptions in this file 39 35 40 static RGBA32 oldAquaFocusRingColor = 0xFF7DADD9;41 static RGBA32 systemFocusRingColor;42 36 static bool useOldAquaFocusRingColor; 43 37 38 RGBA32 oldAquaFocusRingColor() 39 { 40 return 0xFF7DADD9; 41 } 42 43 void setUsesTestModeFocusRingColor(bool newValue) 44 { 45 useOldAquaFocusRingColor = newValue; 46 } 47 48 bool usesTestModeFocusRingColor() 49 { 50 return useOldAquaFocusRingColor; 51 } 44 52 45 53 static RGBA32 makeRGBAFromNSColor(NSColor *c) … … 120 128 } 121 129 122 Color focusRingColor() 123 { 124 static bool tintIsKnown = false; 125 if (!tintIsKnown) { 126 [[NSNotificationCenter defaultCenter] addObserver:[WebCoreControlTintObserver class] 127 selector:@selector(controlTintDidChange) 128 name:NSControlTintDidChangeNotification 129 object:NSApp]; 130 [WebCoreControlTintObserver controlTintDidChange]; 131 tintIsKnown = true; 132 } 133 134 if (usesTestModeFocusRingColor()) 135 return oldAquaFocusRingColor; 136 137 return systemFocusRingColor; 138 } 139 140 bool usesTestModeFocusRingColor() 141 { 142 return useOldAquaFocusRingColor; 143 } 144 145 void setUsesTestModeFocusRingColor(bool newValue) 146 { 147 useOldAquaFocusRingColor = newValue; 148 } 149 150 } 151 152 @implementation WebCoreControlTintObserver 153 154 + (void)controlTintDidChange 155 { 156 NSColor *color = [[NSColor keyboardFocusIndicatorColor] colorUsingColorSpaceName:NSDeviceRGBColorSpace]; 157 WebCore::systemFocusRingColor = WebCore::makeRGBAFromNSColor(color); 158 } 159 160 @end 130 } // namespace WebCore -
trunk/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
r44765 r45285 764 764 * need it. 765 765 */ 766 Color focusRingColor() { return Color(0, 0, 0); }767 766 void GraphicsContext::drawFocusRing(const Color& color) 768 767 { -
trunk/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp
r45103 r45285 504 504 paint.setStyle(SkPaint::kStroke_Style); 505 505 506 paint.setColor( focusRingColor().rgb());506 paint.setColor(color.rgb()); 507 507 paint.setStrokeWidth(focusRingOutset * 2); 508 508 paint.setPathEffect(new SkCornerPathEffect(focusRingOutset * 2))->unref(); -
trunk/WebCore/platform/wx/TemporaryLinkStubs.cpp
r44056 r45285 119 119 void GraphicsContext::setAlpha(float) { notImplemented(); } 120 120 121 Color WebCore::focusRingColor() { return 0xFF0000FF; }122 123 121 void Image::drawPattern(GraphicsContext*, const FloatRect& srcRect, const TransformationMatrix& patternTransform, const FloatPoint& phase, CompositeOperator, const FloatRect& destRect) { notImplemented(); } 124 122 -
trunk/WebCore/rendering/RenderTheme.cpp
r44758 r45285 850 850 } 851 851 852 Color RenderTheme::focusRingColor() const 853 { 854 return Color(0, 0, 0); // Black. 855 } 856 852 857 } // namespace WebCore -
trunk/WebCore/rendering/RenderTheme.h
r44758 r45285 137 137 virtual Color platformActiveTextSearchHighlightColor() const; 138 138 virtual Color platformInactiveTextSearchHighlightColor() const; 139 140 virtual Color focusRingColor() const; 139 141 140 142 virtual void platformColorsDidChange(); -
trunk/WebCore/rendering/RenderThemeChromiumMac.h
r44758 r45285 64 64 virtual Color platformInactiveSelectionBackgroundColor() const; 65 65 virtual Color activeListBoxSelectionBackgroundColor() const; 66 67 virtual Color focusRingColor() const; 66 68 67 69 virtual void platformColorsDidChange(); -
trunk/WebCore/rendering/RenderThemeChromiumMac.mm
r44758 r45285 33 33 34 34 #import "BitmapImage.h" 35 #import "ChromiumBridge.h" 36 #import "ColorMac.h" 35 37 #import "CSSStyleSelector.h" 36 38 #import "CSSValueKeywords.h" … … 171 173 } 172 174 175 Color RenderThemeChromiumMac::focusRingColor() const 176 { 177 if (ChromiumBridge::layoutTestMode()) 178 return oldAquaFocusRingColor(); 179 180 return systemColor(CSSValueWebkitFocusRingColor); 181 } 182 173 183 static FontWeight toFontWeight(NSInteger appKitFontWeight) 174 184 { … … 423 433 color = convertNSColorToColor([NSColor controlLightHighlightColor]); 424 434 break; 435 case CSSValueWebkitFocusRingColor: 436 color = convertNSColorToColor([NSColor keyboardFocusIndicatorColor]); 437 break; 425 438 case CSSValueWindow: 426 439 color = convertNSColorToColor([NSColor windowBackgroundColor]); -
trunk/WebCore/rendering/RenderThemeChromiumSkia.cpp
r45215 r45285 163 163 } 164 164 165 Color RenderThemeChromiumSkia::focusRingColor() const 166 { 167 static Color focusRingColor(229, 151, 0, 255); 168 return focusRingColor; 169 } 170 165 171 double RenderThemeChromiumSkia::caretBlinkInterval() const 166 172 { -
trunk/WebCore/rendering/RenderThemeChromiumSkia.h
r45215 r45285 55 55 virtual Color platformActiveSelectionForegroundColor() const; 56 56 virtual Color platformInactiveSelectionForegroundColor() const; 57 virtual Color focusRingColor() const; 57 58 58 59 // To change the blink interval, override caretBlinkIntervalInternal instead of this one so that we may share layout test code an intercepts. -
trunk/WebCore/rendering/RenderThemeMac.h
r44758 r45285 59 59 virtual Color platformInactiveListBoxSelectionBackgroundColor() const; 60 60 virtual Color platformInactiveListBoxSelectionForegroundColor() const; 61 virtual Color focusRingColor() const; 61 62 62 63 virtual ScrollbarControlSize scrollbarControlSizeForPart(ControlPart) { return SmallScrollbar; } -
trunk/WebCore/rendering/RenderThemeMac.mm
r44762 r45285 22 22 23 23 #import "BitmapImage.h" 24 #import "ColorMac.h" 24 25 #import "CSSStyleSelector.h" 25 26 #import "CSSValueKeywords.h" … … 157 158 } 158 159 160 Color RenderThemeMac::focusRingColor() const 161 { 162 if (usesTestModeFocusRingColor()) 163 return oldAquaFocusRingColor(); 164 165 return systemColor(CSSValueWebkitFocusRingColor); 166 } 167 159 168 Color RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor() const 160 169 { … … 414 423 color = convertNSColorToColor([NSColor controlLightHighlightColor]); 415 424 break; 425 case CSSValueWebkitFocusRingColor: 426 color = convertNSColorToColor([NSColor keyboardFocusIndicatorColor]); 427 break; 416 428 case CSSValueWindow: 417 429 color = convertNSColorToColor([NSColor windowBackgroundColor]); -
trunk/WebCore/rendering/RenderThemeSafari.cpp
r44785 r45285 95 95 SOFT_LINK(SafariTheme, STPaintProgressIndicator, void, APIENTRY, (ProgressIndicatorType type, CGContextRef context, const CGRect& rect, NSControlSize size, ThemeControlState state, float value), (type, context, rect, size, state, value)) 96 96 #endif 97 SOFT_LINK_OPTIONAL(SafariTheme, STCopyThemeColor, CGColorRef, APIENTRY, (unsigned color, SafariTheme::ThemeControlState)); 98 99 static const unsigned stFocusRingColorID = 4; 100 101 static const unsigned aquaFocusRingColor = 0xFF7DADD9; 102 103 static RGBA32 makeRGBAFromCGColor(CGColorRef color) 104 { 105 const CGFloat* components = CGColorGetComponents(color); 106 return makeRGBA(255 * components[0], 255 * components[1], 255 * components[2], 255 * components[3]); 107 } 97 108 98 109 ThemeControlState RenderThemeSafari::determineState(RenderObject* o) const … … 148 159 // FIXME: This should probably just be a darker version of the platformActiveSelectionBackgroundColor 149 160 return Color(56, 117, 215); 161 } 162 163 Color RenderThemeSafari::focusRingColor() const 164 { 165 static Color focusRingColor; 166 167 if (!focusRingColor.isValid()) { 168 if (STCopyThemeColorPtr()) { 169 RetainPtr<CGColorRef> color(AdoptCF, STCopyThemeColorPtr()(stFocusRingColorID, SafariTheme::ActiveState)); 170 focusRingColor = makeRGBAFromCGColor(color.get()); 171 } 172 if (!focusRingColor.isValid()) 173 focusRingColor = aquaFocusRingColor; 174 } 175 176 return focusRingColor; 150 177 } 151 178 -
trunk/WebCore/rendering/RenderThemeSafari.h
r44758 r45285 69 69 virtual Color platformInactiveSelectionBackgroundColor() const; 70 70 virtual Color activeListBoxSelectionBackgroundColor() const; 71 72 virtual Color focusRingColor() const; 71 73 72 74 // System fonts.
Note: See TracChangeset
for help on using the changeset viewer.