/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "domstubs.idl"

/**
 * The nsIDOMCSS2Properties interface is a datatype for additional
 * reflection of data already provided in nsIDOMCSSStyleDeclaration in
 * the Document Object Model.
 *
 * For more information on this interface please see
 * http://www.w3.org/TR/DOM-Level-2-Style
 */

[builtinclass, scriptable, uuid(243898eb-0e13-416d-9a2e-33af084985ed)]
interface nsIDOMCSS2Properties : nsISupports
{
           attribute DOMString        background;
                                        // raises(DOMException) on setting

           attribute DOMString        backgroundAttachment;
                                        // raises(DOMException) on setting

           attribute DOMString        backgroundColor;
                                        // raises(DOMException) on setting

           attribute DOMString        backgroundImage;
                                        // raises(DOMException) on setting

           attribute DOMString        backgroundPosition;
                                        // raises(DOMException) on setting

           attribute DOMString        backgroundRepeat;
                                        // raises(DOMException) on setting

           attribute DOMString        border;
                                        // raises(DOMException) on setting

           attribute DOMString        borderCollapse;
                                        // raises(DOMException) on setting

           attribute DOMString        borderColor;
                                        // raises(DOMException) on setting

           attribute DOMString        borderSpacing;
                                        // raises(DOMException) on setting

           attribute DOMString        borderStyle;
                                        // raises(DOMException) on setting

           attribute DOMString        borderTop;
                                        // raises(DOMException) on setting

           attribute DOMString        borderRight;
                                        // raises(DOMException) on setting

           attribute DOMString        borderBottom;
                                        // raises(DOMException) on setting

           attribute DOMString        borderLeft;
                                        // raises(DOMException) on setting

           attribute DOMString        borderTopColor;
                                        // raises(DOMException) on setting

           attribute DOMString        borderRightColor;
                                        // raises(DOMException) on setting

           attribute DOMString        borderBottomColor;
                                        // raises(DOMException) on setting

           attribute DOMString        borderLeftColor;
                                        // raises(DOMException) on setting

           attribute DOMString        borderTopStyle;
                                        // raises(DOMException) on setting

           attribute DOMString        borderRightStyle;
                                        // raises(DOMException) on setting

           attribute DOMString        borderBottomStyle;
                                        // raises(DOMException) on setting

           attribute DOMString        borderLeftStyle;
                                        // raises(DOMException) on setting

           attribute DOMString        borderTopWidth;
                                        // raises(DOMException) on setting

           attribute DOMString        borderRightWidth;
                                        // raises(DOMException) on setting

           attribute DOMString        borderBottomWidth;
                                        // raises(DOMException) on setting

           attribute DOMString        borderLeftWidth;
                                        // raises(DOMException) on setting

           attribute DOMString        borderWidth;
                                        // raises(DOMException) on setting

           attribute DOMString        borderRadius;
                                        // raises(DOMException) on setting

           attribute DOMString        borderTopLeftRadius;
                                        // raises(DOMException) on setting

           attribute DOMString        borderTopRightRadius;
                                        // raises(DOMException) on setting

           attribute DOMString        borderBottomLeftRadius;
                                        // raises(DOMException) on setting

           attribute DOMString        borderBottomRightRadius;
                                        // raises(DOMException) on setting

           attribute DOMString        bottom;
                                        // raises(DOMException) on setting

           attribute DOMString        boxShadow;
                                        // raises(DOMException) on setting

           attribute DOMString        captionSide;
                                        // raises(DOMException) on setting

           attribute DOMString        clear;
                                        // raises(DOMException) on setting

           attribute DOMString        clip;
                                        // raises(DOMException) on setting

           attribute DOMString        color;
                                        // raises(DOMException) on setting

           attribute DOMString        content;
                                        // raises(DOMException) on setting

           attribute DOMString        counterIncrement;
                                        // raises(DOMException) on setting

           attribute DOMString        counterReset;
                                        // raises(DOMException) on setting

           attribute DOMString        cursor;
                                        // raises(DOMException) on setting

           attribute DOMString        direction;
                                        // raises(DOMException) on setting

           attribute DOMString        display;
                                        // raises(DOMException) on setting

           attribute DOMString        emptyCells;
                                        // raises(DOMException) on setting

           attribute DOMString        cssFloat;
                                        // raises(DOMException) on setting

           attribute DOMString        font;
                                        // raises(DOMException) on setting

