Timeline


and

11/15/08:

22:04 Changeset [38442] by weinig@apple.com

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

Reviewed by Cameron Zwarich.

Cleanup jsc command line code a little.

  • jsc.cpp: (functionQuit): (main): Use standard exit status macros (cleanupGlobalData): Factor out cleanup code into this function. (printUsageStatement): Use standard exit status macros.
21:36 Changeset [38441] by weinig@apple.com

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

Reviewed by Cameron Zwarich.

Cleanup BytecodeGenerator constructors.

  • bytecompiler/CodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator):
  • bytecompiler/CodeGenerator.h:
  • parser/Nodes.cpp: (JSC::ProgramNode::generateBytecode):
20:40 Changeset [38440] by darin@apple.com

JavaScriptCore:

2008-11-15 Darin Adler <darin@apple.com>

Rubber stamped by Geoff Garen.

  • do the long-planned StructureID -> Structure rename
  • API/JSCallbackConstructor.cpp: (JSC::JSCallbackConstructor::JSCallbackConstructor):
  • API/JSCallbackConstructor.h: (JSC::JSCallbackConstructor::createStructure):
  • API/JSCallbackFunction.h: (JSC::JSCallbackFunction::createStructure):
  • API/JSCallbackObject.h: (JSC::JSCallbackObject::createStructure):
  • API/JSCallbackObjectFunctions.h: (JSC::::JSCallbackObject):
  • API/JSValueRef.cpp: (JSValueIsInstanceOfConstructor):
  • GNUmakefile.am:
  • JavaScriptCore.exp:
  • JavaScriptCore.pri:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • VM/CTI.cpp: (JSC::CTI::compileBinaryArithOp): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::transitionWillNeedStorageRealloc): (JSC::CTI::privateCompilePutByIdTransition): (JSC::CTI::patchGetByIdSelf): (JSC::CTI::patchPutByIdReplace):
  • VM/CTI.h: (JSC::CTI::compileGetByIdSelf): (JSC::CTI::compileGetByIdProto): (JSC::CTI::compileGetByIdChain): (JSC::CTI::compilePutByIdReplace): (JSC::CTI::compilePutByIdTransition):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::printStructure): (JSC::CodeBlock::printStructures): (JSC::CodeBlock::dump): (JSC::CodeBlock::~CodeBlock): (JSC::CodeBlock::derefStructures): (JSC::CodeBlock::refStructures):
  • VM/CodeBlock.h:
  • VM/Instruction.h: (JSC::Instruction::Instruction): (JSC::Instruction::):
  • VM/Machine.cpp: (JSC::jsTypeStringForValue): (JSC::jsIsObjectType): (JSC::BytecodeInterpreter::resolveGlobal): (JSC::BytecodeInterpreter::BytecodeInterpreter): (JSC::cachePrototypeChain): (JSC::BytecodeInterpreter::tryCachePutByID): (JSC::BytecodeInterpreter::uncachePutByID): (JSC::BytecodeInterpreter::tryCacheGetByID): (JSC::BytecodeInterpreter::uncacheGetByID): (JSC::BytecodeInterpreter::privateExecute): (JSC::BytecodeInterpreter::tryCTICachePutByID): (JSC::BytecodeInterpreter::tryCTICacheGetByID): (JSC::BytecodeInterpreter::cti_op_instanceof): (JSC::BytecodeInterpreter::cti_op_construct_JSConstruct): (JSC::BytecodeInterpreter::cti_op_resolve_global): (JSC::BytecodeInterpreter::cti_op_is_undefined):
  • runtime/Arguments.h: (JSC::Arguments::createStructure):
  • runtime/ArrayConstructor.cpp: (JSC::ArrayConstructor::ArrayConstructor):
  • runtime/ArrayConstructor.h:
  • runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::ArrayPrototype):
  • runtime/ArrayPrototype.h:
  • runtime/BatchedTransitionOptimizer.h: (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer): (JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):
  • runtime/BooleanConstructor.cpp: (JSC::BooleanConstructor::BooleanConstructor):
  • runtime/BooleanConstructor.h:
  • runtime/BooleanObject.cpp: (JSC::BooleanObject::BooleanObject):
  • runtime/BooleanObject.h:
  • runtime/BooleanPrototype.cpp: (JSC::BooleanPrototype::BooleanPrototype):
  • runtime/BooleanPrototype.h:
  • runtime/DateConstructor.cpp: (JSC::DateConstructor::DateConstructor):
  • runtime/DateConstructor.h:
  • runtime/DateInstance.cpp: (JSC::DateInstance::DateInstance):
  • runtime/DateInstance.h:
  • runtime/DatePrototype.cpp: (JSC::DatePrototype::DatePrototype):
  • runtime/DatePrototype.h: (JSC::DatePrototype::createStructure):
  • runtime/ErrorConstructor.cpp: (JSC::ErrorConstructor::ErrorConstructor):
  • runtime/ErrorConstructor.h:
  • runtime/ErrorInstance.cpp: (JSC::ErrorInstance::ErrorInstance):
  • runtime/ErrorInstance.h:
  • runtime/ErrorPrototype.cpp: (JSC::ErrorPrototype::ErrorPrototype):
  • runtime/ErrorPrototype.h:
  • runtime/FunctionConstructor.cpp: (JSC::FunctionConstructor::FunctionConstructor):
  • runtime/FunctionConstructor.h:
  • runtime/FunctionPrototype.cpp: (JSC::FunctionPrototype::FunctionPrototype): (JSC::FunctionPrototype::addFunctionProperties):
  • runtime/FunctionPrototype.h: (JSC::FunctionPrototype::createStructure):
  • runtime/GlobalEvalFunction.cpp: (JSC::GlobalEvalFunction::GlobalEvalFunction):
  • runtime/GlobalEvalFunction.h:
  • runtime/Identifier.h:
  • runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction):
  • runtime/InternalFunction.h: (JSC::InternalFunction::createStructure): (JSC::InternalFunction::InternalFunction):
  • runtime/JSActivation.cpp: (JSC::JSActivation::JSActivation):
  • runtime/JSActivation.h: (JSC::JSActivation::createStructure):
  • runtime/JSArray.cpp: (JSC::JSArray::JSArray):
  • runtime/JSArray.h: (JSC::JSArray::createStructure):
  • runtime/JSCell.h: (JSC::JSCell::JSCell): (JSC::JSCell::isObject): (JSC::JSCell::isString): (JSC::JSCell::structure): (JSC::JSValue::needsThisConversion):
  • runtime/JSFunction.cpp: (JSC::JSFunction::construct):
  • runtime/JSFunction.h: (JSC::JSFunction::JSFunction): (JSC::JSFunction::createStructure):
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): (JSC::JSGlobalData::createLeaked):
  • runtime/JSGlobalData.h:
  • runtime/JSGlobalObject.cpp: (JSC::markIfNeeded): (JSC::JSGlobalObject::reset):
  • runtime/JSGlobalObject.h: (JSC::JSGlobalObject::JSGlobalObject): (JSC::JSGlobalObject::argumentsStructure): (JSC::JSGlobalObject::arrayStructure): (JSC::JSGlobalObject::booleanObjectStructure): (JSC::JSGlobalObject::callbackConstructorStructure): (JSC::JSGlobalObject::callbackFunctionStructure): (JSC::JSGlobalObject::callbackObjectStructure): (JSC::JSGlobalObject::dateStructure): (JSC::JSGlobalObject::emptyObjectStructure): (JSC::JSGlobalObject::errorStructure): (JSC::JSGlobalObject::functionStructure): (JSC::JSGlobalObject::numberObjectStructure): (JSC::JSGlobalObject::prototypeFunctionStructure): (JSC::JSGlobalObject::regExpMatchesArrayStructure): (JSC::JSGlobalObject::regExpStructure): (JSC::JSGlobalObject::stringObjectStructure): (JSC::JSGlobalObject::createStructure): (JSC::Structure::prototypeForLookup):
  • runtime/JSNotAnObject.h: (JSC::JSNotAnObject::createStructure):
  • runtime/JSNumberCell.h: (JSC::JSNumberCell::createStructure): (JSC::JSNumberCell::JSNumberCell):
  • runtime/JSObject.cpp: (JSC::JSObject::mark): (JSC::JSObject::put): (JSC::JSObject::deleteProperty): (JSC::JSObject::defineGetter): (JSC::JSObject::defineSetter): (JSC::JSObject::getPropertyAttributes): (JSC::JSObject::getPropertyNames): (JSC::JSObject::removeDirect): (JSC::JSObject::createInheritorID):
  • runtime/JSObject.h: (JSC::JSObject::getDirect): (JSC::JSObject::getDirectLocation): (JSC::JSObject::hasCustomProperties): (JSC::JSObject::hasGetterSetterProperties): (JSC::JSObject::createStructure): (JSC::JSObject::JSObject): (JSC::JSObject::~JSObject): (JSC::JSObject::prototype): (JSC::JSObject::setPrototype): (JSC::JSObject::setStructure): (JSC::JSObject::inheritorID): (JSC::JSObject::inlineGetOwnPropertySlot): (JSC::JSObject::getOwnPropertySlotForWrite): (JSC::JSCell::fastGetOwnPropertySlot): (JSC::JSObject::putDirect): (JSC::JSObject::putDirectWithoutTransition): (JSC::JSObject::transitionTo):
  • runtime/JSPropertyNameIterator.h: (JSC::JSPropertyNameIterator::next):
  • runtime/JSStaticScopeObject.h: (JSC::JSStaticScopeObject::JSStaticScopeObject): (JSC::JSStaticScopeObject::createStructure):
  • runtime/JSString.h: (JSC::JSString::JSString): (JSC::JSString::createStructure):
  • runtime/JSVariableObject.h: (JSC::JSVariableObject::JSVariableObject):
  • runtime/JSWrapperObject.h: (JSC::JSWrapperObject::JSWrapperObject):
  • runtime/MathObject.cpp: (JSC::MathObject::MathObject):
  • runtime/MathObject.h: (JSC::MathObject::createStructure):
  • runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor::NativeErrorConstructor):
  • runtime/NativeErrorConstructor.h:
  • runtime/NativeErrorPrototype.cpp: (JSC::NativeErrorPrototype::NativeErrorPrototype):
  • runtime/NativeErrorPrototype.h:
  • runtime/NumberConstructor.cpp: (JSC::NumberConstructor::NumberConstructor):
  • runtime/NumberConstructor.h: (JSC::NumberConstructor::createStructure):
  • runtime/NumberObject.cpp: (JSC::NumberObject::NumberObject):
  • runtime/NumberObject.h:
  • runtime/NumberPrototype.cpp: (JSC::NumberPrototype::NumberPrototype):
  • runtime/NumberPrototype.h:
  • runtime/ObjectConstructor.cpp: (JSC::ObjectConstructor::ObjectConstructor):
  • runtime/ObjectConstructor.h:
  • runtime/ObjectPrototype.cpp: (JSC::ObjectPrototype::ObjectPrototype):
  • runtime/ObjectPrototype.h:
  • runtime/Operations.h: (JSC::equalSlowCaseInline):
  • runtime/PropertyNameArray.h: (JSC::PropertyNameArrayData::setCachedStructure): (JSC::PropertyNameArrayData::cachedStructure): (JSC::PropertyNameArrayData::setCachedPrototypeChain): (JSC::PropertyNameArrayData::cachedPrototypeChain): (JSC::PropertyNameArrayData::PropertyNameArrayData):
  • runtime/PrototypeFunction.cpp: (JSC::PrototypeFunction::PrototypeFunction):
  • runtime/PrototypeFunction.h:
  • runtime/RegExpConstructor.cpp: (JSC::RegExpConstructor::RegExpConstructor):
  • runtime/RegExpConstructor.h: (JSC::RegExpConstructor::createStructure):
  • runtime/RegExpObject.cpp: (JSC::RegExpObject::RegExpObject):
  • runtime/RegExpObject.h: (JSC::RegExpObject::createStructure):
  • runtime/RegExpPrototype.cpp: (JSC::RegExpPrototype::RegExpPrototype):
  • runtime/RegExpPrototype.h:
  • runtime/StringConstructor.cpp: (JSC::StringConstructor::StringConstructor):
  • runtime/StringConstructor.h:
  • runtime/StringObject.cpp: (JSC::StringObject::StringObject):
  • runtime/StringObject.h: (JSC::StringObject::createStructure):
  • runtime/StringObjectThatMasqueradesAsUndefined.h: (JSC::StringObjectThatMasqueradesAsUndefined::create): (JSC::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined): (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
  • runtime/StringPrototype.cpp: (JSC::StringPrototype::StringPrototype):
  • runtime/StringPrototype.h:
  • runtime/Structure.cpp: Copied from JavaScriptCore/runtime/StructureID.cpp. (JSC::Structure::dumpStatistics): (JSC::Structure::Structure): (JSC::Structure::~Structure): (JSC::Structure::startIgnoringLeaks): (JSC::Structure::stopIgnoringLeaks): (JSC::Structure::materializePropertyMap): (JSC::Structure::getEnumerablePropertyNames): (JSC::Structure::clearEnumerationCache): (JSC::Structure::growPropertyStorageCapacity): (JSC::Structure::addPropertyTransitionToExistingStructure): (JSC::Structure::addPropertyTransition): (JSC::Structure::removePropertyTransition): (JSC::Structure::changePrototypeTransition): (JSC::Structure::getterSetterTransition): (JSC::Structure::toDictionaryTransition): (JSC::Structure::fromDictionaryTransition): (JSC::Structure::addPropertyWithoutTransition): (JSC::Structure::removePropertyWithoutTransition): (JSC::Structure::createCachedPrototypeChain): (JSC::Structure::checkConsistency): (JSC::Structure::copyPropertyTable): (JSC::Structure::get): (JSC::Structure::put): (JSC::Structure::remove): (JSC::Structure::insertIntoPropertyMapHashTable): (JSC::Structure::createPropertyMapHashTable): (JSC::Structure::expandPropertyMapHashTable): (JSC::Structure::rehashPropertyMapHashTable): (JSC::Structure::getEnumerablePropertyNamesInternal):
  • runtime/Structure.h: Copied from JavaScriptCore/runtime/StructureID.h. (JSC::Structure::create): (JSC::Structure::previousID): (JSC::Structure::setCachedPrototypeChain): (JSC::Structure::cachedPrototypeChain): (JSC::Structure::): (JSC::Structure::get):
  • runtime/StructureChain.cpp: Copied from JavaScriptCore/runtime/StructureIDChain.cpp. (JSC::StructureChain::StructureChain): (JSC::structureChainsAreEqual):
  • runtime/StructureChain.h: Copied from JavaScriptCore/runtime/StructureIDChain.h. (JSC::StructureChain::create): (JSC::StructureChain::head):
  • runtime/StructureID.cpp: Removed.
  • runtime/StructureID.h: Removed.
  • runtime/StructureIDChain.cpp: Removed.
  • runtime/StructureIDChain.h: Removed.
  • runtime/StructureIDTransitionTable.h: Removed.
  • runtime/StructureTransitionTable.h: Copied from JavaScriptCore/runtime/StructureIDTransitionTable.h.

JavaScriptGlue:

2008-11-15 Darin Adler <darin@apple.com>

Rubber stamped by Geoff Garen.

  • do the long-planned StructureID -> Structure rename
  • JSRun.cpp: (JSGlueGlobalObject::JSGlueGlobalObject): (JSRun::JSRun):
  • JSRun.h: (JSGlueGlobalObject::userObjectStructure):
  • JSUtils.cpp: (getThreadGlobalObject):
  • UserObjectImp.cpp: (UserObjectImp::UserObjectImp):
  • UserObjectImp.h: (UserObjectImp::createStructure):

WebCore:

2008-11-15 Darin Adler <darin@apple.com>

Rubber stamped by Geoff Garen.

  • do the long-planned StructureID -> Structure rename
  • ForwardingHeaders/runtime/Structure.h: Copied from WebCore/ForwardingHeaders/runtime/StructureID.h.
  • ForwardingHeaders/runtime/StructureID.h: Removed.
  • bindings/js/JSAudioConstructor.cpp: (WebCore::JSAudioConstructor::JSAudioConstructor):
  • bindings/js/JSDOMBinding.cpp: (WebCore::getCachedDOMStructure): (WebCore::cacheDOMStructure):
  • bindings/js/JSDOMBinding.h: (WebCore::DOMObject::DOMObject): (WebCore::getDOMStructure):
  • bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::JSDOMWindowBase):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::JSDOMWindowShell): (WebCore::JSDOMWindowShell::setWindow):
  • bindings/js/JSDOMWindowShell.h: (WebCore::JSDOMWindowShell::createStructure):
  • bindings/js/JSDedicatedWorkerConstructor.cpp: (WebCore::JSDedicatedWorkerConstructor::JSDedicatedWorkerConstructor):
  • bindings/js/JSHTMLAllCollection.h: (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): (WebCore::JSHTMLAllCollection::createStructure):
  • bindings/js/JSImageConstructor.cpp: (WebCore::JSImageConstructor::JSImageConstructor):
  • bindings/js/JSInspectedObjectWrapper.cpp: (WebCore::JSInspectedObjectWrapper::wrap): (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
  • bindings/js/JSInspectedObjectWrapper.h:
  • bindings/js/JSInspectorCallbackWrapper.cpp: (WebCore::leakInspectorCallbackWrapperStructure): (WebCore::JSInspectorCallbackWrapper::wrap): (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
  • bindings/js/JSInspectorCallbackWrapper.h:
  • bindings/js/JSMessageChannelConstructor.cpp: (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
  • bindings/js/JSNamedNodesCollection.h: (WebCore::JSNamedNodesCollection::createStructure):
  • bindings/js/JSOptionConstructor.cpp: (WebCore::JSOptionConstructor::JSOptionConstructor):
  • bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
  • bindings/js/JSQuarantinedObjectWrapper.h: (WebCore::JSQuarantinedObjectWrapper::createStructure):
  • bindings/js/JSRGBColor.h: (WebCore::JSRGBColor::createStructure):
  • bindings/js/JSWorkerContext.cpp: (WebCore::createJSWorkerContextStructure): (WebCore::JSWorkerContext::JSWorkerContext): (WebCore::JSWorkerContext::createPrototype):
  • bindings/js/JSWorkerContext.h: (WebCore::JSWorkerContext::createStructure): (WebCore::JSWorkerContextPrototype::JSWorkerContextPrototype): (WebCore::JSWorkerContextPrototype::createStructure):
  • bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
  • bindings/js/JSXSLTProcessorConstructor.cpp: (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
  • bindings/scripts/CodeGeneratorJS.pm:
  • bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
  • bridge/qt/qt_runtime.cpp: (JSC::Bindings::QtConnectionObject::execute):
  • bridge/qt/qt_runtime.h: (JSC::Bindings::QtRuntimeMethod::createStructure):
  • bridge/runtime_array.h: (JSC::RuntimeArray::createStructure):
  • bridge/runtime_method.h: (JSC::RuntimeMethod::createStructure):
  • bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::RuntimeObjectImp):
  • bridge/runtime_object.h: (JSC::RuntimeObjectImp::createStructure):

WebKitTools:

2008-11-15 Darin Adler <darin@apple.com>

Rubber stamped by Geoff Garen.

  • do the long-planned StructureID -> Structure rename
  • Scripts/check-for-global-initializers: Update name of StructureID.o.
  • Scripts/do-webcore-rename: Renaming script that I used.
20:35 Changeset [38439] by darin@apple.com

2008-11-15 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • fix just-introduced crash in the svg/custom/svg-fonts-in-html.html test

This gets rid of the crash. It restores the behavior of the CG case from before Dirk
Shulze removed the platorm-dependent code, but perhaps it should be changed further
in the future so that the default for no style is "no stroke". I think the patch is
fine for fill.

  • svg/graphics/SVGPaintServerSolid.cpp: (WebCore::SVGPaintServerSolid::setup): Added null checks for svgStyle. (WebCore::SVGPaintServerSolid::renderPath): Added null checks for style and svgStyle.
19:58 Changeset [38438] by darin@apple.com

2008-11-15 Darin Adler <darin@apple.com>

  • fix non-WREC build
  • runtime/RegExp.cpp: Put "using namespace WREC" inside #if ENABLE(WREC).
15:45 Changeset [38437] by kevino@webkit.org

Reviewed by Timothy Hatcher.

As ThreadingNone doesn't implement threads, isMainThread should return true, not false.

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

15:39 Changeset [38436] by kevino@webkit.org

Reviewed by Timothy Hatcher.

Initialize m_networkStateChangedFunction to 0 as otherwise the check for null will fail.

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

15:24 Changeset [38435] by krit@webkit.org

2008-11-15 Dirk Schulze <krit@webkit.org>

Reviewed by Geoffrey Garen.

r38426 caused a wrong drawing of a LayoutTest. Use another
way to set the color to pass this test again.

  • svg/graphics/SVGPaintServerSolid.cpp: (WebCore::SVGPaintServerSolid::setup):
15:02 Changeset [38434] by ggaren@apple.com

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved all WREC-related code into WREC.cpp and put it in a WREC namespace.
Removed the WREC prefix from class names.

  • VM/CTI.cpp:
  • VM/CTI.h:
  • VM/Machine.h: (JSC::BytecodeInterpreter::assemblerBuffer):
  • masm/X86Assembler.h:
  • runtime/RegExp.cpp: (JSC::RegExp::RegExp):
  • wrec/CharacterClassConstructor.cpp:
  • wrec/CharacterClassConstructor.h:
  • wrec/WREC.cpp: (WREC::GenerateParenthesesNonGreedyFunctor::GenerateParenthesesNonGreedyFunctor): (WREC::GeneratePatternCharacterFunctor::generateAtom): (WREC::GeneratePatternCharacterFunctor::backtrack): (WREC::GenerateCharacterClassFunctor::generateAtom): (WREC::GenerateCharacterClassFunctor::backtrack): (WREC::GenerateBackreferenceFunctor::generateAtom): (WREC::GenerateBackreferenceFunctor::backtrack): (WREC::GenerateParenthesesNonGreedyFunctor::generateAtom): (WREC::GenerateParenthesesNonGreedyFunctor::backtrack): (WREC::Generator::generateBacktrack1): (WREC::Generator::generateBacktrackBackreference): (WREC::Generator::generateBackreferenceQuantifier): (WREC::Generator::generateNonGreedyQuantifier): (WREC::Generator::generateGreedyQuantifier): (WREC::Generator::generatePatternCharacter): (WREC::Generator::generateCharacterClassInvertedRange): (WREC::Generator::generateCharacterClassInverted): (WREC::Generator::generateCharacterClass): (WREC::Generator::generateParentheses): (WREC::Generator::generateParenthesesNonGreedy): (WREC::Generator::generateParenthesesResetTrampoline): (WREC::Generator::generateAssertionBOL): (WREC::Generator::generateAssertionEOL): (WREC::Generator::generateAssertionWordBoundary): (WREC::Generator::generateBackreference): (WREC::Generator::generateDisjunction): (WREC::Generator::terminateDisjunction): (WREC::Parser::parseGreedyQuantifier): (WREC::Parser::parseQuantifier): (WREC::Parser::parsePatternCharacterQualifier): (WREC::Parser::parseCharacterClassQuantifier): (WREC::Parser::parseBackreferenceQuantifier): (WREC::Parser::parseParentheses): (WREC::Parser::parseCharacterClass): (WREC::Parser::parseOctalEscape): (WREC::Parser::parseEscape): (WREC::Parser::parseTerm): (WREC::Parser::parseDisjunction): (WREC::compileRegExp):
  • wrec/WREC.h: (WREC::Generator::Generator): (WREC::Parser::Parser): (WREC::Parser::parseAlternative):
14:47 Changeset [38433] by ggaren@apple.com

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Changed another case of "m_jit" to "m_assembler".

  • VM/CTI.cpp:
  • wrec/WREC.cpp:
  • wrec/WREC.h: (JSC::WRECGenerator::WRECGenerator): (JSC::WRECParser::WRECParser):
14:43 Changeset [38432] by ggaren@apple.com

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renamed "jit" to "assembler" and, for brevity, replaced *jit.* with
using a macro.

  • VM/CTI.cpp: (JSC::CTI::emitGetVirtualRegister): (JSC::CTI::emitPutCTIArgFromVirtualRegister): (JSC::CTI::emitPutCTIArg): (JSC::CTI::emitGetCTIArg): (JSC::CTI::emitPutCTIArgConstant): (JSC::CTI::emitPutCTIParam): (JSC::CTI::emitGetCTIParam): (JSC::CTI::emitPutToCallFrameHeader): (JSC::CTI::emitGetFromCallFrameHeader): (JSC::CTI::emitPutVirtualRegister): (JSC::CTI::emitInitRegister): (JSC::CTI::emitAllocateNumber): (JSC::CTI::emitNakedCall): (JSC::CTI::emitNakedFastCall): (JSC::CTI::emitCTICall): (JSC::CTI::emitJumpSlowCaseIfNotJSCell): (JSC::CTI::linkSlowCaseIfNotJSCell): (JSC::CTI::emitJumpSlowCaseIfNotImmNum): (JSC::CTI::emitJumpSlowCaseIfNotImmNums): (JSC::CTI::emitFastArithDeTagImmediate): (JSC::CTI::emitFastArithDeTagImmediateJumpIfZero): (JSC::CTI::emitFastArithReTagImmediate): (JSC::CTI::emitFastArithPotentiallyReTagImmediate): (JSC::CTI::emitFastArithImmToInt): (JSC::CTI::emitFastArithIntToImmOrSlowCase): (JSC::CTI::emitFastArithIntToImmNoCheck): (JSC::CTI::emitArithIntToImmWithJump): (JSC::CTI::emitTagAsBoolImmediate): (JSC::CTI::CTI): (JSC::CTI::compileOpCallInitializeCallFrame): (JSC::CTI::compileOpCall): (JSC::CTI::compileOpStrictEq): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::putDoubleResultToJSNumberCellOrJSImmediate): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileLinkPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::CTI::privateCompilePutByIdTransition): (JSC::CTI::privateCompileCTIMachineTrampolines): (JSC::CTI::privateCompilePatchGetArrayLength): (JSC::CTI::emitGetVariableObjectRegister): (JSC::CTI::emitPutVariableObjectRegister): (JSC::CTI::compileRegExp):
  • VM/CTI.h:
  • wrec/WREC.cpp: (JSC::WRECGenerator::generateBacktrack1): (JSC::WRECGenerator::generateBacktrackBackreference): (JSC::WRECGenerator::generateBackreferenceQuantifier): (JSC::WRECGenerator::generateNonGreedyQuantifier): (JSC::WRECGenerator::generateGreedyQuantifier): (JSC::WRECGenerator::generatePatternCharacter): (JSC::WRECGenerator::generateCharacterClassInvertedRange): (JSC::WRECGenerator::generateCharacterClassInverted): (JSC::WRECGenerator::generateCharacterClass): (JSC::WRECGenerator::generateParentheses): (JSC::WRECGenerator::generateParenthesesNonGreedy): (JSC::WRECGenerator::generateParenthesesResetTrampoline): (JSC::WRECGenerator::generateAssertionBOL): (JSC::WRECGenerator::generateAssertionEOL): (JSC::WRECGenerator::generateAssertionWordBoundary): (JSC::WRECGenerator::generateBackreference): (JSC::WRECGenerator::generateDisjunction): (JSC::WRECGenerator::terminateDisjunction):
14:36 Changeset [38431] by weinig@apple.com

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

Reviewed by Geoffrey Garen.

Remove dead method declaration.

  • bytecompiler/CodeGenerator.h:
14:33 Changeset [38430] by ggaren@apple.com

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renamed LabelID to Label, Label::isForwardLabel to Label::isForward.

  • VM/LabelID.h: (JSC::Label::Label): (JSC::Label::isForward):
  • bytecompiler/CodeGenerator.cpp: (JSC::BytecodeGenerator::newLabel): (JSC::BytecodeGenerator::emitLabel): (JSC::BytecodeGenerator::emitJump): (JSC::BytecodeGenerator::emitJumpIfTrue): (JSC::BytecodeGenerator::emitJumpIfFalse): (JSC::BytecodeGenerator::pushFinallyContext): (JSC::BytecodeGenerator::emitComplexJumpScopes): (JSC::BytecodeGenerator::emitJumpScopes): (JSC::BytecodeGenerator::emitNextPropertyName): (JSC::BytecodeGenerator::emitCatch): (JSC::BytecodeGenerator::emitJumpSubroutine): (JSC::prepareJumpTableForImmediateSwitch): (JSC::prepareJumpTableForCharacterSwitch): (JSC::prepareJumpTableForStringSwitch): (JSC::BytecodeGenerator::endSwitch):
  • bytecompiler/CodeGenerator.h:
  • bytecompiler/LabelScope.h: (JSC::LabelScope::LabelScope): (JSC::LabelScope::breakTarget): (JSC::LabelScope::continueTarget):
  • parser/Nodes.cpp: (JSC::LogicalOpNode::emitBytecode): (JSC::ConditionalNode::emitBytecode): (JSC::IfNode::emitBytecode): (JSC::IfElseNode::emitBytecode): (JSC::DoWhileNode::emitBytecode): (JSC::WhileNode::emitBytecode): (JSC::ForNode::emitBytecode): (JSC::ForInNode::emitBytecode): (JSC::ReturnNode::emitBytecode): (JSC::CaseBlockNode::emitBytecodeForBlock): (JSC::TryNode::emitBytecode):
14:24 Changeset [38429] by ggaren@apple.com

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renamed JITCodeBuffer to AssemblerBuffer and renamed its data members
to be more like the rest of our buffer classes, with a size and a
capacity.


Added an assert in the unchecked put case to match the test in the checked
put case.


Changed a C-style cast to a C++-style cast.


Renamed MAX_INSTRUCTION_SIZE to maxInstructionSize.

  • VM/CTI.cpp: (JSC::CTI::CTI): (JSC::CTI::compileRegExp):
  • VM/Machine.cpp: (JSC::BytecodeInterpreter::BytecodeInterpreter):
  • VM/Machine.h: (JSC::BytecodeInterpreter::assemblerBuffer):
  • masm/X86Assembler.h: (JSC::AssemblerBuffer::AssemblerBuffer): (JSC::AssemblerBuffer::~AssemblerBuffer): (JSC::AssemblerBuffer::ensureSpace): (JSC::AssemblerBuffer::isAligned): (JSC::AssemblerBuffer::putByteUnchecked): (JSC::AssemblerBuffer::putByte): (JSC::AssemblerBuffer::putShortUnchecked): (JSC::AssemblerBuffer::putShort): (JSC::AssemblerBuffer::putIntUnchecked): (JSC::AssemblerBuffer::putInt): (JSC::AssemblerBuffer::data): (JSC::AssemblerBuffer::size): (JSC::AssemblerBuffer::reset): (JSC::AssemblerBuffer::copy): (JSC::AssemblerBuffer::grow): (JSC::X86Assembler::): (JSC::X86Assembler::X86Assembler): (JSC::X86Assembler::testl_i32r): (JSC::X86Assembler::movl_mr): (JSC::X86Assembler::movl_rm): (JSC::X86Assembler::movl_i32m): (JSC::X86Assembler::emitCall): (JSC::X86Assembler::label): (JSC::X86Assembler::emitUnlinkedJmp): (JSC::X86Assembler::emitUnlinkedJne): (JSC::X86Assembler::emitUnlinkedJe): (JSC::X86Assembler::emitUnlinkedJl): (JSC::X86Assembler::emitUnlinkedJb): (JSC::X86Assembler::emitUnlinkedJle): (JSC::X86Assembler::emitUnlinkedJbe): (JSC::X86Assembler::emitUnlinkedJge): (JSC::X86Assembler::emitUnlinkedJg): (JSC::X86Assembler::emitUnlinkedJa): (JSC::X86Assembler::emitUnlinkedJae): (JSC::X86Assembler::emitUnlinkedJo): (JSC::X86Assembler::emitUnlinkedJp): (JSC::X86Assembler::emitUnlinkedJs): (JSC::X86Assembler::link): (JSC::X86Assembler::emitModRm_rr): (JSC::X86Assembler::emitModRm_rm): (JSC::X86Assembler::emitModRm_opr):
13:37 Changeset [38428] by ggaren@apple.com

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Suggested by Maciej Stachowiak.


Reverted most "opcode" => "bytecode" renames. We use "bytecode" as a
mass noun to refer to a stream of instructions. Each instruction may be
an opcode or an operand.

  • VM/CTI.cpp: (JSC::CTI::emitCTICall): (JSC::CTI::compileOpCall): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile):
  • VM/CTI.h:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::printStructureIDs): (JSC::CodeBlock::dump): (JSC::CodeBlock::derefStructureIDs): (JSC::CodeBlock::refStructureIDs):
  • VM/CodeBlock.h:
  • VM/ExceptionHelpers.cpp: (JSC::createNotAnObjectError):
  • VM/Instruction.h: (JSC::Instruction::Instruction): (JSC::Instruction::):
  • VM/Machine.cpp: (JSC::BytecodeInterpreter::isOpcode): (JSC::BytecodeInterpreter::throwException): (JSC::BytecodeInterpreter::tryCachePutByID): (JSC::BytecodeInterpreter::uncachePutByID): (JSC::BytecodeInterpreter::tryCacheGetByID): (JSC::BytecodeInterpreter::uncacheGetByID): (JSC::BytecodeInterpreter::privateExecute): (JSC::BytecodeInterpreter::tryCTICachePutByID): (JSC::BytecodeInterpreter::tryCTICacheGetByID):
  • VM/Machine.h: (JSC::BytecodeInterpreter::getOpcode): (JSC::BytecodeInterpreter::getOpcodeID): (JSC::BytecodeInterpreter::isCallBytecode):
  • VM/Opcode.cpp: (JSC::): (JSC::OpcodeStats::OpcodeStats): (JSC::compareOpcodeIndices): (JSC::compareOpcodePairIndices): (JSC::OpcodeStats::~OpcodeStats): (JSC::OpcodeStats::recordInstruction): (JSC::OpcodeStats::resetLastInstruction):
  • VM/Opcode.h: (JSC::): (JSC::padOpcodeName):
  • VM/SamplingTool.cpp: (JSC::ScopeSampleRecord::sample): (JSC::SamplingTool::run): (JSC::compareOpcodeIndicesSampling): (JSC::SamplingTool::dump):
  • VM/SamplingTool.h: (JSC::ScopeSampleRecord::ScopeSampleRecord): (JSC::SamplingTool::SamplingTool):
  • bytecompiler/CodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::emitLabel): (JSC::BytecodeGenerator::emitOpcode): (JSC::BytecodeGenerator::emitJump): (JSC::BytecodeGenerator::emitJumpIfTrue): (JSC::BytecodeGenerator::emitJumpIfFalse): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::emitUnaryOp): (JSC::BytecodeGenerator::emitPreInc): (JSC::BytecodeGenerator::emitPreDec): (JSC::BytecodeGenerator::emitPostInc): (JSC::BytecodeGenerator::emitPostDec): (JSC::BytecodeGenerator::emitBinaryOp): (JSC::BytecodeGenerator::emitEqualityOp): (JSC::BytecodeGenerator::emitUnexpectedLoad): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitResolve): (JSC::BytecodeGenerator::emitGetScopedVar): (JSC::BytecodeGenerator::emitPutScopedVar): (JSC::BytecodeGenerator::emitResolveBase): (JSC::BytecodeGenerator::emitResolveWithBase): (JSC::BytecodeGenerator::emitResolveFunction): (JSC::BytecodeGenerator::emitGetById): (JSC::BytecodeGenerator::emitPutById): (JSC::BytecodeGenerator::emitPutGetter): (JSC::BytecodeGenerator::emitPutSetter): (JSC::BytecodeGenerator::emitDeleteById): (JSC::BytecodeGenerator::emitGetByVal): (JSC::BytecodeGenerator::emitPutByVal): (JSC::BytecodeGenerator::emitDeleteByVal): (JSC::BytecodeGenerator::emitPutByIndex): (JSC::BytecodeGenerator::emitNewObject): (JSC::BytecodeGenerator::emitNewArray): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewRegExp): (JSC::BytecodeGenerator::emitNewFunctionExpression): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitUnaryNoDstOp): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::emitPopScope): (JSC::BytecodeGenerator::emitDebugHook): (JSC::BytecodeGenerator::emitComplexJumpScopes): (JSC::BytecodeGenerator::emitJumpScopes): (JSC::BytecodeGenerator::emitNextPropertyName): (JSC::BytecodeGenerator::emitCatch): (JSC::BytecodeGenerator::emitNewError): (JSC::BytecodeGenerator::emitJumpSubroutine): (JSC::BytecodeGenerator::emitSubroutineReturn): (JSC::BytecodeGenerator::emitPushNewScope): (JSC::BytecodeGenerator::beginSwitch):
  • bytecompiler/CodeGenerator.h:
  • jsc.cpp: (runWithScripts):
  • masm/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::emitModRm_opr): (JSC::X86Assembler::emitModRm_opr_Unchecked): (JSC::X86Assembler::emitModRm_opm): (JSC::X86Assembler::emitModRm_opm_Unchecked): (JSC::X86Assembler::emitModRm_opmsib):
  • parser/Nodes.cpp: (JSC::UnaryOpNode::emitBytecode): (JSC::BinaryOpNode::emitBytecode): (JSC::ReverseBinaryOpNode::emitBytecode): (JSC::ThrowableBinaryOpNode::emitBytecode): (JSC::emitReadModifyAssignment): (JSC::ScopeNode::ScopeNode):
  • parser/Nodes.h: (JSC::UnaryPlusNode::): (JSC::NegateNode::): (JSC::BitwiseNotNode::): (JSC::LogicalNotNode::): (JSC::MultNode::): (JSC::DivNode::): (JSC::ModNode::): (JSC::AddNode::): (JSC::SubNode::): (JSC::LeftShiftNode::): (JSC::RightShiftNode::): (JSC::UnsignedRightShiftNode::): (JSC::LessNode::): (JSC::GreaterNode::): (JSC::LessEqNode::): (JSC::GreaterEqNode::): (JSC::InstanceOfNode::): (JSC::InNode::): (JSC::EqualNode::): (JSC::NotEqualNode::): (JSC::StrictEqualNode::): (JSC::NotStrictEqualNode::): (JSC::BitAndNode::): (JSC::BitOrNode::): (JSC::BitXOrNode::):
  • runtime/StructureID.cpp: (JSC::StructureID::fromDictionaryTransition):
  • wtf/Platform.h:
