Changeset 41931 in webkit for trunk/JavaScriptCore


Ignore:
Timestamp:
Mar 23, 2009, 6:59:32 PM (16 years ago)
Author:
[email protected]
Message:

Fix className() for API defined class

Reviewed by Cameron Zwarich

Location:
trunk/JavaScriptCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/API/JSCallbackObjectFunctions.h

    r41905 r41931  
    100100{
    101101    UString thisClassName = classRef()->className();
    102     if (!thisClassName.isNull())
     102    if (!thisClassName.isEmpty())
    103103        return thisClassName;
    104104   
  • trunk/JavaScriptCore/API/tests/testapi.c

    r41924 r41931  
    413413}
    414414
     415JSClassDefinition EmptyObject_definition = {
     416    0,
     417    kJSClassAttributeNone,
     418   
     419    NULL,
     420    NULL,
     421   
     422    NULL,
     423    NULL,
     424   
     425    NULL,
     426    NULL,
     427    NULL,
     428    NULL,
     429    NULL,
     430    NULL,
     431    NULL,
     432    NULL,
     433    NULL,
     434    NULL,
     435    NULL,
     436};
     437
     438static JSClassRef EmptyObject_class(JSContextRef context)
     439{
     440    UNUSED_PARAM(context);
     441   
     442    static JSClassRef jsClass;
     443    if (!jsClass)
     444        jsClass = JSClassCreate(&EmptyObject_definition);
     445   
     446    return jsClass;
     447}
     448
    415449
    416450static JSValueRef Base_get(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception)
     
    777811    JSObjectSetProperty(context, globalObject, EvilExceptionObjectIString, EvilExceptionObject, kJSPropertyAttributeNone, NULL);
    778812    JSStringRelease(EvilExceptionObjectIString);
     813   
     814    JSObjectRef EmptyObject = JSObjectMake(context, EmptyObject_class(context), NULL);
     815    JSStringRef EmptyObjectIString = JSStringCreateWithUTF8CString("EmptyObject");
     816    JSObjectSetProperty(context, globalObject, EmptyObjectIString, EmptyObject, kJSPropertyAttributeNone, NULL);
     817    JSStringRelease(EmptyObjectIString);
    779818   
    780819    JSValueRef exception;
  • trunk/JavaScriptCore/API/tests/testapi.js

    r41905 r41931  
    163163shouldThrow("String(EvilExceptionObject)");
    164164
     165shouldBe("EmptyObject", "[object CallbackObject]");
    165166
    166167if (failed)
  • trunk/JavaScriptCore/ChangeLog

    r41924 r41931  
     12009-03-23  Oliver Hunt  <[email protected]>
     2
     3        Reviewed by Cameron Zwarich.
     4
     5        Fix className() for API defined class
     6
     7        * API/JSCallbackObjectFunctions.h:
     8        (JSC::::className):
     9        * API/tests/testapi.c:
     10        (EmptyObject_class):
     11        (main):
     12        * API/tests/testapi.js:
     13
    1142009-03-23  Oliver Hunt  <[email protected]>
    215
Note: See TracChangeset for help on using the changeset viewer.