Fix for 3607091, implement a style that prevents zoom and min font size from taking...
authorhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 10 Jun 2004 03:25:39 +0000 (03:25 +0000)
committerhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 10 Jun 2004 03:25:39 +0000 (03:25 +0000)
The name of the new style is "-apple-text-size-adjust" with values of "none" and "auto."  The default
is "auto."

        Reviewed by mjs

        * 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::styleForElement):
        (khtml::CSSStyleSelector::pseudoStyleForElement):
        (khtml::CSSStyleSelector::applyDeclarations):
        (khtml::CSSStyleSelector::applyProperty):
        (khtml::CSSStyleSelector::checkForTextSizeAdjust):
        * khtml/css/cssstyleselector.h:
        * khtml/rendering/render_style.cpp:
        (textSizeAdjust):
        (StyleCSS3InheritedData):
        (StyleCSS3InheritedData::operator==):
        (RenderStyle::diff):
        * khtml/rendering/render_style.h:
        (khtml::RenderStyle::lineClamp):
        (khtml::RenderStyle::textSizeAdjust):
        (khtml::RenderStyle::setTextSizeAdjust):
        (khtml::RenderStyle::initialTextSizeAdjust):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@6805 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/khtml/css/cssstyleselector.h
WebCore/khtml/rendering/render_style.cpp
WebCore/khtml/rendering/render_style.h

index ff23d5d..bba8af6 100644 (file)
@@ -1,5 +1,38 @@
 2004-06-09  David Hyatt  <hyatt@apple.com>
 
+       Fix for 3607091, implement a style that prevents zoom and min font size from taking effect.
+       The name of the new style is "-apple-text-size-adjust" with values of "none" and "auto."  The default
+       is "auto."
+       
+        Reviewed by mjs
+
+        * 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::styleForElement):
+        (khtml::CSSStyleSelector::pseudoStyleForElement):
+        (khtml::CSSStyleSelector::applyDeclarations):
+        (khtml::CSSStyleSelector::applyProperty):
+        (khtml::CSSStyleSelector::checkForTextSizeAdjust):
+        * khtml/css/cssstyleselector.h:
+        * khtml/rendering/render_style.cpp:
+        (textSizeAdjust):
+        (StyleCSS3InheritedData):
+        (StyleCSS3InheritedData::operator==):
+        (RenderStyle::diff):
+        * khtml/rendering/render_style.h:
+        (khtml::RenderStyle::lineClamp):
+        (khtml::RenderStyle::textSizeAdjust):
+        (khtml::RenderStyle::setTextSizeAdjust):
+        (khtml::RenderStyle::initialTextSizeAdjust):
+
+2004-06-09  David Hyatt  <hyatt@apple.com>
+
        Implement parsing and setting of the text-overflow CSS3 property.
        
         Reviewed by kocienda
index bc7b6e6..17fb7d6 100644 (file)
@@ -1117,6 +1117,10 @@ bool CSSParser::parseValue( int propId, bool important )
     case CSS_PROP__APPLE_LINE_CLAMP:
         valid_primitive = (!id && validUnit(value, FPercent, false));
         break;
+    case CSS_PROP__APPLE_TEXT_SIZE_ADJUST:
+        if (id == CSS_VAL_AUTO || id == CSS_VAL_NONE)
+            valid_primitive = true;
+        break;
 #endif
 
        /* shorthand properties */
index d0b88a2..500cb99 100644 (file)
@@ -7,7 +7,7 @@ struct props {
     const char *name;
     int id;
 };