13:05 Changeset [38427] by ggaren@apple.com

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renames:


CodeGenerator => BytecodeGenerator
emitCodeForBlock => emitBytecodeForBlock
generatedByteCode => generatedBytecode
generateCode => generateBytecode

  • JavaScriptCore.exp:
  • bytecompiler/CodeGenerator.cpp: (JSC::BytecodeGenerator::setDumpsGeneratedCode): (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::addVar): (JSC::BytecodeGenerator::addGlobalVar): (JSC::BytecodeGenerator::allocateConstants): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::addParameter): (JSC::BytecodeGenerator::registerFor): (JSC::BytecodeGenerator::constRegisterFor): (JSC::BytecodeGenerator::isLocal): (JSC::BytecodeGenerator::isLocalConstant): (JSC::BytecodeGenerator::newRegister): (JSC::BytecodeGenerator::newTemporary): (JSC::BytecodeGenerator::highestUsedRegister): (JSC::BytecodeGenerator::newLabelScope): (JSC::BytecodeGenerator::newLabel): (JSC::BytecodeGenerator::emitLabel): (JSC::BytecodeGenerator::emitBytecode): (JSC::BytecodeGenerator::retrieveLastBinaryOp): (JSC::BytecodeGenerator::retrieveLastUnaryOp): (JSC::BytecodeGenerator::rewindBinaryOp): (JSC::BytecodeGenerator::rewindUnaryOp): (JSC::BytecodeGenerator::emitJump): (JSC::BytecodeGenerator::emitJumpIfTrue): (JSC::BytecodeGenerator::emitJumpIfFalse): (JSC::BytecodeGenerator::addConstant): (JSC::BytecodeGenerator::addUnexpectedConstant): (JSC::BytecodeGenerator::addRegExp): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::emitUnaryOp): (JSC::BytecodeGenerator::emitPreInc): (JSC::BytecodeGenerator::emitPreDec): (JSC::BytecodeGenerator::emitPostInc): (JSC::BytecodeGenerator::emitPostDec): (JSC::BytecodeGenerator::emitBinaryOp): (JSC::BytecodeGenerator::emitEqualityOp): (JSC::BytecodeGenerator::emitLoad): (JSC::BytecodeGenerator::emitUnexpectedLoad): (JSC::BytecodeGenerator::findScopedProperty): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitResolve): (JSC::BytecodeGenerator::emitGetScopedVar): (JSC::BytecodeGenerator::emitPutScopedVar): (JSC::BytecodeGenerator::emitResolveBase): (JSC::BytecodeGenerator::emitResolveWithBase): (JSC::BytecodeGenerator::emitResolveFunction): (JSC::BytecodeGenerator::emitGetById): (JSC::BytecodeGenerator::emitPutById): (JSC::BytecodeGenerator::emitPutGetter): (JSC::BytecodeGenerator::emitPutSetter): (JSC::BytecodeGenerator::emitDeleteById): (JSC::BytecodeGenerator::emitGetByVal): (JSC::BytecodeGenerator::emitPutByVal): (JSC::BytecodeGenerator::emitDeleteByVal): (JSC::BytecodeGenerator::emitPutByIndex): (JSC::BytecodeGenerator::emitNewObject): (JSC::BytecodeGenerator::emitNewArray): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewRegExp): (JSC::BytecodeGenerator::emitNewFunctionExpression): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitCallEval): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitUnaryNoDstOp): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::emitPushScope): (JSC::BytecodeGenerator::emitPopScope): (JSC::BytecodeGenerator::emitDebugHook): (JSC::BytecodeGenerator::pushFinallyContext): (JSC::BytecodeGenerator::popFinallyContext): (JSC::BytecodeGenerator::breakTarget): (JSC::BytecodeGenerator::continueTarget): (JSC::BytecodeGenerator::emitComplexJumpScopes): (JSC::BytecodeGenerator::emitJumpScopes): (JSC::BytecodeGenerator::emitNextPropertyName): (JSC::BytecodeGenerator::emitCatch): (JSC::BytecodeGenerator::emitNewError): (JSC::BytecodeGenerator::emitJumpSubroutine): (JSC::BytecodeGenerator::emitSubroutineReturn): (JSC::BytecodeGenerator::emitPushNewScope): (JSC::BytecodeGenerator::beginSwitch): (JSC::BytecodeGenerator::endSwitch): (JSC::BytecodeGenerator::emitThrowExpressionTooDeepException):
  • bytecompiler/CodeGenerator.h:
  • jsc.cpp: (runWithScripts):
  • parser/Nodes.cpp: (JSC::ThrowableExpressionData::emitThrowError): (JSC::NullNode::emitBytecode): (JSC::BooleanNode::emitBytecode): (JSC::NumberNode::emitBytecode): (JSC::StringNode::emitBytecode): (JSC::RegExpNode::emitBytecode): (JSC::ThisNode::emitBytecode): (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::ArrayNode::emitBytecode): (JSC::ObjectLiteralNode::emitBytecode): (JSC::PropertyListNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::ArgumentListNode::emitBytecode): (JSC::NewExprNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallValueNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::FunctionCallBracketNode::emitBytecode): (JSC::FunctionCallDotNode::emitBytecode): (JSC::emitPreIncOrDec): (JSC::emitPostIncOrDec): (JSC::PostfixResolveNode::emitBytecode): (JSC::PostfixBracketNode::emitBytecode): (JSC::PostfixDotNode::emitBytecode): (JSC::PostfixErrorNode::emitBytecode): (JSC::DeleteResolveNode::emitBytecode): (JSC::DeleteBracketNode::emitBytecode): (JSC::DeleteDotNode::emitBytecode): (JSC::DeleteValueNode::emitBytecode): (JSC::VoidNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::TypeOfValueNode::emitBytecode): (JSC::PrefixResolveNode::emitBytecode): (JSC::PrefixBracketNode::emitBytecode): (JSC::PrefixDotNode::emitBytecode): (JSC::PrefixErrorNode::emitBytecode): (JSC::UnaryOpNode::emitBytecode): (JSC::BinaryOpNode::emitBytecode): (JSC::EqualNode::emitBytecode): (JSC::StrictEqualNode::emitBytecode): (JSC::ReverseBinaryOpNode::emitBytecode): (JSC::ThrowableBinaryOpNode::emitBytecode): (JSC::InstanceOfNode::emitBytecode): (JSC::LogicalOpNode::emitBytecode): (JSC::ConditionalNode::emitBytecode): (JSC::emitReadModifyAssignment): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::AssignDotNode::emitBytecode): (JSC::ReadModifyDotNode::emitBytecode): (JSC::AssignErrorNode::emitBytecode): (JSC::AssignBracketNode::emitBytecode): (JSC::ReadModifyBracketNode::emitBytecode): (JSC::CommaNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::ConstDeclNode::emitBytecode): (JSC::ConstStatementNode::emitBytecode): (JSC::statementListEmitCode): (JSC::BlockNode::emitBytecode): (JSC::EmptyStatementNode::emitBytecode): (JSC::DebuggerStatementNode::emitBytecode): (JSC::ExprStatementNode::emitBytecode): (JSC::VarStatementNode::emitBytecode): (JSC::IfNode::emitBytecode): (JSC::IfElseNode::emitBytecode): (JSC::DoWhileNode::emitBytecode): (JSC::WhileNode::emitBytecode): (JSC::ForNode::emitBytecode): (JSC::ForInNode::emitBytecode): (JSC::ContinueNode::emitBytecode): (JSC::BreakNode::emitBytecode): (JSC::ReturnNode::emitBytecode): (JSC::WithNode::emitBytecode): (JSC::CaseBlockNode::emitBytecodeForBlock): (JSC::SwitchNode::emitBytecode): (JSC::LabelNode::emitBytecode): (JSC::ThrowNode::emitBytecode): (JSC::TryNode::emitBytecode): (JSC::EvalNode::emitBytecode): (JSC::EvalNode::generateBytecode): (JSC::FunctionBodyNode::generateBytecode): (JSC::FunctionBodyNode::emitBytecode): (JSC::ProgramNode::emitBytecode): (JSC::ProgramNode::generateBytecode): (JSC::FuncDeclNode::emitBytecode): (JSC::FuncExprNode::emitBytecode):
  • parser/Nodes.h: (JSC::ExpressionNode::): (JSC::BooleanNode::): (JSC::NumberNode::): (JSC::StringNode::): (JSC::ProgramNode::): (JSC::EvalNode::): (JSC::FunctionBodyNode::):
  • runtime/Arguments.h: (JSC::Arguments::getArgumentsData): (JSC::JSActivation::copyRegisters):
  • runtime/JSActivation.cpp: (JSC::JSActivation::mark):
  • runtime/JSActivation.h: (JSC::JSActivation::JSActivationData::JSActivationData):
  • runtime/JSFunction.cpp: (JSC::JSFunction::~JSFunction):
