From bc2eac1ef3e6902f8fed65f72b70b582f93bcb19 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Wed, 7 Sep 2011 10:51:39 +1000 Subject: Update V8 This fixes a few bugs in QML mode name resolution and simplifies our V8 patchset a little by folding some patches together. Change-Id: Ia528a43ac8ccad95ac81bcdff5d05aaeab4b48b2 Reviewed-on: http://codereview.qt.nokia.com/4294 Reviewed-by: Aaron Kennedy --- ...d-IsCallable-method-for-Object-in-the-API.patch | 27 +++++++++++----------- 1 file changed, 13 insertions(+), 14 deletions(-) (limited to 'src/v8/0012-Add-IsCallable-method-for-Object-in-the-API.patch') diff --git a/src/v8/0012-Add-IsCallable-method-for-Object-in-the-API.patch b/src/v8/0012-Add-IsCallable-method-for-Object-in-the-API.patch index 426458dafc..a73bfe35f5 100644 --- a/src/v8/0012-Add-IsCallable-method-for-Object-in-the-API.patch +++ b/src/v8/0012-Add-IsCallable-method-for-Object-in-the-API.patch @@ -1,8 +1,7 @@ -From 472c04c9e7a64e8734c76d2cf97a7cc5b773b788 Mon Sep 17 00:00:00 2001 -From: "ager@chromium.org" - +From a338d96fe138fbffd4b45c7d13a54e068daa6e12 Mon Sep 17 00:00:00 2001 +From: ager@chromium.org Date: Mon, 9 May 2011 15:24:48 +0000 -Subject: [PATCH 12/16] Add IsCallable method for Object in the API +Subject: [PATCH 12/14] Add IsCallable method for Object in the API Patch by Peter Varga. @@ -19,12 +18,12 @@ git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@7828 ce2b1a6d-e 3 files changed, 61 insertions(+), 0 deletions(-) diff --git a/include/v8.h b/include/v8.h -index 08b0ec2..4194d4a 100644 +index 43e00f5..5e1ce50 100644 --- a/include/v8.h +++ b/include/v8.h -@@ -1763,6 +1763,13 @@ class Object : public Value { +@@ -1764,6 +1764,13 @@ class Object : public Value { V8EXPORT int GetIndexedPropertiesExternalArrayDataLength(); - + /** + * Checks whether a callback is set by the + * ObjectTemplate::SetCallAsFunctionHandler method. @@ -33,7 +32,7 @@ index 08b0ec2..4194d4a 100644 + V8EXPORT bool IsCallable(); + + /** - * Call an Object as a function if a callback is set by the + * Call an Object as a function if a callback is set by the * ObjectTemplate::SetCallAsFunctionHandler method. */ diff --git a/src/api.cc b/src/api.cc @@ -42,8 +41,8 @@ index bd435eb..a5a637f 100644 +++ b/src/api.cc @@ -3265,6 +3265,17 @@ int v8::Object::GetIndexedPropertiesExternalArrayDataLength() { } - - + + +bool v8::Object::IsCallable() { + i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); + ON_BAILOUT(isolate, "v8::Object::IsCallable()", return false); @@ -64,8 +63,8 @@ index 1334f63..45db5a1 100644 +++ b/test/cctest/test-api.cc @@ -7263,6 +7263,49 @@ THREADED_TEST(CallAsFunction) { } - - + + +// Check whether a non-function object is callable. +THREADED_TEST(CallableObject) { + v8::HandleScope scope; @@ -112,6 +111,6 @@ index 1334f63..45db5a1 100644 static int CountHandles() { return v8::HandleScope::NumberOfHandles(); } --- -1.7.6 +-- +1.7.4.4 -- cgit v1.2.3