           attribute DOMString        fontFamily;
                                        // raises(DOMException) on setting

           attribute DOMString        fontSize;
                                        // raises(DOMException) on setting

           attribute DOMString        fontSizeAdjust;
                                        // raises(DOMException) on setting

           attribute DOMString        fontStretch;
                                        // raises(DOMException) on setting

           attribute DOMString        fontStyle;
                                        // raises(DOMException) on setting

           attribute DOMString        fontVariant;
                                        // raises(DOMException) on setting

           attribute DOMString        fontWeight;
                                        // raises(DOMException) on setting

           attribute DOMString        height;
                                        // raises(DOMException) on setting

           attribute DOMString        left;
                                        // raises(DOMException) on setting

           attribute DOMString        letterSpacing;
                                        // raises(DOMException) on setting

           attribute DOMString        lineHeight;
                                        // raises(DOMException) on setting

           attribute DOMString        listStyle;
                                        // raises(DOMException) on setting

           attribute DOMString        listStyleImage;
                                        // raises(DOMException) on setting

           attribute DOMString        listStylePosition;
                                        // raises(DOMException) on setting

           attribute DOMString        listStyleType;
                                        // raises(DOMException) on setting

           attribute DOMString        margin;
                                        // raises(DOMException) on setting

           attribute DOMString        marginTop;
                                        // raises(DOMException) on setting

           attribute DOMString        marginRight;
                                        // raises(DOMException) on setting

           attribute DOMString        marginBottom;
                                        // raises(DOMException) on setting

           attribute DOMString        marginLeft;
                                        // raises(DOMException) on setting

           attribute DOMString        markerOffset;
                                        // raises(DOMException) on setting

           attribute DOMString        marks;
                                        // raises(DOMException) on setting

           attribute DOMString        maxHeight;
                                        // raises(DOMException) on setting

           attribute DOMString        maxWidth;
                                        // raises(DOMException) on setting

           attribute DOMString        minHeight;
                                        // raises(DOMException) on setting

           attribute DOMString        minWidth;
                                        // raises(DOMException) on setting

           attribute DOMString        orphans;
                                        // raises(DOMException) on setting

           attribute DOMString        outline;
                                        // raises(DOMException) on setting

           attribute DOMString        outlineColor;
                                        // raises(DOMException) on setting

           attribute DOMString        outlineStyle;
                                        // raises(DOMException) on setting

           attribute DOMString        outlineWidth;
                                        // raises(DOMException) on setting

           attribute DOMString        overflow;
                                        // raises(DOMException) on setting

           attribute DOMString        padding;
                                        // raises(DOMException) on setting

           attribute DOMString        paddingTop;
                                        // raises(DOMException) on setting

           attribute DOMString        paddingRight;
                                        // raises(DOMException) on setting

           attribute DOMString        paddingBottom;
                                        // raises(DOMException) on setting

           attribute DOMString        paddingLeft;
                                        // raises(DOMException) on setting

           attribute DOMString        page;
                                        // raises(DOMException) on setting

           attribute DOMString        pageBreakAfter;
                                        // raises(DOMException) on setting

           attribute DOMString        pageBreakBefore;
                                        // raises(DOMException) on setting

           attribute DOMString        pageBreakInside;
                                        // raises(DOMException) on setting

           attribute DOMString        position;
                                        // raises(DOMException) on setting

           attribute DOMString        quotes;
                                        // raises(DOMException) on setting

           attribute DOMString        right;
                                        // raises(DOMException) on setting

           attribute DOMString        size;
                                        // raises(DOMException) on setting

           attribute DOMString        tableLayout;
                                        // raises(DOMException) on setting

           attribute DOMString        textAlign;
                                        // raises(DOMException) on setting

           attribute DOMString        textDecoration;
                                        // raises(DOMException) on setting

           attribute DOMString        textIndent;
                                        // raises(DOMException) on setting

           attribute DOMString        textOverflow;
                                        // raises(DOMException) on setting

           attribute DOMString        textShadow;
                                        // raises(DOMException) on setting

           attribute DOMString        textTransform;
                                        // raises(DOMException) on setting

           attribute DOMString        top;
                                        // raises(DOMException) on setting

           attribute DOMString        unicodeBidi;
                                        // raises(DOMException) on setting

           attribute DOMString        verticalAlign;
                                        // raises(DOMException) on setting

           attribute DOMString        visibility;
                                        // raises(DOMException) on setting