12:48 Changeset [38426] by krit@webkit.org

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

Reviewed by Darin Adler.

Removed platform dependent code on SVGPaintServerSolid.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • svg/graphics/SVGPaintServerSolid.cpp: (WebCore::SVGPaintServerSolid::setup): (WebCore::SVGPaintServerSolid::renderPath):
  • svg/graphics/SVGPaintServerSolid.h:
  • svg/graphics/cairo/SVGPaintServerSolidCairo.cpp: Removed.
  • svg/graphics/cg/SVGPaintServerSolidCg.cpp: Removed.
  • svg/graphics/qt/SVGPaintServerSolidQt.cpp: Removed.
12:34 Changeset [38425] by ggaren@apple.com

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renamed all forms of "byte code" "opcode" "op code" "code" "bitcode"
etc. to "bytecode".

  • VM/CTI.cpp: (JSC::CTI::printBytecodeOperandTypes): (JSC::CTI::emitAllocateNumber): (JSC::CTI::emitNakedCall): (JSC::CTI::emitNakedFastCall): (JSC::CTI::emitCTICall): (JSC::CTI::emitJumpSlowCaseIfNotJSCell): (JSC::CTI::emitJumpSlowCaseIfNotImmNum): (JSC::CTI::emitJumpSlowCaseIfNotImmNums): (JSC::CTI::emitFastArithIntToImmOrSlowCase): (JSC::CTI::compileOpCall): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile):
  • VM/CTI.h: (JSC::CallRecord::CallRecord): (JSC::SwitchRecord::SwitchRecord):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::printStructureIDs): (JSC::CodeBlock::dump): (JSC::CodeBlock::~CodeBlock): (JSC::CodeBlock::derefStructureIDs): (JSC::CodeBlock::refStructureIDs):
  • VM/CodeBlock.h: (JSC::StructureStubInfo::StructureStubInfo):
  • VM/ExceptionHelpers.cpp: (JSC::createNotAnObjectError):
  • VM/Instruction.h: (JSC::Instruction::Instruction): (JSC::Instruction::):
  • VM/Machine.cpp: (JSC::BytecodeInterpreter::isBytecode): (JSC::BytecodeInterpreter::throwException): (JSC::BytecodeInterpreter::execute): (JSC::BytecodeInterpreter::tryCachePutByID): (JSC::BytecodeInterpreter::uncachePutByID): (JSC::BytecodeInterpreter::tryCacheGetByID): (JSC::BytecodeInterpreter::uncacheGetByID): (JSC::BytecodeInterpreter::privateExecute): (JSC::BytecodeInterpreter::tryCTICachePutByID): (JSC::BytecodeInterpreter::tryCTICacheGetByID): (JSC::BytecodeInterpreter::cti_op_call_JSFunction): (JSC::BytecodeInterpreter::cti_vm_dontLazyLinkCall): (JSC::BytecodeInterpreter::cti_vm_lazyLinkCall):
  • VM/Machine.h: (JSC::BytecodeInterpreter::getBytecode): (JSC::BytecodeInterpreter::getBytecodeID): (JSC::BytecodeInterpreter::isCallBytecode):
  • VM/Opcode.cpp: (JSC::): (JSC::BytecodeStats::BytecodeStats): (JSC::compareBytecodeIndices): (JSC::compareBytecodePairIndices): (JSC::BytecodeStats::~BytecodeStats): (JSC::BytecodeStats::recordInstruction): (JSC::BytecodeStats::resetLastInstruction):
  • VM/Opcode.h: (JSC::): (JSC::padBytecodeName):
  • VM/SamplingTool.cpp: (JSC::ScopeSampleRecord::sample): (JSC::SamplingTool::run): (JSC::compareBytecodeIndicesSampling): (JSC::SamplingTool::dump):
  • VM/SamplingTool.h: (JSC::ScopeSampleRecord::ScopeSampleRecord): (JSC::SamplingTool::SamplingTool):
  • bytecompiler/CodeGenerator.cpp: (JSC::CodeGenerator::generate): (JSC::CodeGenerator::CodeGenerator): (JSC::CodeGenerator::emitLabel): (JSC::CodeGenerator::emitBytecode): (JSC::CodeGenerator::emitJump): (JSC::CodeGenerator::emitJumpIfTrue): (JSC::CodeGenerator::emitJumpIfFalse): (JSC::CodeGenerator::emitMove): (JSC::CodeGenerator::emitUnaryOp): (JSC::CodeGenerator::emitPreInc): (JSC::CodeGenerator::emitPreDec): (JSC::CodeGenerator::emitPostInc): (JSC::CodeGenerator::emitPostDec): (JSC::CodeGenerator::emitBinaryOp): (JSC::CodeGenerator::emitEqualityOp): (JSC::CodeGenerator::emitUnexpectedLoad): (JSC::CodeGenerator::emitInstanceOf): (JSC::CodeGenerator::emitResolve): (JSC::CodeGenerator::emitGetScopedVar): (JSC::CodeGenerator::emitPutScopedVar): (JSC::CodeGenerator::emitResolveBase): (JSC::CodeGenerator::emitResolveWithBase): (JSC::CodeGenerator::emitResolveFunction): (JSC::CodeGenerator::emitGetById): (JSC::CodeGenerator::emitPutById): (JSC::CodeGenerator::emitPutGetter): (JSC::CodeGenerator::emitPutSetter): (JSC::CodeGenerator::emitDeleteById): (JSC::CodeGenerator::emitGetByVal): (JSC::CodeGenerator::emitPutByVal): (JSC::CodeGenerator::emitDeleteByVal): (JSC::CodeGenerator::emitPutByIndex): (JSC::CodeGenerator::emitNewObject): (JSC::CodeGenerator::emitNewArray): (JSC::CodeGenerator::emitNewFunction): (JSC::CodeGenerator::emitNewRegExp): (JSC::CodeGenerator::emitNewFunctionExpression): (JSC::CodeGenerator::emitCall): (JSC::CodeGenerator::emitReturn): (JSC::CodeGenerator::emitUnaryNoDstOp): (JSC::CodeGenerator::emitConstruct): (JSC::CodeGenerator::emitPopScope): (JSC::CodeGenerator::emitDebugHook): (JSC::CodeGenerator::emitComplexJumpScopes): (JSC::CodeGenerator::emitJumpScopes): (JSC::CodeGenerator::emitNextPropertyName): (JSC::CodeGenerator::emitCatch): (JSC::CodeGenerator::emitNewError): (JSC::CodeGenerator::emitJumpSubroutine): (JSC::CodeGenerator::emitSubroutineReturn): (JSC::CodeGenerator::emitPushNewScope): (JSC::CodeGenerator::beginSwitch): (JSC::CodeGenerator::endSwitch):
  • bytecompiler/CodeGenerator.h: (JSC::CodeGenerator::emitNode):
  • jsc.cpp: (runWithScripts):
  • masm/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::emitModRm_opr): (JSC::X86Assembler::emitModRm_opr_Unchecked): (JSC::X86Assembler::emitModRm_opm): (JSC::X86Assembler::emitModRm_opm_Unchecked): (JSC::X86Assembler::emitModRm_opmsib):
  • parser/Nodes.cpp: (JSC::NullNode::emitBytecode): (JSC::BooleanNode::emitBytecode): (JSC::NumberNode::emitBytecode): (JSC::StringNode::emitBytecode): (JSC::RegExpNode::emitBytecode): (JSC::ThisNode::emitBytecode): (JSC::ResolveNode::emitBytecode): (JSC::ArrayNode::emitBytecode): (JSC::ObjectLiteralNode::emitBytecode): (JSC::PropertyListNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::ArgumentListNode::emitBytecode): (JSC::NewExprNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallValueNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::FunctionCallBracketNode::emitBytecode): (JSC::FunctionCallDotNode::emitBytecode): (JSC::PostfixResolveNode::emitBytecode): (JSC::PostfixBracketNode::emitBytecode): (JSC::PostfixDotNode::emitBytecode): (JSC::PostfixErrorNode::emitBytecode): (JSC::DeleteResolveNode::emitBytecode): (JSC::DeleteBracketNode::emitBytecode): (JSC::DeleteDotNode::emitBytecode): (JSC::DeleteValueNode::emitBytecode): (JSC::VoidNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::TypeOfValueNode::emitBytecode): (JSC::PrefixResolveNode::emitBytecode): (JSC::PrefixBracketNode::emitBytecode): (JSC::PrefixDotNode::emitBytecode): (JSC::PrefixErrorNode::emitBytecode): (JSC::UnaryOpNode::emitBytecode): (JSC::BinaryOpNode::emitBytecode): (JSC::EqualNode::emitBytecode): (JSC::StrictEqualNode::emitBytecode): (JSC::ReverseBinaryOpNode::emitBytecode): (JSC::ThrowableBinaryOpNode::emitBytecode): (JSC::InstanceOfNode::emitBytecode): (JSC::LogicalOpNode::emitBytecode): (JSC::ConditionalNode::emitBytecode): (JSC::emitReadModifyAssignment): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::AssignDotNode::emitBytecode): (JSC::ReadModifyDotNode::emitBytecode): (JSC::AssignErrorNode::emitBytecode): (JSC::AssignBracketNode::emitBytecode): (JSC::ReadModifyBracketNode::emitBytecode): (JSC::CommaNode::emitBytecode): (JSC::ConstDeclNode::emitBytecode): (JSC::ConstStatementNode::emitBytecode): (JSC::BlockNode::emitBytecode): (JSC::EmptyStatementNode::emitBytecode): (JSC::DebuggerStatementNode::emitBytecode): (JSC::ExprStatementNode::emitBytecode): (JSC::VarStatementNode::emitBytecode): (JSC::IfNode::emitBytecode): (JSC::IfElseNode::emitBytecode): (JSC::DoWhileNode::emitBytecode): (JSC::WhileNode::emitBytecode): (JSC::ForNode::emitBytecode): (JSC::ForInNode::emitBytecode): (JSC::ContinueNode::emitBytecode): (JSC::BreakNode::emitBytecode): (JSC::ReturnNode::emitBytecode): (JSC::WithNode::emitBytecode): (JSC::SwitchNode::emitBytecode): (JSC::LabelNode::emitBytecode): (JSC::ThrowNode::emitBytecode): (JSC::TryNode::emitBytecode): (JSC::ScopeNode::ScopeNode): (JSC::EvalNode::emitBytecode): (JSC::FunctionBodyNode::emitBytecode): (JSC::ProgramNode::emitBytecode): (JSC::FuncDeclNode::emitBytecode): (JSC::FuncExprNode::emitBytecode):
  • parser/Nodes.h: (JSC::UnaryPlusNode::): (JSC::NegateNode::): (JSC::BitwiseNotNode::): (JSC::LogicalNotNode::): (JSC::MultNode::): (JSC::DivNode::): (JSC::ModNode::): (JSC::AddNode::): (JSC::SubNode::): (JSC::LeftShiftNode::): (JSC::RightShiftNode::): (JSC::UnsignedRightShiftNode::): (JSC::LessNode::): (JSC::GreaterNode::): (JSC::LessEqNode::): (JSC::GreaterEqNode::): (JSC::InstanceOfNode::): (JSC::InNode::): (JSC::EqualNode::): (JSC::NotEqualNode::): (JSC::StrictEqualNode::): (JSC::NotStrictEqualNode::): (JSC::BitAndNode::): (JSC::BitOrNode::): (JSC::BitXOrNode::): (JSC::ProgramNode::): (JSC::EvalNode::): (JSC::FunctionBodyNode::):
  • runtime/JSNotAnObject.h:
  • runtime/StructureID.cpp: (JSC::StructureID::fromDictionaryTransition):
  • wtf/Platform.h:
12:23 Changeset [38424] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Add API for setting transparent webview background.

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

11:55 Changeset [38423] by ggaren@apple.com

JavaScriptCore:

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renamed Machine to BytecodeInterpreter.


