Changeset 10207 in webkit for trunk/JavaScriptCore/kjs/object.cpp


Ignore:
Timestamp:
Aug 15, 2005, 5:47:46 PM (20 years ago)
Author:
darin
Message:

JavaScriptCore:

Reviewed by Geoff.

  • bindings/NP_jsobject.cpp: (_NPN_SetException):
  • bindings/jni/jni_instance.cpp: (JavaInstance::invokeMethod):
  • bindings/jni/jni_runtime.cpp: (JavaField::dispatchValueFromInstance): (JavaField::dispatchSetValueToInstance):
  • bindings/objc/WebScriptObject.mm: (-[WebScriptObject _initializeWithObjectImp:originExecutionContext:executionContext:]): (-[WebScriptObject _initWithObjectImp:originExecutionContext:executionContext:]): (+[WebScriptObject throwException:]): (-[WebScriptObject setException:]): (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:]):
  • bindings/objc/objc_class.h: (KJS::Bindings::ObjcClass::~ObjcClass): (KJS::Bindings::ObjcClass::ObjcClass): (KJS::Bindings::ObjcClass::operator=): (KJS::Bindings::ObjcClass::constructorAt): (KJS::Bindings::ObjcClass::numConstructors):
  • bindings/objc/objc_header.h:
  • bindings/objc/objc_runtime.h: (KJS::Bindings::ObjcField::~ObjcField): (KJS::Bindings::ObjcField::ObjcField): (KJS::Bindings::ObjcField::operator=): (KJS::Bindings::ObjcMethod::ObjcMethod): (KJS::Bindings::ObjcMethod::~ObjcMethod): (KJS::Bindings::ObjcMethod::operator=):
  • bindings/objc/objc_runtime.mm: (ObjcField::valueFromInstance): (ObjcField::setValueToInstance): (ObjcArray::setValueAt): (ObjcArray::valueAt):
  • bindings/objc/objc_utility.h:
  • bindings/objc/objc_utility.mm: (KJS::Bindings::JSMethodNameToObjCMethodName): (KJS::Bindings::convertValueToObjcValue): (KJS::Bindings::convertNSStringToString): (KJS::Bindings::convertObjcValueToValue): (KJS::Bindings::objcValueTypeForType): (KJS::Bindings::createObjcInstanceForValue): (KJS::Bindings::throwError):
  • bindings/runtime.h: (KJS::Bindings::Parameter::~Parameter): (KJS::Bindings::Method::~Method): (KJS::Bindings::Instance::Instance): (KJS::Bindings::Instance::begin): (KJS::Bindings::Instance::end): (KJS::Bindings::Instance::getValueOfUndefinedField): (KJS::Bindings::Instance::supportsSetValueOfUndefinedField): (KJS::Bindings::Instance::setValueOfUndefinedField): (KJS::Bindings::Instance::valueOf):
  • bindings/runtime_array.cpp: (RuntimeArrayImp::put):
  • bindings/runtime_object.h: (KJS::RuntimeObjectImp::setInternalInstance): (KJS::RuntimeObjectImp::getInternalInstance):
  • kjs/array_object.cpp: (getProperty): (ArrayProtoFuncImp::callAsFunction): (ArrayObjectImp::construct):
  • kjs/bool_object.cpp: (BooleanProtoFuncImp::callAsFunction):
  • kjs/date_object.cpp: (KJS::DateProtoFuncImp::callAsFunction):
  • kjs/function.cpp: (KJS::decode): (KJS::GlobalFuncImp::callAsFunction):
  • kjs/function_object.cpp: (FunctionProtoFuncImp::callAsFunction): (FunctionObjectImp::construct):
  • kjs/internal.cpp: (KJS::UndefinedImp::toObject): (KJS::NullImp::toObject): (KJS::InterpreterImp::evaluate): (KJS::InternalFunctionImp::hasInstance):
  • kjs/nodes.cpp: (Node::throwError): (substitute): (Node::setExceptionDetailsIfNeeded): (undefinedVariableError): (ProgramNode::ProgramNode):
  • kjs/number_object.cpp: (NumberProtoFuncImp::callAsFunction):
  • kjs/object.cpp: (KJS::ObjectImp::call): (KJS::ObjectImp::defaultValue): (KJS::Error::create): (KJS::throwError):
  • kjs/object.h: (KJS::ObjectImp::clearProperties): (KJS::ObjectImp::getPropertySlot): (KJS::ObjectImp::getOwnPropertySlot):
  • kjs/object_object.cpp: (ObjectProtoFuncImp::callAsFunction):
  • kjs/reference.cpp: (KJS::Reference::getBase): (KJS::Reference::getValue): (KJS::Reference::putValue): (KJS::Reference::deleteValue):
  • kjs/regexp_object.cpp: (RegExpProtoFuncImp::callAsFunction): (RegExpObjectImp::construct):
  • kjs/string_object.cpp: (StringProtoFuncImp::callAsFunction):