           attribute DOMString        whiteSpace;
                                        // raises(DOMException) on setting

           attribute DOMString        widows;
                                        // raises(DOMException) on setting

           attribute DOMString        width;
                                        // raises(DOMException) on setting

           attribute DOMString        wordSpacing;
                                        // raises(DOMException) on setting

           attribute DOMString        zIndex;
                                        // raises(DOMException) on setting

           /* SVG CSS properties */
           attribute DOMString        clipPath;
                                        // raises(DOMException) on setting

           attribute DOMString        clipRule;
                                        // raises(DOMException) on setting

           attribute DOMString        colorInterpolation;
                                        // raises(DOMException) on setting

           attribute DOMString        colorInterpolationFilters;
                                        // raises(DOMException) on setting

           attribute DOMString        dominantBaseline;
                                        // raises(DOMException) on setting

           attribute DOMString        fill;
                                        // raises(DOMException) on setting

           attribute DOMString        fillOpacity;
                                        // raises(DOMException) on setting

           attribute DOMString        fillRule;
                                        // raises(DOMException) on setting

           attribute DOMString        filter;
                                        // raises(DOMException) on setting

           attribute DOMString        floodColor;
                                        // raises(DOMException) on setting

           attribute DOMString        floodOpacity;
                                        // raises(DOMException) on setting

           attribute DOMString        imageRendering;
                                        // raises(DOMException) on setting

           attribute DOMString        lightingColor;
                                        // raises(DOMException) on setting

           attribute DOMString        marker;
                                        // raises(DOMException) on setting

           attribute DOMString        markerEnd;
                                        // raises(DOMException) on setting

           attribute DOMString        markerMid;
                                        // raises(DOMException) on setting

           attribute DOMString        markerStart;
                                        // raises(DOMException) on setting

           attribute DOMString        mask;
                                        // raises(DOMException) on setting

           attribute DOMString        shapeRendering;
                                        // raises(DOMException) on setting

           attribute DOMString        stopColor;
                                        // raises(DOMException) on setting

           attribute DOMString        stopOpacity;
                                        // raises(DOMException) on setting

           attribute DOMString        stroke;
                                        // raises(DOMException) on setting

           attribute DOMString        strokeDasharray;
                                        // raises(DOMException) on setting

           attribute DOMString        strokeDashoffset;
                                        // raises(DOMException) on setting

           attribute DOMString        strokeLinecap;
                                        // raises(DOMException) on setting

           attribute DOMString        strokeLinejoin;
                                        // raises(DOMException) on setting

           attribute DOMString        strokeMiterlimit;
                                        // raises(DOMException) on setting

           attribute DOMString        strokeOpacity;
                                        // raises(DOMException) on setting

           attribute DOMString        strokeWidth;
                                        // raises(DOMException) on setting

           attribute DOMString        textAnchor;
                                        // raises(DOMException) on setting

           attribute DOMString        textRendering;
                                        // raises(DOMException) on setting

           attribute DOMString        vectorEffect;
                                        // raises(DOMException) on setting

           /* Non-DOM 2 extensions */

           /* Mozilla extension CSS properties */
           attribute DOMString        MozAppearance;
                                        // raises(DOMException) on setting

           attribute DOMString        backgroundClip;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBackgroundInlinePolicy;
                                        // raises(DOMException) on setting

           attribute DOMString        backgroundOrigin;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBinding;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBorderBottomColors;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBorderLeftColors;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBorderRightColors;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBorderTopColors;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBoxAlign;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBoxDirection;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBoxFlex;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBoxOrient;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBoxOrdinalGroup;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBoxPack;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBoxSizing;
                                        // raises(DOMException) on setting

           attribute DOMString        MozColumnCount;
                                        // raises(DOMException) on setting

           attribute DOMString        MozColumnWidth;
                                        // raises(DOMException) on setting

  // Bug 813264 - column-fill was backed out of 17 in Bug 810726, but the IID
  //              change is undesirable
[noscript] attribute DOMString        MozColumnFill;
                                        // raises(DOMException) on setting

           attribute DOMString        MozColumnGap;
                                        // raises(DOMException) on setting

           attribute DOMString        MozFloatEdge;
                                        // raises(DOMException) on setting

           attribute DOMString        MozFontFeatureSettings;
                                        // raises(DOMException) on setting

           attribute DOMString        MozFontLanguageOverride;
                                        // raises(DOMException) on setting

           attribute DOMString        MozForceBrokenImageIcon;
                                        // raises(DOMException) on setting

