Fix for 3467419, highlighted text in "search in books" Amazon feature is obscured...
authorhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 31 Oct 2003 19:29:02 +0000 (19:29 +0000)
committerhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 31 Oct 2003 19:29:02 +0000 (19:29 +0000)
site is using the CSS3 opacity property.  The CSS3 Color module is far enough along now
that opacity can safely be used without the "-khtml-" in front of it.

Fix for 3466542, the minimum font size bug.  I am introducing a new minimum font size pref that
really is a hard override.

        Reviewed by gramps (opacity) and john (min font size)

        * khtml/css/cssparser.cpp:
        (CSSParser::parseValue):
        * khtml/css/cssproperties.c:
        (hash_prop):
        (findProp):
        * khtml/css/cssproperties.h:
        * khtml/css/cssproperties.in:
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::applyRule):

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

WebCore/ChangeLog-2005-08-23
WebCore/khtml/css/cssparser.cpp
WebCore/khtml/css/cssproperties.c
WebCore/khtml/css/cssproperties.h
WebCore/khtml/css/cssproperties.in
WebCore/khtml/css/cssstyleselector.cpp
WebCore/kwq/KWQKHTMLSettings.h
WebCore/kwq/WebCoreSettings.h
WebCore/kwq/WebCoreSettings.mm

index 20309ee..cb84844 100644 (file)
@@ -1,3 +1,24 @@
+2003-10-31  David Hyatt  <hyatt@apple.com>
+
+       Fix for 3467419, highlighted text in "search in books" Amazon feature is obscured.  The
+       site is using the CSS3 opacity property.  The CSS3 Color module is far enough along now
+       that opacity can safely be used without the "-khtml-" in front of it.
+
+       Fix for 3466542, the minimum font size bug.  I am introducing a new minimum font size pref that
+       really is a hard override.
+       
+        Reviewed by gramps (opacity) and john (min font size)
+       
+        * khtml/css/cssparser.cpp:
+        (CSSParser::parseValue):
+        * khtml/css/cssproperties.c:
+        (hash_prop):
+        (findProp):
+        * khtml/css/cssproperties.h:
+        * khtml/css/cssproperties.in:
+        * khtml/css/cssstyleselector.cpp:
+        (khtml::CSSStyleSelector::applyRule):
+
 2003-10-31  Ken Kocienda  <kocienda@apple.com>
 
         Reviewed by Darin
index d76f0fb..9e160d3 100644 (file)
@@ -998,7 +998,7 @@ bool CSSParser::parseValue( int propId, bool important )
         else
             return parseShadow(propId, important);
         break;
-    case CSS_PROP__KHTML_OPACITY:
+    case CSS_PROP_OPACITY:
         valid_primitive = validUnit(value, FNumber, strict);
         break;
     case CSS_PROP__KHTML_BOX_ALIGN:
index 7410f59..1fb04fb 100644 (file)
@@ -7,7 +7,7 @@ struct props {
     const char *name;
     int id;
 };
-/* maximum key range = 1213, duplicates = 0 */
+/* maximum key range = 988, duplicates = 0 */
 
 #ifdef __GNUC__
 __inline
@@ -21,32 +21,32 @@ hash_prop (register const char *str, register unsigned int len)
 {
   static const unsigned short asso_values[] =
     {
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218,    0, 1218, 1218, 1218, 1218,
-      1218,   10, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218,   15,   10,    0,
-         0,    0,  205,   35,    0,    0,    0,    0,    0,   10,
-       390,    0,   65,   25,    0,   25,    0,   20,    5,  250,
-       125,  155,    5, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-      1218, 1218, 1218, 1218, 1218, 1218
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993,   0, 993, 993, 993, 993,
+      993,  10, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993,  15,  10,   0,
+        0,   0, 180,  35,   0,   0,   0,   0,   0,  10,
+      315,   0,  65,  25,   0,  25,   0,  20,  30, 240,
+      125, 155,   5, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
+      993, 993, 993, 993, 993, 993
     };
   register int hval = len;
 
@@ -134,7 +134,7 @@ findProp (register const char *str, register unsigned int len)
       MIN_WORD_LENGTH = 3,
       MAX_WORD_LENGTH = 32,
       MIN_HASH_VALUE = 5,
-      MAX_HASH_VALUE = 1217
+      MAX_HASH_VALUE = 992
     };
 
   static const struct props wordlist_prop[] =