WebCore:

Reviewed by Geoff.

  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::CSSStyleSelector): (khtml::parseUASheet): (khtml::CSSStyleSelector::initElementAndPseudoState): (khtml::checkPseudoState): (khtml::CSSStyleSelector::locateCousinList): (khtml::CSSStyleSelector::locateSharedStyle): (khtml::CSSStyleSelector::adjustRenderStyle): (khtml::CSSStyleSelector::checkOneSelector): (khtml::CSSRuleSet::addToRuleSet): (khtml::colorForCSSValue): (khtml::CSSStyleSelector::applyProperty): (khtml::CSSStyleSelector::mapBackgroundAttachment): (khtml::CSSStyleSelector::mapBackgroundImage): (khtml::CSSStyleSelector::mapBackgroundRepeat): (khtml::CSSStyleSelector::mapBackgroundXPosition): (khtml::CSSStyleSelector::mapBackgroundYPosition): (khtml::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
  • khtml/ecma/domparser.cpp: (KJS::DOMParserProtoFunc::callAsFunction):
  • khtml/ecma/kjs_binding.cpp: (KJS::ScriptInterpreter::putDOMObject): (KJS::ScriptInterpreter::putDOMNodeForDocument): (KJS::setDOMException):
  • khtml/ecma/kjs_css.cpp: (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction): (KJS::DOMStyleSheetListFunc::callAsFunction): (KJS::KJS::DOMMediaListProtoFunc::callAsFunction): (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction): (KJS::DOMCSSRuleListFunc::callAsFunction): (KJS::DOMCSSRuleFunc::callAsFunction): (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction): (KJS::DOMCSSValueListFunc::callAsFunction):
  • khtml/ecma/kjs_dom.cpp: (KJS::DOMNodeProtoFunc::callAsFunction): (KJS::DOMNodeListFunc::callAsFunction): (KJS::DOMDocumentProtoFunc::callAsFunction): (KJS::DOMElementProtoFunc::callAsFunction): (KJS::DOMDOMImplementationProtoFunc::callAsFunction): (KJS::DOMNamedNodeMapProtoFunc::callAsFunction): (KJS::DOMCharacterDataProtoFunc::callAsFunction): (KJS::DOMTextProtoFunc::callAsFunction):
  • khtml/ecma/kjs_events.cpp: (KJS::DOMEventProtoFunc::callAsFunction): (KJS::DOMUIEventProtoFunc::callAsFunction): (KJS::DOMMouseEventProtoFunc::callAsFunction): (KJS::DOMKeyboardEventProtoFunc::callAsFunction): (KJS::DOMMutationEventProtoFunc::callAsFunction): (KJS::DOMWheelEventProtoFunc::callAsFunction): (KJS::ClipboardProtoFunc::callAsFunction):
  • khtml/ecma/kjs_html.cpp: (KJS::KJS::HTMLDocFunction::callAsFunction): (KJS::KJS::HTMLElementFunction::callAsFunction): (KJS::KJS::HTMLCollectionProtoFunc::callAsFunction): (KJS::KJS::Context2DFunction::callAsFunction): (KJS::Context2D::putValueProperty): (KJS::GradientFunction::callAsFunction):
  • khtml/ecma/kjs_navigator.cpp: (KJS::NavigatorFunc::callAsFunction):
  • khtml/ecma/kjs_range.cpp: (KJS::DOMRangeProtoFunc::callAsFunction):
  • khtml/ecma/kjs_traversal.cpp: (KJS::DOMNodeIteratorProtoFunc::callAsFunction): (KJS::DOMNodeFilterProtoFunc::callAsFunction): (KJS::DOMTreeWalkerProtoFunc::callAsFunction):
  • khtml/ecma/kjs_views.cpp: (KJS::DOMAbstractViewFunc::callAsFunction):
  • khtml/ecma/kjs_window.cpp: (KJS::Window::interpreter): (KJS::Window::retrieveWindow): (KJS::Window::retrieveActive): (KJS::Window::isSafeScript): (KJS::Window::clear): (KJS::WindowFunc::callAsFunction): (KJS::ScheduledAction::execute): (KJS::WindowQObject::pauseTimeouts): (KJS::LocationFunc::callAsFunction): (KJS::Selection::toString): (KJS::SelectionFunc::callAsFunction): (KJS::HistoryFunc::callAsFunction):
  • khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequestProtoFunc::callAsFunction):
  • khtml/ecma/xmlserializer.cpp: (KJS::XMLSerializerProtoFunc::callAsFunction):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/object.cpp

    r10084 r10207  
    8989  if (++depth > KJS_MAX_STACK) {
    9090    --depth;
    91     ObjectImp *err = Error::create(exec, RangeError,
    92                                "Maximum call stack size exceeded.");
    93     exec->setException(err);
    94     return err;
     91    return throwError(exec, RangeError, "Maximum call stack size exceeded.");
    9592  }
    9693#endif
     
    168165   
    169166  return Undefined();
    170 }
    171 
    172 bool ObjectImp::getProperty(ExecState *exec, const Identifier& propertyName, ValueImp*& result) const
    173 {
    174   PropertySlot slot;
    175   if (const_cast<ObjectImp *>(this)->getPropertySlot(exec, propertyName, slot)) {
    176     result = slot.getValue(exec, propertyName);
    177     return true;
    178   }
    179  
    180   return false;
    181 }
    182 
    183 bool ObjectImp::getProperty(ExecState *exec, unsigned propertyName, ValueImp*& result) const
    184 {
    185   PropertySlot slot;
    186   if (const_cast<ObjectImp *>(this)->getPropertySlot(exec, propertyName, slot)) {
    187     result = slot.getValue(exec, propertyName);
    188     return true;
    189   }
    190    
    191   return false;
    192167}
    193168
     
    278253}
    279254
    280 bool ObjectImp::hasOwnProperty(ExecState *exec, const Identifier &propertyName) const
    281 {
    282   PropertySlot slot;
    283   return const_cast<ObjectImp *>(this)->getOwnPropertySlot(exec, propertyName, slot);
    284 }
    285 
    286 bool ObjectImp::hasOwnProperty(ExecState *exec, unsigned propertyName) const
    287 {
    288   PropertySlot slot;
    289   return const_cast<ObjectImp *>(this)->getOwnPropertySlot(exec, propertyName, slot);
    290 }
    291 
    292255// ECMA 8.6.2.5
    293256bool ObjectImp::deleteProperty(ExecState */*exec*/, const Identifier &propertyName)
     
    312275{
    313276  return deleteProperty(exec, Identifier::from(propertyName));
    314 }
    315 
    316 void ObjectImp::deleteAllProperties( ExecState * )
    317 {
    318   _prop.clear();
    319277}
    320278
     
    372330    return exec->exception();
    373331
    374   ObjectImp *err = Error::create(exec, TypeError, I18N_NOOP("No default value"));
    375   exec->setException(err);
    376   return err;
     332  return throwError(exec, TypeError, "No default value");
    377333}
    378334
     
    506462const char * const * const Error::errorNames = errorNamesArr;
    507463
    508 ObjectImp *Error::create(ExecState *exec, ErrorType errtype, const char *message,
    509                      int lineno, int sourceId, const UString *sourceURL)
     464ObjectImp *Error::create(ExecState *exec, ErrorType errtype, const UString &message,
     465                         int lineno, int sourceId, const UString *sourceURL)
    510466{
    511467  ObjectImp *cons;
     
    534490  }
    535491
    536   if (!message)
    537     message = errorNames[errtype];
    538492  List args;
    539   args.append(String(message));
     493  if (message.isEmpty())
     494    args.append(jsString(errorNames[errtype]));
     495  else
     496    args.append(jsString(message));
    540497  ObjectImp *err = static_cast<ObjectImp *>(cons->construct(exec,args));
    541498
     
    563520}
    564521
    565 ObjectImp *error(ExecState *exec, ErrorType type, const char *message, int line, int sourceId, const UString *sourceURL)
    566 {
    567     return Error::create(exec, type, message, line, sourceId, sourceURL);
     522ObjectImp *Error::create(ExecState *exec, ErrorType type, const char *message)
     523{
     524    return create(exec, type, message, -1, -1, NULL);
     525}
     526
     527ObjectImp *throwError(ExecState *exec, ErrorType type)
     528{
     529    ObjectImp *error = Error::create(exec, type, UString(), -1, -1, NULL);
     530    exec->setException(error);
     531    return error;
     532}
     533
     534ObjectImp *throwError(ExecState *exec, ErrorType type, const UString &message)
     535{
     536    ObjectImp *error = Error::create(exec, type, message, -1, -1, NULL);
     537    exec->setException(error);
     538    return error;
     539}
     540
     541ObjectImp *throwError(ExecState *exec, ErrorType type, const char *message)
     542{
     543    ObjectImp *error = Error::create(exec, type, message, -1, -1, NULL);
     544    exec->setException(error);
     545    return error;
     546}
     547
     548ObjectImp *throwError(ExecState *exec, ErrorType type, const UString &message, int line, int sourceId, const UString *sourceURL)
     549{
     550    ObjectImp *error = Error::create(exec, type, message, line, sourceId, sourceURL);
     551    exec->setException(error);
     552    return error;
    568553}
    569554
Note: See TracChangeset for help on using the changeset viewer.