-/* maximum key range = 1222, duplicates = 0 */
+/* maximum key range = 1312, 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[] =
     {
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227,    0, 1227, 1227, 1227, 1227,
-      1227,    0, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227,   15,   10,    0,
-         0,    0,  170,   50,    0,    0,    0,   10,    0,   10,
-       360,    0,  100,  175,    0,   25,    0,   10,    5,  230,
-       235,  265,    5, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
-      1227, 1227, 1227, 1227, 1227, 1227
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317,    0, 1317, 1317, 1317, 1317,
+      1317,    0, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317,   15,   10,    0,
+         0,    0,  185,   50,    0,    0,    0,   10,    0,   10,
+       360,    0,  100,  105,    0,   25,    0,   10,   25,  225,
+       250,  355,    5, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+      1317, 1317, 1317, 1317, 1317, 1317
     };
   register int hval = len;
 
@@ -130,11 +130,11 @@ findProp (register const char *str, register unsigned int len)
 {
   enum
     {
-      TOTAL_KEYWORDS = 135,
+      TOTAL_KEYWORDS = 136,
       MIN_WORD_LENGTH = 3,
       MAX_WORD_LENGTH = 32,
       MIN_HASH_VALUE = 5,
-      MAX_HASH_VALUE = 1226
+      MAX_HASH_VALUE = 1316
     };
 
   static const struct props wordlist_prop[] =
@@ -160,118 +160,119 @@ findProp (register const char *str, register unsigned int len)
       {"scrollbar-3dlight-color", CSS_PROP_SCROLLBAR_3DLIGHT_COLOR},
       {"border-top-color", CSS_PROP_BORDER_TOP_COLOR},
       {"-khtml-user-drag", CSS_PROP__KHTML_USER_DRAG},
+      {"quotes", CSS_PROP_QUOTES},
       {"border-collapse", CSS_PROP_BORDER_COLLAPSE},
       {"page", CSS_PROP_PAGE},
-      {"left", CSS_PROP_LEFT},
+      {"-khtml-marquee", CSS_PROP__KHTML_MARQUEE},
       {"scrollbar-highlight-color", CSS_PROP_SCROLLBAR_HIGHLIGHT_COLOR},
+      {"left", CSS_PROP_LEFT},
       {"float", CSS_PROP_FLOAT},
       {"border-left", CSS_PROP_BORDER_LEFT},
       {"border-left-color", CSS_PROP_BORDER_LEFT_COLOR},
-      {"quotes", CSS_PROP_QUOTES},
       {"width", CSS_PROP_WIDTH},
-      {"-khtml-marquee", CSS_PROP__KHTML_MARQUEE},
       {"border-width", CSS_PROP_BORDER_WIDTH},
       {"scrollbar-face-color", CSS_PROP_SCROLLBAR_FACE_COLOR},
       {"border-bottom-width", CSS_PROP_BORDER_BOTTOM_WIDTH},
       {"border-right-width", CSS_PROP_BORDER_RIGHT_WIDTH},
-      {"border-style", CSS_PROP_BORDER_STYLE},
-      {"visibility", CSS_PROP_VISIBILITY},
+      {"-khtml-marquee-speed", CSS_PROP__KHTML_MARQUEE_SPEED},
       {"scrollbar-arrow-color", CSS_PROP_SCROLLBAR_ARROW_COLOR},
       {"max-height", CSS_PROP_MAX_HEIGHT},
-      {"list-style", CSS_PROP_LIST_STYLE},
-      {"table-layout", CSS_PROP_TABLE_LAYOUT},
-      {"border-bottom-style", CSS_PROP_BORDER_BOTTOM_STYLE},
       {"scrollbar-shadow-color", CSS_PROP_SCROLLBAR_SHADOW_COLOR},
       {"border-top-width", CSS_PROP_BORDER_TOP_WIDTH},
-      {"border-right-style", CSS_PROP_BORDER_RIGHT_STYLE},
-      {"direction", CSS_PROP_DIRECTION},
       {"scrollbar-darkshadow-color", CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR},
-      {"-khtml-marquee-speed", CSS_PROP__KHTML_MARQUEE_SPEED},
-      {"outline", CSS_PROP_OUTLINE},
+      {"direction", CSS_PROP_DIRECTION},
       {"white-space", CSS_PROP_WHITE_SPACE},
+      {"outline", CSS_PROP_OUTLINE},
       {"outline-color", CSS_PROP_OUTLINE_COLOR},
-      {"opacity", CSS_PROP_OPACITY},
       {"unicode-bidi", CSS_PROP_UNICODE_BIDI},
+      {"border-style", CSS_PROP_BORDER_STYLE},
+      {"counter-reset", CSS_PROP_COUNTER_RESET},
       {"page-break-before", CSS_PROP_PAGE_BREAK_BEFORE},
+      {"list-style", CSS_PROP_LIST_STYLE},
       {"page-break-after", CSS_PROP_PAGE_BREAK_AFTER},
+      {"table-layout", CSS_PROP_TABLE_LAYOUT},
       {"-khtml-box-pack", CSS_PROP__KHTML_BOX_PACK},
-      {"list-style-image", CSS_PROP_LIST_STYLE_IMAGE},
-      {"counter-reset", CSS_PROP_COUNTER_RESET},
-      {"empty-cells", CSS_PROP_EMPTY_CELLS},
-      {"display", CSS_PROP_DISPLAY},
-      {"overflow", CSS_PROP_OVERFLOW},
-      {"border-top-style", CSS_PROP_BORDER_TOP_STYLE},
       {"line-height", CSS_PROP_LINE_HEIGHT},
-      {"border-left-width", CSS_PROP_BORDER_LEFT_WIDTH},
+      {"visibility", CSS_PROP_VISIBILITY},
+      {"border-bottom-style", CSS_PROP_BORDER_BOTTOM_STYLE},
       {"min-height", CSS_PROP_MIN_HEIGHT},
+      {"border-left-width", CSS_PROP_BORDER_LEFT_WIDTH},
       {"margin", CSS_PROP_MARGIN},
+      {"overflow", CSS_PROP_OVERFLOW},
       {"-khtml-flow-mode", CSS_PROP__KHTML_FLOW_MODE},
-      {"vertical-align", CSS_PROP_VERTICAL_ALIGN},
+      {"border-right-style", CSS_PROP_BORDER_RIGHT_STYLE},
       {"background", CSS_PROP_BACKGROUND},
       {"margin-bottom", CSS_PROP_MARGIN_BOTTOM},
       {"background-color", CSS_PROP_BACKGROUND_COLOR},
-      {"border-left-style", CSS_PROP_BORDER_LEFT_STYLE},
+      {"opacity", CSS_PROP_OPACITY},
+      {"vertical-align", CSS_PROP_VERTICAL_ALIGN},
       {"widows", CSS_PROP_WIDOWS},
       {"position", CSS_PROP_POSITION},
+      {"list-style-image", CSS_PROP_LIST_STYLE_IMAGE},
       {"margin-right", CSS_PROP_MARGIN_RIGHT},
-      {"max-width", CSS_PROP_MAX_WIDTH},
+      {"empty-cells", CSS_PROP_EMPTY_CELLS},
+      {"display", CSS_PROP_DISPLAY},
+      {"border-top-style", CSS_PROP_BORDER_TOP_STYLE},
       {"orphans", CSS_PROP_ORPHANS},
+      {"max-width", CSS_PROP_MAX_WIDTH},
       {"caption-side", CSS_PROP_CAPTION_SIDE},
       {"text-shadow", CSS_PROP_TEXT_SHADOW},
-      {"-khtml-user-modify", CSS_PROP__KHTML_USER_MODIFY},
       {"padding", CSS_PROP_PADDING},
-      {"font", CSS_PROP_FONT},
-      {"-khtml-marquee-style", CSS_PROP__KHTML_MARQUEE_STYLE},
+      {"-khtml-marquee-direction", CSS_PROP__KHTML_MARQUEE_DIRECTION},
       {"margin-top", CSS_PROP_MARGIN_TOP},
       {"background-image", CSS_PROP_BACKGROUND_IMAGE},
+      {"font", CSS_PROP_FONT},
       {"padding-bottom", CSS_PROP_PADDING_BOTTOM},
+      {"-khtml-marquee-style", CSS_PROP__KHTML_MARQUEE_STYLE},
       {"letter-spacing", CSS_PROP_LETTER_SPACING},
+      {"-apple-text-size-adjust", CSS_PROP__APPLE_TEXT_SIZE_ADJUST},
+      {"border-spacing", CSS_PROP_BORDER_SPACING},
       {"font-stretch", CSS_PROP_FONT_STRETCH},
       {"font-size", CSS_PROP_FONT_SIZE},
-      {"border-spacing", CSS_PROP_BORDER_SPACING},
       {"background-repeat", CSS_PROP_BACKGROUND_REPEAT},
       {"padding-right", CSS_PROP_PADDING_RIGHT},
+      {"border-left-style", CSS_PROP_BORDER_LEFT_STYLE},
       {"page-break-inside", CSS_PROP_PAGE_BREAK_INSIDE},
-      {"z-index", CSS_PROP_Z_INDEX},
       {"min-width", CSS_PROP_MIN_WIDTH},
       {"outline-width", CSS_PROP_OUTLINE_WIDTH},
-      {"-khtml-marquee-direction", CSS_PROP__KHTML_MARQUEE_DIRECTION},
+      {"z-index", CSS_PROP_Z_INDEX},
+      {"-khtml-user-modify", CSS_PROP__KHTML_USER_MODIFY},
       {"margin-left", CSS_PROP_MARGIN_LEFT},
+      {"padding-top", CSS_PROP_PADDING_TOP},
       {"text-decoration", CSS_PROP_TEXT_DECORATION},
       {"font-size-adjust", CSS_PROP_FONT_SIZE_ADJUST},
-      {"-khtml-border-vertical-spacing", CSS_PROP__KHTML_BORDER_VERTICAL_SPACING},
+      {"-khtml-marquee-repetition", CSS_PROP__KHTML_MARQUEE_REPETITION},
       {"text-decoration-color", CSS_PROP_TEXT_DECORATION_COLOR},
-      {"padding-top", CSS_PROP_PADDING_TOP},
+      {"-khtml-border-vertical-spacing", CSS_PROP__KHTML_BORDER_VERTICAL_SPACING},
       {"-khtml-box-orient", CSS_PROP__KHTML_BOX_ORIENT},
       {"-khtml-box-direction", CSS_PROP__KHTML_BOX_DIRECTION},
-      {"text-overflow", CSS_PROP_TEXT_OVERFLOW},
       {"-khtml-box-lines", CSS_PROP__KHTML_BOX_LINES},
       {"text-align", CSS_PROP_TEXT_ALIGN},
-      {"outline-style", CSS_PROP_OUTLINE_STYLE},
-      {"-khtml-box-flex", CSS_PROP__KHTML_BOX_FLEX},
-      {"list-style-type", CSS_PROP_LIST_STYLE_TYPE},
+      {"text-overflow", CSS_PROP_TEXT_OVERFLOW},
+      {"-apple-line-clamp", CSS_PROP__APPLE_LINE_CLAMP},
       {"-khtml-box-align", CSS_PROP__KHTML_BOX_ALIGN},
       {"padding-left", CSS_PROP_PADDING_LEFT},
-      {"-khtml-marquee-repetition", CSS_PROP__KHTML_MARQUEE_REPETITION},
-      {"-apple-line-clamp", CSS_PROP__APPLE_LINE_CLAMP},
       {"content", CSS_PROP_CONTENT},
+      {"-khtml-box-flex", CSS_PROP__KHTML_BOX_FLEX},
+      {"outline-style", CSS_PROP_OUTLINE_STYLE},
       {"outline-offset", CSS_PROP_OUTLINE_OFFSET},
       {"word-spacing", CSS_PROP_WORD_SPACING},
       {"-khtml-binding", CSS_PROP__KHTML_BINDING},
-      {"list-style-position", CSS_PROP_LIST_STYLE_POSITION},
       {"font-weight", CSS_PROP_FONT_WEIGHT},
       {"-khtml-box-ordinal-group", CSS_PROP__KHTML_BOX_ORDINAL_GROUP},
       {"text-transform", CSS_PROP_TEXT_TRANSFORM},
-      {"font-style", CSS_PROP_FONT_STYLE},
-      {"-khtml-box-flex-group", CSS_PROP__KHTML_BOX_FLEX_GROUP},
+      {"list-style-type", CSS_PROP_LIST_STYLE_TYPE},
       {"background-attachment", CSS_PROP_BACKGROUND_ATTACHMENT},
-      {"font-variant", CSS_PROP_FONT_VARIANT},
+      {"-khtml-box-flex-group", CSS_PROP__KHTML_BOX_FLEX_GROUP},
+      {"list-style-position", CSS_PROP_LIST_STYLE_POSITION},
+      {"-khtml-marquee-increment", CSS_PROP__KHTML_MARQUEE_INCREMENT},
+      {"font-style", CSS_PROP_FONT_STYLE},
       {"background-position", CSS_PROP_BACKGROUND_POSITION},
+      {"font-variant", CSS_PROP_FONT_VARIANT},
       {"text-indent", CSS_PROP_TEXT_INDENT},
-      {"-khtml-marquee-increment", CSS_PROP__KHTML_MARQUEE_INCREMENT},
       {"-khtml-border-horizontal-spacing", CSS_PROP__KHTML_BORDER_HORIZONTAL_SPACING},
-      {"font-family", CSS_PROP_FONT_FAMILY},
       {"counter-increment", CSS_PROP_COUNTER_INCREMENT},
+      {"font-family", CSS_PROP_FONT_FAMILY},
       {"background-position-x", CSS_PROP_BACKGROUND_POSITION_X},
       {"background-position-y", CSS_PROP_BACKGROUND_POSITION_Y}
     };
@@ -292,96 +293,105 @@ findProp (register const char *str, register unsigned int len)
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        17,  -1,  -1,  18,  -1,  -1,  19,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  20,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  21,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  22,  -1,  -1,  -1,  23,
+       -1,  -1,  -1,  -1,  24,  25,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  26,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  27,  28,  -1,  -1,  -1,
+       -1,  -1,  29,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       30,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  31,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       32,  -1,  -1,  -1,  33,  -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,  34,  -1,  35,  -1,  -1,  -1,  -1,
+       -1,  36,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  37,  -1,  38,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  39,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  40,  -1,  -1,  41,
+       -1,  -1,  -1,  -1,  -1,  -1,  42,  43,  -1,  -1,
+       -1,  -1,  -1,  44,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  45,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  46,  -1,  -1,  -1,  -1,  -1,  47,  -1,
+       -1,  -1,  48,  -1,  -1,  49,  50,  51,  -1,  -1,
+       52,  53,  -1,  -1,  -1,  54,  -1,  -1,  -1,  55,
+       56,  -1,  -1,  -1,  -1,  -1,  -1,  57,  -1,  -1,
+       -1,  58,  -1,  59,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  60,  -1,  61,  -1,
+       -1,  -1,  -1,  -1,  -1,  62,  -1,  -1,  63,  -1,
+       -1,  64,  -1,  -1,  -1,  -1,  -1,  65,  -1,  66,
+       -1,  67,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  68,  -1,  -1,  69,  70,  -1,  -1,
+       -1,  71,  72,  -1,  -1,  -1,  73,  74,  -1,  75,
+       -1,  -1,  76,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  77,  -1,  -1,  -1,
+       -1,  -1,  78,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  79,  80,  81,  -1,  -1,  82,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  83,
+       84,  -1,  -1,  -1,  85,  -1,  -1,  -1,  86,  -1,
+       -1,  -1,  -1,  -1,  87,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  88,  -1,  89,  -1,  -1,  90,  91,  -1,
+       -1,  -1,  92,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  93,  -1,  94,  -1,  -1,  -1,  95,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  96,  97,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  98,  -1,  -1,  -1,  -1,  99,  -1,  -1,  -1,
+      100, 101,  -1,  -1,  -1, 102, 103,  -1,  -1,  -1,
+      104,  -1,  -1,  -1,  -1,  -1,  -1, 105,  -1,  -1,
+      106,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1, 107,  -1,  -1,  -1, 108,  -1,  -1,  -1,  -1,
+       -1,  -1,  -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, 110,  -1,  -1,
+       -1, 111, 112,  -1,  -1,  -1,  -1, 113,  -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, 115,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 116,
+       -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,  21,  -1,  -1,  -1,  22,
-       -1,  -1,  -1,  -1,  23,  24,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       25,  26,  -1,  -1,  -1,  -1,  -1,  27,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  28,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  29,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  30,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  31,  -1,  -1,  32,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  33,
-       -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,  34,  -1,
-       -1,  -1,  35,  -1,  -1,  36,  37,  -1,  -1,  -1,
-       38,  -1,  -1,  -1,  -1,  39,  -1,  40,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  41,
-       -1,  -1,  42,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  43,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  44,  45,
-       -1,  46,  -1,  -1,  -1,  47,  -1,  48,  -1,  -1,
-       -1,  49,  -1,  50,  -1,  -1,  -1,  51,  -1,  -1,
-       -1,  -1,  52,  -1,  -1,  -1,  -1,  53,  -1,  -1,
-       -1,  54,  -1,  -1,  -1,  55,  56,  -1,  57,  -1,
-       -1,  58,  59,  60,  -1,  -1,  61,  -1,  -1,  -1,
-       -1,  62,  -1,  -1,  -1,  -1,  -1,  63,  -1,  -1,
-       64,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  65,  -1,  -1,  -1,  -1,  66,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  67,
-       -1,  -1,  -1,  -1,  -1,  68,  -1,  -1,  69,  -1,
-       -1,  70,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  71,  -1,  -1,
-       -1,  72,  -1,  73,  -1,  -1,  -1,  74,  -1,  75,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  76,  -1,  -1,
-       -1,  -1,  77,  -1,  -1,  -1,  78,  -1,  79,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  80,  -1,  81,  -1,  -1,  -1,  -1,  -1,
-       82,  -1,  -1,  -1,  -1,  83,  84,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  85,
-       -1,  -1,  -1,  -1,  86,  -1,  -1,  87,  -1,  88,
-       -1,  -1,  -1,  -1,  89,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  90,  91,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  92,  -1,  -1,  -1,  -1,  93,  -1,  94,
-       -1,  -1,  -1,  95,  96,  -1,  97,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  98,  99,  -1,  -1,  -1,
-      100, 101,  -1,  -1,  -1,  -1, 102,  -1,  -1,  -1,
-       -1,  -1, 103,  -1,  -1, 104,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1, 105,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 106,  -1,  -1,  -1,
-      107,  -1,  -1, 108,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 109,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 110,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 111, 112,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 113,  -1, 114,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1, 115,  -1,  -1,
+       -1,  -1,  -1,  -1, 118,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 116,
+       -1, 119,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 120,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -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, 122, 123,  -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, 125,
+       -1,  -1,  -1,  -1, 126,  -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, 127,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1, 118,  -1,  -1,  -1,  -1, 119,
-       -1, 120,  -1,  -1, 121,  -1,  -1,  -1,  -1, 122,
-      123,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 128,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1, 124,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 129,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1, 130,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 131,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -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,  -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, 126,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 127,
-       -1,  -1,  -1,  -1,  -1,  -1, 128,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1, 129,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1, 130,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1, 131,  -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, 132,  -1,  -1,
+       -1, 133,  -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,
@@ -389,7 +399,8 @@ 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,  -1,  -1,  -1, 132,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1, 134,  -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,
@@ -397,10 +408,9 @@ 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,  -1,  -1, 133,  -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, 134
+       -1,  -1,  -1,  -1,  -1,  -1, 135
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -525,6 +535,7 @@ static const char * const propertyList[] = {
 "text-overflow", 
 "text-shadow", 
 "text-transform", 
+"-apple-text-size-adjust", 
 "top", 
 "unicode-bidi", 
 "-khtml-user-drag", 
index 0550ea3..9eeeb7c 100644 (file)
 #define CSS_PROP_TEXT_OVERFLOW 99
 #define CSS_PROP_TEXT_SHADOW 100
 #define CSS_PROP_TEXT_TRANSFORM 101
-#define CSS_PROP_TOP 102
-#define CSS_PROP_UNICODE_BIDI 103
-#define CSS_PROP__KHTML_USER_DRAG 104
-#define CSS_PROP__KHTML_USER_MODIFY 105
-#define CSS_PROP__KHTML_USER_SELECT 106
-#define CSS_PROP_VERTICAL_ALIGN 107
-#define CSS_PROP_VISIBILITY 108
-#define CSS_PROP_WHITE_SPACE 109
-#define CSS_PROP_WIDOWS 110
-#define CSS_PROP_WIDTH 111
-#define CSS_PROP_WORD_SPACING 112
-#define CSS_PROP_Z_INDEX 113
-#define CSS_PROP_BACKGROUND 114
-#define CSS_PROP_BORDER 115
-#define CSS_PROP_BORDER_COLOR 116
-#define CSS_PROP_BORDER_STYLE 117
-#define CSS_PROP_BORDER_TOP 118
-#define CSS_PROP_BORDER_RIGHT 119
-#define CSS_PROP_BORDER_BOTTOM 120
-#define CSS_PROP_BORDER_LEFT 121
-#define CSS_PROP_BORDER_WIDTH 122
-#define CSS_PROP_FONT 123
-#define CSS_PROP_LIST_STYLE 124
-#define CSS_PROP_MARGIN 125
-#define CSS_PROP_OUTLINE 126
-#define CSS_PROP_PADDING 127
-#define CSS_PROP_SCROLLBAR_FACE_COLOR 128
-#define CSS_PROP_SCROLLBAR_SHADOW_COLOR 129
-#define CSS_PROP_SCROLLBAR_HIGHLIGHT_COLOR 130
-#define CSS_PROP_SCROLLBAR_3DLIGHT_COLOR 131
-#define CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR 132
-#define CSS_PROP_SCROLLBAR_TRACK_COLOR 133
-#define CSS_PROP_SCROLLBAR_ARROW_COLOR 134
-#define CSS_PROP__KHTML_FLOW_MODE 135
+#define CSS_PROP__APPLE_TEXT_SIZE_ADJUST 102
+#define CSS_PROP_TOP 103
+#define CSS_PROP_UNICODE_BIDI 104
+#define CSS_PROP__KHTML_USER_DRAG 105
+#define CSS_PROP__KHTML_USER_MODIFY 106
+#define CSS_PROP__KHTML_USER_SELECT 107
+#define CSS_PROP_VERTICAL_ALIGN 108
+#define CSS_PROP_VISIBILITY 109
+#define CSS_PROP_WHITE_SPACE 110
+#define CSS_PROP_WIDOWS 111
+#define CSS_PROP_WIDTH 112
+#define CSS_PROP_WORD_SPACING 113
+#define CSS_PROP_Z_INDEX 114
+#define CSS_PROP_BACKGROUND 115
+#define CSS_PROP_BORDER 116
+#define CSS_PROP_BORDER_COLOR 117
+#define CSS_PROP_BORDER_STYLE 118
+#define CSS_PROP_BORDER_TOP 119
+#define CSS_PROP_BORDER_RIGHT 120
+#define CSS_PROP_BORDER_BOTTOM 121
+#define CSS_PROP_BORDER_LEFT 122
+#define CSS_PROP_BORDER_WIDTH 123
+#define CSS_PROP_FONT 124
+#define CSS_PROP_LIST_STYLE 125
+#define CSS_PROP_MARGIN 126
+#define CSS_PROP_OUTLINE 127
+#define CSS_PROP_PADDING 128
+#define CSS_PROP_SCROLLBAR_FACE_COLOR 129
+#define CSS_PROP_SCROLLBAR_SHADOW_COLOR 130
+#define CSS_PROP_SCROLLBAR_HIGHLIGHT_COLOR 131
+#define CSS_PROP_SCROLLBAR_3DLIGHT_COLOR 132
+#define CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR 133
+#define CSS_PROP_SCROLLBAR_TRACK_COLOR 134
+#define CSS_PROP_SCROLLBAR_ARROW_COLOR 135
+#define CSS_PROP__KHTML_FLOW_MODE 136
 
 #define CSS_PROP_MAX CSS_PROP_Z_INDEX
-#define CSS_PROP_TOTAL 136
+#define CSS_PROP_TOTAL 137
 #endif
 
index 304264b..44bd3ea 100644 (file)
@@ -113,6 +113,7 @@ text-indent
 text-overflow
 text-shadow
 text-transform
+-apple-text-size-adjust
 top
 unicode-bidi
 -khtml-user-drag
index 33421f2..e3ab83a 100644 (file)
@@ -722,6 +722,7 @@ RenderStyle* CSSStyleSelector::styleForElement(ElementImpl* e, RenderStyle* defa
     
     // If our font got dirtied, go ahead and update it now.
     if (fontDirty) {
+        checkForTextSizeAdjust();
         checkForGenericFamilyChange(style, parentStyle);
         style->htmlFont().update(paintDeviceMetrics);
         fontDirty = false;
@@ -736,6 +737,7 @@ RenderStyle* CSSStyleSelector::styleForElement(ElementImpl* e, RenderStyle* defa
     // If our font got dirtied by one of the non-essential font props, 
     // go ahead and update it a second time.
     if (fontDirty) {
+        checkForTextSizeAdjust();
         checkForGenericFamilyChange(style, parentStyle);
         style->htmlFont().update(paintDeviceMetrics);
         fontDirty = false;
@@ -798,6 +800,7 @@ RenderStyle* CSSStyleSelector::pseudoStyleForElement(RenderStyle::PseudoId pseud
     
     // If our font got dirtied, go ahead and update it now.
     if (fontDirty) {
+        checkForTextSizeAdjust();
         checkForGenericFamilyChange(style, parentStyle);
         style->htmlFont().update(paintDeviceMetrics);
         fontDirty = false;
@@ -812,6 +815,7 @@ RenderStyle* CSSStyleSelector::pseudoStyleForElement(RenderStyle::PseudoId pseud
     // If our font got dirtied by one of the non-essential font props, 
     // go ahead and update it a second time.
     if (fontDirty) {
+        checkForTextSizeAdjust();
         checkForGenericFamilyChange(style, parentStyle);
         style->htmlFont().update(paintDeviceMetrics);
         fontDirty = false;
@@ -1641,6 +1645,9 @@ void CSSStyleSelector::applyDeclarations(bool applyFirst, bool isImportant,
                         case CSS_PROP_FONT_STYLE:
                         case CSS_PROP_FONT_FAMILY:
                         case CSS_PROP_FONT_WEIGHT:
+#if APPLE_CHANGES
+                        case CSS_PROP__APPLE_TEXT_SIZE_ADJUST:
+#endif
                             // these have to be applied first, because other properties use the computed
                             // values of these porperties.
                             first = true;
@@ -3608,6 +3615,13 @@ void CSSStyleSelector::applyProperty( int id, DOM::CSSValueImpl *value )
         style->setLineClamp((int)primitiveValue->getFloatValue(CSSPrimitiveValue::CSS_PERCENTAGE));
         break;
     }
+    case CSS_PROP__APPLE_TEXT_SIZE_ADJUST: {
+        HANDLE_INHERIT_AND_INITIAL(textSizeAdjust, TextSizeAdjust)
+        if (!primitiveValue || !primitiveValue->getIdent()) return;
+        style->setTextSizeAdjust(primitiveValue->getIdent() == CSS_VAL_AUTO);
+        fontDirty = true;
+        break;
+    }        
 #endif
 
     default:
@@ -3615,6 +3629,18 @@ void CSSStyleSelector::applyProperty( int id, DOM::CSSValueImpl *value )
     }
 }
 
+#if APPLE_CHANGES
+void CSSStyleSelector::checkForTextSizeAdjust()
+{
+    if (style->textSizeAdjust())
+        return;
+    FontDef newFontDef(style->htmlFont().fontDef);
+    newFontDef.computedSize = newFontDef.specifiedSize;
+    style->setFontDef(newFontDef);
+}
+#endif
+
 void CSSStyleSelector::checkForGenericFamilyChange(RenderStyle* aStyle, RenderStyle* aParentStyle)
 {
   const FontDef& childFont = aStyle->htmlFont().fontDef;
index 6cd62eb..3710387 100644 (file)
@@ -148,6 +148,9 @@ namespace khtml
        /* This function fixes up the default font size if it detects that the
           current generic font family has changed. -dwh */
        void checkForGenericFamilyChange(RenderStyle* aStyle, RenderStyle* aParentStyle);