@@ -163,68 +163,67 @@ findProp (register const char *str, register unsigned int len)
       {"page", CSS_PROP_PAGE},
       {"border-collapse", CSS_PROP_BORDER_COLLAPSE},
       {"scrollbar-highlight-color", CSS_PROP_SCROLLBAR_HIGHLIGHT_COLOR},
+      {"left", CSS_PROP_LEFT},
       {"-khtml-marquee-speed", CSS_PROP__KHTML_MARQUEE_SPEED},
       {"max-height", CSS_PROP_MAX_HEIGHT},
-      {"border-style", CSS_PROP_BORDER_STYLE},
-      {"visibility", CSS_PROP_VISIBILITY},
-      {"left", CSS_PROP_LEFT},
-      {"list-style", CSS_PROP_LIST_STYLE},
       {"float", CSS_PROP_FLOAT},
       {"border-left", CSS_PROP_BORDER_LEFT},
+      {"border-style", CSS_PROP_BORDER_STYLE},
+      {"border-left-color", CSS_PROP_BORDER_LEFT_COLOR},
+      {"list-style", CSS_PROP_LIST_STYLE},
       {"table-layout", CSS_PROP_TABLE_LAYOUT},
       {"border-bottom-style", CSS_PROP_BORDER_BOTTOM_STYLE},
-      {"border-left-color", CSS_PROP_BORDER_LEFT_COLOR},
+      {"visibility", CSS_PROP_VISIBILITY},
       {"-khtml-box-pack", CSS_PROP__KHTML_BOX_PACK},
+      {"opacity", CSS_PROP_OPACITY},
       {"border-right-style", CSS_PROP_BORDER_RIGHT_STYLE},
       {"width", CSS_PROP_WIDTH},
-      {"-khtml-opacity", CSS_PROP__KHTML_OPACITY},
+      {"border-width", CSS_PROP_BORDER_WIDTH},
+      {"scrollbar-face-color", CSS_PROP_SCROLLBAR_FACE_COLOR},
       {"empty-cells", CSS_PROP_EMPTY_CELLS},
       {"display", CSS_PROP_DISPLAY},
       {"border-top-style", CSS_PROP_BORDER_TOP_STYLE},
-      {"border-width", CSS_PROP_BORDER_WIDTH},
       {"-khtml-marquee-style", CSS_PROP__KHTML_MARQUEE_STYLE},
       {"list-style-image", CSS_PROP_LIST_STYLE_IMAGE},
-      {"scrollbar-face-color", CSS_PROP_SCROLLBAR_FACE_COLOR},
       {"border-bottom-width", CSS_PROP_BORDER_BOTTOM_WIDTH},
       {"border-right-width", CSS_PROP_BORDER_RIGHT_WIDTH},
+      {"direction", CSS_PROP_DIRECTION},
       {"scrollbar-arrow-color", CSS_PROP_SCROLLBAR_ARROW_COLOR},
       {"border-top-width", CSS_PROP_BORDER_TOP_WIDTH},
-      {"scrollbar-shadow-color", CSS_PROP_SCROLLBAR_SHADOW_COLOR},
-      {"white-space", CSS_PROP_WHITE_SPACE},
-      {"page-break-before", CSS_PROP_PAGE_BREAK_BEFORE},
-      {"page-break-after", CSS_PROP_PAGE_BREAK_AFTER},
-      {"scrollbar-darkshadow-color", CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR},
-      {"direction", CSS_PROP_DIRECTION},
-      {"max-width", CSS_PROP_MAX_WIDTH},
-      {"border-left-style", CSS_PROP_BORDER_LEFT_STYLE},
       {"outline", CSS_PROP_OUTLINE},
+      {"page-break-before", CSS_PROP_PAGE_BREAK_BEFORE},
       {"outline-color", CSS_PROP_OUTLINE_COLOR},
-      {"text-shadow", CSS_PROP_TEXT_SHADOW},
+      {"page-break-after", CSS_PROP_PAGE_BREAK_AFTER},
+      {"scrollbar-shadow-color", CSS_PROP_SCROLLBAR_SHADOW_COLOR},
+      {"white-space", CSS_PROP_WHITE_SPACE},
       {"unicode-bidi", CSS_PROP_UNICODE_BIDI},
       {"line-height", CSS_PROP_LINE_HEIGHT},
-      {"list-style-type", CSS_PROP_LIST_STYLE_TYPE},
       {"min-height", CSS_PROP_MIN_HEIGHT},
+      {"scrollbar-darkshadow-color", CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR},
       {"counter-reset", CSS_PROP_COUNTER_RESET},
       {"margin", CSS_PROP_MARGIN},
