⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 181618 in webkit


Ignore:
Timestamp:
Mar 16, 2015, 10:55:46 PM (11 years ago)
Author:
rniwa@webkit.org
Message:

Enable ES6 classes by default
https://bugs.webkit.org/show_bug.cgi?id=142774

Reviewed by Gavin Barraclough.

.:

  • Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

Enabled the feature and unskipped tests.

  • Configurations/FeatureDefines.xcconfig:
  • tests/stress/class-syntax-no-loop-tdz.js:
  • tests/stress/class-syntax-no-tdz-in-catch.js:
  • tests/stress/class-syntax-no-tdz-in-conditional.js:
  • tests/stress/class-syntax-no-tdz-in-loop-no-inline-super.js:
  • tests/stress/class-syntax-no-tdz-in-loop.js:
  • tests/stress/class-syntax-no-tdz.js:
  • tests/stress/class-syntax-tdz-in-catch.js:
  • tests/stress/class-syntax-tdz-in-conditional.js:
  • tests/stress/class-syntax-tdz-in-loop.js:
  • tests/stress/class-syntax-tdz.js:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Unskipped tests and also fixed tests so that they can run under run-javascript-tests.

  • TestExpectations: Unskipped tests.
  • js/class-syntax-call-expected.txt:
  • js/class-syntax-declaration-expected.txt:
  • js/class-syntax-default-constructor-expected.txt:
  • js/class-syntax-expression-expected.txt:
  • js/class-syntax-extends-expected.txt:
  • js/class-syntax-super-expected.txt:
  • js/dom/reserved-words-as-property-expected.txt: Rebaselined now that "class" is a non-reserved keyword.
  • js/script-tests/class-syntax-call.js: Don't refer to "window" object as it doesn't exit when ran inside jsc.
  • js/script-tests/class-syntax-declaration.js: Rebaselined after r181611, which added default constructor support.
  • js/script-tests/class-syntax-default-constructor.js: Don't refer to "window" object. Also replaced shouldNotBe

by an explicit !== check as the former is not supported when ran inside jsc.

  • js/script-tests/class-syntax-expression.js: Rebaselined after r181611.
  • js/script-tests/class-syntax-extends.js: Ditto. Also replaced evalAndLog by shouldNotThrow as the former is not

supported inside jsc.

  • js/script-tests/class-syntax-super.js: Don't refer to "window" object as it doesn't exist inside jsc.
  • sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.11-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.27-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.5-expected.txt:
