source: webkit/trunk/JavaScriptCore/kjs/DebuggerCallFrame.h@ 37799

Last change on this file since 37799 was 37705, checked in by Darin Adler, 17 years ago

JavaScriptCore:

2008-10-18 Darin Adler <Darin Adler>

Reviewed by Oliver Hunt.

Tweak a little more to get closer to where we can make JSValuePtr a class.

  • API/APICast.h: (toJS): Change back to JSValue* here, since we're converting the pointer type.
  • VM/CTI.cpp: (JSC::CTI::unlinkCall): Call asPointer.
  • VM/CTI.h: Cast to JSValue* here, since it's a pointer cast.
  • kjs/DebuggerCallFrame.h: (JSC::DebuggerCallFrame::DebuggerCallFrame): Call noValue.
  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): Call noValue.
  • kjs/JSImmediate.cpp: (JSC::JSImmediate::toObject): Remove unneeded const_cast.
  • kjs/JSWrapperObject.h: (JSC::JSWrapperObject::JSWrapperObject): Call noValue.

JavaScriptGlue:

2008-10-18 Darin Adler <Darin Adler>

Reviewed by Oliver Hunt.

Tweak a little more to get closer to where we can make JSValuePtr a class.

  • JSObject.cpp: (nativeCallFunction): Call asObject.
  • JSUtils.cpp: (KJSValueToJSObject): Use JSValuePtr and asObject. (JSObjectKJSValue): Ditto. (KJSValueToCFTypeInternal): Ditto. (KJSValueToCFType): Ditto.
  • JSUtils.h: Ditto.
  • UserObjectImp.cpp: (UserObjectImp::callAsFunction): Use JSValuePtr and asObject. (UserObjectImp::userObjectGetter): Ditto. (UserObjectImp::getOwnPropertySlot): Ditto. (UserObjectImp::put): Ditto. (UserObjectImp::toPrimitive): Ditto.
  • UserObjectImp.h: Ditto.

WebCore:

2008-10-18 Darin Adler <Darin Adler>

Reviewed by Oliver Hunt.

