default: break;
PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,                                               nsCSSValue& aValue,                                               nsCSSProperty aPropID){  switch (aPropID) {  case eCSSProperty_background:  case eCSSProperty_background_position:  case eCSSProperty_border:  case eCSSProperty_border_color:  case eCSSProperty_border_spacing:  case eCSSProperty_border_style:  case eCSSProperty_border_bottom:  case eCSSProperty_border_left:  case eCSSProperty_border_right:  case eCSSProperty_border_top:  case eCSSProperty_border_width:  case eCSSProperty_clip:  case eCSSProperty_content:  case eCSSProperty_counter_increment:  case eCSSProperty_counter_reset:  case eCSSProperty_cue:  case eCSSProperty_cursor:  case eCSSProperty_font:  case eCSSProperty_list_style:  case eCSSProperty_margin:  case eCSSProperty_outline:  case eCSSProperty_padding:  case eCSSProperty_pause:  case eCSSProperty_quotes:  case eCSSProperty_size:  case eCSSProperty_text_shadow:    NS_ERROR("not a single value property");    return PR_FALSE;  case eCSSProperty_azimuth:    return ParseAzimuth(aErrorCode, aValue);  case eCSSProperty_background_attachment:    return ParseVariant(aErrorCode, aValue, VARIANT_HK,                        nsCSSProps::kBackgroundAttachmentKTable);  case eCSSProperty_background_color:    return ParseVariant(aErrorCode, aValue, VARIANT_HCK,                        nsCSSProps::kBackgroundColorKTable);  case eCSSProperty_background_image:    return ParseVariant(aErrorCode, aValue, VARIANT_HUO, nsnull);  case eCSSProperty_background_repeat:    return ParseVariant(aErrorCode, aValue, VARIANT_HK,                        nsCSSProps::kBackgroundRepeatKTable);  case eCSSProperty_background_x_position:  case eCSSProperty_background_y_position:    return ParseVariant(aErrorCode, aValue, VARIANT_HKLP,                        kBackgroundXYPositionKTable);  case eCSSProperty_border_collapse:    return ParseVariant(aErrorCode, aValue, VARIANT_HK,                        nsCSSProps::kBorderCollapseKTable);  case eCSSProperty_border_bottom_color:  case eCSSProperty_border_left_color:  case eCSSProperty_border_right_color:  case eCSSProperty_border_top_color:    return ParseVariant(aErrorCode, aValue, VARIANT_HCK,                         nsCSSProps::kBorderColorKTable);  case eCSSProperty_border_bottom_style:  case eCSSProperty_border_left_style:  case eCSSProperty_border_right_style:  case eCSSProperty_border_top_style:    return ParseVariant(aErrorCode, aValue, VARIANT_HOK,                        nsCSSProps::kBorderStyleKTable);  case eCSSProperty_border_bottom_width:  case eCSSProperty_border_left_width:  case eCSSProperty_border_right_width:  case eCSSProperty_border_top_width:    return ParseVariant(aErrorCode, aValue, VARIANT_HKL,                        nsCSSProps::kBorderWidthKTable);  case eCSSProperty__moz_border_radius:    return ParseVariant(aErrorCode, aValue, VARIANT_HLP, nsnull);  case eCSSProperty_bottom:  case eCSSProperty_top:  case eCSSProperty_left:  case eCSSProperty_right:	  return ParseVariant(aErrorCode, aValue, VARIANT_AHLP, nsnull);  case eCSSProperty_height:  case eCSSProperty_width:    return ParsePositiveVariant(aErrorCode, aValue, VARIANT_AHLP, nsnull);  case eCSSProperty_caption_side:    return ParseVariant(aErrorCode, aValue, VARIANT_HK,                         nsCSSProps::kCaptionSideKTable);  case eCSSProperty_clear:    return ParseVariant(aErrorCode, aValue, VARIANT_HOK,                        nsCSSProps::kClearKTable);  case eCSSProperty_color:    return ParseVariant(aErrorCode, aValue, VARIANT_HC, nsnull);  case eCSSProperty_cue_after:  case eCSSProperty_cue_before:    return ParseVariant(aErrorCode, aValue, VARIANT_HUO, nsnull);  case eCSSProperty_direction:    return ParseVariant(aErrorCode, aValue, VARIANT_HK,                        nsCSSProps::kDirectionKTable);  case eCSSProperty_display:    return ParseVariant(aErrorCode, aValue, VARIANT_HOK,                        nsCSSProps::kDisplayKTable);  case eCSSProperty_elevation:    return ParseVariant(aErrorCode, aValue, VARIANT_HK | VARIANT_ANGLE,                        nsCSSProps::kElevationKTable);  case eCSSProperty_empty_cells:    return ParseVariant(aErrorCode, aValue, VARIANT_HK,                        nsCSSProps::kEmptyCellsKTable);  case eCSSProperty_float:    return ParseVariant(aErrorCode, aValue, VARIANT_HOK,                        nsCSSProps::kFloatKTable);  case eCSSProperty_font_family:    return ParseFamily(aErrorCode, aValue);  case eCSSProperty_font_size:    return ParsePositiveVariant(aErrorCode, aValue, VARIANT_HKLP,                        nsCSSProps::kFontSizeKTable);  case eCSSProperty_font_size_adjust:    return ParseVariant(aErrorCode, aValue, VARIANT_HON,                        nsnull);  case eCSSProperty_font_stretch:    return ParseVariant(aErrorCode, aValue, VARIANT_HMK,                        nsCSSProps::kFontStretchKTable);  case eCSSProperty_font_style:    return ParseVariant(aErrorCode, aValue, VARIANT_HMK,                        nsCSSProps::kFontStyleKTable);  case eCSSProperty_font_variant:    return ParseVariant(aErrorCode, aValue, VARIANT_HMK,                        nsCSSProps::kFontVariantKTable);  case eCSSProperty_font_weight:    return ParseVariant(aErrorCode, aValue, VARIANT_HMKI,                        nsCSSProps::kFontWeightKTable);  case eCSSProperty_letter_spacing:  case eCSSProperty_word_spacing:    return ParseVariant(aErrorCode, aValue, VARIANT_HL | VARIANT_NORMAL, nsnull);  case eCSSProperty_line_height:    return ParsePositiveVariant(aErrorCode, aValue, VARIANT_HLPN | VARIANT_NORMAL, nsnull);  case eCSSProperty_list_style_image:    return ParseVariant(aErrorCode, aValue, VARIANT_HUO, nsnull);  case eCSSProperty_list_style_position:    return ParseVariant(aErrorCode, aValue, VARIANT_HK, nsCSSProps::kListStylePositionKTable);  case eCSSProperty_list_style_type:    return ParseVariant(aErrorCode, aValue, VARIANT_HOK, nsCSSProps::kListStyleKTable);  case eCSSProperty_margin_bottom:  case eCSSProperty_margin_left:  case eCSSProperty_margin_right:  case eCSSProperty_margin_top:    return ParseVariant(aErrorCode, aValue, VARIANT_AHLP, nsnull);  case eCSSProperty_marker_offset:    return ParseVariant(aErrorCode, aValue, VARIANT_AHL, nsnull);  case eCSSProperty_marks:    return ParseMarks(aErrorCode, aValue);  case eCSSProperty_max_height:  case eCSSProperty_max_width:    return ParseVariant(aErrorCode, aValue, VARIANT_HLPO, nsnull);  case eCSSProperty_min_height:  case eCSSProperty_min_width:    return ParseVariant(aErrorCode, aValue, VARIANT_HLP, nsnull);  case eCSSProperty_opacity:    return ParseVariant(aErrorCode, aValue, VARIANT_HPN, nsnull);  case eCSSProperty_orphans:  case eCSSProperty_widows:    return ParseVariant(aErrorCode, aValue, VARIANT_HI, nsnull);  case eCSSProperty_outline_color:    return ParseVariant(aErrorCode, aValue, VARIANT_HCK,                         nsCSSProps::kOutlineColorKTable);  case eCSSProperty_outline_style:    return ParseVariant(aErrorCode, aValue, VARIANT_HOK,                         nsCSSProps::kBorderStyleKTable);  case eCSSProperty_outline_width:    return ParseVariant(aErrorCode, aValue, VARIANT_HKL,                        nsCSSProps::kBorderWidthKTable);  case eCSSProperty_overflow:    return ParseVariant(aErrorCode, aValue, VARIANT_AHK,                        nsCSSProps::kOverflowKTable);  case eCSSProperty_padding_bottom:  case eCSSProperty_padding_left:  case eCSSProperty_padding_right:  case eCSSProperty_padding_top:    return ParsePositiveVariant(aErrorCode, aValue, VARIANT_HLP, nsnull);  case eCSSProperty_page:    return ParseVariant(aErrorCode, aValue, VARIANT_AUTO | VARIANT_IDENTIFIER, nsnull);  case eCSSProperty_page_break_after:  case eCSSProperty_page_break_before:    return ParseVariant(aErrorCode, aValue, VARIANT_AHK,                         nsCSSProps::kPageBreakKTable);  case eCSSProperty_page_break_inside:    return ParseVariant(aErrorCode, aValue, VARIANT_AHK,                         nsCSSProps::kPageBreakInsideKTable);  case eCSSProperty_pause_after:  case eCSSProperty_pause_before:    return ParseVariant(aErrorCode, aValue, VARIANT_HTP, nsnull);  case eCSSProperty_pitch:    return ParseVariant(aErrorCode, aValue, VARIANT_HKF, nsCSSProps::kPitchKTable);  case eCSSProperty_pitch_range:    return ParseVariant(aErrorCode, aValue, VARIANT_HN, nsnull);  case eCSSProperty_position:    return ParseVariant(aErrorCode, aValue, VARIANT_HK, nsCSSProps::kPositionKTable);  case eCSSProperty_richness:    return ParseVariant(aErrorCode, aValue, VARIANT_HN, nsnull);  case eCSSProperty_speak:    return ParseVariant(aErrorCode, aValue, VARIANT_HMK | VARIANT_NONE,                        nsCSSProps::kSpeakKTable);  case eCSSProperty_speak_header:    return ParseVariant(aErrorCode, aValue, VARIANT_HK,                        nsCSSProps::kSpeakHeaderKTable);  case eCSSProperty_speak_numeral:    return ParseVariant(aErrorCode, aValue, VARIANT_HK,                        nsCSSProps::kSpeakNumeralKTable);  case eCSSProperty_speak_punctuation:    return ParseVariant(aErrorCode, aValue, VARIANT_HK,                        nsCSSProps::kSpeakPunctuationKTable);  case eCSSProperty_speech_rate:    return ParseVariant(aErrorCode, aValue, VARIANT_HN | VARIANT_KEYWORD,                        nsCSSProps::kSpeechRateKTable);  case eCSSProperty_stress:    return ParseVariant(aErrorCode, aValue, VARIANT_HN, nsnull);  case eCSSProperty_table_layout:    return ParseVariant(aErrorCode, aValue, VARIANT_AHK,                        nsCSSProps::kTableLayoutKTable);  case eCSSProperty_text_align:    return ParseVariant(aErrorCode, aValue, VARIANT_HK | VARIANT_STRING,                        nsCSSProps::kTextAlignKTable);  case eCSSProperty_text_decoration:    return ParseTextDecoration(aErrorCode, aValue);  case eCSSProperty_text_indent:    return ParseVariant(aErrorCode, aValue, VARIANT_HLP, nsnull);  case eCSSProperty_text_transform:    return ParseVariant(aErrorCode, aValue, VARIANT_HOK,                        nsCSSProps::kTextTransformKTable);  case eCSSProperty_unicode_bidi:    return ParseVariant(aErrorCode, aValue, VARIANT_HMK,                        nsCSSProps::kUnicodeBidiKTable);  case eCSSProperty_vertical_align:    return ParseVariant(aErrorCode, aValue, VARIANT_HKLP,                        nsCSSProps::kVerticalAlignKTable);  case eCSSProperty_visibility:    return ParseVariant(aErrorCode, aValue, VARIANT_HK,                         nsCSSProps::kVisibilityKTable);  case eCSSProperty_voice_family:    return ParseFamily(aErrorCode, aValue);  case eCSSProperty_volume:    return ParseVariant(aErrorCode, aValue, VARIANT_HPN | VARIANT_KEYWORD,                        nsCSSProps::kVolumeKTable);  case eCSSProperty_white_space:    return ParseVariant(aErrorCode, aValue, VARIANT_HMK,                        nsCSSProps::kWhitespaceKTable);  case eCSSProperty_z_index:    return ParseVariant(aErrorCode, aValue, VARIANT_AHI, nsnull);  }  return PR_FALSE;}