Timeline


and

10/18/08:

23:46 Changeset [37701] by mrowe@apple.com

Versioning.

23:32 Changeset [37700] by mitz@apple.com
  • build fix
  • WebScriptCallFrame.cpp: (WebScriptCallFrame::jsValueToString):
23:26 Changeset [37699] by mitz@apple.com

Reviewed by Mark Rowe.

  • Windows build fix
  • rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintMediaFullscreenButton): (WebCore::RenderThemeSafari::paintMediaMuteButton): (WebCore::RenderThemeSafari::paintMediaPlayButton): (WebCore::RenderThemeSafari::paintMediaSeekBackButton): (WebCore::RenderThemeSafari::paintMediaSeekForwardButton): (WebCore::RenderThemeSafari::paintMediaSliderThumb):
22:20 Changeset [37698] by darin@apple.com

2008-10-18 Darin Adler <darin@apple.com>

  • fix non-all-in-one build
  • kjs/completion.h: (JSC::Completion::Completion): Add include of JSValue.h.
22:17 Changeset [37697] by darin@apple.com

2008-10-18 Darin Adler <darin@apple.com>

Reviewed by Oliver Hunt.

  • fix assertions I introduced with my casting changes

These were showing up as failures in the JavaScriptCore tests.

  • VM/Machine.cpp: (JSC::Machine::cti_op_instanceof): Remove the bogus asCell casting that was at the top of the function, and instead cast at the point of use. (JSC::Machine::cti_op_construct_NotJSConstruct): Moved the cast to object after checking the construct type.
21:31 Changeset [37696] by darin@apple.com

2008-10-18 Darin Adler <darin@apple.com>

  • fix non-all-in-one build
  • kjs/JSGlobalObjectFunctions.h: Add include of JSImmedate.h (for now).
21:21 Changeset [37695] by darin@apple.com

2008-10-18 Darin Adler <darin@apple.com>

  • fix build
  • kjs/interpreter.h: Include JSValue.h instead of JSImmediate.h.
21:19 Changeset [37694] by darin@apple.com

2008-10-18 Darin Adler <darin@apple.com>

  • kjs/interpreter.h: Fix include of JSImmediate.h.
21:16 Changeset [37693] by darin@apple.com

2008-10-18 Darin Adler <darin@apple.com>

  • fix non-all-in-one build
  • kjs/interpreter.h: Add include of JSImmedate.h.
21:06 Changeset [37692] by darin@apple.com

2008-10-18 Darin Adler <darin@apple.com>

  • fix non-all-in-one build
  • kjs/ConstructData.h: Add include of JSImmedate.h (for now).
20:05 Changeset [37691] by darin@apple.com

2008-10-18 Darin Adler <darin@apple.com>

  • try to fix Windows build
  • VM/Machine.cpp: (JSC::Machine::Machine): Use JSCell* type since MSVC seems to only allow calling ~JSCell directly if it's a JSCell*.
19:59 Changeset [37690] by mrowe@apple.com

Merge r37661.

19:53 Changeset [37689] by mitz@apple.com

WebCore:

Reviewed by Sam Weinig.

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.

  • 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.

  • WebView.cpp: (WebView::setCacheModel): In the primary web browser model, set the cache's dead decoded data deletion interval to 60 seconds.
19:35 Changeset [37688] by mrowe@apple.com

Merge r37606.

19:35 Changeset [37687] by mrowe@apple.com

Merge r37598.

19:14 Changeset [37686] by darin@apple.com

Fix log typo.

19:12 Changeset [37685] by darin@apple.com

2008-10-18 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Fix loop that goes through the FormDataList to go two at a time in a clearer way. My last patch screwed up the way it got form content from the items. This "two at a time" a confusing way to do things, which explains why I got it wrong last time through, but I decided to just fix it locally for now rather than changing the design of FormDataList.
18:52 Changeset [37684] by darin@apple.com

JavaScriptCore:

2008-10-18 Darin Adler <darin@apple.com>

Reviewed by Cameron Zwarich.

Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
changing JSValuePtr to be a class, and then eventually renaming it
to JSValue once that's done.

  • JavaScriptCore.exp: Update entry points, since some now take JSValue* instead of const JSValue*.
  • 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/DebuggerCallFrame.cpp:
  • kjs/DebuggerCallFrame.h:
  • kjs/ErrorConstructor.cpp:
  • kjs/ErrorPrototype.cpp:
  • kjs/ExecState.cpp:
  • kjs/ExecState.h:
  • kjs/FunctionConstructor.cpp:
  • kjs/FunctionPrototype.cpp:
  • 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/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: Replace JSValue* with JSValuePtr.

JavaScriptGlue:

2008-10-18 Darin Adler <darin@apple.com>

Reviewed by Cameron Zwarich.

Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
changing JSValuePtr to be a class, and then eventually renaming it
to JSValue once that's done.

  • JSObject.cpp:
  • JSValueWrapper.cpp:
  • UserObjectImp.cpp:
  • UserObjectImp.h: Replace JSValue* with JSValuePtr.

WebCore:

2008-10-18 Darin Adler <darin@apple.com>

Reviewed by Cameron Zwarich.

Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
changing JSValuePtr to be a class, and then eventually renaming it
to JSValue once that's done.

  • 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/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/JSDocumentCustom.cpp:
  • bindings/js/JSElementCustom.cpp:
  • bindings/js/JSEventCustom.cpp:
  • bindings/js/JSEventListener.cpp:
  • bindings/js/JSEventTarget.cpp:
  • 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/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/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/jni/jni_instance.cpp:
  • bridge/jni/jni_instance.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/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/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:
  • inspector/JavaScriptCallFrame.cpp:
  • inspector/JavaScriptCallFrame.h:
  • inspector/JavaScriptProfile.cpp:
  • inspector/JavaScriptProfileNode.cpp:
  • loader/FrameLoader.cpp:
  • loader/FrameLoader.h:
  • page/Console.cpp:
  • page/Console.h:
  • plugins/MimeTypeArray.h:
  • plugins/Plugin.h:
  • plugins/PluginArray.h:
  • xml/XMLHttpRequest.cpp: Replace JSValue* with JSValuePtr.
16:46 Changeset [37683] by mrowe@apple.com

Export logging symbols in debug.

16:19 Changeset [37682] by darin@apple.com

2008-10-18 Darin Adler <darin@apple.com>

  • VM/Machine.cpp: (JSC::Machine::cti_op_call_eval): Removed stray parentheses from my last check-in.
16:08 Changeset [37681] by darin@apple.com

JavaScriptCore:

2008-10-18 Darin Adler <darin@apple.com>

Reviewed by Oliver Hunt.

Remove casts from JSValue* to derived classes, replacing them with
calls to inline casting functions. These functions are also a bit
better than aidrect cast because they also do a runtime assertion.

Removed use of 0 as for JSValue*, changing call sites to use a
noValue() function instead.

Move things needed by classes derived from JSValue out of the class,
since the classes won't be deriving from JSValue any more soon.

I did most of these changes by changing JSValue to not be JSValue* any
more, then fixing a lot of the compilation problems, then rolling out
the JSValue change.