           attribute DOMString        MozImageRegion;
                                        // raises(DOMException) on setting

           attribute DOMString        MozMarginEnd;
                                        // raises(DOMException) on setting

           attribute DOMString        MozMarginStart;
                                        // raises(DOMException) on setting

           attribute DOMString        MozOrient;
                                        // raises(DOMException) on setting

           attribute DOMString        MozOutlineRadius;
                                        // raises(DOMException) on setting

           attribute DOMString        MozOutlineRadiusTopleft;
                                        // raises(DOMException) on setting

           attribute DOMString        MozOutlineRadiusTopright;
                                        // raises(DOMException) on setting

           attribute DOMString        MozOutlineRadiusBottomleft;
                                        // raises(DOMException) on setting

           attribute DOMString        MozOutlineRadiusBottomright;
                                        // raises(DOMException) on setting

           attribute DOMString        MozPaddingEnd;
                                        // raises(DOMException) on setting

           attribute DOMString        MozPaddingStart;
                                        // raises(DOMException) on setting

           attribute DOMString        MozUserFocus;
                                        // raises(DOMException) on setting

           attribute DOMString        MozUserInput;
                                        // raises(DOMException) on setting

           attribute DOMString        MozUserModify;
                                        // raises(DOMException) on setting

           attribute DOMString        MozUserSelect;
                                        // raises(DOMException) on setting

           /* CSS3 properties */
           attribute DOMString        opacity;
                                        // raises(DOMException) on setting

           attribute DOMString        outlineOffset;
                                        // raises(DOMException) on setting

           attribute DOMString        MozTextAlignLast;
                                        // raises(DOMException) on setting

           /* Mozilla extensions */
           attribute DOMString        overflowX;
                                        // raises(DOMException) on setting

           attribute DOMString        overflowY;
                                        // raises(DOMException) on setting

           attribute DOMString        imeMode;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBorderEnd;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBorderEndColor;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBorderEndStyle;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBorderEndWidth;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBorderStart;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBorderStartColor;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBorderStartStyle;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBorderStartWidth;
                                        // raises(DOMException) on setting

           attribute DOMString        MozStackSizing;
                                        // raises(DOMException) on setting

           attribute DOMString        borderImage;
                                        // raises(DOMException) on setting

           attribute DOMString        MozColumns;
                                        // raises(DOMException) on setting

           attribute DOMString        MozColumnRule;
                                        // raises(DOMException) on setting

           attribute DOMString        MozColumnRuleWidth;
                                        // raises(DOMException) on setting

           attribute DOMString        MozColumnRuleStyle;
                                        // raises(DOMException) on setting

           attribute DOMString        MozColumnRuleColor;
                                        // raises(DOMException) on setting

           attribute DOMString        wordBreak;
                                        // raises(DOMException) on setting

           attribute DOMString        wordWrap;
                                        // raises(DOMException) on setting

           attribute DOMString        MozHyphens;
                                        // raises(DOMException) on setting

           attribute DOMString        transform;
                                        // raises(DOMException) on setting

           attribute DOMString        transformOrigin;
                                        // raises(DOMException) on setting 

           attribute DOMString        perspective;
                                        // raises(DOMException) on setting

           attribute DOMString        perspectiveOrigin;
                                        // raises(DOMException) on setting

           attribute DOMString        backfaceVisibility;
                                        // raises(DOMException) on setting

           attribute DOMString        transformStyle;
                                        // raises(DOMException) on setting

           attribute DOMString        MozTransform;
                                        // raises(DOMException) on setting

           attribute DOMString        MozTransformOrigin;
                                        // raises(DOMException) on setting 

           attribute DOMString        MozPerspective;
                                        // raises(DOMException) on setting

           attribute DOMString        MozPerspectiveOrigin;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBackfaceVisibility;
                                        // raises(DOMException) on setting

           attribute DOMString        MozTransformStyle;
                                        // raises(DOMException) on setting

           attribute DOMString        MozWindowShadow;
                                        // raises(DOMException) on setting

           attribute DOMString        backgroundSize;
                                        // raises(DOMException) on setting

           attribute DOMString        MozTextBlink;
                                        // raises(DOMException) on setting

           attribute DOMString        MozTextDecorationColor;
                                        // raises(DOMException) on setting

           attribute DOMString        MozTextDecorationLine;
                                        // raises(DOMException) on setting