Nixed the Interpreter class, and changed its two functions to stand-alone
functions.

  • JavaScriptCore.exp:
  • VM/CTI.cpp: (JSC::): (JSC::CTI::emitCTICall): (JSC::CTI::CTI): (JSC::CTI::compileOpCall): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::CTI::privateCompilePutByIdTransition): (JSC::CTI::privateCompileCTIMachineTrampolines): (JSC::CTI::freeCTIMachineTrampolines): (JSC::CTI::patchGetByIdSelf): (JSC::CTI::patchPutByIdReplace): (JSC::CTI::privateCompilePatchGetArrayLength): (JSC::CTI::compileRegExp):
  • VM/CTI.h:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::printStructureIDs): (JSC::CodeBlock::dump): (JSC::CodeBlock::derefStructureIDs): (JSC::CodeBlock::refStructureIDs):
  • VM/ExceptionHelpers.cpp: (JSC::createNotAnObjectError):
  • VM/Machine.cpp: (JSC::jsLess): (JSC::jsLessEq): (JSC::BytecodeInterpreter::resolve): (JSC::BytecodeInterpreter::resolveSkip): (JSC::BytecodeInterpreter::resolveGlobal): (JSC::BytecodeInterpreter::resolveBase): (JSC::BytecodeInterpreter::resolveBaseAndProperty): (JSC::BytecodeInterpreter::resolveBaseAndFunc): (JSC::BytecodeInterpreter::slideRegisterWindowForCall): (JSC::BytecodeInterpreter::callEval): (JSC::BytecodeInterpreter::BytecodeInterpreter): (JSC::BytecodeInterpreter::initialize): (JSC::BytecodeInterpreter::~BytecodeInterpreter): (JSC::BytecodeInterpreter::dumpCallFrame): (JSC::BytecodeInterpreter::dumpRegisters): (JSC::BytecodeInterpreter::isOpcode): (JSC::BytecodeInterpreter::unwindCallFrame): (JSC::BytecodeInterpreter::throwException): (JSC::BytecodeInterpreter::execute): (JSC::BytecodeInterpreter::debug): (JSC::BytecodeInterpreter::resetTimeoutCheck): (JSC::BytecodeInterpreter::checkTimeout): (JSC::BytecodeInterpreter::createExceptionScope): (JSC::BytecodeInterpreter::tryCachePutByID): (JSC::BytecodeInterpreter::uncachePutByID): (JSC::BytecodeInterpreter::tryCacheGetByID): (JSC::BytecodeInterpreter::uncacheGetByID): (JSC::BytecodeInterpreter::privateExecute): (JSC::BytecodeInterpreter::retrieveArguments): (JSC::BytecodeInterpreter::retrieveCaller): (JSC::BytecodeInterpreter::retrieveLastCaller): (JSC::BytecodeInterpreter::findFunctionCallFrame): (JSC::BytecodeInterpreter::tryCTICachePutByID): (JSC::BytecodeInterpreter::tryCTICacheGetByID): (JSC::BytecodeInterpreter::cti_op_convert_this): (JSC::BytecodeInterpreter::cti_op_end): (JSC::BytecodeInterpreter::cti_op_add): (JSC::BytecodeInterpreter::cti_op_pre_inc): (JSC::BytecodeInterpreter::cti_timeout_check): (JSC::BytecodeInterpreter::cti_register_file_check): (JSC::BytecodeInterpreter::cti_op_loop_if_less): (JSC::BytecodeInterpreter::cti_op_loop_if_lesseq): (JSC::BytecodeInterpreter::cti_op_new_object): (JSC::BytecodeInterpreter::cti_op_put_by_id): (JSC::BytecodeInterpreter::cti_op_put_by_id_second): (JSC::BytecodeInterpreter::cti_op_put_by_id_generic): (JSC::BytecodeInterpreter::cti_op_put_by_id_fail): (JSC::BytecodeInterpreter::cti_op_get_by_id): (JSC::BytecodeInterpreter::cti_op_get_by_id_second): (JSC::BytecodeInterpreter::cti_op_get_by_id_generic): (JSC::BytecodeInterpreter::cti_op_get_by_id_fail): (JSC::BytecodeInterpreter::cti_op_instanceof): (JSC::BytecodeInterpreter::cti_op_del_by_id): (JSC::BytecodeInterpreter::cti_op_mul): (JSC::BytecodeInterpreter::cti_op_new_func): (JSC::BytecodeInterpreter::cti_op_call_JSFunction): (JSC::BytecodeInterpreter::cti_op_call_arityCheck): (JSC::BytecodeInterpreter::cti_vm_dontLazyLinkCall): (JSC::BytecodeInterpreter::cti_vm_lazyLinkCall): (JSC::BytecodeInterpreter::cti_op_push_activation): (JSC::BytecodeInterpreter::cti_op_call_NotJSFunction): (JSC::BytecodeInterpreter::cti_op_create_arguments): (JSC::BytecodeInterpreter::cti_op_create_arguments_no_params): (JSC::BytecodeInterpreter::cti_op_tear_off_activation): (JSC::BytecodeInterpreter::cti_op_tear_off_arguments): (JSC::BytecodeInterpreter::cti_op_profile_will_call): (JSC::BytecodeInterpreter::cti_op_profile_did_call): (JSC::BytecodeInterpreter::cti_op_ret_scopeChain): (JSC::BytecodeInterpreter::cti_op_new_array): (JSC::BytecodeInterpreter::cti_op_resolve): (JSC::BytecodeInterpreter::cti_op_construct_JSConstruct): (JSC::BytecodeInterpreter::cti_op_construct_NotJSConstruct): (JSC::BytecodeInterpreter::cti_op_get_by_val): (JSC::BytecodeInterpreter::cti_op_resolve_func): (JSC::BytecodeInterpreter::cti_op_sub): (JSC::BytecodeInterpreter::cti_op_put_by_val): (JSC::BytecodeInterpreter::cti_op_put_by_val_array): (JSC::BytecodeInterpreter::cti_op_lesseq): (JSC::BytecodeInterpreter::cti_op_loop_if_true): (JSC::BytecodeInterpreter::cti_op_negate): (JSC::BytecodeInterpreter::cti_op_resolve_base): (JSC::BytecodeInterpreter::cti_op_resolve_skip): (JSC::BytecodeInterpreter::cti_op_resolve_global): (JSC::BytecodeInterpreter::cti_op_div): (JSC::BytecodeInterpreter::cti_op_pre_dec): (JSC::BytecodeInterpreter::cti_op_jless): (JSC::BytecodeInterpreter::cti_op_not): (JSC::BytecodeInterpreter::cti_op_jtrue): (JSC::BytecodeInterpreter::cti_op_post_inc): (JSC::BytecodeInterpreter::cti_op_eq): (JSC::BytecodeInterpreter::cti_op_lshift): (JSC::BytecodeInterpreter::cti_op_bitand): (JSC::BytecodeInterpreter::cti_op_rshift): (JSC::BytecodeInterpreter::cti_op_bitnot): (JSC::BytecodeInterpreter::cti_op_resolve_with_base): (JSC::BytecodeInterpreter::cti_op_new_func_exp): (JSC::BytecodeInterpreter::cti_op_mod): (JSC::BytecodeInterpreter::cti_op_less): (JSC::BytecodeInterpreter::cti_op_neq): (JSC::BytecodeInterpreter::cti_op_post_dec): (JSC::BytecodeInterpreter::cti_op_urshift): (JSC::BytecodeInterpreter::cti_op_bitxor): (JSC::BytecodeInterpreter::cti_op_new_regexp): (JSC::BytecodeInterpreter::cti_op_bitor): (JSC::BytecodeInterpreter::cti_op_call_eval): (JSC::BytecodeInterpreter::cti_op_throw): (JSC::BytecodeInterpreter::cti_op_get_pnames): (JSC::BytecodeInterpreter::cti_op_next_pname): (JSC::BytecodeInterpreter::cti_op_push_scope): (JSC::BytecodeInterpreter::cti_op_pop_scope): (JSC::BytecodeInterpreter::cti_op_typeof): (JSC::BytecodeInterpreter::cti_op_is_undefined): (JSC::BytecodeInterpreter::cti_op_is_boolean): (JSC::BytecodeInterpreter::cti_op_is_number): (JSC::BytecodeInterpreter::cti_op_is_string): (JSC::BytecodeInterpreter::cti_op_is_object): (JSC::BytecodeInterpreter::cti_op_is_function): (JSC::BytecodeInterpreter::cti_op_stricteq): (JSC::BytecodeInterpreter::cti_op_nstricteq): (JSC::BytecodeInterpreter::cti_op_to_jsnumber): (JSC::BytecodeInterpreter::cti_op_in): (JSC::BytecodeInterpreter::cti_op_push_new_scope): (JSC::BytecodeInterpreter::cti_op_jmp_scopes): (JSC::BytecodeInterpreter::cti_op_put_by_index): (JSC::BytecodeInterpreter::cti_op_switch_imm): (JSC::BytecodeInterpreter::cti_op_switch_char): (JSC::BytecodeInterpreter::cti_op_switch_string): (JSC::BytecodeInterpreter::cti_op_del_by_val): (JSC::BytecodeInterpreter::cti_op_put_getter): (JSC::BytecodeInterpreter::cti_op_put_setter): (JSC::BytecodeInterpreter::cti_op_new_error): (JSC::BytecodeInterpreter::cti_op_debug): (JSC::BytecodeInterpreter::cti_vm_throw):
  • VM/Machine.h:
  • VM/Register.h:
  • VM/SamplingTool.cpp: (JSC::SamplingTool::run):
  • VM/SamplingTool.h: (JSC::SamplingTool::SamplingTool):
  • bytecompiler/CodeGenerator.cpp: (JSC::CodeGenerator::generate): (JSC::CodeGenerator::CodeGenerator): (JSC::CodeGenerator::emitOpcode):
  • debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::evaluate):
  • jsc.cpp: (runWithScripts):
  • parser/Nodes.cpp: (JSC::ScopeNode::ScopeNode):
  • profiler/ProfileGenerator.cpp: (JSC::ProfileGenerator::addParentForConsoleStart):
  • runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush):
  • runtime/Collector.cpp: (JSC::Heap::collect):
  • runtime/ExecState.h: (JSC::ExecState::interpreter):
  • runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncApply):
  • runtime/Interpreter.cpp: (JSC::Interpreter::evaluate):
  • runtime/JSCell.h:
  • runtime/JSFunction.cpp: (JSC::JSFunction::call): (JSC::JSFunction::argumentsGetter): (JSC::JSFunction::callerGetter): (JSC::JSFunction::construct):
  • runtime/JSFunction.h:
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): (JSC::JSGlobalData::~JSGlobalData):
  • runtime/JSGlobalData.h:
  • runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::~JSGlobalObject): (JSC::JSGlobalObject::setTimeoutTime): (JSC::JSGlobalObject::startTimeoutCheck): (JSC::JSGlobalObject::stopTimeoutCheck): (JSC::JSGlobalObject::mark):
  • runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval):
  • runtime/JSString.h:
  • runtime/RegExp.cpp: (JSC::RegExp::RegExp):

JavaScriptGlue:

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Updated for JavaScriptCore renames.

  • JSRun.cpp: (JSRun::Evaluate): (JSRun::CheckSyntax):

WebCore:

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Updated for JavaScriptCore renames.

  • bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::mark):
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::send):
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate):
  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
  • bindings/objc/WebScriptObject.mm: (-[WebScriptObject evaluateWebScript:]):
  • bridge/NP_jsobject.cpp: (_NPN_Evaluate):
  • bridge/jni/jni_jsobject.mm: (JavaJSObject::eval):
  • page/Console.cpp: (WebCore::retrieveLastCaller): (WebCore::Console::trace):

WebKit/win:

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Updated for JavaScriptCore renames.

  • WebScriptCallFrame.cpp: (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
10:19 Changeset [38422] by bolsinga@apple.com

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
exit-time destructor. Update code that was changed to fix this issue that ran
into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
in gcc build 5465). Also typdefs for template types needed to be added in some
cases so the type could make it through the macro successfully.

Basically code of the form:
static T m;
becomes:
DEFINE_STATIC_LOCAL(T, m, ());

Also any code of the form:
static T& m = *new T;
also becomes:
DEFINE_STATIC_LOCAL(T, m, ());

Remove .o files from the exclude list that have had their exit-time destructors removed.

08:55 Changeset [38421] by bolsinga@apple.com

Reviewed by Darin Adler.


https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
exit-time destructor. Update code that was changed to fix this issue that ran
into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
in gcc build 5465). Also typdefs for template types needed to be added in some
cases so the type could make it through the macro successfully.

Basically code of the form:
static T m;
becomes:
DEFINE_STATIC_LOCAL(T, m, ());

Also any code of the form:
static T& m = *new T;
also becomes:
DEFINE_STATIC_LOCAL(T, m, ());

00:22 Changeset [38420] by mjs@apple.com

2008-11-15 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam Weinig.


  • Remove SymbolTable from FunctionBodyNode and move it to CodeBlock


It's not needed for functions that have never been executed, so no
need to waste the memory. Saves ~4M on membuster after 30 pages.

  • VM/CodeBlock.h:
  • VM/Machine.cpp: (JSC::Machine::retrieveArguments):
  • parser/Nodes.cpp: (JSC::EvalNode::generateCode): (JSC::FunctionBodyNode::generateCode):
  • parser/Nodes.h:
  • runtime/JSActivation.h: (JSC::JSActivation::JSActivationData::JSActivationData):

11/14/08:

23:43 Changeset [38419] by cwzwarich@webkit.org

2008-11-14 Cameron Zwarich <zwarich@apple.com>

Reviewed by Darin Adler.

Bug 22259: Make all opcodes use eax as their final result register
<https://bugs.webkit.org/show_bug.cgi?id=22259>

Change one case of op_add (and the corresponding slow case) to use eax
rather than edx. Also, change the order in which the two results of
resolve_func and resolve_base are emitted so that the retrieved value is
put last into eax.

This gives no performance change on SunSpider or the V8 benchmark suite
when run in either harness.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
20:47 Changeset [38418] by bolsinga@apple.com

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
exit-time destructor. Update code that was changed to fix this issue that ran
into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
in gcc build 5465). Also typdefs for template types needed to be added in some
cases so the type could make it through the macro successfully.

Basically code of the form:
static T m;
becomes:
DEFINE_STATIC_LOCAL(T, m, ());

Also any code of the form:
static T& m = *new T;
also becomes:
DEFINE_STATIC_LOCAL(T, m, ());

20:24 Changeset [38417] by mitz@apple.com
  • attempt to fix the Qt build
  • platform/qt/Localizations.cpp: (WebCore::contextMenuItemTagTextDirectionMenu): Added. Maybe this string needs to go somewhere else in addition to here.
20:19 Changeset [38416] by mitz@apple.com
  • try to fix the Windows build
  • WebCoreLocalizedStrings.cpp: (WebCore::contextMenuItemTagTextDirectionMenu): Added.
19:25 Changeset [38415] by kevino@webkit.org

wx build (and buildbot) fix.

18:51 Changeset [38414] by barraclough@apple.com

2008-11-14 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Geoff has this wacky notion that emitGetArg and emitPutArg should be related to
doing the same thing. Crazy.


Rename the methods for accessing virtual registers to say 'VirtualRegister' in the
name, and those for setting up the arguments for CTI methods to contain 'CTIArg'.

  • VM/CTI.cpp: (JSC::CTI::emitGetVirtualRegister): (JSC::CTI::emitGetVirtualRegisters): (JSC::CTI::emitPutCTIArgFromVirtualRegister): (JSC::CTI::emitPutCTIArg): (JSC::CTI::emitGetCTIArg): (JSC::CTI::emitPutCTIArgConstant): (JSC::CTI::emitPutVirtualRegister): (JSC::CTI::compileOpCallSetupArgs): (JSC::CTI::compileOpCallEvalSetupArgs): (JSC::CTI::compileOpConstructSetupArgs): (JSC::CTI::compileOpCall): (JSC::CTI::compileOpStrictEq): (JSC::CTI::putDoubleResultToJSNumberCellOrJSImmediate): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompileCTIMachineTrampolines):
  • VM/CTI.h:
17:37 Changeset [38413] by bolsinga@apple.com

Reviewed by Antti Koivisto

Fix potential build break by adding StdLibExtras.h

17:33 Changeset [38412] by barraclough@apple.com

2008-11-14 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Generate less code for the slow cases of op_call and op_construct.
https://bugs.webkit.org/show_bug.cgi?id=22272

1% progression on v8 tests.

  • VM/CTI.cpp: (JSC::CTI::emitRetrieveArg): (JSC::CTI::emitNakedCall): (JSC::CTI::compileOpCallInitializeCallFrame): (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompileCTIMachineTrampolines):
  • VM/CTI.h:
  • VM/CodeBlock.h: (JSC::getCallLinkInfoReturnLocation): (JSC::CodeBlock::getCallLinkInfo):
  • VM/Machine.cpp: (JSC::Machine::Machine): (JSC::Machine::cti_vm_dontLazyLinkCall): (JSC::Machine::cti_vm_lazyLinkCall):
  • VM/Machine.h:
17:29 Changeset [38411] by bolsinga@apple.com

Reviewed by Darin Alder.

https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
exit-time destructor. Update code that was changed to fix this issue that ran
into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
in gcc build 5465). Also typdefs for template types needed to be added in some
cases so the type could make it through the macro successfully.

Basically code of the form:
static T m;
becomes:
DEFINE_STATIC_LOCAL(T, m, ());

Also any code of the form:
static T& m = *new T;
also becomes:
DEFINE_STATIC_LOCAL(T, m, ());

15:50 Changeset [38410] by mitz@apple.com

WebCore:

Reviewed by Darin Adler.

  • <rdar://problem/6234307> Support action methods for setting and clearing character-level directionality
  • WebCore part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
  • WebCore.base.exp: Exported WebCore::Settings::setTextDirectionSubmenuInclusionBehavior().
  • editing/ApplyStyleCommand.cpp: (StyleChange::init): Changed to always include the direction property in the result if the unicode-bidi property is included. (ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Added. Finds the highest ancestor of the given node that establishes bidi embedding. If that embedding agrees with the given allowed direction, finds the second-highest embedding ancestor. Splits all nodes through that ancestor. If the highest embedding ancestor did not need to be split, it is returned. (ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Added. Removes bidi embedding attributes and styles from all ancestors of the given node up to its enclosing block or the given node. (ApplyStyleCommand::applyInlineStyle): Added code to handle the unicode-bidi property. Applying style the includes this property involves removing all bidi embedding in effect, except for one-level embedding that agrees with the desired embedding, then applying the desired embedding where it is not already in effect. (ApplyStyleCommand::applyInlineStyleToRange): Factored out from applyInlineStyle(). (ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): Added. Removed the "dir" attribute if necessary and the element if it becomes an unstyled style span. (ApplyStyleCommand::removeCSSStyle): Changed to remove the direction property when removing the unicode-bidi property. (ApplyStyleCommand::removeInlineStyle): Added a call to removeHTMLBidiEmbeddingStyle().
  • editing/ApplyStyleCommand.h:
  • editing/Editor.cpp: (Editor::textDirectionForSelection): Added. Returns the character-level writing direction of the selection if it is uniform and simple (at most one level of embedding). (Editor::hasBidiSelection): Added. Returns true if the selection lies entirely within a single block, and that block has direction:rtl or contains any inline boxes with non-zero bidi embedding level.
  • editing/Editor.h:
  • editing/EditorCommand.cpp: (stateTextWritingDirection): Added this helper function for deciding the state of Text Direction submenu items. (executeMakeTextWritingDirectionLeftToRight): Added. Applies "unicode-bidi: embed; direction: ltr;". (executeMakeTextWritingDirectionNatural): Added. Applies "unicode-bidi: normal;" (executeMakeTextWritingDirectionRightToLeft): Added. Applies "unicode-bidi: embed; direction: rtl;". (stateTextWritingDirectionLeftToRight): Added. (stateTextWritingDirectionNatural): Added. (stateTextWritingDirectionRightToLeft): Added. (createCommandMap): Added "MakeTextWritingDirectionLeftToRight", "MakeTextWritingDirectionNatural", and "MakeTextWritingDirectionRightToLeft".
  • editing/InsertTextCommand.cpp: (InsertTextCommand::input): Added code to maintain the unicode-bidi and direction properties in the typing style. Even if they have the same values as the computed style at the caret, they need to be included in the typing style so that inserted text will not inherit any nested embedding.
  • page/ContextMenuController.cpp: (ContextMenuController::contextMenuItemSelected): Added calls to the editor for the text direction menu items.
  • page/Frame.cpp (Frame::computeAndSetTypingStyle): Added code to maintain the unicode-bidi and direction properties in the typing style.
  • page/Settings.cpp: (Settings::setTextDirectionSubmenuInclusionBehavior): Added this setter.
  • page/Settings.h: Added a TextDirectionSubmenuInclusionBehavior enum, an m_textDirectionSubmenuInclusionBehavior member, and accessors.
  • page/mac/WebCoreViewFactory.h:
  • platform/ContextMenu.cpp: (WebCore::createAndAppendTextDirectionSubMenu): Added. (ContextMenu::populate): Added the Text Direction submenu item based on the inclusion behavior and the existence of a bidi selection. (ContextMenu::checkOrEnableIfNeeded): Added code for the text direction menu items.
  • platform/ContextMenuItem.h:
  • platform/LocalizedStrings.h: Declared contextMenuItemTagTextDirectionMenu().
  • platform/mac/LocalizedStringsMac.mm: Defined contextMenuItemTagTextDirectionMenu().
  • rendering/RenderBlock.cpp: (RenderBlock::containsNonZeroBidiLevel): Added.
  • rendering/RenderBlock.h:

WebKit:

Reviewed by Darin Adler.

  • part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
  • English.lproj/Localizable.strings: Added the Text Direction submenu title.

WebKit/mac:

Reviewed by Darin Adler.

  • <rdar://problem/6234333> Implement action methods for setting and clearing character-level directionality
  • part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
  • WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory contextMenuItemTagTextDirectionMenu]): Added.
  • WebView/WebFrame.mm: (core): Added a convertor from WebTextDirectionSubmenuInclusionBehavior to WebCore::TextDirectionSubmenuInclusionBehavior.
  • WebView/WebFrameInternal.h:
  • WebView/WebHTMLView.mm: Added makeTextWritingDirectionLeftToRight:, makeTextWritingDirectionNatural: and makeTextWritingDirectionRightToLeft: using the WEBCORE_COMMAND macro.
  • WebView/WebPreferenceKeysPrivate.h: Added WebKitTextDirectionSubmenuInclusionBehaviorPreferenceKey.
  • WebView/WebPreferences.mm: (+[WebPreferences initialize]): Set the default Text Direction submenu inclusion behavior to never include. (-[WebPreferences textDirectionSubmenuInclusionBehavior]): Added this accessor. (-[WebPreferences setTextDirectionSubmenuInclusionBehavior:]): Ditto.
  • WebView/WebPreferencesPrivate.h: Defined the WebTextDirectionSubmenuInclusionBehavior enum and declared accessors.
  • WebView/WebUIDelegatePrivate.h:
  • WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): Added code to transfer the Text Direction submenu inclusion behavior preference to WebCore settings.
