1. 24 Oct, 2008 1 commit
    • darin@apple.com's avatar
      JavaScriptCore: · 44331f8b
      darin@apple.com authored
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * API/APICast.h:
              * API/JSCallbackConstructor.h:
              * API/JSCallbackFunction.cpp:
              * API/JSCallbackFunction.h:
              * API/JSCallbackObject.h:
              * API/JSCallbackObjectFunctions.h:
              * API/JSContextRef.cpp:
              * API/JSObjectRef.cpp:
              * API/JSValueRef.cpp:
              * VM/CTI.cpp:
              * VM/CTI.h:
              * VM/CodeBlock.cpp:
              * VM/CodeBlock.h:
              * VM/CodeGenerator.cpp:
              * VM/CodeGenerator.h:
              * VM/ExceptionHelpers.cpp:
              * VM/ExceptionHelpers.h:
              * VM/JSPropertyNameIterator.cpp:
              * VM/JSPropertyNameIterator.h:
              * VM/Machine.cpp:
              * VM/Machine.h:
              * VM/Register.h:
              * kjs/ArgList.cpp:
              * kjs/ArgList.h:
              * kjs/Arguments.cpp:
              * kjs/Arguments.h:
              * kjs/ArrayConstructor.cpp:
              * kjs/ArrayPrototype.cpp:
              * kjs/BooleanConstructor.cpp:
              * kjs/BooleanConstructor.h:
              * kjs/BooleanObject.h:
              * kjs/BooleanPrototype.cpp:
              * kjs/CallData.cpp:
              * kjs/CallData.h:
              * kjs/ConstructData.cpp:
              * kjs/ConstructData.h:
              * kjs/DateConstructor.cpp:
              * kjs/DateInstance.h:
              * kjs/DatePrototype.cpp:
              * kjs/DatePrototype.h:
              * kjs/DebuggerCallFrame.cpp:
              * kjs/DebuggerCallFrame.h:
              * kjs/ErrorConstructor.cpp:
              * kjs/ErrorPrototype.cpp:
              * kjs/ExecState.cpp:
              * kjs/ExecState.h:
              * kjs/FunctionConstructor.cpp:
              * kjs/FunctionPrototype.cpp:
              * kjs/FunctionPrototype.h:
              * kjs/GetterSetter.cpp:
              * kjs/GetterSetter.h:
              * kjs/InternalFunction.h:
              * kjs/JSActivation.cpp:
              * kjs/JSActivation.h:
              * kjs/JSArray.cpp:
              * kjs/JSArray.h:
              * kjs/JSCell.cpp:
              * kjs/JSCell.h:
              * kjs/JSFunction.cpp:
              * kjs/JSFunction.h:
              * kjs/JSGlobalData.h:
              * kjs/JSGlobalObject.cpp:
              * kjs/JSGlobalObject.h:
              * kjs/JSGlobalObjectFunctions.cpp:
              * kjs/JSGlobalObjectFunctions.h:
              * kjs/JSImmediate.cpp:
              * kjs/JSImmediate.h:
              * kjs/JSNotAnObject.cpp:
              * kjs/JSNotAnObject.h:
              * kjs/JSNumberCell.cpp:
              * kjs/JSNumberCell.h:
              * kjs/JSObject.cpp:
              * kjs/JSObject.h:
              * kjs/JSStaticScopeObject.cpp:
              * kjs/JSStaticScopeObject.h:
              * kjs/JSString.cpp:
              * kjs/JSString.h:
              * kjs/JSValue.h:
              * kjs/JSVariableObject.h:
              * kjs/JSWrapperObject.h:
              * kjs/MathObject.cpp:
              * kjs/MathObject.h:
              * kjs/NativeErrorConstructor.cpp:
              * kjs/NumberConstructor.cpp:
              * kjs/NumberConstructor.h:
              * kjs/NumberObject.cpp:
              * kjs/NumberObject.h:
              * kjs/NumberPrototype.cpp:
              * kjs/ObjectConstructor.cpp:
              * kjs/ObjectPrototype.cpp:
              * kjs/ObjectPrototype.h:
              * kjs/PropertyMap.h:
              * kjs/PropertySlot.cpp:
              * kjs/PropertySlot.h:
              * kjs/RegExpConstructor.cpp:
              * kjs/RegExpConstructor.h:
              * kjs/RegExpMatchesArray.h:
              * kjs/RegExpObject.cpp:
              * kjs/RegExpObject.h:
              * kjs/RegExpPrototype.cpp:
              * kjs/Shell.cpp:
              * kjs/StringConstructor.cpp:
              * kjs/StringObject.cpp:
              * kjs/StringObject.h:
              * kjs/StringObjectThatMasqueradesAsUndefined.h:
              * kjs/StringPrototype.cpp:
              * kjs/StructureID.cpp:
              * kjs/StructureID.h:
              * kjs/collector.cpp:
              * kjs/collector.h:
              * kjs/completion.h:
              * kjs/grammar.y:
              * kjs/interpreter.cpp:
              * kjs/interpreter.h:
              * kjs/lookup.cpp:
              * kjs/lookup.h:
              * kjs/nodes.h:
              * kjs/operations.cpp:
              * kjs/operations.h:
              * kjs/protect.h:
              * profiler/ProfileGenerator.cpp:
              * profiler/Profiler.cpp:
              * profiler/Profiler.h:
              Use JSValue* instead of JSValuePtr.
      
      JavaScriptGlue:
      
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * JSObject.cpp:
              (nativeCallFunction):
              * JSUtils.cpp:
              (KJSValueToJSObject):
              (JSObjectKJSValue):
              (KJSValueToCFTypeInternal):
              (KJSValueToCFType):
              * JSUtils.h:
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSValueWrapper):
              (JSValueWrapper::GetValue):
              (JSValueWrapper::JSObjectCopyProperty):
              (JSValueWrapper::JSObjectSetProperty):
              (JSValueWrapper::JSObjectCallFunction):
              * JSValueWrapper.h:
              * UserObjectImp.cpp:
              (UserObjectImp::callAsFunction):
              (UserObjectImp::userObjectGetter):
              (UserObjectImp::getOwnPropertySlot):
              (UserObjectImp::put):
              (UserObjectImp::toPrimitive):
              * UserObjectImp.h:
              (UserObjectImp::createStructureID):
              Use JSValue* instead of JSValuePtr.
      
      WebCore:
      
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * bindings/js/JSAttrCustom.cpp:
              * bindings/js/JSCSSRuleCustom.cpp:
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              * bindings/js/JSCSSValueCustom.cpp:
              * bindings/js/JSCanvasPixelArrayCustom.h:
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              * bindings/js/JSClipboardCustom.cpp:
              * bindings/js/JSConsoleCustom.cpp:
              * bindings/js/JSCustomSQLStatementCallback.cpp:
              * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
              * bindings/js/JSCustomVoidCallback.cpp:
              * bindings/js/JSCustomVoidCallback.h:
              * bindings/js/JSCustomXPathNSResolver.cpp:
              * bindings/js/JSCustomXPathNSResolver.h:
              * bindings/js/JSDOMApplicationCacheCustom.cpp:
              * bindings/js/JSDOMBinding.cpp:
              * bindings/js/JSDOMBinding.h:
              * bindings/js/JSDOMWindowBase.cpp:
              * bindings/js/JSDOMWindowBase.h:
              * bindings/js/JSDOMWindowCustom.cpp:
              * bindings/js/JSDOMWindowCustom.h:
              * bindings/js/JSDOMWindowShell.cpp:
              * bindings/js/JSDOMWindowShell.h:
              * bindings/js/JSDatabaseCustom.cpp:
              * bindings/js/JSDedicatedWorkerCustom.cpp:
              * bindings/js/JSDocumentCustom.cpp:
              * bindings/js/JSElementCustom.cpp:
              * bindings/js/JSEventCustom.cpp:
              * bindings/js/JSEventListener.cpp:
              * bindings/js/JSEventTarget.cpp:
              * bindings/js/JSEventTarget.h:
              * bindings/js/JSEventTargetBase.h:
              * bindings/js/JSEventTargetNodeCustom.cpp:
              * bindings/js/JSHTMLAllCollection.h:
              * bindings/js/JSHTMLAppletElementCustom.cpp:
              * bindings/js/JSHTMLCollectionCustom.cpp:
              * bindings/js/JSHTMLDocumentCustom.cpp:
              * bindings/js/JSHTMLEmbedElementCustom.cpp:
              * bindings/js/JSHTMLFormElementCustom.cpp:
              * bindings/js/JSHTMLFrameElementCustom.cpp:
              * bindings/js/JSHTMLFrameSetElementCustom.cpp:
              * bindings/js/JSHTMLIFrameElementCustom.cpp:
              * bindings/js/JSHTMLInputElementCustom.cpp:
              * bindings/js/JSHTMLObjectElementCustom.cpp:
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              * bindings/js/JSHTMLSelectElementCustom.h:
              * bindings/js/JSHistoryCustom.cpp:
              * bindings/js/JSImageDataCustom.cpp:
              * bindings/js/JSInspectedObjectWrapper.cpp:
              * bindings/js/JSInspectedObjectWrapper.h:
              * bindings/js/JSInspectorCallbackWrapper.cpp:
              * bindings/js/JSInspectorCallbackWrapper.h:
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              * bindings/js/JSLocationCustom.cpp:
              * bindings/js/JSMessagePortCustom.cpp:
              * bindings/js/JSMimeTypeArrayCustom.cpp:
              * bindings/js/JSNamedNodeMapCustom.cpp:
              * bindings/js/JSNamedNodesCollection.cpp:
              * bindings/js/JSNamedNodesCollection.h:
              * bindings/js/JSNavigatorCustom.cpp:
              * bindings/js/JSNodeCustom.cpp:
              * bindings/js/JSNodeFilterCondition.cpp:
              * bindings/js/JSNodeFilterCondition.h:
              * bindings/js/JSNodeFilterCustom.cpp:
              * bindings/js/JSNodeIteratorCustom.cpp:
              * bindings/js/JSNodeListCustom.cpp:
              * bindings/js/JSPluginArrayCustom.cpp:
              * bindings/js/JSPluginCustom.cpp:
              * bindings/js/JSPluginElementFunctions.cpp:
              * bindings/js/JSPluginElementFunctions.h:
              * bindings/js/JSQuarantinedObjectWrapper.cpp:
              * bindings/js/JSQuarantinedObjectWrapper.h:
              * bindings/js/JSRGBColor.cpp:
              * bindings/js/JSRGBColor.h:
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              * bindings/js/JSSQLTransactionCustom.cpp:
              * bindings/js/JSSVGElementInstanceCustom.cpp:
              * bindings/js/JSSVGLengthCustom.cpp:
              * bindings/js/JSSVGMatrixCustom.cpp:
              * bindings/js/JSSVGPathSegCustom.cpp:
              * bindings/js/JSSVGPathSegListCustom.cpp:
              * bindings/js/JSSVGPointListCustom.cpp:
              * bindings/js/JSSVGTransformListCustom.cpp:
              * bindings/js/JSStorageCustom.cpp:
              * bindings/js/JSStyleSheetCustom.cpp:
              * bindings/js/JSStyleSheetListCustom.cpp:
              * bindings/js/JSTextCustom.cpp:
              * bindings/js/JSTreeWalkerCustom.cpp:
              * bindings/js/JSXMLHttpRequestCustom.cpp:
              * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
              * bindings/js/JSXSLTProcessorCustom.cpp:
              * bindings/js/ScheduledAction.cpp:
              * bindings/js/ScheduledAction.h:
              * bindings/js/ScriptController.cpp:
              * bindings/js/ScriptController.h:
              * bindings/objc/WebScriptObject.mm:
              * bindings/objc/WebScriptObjectPrivate.h:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/NP_jsobject.cpp:
              * bridge/c/c_instance.cpp:
              * bridge/c/c_instance.h:
              * bridge/c/c_runtime.cpp:
              * bridge/c/c_runtime.h:
              * bridge/c/c_utility.cpp:
              * bridge/c/c_utility.h:
              * bridge/jni/jni_instance.cpp:
              * bridge/jni/jni_instance.h:
              * bridge/jni/jni_jsobject.h:
              * bridge/jni/jni_jsobject.mm:
              * bridge/jni/jni_objc.mm:
              * bridge/jni/jni_runtime.cpp:
              * bridge/jni/jni_runtime.h:
              * bridge/jni/jni_utility.cpp:
              * bridge/jni/jni_utility.h:
              * bridge/objc/WebScriptObject.h:
              * bridge/objc/objc_class.h:
              * bridge/objc/objc_class.mm:
              * bridge/objc/objc_instance.h:
              * bridge/objc/objc_instance.mm:
              * bridge/objc/objc_runtime.h:
              * bridge/objc/objc_runtime.mm:
              * bridge/objc/objc_utility.h:
              * bridge/objc/objc_utility.mm:
              * bridge/qt/qt_class.cpp:
              * bridge/qt/qt_class.h:
              * bridge/qt/qt_instance.cpp:
              * bridge/qt/qt_instance.h:
              * bridge/qt/qt_runtime.cpp:
              * bridge/qt/qt_runtime.h:
              * bridge/runtime.cpp:
              * bridge/runtime.h:
              * bridge/runtime_array.cpp:
              * bridge/runtime_array.h:
              * bridge/runtime_method.cpp:
              * bridge/runtime_method.h:
              * bridge/runtime_object.cpp:
              * bridge/runtime_object.h:
              * bridge/testqtbindings.cpp:
              * inspector/JavaScriptCallFrame.cpp:
              * inspector/JavaScriptCallFrame.h:
              * inspector/JavaScriptProfile.cpp:
              * inspector/JavaScriptProfile.h:
              * inspector/JavaScriptProfileNode.cpp:
              * inspector/JavaScriptProfileNode.h:
              * loader/FrameLoader.cpp:
              * loader/FrameLoader.h:
              * page/Console.cpp:
              * page/Console.h:
              * plugins/MimeTypeArray.h:
              * plugins/Plugin.h:
              * plugins/PluginArray.h:
              * plugins/PluginView.cpp:
              * xml/XMLHttpRequest.cpp:
              Use JSValue* instead of JSValuePtr.
      
      WebKit/mac:
      
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * WebView/WebFrame.mm:
              (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
              * WebView/WebScriptDebugDelegate.mm:
              (-[WebScriptCallFrame _convertValueToObjcValue:]):
              (-[WebScriptCallFrame exception]):
              (-[WebScriptCallFrame evaluateWebScript:]):
              * WebView/WebView.mm:
              (aeDescFromJSValue):
              (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
              Use JSValue* instead of JSValuePtr.
      
      WebKit/qt:
      
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * Api/qwebframe.cpp:
              (QWebFrame::evaluateJavaScript): Use JSValue* instead of JSValuePtr.
      
      WebKit/win:
      
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * WebScriptCallFrame.cpp:
              (WebScriptCallFrame::jsValueToString):
              (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
              (WebScriptCallFrame::valueForVariable):
              (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
              * WebScriptCallFrame.h:
              * WebView.cpp:
              (WebView::stringByEvaluatingJavaScriptFromString):
              Use JSValue* instead of JSValuePtr.
      
      WebKit/wx:
      
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * WebFrame.cpp: (wxWebFrame::RunScript): Use JSValue* instead of JSValuePtr.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37845 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      44331f8b
  2. 23 Oct, 2008 1 commit
  3. 20 Oct, 2008 2 commits
    • weinig@apple.com's avatar
      WebCore: · 5ed91735
      weinig@apple.com authored
      2008-10-20  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Anders Carlsson.
      
              Remove FrameLoaderClient::detachedFromParent4.  It is no longer used by any port.
      
              * loader/EmptyClients.h:
              (WebCore::EmptyFrameLoaderClient::detachedFromParent4):.
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::detachFromParent):
              * loader/FrameLoaderClient.h:
      
      WebKit/gtk:
      
      2008-10-20  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Anders Carlsson.
      
              Remove FrameLoaderClient::detachedFromParent4.  It is no longer used by any port.
      
              * WebCoreSupport/FrameLoaderClientGtk.cpp:
              * WebCoreSupport/FrameLoaderClientGtk.h:
      
      WebKit/mac:
      
      2008-10-20  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Anders Carlsson.
      
              Remove FrameLoaderClient::detachedFromParent4.  It is no longer used by any port.
      
              * WebCoreSupport/WebFrameLoaderClient.h:
              * WebCoreSupport/WebFrameLoaderClient.mm:
      
      WebKit/qt:
      
      2008-10-20  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Anders Carlsson.
      
              Remove FrameLoaderClient::detachedFromParent4.  It is no longer used by any port.
      
              * WebCoreSupport/FrameLoaderClientQt.cpp:
              * WebCoreSupport/FrameLoaderClientQt.h:
      
      WebKit/win:
      
      2008-10-20  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Anders Carlsson.
      
              Remove FrameLoaderClient::detachedFromParent4.  It is no longer used by any port.
      
              * WebFrame.cpp:
              * WebFrame.h:
      
      WebKit/wx:
      
      2008-10-20  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Anders Carlsson.
      
              Remove FrameLoaderClient::detachedFromParent4.  It is no longer used by any port.
      
              * WebKitSupport/FrameLoaderClientWx.cpp:
              * WebKitSupport/FrameLoaderClientWx.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5ed91735
    • ap@webkit.org's avatar
      Reviewed by Oliver Hunt. · cf4aafb4
      ap@webkit.org authored
              <rdar://problem/6277777> REGRESSION (r36954): XMLHttpRequest not working when
              certain WebView delegate actions are taken
      
              * WebView/WebFrame.mm: (-[WebFrame _attachScriptDebugger]): Don't accidentally create
              a window shell if there is none yet.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37717 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cf4aafb4
  4. 19 Oct, 2008 2 commits
    • darin@apple.com's avatar
      JavaScriptCore: · 989a6f84
      darin@apple.com authored
      2008-10-19  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Remove most uses of JSValue, which will be removed in a future patch.
      
              * VM/Machine.cpp:
              (JSC::fastToUInt32): Call toUInt32SlowCase function; no longer a member
              of JSValue.
              * kjs/JSNumberCell.h:
              (JSC::JSNumberCell::toInt32): Ditto.
              (JSC::JSNumberCell::toUInt32): Ditto.
      
              * kjs/JSValue.cpp:
              (JSC::toInt32SlowCase): Made a non-member function.
              (JSC::JSValue::toInt32SlowCase): Changed to call non-member function.
              (JSC::toUInt32SlowCase): More of the same.
              (JSC::JSValue::toUInt32SlowCase): Ditto.
      
              * kjs/JSValue.h: Moved static member function so they are no longer
              member functions at all.
      
              * VM/CTI.h: Removed forward declaration of JSValue.
              * VM/ExceptionHelpers.h: Ditto.
              * kjs/CallData.h: Ditto.
              * kjs/ConstructData.h: Ditto.
              * kjs/JSGlobalObjectFunctions.h: Ditto.
              * kjs/PropertyMap.h: Ditto.
              * kjs/StructureID.h: Ditto.
              * kjs/collector.h: Ditto.
              * kjs/completion.h: Ditto.
      
              * kjs/grammar.y:
              (JSC::makeBitwiseNotNode): Call new non-member toInt32 function.
              (JSC::makeLeftShiftNode): More of the same.
              (JSC::makeRightShiftNode): Ditto.
      
              * kjs/protect.h: Added a specialization for ProtectedPtr<JSValuePtr>
              so this can be used with JSValuePtr.
      
      JavaScriptGlue:
      
      2008-10-19  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Remove most uses of JSValue, which will be removed in a future patch.
      
              * JSValueWrapper.h: Use JSValuePtr instead of JSValue*.
      
      WebCore:
      
      2008-10-19  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Remove most uses of JSValue, which will be removed in a future patch.
      
              * bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue
              and used JSValuePtr instead.
              * bindings/js/JSEventTarget.h: Ditto.
              * bindings/js/JSNodeFilterCondition.h: Ditto.
              * bindings/js/ScheduledAction.h: Ditto.
              * bindings/js/ScriptController.h: Ditto.
              * bindings/objc/WebScriptObjectPrivate.h: Ditto.
              * bridge/c/c_utility.h: Ditto.
              * bridge/jni/jni_jsobject.h: Ditto.
              * bridge/jni/jni_utility.h: Ditto.
              * bridge/objc/WebScriptObject.h: Ditto.
              * dom/Traversal.h: Ditto.
              * inspector/InspectorController.cpp: Ditto.
              * inspector/JavaScriptProfile.h: Ditto.
              * inspector/JavaScriptProfileNode.h: Ditto.
              * loader/FrameLoader.h: Ditto.
              * page/Console.h: Ditto.
              * plugins/MimeTypeArray.h: Ditto.
              * plugins/Plugin.h: Ditto.
              * plugins/PluginArray.h: Ditto.
              * plugins/PluginView.cpp:
              (WebCore::getString): Ditto.
              (WebCore::PluginView::performRequest): Ditto.
              * plugins/gtk/PluginViewGtk.cpp: Ditto.
              * plugins/qt/PluginViewQt.cpp: Ditto.
              * plugins/win/PluginViewWin.cpp: Ditto.
      
              * bridge/qt/qt_class.cpp:
              (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject*
              instead of JSValue*.
              * bridge/qt/qt_class.h: Ditto.
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::mark): Ditto.
              (JSC::Bindings::QtInstance::invokeMethod): Ditto.
              (JSC::Bindings::QtInstance::defaultValue): Ditto.
              (JSC::Bindings::QtInstance::stringValue): Ditto.
              (JSC::Bindings::QtInstance::numberValue): Ditto.
              (JSC::Bindings::QtInstance::booleanValue): Ditto.
              (JSC::Bindings::QtInstance::valueOf): Ditto.
              (JSC::Bindings::QtField::valueFromInstance): Ditto.
              (JSC::Bindings::QtField::setValueToInstance): Ditto.
              * bridge/qt/qt_instance.h: Ditto.
              * bridge/qt/qt_runtime.cpp: Ditto.
              (JSC::Bindings::valueRealType): Ditto.
              (JSC::Bindings::convertValueToQVariant): Ditto.
              (JSC::Bindings::convertQVariantToValue): Ditto.
              (JSC::Bindings::findMethodIndex): Ditto.
              (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
              (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto.
              (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
              (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
              (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
              (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
              (JSC::Bindings::QtArray::setValueAt): Ditto.
              (JSC::Bindings::QtArray::valueAt): Ditto.
              * bridge/qt/qt_runtime.h: Ditto.
      
              * bridge/testqtbindings.cpp:
              (main): Use JSValuePtr.
      
      WebKit/mac:
      
      2008-10-19  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Remove most uses of JSValue, which will be removed in a future patch.
      
              * WebView/WebFrame.mm:
              (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
              Use JSValuePtr instead of JSValue.
              * WebView/WebScriptDebugger.h: Removed declaration of JSValue.
      
      WebKit/qt:
      
      2008-10-19  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Remove most uses of JSValue, which will be removed in a future patch.
      
              * Api/qwebframe.cpp:
              (QWebFrame::evaluateJavaScript): Use JSValuePtr.
      
      WebKit/win:
      
      2008-10-19  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Remove most uses of JSValue, which will be removed in a future patch.
      
              * WebScriptCallFrame.cpp:
              (WebScriptCallFrame::jsValueToString): Use JSValuePtr.
              (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString): Ditto.
              (WebScriptCallFrame::valueForVariable): Put more code inside and ifdef.
              (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString): Ditto.
              * WebScriptCallFrame.h: Use JSValuePtr.
      
              * WebView.cpp:
              (WebView::stringByEvaluatingJavaScriptFromString): Use JSValuePtr.
      
      WebKit/wx:
      
      2008-10-19  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Remove most uses of JSValue, which will be removed in a future patch.
      
              * WebFrame.cpp:
              (wxWebFrame::RunScript): Use JSValuePtr.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37706 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      989a6f84
    • darin@apple.com's avatar
      JavaScriptCore: · 5c465b09
      darin@apple.com authored
      2008-10-18  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              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@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              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@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              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@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              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.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37705 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5c465b09
  5. 18 Oct, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · 3076b4b5
      mitz@apple.com authored
              Reviewed by Sam Weinig.
      
              - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=21736
                Long-dead decoded image data make up for most of the object cache's memory use over time
      
              Add a cache setting for how long decoded image data should be allowed to
              persist in memory after the image has died. By default, this is set to
              0, which means "forever".
      
              * loader/Cache.cpp:
              (WebCore::Cache::Cache): Initialize m_deadDecodedDataDeletionInterval.
              * loader/Cache.h:
              (WebCore::Cache::setDeadDecodedDataDeletionInterval): Added a setter.
              (WebCore::Cache::deadDecodedDataDeletionInterval): Added a getter.
              * loader/CachedImage.cpp:
              (WebCore::CachedImage::CachedImage): Initialize the decoded data
              deletion timer.
              (WebCore::CachedImage::decodedDataDeletionTimerFired): Added. Destroys
              the decoded image data.
              (WebCore::CachedImage::addClient): Stop the timer if it is active.
              (WebCore::CachedImage::allClientsRemoved): Start the decoded data
              deletion timer.
              * loader/CachedImage.h:
      
      WebKit/mac:
      
              Reviewed by Sam Weinig.
      
              - WebKit/mac part of https://bugs.webkit.org/show_bug.cgi?id=21736
                Long-dead decoded image data make up for most of the object cache's memory use over time
      
              * WebView/WebView.mm:
              (+[WebView _setCacheModel:]): In the primary web browser model, set the
              cache's dead decoded data deletion interval to 60 seconds.
      
      WebKit/win:
      
      2008-10-18  Dan Bernstein  <mitz@apple.com>
      
              Reviewed by Sam Weinig.
      
              - WebKit/win part of https://bugs.webkit.org/show_bug.cgi?id=21736
                Long-dead decoded image data make up for most of the object cache's memory use over time
      
              * WebView.cpp:
              (WebView::setCacheModel): In the primary web browser model,
              set the cache's dead decoded data deletion interval to 60 seconds.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37689 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3076b4b5
  6. 15 Oct, 2008 6 commits
    • mrowe@apple.com's avatar
      Fix a leak of a CFStringRef reported by the build bot. · 35b0f0eb
      mrowe@apple.com authored
      Reviewed by Jon Honeycutt.
      
      * Plugins/WebBaseNetscapePluginView.mm:
      (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): Use a autoreleased
      NSString rather than manually releasing a CFStringRef when we're done with it.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37626 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      35b0f0eb
    • andersca@apple.com's avatar
      2008-10-15 Kenneth Russell <kenneth.russell@sun.com> · 089de61a
      andersca@apple.com authored
              Reviewed and landed by Anders Carlsson.
      
              https://bugs.webkit.org/show_bug.cgi?id=21572
              
              Initialize pluginFunc.size to the correct size before calling NP_GetEntryPoints.
              
              * Plugins/WebNetscapePluginPackage.m:
              (-[WebNetscapePluginPackage load]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37624 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      089de61a
    • mrowe@apple.com's avatar
      <rdar://problem/6272508> Crash occurs after loading flash content at http://www.macrumors.com/ · 44da9185
      mrowe@apple.com authored
      Restore some code related to the CoreGraphics drawing model that was misplaced in r37131.
      
      Reviewed by Dan Bernstein.
      
      * Plugins/WebBaseNetscapePluginView.mm:
      (-[WebBaseNetscapePluginView invalidateRegion:]):
      (-[WebBaseNetscapePluginView setVariable:value:]):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37623 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      44da9185
    • ggaren@apple.com's avatar
      JavaScriptCore: · 9f98034f
      ggaren@apple.com authored
      2008-10-15  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
              Start the debugger without reloading the inspected page
      
              * JavaScriptCore.exp: New symbols.
              * JavaScriptCore.xcodeproj/project.pbxproj: New files.
      
              * VM/CodeBlock.h:
              (JSC::EvalCodeCache::get): Updated for tweak to parsing API.
      
              * kjs/CollectorHeapIterator.h: Added. An iterator for the object heap,
              which we use to find all the live functions and recompile them.
      
              * kjs/DebuggerCallFrame.cpp:
              (JSC::DebuggerCallFrame::evaluate): Updated for tweak to parsing API.
      
              * kjs/FunctionConstructor.cpp:
              (JSC::constructFunction): Updated for tweak to parsing API.
      
              * kjs/JSFunction.cpp:
              (JSC::JSFunction::JSFunction): Try to validate our SourceCode in debug
              builds by ASSERTing that it's syntactically valid. This doesn't catch
              all SourceCode bugs, but it catches a lot of them.
      
              * kjs/JSGlobalObjectFunctions.cpp:
              (JSC::globalFuncEval): Updated for tweak to parsing API.
      
              * kjs/Parser.cpp:
              (JSC::Parser::parse):
              * kjs/Parser.h:
              (JSC::Parser::parse): Tweaked the parser to make it possible to parse
              without an ExecState, and to allow the client to specify a debugger to
              notify (or not) about the source we parse. This allows the inspector
              to recompile even though no JavaScript is executing, then notify the
              debugger about all source code when it's done.
      
              * kjs/Shell.cpp:
              (prettyPrintScript): Updated for tweak to parsing API.
      
              * kjs/SourceRange.h:
              (JSC::SourceCode::isNull): Added to help with ASSERTs.
      
              * kjs/collector.cpp:
              (JSC::Heap::heapAllocate):
              (JSC::Heap::sweep):
              (JSC::Heap::primaryHeapBegin):
              (JSC::Heap::primaryHeapEnd):
              * kjs/collector.h:
              (JSC::): Moved a bunch of declarations around to enable compilation of
              CollectorHeapIterator.
      
              * kjs/interpreter.cpp:
              (JSC::Interpreter::checkSyntax):
              (JSC::Interpreter::evaluate): Updated for tweak to parsing API.
      
              * kjs/lexer.h:
              (JSC::Lexer::sourceCode): BUG FIX: Calculate SourceCode ranges relative
              to the SourceCode range in which we're lexing, otherwise nested functions
              that are compiled individually get SourceCode ranges that don't reflect
              their nesting.
      
              * kjs/nodes.cpp:
              (JSC::FunctionBodyNode::FunctionBodyNode):
              (JSC::FunctionBodyNode::finishParsing):
              (JSC::FunctionBodyNode::create):
              (JSC::FunctionBodyNode::copyParameters):
              * kjs/nodes.h:
              (JSC::ScopeNode::setSource):
              (JSC::FunctionBodyNode::parameterCount): Added some helper functions for
              copying one FunctionBodyNode's parameters to another. The recompiler uses
              these when calling "finishParsing".
      
      WebCore:
      
      2008-10-15  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
              Start the debugger without reloading the inspected page
      
              * WebCore.base.exp: New symbols.
      
              * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h.
              * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h.
              * WebCore.xcodeproj/project.pbxproj: New forwarding headers.
      
              * inspector/InspectorController.cpp:
              (WebCore::InspectorController::setWindowVisible):
              (WebCore::InspectorController::windowScriptObjectAvailable):
              (WebCore::InspectorController::startDebugging):
              * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage
              to startDebugging, and changed its behavior to match.
      
              * inspector/JavaScriptDebugListener.h:
              * inspector/JavaScriptDebugServer.cpp:
              (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
              (WebCore::JavaScriptDebugServer::addListener):
              (WebCore::JavaScriptDebugServer::removeListener):
              (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
              (WebCore::JavaScriptDebugServer::willAddFirstListener):
              (WebCore::JavaScriptDebugServer::didRemoveLastListener):
              * inspector/JavaScriptDebugServer.h: Refactored the
              JavaScriptDebugServer to centralize handling of adding the first listener
              and removing the last. Then, added a feature to recompile all JS functions
              in these cases. This allows us to dynamically add and remove hooks like
              the debugger hooks without reloading the page.
      
              * inspector/front-end/ScriptsPanel.js:
              * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage =>
              startDebugging rename. Removed all UI that claimed that starting the
              debugger would reload the page.
      
      WebKit/mac:
      
      2008-10-15  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
              Start the debugger without reloading the inspected page
      
              * WebInspector/WebInspector.mm:
              (-[WebInspector startDebuggingJavaScript:]): Updated for rename.
      
      WebKit/win:
      
      2008-10-15  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
              Start the debugger without reloading the inspected page
      
              * WebInspector.cpp:
              (WebInspector::toggleDebuggingJavaScript): Updated for rename.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9f98034f
    • bdakin@apple.com's avatar
      WebCore: · cf22dbac
      bdakin@apple.com authored
      2008-10-14  Maxime Britto  <britto@apple.com>
      
              Reviewed by Darin Adler, tweaked and landed by Beth.
      
              * WebCore.base.exp: Exposes two functions to be able to create a 
              selection from a point on the screen. Also exposes the new 
              TextIterator::currentNode function.
              * WebCore/editing/TextIterator.cpp:
              (TextIterator::currentNode) : New function that returns the current 
              text node or NULL if there is no text node.
      
      WebKit:
      
      2008-10-14  Maxime Britto  <britto@apple.com>
      
              Reviewed by Darin Adler.
      
              * WebKit.xcodeproj/project.pbxproj: Added two files for the 
              WebTextIterator, and made the WebTextIterator.h private
      
      WebKit/mac:
      
      2008-10-14  Maxime Britto  <britto@apple.com>
      
              Reviewed by Darin Adler.
      
              Added SPI to use WebCore's TextIterator with WebKit.
      
              * WebView/WebTextIterator.h: Added.
              * WebView/WebTextIterator.mm: Added.
              (-[WebTextIteratorPrivate dealloc]):
              (-[WebTextIterator dealloc]):
              (-[WebTextIterator initWithRange:]): Creates a TextIterator 
              instance
              (-[WebTextIterator advance]): Asks the iterator to advance() .
              (-[WebTextIterator currentNode]): Returns the current DOMNode from 
              the iterator
              (-[WebTextIterator currentText]): Returns the current text from the 
              iterator
              (-[WebTextIterator atEnd]): Indicated whether the iterator has 
              reached the end of the range.
              * WebView/WebView.h:
              * WebView/WebView.mm:
              (-[WebView textIteratorForRect:]): Returns a WebTextIterator with 
              the DOMRange contained in the rectangle given as a parameter.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cf22dbac
    • timothy@apple.com's avatar
      Clean up user agent generation to simplify the _standardUserAgentWithApplicationName: · 497ea93c
      timothy@apple.com authored
              class method to not require a WebKit version.
      
              Reviewed by Darin Adler.
      
              * WebView/WebView.mm:
              (+[WebView _standardUserAgentWithApplicationName:]): Create the WebKit version.
              (-[WebView WebCore::_userAgentForURL:]): Use the simplified _standardUserAgentWithApplicationName:.
              Remove code that created the WebKit version.
              * WebView/WebViewPrivate.h: Change the method name of _standardUserAgentWithApplicationName:.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      497ea93c
  7. 14 Oct, 2008 1 commit
    • timothy@apple.com's avatar
      Make the user agent generation method a class method and cache the WebKit · 1f58664f
      timothy@apple.com authored
              version in a static to prevent generating it every time. This is needed
              clean up to fix <rdar://problem/6292331>. Moved all code to WebPrivate so
              the class method can be in the WebViewPrivate.h header.
      
              Reviewed by John Sullivan.
      
              * WebView/WebView.mm:
              (callGestalt): Moved. Same code.
              (createMacOSXVersionString): Moved. Same code.
              (createUserVisibleWebKitVersionString): Moved from _userVisibleBundleVersionFromFullVersion:
              and returns a copied string.
              (+[WebView _standardUserAgentWithApplicationName:andWebKitVersion:]): Made into a class method.
              (-[WebView WebCore::_userAgentForURL:]): Changed to cache the WebKit version.
              * WebView/WebViewPrivate.h: Added +_standardUserAgentWithApplicationName:andWebKitVersion:.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37598 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1f58664f
  8. 13 Oct, 2008 1 commit
    • mjs@apple.com's avatar
      JavaScriptCore: · 268962eb
      mjs@apple.com authored
      2008-10-13  Maciej Stachowiak  <mjs@apple.com>
      
              Rubber stamped by Mark Rowe.
              
              - fixed <rdar://problem/5806316> JavaScriptCore should not force building with gcc 4.0
              - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
      
              * Configurations/DebugRelease.xcconfig:
              * JavaScriptCore.xcodeproj/project.pbxproj:
      
      JavaScriptGlue:
      
      2008-10-13  Maciej Stachowiak  <mjs@apple.com>
      
              Rubber stamped by Mark Rowe.
              
              - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
      
              * Configurations/DebugRelease.xcconfig:
      
      WebCore:
      
      2008-10-13  Maciej Stachowiak  <mjs@apple.com>
      
              Rubber stamped by Mark Rowe.
              
              - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
      
              * Configurations/DebugRelease.xcconfig:
      
      WebKit/mac:
      
      2008-10-13  Maciej Stachowiak  <mjs@apple.com>
      
              Rubber stamped by Mark Rowe.
              
              - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
      
              * Configurations/DebugRelease.xcconfig:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37572 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      268962eb
  9. 11 Oct, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · f0f7ed8e
      mitz@apple.com authored
              Reviewed by Sam Weinig.
      
              - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath
                and add a corresponding getter; add the same functions on Windows
      
              * WebCore.base.exp:
              * platform/graphics/Font.cpp:
              (WebCore::Font::setCodePath):
              (WebCore::codePath):
              (WebCore::Font::canUseGlyphCache):
              * platform/graphics/Font.h:
              * platform/mac/WebCoreTextRenderer.h:
              * platform/mac/WebCoreTextRenderer.mm:
              (WebCoreSetAlwaysUsesComplexTextCodePath):
              (WebCoreAlwaysUsesComplexTextCodePath):
              * platform/win/WebCoreTextRenderer.cpp:
              (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
              (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
              * platform/win/WebCoreTextRenderer.h:
      
      WebKit/mac:
      
              Reviewed by Sam Weinig.
      
              - rename _setAlwaysUseATSU to _setAlwaysUsesComplexTextCodePath and
                update it for the renamed WebCoreTextRenderer method; keep the old
                method around for clients that use it
      
              * WebView/WebView.mm:
              (+[WebView _setAlwaysUseATSU:]):
              (+[WebView _setAlwaysUsesComplexTextCodePath:]):
              * WebView/WebViewPrivate.h:
      
      WebKit/win:
      
              Reviewed by Sam Weinig.
      
              - add SPI for forcing the complex text code path to be used for all text
      
              * Interfaces/IWebViewPrivate.idl:
              * WebView.cpp:
              (WebView::setAlwaysUsesComplexTextCodePath):
              (WebView::alwaysUsesComplexTextCodePath):
              * WebView.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37511 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f0f7ed8e
  10. 09 Oct, 2008 1 commit
    • timothy@apple.com's avatar
      Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h... · 746258bd
      timothy@apple.com authored
      Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h availability macros and version macros.
      
      WebCore:
      
      2008-10-09  Timothy Hatcher  <timothy@apple.com>
      
              Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
              availability macros and version macros.
      
              https://bugs.webkit.org/show_bug.cgi?id=21496
              rdar://problem/6259225
      
              Reviewed by Sam Weinig.
      
              * bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
              * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h
              and add an #if around the enum.
              * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the
              comment to match the other headers.
              * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
              * bindings/objc/DOMObject.h: Add a version #if around class interface.
              * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h
              and add a version #if around the enum.
              * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
              * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
              * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for
              when they where added to WebKit. Also annotate individual methods that are
              deprecated or where added after the class was added to WebKit.
              * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h
              since this header is included by most DOM headers. Annotate the JSObject method.
      
              * bindings/scripts/CodeGeneratorObjC.pm:
              (ReadPublicInterfaces): Parse out the availability macro for each function/property.
              And parse out the availability version for the class/protocol. Default to
              WEBKIT_VERSION_LATEST if the class is new.
              (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the
              interface availability version check if the class has a required version. Create
              a public interface key (used to lookup in $publicInterfaces) and make a declaration
              suffix that includes the availability macro (if needed). Use the "available in 1.3
              and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as
              the default availability macro for old style methods. Tweak line breaks in the generated
              headers to look good and not have too many extra lines.
      
      WebKit/mac:
      
      2008-10-09  Timothy Hatcher  <timothy@apple.com>
      
              Don't convert JavaScriptCore header include paths to WebKit paths. This was needed
              back when NPAPI and WebScriptObject migrated from JavaScriptCore. Also remove
              JavaScriptCore from the VPATH.
      
              Reviewed by Sam Weinig.
      
              * MigrateHeaders.make:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37465 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      746258bd
  11. 08 Oct, 2008 3 commits
    • darin@apple.com's avatar
      JavaScriptCore: · 8c2bac03
      darin@apple.com authored
      2008-10-08  Darin Adler  <darin@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              - https://bugs.webkit.org/show_bug.cgi?id=21403
                Bug 21403: use new CallFrame class rather than Register* for call frame manipulation
      
              Add CallFrame as a synonym for ExecState. Arguably, some day we should switch every
              client over to the new name.
      
              Use CallFrame* consistently rather than Register* or ExecState* in low-level code such
              as Machine.cpp and CTI.cpp. Similarly, use callFrame rather than r as its name and use
              accessor functions to get at things in the frame.
      
              Eliminate other uses of ExecState* that aren't needed, replacing in some cases with
              JSGlobalData* and in other cases eliminating them entirely.
      
              * API/JSObjectRef.cpp:
              (JSObjectMakeFunctionWithCallback):
              (JSObjectMakeFunction):
              (JSObjectHasProperty):
              (JSObjectGetProperty):
              (JSObjectSetProperty):
              (JSObjectDeleteProperty):
              * API/OpaqueJSString.cpp:
              * API/OpaqueJSString.h:
              * VM/CTI.cpp:
              (JSC::CTI::getConstant):
              (JSC::CTI::emitGetArg):
              (JSC::CTI::emitGetPutArg):
              (JSC::CTI::getConstantImmediateNumericArg):
              (JSC::CTI::printOpcodeOperandTypes):
              (JSC::CTI::CTI):
              (JSC::CTI::compileOpCall):
              (JSC::CTI::compileBinaryArithOp):
              (JSC::CTI::privateCompileMainPass):
              (JSC::CTI::privateCompile):
              (JSC::CTI::privateCompileGetByIdProto):
              (JSC::CTI::privateCompileGetByIdChain):
              (JSC::CTI::compileRegExp):
              * VM/CTI.h:
              * VM/CodeBlock.h:
              * VM/CodeGenerator.cpp:
              (JSC::CodeGenerator::emitEqualityOp):
              (JSC::CodeGenerator::emitLoad):
              (JSC::CodeGenerator::emitUnexpectedLoad):
              (JSC::CodeGenerator::emitConstruct):
              * VM/CodeGenerator.h:
              * VM/Machine.cpp:
              (JSC::jsLess):
              (JSC::jsLessEq):
              (JSC::jsAddSlowCase):
              (JSC::jsAdd):
              (JSC::jsTypeStringForValue):
              (JSC::Machine::resolve):
              (JSC::Machine::resolveSkip):
              (JSC::Machine::resolveGlobal):
              (JSC::inlineResolveBase):
              (JSC::Machine::resolveBase):
              (JSC::Machine::resolveBaseAndProperty):
              (JSC::Machine::resolveBaseAndFunc):
              (JSC::Machine::slideRegisterWindowForCall):
              (JSC::isNotObject):
              (JSC::Machine::callEval):
              (JSC::Machine::dumpCallFrame):
              (JSC::Machine::dumpRegisters):
              (JSC::Machine::unwindCallFrame):
              (JSC::Machine::throwException):
              (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope):
              (JSC::DynamicGlobalObjectScope::~DynamicGlobalObjectScope):
              (JSC::Machine::execute):
              (JSC::Machine::debug):
              (JSC::Machine::createExceptionScope):
              (JSC::cachePrototypeChain):
              (JSC::Machine::tryCachePutByID):
              (JSC::Machine::tryCacheGetByID):
              (JSC::Machine::privateExecute):
              (JSC::Machine::retrieveArguments):
              (JSC::Machine::retrieveCaller):
              (JSC::Machine::retrieveLastCaller):
              (JSC::Machine::findFunctionCallFrame):
              (JSC::Machine::getArgumentsData):
              (JSC::Machine::tryCTICachePutByID):
              (JSC::Machine::getCTIArrayLengthTrampoline):
              (JSC::Machine::getCTIStringLengthTrampoline):
              (JSC::Machine::tryCTICacheGetByID):
              (JSC::Machine::cti_op_convert_this):
              (JSC::Machine::cti_op_end):
              (JSC::Machine::cti_op_add):
              (JSC::Machine::cti_op_pre_inc):
              (JSC::Machine::cti_timeout_check):
              (JSC::Machine::cti_op_loop_if_less):
              (JSC::Machine::cti_op_loop_if_lesseq):
              (JSC::Machine::cti_op_new_object):
              (JSC::Machine::cti_op_put_by_id):
              (JSC::Machine::cti_op_put_by_id_second):
              (JSC::Machine::cti_op_put_by_id_generic):
              (JSC::Machine::cti_op_put_by_id_fail):
              (JSC::Machine::cti_op_get_by_id):
              (JSC::Machine::cti_op_get_by_id_second):
              (JSC::Machine::cti_op_get_by_id_generic):
              (JSC::Machine::cti_op_get_by_id_fail):
              (JSC::Machine::cti_op_instanceof):
              (JSC::Machine::cti_op_del_by_id):
              (JSC::Machine::cti_op_mul):
              (JSC::Machine::cti_op_new_func):
              (JSC::Machine::cti_op_call_JSFunction):
              (JSC::Machine::cti_vm_compile):
              (JSC::Machine::cti_op_push_activation):
              (JSC::Machine::cti_op_call_NotJSFunction):
              (JSC::Machine::cti_op_create_arguments):
              (JSC::Machine::cti_op_tear_off_activation):
              (JSC::Machine::cti_op_tear_off_arguments):
              (JSC::Machine::cti_op_ret_profiler):
              (JSC::Machine::cti_op_ret_scopeChain):
              (JSC::Machine::cti_op_new_array):
              (JSC::Machine::cti_op_resolve):
              (JSC::Machine::cti_op_construct_JSConstruct):
              (JSC::Machine::cti_op_construct_NotJSConstruct):
              (JSC::Machine::cti_op_get_by_val):
              (JSC::Machine::cti_op_resolve_func):
              (JSC::Machine::cti_op_sub):
              (JSC::Machine::cti_op_put_by_val):
              (JSC::Machine::cti_op_put_by_val_array):
              (JSC::Machine::cti_op_lesseq):
              (JSC::Machine::cti_op_loop_if_true):
              (JSC::Machine::cti_op_negate):
              (JSC::Machine::cti_op_resolve_base):
              (JSC::Machine::cti_op_resolve_skip):
              (JSC::Machine::cti_op_resolve_global):
              (JSC::Machine::cti_op_div):
              (JSC::Machine::cti_op_pre_dec):
              (JSC::Machine::cti_op_jless):
              (JSC::Machine::cti_op_not):
              (JSC::Machine::cti_op_jtrue):
              (JSC::Machine::cti_op_post_inc):
              (JSC::Machine::cti_op_eq):
              (JSC::Machine::cti_op_lshift):
              (JSC::Machine::cti_op_bitand):
              (JSC::Machine::cti_op_rshift):
              (JSC::Machine::cti_op_bitnot):
              (JSC::Machine::cti_op_resolve_with_base):
              (JSC::Machine::cti_op_new_func_exp):
              (JSC::Machine::cti_op_mod):
              (JSC::Machine::cti_op_less):
              (JSC::Machine::cti_op_neq):
              (JSC::Machine::cti_op_post_dec):
              (JSC::Machine::cti_op_urshift):
              (JSC::Machine::cti_op_bitxor):
              (JSC::Machine::cti_op_new_regexp):
              (JSC::Machine::cti_op_bitor):
              (JSC::Machine::cti_op_call_eval):
              (JSC::Machine::cti_op_throw):
              (JSC::Machine::cti_op_get_pnames):
              (JSC::Machine::cti_op_next_pname):
              (JSC::Machine::cti_op_push_scope):
              (JSC::Machine::cti_op_pop_scope):
              (JSC::Machine::cti_op_typeof):
              (JSC::Machine::cti_op_to_jsnumber):
              (JSC::Machine::cti_op_in):
              (JSC::Machine::cti_op_push_new_scope):
              (JSC::Machine::cti_op_jmp_scopes):
              (JSC::Machine::cti_op_put_by_index):
              (JSC::Machine::cti_op_switch_imm):
              (JSC::Machine::cti_op_switch_char):
              (JSC::Machine::cti_op_switch_string):
              (JSC::Machine::cti_op_del_by_val):
              (JSC::Machine::cti_op_put_getter):
              (JSC::Machine::cti_op_put_setter):
              (JSC::Machine::cti_op_new_error):
              (JSC::Machine::cti_op_debug):
              (JSC::Machine::cti_vm_throw):
              * VM/Machine.h:
              * VM/Register.h:
              * VM/RegisterFile.h:
              * kjs/Arguments.h:
              * kjs/DebuggerCallFrame.cpp:
              (JSC::DebuggerCallFrame::functionName):
              (JSC::DebuggerCallFrame::type):
              (JSC::DebuggerCallFrame::thisObject):
              (JSC::DebuggerCallFrame::evaluate):
              * kjs/DebuggerCallFrame.h:
              * kjs/ExecState.cpp:
              (JSC::CallFrame::thisValue):
              * kjs/ExecState.h:
              * kjs/FunctionConstructor.cpp:
              (JSC::constructFunction):
              * kjs/JSActivation.cpp:
              (JSC::JSActivation::JSActivation):
              (JSC::JSActivation::argumentsGetter):
              * kjs/JSActivation.h:
              * kjs/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::init):
              * kjs/JSGlobalObjectFunctions.cpp:
              (JSC::globalFuncEval):
              * kjs/JSVariableObject.h:
              * kjs/Parser.cpp:
              (JSC::Parser::parse):
              * kjs/RegExpConstructor.cpp:
              (JSC::constructRegExp):
              * kjs/RegExpPrototype.cpp:
              (JSC::regExpProtoFuncCompile):
              * kjs/Shell.cpp:
              (prettyPrintScript):
              * kjs/StringPrototype.cpp:
              (JSC::stringProtoFuncMatch):
              (JSC::stringProtoFuncSearch):
              * kjs/identifier.cpp:
              (JSC::Identifier::checkSameIdentifierTable):
              * kjs/interpreter.cpp:
              (JSC::Interpreter::checkSyntax):
              (JSC::Interpreter::evaluate):
              * kjs/nodes.cpp:
              (JSC::ThrowableExpressionData::emitThrowError):
              (JSC::RegExpNode::emitCode):
              (JSC::ArrayNode::emitCode):
              (JSC::InstanceOfNode::emitCode):
              * kjs/nodes.h:
              * kjs/regexp.cpp:
              (JSC::RegExp::RegExp):
              (JSC::RegExp::create):
              * kjs/regexp.h:
              * profiler/HeavyProfile.h:
              * profiler/Profile.h:
              * wrec/WREC.cpp:
              * wrec/WREC.h:
      
      WebKit/mac:
      
      2008-10-08  Darin Adler  <darin@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              - https://bugs.webkit.org/show_bug.cgi?id=21403
                Bug 21403: use new CallFrame class rather than Register* for call frame manipulation
      
              * WebView/WebScriptDebugger.mm:
              (WebScriptDebugger::WebScriptDebugger): Update since DebuggerCallFrame is simpler now.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37433 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c2bac03
    • timothy@apple.com's avatar
    • darin@apple.com's avatar
      JavaScriptCore: · 35fb1e41
      darin@apple.com authored
      2008-10-08  Darin Adler  <darin@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              - https://bugs.webkit.org/show_bug.cgi?id=21403
                Bug 21403: use new CallFrame class rather than Register* for call frame manipulation
      
              Add CallFrame as a synonym for ExecState. Arguably, some day we should switch every
              client over to the new name.
      
              Use CallFrame* consistently rather than Register* or ExecState* in low-level code such
              as Machine.cpp and CTI.cpp. Similarly, use callFrame rather than r as its name and use
              accessor functions to get at things in the frame.
      
              Eliminate other uses of ExecState* that aren't needed, replacing in some cases with
              JSGlobalData* and in other cases eliminating them entirely.
      
              * API/JSObjectRef.cpp:
              (JSObjectMakeFunctionWithCallback):
              (JSObjectMakeFunction):
              (JSObjectHasProperty):
              (JSObjectGetProperty):
              (JSObjectSetProperty):
              (JSObjectDeleteProperty):
              * API/OpaqueJSString.cpp:
              * API/OpaqueJSString.h:
              * VM/CTI.cpp:
              (JSC::CTI::getConstant):
              (JSC::CTI::emitGetArg):
              (JSC::CTI::emitGetPutArg):
              (JSC::CTI::getConstantImmediateNumericArg):
              (JSC::CTI::printOpcodeOperandTypes):
              (JSC::CTI::CTI):
              (JSC::CTI::compileOpCall):
              (JSC::CTI::compileBinaryArithOp):
              (JSC::CTI::privateCompileMainPass):
              (JSC::CTI::privateCompile):
              (JSC::CTI::privateCompileGetByIdProto):
              (JSC::CTI::privateCompileGetByIdChain):
              (JSC::CTI::compileRegExp):
              * VM/CTI.h:
              * VM/CodeBlock.h:
              * VM/CodeGenerator.cpp:
              (JSC::CodeGenerator::emitEqualityOp):
              (JSC::CodeGenerator::emitLoad):
              (JSC::CodeGenerator::emitUnexpectedLoad):
              (JSC::CodeGenerator::emitConstruct):
              * VM/CodeGenerator.h:
              * VM/Machine.cpp:
              (JSC::jsLess):
              (JSC::jsLessEq):
              (JSC::jsAddSlowCase):
              (JSC::jsAdd):
              (JSC::jsTypeStringForValue):
              (JSC::Machine::resolve):
              (JSC::Machine::resolveSkip):
              (JSC::Machine::resolveGlobal):
              (JSC::inlineResolveBase):
              (JSC::Machine::resolveBase):
              (JSC::Machine::resolveBaseAndProperty):
              (JSC::Machine::resolveBaseAndFunc):
              (JSC::Machine::slideRegisterWindowForCall):
              (JSC::isNotObject):
              (JSC::Machine::callEval):
              (JSC::Machine::dumpCallFrame):
              (JSC::Machine::dumpRegisters):
              (JSC::Machine::unwindCallFrame):
              (JSC::Machine::throwException):
              (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope):
              (JSC::DynamicGlobalObjectScope::~DynamicGlobalObjectScope):
              (JSC::Machine::execute):
              (JSC::Machine::debug):
              (JSC::Machine::createExceptionScope):
              (JSC::cachePrototypeChain):
              (JSC::Machine::tryCachePutByID):
              (JSC::Machine::tryCacheGetByID):
              (JSC::Machine::privateExecute):
              (JSC::Machine::retrieveArguments):
              (JSC::Machine::retrieveCaller):
              (JSC::Machine::retrieveLastCaller):
              (JSC::Machine::findFunctionCallFrame):
              (JSC::Machine::getArgumentsData):
              (JSC::Machine::tryCTICachePutByID):
              (JSC::Machine::getCTIArrayLengthTrampoline):
              (JSC::Machine::getCTIStringLengthTrampoline):
              (JSC::Machine::tryCTICacheGetByID):
              (JSC::Machine::cti_op_convert_this):
              (JSC::Machine::cti_op_end):
              (JSC::Machine::cti_op_add):
              (JSC::Machine::cti_op_pre_inc):
              (JSC::Machine::cti_timeout_check):
              (JSC::Machine::cti_op_loop_if_less):
              (JSC::Machine::cti_op_loop_if_lesseq):
              (JSC::Machine::cti_op_new_object):
              (JSC::Machine::cti_op_put_by_id):
              (JSC::Machine::cti_op_put_by_id_second):
              (JSC::Machine::cti_op_put_by_id_generic):
              (JSC::Machine::cti_op_put_by_id_fail):
              (JSC::Machine::cti_op_get_by_id):
              (JSC::Machine::cti_op_get_by_id_second):
              (JSC::Machine::cti_op_get_by_id_generic):
              (JSC::Machine::cti_op_get_by_id_fail):
              (JSC::Machine::cti_op_instanceof):
              (JSC::Machine::cti_op_del_by_id):
              (JSC::Machine::cti_op_mul):
              (JSC::Machine::cti_op_new_func):
              (JSC::Machine::cti_op_call_JSFunction):
              (JSC::Machine::cti_vm_compile):
              (JSC::Machine::cti_op_push_activation):
              (JSC::Machine::cti_op_call_NotJSFunction):
              (JSC::Machine::cti_op_create_arguments):
              (JSC::Machine::cti_op_tear_off_activation):
              (JSC::Machine::cti_op_tear_off_arguments):
              (JSC::Machine::cti_op_ret_profiler):
              (JSC::Machine::cti_op_ret_scopeChain):
              (JSC::Machine::cti_op_new_array):
              (JSC::Machine::cti_op_resolve):
              (JSC::Machine::cti_op_construct_JSConstruct):
              (JSC::Machine::cti_op_construct_NotJSConstruct):
              (JSC::Machine::cti_op_get_by_val):
              (JSC::Machine::cti_op_resolve_func):
              (JSC::Machine::cti_op_sub):
              (JSC::Machine::cti_op_put_by_val):
              (JSC::Machine::cti_op_put_by_val_array):
              (JSC::Machine::cti_op_lesseq):
              (JSC::Machine::cti_op_loop_if_true):
              (JSC::Machine::cti_op_negate):
              (JSC::Machine::cti_op_resolve_base):
              (JSC::Machine::cti_op_resolve_skip):
              (JSC::Machine::cti_op_resolve_global):
              (JSC::Machine::cti_op_div):
              (JSC::Machine::cti_op_pre_dec):
              (JSC::Machine::cti_op_jless):
              (JSC::Machine::cti_op_not):
              (JSC::Machine::cti_op_jtrue):
              (JSC::Machine::cti_op_post_inc):
              (JSC::Machine::cti_op_eq):
              (JSC::Machine::cti_op_lshift):
              (JSC::Machine::cti_op_bitand):
              (JSC::Machine::cti_op_rshift):
              (JSC::Machine::cti_op_bitnot):
              (JSC::Machine::cti_op_resolve_with_base):
              (JSC::Machine::cti_op_new_func_exp):
              (JSC::Machine::cti_op_mod):
              (JSC::Machine::cti_op_less):
              (JSC::Machine::cti_op_neq):
              (JSC::Machine::cti_op_post_dec):
              (JSC::Machine::cti_op_urshift):
              (JSC::Machine::cti_op_bitxor):
              (JSC::Machine::cti_op_new_regexp):
              (JSC::Machine::cti_op_bitor):
              (JSC::Machine::cti_op_call_eval):
              (JSC::Machine::cti_op_throw):
              (JSC::Machine::cti_op_get_pnames):
              (JSC::Machine::cti_op_next_pname):
              (JSC::Machine::cti_op_push_scope):
              (JSC::Machine::cti_op_pop_scope):
              (JSC::Machine::cti_op_typeof):
              (JSC::Machine::cti_op_to_jsnumber):
              (JSC::Machine::cti_op_in):
              (JSC::Machine::cti_op_push_new_scope):
              (JSC::Machine::cti_op_jmp_scopes):
              (JSC::Machine::cti_op_put_by_index):
              (JSC::Machine::cti_op_switch_imm):
              (JSC::Machine::cti_op_switch_char):
              (JSC::Machine::cti_op_switch_string):
              (JSC::Machine::cti_op_del_by_val):
              (JSC::Machine::cti_op_put_getter):
              (JSC::Machine::cti_op_put_setter):
              (JSC::Machine::cti_op_new_error):
              (JSC::Machine::cti_op_debug):
              (JSC::Machine::cti_vm_throw):
              * VM/Machine.h:
              * VM/Register.h:
              * VM/RegisterFile.h:
              * kjs/Arguments.h:
              * kjs/DebuggerCallFrame.cpp:
              (JSC::DebuggerCallFrame::functionName):
              (JSC::DebuggerCallFrame::type):
              (JSC::DebuggerCallFrame::thisObject):
              (JSC::DebuggerCallFrame::evaluate):
              * kjs/DebuggerCallFrame.h:
              * kjs/ExecState.cpp:
              (JSC::CallFrame::thisValue):
              * kjs/ExecState.h:
              * kjs/FunctionConstructor.cpp:
              (JSC::constructFunction):
              * kjs/JSActivation.cpp:
              (JSC::JSActivation::JSActivation):
              (JSC::JSActivation::argumentsGetter):
              * kjs/JSActivation.h:
              * kjs/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::init):
              * kjs/JSGlobalObjectFunctions.cpp:
              (JSC::globalFuncEval):
              * kjs/JSVariableObject.h:
              * kjs/Parser.cpp:
              (JSC::Parser::parse):
              * kjs/RegExpConstructor.cpp:
              (JSC::constructRegExp):
              * kjs/RegExpPrototype.cpp:
              (JSC::regExpProtoFuncCompile):
              * kjs/Shell.cpp:
              (prettyPrintScript):
              * kjs/StringPrototype.cpp:
              (JSC::stringProtoFuncMatch):
              (JSC::stringProtoFuncSearch):
              * kjs/identifier.cpp:
              (JSC::Identifier::checkSameIdentifierTable):
              * kjs/interpreter.cpp:
              (JSC::Interpreter::checkSyntax):
              (JSC::Interpreter::evaluate):
              * kjs/nodes.cpp:
              (JSC::ThrowableExpressionData::emitThrowError):
              (JSC::RegExpNode::emitCode):
              (JSC::ArrayNode::emitCode):
              (JSC::InstanceOfNode::emitCode):
              * kjs/nodes.h:
              * kjs/regexp.cpp:
              (JSC::RegExp::RegExp):
              (JSC::RegExp::create):
              * kjs/regexp.h:
              * profiler/HeavyProfile.h:
              * profiler/Profile.h:
              * wrec/WREC.cpp:
              * wrec/WREC.h:
      
      WebKit/mac:
      
      2008-10-08  Darin Adler  <darin@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              - https://bugs.webkit.org/show_bug.cgi?id=21403
                Bug 21403: use new CallFrame class rather than Register* for call frame manipulation
      
              * WebView/WebScriptDebugger.mm:
              (WebScriptDebugger::WebScriptDebugger): Update since DebuggerCallFrame is simpler now.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37427 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      35fb1e41
  12. 07 Oct, 2008 7 commits
    • hyatt@apple.com's avatar
      2008-10-07 David Hyatt <hyatt@apple.com> · c0f91068
      hyatt@apple.com authored
              Move viewless WebKit methods that Safari needs from WebViewInternal to WebViewPrivate.
      
              Reviewed by Tim Hatcher
      
              * WebView/WebView.mm:
              (WebKitInitializeApplicationCachePathIfNecessary):
              (-[WebView _registerDraggedTypes]):
              (-[WebView _usesDocumentViews]):
              (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
              (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]):
              (-[WebView isFlipped]):
              (-[WebView viewWillDraw]):
              * WebView/WebViewInternal.h:
              * WebView/WebViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37387 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c0f91068
    • hyatt@apple.com's avatar
      2008-10-07 David Hyatt <hyatt@apple.com> · 6eec79f9
      hyatt@apple.com authored
              Fix crash in isFlipped.  Null check _private since isFlipped can get called from within AppKit
              machinery during teardown of the WebView.
      
              Reviewed by Adam Roben
      
              * WebView/WebView.mm:
              (-[WebView isFlipped]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37385 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6eec79f9
    • hyatt@apple.com's avatar
      2008-10-07 David Hyatt <hyatt@apple.com> · b2ec5139
      hyatt@apple.com authored
              Make viewless WebKit update focused and active state when the window becomes and loses key.
              The focus controller has been patched to understand that in viewless mode it can recur down and
              update all of the frames, which is why this code works now when placed just on the WebView.
      
              Reviewed by Adam Roben
      
              * WebView/WebView.mm:
              (-[WebView addWindowObservers]):
              (-[WebView removeWindowObservers]):
              (-[WebView viewWillMoveToWindow:]):
              (-[WebView viewDidMoveToWindow]):
              (-[WebView _updateFocusedAndActiveState]):
              (-[WebView _windowDidBecomeKey:]):
              (-[WebView _windowDidResignKey:]):
              (-[WebView _windowWillOrderOnScreen:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37384 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b2ec5139
    • hyatt@apple.com's avatar
      2008-10-07 David Hyatt <hyatt@apple.com> · 67399b7b
      hyatt@apple.com authored
              Make sure the parent visibility state is set up properly on the outermost ScrollView widget.
              This fixes the repainting issues with viewless WebKit on Mac.
      
              Reviewed by Sam Weinig
      
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::transitionToCommittedForNewPage):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37375 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      67399b7b
    • hyatt@apple.com's avatar
      2008-10-07 David Hyatt <hyatt@apple.com> · ddc0558d
      hyatt@apple.com authored
              Make sure viewless Mac WebKit does a layout if needed before drawing.
      
              Reviewed by Sam Weinig
      
              * WebView/WebView.mm:
              (-[WebView viewWillDraw]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37373 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ddc0558d
    • hyatt@apple.com's avatar
      2008-10-07 David Hyatt <hyatt@apple.com> · 1df18843
      hyatt@apple.com authored
              Make sure observers get hooked up to watch for size changes in viewless WebKit mode.
      
              Reviewed by Sam Weinig
      
              * ChangeLog:
              * WebView/WebFrame.mm:
              (-[WebFrame _drawRect:contentsOnly:]):
              * WebView/WebView.mm:
              (-[WebView viewWillDraw]):
              (-[WebView _boundsChanged]):
              (-[WebView addSizeObservers]):
              (-[WebView viewDidMoveToWindow]):
              (-[WebView viewDidMoveToSuperview]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37372 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1df18843
    • hyatt@apple.com's avatar
      WebCore: · 3cb50a82
      hyatt@apple.com authored
      2008-10-06  David Hyatt  <hyatt@apple.com>
      
              Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
      
              Reviewed by Sam Weinig
      
              * WebCore.base.exp:
              * WebCore.xcodeproj/project.pbxproj:
              * loader/EmptyClients.h:
              (WebCore::EmptyFrameLoaderClient::hasWebView):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::loadWithDocumentLoader):
              (WebCore::FrameLoader::transitionToCommitted):
              * loader/FrameLoaderClient.h:
              * page/FocusController.cpp:
              (WebCore::FocusController::setActive):
              * page/FrameView.cpp:
              (WebCore::FrameView::FrameView):
              (WebCore::FrameView::init):
              (WebCore::FrameView::layoutIfNeededRecursive):
              * page/FrameView.h:
      
      WebKit/gtk:
      
      2008-10-06  David Hyatt  <hyatt@apple.com>
      
              Enable viewless Mac WebKit to paint some basic pages.
              
              Reviewed by Sam Weinig
      
              * WebCoreSupport/FrameLoaderClientGtk.cpp:
              (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
              * WebCoreSupport/FrameLoaderClientGtk.h:
      
      WebKit/mac:
      
      2008-10-06  David Hyatt  <hyatt@apple.com>
      
              Enable viewless Mac WebKit to paint some basic pages.
              
              Reviewed by Sam Weinig
      
              * WebCoreSupport/WebChromeClient.mm:
              (WebChromeClient::windowResizerRect):
              (WebChromeClient::repaint):
              (WebChromeClient::screenToWindow):
              (WebChromeClient::windowToScreen):
              (WebChromeClient::platformWindow):
              * WebCoreSupport/WebFrameLoaderClient.h:
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::forceLayoutForNonHTML):
              (WebFrameLoaderClient::dispatchDidCommitLoad):
              (WebFrameLoaderClient::transitionToCommittedForNewPage):
              (WebFrameLoaderClient::createFrame):
              * WebView/WebFrame.mm:
              (-[WebFrame _drawRect:contentsOnly:]):
              * WebView/WebFrameInternal.h:
              * WebView/WebFrameView.mm:
              * WebView/WebFrameViewInternal.h:
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView drawSingleRect:]):
              (-[WebHTMLView drawRect:]):
              * WebView/WebView.mm:
              (-[WebView isFlipped]):
              (-[WebView _boundsChanged]):
              (-[WebView _mustDrawUnionedRect:singleRects:count:]):
              (-[WebView drawSingleRect:]):
              (-[WebView drawRect:]):
              (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
              (-[WebView initWithFrame:frameName:groupName:]):
              (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]):
              (-[WebView initWithCoder:]):
              (-[WebView removeSizeObservers]):
              (-[WebView viewWillMoveToWindow:]):
              (-[WebView viewWillMoveToSuperview:]):
              (-[WebView _usesDocumentViews]):
              * WebView/WebViewInternal.h:
      
      WebKit/qt:
      
      2008-10-06  David Hyatt  <hyatt@apple.com>
      
              Enable viewless Mac WebKit to paint some basic pages.
              
              Reviewed by Sam Weinig
      
              * WebCoreSupport/FrameLoaderClientQt.cpp:
              (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
      
      WebKit/win:
      
      2008-10-06  David Hyatt  <hyatt@apple.com>
      
              Enable viewless Mac WebKit to paint some basic pages.
              
              Reviewed by Sam Weinig
      
              * WebCoreSupport/WebFrameLoaderClient.cpp:
              (WebFrameLoaderClient::createFrame):
              * WebCoreSupport/WebFrameLoaderClient.h:
      
      WebKit/wx:
      
      2008-10-06  David Hyatt  <hyatt@apple.com>
      
              Enable viewless Mac WebKit to paint some basic pages.
              
              Reviewed by Sam Weinig
      
              * WebKitSupport/FrameLoaderClientWx.cpp:
              * WebKitSupport/FrameLoaderClientWx.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37371 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3cb50a82
  13. 06 Oct, 2008 9 commits
    • kdecker@apple.com's avatar
      Rubber-stamped by Anders Carlsson. · d5bea26e
      kdecker@apple.com authored
              Rename _webkit_applicationCacheDirectoryWithBundleIdentifier to _webkit_localCacheDirectoryWithBundleIdentifier.
              
              * Misc/WebKitNSStringExtras.h:
              * Misc/WebKitNSStringExtras.m:
              (+[NSString _webkit_localCacheDirectoryWithBundleIdentifier:]):
              * WebView/WebDataSource.mm:
              (-[WebDataSource _transferApplicationCache:]):
              * WebView/WebView.mm:
              (WebKitInitializeApplicationCachePathIfNecessary):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37348 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d5bea26e
    • andersca@apple.com's avatar
      2008-10-06 Anders Carlsson <andersca@apple.com> · 74953c02
      andersca@apple.com authored
              Reviewed by Sam Weinig.
      
              Make WebNetscapePluginStream a WebCore::NetscapePlugInStreamLoaderClient.
              
              * Plugins/WebBaseNetscapePluginStream.h:
              (WebNetscapePluginStream::~WebNetscapePluginStream):
              * Plugins/WebBaseNetscapePluginStream.mm:
              (WebNetscapePluginStream::didReceiveResponse):
              (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
              (WebNetscapePluginStream::wantsAllStreams):
              (-[WebBaseNetscapePluginStream wantsAllStreams]):
              (WebNetscapePluginStream::didFail):
              (-[WebBaseNetscapePluginStream destroyStreamWithError:]):
              (WebNetscapePluginStream::didFinishLoading):
              (-[WebBaseNetscapePluginStream finishedLoading]):
              (WebNetscapePluginStream::didReceiveData):
              (-[WebBaseNetscapePluginStream receivedData:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37347 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      74953c02
    • andersca@apple.com's avatar
      2008-10-06 Anders Carlsson <andersca@apple.com> · b8aec835
      andersca@apple.com authored
              Bring back the stop method. It was called through performSelector, which
              is why I couldn't find any references to it.
      
              * Plugins/WebBaseNetscapePluginStream.h:
              * Plugins/WebBaseNetscapePluginStream.mm:
              (-[WebBaseNetscapePluginStream stop]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b8aec835
    • andersca@apple.com's avatar
      2008-10-06 Anders Carlsson <andersca@apple.com> · a3c0d386
      andersca@apple.com authored
              Reviewed by Sam Weinig.
      
              More conversion and cleanup.
              
              * Plugins/WebBaseNetscapePluginStream.h:
              * Plugins/WebBaseNetscapePluginStream.mm:
              (WebNetscapePluginStream::startStream):
              (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a3c0d386
    • andersca@apple.com's avatar
      2008-10-06 Anders Carlsson <andersca@apple.com> · f9f3fba9
      andersca@apple.com authored
              Reviewed by Sam Weinig.
      
              Fold initWithRequestURL into initWithRequest.
              
              * Plugins/WebBaseNetscapePluginStream.h:
              * Plugins/WebBaseNetscapePluginStream.mm:
              (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37344 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f9f3fba9
    • andersca@apple.com's avatar
      2008-10-06 Anders Carlsson <andersca@apple.com> · 601314be
      andersca@apple.com authored
              Reviewed by Sam Weinig.
      
              Change the init methods not to return nil on failures. (These failures never occur anyway)
              
              Use initWithRequest as the initializer, initWithRequestURL is going to be merged with it.
              
              * Plugins/WebBaseNetscapePluginStream.mm:
              (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
              (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37343 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      601314be
    • andersca@apple.com's avatar
      2008-10-06 Anders Carlsson <andersca@apple.com> · 6c6faba0
      andersca@apple.com authored
              Reviewed by David Hyatt.
      
              Convert more methods over to C++.
              
              * Plugins/WebBaseNetscapePluginStream.h:
              * Plugins/WebBaseNetscapePluginStream.mm:
              (WebNetscapePluginStream::ownerForStream):
              (WebNetscapePluginStream::pluginCancelledConnectionError):
              (WebNetscapePluginStream::errorForReason):
              (-[WebBaseNetscapePluginStream errorForReason:]):
              (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
              (WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError):
              (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]):
              (WebNetscapePluginStream::deliverData):
              (WebNetscapePluginStream::deliverDataTimerFired):
              (WebNetscapePluginStream::deliverDataToFile):
              (-[WebBaseNetscapePluginStream finishedLoading]):
              (-[WebBaseNetscapePluginStream receivedData:]):
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView destroyStream:reason:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37342 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6c6faba0
    • hyatt@apple.com's avatar
      2008-10-06 David Hyatt <hyatt@apple.com> · 6868b893
      hyatt@apple.com authored
              Add SPI for a new viewless WebKit mode.  The idea is that when this flag is set there will be no
              views created except for the outermost WebView.
      
              Reviewed by Tim Hatcher
      
              * WebView/WebView.mm:
              * WebView/WebViewInternal.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37340 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6868b893
    • andersca@apple.com's avatar
      2008-10-06 Anders Carlsson <andersca@apple.com> · fccb1b99
      andersca@apple.com authored
              Reviewed by David Hyatt.
      
              Convert more methods over to C++.
              
              * Plugins/WebBaseNetscapePluginStream.h:
              * Plugins/WebBaseNetscapePluginStream.mm:
              (WebNetscapePluginStream::reasonForError):
              (WebNetscapePluginStream::destroyStreamWithReason):
              (WebNetscapePluginStream::cancelLoadWithError):
              (-[WebBaseNetscapePluginStream cancelLoadWithError:]):
              (WebNetscapePluginStream::destroyStreamWithError):
              (-[WebBaseNetscapePluginStream destroyStreamWithError:]):
              (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]):
              (-[WebBaseNetscapePluginStream _deliverDataToFile:]):
              (-[WebBaseNetscapePluginStream finishedLoading]):
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37339 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fccb1b99
  14. 04 Oct, 2008 1 commit
    • darin@apple.com's avatar
      JavaScriptCore: · d3f46409
      darin@apple.com authored
      2008-10-04  Darin Adler  <darin@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              - https://bugs.webkit.org/show_bug.cgi?id=21295
                Bug 21295: Replace ExecState with a call frame Register pointer
      
              10% faster on Richards; other v8 benchmarks faster too.
              A wash on SunSpider.
      
              This does the minimum necessary to get the speedup. Next step in
              cleaning this up is to replace ExecState with a CallFrame class,
              and be more judicious about when to pass a call frame and when
              to pass a global data pointer, global object pointer, or perhaps
              something else entirely.
      
              * VM/CTI.cpp: Remove the debug-only check of the exception in
              ctiVMThrowTrampoline -- already checked in the code the trampoline
              jumps to, so not all that useful. Removed the exec argument from
              ctiTrampoline. Removed emitDebugExceptionCheck -- no longer needed.
              (JSC::CTI::emitCall): Removed code to set ExecState::m_callFrame.
              (JSC::CTI::privateCompileMainPass): Removed code in catch to extract
              the exception from ExecState::m_exception; instead, the code that
              jumps into catch will make sure the exception is already in eax.
              * VM/CTI.h: Removed exec from the ctiTrampoline. Also removed the
              non-helpful "volatile". Temporarily left ARG_exec in as a synonym
              for ARG_r; I'll change that on a future cleanup pass when introducing
              more use of the CallFrame type.
              (JSC::CTI::execute): Removed the ExecState* argument.
      
              * VM/ExceptionHelpers.cpp:
              (JSC::InterruptedExecutionError::InterruptedExecutionError): Take
              JSGlobalData* instead of ExecState*.
              (JSC::createInterruptedExecutionException): Ditto.
              * VM/ExceptionHelpers.h: Ditto. Also removed an unneeded include.
      
              * VM/Machine.cpp:
              (JSC::slideRegisterWindowForCall): Removed the exec and
              exceptionValue arguments. Changed to return 0 when there's a stack
              overflow rather than using a separate exception argument to cut
              down on memory accesses in the calling convention.
              (JSC::Machine::unwindCallFrame): Removed the exec argument when
              constructing a DebuggerCallFrame. Also removed code to set
              ExecState::m_callFrame.
              (JSC::Machine::throwException): Removed the exec argument when
              construction a DebuggerCallFrame.
              (JSC::Machine::execute): Updated to use the register instead of
              ExecState and also removed various uses of ExecState.
              (JSC::Machine::debug):
              (JSC::Machine::privateExecute): Put globalData into a local
              variable so it can be used throughout the interpreter. Changed
              the VM_CHECK_EXCEPTION to get the exception in globalData instead
              of through ExecState.
              (JSC::Machine::retrieveLastCaller): Turn exec into a registers
              pointer by calling registers() instead of by getting m_callFrame.
              (JSC::Machine::callFrame): Ditto.
              Tweaked exception macros. Made new versions for when you know
              you have an exception. Get at global exception with ARG_globalData.
              Got rid of the need to pass in the return value type.
              (JSC::Machine::cti_op_add): Update to use new version of exception
              macros.
              (JSC::Machine::cti_op_pre_inc): Ditto.
              (JSC::Machine::cti_timeout_check): Ditto.
              (JSC::Machine::cti_op_instanceof): Ditto.
              (JSC::Machine::cti_op_new_func): Ditto.
              (JSC::Machine::cti_op_call_JSFunction): Optimized by using the
              ARG values directly instead of through local variables -- this gets
              rid of code that just shuffles things around in the stack frame.
              Also get rid of ExecState and update for the new way exceptions are
              handled in slideRegisterWindowForCall.
              (JSC::Machine::cti_vm_compile): Update to make exec out of r since
              they are both the same thing now.
              (JSC::Machine::cti_op_call_NotJSFunction): Ditto.
              (JSC::Machine::cti_op_init_arguments): Ditto.
              (JSC::Machine::cti_op_resolve): Ditto.
              (JSC::Machine::cti_op_construct_JSConstruct): Ditto.
              (JSC::Machine::cti_op_construct_NotJSConstruct): Ditto.
              (JSC::Machine::cti_op_resolve_func): Ditto.
              (JSC::Machine::cti_op_put_by_val): Ditto.
              (JSC::Machine::cti_op_put_by_val_array): Ditto.
              (JSC::Machine::cti_op_resolve_skip): Ditto.
              (JSC::Machine::cti_op_resolve_global): Ditto.
              (JSC::Machine::cti_op_post_inc): Ditto.
              (JSC::Machine::cti_op_resolve_with_base): Ditto.
              (JSC::Machine::cti_op_post_dec): Ditto.
              (JSC::Machine::cti_op_call_eval): Ditto.
              (JSC::Machine::cti_op_throw): Ditto. Also rearranged to return
              the exception value as the return value so it can be used by
              op_catch.
              (JSC::Machine::cti_op_push_scope): Ditto.
              (JSC::Machine::cti_op_in): Ditto.
              (JSC::Machine::cti_op_del_by_val): Ditto.
              (JSC::Machine::cti_vm_throw): Ditto. Also rearranged to return
              the exception value as the return value so it can be used by
              op_catch.
      
              * kjs/DebuggerCallFrame.cpp:
              (JSC::DebuggerCallFrame::functionName): Pass globalData.
              (JSC::DebuggerCallFrame::evaluate): Eliminated code to make a
              new ExecState.
              * kjs/DebuggerCallFrame.h: Removed ExecState argument from
              constructor.
      
              * kjs/ExecState.h: Eliminated all data members and made ExecState
              inherit privately from Register instead. Also added a typedef to
              the future name for this class, which is CallFrame. It's just a
              Register* that knows it's a pointer at a call frame. The new class
              can't be constructed or copied. Changed all functions to use
              the this pointer instead of m_callFrame. Changed exception-related
              functions to access an exception in JSGlobalData. Removed functions
              used by CTI to pass the return address to the throw machinery --
              this is now done directly with a global in the global data.
      
              * kjs/FunctionPrototype.cpp:
              (JSC::functionProtoFuncToString): Pass globalData instead of exec.
      
              * kjs/InternalFunction.cpp:
              (JSC::InternalFunction::name): Take globalData instead of exec.
              * kjs/InternalFunction.h: Ditto.
      
              * kjs/JSGlobalData.cpp: Initialize the new exception global to 0.
              * kjs/JSGlobalData.h: Declare two new globals. One for the current
              exception and another for the return address used by CTI to
              implement the throw operation.
      
              * kjs/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::init): Removed code to set up globalExec,
              which is now the same thing as globalCallFrame.
              (JSC::JSGlobalObject::reset): Get globalExec from our globalExec
              function so we don't have to repeat the logic twice.
              (JSC::JSGlobalObject::mark): Removed code to mark the exception;
              the exception is now stored in JSGlobalData and marked there.
              (JSC::JSGlobalObject::globalExec): Return a pointer to the end
              of the global call frame.
              * kjs/JSGlobalObject.h: Removed the globalExec data member.
      
              * kjs/JSObject.cpp:
              (JSC::JSObject::putDirectFunction): Pass globalData instead of exec.
      
              * kjs/collector.cpp:
              (JSC::Heap::collect): Mark the global exception.
      
              * profiler/ProfileGenerator.cpp:
              (JSC::ProfileGenerator::addParentForConsoleStart): Pass globalData
              instead of exec to createCallIdentifier.
      
              * profiler/Profiler.cpp:
              (JSC::Profiler::willExecute): Pass globalData instead of exec to
              createCallIdentifier.
              (JSC::Profiler::didExecute): Ditto.
              (JSC::Profiler::createCallIdentifier): Take globalData instead of
              exec.
              (JSC::createCallIdentifierFromFunctionImp): Ditto.
              * profiler/Profiler.h: Change interface to take a JSGlobalData
              instead of an ExecState.
      
      WebKit/mac:
      
      2008-10-04  Darin Adler  <darin@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              - https://bugs.webkit.org/show_bug.cgi?id=21295
                Bug 21295: Replace ExecState with a call frame Register pointer
      
              * WebView/WebScriptDebugger.mm:
              (WebScriptDebugger::WebScriptDebugger): Remove 0 passed for ExecState.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37297 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d3f46409
  15. 03 Oct, 2008 3 commits