https://bugs.webkit.org/show_bug.cgi?id=122278
Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
doesn't have any effect, but will keep the operations not configurable after the generator is modified
to preserve the original behavior. The attribute will be removed from each interface after checking
conformity with other browsers (in terms of configurability of operations of that interface) and the
WebKit's existing test suites.
This patch covers IDL interfaces under Source/WebCore/page/.
* page/Console.idl:
* page/Crypto.idl:
* page/DOMSecurityPolicy.idl:
* page/DOMSelection.idl:
* page/DOMWindow.idl:
* page/EventSource.idl:
* page/History.idl:
* page/Location.idl:
* page/Navigator.idl:
* page/Performance.idl:
* page/PerformanceEntryList.idl:
* page/SpeechInputResultList.idl:
* page/WindowBase64.idl:
* page/WindowTimers.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@156996
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2013-10-06 Zan Dobersek <zdobersek@igalia.com>
+
+ [WebIDL] Annotate IDL interfaces under Source/WebCore/page/ with the OperationsNotDeletable attribute
+ https://bugs.webkit.org/show_bug.cgi?id=122278
+
+ Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
+ interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
+ doesn't have any effect, but will keep the operations not configurable after the generator is modified
+ to preserve the original behavior. The attribute will be removed from each interface after checking
+ conformity with other browsers (in terms of configurability of operations of that interface) and the
+ WebKit's existing test suites.
+
+ This patch covers IDL interfaces under Source/WebCore/page/.
+
+ * page/Console.idl:
+ * page/Crypto.idl:
+ * page/DOMSecurityPolicy.idl:
+ * page/DOMSelection.idl:
+ * page/DOMWindow.idl:
+ * page/EventSource.idl:
+ * page/History.idl:
+ * page/Location.idl:
+ * page/Navigator.idl:
+ * page/Performance.idl:
+ * page/PerformanceEntryList.idl:
+ * page/SpeechInputResultList.idl:
+ * page/WindowBase64.idl:
+ * page/WindowTimers.idl:
+
2013-10-06 Darin Adler <darin@apple.com>
* rendering/RenderButton.cpp:
[
NoInterfaceObject,
GenerateIsReachable=ImplFrame,
+ OperationsNotDeletable
] interface Console {
[CallWith=ScriptArguments&ScriptState] void debug();
[
NoInterfaceObject,
- ImplementationLacksVTable
+ ImplementationLacksVTable,
+ OperationsNotDeletable
] interface Crypto {
[Custom, RaisesException] ArrayBufferView getRandomValues(ArrayBufferView array);
};
[
Conditional=CSP_NEXT,
- InterfaceName=SecurityPolicy
+ InterfaceName=SecurityPolicy,
+ OperationsNotDeletable
] interface DOMSecurityPolicy {
readonly attribute boolean allowsEval;
readonly attribute boolean allowsInlineScript;
// https://developer.mozilla.org/En/DOM/Selection
[
GenerateIsReachable=ImplFrame,
- InterfaceName=Selection
+ InterfaceName=Selection,
+ OperationsNotDeletable
] interface DOMSelection {
readonly attribute Node anchorNode;
readonly attribute long anchorOffset;
JSGenerateToNativeObject,
ReplaceableConstructor,
JSLegacyParent=JSDOMWindowBase,
- InterfaceName=Window
+ InterfaceName=Window,
+ OperationsNotDeletable
] interface DOMWindow {
// DOM Level 0
[Replaceable] readonly attribute Screen screen;
ConstructorCallWith=ScriptExecutionContext,
ConstructorRaisesException,
EventTarget,
- JSNoStaticTables
+ JSNoStaticTables,
+ OperationsNotDeletable
] interface EventSource {
readonly attribute DOMString URL; // Lowercased .url is the one in the spec, but leaving .URL for compatibility reasons.
GenerateIsReachable=ImplFrame,
CustomDeleteProperty,
CustomEnumerateProperty,
+ OperationsNotDeletable
] interface History {
readonly attribute unsigned long length;
[CachedAttribute, Custom] readonly attribute SerializedScriptValue state;
JSCustomDefineOwnProperty,
JSCustomNamedGetterOnPrototype,
JSCustomDefineOwnPropertyOnPrototype,
+ OperationsNotDeletable
] interface Location {
#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
[DoNotCheckSecurityOnSetter, CustomSetter] attribute DOMString href;
[
GenerateIsReachable=ImplFrame,
+ OperationsNotDeletable
] interface Navigator {
readonly attribute DOMString appCodeName;
readonly attribute DOMString appName;
[
Conditional=WEB_TIMING,
EventTarget,
+ OperationsNotDeletable
] interface Performance {
readonly attribute PerformanceNavigation navigation;
readonly attribute PerformanceTiming timing;
NoInterfaceObject,
Conditional=WEB_TIMING,
Conditional=PERFORMANCE_TIMELINE,
- ImplementationLacksVTable
+ ImplementationLacksVTable,
+ OperationsNotDeletable
] interface PerformanceEntryList {
readonly attribute unsigned long length;
getter PerformanceEntry item(unsigned long index);
[
NoInterfaceObject,
Conditional=INPUT_SPEECH,
- ImplementationLacksVTable
+ ImplementationLacksVTable,
+ OperationsNotDeletable
] interface SpeechInputResultList {
readonly attribute unsigned long length;
getter SpeechInputResult item([IsIndex] unsigned long index);
*/
[
- NoInterfaceObject
+ NoInterfaceObject,
+ OperationsNotDeletable
] interface WindowBase64 {
[RaisesException] DOMString atob(DOMString string);
[RaisesException] DOMString btoa(DOMString string);
*/
[
- NoInterfaceObject
+ NoInterfaceObject,
+ OperationsNotDeletable
] interface WindowTimers {
[Custom] long setTimeout(any handler, [Default=Undefined] optional long timeout);
void clearTimeout([Default=Undefined] optional long handle);