case PROP_AZIMUTH: return ParseAzimuth(aErrorCode, aDeclaration); case PROP_BACKGROUND: return ParseBackground(aErrorCode, aDeclaration); case PROP_BACKGROUND_ATTACHMENT: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK, nsCSSProps::kBackgroundAttachmentKTable, parsed); case PROP_BACKGROUND_COLOR: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HCK, nsCSSProps::kBackgroundColorKTable, parsed); case PROP_BACKGROUND_FILTER: return ParseBackgroundFilter(aErrorCode, aDeclaration); case PROP_BACKGROUND_IMAGE: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HUO, nsnull, parsed); case PROP_BACKGROUND_POSITION: return ParseBackgroundPosition(aErrorCode, aDeclaration); case PROP_BACKGROUND_REPEAT: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK, nsCSSProps::kBackgroundRepeatKTable, parsed); case PROP_BORDER: return ParseBorder(aErrorCode, aDeclaration); case PROP_BORDER_COLLAPSE: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK, nsCSSProps::kBorderCollapseKTable, parsed); case PROP_BORDER_COLOR: return ParseBorderColor(aErrorCode, aDeclaration); case PROP_BORDER_SPACING: return ParseBorderSpacing(aErrorCode, aDeclaration); case PROP_BORDER_STYLE: return ParseBorderStyle(aErrorCode, aDeclaration); case PROP_BORDER_BOTTOM: return ParseBorderSide(aErrorCode, aDeclaration, kBorderBottomIDs, CSS_SIDE_BOTTOM); case PROP_BORDER_LEFT: return ParseBorderSide(aErrorCode, aDeclaration, kBorderLeftIDs, CSS_SIDE_LEFT); case PROP_BORDER_RIGHT: return ParseBorderSide(aErrorCode, aDeclaration, kBorderRightIDs, CSS_SIDE_RIGHT); case PROP_BORDER_TOP: return ParseBorderSide(aErrorCode, aDeclaration, kBorderTopIDs, CSS_SIDE_TOP); case PROP_BORDER_BOTTOM_COLOR: case PROP_BORDER_LEFT_COLOR: case PROP_BORDER_RIGHT_COLOR: case PROP_BORDER_TOP_COLOR: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HCK, nsCSSProps::kBorderColorKTable, parsed); case PROP_BORDER_BOTTOM_STYLE: case PROP_BORDER_LEFT_STYLE: case PROP_BORDER_RIGHT_STYLE: case PROP_BORDER_TOP_STYLE: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HOK, nsCSSProps::kBorderStyleKTable, parsed); case PROP_BORDER_BOTTOM_WIDTH: case PROP_BORDER_LEFT_WIDTH: case PROP_BORDER_RIGHT_WIDTH: case PROP_BORDER_TOP_WIDTH: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HKL, nsCSSProps::kBorderWidthKTable, parsed); case PROP_BORDER_WIDTH: return ParseBorderWidth(aErrorCode, aDeclaration); case PROP_BOTTOM: case PROP_TOP: case PROP_LEFT: case PROP_RIGHT: case PROP_HEIGHT: case PROP_WIDTH: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_AHLP, nsnull, parsed); case PROP_CAPTION_SIDE: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK, nsCSSProps::kCaptionSideKTable, parsed); case PROP_CLEAR: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HOK, nsCSSProps::kClearKTable, parsed); case PROP_CLIP: return ParseClip(aErrorCode, aDeclaration); case PROP_COLOR: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HC, nsnull, parsed); case PROP_CONTENT: return ParseContent(aErrorCode, aDeclaration); case PROP_COUNTER_INCREMENT: case PROP_COUNTER_RESET: return ParseCounterData(aErrorCode, aDeclaration, aPropID); case PROP_CUE: return ParseCue(aErrorCode, aDeclaration); case PROP_CUE_AFTER: case PROP_CUE_BEFORE: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HUO, nsnull, parsed); case PROP_CURSOR: return ParseCursor(aErrorCode, aDeclaration); case PROP_DIRECTION: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK, nsCSSProps::kDirectionKTable, parsed); case PROP_DISPLAY: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HOK, nsCSSProps::kDisplayKTable, parsed); case PROP_ELEVATION: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK | VARIANT_ANGLE, nsCSSProps::kElevationKTable, parsed); case PROP_EMPTY_CELLS: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK, nsCSSProps::kEmptyCellsKTable, parsed); case PROP_FILTER: return ParseForegroundFilter(aErrorCode, aDeclaration); case PROP_FLOAT: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HOK, nsCSSProps::kFloatKTable, parsed); case PROP_FONT: return ParseFont(aErrorCode, aDeclaration); case PROP_FONT_FAMILY: return ParseFamily(aErrorCode, aDeclaration, aPropID); case PROP_FONT_SIZE: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HKLP, nsCSSProps::kFontSizeKTable, parsed); case PROP_FONT_SIZE_ADJUST: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HON, nsnull, parsed); case PROP_FONT_STRETCH: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HMK, nsCSSProps::kFontStretchKTable, parsed); case PROP_FONT_STYLE: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HMK, nsCSSProps::kFontStyleKTable, parsed); case PROP_FONT_VARIANT: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HMK, nsCSSProps::kFontVariantKTable, parsed); case PROP_FONT_WEIGHT: return ParseVariant(aErrorCode, aDeclaration, PROP_FONT_WEIGHT, VARIANT_HMKI, nsCSSProps::kFontWeightKTable, parsed); case PROP_LETTER_SPACING: case PROP_WORD_SPACING: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HL | VARIANT_NORMAL, nsnull, parsed); case PROP_LINE_HEIGHT: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HLPN | VARIANT_NORMAL, nsnull, parsed); case PROP_LIST_STYLE: return ParseListStyle(aErrorCode, aDeclaration); case PROP_LIST_STYLE_IMAGE: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HUO, nsnull, parsed); case PROP_LIST_STYLE_POSITION: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK, nsCSSProps::kListStylePositionKTable, parsed); case PROP_LIST_STYLE_TYPE: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HOK, nsCSSProps::kListStyleKTable, parsed); case PROP_MARGIN: return ParseMargin(aErrorCode, aDeclaration); case PROP_MARGIN_BOTTOM: case PROP_MARGIN_LEFT: case PROP_MARGIN_RIGHT: case PROP_MARGIN_TOP: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_AHLP, nsnull, parsed); case PROP_MARKER_OFFSET: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_AHL, nsnull, parsed); case PROP_MARKS: return ParseMarks(aErrorCode, aDeclaration); case PROP_MAX_HEIGHT: case PROP_MAX_WIDTH: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HLPO, nsnull, parsed); case PROP_MIN_HEIGHT: case PROP_MIN_WIDTH: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HLP, nsnull, parsed); case PROP_OPACITY: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HPN, nsnull, parsed); case PROP_ORPHANS: case PROP_WIDOWS: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HI, nsnull, parsed); case PROP_OUTLINE: return ParseOutline(aErrorCode, aDeclaration); case PROP_OUTLINE_COLOR: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HCK, nsCSSProps::kOutlineColorKTable, parsed); case PROP_OUTLINE_STYLE: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HOK, nsCSSProps::kBorderStyleKTable, parsed); case PROP_OUTLINE_WIDTH: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HKL, nsCSSProps::kBorderWidthKTable, parsed); case PROP_OVERFLOW: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_AHK, nsCSSProps::kOverflowKTable, parsed); case PROP_PADDING: return ParsePadding(aErrorCode, aDeclaration); case PROP_PADDING_BOTTOM: case PROP_PADDING_LEFT: case PROP_PADDING_RIGHT: case PROP_PADDING_TOP: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HLP, nsnull, parsed); case PROP_PAGE: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_AUTO | VARIANT_IDENTIFIER, nsnull, parsed); case PROP_PAGE_BREAK_AFTER: case PROP_PAGE_BREAK_BEFORE: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_AHK, nsCSSProps::kPageBreakKTable, parsed); case PROP_PAGE_BREAK_INSIDE: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_AHK, nsCSSProps::kPageBreakInsideKTable, parsed); case PROP_PAUSE: return ParsePause(aErrorCode, aDeclaration); case PROP_PAUSE_AFTER: case PROP_PAUSE_BEFORE: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HTP, nsnull, parsed); case PROP_PITCH: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HKF, nsCSSProps::kPitchKTable, parsed); case PROP_PITCH_RANGE: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HN, nsnull, parsed); case PROP_PLAY_DURING: return ParsePlayDuring(aErrorCode, aDeclaration); case PROP_POSITION: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK, nsCSSProps::kPositionKTable, parsed); case PROP_QUOTES: return ParseQuotes(aErrorCode, aDeclaration); case PROP_RICHNESS: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HN, nsnull, parsed); case PROP_SIZE: return ParseSize(aErrorCode, aDeclaration); case PROP_SPEAK: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HMK | VARIANT_NONE, nsCSSProps::kSpeakKTable, parsed); case PROP_SPEAK_HEADER: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK, nsCSSProps::kSpeakHeaderKTable, parsed); case PROP_SPEAK_NUMERAL: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK, nsCSSProps::kSpeakNumeralKTable, parsed); case PROP_SPEAK_PUNCTUATION: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK, nsCSSProps::kSpeakPunctuationKTable, parsed); case PROP_SPEECH_RATE: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HN | VARIANT_KEYWORD, nsCSSProps::kSpeechRateKTable, parsed); case PROP_STRESS: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HN, nsnull, parsed); case PROP_TABLE_LAYOUT: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_AHK, nsCSSProps::kTableLayoutKTable, parsed); case PROP_TEXT_ALIGN: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK | VARIANT_STRING, nsCSSProps::kTextAlignKTable, parsed); case PROP_TEXT_DECORATION: return ParseTextDecoration(aErrorCode, aDeclaration); case PROP_TEXT_INDENT: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HLP, nsnull, parsed); case PROP_TEXT_SHADOW: return ParseTextShadow(aErrorCode, aDeclaration); case PROP_TEXT_TRANSFORM: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HOK, nsCSSProps::kTextTransformKTable, parsed); case PROP_UNICODE_BIDI: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HMK, nsCSSProps::kUnicodeBidiKTable, parsed); case PROP_VERTICAL_ALIGN: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HKLP, nsCSSProps::kVerticalAlignKTable, parsed); case PROP_VISIBILITY: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK, nsCSSProps::kVisibilityKTable, parsed); case PROP_VOICE_FAMILY: return ParseFamily(aErrorCode, aDeclaration, aPropID); case PROP_VOLUME: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HPN | VARIANT_KEYWORD, nsCSSProps::kVolumeKTable, parsed); case PROP_WHITE_SPACE: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HMK, nsCSSProps::kWhitespaceKTable, parsed); case PROP_Z_INDEX: return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_AHI, nsnull, parsed);
case PROP_BACKGROUND_X_POSITION: case PROP_BACKGROUND_Y_POSITION: case PROP_BORDER_X_SPACING: case PROP_BORDER_Y_SPACING: case PROP_CLIP_BOTTOM: case PROP_CLIP_LEFT: case PROP_CLIP_RIGHT: case PROP_CLIP_TOP:  return PR_FALSE; default: break;
PRBool CSSParserImpl::ParseProperty(PRInt32& aErrorCode,                                    nsICSSDeclaration* aDeclaration,                                    PRInt32 aPropID){  PRInt32 parsed;  switch (aPropID) {  case PROP_AZIMUTH:    return ParseAzimuth(aErrorCode, aDeclaration);  case PROP_BACKGROUND:    return ParseBackground(aErrorCode, aDeclaration);  case PROP_BACKGROUND_ATTACHMENT:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK,                        nsCSSProps::kBackgroundAttachmentKTable, parsed);  case PROP_BACKGROUND_COLOR:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HCK,                        nsCSSProps::kBackgroundColorKTable, parsed);  case PROP_BACKGROUND_FILTER:  // XXX    return ParseBackgroundFilter(aErrorCode, aDeclaration);  case PROP_BACKGROUND_IMAGE:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HUO,                        nsnull, parsed);  case PROP_BACKGROUND_POSITION:    return ParseBackgroundPosition(aErrorCode, aDeclaration);  case PROP_BACKGROUND_REPEAT:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK,                        nsCSSProps::kBackgroundRepeatKTable, parsed);  case PROP_BORDER:    return ParseBorder(aErrorCode, aDeclaration);  case PROP_BORDER_COLLAPSE:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK,                        nsCSSProps::kBorderCollapseKTable, parsed);  case PROP_BORDER_COLOR:    return ParseBorderColor(aErrorCode, aDeclaration);  case PROP_BORDER_SPACING:    return ParseBorderSpacing(aErrorCode, aDeclaration);  case PROP_BORDER_STYLE:    return ParseBorderStyle(aErrorCode, aDeclaration);  case PROP_BORDER_BOTTOM:    return ParseBorderSide(aErrorCode, aDeclaration, kBorderBottomIDs, CSS_SIDE_BOTTOM);  case PROP_BORDER_LEFT:    return ParseBorderSide(aErrorCode, aDeclaration, kBorderLeftIDs, CSS_SIDE_LEFT);  case PROP_BORDER_RIGHT:    return ParseBorderSide(aErrorCode, aDeclaration, kBorderRightIDs, CSS_SIDE_RIGHT);  case PROP_BORDER_TOP:    return ParseBorderSide(aErrorCode, aDeclaration, kBorderTopIDs, CSS_SIDE_TOP);  case PROP_BORDER_BOTTOM_COLOR:  case PROP_BORDER_LEFT_COLOR:  case PROP_BORDER_RIGHT_COLOR:  case PROP_BORDER_TOP_COLOR:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HCK,                         nsCSSProps::kBorderColorKTable, parsed);  case PROP_BORDER_BOTTOM_STYLE:  case PROP_BORDER_LEFT_STYLE:  case PROP_BORDER_RIGHT_STYLE:  case PROP_BORDER_TOP_STYLE:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HOK,                        nsCSSProps::kBorderStyleKTable, parsed);  case PROP_BORDER_BOTTOM_WIDTH:  case PROP_BORDER_LEFT_WIDTH:  case PROP_BORDER_RIGHT_WIDTH:  case PROP_BORDER_TOP_WIDTH:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HKL,                        nsCSSProps::kBorderWidthKTable, parsed);  case PROP_BORDER_WIDTH:    return ParseBorderWidth(aErrorCode, aDeclaration);  case PROP_BOTTOM:  case PROP_TOP:  case PROP_LEFT:  case PROP_RIGHT:  case PROP_HEIGHT:  case PROP_WIDTH:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_AHLP, nsnull, parsed);  case PROP_CAPTION_SIDE:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK,                         nsCSSProps::kCaptionSideKTable, parsed);  case PROP_CLEAR:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HOK,                        nsCSSProps::kClearKTable, parsed);  case PROP_CLIP:    return ParseClip(aErrorCode, aDeclaration);  case PROP_COLOR:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HC, nsnull, parsed);  case PROP_CONTENT:    return ParseContent(aErrorCode, aDeclaration);  case PROP_COUNTER_INCREMENT:  case PROP_COUNTER_RESET:    return ParseCounterData(aErrorCode, aDeclaration, aPropID);  case PROP_CUE:    return ParseCue(aErrorCode, aDeclaration);  case PROP_CUE_AFTER:  case PROP_CUE_BEFORE:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HUO, nsnull, parsed);  case PROP_CURSOR:    return ParseCursor(aErrorCode, aDeclaration);  case PROP_DIRECTION:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK,                        nsCSSProps::kDirectionKTable, parsed);  case PROP_DISPLAY:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HOK,                        nsCSSProps::kDisplayKTable, parsed);  case PROP_ELEVATION:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK | VARIANT_ANGLE,                        nsCSSProps::kElevationKTable, parsed);  case PROP_EMPTY_CELLS:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK,                        nsCSSProps::kEmptyCellsKTable, parsed);  case PROP_FILTER:    return ParseForegroundFilter(aErrorCode, aDeclaration);  case PROP_FLOAT:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HOK,                        nsCSSProps::kFloatKTable, parsed);  case PROP_FONT:    return ParseFont(aErrorCode, aDeclaration);  case PROP_FONT_FAMILY:    return ParseFamily(aErrorCode, aDeclaration, aPropID);  case PROP_FONT_SIZE:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HKLP,                        nsCSSProps::kFontSizeKTable, parsed);  case PROP_FONT_SIZE_ADJUST:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HON,                        nsnull, parsed);  case PROP_FONT_STRETCH:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HMK,                        nsCSSProps::kFontStretchKTable, parsed);  case PROP_FONT_STYLE:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HMK,                        nsCSSProps::kFontStyleKTable, parsed);  case PROP_FONT_VARIANT:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HMK,                        nsCSSProps::kFontVariantKTable, parsed);  case PROP_FONT_WEIGHT:    return ParseVariant(aErrorCode, aDeclaration, PROP_FONT_WEIGHT, VARIANT_HMKI,                        nsCSSProps::kFontWeightKTable, parsed);  case PROP_LETTER_SPACING:  case PROP_WORD_SPACING:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HL | VARIANT_NORMAL, nsnull, parsed);  case PROP_LINE_HEIGHT:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HLPN | VARIANT_NORMAL,                        nsnull, parsed);  case PROP_LIST_STYLE:    return ParseListStyle(aErrorCode, aDeclaration);  case PROP_LIST_STYLE_IMAGE:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HUO, nsnull, parsed);  case PROP_LIST_STYLE_POSITION:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK,                        nsCSSProps::kListStylePositionKTable, parsed);  case PROP_LIST_STYLE_TYPE:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HOK,                        nsCSSProps::kListStyleKTable, parsed);  case PROP_MARGIN:    return ParseMargin(aErrorCode, aDeclaration);  case PROP_MARGIN_BOTTOM:  case PROP_MARGIN_LEFT:  case PROP_MARGIN_RIGHT:  case PROP_MARGIN_TOP:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_AHLP, nsnull, parsed);  case PROP_MARKER_OFFSET:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_AHL, nsnull, parsed);  case PROP_MARKS:    return ParseMarks(aErrorCode, aDeclaration);  case PROP_MAX_HEIGHT:  case PROP_MAX_WIDTH:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HLPO, nsnull, parsed);  case PROP_MIN_HEIGHT:  case PROP_MIN_WIDTH:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HLP, nsnull, parsed);  case PROP_OPACITY:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HPN, nsnull, parsed);  case PROP_ORPHANS:  case PROP_WIDOWS:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HI, nsnull, parsed);  case PROP_OUTLINE:    return ParseOutline(aErrorCode, aDeclaration);  case PROP_OUTLINE_COLOR:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HCK,                         nsCSSProps::kOutlineColorKTable, parsed);  case PROP_OUTLINE_STYLE:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HOK,                         nsCSSProps::kBorderStyleKTable, parsed);  case PROP_OUTLINE_WIDTH:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HKL,                        nsCSSProps::kBorderWidthKTable, parsed);  case PROP_OVERFLOW:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_AHK,                        nsCSSProps::kOverflowKTable, parsed);  case PROP_PADDING:    return ParsePadding(aErrorCode, aDeclaration);  case PROP_PADDING_BOTTOM:  case PROP_PADDING_LEFT:  case PROP_PADDING_RIGHT:  case PROP_PADDING_TOP:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HLP, nsnull, parsed);  case PROP_PAGE:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_AUTO | VARIANT_IDENTIFIER,                         nsnull, parsed);  case PROP_PAGE_BREAK_AFTER:  case PROP_PAGE_BREAK_BEFORE:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_AHK,                         nsCSSProps::kPageBreakKTable, parsed);  case PROP_PAGE_BREAK_INSIDE:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_AHK,                         nsCSSProps::kPageBreakInsideKTable, parsed);  case PROP_PAUSE:    return ParsePause(aErrorCode, aDeclaration);  case PROP_PAUSE_AFTER:  case PROP_PAUSE_BEFORE:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HTP, nsnull, parsed);  case PROP_PITCH:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HKF,                        nsCSSProps::kPitchKTable, parsed);  case PROP_PITCH_RANGE:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HN, nsnull, parsed);  case PROP_PLAY_DURING:    return ParsePlayDuring(aErrorCode, aDeclaration);  case PROP_POSITION:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK,                         nsCSSProps::kPositionKTable, parsed);  case PROP_QUOTES:    return ParseQuotes(aErrorCode, aDeclaration);  case PROP_RICHNESS:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HN, nsnull, parsed);  case PROP_SIZE:    return ParseSize(aErrorCode, aDeclaration);  case PROP_SPEAK:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HMK | VARIANT_NONE,                        nsCSSProps::kSpeakKTable, parsed);  case PROP_SPEAK_HEADER:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK,                        nsCSSProps::kSpeakHeaderKTable, parsed);  case PROP_SPEAK_NUMERAL:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK,                        nsCSSProps::kSpeakNumeralKTable, parsed);  case PROP_SPEAK_PUNCTUATION:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK,                        nsCSSProps::kSpeakPunctuationKTable, parsed);  case PROP_SPEECH_RATE:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HN | VARIANT_KEYWORD,                        nsCSSProps::kSpeechRateKTable, parsed);  case PROP_STRESS:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HN, nsnull, parsed);  case PROP_TABLE_LAYOUT:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_AHK,                        nsCSSProps::kTableLayoutKTable, parsed);  case PROP_TEXT_ALIGN:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK | VARIANT_STRING,                        nsCSSProps::kTextAlignKTable, parsed);  case PROP_TEXT_DECORATION:    return ParseTextDecoration(aErrorCode, aDeclaration);  case PROP_TEXT_INDENT:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HLP, nsnull, parsed);  case PROP_TEXT_SHADOW:    return ParseTextShadow(aErrorCode, aDeclaration);  case PROP_TEXT_TRANSFORM:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HOK,                        nsCSSProps::kTextTransformKTable, parsed);  case PROP_UNICODE_BIDI:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HMK,                        nsCSSProps::kUnicodeBidiKTable, parsed);  case PROP_VERTICAL_ALIGN:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HKLP,                        nsCSSProps::kVerticalAlignKTable, parsed);  case PROP_VISIBILITY:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HK,                         nsCSSProps::kVisibilityKTable, parsed);  case PROP_VOICE_FAMILY:    return ParseFamily(aErrorCode, aDeclaration, aPropID);  case PROP_VOLUME:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HPN | VARIANT_KEYWORD,                        nsCSSProps::kVolumeKTable, parsed);  case PROP_WHITE_SPACE:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_HMK,                        nsCSSProps::kWhitespaceKTable, parsed);  case PROP_Z_INDEX:    return ParseVariant(aErrorCode, aDeclaration, aPropID, VARIANT_AHI, nsnull, parsed);  }  return PR_FALSE;}