1.011x as fast on SunSpider (presumably due to some of the Machine.cpp changes)

  • API/APICast.h: Removed unneeded forward declarations.
  • API/JSCallbackObject.h: Added an asCallbackObject function for casting.
  • API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject::asCallbackObject): Added. (JSC::JSCallbackObject::getOwnPropertySlot): Use asObject. (JSC::JSCallbackObject::call): Use noValue. (JSC::JSCallbackObject::staticValueGetter): Use asCallbackObject. (JSC::JSCallbackObject::staticFunctionGetter): Ditto. (JSC::JSCallbackObject::callbackGetter): Ditto.
  • JavaScriptCore.xcodeproj/project.pbxproj: Added RegExpMatchesArray.h.
  • VM/CTI.cpp: (JSC::CTI::asInteger): Added. For use casting a JSValue to an integer. (JSC::CTI::emitGetArg): Use asInteger. (JSC::CTI::emitGetPutArg): Ditto. (JSC::CTI::getConstantImmediateNumericArg): Ditto. Also use noValue. (JSC::CTI::emitInitRegister): Use asInteger. (JSC::CTI::getDeTaggedConstantImmediate): Ditto. (JSC::CTI::compileOpCallInitializeCallFrame): Ditto. (JSC::CTI::compileOpCall): Ditto. (JSC::CTI::compileOpStrictEq): Ditto. (JSC::CTI::privateCompileMainPass): Ditto. (JSC::CTI::privateCompileGetByIdProto): Ditto. (JSC::CTI::privateCompileGetByIdChain): Ditto. (JSC::CTI::privateCompilePutByIdTransition): Ditto.
  • VM/CTI.h: Rewrite the ARG-related macros to use C++ casts instead of C casts and get rid of some extra parentheses. Addd declaration of asInteger.
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitEqualityOp): Use asString. (JSC::CodeGenerator::emitLoad): Use noValue. (JSC::CodeGenerator::findScopedProperty): Change globalObject argument to JSObject* instead of JSValue*. (JSC::CodeGenerator::emitResolve): Remove unneeded cast. (JSC::CodeGenerator::emitGetScopedVar): Use asCell. (JSC::CodeGenerator::emitPutScopedVar): Ditto.
  • VM/CodeGenerator.h: Changed out argument of findScopedProperty. Also change the JSValueMap to use PtrHash explicitly instead of getting it from DefaultHash.
  • VM/JSPropertyNameIterator.cpp: (JSC::JSPropertyNameIterator::toPrimitive): Use noValue.
  • VM/JSPropertyNameIterator.h: (JSC::JSPropertyNameIterator::next): Ditto.
  • VM/Machine.cpp: (JSC::fastIsNumber): Moved isImmediate check here instead of checking for 0 inside Heap::isNumber. Use asCell and asNumberCell. (JSC::fastToInt32): Ditto. (JSC::fastToUInt32): Ditto. (JSC::jsLess): Use asString. (JSC::jsLessEq): Ditto. (JSC::jsAdd): Ditto. (JSC::jsTypeStringForValue): Use asObject. (JSC::jsIsObjectType): Ditto. (JSC::jsIsFunctionType): Ditto. (JSC::inlineResolveBase): Use noValue. (JSC::Machine::callEval): Use asString. Initialize result to undefined, not 0. (JSC::Machine::Machine): Remove unneeded casts to JSCell*. (JSC::Machine::throwException): Use asObject. (JSC::Machine::debug): Remove explicit calls to the DebuggerCallFrame constructor. (JSC::Machine::checkTimeout): Use noValue. (JSC::cachePrototypeChain): Use asObject. (JSC::Machine::tryCachePutByID): Use asCell. (JSC::Machine::tryCacheGetByID): Use aCell and asObject. (JSC::Machine::privateExecute): Use noValue, asCell, asObject, asString, asArray, asActivation, asFunction. Changed code that creates call frames for host functions to pass 0 for the function pointer -- the call frame needs a JSFunction* and a host function object is not one. This was caught by the assertions in the casting functions. Also remove some unneeded casts in cases where two values are compared. (JSC::Machine::retrieveLastCaller): Use noValue. (JSC::Machine::tryCTICachePutByID): Use asCell. (JSC::Machine::tryCTICacheGetByID): Use aCell and asObject. (JSC::setUpThrowTrampolineReturnAddress): Added this function to restore the PIC-branch-avoidance that was recently lost. (JSC::Machine::cti_op_add): Use asString. (JSC::Machine::cti_op_instanceof): Use asCell and asObject. (JSC::Machine::cti_op_call_JSFunction): Use asFunction. (JSC::Machine::cti_op_call_NotJSFunction): Changed code to pass 0 for the function pointer, since we don't have a JSFunction. Use asObject. (JSC::Machine::cti_op_tear_off_activation): Use asActivation. (JSC::Machine::cti_op_construct_JSConstruct): Use asFunction and asObject. (JSC::Machine::cti_op_construct_NotJSConstruct): use asObject. (JSC::Machine::cti_op_get_by_val): Use asArray and asString. (JSC::Machine::cti_op_resolve_func): Use asPointer; this helps prepare us for a situation where JSValue is not a pointer. (JSC::Machine::cti_op_put_by_val): Use asArray. (JSC::Machine::cti_op_put_by_val_array): Ditto. (JSC::Machine::cti_op_resolve_global): Use asGlobalObject. (JSC::Machine::cti_op_post_inc): Change VM_CHECK_EXCEPTION_2 to VM_CHECK_EXCEPTION_AT_END, since there's no observable work done after that point. Also use asPointer. (JSC::Machine::cti_op_resolve_with_base): Use asPointer. (JSC::Machine::cti_op_post_dec): Change VM_CHECK_EXCEPTION_2 to VM_CHECK_EXCEPTION_AT_END, since there's no observable work done after that point. Also use asPointer. (JSC::Machine::cti_op_call_eval): Use asObject, noValue, and change VM_CHECK_EXCEPTION_ARG to VM_THROW_EXCEPTION_AT_END. (JSC::Machine::cti_op_throw): Change return value to a JSValue*. (JSC::Machine::cti_op_in): Use asObject. (JSC::Machine::cti_op_switch_char): Use asString. (JSC::Machine::cti_op_switch_string): Ditto. (JSC::Machine::cti_op_put_getter): Use asObject. (JSC::Machine::cti_op_put_setter): Ditto. (JSC::Machine::cti_vm_throw): Change return value to a JSValue*. Use noValue.
  • VM/Machine.h: Change return values of both cti_op_throw and cti_vm_throw to JSValue*.
  • VM/Register.h: Remove nullJSValue, which is the same thing as noValue(). Also removed unneeded definition of JSValue.
  • kjs/ArgList.h: Removed unneeded definition of JSValue.
  • kjs/Arguments.h: (JSC::asArguments): Added.
  • kjs/ArrayPrototype.cpp: (JSC::getProperty): Use noValue. (JSC::arrayProtoFuncToString): Use asArray. (JSC::arrayProtoFuncToLocaleString): Ditto. (JSC::arrayProtoFuncConcat): Ditto. (JSC::arrayProtoFuncPop): Ditto. Also removed unneeded initialization of the result, which is set in both sides of the branch. (JSC::arrayProtoFuncPush): Ditto. (JSC::arrayProtoFuncShift): Removed unneeded initialization of the result, which is set in both sides of the branch. (JSC::arrayProtoFuncSort): Use asArray.
  • kjs/BooleanObject.h: (JSC::asBooleanObject): Added.
  • kjs/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): Use asBooleanObject. (JSC::booleanProtoFuncValueOf): Ditto.
  • kjs/CallData.cpp: (JSC::call): Use asObject and asFunction.
  • kjs/ConstructData.cpp: (JSC::construct): Ditto.
  • kjs/DateConstructor.cpp: (JSC::constructDate): Use asDateInstance.
  • kjs/DateInstance.h: (JSC::asDateInstance): Added.
  • kjs/DatePrototype.cpp: (JSC::dateProtoFuncToString): Use asDateInstance. (JSC::dateProtoFuncToUTCString): Ditto. (JSC::dateProtoFuncToDateString): Ditto. (JSC::dateProtoFuncToTimeString): Ditto. (JSC::dateProtoFuncToLocaleString): Ditto. (JSC::dateProtoFuncToLocaleDateString): Ditto. (JSC::dateProtoFuncToLocaleTimeString): Ditto. (JSC::dateProtoFuncValueOf): Ditto. (JSC::dateProtoFuncGetTime): Ditto. (JSC::dateProtoFuncGetFullYear): Ditto. (JSC::dateProtoFuncGetUTCFullYear): Ditto. (JSC::dateProtoFuncToGMTString): Ditto. (JSC::dateProtoFuncGetMonth): Ditto. (JSC::dateProtoFuncGetUTCMonth): Ditto. (JSC::dateProtoFuncGetDate): Ditto. (JSC::dateProtoFuncGetUTCDate): Ditto. (JSC::dateProtoFuncGetDay): Ditto. (JSC::dateProtoFuncGetUTCDay): Ditto. (JSC::dateProtoFuncGetHours): Ditto. (JSC::dateProtoFuncGetUTCHours): Ditto. (JSC::dateProtoFuncGetMinutes): Ditto. (JSC::dateProtoFuncGetUTCMinutes): Ditto. (JSC::dateProtoFuncGetSeconds): Ditto. (JSC::dateProtoFuncGetUTCSeconds): Ditto. (JSC::dateProtoFuncGetMilliSeconds): Ditto. (JSC::dateProtoFuncGetUTCMilliseconds): Ditto. (JSC::dateProtoFuncGetTimezoneOffset): Ditto. (JSC::dateProtoFuncSetTime): Ditto. (JSC::setNewValueFromTimeArgs): Ditto. (JSC::setNewValueFromDateArgs): Ditto. (JSC::dateProtoFuncSetYear): Ditto. (JSC::dateProtoFuncGetYear): Ditto.
  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::thisObject): Use asObject. (JSC::DebuggerCallFrame::evaluate): Use noValue.
  • kjs/DebuggerCallFrame.h: Added a constructor that takes only a callFrame.
  • kjs/ExecState.h: (JSC::ExecState::clearException): Use noValue.
  • kjs/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): Use asFunction. (JSC::functionProtoFuncApply): Use asArguments and asArray.
  • kjs/GetterSetter.cpp: (JSC::GetterSetter::getPrimitiveNumber): Use noValue.
  • kjs/GetterSetter.h: (JSC::asGetterSetter): Added.
  • kjs/InternalFunction.cpp: (JSC::InternalFunction::name): Use asString.
  • kjs/InternalFunction.h: (JSC::asInternalFunction): Added.
  • kjs/JSActivation.cpp: (JSC::JSActivation::argumentsGetter): Use asActivation.
  • kjs/JSActivation.h: (JSC::asActivation): Added.
  • kjs/JSArray.cpp: (JSC::JSArray::putSlowCase): Use noValue. (JSC::JSArray::deleteProperty): Ditto. (JSC::JSArray::increaseVectorLength): Ditto. (JSC::JSArray::setLength): Ditto. (JSC::JSArray::pop): Ditto. (JSC::JSArray::sort): Ditto. (JSC::JSArray::compactForSorting): Ditto.
  • kjs/JSArray.h: (JSC::asArray): Added.
  • kjs/JSCell.cpp: (JSC::JSCell::getJSNumber): Use noValue.
  • kjs/JSCell.h: (JSC::asCell): Added. (JSC::JSValue::asCell): Changed to not preserve const. Given the wide use of JSValue* and JSCell*, it's not really useful to use const. (JSC::JSValue::isNumber): Use asValue. (JSC::JSValue::isString): Ditto. (JSC::JSValue::isGetterSetter): Ditto. (JSC::JSValue::isObject): Ditto. (JSC::JSValue::getNumber): Ditto. (JSC::JSValue::getString): Ditto. (JSC::JSValue::getObject): Ditto. (JSC::JSValue::getCallData): Ditto. (JSC::JSValue::getConstructData): Ditto. (JSC::JSValue::getUInt32): Ditto. (JSC::JSValue::getTruncatedInt32): Ditto. (JSC::JSValue::getTruncatedUInt32): Ditto. (JSC::JSValue::mark): Ditto. (JSC::JSValue::marked): Ditto. (JSC::JSValue::toPrimitive): Ditto. (JSC::JSValue::getPrimitiveNumber): Ditto. (JSC::JSValue::toBoolean): Ditto. (JSC::JSValue::toNumber): Ditto. (JSC::JSValue::toString): Ditto. (JSC::JSValue::toObject): Ditto. (JSC::JSValue::toThisObject): Ditto. (JSC::JSValue::needsThisConversion): Ditto. (JSC::JSValue::toThisString): Ditto. (JSC::JSValue::getJSNumber): Ditto.
  • kjs/JSFunction.cpp: (JSC::JSFunction::argumentsGetter): Use asFunction. (JSC::JSFunction::callerGetter): Ditto. (JSC::JSFunction::lengthGetter): Ditto. (JSC::JSFunction::construct): Use asObject.
  • kjs/JSFunction.h: (JSC::asFunction): Added.
  • kjs/JSGlobalObject.cpp: (JSC::lastInPrototypeChain): Use asObject.
  • kjs/JSGlobalObject.h: (JSC::asGlobalObject): Added. (JSC::ScopeChainNode::globalObject): Use asGlobalObject.
  • kjs/JSImmediate.h: Added noValue, asPointer, and makeValue functions. Use rawValue, makeValue, and noValue consistently instead of doing reinterpret_cast in various functions.
  • kjs/JSNumberCell.h: (JSC::asNumberCell): Added. (JSC::JSValue::uncheckedGetNumber): Use asValue and asNumberCell. (JSC::JSValue::toJSNumber): Use asValue.
  • kjs/JSObject.cpp: (JSC::JSObject::put): Use asObject and asGetterSetter. (JSC::callDefaultValueFunction): Use noValue. (JSC::JSObject::defineGetter): Use asGetterSetter. (JSC::JSObject::defineSetter): Ditto. (JSC::JSObject::lookupGetter): Ditto. Also use asObject. (JSC::JSObject::lookupSetter): Ditto. (JSC::JSObject::hasInstance): Use asObject. (JSC::JSObject::fillGetterPropertySlot): Use asGetterSetter.
  • kjs/JSObject.h: (JSC::JSObject::getDirect): Use noValue. (JSC::asObject): Added. (JSC::JSValue::isObject): Use asValue. (JSC::JSObject::get): Removed unneeded const_cast. (JSC::JSObject::getPropertySlot): Use asObject. (JSC::JSValue::get): Removed unneeded const_cast. Use asValue, asCell, and asObject. (JSC::JSValue::put): Ditto. (JSC::JSObject::allocatePropertyStorageInline): Fixed spelling of "oldPropertStorage".
  • kjs/JSString.cpp: (JSC::JSString::getOwnPropertySlot): Use asObject.
  • kjs/JSString.h: (JSC::asString): Added. (JSC::JSValue::toThisJSString): Use asValue.
  • kjs/JSValue.h: Make PreferredPrimitiveType a top level enum instead of a member of JSValue. Added an asValue function that returns this. Removed overload of asCell for const. Use asValue instead of getting right at this.
  • kjs/ObjectPrototype.cpp: (JSC::objectProtoFuncIsPrototypeOf): Use asObject. (JSC::objectProtoFuncDefineGetter): Ditto. (JSC::objectProtoFuncDefineSetter): Ditto.
  • kjs/PropertySlot.h: (JSC::PropertySlot::PropertySlot): Take a const JSValue* so the callers don't have to worry about const. (JSC::PropertySlot::clearBase): Use noValue. (JSC::PropertySlot::clearValue): Ditto.
  • kjs/RegExpConstructor.cpp: (JSC::regExpConstructorDollar1): Use asRegExpConstructor. (JSC::regExpConstructorDollar2): Ditto. (JSC::regExpConstructorDollar3): Ditto. (JSC::regExpConstructorDollar4): Ditto. (JSC::regExpConstructorDollar5): Ditto. (JSC::regExpConstructorDollar6): Ditto. (JSC::regExpConstructorDollar7): Ditto. (JSC::regExpConstructorDollar8): Ditto. (JSC::regExpConstructorDollar9): Ditto. (JSC::regExpConstructorInput): Ditto. (JSC::regExpConstructorMultiline): Ditto. (JSC::regExpConstructorLastMatch): Ditto. (JSC::regExpConstructorLastParen): Ditto. (JSC::regExpConstructorLeftContext): Ditto. (JSC::regExpConstructorRightContext): Ditto. (JSC::setRegExpConstructorInput): Ditto. (JSC::setRegExpConstructorMultiline): Ditto. (JSC::constructRegExp): Use asObject.
  • kjs/RegExpConstructor.h: (JSC::asRegExpConstructor): Added.
  • kjs/RegExpObject.cpp: (JSC::regExpObjectGlobal): Use asRegExpObject. (JSC::regExpObjectIgnoreCase): Ditto. (JSC::regExpObjectMultiline): Ditto. (JSC::regExpObjectSource): Ditto. (JSC::regExpObjectLastIndex): Ditto. (JSC::setRegExpObjectLastIndex): Ditto. (JSC::callRegExpObject): Ditto.
  • kjs/RegExpObject.h: (JSC::asRegExpObject): Added.
  • kjs/RegExpPrototype.cpp: (JSC::regExpProtoFuncTest): Use asRegExpObject. (JSC::regExpProtoFuncExec): Ditto. (JSC::regExpProtoFuncCompile): Ditto. (JSC::regExpProtoFuncToString): Ditto.
  • kjs/StringObject.h: (JSC::StringObject::internalValue): Use asString. (JSC::asStringObject): Added.
  • kjs/StringPrototype.cpp: (JSC::stringProtoFuncReplace): Use asRegExpObject. (JSC::stringProtoFuncToString): Ue asStringObject. (JSC::stringProtoFuncMatch): Use asRegExpObject. (JSC::stringProtoFuncSearch): Ditto. (JSC::stringProtoFuncSplit): Ditto.
  • kjs/StructureID.cpp: (JSC::StructureID::getEnumerablePropertyNames): Use asObject. (JSC::StructureID::createCachedPrototypeChain): Ditto. (JSC::StructureIDChain::StructureIDChain): Use asCell and asObject.
  • kjs/collector.h: (JSC::Heap::isNumber): Removed null handling. This can only be called on valid cells. (JSC::Heap::cellBlock): Removed overload for const and non-const. Whether the JSCell* is const or not really should have no effect on whether you can modify the collector block it's in.
  • kjs/interpreter.cpp: (JSC::Interpreter::evaluate): Use noValue and noObject.
  • kjs/nodes.cpp: (JSC::FunctionCallResolveNode::emitCode): Use JSObject for the global object rather than JSValue. (JSC::PostfixResolveNode::emitCode): Ditto. (JSC::PrefixResolveNode::emitCode): Ditto. (JSC::ReadModifyResolveNode::emitCode): Ditto. (JSC::AssignResolveNode::emitCode): Ditto.
  • kjs/operations.h: (JSC::equalSlowCaseInline): Use asString, asCell, asNumberCell, (JSC::strictEqualSlowCaseInline): Ditto.