+#if APPLE_CHANGES
+        void checkForTextSizeAdjust();
+#endif
 
         void adjustRenderStyle(RenderStyle* style, DOM::ElementImpl *e);
     
index 908df81..319b41e 100644 (file)
@@ -239,6 +239,9 @@ bool StyleCSS3NonInheritedData::operator==(const StyleCSS3NonInheritedData& o) c
 
 StyleCSS3InheritedData::StyleCSS3InheritedData()
 :Shared<StyleCSS3InheritedData>(), textShadow(0), userModify(READ_ONLY)
+#if APPLE_CHANGES
+, textSizeAdjust(RenderStyle::initialTextSizeAdjust())
+#endif
 {
 
 }
@@ -248,6 +251,9 @@ StyleCSS3InheritedData::StyleCSS3InheritedData(const StyleCSS3InheritedData& o)
 {
     textShadow = o.textShadow ? new ShadowData(*o.textShadow) : 0;
     userModify = o.userModify;
+#if APPLE_CHANGES
+    textSizeAdjust = o.textSizeAdjust;
+#endif
 }
 
 StyleCSS3InheritedData::~StyleCSS3InheritedData()
@@ -257,7 +263,11 @@ StyleCSS3InheritedData::~StyleCSS3InheritedData()
 
 bool StyleCSS3InheritedData::operator==(const StyleCSS3InheritedData& o) const
 {
-    return (userModify == o.userModify) && shadowDataEquivalent(o);
+    return (userModify == o.userModify) && shadowDataEquivalent(o)
+#if APPLE_CHANGES
+            && (textSizeAdjust == o.textSizeAdjust)
+#endif
+    ;
 }
 
 bool StyleCSS3InheritedData::shadowDataEquivalent(const StyleCSS3InheritedData& o) const