15:48 Changeset [38409] by bolsinga@apple.com

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22264
Need to update to latest Geolocation spec (13 November 2008)


Update to new error code constants and values.

  • page/Geolocation.cpp: Use new named ErrorCode enums (WebCore::Geolocation::GeoNotifier::timerFired): (WebCore::Geolocation::getCurrentPosition): (WebCore::Geolocation::watchPosition):
  • page/PositionError.h: Have ErrorCode enum names match new error constant names and values (WebCore::PositionError::):
  • page/PositionError.idl: Add new named error constants
15:37 Changeset [38408] by bdakin@apple.com

WebCore:

2008-11-14 Beth Dakin <bdakin@apple.com>

Reviewed by Justin Garcia.

Fix (again) for <rdar://problem/5089327> Too much indentation when
pasting quoted paragraphs

This patch goes back to Justin's original approach to fix this bug,
written in revision 38273. That fix was mostly rolled out by
revision 38310 because of styling issues created by the addition of
extra blockquote nodes. This patch again goes back to Justin's
original fix because of cases we discovered the newer fix could not
possibly cover. This version of the patch minimizes the styling
issues of extra blockquotes by opting into the merge start code.

  • editing/ReplaceSelectionCommand.cpp: (WebCore::hasMatchingQuoteLevel): We want shouldMergeStart to return true when the quoting level of the end of the inserted content matches the quoting level of the end of the existing content. (WebCore::ReplaceSelectionCommand::shouldMergeStart): Now calls hasMatchingQuoteLevel (WebCore::ReplaceSelectionCommand::doApply):

LayoutTests:

2008-11-14 Beth Dakin <bdakin@apple.com>

Reviewed by Justin Garcia.

Tests for <rdar://problem/5089327> Too much indentation when
pasting quoted paragraphs

New test:

  • editing/pasteboard/paste-blockquote-into-blockquote-4.html: Added.
  • platform/mac/editing/pasteboard/paste-blockquote-into- blockquote-4-expected.checksum: Added.
  • platform/mac/editing/pasteboard/paste-blockquote-into- blockquote-4-expected.png: Added.
  • platform/mac/editing/pasteboard/paste-blockquote-into- blockquote-4-expected.txt: Added.

Changes results for existing tests:

  • platform/mac/editing/pasteboard/merge-end-blockquote- expected.checksum:
  • platform/mac/editing/pasteboard/merge-end-blockquote- expected.png:
  • platform/mac/editing/pasteboard/merge-end-blockquote- expected.txt:
  • platform/mac/editing/pasteboard/paste-blockquote-into- blockquote-2-expected.txt:
  • platform/mac/editing/pasteboard/paste-blockquote-into- blockquote-3-expected.txt:
  • platform/mac/editing/pasteboard/paste-blockquote-into-blockquote- expected.txt:
15:36 Changeset [38407] by weinig@apple.com

2008-11-13 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler

Fix for https://bugs.webkit.org/show_bug.cgi?id=22269
Reduce PropertyMap usage

From observation of StructureID statistics, it became clear that many
StructureID's were not being used as StructureIDs themselves, but rather
only being necessary as links in the transition chain. Acknowledging this
and that PropertyMaps stored in StructureIDs can be treated as caches, that
is that they can be reconstructed on demand, it became clear that we could
reduce the memory consumption of StructureIDs by only keeping PropertyMaps
for the StructureIDs that need them the most.

The specific strategy used to reduce the number of StructureIDs with
PropertyMaps is to take the previous StructureIDs PropertyMap when initially
transitioning (addPropertyTransition) from it and clearing out the pointer
in the process. The next time we need to do the same transition, for instance
repeated calls to the same constructor, we use the new addPropertyTransitionToExistingStructure
first, which allows us not to need the PropertyMap to determine if the property
exists already, since a transition to that property would require it not already
be present in the StructureID. Should there be no transition, the PropertyMap
can be constructed on demand (via materializePropertyMap) to determine if the put is a
replace or a transition to a new StructureID.

Reduces memory use on Membuster head test (30 pages open) by ~15MB.

  • JavaScriptCore.exp:
  • runtime/JSObject.h: (JSC::JSObject::putDirect): First use addPropertyTransitionToExistingStructure so that we can avoid building the PropertyMap on subsequent similar object creations.
  • runtime/PropertyMapHashTable.h: (JSC::PropertyMapEntry::PropertyMapEntry): Add version of constructor which takes all values to be used when lazily building the PropertyMap.
  • runtime/StructureID.cpp: (JSC::StructureID::dumpStatistics): Add statistics on the number of StructureIDs with PropertyMaps. (JSC::StructureID::StructureID): Rename m_cachedTransistionOffset to m_offset (JSC::isPowerOf2): (JSC::nextPowerOf2): (JSC::sizeForKeyCount): Returns the expected size of a PropertyMap for a key count. (JSC::StructureID::materializePropertyMap): Builds the PropertyMap out of its previous pointer chain. (JSC::StructureID::addPropertyTransitionToExistingStructure): Only transitions if there is a an existing transition. (JSC::StructureID::addPropertyTransition): Instead of always copying the ProperyMap, try and take it from it previous pointer. (JSC::StructureID::removePropertyTransition): Simplify by calling toDictionaryTransition() to do transition work. (JSC::StructureID::changePrototypeTransition): Build the PropertyMap if necessary before transitioning because once you have transitioned, you will not be able to reconstruct it afterwards as there is no previous pointer, pinning the ProperyMap as well. (JSC::StructureID::getterSetterTransition): Ditto. (JSC::StructureID::toDictionaryTransition): Pin the PropertyMap so that it is not destroyed on further transitions. (JSC::StructureID::fromDictionaryTransition): We can only transition back from a dictionary transition if there are no deleted offsets. (JSC::StructureID::addPropertyWithoutTransition): Build PropertyMap on demands and pin. (JSC::StructureID::removePropertyWithoutTransition): Ditto. (JSC::StructureID::get): Build on demand. (JSC::StructureID::createPropertyMapHashTable): Add version of create that takes a size for on demand building. (JSC::StructureID::expandPropertyMapHashTable): (JSC::StructureID::rehashPropertyMapHashTable): (JSC::StructureID::getEnumerablePropertyNamesInternal): Build PropertyMap on demand.
  • runtime/StructureID.h: (JSC::StructureID::propertyStorageSize): Account for StructureIDs without PropertyMaps. (JSC::StructureID::isEmpty): Ditto. (JSC::StructureID::materializePropertyMapIfNecessary): (JSC::StructureID::get): Build PropertyMap on demand
14:58 Changeset [38406] by alp@webkit.org

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

GTK DRT build fix for gcc 4.4 snapshot. Add missing stdio include.

Fixes Debian bug #505723
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505723

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
13:41 Changeset [38405] by eric@webkit.org

Reviewed by Eric Seidel.

Made SVGResourceClipper platform independent.
https://bugs.webkit.org/show_bug.cgi?id=21444

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::clipPath):
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::clipPath):
  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::addPath): (WebCore::GraphicsContext::clipPath):
  • svg/graphics/SVGResourceClipper.cpp: (WebCore::SVGResourceClipper::applyClip):
  • svg/graphics/cairo/SVGResourceClipperCairo.cpp: Removed.
  • svg/graphics/cg/SVGResourceClipperCg.cpp: Removed.
  • svg/graphics/qt/SVGResourceClipperQt.cpp: Removed.
13:34 Changeset [38404] by antti@apple.com

2008-11-14 Antti Koivisto <antti@apple.com>

Reviewed by Anders Carlsson.

Combine loadFrameRequestWithFormState to loadFrameRequestWithFormAndValues.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
  • loader/FrameLoader.h:
12:02 Changeset [38403] by weinig@apple.com

2008-11-14 Sam Weinig <sam@webkit.org>

Reviewed by Eric Seidel.

Remove unneeded forward declaration.

  • plugins/Plugin.h:
11:32 Changeset [38402] by darin@apple.com

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

Reviewed by Mark Rowe.

  • WebView/WebFrameView.mm: (-[WebFrameView becomeFirstResponder]): Moved the acceptsFirstResponder special case inside the if statement so it won't run in the "selecting previous" case. Also removed the "just before shipping Tiger" code that doesn't need to be here any more.
11:29 Changeset [38401] by hausmann@webkit.org

2008-10-24 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Simon Hausmann.

Added some basic unit tests for the public database API.

11:01 Changeset [38400] by hausmann@webkit.org

2008-11-14 Simon Hausmann <hausmann@webkit.org>

Fix the Qt build, add missing export macros for the new classes.

10:53 Changeset [38399] by darin@chromium.org

2008-11-14 Darin Fisher <darin@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22251
HTMLCanvasElement.cpp unnecessarily includes runtime/Interpreter.h

  • html/HTMLCanvasElement.cpp:
10:52 Changeset [38398] by hausmann@webkit.org

2008-11-14 Csaba Osztrogonac <oszi@inf.u-szeged.hu>

Reviewed by Simon Hausmann.

<https://bugs.webkit.org/show_bug.cgi?id=21500>

JavaScriptCore build with -O3 flag instead of -O2 (gcc).
2.02% speedup on SunSpider (Qt-port on Linux)
1.10% speedup on V8 (Qt-port on Linux)
3.45% speedup on WindScorpion (Qt-port on Linux)

10:44 Changeset [38397] by hausmann@webkit.org

2008-11-14 Krishna <krishnamurty.podipireddy@nokia.com>

Reviewed by Simon Hausmann.

Fix hanging DRT with Qt.

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

10:40 Changeset [38396] by hausmann@webkit.org

WebCore:

2008-11-14 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Simon Hausmann.

Add new files from the Qt port to the build.

  • WebCore.pro:

WebKit/qt:

2008-10-24 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Simon Hausmann.

Adding public API to provide access to the security origin
(QWebSecurityOrigin) and the databases used for the offline
storage (QWebDatabase).

In addition QWebSettings gains configuration functions for
enabling/disabling offline storage, web application cache
and DOM local storage.

This commits lands the core feature(s), the unit tests and the
documentation are going to follow in the comming days/weeks.

Note: The API is not frozen yet.

10:39 Changeset [38395] by hausmann@webkit.org

2008-11-14 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Simon Hausmann.

Make it possible to get the cache directory set in the application
cache storage.

10:39 Changeset [38394] by hausmann@webkit.org

2008-11-14 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Simon Hausmann.

Make it possible to get the cache directory set in the application
cache storage.

10:30 Changeset [38393] by justin.garcia@apple.com

WebCore:

2008-11-14 Justin Garcia <justin.garcia@apple.com>

Reviewed by Beth Dakin.

<rdar://problem/4230923> "Make Plain Text" doesn't reset text alignment in single paragraph messages


When applying block styles, we would add block properties to the body element, and Mail's
Make Plain Text feature isn't equipped to remove those. This could have been fixed on our side,
but this change has the advantage that it fixes the bug on Tiger, where Mail does not plan future updates.


We have code that puts the paragraphs that we're operating on into blocks of their own before
adding or removing block properties from the blocks that enclose them. We need to run this code
when the enclosing block is the body element.


  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Added, moved code from moveParagraphContents to here. (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Renamed some variables for clarity. Added a few comments. Fixed bug by not bailing out when the block about to be used is the body element.
  • editing/CompositeEditCommand.h:

LayoutTests:

2008-11-14 Justin Garcia <justin.garcia@apple.com>

Reviewed by Beth Dakin.

<rdar://problem/4230923> "Make Plain Text" doesn't reset text alignment in single paragraph messages

  • editing/style/4230923-expected.txt: Added.
  • editing/style/4230923.html: Added.
09:54 Changeset [38392] by hausmann@webkit.org

2008-11-14 Kristian Amlie <kristian.amlie@trolltech.com>

Reviewed by Darin Adler.

Compile fix for RVCT.

In reality, it is two fixes:

  1. Remove typename. I believe typename can only be used when the named type depends on the template parameters, which it doesn't in this case, so I think this is more correct.
  2. Replace ::iterator scope with specialized typedef. This is to work around a bug in RVCT.

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

09:53 Changeset [38391] by hausmann@webkit.org

2008-11-14 Kristian Amlie <kristian.amlie@trolltech.com>

Reviewed by Darin Adler.

Compile fix for WINSCW.

This fix doesn't protect against implicit conversions from bool to
integers, but most likely that will be caught on another platform.

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

09:49 Changeset [38390] by cwzwarich@webkit.org

2008-11-14 Cameron Zwarich <zwarich@apple.com>

Reviewed by Darin Adler.

Bug 22245: Move wtf/dtoa.h into the WTF namespace
<https://bugs.webkit.org/show_bug.cgi?id=22245>

Move wtf/dtoa.h into the WTF namespace from the JSC namespace. This
introduces some ambiguities in name lookups, so I changed all uses of
the functions in wtf/dtoa.h to explicitly state the namespace.

JavaScriptCore:

  • JavaScriptCore.exp:
  • parser/Lexer.cpp: (JSC::Lexer::lex):
  • runtime/InitializeThreading.cpp:
  • runtime/JSGlobalObjectFunctions.cpp: (JSC::parseInt):
  • runtime/NumberPrototype.cpp: (JSC::integerPartNoExp): (JSC::numberProtoFuncToExponential):
  • runtime/UString.cpp: (JSC::concatenate): (JSC::UString::from): (JSC::UString::toDouble):
  • wtf/dtoa.cpp:
  • wtf/dtoa.h:

WebCore:

  • platform/text/String.cpp: (WebCore::charactersToDouble):
03:21 Changeset [38389] by vestbo@webkit.org

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

Rubber-stamped by Simon Hausmann.

Make sure Qt scrollbars follow the style with regard to context menus

03:20 Changeset [38388] by vestbo@webkit.org

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

Rubber-stamped by Simon Hausmann.

Make scrollbar look active when the window is active on Qt/Mac

00:21 Changeset [38387] by cwzwarich@webkit.org

2008-11-14 Cameron Zwarich <zwarich@apple.com>

Reviewed by Maciej Stachowiak.

Bug 22257: Enable redundant read optimizations for results generated by compileBinaryArithOp()
<https://bugs.webkit.org/show_bug.cgi?id=22257>

This shows no change in performance on either SunSpider or the V8
benchmark suite, but it removes an ugly special case and allows for
future optimizations to be implemented in a cleaner fashion.

This patch was essentially given to me by Gavin Barraclough upon my
request, but I did regression and performance testing so that he could
work on something else.

  • VM/CTI.cpp: (JSC::CTI::putDoubleResultToJSNumberCellOrJSImmediate): Move the final result to eax if it is not already there. (JSC::CTI::compileBinaryArithOp): Remove the killing of the final result register that disables the optimization.

11/13/08:

20:39 Changeset [38386] by mrowe@apple.com

Fix the build.

Don't use NSPICTPboardType on systems where it is deprecated. The system will take care of converting
from this format to a format that we can understand.

  • WebCoreSupport/WebPasteboardHelper.mm:

(WebPasteboardHelper::insertablePasteboardTypes):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
(+[WebHTMLView _insertablePasteboardTypes]):
(-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):

20:29 Changeset [38385] by aroben@apple.com

Fix Bug 22244: Webkit nightly builds crash with Safari 3.2

<https://bugs.webkit.org/show_bug.cgi?id=22244>

r36652 added IWebViewPrivate::clearMainFrameName into the middle of
the IWebViewPrivate interface, which modifies the part of the
IWebViewPrivate vtable that Safari 3.2 relies on.

Reviewed by Dan Bernstein.

  • Interfaces/IWebViewPrivate.idl: Move clearMainFrameName to the end of the interface.
20:26 Changeset [38384] by eric@webkit.org

Reviewed by Adam Roben.

Add a basic Scons-based build system for building
Chromium-Mac WebCore.
https://bugs.webkit.org/show_bug.cgi?id=21991

The build currently fails due to missing files from our
platform directory (platform skia and platform chromium)
I will be sending those up shortly in separate patches.
I expect it will be a while before our WebCore build links.

  • SConstruct: Added.
  • WebCore.scons: Added.
20:26 Changeset [38383] by eric@webkit.org

Reviewed by Adam Roben.

Add a Scons-based build system for building
the Chromium-Mac build of JavaScriptCore.
https://bugs.webkit.org/show_bug.cgi?id=21991

19:54 Changeset [38382] by eric@webkit.org

Reviewed by Adam Roben.

Add PLATFORM(CHROMIUM) to the "we don't use cairo" blacklist
until https://bugs.webkit.org/show_bug.cgi?id=22250 is fixed.

  • wtf/Platform.h:
19:45 Changeset [38381] by cwzwarich@webkit.org

2008-11-13 Cameron Zwarich <zwarich@apple.com>

Reviewed by Sam Weinig.

In r38375 the 'jsc' shell was changed to improve teardown on quit. The
main() function in jsc.cpp uses Structured Exception Handling, so Visual
C++ emits a warning when destructors are used.


In order to speculatively fix the Windows build, this patch changes that
code to use explicit pointer manipulation and locking rather than smart
pointers and RAII.

  • jsc.cpp: (main):
17:54 Changeset [38380] by darin@chromium.org

2008-11-13 Darin Fisher <darin@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22248
AtomicString.cpp uses JSC types outside of #if USE(JSC)

  • platform/text/AtomicString.cpp: (WebCore::AtomicString::add):
17:40 Changeset [38379] by cwzwarich@webkit.org

2008-11-13 Cameron Zwarich <zwarich@apple.com>

Reviewed by Darin Adler.

Bug 22246: Get arguments for opcodes together to eliminate more redundant memory reads
<https://bugs.webkit.org/show_bug.cgi?id=22246>

It is common for opcodes to read their first operand into eax and their
second operand into edx. If the value intended for the second operand is
in eax, we should first move eax to the register for the second operand
and then read the first operand into eax.

This is a 0.5% speedup on SunSpider and a 2.0% speedup on the V8
benchmark suite when measured using the V8 harness.

  • VM/CTI.cpp: (JSC::CTI::emitGetArgs): (JSC::CTI::compileOpStrictEq): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
  • VM/CTI.h:
14:54 Changeset [38378] by mrowe@apple.com

Tag the Safari 3.2 release.

This release consists of JavaScriptCore-x525.26.2, JavaScriptGlue-x525.26.2, WebCore-x525.26.6 and WebKit-x525.26.2.

14:27 Changeset [38377] by cwzwarich@webkit.org

2008-11-13 Cameron Zwarich <zwarich@apple.com>

Reviewed by Darin Adler.

Bug 22238: Avoid unnecessary reads of temporaries when the target machine register is not eax
<https://bugs.webkit.org/show_bug.cgi?id=22238>

Enable the optimization of not reading a value back from memory that we
just wrote when the target machine register is not eax. In order to do
this, the code generation for op_put_global_var must be changed to
read its argument into a register before overwriting eax.

This is a 0.5% speedup on SunSpider and shows no change on the V8
benchmark suite when run in either harness.

  • VM/CTI.cpp: (JSC::CTI::emitGetArg): (JSC::CTI::privateCompileMainPass):
13:04 Changeset [38376] by justin.garcia@apple.com

2008-11-13 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.


https://bugs.webkit.org/show_bug.cgi?id=18620
Long hang under TextIterator::advance() when loading http://www.lsvd.de/

A huge section at the beginning of this document is invisible. As we iterate through it,
we create VisiblePositions unnecessarily.

  • editing/TextIterator.cpp: (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Don't proceed to VisiblePosition creation if m_node is unrendered or invisible. The answers wouldn't have much meaning and would be wasteful. Also fixed some comments to reflect the fact that this function isn't specifically about emitting a newline.
11:50 Changeset [38375] by cwzwarich@webkit.org

2008-11-13 Cameron Zwarich <zwarich@apple.com>

Reviewed by Alexey Proskuryakov.

Perform teardown in the 'jsc' shell in order to suppress annoying and
misleading leak messages. There is still a lone JSC::Node leaking when
quit() is called, but hopefully that can be fixed as well.

  • jsc.cpp: (functionQuit): (main):
10:49 Changeset [38374] by cmarrin@apple.com

2008-11-13 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Sam Weinig.

Remove unused or unnecessary code from AnimationBase class.

  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::AnimationBase): (WebCore::AnimationBase::playStatePlaying):
  • page/animation/AnimationBase.h:
10:35 Changeset [38373] by sullivan@apple.com

WebKit:

2008-11-13 John Sullivan <sullivan@apple.com>

fixed <rdar://problem/6361578> Web Kit UI strings: a few edits

Reviewed by Tim Hatcher

  • English.lproj/Localizable.strings: updated for these changes


  • StringsNotToBeLocalized.txt: removed unused exception

WebKit/mac:

2008-11-13 John Sullivan <sullivan@apple.com>

fixed <rdar://problem/6361578> Web Kit UI strings: a few edits

Reviewed by Tim Hatcher

  • Misc/WebKitErrors.m: "Cannot show content with specified mime type" -> "Content with specified MIME type can't be shown" "Cannot show URL" -> "The URL can't be shown" "Cannot find plug-in" -> "The plug-in can't be found" "Cannot load plug-in" -> "The plug-in can't be loaded"


  • Panels/English.lproj/WebAuthenticationPanel.nib/classes.nib:
  • Panels/English.lproj/WebAuthenticationPanel.nib/info.nib:
  • Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib: Added.
  • Panels/English.lproj/WebAuthenticationPanel.nib/objects.nib: Removed. Changed placeholder fine print in the nib to match one of the two strings it might be replaced by. This automagically updated the nib to a newer format, hence the objects -> keyedobjects change. I could have changed the placeholder fine print to be empty but this lets localizers understand the dialog layout better.


  • Panels/WebAuthenticationPanel.m: (-[WebAuthenticationPanel setUpForChallenge:]): "you need to log in" -> "you must log in" "Your log-in information" -> "Your login information" "The name or password entered" -> "The user name or password you entered" "Please try again." -> "Make sure you're entering them correctly, and then try again."
10:09 Changeset [38372] by weinig@apple.com

2008-11-13 Mike Pinkerton <pinkerton@chromium.org>

Reviewed by Sam Weinig.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22087
Need correct platform defines for Mac Chromium

Set the appropriate platform defines for Mac Chromium, which is
similar to PLATFORM(MAC), but isn't.

  • wtf/Platform.h:
07:20 Changeset [38371] by vestbo@webkit.org

2008-11-12 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon Hausmann.

Inital implementation of PluginPackage and PluginView for Mac NPAPI support in WebCore

Currently only used by QtWebKit. See also:

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

07:20 Changeset [38370] by vestbo@webkit.org

2008-11-12 Ariya Hidayat <ariya.hidayat@trolltech.com>

Rubber-stamped by Tor Arne Vestbø.

Mention the color role change (r38331) in the API doc.

  • Api/qwebpage.cpp:
04:53 Changeset [38369] by mjs@apple.com

2008-11-13 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


  • remove immediate checks from native codegen for known non-immediate cases like "this"


~.5% speedup on v8 benchmarks


In the future we can extend this model to remove all sorts of
typechecks based on local type info or type inference.


I also added an assertion to verify that all slow cases linked as
many slow case jumps as the corresponding fast case generated, and
fixed the pre-existing cases where this was not true.


  • VM/CTI.cpp: (JSC::CTI::emitJumpSlowCaseIfNotJSCell): (JSC::CTI::linkSlowCaseIfNotJSCell): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
  • VM/CTI.h:
  • VM/CodeBlock.h: (JSC::CodeBlock::isKnownNotImmediate):
03:26 Changeset [38368] by cwzwarich@webkit.org

2008-11-13 Cameron Zwarich <zwarich@apple.com>

Reviewed by Maciej Stachowiak.

Bug 21943: Avoid needless reads of temporary values in CTI code
<https://bugs.webkit.org/show_bug.cgi?id=21943>

If an opcode needs to load a virtual register and a previous opcode left
the contents of that virtual register in a machine register, use the
value in the machine register rather than getting it from memory.

In order to perform this optimization, it is necessary to know the
jump tagets in the CodeBlock. For temporaries, the only problematic
jump targets are binary logical operators and the ternary conditional
operator. However, if this optimization were to be extended to local
variable registers as well, other jump targets would need to be
included, like switch statement cases and the beginnings of catch
blocks.

This optimization also requires that the fast case and the slow case
of an opcode use emitPutResult() on the same register, which was chosen
to be eax, as that is the register into which we read the first operand
of opcodes. In order to make this the case, we needed to add some mov
instructions to the slow cases of some instructions.

This optimizaton is not applied whenever compileBinaryArithOp() is used
to compile an opcode, because different machine registers may be used to
store the final result. It seems possible to rewrite the code generation
in compileBinaryArithOp() to allow for this optimization.

This optimization is also not applied when generating slow cases,
because some fast cases overwrite the value of eax before jumping to the
slow case. In the future, it may be possible to apply this optimization
to slow cases as well, but it did not seem to be a speedup when testing
an early version of this patch.

This is a 1.0% speedup on SunSpider and a 6.3% speedup on the V8
benchmark suite.

  • VM/CTI.cpp: (JSC::CTI::killLastResultRegister): (JSC::CTI::emitGetArg): (JSC::CTI::emitGetPutArg): (JSC::CTI::emitGetCTIParam): (JSC::CTI::emitGetFromCallFrameHeader): (JSC::CTI::emitPutResult): (JSC::CTI::emitCTICall): (JSC::CTI::CTI): (JSC::CTI::compileOpCall): (JSC::CTI::compileOpStrictEq): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompilePatchGetArrayLength):
  • VM/CTI.h:
  • VM/CodeBlock.h: (JSC::CodeBlock::isTemporaryRegisterIndex):
  • bytecompiler/CodeGenerator.cpp: (JSC::CodeGenerator::emitLabel):