WebCore:

2008-10-18 Darin Adler <darin@apple.com>

Reviewed by Oliver Hunt.

Update for change to make PreferredPrimitiveType no longer
a member of JSValue.

  • bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix.
  • bridge/jni/jni_instance.cpp: (JavaInstance::defaultValue): Ditto.
  • bridge/objc/objc_instance.mm: (ObjcInstance::defaultValue): Ditto.
  • bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::defaultValue): Ditto.
  • bridge/runtime.h: Ditto. Also removed typedef.
14:54 Changeset [37680] by darin@apple.com

2008-10-18 Darin Adler <darin@apple.com>

  • try to fix Windows build
  • rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintCheckbox): Explicitly qualify part name with SafariTheme namespace, since there is now an identically named constant in the ControlPart enum. (WebCore::RenderThemeSafari::paintButton): Ditto. (WebCore::RenderThemeSafari::paintTextField): Ditto. (WebCore::RenderThemeSafari::paintTextArea): Ditto. (WebCore::RenderThemeSafari::paintSearchField): Ditto. (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Ditto. (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Ditto. (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto.
14:23 Changeset [37679] by jmalonzo@webkit.org

2008-10-18 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Alp Toker.

[GTK] crash after selecting a file on an <input type=file>
https://bugs.webkit.org/show_bug.cgi?id=21385

Follow Mac and Win's behaviors for Icon::paint

  • platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::paint): check if painting is enabled before painting the icon
02:44 Changeset [37678] by cwzwarich@webkit.org

2008-10-18 Cameron Zwarich <zwarich@apple.com>

Reviewed by Oliver Hunt.

Bug 21702: Special op_create_activation for the case where there are no named parameters
<https://bugs.webkit.org/show_bug.cgi?id=21702>

This is a 2.5% speedup on the V8 Raytrace benchmark and a 1.1% speedup
on the V8 Earley-Boyer benchmark.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/Machine.cpp: (JSC::Machine::cti_op_create_arguments_no_params):
  • VM/Machine.h:
  • kjs/Arguments.h: (JSC::Arguments::): (JSC::Arguments::Arguments):
01:44 Changeset [37677] by oliver@apple.com

2008-10-18 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Oliver Hunt.

Qt port build fix.

  • platform/qt/RenderThemeQt.h:
00:06 Changeset [37676] by jmalonzo@webkit.org

2008-10-17 Luke Kenneth Casson Leighton <lkcl@lkcl.net>

Reviewed by Mark Rowe. Landed by Jan Alonzo.

https://bugs.webkit.org/show_bug.cgi?id=20403
[Gtk] Segfault after a table with an iframe is attempted to be added twice to DOM model with javascript

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::frameLoaderDestroyed): (WebKit::FrameLoaderClient::detachedFromParent4):

10/17/08:

23:18 Changeset [37675] by mjs@apple.com

2008-10-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Mark Rowe.


  • default to 1000 tests per dump tool instance again, now that CTI no longer causes excess different stack logs.


(Also fix a small bug in my last change.)

  • Scripts/run-webkit-tests:
23:17 Changeset [37674] by mjs@apple.com

2008-10-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


  • in debug builds, alter the stack to avoid blowing out MallocStackLogging


(In essence, while executing a CTI function we alter the return
address to jscGeneratedNativeCode so that a single consistent
function is on the stack instead of many random functions without
symbols.)

  • VM/CTI.h:
  • VM/Machine.cpp: (JSC::doSetReturnAddress): (JSC::): (JSC::StackHack::StackHack): (JSC::StackHack::~StackHack): (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_register_file_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_profiler): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_vm_lazyLinkCall): (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_JSConstructFast): (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_is_undefined): (JSC::Machine::cti_op_is_boolean): (JSC::Machine::cti_op_is_number): (JSC::Machine::cti_op_is_string): (JSC::Machine::cti_op_is_object): (JSC::Machine::cti_op_is_function): (JSC::Machine::cti_op_stricteq): (JSC::Machine::cti_op_nstricteq): (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):
21:54 Changeset [37673] by slewis@apple.com

2008-10-17 Stephanie Lewis <slewis@apple.com>

Reviewed by Mark Rowe.

Fix layout tests that use prologues and epilogues.

  • Scripts/run-webkit-tests:
21:29 Changeset [37672] by mjs@apple.com

2008-10-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Mark Rowe.


  • make sure MallocStackLogging is only on for tools we want to leak check, not other random stuff as well.
  • Scripts/run-webkit-tests:
19:53 Changeset [37671] by barraclough@apple.com

typo in ChangeLog

19:51 Changeset [37670] by barraclough@apple.com

2008-10-17 Gavin Barraclough <barraclough@apple.com>

Optimize op_call by allowing call sites to be directly linked to callees.

For the hot path of op_call, CTI now generates a check (initially for an impossible
value), and the first time the call is executed we attempt to link the call directly
to the callee. WWe can currently only do so if the arity of the caller and callee
match. The (optimized) setup for the call on the hot path is linked directly to
the ctiCode for the callee, without indirection.


Two forms of the slow case of the call are generated, the first will be executed the
first time the call is reached. As well as this path attempting to link the call to
a callee, it also relinks the slow case to a second slow case, which will not continue
to attempt relinking the call. (This policy could be changed in future, but for not
this is intended to prevent thrashing).

If a callee that the caller has been linked to is garbage collected, then the link
in the caller's JIt code will be reset back to a value that cannot match - to prevent
any false positive matches.

~20% progression on deltablue & richards, >12% overall reduction in v8-tests
runtime, one or two percent progression on sunspider.

Reviewed by Oliver Hunt.

  • VM/CTI.cpp: (JSC::): (JSC::CTI::emitNakedCall): (JSC::unreachable): (JSC::CTI::compileOpCallInitializeCallFrame): (JSC::CTI::compileOpCallSetupArgs): (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::unlinkCall): (JSC::CTI::linkCall):
  • VM/CTI.h:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::~CodeBlock): (JSC::CodeBlock::unlinkCallers): (JSC::CodeBlock::derefStructureIDs):
  • VM/CodeBlock.h: (JSC::StructureStubInfo::StructureStubInfo): (JSC::CallLinkInfo::CallLinkInfo): (JSC::CodeBlock::addCaller): (JSC::CodeBlock::removeCaller): (JSC::CodeBlock::getStubInfo):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitCall): (JSC::CodeGenerator::emitConstruct):
  • VM/Machine.cpp: (JSC::Machine::cti_op_call_profiler): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_vm_lazyLinkCall): (JSC::Machine::cti_op_construct_JSConstructFast): (JSC::Machine::cti_op_construct_JSConstruct): (JSC::Machine::cti_op_construct_NotJSConstruct):
  • VM/Machine.h:
  • kjs/JSFunction.cpp: (JSC::JSFunction::~JSFunction):
  • kjs/JSFunction.h:
  • kjs/nodes.h: (JSC::FunctionBodyNode::):
  • masm/X86Assembler.h: (JSC::X86Assembler::getDifferenceBetweenLabels):
18:04 Changeset [37669] by mjs@apple.com

2008-10-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Stephanie Lewis.


  • make run-webkit-tests --leaks default to 100 tests per run instead of 1000


This should reduce or eliminate crashes on the buildbot due to
running out of memory while stack logging.

  • Scripts/run-webkit-tests:
17:08 Changeset [37668] by mjs@apple.com

2008-10-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff Garen.


  • remove ASSERT that makes the leaks buildbot cry
  • kjs/JSFunction.cpp: (JSC::JSFunction::JSFunction):
17:03 Changeset [37667] by kevino@webkit.org

Reviewed by Kevin Ollivier

Fix wx port's scrollbar and drawing handling after recent changes.

https://bugs.webkit.org/show_bug.cgi?id=21720

16:22 Changeset [37666] by kevino@webkit.org

wx build fix. EAppearance -> ControlPart.

15:56 Changeset [37665] by pam@chromium.org

2008-10-17 Pamela Greene <pam@chromium.org>

Add a number of new tests.
See https://bugs.webkit.org/show_bug.cgi?id=21407

Reviewed by Alexey Proskuryakov.

  • fast/css/border-height.html: Added.
  • fast/dom/Window/orphaned-frame-access-expected.txt: Added.
  • fast/dom/Window/orphaned-frame-access.html: Added.
  • fast/forms/image-border.html: Added.
  • fast/forms/input-field-text-truncated.html: Added.
  • fast/forms/input-type-text-min-width.html: Added.
  • fast/forms/textarea-scrollbar-height-expected.txt: Added.
  • fast/forms/textarea-scrollbar-height.html: Added.
  • fast/forms/textarea-width.html: Added.
  • fast/overflow/overflow_hidden.html: Added.
  • fast/parser/resources/xml-declaration-missing-ending-mark.xml: Added.
  • fast/parser/xml-declaration-missing-ending-mark-expected.txt: Added.
  • fast/parser/xml-declaration-missing-ending-mark.html: Added.
  • fast/text/international/hindi-spacing.html: Added.
  • http/tests/misc/crash-multiple-family-fontface-expected.txt: Added.
  • http/tests/misc/crash-multiple-family-fontface.html: Added.
  • platform/mac/fast/css/border-height-expected.checksum: Added.
  • platform/mac/fast/css/border-height-expected.png: Added.
  • platform/mac/fast/css/border-height-expected.txt: Added.
  • platform/mac/fast/forms/image-border-expected.checksum: Added.
  • platform/mac/fast/forms/image-border-expected.png: Added.
  • platform/mac/fast/forms/image-border-expected.txt: Added.
  • platform/mac/fast/forms/input-field-text-truncated-expected.checksum: Added.
  • platform/mac/fast/forms/input-field-text-truncated-expected.png: Added.
  • platform/mac/fast/forms/input-field-text-truncated-expected.txt: Added.
  • platform/mac/fast/forms/input-type-text-min-width-expected.checksum: Added.
  • platform/mac/fast/forms/input-type-text-min-width-expected.png: Added.
  • platform/mac/fast/forms/input-type-text-min-width-expected.txt: Added.
  • platform/mac/fast/forms/textarea-width-expected.checksum: Added.
  • platform/mac/fast/forms/textarea-width-expected.png: Added.
  • platform/mac/fast/forms/textarea-width-expected.txt: Added.
  • platform/mac/fast/overflow/overflow_hidden-expected.checksum: Added.
  • platform/mac/fast/overflow/overflow_hidden-expected.png: Added.
  • platform/mac/fast/overflow/overflow_hidden-expected.txt: Added.
  • platform/mac/fast/text/international/hindi-spacing-expected.checksum: Added.
  • platform/mac/fast/text/international/hindi-spacing-expected.png: Added.
  • platform/mac/fast/text/international/hindi-spacing-expected.txt: Added.
15:26 Changeset [37664] by mjs@apple.com

2008-10-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich


  • don't bother to do arguments tearoff when it will have no effect

~1% on v8 raytrace


  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitReturn):
