Commit bfd58303 authored by mjs@apple.com's avatar mjs@apple.com

Replace JSC-specific IDL extended attributes with generic (JSC+V8) ones, now...

Replace JSC-specific IDL extended attributes with generic (JSC+V8) ones, now that the distinction no longer matters
https://bugs.webkit.org/show_bug.cgi?id=114712

Reviewed by Dan Bernstein.

No behavior change expected.

* bindings/scripts/IDLAttributes.txt: Remove the JSFoo attributes
that have bare Foo equivalents.
* bindings/scripts/CodeGeneratorJS.pm: Remove support for JSFoo
aliases.
(GetGenerateIsReachable):
(GetCustomIsReachable):
(ShouldGenerateToJSDeclaration):
(ShouldGenerateToJSImplementation):
(HasCustomConstructor):
(HasCustomGetter):
(HasCustomSetter):
(HasCustomMethod):

Replace JSFoo attributes with equivalen Foo attributs in all files
below:
        
* Modules/geolocation/Geolocation.idl:
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBObjectStore.idl:
* Modules/webaudio/DOMWindowWebAudio.idl:
* Modules/websockets/DOMWindowWebSocket.idl:
* Modules/websockets/WorkerContextWebSocket.idl:
* css/CSSRule.idl:
* css/CSSRuleList.idl:
* css/CSSStyleDeclaration.idl:
* css/CSSValue.idl:
* css/MediaList.idl:
* css/StyleMedia.idl:
* css/StyleSheet.idl:
* dom/MessagePort.idl:
* dom/MutationObserver.idl:
* dom/Node.idl:
* fileapi/Blob.idl:
* html/HTMLDocument.idl:
* html/HTMLTemplateElement.idl:
* html/canvas/ArrayBuffer.idl:
* html/canvas/CanvasRenderingContext.idl:
* html/canvas/DataView.idl:
* html/canvas/EXTDrawBuffers.idl:
* html/canvas/EXTTextureFilterAnisotropic.idl:
* html/canvas/OESElementIndexUint.idl:
* html/canvas/OESStandardDerivatives.idl:
* html/canvas/OESTextureFloat.idl:
* html/canvas/OESTextureHalfFloat.idl:
* html/canvas/OESVertexArrayObject.idl:
* html/canvas/WebGLCompressedTextureATC.idl:
* html/canvas/WebGLCompressedTexturePVRTC.idl:
* html/canvas/WebGLCompressedTextureS3TC.idl:
* html/canvas/WebGLDebugRendererInfo.idl:
* html/canvas/WebGLDebugShaders.idl:
* html/canvas/WebGLDepthTexture.idl:
* html/canvas/WebGLLoseContext.idl:
* html/track/TextTrack.idl:
* html/track/TextTrackCue.idl:
* html/track/TextTrackList.idl:
* loader/appcache/DOMApplicationCache.idl:
* page/BarInfo.idl:
* page/Console.idl:
* page/DOMSelection.idl:
* page/DOMWindow.idl:
* page/History.idl:
* page/Location.idl:
* page/MemoryInfo.idl:
* page/Navigator.idl:
* page/Screen.idl:
* page/WorkerNavigator.idl:
* plugins/DOMMimeTypeArray.idl:
* plugins/DOMPluginArray.idl:
* storage/Storage.idl:
* workers/AbstractWorker.idl:
* workers/SharedWorker.idl:
* workers/Worker.idl:
* workers/WorkerContext.idl:
* workers/WorkerLocation.idl:
* xml/XMLHttpRequestUpload.idl:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent c95d64ba
2013-04-16 Maciej Stachowiak <mjs@apple.com>
Replace JSC-specific IDL extended attributes with generic (JSC+V8) ones, now that the distinction no longer matters
https://bugs.webkit.org/show_bug.cgi?id=114712
Reviewed by Dan Bernstein.
No behavior change expected.
* bindings/scripts/IDLAttributes.txt: Remove the JSFoo attributes
that have bare Foo equivalents.
* bindings/scripts/CodeGeneratorJS.pm: Remove support for JSFoo
aliases.
(GetGenerateIsReachable):
(GetCustomIsReachable):
(ShouldGenerateToJSDeclaration):
(ShouldGenerateToJSImplementation):
(HasCustomConstructor):
(HasCustomGetter):
(HasCustomSetter):
(HasCustomMethod):
Replace JSFoo attributes with equivalen Foo attributs in all files
below:
* Modules/geolocation/Geolocation.idl:
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBObjectStore.idl:
* Modules/webaudio/DOMWindowWebAudio.idl:
* Modules/websockets/DOMWindowWebSocket.idl:
* Modules/websockets/WorkerContextWebSocket.idl:
* css/CSSRule.idl:
* css/CSSRuleList.idl:
* css/CSSStyleDeclaration.idl:
* css/CSSValue.idl:
* css/MediaList.idl:
* css/StyleMedia.idl:
* css/StyleSheet.idl:
* dom/MessagePort.idl:
* dom/MutationObserver.idl:
* dom/Node.idl:
* fileapi/Blob.idl:
* html/HTMLDocument.idl:
* html/HTMLTemplateElement.idl:
* html/canvas/ArrayBuffer.idl:
* html/canvas/CanvasRenderingContext.idl:
* html/canvas/DataView.idl:
* html/canvas/EXTDrawBuffers.idl:
* html/canvas/EXTTextureFilterAnisotropic.idl:
* html/canvas/OESElementIndexUint.idl:
* html/canvas/OESStandardDerivatives.idl:
* html/canvas/OESTextureFloat.idl:
* html/canvas/OESTextureHalfFloat.idl:
* html/canvas/OESVertexArrayObject.idl:
* html/canvas/WebGLCompressedTextureATC.idl:
* html/canvas/WebGLCompressedTexturePVRTC.idl:
* html/canvas/WebGLCompressedTextureS3TC.idl:
* html/canvas/WebGLDebugRendererInfo.idl:
* html/canvas/WebGLDebugShaders.idl:
* html/canvas/WebGLDepthTexture.idl:
* html/canvas/WebGLLoseContext.idl:
* html/track/TextTrack.idl:
* html/track/TextTrackCue.idl:
* html/track/TextTrackList.idl:
* loader/appcache/DOMApplicationCache.idl:
* page/BarInfo.idl:
* page/Console.idl:
* page/DOMSelection.idl:
* page/DOMWindow.idl:
* page/History.idl:
* page/Location.idl:
* page/MemoryInfo.idl:
* page/Navigator.idl:
* page/Screen.idl:
* page/WorkerNavigator.idl:
* plugins/DOMMimeTypeArray.idl:
* plugins/DOMPluginArray.idl:
* storage/Storage.idl:
* workers/AbstractWorker.idl:
* workers/SharedWorker.idl:
* workers/Worker.idl:
* workers/WorkerContext.idl:
* workers/WorkerLocation.idl:
* xml/XMLHttpRequestUpload.idl:
2013-04-16 Beth Dakin <bdakin@apple.com>
Re-name Page::layoutMilestones() to Page::requestedLayoutMilestones()
......@@ -26,7 +26,7 @@
// http://www.w3.org/TR/geolocation-API/#geolocation_interface
[
Conditional=GEOLOCATION,
JSGenerateIsReachable=ImplFrame,
GenerateIsReachable=ImplFrame,
OmitConstructor
] interface Geolocation {
[Custom] void getCurrentPosition(in PositionCallback successCallback,
......
......@@ -38,7 +38,7 @@
attribute EventListener onerror;
attribute EventListener onversionchange;
[JSCustom] IDBObjectStore createObjectStore(in DOMString name, in [Optional] Dictionary options)
[Custom] IDBObjectStore createObjectStore(in DOMString name, in [Optional] Dictionary options)
raises (DOMException);
void deleteObjectStore(in DOMString name)
raises (DOMException);
......
......@@ -53,9 +53,9 @@
[CallWith=ScriptExecutionContext] IDBRequest openCursor(in any key, in [Optional] DOMString direction)
raises (DOMException);
[CallWith=ScriptExecutionContext, JSCustom] IDBIndex createIndex(in DOMString name, in sequence<DOMString> keyPath, in [Optional] Dictionary options)
[CallWith=ScriptExecutionContext, Custom] IDBIndex createIndex(in DOMString name, in sequence<DOMString> keyPath, in [Optional] Dictionary options)
raises (DOMException);
[CallWith=ScriptExecutionContext, JSCustom] IDBIndex createIndex(in DOMString name, in DOMString keyPath, in [Optional] Dictionary options)
[CallWith=ScriptExecutionContext, Custom] IDBIndex createIndex(in DOMString name, in DOMString keyPath, in [Optional] Dictionary options)
raises (DOMException);
IDBIndex index(in DOMString name)
raises (DOMException);
......
......@@ -29,7 +29,7 @@
Supplemental=DOMWindow
] interface DOMWindowWebAudio {
#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
[JSCustomGetter] attribute AudioContextConstructor webkitAudioContext;
[CustomGetter] attribute AudioContextConstructor webkitAudioContext;
attribute OfflineAudioContextConstructor webkitOfflineAudioContext;
attribute PannerNodeConstructor webkitAudioPannerNode;
attribute AudioProcessingEventConstructor AudioProcessingEvent;
......
......@@ -30,7 +30,7 @@
] interface DOMWindowWebSocket {
#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
attribute CloseEventConstructor CloseEvent;
[JSCustomGetter] attribute WebSocketConstructor WebSocket; // Usable with the new operator
[CustomGetter] attribute WebSocketConstructor WebSocket; // Usable with the new operator
#endif
};
......@@ -28,6 +28,6 @@
Conditional=WEB_SOCKETS,
Supplemental=WorkerContext
] interface WorkerContextWebSocket {
[JSCustomGetter] attribute WebSocketConstructor WebSocket; // Usable with the new operator
[CustomGetter] attribute WebSocketConstructor WebSocket; // Usable with the new operator
};
......@@ -370,13 +370,13 @@ sub constructorHashTableAccessor
sub GetGenerateIsReachable
{
my $interface = shift;
return $interface->extendedAttributes->{"GenerateIsReachable"} || $interface->extendedAttributes->{"JSGenerateIsReachable"};
return $interface->extendedAttributes->{"GenerateIsReachable"};
}
sub GetCustomIsReachable
{
my $interface = shift;
return $interface->extendedAttributes->{"CustomIsReachable"} || $interface->extendedAttributes->{"JSCustomIsReachable"};
return $interface->extendedAttributes->{"CustomIsReachable"};
}
sub GenerateGetOwnPropertySlotBody
......@@ -606,7 +606,7 @@ sub ShouldGenerateToJSDeclaration
{
my ($hasParent, $interface) = @_;
return 0 if ($interface->extendedAttributes->{"SuppressToJSObject"});
return 1 if (!$hasParent or $interface->extendedAttributes->{"JSGenerateToJSObject"} or ($interface->extendedAttributes->{"CustomToJSObject"} or $interface->extendedAttributes->{"JSCustomToJSObject"}));
return 1 if (!$hasParent or $interface->extendedAttributes->{"JSGenerateToJSObject"} or $interface->extendedAttributes->{"CustomToJSObject"});
return 0;
}
......@@ -614,7 +614,7 @@ sub ShouldGenerateToJSImplementation
{
my ($hasParent, $interface) = @_;
return 0 if ($interface->extendedAttributes->{"SuppressToJSObject"});
return 1 if ((!$hasParent or $interface->extendedAttributes->{"JSGenerateToJSObject"}) and !($interface->extendedAttributes->{"CustomToJSObject"} or $interface->extendedAttributes->{"JSCustomToJSObject"}));
return 1 if ((!$hasParent or $interface->extendedAttributes->{"JSGenerateToJSObject"}) and !$interface->extendedAttributes->{"CustomToJSObject"});
return 0;
}
......@@ -4247,25 +4247,25 @@ sub HasCustomConstructor
{
my $interface = shift;
return $interface->extendedAttributes->{"CustomConstructor"} || $interface->extendedAttributes->{"JSCustomConstructor"};
return $interface->extendedAttributes->{"CustomConstructor"};
}
sub HasCustomGetter
{
my $attrExt = shift;
return $attrExt->{"Custom"} || $attrExt->{"JSCustom"} || $attrExt->{"CustomGetter"} || $attrExt->{"JSCustomGetter"};
return $attrExt->{"Custom"} || $attrExt->{"CustomGetter"} ;
}
sub HasCustomSetter
{
my $attrExt = shift;
return $attrExt->{"Custom"} || $attrExt->{"JSCustom"} || $attrExt->{"CustomSetter"} || $attrExt->{"JSCustomSetter"};
return $attrExt->{"Custom"} || $attrExt->{"CustomSetter"};
}
sub HasCustomMethod
{
my $attrExt = shift;
return $attrExt->{"Custom"} || $attrExt->{"JSCustom"};
return $attrExt->{"Custom"};
}
sub IsConstructable
......
......@@ -55,7 +55,7 @@ DoNotCheckSecurityOnSetter
EnforceRange
EventTarget
ExtendsDOMGlobalObject
GenerateIsReachable=ImplDocument|ImplElementRoot|ImplOwnerNodeRoot
GenerateIsReachable=|Impl|ImplContext|ImplDocument|ImplElementRoot|ImplFrame|ImplOwnerNodeRoot
Immutable
ImplementationLacksVTable
ImplementationNamespace=*
......@@ -65,22 +65,15 @@ InitializedByEventConstructor
InterfaceName=*
IsIndex
IsWorkerContext
JSCustom
JSCustomConstructor
JSCustomDefineOwnProperty
JSCustomDefineOwnPropertyOnPrototype
JSCustomFinalize
JSCustomGetOwnPropertySlotAndDescriptor
JSCustomGetter
JSCustomHeader
JSCustomIsReachable
JSCustomMarkFunction
JSCustomNamedGetterOnPrototype
JSCustomPushEventHandlerScope
JSCustomSetter
JSCustomToJSObject
JSCustomToNativeObject
JSGenerateIsReachable=|Impl|ImplContext|ImplDocument|ImplElementRoot|ImplFrame|ImplOwnerNodeRoot
JSGenerateToJSObject
JSGenerateToNativeObject
JSInlineGetOwnPropertySlot
......
......@@ -22,7 +22,7 @@
[
JSCustomHeader,
JSCustomMarkFunction,
JSGenerateIsReachable,
GenerateIsReachable,
CustomToJSObject,
ObjCPolymorphic,
] interface CSSRule {
......
......@@ -25,7 +25,7 @@
// Introduced in DOM Level 2:
[
JSCustomIsReachable,
CustomIsReachable,
IndexedGetter,
SkipVTableValidation
] interface CSSRuleList {
......
......@@ -22,7 +22,7 @@
[
JSCustomHeader,
JSCustomMarkFunction,
JSGenerateIsReachable,
GenerateIsReachable,
JSCustomGetOwnPropertySlotAndDescriptor,
CustomNamedSetter,
IndexedGetter,
......@@ -33,7 +33,7 @@
setter raises(DOMException);
[TreatReturnedNullStringAs=Null] DOMString getPropertyValue(in [Optional=DefaultIsUndefined] DOMString propertyName);
[JSCustom] CSSValue getPropertyCSSValue(in [Optional=DefaultIsUndefined] DOMString propertyName);
[Custom] CSSValue getPropertyCSSValue(in [Optional=DefaultIsUndefined] DOMString propertyName);
[TreatReturnedNullStringAs=Null] DOMString removeProperty(in [Optional=DefaultIsUndefined] DOMString propertyName)
raises(DOMException);
[TreatReturnedNullStringAs=Null] DOMString getPropertyPriority(in [Optional=DefaultIsUndefined] DOMString propertyName);
......
......@@ -20,7 +20,7 @@
[
CustomToJSObject,
JSCustomIsReachable,
CustomIsReachable,
JSCustomFinalize,
ObjCPolymorphic,
ImplementationLacksVTable
......
......@@ -26,7 +26,7 @@
// Introduced in DOM Level 2:
[
JSCustomHeader,
JSGenerateIsReachable,
GenerateIsReachable,
IndexedGetter,
ImplementationLacksVTable
] interface MediaList {
......
......@@ -25,7 +25,7 @@
*/
[
JSGenerateIsReachable=ImplFrame
GenerateIsReachable=ImplFrame
] interface StyleMedia {
readonly attribute DOMString type;
boolean matchMedium(in [Optional=DefaultIsUndefined] DOMString mediaquery);
......
......@@ -22,7 +22,7 @@
[
JSCustomHeader,
JSCustomMarkFunction,
JSGenerateIsReachable,
GenerateIsReachable,
CustomToJSObject,
ObjCPolymorphic,
] interface StyleSheet {
......
......@@ -27,7 +27,7 @@
[
JSCustomMarkFunction,
JSGenerateIsReachable=Impl,
GenerateIsReachable=Impl,
ActiveDOMObject,
EventTarget,
JSNoStaticTables
......
......@@ -31,7 +31,7 @@
[
CustomConstructor,
ConstructorParameters=1,
JSCustomIsReachable,
CustomIsReachable,
ImplementationLacksVTable
] interface MutationObserver {
void observe(in Node target, in Dictionary options)
......
......@@ -22,7 +22,7 @@
JSCustomHeader,
JSCustomMarkFunction,
JSCustomPushEventHandlerScope,
JSCustomIsReachable,
CustomIsReachable,
JSCustomFinalize,
CustomToJSObject,
EventTarget,
......
......@@ -29,7 +29,7 @@
*/
[
JSGenerateIsReachable=Impl,
GenerateIsReachable=Impl,
CustomToJSObject,
JSNoStaticTables,
CustomConstructor,
......
......@@ -21,7 +21,7 @@
[
CustomNamedGetter,
] interface HTMLDocument : Document {
[JSCustom] void open();
[Custom] void open();
void close();
[Custom] void write(in [Optional=DefaultIsUndefined] DOMString text);
[Custom] void writeln(in [Optional=DefaultIsUndefined] DOMString text);
......@@ -34,7 +34,7 @@
#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
// FIXME: This should eventually be available (if they are wanted) for all languages.
[JSCustom, Replaceable, Deletable] attribute HTMLAllCollection all;
[Custom, Replaceable, Deletable] attribute HTMLAllCollection all;
#endif
void clear();
......
......@@ -31,6 +31,6 @@
[
Conditional=TEMPLATE_ELEMENT
] interface HTMLTemplateElement : HTMLElement {
[JSCustom] readonly attribute DocumentFragment content;
[Custom] readonly attribute DocumentFragment content;
};
......@@ -24,7 +24,7 @@
*/
[
JSGenerateIsReachable=Impl,
GenerateIsReachable=Impl,
CustomConstructor,
ConstructorParameters=1,
JSNoStaticTables,
......
......@@ -25,7 +25,7 @@
[
JSCustomMarkFunction,
JSGenerateIsReachable,
GenerateIsReachable,
CustomToJSObject
] interface CanvasRenderingContext {
readonly attribute HTMLCanvasElement canvas;
......
......@@ -48,10 +48,10 @@
[StrictTypeChecking] unsigned long getUint32(in unsigned long byteOffset, in [Optional] boolean littleEndian)
raises (DOMException);
// Use custom code to handle NaN case for JSC.
[JSCustom, StrictTypeChecking] float getFloat32(in unsigned long byteOffset, in [Optional] boolean littleEndian)
// Use custom code to handle NaN case.
[Custom, StrictTypeChecking] float getFloat32(in unsigned long byteOffset, in [Optional] boolean littleEndian)
raises (DOMException);
[JSCustom, StrictTypeChecking] double getFloat64(in unsigned long byteOffset, in [Optional] boolean littleEndian)
[Custom, StrictTypeChecking] double getFloat64(in unsigned long byteOffset, in [Optional] boolean littleEndian)
raises (DOMException);
// We have to use custom code because our code generator does not support uint8_t type.
......
......@@ -27,7 +27,7 @@ typedef unsigned long GLenum;
[
Conditional=WEBGL,
JSGenerateIsReachable=ImplContext,
GenerateIsReachable=ImplContext,
OmitConstructor,
DoNotCheckConstants
] interface EXTDrawBuffers {
......
......@@ -25,7 +25,7 @@
[
Conditional=WEBGL,
JSGenerateIsReachable=ImplContext,
GenerateIsReachable=ImplContext,
OmitConstructor,
DoNotCheckConstants
] interface EXTTextureFilterAnisotropic {
......
......@@ -25,7 +25,7 @@
[
Conditional=WEBGL,
JSGenerateIsReachable=ImplContext,
GenerateIsReachable=ImplContext,
OmitConstructor
] interface OESElementIndexUint {
};
......@@ -25,7 +25,7 @@
[
Conditional=WEBGL,
JSGenerateIsReachable=ImplContext,
GenerateIsReachable=ImplContext,
OmitConstructor,
DoNotCheckConstants
] interface OESStandardDerivatives {
......
......@@ -25,7 +25,7 @@
[
Conditional=WEBGL,
JSGenerateIsReachable=ImplContext,
GenerateIsReachable=ImplContext,
OmitConstructor
] interface OESTextureFloat {
};
......@@ -25,7 +25,7 @@
[
Conditional=WEBGL,
JSGenerateIsReachable=ImplContext,
GenerateIsReachable=ImplContext,
OmitConstructor
] interface OESTextureHalfFloat {
};
\ No newline at end of file
......@@ -25,7 +25,7 @@
[
Conditional=WEBGL,
JSGenerateIsReachable=ImplContext,
GenerateIsReachable=ImplContext,
OmitConstructor,
DoNotCheckConstants
] interface OESVertexArrayObject {
......
......@@ -25,7 +25,7 @@
[
Conditional=WEBGL,
JSGenerateIsReachable=ImplContext,
GenerateIsReachable=ImplContext,
OmitConstructor,
DoNotCheckConstants
] interface WebGLCompressedTextureATC {
......
......@@ -25,7 +25,7 @@
[
Conditional=WEBGL,
JSGenerateIsReachable=ImplContext,
GenerateIsReachable=ImplContext,
OmitConstructor,
DoNotCheckConstants
] interface WebGLCompressedTexturePVRTC {
......
......@@ -25,7 +25,7 @@
[
Conditional=WEBGL,
JSGenerateIsReachable=ImplContext,
GenerateIsReachable=ImplContext,
OmitConstructor,
DoNotCheckConstants
] interface WebGLCompressedTextureS3TC {
......
......@@ -25,7 +25,7 @@
[
Conditional=WEBGL,
JSGenerateIsReachable=ImplContext,
GenerateIsReachable=ImplContext,
OmitConstructor,
DoNotCheckConstants
] interface WebGLDebugRendererInfo {
......
......@@ -25,7 +25,7 @@
[
Conditional=WEBGL,
JSGenerateIsReachable=ImplContext,
GenerateIsReachable=ImplContext,
OmitConstructor
] interface WebGLDebugShaders {
[StrictTypeChecking, TreatReturnedNullStringAs=Null] DOMString getTranslatedShaderSource(in WebGLShader shader) raises(DOMException);
......
......@@ -25,7 +25,7 @@
[
Conditional=WEBGL,
JSGenerateIsReachable=ImplContext,
GenerateIsReachable=ImplContext,
OmitConstructor,
DoNotCheckConstants
] interface WebGLDepthTexture {
......
......@@ -25,7 +25,7 @@
[
Conditional=WEBGL,
JSGenerateIsReachable=ImplContext,
GenerateIsReachable=ImplContext,
OmitConstructor
] interface WebGLLoseContext {
[StrictTypeChecking] void loseContext();
......
......@@ -27,7 +27,7 @@
Conditional=VIDEO_TRACK,
EventTarget,
JSCustomMarkFunction,
JSCustomIsReachable,
CustomIsReachable,
SkipVTableValidation
] interface TextTrack {
readonly attribute DOMString kind;
......
......@@ -30,7 +30,7 @@
CallWith=ScriptExecutionContext,
EventTarget,
JSCustomMarkFunction,
JSCustomIsReachable,
CustomIsReachable,
SkipVTableValidation
] interface TextTrackCue {
readonly attribute TextTrack track;
......
......@@ -28,7 +28,7 @@
IndexedGetter,
EventTarget,
JSCustomMarkFunction,
JSCustomIsReachable
CustomIsReachable
] interface TextTrackList {
readonly attribute unsigned long length;
TextTrack item(in unsigned long index);
......
......@@ -27,7 +27,7 @@
EventTarget,
OmitConstructor,
DoNotCheckConstants,
JSGenerateIsReachable=ImplFrame
GenerateIsReachable=ImplFrame
] interface DOMApplicationCache {
// update status
const unsigned short UNCACHED = 0;
......