Reviewed by Maciej.
authoradele <adele@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 3 Apr 2007 05:54:33 +0000 (05:54 +0000)
committeradele <adele@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 3 Apr 2007 05:54:33 +0000 (05:54 +0000)
        Fix for <rdar://problem/5107095> REGRESSION: disabled text color calculations are slowing down launchtime measurements

        Hardcode disabled text colors for the most common cases- black and white.

        * rendering/RenderTextControl.cpp: (WebCore::disabledTextColor):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20675 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/rendering/RenderTextControl.cpp

index 738b781..f478d50 100644 (file)
@@ -1,3 +1,13 @@
+2007-04-02  Adele Peterson  <adele@apple.com>
+
+        Reviewed by Maciej.
+
+        Fix for <rdar://problem/5107095> REGRESSION: disabled text color calculations are slowing down launchtime measurements
+
+        Hardcode disabled text colors for the most common cases- black and white.
+
+        * rendering/RenderTextControl.cpp: (WebCore::disabledTextColor):
+
 2007-04-02  David Hyatt  <hyatt@apple.com>
 
         Fix for <rdar://problem/5105784>, assertion failure in cache.  Encoded sizes were being set to
index 00ad305..99de2d0 100644 (file)
@@ -103,11 +103,14 @@ void RenderTextControl::setStyle(RenderStyle* style)
     setReplaced(isInline());
 }
 
+// Hardcode these common cases for speed.
+const unsigned blackDisabledColor = 0xFF545454;
+const unsigned whiteDisabledColor = 0xFFABABAB;
 static Color disabledTextColor(const Color& textColor, const Color& backgroundColor)
 {
     if (differenceSquared(textColor, Color::white) > differenceSquared(backgroundColor, Color::white))
-        return textColor.light();
-    return textColor.dark();
+        return textColor == Color::black ? Color(blackDisabledColor) : textColor.light();
+    return textColor == Color::white ? Color(whiteDisabledColor) : textColor.dark();
 }
 
 RenderStyle* RenderTextControl::createInnerBlockStyle(RenderStyle* startStyle)