15:02 Changeset [37663] by hyatt@apple.com

2008-10-17 David Hyatt <hyatt@apple.com>

Eliminate the EAppearance enum in favor of the new ControlPart enum. Cut out the scrollbar
values from the enum since they are handled by ScrollbarTheme instead.

Reviewed by Tim Hatcher

  • css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator ControlPart):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle):
  • css/CSSValueKeywords.in:
  • platform/gtk/RenderThemeGtk.cpp: (WebCore::supportsFocus): (WebCore::RenderThemeGtk::baselinePosition): (WebCore::setToggleSize): (WebCore::RenderThemeGtk::setCheckboxSize): (WebCore::RenderThemeGtk::setRadioSize): (WebCore::RenderThemeGtk::adjustButtonStyle):
  • platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::baselinePosition): (WebCore::RenderThemeQt::controlSupportsTints): (WebCore::RenderThemeQt::adjustRepaintRect): (WebCore::RenderThemeQt::isControlStyled): (WebCore::computeSizeBasedOnStyle): (WebCore::RenderThemeQt::paintButton): (WebCore::RenderThemeQt::paintTextField): (WebCore::RenderThemeQt::paintMenuList): (WebCore::RenderThemeQt::supportsFocus): (WebCore::RenderThemeQt::applyTheme): (WebCore::RenderThemeQt::adjustSliderThumbSize):
  • platform/qt/RenderThemeQt.h:
  • rendering/RenderSlider.cpp: (WebCore::RenderSlider::createThumbStyle): (WebCore::RenderSlider::layout): (WebCore::RenderSlider::setValueForPosition): (WebCore::RenderSlider::setPositionFromValue): (WebCore::RenderSlider::positionForOffset): (WebCore::RenderSlider::currentPosition): (WebCore::RenderSlider::setCurrentPosition): (WebCore::RenderSlider::trackSize):
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): (WebCore::RenderTheme::paint): (WebCore::RenderTheme::paintBorderOnly): (WebCore::RenderTheme::paintDecorations): (WebCore::RenderTheme::isControlContainer): (WebCore::RenderTheme::isControlStyled): (WebCore::RenderTheme::supportsFocusRing): (WebCore::RenderTheme::isDefault):
  • rendering/RenderTheme.h:
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled): (WebCore::RenderThemeMac::adjustRepaintRect): (WebCore::RenderThemeMac::baselinePosition): (WebCore::RenderThemeMac::controlSupportsTints): (WebCore::RenderThemeMac::adjustButtonStyle): (WebCore::RenderThemeMac::setButtonCellState): (WebCore::RenderThemeMac::popupInternalPaddingLeft): (WebCore::RenderThemeMac::popupInternalPaddingRight): (WebCore::RenderThemeMac::popupInternalPaddingTop): (WebCore::RenderThemeMac::popupInternalPaddingBottom): (WebCore::RenderThemeMac::paintSliderTrack): (WebCore::RenderThemeMac::paintSliderThumb): (WebCore::RenderThemeMac::adjustSliderThumbSize):
  • rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::isControlStyled): (WebCore::RenderThemeSafari::adjustRepaintRect): (WebCore::RenderThemeSafari::baselinePosition): (WebCore::RenderThemeSafari::controlSupportsTints): (WebCore::RenderThemeSafari::adjustButtonStyle): (WebCore::RenderThemeSafari::popupInternalPaddingLeft): (WebCore::RenderThemeSafari::popupInternalPaddingRight): (WebCore::RenderThemeSafari::popupInternalPaddingTop): (WebCore::RenderThemeSafari::popupInternalPaddingBottom): (WebCore::RenderThemeSafari::paintSliderTrack): (WebCore::RenderThemeSafari::adjustSliderThumbSize):
  • rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::supportsFocus): (WebCore::RenderThemeWin::determineClassicState): (WebCore::RenderThemeWin::getClassicThemeData): (WebCore::RenderThemeWin::getThemeData): (WebCore::drawControl): (WebCore::RenderThemeWin::paintSliderTrack): (WebCore::RenderThemeWin::adjustSliderThumbSize):
  • rendering/RenderThemeWin.h:
  • rendering/style/RenderStyle.h: (WebCore::InheritedFlags::hasAppearance): (WebCore::InheritedFlags::appearance): (WebCore::InheritedFlags::setAppearance): (WebCore::InheritedFlags::initialAppearance):
  • rendering/style/RenderStyleConstants.h:
14:26 Changeset [37662] by hyatt@apple.com

2008-10-17 David Hyatt <hyatt@apple.com>

Beginning of the RenderTheme re-architecture (to share more code). Add the new Theme API header
file. Add new USE(NEW_THEME) switch that is enabled on Mac. The Mac theme will be converted first.

Reviewed by Tim Hatcher

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • config.h:
  • platform/Theme.h: Added. (WebCore::Theme::Theme): (WebCore::Theme::~Theme): (WebCore::Theme::baselinePositionAdjustment): (WebCore::Theme::controlHasInactiveAppearance): (WebCore::Theme::controlsCanHaveInactiveAppearance): (WebCore::Theme::controlsCanHaveHoveredAppearance): (WebCore::Theme::controlDrawsBorder): (WebCore::Theme::controlDrawsBackground): (WebCore::Theme::controlDrawsFocusOutline): (WebCore::Theme::selectionColor): (WebCore::Theme::textSearchHighlightColor): (WebCore::Theme::systemColor): (WebCore::Theme::systemFont): (WebCore::Theme::caretBlinkFrequency): (WebCore::Theme::themeChanged): (WebCore::Theme::controlSize): (WebCore::Theme::controlFont): (WebCore::Theme::controlPadding): (WebCore::Theme::controlInternalPadding): (WebCore::Theme::controlBorder): (WebCore::Theme::controlBorderRadius): (WebCore::Theme::paint): (WebCore::Theme::inflateControlPaintRect):
  • platform/ThemeTypes.h: Added. (WebCore::): (WebCore::ControlBox::ControlBox): (WebCore::ControlBox::top): (WebCore::ControlBox::right): (WebCore::ControlBox::bottom): (WebCore::ControlBox::left):
  • platform/mac/ThemeMac.h: Added. (WebCore::ThemeMac::ThemeMac): (WebCore::ThemeMac::~ThemeMac):
  • platform/mac/ThemeMac.mm: Added. (WebCore::platformTheme):
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::RenderTheme):
  • rendering/RenderTheme.h:
14:22 Changeset [37661] by kmccullough@apple.com

2008-10-16 Kevin McCullough <kmccullough@apple.com>

Reviewed by Steve Falkenburg.

<rdar://problem/6292718>
Implement a standard way to get the UA given an application name.

  • Interfaces/IWebViewPrivate.idl:
  • WebView.cpp: (WebView::standardUserAgentWithApplicationName):
  • WebView.h:
14:16 Changeset [37660] by jmalonzo@webkit.org

2008-10-17 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Sam Weinig. Landed by Jan Alonzo.

https://bugs.webkit.org/show_bug.cgi?id=21603
[GTK] Minor fixes to GOwnPtr

  • wtf/GOwnPtr.cpp: (WTF::GError): (WTF::GList): (WTF::GCond): (WTF::GMutex): (WTF::GPatternSpec): (WTF::GDir):
  • wtf/GOwnPtr.h: (WTF::freeOwnedGPtr): (WTF::GOwnPtr::~GOwnPtr): (WTF::GOwnPtr::outPtr): (WTF::GOwnPtr::set): (WTF::GOwnPtr::clear):
  • wtf/Threading.h:

2008-10-17 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Sam Weinig. Landed by Jan Alonzo.

https://bugs.webkit.org/show_bug.cgi?id=21603
[GTK] Minor fixes to GOwnPtr

  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::mediaPlayerPrivateErrorCallback):
14:04 Changeset [37659] by timothy@apple.com

Recompile the JavaScript functions when removing any listener, so functions that are
not being debugged can resume normal speed again.

https://bugs.webkit.org/show_bug.cgi?id=21715