Tweak a little more to get closer to where we can make JSValuePtr a class.

  • bindings/js/JSAudioConstructor.cpp: (WebCore::JSAudioConstructor::JSAudioConstructor): Use asObject. (WebCore::constructAudio): Ditto.
  • bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::nameGetter): Ditto.
  • bindings/js/JSCanvasRenderingContext2DCustom.cpp: (WebCore::toHTMLCanvasStyle): Use asString and asObject. (WebCore::JSCanvasRenderingContext2D::setFillColor): Ditto. (WebCore::JSCanvasRenderingContext2D::setStrokeColor): Ditto. (WebCore::JSCanvasRenderingContext2D::drawImage): Ditto. (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): Ditto. (WebCore::JSCanvasRenderingContext2D::setShadow): Ditto. (WebCore::JSCanvasRenderingContext2D::createPattern): Ditto.
  • bindings/js/JSCustomSQLTransactionErrorCallback.cpp: (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Use JSValuePtr.
  • bindings/js/JSDOMBinding.cpp: (WebCore::setDOMException): Use noValue.
  • bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Use asObject.
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::showModalDialog): Use noValue. (jsDOMWindowBaseEvent): Use asObject. (jsDOMWindowBaseImage): Ditto. (jsDOMWindowBaseMessageChannel): Ditto. (jsDOMWindowBaseOption): Ditto. (jsDOMWindowBaseXMLHttpRequest): Ditto. (jsDOMWindowBaseAudio): Ditto. (jsDOMWindowBaseXSLTProcessor): Ditto. (WebCore::JSDOMWindowBase::childFrameGetter): Ditto. (WebCore::JSDOMWindowBase::indexGetter): Ditto. (WebCore::JSDOMWindowBase::namedItemGetter): Ditto. (WebCore::JSDOMWindowBase::getOwnPropertySlot): Ditto. (WebCore::JSDOMWindowBase::findJSEventListener): Ditto. (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): Ditto. (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): Ditto. (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): Ditto. (windowProtoFuncOpen): Use noValue. (WebCore::toJSDOMWindow): Use asObject.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::setTimeoutOrInterval): Use asString. (WebCore::toDOMWindow): Use asObject.
  • bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent): Use noValue. (WebCore::JSLazyEventListener::parseCode): Use asObject.
  • bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::JSHTMLCollection::nameGetter): Use asObject.
  • bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::nameGetter): Ditto.
  • bindings/js/JSHTMLElementCustom.cpp: (WebCore::JSHTMLElement::pushEventHandlerScope): Ditto.
  • bindings/js/JSHTMLFormElementCustom.cpp: (WebCore::JSHTMLFormElement::nameGetter): Ditto.
  • bindings/js/JSHTMLFrameSetElementCustom.cpp: (WebCore::JSHTMLFrameSetElement::nameGetter): Ditto.
  • bindings/js/JSHTMLOptionElementConstructor.cpp: (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto. (WebCore::constructHTMLOptionElement): Ditto.
  • bindings/js/JSHTMLOptionsCollectionCustom.cpp: (WebCore::JSHTMLOptionsCollection::remove): Ditto.
  • bindings/js/JSImageConstructor.cpp: (WebCore::JSImageConstructor::JSImageConstructor): Ditto. (WebCore::constructImage): Ditto.
  • bindings/js/JSInspectedObjectWrapper.cpp: (WebCore::JSInspectedObjectWrapper::wrap): Ditto.
  • bindings/js/JSInspectorCallbackWrapper.cpp: (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
  • bindings/js/JSJavaScriptCallFrameCustom.cpp: (WebCore::JSJavaScriptCallFrame::evaluate): Use noValue.
  • bindings/js/JSMessageChannelConstructor.cpp: (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Use asObject. (WebCore::JSMessageChannelConstructor::construct): Ditto.
  • bindings/js/JSMimeTypeArrayCustom.cpp: (WebCore::JSMimeTypeArray::nameGetter): Ditto.
  • bindings/js/JSNamedNodeMapCustom.cpp: (WebCore::JSNamedNodeMap::nameGetter): Ditto.
  • bindings/js/JSNamedNodesCollection.cpp: (WebCore::JSNamedNodesCollection::lengthGetter): Ditto. (WebCore::JSNamedNodesCollection::indexGetter): Ditto.
  • bindings/js/JSNodeFilterCustom.cpp: (WebCore::toNodeFilter): Ditto.
  • bindings/js/JSNodeListCustom.cpp: (WebCore::JSNodeList::nameGetter): Ditto.
  • bindings/js/JSPluginArrayCustom.cpp: (WebCore::JSPluginArray::nameGetter): Ditto.
  • bindings/js/JSPluginCustom.cpp: (WebCore::JSPlugin::nameGetter): Ditto.
  • bindings/js/JSPluginElementFunctions.cpp: (WebCore::runtimeObjectGetter): Ditto. (WebCore::runtimeObjectPropertyGetter): Ditto.
  • bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::asWrapper): Ditto. (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Ditto. (WebCore::JSQuarantinedObjectWrapper::construct): Ditto.
  • bindings/js/JSRGBColor.cpp: (jsRGBColorRed): Ditto. (jsRGBColorGreen): Ditto. (jsRGBColorBlue): Ditto.
  • bindings/js/JSSQLResultSetRowListCustom.cpp: (WebCore::JSSQLResultSetRowList::item): Use noValue.
  • bindings/js/JSStorageCustom.cpp: (WebCore::JSStorage::nameGetter): Use asObject. (WebCore::JSStorage::deleteProperty): Ditto. (WebCore::JSStorage::customPut): Ditto.
  • bindings/js/JSStyleSheetListCustom.cpp: (WebCore::JSStyleSheetList::nameGetter): Ditto.
  • bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Ditto.
  • bindings/js/JSXSLTProcessorCustom.cpp: (WebCore::JSXSLTProcessor::importStylesheet): Ditto. (WebCore::JSXSLTProcessor::transformToFragment): Ditto. (WebCore::JSXSLTProcessor::transformToDocument): Ditto.
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate): Use noValue.
  • bindings/objc/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): Ditto.
  • bindings/objc/WebScriptObject.mm: (-[WebScriptObject evaluateWebScript:]): Use JSValuePtr. (-[WebScriptObject valueForKey:]): Ditto. (-[WebScriptObject webScriptValueAtIndex:]): Ditto. (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): Use asObject and asString.
  • bindings/scripts/CodeGeneratorJS.pm: Use asObject.
  • bridge/c/c_instance.h: Use JSValuePtr.
  • bridge/c/c_runtime.cpp: (JSC::Bindings::CField::setValueToInstance): Ditto.
  • bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): Use asObject.
  • bridge/jni/jni_instance.cpp: (JavaInstance::booleanValue): Use JSValuePtr. (JavaInstance::invokeMethod): Ditto. And noValue.
  • bridge/jni/jni_jsobject.mm: (JavaJSObject::getSlot): Ditto. (JavaJSObject::convertValueToJObject): Ditto.
  • bridge/jni/jni_runtime.cpp: (JavaField::dispatchValueFromInstance): Ditto. (JavaField::valueFromInstance): Ditto. (JavaField::dispatchSetValueToInstance): Ditto. (JavaField::setValueToInstance): Ditto. (JavaArray::setValueAt): Ditto. (JavaArray::valueAt): Ditto.
  • bridge/jni/jni_runtime.h: Ditto.
  • bridge/jni/jni_utility.cpp: (JSC::Bindings::convertArrayInstanceToJavaArray): Take a JSArray* instead of a JSValue*. (JSC::Bindings::convertValueToJValue): Use asObject and asArray.
  • bridge/objc/objc_class.h: Use JSValuePtr.
  • bridge/objc/objc_instance.h: Ditto.
  • bridge/objc/objc_runtime.h: Ditto.
  • bridge/objc/objc_runtime.mm: (JSC::Bindings::callObjCFallbackObject): Use asObject.
  • bridge/objc/objc_utility.h: Use JSValuePtr.
  • bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): Use JSValuePtr and asObject. (JSC::Bindings::convertObjcValueToValue): Use jsUndefined() instead of 0.
  • bridge/runtime.cpp: (JSC::Bindings::Instance::getValueOfField): Use JSValuePtr. (JSC::Bindings::Instance::setValueOfField): Ditto.
  • bridge/runtime_array.cpp: (JSC::RuntimeArray::lengthGetter): Use JSValuePtr and asObject. (JSC::RuntimeArray::indexGetter): Ditto.
  • bridge/runtime_array.h: Ditto.
  • bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): Ditto. (JSC::callRuntimeMethod): Ditto.
  • bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::fallbackObjectGetter): Ditto. (JSC::RuntimeObjectImp::fieldGetter): Ditto. (JSC::RuntimeObjectImp::methodGetter): Ditto.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::executeScript): Use noValue.
  • page/Console.cpp: (WebCore::Console::trace): Use asInternalFunction.

