diff --git a/mozilla/content/html/style/src/nsCSSProps.h b/mozilla/content/html/style/src/nsCSSProps.h
index 9fddff3b07c..402462b3d73 100644
--- a/mozilla/content/html/style/src/nsCSSProps.h
+++ b/mozilla/content/html/style/src/nsCSSProps.h
@@ -41,6 +41,8 @@ public:
// A table whose index is the tag id (from nsCSSPropIDs)
static const NameTableEntry kNameTable[];
+
+ static const PRInt32 kHintTable[];
};
#endif /* nsCSSProps_h___ */
diff --git a/mozilla/content/shared/public/nsCSSProps.h b/mozilla/content/shared/public/nsCSSProps.h
index 9fddff3b07c..402462b3d73 100644
--- a/mozilla/content/shared/public/nsCSSProps.h
+++ b/mozilla/content/shared/public/nsCSSProps.h
@@ -41,6 +41,8 @@ public:
// A table whose index is the tag id (from nsCSSPropIDs)
static const NameTableEntry kNameTable[];
+
+ static const PRInt32 kHintTable[];
};
#endif /* nsCSSProps_h___ */
diff --git a/mozilla/content/shared/src/nsCSSProps.cpp b/mozilla/content/shared/src/nsCSSProps.cpp
index 6b2c8c2acfb..509329f5634 100644
--- a/mozilla/content/shared/src/nsCSSProps.cpp
+++ b/mozilla/content/shared/src/nsCSSProps.cpp
@@ -6,9 +6,6 @@
#include "plstr.h"
#include "nsCSSProps.h"
-#include "nsCSSKeywordIDs.h"
-#include "nsStyleConsts.h"
-#include "nsCSSKeywords.h"
#define TOTAL_KEYWORDS 80
#define MIN_WORD_LENGTH 3
@@ -370,403 +367,3 @@ const nsCSSProps::NameTableEntry nsCSSProps::kNameTable[] = {
-
-// Keyword id tables for variant/enum parsing
-static PRInt32 kBackgroundAttachmentKTable[] = {
- KEYWORD_FIXED, NS_STYLE_BG_ATTACHMENT_FIXED,
- KEYWORD_SCROLL, NS_STYLE_BG_ATTACHMENT_SCROLL,
- -1,-1
-};
-
-static PRInt32 kBackgroundColorKTable[] = {
- KEYWORD_TRANSPARENT, NS_STYLE_BG_COLOR_TRANSPARENT,
- -1,-1
-};
-
-static PRInt32 kBackgroundRepeatKTable[] = {
- KEYWORD_NO_REPEAT, NS_STYLE_BG_REPEAT_OFF,
- KEYWORD_REPEAT, NS_STYLE_BG_REPEAT_XY,
- KEYWORD_REPEAT_X, NS_STYLE_BG_REPEAT_X,
- KEYWORD_REPEAT_Y, NS_STYLE_BG_REPEAT_Y,
- -1,-1
-};
-
-static PRInt32 kBorderStyleKTable[] = {
- KEYWORD_NONE, NS_STYLE_BORDER_STYLE_NONE,
- KEYWORD_DOTTED, NS_STYLE_BORDER_STYLE_DOTTED,
- KEYWORD_DASHED, NS_STYLE_BORDER_STYLE_DASHED,
- KEYWORD_SOLID, NS_STYLE_BORDER_STYLE_SOLID,
- KEYWORD_DOUBLE, NS_STYLE_BORDER_STYLE_DOUBLE,
- KEYWORD_GROOVE, NS_STYLE_BORDER_STYLE_GROOVE,
- KEYWORD_RIDGE, NS_STYLE_BORDER_STYLE_RIDGE,
- KEYWORD_INSET, NS_STYLE_BORDER_STYLE_INSET,
- KEYWORD_OUTSET, NS_STYLE_BORDER_STYLE_OUTSET,
- -1,-1
-};
-
-static PRInt32 kBorderWidthKTable[] = {
- KEYWORD_THIN, NS_STYLE_BORDER_WIDTH_THIN,
- KEYWORD_MEDIUM, NS_STYLE_BORDER_WIDTH_MEDIUM,
- KEYWORD_THICK, NS_STYLE_BORDER_WIDTH_THICK,
- -1,-1
-};
-
-static PRInt32 kClearKTable[] = {
- KEYWORD_NONE, NS_STYLE_CLEAR_NONE,
- KEYWORD_LEFT, NS_STYLE_CLEAR_LEFT,
- KEYWORD_RIGHT, NS_STYLE_CLEAR_RIGHT,
- KEYWORD_BOTH, NS_STYLE_CLEAR_LEFT_AND_RIGHT,
- -1,-1
-};
-
-static PRInt32 kCursorKTable[] = {
- KEYWORD_IBEAM, NS_STYLE_CURSOR_IBEAM,
- KEYWORD_ARROW, NS_STYLE_CURSOR_DEFAULT,
- KEYWORD_HAND, NS_STYLE_CURSOR_HAND,
- -1,-1
-};
-
-static PRInt32 kDirectionKTable[] = {
- KEYWORD_LTR, NS_STYLE_DIRECTION_LTR,
- KEYWORD_RTL, NS_STYLE_DIRECTION_RTL,
- KEYWORD_INHERIT, NS_STYLE_DIRECTION_INHERIT,
- -1,-1
-};
-
-static PRInt32 kDisplayKTable[] = {
- KEYWORD_NONE, NS_STYLE_DISPLAY_NONE,
- KEYWORD_BLOCK, NS_STYLE_DISPLAY_BLOCK,
- KEYWORD_INLINE, NS_STYLE_DISPLAY_INLINE,
- KEYWORD_LIST_ITEM, NS_STYLE_DISPLAY_LIST_ITEM,
- KEYWORD_MARKER, NS_STYLE_DISPLAY_MARKER,
- KEYWORD_RUN_IN, NS_STYLE_DISPLAY_RUN_IN,
- KEYWORD_COMPACT, NS_STYLE_DISPLAY_COMPACT,
- KEYWORD_TABLE, NS_STYLE_DISPLAY_TABLE,
- KEYWORD_INLINE_TABLE, NS_STYLE_DISPLAY_INLINE_TABLE,
- KEYWORD_TABLE_ROW_GROUP, NS_STYLE_DISPLAY_TABLE_ROW_GROUP,
- KEYWORD_TABLE_COLUMN, NS_STYLE_DISPLAY_TABLE_COLUMN,
- KEYWORD_TABLE_COLUMN_GROUP, NS_STYLE_DISPLAY_TABLE_COLUMN_GROUP,
- KEYWORD_TABLE_HEADER_GROUP, NS_STYLE_DISPLAY_TABLE_HEADER_GROUP,
- KEYWORD_TABLE_FOOTER_GROUP, NS_STYLE_DISPLAY_TABLE_FOOTER_GROUP,
- KEYWORD_TABLE_ROW, NS_STYLE_DISPLAY_TABLE_ROW,
- KEYWORD_TABLE_CELL, NS_STYLE_DISPLAY_TABLE_CELL,
- KEYWORD_TABLE_CAPTION, NS_STYLE_DISPLAY_TABLE_CAPTION,
- -1,-1
-};
-
-static PRInt32 kFloatKTable[] = {
- KEYWORD_NONE, NS_STYLE_FLOAT_NONE,
- KEYWORD_LEFT, NS_STYLE_FLOAT_LEFT,
- KEYWORD_RIGHT, NS_STYLE_FLOAT_RIGHT,
- -1,-1
-};
-
-static PRInt32 kFontSizeKTable[] = {
- KEYWORD_XX_SMALL, NS_STYLE_FONT_SIZE_XXSMALL,
- KEYWORD_X_SMALL, NS_STYLE_FONT_SIZE_XSMALL,
- KEYWORD_SMALL, NS_STYLE_FONT_SIZE_SMALL,
- KEYWORD_MEDIUM, NS_STYLE_FONT_SIZE_MEDIUM,
- KEYWORD_LARGE, NS_STYLE_FONT_SIZE_LARGE,
- KEYWORD_X_LARGE, NS_STYLE_FONT_SIZE_XLARGE,
- KEYWORD_XX_LARGE, NS_STYLE_FONT_SIZE_XXLARGE,
- KEYWORD_LARGER, NS_STYLE_FONT_SIZE_LARGER,
- KEYWORD_SMALLER, NS_STYLE_FONT_SIZE_SMALLER,
- -1,-1
-};
-
-static PRInt32 kFontStyleKTable[] = {
- KEYWORD_NORMAL, NS_STYLE_FONT_STYLE_NORMAL,
- KEYWORD_ITALIC, NS_STYLE_FONT_STYLE_ITALIC,
- KEYWORD_OBLIQUE, NS_STYLE_FONT_STYLE_OBLIQUE,
- -1,-1
-};
-
-static PRInt32 kFontVariantKTable[] = {
- KEYWORD_NORMAL, NS_STYLE_FONT_VARIANT_NORMAL,
- KEYWORD_SMALL_CAPS, NS_STYLE_FONT_VARIANT_SMALL_CAPS,
- -1,-1
-};
-
-static PRInt32 kListStyleImageKTable[] = {
- KEYWORD_NONE, NS_STYLE_LIST_STYLE_IMAGE_NONE,
- -1,-1
-};
-
-static PRInt32 kListStylePositionKTable[] = {
- KEYWORD_INSIDE, NS_STYLE_LIST_STYLE_POSITION_INSIDE,
- KEYWORD_OUTSIDE, NS_STYLE_LIST_STYLE_POSITION_OUTSIDE,
- -1,-1
-};
-
-static PRInt32 kListStyleKTable[] = {
- KEYWORD_NONE, NS_STYLE_LIST_STYLE_NONE,
- KEYWORD_DISC, NS_STYLE_LIST_STYLE_DISC,
- KEYWORD_CIRCLE, NS_STYLE_LIST_STYLE_CIRCLE,
- KEYWORD_SQUARE, NS_STYLE_LIST_STYLE_SQUARE,
- KEYWORD_DECIMAL, NS_STYLE_LIST_STYLE_DECIMAL,
- KEYWORD_LOWER_ROMAN, NS_STYLE_LIST_STYLE_LOWER_ROMAN,
- KEYWORD_UPPER_ROMAN, NS_STYLE_LIST_STYLE_UPPER_ROMAN,
- KEYWORD_LOWER_ALPHA, NS_STYLE_LIST_STYLE_LOWER_ALPHA,
- KEYWORD_UPPER_ALPHA, NS_STYLE_LIST_STYLE_UPPER_ALPHA,
- -1,-1
-};
-
-static PRInt32 kMarginSizeKTable[] = {
- KEYWORD_AUTO, NS_STYLE_MARGIN_SIZE_AUTO,
- -1,-1
-};
-
-static PRInt32 kOverflowKTable[] = {
- KEYWORD_VISIBLE, NS_STYLE_OVERFLOW_VISIBLE,
- KEYWORD_HIDDEN, NS_STYLE_OVERFLOW_HIDDEN,
- KEYWORD_SCROLL, NS_STYLE_OVERFLOW_SCROLL,
- KEYWORD_AUTO, NS_STYLE_OVERFLOW_AUTO,
- -1,-1
-};
-
-static PRInt32 kPositionKTable[] = {
- KEYWORD_RELATIVE, NS_STYLE_POSITION_RELATIVE,
- KEYWORD_ABSOLUTE, NS_STYLE_POSITION_ABSOLUTE,
- KEYWORD_FIXED, NS_STYLE_POSITION_FIXED,
- -1,-1
-};
-
-static PRInt32 kTextAlignKTable[] = {
- KEYWORD_LEFT, NS_STYLE_TEXT_ALIGN_LEFT,
- KEYWORD_RIGHT, NS_STYLE_TEXT_ALIGN_RIGHT,
- KEYWORD_CENTER, NS_STYLE_TEXT_ALIGN_CENTER,
- KEYWORD_JUSTIFY, NS_STYLE_TEXT_ALIGN_JUSTIFY,
- -1,-1
-};
-
-static PRInt32 kTextTransformKTable[] = {
- KEYWORD_NONE, NS_STYLE_TEXT_TRANSFORM_NONE,
- KEYWORD_CAPITALIZE, NS_STYLE_TEXT_TRANSFORM_CAPITALIZE,
- KEYWORD_LOWERCASE, NS_STYLE_TEXT_TRANSFORM_LOWERCASE,
- KEYWORD_UPPERCASE, NS_STYLE_TEXT_TRANSFORM_UPPERCASE,
- -1,-1
-};
-
-static PRInt32 kVerticalAlignKTable[] = {
- KEYWORD_BASELINE, NS_STYLE_VERTICAL_ALIGN_BASELINE,
- KEYWORD_SUB, NS_STYLE_VERTICAL_ALIGN_SUB,
- KEYWORD_SUPER, NS_STYLE_VERTICAL_ALIGN_SUPER,
- KEYWORD_TOP, NS_STYLE_VERTICAL_ALIGN_TOP,
- KEYWORD_TEXT_TOP, NS_STYLE_VERTICAL_ALIGN_TEXT_TOP,
- KEYWORD_MIDDLE, NS_STYLE_VERTICAL_ALIGN_MIDDLE,
- KEYWORD_BOTTOM, NS_STYLE_VERTICAL_ALIGN_BOTTOM,
- KEYWORD_TEXT_BOTTOM, NS_STYLE_VERTICAL_ALIGN_TEXT_BOTTOM,
- -1,-1
-};
-
-static PRInt32 kVisibilityKTable[] = {
- KEYWORD_VISIBLE, NS_STYLE_VISIBILITY_VISIBLE,
- KEYWORD_HIDDEN, NS_STYLE_VISIBILITY_HIDDEN,
- -1,-1
-};
-
-static PRInt32 kWhitespaceKTable[] = {
- KEYWORD_NORMAL, NS_STYLE_WHITESPACE_NORMAL,
- KEYWORD_PRE, NS_STYLE_WHITESPACE_PRE,
- KEYWORD_NOWRAP, NS_STYLE_WHITESPACE_NOWRAP,
- -1,-1
-};
-
-static const char* kBorderTopNames[] = {
- "border-top-width",
- "border-top-style",
- "border-top-color",
-};
-static const char* kBorderRightNames[] = {
- "border-right-width",
- "border-right-style",
- "border-right-color",
-};
-static const char* kBorderBottomNames[] = {
- "border-bottom-width",
- "border-bottom-style",
- "border-bottom-color",
-};
-static const char* kBorderLeftNames[] = {
- "border-left-width",
- "border-left-style",
- "border-left-color",
-};
-
-static const char* SearchKeywordTable(PRInt32 aID, PRInt32 aTable[])
-{
- PRInt32 i = 1;
- if (aID >= 0)
- {
- for (;;) {
- if (aTable[i] < 0) {
- break;
- }
- if (aID == aTable[i]) {
- return nsCSSKeywords::kNameTable[aTable[i-1]].name;
- }
- i += 2;
- }
- }
- return nsnull;
-}
-
-
-
-const char* nsCSSProps::LookupProperty(PRInt32 aProp, PRInt32 aIndex)
-{
- switch (aProp) {
-
- case PROP_BACKGROUND:
- break;
-
- case PROP_BACKGROUND_ATTACHMENT:
- return SearchKeywordTable(aIndex,kBackgroundAttachmentKTable);
-
- case PROP_BACKGROUND_COLOR:
- return SearchKeywordTable(aIndex,kBackgroundColorKTable);
-
- case PROP_BACKGROUND_FILTER:
- break;
-
- case PROP_BACKGROUND_IMAGE:
- break;
-
- case PROP_BACKGROUND_POSITION:
- break;
-
- case PROP_BACKGROUND_REPEAT:
- return SearchKeywordTable(aIndex,kBackgroundRepeatKTable);
-
- case PROP_BORDER:
- case PROP_BORDER_COLOR:
- case PROP_BORDER_STYLE:
- case PROP_BORDER_BOTTOM:
- case PROP_BORDER_LEFT:
- case PROP_BORDER_RIGHT:
- case PROP_BORDER_TOP:
- case PROP_BORDER_BOTTOM_COLOR:
- case PROP_BORDER_LEFT_COLOR:
- case PROP_BORDER_RIGHT_COLOR:
- case PROP_BORDER_TOP_COLOR:
- break;
-
- case PROP_BORDER_BOTTOM_STYLE:
- case PROP_BORDER_LEFT_STYLE:
- case PROP_BORDER_RIGHT_STYLE:
- case PROP_BORDER_TOP_STYLE:
- return SearchKeywordTable(aIndex,kBorderStyleKTable);
-
- case PROP_BORDER_BOTTOM_WIDTH:
- case PROP_BORDER_LEFT_WIDTH:
- case PROP_BORDER_RIGHT_WIDTH:
- case PROP_BORDER_TOP_WIDTH:
- return SearchKeywordTable(aIndex,kBorderWidthKTable);
-
- case PROP_BORDER_WIDTH:
- case PROP_CLEAR:
- return SearchKeywordTable(aIndex,kClearKTable);
-
- case PROP_CLIP:
- case PROP_COLOR:
- break;
-
- case PROP_CURSOR:
- return SearchKeywordTable(aIndex,kCursorKTable);
-
- case PROP_DIRECTION:
- return SearchKeywordTable(aIndex,kDirectionKTable);
-
- case PROP_DISPLAY:
- return SearchKeywordTable(aIndex,kDisplayKTable);
-
- case PROP_FILTER:
- break;
-
- case PROP_FLOAT:
- return SearchKeywordTable(aIndex,kFloatKTable);
-
- case PROP_FONT:
- case PROP_FONT_FAMILY:
- break;
-
- case PROP_FONT_SIZE:
- return SearchKeywordTable(aIndex,kFontSizeKTable);
-
- case PROP_FONT_STYLE:
- return SearchKeywordTable(aIndex,kFontStyleKTable);
-
- case PROP_FONT_VARIANT:
- return SearchKeywordTable(aIndex,kFontVariantKTable);
-
-
- case PROP_FONT_WEIGHT:
- case PROP_HEIGHT:
- case PROP_LEFT:
- case PROP_LINE_HEIGHT:
- case PROP_LIST_STYLE:
- break;
-
- case PROP_LIST_STYLE_IMAGE:
- return SearchKeywordTable(aIndex, kListStyleImageKTable);
-
- case PROP_LIST_STYLE_POSITION:
- return SearchKeywordTable(aIndex, kListStylePositionKTable);
-
-
- case PROP_LIST_STYLE_TYPE:
- return SearchKeywordTable(aIndex, kListStyleKTable);
-
- case PROP_MARGIN:
- case PROP_MARGIN_BOTTOM:
- case PROP_MARGIN_LEFT:
- case PROP_MARGIN_RIGHT:
- case PROP_MARGIN_TOP:
- return SearchKeywordTable(aIndex, kMarginSizeKTable);
-
- case PROP_PADDING:
- case PROP_PADDING_BOTTOM:
- case PROP_PADDING_LEFT:
- case PROP_PADDING_RIGHT:
- case PROP_PADDING_TOP:
- break;
-
- case PROP_OPACITY:
- break;
-
- case PROP_OVERFLOW:
- return SearchKeywordTable(aIndex, kOverflowKTable);
-
- case PROP_POSITION:
- return SearchKeywordTable(aIndex, kPositionKTable);
-
- case PROP_TEXT_ALIGN:
- return SearchKeywordTable(aIndex, kTextAlignKTable);
-
- case PROP_TEXT_DECORATION:
- case PROP_TEXT_INDENT:
- break;
-
- case PROP_TEXT_TRANSFORM:
- return SearchKeywordTable(aIndex, kTextTransformKTable);
-
- case PROP_TOP:
- break;
-
- case PROP_VERTICAL_ALIGN:
- return SearchKeywordTable(aIndex, kVerticalAlignKTable);
-
- case PROP_VISIBILITY:
- return SearchKeywordTable(aIndex, kVisibilityKTable);
-
- case PROP_WHITE_SPACE:
- return SearchKeywordTable(aIndex, kWhitespaceKTable);
-
- case PROP_WIDTH:
- case PROP_LETTER_SPACING:
- case PROP_WORD_SPACING:
- case PROP_Z_INDEX:
- break;
- }
- return nsnull;
-}
diff --git a/mozilla/layout/html/style/src/nsCSSProps.cpp b/mozilla/layout/html/style/src/nsCSSProps.cpp
index 6b2c8c2acfb..509329f5634 100644
--- a/mozilla/layout/html/style/src/nsCSSProps.cpp
+++ b/mozilla/layout/html/style/src/nsCSSProps.cpp
@@ -6,9 +6,6 @@
#include "plstr.h"
#include "nsCSSProps.h"
-#include "nsCSSKeywordIDs.h"
-#include "nsStyleConsts.h"
-#include "nsCSSKeywords.h"
#define TOTAL_KEYWORDS 80
#define MIN_WORD_LENGTH 3
@@ -370,403 +367,3 @@ const nsCSSProps::NameTableEntry nsCSSProps::kNameTable[] = {
-
-// Keyword id tables for variant/enum parsing
-static PRInt32 kBackgroundAttachmentKTable[] = {
- KEYWORD_FIXED, NS_STYLE_BG_ATTACHMENT_FIXED,
- KEYWORD_SCROLL, NS_STYLE_BG_ATTACHMENT_SCROLL,
- -1,-1
-};
-
-static PRInt32 kBackgroundColorKTable[] = {
- KEYWORD_TRANSPARENT, NS_STYLE_BG_COLOR_TRANSPARENT,
- -1,-1
-};
-
-static PRInt32 kBackgroundRepeatKTable[] = {
- KEYWORD_NO_REPEAT, NS_STYLE_BG_REPEAT_OFF,
- KEYWORD_REPEAT, NS_STYLE_BG_REPEAT_XY,
- KEYWORD_REPEAT_X, NS_STYLE_BG_REPEAT_X,
- KEYWORD_REPEAT_Y, NS_STYLE_BG_REPEAT_Y,
- -1,-1
-};
-
-static PRInt32 kBorderStyleKTable[] = {
- KEYWORD_NONE, NS_STYLE_BORDER_STYLE_NONE,
- KEYWORD_DOTTED, NS_STYLE_BORDER_STYLE_DOTTED,
- KEYWORD_DASHED, NS_STYLE_BORDER_STYLE_DASHED,
- KEYWORD_SOLID, NS_STYLE_BORDER_STYLE_SOLID,
- KEYWORD_DOUBLE, NS_STYLE_BORDER_STYLE_DOUBLE,
- KEYWORD_GROOVE, NS_STYLE_BORDER_STYLE_GROOVE,
- KEYWORD_RIDGE, NS_STYLE_BORDER_STYLE_RIDGE,
- KEYWORD_INSET, NS_STYLE_BORDER_STYLE_INSET,
- KEYWORD_OUTSET, NS_STYLE_BORDER_STYLE_OUTSET,
- -1,-1
-};
-
-static PRInt32 kBorderWidthKTable[] = {
- KEYWORD_THIN, NS_STYLE_BORDER_WIDTH_THIN,
- KEYWORD_MEDIUM, NS_STYLE_BORDER_WIDTH_MEDIUM,
- KEYWORD_THICK, NS_STYLE_BORDER_WIDTH_THICK,
- -1,-1
-};
-
-static PRInt32 kClearKTable[] = {
- KEYWORD_NONE, NS_STYLE_CLEAR_NONE,
- KEYWORD_LEFT, NS_STYLE_CLEAR_LEFT,
- KEYWORD_RIGHT, NS_STYLE_CLEAR_RIGHT,
- KEYWORD_BOTH, NS_STYLE_CLEAR_LEFT_AND_RIGHT,
- -1,-1
-};
-
-static PRInt32 kCursorKTable[] = {
- KEYWORD_IBEAM, NS_STYLE_CURSOR_IBEAM,
- KEYWORD_ARROW, NS_STYLE_CURSOR_DEFAULT,
- KEYWORD_HAND, NS_STYLE_CURSOR_HAND,
- -1,-1
-};
-
-static PRInt32 kDirectionKTable[] = {
- KEYWORD_LTR, NS_STYLE_DIRECTION_LTR,
- KEYWORD_RTL, NS_STYLE_DIRECTION_RTL,
- KEYWORD_INHERIT, NS_STYLE_DIRECTION_INHERIT,
- -1,-1
-};
-
-static PRInt32 kDisplayKTable[] = {
- KEYWORD_NONE, NS_STYLE_DISPLAY_NONE,
- KEYWORD_BLOCK, NS_STYLE_DISPLAY_BLOCK,
- KEYWORD_INLINE, NS_STYLE_DISPLAY_INLINE,
- KEYWORD_LIST_ITEM, NS_STYLE_DISPLAY_LIST_ITEM,
- KEYWORD_MARKER, NS_STYLE_DISPLAY_MARKER,
- KEYWORD_RUN_IN, NS_STYLE_DISPLAY_RUN_IN,
- KEYWORD_COMPACT, NS_STYLE_DISPLAY_COMPACT,
- KEYWORD_TABLE, NS_STYLE_DISPLAY_TABLE,
- KEYWORD_INLINE_TABLE, NS_STYLE_DISPLAY_INLINE_TABLE,
- KEYWORD_TABLE_ROW_GROUP, NS_STYLE_DISPLAY_TABLE_ROW_GROUP,
- KEYWORD_TABLE_COLUMN, NS_STYLE_DISPLAY_TABLE_COLUMN,
- KEYWORD_TABLE_COLUMN_GROUP, NS_STYLE_DISPLAY_TABLE_COLUMN_GROUP,
- KEYWORD_TABLE_HEADER_GROUP, NS_STYLE_DISPLAY_TABLE_HEADER_GROUP,
- KEYWORD_TABLE_FOOTER_GROUP, NS_STYLE_DISPLAY_TABLE_FOOTER_GROUP,
- KEYWORD_TABLE_ROW, NS_STYLE_DISPLAY_TABLE_ROW,
- KEYWORD_TABLE_CELL, NS_STYLE_DISPLAY_TABLE_CELL,
- KEYWORD_TABLE_CAPTION, NS_STYLE_DISPLAY_TABLE_CAPTION,
- -1,-1
-};
-
-static PRInt32 kFloatKTable[] = {
- KEYWORD_NONE, NS_STYLE_FLOAT_NONE,
- KEYWORD_LEFT, NS_STYLE_FLOAT_LEFT,
- KEYWORD_RIGHT, NS_STYLE_FLOAT_RIGHT,
- -1,-1
-};
-
-static PRInt32 kFontSizeKTable[] = {
- KEYWORD_XX_SMALL, NS_STYLE_FONT_SIZE_XXSMALL,
- KEYWORD_X_SMALL, NS_STYLE_FONT_SIZE_XSMALL,
- KEYWORD_SMALL, NS_STYLE_FONT_SIZE_SMALL,
- KEYWORD_MEDIUM, NS_STYLE_FONT_SIZE_MEDIUM,
- KEYWORD_LARGE, NS_STYLE_FONT_SIZE_LARGE,
- KEYWORD_X_LARGE, NS_STYLE_FONT_SIZE_XLARGE,
- KEYWORD_XX_LARGE, NS_STYLE_FONT_SIZE_XXLARGE,
- KEYWORD_LARGER, NS_STYLE_FONT_SIZE_LARGER,
- KEYWORD_SMALLER, NS_STYLE_FONT_SIZE_SMALLER,
- -1,-1
-};
-
-static PRInt32 kFontStyleKTable[] = {
- KEYWORD_NORMAL, NS_STYLE_FONT_STYLE_NORMAL,
- KEYWORD_ITALIC, NS_STYLE_FONT_STYLE_ITALIC,
- KEYWORD_OBLIQUE, NS_STYLE_FONT_STYLE_OBLIQUE,
- -1,-1
-};
-
-static PRInt32 kFontVariantKTable[] = {
- KEYWORD_NORMAL, NS_STYLE_FONT_VARIANT_NORMAL,
- KEYWORD_SMALL_CAPS, NS_STYLE_FONT_VARIANT_SMALL_CAPS,
- -1,-1
-};
-
-static PRInt32 kListStyleImageKTable[] = {
- KEYWORD_NONE, NS_STYLE_LIST_STYLE_IMAGE_NONE,
- -1,-1
-};
-
-static PRInt32 kListStylePositionKTable[] = {
- KEYWORD_INSIDE, NS_STYLE_LIST_STYLE_POSITION_INSIDE,
- KEYWORD_OUTSIDE, NS_STYLE_LIST_STYLE_POSITION_OUTSIDE,
- -1,-1
-};
-
-static PRInt32 kListStyleKTable[] = {
- KEYWORD_NONE, NS_STYLE_LIST_STYLE_NONE,
- KEYWORD_DISC, NS_STYLE_LIST_STYLE_DISC,
- KEYWORD_CIRCLE, NS_STYLE_LIST_STYLE_CIRCLE,
- KEYWORD_SQUARE, NS_STYLE_LIST_STYLE_SQUARE,
- KEYWORD_DECIMAL, NS_STYLE_LIST_STYLE_DECIMAL,
- KEYWORD_LOWER_ROMAN, NS_STYLE_LIST_STYLE_LOWER_ROMAN,
- KEYWORD_UPPER_ROMAN, NS_STYLE_LIST_STYLE_UPPER_ROMAN,
- KEYWORD_LOWER_ALPHA, NS_STYLE_LIST_STYLE_LOWER_ALPHA,
- KEYWORD_UPPER_ALPHA, NS_STYLE_LIST_STYLE_UPPER_ALPHA,
- -1,-1
-};
-
-static PRInt32 kMarginSizeKTable[] = {
- KEYWORD_AUTO, NS_STYLE_MARGIN_SIZE_AUTO,
- -1,-1
-};
-
-static PRInt32 kOverflowKTable[] = {
- KEYWORD_VISIBLE, NS_STYLE_OVERFLOW_VISIBLE,
- KEYWORD_HIDDEN, NS_STYLE_OVERFLOW_HIDDEN,
- KEYWORD_SCROLL, NS_STYLE_OVERFLOW_SCROLL,
- KEYWORD_AUTO, NS_STYLE_OVERFLOW_AUTO,
- -1,-1
-};
-
-static PRInt32 kPositionKTable[] = {
- KEYWORD_RELATIVE, NS_STYLE_POSITION_RELATIVE,
- KEYWORD_ABSOLUTE, NS_STYLE_POSITION_ABSOLUTE,
- KEYWORD_FIXED, NS_STYLE_POSITION_FIXED,
- -1,-1
-};
-
-static PRInt32 kTextAlignKTable[] = {
- KEYWORD_LEFT, NS_STYLE_TEXT_ALIGN_LEFT,
- KEYWORD_RIGHT, NS_STYLE_TEXT_ALIGN_RIGHT,
- KEYWORD_CENTER, NS_STYLE_TEXT_ALIGN_CENTER,
- KEYWORD_JUSTIFY, NS_STYLE_TEXT_ALIGN_JUSTIFY,
- -1,-1
-};
-
-static PRInt32 kTextTransformKTable[] = {
- KEYWORD_NONE, NS_STYLE_TEXT_TRANSFORM_NONE,
- KEYWORD_CAPITALIZE, NS_STYLE_TEXT_TRANSFORM_CAPITALIZE,
- KEYWORD_LOWERCASE, NS_STYLE_TEXT_TRANSFORM_LOWERCASE,
- KEYWORD_UPPERCASE, NS_STYLE_TEXT_TRANSFORM_UPPERCASE,
- -1,-1
-};
-
-static PRInt32 kVerticalAlignKTable[] = {
- KEYWORD_BASELINE, NS_STYLE_VERTICAL_ALIGN_BASELINE,
- KEYWORD_SUB, NS_STYLE_VERTICAL_ALIGN_SUB,
- KEYWORD_SUPER, NS_STYLE_VERTICAL_ALIGN_SUPER,
- KEYWORD_TOP, NS_STYLE_VERTICAL_ALIGN_TOP,
- KEYWORD_TEXT_TOP, NS_STYLE_VERTICAL_ALIGN_TEXT_TOP,
- KEYWORD_MIDDLE, NS_STYLE_VERTICAL_ALIGN_MIDDLE,
- KEYWORD_BOTTOM, NS_STYLE_VERTICAL_ALIGN_BOTTOM,
- KEYWORD_TEXT_BOTTOM, NS_STYLE_VERTICAL_ALIGN_TEXT_BOTTOM,
- -1,-1
-};
-
-static PRInt32 kVisibilityKTable[] = {
- KEYWORD_VISIBLE, NS_STYLE_VISIBILITY_VISIBLE,
- KEYWORD_HIDDEN, NS_STYLE_VISIBILITY_HIDDEN,
- -1,-1
-};
-
-static PRInt32 kWhitespaceKTable[] = {
- KEYWORD_NORMAL, NS_STYLE_WHITESPACE_NORMAL,
- KEYWORD_PRE, NS_STYLE_WHITESPACE_PRE,
- KEYWORD_NOWRAP, NS_STYLE_WHITESPACE_NOWRAP,
- -1,-1
-};
-
-static const char* kBorderTopNames[] = {
- "border-top-width",
- "border-top-style",
- "border-top-color",
-};
-static const char* kBorderRightNames[] = {
- "border-right-width",
- "border-right-style",
- "border-right-color",
-};
-static const char* kBorderBottomNames[] = {
- "border-bottom-width",
- "border-bottom-style",
- "border-bottom-color",
-};
-static const char* kBorderLeftNames[] = {
- "border-left-width",
- "border-left-style",
- "border-left-color",
-};
-
-static const char* SearchKeywordTable(PRInt32 aID, PRInt32 aTable[])
-{
- PRInt32 i = 1;
- if (aID >= 0)
- {
- for (;;) {
- if (aTable[i] < 0) {
- break;
- }
- if (aID == aTable[i]) {
- return nsCSSKeywords::kNameTable[aTable[i-1]].name;
- }
- i += 2;
- }
- }
- return nsnull;
-}
-
-
-
-const char* nsCSSProps::LookupProperty(PRInt32 aProp, PRInt32 aIndex)
-{
- switch (aProp) {
-
- case PROP_BACKGROUND:
- break;
-
- case PROP_BACKGROUND_ATTACHMENT:
- return SearchKeywordTable(aIndex,kBackgroundAttachmentKTable);
-
- case PROP_BACKGROUND_COLOR:
- return SearchKeywordTable(aIndex,kBackgroundColorKTable);
-
- case PROP_BACKGROUND_FILTER:
- break;
-
- case PROP_BACKGROUND_IMAGE:
- break;
-
- case PROP_BACKGROUND_POSITION:
- break;
-
- case PROP_BACKGROUND_REPEAT:
- return SearchKeywordTable(aIndex,kBackgroundRepeatKTable);
-
- case PROP_BORDER:
- case PROP_BORDER_COLOR:
- case PROP_BORDER_STYLE:
- case PROP_BORDER_BOTTOM:
- case PROP_BORDER_LEFT:
- case PROP_BORDER_RIGHT:
- case PROP_BORDER_TOP:
- case PROP_BORDER_BOTTOM_COLOR:
- case PROP_BORDER_LEFT_COLOR:
- case PROP_BORDER_RIGHT_COLOR:
- case PROP_BORDER_TOP_COLOR:
- break;
-
- case PROP_BORDER_BOTTOM_STYLE:
- case PROP_BORDER_LEFT_STYLE:
- case PROP_BORDER_RIGHT_STYLE:
- case PROP_BORDER_TOP_STYLE:
- return SearchKeywordTable(aIndex,kBorderStyleKTable);
-
- case PROP_BORDER_BOTTOM_WIDTH:
- case PROP_BORDER_LEFT_WIDTH:
- case PROP_BORDER_RIGHT_WIDTH:
- case PROP_BORDER_TOP_WIDTH:
- return SearchKeywordTable(aIndex,kBorderWidthKTable);
-
- case PROP_BORDER_WIDTH:
- case PROP_CLEAR:
- return SearchKeywordTable(aIndex,kClearKTable);
-
- case PROP_CLIP:
- case PROP_COLOR:
- break;
-
- case PROP_CURSOR:
- return SearchKeywordTable(aIndex,kCursorKTable);
-
- case PROP_DIRECTION:
- return SearchKeywordTable(aIndex,kDirectionKTable);
-
- case PROP_DISPLAY:
- return SearchKeywordTable(aIndex,kDisplayKTable);
-
- case PROP_FILTER:
- break;
-
- case PROP_FLOAT:
- return SearchKeywordTable(aIndex,kFloatKTable);
-
- case PROP_FONT:
- case PROP_FONT_FAMILY:
- break;
-
- case PROP_FONT_SIZE:
- return SearchKeywordTable(aIndex,kFontSizeKTable);
-
- case PROP_FONT_STYLE:
- return SearchKeywordTable(aIndex,kFontStyleKTable);
-
- case PROP_FONT_VARIANT:
- return SearchKeywordTable(aIndex,kFontVariantKTable);
-
-
- case PROP_FONT_WEIGHT:
- case PROP_HEIGHT:
- case PROP_LEFT:
- case PROP_LINE_HEIGHT:
- case PROP_LIST_STYLE:
- break;
-
- case PROP_LIST_STYLE_IMAGE:
- return SearchKeywordTable(aIndex, kListStyleImageKTable);
-
- case PROP_LIST_STYLE_POSITION:
- return SearchKeywordTable(aIndex, kListStylePositionKTable);
-
-
- case PROP_LIST_STYLE_TYPE:
- return SearchKeywordTable(aIndex, kListStyleKTable);
-
- case PROP_MARGIN:
- case PROP_MARGIN_BOTTOM:
- case PROP_MARGIN_LEFT:
- case PROP_MARGIN_RIGHT:
- case PROP_MARGIN_TOP:
- return SearchKeywordTable(aIndex, kMarginSizeKTable);
-
- case PROP_PADDING:
- case PROP_PADDING_BOTTOM:
- case PROP_PADDING_LEFT:
- case PROP_PADDING_RIGHT:
- case PROP_PADDING_TOP:
- break;
-
- case PROP_OPACITY:
- break;
-
- case PROP_OVERFLOW:
- return SearchKeywordTable(aIndex, kOverflowKTable);
-
- case PROP_POSITION:
- return SearchKeywordTable(aIndex, kPositionKTable);
-
- case PROP_TEXT_ALIGN:
- return SearchKeywordTable(aIndex, kTextAlignKTable);
-
- case PROP_TEXT_DECORATION:
- case PROP_TEXT_INDENT:
- break;
-
- case PROP_TEXT_TRANSFORM:
- return SearchKeywordTable(aIndex, kTextTransformKTable);
-
- case PROP_TOP:
- break;
-
- case PROP_VERTICAL_ALIGN:
- return SearchKeywordTable(aIndex, kVerticalAlignKTable);
-
- case PROP_VISIBILITY:
- return SearchKeywordTable(aIndex, kVisibilityKTable);
-
- case PROP_WHITE_SPACE:
- return SearchKeywordTable(aIndex, kWhitespaceKTable);
-
- case PROP_WIDTH:
- case PROP_LETTER_SPACING:
- case PROP_WORD_SPACING:
- case PROP_Z_INDEX:
- break;
- }
- return nsnull;
-}
diff --git a/mozilla/layout/html/style/src/nsCSSProps.h b/mozilla/layout/html/style/src/nsCSSProps.h
index 9fddff3b07c..402462b3d73 100644
--- a/mozilla/layout/html/style/src/nsCSSProps.h
+++ b/mozilla/layout/html/style/src/nsCSSProps.h
@@ -41,6 +41,8 @@ public:
// A table whose index is the tag id (from nsCSSPropIDs)
static const NameTableEntry kNameTable[];
+
+ static const PRInt32 kHintTable[];
};
#endif /* nsCSSProps_h___ */
diff --git a/mozilla/layout/html/style/src/nsCSSProps2.cpp b/mozilla/layout/html/style/src/nsCSSProps2.cpp
new file mode 100644
index 00000000000..64e571a63ae
--- /dev/null
+++ b/mozilla/layout/html/style/src/nsCSSProps2.cpp
@@ -0,0 +1,495 @@
+
+/**
+ * This is the non-generated part of nsCSSProps
+ */
+
+#include "nsCSSProps.h"
+#include "nsCSSKeywordIDs.h"
+#include "nsStyleConsts.h"
+#include "nsCSSKeywords.h"
+
+
+// Keyword id tables for variant/enum parsing
+static PRInt32 kBackgroundAttachmentKTable[] = {
+ KEYWORD_FIXED, NS_STYLE_BG_ATTACHMENT_FIXED,
+ KEYWORD_SCROLL, NS_STYLE_BG_ATTACHMENT_SCROLL,
+ -1,-1
+};
+
+static PRInt32 kBackgroundColorKTable[] = {
+ KEYWORD_TRANSPARENT, NS_STYLE_BG_COLOR_TRANSPARENT,
+ -1,-1
+};
+
+static PRInt32 kBackgroundRepeatKTable[] = {
+ KEYWORD_NO_REPEAT, NS_STYLE_BG_REPEAT_OFF,
+ KEYWORD_REPEAT, NS_STYLE_BG_REPEAT_XY,
+ KEYWORD_REPEAT_X, NS_STYLE_BG_REPEAT_X,
+ KEYWORD_REPEAT_Y, NS_STYLE_BG_REPEAT_Y,
+ -1,-1
+};
+
+static PRInt32 kBorderStyleKTable[] = {
+ KEYWORD_NONE, NS_STYLE_BORDER_STYLE_NONE,
+ KEYWORD_DOTTED, NS_STYLE_BORDER_STYLE_DOTTED,
+ KEYWORD_DASHED, NS_STYLE_BORDER_STYLE_DASHED,
+ KEYWORD_SOLID, NS_STYLE_BORDER_STYLE_SOLID,
+ KEYWORD_DOUBLE, NS_STYLE_BORDER_STYLE_DOUBLE,
+ KEYWORD_GROOVE, NS_STYLE_BORDER_STYLE_GROOVE,
+ KEYWORD_RIDGE, NS_STYLE_BORDER_STYLE_RIDGE,
+ KEYWORD_INSET, NS_STYLE_BORDER_STYLE_INSET,
+ KEYWORD_OUTSET, NS_STYLE_BORDER_STYLE_OUTSET,
+ -1,-1
+};
+
+static PRInt32 kBorderWidthKTable[] = {
+ KEYWORD_THIN, NS_STYLE_BORDER_WIDTH_THIN,
+ KEYWORD_MEDIUM, NS_STYLE_BORDER_WIDTH_MEDIUM,
+ KEYWORD_THICK, NS_STYLE_BORDER_WIDTH_THICK,
+ -1,-1
+};
+
+static PRInt32 kClearKTable[] = {
+ KEYWORD_NONE, NS_STYLE_CLEAR_NONE,
+ KEYWORD_LEFT, NS_STYLE_CLEAR_LEFT,
+ KEYWORD_RIGHT, NS_STYLE_CLEAR_RIGHT,
+ KEYWORD_BOTH, NS_STYLE_CLEAR_LEFT_AND_RIGHT,
+ -1,-1
+};
+
+static PRInt32 kCursorKTable[] = {
+ KEYWORD_IBEAM, NS_STYLE_CURSOR_IBEAM,
+ KEYWORD_ARROW, NS_STYLE_CURSOR_DEFAULT,
+ KEYWORD_HAND, NS_STYLE_CURSOR_HAND,
+ -1,-1
+};
+
+static PRInt32 kDirectionKTable[] = {
+ KEYWORD_LTR, NS_STYLE_DIRECTION_LTR,
+ KEYWORD_RTL, NS_STYLE_DIRECTION_RTL,
+ KEYWORD_INHERIT, NS_STYLE_DIRECTION_INHERIT,
+ -1,-1
+};
+
+static PRInt32 kDisplayKTable[] = {
+ KEYWORD_NONE, NS_STYLE_DISPLAY_NONE,
+ KEYWORD_BLOCK, NS_STYLE_DISPLAY_BLOCK,
+ KEYWORD_INLINE, NS_STYLE_DISPLAY_INLINE,
+ KEYWORD_LIST_ITEM, NS_STYLE_DISPLAY_LIST_ITEM,
+ KEYWORD_MARKER, NS_STYLE_DISPLAY_MARKER,
+ KEYWORD_RUN_IN, NS_STYLE_DISPLAY_RUN_IN,
+ KEYWORD_COMPACT, NS_STYLE_DISPLAY_COMPACT,
+ KEYWORD_TABLE, NS_STYLE_DISPLAY_TABLE,
+ KEYWORD_INLINE_TABLE, NS_STYLE_DISPLAY_INLINE_TABLE,
+ KEYWORD_TABLE_ROW_GROUP, NS_STYLE_DISPLAY_TABLE_ROW_GROUP,
+ KEYWORD_TABLE_COLUMN, NS_STYLE_DISPLAY_TABLE_COLUMN,
+ KEYWORD_TABLE_COLUMN_GROUP, NS_STYLE_DISPLAY_TABLE_COLUMN_GROUP,
+ KEYWORD_TABLE_HEADER_GROUP, NS_STYLE_DISPLAY_TABLE_HEADER_GROUP,
+ KEYWORD_TABLE_FOOTER_GROUP, NS_STYLE_DISPLAY_TABLE_FOOTER_GROUP,
+ KEYWORD_TABLE_ROW, NS_STYLE_DISPLAY_TABLE_ROW,
+ KEYWORD_TABLE_CELL, NS_STYLE_DISPLAY_TABLE_CELL,
+ KEYWORD_TABLE_CAPTION, NS_STYLE_DISPLAY_TABLE_CAPTION,
+ -1,-1
+};
+
+static PRInt32 kFloatKTable[] = {
+ KEYWORD_NONE, NS_STYLE_FLOAT_NONE,
+ KEYWORD_LEFT, NS_STYLE_FLOAT_LEFT,
+ KEYWORD_RIGHT, NS_STYLE_FLOAT_RIGHT,
+ -1,-1
+};
+
+static PRInt32 kFontSizeKTable[] = {
+ KEYWORD_XX_SMALL, NS_STYLE_FONT_SIZE_XXSMALL,
+ KEYWORD_X_SMALL, NS_STYLE_FONT_SIZE_XSMALL,
+ KEYWORD_SMALL, NS_STYLE_FONT_SIZE_SMALL,
+ KEYWORD_MEDIUM, NS_STYLE_FONT_SIZE_MEDIUM,
+ KEYWORD_LARGE, NS_STYLE_FONT_SIZE_LARGE,
+ KEYWORD_X_LARGE, NS_STYLE_FONT_SIZE_XLARGE,
+ KEYWORD_XX_LARGE, NS_STYLE_FONT_SIZE_XXLARGE,
+ KEYWORD_LARGER, NS_STYLE_FONT_SIZE_LARGER,
+ KEYWORD_SMALLER, NS_STYLE_FONT_SIZE_SMALLER,
+ -1,-1
+};
+
+static PRInt32 kFontStyleKTable[] = {
+ KEYWORD_NORMAL, NS_STYLE_FONT_STYLE_NORMAL,
+ KEYWORD_ITALIC, NS_STYLE_FONT_STYLE_ITALIC,
+ KEYWORD_OBLIQUE, NS_STYLE_FONT_STYLE_OBLIQUE,
+ -1,-1
+};
+
+static PRInt32 kFontVariantKTable[] = {
+ KEYWORD_NORMAL, NS_STYLE_FONT_VARIANT_NORMAL,
+ KEYWORD_SMALL_CAPS, NS_STYLE_FONT_VARIANT_SMALL_CAPS,
+ -1,-1
+};
+
+static PRInt32 kListStyleImageKTable[] = {
+ KEYWORD_NONE, NS_STYLE_LIST_STYLE_IMAGE_NONE,
+ -1,-1
+};
+
+static PRInt32 kListStylePositionKTable[] = {
+ KEYWORD_INSIDE, NS_STYLE_LIST_STYLE_POSITION_INSIDE,
+ KEYWORD_OUTSIDE, NS_STYLE_LIST_STYLE_POSITION_OUTSIDE,
+ -1,-1
+};
+
+static PRInt32 kListStyleKTable[] = {
+ KEYWORD_NONE, NS_STYLE_LIST_STYLE_NONE,
+ KEYWORD_DISC, NS_STYLE_LIST_STYLE_DISC,
+ KEYWORD_CIRCLE, NS_STYLE_LIST_STYLE_CIRCLE,
+ KEYWORD_SQUARE, NS_STYLE_LIST_STYLE_SQUARE,
+ KEYWORD_DECIMAL, NS_STYLE_LIST_STYLE_DECIMAL,
+ KEYWORD_LOWER_ROMAN, NS_STYLE_LIST_STYLE_LOWER_ROMAN,
+ KEYWORD_UPPER_ROMAN, NS_STYLE_LIST_STYLE_UPPER_ROMAN,
+ KEYWORD_LOWER_ALPHA, NS_STYLE_LIST_STYLE_LOWER_ALPHA,
+ KEYWORD_UPPER_ALPHA, NS_STYLE_LIST_STYLE_UPPER_ALPHA,
+ -1,-1
+};
+
+static PRInt32 kMarginSizeKTable[] = {
+ KEYWORD_AUTO, NS_STYLE_MARGIN_SIZE_AUTO,
+ -1,-1
+};
+
+static PRInt32 kOverflowKTable[] = {
+ KEYWORD_VISIBLE, NS_STYLE_OVERFLOW_VISIBLE,
+ KEYWORD_HIDDEN, NS_STYLE_OVERFLOW_HIDDEN,
+ KEYWORD_SCROLL, NS_STYLE_OVERFLOW_SCROLL,
+ KEYWORD_AUTO, NS_STYLE_OVERFLOW_AUTO,
+ -1,-1
+};
+
+static PRInt32 kPositionKTable[] = {
+ KEYWORD_RELATIVE, NS_STYLE_POSITION_RELATIVE,
+ KEYWORD_ABSOLUTE, NS_STYLE_POSITION_ABSOLUTE,
+ KEYWORD_FIXED, NS_STYLE_POSITION_FIXED,
+ -1,-1
+};
+
+static PRInt32 kTextAlignKTable[] = {
+ KEYWORD_LEFT, NS_STYLE_TEXT_ALIGN_LEFT,
+ KEYWORD_RIGHT, NS_STYLE_TEXT_ALIGN_RIGHT,
+ KEYWORD_CENTER, NS_STYLE_TEXT_ALIGN_CENTER,
+ KEYWORD_JUSTIFY, NS_STYLE_TEXT_ALIGN_JUSTIFY,
+ -1,-1
+};
+
+static PRInt32 kTextTransformKTable[] = {
+ KEYWORD_NONE, NS_STYLE_TEXT_TRANSFORM_NONE,
+ KEYWORD_CAPITALIZE, NS_STYLE_TEXT_TRANSFORM_CAPITALIZE,
+ KEYWORD_LOWERCASE, NS_STYLE_TEXT_TRANSFORM_LOWERCASE,
+ KEYWORD_UPPERCASE, NS_STYLE_TEXT_TRANSFORM_UPPERCASE,
+ -1,-1
+};
+
+static PRInt32 kVerticalAlignKTable[] = {
+ KEYWORD_BASELINE, NS_STYLE_VERTICAL_ALIGN_BASELINE,
+ KEYWORD_SUB, NS_STYLE_VERTICAL_ALIGN_SUB,
+ KEYWORD_SUPER, NS_STYLE_VERTICAL_ALIGN_SUPER,
+ KEYWORD_TOP, NS_STYLE_VERTICAL_ALIGN_TOP,
+ KEYWORD_TEXT_TOP, NS_STYLE_VERTICAL_ALIGN_TEXT_TOP,
+ KEYWORD_MIDDLE, NS_STYLE_VERTICAL_ALIGN_MIDDLE,
+ KEYWORD_BOTTOM, NS_STYLE_VERTICAL_ALIGN_BOTTOM,
+ KEYWORD_TEXT_BOTTOM, NS_STYLE_VERTICAL_ALIGN_TEXT_BOTTOM,
+ -1,-1
+};
+
+static PRInt32 kVisibilityKTable[] = {
+ KEYWORD_VISIBLE, NS_STYLE_VISIBILITY_VISIBLE,
+ KEYWORD_HIDDEN, NS_STYLE_VISIBILITY_HIDDEN,
+ -1,-1
+};
+
+static PRInt32 kWhitespaceKTable[] = {
+ KEYWORD_NORMAL, NS_STYLE_WHITESPACE_NORMAL,
+ KEYWORD_PRE, NS_STYLE_WHITESPACE_PRE,
+ KEYWORD_NOWRAP, NS_STYLE_WHITESPACE_NOWRAP,
+ -1,-1
+};
+
+static const char* kBorderTopNames[] = {
+ "border-top-width",
+ "border-top-style",
+ "border-top-color",
+};
+static const char* kBorderRightNames[] = {
+ "border-right-width",
+ "border-right-style",
+ "border-right-color",
+};
+static const char* kBorderBottomNames[] = {
+ "border-bottom-width",
+ "border-bottom-style",
+ "border-bottom-color",
+};
+static const char* kBorderLeftNames[] = {
+ "border-left-width",
+ "border-left-style",
+ "border-left-color",
+};
+
+static const char* SearchKeywordTable(PRInt32 aID, PRInt32 aTable[])
+{
+ PRInt32 i = 1;
+ if (aID >= 0)
+ {
+ for (;;) {
+ if (aTable[i] < 0) {
+ break;
+ }
+ if (aID == aTable[i]) {
+ return nsCSSKeywords::kNameTable[aTable[i-1]].name;
+ }
+ i += 2;
+ }
+ }
+ return nsnull;
+}
+
+
+
+const char* nsCSSProps::LookupProperty(PRInt32 aProp, PRInt32 aIndex)
+{
+ switch (aProp) {
+
+ case PROP_BACKGROUND:
+ break;
+
+ case PROP_BACKGROUND_ATTACHMENT:
+ return SearchKeywordTable(aIndex,kBackgroundAttachmentKTable);
+
+ case PROP_BACKGROUND_COLOR:
+ return SearchKeywordTable(aIndex,kBackgroundColorKTable);
+
+ case PROP_BACKGROUND_FILTER:
+ break;
+
+ case PROP_BACKGROUND_IMAGE:
+ break;
+
+ case PROP_BACKGROUND_POSITION:
+ break;
+
+ case PROP_BACKGROUND_REPEAT:
+ return SearchKeywordTable(aIndex,kBackgroundRepeatKTable);
+
+ case PROP_BORDER:
+ case PROP_BORDER_COLOR:
+ case PROP_BORDER_STYLE:
+ case PROP_BORDER_BOTTOM:
+ case PROP_BORDER_LEFT:
+ case PROP_BORDER_RIGHT:
+ case PROP_BORDER_TOP:
+ case PROP_BORDER_BOTTOM_COLOR:
+ case PROP_BORDER_LEFT_COLOR:
+ case PROP_BORDER_RIGHT_COLOR:
+ case PROP_BORDER_TOP_COLOR:
+ break;
+
+ case PROP_BORDER_BOTTOM_STYLE:
+ case PROP_BORDER_LEFT_STYLE:
+ case PROP_BORDER_RIGHT_STYLE:
+ case PROP_BORDER_TOP_STYLE:
+ return SearchKeywordTable(aIndex,kBorderStyleKTable);
+
+ case PROP_BORDER_BOTTOM_WIDTH:
+ case PROP_BORDER_LEFT_WIDTH:
+ case PROP_BORDER_RIGHT_WIDTH:
+ case PROP_BORDER_TOP_WIDTH:
+ return SearchKeywordTable(aIndex,kBorderWidthKTable);
+
+ case PROP_BORDER_WIDTH:
+ case PROP_CLEAR:
+ return SearchKeywordTable(aIndex,kClearKTable);
+
+ case PROP_CLIP:
+ case PROP_COLOR:
+ break;
+
+ case PROP_CURSOR:
+ return SearchKeywordTable(aIndex,kCursorKTable);
+
+ case PROP_DIRECTION:
+ return SearchKeywordTable(aIndex,kDirectionKTable);
+
+ case PROP_DISPLAY:
+ return SearchKeywordTable(aIndex,kDisplayKTable);
+
+ case PROP_FILTER:
+ break;
+
+ case PROP_FLOAT:
+ return SearchKeywordTable(aIndex,kFloatKTable);
+
+ case PROP_FONT:
+ case PROP_FONT_FAMILY:
+ break;
+
+ case PROP_FONT_SIZE:
+ return SearchKeywordTable(aIndex,kFontSizeKTable);
+
+ case PROP_FONT_STYLE:
+ return SearchKeywordTable(aIndex,kFontStyleKTable);
+
+ case PROP_FONT_VARIANT:
+ return SearchKeywordTable(aIndex,kFontVariantKTable);
+
+
+ case PROP_FONT_WEIGHT:
+ case PROP_HEIGHT:
+ case PROP_LEFT:
+ case PROP_LINE_HEIGHT:
+ case PROP_LIST_STYLE:
+ break;
+
+ case PROP_LIST_STYLE_IMAGE:
+ return SearchKeywordTable(aIndex, kListStyleImageKTable);
+
+ case PROP_LIST_STYLE_POSITION:
+ return SearchKeywordTable(aIndex, kListStylePositionKTable);
+
+
+ case PROP_LIST_STYLE_TYPE:
+ return SearchKeywordTable(aIndex, kListStyleKTable);
+
+ case PROP_MARGIN:
+ case PROP_MARGIN_BOTTOM:
+ case PROP_MARGIN_LEFT:
+ case PROP_MARGIN_RIGHT:
+ case PROP_MARGIN_TOP:
+ return SearchKeywordTable(aIndex, kMarginSizeKTable);
+
+ case PROP_PADDING:
+ case PROP_PADDING_BOTTOM:
+ case PROP_PADDING_LEFT:
+ case PROP_PADDING_RIGHT:
+ case PROP_PADDING_TOP:
+ break;
+
+ case PROP_OPACITY:
+ break;
+
+ case PROP_OVERFLOW:
+ return SearchKeywordTable(aIndex, kOverflowKTable);
+
+ case PROP_POSITION:
+ return SearchKeywordTable(aIndex, kPositionKTable);
+
+ case PROP_TEXT_ALIGN:
+ return SearchKeywordTable(aIndex, kTextAlignKTable);
+
+ case PROP_TEXT_DECORATION:
+ case PROP_TEXT_INDENT:
+ break;
+
+ case PROP_TEXT_TRANSFORM:
+ return SearchKeywordTable(aIndex, kTextTransformKTable);
+
+ case PROP_TOP:
+ break;
+
+ case PROP_VERTICAL_ALIGN:
+ return SearchKeywordTable(aIndex, kVerticalAlignKTable);
+
+ case PROP_VISIBILITY:
+ return SearchKeywordTable(aIndex, kVisibilityKTable);
+
+ case PROP_WHITE_SPACE:
+ return SearchKeywordTable(aIndex, kWhitespaceKTable);
+
+ case PROP_WIDTH:
+ case PROP_LETTER_SPACING:
+ case PROP_WORD_SPACING:
+ case PROP_Z_INDEX:
+ break;
+ }
+ return nsnull;
+}
+
+
+const PRInt32 nsCSSProps::kHintTable[] = {
+ NS_STYLE_HINT_VISUAL, // PROP_BACKGROUND
+ NS_STYLE_HINT_VISUAL, // PROP_BACKGROUND_ATTACHMENT
+ NS_STYLE_HINT_VISUAL, // PROP_BACKGROUND_COLOR
+ NS_STYLE_HINT_VISUAL, // PROP_BACKGROUND_FILTER
+ NS_STYLE_HINT_VISUAL, // PROP_BACKGROUND_IMAGE
+ NS_STYLE_HINT_VISUAL, // PROP_BACKGROUND_POSITION
+ NS_STYLE_HINT_VISUAL, // PROP_BACKGROUND_X_POSITION
+ NS_STYLE_HINT_VISUAL, // PROP_BACKGROUND_Y_POSITION
+ NS_STYLE_HINT_VISUAL, // PROP_BACKGROUND_REPEAT
+ NS_STYLE_HINT_REFLOW, // PROP_BORDER
+ NS_STYLE_HINT_REFLOW, // PROP_BORDER_BOTTOM
+ NS_STYLE_HINT_VISUAL, // PROP_BORDER_BOTTOM_COLOR
+ NS_STYLE_HINT_VISUAL, // PROP_BORDER_BOTTOM_STYLE
+ NS_STYLE_HINT_REFLOW, // PROP_BORDER_BOTTOM_WIDTH
+ NS_STYLE_HINT_VISUAL, // PROP_BORDER_COLOR
+ NS_STYLE_HINT_REFLOW, // PROP_BORDER_LEFT
+ NS_STYLE_HINT_VISUAL, // PROP_BORDER_LEFT_COLOR
+ NS_STYLE_HINT_VISUAL, // PROP_BORDER_LEFT_STYLE
+ NS_STYLE_HINT_REFLOW, // PROP_BORDER_LEFT_WIDTH
+ NS_STYLE_HINT_REFLOW, // PROP_BORDER_RIGHT
+ NS_STYLE_HINT_VISUAL, // PROP_BORDER_RIGHT_COLOR
+ NS_STYLE_HINT_VISUAL, // PROP_BORDER_RIGHT_STYLE
+ NS_STYLE_HINT_REFLOW, // PROP_BORDER_RIGHT_WIDTH
+ NS_STYLE_HINT_VISUAL, // PROP_BORDER_STYLE
+ NS_STYLE_HINT_REFLOW, // PROP_BORDER_TOP
+ NS_STYLE_HINT_VISUAL, // PROP_BORDER_TOP_COLOR
+ NS_STYLE_HINT_VISUAL, // PROP_BORDER_TOP_STYLE
+ NS_STYLE_HINT_REFLOW, // PROP_BORDER_TOP_WIDTH
+ NS_STYLE_HINT_REFLOW, // PROP_BORDER_WIDTH
+ NS_STYLE_HINT_REFLOW, // PROP_CLEAR
+ NS_STYLE_HINT_VISUAL, // PROP_CLIP
+ NS_STYLE_HINT_VISUAL, // PROP_CLIP_BOTTOM
+ NS_STYLE_HINT_VISUAL, // PROP_CLIP_LEFT
+ NS_STYLE_HINT_VISUAL, // PROP_CLIP_RIGHT
+ NS_STYLE_HINT_VISUAL, // PROP_CLIP_TOP
+ NS_STYLE_HINT_VISUAL, // PROP_COLOR
+ NS_STYLE_HINT_VISUAL, // PROP_CURSOR
+ NS_STYLE_HINT_VISUAL, // PROP_CURSOR_IMAGE
+ NS_STYLE_HINT_REFLOW, // PROP_DIRECTION
+ NS_STYLE_HINT_FRAMECHANGE, // PROP_DISPLAY
+ NS_STYLE_HINT_VISUAL, // PROP_FILTER
+ NS_STYLE_HINT_FRAMECHANGE, // PROP_FLOAT
+ NS_STYLE_HINT_REFLOW, // PROP_FONT
+ NS_STYLE_HINT_REFLOW, // PROP_FONT_FAMILY
+ NS_STYLE_HINT_REFLOW, // PROP_FONT_SIZE
+ NS_STYLE_HINT_REFLOW, // PROP_FONT_STYLE
+ NS_STYLE_HINT_REFLOW, // PROP_FONT_VARIANT
+ NS_STYLE_HINT_REFLOW, // PROP_FONT_WEIGHT
+ NS_STYLE_HINT_REFLOW, // PROP_HEIGHT
+ NS_STYLE_HINT_REFLOW, // PROP_LEFT
+ NS_STYLE_HINT_REFLOW, // PROP_LETTER_SPACING
+ NS_STYLE_HINT_REFLOW, // PROP_LINE_HEIGHT
+ NS_STYLE_HINT_REFLOW, // PROP_LIST_STYLE
+ NS_STYLE_HINT_REFLOW, // PROP_LIST_STYLE_IMAGE
+ NS_STYLE_HINT_REFLOW, // PROP_LIST_STYLE_POSITION
+ NS_STYLE_HINT_REFLOW, // PROP_LIST_STYLE_TYPE
+ NS_STYLE_HINT_REFLOW, // PROP_MARGIN
+ NS_STYLE_HINT_REFLOW, // PROP_MARGIN_BOTTOM
+ NS_STYLE_HINT_REFLOW, // PROP_MARGIN_LEFT
+ NS_STYLE_HINT_REFLOW, // PROP_MARGIN_RIGHT
+ NS_STYLE_HINT_REFLOW, // PROP_MARGIN_TOP
+ NS_STYLE_HINT_VISUAL, // PROP_OPACITY
+ NS_STYLE_HINT_REFLOW, // PROP_OVERFLOW
+ NS_STYLE_HINT_REFLOW, // PROP_PADDING
+ NS_STYLE_HINT_REFLOW, // PROP_PADDING_BOTTOM
+ NS_STYLE_HINT_REFLOW, // PROP_PADDING_LEFT
+ NS_STYLE_HINT_REFLOW, // PROP_PADDING_RIGHT
+ NS_STYLE_HINT_REFLOW, // PROP_PADDING_TOP
+ NS_STYLE_HINT_FRAMECHANGE, // PROP_POSITION
+ NS_STYLE_HINT_REFLOW, // PROP_TEXT_ALIGN
+ NS_STYLE_HINT_VISUAL, // PROP_TEXT_DECORATION
+ NS_STYLE_HINT_REFLOW, // PROP_TEXT_INDENT
+ NS_STYLE_HINT_REFLOW, // PROP_TEXT_TRANSFORM
+ NS_STYLE_HINT_REFLOW, // PROP_TOP
+ NS_STYLE_HINT_REFLOW, // PROP_VERTICAL_ALIGN
+ NS_STYLE_HINT_REFLOW, // PROP_VISIBILITY (for collapse)
+ NS_STYLE_HINT_REFLOW, // PROP_WHITE_SPACE
+ NS_STYLE_HINT_REFLOW, // PROP_WIDTH
+ NS_STYLE_HINT_REFLOW, // PROP_WORD_SPACING
+ NS_STYLE_HINT_REFLOW // PROP_Z_INDEX (XXX visual?)
+};
+
diff --git a/mozilla/layout/style/nsCSSProps.cpp b/mozilla/layout/style/nsCSSProps.cpp
index 6b2c8c2acfb..509329f5634 100644
--- a/mozilla/layout/style/nsCSSProps.cpp
+++ b/mozilla/layout/style/nsCSSProps.cpp
@@ -6,9 +6,6 @@
#include "plstr.h"
#include "nsCSSProps.h"
-#include "nsCSSKeywordIDs.h"
-#include "nsStyleConsts.h"
-#include "nsCSSKeywords.h"
#define TOTAL_KEYWORDS 80
#define MIN_WORD_LENGTH 3
@@ -370,403 +367,3 @@ const nsCSSProps::NameTableEntry nsCSSProps::kNameTable[] = {
-
-// Keyword id tables for variant/enum parsing
-static PRInt32 kBackgroundAttachmentKTable[] = {
- KEYWORD_FIXED, NS_STYLE_BG_ATTACHMENT_FIXED,
- KEYWORD_SCROLL, NS_STYLE_BG_ATTACHMENT_SCROLL,
- -1,-1
-};
-
-static PRInt32 kBackgroundColorKTable[] = {
- KEYWORD_TRANSPARENT, NS_STYLE_BG_COLOR_TRANSPARENT,
- -1,-1
-};
-
-static PRInt32 kBackgroundRepeatKTable[] = {
- KEYWORD_NO_REPEAT, NS_STYLE_BG_REPEAT_OFF,
- KEYWORD_REPEAT, NS_STYLE_BG_REPEAT_XY,
- KEYWORD_REPEAT_X, NS_STYLE_BG_REPEAT_X,
- KEYWORD_REPEAT_Y, NS_STYLE_BG_REPEAT_Y,
- -1,-1
-};
-
-static PRInt32 kBorderStyleKTable[] = {
- KEYWORD_NONE, NS_STYLE_BORDER_STYLE_NONE,
- KEYWORD_DOTTED, NS_STYLE_BORDER_STYLE_DOTTED,
- KEYWORD_DASHED, NS_STYLE_BORDER_STYLE_DASHED,
- KEYWORD_SOLID, NS_STYLE_BORDER_STYLE_SOLID,
- KEYWORD_DOUBLE, NS_STYLE_BORDER_STYLE_DOUBLE,
- KEYWORD_GROOVE, NS_STYLE_BORDER_STYLE_GROOVE,
- KEYWORD_RIDGE, NS_STYLE_BORDER_STYLE_RIDGE,
- KEYWORD_INSET, NS_STYLE_BORDER_STYLE_INSET,
- KEYWORD_OUTSET, NS_STYLE_BORDER_STYLE_OUTSET,
- -1,-1
-};
-
-static PRInt32 kBorderWidthKTable[] = {
- KEYWORD_THIN, NS_STYLE_BORDER_WIDTH_THIN,
- KEYWORD_MEDIUM, NS_STYLE_BORDER_WIDTH_MEDIUM,
- KEYWORD_THICK, NS_STYLE_BORDER_WIDTH_THICK,
- -1,-1
-};
-
-static PRInt32 kClearKTable[] = {
- KEYWORD_NONE, NS_STYLE_CLEAR_NONE,
- KEYWORD_LEFT, NS_STYLE_CLEAR_LEFT,
- KEYWORD_RIGHT, NS_STYLE_CLEAR_RIGHT,
- KEYWORD_BOTH, NS_STYLE_CLEAR_LEFT_AND_RIGHT,
- -1,-1
-};
-
-static PRInt32 kCursorKTable[] = {
- KEYWORD_IBEAM, NS_STYLE_CURSOR_IBEAM,
- KEYWORD_ARROW, NS_STYLE_CURSOR_DEFAULT,
- KEYWORD_HAND, NS_STYLE_CURSOR_HAND,
- -1,-1
-};
-
-static PRInt32 kDirectionKTable[] = {
- KEYWORD_LTR, NS_STYLE_DIRECTION_LTR,
- KEYWORD_RTL, NS_STYLE_DIRECTION_RTL,
- KEYWORD_INHERIT, NS_STYLE_DIRECTION_INHERIT,
- -1,-1
-};
-
-static PRInt32 kDisplayKTable[] = {
- KEYWORD_NONE, NS_STYLE_DISPLAY_NONE,
- KEYWORD_BLOCK, NS_STYLE_DISPLAY_BLOCK,
- KEYWORD_INLINE, NS_STYLE_DISPLAY_INLINE,
- KEYWORD_LIST_ITEM, NS_STYLE_DISPLAY_LIST_ITEM,
- KEYWORD_MARKER, NS_STYLE_DISPLAY_MARKER,
- KEYWORD_RUN_IN, NS_STYLE_DISPLAY_RUN_IN,
- KEYWORD_COMPACT, NS_STYLE_DISPLAY_COMPACT,
- KEYWORD_TABLE, NS_STYLE_DISPLAY_TABLE,
- KEYWORD_INLINE_TABLE, NS_STYLE_DISPLAY_INLINE_TABLE,
- KEYWORD_TABLE_ROW_GROUP, NS_STYLE_DISPLAY_TABLE_ROW_GROUP,
- KEYWORD_TABLE_COLUMN, NS_STYLE_DISPLAY_TABLE_COLUMN,
- KEYWORD_TABLE_COLUMN_GROUP, NS_STYLE_DISPLAY_TABLE_COLUMN_GROUP,
- KEYWORD_TABLE_HEADER_GROUP, NS_STYLE_DISPLAY_TABLE_HEADER_GROUP,
- KEYWORD_TABLE_FOOTER_GROUP, NS_STYLE_DISPLAY_TABLE_FOOTER_GROUP,
- KEYWORD_TABLE_ROW, NS_STYLE_DISPLAY_TABLE_ROW,
- KEYWORD_TABLE_CELL, NS_STYLE_DISPLAY_TABLE_CELL,
- KEYWORD_TABLE_CAPTION, NS_STYLE_DISPLAY_TABLE_CAPTION,
- -1,-1
-};
-
-static PRInt32 kFloatKTable[] = {
- KEYWORD_NONE, NS_STYLE_FLOAT_NONE,
- KEYWORD_LEFT, NS_STYLE_FLOAT_LEFT,
- KEYWORD_RIGHT, NS_STYLE_FLOAT_RIGHT,
- -1,-1
-};
-
-static PRInt32 kFontSizeKTable[] = {
- KEYWORD_XX_SMALL, NS_STYLE_FONT_SIZE_XXSMALL,
- KEYWORD_X_SMALL, NS_STYLE_FONT_SIZE_XSMALL,
- KEYWORD_SMALL, NS_STYLE_FONT_SIZE_SMALL,
- KEYWORD_MEDIUM, NS_STYLE_FONT_SIZE_MEDIUM,
- KEYWORD_LARGE, NS_STYLE_FONT_SIZE_LARGE,
- KEYWORD_X_LARGE, NS_STYLE_FONT_SIZE_XLARGE,
- KEYWORD_XX_LARGE, NS_STYLE_FONT_SIZE_XXLARGE,
- KEYWORD_LARGER, NS_STYLE_FONT_SIZE_LARGER,
- KEYWORD_SMALLER, NS_STYLE_FONT_SIZE_SMALLER,
- -1,-1
-};
-
-static PRInt32 kFontStyleKTable[] = {
- KEYWORD_NORMAL, NS_STYLE_FONT_STYLE_NORMAL,
- KEYWORD_ITALIC, NS_STYLE_FONT_STYLE_ITALIC,
- KEYWORD_OBLIQUE, NS_STYLE_FONT_STYLE_OBLIQUE,
- -1,-1
-};
-
-static PRInt32 kFontVariantKTable[] = {
- KEYWORD_NORMAL, NS_STYLE_FONT_VARIANT_NORMAL,
- KEYWORD_SMALL_CAPS, NS_STYLE_FONT_VARIANT_SMALL_CAPS,
- -1,-1
-};
-
-static PRInt32 kListStyleImageKTable[] = {
- KEYWORD_NONE, NS_STYLE_LIST_STYLE_IMAGE_NONE,
- -1,-1
-};
-
-static PRInt32 kListStylePositionKTable[] = {
- KEYWORD_INSIDE, NS_STYLE_LIST_STYLE_POSITION_INSIDE,
- KEYWORD_OUTSIDE, NS_STYLE_LIST_STYLE_POSITION_OUTSIDE,
- -1,-1
-};
-
-static PRInt32 kListStyleKTable[] = {
- KEYWORD_NONE, NS_STYLE_LIST_STYLE_NONE,
- KEYWORD_DISC, NS_STYLE_LIST_STYLE_DISC,
- KEYWORD_CIRCLE, NS_STYLE_LIST_STYLE_CIRCLE,
- KEYWORD_SQUARE, NS_STYLE_LIST_STYLE_SQUARE,
- KEYWORD_DECIMAL, NS_STYLE_LIST_STYLE_DECIMAL,
- KEYWORD_LOWER_ROMAN, NS_STYLE_LIST_STYLE_LOWER_ROMAN,
- KEYWORD_UPPER_ROMAN, NS_STYLE_LIST_STYLE_UPPER_ROMAN,
- KEYWORD_LOWER_ALPHA, NS_STYLE_LIST_STYLE_LOWER_ALPHA,
- KEYWORD_UPPER_ALPHA, NS_STYLE_LIST_STYLE_UPPER_ALPHA,
- -1,-1
-};
-
-static PRInt32 kMarginSizeKTable[] = {
- KEYWORD_AUTO, NS_STYLE_MARGIN_SIZE_AUTO,
- -1,-1
-};
-
-static PRInt32 kOverflowKTable[] = {
- KEYWORD_VISIBLE, NS_STYLE_OVERFLOW_VISIBLE,
- KEYWORD_HIDDEN, NS_STYLE_OVERFLOW_HIDDEN,
- KEYWORD_SCROLL, NS_STYLE_OVERFLOW_SCROLL,
- KEYWORD_AUTO, NS_STYLE_OVERFLOW_AUTO,
- -1,-1
-};
-
-static PRInt32 kPositionKTable[] = {
- KEYWORD_RELATIVE, NS_STYLE_POSITION_RELATIVE,
- KEYWORD_ABSOLUTE, NS_STYLE_POSITION_ABSOLUTE,
- KEYWORD_FIXED, NS_STYLE_POSITION_FIXED,
- -1,-1
-};
-
-static PRInt32 kTextAlignKTable[] = {
- KEYWORD_LEFT, NS_STYLE_TEXT_ALIGN_LEFT,
- KEYWORD_RIGHT, NS_STYLE_TEXT_ALIGN_RIGHT,
- KEYWORD_CENTER, NS_STYLE_TEXT_ALIGN_CENTER,
- KEYWORD_JUSTIFY, NS_STYLE_TEXT_ALIGN_JUSTIFY,
- -1,-1
-};
-
-static PRInt32 kTextTransformKTable[] = {
- KEYWORD_NONE, NS_STYLE_TEXT_TRANSFORM_NONE,
- KEYWORD_CAPITALIZE, NS_STYLE_TEXT_TRANSFORM_CAPITALIZE,
- KEYWORD_LOWERCASE, NS_STYLE_TEXT_TRANSFORM_LOWERCASE,
- KEYWORD_UPPERCASE, NS_STYLE_TEXT_TRANSFORM_UPPERCASE,
- -1,-1
-};
-
-static PRInt32 kVerticalAlignKTable[] = {
- KEYWORD_BASELINE, NS_STYLE_VERTICAL_ALIGN_BASELINE,
- KEYWORD_SUB, NS_STYLE_VERTICAL_ALIGN_SUB,
- KEYWORD_SUPER, NS_STYLE_VERTICAL_ALIGN_SUPER,
- KEYWORD_TOP, NS_STYLE_VERTICAL_ALIGN_TOP,
- KEYWORD_TEXT_TOP, NS_STYLE_VERTICAL_ALIGN_TEXT_TOP,
- KEYWORD_MIDDLE, NS_STYLE_VERTICAL_ALIGN_MIDDLE,
- KEYWORD_BOTTOM, NS_STYLE_VERTICAL_ALIGN_BOTTOM,
- KEYWORD_TEXT_BOTTOM, NS_STYLE_VERTICAL_ALIGN_TEXT_BOTTOM,
- -1,-1
-};
-
-static PRInt32 kVisibilityKTable[] = {
- KEYWORD_VISIBLE, NS_STYLE_VISIBILITY_VISIBLE,
- KEYWORD_HIDDEN, NS_STYLE_VISIBILITY_HIDDEN,
- -1,-1
-};
-
-static PRInt32 kWhitespaceKTable[] = {
- KEYWORD_NORMAL, NS_STYLE_WHITESPACE_NORMAL,
- KEYWORD_PRE, NS_STYLE_WHITESPACE_PRE,
- KEYWORD_NOWRAP, NS_STYLE_WHITESPACE_NOWRAP,
- -1,-1
-};
-
-static const char* kBorderTopNames[] = {
- "border-top-width",
- "border-top-style",
- "border-top-color",
-};
-static const char* kBorderRightNames[] = {
- "border-right-width",
- "border-right-style",
- "border-right-color",
-};
-static const char* kBorderBottomNames[] = {
- "border-bottom-width",
- "border-bottom-style",
- "border-bottom-color",
-};
-static const char* kBorderLeftNames[] = {
- "border-left-width",
- "border-left-style",
- "border-left-color",
-};
-
-static const char* SearchKeywordTable(PRInt32 aID, PRInt32 aTable[])
-{
- PRInt32 i = 1;
- if (aID >= 0)
- {
- for (;;) {
- if (aTable[i] < 0) {
- break;
- }
- if (aID == aTable[i]) {
- return nsCSSKeywords::kNameTable[aTable[i-1]].name;
- }
- i += 2;
- }
- }
- return nsnull;
-}
-
-
-
-const char* nsCSSProps::LookupProperty(PRInt32 aProp, PRInt32 aIndex)
-{
- switch (aProp) {
-
- case PROP_BACKGROUND:
- break;
-
- case PROP_BACKGROUND_ATTACHMENT:
- return SearchKeywordTable(aIndex,kBackgroundAttachmentKTable);
-
- case PROP_BACKGROUND_COLOR:
- return SearchKeywordTable(aIndex,kBackgroundColorKTable);
-
- case PROP_BACKGROUND_FILTER:
- break;
-
- case PROP_BACKGROUND_IMAGE:
- break;
-
- case PROP_BACKGROUND_POSITION:
- break;
-
- case PROP_BACKGROUND_REPEAT:
- return SearchKeywordTable(aIndex,kBackgroundRepeatKTable);
-
- case PROP_BORDER:
- case PROP_BORDER_COLOR:
- case PROP_BORDER_STYLE:
- case PROP_BORDER_BOTTOM:
- case PROP_BORDER_LEFT:
- case PROP_BORDER_RIGHT:
- case PROP_BORDER_TOP:
- case PROP_BORDER_BOTTOM_COLOR:
- case PROP_BORDER_LEFT_COLOR:
- case PROP_BORDER_RIGHT_COLOR:
- case PROP_BORDER_TOP_COLOR:
- break;
-
- case PROP_BORDER_BOTTOM_STYLE:
- case PROP_BORDER_LEFT_STYLE:
- case PROP_BORDER_RIGHT_STYLE:
- case PROP_BORDER_TOP_STYLE:
- return SearchKeywordTable(aIndex,kBorderStyleKTable);
-
- case PROP_BORDER_BOTTOM_WIDTH:
- case PROP_BORDER_LEFT_WIDTH:
- case PROP_BORDER_RIGHT_WIDTH:
- case PROP_BORDER_TOP_WIDTH:
- return SearchKeywordTable(aIndex,kBorderWidthKTable);
-
- case PROP_BORDER_WIDTH:
- case PROP_CLEAR:
- return SearchKeywordTable(aIndex,kClearKTable);
-
- case PROP_CLIP:
- case PROP_COLOR:
- break;
-
- case PROP_CURSOR:
- return SearchKeywordTable(aIndex,kCursorKTable);
-
- case PROP_DIRECTION:
- return SearchKeywordTable(aIndex,kDirectionKTable);
-
- case PROP_DISPLAY:
- return SearchKeywordTable(aIndex,kDisplayKTable);
-
- case PROP_FILTER:
- break;
-
- case PROP_FLOAT:
- return SearchKeywordTable(aIndex,kFloatKTable);
-
- case PROP_FONT:
- case PROP_FONT_FAMILY:
- break;
-
- case PROP_FONT_SIZE:
- return SearchKeywordTable(aIndex,kFontSizeKTable);
-
- case PROP_FONT_STYLE:
- return SearchKeywordTable(aIndex,kFontStyleKTable);
-
- case PROP_FONT_VARIANT:
- return SearchKeywordTable(aIndex,kFontVariantKTable);
-
-
- case PROP_FONT_WEIGHT:
- case PROP_HEIGHT:
- case PROP_LEFT:
- case PROP_LINE_HEIGHT:
- case PROP_LIST_STYLE:
- break;
-
- case PROP_LIST_STYLE_IMAGE:
- return SearchKeywordTable(aIndex, kListStyleImageKTable);
-
- case PROP_LIST_STYLE_POSITION:
- return SearchKeywordTable(aIndex, kListStylePositionKTable);
-
-
- case PROP_LIST_STYLE_TYPE:
- return SearchKeywordTable(aIndex, kListStyleKTable);
-
- case PROP_MARGIN:
- case PROP_MARGIN_BOTTOM:
- case PROP_MARGIN_LEFT:
- case PROP_MARGIN_RIGHT:
- case PROP_MARGIN_TOP:
- return SearchKeywordTable(aIndex, kMarginSizeKTable);
-
- case PROP_PADDING:
- case PROP_PADDING_BOTTOM:
- case PROP_PADDING_LEFT:
- case PROP_PADDING_RIGHT:
- case PROP_PADDING_TOP:
- break;
-
- case PROP_OPACITY:
- break;
-
- case PROP_OVERFLOW:
- return SearchKeywordTable(aIndex, kOverflowKTable);
-
- case PROP_POSITION:
- return SearchKeywordTable(aIndex, kPositionKTable);
-
- case PROP_TEXT_ALIGN:
- return SearchKeywordTable(aIndex, kTextAlignKTable);
-
- case PROP_TEXT_DECORATION:
- case PROP_TEXT_INDENT:
- break;
-
- case PROP_TEXT_TRANSFORM:
- return SearchKeywordTable(aIndex, kTextTransformKTable);
-
- case PROP_TOP:
- break;
-
- case PROP_VERTICAL_ALIGN:
- return SearchKeywordTable(aIndex, kVerticalAlignKTable);
-
- case PROP_VISIBILITY:
- return SearchKeywordTable(aIndex, kVisibilityKTable);
-
- case PROP_WHITE_SPACE:
- return SearchKeywordTable(aIndex, kWhitespaceKTable);
-
- case PROP_WIDTH:
- case PROP_LETTER_SPACING:
- case PROP_WORD_SPACING:
- case PROP_Z_INDEX:
- break;
- }
- return nsnull;
-}
diff --git a/mozilla/layout/style/nsCSSProps.h b/mozilla/layout/style/nsCSSProps.h
index 9fddff3b07c..402462b3d73 100644
--- a/mozilla/layout/style/nsCSSProps.h
+++ b/mozilla/layout/style/nsCSSProps.h
@@ -41,6 +41,8 @@ public:
// A table whose index is the tag id (from nsCSSPropIDs)
static const NameTableEntry kNameTable[];
+
+ static const PRInt32 kHintTable[];
};
#endif /* nsCSSProps_h___ */