-      {"overflow", CSS_PROP_OVERFLOW},
-      {"marker-offset", CSS_PROP_MARKER_OFFSET},
-      {"vertical-align", CSS_PROP_VERTICAL_ALIGN},
+      {"border-left-style", CSS_PROP_BORDER_LEFT_STYLE},
+      {"max-width", CSS_PROP_MAX_WIDTH},
       {"background", CSS_PROP_BACKGROUND},
-      {"border-left-width", CSS_PROP_BORDER_LEFT_WIDTH},
       {"margin-bottom", CSS_PROP_MARGIN_BOTTOM},
       {"background-color", CSS_PROP_BACKGROUND_COLOR},
       {"position", CSS_PROP_POSITION},
-      {"-khtml-box-flex", CSS_PROP__KHTML_BOX_FLEX},
-      {"-khtml-flow-mode", CSS_PROP__KHTML_FLOW_MODE},
+      {"text-shadow", CSS_PROP_TEXT_SHADOW},
       {"-khtml-marquee-direction", CSS_PROP__KHTML_MARQUEE_DIRECTION},
       {"margin-right", CSS_PROP_MARGIN_RIGHT},
+      {"marker-offset", CSS_PROP_MARKER_OFFSET},
+      {"vertical-align", CSS_PROP_VERTICAL_ALIGN},
       {"orphans", CSS_PROP_ORPHANS},
       {"caption-side", CSS_PROP_CAPTION_SIDE},
       {"padding", CSS_PROP_PADDING},
+      {"list-style-type", CSS_PROP_LIST_STYLE_TYPE},
+      {"border-left-width", CSS_PROP_BORDER_LEFT_WIDTH},
       {"margin-top", CSS_PROP_MARGIN_TOP},
       {"z-index", CSS_PROP_Z_INDEX},
-      {"widows", CSS_PROP_WIDOWS},
+      {"-khtml-flow-mode", CSS_PROP__KHTML_FLOW_MODE},
+      {"overflow", CSS_PROP_OVERFLOW},
       {"padding-bottom", CSS_PROP_PADDING_BOTTOM},
+      {"-khtml-box-flex", CSS_PROP__KHTML_BOX_FLEX},
       {"letter-spacing", CSS_PROP_LETTER_SPACING},
       {"text-decoration", CSS_PROP_TEXT_DECORATION},
       {"background-image", CSS_PROP_BACKGROUND_IMAGE},
@@ -236,34 +235,35 @@ findProp (register const char *str, register unsigned int len)
       {"-khtml-marquee-repetition", CSS_PROP__KHTML_MARQUEE_REPETITION},
       {"background-repeat", CSS_PROP_BACKGROUND_REPEAT},
       {"page-break-inside", CSS_PROP_PAGE_BREAK_INSIDE},
+      {"font", CSS_PROP_FONT},
       {"text-align", CSS_PROP_TEXT_ALIGN},
       {"-khtml-box-lines", CSS_PROP__KHTML_BOX_LINES},
       {"padding-top", CSS_PROP_PADDING_TOP},
-      {"font", CSS_PROP_FONT},
-      {"-khtml-border-vertical-spacing", CSS_PROP__KHTML_BORDER_VERTICAL_SPACING},
+      {"widows", CSS_PROP_WIDOWS},
       {"-khtml-box-align", CSS_PROP__KHTML_BOX_ALIGN},
       {"outline-style", CSS_PROP_OUTLINE_STYLE},
-      {"-khtml-box-flex-group", CSS_PROP__KHTML_BOX_FLEX_GROUP},
       {"font-stretch", CSS_PROP_FONT_STRETCH},
       {"font-size", CSS_PROP_FONT_SIZE},
-      {"min-width", CSS_PROP_MIN_WIDTH},
+      {"-khtml-border-vertical-spacing", CSS_PROP__KHTML_BORDER_VERTICAL_SPACING},
       {"margin-left", CSS_PROP_MARGIN_LEFT},
+      {"min-width", CSS_PROP_MIN_WIDTH},
       {"outline-width", CSS_PROP_OUTLINE_WIDTH},
-      {"-khtml-box-ordinal-group", CSS_PROP__KHTML_BOX_ORDINAL_GROUP},
+      {"-khtml-box-flex-group", CSS_PROP__KHTML_BOX_FLEX_GROUP},
       {"font-size-adjust", CSS_PROP_FONT_SIZE_ADJUST},
