diff options
Diffstat (limited to 'WebCore/bindings/v8/custom/V8CustomBinding.h')
-rw-r--r-- | WebCore/bindings/v8/custom/V8CustomBinding.h | 464 |
1 files changed, 464 insertions, 0 deletions
diff --git a/WebCore/bindings/v8/custom/V8CustomBinding.h b/WebCore/bindings/v8/custom/V8CustomBinding.h index e039c6f..42aca44 100644 --- a/WebCore/bindings/v8/custom/V8CustomBinding.h +++ b/WebCore/bindings/v8/custom/V8CustomBinding.h @@ -91,6 +91,7 @@ namespace WebCore { bool allowSettingFrameSrcToJavascriptUrl(HTMLFrameElementBase*, String value); bool allowSettingSrcToJavascriptURL(Element*, String name, String value); +#ifdef MANUAL_MERGE_REQUIRED class V8Custom { public: // Constants. @@ -542,6 +543,469 @@ namespace WebCore { static void WindowSetLocation(DOMWindow*, const String&); }; +#else // MANUAL_MERGE_REQUIRED + class V8Custom { + public: + // Constants. + static const int kDOMWrapperTypeIndex = 0; + static const int kDOMWrapperObjectIndex = 1; + static const int kDefaultWrapperInternalFieldCount = 2; + + static const int kNPObjectInternalFieldCount = kDefaultWrapperInternalFieldCount + 0; + + static const int kNodeEventListenerCacheIndex = kDefaultWrapperInternalFieldCount + 0; + static const int kNodeMinimumInternalFieldCount = kDefaultWrapperInternalFieldCount + 1; + + static const int kDocumentImplementationIndex = kNodeMinimumInternalFieldCount + 0; + static const int kDocumentMinimumInternalFieldCount = kNodeMinimumInternalFieldCount + 1; + + static const int kHTMLDocumentMarkerIndex = kDocumentMinimumInternalFieldCount + 0; + static const int kHTMLDocumentShadowIndex = kDocumentMinimumInternalFieldCount + 1; + static const int kHTMLDocumentInternalFieldCount = kDocumentMinimumInternalFieldCount + 2; + + static const int kXMLHttpRequestCacheIndex = kDefaultWrapperInternalFieldCount + 0; + static const int kXMLHttpRequestInternalFieldCount = kDefaultWrapperInternalFieldCount + 1; + + static const int kMessageChannelPort1Index = kDefaultWrapperInternalFieldCount + 0; + static const int kMessageChannelPort2Index = kDefaultWrapperInternalFieldCount + 1; + static const int kMessageChannelInternalFieldCount = kDefaultWrapperInternalFieldCount + 2; + + static const int kMessagePortRequestCacheIndex = kDefaultWrapperInternalFieldCount + 0; + static const int kMessagePortEntangledPortIndex = kDefaultWrapperInternalFieldCount + 1; + static const int kMessagePortInternalFieldCount = kDefaultWrapperInternalFieldCount + 2; + +#if ENABLE(WORKERS) + static const int kWorkerRequestCacheIndex = kDefaultWrapperInternalFieldCount + 0; + static const int kWorkerInternalFieldCount = kDefaultWrapperInternalFieldCount + 1; + + static const int kWorkerContextRequestCacheIndex = kDefaultWrapperInternalFieldCount + 0; + static const int kWorkerContextMinimumInternalFieldCount = kDefaultWrapperInternalFieldCount + 1; + + static const int kDedicatedWorkerContextRequestCacheIndex = kWorkerContextMinimumInternalFieldCount + 0; + static const int kDedicatedWorkerContextInternalFieldCount = kWorkerContextMinimumInternalFieldCount + 1; + + static const int kAbstractWorkerRequestCacheIndex = kDefaultWrapperInternalFieldCount + 0; + static const int kAbstractWorkerInternalFieldCount = kDefaultWrapperInternalFieldCount + 1; +#endif + + static const int kDOMWindowConsoleIndex = kDefaultWrapperInternalFieldCount + 0; + static const int kDOMWindowHistoryIndex = kDefaultWrapperInternalFieldCount + 1; + static const int kDOMWindowLocationbarIndex = kDefaultWrapperInternalFieldCount + 2; + static const int kDOMWindowMenubarIndex = kDefaultWrapperInternalFieldCount + 3; + static const int kDOMWindowNavigatorIndex = kDefaultWrapperInternalFieldCount + 4; + static const int kDOMWindowPersonalbarIndex = kDefaultWrapperInternalFieldCount + 5; + static const int kDOMWindowScreenIndex = kDefaultWrapperInternalFieldCount + 6; + static const int kDOMWindowScrollbarsIndex = kDefaultWrapperInternalFieldCount + 7; + static const int kDOMWindowSelectionIndex = kDefaultWrapperInternalFieldCount + 8; + static const int kDOMWindowStatusbarIndex = kDefaultWrapperInternalFieldCount + 9; + static const int kDOMWindowToolbarIndex = kDefaultWrapperInternalFieldCount + 10; + static const int kDOMWindowLocationIndex = kDefaultWrapperInternalFieldCount + 11; + static const int kDOMWindowDOMSelectionIndex = kDefaultWrapperInternalFieldCount + 12; + static const int kDOMWindowInternalFieldCount = kDefaultWrapperInternalFieldCount + 13; + + static const int kStyleSheetOwnerNodeIndex = kDefaultWrapperInternalFieldCount + 0; + static const int kStyleSheetInternalFieldCount = kDefaultWrapperInternalFieldCount + 1; + +#if ENABLE(OFFLINE_WEB_APPLICATIONS) + static const int kDOMApplicationCacheCacheIndex = kDefaultWrapperInternalFieldCount + 0; + static const int kDOMApplicationCacheFieldCount = kDefaultWrapperInternalFieldCount + 1; +#endif + +#define DECLARE_PROPERTY_ACCESSOR_GETTER(NAME) \ + static v8::Handle<v8::Value> v8##NAME##AccessorGetter( \ + v8::Local<v8::String> name, const v8::AccessorInfo& info) + +#define DECLARE_PROPERTY_ACCESSOR_SETTER(NAME) \ + static void v8##NAME##AccessorSetter(v8::Local<v8::String> name, \ + v8::Local<v8::Value> value, const v8::AccessorInfo& info) + +#define DECLARE_PROPERTY_ACCESSOR(NAME) DECLARE_PROPERTY_ACCESSOR_GETTER(NAME); DECLARE_PROPERTY_ACCESSOR_SETTER(NAME) + +#define DECLARE_NAMED_PROPERTY_GETTER(NAME) \ + static v8::Handle<v8::Value> v8##NAME##NamedPropertyGetter( \ + v8::Local<v8::String> name, const v8::AccessorInfo& info) + +#define DECLARE_NAMED_PROPERTY_SETTER(NAME) \ + static v8::Handle<v8::Value> v8##NAME##NamedPropertySetter( \ + v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) + +#define DECLARE_NAMED_PROPERTY_DELETER(NAME) \ + static v8::Handle<v8::Boolean> v8##NAME##NamedPropertyDeleter( \ + v8::Local<v8::String> name, const v8::AccessorInfo& info) + +#define USE_NAMED_PROPERTY_GETTER(NAME) V8Custom::v8##NAME##NamedPropertyGetter + +#define USE_NAMED_PROPERTY_SETTER(NAME) V8Custom::v8##NAME##NamedPropertySetter + +#define USE_NAMED_PROPERTY_DELETER(NAME) V8Custom::v8##NAME##NamedPropertyDeleter + +#define DECLARE_INDEXED_PROPERTY_GETTER(NAME) \ + static v8::Handle<v8::Value> v8##NAME##IndexedPropertyGetter( \ + uint32_t index, const v8::AccessorInfo& info) + +#define DECLARE_INDEXED_PROPERTY_SETTER(NAME) \ + static v8::Handle<v8::Value> v8##NAME##IndexedPropertySetter( \ + uint32_t index, v8::Local<v8::Value> value, const v8::AccessorInfo& info) + +#define DECLARE_INDEXED_PROPERTY_DELETER(NAME) \ + static v8::Handle<v8::Boolean> v8##NAME##IndexedPropertyDeleter( \ + uint32_t index, const v8::AccessorInfo& info) + +#define USE_INDEXED_PROPERTY_GETTER(NAME) V8Custom::v8##NAME##IndexedPropertyGetter + +#define USE_INDEXED_PROPERTY_SETTER(NAME) V8Custom::v8##NAME##IndexedPropertySetter + +#define USE_INDEXED_PROPERTY_DELETER(NAME) V8Custom::v8##NAME##IndexedPropertyDeleter + +#define DECLARE_CALLBACK(NAME) static v8::Handle<v8::Value> v8##NAME##Callback(const v8::Arguments& args) + +#define USE_CALLBACK(NAME) V8Custom::v8##NAME##Callback + +#define DECLARE_NAMED_ACCESS_CHECK(NAME) \ + static bool v8##NAME##NamedSecurityCheck(v8::Local<v8::Object> host, \ + v8::Local<v8::Value> key, v8::AccessType type, v8::Local<v8::Value> data) + +#define DECLARE_INDEXED_ACCESS_CHECK(NAME) \ + static bool v8##NAME##IndexedSecurityCheck(v8::Local<v8::Object> host, \ + uint32_t index, v8::AccessType type, v8::Local<v8::Value> data) + + DECLARE_PROPERTY_ACCESSOR(CanvasRenderingContext2DStrokeStyle); + DECLARE_PROPERTY_ACCESSOR(CanvasRenderingContext2DFillStyle); + DECLARE_PROPERTY_ACCESSOR_GETTER(DOMWindowEvent); + DECLARE_PROPERTY_ACCESSOR_GETTER(DOMWindowCrypto); + DECLARE_PROPERTY_ACCESSOR_SETTER(DOMWindowLocation); + DECLARE_PROPERTY_ACCESSOR_SETTER(DOMWindowOpener); + + DECLARE_PROPERTY_ACCESSOR(DocumentLocation); + DECLARE_PROPERTY_ACCESSOR(DocumentImplementation); + DECLARE_PROPERTY_ACCESSOR_GETTER(EventSrcElement); + DECLARE_PROPERTY_ACCESSOR(EventReturnValue); + DECLARE_PROPERTY_ACCESSOR_GETTER(EventDataTransfer); + DECLARE_PROPERTY_ACCESSOR_GETTER(EventClipboardData); + + DECLARE_PROPERTY_ACCESSOR(DOMWindowEventHandler); + DECLARE_PROPERTY_ACCESSOR(NodeEventHandler); + + DECLARE_CALLBACK(HTMLCanvasElementGetContext); + + DECLARE_PROPERTY_ACCESSOR_SETTER(HTMLFrameElementSrc); + DECLARE_PROPERTY_ACCESSOR_SETTER(HTMLFrameElementLocation); + DECLARE_PROPERTY_ACCESSOR_SETTER(HTMLIFrameElementSrc); + + DECLARE_PROPERTY_ACCESSOR_SETTER(AttrValue); + + DECLARE_PROPERTY_ACCESSOR(HTMLOptionsCollectionLength); + + DECLARE_CALLBACK(HTMLInputElementSetSelectionRange); + + DECLARE_PROPERTY_ACCESSOR(HTMLInputElementSelectionStart); + DECLARE_PROPERTY_ACCESSOR(HTMLInputElementSelectionEnd); + + DECLARE_NAMED_ACCESS_CHECK(Location); + DECLARE_INDEXED_ACCESS_CHECK(History); + + DECLARE_NAMED_ACCESS_CHECK(History); + DECLARE_INDEXED_ACCESS_CHECK(Location); + + DECLARE_CALLBACK(HTMLCollectionItem); + DECLARE_CALLBACK(HTMLCollectionNamedItem); + DECLARE_CALLBACK(HTMLCollectionCallAsFunction); + + DECLARE_CALLBACK(HTMLSelectElementRemove); + + DECLARE_CALLBACK(HTMLOptionsCollectionRemove); + DECLARE_CALLBACK(HTMLOptionsCollectionAdd); + + DECLARE_CALLBACK(HTMLDocumentWrite); + DECLARE_CALLBACK(HTMLDocumentWriteln); + DECLARE_CALLBACK(HTMLDocumentOpen); + DECLARE_PROPERTY_ACCESSOR(HTMLDocumentAll); + DECLARE_NAMED_PROPERTY_GETTER(HTMLDocument); + DECLARE_NAMED_PROPERTY_DELETER(HTMLDocument); + + DECLARE_CALLBACK(DocumentEvaluate); + DECLARE_CALLBACK(DocumentGetCSSCanvasContext); + + DECLARE_CALLBACK(DOMWindowAddEventListener); + DECLARE_CALLBACK(DOMWindowRemoveEventListener); + DECLARE_CALLBACK(DOMWindowPostMessage); + DECLARE_CALLBACK(DOMWindowSetTimeout); + DECLARE_CALLBACK(DOMWindowSetInterval); + DECLARE_CALLBACK(DOMWindowAtob); + DECLARE_CALLBACK(DOMWindowBtoa); + DECLARE_CALLBACK(DOMWindowNOP); + DECLARE_CALLBACK(DOMWindowToString); + DECLARE_CALLBACK(DOMWindowShowModalDialog); + DECLARE_CALLBACK(DOMWindowOpen); + DECLARE_CALLBACK(DOMWindowClearTimeout); + DECLARE_CALLBACK(DOMWindowClearInterval); + + DECLARE_CALLBACK(DOMParserConstructor); + DECLARE_CALLBACK(HTMLAudioElementConstructor); + DECLARE_CALLBACK(HTMLImageElementConstructor); + DECLARE_CALLBACK(HTMLOptionElementConstructor); + DECLARE_CALLBACK(MessageChannelConstructor); + DECLARE_CALLBACK(WebKitCSSMatrixConstructor); + DECLARE_CALLBACK(WebKitPointConstructor); + DECLARE_CALLBACK(XMLHttpRequestConstructor); + DECLARE_CALLBACK(XMLSerializerConstructor); + DECLARE_CALLBACK(XPathEvaluatorConstructor); + DECLARE_CALLBACK(XSLTProcessorConstructor); + + DECLARE_CALLBACK(XSLTProcessorImportStylesheet); + DECLARE_CALLBACK(XSLTProcessorTransformToFragment); + DECLARE_CALLBACK(XSLTProcessorTransformToDocument); + DECLARE_CALLBACK(XSLTProcessorSetParameter); + DECLARE_CALLBACK(XSLTProcessorGetParameter); + DECLARE_CALLBACK(XSLTProcessorRemoveParameter); + + DECLARE_CALLBACK(CSSPrimitiveValueGetRGBColorValue); + + DECLARE_CALLBACK(CanvasRenderingContext2DSetStrokeColor); + DECLARE_CALLBACK(CanvasRenderingContext2DSetFillColor); + DECLARE_CALLBACK(CanvasRenderingContext2DStrokeRect); + DECLARE_CALLBACK(CanvasRenderingContext2DSetShadow); + DECLARE_CALLBACK(CanvasRenderingContext2DDrawImage); + DECLARE_CALLBACK(CanvasRenderingContext2DDrawImageFromRect); + DECLARE_CALLBACK(CanvasRenderingContext2DCreatePattern); + DECLARE_CALLBACK(CanvasRenderingContext2DFillText); + DECLARE_CALLBACK(CanvasRenderingContext2DStrokeText); + DECLARE_CALLBACK(CanvasRenderingContext2DPutImageData); + + DECLARE_PROPERTY_ACCESSOR_GETTER(ClipboardTypes); + DECLARE_CALLBACK(ClipboardClearData); + DECLARE_CALLBACK(ClipboardGetData); + DECLARE_CALLBACK(ClipboardSetData); + DECLARE_CALLBACK(ClipboardSetDragImage); + + DECLARE_CALLBACK(ElementQuerySelector); + DECLARE_CALLBACK(ElementQuerySelectorAll); + DECLARE_CALLBACK(ElementSetAttribute); + DECLARE_CALLBACK(ElementSetAttributeNode); + DECLARE_CALLBACK(ElementSetAttributeNS); + DECLARE_CALLBACK(ElementSetAttributeNodeNS); + + DECLARE_PROPERTY_ACCESSOR_SETTER(LocationProtocol); + DECLARE_PROPERTY_ACCESSOR_SETTER(LocationHost); + DECLARE_PROPERTY_ACCESSOR_SETTER(LocationHostname); + DECLARE_PROPERTY_ACCESSOR_SETTER(LocationPort); + DECLARE_PROPERTY_ACCESSOR_SETTER(LocationPathname); + DECLARE_PROPERTY_ACCESSOR_SETTER(LocationSearch); + DECLARE_PROPERTY_ACCESSOR_SETTER(LocationHash); + DECLARE_PROPERTY_ACCESSOR_SETTER(LocationHref); + DECLARE_PROPERTY_ACCESSOR_GETTER(LocationAssign); + DECLARE_PROPERTY_ACCESSOR_GETTER(LocationReplace); + DECLARE_PROPERTY_ACCESSOR_GETTER(LocationReload); + DECLARE_CALLBACK(LocationAssign); + DECLARE_CALLBACK(LocationReplace); + DECLARE_CALLBACK(LocationReload); + DECLARE_CALLBACK(LocationToString); + DECLARE_CALLBACK(LocationValueOf); + + DECLARE_CALLBACK(NodeAddEventListener); + DECLARE_CALLBACK(NodeRemoveEventListener); + DECLARE_CALLBACK(NodeInsertBefore); + DECLARE_CALLBACK(NodeReplaceChild); + DECLARE_CALLBACK(NodeRemoveChild); + DECLARE_CALLBACK(NodeAppendChild); + + // We actually only need this because WebKit has + // navigator.appVersion as custom. Our version just + // passes through. + DECLARE_PROPERTY_ACCESSOR(NavigatorAppVersion); + + DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestOnabort); + DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestOnerror); + DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestOnload); + DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestOnloadstart); + DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestOnprogress); + DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestOnreadystatechange); + DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestResponseText); + DECLARE_CALLBACK(XMLHttpRequestAddEventListener); + DECLARE_CALLBACK(XMLHttpRequestRemoveEventListener); + DECLARE_CALLBACK(XMLHttpRequestOpen); + DECLARE_CALLBACK(XMLHttpRequestSend); + DECLARE_CALLBACK(XMLHttpRequestSetRequestHeader); + DECLARE_CALLBACK(XMLHttpRequestGetResponseHeader); + DECLARE_CALLBACK(XMLHttpRequestOverrideMimeType); + DECLARE_CALLBACK(XMLHttpRequestDispatchEvent); + + DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestUploadOnabort); + DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestUploadOnerror); + DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestUploadOnload); + DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestUploadOnloadstart); + DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestUploadOnprogress); + DECLARE_CALLBACK(XMLHttpRequestUploadAddEventListener); + DECLARE_CALLBACK(XMLHttpRequestUploadRemoveEventListener); + DECLARE_CALLBACK(XMLHttpRequestUploadDispatchEvent); + + DECLARE_CALLBACK(TreeWalkerParentNode); + DECLARE_CALLBACK(TreeWalkerFirstChild); + DECLARE_CALLBACK(TreeWalkerLastChild); + DECLARE_CALLBACK(TreeWalkerNextNode); + DECLARE_CALLBACK(TreeWalkerPreviousNode); + DECLARE_CALLBACK(TreeWalkerNextSibling); + DECLARE_CALLBACK(TreeWalkerPreviousSibling); + + DECLARE_CALLBACK(InspectorBackendProfiles); + DECLARE_CALLBACK(InspectorBackendHighlightDOMNode); + DECLARE_CALLBACK(InspectorBackendAddResourceSourceToFrame); + DECLARE_CALLBACK(InspectorBackendAddSourceToFrame); + DECLARE_CALLBACK(InspectorBackendSearch); + DECLARE_CALLBACK(InspectorBackendSetting); + DECLARE_CALLBACK(InspectorBackendInspectedWindow); + DECLARE_CALLBACK(InspectorBackendSetSetting); + DECLARE_CALLBACK(InspectorBackendCurrentCallFrame); + DECLARE_CALLBACK(InspectorBackendDebuggerEnabled); + DECLARE_CALLBACK(InspectorBackendPauseOnExceptions); + DECLARE_CALLBACK(InspectorBackendProfilerEnabled); +#if ENABLE(DATABASE) + DECLARE_CALLBACK(InspectorBackendDatabaseTableNames); +#endif + DECLARE_CALLBACK(InspectorBackendWrapCallback); + + DECLARE_CALLBACK(NodeIteratorNextNode); + DECLARE_CALLBACK(NodeIteratorPreviousNode); + + DECLARE_CALLBACK(NodeFilterAcceptNode); + + DECLARE_CALLBACK(HTMLFormElementSubmit); + + DECLARE_NAMED_PROPERTY_GETTER(DOMWindow); + DECLARE_INDEXED_PROPERTY_GETTER(DOMWindow); + DECLARE_NAMED_ACCESS_CHECK(DOMWindow); + DECLARE_INDEXED_ACCESS_CHECK(DOMWindow); + + DECLARE_NAMED_PROPERTY_GETTER(HTMLFrameSetElement); + DECLARE_NAMED_PROPERTY_GETTER(HTMLFormElement); + DECLARE_NAMED_PROPERTY_GETTER(NodeList); + DECLARE_NAMED_PROPERTY_GETTER(NamedNodeMap); + DECLARE_NAMED_PROPERTY_GETTER(CSSStyleDeclaration); + DECLARE_NAMED_PROPERTY_SETTER(CSSStyleDeclaration); + DECLARE_NAMED_PROPERTY_GETTER(HTMLPlugInElement); + DECLARE_NAMED_PROPERTY_SETTER(HTMLPlugInElement); + DECLARE_INDEXED_PROPERTY_GETTER(HTMLPlugInElement); + DECLARE_INDEXED_PROPERTY_SETTER(HTMLPlugInElement); + + DECLARE_CALLBACK(HTMLPlugInElement); + + DECLARE_NAMED_PROPERTY_GETTER(StyleSheetList); + DECLARE_INDEXED_PROPERTY_GETTER(NamedNodeMap); + DECLARE_INDEXED_PROPERTY_GETTER(HTMLFormElement); + DECLARE_INDEXED_PROPERTY_GETTER(HTMLOptionsCollection); + DECLARE_INDEXED_PROPERTY_SETTER(HTMLOptionsCollection); + DECLARE_NAMED_PROPERTY_GETTER(HTMLSelectElementCollection); + DECLARE_INDEXED_PROPERTY_SETTER(HTMLSelectElementCollection); + DECLARE_NAMED_PROPERTY_GETTER(HTMLCollection); + + DECLARE_INDEXED_PROPERTY_GETTER(CanvasPixelArray); + DECLARE_INDEXED_PROPERTY_SETTER(CanvasPixelArray); + + DECLARE_PROPERTY_ACCESSOR(MessagePortOnmessage); + DECLARE_PROPERTY_ACCESSOR(MessagePortOnclose); + DECLARE_CALLBACK(MessagePortStartConversation); + DECLARE_CALLBACK(MessagePortAddEventListener); + DECLARE_CALLBACK(MessagePortRemoveEventListener); + + DECLARE_CALLBACK(DatabaseChangeVersion); + DECLARE_CALLBACK(DatabaseTransaction); + DECLARE_CALLBACK(SQLTransactionExecuteSql); + DECLARE_CALLBACK(SQLResultSetRowListItem); + + DECLARE_INDEXED_PROPERTY_GETTER(ClientRectList); + +#if ENABLE(DATAGRID) + DECLARE_PROPERTY_ACCESSOR(HTMLDataGridElementDataSource); + DECLARE_INDEXED_PROPERTY_GETTER(DataGridColumnList); + DECLARE_NAMED_PROPERTY_GETTER(DataGridColumnList); +#endif + +#if ENABLE(DOM_STORAGE) + DECLARE_INDEXED_PROPERTY_GETTER(Storage); + DECLARE_INDEXED_PROPERTY_SETTER(Storage); + DECLARE_INDEXED_PROPERTY_DELETER(Storage); + DECLARE_NAMED_PROPERTY_GETTER(Storage); + DECLARE_NAMED_PROPERTY_SETTER(Storage); + DECLARE_NAMED_PROPERTY_DELETER(Storage); + static v8::Handle<v8::Array> v8StorageNamedPropertyEnumerator(const v8::AccessorInfo& info); +#endif + +#if ENABLE(SVG) + DECLARE_PROPERTY_ACCESSOR_GETTER(SVGLengthValue); + DECLARE_CALLBACK(SVGLengthConvertToSpecifiedUnits); + DECLARE_CALLBACK(SVGMatrixInverse); + DECLARE_CALLBACK(SVGMatrixRotateFromVector); + DECLARE_CALLBACK(SVGElementInstanceAddEventListener); + DECLARE_CALLBACK(SVGElementInstanceRemoveEventListener); +#endif + +#if ENABLE(WORKERS) + DECLARE_PROPERTY_ACCESSOR(AbstractWorkerOnerror); + DECLARE_CALLBACK(AbstractWorkerAddEventListener); + DECLARE_CALLBACK(AbstractWorkerRemoveEventListener); + + DECLARE_PROPERTY_ACCESSOR(DedicatedWorkerContextOnmessage); + + DECLARE_PROPERTY_ACCESSOR(WorkerOnmessage); + DECLARE_CALLBACK(WorkerConstructor); + + DECLARE_PROPERTY_ACCESSOR_GETTER(WorkerContextSelf); + DECLARE_PROPERTY_ACCESSOR(WorkerContextOnerror); + DECLARE_CALLBACK(WorkerContextImportScripts); + DECLARE_CALLBACK(WorkerContextSetTimeout); + DECLARE_CALLBACK(WorkerContextClearTimeout); + DECLARE_CALLBACK(WorkerContextSetInterval); + DECLARE_CALLBACK(WorkerContextClearInterval); + DECLARE_CALLBACK(WorkerContextAddEventListener); + DECLARE_CALLBACK(WorkerContextRemoveEventListener); +#endif + +#if ENABLE(OFFLINE_WEB_APPLICATIONS) + DECLARE_PROPERTY_ACCESSOR(DOMApplicationCacheEventHandler); + DECLARE_CALLBACK(DOMApplicationCacheAddEventListener); + DECLARE_CALLBACK(DOMApplicationCacheRemoveEventListener); +#endif + +#if ENABLE(SHARED_WORKERS) + DECLARE_CALLBACK(SharedWorkerConstructor); +#endif + +#undef DECLARE_INDEXED_ACCESS_CHECK +#undef DECLARE_NAMED_ACCESS_CHECK + +#undef DECLARE_PROPERTY_ACCESSOR_SETTER +#undef DECLARE_PROPERTY_ACCESSOR_GETTER +#undef DECLARE_PROPERTY_ACCESSOR + +#undef DECLARE_NAMED_PROPERTY_GETTER +#undef DECLARE_NAMED_PROPERTY_SETTER +#undef DECLARE_NAMED_PROPERTY_DELETER + +#undef DECLARE_INDEXED_PROPERTY_GETTER +#undef DECLARE_INDEXED_PROPERTY_SETTER +#undef DECLARE_INDEXED_PROPERTY_DELETER + +#undef DECLARE_CALLBACK + + // Returns the NPObject corresponding to an HTMLElement object. + static NPObject* GetHTMLPlugInElementNPObject(v8::Handle<v8::Object>); + + // Returns the owner frame pointer of a DOM wrapper object. It only works for + // these DOM objects requiring cross-domain access check. + static Frame* GetTargetFrame(v8::Local<v8::Object> host, v8::Local<v8::Value> data); + + // Special case for downcasting SVG path segments. +#if ENABLE(SVG) + static V8ClassIndex::V8WrapperType DowncastSVGPathSeg(void* pathSeg); +#endif + + private: + static v8::Handle<v8::Value> WindowSetTimeoutImpl(const v8::Arguments&, bool singleShot); + static void ClearTimeoutImpl(const v8::Arguments&); + static void WindowSetLocation(DOMWindow*, const String&); + }; + +#endif // MANUAL_MERGE_REQUIRED } // namespace WebCore #endif // V8CustomBinding_h |