Changes between Version 33 and Version 34 of WebKitIDL
- Timestamp:
- Feb 16, 2012, 12:27:22 AM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WebKitIDL
v33 v34 283 283 Summary: It checks if a given Node access is allowed in terms of security. 284 284 285 Usage: Itcan be specified on methods and attributes:285 Usage: [CheckAccessToNode] can be specified on methods and attributes: 286 286 {{{ 287 287 attribute [CheckAccessToNode] Node contentDocument; … … 308 308 Summary: It controls whether WebCore can return a cached wrapper object or not. 309 309 310 Usage: Itcan be specified on methods or attributes:310 Usage: [ReturnNewObject] can be specified on methods or attributes: 311 311 {{{ 312 312 attribute [ReturnNewObject] Node node; … … 333 333 Summary: It specifies a method name in WebCore implementation, if the IDL method name and the WebCore method name are different. 334 334 335 Usage: The possible usage is [ImplementedAs=XXX], where XXX is a method name of the WebCore implementation. Itcan be specified on methods:335 Usage: The possible usage is [ImplementedAs=XXX], where XXX is a method name of the WebCore implementation. [ImplementedAs] can be specified on methods: 336 336 {{{ 337 337 [ImplementedAs=deleteFunction] void delete(); … … 360 360 Summary: It controls if a given attribute is "replaceable" or not. 361 361 362 Usage: Itcan be specified on attributes:362 Usage: [Replaceable] can be specified on attributes: 363 363 {{{ 364 364 interface DOMWindow { … … 412 412 Summary: For performance optimization, it indicates to cache a wrapped object in a DOM object. 413 413 414 Usage: Itcan be specified on attributes:414 Usage: [CachedAttribute] can be specified on attributes: 415 415 {{{ 416 416 interface HTMLFoo { … … 487 487 Summary: It indicates that a given DOMString is a URL. 488 488 489 Usage: Itcan be specified on DOMString attributes:489 Usage: [URL] can be specified on DOMString attributes: 490 490 {{{ 491 491 attribute [Reflect, V8URL] DOMString url; … … 749 749 Summary: It inserts "#if ENABLE(SOME_FLAG) ... #endif" into the generated code. 750 750 751 Usage: Itcan be specified on interfaces, methods and attributes:751 Usage: [Conditional] can be specified on interfaces, methods and attributes: 752 752 {{{ 753 753 interface [ … … 775 775 Usage: The possible usage is [V8EnabledAtRuntime] or [V8EnabledAtRuntime=X], 776 776 where X is an arbitrary string which you want to use for identifying the flag getter. 777 Itcan be specified on interfaces, methods and attributes:777 [V8EnabledAtRuntime] can be specified on interfaces, methods and attributes: 778 778 {{{ 779 779 interface [ … … 824 824 825 825 By default, toJS() and toV8() are automatically generated in JSXXX.h and JSXXX.cpp or V8XXX.h and V8XXX.cpp. 826 With [CustomToJSObject]/[JSCustomToJSObject]/[V8CustomToJSObject], 827 you can write custom toJS() or toV8() in WebCore/bindings/js/JSXXXCustom.cpp or WebCore/bindings/v8/custom/V8XXXCustom.cpp. 826 With [CustomToJSObject] or [JSCustomToJSObject], you can write custom toJS() WebCore/bindings/js/JSXXXCustom.cpp: 827 {{{ 828 JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, XXX* impl) 829 { 830 ...; 831 } 832 }}} 833 With [CustomToJSObject] or [V8CustomToJSObject], you can write custom toV8() WebCore/bindings/v8/custom/V8XXXCustom.cpp: 834 {{{ 835 v8::Handle<v8::Value> toV8(XXX* impl, bool forceNewObject) 836 { 837 ...; 838 } 839 }}} 828 840 829 841 === * [CheckDomainSecurity](i), [DoNotCheckDomainSecurity](m,a), [DoNotCheckDomainSecurityOnGetter](a), [DoNotCheckDomainSecurityOnSetter](a) === … … 845 857 Summary: It indicates that the interface is a WorkerContext-related interface. 846 858 847 Usage: Itcan be specified on WorkerContext-related interfaces:859 Usage: [IsWorkerContext] can be specified on WorkerContext-related interfaces: 848 860 {{{ 849 861 interface [ … … 894 906 } 895 907 }}} 896 * With [JSCustomIsReachable], you can write custom JSXXXOwner::isReachableFromOpaqueRoots(...):908 * With [JSCustomIsReachable], you can write custom JSXXXOwner::isReachableFromOpaqueRoots(...): 897 909 {{{ 898 910 bool JSXXXOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void* context, SlotVisitor& visitor) … … 949 961 }}} 950 962 963 === * [JSGenerateToJSObject](i), [JSGenerateIsReachable](i), [JSGenerateToNativeObject](i) === 964 965 Summary: They force JavaScriptCore bindings to generate JavaScriptCore specific methods even if a given interface has a parent interface. 966 967 Usage: They can be specified on interfaces which do not have a parent interface: 968 {{{ 969 interface [ 970 JSGenerateToJSObject, 971 JSGenerateIsReachable, 972 JSGenerateToNativeObject 973 ] XXX { 974 } 975 }}} 976 977 toJS(...), isReachableFromOpaqueRoots(...) or toXXX() are not generated if the interface has a parent interface. 978 If you want to generate it even if the interface does not have a parent interface, you can specify 979 [JSGenerateToJSObject], [JSGenerateIsReachable] or [JSGenerateToNativeObject], respectively. 980 951 981 === * [JSCustomHeader](i) === 952 982 953 === * [JSGenerateToJSObject](i), [JSGenerateIsReachable](i), [JSGenerateToNativeObject](i) === 983 Summary: It allows us to write a custom header for a given interface. 984 985 Usage: [JSCustomHeader] can be specified on interfaces: 986 {{{ 987 interface [ 988 JSCustomHeader 989 ] XXX { 990 } 991 }}} 992 993 By default, JSXXX.h and JSXXX.cpp are generated automatically, and if you need, 994 you can write custom bindings in WebCore/bindings/js/JSXXXCustom.cpp. 995 On the other hand, [JSCustomHeader] allows us to write WebCore/bindings/js/JSXXXCustom.h, which is included by JSXXX.h. 996 954 997 955 998 === * [JSLegacyParent](i) === 956 999 1000 Summary: It explicitly controls the parent interface of a given interface. 1001 1002 Usage: [JSLegacyParent] can be specified on interfaces: 1003 {{{ 1004 interface [ 1005 JSLegacyParent=JSDOMWindowBase 1006 ] DOMWindow { 1007 } 1008 }}} 1009 1010 Even if a given interface does not have a parent interface, you can specify a parent interface using [JSLegacyParent]. 1011 957 1012 === * [JSInlineGetOwnPropertySlot](i) === 958 1013 1014 Summary: It makes getOwnPropertySlot(...) and getOwnPropertyDescriptor(...) an inline method for performance. 1015 1016 Usage: [JSInlineGetOwnPropertySlot] can be specified on interfaces: 1017 {{{ 1018 interface [ 1019 JSInlineGetOwnPropertySlot 1020 ] XXX { 1021 } 1022 }}} 1023 959 1024 === * [JSNoStaticTables](i) === 960 1025 1026 Summary: ADD SUMMARY 1027 1028 Usage: [JSNoStaticTables] can be specified on interfaces. 1029 {{{ 1030 interface [ 1031 JSNoStaticTables 1032 ] XXX { 1033 } 1034 }}} 1035 1036 ADD EXPLANATIONS 1037 961 1038 == IDL attributes used by ObjC, GObject and CPP bindings only == 962 1039