Changeset 149845 in webkit


Ignore:
Timestamp:
May 9, 2013 2:47:37 PM (11 years ago)
Author:
Christophe Dumez
Message:

[NoInterfaceObject] extended attribute should be removed for several interfaces
https://bugs.webkit.org/show_bug.cgi?id=115852

Reviewed by Benjamin Poulain.

Source/WebCore:

Remove [NoInterfaceObject] extended attribute from the following Web IDL
interfaces: SecurityPolicy, History, Location, Navigator, Performance,
PerformanceEntry, PerformanceMark, PerformanceMeasure, PerformanceNavigation,
PerformanceResourceTiming, PerformanceTiming and Screen.

These interfaces should not have the [NoInterfaceObject] extended attribute
according to their respective specifications:

The new behavior is consistent with the specifications, Firefox and soon Blink.

No new tests, already covered by existing tests.

  • page/DOMSecurityPolicy.idl:
  • page/History.idl:
  • page/Location.idl:
  • page/Navigator.idl:
  • page/Performance.idl:
  • page/PerformanceEntry.idl:
  • page/PerformanceMark.idl:
  • page/PerformanceMeasure.idl:
  • page/PerformanceNavigation.idl:
  • page/PerformanceResourceTiming.idl:
  • page/PerformanceTiming.idl:
  • page/Screen.idl:

LayoutTests:

Rebaseline several layout tests whose output has changed now that a few more
global constructors are exposed.

  • fast/dom/dom-constructors-expected.txt:
  • fast/js/global-constructors-attributes-expected.txt:
  • platform/efl/fast/js/global-constructors-attributes-expected.txt:
Location:
trunk
Files:
17 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r149844 r149845  
     12013-05-09  Christophe Dumez  <ch.dumez@sisa.samsung.com>
     2
     3        [NoInterfaceObject] extended attribute should be removed for several interfaces
     4        https://bugs.webkit.org/show_bug.cgi?id=115852
     5
     6        Reviewed by Benjamin Poulain.
     7
     8        Rebaseline several layout tests whose output has changed now that a few more
     9        global constructors are exposed.
     10
     11        * fast/dom/dom-constructors-expected.txt:
     12        * fast/js/global-constructors-attributes-expected.txt:
     13        * platform/efl/fast/js/global-constructors-attributes-expected.txt:
     14
    1152013-05-09  Robert Hogan  <robert@webkit.org>
    216
  • trunk/LayoutTests/fast/dom/dom-constructors-expected.txt

    r141346 r149845  
    114114PASS TryAllocate('Selection') is 'exception'
    115115PASS TryAllocate('Window') is 'exception'
    116 FAIL TryAllocate('History') should be exception. Was no constructor.
     116PASS TryAllocate('History') is 'exception'
    117117PASS TryAllocate('HTMLOptionsCollection') is 'exception'
    118 FAIL TryAllocate('Location') should be exception. Was no constructor.
    119 FAIL TryAllocate('Navigator') should be exception. Was no constructor.
     118PASS TryAllocate('Location') is 'exception'
     119PASS TryAllocate('Navigator') is 'exception'
    120120FAIL TryAllocate('NodeIterator') should be exception. Was no constructor.
    121121PASS TryAllocate('RGBColor') is 'exception'
    122 FAIL TryAllocate('Screen') should be exception. Was no constructor.
     122PASS TryAllocate('Screen') is 'exception'
    123123FAIL TryAllocate('TreeWalker') should be exception. Was no constructor.
    124124FAIL TryAllocate('XPathExpression') should be exception. Was no constructor.
  • trunk/LayoutTests/fast/js/global-constructors-attributes-expected.txt

    r149758 r149845  
    659659PASS Object.getOwnPropertyDescriptor(global, 'HashChangeEvent').enumerable is false
    660660PASS Object.getOwnPropertyDescriptor(global, 'HashChangeEvent').configurable is true
     661PASS Object.getOwnPropertyDescriptor(global, 'History').value is History
     662PASS Object.getOwnPropertyDescriptor(global, 'History').hasOwnProperty('get') is false
     663PASS Object.getOwnPropertyDescriptor(global, 'History').hasOwnProperty('set') is false
     664PASS Object.getOwnPropertyDescriptor(global, 'History').enumerable is false
     665PASS Object.getOwnPropertyDescriptor(global, 'History').configurable is true
    661666PASS Object.getOwnPropertyDescriptor(global, 'Image').value is Image
    662667PASS Object.getOwnPropertyDescriptor(global, 'Image').hasOwnProperty('get') is false
     
    689694PASS Object.getOwnPropertyDescriptor(global, 'KeyboardEvent').enumerable is false
    690695PASS Object.getOwnPropertyDescriptor(global, 'KeyboardEvent').configurable is true
     696PASS Object.getOwnPropertyDescriptor(global, 'Location').value is Location
     697PASS Object.getOwnPropertyDescriptor(global, 'Location').hasOwnProperty('get') is false
     698PASS Object.getOwnPropertyDescriptor(global, 'Location').hasOwnProperty('set') is false
     699PASS Object.getOwnPropertyDescriptor(global, 'Location').enumerable is false
     700PASS Object.getOwnPropertyDescriptor(global, 'Location').configurable is true
    691701PASS Object.getOwnPropertyDescriptor(global, 'MediaController').value is MediaController
    692702PASS Object.getOwnPropertyDescriptor(global, 'MediaController').hasOwnProperty('get') is false
     
    754764PASS Object.getOwnPropertyDescriptor(global, 'NamedNodeMap').enumerable is false
    755765PASS Object.getOwnPropertyDescriptor(global, 'NamedNodeMap').configurable is true
     766PASS Object.getOwnPropertyDescriptor(global, 'Navigator').value is Navigator
     767PASS Object.getOwnPropertyDescriptor(global, 'Navigator').hasOwnProperty('get') is false
     768PASS Object.getOwnPropertyDescriptor(global, 'Navigator').hasOwnProperty('set') is false
     769PASS Object.getOwnPropertyDescriptor(global, 'Navigator').enumerable is false
     770PASS Object.getOwnPropertyDescriptor(global, 'Navigator').configurable is true
    756771PASS Object.getOwnPropertyDescriptor(global, 'Node').value is Node
    757772PASS Object.getOwnPropertyDescriptor(global, 'Node').hasOwnProperty('get') is false
     
    804819PASS Object.getOwnPropertyDescriptor(global, 'Path').enumerable is false
    805820PASS Object.getOwnPropertyDescriptor(global, 'Path').configurable is true
     821PASS Object.getOwnPropertyDescriptor(global, 'Performance').value is Performance
     822PASS Object.getOwnPropertyDescriptor(global, 'Performance').hasOwnProperty('get') is false
     823PASS Object.getOwnPropertyDescriptor(global, 'Performance').hasOwnProperty('set') is false
     824PASS Object.getOwnPropertyDescriptor(global, 'Performance').enumerable is false
     825PASS Object.getOwnPropertyDescriptor(global, 'Performance').configurable is true
    806826PASS Object.getOwnPropertyDescriptor(global, 'Plugin').value is Plugin
    807827PASS Object.getOwnPropertyDescriptor(global, 'Plugin').hasOwnProperty('get') is false
     
    15641584PASS Object.getOwnPropertyDescriptor(global, 'SVGZoomEvent').enumerable is false
    15651585PASS Object.getOwnPropertyDescriptor(global, 'SVGZoomEvent').configurable is true
     1586PASS Object.getOwnPropertyDescriptor(global, 'Screen').value is Screen
     1587PASS Object.getOwnPropertyDescriptor(global, 'Screen').hasOwnProperty('get') is false
     1588PASS Object.getOwnPropertyDescriptor(global, 'Screen').hasOwnProperty('set') is false
     1589PASS Object.getOwnPropertyDescriptor(global, 'Screen').enumerable is false
     1590PASS Object.getOwnPropertyDescriptor(global, 'Screen').configurable is true
    15661591PASS Object.getOwnPropertyDescriptor(global, 'Selection').value is Selection
    15671592PASS Object.getOwnPropertyDescriptor(global, 'Selection').hasOwnProperty('get') is false
  • trunk/LayoutTests/platform/efl/fast/js/global-constructors-attributes-expected.txt

    r149758 r149845  
    674674PASS Object.getOwnPropertyDescriptor(global, 'HashChangeEvent').enumerable is false
    675675PASS Object.getOwnPropertyDescriptor(global, 'HashChangeEvent').configurable is true
     676PASS Object.getOwnPropertyDescriptor(global, 'History').value is History
     677PASS Object.getOwnPropertyDescriptor(global, 'History').hasOwnProperty('get') is false
     678PASS Object.getOwnPropertyDescriptor(global, 'History').hasOwnProperty('set') is false
     679PASS Object.getOwnPropertyDescriptor(global, 'History').enumerable is false
     680PASS Object.getOwnPropertyDescriptor(global, 'History').configurable is true
    676681PASS Object.getOwnPropertyDescriptor(global, 'IDBCursor').value is IDBCursor
    677682PASS Object.getOwnPropertyDescriptor(global, 'IDBCursor').hasOwnProperty('get') is false
     
    759764PASS Object.getOwnPropertyDescriptor(global, 'KeyboardEvent').enumerable is false
    760765PASS Object.getOwnPropertyDescriptor(global, 'KeyboardEvent').configurable is true
     766PASS Object.getOwnPropertyDescriptor(global, 'Location').value is Location
     767PASS Object.getOwnPropertyDescriptor(global, 'Location').hasOwnProperty('get') is false
     768PASS Object.getOwnPropertyDescriptor(global, 'Location').hasOwnProperty('set') is false
     769PASS Object.getOwnPropertyDescriptor(global, 'Location').enumerable is false
     770PASS Object.getOwnPropertyDescriptor(global, 'Location').configurable is true
    761771PASS Object.getOwnPropertyDescriptor(global, 'MediaController').value is MediaController
    762772PASS Object.getOwnPropertyDescriptor(global, 'MediaController').hasOwnProperty('get') is false
     
    824834PASS Object.getOwnPropertyDescriptor(global, 'NamedNodeMap').enumerable is false
    825835PASS Object.getOwnPropertyDescriptor(global, 'NamedNodeMap').configurable is true
     836PASS Object.getOwnPropertyDescriptor(global, 'Navigator').value is Navigator
     837PASS Object.getOwnPropertyDescriptor(global, 'Navigator').hasOwnProperty('get') is false
     838PASS Object.getOwnPropertyDescriptor(global, 'Navigator').hasOwnProperty('set') is false
     839PASS Object.getOwnPropertyDescriptor(global, 'Navigator').enumerable is false
     840PASS Object.getOwnPropertyDescriptor(global, 'Navigator').configurable is true
    826841PASS Object.getOwnPropertyDescriptor(global, 'Node').value is Node
    827842PASS Object.getOwnPropertyDescriptor(global, 'Node').hasOwnProperty('get') is false
     
    869884PASS Object.getOwnPropertyDescriptor(global, 'Path').enumerable is false
    870885PASS Object.getOwnPropertyDescriptor(global, 'Path').configurable is true
     886PASS Object.getOwnPropertyDescriptor(global, 'Performance').value is Performance
     887PASS Object.getOwnPropertyDescriptor(global, 'Performance').hasOwnProperty('get') is false
     888PASS Object.getOwnPropertyDescriptor(global, 'Performance').hasOwnProperty('set') is false
     889PASS Object.getOwnPropertyDescriptor(global, 'Performance').enumerable is false
     890PASS Object.getOwnPropertyDescriptor(global, 'Performance').configurable is true
     891PASS Object.getOwnPropertyDescriptor(global, 'PerformanceNavigation').value is PerformanceNavigation
     892PASS Object.getOwnPropertyDescriptor(global, 'PerformanceNavigation').hasOwnProperty('get') is false
     893PASS Object.getOwnPropertyDescriptor(global, 'PerformanceNavigation').hasOwnProperty('set') is false
     894PASS Object.getOwnPropertyDescriptor(global, 'PerformanceNavigation').enumerable is false
     895PASS Object.getOwnPropertyDescriptor(global, 'PerformanceNavigation').configurable is true
     896PASS Object.getOwnPropertyDescriptor(global, 'PerformanceTiming').value is PerformanceTiming
     897PASS Object.getOwnPropertyDescriptor(global, 'PerformanceTiming').hasOwnProperty('get') is false
     898PASS Object.getOwnPropertyDescriptor(global, 'PerformanceTiming').hasOwnProperty('set') is false
     899PASS Object.getOwnPropertyDescriptor(global, 'PerformanceTiming').enumerable is false
     900PASS Object.getOwnPropertyDescriptor(global, 'PerformanceTiming').configurable is true
    871901PASS Object.getOwnPropertyDescriptor(global, 'Plugin').value is Plugin
    872902PASS Object.getOwnPropertyDescriptor(global, 'Plugin').hasOwnProperty('get') is false
     
    16341664PASS Object.getOwnPropertyDescriptor(global, 'SVGZoomEvent').enumerable is false
    16351665PASS Object.getOwnPropertyDescriptor(global, 'SVGZoomEvent').configurable is true
     1666PASS Object.getOwnPropertyDescriptor(global, 'Screen').value is Screen
     1667PASS Object.getOwnPropertyDescriptor(global, 'Screen').hasOwnProperty('get') is false
     1668PASS Object.getOwnPropertyDescriptor(global, 'Screen').hasOwnProperty('set') is false
     1669PASS Object.getOwnPropertyDescriptor(global, 'Screen').enumerable is false
     1670PASS Object.getOwnPropertyDescriptor(global, 'Screen').configurable is true
    16361671PASS Object.getOwnPropertyDescriptor(global, 'Selection').value is Selection
    16371672PASS Object.getOwnPropertyDescriptor(global, 'Selection').hasOwnProperty('get') is false
  • trunk/Source/WebCore/ChangeLog

    r149844 r149845  
     12013-05-09  Christophe Dumez  <ch.dumez@sisa.samsung.com>
     2
     3        [NoInterfaceObject] extended attribute should be removed for several interfaces
     4        https://bugs.webkit.org/show_bug.cgi?id=115852
     5
     6        Reviewed by Benjamin Poulain.
     7
     8        Remove [NoInterfaceObject] extended attribute from the following Web IDL
     9        interfaces: SecurityPolicy, History, Location, Navigator, Performance,
     10        PerformanceEntry, PerformanceMark, PerformanceMeasure, PerformanceNavigation,
     11        PerformanceResourceTiming, PerformanceTiming and Screen.
     12
     13        These interfaces should not have the [NoInterfaceObject] extended attribute
     14        according to their respective specifications:
     15        - http://www.w3.org/html/wg/drafts/html/master/browsers.html#the-history-interface
     16        - http://www.w3.org/html/wg/drafts/html/master/browsers.html#the-location-interface
     17        - https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#securitypolicy
     18        - http://www.w3.org/html/wg/drafts/html/master/webappapis.html#the-navigator-object
     19        - http://www.w3.org/TR/navigation-timing/#performance
     20        - https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PerformanceTimeline/Overview.html#sec-PerformanceEntry-interface
     21        - http://www.w3.org/TR/navigation-timing/#performancenavigation
     22        - http://www.w3.org/TR/navigation-timing/#performancetiming
     23        - http://www.w3.org/TR/user-timing/#performancemark
     24        - http://www.w3.org/TR/user-timing/#performancemeasure
     25        - http://www.w3c-test.org/webperf/specs/ResourceTiming/#performanceresourcetiming
     26        - http://dev.w3.org/csswg/cssom-view/#the-screen-interface
     27
     28        The new behavior is consistent with the specifications, Firefox and soon Blink.
     29
     30        No new tests, already covered by existing tests.
     31
     32        * page/DOMSecurityPolicy.idl:
     33        * page/History.idl:
     34        * page/Location.idl:
     35        * page/Navigator.idl:
     36        * page/Performance.idl:
     37        * page/PerformanceEntry.idl:
     38        * page/PerformanceMark.idl:
     39        * page/PerformanceMeasure.idl:
     40        * page/PerformanceNavigation.idl:
     41        * page/PerformanceResourceTiming.idl:
     42        * page/PerformanceTiming.idl:
     43        * page/Screen.idl:
     44
    1452013-05-09  Robert Hogan  <robert@webkit.org>
    246
  • trunk/Source/WebCore/page/DOMSecurityPolicy.idl

    r149796 r149845  
    2424
    2525[
    26     NoInterfaceObject,
    2726    Conditional=CSP_NEXT,
    28     OmitConstructor,
    2927    InterfaceName=SecurityPolicy
    3028] interface DOMSecurityPolicy {
  • trunk/Source/WebCore/page/History.idl

    r149796 r149845  
    2525
    2626[
    27     NoInterfaceObject,
    2827    JSCustomGetOwnPropertySlotAndDescriptor,
    2928    CustomNamedSetter,
     
    3130    CustomDeleteProperty,
    3231    CustomEnumerateProperty,
    33     OmitConstructor
    3432] interface History {
    3533    readonly attribute unsigned long length;
  • trunk/Source/WebCore/page/Location.idl

    r149796 r149845  
    2828
    2929[
    30     NoInterfaceObject,
    3130    JSCustomGetOwnPropertySlotAndDescriptor,
    3231    CustomNamedSetter,
     
    3736    JSCustomNamedGetterOnPrototype,
    3837    JSCustomDefineOwnPropertyOnPrototype,
    39     OmitConstructor
    4038] interface Location {
    4139#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
  • trunk/Source/WebCore/page/Navigator.idl

    r149796 r149845  
    1919
    2020[
    21     NoInterfaceObject,
    2221    GenerateIsReachable=ImplFrame,
    23     OmitConstructor
    2422] interface Navigator {
    2523    readonly attribute DOMString appCodeName;
  • trunk/Source/WebCore/page/Performance.idl

    r149796 r149845  
    3232// See: http://dev.w3.org/2006/webapi/WebTiming/
    3333[
    34     NoInterfaceObject,
    3534    Conditional=WEB_TIMING|WEB_TIMING_MINIMAL,
    3635    EventTarget,
    37     OmitConstructor
    3836] interface Performance {
    3937#if !defined(ENABLE_WEB_TIMING_MINIMAL)
  • trunk/Source/WebCore/page/PerformanceEntry.idl

    r149796 r149845  
    3131// See: https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PerformanceTimeline/Overview.html
    3232[
    33     NoInterfaceObject,
    3433    Conditional=WEB_TIMING,
    3534    Conditional=PERFORMANCE_TIMELINE,
    3635    CustomToJSObject,
    37     OmitConstructor
    3836] interface PerformanceEntry {
    3937    readonly attribute DOMString name;
  • trunk/Source/WebCore/page/PerformanceMark.idl

    r149796 r149845  
    2525
    2626[
    27     NoInterfaceObject,
    2827    Conditional=USER_TIMING,
    29     OmitConstructor
    3028] interface PerformanceMark : PerformanceEntry {
    3129};
  • trunk/Source/WebCore/page/PerformanceMeasure.idl

    r149796 r149845  
    2525
    2626[
    27     NoInterfaceObject,
    2827    Conditional=USER_TIMING,
    29     OmitConstructor
    3028] interface PerformanceMeasure : PerformanceEntry {
    3129};
  • trunk/Source/WebCore/page/PerformanceNavigation.idl

    r149796 r149845  
    3131// See: http://www.w3.org/TR/navigation-timing/
    3232[
    33     NoInterfaceObject,
    3433    Conditional=WEB_TIMING,
    35     OmitConstructor
    3634] interface PerformanceNavigation {
    3735    const unsigned short TYPE_NAVIGATE = 0;
  • trunk/Source/WebCore/page/PerformanceResourceTiming.idl

    r149796 r149845  
    3131// See: https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/ResourceTiming/Overview.html
    3232[
    33     NoInterfaceObject,
    3433    Conditional=RESOURCE_TIMING,
    35     OmitConstructor
    3634] interface PerformanceResourceTiming : PerformanceEntry {
    3735    readonly attribute DOMString initiatorType;
  • trunk/Source/WebCore/page/PerformanceTiming.idl

    r149796 r149845  
    3131// See: http://dev.w3.org/2006/webapi/WebTiming/
    3232[
    33     NoInterfaceObject,
    3433    Conditional=WEB_TIMING,
    35     OmitConstructor
    3634] interface PerformanceTiming {
    3735    readonly attribute unsigned long long navigationStart;
  • trunk/Source/WebCore/page/Screen.idl

    r149796 r149845  
    2929
    3030[
    31     NoInterfaceObject,
    3231    GenerateIsReachable=ImplFrame,
    33     OmitConstructor
    3432] interface Screen {
    3533    readonly attribute unsigned long height;
Note: See TracChangeset for help on using the changeset viewer.