@@ -533,6 +543,7 @@ RenderStyle::Diff RenderStyle::diff( const RenderStyle *other ) const
          *css3NonInheritedData->flexibleBox.get() != *other->css3NonInheritedData->flexibleBox.get() ||
 #if APPLE_CHANGES
          (css3NonInheritedData->lineClamp != other->css3NonInheritedData->lineClamp) ||
+         (css3InheritedData->textSizeAdjust != other->css3InheritedData->textSizeAdjust) ||
 #endif
         !(inherited->indent == other->inherited->indent) ||
         !(inherited->line_height == other->inherited->line_height) ||
index 6fdf263..2e7eefa 100644 (file)
@@ -583,7 +583,10 @@ public:
 
     ShadowData* textShadow;  // Our text shadow information for shadowed text drawing.
     EUserModify userModify : 2; // Flag used for editing state
-
+#if APPLE_CHANGES
+    bool textSizeAdjust : 1;    // An Apple extension.  Not really CSS3 but not worth making a new struct over.
+#endif
+    
 private:
     StyleCSS3InheritedData &operator=(const StyleCSS3InheritedData &);
 };
@@ -1098,7 +1101,8 @@ public:
 
 #if APPLE_CHANGES
     // Apple-specific property getter methods
-    int lineClamp() { return css3NonInheritedData->lineClamp; }
+    int lineClamp() const { return css3NonInheritedData->lineClamp; }
+    bool textSizeAdjust() const { return css3InheritedData->textSizeAdjust; }
 #endif
 
 // attribute setter methods
@@ -1278,6 +1282,7 @@ public:
 #if APPLE_CHANGES
     // Apple-specific property setters
     void setLineClamp(int c) { SET_VAR(css3NonInheritedData, lineClamp, c); }
+    void setTextSizeAdjust(bool b) { SET_VAR(css3InheritedData, textSizeAdjust, b); }
 #endif
 
     QPalette palette() const { return visual->palette; }
@@ -1383,6 +1388,7 @@ public:
 #if APPLE_CHANGES
     // Keep these at the end.
     static int initialLineClamp() { return -1; }
+    static bool initialTextSizeAdjust() { return true; }
 #endif
 };