Reviewed by Geoffrey Garen.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert was firing when closing the window and having the recompile fire after. This was an overzelious assert now.
  • inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer. (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start.
13:17 Changeset [37658] by mitz@apple.com

Reviewed by Sam Weinig.

  • export WTF::initializeOnMainThread()
  • WebKit.vcproj/WebKit.def:
  • WebKit.vcproj/WebKit_debug.def:
11:07 Changeset [37657] by pam@chromium.org

2008-10-17 Pamela Greene <pam@chromium.org>

Fix potential race by running two passes of test to defer notifyDone.
See https://bugs.webkit.org/show_bug.cgi?id=21576

Reviewed by Timothy Hatcher.

  • fast/history/resources/history_reload_window.html:
09:51 Changeset [37656] by timothy@apple.com

Fixes a regression where starting a debugging session in
another Web Inspector window would not show any scripts.
Also only attach the debugger to only the required Pages.

https://bugs.webkit.org/show_bug.cgi?id=21708

Reviewed by Darin Adler.

  • inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::addListener): Add an assert and remove the call to willAddFirstListener(). Add a call to didAddListener(). (WebCore::JavaScriptDebugServer::removeListener): Add an assert and call to didRemoveListener(). (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger if there is a listener interested in the new Page. (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage): Use hasGlobalListeners() instead of isEmpty(). (WebCore::JavaScriptDebugServer::sourceParsed): Ditto. (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the debugger to the page if non-null, or all pages if page is null. (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach the debugger only if there are no interested listeners. (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the call to Page::setDebuggerForAllPages().
  • inspector/JavaScriptDebugServer.h: (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added.
08:56 Changeset [37655] by brettw@chromium.org

Reviewed by Timothy Hatcher.

Have ImageDocument generate its own filename for the title of images
without relying on the suggested filename from the network layer, which
may be nonexistant or not relevant.
https://bugs.webkit.org/show_bug.cgi?id=21565

  • loader/ImageDocument.cpp: (WebCore::ImageTokenizer::finish):
06:35 Changeset [37654] by ap@webkit.org

Non-Mac build fix.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCoreSources.bkl: Added ActiveDOMObject to the build.
04:55 Changeset [37653] by mjs@apple.com

2008-10-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


  • speed up transitions that resize the property storage a fair bit


~3% speedup on v8 RayTrace benchmark, ~1% on DeltaBlue

  • VM/CTI.cpp: (JSC::resizePropertyStorage): renamed from transitionObject, and reduced to just resize the object's property storage with one inline call. (JSC::CTI::privateCompilePutByIdTransition): Use a separate function for property storage resize, but still do all the rest of the work in assembly in that case, and pass the known compile-time constants of old and new size rather than structureIDs, saving a bunch of redundant memory access.
  • kjs/JSObject.cpp: (JSC::JSObject::allocatePropertyStorage): Just call the inline version.
  • kjs/JSObject.h: (JSC::JSObject::allocatePropertyStorageInline): Inline version of allocatePropertyStorage
  • masm/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::pushl_i32): Add code to assmeble push of a constant; code originally by Cameron Zwarich.
03:46 Changeset [37652] by cwzwarich@webkit.org

2008-10-17 Cameron Zwarich <zwarich@apple.com>

Reviewed by Maciej Stachowiak.

Remove some C style casts.

  • masm/X86Assembler.h: (JSC::JITCodeBuffer::putIntUnchecked): (JSC::X86Assembler::link): (JSC::X86Assembler::linkAbsoluteAddress): (JSC::X86Assembler::getRelocatedAddress):
03:15 Changeset [37651] by cwzwarich@webkit.org

2008-10-17 Cameron Zwarich <zwarich@apple.com>

Rubber-stamped by Maciej Stachowiak.

Remove some C style casts.

  • VM/CTI.cpp: (JSC::CTI::patchGetByIdSelf): (JSC::CTI::patchPutByIdReplace):
  • VM/Machine.cpp: (JSC::Machine::tryCTICachePutByID): (JSC::Machine::tryCTICacheGetByID): (JSC::Machine::cti_op_put_by_id): (JSC::Machine::cti_op_put_by_id_fail): (JSC::Machine::cti_op_get_by_id): (JSC::Machine::cti_op_get_by_id_fail):
02:06 Changeset [37650] by mjs@apple.com

2008-10-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


This patch stops writing the call frame at call and return points;
instead it does so immediately before any CTI call.


0.5% speedup or so on the v8 benchmark


  • VM/CTI.cpp: (JSC::CTI::emitCTICall): (JSC::CTI::compileOpCall): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile):
  • VM/CTI.h:
01:10 Changeset [37649] by ap@webkit.org

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=21642
Abstract out active object tracking

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMBinding.cpp: (WebCore::markActiveObjectsForDocument):
  • dom/ActiveDOMObject.cpp: Added. (WebCore::ActiveDOMObject::ActiveDOMObject): (WebCore::ActiveDOMObject::~ActiveDOMObject): (WebCore::ActiveDOMObject::contextDestroyed): (WebCore::ActiveDOMObject::stop):
  • dom/ActiveDOMObject.h: Added. (WebCore::ActiveDOMObject::document): (WebCore::ActiveDOMObject::hasPendingActivity): (WebCore::ActiveDOMObject::setPendingActivity): (WebCore::ActiveDOMObject::unsetPendingActivity):
  • dom/Document.cpp: (WebCore::Document::~Document): (WebCore::Document::stopActiveDOMObjects): (WebCore::Document::createdActiveDOMObject): (WebCore::Document::destroyedActiveDOMObject):
  • dom/Document.h: (WebCore::Document::activeDOMObjects):
  • dom/MessagePort.cpp: (WebCore::MessagePort::contextDestroyed):
  • dom/MessagePort.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::XMLHttpRequest): (WebCore::XMLHttpRequest::~XMLHttpRequest): (WebCore::XMLHttpRequest::associatedFrame): (WebCore::XMLHttpRequest::responseXML): (WebCore::XMLHttpRequest::callReadyStateChangeListener): (WebCore::XMLHttpRequest::initSend): (WebCore::XMLHttpRequest::send): (WebCore::XMLHttpRequest::createRequest): (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): (WebCore::XMLHttpRequest::loadRequestSynchronously): (WebCore::XMLHttpRequest::loadRequestAsynchronously): (WebCore::XMLHttpRequest::dropProtection): (WebCore::XMLHttpRequest::setRequestHeader): (WebCore::XMLHttpRequest::processSyncLoadResults): (WebCore::XMLHttpRequest::didFinishLoading): (WebCore::XMLHttpRequest::didFinishLoadingPreflight): (WebCore::XMLHttpRequest::willSendRequest): (WebCore::XMLHttpRequest::accessControlCheck): (WebCore::XMLHttpRequest::didReceiveResponsePreflight): (WebCore::XMLHttpRequest::stop): (WebCore::XMLHttpRequest::contextDestroyed):
  • xml/XMLHttpRequest.h: Move activity tracking to a new ActiveDOMObject class.
01:04 Changeset [37648] by cwzwarich@webkit.org

2008-10-17 Cameron Zwarich <zwarich@apple.com>

Reviewed by Sam Weinig.

Make WREC require CTI because it won't actually compile otherwise.

  • wtf/Platform.h:

10/16/08:

20:24 Changeset [37647] by mjs@apple.com

2008-10-16 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff Garen.

  • 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

This time there is no performance regression; we can avoid having
to use the fastcall calling convention for CTI functions by using
varargs to prevent the compiler from moving things around on the
stack.


  • Configurations/DebugRelease.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/CTI.cpp:
  • VM/Machine.h:
  • wtf/Platform.h:
20:05 Changeset [37646] by mjs@apple.com

2008-10-16 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.


  • kjs/collector.cpp: (JSC::Heap::collect): Avoid crashing when a GC occurs while no global objects are live.
19:57 Changeset [37645] by weinig@apple.com

2008-10-16 Sam Weinig <sam@webkit.org>

Reviewed by Maciej Stachowiak.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21683
Don't create intermediate StructureIDs for builtin objects

First step in reduce number of StructureIDs created when initializing the
JSGlobalObject.

  • In order to avoid creating the intermediate StructureIDs use the new putDirectWithoutTransition and putDirectFunctionWithoutTransition to add properties to JSObjects without transitioning the StructureID. This patch just implements this strategy for ObjectPrototype but alone reduces the number of StructureIDs create for about:blank by 10, from 142 to 132.
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::reset):
  • kjs/JSObject.cpp: (JSC::JSObject::putDirectFunctionWithoutTransition):
  • kjs/JSObject.h: (JSC::JSObject::putDirectWithoutTransition):
  • kjs/ObjectPrototype.cpp: (JSC::ObjectPrototype::ObjectPrototype):
  • kjs/ObjectPrototype.h:
  • kjs/StructureID.cpp: (JSC::StructureID::addPropertyWithoutTransition):
  • kjs/StructureID.h:
18:20 Changeset [37644] by hyatt@apple.com

2008-10-16 David Hyatt <hyatt@apple.com>

Simplify styleForRenderer to avoid confusion. Callers in the SVG filter code thought "forRenderer" meant
they would be given a style that corresponded to the RenderObject* passed in. This is not what the code
did though. This patch removes the renderer argument and the Element subclass shadow implementation
so that confusion like this can't occur again.

Reviewed by Oliver Hunt

  • dom/Element.cpp:
  • dom/Element.h:
  • dom/Node.cpp: (WebCore::Node::createRendererIfNeeded): (WebCore::Node::styleForRenderer):
  • dom/Node.h:
  • html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::attach):
  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::attach):
  • svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::canvasResource):
  • svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::build):
  • svg/SVGFEFloodElement.cpp: (WebCore::SVGFEFloodElement::build):
  • svg/SVGFESpecularLightingElement.cpp: (WebCore::SVGFESpecularLightingElement::build):
  • svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::buildStops):
  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::attachShadowTree):
18:04 Changeset [37643] by hyatt@apple.com

Add fixme about this filter code's style gyrations making no sense whatsoever.

17:54 Changeset [37642] by hyatt@apple.com

Fix Qt bustage. Why are filters on in Qt?

17:48 Changeset [37641] by hyatt@apple.com

Fix Qt bustage. Why are filters on in Qt?

17:47 Changeset [37640] by hyatt@apple.com

Fix Qt bustage. Why are filters on in Qt?

17:46 Changeset [37639] by hyatt@apple.com

Fix Qt bustage. Why are filters on in Qt?

17:46 Changeset [37638] by hyatt@apple.com

Fix Qt bustage. Why are filters on in Qt?

17:25 Changeset [37637] by hyatt@apple.com

2008-10-16 David Hyatt <hyatt@apple.com>

https://bugs.webkit.org/attachment.cgi?bugid=21647

Make RenderStyle inherit from RefCounted so that it works with RefPtr. RenderStyle was being malloced
out of the RenderArena. Years and years ago (before TCMalloc), the plan was to make RenderStyles and
all their associated sub-structs use the arena. However only the RenderStyle itself was ever changed
to use the arena.

At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
as the bulk of the styles on a given page are actually shared. Not ever making the sub-structs use the
arena also limited the usefulness.

Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
mallocs, there is no reason to keep RenderStyles in the arena. The benefits of being able to eliminate
manual ref/deref far outweigh keeping them in the arena.

Reviewed by Adam Roben

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::CSSStyleSelector): (WebCore::CSSStyleSelector::~CSSStyleSelector): (WebCore::CSSStyleSelector::styleForElement): (WebCore::CSSStyleSelector::keyframeStylesForAnimation): (WebCore::CSSStyleSelector::pseudoStyleForElement): These methods now return a PassRefPtr. They will null out the m_style variable as they hand it back so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).

(WebCore::CSSStyleSelector::updateFont):
(WebCore::CSSStyleSelector::checkSelector):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::mapFillSize):
(WebCore::CSSStyleSelector::mapFillXPosition):
(WebCore::CSSStyleSelector::mapFillYPosition):

  • css/CSSStyleSelector.h: (WebCore::CSSStyleSelector::style):
  • dom/Document.cpp: (WebCore::Document::recalcStyle):
  • dom/Element.cpp: (WebCore::Element::styleForRenderer): (WebCore::Element::recalcStyle): (WebCore::Element::computedStyle):
  • dom/Element.h:
  • dom/ElementRareData.h: (WebCore::ElementRareData::ElementRareData): (WebCore::ElementRareData::resetComputedStyle):
  • dom/Node.cpp: (WebCore::Node::diff): (WebCore::Node::createRendererIfNeeded): (WebCore::Node::styleForRenderer): (WebCore::Node::setRenderStyle):
  • dom/Node.h:
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::setFont):
  • html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::attach): (WebCore::HTMLOptGroupElement::detach): (WebCore::HTMLOptGroupElement::setRenderStyle): (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::attach): (WebCore::HTMLOptionElement::detach): (WebCore::HTMLOptionElement::setRenderStyle): (WebCore::HTMLOptionElement::nonRendererRenderStyle):
  • html/HTMLOptionElement.h:
  • page/animation/AnimationBase.h: (WebCore::AnimationBase::animate):
  • page/animation/AnimationController.cpp: (WebCore::AnimationController::updateAnimations):
  • page/animation/AnimationController.h:
  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimationPrivate::updateTransitions): (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations): (WebCore::CompositeAnimationPrivate::animate): (WebCore::CompositeAnimation::animate):
  • page/animation/CompositeAnimation.h:
  • page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::ImplicitAnimation): (WebCore::ImplicitAnimation::~ImplicitAnimation): (WebCore::ImplicitAnimation::animate): (WebCore::ImplicitAnimation::reset): (WebCore::ImplicitAnimation::isTargetPropertyEqual): (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
  • page/animation/ImplicitAnimation.h: (WebCore::ImplicitAnimation::create):
  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::KeyframeAnimation): (WebCore::KeyframeAnimation::~KeyframeAnimation): (WebCore::KeyframeAnimation::animate): (WebCore::KeyframeAnimation::validateTransformFunctionList):
  • page/animation/KeyframeAnimation.h: (WebCore::KeyframeAnimation::create): (WebCore::KeyframeAnimation::unanimatedStyle):
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint):
  • rendering/MediaControlElements.cpp: (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): (WebCore::MediaControlInputElement::MediaControlInputElement):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::styleDidChange): (WebCore::RenderBlock::updateFirstLetter):
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::addChild): (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
  • rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::updateFromElement): (WebCore::RenderFileUploadControl::createButtonStyle):
  • rendering/RenderFileUploadControl.h:
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::createAnonymousFlow):
  • rendering/RenderFlow.h:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::addChildToFlow):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateScrollCornerStyle): (WebCore::RenderLayer::updateResizerStyle): (WebCore::RenderLayer::updateReflectionStyle):
  • rendering/RenderListItem.cpp: (WebCore::RenderListItem::styleDidChange):
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::createPanel): (WebCore::RenderMedia::createTimeDisplay): (WebCore::RenderMedia::changeOpacity):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::selectionBackgroundColor): (WebCore::RenderObject::selectionForegroundColor): (WebCore::RenderObject::createAnonymousBlock): (WebCore::RenderObject::setAnimatableStyle): (WebCore::RenderObject::setStyle): (WebCore::RenderObject::setStyleInternal): (WebCore::RenderObject::arenaDelete): (WebCore::RenderObject::firstLineStyle): (WebCore::RenderObject::getPseudoStyle):
  • rendering/RenderObject.h: (WebCore::RenderObject::style):
  • rendering/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::setStyle):
  • rendering/RenderSVGBlock.h:
  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::getScrollbarPseudoStyle): (WebCore::RenderScrollbar::updateScrollbarPart):
  • rendering/RenderScrollbar.h:
  • rendering/RenderSlider.cpp: (WebCore::RenderSlider::styleDidChange): (WebCore::RenderSlider::createThumbStyle): (WebCore::RenderSlider::updateFromElement):
  • rendering/RenderSlider.h:
  • rendering/RenderTable.cpp: (WebCore::RenderTable::addChild):
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::addChild):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::addChild):
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::styleDidChange): (WebCore::RenderTextControl::createInnerBlockStyle): (WebCore::RenderTextControl::createInnerTextStyle): (WebCore::RenderTextControl::createResultsButtonStyle): (WebCore::RenderTextControl::createCancelButtonStyle): (WebCore::RenderTextControl::createSubtreeIfNeeded): (WebCore::RenderTextControl::updatePlaceholderVisibility):
  • rendering/RenderTextControl.h:
  • rendering/TextControlInnerElements.cpp: (WebCore::TextControlInnerElement::attachInnerElement):
  • rendering/TextControlInnerElements.h:
  • rendering/style/KeyframeList.cpp: (WebCore::KeyframeList::clear): (WebCore::KeyframeList::operator==): (WebCore::KeyframeList::insert):
  • rendering/style/KeyframeList.h: (WebCore::KeyframeValue::KeyframeValue): (WebCore::KeyframeValue::~KeyframeValue): (WebCore::KeyframeValue::key): (WebCore::KeyframeValue::style):
  • rendering/style/RenderStyle.cpp: (WebCore::defaultStyle): (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::RenderStyle): (WebCore::RenderStyle::getCachedPseudoStyle): (WebCore::RenderStyle::addCachedPseudoStyle):
  • rendering/style/RenderStyle.h: (WebCore::): (WebCore::InheritedFlags::operator!=):
  • svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::canvasResource):
  • svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::buildStops):
  • svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::resolveStyle):
  • svg/SVGStyledElement.h:
  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::recalcStyle): (WebCore::SVGUseElement::attachShadowTree):
