Changeset 203949 in webkit


Ignore:
Timestamp:
Jul 30, 2016 5:23:21 PM (8 years ago)
Author:
Chris Dumez
Message:

[WebIDL] Enable strict type checking for nullable attribute setters of wrapper types
https://bugs.webkit.org/show_bug.cgi?id=160375

Reviewed by Darin Adler.

Source/WebCore:

Enable strict type checking for nullable attribute setters of wrapper types:

For such attributes, if the JS tries to assign a value that is not null /
undefined and does not have the expected wrapper type, then we now throw a
TypeError instead of silently converting the value to null.

This behavior is consistent with Chrome and Firefox. It also helps identify
bugs in JavaScript code.

No new tests, updated existing tests.

  • Modules/webaudio/AudioBufferSourceNode.idl:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::setJSTestObjTestNullableObjAttr):
(WebCore::setJSTestObjMutablePoint):
(WebCore::setJSTestObjImmutablePoint):

  • bindings/scripts/test/TestObj.idl:
  • dom/Document.idl:
  • html/HTMLTableElement.idl:
  • svg/SVGAngle.idl:
  • svg/SVGAnimatedBoolean.idl:
  • svg/SVGAnimatedEnumeration.idl:
  • svg/SVGAnimatedInteger.idl:
  • svg/SVGAnimatedNumber.idl:
  • svg/SVGLength.idl:
  • svg/SVGMatrix.idl:
  • svg/SVGNumber.idl:
  • svg/SVGPathSegArcAbs.idl:
  • svg/SVGPathSegArcRel.idl:
  • svg/SVGPathSegCurvetoCubicAbs.idl:
  • svg/SVGPathSegCurvetoCubicRel.idl:
  • svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
  • svg/SVGPathSegCurvetoCubicSmoothRel.idl:
  • svg/SVGPathSegCurvetoQuadraticAbs.idl:
  • svg/SVGPathSegCurvetoQuadraticRel.idl:
  • svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
  • svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
  • svg/SVGPathSegLinetoAbs.idl:
  • svg/SVGPathSegLinetoHorizontalAbs.idl:
  • svg/SVGPathSegLinetoHorizontalRel.idl:
  • svg/SVGPathSegLinetoRel.idl:
  • svg/SVGPathSegLinetoVerticalAbs.idl:
  • svg/SVGPathSegLinetoVerticalRel.idl:
  • svg/SVGPathSegMovetoAbs.idl:
  • svg/SVGPathSegMovetoRel.idl:
  • svg/SVGPoint.idl:
  • svg/SVGPreserveAspectRatio.idl:
  • svg/SVGRect.idl:

LayoutTests:

Rebaseline / update existing tests to reflect behavior change.

  • fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt:
  • fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html:
  • webaudio/convolver-setBuffer-null-expected.txt:
  • webaudio/convolver-setBuffer-null.html:
Location:
trunk
Files:
43 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r203947 r203949  
     12016-07-30  Chris Dumez  <cdumez@apple.com>
     2
     3        [WebIDL] Enable strict type checking for nullable attribute setters of wrapper types
     4        https://bugs.webkit.org/show_bug.cgi?id=160375
     5
     6        Reviewed by Darin Adler.
     7
     8        Rebaseline / update existing tests to reflect behavior change.
     9
     10        * fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt:
     11        * fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html:
     12        * webaudio/convolver-setBuffer-null-expected.txt:
     13        * webaudio/convolver-setBuffer-null.html:
     14
    1152016-07-30  Alexey Proskuryakov  <ap@apple.com>
    216
  • trunk/LayoutTests/fast/forms/file/input-file-write-files-expected.txt

    r132599 r203949  
    44
    55
     6PASS file1.files = "foo" threw exception TypeError: The HTMLInputElement.files attribute must be an instance of FileList.
    67PASS file1.files.length is 1
    78PASS file1.files.item(0).name is "foo.txt"
  • trunk/LayoutTests/fast/forms/file/input-file-write-files.html

    r155268 r203949  
    1616    dragFilesOntoInput(file2, ["bar.txt"]);
    1717
    18     file1.files = "foo";
     18    shouldThrow('file1.files = "foo"');
    1919    shouldBe("file1.files.length", "1");
    2020    shouldBeEqualToString("file1.files.item(0).name", "foo.txt");
  • trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt

    r200583 r203949  
    55
    66PASS speechSynthesis.speak('Hello World') threw exception TypeError: Argument 1 ('utterance') to SpeechSynthesis.speak must be an instance of SpeechSynthesisUtterance.
     7PASS x.voice = "asdf" threw exception TypeError: The SpeechSynthesisUtterance.voice attribute must be an instance of SpeechSynthesisVoice.
    78PASS successfullyParsed is true
    89
  • trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html

    r200080 r203949  
    1717     // Don't crash. An utterance voice is supposed to take a voice object, not a string.
    1818     var x = new SpeechSynthesisUtterance('Hello World');
    19      x.voice = "asdf";
     19     shouldThrow('x.voice = "asdf"');
    2020
    2121     // Don't crash. An utterance is supposed to take a string, not a number.
  • trunk/LayoutTests/webaudio/convolver-setBuffer-null-expected.txt

    r116358 r203949  
    1 Tests that ConvolverNode impulse response buffer can be set to 0.
     1Tests that ConvolverNode impulse response buffer can be set to null.
    22
    33On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
    44
    5 PASS ConvolverNode impulse response buffer was set to 0.
     5
     6PASS conv.buffer = null did not throw exception.
     7PASS conv.buffer is null
     8PASS conv.buffer = document threw exception TypeError: The ConvolverNode.buffer attribute must be an instance of AudioBuffer.
     9PASS conv.buffer is null
    610PASS successfullyParsed is true
    711
  • trunk/LayoutTests/webaudio/convolver-setBuffer-null.html

    r155423 r203949  
    1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     1<!DOCTYPE html>
    22<html>
    33<head>
     
    55<script src="../resources/js-test-pre.js"></script>
    66</head>
     7<body>
     8<script>
     9description("Tests that ConvolverNode impulse response buffer can be set to null.");
    710
    8 <body>
    9 <div id="description"></div>
    10 <div id="console"></div>
     11var context = new webkitAudioContext();
     12var conv = context.createConvolver();
    1113
    12 <script>
    13 description("Tests that ConvolverNode impulse response buffer can be set to 0.");
     14shouldNotThrow("conv.buffer = null");
     15shouldBe("conv.buffer", "null");
    1416
    15 function runTest()
    16 {
    17     if (window.testRunner) {
    18         testRunner.dumpAsText();
    19         testRunner.waitUntilDone();
    20     }
    21 
    22     window.jsTestIsAsync = true;
    23 
    24     var context = new webkitAudioContext();
    25     var conv = context.createConvolver();
    26 
    27     conv.buffer = 0;
    28     testPassed("ConvolverNode impulse response buffer was set to 0.");
    29 
    30     finishJSTest();
    31 }
    32 
    33 runTest();
    34 successfullyParsed = true;
     17shouldThrow("conv.buffer = document");
     18shouldBe("conv.buffer", "null");
    3519</script>
    36 
    3720<script src="../resources/js-test-post.js"></script>
    3821</body>
  • trunk/Source/WebCore/ChangeLog

    r203943 r203949  
     12016-07-30  Chris Dumez  <cdumez@apple.com>
     2
     3        [WebIDL] Enable strict type checking for nullable attribute setters of wrapper types
     4        https://bugs.webkit.org/show_bug.cgi?id=160375
     5
     6        Reviewed by Darin Adler.
     7
     8        Enable strict type checking for nullable attribute setters of wrapper types:
     9        - http://heycam.github.io/webidl/#es-nullable-type
     10        - http://heycam.github.io/webidl/#es-interface
     11
     12        For such attributes, if the JS tries to assign a value that is not null /
     13        undefined and does not have the expected wrapper type, then we now throw a
     14        TypeError instead of silently converting the value to null.
     15
     16        This behavior is consistent with Chrome and Firefox. It also helps identify
     17        bugs in JavaScript code.
     18
     19        No new tests, updated existing tests.
     20
     21        * Modules/webaudio/AudioBufferSourceNode.idl:
     22        * bindings/scripts/CodeGeneratorJS.pm:
     23        (GenerateImplementation):
     24        * bindings/scripts/test/JS/JSTestObj.cpp:
     25        (WebCore::setJSTestObjTestNullableObjAttr):
     26        (WebCore::setJSTestObjMutablePoint):
     27        (WebCore::setJSTestObjImmutablePoint):
     28        * bindings/scripts/test/TestObj.idl:
     29        * dom/Document.idl:
     30        * html/HTMLTableElement.idl:
     31        * svg/SVGAngle.idl:
     32        * svg/SVGAnimatedBoolean.idl:
     33        * svg/SVGAnimatedEnumeration.idl:
     34        * svg/SVGAnimatedInteger.idl:
     35        * svg/SVGAnimatedNumber.idl:
     36        * svg/SVGLength.idl:
     37        * svg/SVGMatrix.idl:
     38        * svg/SVGNumber.idl:
     39        * svg/SVGPathSegArcAbs.idl:
     40        * svg/SVGPathSegArcRel.idl:
     41        * svg/SVGPathSegCurvetoCubicAbs.idl:
     42        * svg/SVGPathSegCurvetoCubicRel.idl:
     43        * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
     44        * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
     45        * svg/SVGPathSegCurvetoQuadraticAbs.idl:
     46        * svg/SVGPathSegCurvetoQuadraticRel.idl:
     47        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
     48        * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
     49        * svg/SVGPathSegLinetoAbs.idl:
     50        * svg/SVGPathSegLinetoHorizontalAbs.idl:
     51        * svg/SVGPathSegLinetoHorizontalRel.idl:
     52        * svg/SVGPathSegLinetoRel.idl:
     53        * svg/SVGPathSegLinetoVerticalAbs.idl:
     54        * svg/SVGPathSegLinetoVerticalRel.idl:
     55        * svg/SVGPathSegMovetoAbs.idl:
     56        * svg/SVGPathSegMovetoRel.idl:
     57        * svg/SVGPoint.idl:
     58        * svg/SVGPreserveAspectRatio.idl:
     59        * svg/SVGRect.idl:
     60
    1612016-07-30  Youenn Fablet  <youenn@apple.com>
    262
  • trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.idl

    r200087 r203949  
    2828    JSGenerateToJSObject,
    2929] interface AudioBufferSourceNode : AudioNode {
    30     [StrictTypeChecking] attribute AudioBuffer? buffer;
     30    attribute AudioBuffer? buffer;
    3131
    3232    const unsigned short UNSCHEDULED_STATE = 0;
  • trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm

    r203941 r203949  
    29262926                        }
    29272927                        $attribute = $codeGenerator->GetAttributeFromInterface($interface, $type, $putForwards);
     2928                        $type = $attribute->signature->type;
    29282929                    } else {
    29292930                        push(@implContent, "    auto& impl = castedThis->wrapped();\n");
     
    29382939                my $shouldPassByReference = ShouldPassWrapperByReference($attribute->signature, $interface);
    29392940
    2940                 # If the "StrictTypeChecking" extended attribute is present, and the attribute's type is an
    2941                 # interface type, then if the incoming value does not implement that interface, a TypeError
    2942                 # is thrown rather than silently passing NULL to the C++ code.
    2943                 # Per the Web IDL and ECMAScript specifications, incoming values can always be converted to
    2944                 # both strings and numbers, so do not throw TypeError if the attribute is of these types.
    29452941                my ($nativeValue, $mayThrowException) = JSValueToNative($interface, $attribute->signature, "value", $attribute->signature->extendedAttributes->{"Conditional"});
    2946                 if ($attribute->signature->extendedAttributes->{"StrictTypeChecking"} && !$shouldPassByReference && $codeGenerator->IsWrapperType($type)) {
     2942                if (!$shouldPassByReference && $codeGenerator->IsWrapperType($type)) {
    29472943                    $implIncludes{"<runtime/Error.h>"} = 1;
    29482944                    push(@implContent, "    " . GetNativeTypeFromSignature($interface, $attribute->signature) . " nativeValue = nullptr;\n");
     
    29502946                    push(@implContent, "        nativeValue = $nativeValue;\n");
    29512947                    if ($mayThrowException) {
    2952                         push(@implContent, "    if (UNLIKELY(state->hadException()))\n");
    2953                         push(@implContent, "        return false;\n");
     2948                        push(@implContent, "        if (UNLIKELY(state->hadException()))\n");
     2949                        push(@implContent, "            return false;\n");
    29542950                    }
    29552951                    push(@implContent, "        if (UNLIKELY(!nativeValue)) {\n");
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp

    r203941 r203949  
    29322932    }
    29332933    auto& impl = castedThis->wrapped();
    2934     auto nativeValue = JSTestObj::toWrapped(value);
     2934    TestObj* nativeValue = nullptr;
     2935    if (!value.isUndefinedOrNull()) {
     2936        nativeValue = JSTestObj::toWrapped(value);
     2937        if (UNLIKELY(!nativeValue)) {
     2938            throwAttributeTypeError(*state, "TestObject", "testNullableObjAttr", "TestObj");
     2939            return false;
     2940        }
     2941    }
    29352942    impl.setTestNullableObjAttr(WTFMove(nativeValue));
    29362943    return true;
     
    36803687    }
    36813688    auto& impl = castedThis->wrapped();
    3682     auto nativeValue = JSSVGPoint::toWrapped(value);
     3689    SVGPropertyTearOff<SVGPoint>* nativeValue = nullptr;
     3690    if (!value.isUndefinedOrNull()) {
     3691        nativeValue = JSSVGPoint::toWrapped(value);
     3692        if (UNLIKELY(!nativeValue)) {
     3693            throwAttributeTypeError(*state, "TestObject", "mutablePoint", "SVGPoint");
     3694            return false;
     3695        }
     3696    }
    36833697    impl.setMutablePoint(WTFMove(nativeValue));
    36843698    return true;
     
    36953709    }
    36963710    auto& impl = castedThis->wrapped();
    3697     auto nativeValue = JSSVGPoint::toWrapped(value);
     3711    SVGPropertyTearOff<SVGPoint>* nativeValue = nullptr;
     3712    if (!value.isUndefinedOrNull()) {
     3713        nativeValue = JSSVGPoint::toWrapped(value);
     3714        if (UNLIKELY(!nativeValue)) {
     3715            throwAttributeTypeError(*state, "TestObject", "immutablePoint", "SVGPoint");
     3716            return false;
     3717        }
     3718    }
    36983719    impl.setImmutablePoint(WTFMove(nativeValue));
    36993720    return true;
  • trunk/Source/WebCore/bindings/scripts/test/TestObj.idl

    r203858 r203949  
    137137    [SetterRaisesException] attribute DOMString stringAttrWithSetterException;
    138138
    139     // Strict type checking.
    140     [StrictTypeChecking] attribute TestObj? strictTypeCheckingAttribute;
    141 
    142139    // 'Custom' extended attribute
    143140    [Custom] attribute long            customAttr;
     
    313310    [ImplementedAs=blueberry] attribute long strawberry;
    314311
    315     [StrictTypeChecking] attribute unrestricted float strictFloat;
    316312    [StrictTypeChecking, RaisesException] boolean strictFunction(DOMString str, unrestricted float a, long b);
    317313
  • trunk/Source/WebCore/dom/Document.idl

    r203784 r203949  
    171171    [GetterRaisesException, SetterRaisesException] attribute DOMString cookie;
    172172
    173     [SetterRaisesException, ImplementedAs=bodyOrFrameset, StrictTypeChecking] attribute HTMLElement? body;
     173    [SetterRaisesException, ImplementedAs=bodyOrFrameset] attribute HTMLElement? body;
    174174
    175175    readonly attribute HTMLHeadElement? head;
  • trunk/Source/WebCore/html/HTMLTableElement.idl

    r203840 r203949  
    2020
    2121interface HTMLTableElement : HTMLElement {
    22     [SetterRaisesException, StrictTypeChecking] attribute HTMLTableCaptionElement? caption;
    23     [SetterRaisesException, StrictTypeChecking] attribute HTMLTableSectionElement? tHead;
    24     [SetterRaisesException, StrictTypeChecking] attribute HTMLTableSectionElement? tFoot;
     22    [SetterRaisesException] attribute HTMLTableCaptionElement? caption;
     23    [SetterRaisesException] attribute HTMLTableSectionElement? tHead;
     24    [SetterRaisesException] attribute HTMLTableSectionElement? tFoot;
    2525
    2626    readonly attribute HTMLCollection rows;
  • trunk/Source/WebCore/svg/SVGAngle.idl

    r203531 r203949  
    3030
    3131    readonly attribute unsigned short unitType;
    32     [StrictTypeChecking] attribute unrestricted float value;
    33     [StrictTypeChecking] attribute unrestricted float valueInSpecifiedUnits;
     32    attribute unrestricted float value;
     33    attribute unrestricted float valueInSpecifiedUnits;
    3434
    3535    [SetterRaisesException] attribute DOMString valueAsString;
  • trunk/Source/WebCore/svg/SVGAnimatedBoolean.idl

    r163440 r203949  
    2727    SkipVTableValidation
    2828] interface SVGAnimatedBoolean {
    29     [StrictTypeChecking, SetterRaisesException] attribute boolean baseVal;
     29    [SetterRaisesException] attribute boolean baseVal;
    3030    readonly attribute boolean animVal;
    3131};
  • trunk/Source/WebCore/svg/SVGAnimatedEnumeration.idl

    r163440 r203949  
    2727    SkipVTableValidation
    2828] interface SVGAnimatedEnumeration {
    29     [StrictTypeChecking, SetterRaisesException] attribute unsigned short baseVal;
     29    [SetterRaisesException] attribute unsigned short baseVal;
    3030    readonly attribute unsigned short animVal;
    3131};
  • trunk/Source/WebCore/svg/SVGAnimatedInteger.idl

    r163440 r203949  
    2727    SkipVTableValidation
    2828] interface SVGAnimatedInteger {
    29     [StrictTypeChecking, SetterRaisesException] attribute long baseVal;
     29    [SetterRaisesException] attribute long baseVal;
    3030    readonly attribute long animVal;
    3131};
  • trunk/Source/WebCore/svg/SVGAnimatedNumber.idl

    r168302 r203949  
    2828    SkipVTableValidation
    2929] interface SVGAnimatedNumber {
    30     [StrictTypeChecking, SetterRaisesException] attribute unrestricted float baseVal;
     30    [SetterRaisesException] attribute unrestricted float baseVal;
    3131    readonly attribute unrestricted float animVal;
    3232};
  • trunk/Source/WebCore/svg/SVGLength.idl

    r203531 r203949  
    3636
    3737    readonly attribute unsigned short unitType;
    38     [GetterRaisesException, SetterRaisesException, Custom, StrictTypeChecking] attribute unrestricted float value;
     38    [GetterRaisesException, SetterRaisesException, Custom] attribute unrestricted float value;
    3939
    40     [StrictTypeChecking] attribute unrestricted float valueInSpecifiedUnits;
     40    attribute unrestricted float valueInSpecifiedUnits;
    4141
    42     [StrictTypeChecking, SetterRaisesException] attribute DOMString valueAsString;
     42    [SetterRaisesException] attribute DOMString valueAsString;
    4343
    4444    [StrictTypeChecking, RaisesException] void newValueSpecifiedUnits(unsigned short unitType,
  • trunk/Source/WebCore/svg/SVGMatrix.idl

    r168302 r203949  
    2424    // FIXME: these attributes should all be floats but since we implement
    2525    // AffineTransform with doubles setting these as doubles makes more sense.
    26     [StrictTypeChecking] attribute unrestricted double a;
    27     [StrictTypeChecking] attribute unrestricted double b;
    28     [StrictTypeChecking] attribute unrestricted double c;
    29     [StrictTypeChecking] attribute unrestricted double d;
    30     [StrictTypeChecking] attribute unrestricted double e;
    31     [StrictTypeChecking] attribute unrestricted double f;
     26    attribute unrestricted double a;
     27    attribute unrestricted double b;
     28    attribute unrestricted double c;
     29    attribute unrestricted double d;
     30    attribute unrestricted double e;
     31    attribute unrestricted double f;
    3232
    3333    [StrictTypeChecking] SVGMatrix multiply(SVGMatrix secondMatrix);
  • trunk/Source/WebCore/svg/SVGNumber.idl

    r168302 r203949  
    2222
    2323interface SVGNumber {
    24     [StrictTypeChecking] attribute unrestricted float value;
     24    attribute unrestricted float value;
    2525};
    2626
  • trunk/Source/WebCore/svg/SVGPathSegArcAbs.idl

    r168302 r203949  
    2626
    2727interface SVGPathSegArcAbs : SVGPathSeg {
    28     [StrictTypeChecking] attribute unrestricted float x;
    29     [StrictTypeChecking] attribute unrestricted float y;
    30     [StrictTypeChecking] attribute unrestricted float r1;
    31     [StrictTypeChecking] attribute unrestricted float r2;
    32     [StrictTypeChecking] attribute unrestricted float angle;
    33     [StrictTypeChecking] attribute boolean largeArcFlag;
    34     [StrictTypeChecking] attribute boolean sweepFlag;
     28    attribute unrestricted float x;
     29    attribute unrestricted float y;
     30    attribute unrestricted float r1;
     31    attribute unrestricted float r2;
     32    attribute unrestricted float angle;
     33    attribute boolean largeArcFlag;
     34    attribute boolean sweepFlag;
    3535};
    3636
  • trunk/Source/WebCore/svg/SVGPathSegArcRel.idl

    r168302 r203949  
    2626
    2727interface SVGPathSegArcRel : SVGPathSeg {
    28     [StrictTypeChecking] attribute unrestricted float x;
    29     [StrictTypeChecking] attribute unrestricted float y;
    30     [StrictTypeChecking] attribute unrestricted float r1;
    31     [StrictTypeChecking] attribute unrestricted float r2;
    32     [StrictTypeChecking] attribute unrestricted float angle;
    33     [StrictTypeChecking] attribute boolean largeArcFlag;
    34     [StrictTypeChecking] attribute boolean sweepFlag;
     28    attribute unrestricted float x;
     29    attribute unrestricted float y;
     30    attribute unrestricted float r1;
     31    attribute unrestricted float r2;
     32    attribute unrestricted float angle;
     33    attribute boolean largeArcFlag;
     34    attribute boolean sweepFlag;
    3535};
    3636
  • trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicAbs.idl

    r168302 r203949  
    2626
    2727interface SVGPathSegCurvetoCubicAbs : SVGPathSeg {
    28     [StrictTypeChecking] attribute unrestricted float x;
    29     [StrictTypeChecking] attribute unrestricted float y;
    30     [StrictTypeChecking] attribute unrestricted float x1;
    31     [StrictTypeChecking] attribute unrestricted float y1;
    32     [StrictTypeChecking] attribute unrestricted float x2;
    33     [StrictTypeChecking] attribute unrestricted float y2;
     28    attribute unrestricted float x;
     29    attribute unrestricted float y;
     30    attribute unrestricted float x1;
     31    attribute unrestricted float y1;
     32    attribute unrestricted float x2;
     33    attribute unrestricted float y2;
    3434};
    3535
  • trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicRel.idl

    r168302 r203949  
    2626
    2727interface SVGPathSegCurvetoCubicRel : SVGPathSeg {
    28     [StrictTypeChecking] attribute unrestricted float x;
    29     [StrictTypeChecking] attribute unrestricted float y;
    30     [StrictTypeChecking] attribute unrestricted float x1;
    31     [StrictTypeChecking] attribute unrestricted float y1;
    32     [StrictTypeChecking] attribute unrestricted float x2;
    33     [StrictTypeChecking] attribute unrestricted float y2;
     28    attribute unrestricted float x;
     29    attribute unrestricted float y;
     30    attribute unrestricted float x1;
     31    attribute unrestricted float y1;
     32    attribute unrestricted float x2;
     33    attribute unrestricted float y2;
    3434};
    3535
  • trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicSmoothAbs.idl

    r168302 r203949  
    2626
    2727interface SVGPathSegCurvetoCubicSmoothAbs : SVGPathSeg {
    28     [StrictTypeChecking] attribute unrestricted float x;
    29     [StrictTypeChecking] attribute unrestricted float y;
    30     [StrictTypeChecking] attribute unrestricted float x2;
    31     [StrictTypeChecking] attribute unrestricted float y2;
     28    attribute unrestricted float x;
     29    attribute unrestricted float y;
     30    attribute unrestricted float x2;
     31    attribute unrestricted float y2;
    3232};
    3333
  • trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicSmoothRel.idl

    r168302 r203949  
    2626
    2727interface SVGPathSegCurvetoCubicSmoothRel : SVGPathSeg {
    28     [StrictTypeChecking] attribute unrestricted float x;
    29     [StrictTypeChecking] attribute unrestricted float y;
    30     [StrictTypeChecking] attribute unrestricted float x2;
    31     [StrictTypeChecking] attribute unrestricted float y2;
     28    attribute unrestricted float x;
     29    attribute unrestricted float y;
     30    attribute unrestricted float x2;
     31    attribute unrestricted float y2;
    3232};
    3333
  • trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl

    r168302 r203949  
    2626
    2727interface SVGPathSegCurvetoQuadraticAbs : SVGPathSeg {
    28     [StrictTypeChecking] attribute unrestricted float x;
    29     [StrictTypeChecking] attribute unrestricted float y;
    30     [StrictTypeChecking] attribute unrestricted float x1;
    31     [StrictTypeChecking] attribute unrestricted float y1;
     28    attribute unrestricted float x;
     29    attribute unrestricted float y;
     30    attribute unrestricted float x1;
     31    attribute unrestricted float y1;
    3232};
    3333
  • trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticRel.idl

    r168302 r203949  
    2626
    2727interface SVGPathSegCurvetoQuadraticRel : SVGPathSeg {
    28     [StrictTypeChecking] attribute unrestricted float x;
    29     [StrictTypeChecking] attribute unrestricted float y;
    30     [StrictTypeChecking] attribute unrestricted float x1;
    31     [StrictTypeChecking] attribute unrestricted float y1;
     28    attribute unrestricted float x;
     29    attribute unrestricted float y;
     30    attribute unrestricted float x1;
     31    attribute unrestricted float y1;
    3232};
    3333
  • trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl

    r168302 r203949  
    2626
    2727interface SVGPathSegCurvetoQuadraticSmoothAbs : SVGPathSeg {
    28     [StrictTypeChecking] attribute unrestricted float x;
    29     [StrictTypeChecking] attribute unrestricted float y;
     28    attribute unrestricted float x;
     29    attribute unrestricted float y;
    3030};
    3131
  • trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl

    r168302 r203949  
    2626
    2727interface SVGPathSegCurvetoQuadraticSmoothRel : SVGPathSeg {
    28     [StrictTypeChecking] attribute unrestricted float x;
    29     [StrictTypeChecking] attribute unrestricted float y;
     28    attribute unrestricted float x;
     29    attribute unrestricted float y;
    3030};
    3131
  • trunk/Source/WebCore/svg/SVGPathSegLinetoAbs.idl

    r168302 r203949  
    2626
    2727interface SVGPathSegLinetoAbs : SVGPathSeg {
    28     [StrictTypeChecking] attribute unrestricted float x;
    29     [StrictTypeChecking] attribute unrestricted float y;
     28    attribute unrestricted float x;
     29    attribute unrestricted float y;
    3030};
    3131
  • trunk/Source/WebCore/svg/SVGPathSegLinetoHorizontalAbs.idl

    r168302 r203949  
    2626
    2727interface SVGPathSegLinetoHorizontalAbs : SVGPathSeg {
    28     [StrictTypeChecking] attribute unrestricted float x;
     28    attribute unrestricted float x;
    2929};
    3030
  • trunk/Source/WebCore/svg/SVGPathSegLinetoHorizontalRel.idl

    r168302 r203949  
    2626
    2727interface SVGPathSegLinetoHorizontalRel : SVGPathSeg {
    28     [StrictTypeChecking] attribute unrestricted float x;
     28    attribute unrestricted float x;
    2929};
    3030
  • trunk/Source/WebCore/svg/SVGPathSegLinetoRel.idl

    r168302 r203949  
    2626
    2727interface SVGPathSegLinetoRel : SVGPathSeg {
    28     [StrictTypeChecking] attribute unrestricted float x;
    29     [StrictTypeChecking] attribute unrestricted float y;
     28    attribute unrestricted float x;
     29    attribute unrestricted float y;
    3030};
    3131
  • trunk/Source/WebCore/svg/SVGPathSegLinetoVerticalAbs.idl

    r168302 r203949  
    2626
    2727interface SVGPathSegLinetoVerticalAbs : SVGPathSeg {
    28     [StrictTypeChecking] attribute unrestricted float y;
     28    attribute unrestricted float y;
    2929};
    3030
  • trunk/Source/WebCore/svg/SVGPathSegLinetoVerticalRel.idl

    r168302 r203949  
    2626
    2727interface SVGPathSegLinetoVerticalRel : SVGPathSeg {
    28     [StrictTypeChecking] attribute unrestricted float y;
     28    attribute unrestricted float y;
    2929};
    3030
  • trunk/Source/WebCore/svg/SVGPathSegMovetoAbs.idl

    r168302 r203949  
    2626
    2727interface SVGPathSegMovetoAbs : SVGPathSeg {
    28     [StrictTypeChecking] attribute unrestricted float x;
    29     [StrictTypeChecking] attribute unrestricted float y;
     28    attribute unrestricted float x;
     29    attribute unrestricted float y;
    3030};
    3131
  • trunk/Source/WebCore/svg/SVGPathSegMovetoRel.idl

    r168302 r203949  
    2626
    2727interface SVGPathSegMovetoRel : SVGPathSeg {
    28     [StrictTypeChecking] attribute unrestricted float x;
    29     [StrictTypeChecking] attribute unrestricted float y;
     28    attribute unrestricted float x;
     29    attribute unrestricted float y;
    3030};
    3131
  • trunk/Source/WebCore/svg/SVGPoint.idl

    r168302 r203949  
    2222
    2323interface SVGPoint {
    24     [StrictTypeChecking] attribute unrestricted float x;
    25     [StrictTypeChecking] attribute unrestricted float y;
     24    attribute unrestricted float x;
     25    attribute unrestricted float y;
    2626
    2727    [StrictTypeChecking] SVGPoint matrixTransform(SVGMatrix matrix);
  • trunk/Source/WebCore/svg/SVGPreserveAspectRatio.idl

    r163440 r203949  
    4343    const unsigned short SVG_MEETORSLICE_SLICE = 2;
    4444
    45     [StrictTypeChecking, SetterRaisesException] attribute unsigned short align;
     45    [SetterRaisesException] attribute unsigned short align;
    4646
    47     [StrictTypeChecking, SetterRaisesException] attribute unsigned short meetOrSlice;
     47    [SetterRaisesException] attribute unsigned short meetOrSlice;
    4848};
    4949
  • trunk/Source/WebCore/svg/SVGRect.idl

    r168302 r203949  
    2222
    2323interface SVGRect {
    24     [StrictTypeChecking] attribute unrestricted float x;
    25     [StrictTypeChecking] attribute unrestricted float y;
    26     [StrictTypeChecking] attribute unrestricted float width;
    27     [StrictTypeChecking] attribute unrestricted float height;
     24    attribute unrestricted float x;
     25    attribute unrestricted float y;
     26    attribute unrestricted float width;
     27    attribute unrestricted float height;
    2828};
    2929
Note: See TracChangeset for help on using the changeset viewer.