Changes between Version 117 and Version 118 of WebKitIDL


Ignore:
Timestamp:
May 17, 2013 2:54:12 PM (8 years ago)
Author:
Christophe Dumez
Comment:

Add documentation for [EnabledAtRuntime] introduced in r150276

Legend:

Unmodified
Added
Removed
Modified
  • WebKitIDL

    v117 v118  
    5555 - [#SkipVTableValidation SkipVTableValidation(i), ImplementationLacksVTable(i),][[br]]
    5656 - [#NoInterfaceObject NoInterfaceObject(i)][[br]]
    57 
     57 - [#EnabledAtRuntime EnabledAtRuntime(i)][[br]]
    5858
    5959= Overview = #Overview
     
    14391439Standard: [http://dev.w3.org/2006/webapi/WebIDL/#NoInterfaceObject The spec of NoInterfaceObject]
    14401440
    1441 Summary: If the `[NoInterfaceObject]` extended attribute appears on an interface, it indicates that an interface object will not exist for the interface in the ECMAScript binding.
     1441Summary: If the `[NoInterfaceObject]` extended attribute is specified on an interface, it indicates that an interface object will not exist for the interface in the ECMAScript binding.
    14421442
    14431443Note that for every interface that:
     
    14551455    };
    14561456}}}
     1457
     1458== `[EnabledAtRuntime]`(i) == #EnabledAtRuntime
     1459
     1460Standard: this is a non-standard attribute
     1461
     1462Summary: If the `[EnabledAtRuntime]` extended attribute is specified on non-callback interface that is not declared with the `[NoInterfaceObject]` extended attribute, it indicates that the corresponding attribute(s) generated on the global Window object can be enabled / disabled at runtime.
     1463
     1464The `RuntimeEnabledFeatures` class will be used to determine if the global constructor should be enabled, at runtime. By default, the name of the interface is used as feature name but it is possible to specify the feature name explicitly as well via `[EnabledAtRuntime=FeatureName]`.
     1465
     1466Usage: `[EnabledAtRuntime]` can be specified on interfaces.
     1467
     1468{{{
     1469    // window.XXX will only be enabled if RuntimeEnabledFeatures::xXXEnabled() returns true.
     1470    [
     1471        EnabledAtRuntime
     1472    ] interface XXX {
     1473        ...
     1474    };
     1475
     1476    // window.YYY will only be enabled if RuntimeEnabledFeatures::featureNameEnabled() returns true.
     1477    [
     1478        EnabledAtRuntime=FeatureName
     1479    ] interface YYY {
     1480        ...
     1481    };
     1482}}}