Location:
trunk
Files:
42 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r181535 r181618  
     12015-03-16  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Enable ES6 classes by default
     4        https://bugs.webkit.org/show_bug.cgi?id=142774
     5
     6        Reviewed by Gavin Barraclough.
     7
     8        * Source/cmake/WebKitFeatures.cmake:
     9
    1102015-03-16  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
    211
  • trunk/LayoutTests/ChangeLog

    r181612 r181618  
     12015-03-16  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Enable ES6 classes by default
     4        https://bugs.webkit.org/show_bug.cgi?id=142774
     5
     6        Reviewed by Gavin Barraclough.
     7
     8        Unskipped tests and also fixed tests so that they can run under run-javascript-tests.
     9
     10        * TestExpectations: Unskipped tests.
     11        * js/class-syntax-call-expected.txt:
     12        * js/class-syntax-declaration-expected.txt:
     13        * js/class-syntax-default-constructor-expected.txt:
     14        * js/class-syntax-expression-expected.txt:
     15        * js/class-syntax-extends-expected.txt:
     16        * js/class-syntax-super-expected.txt:
     17        * js/dom/reserved-words-as-property-expected.txt: Rebaselined now that "class" is a non-reserved keyword.
     18        * js/script-tests/class-syntax-call.js: Don't refer to "window" object as it doesn't exit when ran inside jsc.
     19        * js/script-tests/class-syntax-declaration.js: Rebaselined after r181611, which added default constructor support.
     20        * js/script-tests/class-syntax-default-constructor.js: Don't refer to "window" object. Also replaced shouldNotBe
     21        by an explicit !== check as the former is not supported when ran inside jsc.
     22        * js/script-tests/class-syntax-expression.js: Rebaselined after r181611.
     23        * js/script-tests/class-syntax-extends.js: Ditto. Also replaced evalAndLog by shouldNotThrow as the former is not
     24        supported inside jsc.
     25        * js/script-tests/class-syntax-super.js: Don't refer to "window" object as it doesn't exist inside jsc.
     26        * sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.11-expected.txt:
     27        * sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.27-expected.txt:
     28        * sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.5-expected.txt:
     29
    1302015-03-16  Joseph Pecoraro  <pecoraro@apple.com>
    231
  • trunk/LayoutTests/TestExpectations

    r181611 r181618  
    6666
    6767webkit.org/b/127860 [ Debug ] js/function-apply-aliased.html [ Skip ]
    68 
    69 # ES6 class syntax hasn't been enabled yet.
    70 webkit.org/b/140491 js/class-syntax-call.html [ Failure ]
    71 webkit.org/b/140491 js/class-syntax-declaration.html [ Failure ]
    72 webkit.org/b/140491 js/class-syntax-default-constructor.html [ Failure ]
    73 webkit.org/b/140491 js/class-syntax-expression.html [ Failure ]
    74 webkit.org/b/140491 js/class-syntax-extends.html [ Failure ]
    75 webkit.org/b/140491 js/class-syntax-scoping.html [ Failure ]
    76 webkit.org/b/140491 js/class-syntax-super.html [ Failure ]
    7768
    7869# This test verifies dynamic manipulation of the mroot and msqrt elements.
  • trunk/LayoutTests/js/class-syntax-call-expected.txt

    r181490 r181618  
    1 PASS class A { constructor() {} }; window.A = A; new A did not throw exception.
     1Tests for calling the constructors of ES6 classes
     2
     3On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
     4
     5
     6PASS class A { constructor() {} }; new A did not throw exception.
    27PASS A() threw exception TypeError: Cannot call a class constructor.
    3 PASS class B extends A { constructor() { super() } }; window.B = B; new A did not throw exception.
     8PASS class B extends A { constructor() { super() } }; new B did not throw exception.
    49PASS B() threw exception TypeError: Cannot call a class constructor.
    510PASS new (class { constructor() {} })() did not throw exception.
  • trunk/LayoutTests/js/class-syntax-declaration-expected.txt

    r179371 r181618  
     1Tests for ES6 class syntax declarations
     2
     3On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
     4
     5
    16PASS constructorCallCount is 0
    27PASS A.someStaticMethod() is staticMethodValue
     
    1419PASS class X { threw exception SyntaxError: Unexpected end of script.
    1520PASS class X { ( } threw exception SyntaxError: Unexpected token '('. Expected an indentifier..
    16 PASS class X {} threw exception SyntaxError: Class declaration without a constructor is not supported yet..
     21PASS class X {} did not throw exception.
    1722PASS class X { constructor() {} constructor() {} } threw exception SyntaxError: Cannot declare multiple constructors in a single class..
    1823PASS class X { constructor() {} static constructor() { return staticMethodValue; } } did not throw exception.
  • trunk/LayoutTests/js/class-syntax-default-constructor-expected.txt

    r181611 r181618  
    44
    55
    6 PASS class A { }; window.A = A; new A instanceof A is true
     6PASS class A { }; new A instanceof A is true
    77PASS A() threw exception TypeError: Cannot call a class constructor.
    88PASS A.prototype.constructor instanceof Function is true
     
    1111PASS B() threw exception TypeError: Cannot call a class constructor.
    1212PASS B.prototype.constructor.name is "B"
    13 PASS A is not B
     13PASS A !== B is true
    1414FAIL A.prototype.constructor should be function B() { super(...arguments); }. Was function A() { }.
    1515PASS new (class extends (class { constructor(a, b) { return [a, b]; } }) {})(1, 2) is [1, 2]
  • trunk/LayoutTests/js/class-syntax-expression-expected.txt

    r179371 r181618  
     1Tests for ES6 class syntax expressions
     2
     3On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
     4
     5
    16PASS constructorCallCount is 0
    27PASS A.someStaticMethod() is staticMethodValue
     
    1419PASS x = class { threw exception SyntaxError: Unexpected end of script.
    1520PASS x = class { ( } threw exception SyntaxError: Unexpected token '('. Expected an indentifier..
    16 PASS x = class {} threw exception SyntaxError: Class declaration without a constructor is not supported yet..
     21PASS x = class {} did not throw exception.
    1722PASS x = class { constructor() {} constructor() {} } threw exception SyntaxError: Cannot declare multiple constructors in a single class..
    1823PASS x = class { constructor() {} static constructor() { return staticMethodValue; } } did not throw exception.
  • trunk/LayoutTests/js/class-syntax-extends-expected.txt

    r181293 r181618  
    1313PASS x = class extends threw exception SyntaxError: Unexpected end of script.
    1414PASS x = class extends Base { threw exception SyntaxError: Unexpected end of script.
    15 PASS x = class extends Base {} threw exception SyntaxError: Class declaration without a constructor is not supported yet..
     15PASS x = class extends Base { } did not throw exception.
    1616PASS x = class extends Base { constructor() { } } did not throw exception.
    1717PASS x.__proto__ is Base
     
    2121PASS x = class extends 3 { constructor() { } }; x.__proto__ threw exception TypeError: The superclass is not an object..
    2222PASS x = class extends "abc" { constructor() { } }; x.__proto__ threw exception TypeError: The superclass is not an object..
    23 baseWithBadPrototype = class { constructor() { } }; baseWithBadPrototype.prototype = 3
     23PASS baseWithBadPrototype = class { constructor() { } }; baseWithBadPrototype.prototype = 3 did not throw exception.
    2424PASS x = class extends baseWithBadPrototype { constructor() { } } threw exception TypeError: The superclass's prototype is not an object..
    25 baseWithBadPrototype.prototype = "abc"
     25PASS baseWithBadPrototype.prototype = "abc" did not throw exception.
    2626PASS x = class extends baseWithBadPrototype { constructor() { } } threw exception TypeError: The superclass's prototype is not an object..
    2727PASS baseWithBadPrototype.prototype = null; x = class extends baseWithBadPrototype { constructor() { } } did not throw exception.
  • trunk/LayoutTests/js/class-syntax-super-expected.txt

    r181404 r181618  
    2828PASS x = { }; new (class extends Base { constructor() { return x } }); is x
    2929PASS x instanceof Base is false
    30 PASS new (class extends Base { constructor() { } }) threw exception TypeError: Cannot return a non-object type in the constructor of a derived class..
     30PASS new (class extends Base { constructor() { } }) threw exception ReferenceError: Cannot access uninitialized variable..
    3131PASS new (class extends Base { constructor() { return 1; } }) threw exception TypeError: Cannot return a non-object type in the constructor of a derived class..
    3232PASS new (class extends null { constructor() { return undefined } }) is undefined
    3333PASS x = { }; new (class extends null { constructor() { return x } }); is x
    3434PASS x instanceof Object is true
    35 PASS new (class extends null { constructor() { } }) threw exception TypeError: Cannot return a non-object type in the constructor of a derived class..
     35PASS new (class extends null { constructor() { } }) threw exception ReferenceError: Cannot access uninitialized variable..
    3636PASS new (class extends null { constructor() { return 1; } }) threw exception TypeError: Cannot return a non-object type in the constructor of a derived class..
    3737PASS new (class extends null { constructor() { super() } }) did not throw exception.
  • trunk/LayoutTests/js/dom/reserved-words-as-property-expected.txt

    r158014 r181618  
    10481048PASS "use strict";({ get with(){}, set with(){}, parsedOkay: 42 }.parsedOkay === 42) is true
    10491049PASS (function(){"use strict";({ get with(){}, set with(){}, parsedOkay: 42 }.parsedOkay === 42)}); true is true
    1050 PASS var class; true threw exception SyntaxError: Cannot use the reserved word 'class' as a variable name..
    1051 PASS (function(){var class; true}); true threw exception SyntaxError: Cannot use the reserved word 'class' as a variable name..
    1052 PASS var class = 42; class === 42 threw exception SyntaxError: Cannot use the reserved word 'class' as a variable name..
    1053 PASS (function(){var class = 42; class === 42}); true threw exception SyntaxError: Cannot use the reserved word 'class' as a variable name..
    1054 PASS function g(class){  }; true threw exception SyntaxError: Cannot use the reserved word 'class' as a variable name..
    1055 PASS (function(){function g(class){  }; true}); true threw exception SyntaxError: Cannot use the reserved word 'class' as a variable name..
    1056 PASS /class/.test(function g(class){  }) threw exception SyntaxError: Cannot use the reserved word 'class' as a variable name..
    1057 PASS (function(){/class/.test(function g(class){  })}); true threw exception SyntaxError: Cannot use the reserved word 'class' as a variable name..
    1058 PASS try{}catch(class){}; true threw exception SyntaxError: Cannot use the reserved word 'class' as a catch variable name..
    1059 PASS (function(){try{}catch(class){}; true}); true threw exception SyntaxError: Cannot use the reserved word 'class' as a catch variable name..
    1060 PASS function class(){  }; true threw exception SyntaxError: Cannot use the reserved word 'class' as a function name..
    1061 PASS (function(){function class(){  }; true}); true threw exception SyntaxError: Cannot use the reserved word 'class' as a function name..
     1050PASS var class; true threw exception SyntaxError: Cannot use the keyword 'class' as a variable name..
     1051PASS (function(){var class; true}); true threw exception SyntaxError: Cannot use the keyword 'class' as a variable name..
     1052PASS var class = 42; class === 42 threw exception SyntaxError: Cannot use the keyword 'class' as a variable name..
     1053PASS (function(){var class = 42; class === 42}); true threw exception SyntaxError: Cannot use the keyword 'class' as a variable name..
     1054PASS function g(class){  }; true threw exception SyntaxError: Cannot use the keyword 'class' as a variable name..
     1055PASS (function(){function g(class){  }; true}); true threw exception SyntaxError: Cannot use the keyword 'class' as a variable name..
     1056PASS /class/.test(function g(class){  }) threw exception SyntaxError: Cannot use the keyword 'class' as a variable name..
     1057PASS (function(){/class/.test(function g(class){  })}); true threw exception SyntaxError: Cannot use the keyword 'class' as a variable name..
     1058PASS try{}catch(class){}; true threw exception SyntaxError: Cannot use the keyword 'class' as a catch variable name..
     1059PASS (function(){try{}catch(class){}; true}); true threw exception SyntaxError: Cannot use the keyword 'class' as a catch variable name..
     1060PASS function class(){  }; true threw exception SyntaxError: Cannot use the keyword 'class' as a function name..
     1061PASS (function(){function class(){  }; true}); true threw exception SyntaxError: Cannot use the keyword 'class' as a function name..
    10621062PASS ({ "class": 42 }.class === 42) is true
    10631063PASS (function(){({ "class": 42 }.class === 42)}); true is true
     
    10661066PASS ({ get class(){}, set class(){}, parsedOkay: 42 }.parsedOkay === 42) is true
    10671067PASS (function(){({ get class(){}, set class(){}, parsedOkay: 42 }.parsedOkay === 42)}); true is true
    1068 PASS "use strict";var class; true threw exception SyntaxError: Cannot use the reserved word 'class' as a variable name..
    1069 PASS (function(){"use strict";var class; true}); true threw exception SyntaxError: Cannot use the reserved word 'class' as a variable name..
    1070 PASS "use strict";var class = 42; class === 42 threw exception SyntaxError: Cannot use the reserved word 'class' as a variable name..
    1071 PASS (function(){"use strict";var class = 42; class === 42}); true threw exception SyntaxError: Cannot use the reserved word 'class' as a variable name..
    1072 PASS "use strict";function g(class){ "use strict"; }; true threw exception SyntaxError: Cannot use the reserved word 'class' as a variable name..
    1073 PASS (function(){"use strict";function g(class){ "use strict"; }; true}); true threw exception SyntaxError: Cannot use the reserved word 'class' as a variable name..
    1074 PASS "use strict";/class/.test(function g(class){ "use strict"; }) threw exception SyntaxError: Cannot use the reserved word 'class' as a variable name..
    1075 PASS (function(){"use strict";/class/.test(function g(class){ "use strict"; })}); true threw exception SyntaxError: Cannot use the reserved word 'class' as a variable name..
    1076 PASS "use strict";try{}catch(class){}; true threw exception SyntaxError: Cannot use the reserved word 'class' as a catch variable name..
    1077 PASS (function(){"use strict";try{}catch(class){}; true}); true threw exception SyntaxError: Cannot use the reserved word 'class' as a catch variable name..
    1078 PASS "use strict";function class(){ "use strict"; }; true threw exception SyntaxError: Cannot use the reserved word 'class' as a function name..
    1079 PASS (function(){"use strict";function class(){ "use strict"; }; true}); true threw exception SyntaxError: Cannot use the reserved word 'class' as a function name..
     1068PASS "use strict";var class; true threw exception SyntaxError: Cannot use the keyword 'class' as a variable name..
     1069PASS (function(){"use strict";var class; true}); true threw exception SyntaxError: Cannot use the keyword 'class' as a variable name..
     1070PASS "use strict";var class = 42; class === 42 threw exception SyntaxError: Cannot use the keyword 'class' as a variable name..
     1071PASS (function(){"use strict";var class = 42; class === 42}); true threw exception SyntaxError: Cannot use the keyword 'class' as a variable name..
     1072PASS "use strict";function g(class){ "use strict"; }; true threw exception SyntaxError: Cannot use the keyword 'class' as a variable name..
     1073PASS (function(){"use strict";function g(class){ "use strict"; }; true}); true threw exception SyntaxError: Cannot use the keyword 'class' as a variable name..
     1074PASS "use strict";/class/.test(function g(class){ "use strict"; }) threw exception SyntaxError: Cannot use the keyword 'class' as a variable name..
     1075PASS (function(){"use strict";/class/.test(function g(class){ "use strict"; })}); true threw exception SyntaxError: Cannot use the keyword 'class' as a variable name..
     1076PASS "use strict";try{}catch(class){}; true threw exception SyntaxError: Cannot use the keyword 'class' as a catch variable name..
     1077PASS (function(){"use strict";try{}catch(class){}; true}); true threw exception SyntaxError: Cannot use the keyword 'class' as a catch variable name..
     1078PASS "use strict";function class(){ "use strict"; }; true threw exception SyntaxError: Cannot use the keyword 'class' as a function name..
     1079PASS (function(){"use strict";function class(){ "use strict"; }; true}); true threw exception SyntaxError: Cannot use the keyword 'class' as a function name..
    10801080PASS "use strict";({ "class": 42 }.class === 42) is true
    10811081PASS (function(){"use strict";({ "class": 42 }.class === 42)}); true is true
     
    11921192PASS "use strict";({ get export(){}, set export(){}, parsedOkay: 42 }.parsedOkay === 42) is true
    11931193PASS (function(){"use strict";({ get export(){}, set export(){}, parsedOkay: 42 }.parsedOkay === 42)}); true is true
    1194 PASS var extends; true threw exception SyntaxError: Cannot use the reserved word 'extends' as a variable name..
    1195 PASS (function(){var extends; true}); true threw exception SyntaxError: Cannot use the reserved word 'extends' as a variable name..
    1196 PASS var extends = 42; extends === 42 threw exception SyntaxError: Cannot use the reserved word 'extends' as a variable name..
    1197 PASS (function(){var extends = 42; extends === 42}); true threw exception SyntaxError: Cannot use the reserved word 'extends' as a variable name..
    1198 PASS function g(extends){  }; true threw exception SyntaxError: Cannot use the reserved word 'extends' as a variable name..
    1199 PASS (function(){function g(extends){  }; true}); true threw exception SyntaxError: Cannot use the reserved word 'extends' as a variable name..
    1200 PASS /extends/.test(function g(extends){  }) threw exception SyntaxError: Cannot use the reserved word 'extends' as a variable name..
    1201 PASS (function(){/extends/.test(function g(extends){  })}); true threw exception SyntaxError: Cannot use the reserved word 'extends' as a variable name..
    1202 PASS try{}catch(extends){}; true threw exception SyntaxError: Cannot use the reserved word 'extends' as a catch variable name..
    1203 PASS (function(){try{}catch(extends){}; true}); true threw exception SyntaxError: Cannot use the reserved word 'extends' as a catch variable name..
    1204 PASS function extends(){  }; true threw exception SyntaxError: Cannot use the reserved word 'extends' as a function name..
    1205 PASS (function(){function extends(){  }; true}); true threw exception SyntaxError: Cannot use the reserved word 'extends' as a function name..
     1194PASS var extends; true threw exception SyntaxError: Cannot use the keyword 'extends' as a variable name..
     1195PASS (function(){var extends; true}); true threw exception SyntaxError: Cannot use the keyword 'extends' as a variable name..
     1196PASS var extends = 42; extends === 42 threw exception SyntaxError: Cannot use the keyword 'extends' as a variable name..
     1197PASS (function(){var extends = 42; extends === 42}); true threw exception SyntaxError: Cannot use the keyword 'extends' as a variable name..
     1198PASS function g(extends){  }; true threw exception SyntaxError: Cannot use the keyword 'extends' as a variable name..
     1199PASS (function(){function g(extends){  }; true}); true threw exception SyntaxError: Cannot use the keyword 'extends' as a variable name..
     1200PASS /extends/.test(function g(extends){  }) threw exception SyntaxError: Cannot use the keyword 'extends' as a variable name..
     1201PASS (function(){/extends/.test(function g(extends){  })}); true threw exception SyntaxError: Cannot use the keyword 'extends' as a variable name..
     1202PASS try{}catch(extends){}; true threw exception SyntaxError: Cannot use the keyword 'extends' as a catch variable name..
     1203PASS (function(){try{}catch(extends){}; true}); true threw exception SyntaxError: Cannot use the keyword 'extends' as a catch variable name..
     1204PASS function extends(){  }; true threw exception SyntaxError: Cannot use the keyword 'extends' as a function name..
     1205PASS (function(){function extends(){  }; true}); true threw exception SyntaxError: Cannot use the keyword 'extends' as a function name..
    12061206PASS ({ "extends": 42 }.extends === 42) is true
    12071207PASS (function(){({ "extends": 42 }.extends === 42)}); true is true
     
    12101210PASS ({ get extends(){}, set extends(){}, parsedOkay: 42 }.parsedOkay === 42) is true
    12111211PASS (function(){({ get extends(){}, set extends(){}, parsedOkay: 42 }.parsedOkay === 42)}); true is true
    1212 PASS "use strict";var extends; true threw exception SyntaxError: Cannot use the reserved word 'extends' as a variable name..
    1213 PASS (function(){"use strict";var extends; true}); true threw exception SyntaxError: Cannot use the reserved word 'extends' as a variable name..
    1214 PASS "use strict";var extends = 42; extends === 42 threw exception SyntaxError: Cannot use the reserved word 'extends' as a variable name..
    1215 PASS (function(){"use strict";var extends = 42; extends === 42}); true threw exception SyntaxError: Cannot use the reserved word 'extends' as a variable name..
    1216 PASS "use strict";function g(extends){ "use strict"; }; true threw exception SyntaxError: Cannot use the reserved word 'extends' as a variable name..
    1217 PASS (function(){"use strict";function g(extends){ "use strict"; }; true}); true threw exception SyntaxError: Cannot use the reserved word 'extends' as a variable name..
    1218 PASS "use strict";/extends/.test(function g(extends){ "use strict"; }) threw exception SyntaxError: Cannot use the reserved word 'extends' as a variable name..
    1219 PASS (function(){"use strict";/extends/.test(function g(extends){ "use strict"; })}); true threw exception SyntaxError: Cannot use the reserved word 'extends' as a variable name..
    1220 PASS "use strict";try{}catch(extends){}; true threw exception SyntaxError: Cannot use the reserved word 'extends' as a catch variable name..
    1221 PASS (function(){"use strict";try{}catch(extends){}; true}); true threw exception SyntaxError: Cannot use the reserved word 'extends' as a catch variable name..
    1222 PASS "use strict";function extends(){ "use strict"; }; true threw exception SyntaxError: Cannot use the reserved word 'extends' as a function name..
    1223 PASS (function(){"use strict";function extends(){ "use strict"; }; true}); true threw exception SyntaxError: Cannot use the reserved word 'extends' as a function name..
     1212PASS "use strict";var extends; true threw exception SyntaxError: Cannot use the keyword 'extends' as a variable name..
     1213PASS (function(){"use strict";var extends; true}); true threw exception SyntaxError: Cannot use the keyword 'extends' as a variable name..
     1214PASS "use strict";var extends = 42; extends === 42 threw exception SyntaxError: Cannot use the keyword 'extends' as a variable name..
     1215PASS (function(){"use strict";var extends = 42; extends === 42}); true threw exception SyntaxError: Cannot use the keyword 'extends' as a variable name..
     1216PASS "use strict";function g(extends){ "use strict"; }; true threw exception SyntaxError: Cannot use the keyword 'extends' as a variable name..
     1217PASS (function(){"use strict";function g(extends){ "use strict"; }; true}); true threw exception SyntaxError: Cannot use the keyword 'extends' as a variable name..
     1218PASS "use strict";/extends/.test(function g(extends){ "use strict"; }) threw exception SyntaxError: Cannot use the keyword 'extends' as a variable name..
     1219PASS (function(){"use strict";/extends/.test(function g(extends){ "use strict"; })}); true threw exception SyntaxError: Cannot use the keyword 'extends' as a variable name..
     1220PASS "use strict";try{}catch(extends){}; true threw exception SyntaxError: Cannot use the keyword 'extends' as a catch variable name..
     1221PASS (function(){"use strict";try{}catch(extends){}; true}); true threw exception SyntaxError: Cannot use the keyword 'extends' as a catch variable name..
     1222PASS "use strict";function extends(){ "use strict"; }; true threw exception SyntaxError: Cannot use the keyword 'extends' as a function name..
     1223PASS (function(){"use strict";function extends(){ "use strict"; }; true}); true threw exception SyntaxError: Cannot use the keyword 'extends' as a function name..
    12241224PASS "use strict";({ "extends": 42 }.extends === 42) is true
    12251225PASS (function(){"use strict";({ "extends": 42 }.extends === 42)}); true is true
     
    12641264PASS "use strict";({ get import(){}, set import(){}, parsedOkay: 42 }.parsedOkay === 42) is true
    12651265PASS (function(){"use strict";({ get import(){}, set import(){}, parsedOkay: 42 }.parsedOkay === 42)}); true is true
    1266 PASS var super; true threw exception SyntaxError: Cannot use the reserved word 'super' as a variable name..
    1267 PASS (function(){var super; true}); true threw exception SyntaxError: Cannot use the reserved word 'super' as a variable name..
    1268 PASS var super = 42; super === 42 threw exception SyntaxError: Cannot use the reserved word 'super' as a variable name..
    1269 PASS (function(){var super = 42; super === 42}); true threw exception SyntaxError: Cannot use the reserved word 'super' as a variable name..
    1270 PASS function g(super){  }; true threw exception SyntaxError: Cannot use the reserved word 'super' as a variable name..
    1271 PASS (function(){function g(super){  }; true}); true threw exception SyntaxError: Cannot use the reserved word 'super' as a variable name..
    1272 PASS /super/.test(function g(super){  }) threw exception SyntaxError: Cannot use the reserved word 'super' as a variable name..
    1273 PASS (function(){/super/.test(function g(super){  })}); true threw exception SyntaxError: Cannot use the reserved word 'super' as a variable name..
    1274 PASS try{}catch(super){}; true threw exception SyntaxError: Cannot use the reserved word 'super' as a catch variable name..
    1275 PASS (function(){try{}catch(super){}; true}); true threw exception SyntaxError: Cannot use the reserved word 'super' as a catch variable name..
    1276 PASS function super(){  }; true threw exception SyntaxError: Cannot use the reserved word 'super' as a function name..
    1277 PASS (function(){function super(){  }; true}); true threw exception SyntaxError: Cannot use the reserved word 'super' as a function name..
     1266PASS var super; true threw exception SyntaxError: Cannot use the keyword 'super' as a variable name..
     1267PASS (function(){var super; true}); true threw exception SyntaxError: Cannot use the keyword 'super' as a variable name..
     1268PASS var super = 42; super === 42 threw exception SyntaxError: Cannot use the keyword 'super' as a variable name..
     1269PASS (function(){var super = 42; super === 42}); true threw exception SyntaxError: Cannot use the keyword 'super' as a variable name..
     1270PASS function g(super){  }; true threw exception SyntaxError: Cannot use the keyword 'super' as a variable name..
     1271PASS (function(){function g(super){  }; true}); true threw exception SyntaxError: Cannot use the keyword 'super' as a variable name..
     1272PASS /super/.test(function g(super){  }) threw exception SyntaxError: Cannot use the keyword 'super' as a variable name..
     1273PASS (function(){/super/.test(function g(super){  })}); true threw exception SyntaxError: Cannot use the keyword 'super' as a variable name..
     1274PASS try{}catch(super){}; true threw exception SyntaxError: Cannot use the keyword 'super' as a catch variable name..
     1275PASS (function(){try{}catch(super){}; true}); true threw exception SyntaxError: Cannot use the keyword 'super' as a catch variable name..
     1276PASS function super(){  }; true threw exception SyntaxError: Cannot use the keyword 'super' as a function name..
     1277PASS (function(){function super(){  }; true}); true threw exception SyntaxError: Cannot use the keyword 'super' as a function name..
    12781278PASS ({ "super": 42 }.super === 42) is true
    12791279PASS (function(){({ "super": 42 }.super === 42)}); true is true
     
    12821282PASS ({ get super(){}, set super(){}, parsedOkay: 42 }.parsedOkay === 42) is true
    12831283PASS (function(){({ get super(){}, set super(){}, parsedOkay: 42 }.parsedOkay === 42)}); true is true
    1284 PASS "use strict";var super; true threw exception SyntaxError: Cannot use the reserved word 'super' as a variable name..
    1285 PASS (function(){"use strict";var super; true}); true threw exception SyntaxError: Cannot use the reserved word 'super' as a variable name..
    1286 PASS "use strict";var super = 42; super === 42 threw exception SyntaxError: Cannot use the reserved word 'super' as a variable name..
    1287 PASS (function(){"use strict";var super = 42; super === 42}); true threw exception SyntaxError: Cannot use the reserved word 'super' as a variable name..
    1288 PASS "use strict";function g(super){ "use strict"; }; true threw exception SyntaxError: Cannot use the reserved word 'super' as a variable name..
    1289 PASS (function(){"use strict";function g(super){ "use strict"; }; true}); true threw exception SyntaxError: Cannot use the reserved word 'super' as a variable name..
    1290 PASS "use strict";/super/.test(function g(super){ "use strict"; }) threw exception SyntaxError: Cannot use the reserved word 'super' as a variable name..
    1291 PASS (function(){"use strict";/super/.test(function g(super){ "use strict"; })}); true threw exception SyntaxError: Cannot use the reserved word 'super' as a variable name..
    1292 PASS "use strict";try{}catch(super){}; true threw exception SyntaxError: Cannot use the reserved word 'super' as a catch variable name..
    1293 PASS (function(){"use strict";try{}catch(super){}; true}); true threw exception SyntaxError: Cannot use the reserved word 'super' as a catch variable name..
    1294 PASS "use strict";function super(){ "use strict"; }; true threw exception SyntaxError: Cannot use the reserved word 'super' as a function name..
    1295 PASS (function(){"use strict";function super(){ "use strict"; }; true}); true threw exception SyntaxError: Cannot use the reserved word 'super' as a function name..
     1284PASS "use strict";var super; true threw exception SyntaxError: Cannot use the keyword 'super' as a variable name..
     1285PASS (function(){"use strict";var super; true}); true threw exception SyntaxError: Cannot use the keyword 'super' as a variable name..
     1286PASS "use strict";var super = 42; super === 42 threw exception SyntaxError: Cannot use the keyword 'super' as a variable name..
     1287PASS (function(){"use strict";var super = 42; super === 42}); true threw exception SyntaxError: Cannot use the keyword 'super' as a variable name..
     1288PASS "use strict";function g(super){ "use strict"; }; true threw exception SyntaxError: Cannot use the keyword 'super' as a variable name..
     1289PASS (function(){"use strict";function g(super){ "use strict"; }; true}); true threw exception SyntaxError: Cannot use the keyword 'super' as a variable name..
     1290PASS "use strict";/super/.test(function g(super){ "use strict"; }) threw exception SyntaxError: Cannot use the keyword 'super' as a variable name..
     1291PASS (function(){"use strict";/super/.test(function g(super){ "use strict"; })}); true threw exception SyntaxError: Cannot use the keyword 'super' as a variable name..
     1292PASS "use strict";try{}catch(super){}; true threw exception SyntaxError: Cannot use the keyword 'super' as a catch variable name..
     1293PASS (function(){"use strict";try{}catch(super){}; true}); true threw exception SyntaxError: Cannot use the keyword 'super' as a catch variable name..
     1294PASS "use strict";function super(){ "use strict"; }; true threw exception SyntaxError: Cannot use the keyword 'super' as a function name..
     1295PASS (function(){"use strict";function super(){ "use strict"; }; true}); true threw exception SyntaxError: Cannot use the keyword 'super' as a function name..
    12961296PASS "use strict";({ "super": 42 }.super === 42) is true
    12971297PASS (function(){"use strict";({ "super": 42 }.super === 42)}); true is true
  • trunk/LayoutTests/js/script-tests/class-syntax-call.js

    r181490 r181618  
    1 //@ skip
     1description('Tests for calling the constructors of ES6 classes');
    22
    3 shouldNotThrow('class A { constructor() {} }; window.A = A; new A');
     3shouldNotThrow('class A { constructor() {} }; new A');
    44shouldThrow('A()', '"TypeError: Cannot call a class constructor"');
    5 shouldNotThrow('class B extends A { constructor() { super() } }; window.B = B; new A');
     5shouldNotThrow('class B extends A { constructor() { super() } }; new B');
    66shouldThrow('B()', '"TypeError: Cannot call a class constructor"');
    77shouldNotThrow('new (class { constructor() {} })()');
  • trunk/LayoutTests/js/script-tests/class-syntax-declaration.js

    r179379 r181618  
    1 //@ skip
     1
     2description('Tests for ES6 class syntax declarations');
    23
    34var constructorCallCount = 0;
     
    3031shouldThrow("class X {", "'SyntaxError: Unexpected end of script'");
    3132shouldThrow("class X { ( }", "'SyntaxError: Unexpected token \\'(\\'. Expected an indentifier.'");
    32 shouldThrow("class X {}", "'SyntaxError: Class declaration without a constructor is not supported yet.'");
     33shouldNotThrow("class X {}");
    3334shouldThrow("class X { constructor() {} constructor() {} }", "'SyntaxError: Cannot declare multiple constructors in a single class.'");
    3435shouldNotThrow("class X { constructor() {} static constructor() { return staticMethodValue; } }");
  • trunk/LayoutTests/js/script-tests/class-syntax-default-constructor.js

    r181611 r181618  
    1 //@ skip
    21
    32description('Tests for ES6 class syntax default constructor');
    43
    5 shouldBeTrue('class A { }; window.A = A; new A instanceof A');
     4shouldBeTrue('class A { }; new A instanceof A');
    65shouldThrow('A()', '"TypeError: Cannot call a class constructor"');
    76shouldBeTrue('A.prototype.constructor instanceof Function');
     
    109shouldThrow('B()', '"TypeError: Cannot call a class constructor"');
    1110shouldBe('B.prototype.constructor.name', '"B"');
    12 shouldNotBe('A', 'B');
     11shouldBeTrue('A !== B');
    1312shouldBe('A.prototype.constructor', 'B.prototype.constructor');
    1413shouldBe('new (class extends (class { constructor(a, b) { return [a, b]; } }) {})(1, 2)', '[1, 2]');
  • trunk/LayoutTests/js/script-tests/class-syntax-expression.js

    r179379 r181618  
    1 //@ skip
     1
     2description('Tests for ES6 class syntax expressions');
    23
    34var constructorCallCount = 0;
     
    3031shouldThrow("x = class {", "'SyntaxError: Unexpected end of script'");
    3132shouldThrow("x = class { ( }", "'SyntaxError: Unexpected token \\'(\\'. Expected an indentifier.'");
    32 shouldThrow("x = class {}", "'SyntaxError: Class declaration without a constructor is not supported yet.'");
     33shouldNotThrow("x = class {}");
    3334shouldThrow("x = class { constructor() {} constructor() {} }", "'SyntaxError: Cannot declare multiple constructors in a single class.'");
    3435shouldNotThrow("x = class { constructor() {} static constructor() { return staticMethodValue; } }");
  • trunk/LayoutTests/js/script-tests/class-syntax-extends.js

    r181293 r181618  
    1 //@ skip
    21
    32description('Tests for ES6 class syntax "extends"');
     
    2726shouldThrow('x = class extends', '"SyntaxError: Unexpected end of script"');
    2827shouldThrow('x = class extends Base {', '"SyntaxError: Unexpected end of script"');
    29 shouldThrow('x = class extends Base {}', '"SyntaxError: Class declaration without a constructor is not supported yet."');
     28shouldNotThrow('x = class extends Base { }');
    3029shouldNotThrow('x = class extends Base { constructor() { } }');
    3130shouldBe('x.__proto__', 'Base');
     
    3534shouldThrow('x = class extends 3 { constructor() { } }; x.__proto__', '"TypeError: The superclass is not an object."');
    3635shouldThrow('x = class extends "abc" { constructor() { } }; x.__proto__', '"TypeError: The superclass is not an object."');
    37 evalAndLog('baseWithBadPrototype = class { constructor() { } }; baseWithBadPrototype.prototype = 3');
     36shouldNotThrow('baseWithBadPrototype = class { constructor() { } }; baseWithBadPrototype.prototype = 3');
    3837shouldThrow('x = class extends baseWithBadPrototype { constructor() { } }', '"TypeError: The superclass\'s prototype is not an object."');
    39 evalAndLog('baseWithBadPrototype.prototype = "abc"');
     38shouldNotThrow('baseWithBadPrototype.prototype = "abc"');
    4039shouldThrow('x = class extends baseWithBadPrototype { constructor() { } }', '"TypeError: The superclass\'s prototype is not an object."');
    4140shouldNotThrow('baseWithBadPrototype.prototype = null; x = class extends baseWithBadPrototype { constructor() { } }');
  • trunk/LayoutTests/js/script-tests/class-syntax-super.js

    r181404 r181618  
    1 //@ skip
    21
    32description('Tests for ES6 class syntax "super"');
     
    1817    callBaseMethod() { return super.baseMethod(); }
    1918    get callBaseMethodInGetter() { return super['baseMethod'](); }
    20     set callBaseMethodInSetter() { window.valueInSetter = super.baseMethod(); }
     19    set callBaseMethodInSetter() { valueInSetter = super.baseMethod(); }
    2120    get baseMethodInGetterSetter() { return super.baseMethod; }
    22     set baseMethodInGetterSetter() { window.valueInSetter = super['baseMethod']; }
     21    set baseMethodInGetterSetter() { valueInSetter = super['baseMethod']; }
    2322    static staticMethod() { return super.staticMethod(); }
    2423}
     
    5453shouldBe('x = { }; new (class extends Base { constructor() { return x } });', 'x');
    5554shouldBeFalse('x instanceof Base');
    56 shouldThrow('new (class extends Base { constructor() { } })', '"TypeError: Cannot return a non-object type in the constructor of a derived class."');
     55shouldThrow('new (class extends Base { constructor() { } })', '"ReferenceError: Cannot access uninitialized variable."');
    5756shouldThrow('new (class extends Base { constructor() { return 1; } })', '"TypeError: Cannot return a non-object type in the constructor of a derived class."');
    5857shouldBe('new (class extends null { constructor() { return undefined } })', 'undefined');
    5958shouldBe('x = { }; new (class extends null { constructor() { return x } });', 'x');
    6059shouldBeTrue('x instanceof Object');
    61 shouldThrow('new (class extends null { constructor() { } })', '"TypeError: Cannot return a non-object type in the constructor of a derived class."');
     60shouldThrow('new (class extends null { constructor() { } })', '"ReferenceError: Cannot access uninitialized variable."');
    6261shouldThrow('new (class extends null { constructor() { return 1; } })', '"TypeError: Cannot return a non-object type in the constructor of a derived class."');
    6362shouldNotThrow('new (class extends null { constructor() { super() } })');
  • trunk/LayoutTests/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.11-expected.txt

    r158014 r181618  
    1 CONSOLE MESSAGE: line 76: SyntaxError: Unexpected use of reserved word 'extends'
     1CONSOLE MESSAGE: line 76: SyntaxError: Unexpected keyword 'extends'
    22S7.5.3_A1.11
    33
  • trunk/LayoutTests/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.27-expected.txt

    r158014 r181618  
    1 CONSOLE MESSAGE: line 76: SyntaxError: Unexpected use of reserved word 'super'
     1CONSOLE MESSAGE: line 76: SyntaxError: Cannot reference super.
    22S7.5.3_A1.27
    33
  • trunk/LayoutTests/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.5-expected.txt

    r158014 r181618  
    1 CONSOLE MESSAGE: line 76: SyntaxError: Unexpected use of reserved word 'class'
     1CONSOLE MESSAGE: line 76: SyntaxError: Unexpected keyword 'class'. Class declaration is not allowed in a lexically nested statement.
    22S7.5.3_A1.5
    33
  • trunk/Source/JavaScriptCore/ChangeLog

    r181612 r181618  
     12015-03-16  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Enable ES6 classes by default
     4        https://bugs.webkit.org/show_bug.cgi?id=142774
     5
     6        Reviewed by Gavin Barraclough.
     7
     8        Enabled the feature and unskipped tests.
     9
     10        * Configurations/FeatureDefines.xcconfig:
     11        * tests/stress/class-syntax-no-loop-tdz.js:
     12        * tests/stress/class-syntax-no-tdz-in-catch.js:
     13        * tests/stress/class-syntax-no-tdz-in-conditional.js:
     14        * tests/stress/class-syntax-no-tdz-in-loop-no-inline-super.js:
     15        * tests/stress/class-syntax-no-tdz-in-loop.js:
     16        * tests/stress/class-syntax-no-tdz.js:
     17        * tests/stress/class-syntax-tdz-in-catch.js:
     18        * tests/stress/class-syntax-tdz-in-conditional.js:
     19        * tests/stress/class-syntax-tdz-in-loop.js:
     20        * tests/stress/class-syntax-tdz.js:
     21
    1222015-03-16  Joseph Pecoraro  <pecoraro@apple.com>
    223
  • trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig

    r181502 r181618  
    4545ENABLE_CANVAS_PROXY = ;
    4646ENABLE_CHANNEL_MESSAGING = ENABLE_CHANNEL_MESSAGING;
    47 ENABLE_ES6_CLASS_SYNTAX = ;
     47ENABLE_ES6_CLASS_SYNTAX = ENABLE_ES6_CLASS_SYNTAX;
    4848ENABLE_CONTENT_FILTERING = ENABLE_CONTENT_FILTERING;
    4949ENABLE_CSP_NEXT = ;
  • trunk/Source/JavaScriptCore/tests/stress/class-syntax-no-loop-tdz.js

    r181466 r181618  
    1 //@ skip
    21
    32class A {
  • trunk/Source/JavaScriptCore/tests/stress/class-syntax-no-tdz-in-catch.js

    r181466 r181618  
    1 //@ skip
    21
    32class A {
  • trunk/Source/JavaScriptCore/tests/stress/class-syntax-no-tdz-in-conditional.js

    r181466 r181618  
    1 //@ skip
    21
    32class A {
  • trunk/Source/JavaScriptCore/tests/stress/class-syntax-no-tdz-in-loop-no-inline-super.js

    r181466 r181618  
    1 //@ skip
    21
    32class A {
  • trunk/Source/JavaScriptCore/tests/stress/class-syntax-no-tdz-in-loop.js

    r181466 r181618  
    1 //@ skip
    21
    32class A {
  • trunk/Source/JavaScriptCore/tests/stress/class-syntax-no-tdz.js

    r181466 r181618  
    1 //@ skip
    21
    32class A {
  • trunk/Source/JavaScriptCore/tests/stress/class-syntax-tdz-in-catch.js

    r181466 r181618  
    1 //@ skip
    21
    32class A {
  • trunk/Source/JavaScriptCore/tests/stress/class-syntax-tdz-in-conditional.js

    r181466 r181618  
    1 //@ skip
    21
    32class A {
  • trunk/Source/JavaScriptCore/tests/stress/class-syntax-tdz-in-loop.js

    r181466 r181618  
    1 //@ skip
    21
    32class A {
  • trunk/Source/JavaScriptCore/tests/stress/class-syntax-tdz.js

    r181466 r181618  
    1 //@ skip
    21
    32class A {
  • trunk/Source/WTF/ChangeLog

    r181570 r181618  
     12015-03-16  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Enable ES6 classes by default
     4        https://bugs.webkit.org/show_bug.cgi?id=142774
     5
     6        Reviewed by Gavin Barraclough.
     7
     8        * wtf/FeatureDefines.h:
     9
    1102015-03-16  Csaba Osztrogonác  <ossy@webkit.org>
    211
  • trunk/Source/WTF/wtf/FeatureDefines.h

    r181553 r181618  
    329329
    330330#if !defined(ENABLE_ES6_CLASS_SYNTAX)
    331 #define ENABLE_ES6_CLASS_SYNTAX 0
     331#define ENABLE_ES6_CLASS_SYNTAX 1
    332332#endif
    333333
  • trunk/Source/WebCore/ChangeLog

    r181617 r181618  
     12015-03-16  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Enable ES6 classes by default
     4        https://bugs.webkit.org/show_bug.cgi?id=142774
     5
     6        Reviewed by Gavin Barraclough.
     7
     8        * Configurations/FeatureDefines.xcconfig:
     9
    1102015-03-16  Simon Fraser  <simon.fraser@apple.com>
    211
  • trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig

    r181502 r181618  
    4545ENABLE_CANVAS_PROXY = ;
    4646ENABLE_CHANNEL_MESSAGING = ENABLE_CHANNEL_MESSAGING;
    47 ENABLE_ES6_CLASS_SYNTAX = ;
     47ENABLE_ES6_CLASS_SYNTAX = ENABLE_ES6_CLASS_SYNTAX;
    4848ENABLE_CONTENT_FILTERING = ENABLE_CONTENT_FILTERING;
    4949ENABLE_CSP_NEXT = ;
  • trunk/Source/WebKit/mac/ChangeLog

    r181587 r181618  
     12015-03-16  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Enable ES6 classes by default
     4        https://bugs.webkit.org/show_bug.cgi?id=142774
     5
     6        Reviewed by Gavin Barraclough.
     7
     8        * Configurations/FeatureDefines.xcconfig:
     9
    1102015-03-16  Brent Fulgham  <bfulgham@apple.com>
    211
  • trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig

    r181502 r181618  
    4545ENABLE_CANVAS_PROXY = ;
    4646ENABLE_CHANNEL_MESSAGING = ENABLE_CHANNEL_MESSAGING;
    47 ENABLE_ES6_CLASS_SYNTAX = ;
     47ENABLE_ES6_CLASS_SYNTAX = ENABLE_ES6_CLASS_SYNTAX;
    4848ENABLE_CONTENT_FILTERING = ENABLE_CONTENT_FILTERING;
    4949ENABLE_CSP_NEXT = ;
  • trunk/Source/WebKit2/ChangeLog

    r181607 r181618  
     12015-03-16  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Enable ES6 classes by default
     4        https://bugs.webkit.org/show_bug.cgi?id=142774
     5
     6        Reviewed by Gavin Barraclough.
     7
     8        * Configurations/FeatureDefines.xcconfig:
     9
    1102015-03-16  Conrad Shultz  <conrad_shultz@apple.com>
    211
  • trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig

    r181502 r181618  
    4545ENABLE_CANVAS_PROXY = ;
    4646ENABLE_CHANNEL_MESSAGING = ENABLE_CHANNEL_MESSAGING;
    47 ENABLE_ES6_CLASS_SYNTAX = ;
     47ENABLE_ES6_CLASS_SYNTAX = ENABLE_ES6_CLASS_SYNTAX;
    4848ENABLE_CONTENT_FILTERING = ENABLE_CONTENT_FILTERING;
    4949ENABLE_CSP_NEXT = ;
  • trunk/Source/cmake/WebKitFeatures.cmake

    r179687 r181618  
    2828    WEBKIT_OPTION_DEFINE(ENABLE_CANVAS_PROXY "Toggle CanvasProxy support" OFF)
    2929    WEBKIT_OPTION_DEFINE(ENABLE_CHANNEL_MESSAGING "Toggle MessageChannel and MessagePort support" ON)
    30     WEBKIT_OPTION_DEFINE(ENABLE_ES6_CLASS_SYNTAX "Toggle ES6 class syntax support" OFF)
     30    WEBKIT_OPTION_DEFINE(ENABLE_ES6_CLASS_SYNTAX "Toggle ES6 class syntax support" ON)
    3131    WEBKIT_OPTION_DEFINE(ENABLE_CONTENT_FILTERING "Toggle content filtering support" OFF)
    3232    WEBKIT_OPTION_DEFINE(ENABLE_CONTEXT_MENUS "Toggle Context Menu support" ON)
  • trunk/Tools/ChangeLog

    r181598 r181618  
     12015-03-16  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Enable ES6 classes by default
     4        https://bugs.webkit.org/show_bug.cgi?id=142774
     5
     6        Reviewed by Gavin Barraclough.
     7
     8        * Scripts/webkitperl/FeatureList.pm:
     9
    1102015-03-16  Alexey Proskuryakov  <ap@apple.com>
    211
  • trunk/Tools/Scripts/webkitperl/FeatureList.pm

    r179922 r181618  
    168168
    169169    { option => "class-syntax", desc => "Toggle ES6 class syntax support",
    170       define => "ENABLE_ES6_CLASS_SYNTAX", default => 0, value => \$classSyntax },
     170      define => "ENABLE_ES6_CLASS_SYNTAX", default => 1, value => \$classSyntax },
    171171
    172172    { option => "csp-next", desc => "Toggle Content Security Policy 1.1 support",
Note: See TracChangeset for help on using the changeset viewer.