12:08 Changeset [37636] by andersca@apple.com

2008-10-16 Kenneth Russell <kenneth.russell@sun.com>

Reviewed and landed by Anders Carlsson.

https://bugs.webkit.org/show_bug.cgi?id=21587
NPN_PluginThreadAsyncCall does not work properly


  • plugins/PluginMainThreadScheduler.cpp: (WebCore::PluginMainThreadScheduler::dispatchCalls): Make sure to set m_callPending to false once the queue has been cleared.
11:57 Changeset [37635] by jmalonzo@webkit.org

2008-10-16 Jan Michael Alonzo <jmalonzo@webkit.org>

Gtk build fix. Not reviewed.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::setSmartInsertDeleteEnabled):
09:12 Changeset [37634] by jchaffraix@webkit.org

2008-10-16 Julien Chaffraix <jchaffraix@pleyo.com>

Rubber-stamped by Alexey Proskuryakov.

Remove duplicated code in this test.

  • http/tests/xmlhttprequest/xmlhttprequest-post-crash.html:
08:52 Changeset [37633] by darin@apple.com

WebKitTools:

2008-10-15 Glenn Wilson <gwilson@google.com>

Added new method to allow tests to disable smart editing in the course of a test.
This is a possible solution to bug .20655

Reviewed by Tim Hatcher.

  • DumpRenderTree/LayoutTestController.cpp: (setSmartInsertDeleteEnabledCallback): new method (LayoutTestController::staticFunctions): added new method to static list of callbacks
  • DumpRenderTree/LayoutTestController.h: added signature of new method
  • DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentStateBeforeTesting): added state resetting
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setSmartInsertDeleteEnabled): added new method
  • DumpRenderTree/win/DumpRenderTree.cpp: (resetWebViewToConsistentStateBeforeTesting): added state resetting
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setSmartInsertDeleteEnabled): added new method

LayoutTests:

2008-10-15 Glenn Wilson <gwilson@google.com>

Added tests to verify that smart editing can be disabled for some tests.

Reviewed by Tim Hatcher.

  • editing/deleting/smart-editing-disabled-expected.txt: Added.
  • editing/deleting/smart-editing-disabled.html: Added.
04:11 Changeset [37632] by mjs@apple.com

2008-10-16 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


  • fix for: REGRESSION: over 100 StructureIDs leak loading about:blank (result of fix for bug 21633)


Apparent slight progression (< 0.5%) on v8 benchmarks and SunSpider.

  • kjs/StructureID.cpp: (JSC::StructureID::~StructureID): Don't deref this object's parent's pointer to itself from the destructor; that doesn't even make sense. (JSC::StructureID::addPropertyTransition): Don't refer the single transition; the rule is that parent StructureIDs are ref'd but child ones are not. Refing the child creates a cycle.
01:00 Changeset [37631] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21609
Make MessagePorts protect their peers across heaps

JavaScriptCore:

  • JavaScriptCore.exp:
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::markCrossHeapDependentObjects):
  • kjs/JSGlobalObject.h:
  • kjs/collector.cpp: (JSC::Heap::collect): Before GC sweep phase, a function supplied by global object is now called for all global objects in the heap, making it possible to implement cross-heap dependencies.

WebCore:

  • dom/MessagePort.cpp: (WebCore::MessagePort::MessagePort):
  • dom/MessagePort.h: (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible): (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible): Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this means that the implementation object knows about JS bindings - but it is not possible to access JS wrappers from another heap/thread.
  • bindings/js/JSDOMBinding.cpp: (WebCore::markCrossHeapDependentObjectsForDocument):
  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects):
  • bindings/js/JSDOMWindowBase.h: Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object hasn't been marked normally, it is marked as inaccessible. It is then marked manually, as long as its entangled port is accessible itself.

10/15/08:

23:41 Changeset [37630] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21610
run-webkit-threads --threaded crashes in StructureID destructor

  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::~StructureID): Protect access to a static (debug-only) HashSet with a lock.
22:31 Changeset [37629] by weinig@apple.com

2008-10-15 Sam Weinig <sam@webkit.org>

Reviewed by Goeffrey Garen.

Add function to dump statistics for StructureIDs.

  • kjs/StructureID.cpp: (JSC::StructureID::dumpStatistics): (JSC::StructureID::StructureID): (JSC::StructureID::~StructureID):
  • kjs/StructureID.h:
21:56 Changeset [37628] by jhoneycutt@apple.com

2008-10-15 Jon Honeycutt <jhoneycutt@apple.com>

Remove unneeded check of whether a Page defers loading before running it
in a modal dialog.

No test possible.

Reviewed by Tim Hatcher.

  • page/Chrome.cpp:
21:36 Changeset [37627] by cwzwarich@webkit.org

2008-10-15 Cameron Zwarich <zwarich@apple.com>

Reviewed by Maciej Stachowiak.

Bug 21633: Avoid using a HashMap when there is only a single transition
<https://bugs.webkit.org/show_bug.cgi?id=21633>

This is a 0.8% speedup on SunSpider and between a 0.5% and 1.0% speedup
on the V8 benchmark suite, depending on which harness we use. It will
also slightly reduce the memory footprint of a StructureID.

  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::~StructureID): (JSC::StructureID::addPropertyTransition):
  • kjs/StructureID.h: (JSC::StructureID::):
20:09 Changeset [37626] by mrowe@apple.com

Fix a leak of a CFStringRef reported by the build bot.

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.

19:36 Changeset [37625] by ggaren@apple.com

2008-10-15 Csaba Osztrogonac <oszi@inf.u-szeged.hu>

Reviewed by Geoffrey Garen.

1.40% speedup on SunSpider, 1.44% speedup on V8. (Linux)


No change on Mac.

  • VM/Machine.cpp: (JSC::fastIsNumber): ALWAYS_INLINE modifier added.
18:14 Changeset [37624] by andersca@apple.com

2008-10-15 Kenneth Russell <kenneth.russell@sun.com>

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]):
18:05 Changeset [37623] by mrowe@apple.com

<rdar://problem/6272508> Crash occurs after loading flash content at http://www.macrumors.com/

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:]):

16:33 Changeset [37622] by ggaren@apple.com

JavaScriptCore:

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

  • 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

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.
15:22 Changeset [37621] by zecke@webkit.org

2008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>

Build fix attempt.

Try to fix static/non-static declaration of g_string_append_uri_escape
by renaming that string. Another look needs to be taken.

  • platform/gtk/guriescape.c: (_webcore_g_string_append_uri_escaped): (_webcore_g_uri_escape_string):
15:10 Changeset [37620] by adele@apple.com

2008-10-15 Adele Peterson <adele@apple.com>

Attempt to fix the Tiger build.

  • platform/network/mac/ResourceHandleMac.mm:
15:08 Changeset [37619] by zecke@webkit.org

Build fix for Cairo after changes to BitmapeImage.h

15:01 Changeset [37618] by zecke@webkit.org

2008-10-15 Jeff Cook <cookiecaper@gmail.com>

Reviewed by Holger Freyther.

Stop SIGSEGV when leaving a page with a Flash object by reordering
window destruction and plugin stop.

See https://bugs.webkit.org/show_bug.cgi?id=20779

  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::stop):
15:01 Changeset [37617] by mrowe@apple.com

<rdar://problem/5803460> A file named StringsNotToBeLocalized.txt file is installed Webkit.framework/Resources.

Rubber-stamped by Brady Eidson.

  • WebKit.xcodeproj/project.pbxproj: Don't install StringsNotToBeLocalized.txt.
14:53 Changeset [37616] by adele@apple.com

2008-10-15 Adele Peterson <adele@apple.com>

Reviewed by Sam Weinig.

Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist.

  • platform/network/ResourceHandle.h:
  • platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead):
  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didSendBodyDataDelegateExists): (WebCore::ResourceHandle::start): (WebCore::ResourceHandle::cancel): (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]): (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
14:11 Changeset [37615] by pkasting@chromium.org

2008-10-15 Peter Kasting <pkasting@google.com>

Reviewed by David Hyatt.

Qt build bustage fix.

  • platform/graphics/qt/StillImageQt.h: (WebCore::StillImage::destroyDecodedData):
14:06 Changeset [37614] by hyatt@apple.com

2008-10-15 David Hyatt <hyatt@apple.com>

Make sure scrollbar styles get deleted if they aren't assigned to a renderer.

Reviewed by Mark Rowe

  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::getScrollbarPseudoStyle): (WebCore::RenderScrollbar::updateScrollbarPart):
13:53 Changeset [37613] by zecke@webkit.org

2008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Holger Freyther.

http://bugs.webkit.org/show_bug.cgi?id=21211
[CURL] Upload doesn't work because cancel is called

FormDataStream::read returns 0 when retrieving data from the form
fails, but also when there is no more data to send. This means that
ResourceHandleManager::cancel is always called even when the data was
successfully sent.

Check if there are more elements in the form before calling
FormDataStream::read.

  • platform/network/curl/FormDataStreamCurl.cpp: (WebCore::FormDataStream::hasMoreElements):
  • platform/network/curl/FormDataStreamCurl.h:
  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::readCallback):
13:38 Changeset [37612] by pkasting@chromium.org

2008-10-15 Peter Kasting <pkasting@google.com>