-      {"list-style-position", CSS_PROP_LIST_STYLE_POSITION},
+      {"-khtml-box-ordinal-group", CSS_PROP__KHTML_BOX_ORDINAL_GROUP},
       {"padding-left", CSS_PROP_PADDING_LEFT},
+      {"list-style-position", CSS_PROP_LIST_STYLE_POSITION},
+      {"content", CSS_PROP_CONTENT},
       {"text-transform", CSS_PROP_TEXT_TRANSFORM},
       {"font-style", CSS_PROP_FONT_STYLE},
-      {"content", CSS_PROP_CONTENT},
       {"word-spacing", CSS_PROP_WORD_SPACING},
-      {"font-weight", CSS_PROP_FONT_WEIGHT},
       {"-khtml-marquee-increment", CSS_PROP__KHTML_MARQUEE_INCREMENT},
       {"text-indent", CSS_PROP_TEXT_INDENT},
       {"background-attachment", CSS_PROP_BACKGROUND_ATTACHMENT},
+      {"font-weight", CSS_PROP_FONT_WEIGHT},
       {"background-position", CSS_PROP_BACKGROUND_POSITION},
-      {"font-family", CSS_PROP_FONT_FAMILY},
       {"-khtml-border-horizontal-spacing", CSS_PROP__KHTML_BORDER_HORIZONTAL_SPACING},
+      {"font-family", CSS_PROP_FONT_FAMILY},
       {"font-variant", CSS_PROP_FONT_VARIANT},
       {"background-position-x", CSS_PROP_BACKGROUND_POSITION_X},
       {"background-position-y", CSS_PROP_BACKGROUND_POSITION_Y},