WebKit/mac:

2008-10-18 Darin Adler <Darin Adler>

Reviewed by Oliver Hunt.

Tweak a little more to get closer to where we can make JSValuePtr a class.

  • WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame _convertValueToObjcValue:]): Use JSValuePtr. (-[WebScriptCallFrame exception]): Ditto. (-[WebScriptCallFrame evaluateWebScript:]): Ditto. And noValue.
  • WebView/WebScriptDebugger.mm: (WebScriptDebugger::WebScriptDebugger): Use new DebuggerCallFrame constructor that doesn't require explicitly passing an exception.
  • WebView/WebView.mm: (aeDescFromJSValue): Use JSValuePtr. (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
File size: 2.6 KB
Line 
1/*
2 * Copyright (C) 2008 Apple Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
14 * its contributors may be used to endorse or promote products derived
15 * from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
18 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
21 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#ifndef DebuggerCallFrame_h
30#define DebuggerCallFrame_h
31
32#include "ExecState.h"
33
34namespace JSC {
35
36 class DebuggerCallFrame {
37 public:
38 enum Type { ProgramType, FunctionType };
39
40 DebuggerCallFrame(CallFrame* callFrame)
41 : m_callFrame(callFrame)
42 , m_exception(noValue())
43 {
44 }
45
46 DebuggerCallFrame(CallFrame* callFrame, JSValuePtr exception)
47 : m_callFrame(callFrame)
48 , m_exception(exception)
49 {
50 }
51
52 JSGlobalObject* dynamicGlobalObject() const { return m_callFrame->dynamicGlobalObject(); }
53 const ScopeChainNode* scopeChain() const { return m_callFrame->scopeChain(); }
54 const UString* functionName() const;
55 Type type() const;
56 JSObject* thisObject() const;
57 JSValuePtr evaluate(const UString&, JSValuePtr& exception) const;
58 JSValuePtr exception() const { return m_exception; }
59
60 private:
61 CallFrame* m_callFrame;
62 JSValuePtr m_exception;
63 };
64
65} // namespace JSC
66
67#endif // DebuggerCallFrame_h
Note: See TracBrowser for help on using the repository browser.