11/12/08:

23:35 Changeset [38367] by ap@webkit.org

2008-11-12 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

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

  • Scripts/build-webkit: Addes ENABLE_WORKERS to build-webkit so it's possible to build with workers enabled.
23:32 Changeset [38366] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22200
Crash when close event is dispatched to MessagePort due to document destruction

Test: fast/events/message-port-onclose.html

  • dom/MessagePort.cpp: (WebCore::MessagePort::contextDestroyed): Don't dispatch close event, even though HTML5 currently says that we should. It is not right for GC to have observable effects.
23:27 Changeset [38365] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22203
Implement Worker messaging

No test cases included, because this functionality is disabled by default.

The implementation is known to still have many race condition, but works quite well for
testing.

  • WebCore.xcodeproj/project.pbxproj: Added WorkerTask.{h,cpp}.
  • bindings/js/JSDOMBinding.cpp: (WebCore::markActiveObjectsForContext): Re-worded comments a little. (WebCore::markCrossHeapDependentObjectsForContext): Existing cross-heap GC protocol was incorrect, changed it to a much simpler (but still incorrect) version.
  • dom/WorkerTask.cpp: Added. (WebCore::WorkerTask::~WorkerTask):
  • dom/WorkerTask.h: Added. Tasks posted to workers implement this new interface.
  • bindings/js/JSDedicatedWorkerCustom.cpp: (WebCore::JSDedicatedWorker::mark): (WebCore::JSDedicatedWorker::connect):
  • dom/DedicatedWorker.h:
  • dom/DedicatedWorker.idl: Auto-generate event listener attributes. Renamed startConversation() to connect(), tracking WHATWG discussions.
  • dom/DedicatedWorker.cpp: (WebCore::WorkerConnectTask::WorkerConnectTask): A task that performs worker-side connect() operations. (WebCore::DedicatedWorker::DedicatedWorker): Initialize WorkerThread pointer. (WebCore::DedicatedWorker::connect): Connect() creates a pair of entangled ports, and posts one to worker. Since message port registration in ScriptExecutionContext is not thread safe, this port starts with a null context pointer. (WebCore::DedicatedWorker::notifyFinished): Since Worker methods should work immediately after creation, we have to queue tasks until after a WorkerThread object is created. Then we forward all queued tasks to its queue.
  • dom/EventTarget.cpp: (WebCore::EventTarget::toWorkerContext):
  • dom/EventTarget.h:
  • bindings/js/JSEventTarget.cpp: (WebCore::toJS): Added cases for WorkerContext, which is now an EventTarget, too.
  • bindings/js/JSWorkerContext.h: Added JSWorkerContext::put() to make onconnect settable.
  • bindings/js/JSWorkerContext.cpp: (WebCore::JSWorkerContext::mark): Mark event listeners. (WebCore::JSWorkerContext::createPrototype): Fixed a typo, use the right StructureID. (WebCore::JSWorkerContext::put): Implemented. (WebCore::jsWorkerContextPrototypeFunctionAddEventListener): Added an EventTarget implementation. (WebCore::jsWorkerContextPrototypeFunctionRemoveEventListener): Ditto. (WebCore::jsWorkerContextPrototypeFunctionDispatchEvent): Ditto. (WebCore::jsWorkerContextOnconnect): Added. (WebCore::setJSWorkerContextOnconnect): Added.
  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): Made it actually work by adding necessary setup.
  • bindings/js/WorkerScriptController.h: (WebCore::WorkerScriptController::initScriptIfNeeded): Check the right variable - it is the wrapper that may not be initialized yet.
  • dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::ActiveDOMObject): (WebCore::ActiveDOMObject::~ActiveDOMObject): Assert being called from the correct thread, as active DOM object tracking is not thread safe.
  • dom/ScriptExecutionContext.h: Added a Task interface and a postTask() method, to be used for asynchronously executing tasks in context's thread.
  • dom/ScriptExecutionContext.cpp: (WebCore::ProcessMessagesSoonTask): Changed from a Timer to a Task (WebCore::ScriptExecutionContext::ScriptExecutionContext): Removed m_firedMessagePortTimer. It was an optimization that couldn't be easily preserved without introducing race conditions in multithreading case. (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon): Use postTask(). (WebCore::ScriptExecutionContext::dispatchMessagePortEvents): Added a comment explaining why it's OK to not ref() ports in a frozen copy. (WebCore::ScriptExecutionContext::createdMessagePort): Assert that we're not being called from a wrong thread. (WebCore::ScriptExecutionContext::destroyedMessagePort): Ditto. (WebCore::ScriptExecutionContextTaskTimer): Part of ScriptExecutionContext::Task implementation - use Timer if posting from main thread to main thread. (WebCore::ScriptExecutionContextTaskWorkerTask): Another part - use WorkerTask if posting to a worker. (WebCore::PerformTaskContext::PerformTaskContext): Finally, use callOnMainThread() if posting to main thread from a secondary one. (WebCore::performTask): A helper function for callOnMainThread(). (WebCore::ScriptExecutionContext::postTask): Use one of the above implementations.
  • dom/MessagePort.h: Fixed message queue to keep EventData pointers - otherwise, we would ref/deref EventData::message from different threads, which is not allowed.
  • dom/MessagePort.cpp: (WebCore::MessagePortCloseEventTask): Use a task instead of a timer to work across threads. (WebCore::MessagePort::EventData::create): Updated for EventData being refcountable now. (WebCore::MessagePort::EventData::EventData): Ditto. (WebCore::MessagePort::MessagePort): ScriptExecutionContext is now allowed to be null at first, because we need to create ports for posting to other threads, and it is not possible to register in a context from another thread. (WebCore::MessagePort::clone): Always create ports with null contexts - it is now message receiver's job to set the context. (WebCore::MessagePort::postMessage): Enable posting to ports that are not attached to any context yet. (WebCore::MessagePort::startConversation): Ditto. Data port is always posted unattached. (WebCore::MessagePort::contextDestroyed): Assert that we had a context. (WebCore::MessagePort::attachToContext): Called when receiving a data port to register in context. (WebCore::MessagePort::scriptExecutionContext): Moved from header, as the function is virtual. (WebCore::MessagePort::dispatchMessages): Attach data port to receiving context. Use postTask(). (WebCore::MessagePort::queueCloseEvent): Use postTask(). (WebCore::MessagePort::hasPendingActivity): Reworded comment a little. As mentioned above, MessagePort cross-heap GC is still quite wrong.
  • dom/WorkerContext.h: Made WorkerContext an event target, added onconnect attribute.
  • dom/WorkerContext.cpp: Keep a pointer to WorkerThread. It is only used for debug assertions now, but there is no harm in tracking it in release builds, too.
  • dom/WorkerThread.cpp: (WebCore::WorkerThread::create): WorkerThread is refcountable, construct with create(). (WebCore::WorkerThread::workerThread): Implemented a message loop.
  • dom/WorkerThread.h: (WebCore::WorkerThread::threadID): Also only used for assertions. (WebCore::WorkerThread::messageQueue): Return a reference to queue, so clients can post to it.
  • page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): MessagePort::clone() no longer takes a context, as it always sets it to null. (WebCore::DOMWindow::postMessageTimerFired): Attach data port to receiving context.
23:17 Changeset [38364] by krit@webkit.org

2008-11-12 Dirk Schulze <vbs85@gmx.de>

WebCore:

Reviewed Darin Adler.

use strokeColor.alpha() instead of fillColor.alpha()
on GraphicsContext::strokePath()

[Canvas] Transparent fillStyle stops line rendering
https://bugs.webkit.org/show_bug.cgi?id=21888

Test: fast/canvas/canvas-stroke-empty-fill.html

  • ChangeLog:
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::strokePath):

LayoutTests:

Reviewed by Darin Adler.

Check behavior of canvas.stroke() on transparent fillStyle()

  • fast/canvas/canvas-stroke-empty-fill-expected.txt: Added.
  • fast/canvas/canvas-stroke-empty-fill.html: Added.
  • fast/canvas/canvas-stroke-empty-fill.js: Added.
23:17 Changeset [38363] by slewis@apple.com

2008-11-12 Stephanie Lewis <slewis@apple.com>

Fix Mac build.

  • Panels/WebAuthenticationPanel.m:
22:08 Changeset [38362] by slewis@apple.com

2008-11-12 Stephanie <slewis@apple.com>

Reviewed by Mark Rowe.

Fix context leak in XSLStyleSheets.
See bug https://bugs.webkit.org/show_bug.cgi?id=15715

  • xml/XSLStyleSheet.cpp: (WebCore::XSLStyleSheet::parseString):
20:47 Changeset [38361] by sullivan@apple.com

WebKit:

2008-11-12 John Sullivan <sullivan@apple.com>

fixed <rdar://problem/3839110> Authentication dialogs talk about passwords being sent "in the clear"

Reviewed by Tim Hatcher

  • English.lproj/Localizable.strings:
  • StringsNotToBeLocalized.txt: updated for this change

WebKit/mac:

2008-11-12 John Sullivan <sullivan@apple.com>

fixed <rdar://problem/3839110> Authentication dialogs talk about passwords being sent "in the clear"

Reviewed by Tim Hatcher

  • Panels/WebAuthenticationPanel.m: (-[WebAuthenticationPanel setUpForChallenge:]): use "unencrypted" instead of "in the clear". Also, use the "Your log-in information will be sent securely" version when the receiving server is https, regardless of whether it uses basic or digest authentication.
20:26 Changeset [38360] by alp@webkit.org

2008-11-12 Alp Toker <alp@nuanti.com>

autotools: List web worker-related headers needed for a successful
build. distcheck is passing again with this change.

  • GNUmakefile.am:
19:57 Changeset [38359] by mrowe@apple.com

Versioning.

19:57 Changeset [38358] by mrowe@apple.com

Merge r37827.

19:39 Changeset [38357] by mrowe@apple.com

New tag.

18:30 Changeset [38356] by alp@webkit.org

2008-11-12 Alp Toker <alp@nuanti.com>

autotools build system fix-up only. Add FloatQuad.h to the source
lists and sort them.

18:04 Changeset [38355] by darin@apple.com

2008-11-12 Darin Adler <darin@apple.com>

Reviewed by Mark Rowe.

  • WebView/WebFrameView.mm: (-[WebFrameView viewDidMoveToWindow]): Add missing null check.
17:41 Changeset [38354] by mitz@apple.com

2008-11-12 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Dan Bernstein.

Updated reference images so that all pixel tests now "pass" on 10.4.11 PowerPC + r38347.
https://bugs.webkit.org/show_bug.cgi?id=21821

Checked-in specific reference images for pixel tests that are valid on Tiger but fail
because difference with reference image due to text rendering is greater than 1.0%

  • platform/mac-tiger/svg/carto.net: Added.
  • platform/mac-tiger/svg/carto.net/selectionlist-expected.checksum: Added.
  • platform/mac-tiger/svg/carto.net/selectionlist-expected.png: Added.
  • platform/mac-tiger/svg/custom/feComponentTransfer-Gamma-expected.checksum: Added.
  • platform/mac-tiger/svg/custom/feComponentTransfer-Gamma-expected.png: Added.
  • platform/mac-tiger/svg/text/text-align-01-b-expected.checksum: Added.
  • platform/mac-tiger/svg/text/text-align-01-b-expected.png: Added.
  • platform/mac-tiger/svg/text/text-align-02-b-expected.checksum: Added.
  • platform/mac-tiger/svg/text/text-align-02-b-expected.png: Added.
  • platform/mac-tiger/svg/text/text-align-04-b-expected.checksum: Added.
  • platform/mac-tiger/svg/text/text-align-04-b-expected.png: Added.
  • platform/mac-tiger/svg/text/text-fonts-01-t-expected.checksum: Added.
  • platform/mac-tiger/svg/text/text-fonts-01-t-expected.png: Added.
  • platform/mac-tiger/svg/text/text-text-03-b-expected.checksum: Added.
  • platform/mac-tiger/svg/text/text-text-03-b-expected.png: Added.
  • platform/mac-tiger/svg/text/text-tselect-01-b-expected.checksum: Added.
  • platform/mac-tiger/svg/text/text-tselect-01-b-expected.png: Added.
  • platform/mac-tiger/svg/text/text-tspan-01-b-expected.checksum: Added.
  • platform/mac-tiger/svg/text/text-tspan-01-b-expected.png: Added.
  • platform/mac-tiger/svg/text/text-ws-01-t-expected.checksum: Added.
  • platform/mac-tiger/svg/text/text-ws-01-t-expected.png: Added.
  • platform/mac-tiger/svg/text/text-ws-02-t-expected.checksum: Added.
  • platform/mac-tiger/svg/text/text-ws-02-t-expected.png: Added.
  • platform/mac-tiger/svg/W3C-SVG-1.1/filters-color-01-b-expected.checksum: Added.
  • platform/mac-tiger/svg/W3C-SVG-1.1/filters-color-01-b-expected.png: Added.
  • platform/mac-tiger/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.checksum: Added.
  • platform/mac-tiger/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png: Added.

svg/batik/paints/gradientLimit.svg is rendering different on Tiger and Leopard
https://bugs.webkit.org/show_bug.cgi?id=22219

  • platform/mac-tiger/svg/batik: Added.
  • platform/mac-tiger/svg/batik/paints: Added.
  • platform/mac-tiger/svg/batik/paints/gradientLimit-expected.checksum: Added.
  • platform/mac-tiger/svg/batik/paints/gradientLimit-expected.png: Added.

svg/custom/mask-excessive-malloc.svg is failing on Tiger
https://bugs.webkit.org/show_bug.cgi?id=22218

  • platform/mac-tiger/svg/custom/mask-excessive-malloc-expected.checksum: Added.
  • platform/mac-tiger/svg/custom/mask-excessive-malloc-expected.png: Added.