@@ -290,90 +290,75 @@ findProp (register const char *str, register unsigned int len)
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  24,  -1,  -1,  -1,  -1,  -1,
+       25,  -1,  -1,  -1,  -1,  26,  -1,  -1,  -1,  -1,
+       27,  28,  29,  -1,  -1,  -1,  -1,  30,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  31,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  32,  -1,  33,
+       34,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       35,  -1,  36,  37,  -1,  38,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       24,  -1,  -1,  -1,  -1,  25,  -1,  -1,  -1,  -1,
-       -1,  -1,  26,  -1,  -1,  27,  -1,  -1,  -1,  28,
-       -1,  -1,  -1,  -1,  -1,  29,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  30,  31,  32,  -1,  33,
-       -1,  -1,  34,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       35,  -1,  -1,  36,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  37,  -1,  -1,  -1,  38,
-       -1,  -1,  -1,  -1,  -1,  -1,  39,  40,  -1,  -1,
-       -1,  41,  42,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       43,  44,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       45,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  46,
+       -1,  -1,  39,  -1,  -1,  40,  41,  42,  -1,  -1,
+       -1,  43,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       44,  45,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  46,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  47,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  48,  -1,  -1,  -1,
-       -1,  49,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  50,  -1,  -1,  -1,  51,  -1,  -1,  -1,
-       -1,  -1,  52,  -1,  -1,  -1,  53,  -1,  -1,  -1,
-       -1,  54,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  55,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  56,
-       -1,  -1,  57,  -1,  -1,  -1,  -1,  58,  -1,  -1,
-       -1,  -1,  -1,  59,  -1,  -1,  60,  -1,  -1,  -1,
-       -1,  -1,  61,  -1,  -1,  -1,  62,  -1,  -1,  -1,
-       63,  -1,  -1,  -1,  -1,  64,  -1,  -1,  65,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  66,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  67,  -1,
-       -1,  -1,  -1,  68,  69,  -1,  -1,  -1,  -1,  -1,
-       70,  -1,  71,  72,  -1,  -1,  73,  -1,  74,  -1,
-       75,  76,  -1,  -1,  77,  -1,  -1,  78,  -1,  -1,
-       -1,  -1,  79,  -1,  -1,  -1,  -1,  80,  -1,  -1,
-       -1,  -1,  81,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  82,  -1,  83,  -1,  -1,
-       -1,  84,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  85,
-       -1,  -1,  -1,  -1,  86,  87,  88,  -1,  -1,  -1,
-       -1,  89,  90,  91,  92,  93,  -1,  -1,  -1,  -1,
-       94,  -1,  -1,  -1,  -1,  -1,  -1,  95,  -1,  -1,
-       -1,  -1,  96,  -1,  -1,  97,  98,  -1,  -1,  -1,
-       -1,  99,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 100,
-      101, 102,  -1, 103,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 104,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1, 105,  -1, 106,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 107,
-       -1,  -1,  -1,  -1,  -1,  -1, 108,  -1,  -1,  -1,
-       -1,  -1,  -1, 109,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1, 110,  -1,  -1,  -1,  -1,  -1,
-       -1, 111,  -1,  -1, 112,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1, 113,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  48,  -1,  49,  -1,  -1,  -1,
+       -1,  50,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  51,  -1,  -1,  -1,  -1,  52,  53,  -1,
+       -1,  54,  55,  -1,  -1,  -1,  56,  57,  -1,  -1,
+       -1,  58,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       59,  60,  -1,  61,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  62,  -1,  -1,  -1,  -1,  -1,  63,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  64,
+       -1,  -1,  -1,  -1,  -1,  65,  -1,  -1,  66,  -1,
+       -1,  67,  -1,  68,  -1,  -1,  69,  -1,  -1,  70,
+       -1,  -1,  71,  72,  73,  -1,  -1,  74,  -1,  -1,
+       -1,  -1,  75,  -1,  -1,  -1,  -1,  76,  -1,  -1,
+       77,  -1,  -1,  -1,  -1,  -1,  -1,  78,  -1,  -1,
+       79,  -1,  80,  -1,  -1,  -1,  81,  -1,  82,  -1,
+       -1,  -1,  -1,  -1,  83,  84,  -1,  -1,  -1,  85,
+       86,  87,  -1,  -1,  -1,  -1,  88,  89,  90,  91,
+       92,  -1,  -1,  -1,  -1,  93,  -1,  -1,  -1,  -1,
+       -1,  -1,  94,  -1,  -1,  -1,  -1,  95,  -1,  96,
+       97,  98,  -1,  -1,  -1,  -1,  99,  -1,  -1,  -1,
+       -1, 100,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 101,  -1, 102,  -1,
+       -1,  -1, 103,  -1, 104,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1, 114, 115,  -1, 116,  -1,  -1,
-       -1,  -1, 117,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+      105,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 106,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 107,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 108,  -1,
+       -1, 109,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1, 110,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 111,
+       -1,  -1, 112,  -1,  -1,  -1,  -1,  -1,  -1, 113,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1, 114,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 115, 116,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1, 117,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 118,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1, 118,  -1,  -1, 119,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 120,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 119,  -1,  -1,  -1,
+       -1, 120,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1, 121,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 122,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1, 123, 124,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 123,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 124,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1, 125,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
@@ -386,14 +371,7 @@ findProp (register const char *str, register unsigned int len)
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1, 127,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1, 128
+       -1,  -1, 128
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -490,7 +468,7 @@ static const char * const propertyList[] = {
 "max-width", 
 "min-height", 
 "min-width", 
-"-khtml-opacity", 
+"opacity", 
 "orphans", 
 "outline-color", 
 "outline-style", 
index cb4c3f7..15d624d 100644 (file)
@@ -80,7 +80,7 @@
 #define CSS_PROP_MAX_WIDTH 71
 #define CSS_PROP_MIN_HEIGHT 72
 #define CSS_PROP_MIN_WIDTH 73
-#define CSS_PROP__KHTML_OPACITY 74
+#define CSS_PROP_OPACITY 74
 #define CSS_PROP_ORPHANS 75
 #define CSS_PROP_OUTLINE_COLOR 76
 #define CSS_PROP_OUTLINE_STYLE 77
index 389f454..d9aa613 100644 (file)
@@ -91,7 +91,7 @@ max-height
 max-width
 min-height
 min-width
--khtml-opacity
+opacity
 orphans
 outline-color
 outline-style
index d647622..4e5ca99 100644 (file)
@@ -3350,7 +3350,7 @@ void CSSStyleSelector::applyRule( int id, DOM::CSSValueImpl *value )
 
         return;
     }
