gecko-dev/dom/webidl/SVGPathSeg.webidl
Boris Zbarsky e5497b955e Bug 1423562 part 3. Remove [PrimaryGlobal] and require explicit [Exposed] annotations on everything. r=edgar
For review purposes, the important changes are in dom/bindings/Configuration.py
and dom/bindings/parser.

The changes to the IDL files were done by running these in dom/webidl
and dom/bindings/test:

  perl -pi -e 's/^interface ([A-Za-z0-9_]+)($| [:{])/[Exposed=Window]\ninterface \1\2/' *.webidl

  perl -pi -e 'BEGIN { $/ = undef; } s/\[HTMLConstructor\]\n\[Exposed=Window\]/[HTMLConstructor,\n Exposed=Window]/g' *.webidl

  perl -pi -e 'BEGIN { $/ = undef; } s/\[NoInterfaceObject\]\n\[Exposed=Window\]/[NoInterfaceObject,\n Exposed=Window]/g' *.webidl

  perl -pi -e 'BEGIN { $/ = undef; } s/\[ChromeOnly\]\n\[Exposed=Window\]/[ChromeOnly,\n Exposed=Window]/g' *.webidl

And running this in dom/chrome-webidl:

  perl -pi -e 'BEGIN { $/ = undef; } s/\[ChromeOnly\]\ninterface/[ChromeOnly, Exposed=Window]\ninterface/g' *.webidl

and then fixing all the resulting parser failures.  I then verified that the
generated code is the same as before this change.

Differential Revision: https://phabricator.services.mozilla.com/D46697

--HG--
extra : moz-landing-system : lando
2019-09-27 15:26:14 +00:00

256 lines
5.7 KiB
Plaintext

/* -*- 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/.
*
* The origin of this IDL file is
* http://www.w3.org/TR/SVG2/
*
* Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
* liability, trademark and document use rules apply.
*/
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSeg {
// Path Segment Types
const unsigned short PATHSEG_UNKNOWN = 0;
const unsigned short PATHSEG_CLOSEPATH = 1;
const unsigned short PATHSEG_MOVETO_ABS = 2;
const unsigned short PATHSEG_MOVETO_REL = 3;
const unsigned short PATHSEG_LINETO_ABS = 4;
const unsigned short PATHSEG_LINETO_REL = 5;
const unsigned short PATHSEG_CURVETO_CUBIC_ABS = 6;
const unsigned short PATHSEG_CURVETO_CUBIC_REL = 7;
const unsigned short PATHSEG_CURVETO_QUADRATIC_ABS = 8;
const unsigned short PATHSEG_CURVETO_QUADRATIC_REL = 9;
const unsigned short PATHSEG_ARC_ABS = 10;
const unsigned short PATHSEG_ARC_REL = 11;
const unsigned short PATHSEG_LINETO_HORIZONTAL_ABS = 12;
const unsigned short PATHSEG_LINETO_HORIZONTAL_REL = 13;
const unsigned short PATHSEG_LINETO_VERTICAL_ABS = 14;
const unsigned short PATHSEG_LINETO_VERTICAL_REL = 15;
const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16;
const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17;
const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;
const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;
[Pure]
readonly attribute unsigned short pathSegType;
[Pure]
readonly attribute DOMString pathSegTypeAsLetter;
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegClosePath : SVGPathSeg {
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegMovetoAbs : SVGPathSeg {
[SetterThrows]
attribute float x;
[SetterThrows]
attribute float y;
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegMovetoRel : SVGPathSeg {
[SetterThrows]
attribute float x;
[SetterThrows]
attribute float y;
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegLinetoAbs : SVGPathSeg {
[SetterThrows]
attribute float x;
[SetterThrows]
attribute float y;
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegLinetoRel : SVGPathSeg {
[SetterThrows]
attribute float x;
[SetterThrows]
attribute float y;
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegCurvetoCubicAbs : SVGPathSeg {
[SetterThrows]
attribute float x;
[SetterThrows]
attribute float y;
[SetterThrows]
attribute float x1;
[SetterThrows]
attribute float y1;
[SetterThrows]
attribute float x2;
[SetterThrows]
attribute float y2;
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegCurvetoCubicRel : SVGPathSeg {
[SetterThrows]
attribute float x;
[SetterThrows]
attribute float y;
[SetterThrows]
attribute float x1;
[SetterThrows]
attribute float y1;
[SetterThrows]
attribute float x2;
[SetterThrows]
attribute float y2;
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegCurvetoQuadraticAbs : SVGPathSeg {
[SetterThrows]
attribute float x;
[SetterThrows]
attribute float y;
[SetterThrows]
attribute float x1;
[SetterThrows]
attribute float y1;
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegCurvetoQuadraticRel : SVGPathSeg {
[SetterThrows]
attribute float x;
[SetterThrows]
attribute float y;
[SetterThrows]
attribute float x1;
[SetterThrows]
attribute float y1;
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegArcAbs : SVGPathSeg {
[SetterThrows]
attribute float x;
[SetterThrows]
attribute float y;
[SetterThrows]
attribute float r1;
[SetterThrows]
attribute float r2;
[SetterThrows]
attribute float angle;
[SetterThrows]
attribute boolean largeArcFlag;
[SetterThrows]
attribute boolean sweepFlag;
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegArcRel : SVGPathSeg {
[SetterThrows]
attribute float x;
[SetterThrows]
attribute float y;
[SetterThrows]
attribute float r1;
[SetterThrows]
attribute float r2;
[SetterThrows]
attribute float angle;
[SetterThrows]
attribute boolean largeArcFlag;
[SetterThrows]
attribute boolean sweepFlag;
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegLinetoHorizontalAbs : SVGPathSeg {
[SetterThrows]
attribute float x;
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegLinetoHorizontalRel : SVGPathSeg {
[SetterThrows]
attribute float x;
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegLinetoVerticalAbs : SVGPathSeg {
[SetterThrows]
attribute float y;
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegLinetoVerticalRel : SVGPathSeg {
[SetterThrows]
attribute float y;
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegCurvetoCubicSmoothAbs : SVGPathSeg {
[SetterThrows]
attribute float x;
[SetterThrows]
attribute float y;
[SetterThrows]
attribute float x2;
[SetterThrows]
attribute float y2;
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegCurvetoCubicSmoothRel : SVGPathSeg {
[SetterThrows]
attribute float x;
[SetterThrows]
attribute float y;
[SetterThrows]
attribute float x2;
[SetterThrows]
attribute float y2;
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegCurvetoQuadraticSmoothAbs : SVGPathSeg {
[SetterThrows]
attribute float x;
[SetterThrows]
attribute float y;
};
[NoInterfaceObject,
Exposed=Window]
interface SVGPathSegCurvetoQuadraticSmoothRel : SVGPathSeg {
[SetterThrows]
attribute float x;
[SetterThrows]
attribute float y;
};