diff options
Diffstat (limited to 'WebCore/bindings/v8/custom')
-rw-r--r-- | WebCore/bindings/v8/custom/V8CustomBinding.h | 13 | ||||
-rw-r--r-- | WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp | 25 | ||||
-rw-r--r-- | WebCore/bindings/v8/custom/V8InspectorBackendCustom.cpp | 120 |
3 files changed, 8 insertions, 150 deletions
diff --git a/WebCore/bindings/v8/custom/V8CustomBinding.h b/WebCore/bindings/v8/custom/V8CustomBinding.h index 945dcbb..80fed1d 100644 --- a/WebCore/bindings/v8/custom/V8CustomBinding.h +++ b/WebCore/bindings/v8/custom/V8CustomBinding.h @@ -218,7 +218,7 @@ namespace WebCore { DECLARE_PROPERTY_ACCESSOR(CanvasRenderingContext2DStrokeStyle); DECLARE_PROPERTY_ACCESSOR(CanvasRenderingContext2DFillStyle); - DECLARE_PROPERTY_ACCESSOR(DOMWindowEvent); + DECLARE_PROPERTY_ACCESSOR_GETTER(DOMWindowEvent); DECLARE_PROPERTY_ACCESSOR_GETTER(DOMWindowCrypto); DECLARE_PROPERTY_ACCESSOR_SETTER(DOMWindowLocation); DECLARE_PROPERTY_ACCESSOR_SETTER(DOMWindowOpener); @@ -402,23 +402,12 @@ namespace WebCore { DECLARE_CALLBACK(InspectorBackendSetting); DECLARE_CALLBACK(InspectorBackendInspectedWindow); DECLARE_CALLBACK(InspectorBackendSetSetting); - DECLARE_CALLBACK(InspectorBackendCookies); - DECLARE_CALLBACK(InspectorBackendDeleteCookie); DECLARE_CALLBACK(InspectorBackendCurrentCallFrame); DECLARE_CALLBACK(InspectorBackendDebuggerEnabled); DECLARE_CALLBACK(InspectorBackendPauseOnExceptions); DECLARE_CALLBACK(InspectorBackendProfilerEnabled); - DECLARE_CALLBACK(InspectorBackendNodeForId); - DECLARE_CALLBACK(InspectorBackendIdForNode); - DECLARE_CALLBACK(InspectorBackendWrapObject); - DECLARE_CALLBACK(InspectorBackendUnwrapObject); - DECLARE_CALLBACK(InspectorBackendPushNodePathToFrontend); #if ENABLE(DATABASE) DECLARE_CALLBACK(InspectorBackendDatabaseTableNames); - DECLARE_CALLBACK(InspectorBackendSelectDatabase); -#endif -#if ENABLE(DOM_STORAGE) - DECLARE_CALLBACK(InspectorBackendSelectDOMStorage); #endif DECLARE_CALLBACK(InspectorBackendWrapCallback); diff --git a/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp b/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp index 13d40bc..7d0b9e6 100644 --- a/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp +++ b/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp @@ -145,37 +145,14 @@ static v8::Handle<v8::Value> convertBase64(const String& str, bool encode) ACCESSOR_GETTER(DOMWindowEvent) { - v8::Handle<v8::Object> holder = V8DOMWrapper::lookupDOMWrapper(V8ClassIndex::DOMWINDOW, info.This()); - if (holder.IsEmpty()) - return v8::Undefined(); - - Frame* frame = V8DOMWrapper::convertToNativeObject<DOMWindow>(V8ClassIndex::DOMWINDOW, holder)->frame(); - if (!frame || !V8Proxy::canAccessFrame(frame, true)) - return v8::Undefined(); - - v8::Local<v8::Context> context = V8Proxy::context(frame); v8::Local<v8::String> eventSymbol = v8::String::NewSymbol("event"); + v8::Local<v8::Context> context = v8::Context::GetCurrent(); v8::Handle<v8::Value> jsEvent = context->Global()->GetHiddenValue(eventSymbol); if (jsEvent.IsEmpty()) return v8::Undefined(); return jsEvent; } -ACCESSOR_SETTER(DOMWindowEvent) -{ - v8::Handle<v8::Object> holder = V8DOMWrapper::lookupDOMWrapper(V8ClassIndex::DOMWINDOW, info.This()); - if (holder.IsEmpty()) - return; - - Frame* frame = V8DOMWrapper::convertToNativeObject<DOMWindow>(V8ClassIndex::DOMWINDOW, holder)->frame(); - if (!frame || !V8Proxy::canAccessFrame(frame, true)) - return; - - v8::Local<v8::Context> context = V8Proxy::context(frame); - v8::Local<v8::String> eventSymbol = v8::String::NewSymbol("event"); - context->Global()->SetHiddenValue(eventSymbol, value); -} - ACCESSOR_GETTER(DOMWindowCrypto) { // FIXME: Implement me. diff --git a/WebCore/bindings/v8/custom/V8InspectorBackendCustom.cpp b/WebCore/bindings/v8/custom/V8InspectorBackendCustom.cpp index cb9b3a9..2571df4 100644 --- a/WebCore/bindings/v8/custom/V8InspectorBackendCustom.cpp +++ b/WebCore/bindings/v8/custom/V8InspectorBackendCustom.cpp @@ -57,8 +57,13 @@ CALLBACK_FUNC_DECL(InspectorBackendHighlightDOMNode) if (args.Length() < 1) return v8::Undefined(); + Node* node = V8DOMWrapper::convertDOMWrapperToNode<Node>(v8::Handle<v8::Object>::Cast(args[0])); + if (!node) + return v8::Undefined(); + InspectorBackend* inspectorBackend = V8DOMWrapper::convertToNativeObject<InspectorBackend>(V8ClassIndex::INSPECTORBACKEND, args.Holder()); - inspectorBackend->highlight(args[0]->ToInt32()->Value()); + inspectorBackend->highlight(node); + return v8::Undefined(); } @@ -204,123 +209,10 @@ CALLBACK_FUNC_DECL(InspectorBackendSetSetting) return v8::Undefined(); } -CALLBACK_FUNC_DECL(InspectorBackendCookies) -{ - INC_STATS("InspectorBackend.cookies()"); - // FIXME: Not yet implemented. - return v8::Undefined(); -} - -CALLBACK_FUNC_DECL(InspectorBackendDeleteCookie) -{ - INC_STATS("InspectorBackend.deleteCookie()"); - // FIXME: Not yet implemented. (see WebCore/bindings/js/JSInspectorBackendCustom.cpp#deleteCookie) - return v8::Undefined(); -} - CALLBACK_FUNC_DECL(InspectorBackendWrapCallback) { INC_STATS("InspectorBackend.wrapCallback()"); return args[0]; } -CALLBACK_FUNC_DECL(InspectorBackendNodeForId) -{ - INC_STATS("InspectorBackend.nodeForId()"); - if (args.Length() < 1) - return v8::Undefined(); - - InspectorBackend* inspectorBackend = V8DOMWrapper::convertToNativeObject<InspectorBackend>(V8ClassIndex::INSPECTORBACKEND, args.Holder()); - - Node* node = inspectorBackend->nodeForId(args[0]->ToInt32()->Value()); - if (!node) - return v8::Undefined(); - - InspectorController* ic = inspectorBackend->inspectorController(); - if (!ic) - return v8::Undefined(); - - return V8DOMWrapper::convertToV8Object(V8ClassIndex::NODE, node); -} - -CALLBACK_FUNC_DECL(InspectorBackendIdForNode) -{ - INC_STATS("InspectorBackend.idForNode()"); - if (args.Length() < 1) - return v8::Undefined(); - - InspectorBackend* inspectorBackend = V8DOMWrapper::convertToNativeObject<InspectorBackend>(V8ClassIndex::INSPECTORBACKEND, args.Holder()); - Node* node = V8DOMWrapper::convertDOMWrapperToNode<Node>(v8::Handle<v8::Object>::Cast(args[0])); - if (node) - return v8::Number::New(inspectorBackend->idForNode(node)); - return v8::Undefined(); -} - -CALLBACK_FUNC_DECL(InspectorBackendWrapObject) -{ - INC_STATS("InspectorBackend.wrapObject()"); - if (args.Length() < 1) - return v8::Undefined(); - - InspectorBackend* inspectorBackend = V8DOMWrapper::convertToNativeObject<InspectorBackend>(V8ClassIndex::INSPECTORBACKEND, args.Holder()); - return inspectorBackend->wrapObject(ScriptValue(args[0])).v8Value(); -} - -CALLBACK_FUNC_DECL(InspectorBackendUnwrapObject) -{ - INC_STATS("InspectorBackend.unwrapObject()"); - if (args.Length() < 1) - return v8::Undefined(); - - InspectorBackend* inspectorBackend = V8DOMWrapper::convertToNativeObject<InspectorBackend>(V8ClassIndex::INSPECTORBACKEND, args.Holder()); - return inspectorBackend->unwrapObject(toWebCoreStringWithNullCheck(args[0])).v8Value(); -} - -CALLBACK_FUNC_DECL(InspectorBackendPushNodePathToFrontend) -{ - INC_STATS("InspectorBackend.pushNodePathToFrontend()"); - if (args.Length() < 2) - return v8::Undefined(); - - InspectorBackend* inspectorBackend = V8DOMWrapper::convertToNativeObject<InspectorBackend>(V8ClassIndex::INSPECTORBACKEND, args.Holder()); - Node* node = V8DOMWrapper::convertDOMWrapperToNode<Node>(v8::Handle<v8::Object>::Cast(args[0])); - bool selectInUI = args[1]->ToBoolean()->Value(); - if (node) - return v8::Number::New(inspectorBackend->pushNodePathToFrontend(node, selectInUI)); - - return v8::Undefined(); -} - -#if ENABLE(DATABASE) -CALLBACK_FUNC_DECL(InspectorBackendSelectDatabase) -{ - INC_STATS("InspectorBackend.selectDatabase()"); - if (args.Length() < 1) - return v8::Undefined(); - - InspectorBackend* inspectorBackend = V8DOMWrapper::convertToNativeObject<InspectorBackend>(V8ClassIndex::INSPECTORBACKEND, args.Holder()); - Database* database = V8DOMWrapper::convertToNativeObject<Database>(V8ClassIndex::DATABASE, v8::Handle<v8::Object>::Cast(args[0])); - if (database) - inspectorBackend->selectDatabase(database); - - return v8::Undefined(); -} -#endif - -#if ENABLE(DOM_STORAGE) -CALLBACK_FUNC_DECL(InspectorBackendSelectDOMStorage) -{ - INC_STATS("InspectorBackend.selectDOMStorage()"); - if (args.Length() < 1) - return v8::Undefined(); - - InspectorBackend* inspectorBackend = V8DOMWrapper::convertToNativeObject<InspectorBackend>(V8ClassIndex::INSPECTORBACKEND, args.Holder()); - Storage* storage = V8DOMWrapper::convertToNativeObject<Storage>(V8ClassIndex::STORAGE, v8::Handle<v8::Object>::Cast(args[0])); - if (storage) - inspectorBackend->selectDOMStorage(storage); - - return v8::Undefined(); -} -#endif - } // namespace WebCore |