svg/W3C-SVG-1.1/pservers-grad-17-b.svg is failing on Leopard
https://bugs.webkit.org/show_bug.cgi?id=22220

  • platform/mac-leopard/svg: Added.
  • platform/mac-leopard/svg/W3C-SVG-1.1: Added.
  • platform/mac-leopard/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.checksum: Added.
  • platform/mac-leopard/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.png: Added.
  • platform/mac/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.checksum:
  • platform/mac/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.png:

svg/custom/foreign-object-skew.svg is failing on Leopard
https://bugs.webkit.org/show_bug.cgi?id=22221

  • platform/mac-leopard/svg/custom: Added.
  • platform/mac-leopard/svg/custom/foreign-object-skew-expected.checksum: Added.
  • platform/mac-leopard/svg/custom/foreign-object-skew-expected.png: Added.
  • platform/mac/svg/custom/foreign-object-skew-expected.checksum:
  • platform/mac/svg/custom/foreign-object-skew-expected.png:
17:32 Changeset [38353] by simon.fraser@apple.com

2008-11-12 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

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

Rename absoluteOutlineBox() to absoluteOutlineBounds(), to indicate that
it may be the bounding outline box of a transformed element, and fix it
to respect transforms by mapping the outline box to an absolute quad and
taking the enclosing rect.

RenderBox::localToAbsoluteQuad() can no longer assert that there is no
LayoutState, but LayoutState cannot be used during quad mapping (it knows
nothing about transforms).

Finally, fix a bug in RenderBox::localToAbsoluteQuad() which was getting
borderTopExtra() from the object, rather than its container (as localToAbsolute()
does).

Test: fast/repaint/transform-absolute-child.html

17:22 Changeset [38352] by ggaren@apple.com

dyslexics untie\!

17:20 Changeset [38351] by ggaren@apple.com

2008-11-12 Geoffrey Garen <ggaren@apple.com>

Roll in r38322, onw that test failures have been fixed.


  • fast/js/global-recursion-on-full-stack-expected.txt:
16:51 Changeset [38350] by jchaffraix@webkit.org

2008-11-12 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Bug 22133: [XBL] Add shorter method to get the global XBLBindingManager

Renamed XBBindingManager::sharedInstance() to bindingManager().

Suggested by Eric Seidel.

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::CSSStyleSelector): (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::removeBindings):
  • dom/Document.cpp: (WebCore::Document::~Document): (WebCore::Document::recalcStyleSelector): (WebCore::Document::addBindingSheet): (WebCore::Document::removeBindingSheet):
  • dom/Element.cpp: (WebCore::Element::~Element): (WebCore::Element::addBinding): (WebCore::Element::removeBinding): (WebCore::Element::hasBinding):
  • xbl/XBLBindingManager.cpp: (WebCore::bindingManager):
  • xbl/XBLBindingManager.h:
16:48 Changeset [38349] by ggaren@apple.com

2008-11-12 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed https://bugs.webkit.org/show_bug.cgi?id=22192
+37 failures in fast/profiler


along with Darin's review comments in
https://bugs.webkit.org/show_bug.cgi?id=22174
Simplified op_call by nixing its responsibility for moving the value of
"this" into the first argument slot

  • VM/Machine.cpp: (JSC::returnToThrowTrampoline): (JSC::throwStackOverflowError): (JSC::Machine::cti_register_file_check): (JSC::Machine::cti_op_call_arityCheck): (JSC::Machine::cti_vm_throw): Moved the throw logic into a function, since functions are better than macros.
  • bytecompiler/CodeGenerator.cpp: (JSC::CodeGenerator::emitCall): (JSC::CodeGenerator::emitConstruct): Ensure that the function register is preserved if profiling is enabled, since the profiler uses that register.
  • runtime/JSGlobalData.h: Renamed throwReturnAddress to exceptionLocation, because I had a hard time understanding what "throwReturnAddress" meant.
16:44 Changeset [38348] by alp@webkit.org

2008-11-12 Alp Toker <alp@nuanti.com>

Build fixes for r38346. FloatQuad.cpp is missing:

1) #include "config.h"
2) #include <algorithm> for various mathematical definitions it uses.

  • platform/graphics/FloatQuad.cpp:
16:24 Changeset [38347] by mitz@apple.com

2008-11-12 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Dan Bernstein.

Skip fast/repaint/body-background-image.html test as it is not reliable.

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

  • platform/mac/Skipped:
15:43 Changeset [38346] by simon.fraser@apple.com

2008-11-12 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

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

Add methods which can be used to map renderer-local rectangles
to quads in absolute coordinates, taking transforms into account:

localToAbsoluteQuad() converts a local rect into an absolute quad.
collectAbsoluteLineBoxQuads() is an analogue of addLineBoxRects()

that works with quads.

absoluteQuads() is an analogue of absoluteRects(), for quads.

Use the quad methods to fix the inspector highlight for transformed
elements.

15:04 Changeset [38345] by andersca@apple.com

2008-11-12 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin Decker.

Fix stupid bug.


  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView createPlugin]):
14:53 Changeset [38344] by mitz@apple.com

2008-11-12 Dan Bernstein <mitz@apple.com>

  • remove an empty directory
  • platform/mac-leopard/http: Removed.
  • platform/mac-leopard/http/tests: Removed.
  • platform/mac-leopard/http/tests/security: Removed.
  • platform/mac-leopard/http/tests/security/dataURL: Removed.
13:54 Changeset [38343] by aroben@apple.com

Fix Bug 22178: Build errors in WebKit Cairo port

<https://bugs.webkit.org/show_bug.cgi?id=22178>

Reviewed by Mark Rowe.

  • platform/graphics/cairo/PatternCairo.cpp: Correct build error under Visual Studio. (WebCore::Pattern::createPlatformPattern):
13:49 Changeset [38342] by aroben@apple.com

Fix a typo in the include path for the Release_Cairo configuration

  • WebCore.vcproj/WebCore.vcproj: Fixed "caro" -> "cairo" typo.
13:02 Changeset [38341] by sfalken@apple.com

Touch precompiled header wrapper to fix build.

12:44 Changeset [38340] by mitz@apple.com

Set svn:mime-type to image/png on .png files that did not have it

12:28 Changeset [38339] by simon.fraser@apple.com

2008-11-12 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

https://bugs.webkit.org/show_bug.cgi?id=17840
Patch 2

Code cleanup in RenderBox::computeAbsoluteRepaintRect().

  • rendering/RenderBox.cpp: (WebCore::RenderBox::computeAbsoluteRepaintRect):
12:22 Changeset [38338] by simon.fraser@apple.com

2008-11-12 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

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

Fix repainting when the transform on a positioned element changes.
In computeAbsoluteRepaintRect(), add the offsets due to relative positioning,
and being in a positioned container after applying the transform to the local
rect.

Tests: fast/repaint/transform-absolute-in-positioned-container.html

fast/repaint/transform-relative-position.html

  • rendering/RenderBox.cpp: (WebCore::RenderBox::computeAbsoluteRepaintRect):
12:08 Changeset [38337] by justin.garcia@apple.com

WebCore:

2008-11-12 Justin Garcia <justin.garcia@apple.com>

Reviewed by Beth Dakin.


<rdar://problem/5495723> Selecting and deleting quoted text quotes other text
<rdar://problem/4775313> Deleting lines from the bottom of a messages leaves the last blank line quoted


We don't want to merge into a block if it will mean changing the quote level of content after deleting
selections that contain a whole number paragraphs plus a line break, since it is unclear to most users
that such a selection actually ends at the start of the next paragraph. Instead we want to completely
remove the selected paragraph(s) and all evidence of the first one's quote level. This matches TextEdit behavior
for indented paragraphs.


  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::initializePositionData): For the selections described above, do not try to merge after the deletion. Instead try and prune the start block or blocks if they've been emptied so that we remove evidence of the deleted paragraphs' quote level. (WebCore::DeleteSelectionCommand::mergeParagraphs): Try and prune the start block(s) if necessary. Also make sure that the caret is placed correctly so that it ends up on the same line that the deleted selection started on, instead of one higher.
  • editing/DeleteSelectionCommand.h:
  • editing/htmlediting.cpp: (WebCore::numEnclosingMailBlockquotes): Added.
  • editing/htmlediting.h:

LayoutTests:

2008-11-12 Justin Garcia <justin.garcia@apple.com>

Reviewed by Beth Dakin.


<rdar://problem/5495723> Selecting and deleting quoted text quotes other text
<rdar://problem/4775313> Deleting lines from the bottom of a messages leaves the last blank line quoted

  • editing/deleting/5495723-expected.txt: Added.
  • editing/deleting/5495723.html: Added.
  • platform/mac/editing/deleting/delete-4038408-fix-expected.txt: Change demonstrates that we now behave correctly when pressing delete when the caret is just after empty quoted paragraphs.
11:40 Changeset [38336] by sfalken@apple.com

Touch precompiled header wrapper to try and fix build.

10:35 Changeset [38335] by mitz@apple.com

2008-11-12 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Dan Bernstein.

Updated reference images so that all pixel tests now "pass" on 10.5.5 Intel + r38318.
https://bugs.webkit.org/show_bug.cgi?id=21821

Removed empty directory.

  • platform/mac-leopard/http: Removed.
  • platform/mac-leopard/http/tests: Removed.
  • platform/mac-leopard/http/tests/security: Removed.
  • platform/mac-leopard/http/tests/security/dataURL: Removed.

Test doesn't repaint entire view so result is corrupted by previous test
https://bugs.webkit.org/show_bug.cgi?id=21916

  • platform/mac/Skipped:

Test is passing but original reference image was invalid.

  • platform/mac/fast/backgrounds/size/backgroundSize05-expected.checksum:
  • platform/mac/fast/backgrounds/size/backgroundSize05-expected.png:

Invalid image tiling
https://bugs.webkit.org/show_bug.cgi?id=21915

  • platform/mac/fast/backgrounds/size/backgroundSize19-expected.checksum:
  • platform/mac/fast/backgrounds/size/backgroundSize19-expected.png:

SVG not rendering
https://bugs.webkit.org/show_bug.cgi?id=21910

  • platform/mac/fast/backgrounds/svg-as-background-1-expected.checksum:
  • platform/mac/fast/backgrounds/svg-as-background-1-expected.png:
  • platform/mac/fast/backgrounds/svg-as-background-2-expected.checksum:
  • platform/mac/fast/backgrounds/svg-as-background-2-expected.png:
  • platform/mac/fast/backgrounds/svg-as-background-3-expected.checksum:
  • platform/mac/fast/backgrounds/svg-as-background-3-expected.png:
  • platform/mac/fast/backgrounds/svg-as-background-4-expected.checksum:
  • platform/mac/fast/backgrounds/svg-as-background-4-expected.png:
  • platform/mac/fast/backgrounds/svg-as-background-5-expected.checksum:
  • platform/mac/fast/backgrounds/svg-as-background-5-expected.png:
  • platform/mac/fast/backgrounds/svg-as-background-6-expected.checksum:
  • platform/mac/fast/backgrounds/svg-as-background-6-expected.png:
  • platform/mac/fast/backgrounds/svg-as-mask-expected.checksum:
  • platform/mac/fast/backgrounds/svg-as-mask-expected.png:
  • platform/mac/fast/borders/svg-as-border-image-2-expected.checksum:
  • platform/mac/fast/borders/svg-as-border-image-2-expected.png:
  • platform/mac/fast/borders/svg-as-border-image-expected.checksum:
  • platform/mac/fast/borders/svg-as-border-image-expected.png:
  • platform/mac/fast/images/svg-as-background-expected.checksum:
  • platform/mac/fast/images/svg-as-background-expected.png:
  • platform/mac/fast/images/svg-as-image-expected.checksum:
  • platform/mac/fast/images/svg-as-image-expected.png:
  • platform/mac/fast/images/svg-as-relative-image-expected.checksum:
  • platform/mac/fast/images/svg-as-relative-image-expected.png:
  • platform/mac/fast/images/svg-as-tiled-background-expected.checksum:
  • platform/mac/fast/images/svg-as-tiled-background-expected.png:

Possible Flash failure
https://bugs.webkit.org/show_bug.cgi?id=21912

  • platform/mac/fast/dynamic/flash-replacement-test-expected.checksum:
  • platform/mac/fast/dynamic/flash-replacement-test-expected.png:

Repaint failure
https://bugs.webkit.org/show_bug.cgi?id=21913

  • platform/mac/fast/repaint/body-background-image-expected.checksum:
  • platform/mac/fast/repaint/body-background-image-expected.png:

Excessive repainting
https://bugs.webkit.org/show_bug.cgi?id=21914

  • platform/mac/fast/repaint/float-overflow-expected.checksum:
  • platform/mac/fast/repaint/float-overflow-expected.png:
  • platform/mac/fast/repaint/float-overflow-right-expected.checksum:
  • platform/mac/fast/repaint/float-overflow-right-expected.png:

No video images
https://bugs.webkit.org/show_bug.cgi?id=21911

  • platform/mac/media/video-aspect-ratio-expected.checksum:
  • platform/mac/media/video-aspect-ratio-expected.png:
  • platform/mac/media/video-controls-rendering-expected.checksum:
  • platform/mac/media/video-controls-rendering-expected.png:
  • platform/mac/media/video-display-toggle-expected.checksum:
  • platform/mac/media/video-display-toggle-expected.png:
  • platform/mac/media/video-layer-crash-expected.checksum:
  • platform/mac/media/video-layer-crash-expected.png:
  • platform/mac/media/video-transformed-expected.checksum:
  • platform/mac/media/video-transformed-expected.png:
03:31 Changeset [38334] by barraclough@apple.com

JavaScriptCore:

2008-11-12 Gavin Barraclough <barraclough@apple.com>

Reviewed by Cameron Zwarich.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22201
Integer conversion in array.length was safe signed values,
but the length is unsigned.

  • VM/CTI.cpp: (JSC::CTI::privateCompilePatchGetArrayLength):

LayoutTests:

2008-11-12 Gavin Barraclough <barraclough@apple.com>

Reviewed by Cameron Zwarich.

Test for https://bugs.webkit.org/show_bug.cgi?id=22201

  • fast/js/pic/cached-array-length-access-expected.txt: Added.
  • fast/js/pic/cached-array-length-access.html: Added.
02:51 Changeset [38333] by vestbo@webkit.org

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

Reviewed by Simon Hausmann.

Move _web_encodingForResource from WebKit into WebCore and change return type

This change is needed to implement NSAPI in WebCore for Mac, see:

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

02:44 Changeset [38332] by vestbo@webkit.org

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

Reviewed by Simon Hausmann.

Moved the implementation of _webkit_isCaseInsensitiveEqualToString to
WebCore's WebCoreNSStringExtras as _stringIsCaseInsensitiveEqualToString.

This change is needed to implement NSAPI in WebCore for Mac, see:

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

01:51 Changeset [38331] by vestbo@webkit.org

2008-11-11 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Tor Arne Vestbø and Simon Hausmann.

Use QPalette::Base (instead of QPalette::Background) for the page
background.

  • Api/qwebframe.cpp: (QWebFramePrivate::updateBackground):
  • Api/qwebview.cpp: (QWebView::QWebView):
01:34 Changeset [38330] by cwzwarich@webkit.org

2008-11-12 Cameron Zwarich <zwarich@apple.com>

Rubber-stamped by Mark Rowe.

Roll out r38322 due to test failures on the bots.

JavaScriptCore:

  • VM/CTI.cpp: (JSC::CTI::compileOpCallSetupArgs): (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
  • VM/CTI.h:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/Machine.cpp: (JSC::Machine::callEval): (JSC::Machine::dumpCallFrame): (JSC::Machine::dumpRegisters): (JSC::Machine::execute): (JSC::Machine::privateExecute): (JSC::Machine::throwStackOverflowPreviousFrame): (JSC::Machine::cti_register_file_check): (JSC::Machine::cti_op_call_arityCheck): (JSC::Machine::cti_op_call_NotJSFunction): (JSC::Machine::cti_op_construct_JSConstruct): (JSC::Machine::cti_op_construct_NotJSConstruct): (JSC::Machine::cti_op_call_eval): (JSC::Machine::cti_vm_throw):
  • VM/Machine.h:
  • bytecompiler/CodeGenerator.cpp: (JSC::CodeGenerator::emitCall): (JSC::CodeGenerator::emitCallEval): (JSC::CodeGenerator::emitConstruct):
  • bytecompiler/CodeGenerator.h:
  • parser/Nodes.cpp: (JSC::EvalFunctionCallNode::emitCode): (JSC::FunctionCallValueNode::emitCode): (JSC::FunctionCallResolveNode::emitCode): (JSC::FunctionCallBracketNode::emitCode): (JSC::FunctionCallDotNode::emitCode):
  • parser/Nodes.h: (JSC::ScopeNode::neededConstants):

LayoutTests:

  • fast/js/global-recursion-on-full-stack-expected.txt:

11/11/08:

19:30 Changeset [38329] by slewis@apple.com

2008-11-11 Stephanie <slewis@apple.com>

Reviewed by Dan Bernstein.

Null check image data before setting it as image source.

Test: fast/images/image-empty-data.html

  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::destroyDecodedData):

Test loading an image with no data.

  • fast/images/image-empty-data-expected.txt: Added.
  • fast/images/image-empty-data.html: Added.
19:09 Changeset [38328] by adele@apple.com

2008-11-11 Adele Peterson <adele@apple.com>

Reviewed by Tim Hatcher.

Remove ifdef so future OS versions can use the new delegate method.

  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
17:53 Changeset [38327] by eric@webkit.org

Reviewed by Antti Koivisto and Sam Weinig.

Clean up HTMLTokenizer a litle
https://bugs.webkit.org/show_bug.cgi?id=22188

Rename pendingScripts to m_pendingScripts
Rename scriptNode to m_scriptNode make the type specific
Rename pendingSrc to m_pendingSrc
Rename currentPrependingSrc to m_currentPrependingSrc
Rename noMoreData to m_noMoreData and cBuffer to m_cBuffer
Remove long-since-dead kdDebug and qDebug calls
Rename brokenComments to m_brokenComments
Remove HTMLTokenizer includes and document the rest
Rename src to m_src
Rename parser to m_parser and make it an OwnPtr
Rename inWrite to m_inWrite and jsProxy to scriptController
Rename brokenServer to m_brokenServer
Rename buffer to m_buffer and dest to m_dest
Rename size to m_bufferSize
Rename attrName to m_attrName
Rename searchStopper to m_searchStopper and searchStopperLen to m_searchStopperLen
Rename scriptCode* to m_scriptCode* and change scriptCodeMax to m_scriptCodeCapacity
Rename scriptStartLineno to m_currentScriptTagStartLineNumber and tagStartLineno to m_currentTagStartLineNumber
Rename scriptSrc to m_scriptTagSrcAttrValue and scriptSrcCharset to m_scriptTagCharsetAttrValue -- a bit unwieldy, but more precise
Rename flat to selfClosingTag
Rename currToken to m_currentToken

  • css/CSSParser.cpp:
  • dom/XMLTokenizer.cpp:
  • dom/XMLTokenizerLibxml2.cpp:
  • html/HTMLDocument.cpp:
  • html/HTMLElement.cpp:
  • html/HTMLFormControlElement.cpp:
  • html/HTMLParser.h:
  • html/HTMLTokenizer.cpp: (WebCore::Token::addAttribute): (WebCore::HTMLTokenizer::HTMLTokenizer): (WebCore::HTMLTokenizer::reset): (WebCore::HTMLTokenizer::begin): (WebCore::HTMLTokenizer::processListing): (WebCore::HTMLTokenizer::parseSpecial): (WebCore::HTMLTokenizer::scriptHandler): (WebCore::HTMLTokenizer::scriptExecution): (WebCore::HTMLTokenizer::parseComment): (WebCore::HTMLTokenizer::parseServer): (WebCore::HTMLTokenizer::parseProcessingInstruction): (WebCore::HTMLTokenizer::parseText): (WebCore::HTMLTokenizer::parseEntity): (WebCore::HTMLTokenizer::parseTag): (WebCore::HTMLTokenizer::write): (WebCore::HTMLTokenizer::processingData): (WebCore::HTMLTokenizer::end): (WebCore::HTMLTokenizer::finish): (WebCore::HTMLTokenizer::processToken): (WebCore::HTMLTokenizer::processDoctypeToken): (WebCore::HTMLTokenizer::~HTMLTokenizer): (WebCore::HTMLTokenizer::enlargeBuffer): (WebCore::HTMLTokenizer::enlargeScriptBuffer): (WebCore::HTMLTokenizer::notifyFinished): (WebCore::HTMLTokenizer::setSrc):
  • html/HTMLTokenizer.h: (WebCore::Token::Token): (WebCore::Token::reset): (WebCore::HTMLTokenizer::processingContentWrittenByScript): (WebCore::HTMLTokenizer::htmlParser): (WebCore::HTMLTokenizer::checkBuffer): (WebCore::HTMLTokenizer::checkScriptBuffer):
  • html/HTMLViewSourceDocument.h:
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::leftRelOffset): (WebCore::RenderBlock::rightRelOffset): (WebCore::RenderBlock::lineWidth):
  • xml/XSLTProcessor.cpp:
17:37 Changeset [38326] by simon.fraser@apple.com

2008-11-11 Simon Fraser <simon.fraser@apple.com>

Update leaves animation sample.

  • blog-files/leaves/index.html:
  • blog-files/leaves/leaves.css:
17:35 Changeset [38325] by dino@apple.com

2008-11-11 Dean Jackson <dino@apple.com>

Removed quotes in animation name value.

  • blog-files/pulse.html:
16:49 Changeset [38324] by dino@apple.com

2008-11-11 Dean Jackson <dino@apple.com>

Added a smaller version of a screenshot.

  • blog-files/leaves-screenshot-small.jpg: Added.
16:32 Changeset [38323] by dino@apple.com

2008-11-11 Dean Jackson <dino@apple.com>

Add a bunch of examples for CSS Animation blog draft.

  • blog-files/bounce.html: Added.
  • blog-files/bounce.png: Added.
  • blog-files/leaves-screenshot.jpg: Added.
  • blog-files/leaves/images/apple-touch-icon.png: Added.
  • blog-files/leaves/images/backgroundLeaves.jpg: Added.
  • blog-files/leaves/images/realLeaf1.png: Added.
  • blog-files/leaves/images/realLeaf2.png: Added.
  • blog-files/leaves/images/realLeaf3.png: Added.
  • blog-files/leaves/images/realLeaf4.png: Added.
  • blog-files/leaves/images/textBackground.png: Added.
  • blog-files/leaves/index.html: Added.
  • blog-files/leaves/leaves.css: Added.
  • blog-files/leaves/leaves.js: Added.
  • blog-files/pulse.html: Added.
  • blog-files/pulse.png: Added.
16:32 Changeset [38322] by ggaren@apple.com

2008-11-11 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


Fixed https://bugs.webkit.org/show_bug.cgi?id=22174
Simplified op_call by nixing its responsibility for moving the value of
"this" into the first argument slot.

Instead, the caller emits an explicit load or mov instruction, or relies
on implicit knowledge that "this" is already in the first argument slot.
As a result, two operands to op_call are gone: firstArg and thisVal.


SunSpider and v8 tests show no change in bytecode or CTI.

  • VM/CTI.cpp: (JSC::CTI::compileOpCallSetupArgs): (JSC::CTI::compileOpCallEvalSetupArgs): (JSC::CTI::compileOpConstructSetupArgs): Split apart these three versions of setting up arguments to op_call, because they're more different than they are the same -- even more so with this patch.

(JSC::CTI::compileOpCall): Updated for the fact that op_construct doesn't
match op_call anymore.

(JSC::CTI::privateCompileMainPass):
(JSC::CTI::privateCompileSlowCases): Merged a few call cases. Updated
for changes mentioned above.

  • VM/CTI.h:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump): Updated for new bytecode format of call / construct.
  • VM/Machine.cpp: (JSC::Machine::callEval): Updated for new bytecode format of call / construct.

(JSC::Machine::dumpCallFrame):
(JSC::Machine::dumpRegisters): Simplified these debugging functions,
taking advantage of the new call frame layout.

(JSC::Machine::execute): Fixed up the eval version of execute to be
friendlier to calls in the new format.

(JSC::Machine::privateExecute): Implemented the new call format in
bytecode.

(JSC::Machine::cti_op_call_NotJSFunction):
(JSC::Machine::cti_op_construct_JSConstruct):
(JSC::Machine::cti_op_construct_NotJSConstruct):
(JSC::Machine::cti_op_call_eval): Updated CTI helpers to match the new
call format.


Fixed a latent bug in stack overflow checking that is now hit because
the register layout has changed a bit -- namely: when throwing a stack
overflow exception inside an op_call helper, we need to account for the
fact that the current call frame is only half-constructed, and use the
parent call frame instead.

  • VM/Machine.h:
  • bytecompiler/CodeGenerator.cpp: (JSC::CodeGenerator::emitCall): (JSC::CodeGenerator::emitCallEval): (JSC::CodeGenerator::emitConstruct):
  • bytecompiler/CodeGenerator.h: Updated codegen to match the new call format.
  • parser/Nodes.cpp: (JSC::EvalFunctionCallNode::emitCode): (JSC::FunctionCallValueNode::emitCode): (JSC::FunctionCallResolveNode::emitCode): (JSC::FunctionCallBracketNode::emitCode): (JSC::FunctionCallDotNode::emitCode):
  • parser/Nodes.h: (JSC::ScopeNode::neededConstants): ditto

2008-11-10 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


Updated a test after fixing https://bugs.webkit.org/show_bug.cgi?id=22174
Simplified op_call by nixing its responsibility for moving the value of
"this" into the first argument slot.

  • fast/js/global-recursion-on-full-stack-expected.txt: This test passes a little differently now, because the register layout has changed. Specifically, the stack overflow now happens in the call to f() instead of the initiation of the <script> tag, so it is caught, and it does not log an exception to the console.
16:28 Changeset [38321] by weinig@apple.com

2008-11-11 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22189
Track CachedScript decoded data

We now track the decoded size of CachedScripts in the Cache allowing
them to accounted for when deciding when to evict data. The decoded
data itself can be evicted when Cache pressure gets high enough through
CachedScript::destroyDecodedData.

  • loader/CachedResource.h: (WebCore::CachedResource::allClientsRemoved): (WebCore::CachedResource::destroyDecodedData):
  • loader/CachedScript.cpp: (WebCore::CachedScript::script): (WebCore::CachedScript::data): (WebCore::CachedScript::destroyDecodedData):
  • loader/CachedScript.h:
15:39 Changeset [38320] by cwzwarich@webkit.org

2008-11-11 Cameron Zwarich <zwarich@apple.com>

Reviewed by Geoff Garen.

Remove pointless dependencies on the now-deleted kjs directory and
mentions of it in comments that are no longer relevant.

JavaScriptCore:

  • ForwardingHeaders/JavaScriptCore/JSLock.h: Removed.

WebCore:

  • WebCore.pro:
  • webcore-base.bkl:

WebKit/qt:

  • WebKit_pch.h:

WebKit/wx:

  • presets/wxwebkit.bkl:
15:26 Changeset [38319] by adachan@apple.com

Fix: https://bugs.webkit.org/show_bug.cgi?id=22187
Bug 22187: CLEARTYPE_QUALITY flag is not supported on Win2000


Update window versions to correspond to Windows XP.

Reviewed by Steve Falkenburg.

  • win/tools/vsprops/common.vsprops:
14:45 Changeset [38318] by mitz@apple.com

WebCore:

Reviewed by Adam Roben.

WebCore part of adding a master volume control for media elements in a WebView

  • WebCore.base.exp: Exported WebCore::Page::setMediaVolume().
  • dom/Document.cpp: (WebCore::Document::mediaVolumeDidChange): Added. Called by the Page when the media volume is changed. (WebCore::Document::registerForMediaVolumeCallbacks): Added. Allows elements to register for a callback when the media volume is changed. (WebCore::Document::unregisterForMediaVolumeCallbacks): Added. Allows elements to unregister for the callback.
  • dom/Document.h:
  • dom/Element.h: (WebCore::Element::mediaVolumeDidChange): Added an empty implementation.
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement): Added a call to registerForMediaVolumeCallbacks(). (WebCore::HTMLMediaElement::~HTMLMediaElement): Added a call to unregisterForMediaVolumeCallbacks(). (WebCore::HTMLMediaElement::updateVolume): Changed to multiply the element's intrinsic volume by the master volume from the page. (WebCore::HTMLMediaElement::mediaVolumeDidChange): Added. Calls updateVolume().
  • html/HTMLMediaElement.h:
  • page/Page.cpp: (WebCore::Page::Page): Initialize m_mediaVolume to 1. (WebCore::Page::setMediaVolume): Added. Calls mediaVolumeDidChange() on every document in the page when the master volume changes.
  • page/Page.h: (WebCore::Page::mediaVolume): Added this getter.

WebKit/mac:

Reviewed by Adam Roben.

WebKit/mac part of adding a master volume control for media elements in a WebView

  • WebView/WebView.mm: (-[WebView setMediaVolume:]): Added. (-[WebView mediaVolume]): Added.
  • WebView/WebViewPrivate.h:

WebKit/win:

Reviewed by Adam Roben.

WebKit/win part of adding a master volume control for media elements in a WebView

  • Interfaces/IWebViewPrivate.idl: Added setMediaVolume() and mediaVolume().
  • WebView.cpp: (WebView::setMediaVolume): Added. (WebView::mediaVolume): Added.
  • WebView.h:
14:31 Changeset [38317] by andersca@apple.com

2008-11-11 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Mark Rowe.

Removed invalid bases incorrectly checked-in in r38305.

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

  • platform/mac-tiger/fast/text/international/complex-character-based-fallback-expected.checksum: Removed.
  • platform/mac-tiger/fast/text/international/complex-character-based-fallback-expected.png: Removed.
  • platform/mac-tiger/fast/text/international/complex-character-based-fallback-expected.txt: Removed.
  • platform/mac-tiger/fast/text/international/hindi-spacing-expected.checksum: Removed.
  • platform/mac-tiger/fast/text/international/hindi-spacing-expected.png: Removed.
  • platform/mac-tiger/fast/text/international/hindi-spacing-expected.txt: Removed.
14:25 Changeset [38316] by mrowe@apple.com

Fix broken dependencies building JavaScriptCore on a freezing cold cat, caused
by failure to update all instances of "kjs" to their new locations.

14:13 Changeset [38315] by ddkilzer@apple.com

2008-11-11 Aaron Golden <agolden@apple.com>

Bug 22134: -[WebHistoryItem dictionaryRepresentation] accesses past the end of a vector

<https://bugs.webkit.org/show_bug.cgi?id=22134>

Reviewed by Geoff Garen.

  • History/WebHistoryItem.mm: (-[WebHistoryItem initFromDictionaryRepresentation:]): (-[WebHistoryItem dictionaryRepresentation]):
13:49 Changeset [38314] by ap@webkit.org

Rubber-stamped by Adam Roben.

  • wtf/AVLTree.h: (WTF::AVLTree::Iterator::start_iter): Fix indentation a little more.
13:11 Changeset [38313] by cwzwarich@webkit.org

2008-11-11 Cameron Zwarich <zwarich@apple.com>

Rubber-stamped by Sam Weinig.

Clean up EvalCodeCache to match our coding style a bit more.

  • VM/EvalCodeCache.h: (JSC::EvalCodeCache::get):
12:43 Changeset [38312] by hyatt@apple.com

2008-11-11 David Hyatt <hyatt@apple.com>

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

Fix problems with scrollbars when the OS setting for clicks in the track jumping the thumb to that location
is turned on. Make sure to only jump the thumb if the click happens in the track. Also fix some math
errors when jumping the thumb that cause dragging after the jump to incorrectly jump the thumb again.

Reviewed by Adele

  • platform/Scrollbar.cpp: (WebCore::Scrollbar::mouseDown):
12:06 Changeset [38311] by cwzwarich@webkit.org

2008-11-11 Cameron Zwarich <zwarich@apple.com>

Rubber-stamped by Sam Weinig.

Bug 22179: Move EvalCodeCache from CodeBlock.h into its own file
<https://bugs.webkit.org/show_bug.cgi?id=22179>

  • GNUmakefile.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/CodeBlock.h:
  • VM/EvalCodeCache.h: Copied from VM/CodeBlock.h.
  • VM/Machine.cpp:
11:58 Changeset [38310] by bdakin@apple.com

WebCore:

2008-11-11 Beth Dakin <bdakin@apple.com>

Reviewed by Darin Adler.

Fix for <rdar://problem/5089327> Too much indentation when pasting
quoted paragraphs

This patch re-addresses pasting blockquotes into blockquotes. It
backs out most of revision 38273. 38273 fixed the bug by inserting
the pasted content as a sibling blockquote node to the pre-existing
blockquote node. The problem with that is that by default,
blockquotes have a giant margin, so visually, this can be weird.
This patch instead inserts the pasted content as siblings of the
the content already inside the outer blockquote, and then removes
the blockquote node from the pasted content itself, so that it
doesn't nest itself into the outer blockquote.

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):

Move contains() from Element to Node since there is nothing
Element-specific about it.

  • dom/Element.cpp:
  • dom/Element.h:
  • dom/Node.cpp: (WebCore::Node::contains):
  • dom/Node.h:

LayoutTests:

2008-11-11 Beth Dakin <bdakin@apple.com>

Reviewed by Darin Adler.

Tests for <rdar://problem/5089327> Too much indentation when
pasting quoted paragraphs

This is a new test:

  • editing/pasteboard/paste-blockquote-into-blockquote-3.html: Added.
  • platform/mac/editing/pasteboard/paste-blockquote-into- blockquote-3-expected.checksum: Added.
  • platform/mac/editing/pasteboard/paste-blockquote-into- blockquote-3-expected.png: Added.
  • platform/mac/editing/pasteboard/paste-blockquote-into- blockquote-3-expected.txt: Added.

The results for these tests previously reflected the behavior
implemented in revision 38273. We have since decided that that
behavior is wrong and we changed it with this patch.

  • platform/mac/editing/pasteboard/merge-end-blockquote- expected.checksum:
  • platform/mac/editing/pasteboard/merge-end-blockquote- expected.png:
  • platform/mac/editing/pasteboard/merge-end-blockquote- expected.txt:
  • platform/mac/editing/pasteboard/paste-blockquote-into- blockquote-2-expected.txt:
  • platform/mac/editing/pasteboard/paste-blockquote-into-blockquote- expected.txt:
11:50 Changeset [38309] by hyatt@apple.com

2008-11-11 David Hyatt <hyatt@apple.com>

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

Stop using the new Leopard API tiling call for scaled tiles when drawing background images. The method
is buggy. Fall back to using the slower (and more correct) pattern tiling that Tiger still uses. This
is a Leopard-only workaround, since the API has been fixed on Snow Leopard.

Reviewed by John Sullivan

  • platform/graphics/cg/ImageCG.cpp: (WebCore::Image::drawPattern):
11:41 Changeset [38308] by krit@webkit.org

2008-11-11 Dirk Schulze <krit@webkit.org>

Reviewed by Dave Hyatt.

Pattern transform check was too strict for Cg. Scaling can cause a wrong
color on the borders of the scaled object.

Correct expected result of the tests.

  • fast/canvas/canvas-pattern-transform-expected.txt:
  • fast/canvas/canvas-pattern-transform.html:
  • fast/canvas/canvas-pattern-transform.js:
  • fast/canvas/canvas-radial-gradient-spreadMethod-expected.txt:
11:18 Changeset [38307] by hyatt@apple.com

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

Disable the Aqua look for menu lists when full page zoom is turned on. Because the control is buggy
when scaling and because it's impossible to paint into an offscreen bitmap without completely rewriting
how we draw the control on Mac, our only real option for now is to just switch to our styled look when zoomed.

Reviewed by Adam Roben

  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled):
10:31 Changeset [38306] by cwzwarich@webkit.org

2008-11-11 Cameron Zwarich <zwarich@apple.com>

Reviewed by Sam Weinig.

Remove the 'm_' prefix from the fields of the SwitchRecord struct.

  • VM/CTI.cpp: (JSC::CTI::privateCompile):
  • VM/CTI.h: (JSC::SwitchRecord): (JSC::SwitchRecord::SwitchRecord):
10:26 Changeset [38305] by mitz@apple.com

2008-11-11 Pierre-Olivier Latour <pol@apple.com>

Rubber-stamped by Dan Bernstein.

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

Removed pixel results in platform/mac-tiger that were only slightly different
(within 1% tolerance) from the platform/mac results.
Removed results in platform/mac-tiger where the results in platform/mac were
also correct for Tiger.
Also updated results in platform/mac-tiger that were out of date.

Made sure every test that has a specific mac-tiger render tree output also has matching images.

(file listing elided)

09:59 Changeset [38304] by darin@apple.com

2008-11-11 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • editing/visible_units.cpp: (WebCore::nextLinePosition): Use RenderObject::node instead of RenderObject::element to check editingIgnoresContent. It makes sense to use the associated DOM node for this, even in cases of anonymous content, and it avoids the case where element() can be 0. (WebCore::previousLinePosition): Ditto.
09:54 Changeset [38303] by cwzwarich@webkit.org

2008-11-11 Cameron Zwarich <zwarich@apple.com>

Rubber-stamped by Sam Weinig.

Make asInteger() a static function so that it has internal linkage.

  • VM/CTI.cpp: (JSC::asInteger):
09:40 Changeset [38302] by krit@webkit.org

2008-11-11 Dirk Schulze <vbs85@gmx.de>

WebCore:

Reviewed by Darin Adler.

Removed default: in applySpreadMethod. This causes the problems
in radial gradients. We don't need CAIRO_EXTEND_NONE in SVG, Canvas
or CSS.

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::applySpreadMethod):

LayoutTests:

Reviewed by Darin Adler.

Check behavior of default spreadMethod on radial gradients.

  • fast/canvas/canvas-radial-gradient-spreadMethod-expected.txt: Added.
  • fast/canvas/canvas-radial-gradient-spreadMethod.html: Added.
  • fast/canvas/canvas-radial-gradient-spreadMethod.js: Added.
05:32 Changeset [38301] by vestbo@webkit.org

2008-11-11 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Tor Arne Vestbø.

Fix crash when rendering the file chooser.
Also proper implementation for multi-selected files.

  • platform/qt/FileChooserQt.cpp: (WebCore::FileChooser::basenameForWidth):
03:35 Changeset [38300] by krit@webkit.org

2008-11-11 Dirk Schulze <vbs85@gmx.de>

Reviewed by Oliver Hunter.

Added test to check behavior on transformations of patterns in canvas.

  • fast/canvas/canvas-pattern-transform-expected.txt: Added.
  • fast/canvas/canvas-pattern-transform.html: Added.
  • fast/canvas/canvas-pattern-transform.js: Added.
03:05 Changeset [38299] by krit@webkit.org
01:51 Changeset [38298] by mjs@apple.com

2008-11-11 Maciej Stachowiak <mjs@apple.com>

Reviewed by Mark Rowe.


  • shrink CodeBlock and AST related Vectors to exact fit (5-10M savings on membuster test)


No perf regression combined with the last patch (each seems like a small regression individually)

  • bytecompiler/CodeGenerator.cpp: (JSC::CodeGenerator::generate):
  • parser/Nodes.h: (JSC::SourceElements::releaseContentsIntoVector):
  • wtf/Vector.h: (WTF::Vector::shrinkToFit):
01:11 Changeset [38297] by mitz@apple.com

2008-11-11 Pierre-Olivier Latour <pol@apple.com>

Rubber-stamped by Dan Bernstein

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

Remaining set of updated expected pixel results. This includes http/,
media/, plugins/, scrollbars/, tables/, transforms/, transitions/ and
webarchive/.

(file listing elided)

01:10 Changeset [38296] by mjs@apple.com

2008-11-11 Maciej Stachowiak <mjs@apple.com>

Reviewed by Mark Rowe.


  • remove inline capacity from declaration stacks (15M savings on membuster test)

No perf regression on SunSpider or V8 test combined with other upcoming memory improvement patch.


00:06 Changeset [38295] by cwzwarich@webkit.org

2008-11-11 Cameron Zwarich <zwarich@apple.com>

Reviewed by Oliver Hunt.

While r38286 removed the need for the m_callFrame member variable of
CTI, it should be also be removed.

  • VM/CTI.h:
Note: See TracTimeline for information about the timeline view.