           attribute DOMString        MozTextDecorationStyle;
                                        // raises(DOMException) on setting

           attribute DOMString        transitionProperty;
                                        // raises(DOMException) on setting

           attribute DOMString        transitionDuration;
                                        // raises(DOMException) on setting

           attribute DOMString        transitionDelay;
                                        // raises(DOMException) on setting

           attribute DOMString        transitionTimingFunction;
                                        // raises(DOMException) on setting

           attribute DOMString        transition;
                                        // raises(DOMException) on setting

           attribute DOMString        MozTransitionProperty;
                                        // raises(DOMException) on setting

           attribute DOMString        MozTransitionDuration;
                                        // raises(DOMException) on setting

           attribute DOMString        MozTransitionDelay;
                                        // raises(DOMException) on setting

           attribute DOMString        MozTransitionTimingFunction;
                                        // raises(DOMException) on setting

           attribute DOMString        MozTransition;
                                        // raises(DOMException) on setting

           attribute DOMString        pointerEvents;
                                        // raises(DOMException) on setting

           attribute DOMString        MozTabSize;
                                        // raises(DOMException) on setting

           attribute DOMString        resize;
                                        // raises(DOMException) on setting

           attribute DOMString        animationName;
                                        // raises(DOMException) on setting

           attribute DOMString        animationDuration;
                                        // raises(DOMException) on setting

           attribute DOMString        animationDelay;
                                        // raises(DOMException) on setting

           attribute DOMString        animationTimingFunction;
                                        // raises(DOMException) on setting

           attribute DOMString        animationDirection;
                                        // raises(DOMException) on setting

           attribute DOMString        animationFillMode;
                                        // raises(DOMException) on setting

           attribute DOMString        animationIterationCount;
                                        // raises(DOMException) on setting

           attribute DOMString        animationPlayState;
                                        // raises(DOMException) on setting

           attribute DOMString        animation;
                                        // raises(DOMException) on setting

           attribute DOMString        MozAnimationName;
                                        // raises(DOMException) on setting

           attribute DOMString        MozAnimationDuration;
                                        // raises(DOMException) on setting

           attribute DOMString        MozAnimationDelay;
                                        // raises(DOMException) on setting

           attribute DOMString        MozAnimationTimingFunction;
                                        // raises(DOMException) on setting

           attribute DOMString        MozAnimationDirection;
                                        // raises(DOMException) on setting

           attribute DOMString        MozAnimationFillMode;
                                        // raises(DOMException) on setting

           attribute DOMString        MozAnimationIterationCount;
                                        // raises(DOMException) on setting

           attribute DOMString        MozAnimationPlayState;
                                        // raises(DOMException) on setting

           attribute DOMString        MozAnimation;
                                        // raises(DOMException) on setting

           attribute DOMString        MozTextSizeAdjust;
                                        // raises(DOMException) on setting

           attribute DOMString        borderImageSource;
                                        // raises(DOMException) on setting

           attribute DOMString        borderImageSlice;
                                        // raises(DOMException) on setting

           attribute DOMString        borderImageWidth;
                                        // raises(DOMException) on setting

           attribute DOMString        borderImageOutset;
                                        // raises(DOMException) on setting

           attribute DOMString        borderImageRepeat;
                                        // raises(DOMException) on setting

           attribute DOMString        MozBorderImage;
                                        // raises(DOMException) on setting

/* XXXdholbert NOTE: Flexbox properties are commented out here, until our
   layout engine responds to them.  In builds with MOZ_FLEXBOX enabled, this
   block should be uncommented (and this interface's uuid should be revved).
   (This would be #ifdef MOZ_FLEXBOX, if that worked in IDL files.)
           attribute DOMString        MozAlignItems;
                                        // raises(DOMException) on setting

           attribute DOMString        MozAlignSelf;
                                        // raises(DOMException) on setting

           attribute DOMString        MozFlex;
                                        // raises(DOMException) on setting

           attribute DOMString        MozFlexBasis;
                                        // raises(DOMException) on setting

           attribute DOMString        MozFlexDirection;
                                        // raises(DOMException) on setting

           attribute DOMString        MozFlexGrow;
                                        // raises(DOMException) on setting

           attribute DOMString        MozFlexShrink;
                                        // raises(DOMException) on setting

           attribute DOMString        MozOrder;
                                        // raises(DOMException) on setting

           attribute DOMString        MozJustifyContent;
                                        // raises(DOMException) on setting
*/
};