Reviewed by David Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt)
Account for paint and timer lag when animating images. Also pretend
that images whose animations were paused (by becoming invisible)
continued to animate, by "catching up" to the correct frame when they're
shown again.

  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::destroyDecodedData): (WebCore::BitmapImage::cacheFrame): (WebCore::BitmapImage::frameIsCompleteAtIndex): (WebCore::BitmapImage::frameDurationAtIndex): (WebCore::BitmapImage::frameHasAlphaAtIndex): (WebCore::BitmapImage::repetitionCount): (WebCore::BitmapImage::shouldAnimate): (WebCore::BitmapImage::startAnimation): (WebCore::BitmapImage::resetAnimation): (WebCore::BitmapImage::advanceAnimation): (WebCore::BitmapImage::internalAdvanceAnimation): (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
  • platform/graphics/BitmapImage.h: (WebCore::FrameData::FrameData): (WebCore::BitmapImage::):
  • platform/graphics/GeneratedImage.h: (WebCore::GeneratedImage::destroyDecodedData):
  • platform/graphics/Image.h:
  • platform/graphics/cairo/ImageCairo.cpp: (WebCore::FrameData::clear): (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::draw):
  • platform/graphics/cg/ImageCG.cpp: (WebCore::FrameData::clear): (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::draw):
  • platform/graphics/cg/PDFDocumentImage.h: (WebCore::PDFDocumentImage::destroyDecodedData):
  • platform/graphics/qt/ImageQt.cpp: (WebCore::FrameData::clear): (WebCore::BitmapImage::draw):
  • platform/graphics/wx/ImageWx.cpp: (WebCore::FrameData::clear): (WebCore::BitmapImage::draw):
  • svg/graphics/SVGImage.h: (WebCore::SVGImage::destroyDecodedData):
13:32 Changeset [37611] by bdakin@apple.com

WebCore:

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.
13:18 Changeset [37610] by zecke@webkit.org

2008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Holger Freyther.

http://bugs.webkit.org/show_bug.cgi?id=20664
[GTK] File names are not always encodable in UTF-8

On Linux file names are just raw data and cannot always be directly
encoded in UTF-8 or in any other encodings, so we escape them before
storing the file name in a String and unescape them before passing
them to native functions handling files.

  • GNUmakefile.am:
  • platform/FileSystem.h:
  • platform/gtk/FileChooserGtk.cpp: (WebCore::stringByAdoptingFileSystemRepresentation): (WebCore::FileChooser::basenameForWidth):
  • platform/gtk/FileSystemGtk.cpp: (WebCore::filenameToString): (WebCore::filenameFromString): (WebCore::filenameForDisplay): (WebCore::fileExists): (WebCore::deleteFile): (WebCore::deleteEmptyDirectory): (WebCore::getFileSize): (WebCore::getFileModificationTime): (WebCore::makeAllDirectories): (WebCore::homeDirectoryPath): (WebCore::pathGetFileName): (WebCore::listDirectory):
  • platform/gtk/KURLGtk.cpp: (WebCore::KURL::fileSystemPath):
  • platform/gtk/SharedBufferGtk.cpp: (WebCore::SharedBuffer::createWithContentsOfFile):
  • platform/gtk/guriescape.c: Added. (is_valid): (gunichar_ok): (g_string_append_uri_escaped): (_webcore_g_uri_escape_string):
  • platform/gtk/guriescape.h: Added.
11:23 Changeset [37609] by aroben@apple.com

Export WTF::Mutex::tryLock

  • WebKit.vcproj/WebKit.def:
  • WebKit.vcproj/WebKit_debug.def:
11:19 Changeset [37608] by sfalken@apple.com

Merge r37596.

11:12 Changeset [37607] by sfalken@apple.com

New tag.

10:21 Changeset [37606] by timothy@apple.com

Clean up user agent generation to simplify the _standardUserAgentWithApplicationName:
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:.
10:02 Changeset [37605] by darin@apple.com

2008-10-15 Dirk Schulze <vbs85@gmx.de>

Reviewed by Eric Seidel.

  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::spreadMethod): (WebCore::GraphicsContext::setSpreadMethod):
  • platform/graphics/GraphicsContext.h: (WebCore::):
  • platform/graphics/GraphicsContextPrivate.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::applySpreadMethod): (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath):
  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::applySpreadMethod): (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath):
  • svg/GradientAttributes.h: (WebCore::GradientAttributes::GradientAttributes): (WebCore::GradientAttributes::spreadMethod): (WebCore::GradientAttributes::setSpreadMethod):
  • svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::parseMappedAttribute):
  • svg/SVGGradientElement.h:
  • svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::collectGradientProperties):
  • svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::collectGradientProperties):
  • svg/graphics/SVGPaintServerGradient.cpp: (WebCore::operator<<): (WebCore::SVGPaintServerGradient::SVGPaintServerGradient): (WebCore::SVGPaintServerGradient::spreadMethod): (WebCore::SVGPaintServerGradient::setGradientSpreadMethod): (WebCore::SVGPaintServerGradient::externalRepresentation):
  • svg/graphics/SVGPaintServerGradient.h:
  • svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: (WebCore::SVGPaintServerGradient::setup):
  • svg/graphics/qt/SVGPaintServerGradientQt.cpp: (WebCore::SVGPaintServerGradient::setup):
09:42 Changeset [37604] by darin@apple.com

2008-10-15 Joerg Bornemann <joerg.bornemann@trolltech.com>

Reviewed by Darin Adler.

str(n)icmp, strdup and vsnprintf are not available on Windows CE,
they are called _str(n)icmp, etc. instead

  • wtf/StringExtras.h: Added inline function implementations.
09:34 Changeset [37603] by jchaffraix@webkit.org

2008-10-15 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by David Hyatt.

Bug 20490: [XBL] XBLBinding should be split into several classes

  • Distribute XBLBinding's methods and attributes between 2 new classes:
  • XBLBindingPrototype: holds and manages the binding element.
  • XBLDocumentPrototype: loads and stores the binding document.
  • Make the 2 new classes RefCounted as they should be shared between multiple bindings.

No functional changes, thus no test cases.

  • GNUmakefile.am: Add the 2 new files to compile.
  • WebCore.pro: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • xbl/XBLBinding.cpp: (WebCore::XBLBinding::XBLBinding): Take an XBLBindingPrototype. (WebCore::XBLBinding::~XBLBinding): Zero the XBLBindingPrototype. (WebCore::XBLBinding::uri):
  • xbl/XBLBinding.h:
  • xbl/XBLBindingManager.cpp: (WebCore::XBLBindingManager::addBinding):
  • xbl/XBLBindingPrototype.cpp: Copied from WebCore/xbl/XBLBinding.cpp. (WebCore::XBLBindingPrototype::XBLBindingPrototype): (WebCore::XBLBindingPrototype::~XBLBindingPrototype): (WebCore::XBLBindingPrototype::updateBindingElement): Renamed getBindingElement to updateBindingElement.
  • xbl/XBLBindingPrototype.h: Copied from WebCore/xbl/XBLBinding.h. (WebCore::XBLBindingPrototype::create):
  • xbl/XBLDocumentPrototype.cpp: Copied from WebCore/xbl/XBLBinding.cpp. (WebCore::XBLDocumentPrototype::XBLDocumentPrototype): (WebCore::XBLDocumentPrototype::~XBLDocumentPrototype): (WebCore::XBLDocumentPrototype::setXBLDocument):
  • xbl/XBLDocumentPrototype.h: Copied from WebCore/xbl/XBLBinding.h. (WebCore::XBLDocumentPrototype::create): (WebCore::XBLDocumentPrototype::bindingDocument):
02:35 Changeset [37602] by cwzwarich@webkit.org

2008-10-15 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed by Cameron Zwarich.

<https://bugs.webkit.org/show_bug.cgi?id=20912>
Use simple uint32_t multiplication on op_mul if both operands are
immediate number and they are between zero and 0x7FFF.

  • VM/Machine.cpp: (JSC::Machine::privateExecute):

10/14/08:

22:22 Changeset [37601] by darin@chromium.org

2008-10-09 Darin Fisher <darin@chromium.org>

Reviewed by Sam Weinig.

Make pan scrolling a platform configurable option
https://bugs.webkit.org/show_bug.cgi?id=21515

  • page/EventHandler.cpp: (WebCore::EventHandler::handleAutoscroll): (WebCore::EventHandler::autoscrollTimerFired): (WebCore::EventHandler::stopAutoscrollTimer): (WebCore::EventHandler::handleMousePressEvent): (WebCore::EventHandler::keyEvent):
22:21 Changeset [37600] by darin@chromium.org

2008-10-09 Darin Fisher <darin@chromium.org>

Reviewed by Sam Weinig.

Make pan scrolling a platform configurable option.
https://bugs.webkit.org/show_bug.cgi?id=21515

  • wtf/Platform.h: Add ENABLE_PAN_SCROLLING
22:15 Changeset [37599] by darin@chromium.org

2008-10-10 Darin Fisher <darin@chromium.org>

Reviewed by Darin Adler.

Add some PLATFORM(CHROMIUM) ifdefs to WebCore
https://bugs.webkit.org/show_bug.cgi?id=21511

  • loader/FTPDirectoryDocument.cpp:
  • loader/FTPDirectoryParser.cpp:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::finishedLoadingDocument):
  • platform/ContextMenuItem.h:
  • platform/Cursor.h:
  • platform/DragData.h:
  • platform/DragImage.h:
  • platform/Pasteboard.h:
  • platform/PlatformKeyboardEvent.h: (WebCore::PlatformKeyboardEvent::isSystemKey):
  • platform/PlatformMenuDescription.h:
  • platform/PlatformMouseEvent.h:
  • platform/PlatformWheelEvent.h:
  • platform/PopupMenu.h:
  • platform/ScrollView.h:
  • platform/Widget.h:
  • platform/network/NetworkStateNotifier.h:
20:41 Changeset [37598] by timothy@apple.com

Make the user agent generation method a class method and cache the WebKit
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:.
19:39 Changeset [37597] by mjs@apple.com

2008-10-14 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Sam Weinig.