-    case CSS_PROP__KHTML_OPACITY:
+    case CSS_PROP_OPACITY:
         if (value->cssValueType() == CSSValue::CSS_INHERIT) {
             if (!parentNode) return;
             style->setOpacity(parentStyle->opacity());
@@ -3659,22 +3659,31 @@ void CSSStyleSelector::setFontSize(FontDef& fontDef, float size)
 
 float CSSStyleSelector::getComputedSizeFromSpecifiedSize(bool isAbsoluteSize, float specifiedSize)
 {
-    // We never want to get smaller than the minimum font size to keep fonts readable
-    // however we always allow the page to set an explicit pixel size that is smaller,
+    // We support two types of minimum font size.  The first is a hard override that applies to
+    // all fonts.  This is "minSize."  The second type of minimum font size is a "smart minimum"
+    // that is applied only when the Web page can't know what size it really asked for, e.g.,
+    // when it uses logical sizes like "small" or expresses the font-size as a percentage of
+    // the user's default font setting.
+
+    // With the smart minimum, we never want to get smaller than the minimum font size to keep fonts readable.
+    // However we always allow the page to set an explicit pixel size that is smaller,
     // since sites will mis-render otherwise (e.g., http://www.gamespot.com with a 9px minimum).
-    // Note to Konq folks: you may not like this interpretation of minimum font size, since you
-    // expose the pref in your GUI.  I have used APPLE_CHANGES to preserve the old behavior of
-    // always enforcing a minimum font size. -dwh
     int minSize = settings->minFontSize();
+    int minLogicalSize = settings->minLogicalFontSize();
+
     float zoomPercent = (!khtml::printpainter && view) ? view->part()->zoomFactor()/100.0f : 1.0f;
     float zoomedSize = specifiedSize * zoomPercent;
-#if APPLE_CHANGES
-    if (zoomedSize < minSize && (specifiedSize >= minSize || !isAbsoluteSize))
-        zoomedSize = minSize;
-#else
+
+    // Apply the hard minimum first.  We only apply the hard minimum if after zooming we're still too small.
     if (zoomedSize < minSize)
         zoomedSize = minSize;
-#endif
+
+    // Now apply the "smart minimum."  This minimum is also only applied if we're still too small
+    // after zooming.  The font size must either be relative to the user default or the original size
+    // must have been acceptable.  In other words, we only apply the smart minimum whenever we're positive
+    // doing so won't disrupt the layout.
+    if (zoomedSize < minLogicalSize && (specifiedSize >= minLogicalSize || !isAbsoluteSize))
+        zoomedSize = minLogicalSize;
     
     return KMAX(zoomedSize, 1.0f);
 }
index 4a87bb5..ad6251e 100644 (file)
@@ -52,6 +52,7 @@ public:
     static QString settingsToCSS() { return QString(); }
 
     int minFontSize() const { return _minimumFontSize; }
+    int minLogicalFontSize() const { return _minimumLogicalFontSize; }
     int mediumFontSize() const { return _defaultFontSize; }
     int mediumFixedFontSize() const { return _defaultFixedFontSize; }
 
@@ -85,6 +86,7 @@ public:
     void setFantasyFontName(const QString &s) { _fantasyFontName = s; }
     
     void setMinFontSize(int s) { _minimumFontSize = s; }
+    void setMinLogicalFontSize(int s) { _minimumLogicalFontSize = s; }
     void setMediumFontSize(int s) { _defaultFontSize = s; }
     void setMediumFixedFontSize(int s) { _defaultFixedFontSize = s; }
     
@@ -110,6 +112,7 @@ private:
     QString _userStyleSheetLocation;
     
     int _minimumFontSize;
+    int _minimumLogicalFontSize;
     int _defaultFontSize;
     int _defaultFixedFontSize;
     uint _JavaEnabled:1;
index 0737ddc..b3c2de9 100644 (file)
@@ -40,6 +40,7 @@ class KHTMLSettings;
     NSString *cursiveFontFamily;
     NSString *fantasyFontFamily;
     float minimumFontSize;
+    float minimumLogicalFontSize;
     float defaultFontSize;
     float defaultFixedFontSize;
     BOOL JavaEnabled;
@@ -75,6 +76,9 @@ class KHTMLSettings;
 - (void)setMinimumFontSize:(float)size;
 - (float)minimumFontSize;
 
+- (void)setMinimumLogicalFontSize:(float)size;
+- (float)minimumLogicalFontSize;
+
 - (void)setDefaultFontSize:(float)size;
 - (float)defaultFontSize;
 
index adb23de..5f97740 100644 (file)
     return minimumFontSize;
 }
 
+- (void)setMinimumLogicalFontSize:(float)size
+{
+    if (minimumLogicalFontSize == size) {
+        return;
+    }
+    minimumLogicalFontSize = size;
+    settings->setMinLogicalFontSize((int)rint(size));
+    [self _updateAllViews];
+}
+
+- (float)minimumLogicalFontSize
+{
+    return minimumLogicalFontSize;
+}
+
 - (void)setDefaultFontSize:(float)size
 {
     if (defaultFontSize == size) {