Changeset 15043 in webkit for trunk/JavaScriptCore/API
- Timestamp:
- Jun 25, 2006, 8:12:18 PM (19 years ago)
- Location:
- trunk/JavaScriptCore/API
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/API/JSObjectRef.cpp
r14986 r15043 77 77 } 78 78 79 JSObjectRef JSConstructorMake(JSContextRef context, JSCallAsConstructorCallback callback) 80 { 81 ExecState* exec = toJS(context); 82 JSObjectCallbacks callbacks = kJSObjectCallbacksNone; 83 callbacks.callAsConstructor = callback; 84 85 return JSObjectMake(context, &callbacks, toRef(exec->lexicalInterpreter()->builtinObjectPrototype())); 86 } 87 79 88 JSCharBufferRef JSObjectGetDescription(JSObjectRef object) 80 89 { -
trunk/JavaScriptCore/API/JSObjectRef.h
r14951 r15043 98 98 // Will be assigned the built-in function prototype 99 99 JSObjectRef JSFunctionMake(JSContextRef context, JSCallAsFunctionCallback callback); 100 // Will be assigned the built-in object prototype 101 JSObjectRef JSConstructorMake(JSContextRef context, JSCallAsConstructorCallback callback); 100 102 101 103 JSCharBufferRef JSObjectGetDescription(JSObjectRef object); -
trunk/JavaScriptCore/API/testapi.c
r14954 r15043 285 285 } 286 286 287 static JSObjectRef myConstructor_callAsConstructor(JSContextRef context, JSObjectRef constructorObject, size_t argc, JSValueRef argv[]) 288 { 289 UNUSED_PARAM(constructorObject); 290 291 JSObjectRef result = JSObjectMake(context, &kJSObjectCallbacksNone, 0); 292 if (argc > 0) { 293 JSCharBufferRef valueBuffer = JSCharBufferCreateUTF8("value"); 294 JSObjectSetProperty(context, result, valueBuffer, argv[0], kJSPropertyAttributeNone); 295 JSCharBufferRelease(valueBuffer); 296 } 297 298 return result; 299 } 300 287 301 static char* createStringWithContentsOfFile(const char* fileName); 288 302 … … 502 516 JSObjectSetProperty(context, globalObject, printBuf, JSFunctionMake(context, print_callAsFunction), kJSPropertyAttributeNone); 503 517 JSCharBufferRelease(printBuf); 518 519 JSCharBufferRef myConstructorBuf = JSCharBufferCreateUTF8("MyConstructor"); 520 JSObjectSetProperty(context, globalObject, myConstructorBuf, JSConstructorMake(context, myConstructor_callAsConstructor), kJSPropertyAttributeNone); 521 JSCharBufferRelease(myConstructorBuf); 504 522 505 523 char* script = createStringWithContentsOfFile("testapi.js"); -
trunk/JavaScriptCore/API/testapi.js
r14951 r15043 77 77 shouldBe("(MyObject + '').indexOf('MyObject') != -1", true); // toString 78 78 shouldBe("MyObject - 0", NaN); // toPrimitive 79 80 shouldBe("typeof MyConstructor", "object"); 81 constructedObject = new MyConstructor(1); 82 shouldBe("typeof constructedObject", "object"); 83 shouldBe("constructedObject.value", 1);
Note:
See TracChangeset
for help on using the changeset viewer.