Turns out GCC 4.2 is still a (small) regression, we'll have to do
more work to turn it on.

  • Configurations/DebugRelease.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/CTI.cpp:
  • VM/CTI.h:
  • VM/Machine.cpp: (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_register_file_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_is_undefined): (JSC::Machine::cti_op_is_boolean): (JSC::Machine::cti_op_is_number): (JSC::Machine::cti_op_is_string): (JSC::Machine::cti_op_is_object): (JSC::Machine::cti_op_is_function): (JSC::Machine::cti_op_stricteq): (JSC::Machine::cti_op_nstricteq): (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:
  • masm/X86Assembler.h: (JSC::X86Assembler::emitRestoreArgumentReference): (JSC::X86Assembler::emitRestoreArgumentReferenceForTrampoline):
  • wtf/Platform.h:
17:23 Changeset [37596] by sfalken@apple.com

Build fix. Fix dependency chain in sln file.

15:43 Changeset [37595] by pam@chromium.org

2008-10-14 Pamela Greene <pam@chromium.org>

Add test to verify popup properties while they're opening.
The expected result is currently not the desired result.
See https://bugs.webkit.org/show_bug.cgi?id=21419 and
https://bugs.webkit.org/show_bug.cgi?id=21597 .

Reviewed by Eric Seidel.

  • fast/dom/Window/window-open-pending-url-expected.txt: Added.
  • fast/dom/Window/window-open-pending-url.html: Added.
15:16 Changeset [37594] by adachan@apple.com

Fix windows build.

Reviewed by Sam Weinig.

  • DumpRenderTree/cg/PixelDumpSupportCG.cpp:
  • DumpRenderTree/config.h:
  • DumpRenderTree/win/DumpRenderTreeWin.h:
  • DumpRenderTree/win/LayoutTestControllerWin.cpp:
  • DumpRenderTree/win/UIDelegate.cpp:
15:11 Changeset [37593] by aroben@apple.com

Fix Bug 21602: Bugzilla times out trying to display formatted diff for attachment 24345

https://bugs.webkit.org/show_bug.cgi?id=21602

Reviewed by Dave Kilzer.

  • PrettyPatch/PrettyPatch.rb: (PrettyPatch.BINARY_FILE_MARKER_FORMAT): Added. (PrettyPatch.FileDiff.initialize): If any of the lines in the diff are a binary file marker, mark this FileDiff as binary and stop trying to process the lines. (PrettyDiff.FileDiff.to_html): If we're binary, just print a string saying so.
14:31 Changeset [37592] by cmarrin@apple.com

2008-10-14 Chris Marrin <cmarrin@apple.com>

Reviewed by Darin Adler.

Fixed https://bugs.webkit.org/show_bug.cgi?id=21490
Optimize keyframe style sheet changes by avoiding styleSheetChanged()

Test: css3/change-keyframes.html

  • css/WebKitCSSKeyframesRule.cpp: (WebCore::WebKitCSSKeyframesRule::append): (WebCore::WebKitCSSKeyframesRule::deleteRule):
13:35 Changeset [37591] by hyatt@apple.com

WebCore:

2008-10-14 David Hyatt <hyatt@apple.com>

https://bugs.webkit.org/show_bug.cgi?id=21595

Clean up background and overflow propagation from the body to the viewport. Make it match the
latest CSS2.1 spec thinking.

Reviewed by Adam Roben

Added many tests at fast/body-propagation/. These are Simon Pieters' tests of propagation handling
(available at http://simon.html5.org/test/css/magic-body/).

  • dom/Document.cpp: (WebCore::Document::body):
  • page/FrameView.cpp: (WebCore::FrameView::layout):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::styleDidChange): (WebCore::RenderBox::paintRootBoxDecorations): (WebCore::RenderBox::paintBoxDecorations): (WebCore::RenderBox::repaintLayerRectsForImage):

LayoutTests:

2008-10-14 David Hyatt <hyatt@apple.com>

Add layout tests for body propagation of overflow and background to the viewport.

Reviewed by Adam Roben

  • fast/body-propagation: Added.
  • fast/body-propagation/background-color: Added.
  • fast/body-propagation/background-color/001-xhtml.xhtml: Added.
  • fast/body-propagation/background-color/001.html: Added.
  • fast/body-propagation/background-color/002-xhtml.xhtml: Added.
  • fast/body-propagation/background-color/002.html: Added.
  • fast/body-propagation/background-color/003-declarative.xhtml: Added.
  • fast/body-propagation/background-color/003-xhtml.xhtml: Added.
  • fast/body-propagation/background-color/003.html: Added.
  • fast/body-propagation/background-color/004-declarative.xhtml: Added.
  • fast/body-propagation/background-color/004-xhtml.xhtml: Added.
  • fast/body-propagation/background-color/004.html: Added.
  • fast/body-propagation/background-color/005-declarative.xhtml: Added.
  • fast/body-propagation/background-color/005-xhtml.xhtml: Added.
  • fast/body-propagation/background-color/005.html: Added.
  • fast/body-propagation/background-color/006-declarative.xhtml: Added.
  • fast/body-propagation/background-color/006-xhtml.xhtml: Added.
  • fast/body-propagation/background-color/006.html: Added.
  • fast/body-propagation/background-color/007-declarative.xhtml: Added.
  • fast/body-propagation/background-color/007-xhtml.xhtml: Added.
  • fast/body-propagation/background-color/007.html: Added.
  • fast/body-propagation/background-color/008-xhtml.xhtml: Added.
  • fast/body-propagation/background-color/008.html: Added.
  • fast/body-propagation/background-image: Added.
  • fast/body-propagation/background-image/001-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/001.html: Added.
  • fast/body-propagation/background-image/002-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/002.html: Added.
  • fast/body-propagation/background-image/003-declarative.xhtml: Added.
  • fast/body-propagation/background-image/003-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/003.html: Added.
  • fast/body-propagation/background-image/004-declarative.xhtml: Added.
  • fast/body-propagation/background-image/004-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/004.html: Added.
  • fast/body-propagation/background-image/005-declarative.xhtml: Added.
  • fast/body-propagation/background-image/005-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/005.html: Added.
  • fast/body-propagation/background-image/006-declarative.xhtml: Added.
  • fast/body-propagation/background-image/006-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/006.html: Added.
  • fast/body-propagation/background-image/007-declarative.xhtml: Added.
  • fast/body-propagation/background-image/007-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/007.html: Added.
  • fast/body-propagation/background-image/008-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/008.html: Added.
  • fast/body-propagation/background-image/009-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/009.html: Added.
  • fast/body-propagation/background-image/010-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/010.html: Added.
  • fast/body-propagation/background-image/resources: Added.
  • fast/body-propagation/background-image/resources/lime.png: Added.
  • fast/body-propagation/background-image/resources/red.png: Added.
  • fast/body-propagation/background-image/resources/white.png: Added.
  • fast/body-propagation/background-image/resources/yellow.png: Added.
  • fast/body-propagation/overflow: Added.
  • fast/body-propagation/overflow/001-xhtml.xhtml: Added.
  • fast/body-propagation/overflow/001.html: Added.
  • fast/body-propagation/overflow/002-xhtml.xhtml: Added.
  • fast/body-propagation/overflow/002.html: Added.
  • fast/body-propagation/overflow/003-declarative.xhtml: Added.
  • fast/body-propagation/overflow/003-xhtml.xhtml: Added.
  • fast/body-propagation/overflow/003.html: Added.
  • fast/body-propagation/overflow/004-declarative.xhtml: Added.
  • fast/body-propagation/overflow/004-xhtml.xhtml: Added.
  • fast/body-propagation/overflow/004.html: Added.
  • fast/body-propagation/overflow/005-declarative.xhtml: Added.
  • fast/body-propagation/overflow/005-xhtml.xhtml: Added.
  • fast/body-propagation/overflow/005.html: Added.
  • fast/body-propagation/overflow/006-declarative.xhtml: Added.
  • fast/body-propagation/overflow/006-xhtml.xhtml: Added.
  • fast/body-propagation/overflow/006.html: Added.
  • fast/body-propagation/overflow/007-declarative.xhtml: Added.
  • fast/body-propagation/overflow/007-xhtml.xhtml: Added.
  • fast/body-propagation/overflow/007.html: Added.
  • platform/mac/fast/body-propagation: Added.
  • platform/mac/fast/body-propagation/background-color: Added.
  • platform/mac/fast/body-propagation/background-color/001-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/001-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/001-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/001-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/001-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/001-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/002-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/002-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/002-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/002-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/002-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/002-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/003-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/003-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/003-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/003-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/003-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/003-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/003-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/003-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/003-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/004-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/004-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/004-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/004-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/004-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/004-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/004-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/004-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/004-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/005-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/005-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/005-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/005-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/005-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/005-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/005-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/005-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/005-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/006-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/006-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/006-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/006-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/006-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/006-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/006-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/006-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/006-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/007-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/007-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/007-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/007-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/007-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/007-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/007-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/007-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/007-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/008-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/008-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/008-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/008-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/008-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/008-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image: Added.
  • platform/mac/fast/body-propagation/background-image/001-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/001-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/001-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/001-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/001-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/001-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/002-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/002-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/002-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/002-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/002-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/002-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/003-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/003-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/003-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/003-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/003-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/003-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/003-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/003-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/003-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/004-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/004-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/004-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/004-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/004-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/004-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/004-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/004-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/004-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/005-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/005-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/005-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/005-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/005-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/005-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/005-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/005-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/005-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/006-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/006-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/006-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/006-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/006-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/006-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/006-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/006-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/006-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/007-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/007-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/007-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/007-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/007-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/007-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/007-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/007-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/007-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/008-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/008-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/008-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/008-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/008-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/008-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/009-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/009-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/009-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/009-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/009-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/009-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/010-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/010-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/010-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/010-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/010-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/010-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow: Added.
  • platform/mac/fast/body-propagation/overflow/001-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/001-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/001-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/001-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/001-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/001-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/002-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/002-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/002-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/002-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/002-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/002-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/003-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/003-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/003-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/003-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/003-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/003-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/003-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/003-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/003-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/004-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/004-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/004-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/004-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/004-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/004-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/004-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/004-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/004-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/005-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/005-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/005-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/005-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/005-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/005-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/005-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/005-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/005-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/006-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/006-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/006-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/006-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/006-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/006-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/006-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/006-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/006-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/007-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/007-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/007-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/007-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/007-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/007-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/007-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/007-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/007-xhtml-expected.txt: Added.
12:55 Changeset [37590] by weinig@apple.com

WebCore:

2008-10-14 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed and landed by Sam Weinig.

Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
remove NSResolver code, leaving only checking for selectors that need
NS resolution and throwing a coresponding error.

  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSDocumentCustom.cpp:
  • bindings/js/JSDocumentFragmentCustom.cpp:
  • bindings/js/JSElementCustom.cpp:
  • bindings/js/JSNSResolver.cpp: Removed.
  • bindings/js/JSNSResolver.h: Removed.
  • dom/Document.idl:
  • dom/DocumentFragment.idl:
  • dom/Element.idl:
  • dom/NSResolver.h: Removed.
  • dom/NSResolver.idl: Removed.
  • dom/Node.h:
  • dom/Node.cpp: (WebCore::forEachTagSelector): (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()): (WebCore::selectorNeedsNamespaceResolution): (WebCore::Node::querySelector): (WebCore::Node::querySelectorAll):

LayoutTests:

2008-10-14 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed and landed by Sam Weinig.

Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
remove no longer relevant NSResolver tests.

  • fast/dom/SelectorAPI/NSResolver-basic-expected.txt: Removed.
  • fast/dom/SelectorAPI/NSResolver-basic.xhtml: Removed.
  • fast/dom/SelectorAPI/NSResolver-exceptions-expected.txt: Removed.
  • fast/dom/SelectorAPI/NSResolver-exceptions.xhtml: Removed.
  • fast/dom/SelectorAPI/resources/NSResolver-exceptions.js: Removed.
12:19 Changeset [37589] by darin@apple.com

2008-10-14 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig (all but the FormDataListItem rename).

  • html/FormDataList.cpp: Removed appendFile since it's now inline. Also took incorrect old copyrights off of this file that are left over from when it was split.
  • html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and made it a member of FormDataList. Changed it to hold a File object instead of a path. And made its data members private. Changed FormDataList::appendFile accordingly.
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Updated for above changes. Removed the code that special-cases HTMLInputElement, because now the FormDataListItem has everything we need. And if there are multiple files, we'll get multiple list items for them.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::appendFormData): Changed the code for <input type=file> to use File objects instead of path strings and also to append multiple files if the file list has them.
12:17 Changeset [37588] by timothy@apple.com

Make prepare-ChangeLog populate the changed functions for JavaScript files.

https://bugs.webkit.org/show_bug.cgi?id=21567

Reviewed by David Kilzer.

  • Scripts/prepare-ChangeLog: (get_function_line_ranges): Call get_function_line_ranges_for_javascript for files that end with ".js". (get_function_line_ranges_for_javascript): Find functions, anonymous functions and getters/setters.
11:43 Changeset [37587] by darin@apple.com

2008-10-14 Alp Toker <alp@nuanti.com>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=16299
Add a config.h file to DRT

Add a config.h to DumpRenderTree and reduce use of DumpRenderTree.h as
an ad-hoc config header.

  • DumpRenderTree/AccessibilityController.cpp:
  • DumpRenderTree/AccessibilityUIElement.cpp:
  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/DumpRenderTree.h:
  • DumpRenderTree/GCController.cpp:
  • DumpRenderTree/LayoutTestController.cpp:
  • DumpRenderTree/WorkQueue.cpp:
  • DumpRenderTree/config.h: Added.
  • DumpRenderTree/gtk/DumpRenderTree.cpp:
  • DumpRenderTree/gtk/GCControllerGtk.cpp:
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
  • DumpRenderTree/gtk/WorkQueueItemGtk.cpp:
  • DumpRenderTree/win/AccessibilityControllerWin.cpp:
  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:
  • DumpRenderTree/win/DumpRenderTree.cpp:
  • DumpRenderTree/win/DumpRenderTreeWin.h:
  • DumpRenderTree/win/EditingDelegate.cpp:
  • DumpRenderTree/win/EventSender.cpp:
  • DumpRenderTree/win/FrameLoadDelegate.cpp:
  • DumpRenderTree/win/GCControllerWin.cpp:
  • DumpRenderTree/win/MD5.cpp:
  • DumpRenderTree/win/PixelDumpSupportWin.cpp:
  • DumpRenderTree/win/PolicyDelegate.cpp:
  • DumpRenderTree/win/ResourceLoadDelegate.cpp:
  • DumpRenderTree/win/WorkQueueItemWin.cpp:
  • GNUmakefile.am:
09:22 Changeset [37586] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=20256
Array.push and other standard methods disappear

  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): (JSC::JSGlobalData::~JSGlobalData): Don't use static hash tables even on platforms that don't enable JSC_MULTIPLE_THREADS - these tables reference IdentifierTable, which is always per-GlobalData.
05:50 Changeset [37585] by vestbo@webkit.org

2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Fix QtWebKit scrollbar painting errors

01:46 Changeset [37584] by vestbo@webkit.org

2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Clip painter to dirty rect before passing on to WebKit

This was previously done in ScrollViewQt, but after the
refactoring of ScrollView we need to do it in QWebFrame
instead, similar to Safari/Win.

01:43 Changeset [37583] by vestbo@webkit.org

2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Fix scrollbar arrows for horizontal scrollbars

01:38 Changeset [37582] by vestbo@webkit.org

2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Use style-painter to draw scrollbars in ScrollbarThemeQt

This has the benefit of setting up the painter properly without
antialiasing and saving and restoring the brush. It also ensures
that we use the style of the QWebView over the QApplication style
if possible.

01:21 Changeset [37581] by mjs@apple.com

2008-10-14 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


  • always use CTI_ARGUMENTS and CTI_ARGUMENTS_FASTCALL


This is a small regression for GCC 4.0, but simplifies the code
for future improvements and lets us focus on GCC 4.2+ and MSVC.

  • VM/CTI.cpp:
  • VM/CTI.h:
  • VM/Machine.cpp: (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_register_file_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_is_undefined): (JSC::Machine::cti_op_is_boolean): (JSC::Machine::cti_op_is_number): (JSC::Machine::cti_op_is_string): (JSC::Machine::cti_op_is_object): (JSC::Machine::cti_op_is_function): (JSC::Machine::cti_op_stricteq): (JSC::Machine::cti_op_nstricteq): (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:
  • masm/X86Assembler.h: (JSC::X86Assembler::emitRestoreArgumentReference): (JSC::X86Assembler::emitRestoreArgumentReferenceForTrampoline):
  • wtf/Platform.h:
00:49 Changeset [37580] by jhoneycutt@apple.com

2008-10-14 Jon Honeycutt <jhoneycutt@apple.com>

Export currentThread.

Rubber-stamped by Dan Bernstein.

  • WebKit.vcproj/WebKit.def:
  • WebKit.vcproj/WebKit_debug.def:
Note: See TracTimeline for information about the timeline view.