2 * (C) 1999-2003 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Library General Public License for more details.
15 * You should have received a copy of the GNU Library General Public License
16 * along with this library; see the file COPYING.LIB. If not, write to
17 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 * Boston, MA 02110-1301, USA.
22 #include "StylePropertyShorthand.h"
24 #include <wtf/StdLibExtras.h>
28 const StylePropertyShorthand& backgroundShorthand()
30 static const CSSPropertyID backgroundProperties[] = {
31 CSSPropertyBackgroundImage,
32 CSSPropertyBackgroundPositionX,
33 CSSPropertyBackgroundPositionY,
34 CSSPropertyBackgroundSize,
35 CSSPropertyBackgroundRepeatX,
36 CSSPropertyBackgroundRepeatY,
37 CSSPropertyBackgroundAttachment,
38 CSSPropertyBackgroundOrigin,
39 CSSPropertyBackgroundClip,
40 CSSPropertyBackgroundColor
42 DEFINE_STATIC_LOCAL(StylePropertyShorthand, backgroundShorthand, (backgroundProperties, WTF_ARRAY_LENGTH(backgroundProperties)));
43 return backgroundShorthand;
46 const StylePropertyShorthand& backgroundPositionShorthand()
48 static const CSSPropertyID backgroundPositionProperties[] = { CSSPropertyBackgroundPositionX, CSSPropertyBackgroundPositionY };
49 DEFINE_STATIC_LOCAL(StylePropertyShorthand, backgroundPositionLonghands, (backgroundPositionProperties, WTF_ARRAY_LENGTH(backgroundPositionProperties)));
50 return backgroundPositionLonghands;
53 const StylePropertyShorthand& backgroundRepeatShorthand()
55 static const CSSPropertyID backgroundRepeatProperties[] = { CSSPropertyBackgroundRepeatX, CSSPropertyBackgroundRepeatY };
56 DEFINE_STATIC_LOCAL(StylePropertyShorthand, backgroundRepeatLonghands, (backgroundRepeatProperties, WTF_ARRAY_LENGTH(backgroundRepeatProperties)));
57 return backgroundRepeatLonghands;
60 const StylePropertyShorthand& borderShorthand()
62 // Do not change the order of the following four shorthands, and keep them together.
63 static const CSSPropertyID borderProperties[4][3] = {
64 { CSSPropertyBorderTopColor, CSSPropertyBorderTopStyle, CSSPropertyBorderTopWidth },
65 { CSSPropertyBorderRightColor, CSSPropertyBorderRightStyle, CSSPropertyBorderRightWidth },
66 { CSSPropertyBorderBottomColor, CSSPropertyBorderBottomStyle, CSSPropertyBorderBottomWidth },
67 { CSSPropertyBorderLeftColor, CSSPropertyBorderLeftStyle, CSSPropertyBorderLeftWidth }
69 DEFINE_STATIC_LOCAL(StylePropertyShorthand, borderLonghands, (borderProperties[0], sizeof(borderProperties) / sizeof(borderProperties[0][0])));
70 return borderLonghands;
73 const StylePropertyShorthand& borderAbridgedShorthand()
75 static const CSSPropertyID borderAbridgedProperties[] = { CSSPropertyBorderWidth, CSSPropertyBorderStyle, CSSPropertyBorderColor };
76 static const StylePropertyShorthand* propertiesForInitialization[] = {
77 &borderWidthShorthand(),
78 &borderStyleShorthand(),
79 &borderColorShorthand(),
81 DEFINE_STATIC_LOCAL(StylePropertyShorthand, borderAbridgedLonghands,
82 (borderAbridgedProperties, propertiesForInitialization, WTF_ARRAY_LENGTH(borderAbridgedProperties)));
83 return borderAbridgedLonghands;
86 const StylePropertyShorthand& borderBottomShorthand()
88 static const CSSPropertyID borderBottomProperties[] = { CSSPropertyBorderBottomWidth, CSSPropertyBorderBottomStyle, CSSPropertyBorderBottomColor };
89 DEFINE_STATIC_LOCAL(StylePropertyShorthand, borderBottomLonghands, (borderBottomProperties, WTF_ARRAY_LENGTH(borderBottomProperties)));
90 return borderBottomLonghands;
93 const StylePropertyShorthand& borderColorShorthand()
95 static const CSSPropertyID borderColorProperties[] = {
96 CSSPropertyBorderTopColor,
97 CSSPropertyBorderRightColor,
98 CSSPropertyBorderBottomColor,
99 CSSPropertyBorderLeftColor
101 DEFINE_STATIC_LOCAL(StylePropertyShorthand, borderColorLonghands, (borderColorProperties, WTF_ARRAY_LENGTH(borderColorProperties)));
102 return borderColorLonghands;
105 const StylePropertyShorthand& borderImageShorthand()
107 static const CSSPropertyID borderImageProperties[] = {
108 CSSPropertyBorderImageSource,
109 CSSPropertyBorderImageSlice,
110 CSSPropertyBorderImageWidth,
111 CSSPropertyBorderImageOutset,
112 CSSPropertyBorderImageRepeat
114 DEFINE_STATIC_LOCAL(StylePropertyShorthand, borderImageLonghands, (borderImageProperties, WTF_ARRAY_LENGTH(borderImageProperties)));
115 return borderImageLonghands;
118 const StylePropertyShorthand& borderLeftShorthand()
120 static const CSSPropertyID borderLeftProperties[] = { CSSPropertyBorderLeftWidth, CSSPropertyBorderLeftStyle, CSSPropertyBorderLeftColor };
121 DEFINE_STATIC_LOCAL(StylePropertyShorthand, borderLeftLonghands, (borderLeftProperties, WTF_ARRAY_LENGTH(borderLeftProperties)));
122 return borderLeftLonghands;
125 const StylePropertyShorthand& borderRadiusShorthand()
127 static const CSSPropertyID borderRadiusProperties[] = {
128 CSSPropertyBorderTopRightRadius,
129 CSSPropertyBorderTopLeftRadius,
130 CSSPropertyBorderBottomLeftRadius,
131 CSSPropertyBorderBottomRightRadius
133 DEFINE_STATIC_LOCAL(StylePropertyShorthand, borderRadiusLonghands, (borderRadiusProperties, WTF_ARRAY_LENGTH(borderRadiusProperties)));
134 return borderRadiusLonghands;
137 const StylePropertyShorthand& borderRightShorthand()
139 static const CSSPropertyID borderRightProperties[] = { CSSPropertyBorderRightWidth, CSSPropertyBorderRightStyle, CSSPropertyBorderRightColor };
140 DEFINE_STATIC_LOCAL(StylePropertyShorthand, borderRightLonghands, (borderRightProperties, WTF_ARRAY_LENGTH(borderRightProperties)));
141 return borderRightLonghands;
144 const StylePropertyShorthand& borderSpacingShorthand()
146 static const CSSPropertyID borderSpacingProperties[] = { CSSPropertyWebkitBorderHorizontalSpacing, CSSPropertyWebkitBorderVerticalSpacing };
147 DEFINE_STATIC_LOCAL(StylePropertyShorthand, borderSpacingLonghands, (borderSpacingProperties, WTF_ARRAY_LENGTH(borderSpacingProperties)));
148 return borderSpacingLonghands;
151 const StylePropertyShorthand& borderStyleShorthand()
153 static const CSSPropertyID borderStyleProperties[] = {
154 CSSPropertyBorderTopStyle,
155 CSSPropertyBorderRightStyle,
156 CSSPropertyBorderBottomStyle,
157 CSSPropertyBorderLeftStyle
159 DEFINE_STATIC_LOCAL(StylePropertyShorthand, borderStyleLonghands, (borderStyleProperties, WTF_ARRAY_LENGTH(borderStyleProperties)));
160 return borderStyleLonghands;
163 const StylePropertyShorthand& borderTopShorthand()
165 static const CSSPropertyID borderTopProperties[] = { CSSPropertyBorderTopWidth, CSSPropertyBorderTopStyle, CSSPropertyBorderTopColor };
166 DEFINE_STATIC_LOCAL(StylePropertyShorthand, borderTopLonghands, (borderTopProperties, WTF_ARRAY_LENGTH(borderTopProperties)));
167 return borderTopLonghands;
170 const StylePropertyShorthand& borderWidthShorthand()
172 static const CSSPropertyID borderWidthProperties[] = {
173 CSSPropertyBorderTopWidth,
174 CSSPropertyBorderRightWidth,
175 CSSPropertyBorderBottomWidth,
176 CSSPropertyBorderLeftWidth
178 DEFINE_STATIC_LOCAL(StylePropertyShorthand, borderWidthLonghands, (borderWidthProperties, WTF_ARRAY_LENGTH(borderWidthProperties)));
179 return borderWidthLonghands;
182 const StylePropertyShorthand& listStyleShorthand()
184 static const CSSPropertyID listStyleProperties[] = {
185 CSSPropertyListStyleType,
186 CSSPropertyListStylePosition,
187 CSSPropertyListStyleImage
189 DEFINE_STATIC_LOCAL(StylePropertyShorthand, listStyleLonghands, (listStyleProperties, WTF_ARRAY_LENGTH(listStyleProperties)));
190 return listStyleLonghands;
193 const StylePropertyShorthand& fontShorthand()
195 static const CSSPropertyID fontProperties[] = {
196 CSSPropertyFontFamily,
198 CSSPropertyFontStyle,
199 CSSPropertyFontVariant,
200 CSSPropertyFontWeight,
201 CSSPropertyLineHeight
203 DEFINE_STATIC_LOCAL(StylePropertyShorthand, fontLonghands, (fontProperties, WTF_ARRAY_LENGTH(fontProperties)));
204 return fontLonghands;
207 const StylePropertyShorthand& marginShorthand()
209 static const CSSPropertyID marginProperties[] = {
210 CSSPropertyMarginTop,
211 CSSPropertyMarginRight,
212 CSSPropertyMarginBottom,
213 CSSPropertyMarginLeft
215 DEFINE_STATIC_LOCAL(StylePropertyShorthand, marginLonghands, (marginProperties, WTF_ARRAY_LENGTH(marginProperties)));
216 return marginLonghands;
219 const StylePropertyShorthand& outlineShorthand()
221 static const CSSPropertyID outlineProperties[] = {
222 CSSPropertyOutlineColor,
223 CSSPropertyOutlineStyle,
224 CSSPropertyOutlineWidth
226 DEFINE_STATIC_LOCAL(StylePropertyShorthand, outlineLonghands, (outlineProperties, WTF_ARRAY_LENGTH(outlineProperties)));
227 return outlineLonghands;
230 const StylePropertyShorthand& overflowShorthand()
232 static const CSSPropertyID overflowProperties[] = { CSSPropertyOverflowX, CSSPropertyOverflowY };
233 DEFINE_STATIC_LOCAL(StylePropertyShorthand, overflowLonghands, (overflowProperties, WTF_ARRAY_LENGTH(overflowProperties)));
234 return overflowLonghands;
237 const StylePropertyShorthand& paddingShorthand()
239 static const CSSPropertyID paddingProperties[] = {
240 CSSPropertyPaddingTop,
241 CSSPropertyPaddingRight,
242 CSSPropertyPaddingBottom,
243 CSSPropertyPaddingLeft
245 DEFINE_STATIC_LOCAL(StylePropertyShorthand, paddingLonghands, (paddingProperties, WTF_ARRAY_LENGTH(paddingProperties)));
246 return paddingLonghands;
249 const StylePropertyShorthand& webkitAnimationShorthand()
251 static const CSSPropertyID animationProperties[] = {
252 CSSPropertyWebkitAnimationName,
253 CSSPropertyWebkitAnimationDuration,
254 CSSPropertyWebkitAnimationTimingFunction,
255 CSSPropertyWebkitAnimationDelay,
256 CSSPropertyWebkitAnimationIterationCount,
257 CSSPropertyWebkitAnimationDirection,
258 CSSPropertyWebkitAnimationFillMode
260 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitAnimationLonghands, (animationProperties, WTF_ARRAY_LENGTH(animationProperties)));
261 return webkitAnimationLonghands;
264 const StylePropertyShorthand& webkitBorderAfterShorthand()
266 static const CSSPropertyID borderAfterProperties[] = { CSSPropertyWebkitBorderAfterWidth, CSSPropertyWebkitBorderAfterStyle, CSSPropertyWebkitBorderAfterColor };
267 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitBorderAfterLonghands, (borderAfterProperties, WTF_ARRAY_LENGTH(borderAfterProperties)));
268 return webkitBorderAfterLonghands;
271 const StylePropertyShorthand& webkitBorderBeforeShorthand()
273 static const CSSPropertyID borderBeforeProperties[] = { CSSPropertyWebkitBorderBeforeWidth, CSSPropertyWebkitBorderBeforeStyle, CSSPropertyWebkitBorderBeforeColor };
274 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitBorderBeforeLonghands, (borderBeforeProperties, WTF_ARRAY_LENGTH(borderBeforeProperties)));
275 return webkitBorderBeforeLonghands;
278 const StylePropertyShorthand& webkitBorderEndShorthand()
280 static const CSSPropertyID borderEndProperties[] = { CSSPropertyWebkitBorderEndWidth, CSSPropertyWebkitBorderEndStyle, CSSPropertyWebkitBorderEndColor };
281 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitBorderEndLonghands, (borderEndProperties, WTF_ARRAY_LENGTH(borderEndProperties)));
282 return webkitBorderEndLonghands;
285 const StylePropertyShorthand& webkitBorderStartShorthand()
287 static const CSSPropertyID borderStartProperties[] = { CSSPropertyWebkitBorderStartWidth, CSSPropertyWebkitBorderStartStyle, CSSPropertyWebkitBorderStartColor };
288 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitBorderStartLonghands, (borderStartProperties, WTF_ARRAY_LENGTH(borderStartProperties)));
289 return webkitBorderStartLonghands;
292 const StylePropertyShorthand& webkitColumnsShorthand()
294 static const CSSPropertyID columnsProperties[] = { CSSPropertyWebkitColumnWidth, CSSPropertyWebkitColumnCount };
295 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitColumnsLonghands, (columnsProperties, WTF_ARRAY_LENGTH(columnsProperties)));
296 return webkitColumnsLonghands;
299 const StylePropertyShorthand& webkitColumnRuleShorthand()
301 static const CSSPropertyID columnRuleProperties[] = {
302 CSSPropertyWebkitColumnRuleWidth,
303 CSSPropertyWebkitColumnRuleStyle,
304 CSSPropertyWebkitColumnRuleColor,
306 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitColumnRuleLonghands, (columnRuleProperties, WTF_ARRAY_LENGTH(columnRuleProperties)));
307 return webkitColumnRuleLonghands;
310 #if ENABLE(CSS3_FLEXBOX)
311 const StylePropertyShorthand& webkitFlexFlowShorthand()
313 static const CSSPropertyID flexFlowProperties[] = { CSSPropertyWebkitFlexDirection, CSSPropertyWebkitFlexWrap };
314 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitFlexFlowLonghands, (flexFlowProperties, WTF_ARRAY_LENGTH(flexFlowProperties)));
315 return webkitFlexFlowLonghands;
318 const StylePropertyShorthand& webkitFlexShorthand()
320 static const CSSPropertyID flexProperties[] = { CSSPropertyWebkitFlexGrow, CSSPropertyWebkitFlexShrink, CSSPropertyWebkitFlexBasis };
321 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitFlexLonghands, (flexProperties, WTF_ARRAY_LENGTH(flexProperties)));
322 return webkitFlexLonghands;
326 const StylePropertyShorthand& webkitMarginCollapseShorthand()
328 static const CSSPropertyID marginCollapseProperties[] = { CSSPropertyWebkitMarginBeforeCollapse, CSSPropertyWebkitMarginAfterCollapse };
329 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitMarginCollapseLonghands, (marginCollapseProperties, WTF_ARRAY_LENGTH(marginCollapseProperties)));
330 return webkitMarginCollapseLonghands;
333 const StylePropertyShorthand& webkitMarqueeShorthand()
335 static const CSSPropertyID marqueeProperties[] = {
336 CSSPropertyWebkitMarqueeDirection,
337 CSSPropertyWebkitMarqueeIncrement,
338 CSSPropertyWebkitMarqueeRepetition,
339 CSSPropertyWebkitMarqueeStyle,
340 CSSPropertyWebkitMarqueeSpeed
342 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitMarqueeLonghands, (marqueeProperties, WTF_ARRAY_LENGTH(marqueeProperties)));
343 return webkitMarqueeLonghands;
346 const StylePropertyShorthand& webkitMaskShorthand()
348 static const CSSPropertyID maskProperties[] = {
349 CSSPropertyWebkitMaskImage,
350 CSSPropertyWebkitMaskRepeatX,
351 CSSPropertyWebkitMaskRepeatY,
352 CSSPropertyWebkitMaskAttachment,
353 CSSPropertyWebkitMaskPositionX,
354 CSSPropertyWebkitMaskPositionY,
355 CSSPropertyWebkitMaskClip,
356 CSSPropertyWebkitMaskOrigin
358 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitMaskLonghands, (maskProperties, WTF_ARRAY_LENGTH(maskProperties)));
359 return webkitMaskLonghands;
362 const StylePropertyShorthand& webkitMaskPositionShorthand()
364 static const CSSPropertyID maskPositionProperties[] = { CSSPropertyWebkitMaskPositionX, CSSPropertyWebkitMaskPositionY };
365 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitMaskPositionLonghands, (maskPositionProperties, WTF_ARRAY_LENGTH(maskPositionProperties)));
366 return webkitMaskPositionLonghands;
369 const StylePropertyShorthand& webkitMaskRepeatShorthand()
371 static const CSSPropertyID maskRepeatProperties[] = { CSSPropertyWebkitMaskRepeatX, CSSPropertyWebkitMaskRepeatY };
372 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitMaskRepeatLonghands, (maskRepeatProperties, WTF_ARRAY_LENGTH(maskRepeatProperties)));
373 return webkitMaskRepeatLonghands;
376 const StylePropertyShorthand& webkitTextEmphasisShorthand()
378 static const CSSPropertyID textEmphasisProperties[] = {
379 CSSPropertyWebkitTextEmphasisStyle,
380 CSSPropertyWebkitTextEmphasisColor
382 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitTextEmphasisLonghands, (textEmphasisProperties, WTF_ARRAY_LENGTH(textEmphasisProperties)));
383 return webkitTextEmphasisLonghands;
386 const StylePropertyShorthand& webkitTextStrokeShorthand()
388 static const CSSPropertyID textStrokeProperties[] = { CSSPropertyWebkitTextStrokeWidth, CSSPropertyWebkitTextStrokeColor };
389 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitTextStrokeLonghands, (textStrokeProperties, WTF_ARRAY_LENGTH(textStrokeProperties)));
390 return webkitTextStrokeLonghands;
393 const StylePropertyShorthand& webkitTransitionShorthand()
395 static const CSSPropertyID transitionProperties[] = {
396 CSSPropertyWebkitTransitionProperty,
397 CSSPropertyWebkitTransitionDuration,
398 CSSPropertyWebkitTransitionTimingFunction,
399 CSSPropertyWebkitTransitionDelay
401 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitTransitionLonghands, (transitionProperties, WTF_ARRAY_LENGTH(transitionProperties)));
402 return webkitTransitionLonghands;
405 const StylePropertyShorthand& webkitTransformOriginShorthand()
407 static const CSSPropertyID transformOriginProperties[] = {
408 CSSPropertyWebkitTransformOriginX,
409 CSSPropertyWebkitTransformOriginY,
410 CSSPropertyWebkitTransformOriginZ
412 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitTransformOriginLonghands, (transformOriginProperties, WTF_ARRAY_LENGTH(transformOriginProperties)));
413 return webkitTransformOriginLonghands;
416 #if ENABLE(CSS_EXCLUSIONS)
417 const StylePropertyShorthand& webkitWrapShorthand()
419 static const CSSPropertyID webkitWrapProperties[] = {
420 CSSPropertyWebkitWrapFlow,
421 CSSPropertyWebkitWrapMargin,
422 CSSPropertyWebkitWrapPadding
424 DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitWrapLonghands, (webkitWrapProperties, WTF_ARRAY_LENGTH(webkitWrapProperties)));
425 return webkitWrapLonghands;
429 // Returns an empty list if the property is not a shorthand
430 const StylePropertyShorthand& shorthandForProperty(CSSPropertyID propertyID)
432 switch (propertyID) {
433 case CSSPropertyBackground:
434 return backgroundShorthand();
435 case CSSPropertyBackgroundPosition:
436 return backgroundPositionShorthand();
437 case CSSPropertyBackgroundRepeat:
438 return backgroundRepeatShorthand();
439 case CSSPropertyBorder:
440 return borderShorthand();
441 case CSSPropertyBorderBottom:
442 return borderBottomShorthand();
443 case CSSPropertyBorderColor:
444 return borderColorShorthand();
445 case CSSPropertyBorderImage:
446 return borderImageShorthand();
447 case CSSPropertyBorderLeft:
448 return borderLeftShorthand();
449 case CSSPropertyBorderRadius:
450 return borderRadiusShorthand();
451 case CSSPropertyBorderRight:
452 return borderRightShorthand();
453 case CSSPropertyBorderSpacing:
454 return borderSpacingShorthand();
455 case CSSPropertyBorderStyle:
456 return borderStyleShorthand();
457 case CSSPropertyBorderTop:
458 return borderTopShorthand();
459 case CSSPropertyBorderWidth:
460 return borderWidthShorthand();
461 case CSSPropertyListStyle:
462 return listStyleShorthand();
463 case CSSPropertyFont:
464 return fontShorthand();
465 case CSSPropertyMargin:
466 return marginShorthand();
467 case CSSPropertyOutline:
468 return outlineShorthand();
469 case CSSPropertyOverflow:
470 return overflowShorthand();
471 case CSSPropertyPadding:
472 return paddingShorthand();
473 case CSSPropertyWebkitAnimation:
474 return webkitAnimationShorthand();
475 case CSSPropertyWebkitBorderAfter:
476 return webkitBorderAfterShorthand();
477 case CSSPropertyWebkitBorderBefore:
478 return webkitBorderBeforeShorthand();
479 case CSSPropertyWebkitBorderEnd:
480 return webkitBorderEndShorthand();
481 case CSSPropertyWebkitBorderStart:
482 return webkitBorderStartShorthand();
483 case CSSPropertyWebkitBorderRadius:
484 return borderRadiusShorthand();
485 case CSSPropertyWebkitColumns:
486 return webkitColumnsShorthand();
487 case CSSPropertyWebkitColumnRule:
488 return webkitColumnRuleShorthand();
489 #if ENABLE(CSS3_FLEXBOX)
490 case CSSPropertyWebkitFlex:
491 return webkitFlexShorthand();
492 case CSSPropertyWebkitFlexFlow:
493 return webkitFlexFlowShorthand();
495 case CSSPropertyWebkitMarginCollapse:
496 return webkitMarginCollapseShorthand();
497 case CSSPropertyWebkitMarquee:
498 return webkitMarqueeShorthand();
499 case CSSPropertyWebkitMask:
500 return webkitMaskShorthand();
501 case CSSPropertyWebkitMaskPosition:
502 return webkitMaskPositionShorthand();
503 case CSSPropertyWebkitMaskRepeat:
504 return webkitMaskRepeatShorthand();
505 case CSSPropertyWebkitTextEmphasis:
506 return webkitTextEmphasisShorthand();
507 case CSSPropertyWebkitTextStroke:
508 return webkitTextStrokeShorthand();
509 case CSSPropertyWebkitTransition:
510 return webkitTransitionShorthand();
511 case CSSPropertyWebkitTransformOrigin:
512 return webkitTransformOriginShorthand();
513 #if ENABLE(CSS_EXCLUSIONS)
514 case CSSPropertyWebkitWrap:
515 return webkitWrapShorthand();
518 DEFINE_STATIC_LOCAL(StylePropertyShorthand, emptyShorthand, ());
519 return emptyShorthand;
524 } // namespace WebCore