Show
Ignore:
Timestamp:
08/20/08 13:23:52 (5 months ago)
Author:
mbensi
Message:

merge with webkit revision 35853

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/JavaScriptCore/API/JSValueRef.cpp

    r440 r447  
    3232#include "JSCallbackObject.h" 
    3333 
    34 #include <kjs/JSType.h> 
    3534#include <kjs/JSGlobalObject.h> 
    3635#include <kjs/JSString.h> 
     
    4746{ 
    4847    KJS::JSValue* jsValue = toJS(value); 
    49     switch (jsValue->type()) { 
    50         case KJS::UndefinedType: 
    51             return kJSTypeUndefined; 
    52         case KJS::NullType: 
    53             return kJSTypeNull; 
    54         case KJS::BooleanType: 
    55             return kJSTypeBoolean; 
    56         case KJS::NumberType: 
    57             return kJSTypeNumber; 
    58         case KJS::StringType: 
    59             return kJSTypeString; 
    60         case KJS::ObjectType: 
    61             return kJSTypeObject; 
    62         default: 
    63             ASSERT(!"JSValueGetType: unknown type code.\n"); 
    64             return kJSTypeUndefined; 
    65     } 
     48    if (jsValue->isUndefined()) 
     49        return kJSTypeUndefined; 
     50    if (jsValue->isNull()) 
     51        return kJSTypeNull; 
     52    if (jsValue->isBoolean()) 
     53        return kJSTypeBoolean; 
     54    if (jsValue->isNumber()) 
     55        return kJSTypeNumber; 
     56    if (jsValue->isString()) 
     57        return kJSTypeString; 
     58    ASSERT(jsValue->isObject()); 
     59    return kJSTypeObject; 
    6660} 
    6761 
     
    121115    ExecState* exec = toJS(ctx); 
    122116    exec->globalData().heap->registerThread(); 
     117    JSLock lock(exec); 
    123118 
    124119    JSValue* jsA = toJS(a); 
     
    147142    ExecState* exec = toJS(ctx); 
    148143    exec->globalData().heap->registerThread(); 
     144    JSLock lock(exec); 
    149145 
    150146    JSValue* jsValue = toJS(value); 
     
    180176    ExecState* exec = toJS(ctx); 
    181177    exec->globalData().heap->registerThread(); 
     178    JSLock lock(exec); 
    182179 
    183180    return toRef(jsNumber(exec, value)); 
     
    188185    ExecState* exec = toJS(ctx); 
    189186    exec->globalData().heap->registerThread(); 
     187    JSLock lock(exec); 
    190188 
    191189    return toRef(jsString(exec, string->ustring())); 
     
    203201    ExecState* exec = toJS(ctx); 
    204202    exec->globalData().heap->registerThread(); 
     203    JSLock lock(exec); 
    205204 
    206205    JSValue* jsValue = toJS(value); 
     
    220219    ExecState* exec = toJS(ctx); 
    221220    exec->globalData().heap->registerThread(); 
     221    JSLock lock(exec); 
    222222 
    223223    JSValue* jsValue = toJS(value); 
     
    237237    ExecState* exec = toJS(ctx); 
    238238    exec->globalData().heap->registerThread(); 
     239    JSLock lock(exec); 
    239240 
    240241    JSValue* jsValue = toJS(value); 
     
    254255    ExecState* exec = toJS(ctx); 
    255256    exec->globalData().heap->registerThread(); 
     257    JSLock lock(exec); 
    256258 
    257259    JSValue* jsValue = toJS(value); 
     
    263265    ExecState* exec = toJS(ctx); 
    264266    exec->globalData().heap->registerThread(); 
     267    JSLock lock(exec); 
    265268 
    266269    JSValue* jsValue = toJS(value);