Unprefix CSS cursor values zoom-in and zoom-out.
[WebKit-https.git] / Source / WebCore / rendering / style / RenderStyleConstants.h
1 /*
2  * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3  *           (C) 2000 Antti Koivisto (koivisto@kde.org)
4  *           (C) 2000 Dirk Mueller (mueller@kde.org)
5  * Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
6  * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com)
7  * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Library General Public
11  * License as published by the Free Software Foundation; either
12  * version 2 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * Library General Public License for more details.
18  *
19  * You should have received a copy of the GNU Library General Public License
20  * along with this library; see the file COPYING.LIB.  If not, write to
21  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22  * Boston, MA 02110-1301, USA.
23  *
24  */
25
26 #ifndef RenderStyleConstants_h
27 #define RenderStyleConstants_h
28
29 namespace WebCore {
30
31 static const size_t PrintColorAdjustBits = 1;
32 enum PrintColorAdjust {
33     PrintColorAdjustEconomy,
34     PrintColorAdjustExact
35 };
36
37 // The difference between two styles.  The following values are used:
38 // - StyleDifferenceEqual - The two styles are identical
39 // - StyleDifferenceRecompositeLayer - The layer needs its position and transform updated, but no repaint
40 // - StyleDifferenceRepaint - The object just needs to be repainted.
41 // - StyleDifferenceRepaintIfTextOrBorderOrOutline - The object needs to be repainted if it contains text or a border or outline.
42 // - StyleDifferenceRepaintLayer - The layer and its descendant layers needs to be repainted.
43 // - StyleDifferenceLayoutPositionedMovementOnly - Only the position of this positioned object has been updated
44 // - StyleDifferenceSimplifiedLayout - Only overflow needs to be recomputed
45 // - StyleDifferenceSimplifiedLayoutAndPositionedMovement - Both positioned movement and simplified layout updates are required.
46 // - StyleDifferenceLayout - A full layout is required.
47 enum StyleDifference {
48     StyleDifferenceEqual,
49     StyleDifferenceRecompositeLayer,
50     StyleDifferenceRepaint,
51     StyleDifferenceRepaintIfTextOrBorderOrOutline,
52     StyleDifferenceRepaintLayer,
53     StyleDifferenceLayoutPositionedMovementOnly,
54     StyleDifferenceSimplifiedLayout,
55     StyleDifferenceSimplifiedLayoutAndPositionedMovement,
56     StyleDifferenceLayout
57 };
58
59 // When some style properties change, different amounts of work have to be done depending on
60 // context (e.g. whether the property is changing on an element which has a compositing layer).
61 // A simple StyleDifference does not provide enough information so we return a bit mask of
62 // StyleDifferenceContextSensitiveProperties from RenderStyle::diff() too.
63 enum StyleDifferenceContextSensitiveProperty {
64     ContextSensitivePropertyNone = 0,
65     ContextSensitivePropertyTransform = (1 << 0),
66     ContextSensitivePropertyOpacity = (1 << 1),
67     ContextSensitivePropertyFilter = (1 << 2),
68     ContextSensitivePropertyClipRect = (1 << 3)
69 };
70
71 // Static pseudo styles. Dynamic ones are produced on the fly.
72 enum PseudoId : unsigned char {
73     // The order must be NOP ID, public IDs, and then internal IDs.
74     NOPSEUDO, FIRST_LINE, FIRST_LETTER, BEFORE, AFTER, SELECTION, FIRST_LINE_INHERITED, SCROLLBAR,
75     // Internal IDs follow:
76     SCROLLBAR_THUMB, SCROLLBAR_BUTTON, SCROLLBAR_TRACK, SCROLLBAR_TRACK_PIECE, SCROLLBAR_CORNER, RESIZER,
77     AFTER_LAST_INTERNAL_PSEUDOID,
78     FIRST_PUBLIC_PSEUDOID = FIRST_LINE,
79     FIRST_INTERNAL_PSEUDOID = SCROLLBAR_THUMB,
80     PUBLIC_PSEUDOID_MASK = ((1 << FIRST_INTERNAL_PSEUDOID) - 1) & ~((1 << FIRST_PUBLIC_PSEUDOID) - 1)
81 };
82
83 enum ColumnFill { ColumnFillBalance, ColumnFillAuto };
84
85 enum ColumnSpan { ColumnSpanNone = 0, ColumnSpanAll };
86
87 enum EBorderCollapse { BSEPARATE = 0, BCOLLAPSE = 1 };
88
89 // These have been defined in the order of their precedence for border-collapsing. Do
90 // not change this order! This order also must match the order in CSSValueKeywords.in.
91 enum EBorderStyle { BNONE, BHIDDEN, INSET, GROOVE, OUTSET, RIDGE, DOTTED, DASHED, SOLID, DOUBLE };
92
93 enum EBorderPrecedence { BOFF, BTABLE, BCOLGROUP, BCOL, BROWGROUP, BROW, BCELL };
94
95 enum OutlineIsAuto { AUTO_OFF = 0, AUTO_ON };
96
97 enum EPosition {
98     StaticPosition = 0,
99     RelativePosition = 1,
100     AbsolutePosition = 2,
101     StickyPosition = 3,
102     // This value is required to pack our bits efficiently in RenderObject.
103     FixedPosition = 6
104 };
105
106 enum EFloat {
107     NoFloat, LeftFloat, RightFloat
108 };
109
110 enum EMarginCollapse { MCOLLAPSE, MSEPARATE, MDISCARD };
111
112 // Box decoration attributes. Not inherited.
113
114 enum EBoxDecorationBreak { DSLICE, DCLONE };
115
116 // Box attributes. Not inherited.
117
118 enum EBoxSizing { CONTENT_BOX, BORDER_BOX };
119
120 // Random visual rendering model attributes. Not inherited.
121
122 enum EOverflow {
123     OVISIBLE, OHIDDEN, OSCROLL, OAUTO, OOVERLAY, OMARQUEE, OPAGEDX, OPAGEDY
124 };
125
126 enum EVerticalAlign {
127     BASELINE, MIDDLE, SUB, SUPER, TEXT_TOP,
128     TEXT_BOTTOM, TOP, BOTTOM, BASELINE_MIDDLE, LENGTH
129 };
130
131 enum EClear {
132     CNONE = 0, CLEFT = 1, CRIGHT = 2, CBOTH = 3
133 };
134
135 enum ETableLayout {
136     TAUTO, TFIXED
137 };
138
139 enum TextCombine {
140     TextCombineNone, TextCombineHorizontal
141 };
142
143 enum EFillAttachment {
144     ScrollBackgroundAttachment, LocalBackgroundAttachment, FixedBackgroundAttachment
145 };
146
147 enum EFillBox {
148     BorderFillBox, PaddingFillBox, ContentFillBox, TextFillBox
149 };
150
151 enum EFillRepeat {
152     RepeatFill, NoRepeatFill, RoundFill, SpaceFill
153 };
154
155 enum EFillLayerType {
156     BackgroundFillLayer, MaskFillLayer
157 };
158
159 // CSS3 Background Values
160 enum EFillSizeType { Contain, Cover, SizeLength, SizeNone };
161
162 // CSS3 Background Position
163 enum BackgroundEdgeOrigin { TopEdge, RightEdge, BottomEdge, LeftEdge };
164
165 // CSS3 Mask Source Types
166 enum EMaskSourceType { MaskAlpha, MaskLuminance };
167
168 // CSS3 Marquee Properties
169
170 enum EMarqueeBehavior { MNONE, MSCROLL, MSLIDE, MALTERNATE };
171 enum EMarqueeDirection { MAUTO = 0, MLEFT = 1, MRIGHT = -1, MUP = 2, MDOWN = -2, MFORWARD = 3, MBACKWARD = -3 };
172
173 // Deprecated Flexible Box Properties
174
175 enum EBoxPack { Start, Center, End, Justify };
176 enum EBoxAlignment { BSTRETCH, BSTART, BCENTER, BEND, BBASELINE };
177 enum EBoxOrient { HORIZONTAL, VERTICAL };
178 enum EBoxLines { SINGLE, MULTIPLE };
179 enum EBoxDirection { BNORMAL, BREVERSE };
180
181 // CSS3 Flexbox Properties
182
183 enum EAlignContent { AlignContentFlexStart, AlignContentFlexEnd, AlignContentCenter, AlignContentSpaceBetween, AlignContentSpaceAround, AlignContentStretch };
184 enum EAlignItems { AlignAuto, AlignFlexStart, AlignFlexEnd, AlignCenter, AlignStretch, AlignBaseline };
185 enum EFlexDirection { FlowRow, FlowRowReverse, FlowColumn, FlowColumnReverse };
186 enum EFlexWrap { FlexNoWrap, FlexWrap, FlexWrapReverse };
187 enum EJustifyContent { JustifyFlexStart, JustifyFlexEnd, JustifyCenter, JustifySpaceBetween, JustifySpaceAround };
188 enum EJustifySelf {JustifySelfAuto, JustifySelfStretch, JustifySelfBaseline, JustifySelfCenter, JustifySelfStart, JustifySelfEnd, JustifySelfSelfStart, JustifySelfSelfEnd, JustifySelfFlexStart, JustifySelfFlexEnd, JustifySelfLeft, JustifySelfRight};
189 enum EJustifySelfOverflowAlignment {JustifySelfOverflowAlignmentDefault, JustifySelfOverflowAlignmentTrue, JustifySelfOverflowAlignmentSafe};
190
191
192 enum ETextSecurity {
193     TSNONE, TSDISC, TSCIRCLE, TSSQUARE
194 };
195
196 // CSS3 User Modify Properties
197
198 enum EUserModify {
199     READ_ONLY, READ_WRITE, READ_WRITE_PLAINTEXT_ONLY
200 };
201
202 // CSS3 User Drag Values
203
204 enum EUserDrag {
205     DRAG_AUTO, DRAG_NONE, DRAG_ELEMENT
206 };
207
208 // CSS3 User Select Values
209
210 enum EUserSelect {
211     SELECT_NONE, SELECT_TEXT, SELECT_ALL
212 };
213
214 // CSS3 Image Values
215 enum ObjectFit {
216     ObjectFitFill, ObjectFitContain, ObjectFitCover, ObjectFitNone, ObjectFitScaleDown
217 };
218
219 enum AspectRatioType {
220     AspectRatioAuto, AspectRatioFromIntrinsic, AspectRatioFromDimensions, AspectRatioSpecified
221 };
222
223 // Word Break Values. Matches WinIE, rather than CSS3
224
225 enum EWordBreak {
226     NormalWordBreak, BreakAllWordBreak, BreakWordBreak
227 };
228
229 enum EOverflowWrap {
230     NormalOverflowWrap, BreakOverflowWrap
231 };
232
233 enum ENBSPMode {
234     NBNORMAL, SPACE
235 };
236
237 enum LineBreak {
238     LineBreakAuto, LineBreakLoose, LineBreakNormal, LineBreakStrict, LineBreakAfterWhiteSpace
239 };
240
241 enum EResize {
242     RESIZE_NONE, RESIZE_BOTH, RESIZE_HORIZONTAL, RESIZE_VERTICAL
243 };
244
245 // The order of this enum must match the order of the list style types in CSSValueKeywords.in.
246 enum EListStyleType {
247     Disc,
248     Circle,
249     Square,
250     DecimalListStyle,
251     DecimalLeadingZero,
252     ArabicIndic,
253     BinaryListStyle,
254     Bengali,
255     Cambodian,
256     Khmer,
257     Devanagari,
258     Gujarati,
259     Gurmukhi,
260     Kannada,
261     LowerHexadecimal,
262     Lao,
263     Malayalam,
264     Mongolian,
265     Myanmar,
266     Octal,
267     Oriya,
268     Persian,
269     Urdu,
270     Telugu,
271     Tibetan,
272     Thai,
273     UpperHexadecimal,
274     LowerRoman,
275     UpperRoman,
276     LowerGreek,
277     LowerAlpha,
278     LowerLatin,
279     UpperAlpha,
280     UpperLatin,
281     Afar,
282     EthiopicHalehameAaEt,
283     EthiopicHalehameAaEr,
284     Amharic,
285     EthiopicHalehameAmEt,
286     AmharicAbegede,
287     EthiopicAbegedeAmEt,
288     CjkEarthlyBranch,
289     CjkHeavenlyStem,
290     Ethiopic,
291     EthiopicHalehameGez,
292     EthiopicAbegede,
293     EthiopicAbegedeGez,
294     HangulConsonant,
295     Hangul,
296     LowerNorwegian,
297     Oromo,
298     EthiopicHalehameOmEt,
299     Sidama,
300     EthiopicHalehameSidEt,
301     Somali,
302     EthiopicHalehameSoEt,
303     Tigre,
304     EthiopicHalehameTig,
305     TigrinyaEr,
306     EthiopicHalehameTiEr,
307     TigrinyaErAbegede,
308     EthiopicAbegedeTiEr,
309     TigrinyaEt,
310     EthiopicHalehameTiEt,
311     TigrinyaEtAbegede,
312     EthiopicAbegedeTiEt,
313     UpperGreek,
314     UpperNorwegian,
315     Asterisks,
316     Footnotes,
317     Hebrew,
318     Armenian,
319     LowerArmenian,
320     UpperArmenian,
321     Georgian,
322     CJKIdeographic,
323     Hiragana,
324     Katakana,
325     HiraganaIroha,
326     KatakanaIroha,
327     NoneListStyle
328 };
329
330 enum QuoteType {
331     OPEN_QUOTE, CLOSE_QUOTE, NO_OPEN_QUOTE, NO_CLOSE_QUOTE
332 };
333
334 enum EBorderFit { BorderFitBorder, BorderFitLines };
335
336 enum EAnimationFillMode { AnimationFillModeNone, AnimationFillModeForwards, AnimationFillModeBackwards, AnimationFillModeBoth };
337
338 enum EAnimPlayState {
339     AnimPlayStatePlaying = 0x0,
340     AnimPlayStatePaused = 0x1
341 };
342
343 enum EWhiteSpace {
344     NORMAL, PRE, PRE_WRAP, PRE_LINE, NOWRAP, KHTML_NOWRAP
345 };
346
347 // The order of this enum must match the order of the text align values in CSSValueKeywords.in.
348 enum ETextAlign {
349     LEFT, RIGHT, CENTER, JUSTIFY, WEBKIT_LEFT, WEBKIT_RIGHT, WEBKIT_CENTER, TASTART, TAEND,
350 };
351
352 enum ETextTransform {
353     CAPITALIZE, UPPERCASE, LOWERCASE, TTNONE
354 };
355
356 #if ENABLE(LETTERPRESS)
357 static const size_t TextDecorationBits = 5;
358 #else
359 static const size_t TextDecorationBits = 4;
360 #endif
361 enum TextDecoration {
362     TextDecorationNone = 0x0,
363     TextDecorationUnderline = 0x1,
364     TextDecorationOverline = 0x2,
365     TextDecorationLineThrough = 0x4,
366     TextDecorationBlink = 0x8,
367 #if ENABLE(LETTERPRESS)
368     TextDecorationLetterpress = 0x10,
369 #endif
370 };
371 inline TextDecoration operator| (TextDecoration a, TextDecoration b) { return TextDecoration(int(a) | int(b)); }
372 inline TextDecoration& operator|= (TextDecoration& a, TextDecoration b) { return a = a | b; }
373
374 enum TextDecorationStyle {
375     TextDecorationStyleSolid,
376     TextDecorationStyleDouble,
377     TextDecorationStyleDotted,
378     TextDecorationStyleDashed,
379     TextDecorationStyleWavy
380 };
381
382 #if ENABLE(CSS3_TEXT)
383 enum TextAlignLast {
384     TextAlignLastAuto, TextAlignLastStart, TextAlignLastEnd, TextAlignLastLeft, TextAlignLastRight, TextAlignLastCenter, TextAlignLastJustify
385 };
386
387 enum TextJustify {
388     TextJustifyAuto, TextJustifyNone, TextJustifyInterWord, TextJustifyDistribute
389 };
390 #endif // CSS3_TEXT
391
392 enum TextDecorationSkipItems {
393     TextDecorationSkipNone = 0,
394     TextDecorationSkipInk = 1 << 0,
395     TextDecorationSkipObjects = 1 << 1,
396     TextDecorationSkipAuto = 1 << 2
397 };
398 typedef unsigned TextDecorationSkip;
399
400 enum TextUnderlinePosition {
401     // FIXME: Implement support for 'under left' and 'under right' values.
402     TextUnderlinePositionAuto = 0x1, TextUnderlinePositionAlphabetic = 0x2, TextUnderlinePositionUnder = 0x4
403 };
404
405 enum EPageBreak {
406     PBAUTO, PBALWAYS, PBAVOID
407 };
408
409 enum EEmptyCell {
410     SHOW, HIDE
411 };
412
413 enum ECaptionSide {
414     CAPTOP, CAPBOTTOM, CAPLEFT, CAPRIGHT
415 };
416
417 enum EListStylePosition { OUTSIDE, INSIDE };
418
419 enum EVisibility { VISIBLE, HIDDEN, COLLAPSE };
420
421 enum ECursor {
422     // The following must match the order in CSSValueKeywords.in.
423     CursorAuto,
424     CursorCross,
425     CursorDefault,
426     CursorPointer,
427     CursorMove,
428     CursorVerticalText,
429     CursorCell,
430     CursorContextMenu,
431     CursorAlias,
432     CursorProgress,
433     CursorNoDrop,
434     CursorNotAllowed,
435     CursorZoomIn,
436     CursorZoomOut,
437     CursorEResize,
438     CursorNeResize,
439     CursorNwResize,
440     CursorNResize,
441     CursorSeResize,
442     CursorSwResize,
443     CursorSResize,
444     CursorWResize,
445     CursorEwResize,
446     CursorNsResize,
447     CursorNeswResize,
448     CursorNwseResize,
449     CursorColResize,
450     CursorRowResize,
451     CursorText,
452     CursorWait,
453     CursorHelp,
454     CursorAllScroll,
455     CursorWebkitGrab,
456     CursorWebkitGrabbing,
457
458     // The following are handled as exceptions so don't need to match.
459     CursorCopy,
460     CursorNone
461 };
462
463 #if ENABLE(CURSOR_VISIBILITY)
464 enum CursorVisibility {
465     CursorVisibilityAuto,
466     CursorVisibilityAutoHide,
467 };
468 #endif
469
470 // The order of this enum must match the order of the display values in CSSValueKeywords.in.
471 enum EDisplay {
472     INLINE, BLOCK, LIST_ITEM, COMPACT, INLINE_BLOCK,
473     TABLE, INLINE_TABLE, TABLE_ROW_GROUP,
474     TABLE_HEADER_GROUP, TABLE_FOOTER_GROUP, TABLE_ROW,
475     TABLE_COLUMN_GROUP, TABLE_COLUMN, TABLE_CELL,
476     TABLE_CAPTION, BOX, INLINE_BOX,
477     FLEX, WEBKIT_FLEX, INLINE_FLEX, WEBKIT_INLINE_FLEX,
478 #if ENABLE(CSS_GRID_LAYOUT)
479     GRID, INLINE_GRID,
480 #endif
481     NONE
482 };
483
484 enum EInsideLink {
485     NotInsideLink, InsideUnvisitedLink, InsideVisitedLink
486 };
487     
488 enum EPointerEvents {
489     PE_NONE, PE_AUTO, PE_STROKE, PE_FILL, PE_PAINTED, PE_VISIBLE,
490     PE_VISIBLE_STROKE, PE_VISIBLE_FILL, PE_VISIBLE_PAINTED, PE_ALL
491 };
492
493 enum ETransformStyle3D {
494     TransformStyle3DFlat, TransformStyle3DPreserve3D
495 };
496
497 enum EBackfaceVisibility {
498     BackfaceVisibilityVisible, BackfaceVisibilityHidden
499 };
500     
501 enum ELineClampType { LineClampLineCount, LineClampPercentage };
502
503 enum Hyphens { HyphensNone, HyphensManual, HyphensAuto };
504
505 enum ESpeak { SpeakNone, SpeakNormal, SpeakSpellOut, SpeakDigits, SpeakLiteralPunctuation, SpeakNoPunctuation };
506
507 enum TextEmphasisFill { TextEmphasisFillFilled, TextEmphasisFillOpen };
508
509 enum TextEmphasisMark { TextEmphasisMarkNone, TextEmphasisMarkAuto, TextEmphasisMarkDot, TextEmphasisMarkCircle, TextEmphasisMarkDoubleCircle, TextEmphasisMarkTriangle, TextEmphasisMarkSesame, TextEmphasisMarkCustom };
510
511 enum TextEmphasisPositions {
512     TextEmphasisPositionOver = 1 << 0,
513     TextEmphasisPositionUnder = 1 << 1,
514     TextEmphasisPositionLeft = 1 << 2,
515     TextEmphasisPositionRight = 1 << 3
516 };
517 typedef unsigned TextEmphasisPosition;
518
519 enum TextOrientation { TextOrientationVerticalRight, TextOrientationUpright, TextOrientationSideways, TextOrientationSidewaysRight };
520
521 enum TextOverflow { TextOverflowClip = 0, TextOverflowEllipsis };
522
523 enum EImageRendering { ImageRenderingAuto = 0, ImageRenderingOptimizeSpeed, ImageRenderingOptimizeQuality, ImageRenderingCrispEdges };
524
525 enum ImageResolutionSource { ImageResolutionSpecified = 0, ImageResolutionFromImage };
526
527 enum ImageResolutionSnap { ImageResolutionNoSnap = 0, ImageResolutionSnapPixels };
528
529 enum Order { LogicalOrder = 0, VisualOrder };
530
531 enum RegionFragment { AutoRegionFragment, BreakRegionFragment };
532
533 enum ColumnAxis { HorizontalColumnAxis, VerticalColumnAxis, AutoColumnAxis };
534
535 enum ColumnProgression { NormalColumnProgression, ReverseColumnProgression };
536
537 enum LineSnap { LineSnapNone, LineSnapBaseline, LineSnapContain };
538
539 enum LineAlign { LineAlignNone, LineAlignEdges };
540
541 enum RubyPosition { RubyPositionBefore, RubyPositionAfter, RubyPositionInterCharacter };
542
543 #if ENABLE(CSS_GRID_LAYOUT)
544 static const size_t GridAutoFlowBits = 5;
545 enum InternalGridAutoFlowAlgorithm {
546     InternalAutoFlowAlgorithmSparse = 0x1,
547     InternalAutoFlowAlgorithmDense = 0x2,
548     InternalAutoFlowAlgorithmStack = 0x4
549 };
550
551 enum InternalGridAutoFlowDirection {
552     InternalAutoFlowDirectionRow = 0x8,
553     InternalAutoFlowDirectionColumn = 0x10
554 };
555
556 enum GridAutoFlow {
557     AutoFlowRow = InternalAutoFlowAlgorithmSparse | InternalAutoFlowDirectionRow,
558     AutoFlowColumn = InternalAutoFlowAlgorithmSparse | InternalAutoFlowDirectionColumn,
559     AutoFlowRowDense = InternalAutoFlowAlgorithmDense | InternalAutoFlowDirectionRow,
560     AutoFlowColumnDense = InternalAutoFlowAlgorithmDense | InternalAutoFlowDirectionColumn,
561     AutoFlowStackRow = InternalAutoFlowAlgorithmStack | InternalAutoFlowDirectionRow,
562     AutoFlowStackColumn = InternalAutoFlowAlgorithmStack | InternalAutoFlowDirectionColumn
563 };
564 #endif
565
566 // Reasonable maximum to prevent insane font sizes from causing crashes on some platforms (such as Windows).
567 static const float maximumAllowedFontSize = 1000000.0f;
568
569 #if ENABLE(CSS3_TEXT)
570 enum TextIndentLine { TextIndentFirstLine, TextIndentEachLine };
571 enum TextIndentType { TextIndentNormal, TextIndentHanging };
572 #endif
573
574 enum Isolation { IsolationAuto, IsolationIsolate };
575
576 // Fill, Stroke, ViewBox are just used for SVG.
577 enum CSSBoxType { BoxMissing = 0, MarginBox, BorderBox, PaddingBox, ContentBox, Fill, Stroke, ViewBox };
578
579 #if ENABLE(CSS_SCROLL_SNAP)
580 enum class ScrollSnapType {
581     None,
582     Proximity,
583     Mandatory
584 };
585 #endif
586
587 } // namespace WebCore
588
589 #endif // RenderStyleConstants_h