Timeline



May 10, 2009:

11:37 PM Changeset in webkit [43483] by weinig@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add op_codes that have Stub only implementations.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
11:22 PM Changeset in webkit [43482] by ggaren@apple.com
  • 5 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed some bugs in slow case generation and implemented our first two
slow cases: op_convert_this and op_add.

  • jit/JIT.cpp: (JSC::JIT::emitLoad): (JSC::JIT::emitLoadReturnValue): (JSC::JIT::emitStore): (JSC::JIT::emitStoreReturnValue): (JSC::JIT::privateCompileMainPass): Renamed *VirtualRegister => *. Added emitLoadReturnValue for loading the return value of a stub function into a virtual register.

(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile): Added slow cases for op_convert_this and
op_add. Restored slow case generation hook.

  • jit/JIT.h: (JSC::JITStubCall::JITStubCall): (JSC::JITStubCall::addArgument): (JSC::JITStubCall::call): Removed two-return value JITStub call, since it's unused. Fixed a typo in return type tracking that caused an assertion failure.
  • jit/JITStubs.cpp: (JSC::):
  • jit/JITStubs.h: Fixed an error in JITStackFrame layout on 32bit: the reserved space is the size of a pointer, not the size of a JSValue.
11:06 PM Changeset in webkit [43481] by mjs@apple.com
  • 3 edits in trunk/JavaScriptCore

2009-05-10 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff Garen.


Accound for the 64-bit instruction prefix when rewriting mov to lea on 64-bit.


  • jit/JIT.h:
  • jit/JITPropertyAccess.cpp: (JSC::JIT::patchGetByIdSelf): (JSC::JIT::patchPutByIdReplace):
9:49 PM Changeset in webkit [43480] by ggaren@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Geoffrey Garen <ggaren@apple.com>

Removed some code that was removed from TOT.

  • jit/JIT.h:
9:30 PM Changeset in webkit [43479] by Darin Adler
  • 13 edits
    2 adds in trunk/JavaScriptCore

2009-05-10 Darin Adler <Darin Adler>

Reviewed by Cameron Zwarich.

Bug 25674: syntax tree nodes should use arena allocation
https://bugs.webkit.org/show_bug.cgi?id=25674

Part two: Remove reference counting from most nodes.

  • JavaScriptCore.xcodeproj/project.pbxproj: Added ParserArena.h and .cpp.
  • parser/Grammar.y: Replaced uses of ParserRefCountedData with uses of ParserArenaData. Took out now-nonfunctional code that tries to manually release declaration list. Changed the new calls that create FuncDeclNode and FuncExprNode so that they use the proper version of operator new for the reference-counted idiom, not the deletion idiom.
  • parser/NodeConstructors.h: (JSC::ParserArenaDeletable::operator new): Added. (JSC::ParserArenaRefCounted::ParserArenaRefCounted): Added. (JSC::Node::Node): Removed ParserRefCounted initializer. (JSC::ElementNode::ElementNode): Ditto. (JSC::PropertyNode::PropertyNode): Ditto. (JSC::ArgumentsNode::ArgumentsNode): Ditto. (JSC::SourceElements::SourceElements): Ditto. (JSC::ParameterNode::ParameterNode): Ditto. (JSC::FuncExprNode::FuncExprNode): Added ParserArenaRefCounted initializer. (JSC::FuncDeclNode::FuncDeclNode): Ditto. (JSC::CaseClauseNode::CaseClauseNode): Removed ParserRefCounted initializer. (JSC::ClauseListNode::ClauseListNode): Ditto. (JSC::CaseBlockNode::CaseBlockNode): Ditto.
  • parser/NodeInfo.h: Replaced uses of ParserRefCountedData with uses of ParserArenaData.
  • parser/Nodes.cpp: (JSC::ScopeNode::ScopeNode): Added ParserArenaRefCounted initializer. (JSC::ProgramNode::create): Use the proper version of operator new for the reference-counted idiom, not the deletion idiom. Use the arena contains function instead of the vecctor find function. (JSC::EvalNode::create): Use the proper version of operator new for the reference-counted idiom, not the deletion idiom. Use the arena reset function instead of the vector shrink function. (JSC::FunctionBodyNode::createNativeThunk): Use the proper version of operator new for the reference-counted idiom, not the deletion idiom. (JSC::FunctionBodyNode::create): More of the same.
  • parser/Nodes.h: Added ParserArenaDeletable and ParserArenaRefCounted to replace ParserRefCounted. Fixed inheritance so only the classes that need reference counting inherit from ParserArenaRefCounted.
  • parser/Parser.cpp: (JSC::Parser::parse): Set m_sourceElements to 0 since it now starts uninitialized. Just set it to 0 again in the failure case, since it's now just a raw pointer, not an owning one. (JSC::Parser::reparseInPlace): Removed now-unneeded get() function. (JSC::Parser::didFinishParsing): Replaced uses of ParserRefCountedData with uses of ParserArenaData.
  • parser/Parser.h: Less RefPtr, more arena.
  • parser/ParserArena.cpp: Added.
  • parser/ParserArena.h: Added.
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::~JSGlobalData): Removed arena-related code, since it's now in the Parser. (JSC::JSGlobalData::createLeaked): Removed unneeded #ifndef. (JSC::JSGlobalData::createNativeThunk): Tweaked #if a bit.
  • runtime/JSGlobalData.h: Removed parserArena, which is now in Parser.
  • wtf/RefCounted.h: Added deletionHasBegun function, for use in assertions to catch deletion not done by the deref function.
5:48 PM Changeset in webkit [43478] by ddkilzer@apple.com
  • 3 edits in trunk/JavaScriptCore

Part 2: Try to fix the Windows build by adding a symbol which is really just a re-mangling of a changed method signature

5:43 PM Changeset in webkit [43477] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Darin Adler.

  • fix a crash when deactivating a document that had adopted a <form> element

Test: fast/dom/HTMLFormElement/document-deactivation-callback-crash.html

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Corrected the logic here: <form> elements should be registered for document activation callbacks if and only if autocomplete is off.

LayoutTests:

Reviewed by Darin Adler.

  • test for a crash when deactivating a document that had adopted a <form> element
  • fast/dom/HTMLFormElement/document-deactivation-callback-crash-expected.txt: Added.
  • fast/dom/HTMLFormElement/document-deactivation-callback-crash.html: Added.
5:36 PM Changeset in webkit [43476] by ddkilzer@apple.com
  • 3 edits in trunk/JavaScriptCore

Try to fix the Windows build by removing an unknown symbol

5:27 PM Changeset in webkit [43475] by ddkilzer@apple.com
  • 2 edits in trunk/JavaScriptCore

Touch Nodes.cpp to try to fix Windows build

  • parser/Nodes.cpp: Removed whitespace.
5:03 PM Changeset in webkit [43474] by ddkilzer@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Test for Bug 23741: StyleRareNonInheritedData::operator==() should not compare ContentData objects by pointer

Rubber-stamped by Geoff Garen.

Original test by Simon Fraser.

  • fast/css/compare-content-style.html: Added.
  • platform/mac/fast/css/compare-content-style-expected.txt: Added.
4:33 PM Changeset in webkit [43473] by weinig@apple.com
  • 3 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Be a little more consistent with how we arrange parameters for functions
that operate on virtual registers.

  • jit/JIT.cpp: (JSC::JIT::emitStoreConstant): (JSC::JIT::privateCompileMainPass):
  • jit/JIT.h:
3:46 PM Changeset in webkit [43472] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2009-05-10 Darin Adler <Darin Adler>

Reviewed by Maciej Stachowiak.

Quick fix for failures seen on buildbot. Maciej plans a better fix later.

  • wtf/dtoa.cpp: Change the hardcoded number of 32-bit words in a BigInt from 32 to 64. Parsing "1e500", for example, requires more than 32 words.
3:32 PM Changeset in webkit [43471] by Darin Adler
  • 13 edits in trunk/JavaScriptCore

2009-05-10 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

Bug 25674: syntax tree nodes should use arena allocation
Part one: Change lifetimes so we won't have to use reference
counting so much, but don't eliminate the reference counts
entirely yet.

  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): Update for use of raw pointers instead of RefPtr. (JSC::BytecodeGenerator::emitCall): Ditto. (JSC::BytecodeGenerator::emitConstruct): Ditto.
  • parser/Grammar.y: Update node creating code to use new (JSGlobalData*) instead of the plain new. At the moment this is just a hook for future arena allocation; it's inline and JSGlobalData* is not used.
  • parser/NodeConstructors.h: Updated for name change of parserObjects to parserArena. Also added explicit initialization for raw pointers that used to be RefPtr. Also removed some uses of get() that aren't needed now that the pointers are raw pointers. Also eliminated m_parameter from FuncExprNode and FuncDeclNode. Also changed node-creating code to use new (JSGlobalData*) as above.
  • parser/Nodes.cpp: Eliminated NodeReleaser and all use of it. (JSC::ParserRefCounted::ParserRefCounted): Updated for name change of parserObjects to parserArena. (JSC::SourceElements::append): Use raw pointers. (JSC::ArrayNode::emitBytecode): Ditto. (JSC::ArrayNode::isSimpleArray): Ditto. (JSC::ArrayNode::toArgumentList): Ditto. (JSC::ObjectLiteralNode::emitBytecode): Ditto. (JSC::PropertyListNode::emitBytecode): Ditto. (JSC::BracketAccessorNode::emitBytecode): Ditto. (JSC::DotAccessorNode::emitBytecode): Ditto. (JSC::ArgumentListNode::emitBytecode): Ditto. (JSC::NewExprNode::emitBytecode): Ditto. (JSC::EvalFunctionCallNode::emitBytecode): Ditto. (JSC::FunctionCallValueNode::emitBytecode): Ditto. (JSC::FunctionCallResolveNode::emitBytecode): Ditto. (JSC::FunctionCallBracketNode::emitBytecode): Ditto. (JSC::FunctionCallDotNode::emitBytecode): Ditto. (JSC::CallFunctionCallDotNode::emitBytecode): Ditto. (JSC::ApplyFunctionCallDotNode::emitBytecode): Ditto. (JSC::PostfixBracketNode::emitBytecode): Ditto. (JSC::PostfixDotNode::emitBytecode): Ditto. (JSC::DeleteBracketNode::emitBytecode): Ditto. (JSC::DeleteDotNode::emitBytecode): Ditto. (JSC::DeleteValueNode::emitBytecode): Ditto. (JSC::VoidNode::emitBytecode): Ditto. (JSC::TypeOfValueNode::emitBytecode): Ditto. (JSC::PrefixBracketNode::emitBytecode): Ditto. (JSC::PrefixDotNode::emitBytecode): Ditto. (JSC::UnaryOpNode::emitBytecode): Ditto. (JSC::BinaryOpNode::emitStrcat): Ditto. (JSC::BinaryOpNode::emitBytecode): Ditto. (JSC::EqualNode::emitBytecode): Ditto. (JSC::StrictEqualNode::emitBytecode): Ditto. (JSC::ReverseBinaryOpNode::emitBytecode): Ditto. (JSC::ThrowableBinaryOpNode::emitBytecode): Ditto. (JSC::InstanceOfNode::emitBytecode): Ditto. (JSC::LogicalOpNode::emitBytecode): Ditto. (JSC::ConditionalNode::emitBytecode): Ditto. (JSC::ReadModifyResolveNode::emitBytecode): Ditto. (JSC::AssignResolveNode::emitBytecode): Ditto. (JSC::AssignDotNode::emitBytecode): Ditto. (JSC::ReadModifyDotNode::emitBytecode): Ditto. (JSC::AssignBracketNode::emitBytecode): Ditto. (JSC::ReadModifyBracketNode::emitBytecode): Ditto. (JSC::CommaNode::emitBytecode): Ditto. (JSC::ConstDeclNode::emitCodeSingle): Ditto. (JSC::ConstDeclNode::emitBytecode): Ditto. (JSC::ConstStatementNode::emitBytecode): Ditto. (JSC::statementListEmitCode): Ditto. (JSC::BlockNode::emitBytecode): Ditto. (JSC::ExprStatementNode::emitBytecode): Ditto. (JSC::VarStatementNode::emitBytecode): Ditto. (JSC::IfNode::emitBytecode): Ditto. (JSC::IfElseNode::emitBytecode): Ditto. (JSC::DoWhileNode::emitBytecode): Ditto. (JSC::WhileNode::emitBytecode): Ditto. (JSC::ForNode::emitBytecode): Ditto. (JSC::ForInNode::emitBytecode): Ditto. (JSC::ReturnNode::emitBytecode): Ditto. (JSC::WithNode::emitBytecode): Ditto. (JSC::CaseBlockNode::tryOptimizedSwitch): Ditto. (JSC::CaseBlockNode::emitBytecodeForBlock): Ditto. (JSC::SwitchNode::emitBytecode): Ditto. (JSC::LabelNode::emitBytecode): Ditto. (JSC::ThrowNode::emitBytecode): Ditto. (JSC::TryNode::emitBytecode): Ditto. (JSC::ScopeNodeData::ScopeNodeData): Use swap to transfer ownership of the arena, varStack and functionStack. (JSC::ScopeNode::ScopeNode): Pass in the arena when creating the ScopeNodeData. (JSC::ProgramNode::ProgramNode): Made this inline since it's used in only one place. (JSC::ProgramNode::create): Changed this to return a PassRefPtr since we plan to have the scope nodes be outside the arena, so they will need some kind of ownership transfer (maybe auto_ptr instead of PassRefPtr in the future, though). Remove the node from the newly-created arena to avoid a circular reference. Later we'll keep the node out of the arena by using a different operator new, but for now it's the ParserRefCounted constructor that puts the node into the arena, and there's no way to bypass that. (JSC::EvalNode::EvalNode): Ditto. (JSC::EvalNode::create): Ditto. (JSC::FunctionBodyNode::FunctionBodyNode): Ditto. (JSC::FunctionBodyNode::createNativeThunk): Moved the code that reseets the arena here instead of the caller. (JSC::FunctionBodyNode::create): Same change as the other create functions above. (JSC::FunctionBodyNode::emitBytecode): Use raw pointers.
  • parser/Nodes.h: Removed NodeReleaser. Changed FunctionStack to use raw pointers. Removed the releaseNodes function. Added an override of operator new that takes a JSGlobalData* to prepare for future arena use. Use raw pointers instead of RefPtr everywhere possible.
  • parser/Parser.cpp: (JSC::Parser::reparseInPlace): Pass the arena in.
  • parser/Parser.h: (JSC::Parser::parse): Updated for name change of parserObjects to parserArena. (JSC::Parser::reparse): Ditto.
  • runtime/FunctionConstructor.cpp: (JSC::extractFunctionBody): Ditto.
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::~JSGlobalData): Ditto. (JSC::JSGlobalData::createNativeThunk): Moved arena manipulation into the FunctionBodyNode::createNativeThunk function.
  • runtime/JSGlobalData.h: Tweaked formatting and renamed parserObjects to parserArena.
  • wtf/NotFound.h: Added the usual "using WTF" to this header to match the rest of WTF.
2:28 PM Changeset in webkit [43470] by weinig@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Fix typo. op_loop should not be using the fact that it and op_end are the
same length.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
2:00 PM Changeset in webkit [43469] by weinig@apple.com
  • 4 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Sam Weinig <sam@webkit.org>

Build fix.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • parser/Nodes.h:
  • runtime/Operations.h: (JSC::concatenateStrings):
1:53 PM Changeset in webkit [43468] by weinig@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Sam Weinig <sam@webkit.org>

Fix typo in a comment.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
1:45 PM Changeset in webkit [43467] by weinig@apple.com
  • 13 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Sam Weinig <sam@webkit.org>

Merge string concatenation from r43331.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • bytecode/Opcode.h:
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitStrcat): (JSC::BytecodeGenerator::emitToPrimitive):
  • bytecompiler/BytecodeGenerator.h:
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute):
  • jit/JITStubs.cpp: (JSC::JITStubs::cti_op_strcat):
  • parser/Nodes.cpp: (JSC::BinaryOpNode::emitStrcat): (JSC::BinaryOpNode::emitBytecode):
  • parser/Nodes.h: (JSC::ExpressionNode::): (JSC::DeleteBracketNode::):
  • parser/ResultType.h: (JSC::ResultType::definitelyIsString): (JSC::ResultType::forAdd):
  • runtime/Operations.h: (JSC::concatenateStrings):
  • runtime/UString.cpp: (JSC::UString::appendNumeric):
  • runtime/UString.h: (JSC::UString::Rep::createEmptyBuffer): (JSC::UString::BaseString::BaseString):
1:32 PM Changeset in webkit [43466] by weinig@apple.com
  • 40 edits in branches/nitro-extreme

JavaScriptCore:

2009-05-10 Sam Weinig <sam@webkit.org>

Merge more native function thunk code from r43372

  • API/JSCallbackFunction.h:
  • API/JSCallbackObject.h:
  • interpreter/CallFrame.h: (JSC::ExecState::argumentCount):
  • jsc.cpp: (functionPrint): (functionDebug): (functionGC): (functionVersion): (functionRun): (functionLoad): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionReadline): (functionQuit):
  • runtime/ArrayConstructor.cpp: (JSC::callArrayConstructor):
  • runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncConcat): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSort): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::arrayProtoFuncFilter): (JSC::arrayProtoFuncMap): (JSC::arrayProtoFuncEvery): (JSC::arrayProtoFuncForEach): (JSC::arrayProtoFuncSome): (JSC::arrayProtoFuncReduce): (JSC::arrayProtoFuncReduceRight): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf):
  • runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor):
  • runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf):
  • runtime/CallData.h:
  • runtime/DateConstructor.cpp: (JSC::callDate): (JSC::dateParse): (JSC::dateNow): (JSC::dateUTC):
  • runtime/DatePrototype.cpp: (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncToGMTString): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear):
  • runtime/ErrorConstructor.cpp: (JSC::callErrorConstructor):
  • runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString):
  • runtime/FunctionConstructor.cpp: (JSC::callFunctionConstructor):
  • runtime/FunctionPrototype.cpp: (JSC::callFunctionPrototype): (JSC::functionProtoFuncToString): (JSC::functionProtoFuncApply): (JSC::functionProtoFuncCall):
  • runtime/JSFunction.h: (JSC::JSFunction::nativeFunction): (JSC::JSFunction::setScopeChain):
  • runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncIsNaN): (JSC::globalFuncIsFinite): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncJSCPrint):
  • runtime/JSGlobalObjectFunctions.h:
  • runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRandom): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan):
  • runtime/NativeErrorConstructor.cpp: (JSC::callNativeErrorConstructor):
  • runtime/NumberConstructor.cpp: (JSC::callNumberConstructor):
  • runtime/NumberPrototype.cpp: (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToPrecision):
  • runtime/ObjectConstructor.cpp: (JSC::callObjectConstructor):
  • runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString):
  • runtime/ObjectPrototype.h:
  • runtime/RegExpConstructor.cpp: (JSC::callRegExpConstructor):
  • runtime/RegExpObject.cpp: (JSC::callRegExpObject):
  • runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTest): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncCompile): (JSC::regExpProtoFuncToString):
  • runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::callStringConstructor):
  • runtime/StringPrototype.cpp: (JSC::stringProtoFuncReplace): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncConcat): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncMatch): (JSC::stringProtoFuncSearch): (JSC::stringProtoFuncSlice): (JSC::stringProtoFuncSplit): (JSC::stringProtoFuncSubstr): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::stringProtoFuncBig): (JSC::stringProtoFuncSmall): (JSC::stringProtoFuncBlink): (JSC::stringProtoFuncBold): (JSC::stringProtoFuncFixed): (JSC::stringProtoFuncItalics): (JSC::stringProtoFuncStrike): (JSC::stringProtoFuncSub): (JSC::stringProtoFuncSup): (JSC::stringProtoFuncFontcolor): (JSC::stringProtoFuncFontsize): (JSC::stringProtoFuncAnchor): (JSC::stringProtoFuncLink):
  • wtf/Platform.h:

WebCore:

2009-05-10 Sam Weinig <sam@webkit.org>

Merge more native function thunk code from r43372

  • bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::callHTMLCollection):
  • bindings/js/JSNodeListCustom.cpp: (WebCore::callNodeList):
  • bindings/js/JSPluginElementFunctions.cpp: (WebCore::callPlugin):
  • bindings/js/JSQuarantinedObjectWrapper.h:
  • bindings/scripts/CodeGeneratorJS.pm:
  • bridge/runtime_method.cpp: (JSC::callRuntimeMethod):
  • bridge/runtime_object.cpp: (JSC::callRuntimeObject):
1:21 PM Changeset in webkit [43465] by weinig@apple.com
  • 39 edits
    3 adds in branches/nitro-extreme

JavaScriptCore:

2009-05-10 Sam Weinig <sam@webkit.org>

Merge native function thunk code from r43220.

  • JavaScriptCore.exp:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::call):
  • assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::addPtr):
  • assembler/X86Assembler.h: (JSC::X86Assembler::leaq_mr): (JSC::X86Assembler::call_m):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::execute): (JSC::Interpreter::prepareForRepeatCall):
  • jit/JIT.cpp: (JSC::JIT::linkCall):
  • jit/JIT.h: (JSC::JIT::compileCTIMachineTrampolines):
  • jit/JITCall.cpp: (JSC::JIT::linkCall): (JSC::JIT::compileOpCallInitializeCallFrame): (JSC::JIT::compileOpCall):
  • jit/JITCode.h: (JSC::JITCode::operator bool):
  • jit/JITInlineMethods.h: (JSC::JIT::emitGetFromCallFrameHeader): (JSC::JIT::emitGetFromCallFrameHeader32):
  • jit/JITStubs.cpp: (JSC::JITStubs::cti_op_call_JSFunction): (JSC::JITStubs::cti_vm_dontLazyLinkCall): (JSC::JITStubs::cti_vm_lazyLinkCall): (JSC::JITStubs::cti_op_construct_JSConstruct):
  • jit/JITStubs.h: (JSC::JITStubs::ctiNativeCallThunk):
  • jsc.cpp: (GlobalObject::GlobalObject):
  • parser/Nodes.cpp: (JSC::FunctionBodyNode::FunctionBodyNode): (JSC::FunctionBodyNode::createNativeThunk): (JSC::FunctionBodyNode::generateJITCode):
  • parser/Nodes.h: (JSC::FunctionBodyNode::): (JSC::FunctionBodyNode::generatedJITCode): (JSC::FunctionBodyNode::jitCode):
  • profiler/Profiler.cpp: (JSC::Profiler::createCallIdentifier):
  • runtime/ArgList.h:
  • runtime/ArrayPrototype.cpp: (JSC::isNumericCompareFunction):
  • runtime/BooleanPrototype.cpp: (JSC::BooleanPrototype::BooleanPrototype):
  • runtime/DateConstructor.cpp: (JSC::DateConstructor::DateConstructor):
  • runtime/ErrorPrototype.cpp: (JSC::ErrorPrototype::ErrorPrototype):
  • runtime/FunctionPrototype.cpp: (JSC::FunctionPrototype::addFunctionProperties): (JSC::functionProtoFuncToString):
  • runtime/FunctionPrototype.h:
  • runtime/JSFunction.cpp: (JSC::JSFunction::JSFunction): (JSC::JSFunction::~JSFunction): (JSC::JSFunction::mark): (JSC::JSFunction::getCallData): (JSC::JSFunction::call): (JSC::JSFunction::argumentsGetter): (JSC::JSFunction::callerGetter): (JSC::JSFunction::lengthGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::getConstructData): (JSC::JSFunction::construct):
  • runtime/JSFunction.h: (JSC::JSFunction::JSFunction): (JSC::JSFunction::setScope): (JSC::JSFunction::scope): (JSC::JSFunction::isHostFunction): (JSC::JSFunction::scopeChain): (JSC::JSFunction::clearScopeChain): (JSC::JSFunction::setScopeChain): (JSC::JSFunction::nativeFunction): (JSC::JSFunction::setNativeFunction):
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): (JSC::JSGlobalData::~JSGlobalData): (JSC::JSGlobalData::createNativeThunk):
  • runtime/JSGlobalData.h: (JSC::JSGlobalData::nativeFunctionThunk):
  • runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::reset):
  • runtime/JSGlobalObject.h:
  • runtime/Lookup.cpp: (JSC::setUpStaticFunctionSlot):
  • runtime/Lookup.h:
  • runtime/NativeFunctionWrapper.h: Added.
  • runtime/NumberPrototype.cpp: (JSC::NumberPrototype::NumberPrototype):
  • runtime/ObjectPrototype.cpp: (JSC::ObjectPrototype::ObjectPrototype):
  • runtime/RegExpPrototype.cpp: (JSC::RegExpPrototype::RegExpPrototype):
  • runtime/StringConstructor.cpp: (JSC::StringConstructor::StringConstructor):

WebCore:

2009-05-10 Sam Weinig <sam@webkit.org>

Merge native function thunk code from r43220.

  • ForwardingHeaders/jit: Added.
  • ForwardingHeaders/jit/JITCode.h: Added.
  • inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
12:02 PM Changeset in webkit [43464] by ggaren@apple.com
  • 7 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Got JITStubs more or less working, and implemented emitTimeoutCheck(),
our first JITStub call.


Modified the magic constants in our trampolines to match the new layout
of JITStackFrame.


Added JITStubs back into the project / build.


Merged some stuff from JIT.h / JIT.cpp on trunk, with tweaks for the branch.

Brought the stubs up to par with the interpreter / new value representation.


Commented out a bunch of stub code that we haven't fully merged from TOT
yet (strcat, host function call changes). (Sam will merge and re-enable these
today.)


  • JavaScriptCore.xcodeproj/project.pbxproj:
  • jit/JIT.cpp: (JSC::JIT::emitTimeoutCheck): (JSC::JIT::restoreArgumentReference): (JSC::JIT::restoreArgumentReferenceForTrampoline): (JSC::JIT::privateCompileMainPass):
  • jit/JIT.h: (JSC::JITStubCall::JITStubCall): (JSC::JITStubCall::addArgument): (JSC::JITStubCall::call): (JSC::JITStubCall::): (JSC::CallEvalJITStub::CallEvalJITStub):
  • jit/JITStubs.cpp: (JSC::JITStubs::JITStubs): (JSC::JITStubs::cti_op_add): (JSC::JITStubs::cti_op_pre_inc): (JSC::JITStubs::cti_op_mul): (JSC::JITStubs::cti_op_call_JSFunction): (JSC::JITStubs::cti_vm_dontLazyLinkCall): (JSC::JITStubs::cti_vm_lazyLinkCall): (JSC::JITStubs::cti_op_construct_JSConstruct): (JSC::JITStubs::cti_op_get_by_val): (JSC::JITStubs::cti_op_get_by_val_string): (JSC::JITStubs::cti_op_get_by_val_byte_array): (JSC::JITStubs::cti_op_sub): (JSC::JITStubs::cti_op_put_by_val): (JSC::JITStubs::cti_op_put_by_val_array): (JSC::JITStubs::cti_op_put_by_val_byte_array): (JSC::JITStubs::cti_op_negate): (JSC::JITStubs::cti_op_div): (JSC::JITStubs::cti_op_pre_dec): (JSC::JITStubs::cti_op_post_inc): (JSC::JITStubs::cti_op_eq): (JSC::JITStubs::cti_op_lshift): (JSC::JITStubs::cti_op_bitand): (JSC::JITStubs::cti_op_rshift): (JSC::JITStubs::cti_op_bitnot): (JSC::JITStubs::cti_op_mod): (JSC::JITStubs::cti_op_neq): (JSC::JITStubs::cti_op_post_dec): (JSC::JITStubs::cti_op_urshift): (JSC::JITStubs::cti_op_bitxor): (JSC::JITStubs::cti_op_bitor): (JSC::JITStubs::cti_op_strcat): (JSC::JITStubs::cti_op_switch_imm):
  • jit/JITStubs.h: (JSC::JITStubs::ctiVirtualCall):
  • runtime/JSValue.h: (JSC::JSValue::payload):
11:49 AM Changeset in webkit [43463] by Dimitri Glazkov
  • 2 edits in trunk/JavaScriptCore

2009-05-10 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Geoffrey Garen.

https://bugs.webkit.org/show_bug.cgi?id=25670
Remove no longer valid chunk of code from dtoa.

  • wtf/dtoa.cpp: (WTF::dtoa): Removed invalid code.
10:53 AM Changeset in webkit [43462] by ap@webkit.org
  • 3 edits in trunk/WebCore

Reviewed by Dan Bernstein.

<rdar://problem/6867598> REGRESSION (r42483): Have to enter credentials twice when trying
to view protected MobileMe video

Add a temporary workaround.

  • platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal): Added an m_useSiteSpecificQuirks boolean (Mac-only). A Frame pointer is only available when starting a request, so we need to store this data for later use.
  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): Initialize m_useSiteSpecificQuirks. (WebCore::ResourceHandle::receivedCredential): Use per-session credentials with gallery.me.com.
10:32 AM Changeset in webkit [43461] by ap@webkit.org
  • 3 edits in trunk/JavaScriptCore

Reviewed by Geoff Garen.

"Class const *" is the same as "const Class*", use the latter syntax consistently.

See <http://www.parashift.com/c++-faq-lite/const-correctness.html#faq-18.9>.

  • pcre/pcre_compile.cpp: (calculateCompiledPatternLength):
  • runtime/JSObject.h: (JSC::JSObject::offsetForLocation): (JSC::JSObject::locationForOffset):
10:01 AM Changeset in webkit [43460] by ap@webkit.org
  • 9 edits
    1 move in trunk

Reviewed by Dan Bernstein.

<rdar://problem/6870383> Have to enter credentials twice when downloading from a protected page

Use credentials from WebCore storage when downloading.

9:57 AM Changeset in webkit [43459] by ap@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by Dan Bernstein.

Match newer XMLHttpRequest draft and make withCredential setter raise an exception when
called at a wrong time.

No test, because we are waiting for a newer version of system frameworks to test the attribute.

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::setWithCredentials):
  • xml/XMLHttpRequest.h:
  • xml/XMLHttpRequest.idl: Raise INVALID_STATE_ERR if the state is not OPENED, or if the send() flag is true.
9:26 AM Changeset in webkit [43458] by mitz@apple.com
  • 5 edits
    4 adds in trunk

WebCore:

Reviewed by Dave Kilzer.

Test: fast/layers/self-painting-outline.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayer): Paint the layer's own outline only if it is a self-painting layer.

LayoutTests:

Reviewed by Dave Kilzer.

  • fast/layers/self-painting-outline.html: Added.
  • platform/mac/fast/overflow/overflow-focus-ring-expected.checksum: Updated.
  • platform/mac/fast/overflow/overflow-focus-ring-expected.png: Updated.
  • platform/mac/fast/layers/self-painting-outline-expected.checksum: Added.
  • platform/mac/fast/layers/self-painting-outline-expected.png: Added.
  • platform/mac/fast/layers/self-painting-outline-expected.txt: Added.
4:32 AM Changeset in webkit [43457] by mjs@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-05-10 Maciej Stachowiak <mjs@apple.com>

Reviewed by Alexey Proskuryakov.


  • speedup dtoa/strtod


Added a bunch of inlining, and replaced malloc with stack allocation.


0.5% SunSpider speedup (7% on string-tagcloud).

  • runtime/NumberPrototype.cpp: (JSC::integerPartNoExp): (JSC::numberProtoFuncToExponential):
  • runtime/UString.cpp: (JSC::concatenate): (JSC::UString::from):
  • wtf/dtoa.cpp: (WTF::BigInt::BigInt): (WTF::BigInt::operator=): (WTF::Balloc): (WTF::Bfree): (WTF::multadd): (WTF::s2b): (WTF::i2b): (WTF::mult): (WTF::pow5mult): (WTF::lshift): (WTF::cmp): (WTF::diff): (WTF::b2d): (WTF::d2b): (WTF::ratio): (WTF::strtod): (WTF::quorem): (WTF::freedtoa): (WTF::dtoa):
  • wtf/dtoa.h:

May 9, 2009:

10:54 PM Changeset in webkit [43456] by ggaren@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Optimized a few more cases to use memory operands instead of loading
into registers.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
10:38 PM Changeset in webkit [43455] by ggaren@apple.com
  • 3 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Build fix.

  • jit/JIT.h:
  • jit/JITCode.h:
10:36 PM Changeset in webkit [43454] by ggaren@apple.com
  • 4 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


A little more opcode action.


Added a set8 and deployed it.


Optimized op_bitnot to do a bitnot directly in memory if possible.

  • assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::not32): (JSC::MacroAssemblerX86Common::set8):
  • assembler/X86Assembler.h: (JSC::X86Assembler::notl_m):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
10:21 PM Changeset in webkit [43453] by weinig@apple.com
  • 3 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Sam Weinig <sam@webkit.org>

Rubber-stamped by Geoffrey Garen.

Merge over the new JITStubs implementation from ToT.

  • jit/JITStubs.cpp:
  • jit/JITStubs.h:
10:14 PM Changeset in webkit [43452] by weinig@apple.com
  • 3 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Don't test for a slow case if the operand of an arithmetic op is
known to be an integer constant.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JITArithmetic.cpp: (JSC::JIT::emitAdd32): (JSC::JIT::emitSub32): (JSC::JIT::emitMul32): (JSC::JIT::emitMod32): (JSC::JIT::emitBitAnd32): (JSC::JIT::emitBitOr32): (JSC::JIT::emitBitXor32): (JSC::JIT::emitLeftShift32): (JSC::JIT::emitRightShift32):
10:04 PM Changeset in webkit [43451] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Geoffrey Garen and Mark Rowe.

Test: fast/dom/HTMLFormElement/adopt-assertion.html

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Overrides of this method are required to call the base class implementation. Do it. (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto.

LayoutTests:

Reviewed by Geoffrey Garen and Mark Rowe.

  • fast/dom/HTMLFormElement/adopt-assertion-expected.txt: Added.
  • fast/dom/HTMLFormElement/adopt-assertion.html: Added.
10:01 PM Changeset in webkit [43450] by ggaren@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Fixed accidental reversal of opcodes part 2.

  • assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::neg32):
9:27 PM Changeset in webkit [43449] by ggaren@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed accidental reversal of opcodes.

  • assembler/X86Assembler.h: (JSC::X86Assembler::negl_r): (JSC::X86Assembler::notl_r):
9:23 PM Changeset in webkit [43448] by ggaren@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Not reviewed.

  • jit/JITArithmetic.cpp: (JSC::JIT::emitAdd32): Restored accidentally snipped out code from my last patch.
7:52 PM Changeset in webkit [43447] by ggaren@apple.com
  • 4 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Miscellaneous work on our existing opcodes.


Removed unnecessary load into register from mul32.


Fixed a bug where mod32 calculated the quotient instead of the remainder.


Fixed the debug build.


Added optimized cases for subtraction.


Established consistent naming of emitOp32[Details], removing cases of
emitOp[Details]32.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::emitAdd32): (JSC::JIT::emitAdd32Constant): (JSC::JIT::emitSub32): (JSC::JIT::emitSub32ConstantLeft): (JSC::JIT::emitSub32ConstantRight): (JSC::JIT::emitSub32InPlaceLeft): (JSC::JIT::emitSub32InPlaceRight): (JSC::JIT::emitMul32): (JSC::JIT::emitMul32Constant): (JSC::JIT::emitMul32InPlace): (JSC::JIT::emitMod32): (JSC::JIT::emitBitAnd32): (JSC::JIT::emitBitAnd32Constant): (JSC::JIT::emitBitOr32): (JSC::JIT::emitBitOr32Constant): (JSC::JIT::emitBitXor32): (JSC::JIT::emitBitXor32Constant):
7:44 PM Changeset in webkit [43446] by ggaren@apple.com
  • 3 edits in trunk/LayoutTests

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Rubber stamped by Beth Dakin.


Added a test for a math edge case I just came across.

  • fast/js/postfix-syntax-expected.txt:
  • fast/js/resources/postfix-syntax.js:
7:28 PM Changeset in webkit [43445] by jmalonzo@webkit.org
  • 2 edits in trunk

2009-05-09 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Gustavo Noronha.

WebKit-r43163 won't build for gtk-directfb
https://bugs.webkit.org/show_bug.cgi?id=25538

Move the ENCHANT check out of the with_target conditional since it
applies to all targets

  • configure.ac:
7:10 PM Changeset in webkit [43444] by jmalonzo@webkit.org
  • 4 edits in trunk

2009-05-09 Mike Hommey <glandium@debian.org>

Reviewed by Geoffrey Garen. Landed by Jan Alonzo.

Enable JIT on x86-64 gtk+
https://bugs.webkit.org/show_bug.cgi?id=24724

  • configure.ac:

2009-05-09 Mike Hommey <glandium@debian.org>

Reviewed by Geoffrey Garen. Landed by Jan Alonzo.

Enable JIT on x86-64 gtk+
https://bugs.webkit.org/show_bug.cgi?id=24724

  • GNUmakefile.am:
6:13 PM Changeset in webkit [43443] by ggaren@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Cleaned up postfix ++/-- operators. 23% speedup in postfix operations.


The old code did an increment/decrement, and then stored to dst and srcDst,
dst getting the original value and srcDst getting the incremented value.
In order to pull that off, it needed to move a copy of the original
value to a second register, and do things in a generally inefficient
order. Instead, you can just store to dst before you do the increment.


Also fixed the build.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
3:41 PM Changeset in webkit [43442] by kevino@webkit.org
  • 5 edits in trunk

Reviewed by Maciej Stachowiak.

WebCore::DocumentLoader::mainReceivedError now asserts if error.isNull(), so
make sure wx does not create empty ResourceError() objects.

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

3:05 PM Changeset in webkit [43441] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Removed the last non-call-related manually managed JIT stub call.

  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArithSlow_op_rshift): Fully use the JITStubCall abstraction, instead of emitPutJITStubArg.
9:01 AM Changeset in webkit [43440] by kov@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-05-09 Sebastian Andrzej Siewior <sebastian@breakpoint.cc>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=25653
PLATFORM(X86_64) inherits ia64

ia64 is defined by gcc in an IA64 arch and has completely
nothing in common with X86-64 exept both are from Intel and have
an 64bit address space. That's it. Since code seems to expect x86
here, ia64 has to go.

  • wtf/Platform.h:
8:44 AM Changeset in webkit [43439] by kov@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-05-09 Gustavo Noronha Silva <Gustavo Noronha Silva>

Suggested by Geoffrey Garen.

Assume SSE2 is present on X86-64 and on MAC X86-32. This fixes a
build breakage on non-Mac X86-64 when JIT is enabled.

  • jit/JITArithmetic.cpp:
8:14 AM Changeset in webkit [43438] by weinig@apple.com
  • 3 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Sam Weinig <sam@webkit.org>

Cleanup. Switch uses of known int immediate access from using low
level u.asBits.payload to using asInt32().

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JITArithmetic.cpp: (JSC::JIT::emitAddConstant32): (JSC::JIT::emitSub32): (JSC::JIT::emitMulConstant32): (JSC::JIT::emitMod32): (JSC::JIT::emitBitAndConstant32): (JSC::JIT::emitBitOrConstant32): (JSC::JIT::emitBitXorConstant32): (JSC::JIT::emitLeftShift32): (JSC::JIT::emitRightShift32):
7:38 AM Changeset in webkit [43437] by kov@webkit.org
  • 4 edits in trunk

Build fix, adding missing files to make dist.

2:26 AM Changeset in webkit [43436] by mitz@apple.com
  • 22 edits in trunk/LayoutTests

Correct the results from the previous patch

2:19 AM Changeset in webkit [43435] by mitz@apple.com
  • 22 edits in trunk/LayoutTests

Update Windows-specific layout test results for textarea intrinsic
margins following r43355

1:54 AM Changeset in webkit [43434] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Windows build fix.

  • assembler/X86Assembler.h: (JSC::X86Assembler::patchLoadToLEA):
1:49 AM Changeset in webkit [43433] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Windows build fix.

  • assembler/X86Assembler.h: (JSC::X86Assembler::patchLoadToLEA):
1:35 AM Changeset in webkit [43432] by mjs@apple.com
  • 12 edits in trunk/JavaScriptCore

2009-05-09 Maciej Stachowiak <mjs@apple.com>

Reviewed by Gavin Barraclough.


Original patch by John McCall. Updated by Cameron Zwarich. Further refined by me.


  • Assorted speedups to property access


~.3%-1% speedup on SunSpider


1) When we know from the structure ID that an object is using inline storage, plant direct
loads and stores against it; no need to indirect through storage pointer.


2) Also because of the above, union the property storage pointer with the first inline property
slot and add an extra inline property slot.

  • assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::CodeLocationInstruction::CodeLocationInstruction): (JSC::AbstractMacroAssembler::CodeLocationInstruction::patchLoadToLEA): (JSC::::CodeLocationCommon::instructionAtOffset):
  • assembler/MacroAssembler.h: (JSC::MacroAssembler::storePtr):
  • assembler/MacroAssemblerX86.h: (JSC::MacroAssemblerX86::store32):
  • assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::storePtr):
  • assembler/X86Assembler.h: (JSC::X86Assembler::movq_EAXm): (JSC::X86Assembler::movl_rm): (JSC::X86Assembler::patchLoadToLEA):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JIT.h:
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compilePutDirectOffset): (JSC::JIT::compileGetDirectOffset): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::patchGetByIdSelf): (JSC::JIT::patchPutByIdReplace): (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdSelfList): (JSC::JIT::privateCompileGetByIdProtoList): (JSC::JIT::privateCompileGetByIdChainList): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompilePutByIdReplace):
  • runtime/JSObject.cpp: (JSC::JSObject::mark): (JSC::JSObject::removeDirect):
  • runtime/JSObject.h: (JSC::JSObject::propertyStorage): (JSC::JSObject::getDirect): (JSC::JSObject::getOffset): (JSC::JSObject::offsetForLocation): (JSC::JSObject::locationForOffset): (JSC::JSObject::getDirectOffset): (JSC::JSObject::putDirectOffset): (JSC::JSObject::isUsingInlineStorage): (JSC::JSObject::): (JSC::JSObject::JSObject): (JSC::JSObject::~JSObject): (JSC::Structure::isUsingInlineStorage): (JSC::JSObject::putDirect): (JSC::JSObject::putDirectWithoutTransition): (JSC::JSObject::allocatePropertyStorageInline):
  • runtime/Structure.h:
1:24 AM Changeset in webkit [43431] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Gavin Barraclough.

Changed all our JIT stubs so that they return a maximum of 1 JS value or
two non-JS pointers, and do all other value returning through out
parameters, in preparation for 64bit JS values on a 32bit system.

Stubs that used to return two JSValues now return one JSValue and take
and out parameter specifying where in the register array the second
value should go.


SunSpider reports no change.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArithSlow_op_post_inc): (JSC::JIT::compileFastArithSlow_op_post_dec):
  • jit/JITStubs.cpp: (JSC::JITStubs::cti_op_call_arityCheck): (JSC::JITStubs::cti_op_resolve_func): (JSC::JITStubs::cti_op_post_inc): (JSC::JITStubs::cti_op_resolve_with_base): (JSC::JITStubs::cti_op_post_dec):
  • jit/JITStubs.h: (JSC::):
12:02 AM Changeset in webkit [43430] by weinig@apple.com
  • 4 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Sam Weinig <sam@webkit.org>

Implement op_mod.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::emitMod32):

May 8, 2009:

11:12 PM Changeset in webkit [43429] by jmalonzo@webkit.org
  • 2 edits in trunk/LayoutTests

2009-05-08 Jan Michael Alonzo <jmalonzo@webkit.org>

Skip failing render tree test that was added in r43420.

  • platform/gtk/Skipped:
10:25 PM Changeset in webkit [43428] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Fixed <rdar://problem/6634956> CrashTracer: [REGRESSION] >400 crashes
in Safari at com.apple.JavaScriptCore • JSC::BytecodeGenerator::emitComplexJumpScopes + 468
https://bugs.webkit.org/show_bug.cgi?id=25658

  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitComplexJumpScopes): Guard the whole loop with a bounds check. The old loop logic would decrement and read topScope without a bounds check, which could cause crashes on page boundaries.
7:17 PM Changeset in webkit [43427] by jmalonzo@webkit.org
  • 4 edits in trunk/JavaScriptCore

2009-05-08 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by NOBODY (BuildFix).

Gtk fix: add LiteralParser to the build script per r43424.

Add LiteralParser to the Qt and Wx build scripts too.

7:05 PM Changeset in webkit [43426] by Nikolas Zimmermann
  • 4 edits in trunk/LayoutTests

Rubber-stamped by George Staikos.
Update WML <input> layout test result, as input field metrics have changed recently.

6:34 PM Changeset in webkit [43425] by Nikolas Zimmermann
  • 2 edits in trunk/WebKit/mac

Not reviewed. Fix clean builds, forgot to land name() -> formControlName() rename patch in WebKit. Only landed the WebCore side.

6:01 PM Changeset in webkit [43424] by oliver@apple.com
  • 5 edits
    2 adds in trunk/JavaScriptCore

Add a limited literal parser for eval to handle object and array literals fired at eval

Reviewed by Gavin Barraclough and Darin Adler.

This is a simplified parser and lexer that we can throw at strings passed to eval
in case a site is using eval to parse JSON (eg. json2.js). The lexer is intentionally
limited (in effect it's whitelisting a limited "common" subset of the JSON grammar)
as this decreases the likelihood of us wating time attempting to parse any significant
amount of non-JSON content.

5:51 PM Changeset in webkit [43423] by Simon Fraser
  • 2 edits in trunk/WebCore

2009-05-08 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

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

Reduce the inline capacity of CSSParserValueList's m_values
vector to reduce the size of CSSParserValueList from 544 to 160 bytes in 64-bit.

  • css/CSSParserValues.h:
5:29 PM Changeset in webkit [43422] by Nikolas Zimmermann
  • 2 edits in trunk/WebCore

Not reviewed. Used sort-Xcode-project-file to sort the XCode project file - it hasn't been done for a while.

5:19 PM Changeset in webkit [43421] by weinig@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-08 Sam Weinig <sam@webkit.org>

Implement constant operand cases for op_sub, op_lshift and op_rshift.

  • jit/JITArithmetic.cpp: (JSC::JIT::emitSub32): (JSC::JIT::emitLeftShift32): (JSC::JIT::emitRightShift32):
4:49 PM Changeset in webkit [43420] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Darin Adler.

  • fix <rdar://problem/6864786> REGRESSION: Crash below ApplyStyleCommand::applyInlineStyleToRange when reviewing a patch in Bugzilla

Test: editing/style/apply-through-end-of-document.html

  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Added a null check for the case of a range extending through the end of the document, in which pastEndNode is 0.

LayoutTests:

Reviewed by Darin Adler.

  • test for <rdar://problem/6864786> REGRESSION: Crash below ApplyStyleCommand::applyInlineStyleToRange when reviewing a patch in Bugzilla
  • editing/style/apply-through-end-of-document-expected.txt: Added.
  • editing/style/apply-through-end-of-document.html: Added.
4:40 PM Changeset in webkit [43419] by Beth Dakin
  • 2 edits in trunk/WebCore

2009-05-08 Douglas R. Davidson <ddavidso@apple.com>

Reviewed by Beth Dakin.

<rdar://problem/6857446> REGRESSION (Safari 3-4): Contraction base
marked as misspelled even though contraction is a word
Make sure spelling underline does not persist on words like
<doesn't>.

  • editing/TypingCommand.cpp: (WebCore::TypingCommand::typingAddedToOpenCommand):
3:53 PM Changeset in webkit [43418] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Kevin Ollivier.

Make sure the path's refdata isn't deleted before we're done with the object.

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

3:49 PM Changeset in webkit [43417] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Fix memory leak for wxMac.

2:47 PM Changeset in webkit [43416] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2009-05-08 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin Decker.

  • Fix <rdar://problem/6866712>.

Instead of just caching whether a plug-in object _has_ a field or method, also add an entry to the cache
if it _doesn't_ have a certain field or method. This way we have to make fewer calls to the plug-in host.


  • Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::methodsNamed): (WebKit::ProxyInstance::fieldNamed):
2:37 PM Changeset in webkit [43415] by kov@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-05-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

Make the scan program call g_thread_init(NULL) in addition to
g_type_init(), so that it actually works.

  • docs/GNUmakefile.am:
2:37 PM Changeset in webkit [43414] by kov@webkit.org
  • 3 edits in trunk

2009-05-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

Ship the gtk-doc.make file, so as to not depend on gtkdoc-tools.

  • GNUmakefile.am:
  • autogen.sh:
2:35 PM Changeset in webkit [43413] by Beth Dakin
  • 2 edits in trunk/WebCore

2009-05-08 Beth Dakin <Beth Dakin>

Reviewed by Dan Bernstein.

<rdar://problem/6857446> REGRESSION (r37591): Cannot print or
preview from maps.yandex.ru

We need to fall into the stretchesToViewHeight() quirk when we are
printing and we are the root and the root has percentage height OR
when we are the body and the root has percentage height. Otherwise
we have a height of 0 and can run into painting troubles.

  • rendering/RenderBox.cpp: (WebCore::RenderBox::calcHeight):
2:12 PM Changeset in webkit [43412] by harrison@apple.com
  • 6 edits in trunk

WebCore:

2009-05-08 Douglas Davidson <ddavidso@apple.com>

Reviewed by Darin Adler.

Fixes for <rdar://problem/6852771>.
Prevent text checking replacement immediately after an apostrophe
and automatic link addition except immediately after typing.

  • editing/Editor.cpp: (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):

WebKit/mac:

2009-05-08 Douglas R. Davidson <ddavidso@apple.com>

Reviewed by Darin Adler.

Fixes for <rdar://problem/6852771>.
Disable text checking menu items if view is not editable.

  • WebView/WebHTMLView.mm: (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): (-[WebHTMLView smartInsertDeleteEnabled]): (-[WebHTMLView setSmartInsertDeleteEnabled:]): (-[WebHTMLView toggleSmartInsertDelete:]):
  • WebView/WebHTMLViewInternal.h:
2:12 PM Changeset in webkit [43411] by timothy@apple.com
  • 4 edits in trunk

Versioning.

2:03 PM HackingGtk edited by amd@store20.com
Gtk+ uses libsoup backend instead of curl (diff)
1:53 PM Changeset in webkit [43410] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-08 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Restored a Mozilla JS test I accidentally gutted.

  • tests/mozilla/ecma/Array/15.4.4.2.js: (getTestCases): (test):
1:51 PM Changeset in webkit [43409] by ggaren@apple.com
  • 9 edits in trunk/JavaScriptCore

2009-05-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Gavin Barraclough.


More abstraction for JITStub calls from JITed code.


Added a JITStubCall class that automatically handles things like assigning
arguments to different stack slots and storing return values. Deployed
the class in about a billion places. A bunch more places remain to be
fixed up, but this is a good stopping point for now.

  • jit/JIT.cpp: (JSC::JIT::emitTimeoutCheck): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile):
  • jit/JIT.h: (JSC::JIT::JSRInfo::JSRInfo): (JSC::JITStubCall::JITStubCall): (JSC::JITStubCall::addArgument): (JSC::JITStubCall::call): (JSC::JITStubCall::): (JSC::CallEvalJITStub::CallEvalJITStub):
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArithSlow_op_lshift): (JSC::JIT::compileFastArithSlow_op_rshift): (JSC::JIT::compileFastArithSlow_op_jnless): (JSC::JIT::compileFastArithSlow_op_bitand): (JSC::JIT::compileFastArithSlow_op_mod): (JSC::JIT::compileFastArith_op_mod): (JSC::JIT::compileFastArithSlow_op_post_inc): (JSC::JIT::compileFastArithSlow_op_post_dec): (JSC::JIT::compileFastArithSlow_op_pre_inc): (JSC::JIT::compileFastArithSlow_op_pre_dec): (JSC::JIT::compileFastArith_op_add): (JSC::JIT::compileFastArith_op_mul): (JSC::JIT::compileFastArith_op_sub): (JSC::JIT::compileBinaryArithOpSlowCase): (JSC::JIT::compileFastArithSlow_op_add): (JSC::JIT::compileFastArithSlow_op_mul):
  • jit/JITCall.cpp: (JSC::JIT::compileOpCall): (JSC::):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdSlowCase):
  • jit/JITStubs.cpp: (JSC::JITStubs::cti_op_resolve_func): (JSC::JITStubs::cti_op_resolve_with_base):
1:44 PM Changeset in webkit [43408] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

2009-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Disable more new tests that are failing.

  • platform/gtk/Skipped:
1:40 PM Changeset in webkit [43407] by timothy@apple.com
  • 2 edits in tags/Safari-6530.9/WebCore

Merge r43394.

1:20 PM Changeset in webkit [43406] by timothy@apple.com
  • 1 copy in tags/Safari-6530.9

New tag.

12:19 PM QtWebKitTodo edited by tonikitoo@gmail.com
(diff)
12:13 PM Changeset in webkit [43405] by eric.carlson@apple.com
  • 3 edits in trunk/LayoutTests

2009-05-08 Eric Carlson <eric.carlson@apple.com>

No review, update tests results missed in r43403.

  • fast/dom/Window/window-properties-expected.txt:
  • platform/mac-leopard/fast/dom/Window/window-properties-expected.txt:
12:08 PM Changeset in webkit [43404] by kov@webkit.org
  • 1 edit
    5 adds in trunk/LayoutTests

2009-05-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

GTK+ test results for two new tests.

  • platform/gtk/fast/layers/remove-only-this-layer-update-expected.txt: Added.
  • platform/gtk/fast/repaint/selection-clear-expected.txt: Added.
11:54 AM HackingGtk edited by kov@webkit.org
(diff)
11:37 AM Changeset in webkit [43403] by eric.carlson@apple.com
  • 15 edits
    2 adds in trunk

2009-05-08 Eric Carlson <eric.carlson@apple.com>

Reviewed by Darin Adler.


https://bugs.webkit.org/show_bug.cgi?id=25627
Bug 25627: HTMLMediaElement: some errors should fire on <source> elements

Update for HTML5 spec change to fire 'error' events on <source> element
when there is a failure while processing/loading a <source>.

Test: media/video-source-error.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::enqueueEvent): Remove white-space. (WebCore::HTMLMediaElement::loadInternal): Call cancelPendingEventsAndCallbacks instead of just calling m_pendingEvents.clear() as we now also need to cancel pending errors on all <source> element. (WebCore::HTMLMediaElement::selectMediaResource): Call isSafeToLoadURL() here instead of in loadResource() as we need to report errors differently depending on the type of failure. Use KURL instead of String. (WebCore::HTMLMediaElement::loadNextSourceChild): nextSourceChild -> selectNextSourceChild. Fail silently when there are no more <source> canditates because that is what spec mandates. Keep url as KURL instead of converting to String. (WebCore::HTMLMediaElement::loadResource): ASSERT that the URL is safe to load as we now assume the safety check now done before this function. Takes KURL instead of String. (WebCore::HTMLMediaElement::isSafeToLoadURL): New, checks to see if a url is safe to load, logs failure if not. (WebCore::HTMLMediaElement::noneSupported): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks): New, clear all events pending on the media and all source elements. (WebCore::HTMLMediaElement::setNetworkState): Fire an error on the source element when the the failure happened while processing one. Only call nonSupported() when the failure happened while processing media element 'src' attribute. (WebCore::HTMLMediaElement::havePotentialSourceChild): nextSourceChild -> selectNextSourceChild. Deal with selectNextSourceChild returning a KURL instead of a String. (WebCore::HTMLMediaElement::selectNextSourceChild): Renamed from nextSourceChild, add optional param to control whether or not errors are fired on a source element when it will not be used. Check safety of url here instead of waiting until loadResource(). Return a KURL instead of a String. (WebCore::HTMLMediaElement::initialURL): nextSourceChild -> selectNextSourceChild. Keep url as a KURL instead of a String.
  • html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::):
  • html/HTMLSourceElement.cpp: (WebCore::HTMLSourceElement::HTMLSourceElement): Initialize timer related variables. (WebCore::HTMLSourceElement::scheduleErrorEvent): New, start one-shot timer to fire an error event ASAP. (WebCore::HTMLSourceElement::cancelPendingErrorEvent): New, cancel pending error event. (WebCore::HTMLSourceElement::errorEventTimerFired): New, fire error event if it has not been cancelled.
  • html/HTMLSourceElement.h:
  • html/MediaError.h: (WebCore::MediaError::): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED
  • html/MediaError.idl: Ditto

2009-05-08 Eric Carlson <eric.carlson@apple.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=25627
Bug 25627: HTMLMediaElement: some errors should fire on <source> elements

Update tests for MEDIA_ERR_NONE_SUPPORTED change to MEDIA_ERR_SRC_NOT_SUPPORTED.
Add video-source-error.html to test errors fired on <source> elements .

  • media/media-constants-expected.txt:
  • media/media-constants.html:
  • media/unsupported-rtsp.html:
  • media/video-error-does-not-exist.html:
  • media/video-source-error.html: Added.
  • media/video-src-change.html:
  • media/video-src-invalid-remove.html:
  • media/video-src-plus-source.html:
8:56 AM Changeset in webkit [43402] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

2009-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Disable new test that is failing.

  • platform/gtk/Skipped:
8:08 AM Changeset in webkit [43401] by cwzwarich@webkit.org
  • 10 edits in trunk/JavaScriptCore

2009-05-08 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Add a new opcode jnlesseq, and optimize its compilation in the JIT using
techniques similar to what were used to optimize jnless in r43363.

This gives a 0.7% speedup on SunSpider, particularly on the tests 3d-cube,
control-flow-recursive, date-format-xparb, and string-base64.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): Add support for dumping op_jnlesseq.
  • bytecode/Opcode.h: Add op_jnlesseq to the list of opcodes.
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitJumpIfFalse): Add a peephole optimization for op_jnlesseq when emitting lesseq followed by a jump.
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute): Add case for op_jnlesseq.
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): Add case for op_jnlesseq. (JSC::JIT::privateCompileSlowCases): Add case for op_jnlesseq.
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArith_op_jnlesseq): Added. (JSC::JIT::compileFastArithSlow_op_jnlesseq): Added.
  • jit/JITStubs.cpp: (JSC::JITStubs::cti_op_jlesseq): Added.
  • jit/JITStubs.h:
6:42 AM Changeset in webkit [43400] by mitz@apple.com
  • 4 edits
    4 adds in trunk

WebCore:

Reviewed by Maciej Stachowiak.

  • fix <rdar://problem/6859955> Undoing typed text after selecting all leaves non-text areas highlighted

Test: fast/repaint/selection-clear.html

When RenderView::clearSelection() is called from
SelectionController::nodeWillBeRemoved(), selected renderers may already
be marked for layout, which means that they can no longer compute
their selection repaint info. Instead, an empty IntRect (or GapRects) is
returned, leading to incomplete repaint.

The fix is not to rely on individual renderers when clearing the
selection, but instead, cache the bounding rectangle of the selected
blocks' GapRects when setting the selection, and invalidate that
entire rectangle when clearing it.

  • rendering/RenderView.cpp: (WebCore::RenderView::setSelection): Added a parameter saying whether the repainting of selected blocks should include both previously-selected areas and newly-selected areas or only newly-selected areas. The default is both. Also compute m_cachedSelectionBounds to be the bounding rectangle of the new selection's BlockSelectionInfos' GapRects. (WebCore::RenderView::clearSelection): Repaint m_cachedSelectionBounds, and tell setSelection() that it should not paint areas that were in the old selection's BlockSelectionInfos' GapRects.
  • rendering/RenderView.h: (WebCore::RenderView::):

LayoutTests:

Reviewed by Maciej Stachowiak.

  • test for <rdar://problem/6859955> Undoing typed text after selecting all leaves non-text areas highlighted
  • fast/repaint/selection-clear.html: Added.
  • platform/mac/fast/repaint/selection-clear-expected.checksum: Added.
  • platform/mac/fast/repaint/selection-clear-expected.png: Added.
  • platform/mac/fast/repaint/selection-clear-expected.txt: Added.
6:19 AM Changeset in webkit [43399] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-08 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


  • fix test failures on 64-bit
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArithSlow_op_jnless): Avoid accidentaly treating an immediate int as an immediate float in the 64-bit value representation.
5:58 AM Changeset in webkit [43398] by ap@webkit.org
  • 7 edits in trunk

Reviewed by Maciej Stachowiak.

<rdar://problem/6868773> NPN_GetAuthenticationInfo does not work with non-permanent credentials

WebCore:

  • WebCore.base.exp:
  • platform/network/mac/AuthenticationMac.h: (WebCore::WebCoreCredentialStorage::set): (WebCore::WebCoreCredentialStorage::get):
  • platform/network/mac/AuthenticationMac.mm:
  • platform/network/mac/ResourceHandleMac.mm: Moved WebCoreCredentialStorage to AuthenticationMac, so that it could be used from WebKit.

WebKit:

  • Plugins/WebBaseNetscapePluginView.mm: (WebKit::getAuthenticationInfo): Ask WebCore for credentials first (but also ask NSURLCredentialStorage, because WebCore won't know about permanent credentials).
4:30 AM Changeset in webkit [43397] by barraclough@apple.com
  • 3 edits in trunk/JavaScriptCore

2009-05-08 Gavin Barraclough <barraclough@apple.com>

Rubber stamped by Oliver Hunt.

Removing an empty constructor and an uncalled, empty function seems to be a
pretty solid 1% regeression on my machine, so I'm going to put them back.
Um. Yeah, this this pretty pointles and makes no sense at all. I officially
lose the will to live in 3... 2...

  • bytecode/SamplingTool.cpp: (JSC::SamplingTool::notifyOfScope):
  • bytecode/SamplingTool.h: (JSC::SamplingTool::~SamplingTool):
3:23 AM Changeset in webkit [43396] by Simon Hausmann
  • 2 edits in trunk/WebCore

2009-05-08 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>

Reviewed by Simon Hausmann.

Fix the Qt build, add missing JSC_HOST_CALL macros to the runtime
call methods.

3:18 AM Changeset in webkit [43395] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-05-08 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver "I see lots of ifdefs" Hunt.

Fix (kinda) for sampling tool breakage. The codeblock sampling tool has become
b0rked due to recent changes in native function calling. The initialization of
a ScopeNode appears to now occur before the sampling tool (or possibly the
interpreter has been brought into existence, wihich leads to crashyness).

This patch doesn't fix the problem. The crash occurs when tracking a Scope, but
we shouldn't need to track scopes when we're just sampling opcodes, not
codeblocks. Not retaining Scopes when just opcode sampling will reduce sampling
overhead reducing any instrumentation skew, which is a good thing. As a side
benefit this patch also gets the opcode sampling going again, albeit in a bit of
a lame way. Will come back later with a proper fix from codeblock sampling.

  • JavaScriptCore.exp:
  • bytecode/SamplingTool.cpp: (JSC::compareLineCountInfoSampling): (JSC::SamplingTool::dump):
  • bytecode/SamplingTool.h: (JSC::SamplingTool::SamplingTool):
  • parser/Nodes.cpp: (JSC::ScopeNode::ScopeNode):
1:20 AM Changeset in webkit [43394] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2009-05-08 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Mark Rowe.

Add missing strings to localizedStrings.js
https://bugs.webkit.org/show_bug.cgi?id=25635

Add the strings "Delete", "Key", "Refresh" and "Value".

  • English.lproj/localizedStrings.js:
12:58 AM Changeset in webkit [43393] by ap@webkit.org
  • 3 edits in trunk/WebCore

2009-05-08 Robert Hogan <robert@roberthogan.net>

Reviewed, tweaked and landed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=24992
[Qt] crash at http://browserspy.dk/browser.php

This cannot be easily tested in DRT, because it relies on interaction with QApplication,
but the added assertions guard against re-introducing this issue.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::didOpenURL): Don't make client calls while the frame is being constructed, because the intermediate state without a document is something we don't want to expose.
  • page/Frame.cpp: (WebCore::Frame::setJSStatusBarText): Assert that the frame has a document, which is an approximation of it being in a consistent state for client calls. (WebCore::Frame::setJSDefaultStatusBarText): Ditto.

May 7, 2009:

11:47 PM Changeset in webkit [43392] by mrowe@apple.com
  • 23 edits in trunk

Fix <https://bugs.webkit.org/show_bug.cgi?id=25640>.
Bug 25640: Crash on quit in r43384 nightly build on Leopard w/ Safari 4 beta installed

Rubber-stamped by Oliver Hunt.

Roll out r43366 as it removed symbols that Safari 4 Beta uses.

11:37 PM Changeset in webkit [43391] by weinig@apple.com
  • 4 edits in branches/nitro-extreme/JavaScriptCore

2009-05-07 Sam Weinig <sam@webkit.org>

  • Remove some incorrect code (subtraction is not commutative)
  • Implement basic rightshift.
  • Add FIXMEs for where we need to add more codegen to complete the opcode.
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::emitSub32): (JSC::JIT::emitLeftShift32): (JSC::JIT::emitRightShift32):
11:18 PM Changeset in webkit [43390] by xan@webkit.org
  • 4 edits in trunk

WebCore:

2009-05-08 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Unify scrolling code via adjustments and keys. Use the WebCore
defined constants, since that's what people are most used to at
this point.

  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::platformHandleHorizontalAdjustment): (WebCore::ScrollView::platformHandleVerticalAdjustment):

WebKit/gtk:

2009-05-08 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Unify scrolling code via adjustments and keys. Use the WebCore
defined constants, since that's what people are most used to at
this point.

  • ChangeLog:
  • webkit/webkitwebview.cpp: (webkit_web_view_real_move_cursor):
10:58 PM Changeset in webkit [43389] by levin@chromium.org
  • 13 edits in trunk

WebCore:

2009-05-07 David Levin <levin@chromium.org>

Reviewed by NOBODY.
Suggested by Oliver Hunt.

Rolling back http://trac.webkit.org/changeset/43385
because we have to use mac artwork for the underline on OSX.

  • platform/graphics/cg/GraphicsContextCG.cpp:
  • platform/graphics/mac/GraphicsContextMac.mm: (WebCore::createPatternColor): (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
  • platform/graphics/win/GraphicsContextCGWin.cpp: (WebCore::setCGStrokeColor): (WebCore::spellingPatternColor): (WebCore::grammarPatternColor): (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):

LayoutTests:

2009-05-07 David Levin <levin@chromium.org>

Reviewed by NOBODY.
Suggested by Oliver Hunt.

Rolling back http://trac.webkit.org/changeset/43385
because we have to use mac artwork for the underline on OSX.

  • platform/mac/editing/spelling/inline_spelling_markers-expected.checksum:
  • platform/mac/editing/spelling/inline_spelling_markers-expected.png:
  • platform/mac/editing/spelling/spellcheck-attribute-expected.checksum:
  • platform/mac/editing/spelling/spellcheck-attribute-expected.png:
  • platform/mac/editing/spelling/spelling-expected.checksum:
  • platform/mac/editing/spelling/spelling-expected.png:
  • platform/mac/editing/spelling/spelling-linebreak-expected.checksum:
  • platform/mac/editing/spelling/spelling-linebreak-expected.png:
10:53 PM Changeset in webkit [43388] by weinig@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-07 Sam Weinig <sam@webkit.org>

Add op_jnless, op_loop_if_less, and op_loop_if_lesseq.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile): Remove breakpoint();
10:27 PM Changeset in webkit [43387] by weinig@apple.com
  • 10 edits in branches/nitro-extreme/JavaScriptCore

2009-05-07 Sam Weinig <sam@webkit.org>

Initial checkin for JIT support for new number representation. Not all opcodes
are supported yet but JavaScriptCore compiles.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::unlinkCallers):
  • jit/JIT.cpp: (JSC::JIT::getConstantOperand): (JSC::JIT::isOperandConstantImmediateInt): (JSC::JIT::emitPutToCallFrameHeader): (JSC::JIT::addSlowCase): (JSC::JIT::addJump): (JSC::JIT::emitJumpSlowToHot): (JSC::JIT::tagFor): (JSC::JIT::payloadFor): (JSC::JIT::emitStoreConstant): (JSC::JIT::emitLoadVirtualRegister): (JSC::JIT::emitStoreVirtualRegister): (JSC::JIT::emitSetReturnValue): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::emitAdd32): (JSC::JIT::emitAddConstant32): (JSC::JIT::emitAdd32InPlace): (JSC::JIT::emitSub32): (JSC::JIT::emitSubConstant32): (JSC::JIT::emitSub32InPlace): (JSC::JIT::emitMul32): (JSC::JIT::emitMulConstant32): (JSC::JIT::emitMul32InPlace): (JSC::JIT::emitBitAnd32): (JSC::JIT::emitBitAndConstant32): (JSC::JIT::emitBitAnd32InPlace): (JSC::JIT::emitBitOr32): (JSC::JIT::emitBitOrConstant32): (JSC::JIT::emitBitOr32InPlace): (JSC::JIT::emitBitXor32): (JSC::JIT::emitBitXorConstant32): (JSC::JIT::emitBitXor32InPlace):
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
  • runtime/JSGlobalData.h:
  • runtime/JSValue.h:
  • wtf/Platform.h:
10:20 PM Changeset in webkit [43386] by weinig@apple.com
  • 3 edits in branches/nitro-extreme/JavaScriptCore

2009-05-07 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add some new MacroAssembler and assembler functions that will be needed shortly.

  • assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::add32): (JSC::MacroAssemblerX86Common::and32): (JSC::MacroAssemblerX86Common::mul32): (JSC::MacroAssemblerX86Common::neg32): (JSC::MacroAssemblerX86Common::or32): (JSC::MacroAssemblerX86Common::sub32): (JSC::MacroAssemblerX86Common::xor32): (JSC::MacroAssemblerX86Common::branchAdd32): (JSC::MacroAssemblerX86Common::branchMul32): (JSC::MacroAssemblerX86Common::branchSub32):
  • assembler/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::addl_rm): (JSC::X86Assembler::andl_mr): (JSC::X86Assembler::andl_rm): (JSC::X86Assembler::andl_im): (JSC::X86Assembler::negl_r): (JSC::X86Assembler::notl_r): (JSC::X86Assembler::orl_rm): (JSC::X86Assembler::orl_im): (JSC::X86Assembler::subl_rm): (JSC::X86Assembler::xorl_mr): (JSC::X86Assembler::xorl_rm): (JSC::X86Assembler::xorl_im): (JSC::X86Assembler::imull_mr):
10:13 PM Changeset in webkit [43385] by levin@chromium.org
  • 13 edits in trunk

WebCore:

2009-05-07 John Grabowski <jrg@chromium.org>

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=25573
Unify use of CG-common routine for drawLineForMisspellingOrBadGrammar.
Cleanup for WebKit, but required for Chromium happiness.

  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::spellingPatternColor): (WebCore::grammarPatternColor): (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
  • platform/graphics/mac/GraphicsContextMac.mm:
  • platform/graphics/win/GraphicsContextCGWin.cpp:

LayoutTests:

2009-05-07 John Grabowski <jrg@chromium.org>

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=25573
Rebaseline of spelling tests for Mac. Tests pass even without this
change but checksums don't match. Non-Mac does not need a new baseline.

  • platform/mac/editing/spelling/inline_spelling_markers-expected.checksum:
  • platform/mac/editing/spelling/inline_spelling_markers-expected.png:
  • platform/mac/editing/spelling/spellcheck-attribute-expected.checksum:
  • platform/mac/editing/spelling/spellcheck-attribute-expected.png:
  • platform/mac/editing/spelling/spelling-expected.checksum:
  • platform/mac/editing/spelling/spelling-expected.png:
  • platform/mac/editing/spelling/spelling-linebreak-expected.checksum:
  • platform/mac/editing/spelling/spelling-linebreak-expected.png:
8:04 PM Changeset in webkit [43384] by kov@webkit.org
  • 3 edits in trunk/JavaScriptCore

2009-05-07 Gustavo Noronha Silva <Gustavo Noronha Silva>

Suggested by Oliver Hunt.

Also check for Linux for the special-cased calling convention.

  • jit/JIT.cpp: (JSC::JIT::privateCompileCTIMachineTrampolines):
  • wtf/Platform.h:
7:42 PM BuildingGtk edited by kov@webkit.org
(diff)
6:58 PM Changeset in webkit [43383] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Gavin Barraclough <barraclough@apple.com>

Reviewed by Maciej Stachowiak.

Previously, when appending to an existing string and growing the underlying buffer,
we would actually allocate 110% of the required size in order to give us some space
to expand into. Now we treat strings differently based on their size:

Small Strings (up to 4 pages):
Expand the allocation size to 112.5% of the amount requested. This is largely sicking
to our previous policy, however 112.5% is cheaper to calculate.

Medium Strings (up to 128 pages):
For pages covering multiple pages over-allocation is less of a concern - any unused
space will not be paged in if it is not used, so this is purely a VM overhead. For
these strings allocate 2x the requested size.

Large Strings (to infinity and beyond!):
Revert to our 112.5% policy - probably best to limit the amount of unused VM we allow
any individual string be responsible for.

Additionally, round small allocations up to a multiple of 16 bytes, and medium and
large allocations up to a multiple of page size.

~1.5% progression on Sunspider, due to 5% improvement on tagcloud & 15% on validate.

  • runtime/UString.cpp: (JSC::expandedSize):
6:42 PM Changeset in webkit [43382] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Fixed a minor sequencing error introduced by recent Parser speedups.

  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::createNativeThunk): Missed a spot in my last patch.
6:31 PM Changeset in webkit [43381] by Darin Adler
  • 4 edits
    2 adds in trunk

WebCore:

2009-05-07 Darin Adler <Darin Adler>

Reviewed by Simon Fraser.

Bug 25575: Registered mutation event listener crashes HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=25575

Test: fast/media/video-controls-with-mutation-event-handler.html

  • rendering/MediaControlElements.cpp: (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Don't call setAttribute.
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::createTimeline): Call setAttribute here.

LayoutTests:

2009-05-07 Darin Adler <Darin Adler>

Reviewed by Simon Fraser.

Bug 25575: Registered mutation event listener crashes HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=25575

  • fast/media/video-controls-with-mutation-event-handler-expected.txt: Added.
  • fast/media/video-controls-with-mutation-event-handler.html: Added.
6:23 PM Changeset in webkit [43380] by Simon Fraser
  • 3 edits in trunk/WebCore

2009-05-07 Simon Fraser <Simon Fraser>

Rubber Stamped by Dave Hyatt

Shuffle the data members to minimize padding.

  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection):
  • rendering/RenderTableSection.h:
6:23 PM Changeset in webkit [43379] by Simon Fraser
  • 3 edits in trunk/WebCore

2009-05-07 Simon Fraser <Simon Fraser>

Rubber Stamped by Dave Hyatt

Shuffle the data members to make Events 8 bytes smaller in 64-bit.

  • dom/Event.cpp: (WebCore::Event::Event):
  • dom/Event.h:
5:16 PM Changeset in webkit [43378] by Beth Dakin
  • 6 edits
    4 adds in trunk

WebCore:

2009-05-07 Eric Seidel <eric@webkit.org>

Reviewed by Beth Dakin.

Fix regression caused by r41469, add test case to prevent it from
happening again.
https://bugs.webkit.org/show_bug.cgi?id=25252


hasLayer() was true during removeOnlyThisLayer()/
updateLayerPositions()
which caused updateLayerPosition()'s walk up the render tree to
include offsets from the layer we were about to remove.


I'm not 100% convinced that this wasn't a bug in
updateLayerPosition() or in RenderBoxModelObject::styleDidChange,
because the layer in question is not the containing block for the
block which gets laid out wrong. But this restores the previous
behavior and adds a test. So the next time someone is in here re-
factoring, they will at least know if they break something.


Test: fast/layers/remove-only-this-layer-update.html

  • rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::destroyLayer):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::removeOnlyThisLayer):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::destroy):
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::destroy):

LayoutTests:

2009-05-07 Eric Seidel <eric@webkit.org>

Reviewed by Beth Dakin.

Fix regression caused by r41469, add test case to prevent it from
happening again.
https://bugs.webkit.org/show_bug.cgi?id=25252

  • fast/layers/remove-only-this-layer-update.html: Added.
  • platform/mac/fast/layers/remove-only-this-layer-update-expected.checksum: Added.
  • platform/mac/fast/layers/remove-only-this-layer-update-expected.png: Added.
  • platform/mac/fast/layers/remove-only-this-layer-update-expected.txt: Added.
5:02 PM Changeset in webkit [43377] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Not reviewed.

  • wtf/Platform.h: Reverted an accidental (and performance-catastrophic) change.
5:01 PM Changeset in webkit [43376] by ggaren@apple.com
  • 3 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Fixed a minor sequencing error introduced by recent Parser speedups.

  • parser/Parser.cpp: (JSC::Parser::reparseInPlace): Missed a spot in my last patch.
4:51 PM Changeset in webkit [43375] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Fixed a minor sequencing error introduced by recent Parser speedups.

  • parser/Parser.cpp: (JSC::Parser::parse):
  • parser/Parser.h: (JSC::Parser::parse): (JSC::Parser::reparse): Shrink the parsedObjects vector after allocating the root node, to avoid leaving a stray node in the vector, since that's a slight memory leak, and it causes problems during JSGlobalData teardown.
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::~JSGlobalData): ASSERT that we're not being torn down while we think we're still parsing, since that would cause lots of bad memory references during our destruction.
4:33 PM Changeset in webkit [43374] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Replaced two more macros with references to the JITStackFrame structure.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JITInlineMethods.h: (JSC::JIT::restoreArgumentReference):
  • jit/JITStubs.cpp: (JSC::):
  • jit/JITStubs.h:
4:11 PM Changeset in webkit [43373] by dimich@chromium.org
  • 2 edits in trunk/WebCore

2009-05-07 Dmitry Titov <dimich@chromium.org>

Attempt to fix GTK build.

  • platform/graphics/GlyphPageTreeNode.h: add #include <string.h> to ensure memcpy and memset are defined.
3:52 PM Changeset in webkit [43372] by oliver@apple.com
  • 46 edits in trunk

Improve native call performance

Reviewed by Gavin Barraclough.

Fix the windows build by adding calling convention declarations everywhere,
chose fastcall as that seemed most sensible given we were having to declare
the convention explicitly. In addition switched to fastcall on mac in the
deluded belief that documented fastcall behavior on windows would match
actual its actual behavior.

3:26 PM Changeset in webkit [43371] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Rolled out a portion of r43352 because it broke 64bit.

  • jit/JITStubs.h:
3:25 PM Changeset in webkit [43370] by dimich@chromium.org
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Dmitry Titov <dimich@chromium.org>

Attempt to fix Win build.

  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArithSlow_op_jnless):
3:21 PM Changeset in webkit [43369] by kevino@webkit.org
  • 2 edits in trunk/JavaScriptCore

Build fix for functions reaturning ThreadIdentifier.

3:07 PM Changeset in webkit [43368] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Maciej Stachowiak <mjs@apple.com>

Reviewed by John Honeycutt.


  • enable optimization case im the last patch that I accidentally had disabled.
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArithSlow_op_jnless):
2:43 PM Changeset in webkit [43367] by Nikolas Zimmermann
  • 50 edits
    4 deletes in trunk/WebCore

Reviewed by Dave Hyatt.

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

Fix memory/performance regression because of too much form control related abstraction just for WMLs sake.

Remove FormControlElement and FormControlElementWithState base classes, as the overhead is too high for the
gain. HTML has no benefit of that kind of abstraction, so we're going to move the functionality to Element directly.

The functions now living in FormControlElement(WithState) lived in Node/Element/HTMLFormControlElement before.
This patches moves all of them in a central place in Element.h, as virtual functions with an inline default implementation.
To avoid confusion like isEnabled() living on Node, before the creation of the FormControlElement abstraction layer, all
methods are renamed to clarify where they belong to. (Detailed list in ChangeLog)

2:24 PM Changeset in webkit [43366] by dimich@chromium.org
  • 23 edits in trunk

JavaScriptCore:

2009-05-07 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov and Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=25348
Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.

  • wtf/Threading.h: (WTF::ThreadIdentifier::ThreadIdentifier): (WTF::ThreadIdentifier::isValid): (WTF::ThreadIdentifier::invalidate): (WTF::ThreadIdentifier::platformId): ThreadIdentifier is now a class, containing a PlatformThreadIdentifier and methods that are used across the code on thread ids: construction, comparisons, check for 'valid' state etc. '0' is used as invalid id, which happens to just work with all platform-specific thread id implementations.

All the following files repeatedly reflect the new ThreadIdentifier for each platform.
We remove ThreadMap and threadMapMutex from all of them, remove the functions that
populated/searched/cleared the map and add platform-specific comparison operators
for ThreadIdentifier.

  • wtf/gtk/ThreadingGtk.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=): (WTF::initializeThreading): (WTF::createThreadInternal): (WTF::waitForThreadCompletion): (WTF::currentThread):
  • wtf/ThreadingNone.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=):
  • wtf/ThreadingPthreads.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=): (WTF::initializeThreading): (WTF::createThreadInternal): (WTF::waitForThreadCompletion): (WTF::detachThread): (WTF::currentThread):
  • wtf/qt/ThreadingQt.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=): (WTF::initializeThreading): (WTF::createThreadInternal): (WTF::waitForThreadCompletion): (WTF::currentThread):
  • wtf/ThreadingWin.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=): (WTF::initializeThreading): (WTF::createThreadInternal): All the platforms (except Windows) used a sequential counter as a thread ID and mapped it into platform ID. Windows was using native thread id and mapped it into thread handle. Since we can always obtain a thread handle by thread id, createThread now closes the handle. (WTF::waitForThreadCompletion): obtains another one using OpenThread(id) API. If can not obtain a handle, it means the thread already exited. (WTF::detachThread): (WTF::currentThread): (WTF::detachThreadDeprecated): old function, renamed (for Win Safari 4 beta which uses it for now). (WTF::waitForThreadCompletionDeprecated): same. (WTF::currentThreadDeprecated): same. (WTF::createThreadDeprecated): same.
  • bytecode/SamplingTool.h:
  • bytecode/SamplingTool.cpp: Use DEFINE_STATIC_LOCAL for a static ThreadIdentifier variable, to avoid static constructor.
  • JavaScriptCore.exp: export lists - updated the WTF threading functions decorated names since they now take a different type as a parameter.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: ditto for Windows, plus added "deprecated" functions that take old parameter type - turns out public beta of Safari 4 uses those, so they need to be kept along for a while.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: ditto.

WebCore:

2009-05-07 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov and Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=25348
Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.

Most of the change is in WTF.
Unless noted, all the following files changed to use the new ThreadIdentifier::isValid()
method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier
is now a class rather then an integer.
Also, there is no need to initialize threadID in constructors to 0 now.

  • dom/XMLTokenizerLibxml2.cpp: (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id, since now ThreadIdentifier needs construction and we avoid having global initializers. (WebCore::matchFunc): use the new accessor function. (WebCore::openFunc): ditto. (WebCore::createStringParser): ditto. (WebCore::createMemoryParser): ditto.
  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open):
  • platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::SQLiteDatabase): (WebCore::SQLiteDatabase::close):
  • storage/DatabaseThread.cpp: (WebCore::DatabaseThread::start): (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output.
  • storage/LocalStorageThread.cpp: (WebCore::LocalStorageThread::start): (WebCore::LocalStorageThread::scheduleImport): (WebCore::LocalStorageThread::scheduleSync): (WebCore::LocalStorageThread::terminate):
  • workers/WorkerThread.cpp: (WebCore::WorkerThread::start): (WebCore::WorkerThread::WorkerThread): (WebCore::WorkerThread::start):

WebKit/win:

2009-05-07 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov and Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=25348
Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.

Most of the change is in WTF and WebCore.

  • WebKit.vcproj/WebKit.def: replaced decorated names of WTF threading functions with new ones. Also, aliased the old implementations so the public Safari 4 beta can load the old WTF functions which it uses. Next time Safari 4 builds, it will pick up new functions and the deprecated ones can be removed.
  • WebKit.vcproj/WebKit_debug.def: same.
2:21 PM Changeset in webkit [43365] by Simon Fraser
  • 2 edits in trunk/WebCore

2009-05-07 Simon Fraser <Simon Fraser>

Rubber Stamped by Dave Hyatt

Shuffle the data members to minimize padding.

  • dom/ClassNames.h:
2:10 PM Changeset in webkit [43364] by Simon Fraser
  • 5 edits in trunk/WebCore

2009-05-07 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler

<rdar://problem/6864062> Shrink GlyphPage from 4112 to 2576 bytes in 64-bit
https://bugs.webkit.org/show_bug.cgi?id=25605

Shrink GlyphPage by splitting the array of GlyphData, which has lots
of padding, into separate Glyph and SimpleFontData* arrays.

  • platform/graphics/Font.h: glyphDataForCharacter has to return a GlyphData by value now.
  • platform/graphics/FontFastPath.cpp: (WebCore::Font::glyphDataForCharacter): Return GlyphData by value.
  • platform/graphics/GlyphPageTreeNode.cpp: (WebCore::GlyphPageTreeNode::initializePage): Better encapsulation of GlyphPage, using the new methods.
  • platform/graphics/Font.h:
  • platform/graphics/FontFastPath.cpp: (WebCore::Font::glyphDataForCharacter):
  • platform/graphics/GlyphPageTreeNode.cpp: (WebCore::GlyphPageTreeNode::initializePage):
  • platform/graphics/GlyphPageTreeNode.h: (WebCore::GlyphData::GlyphData): (WebCore::GlyphPage::indexForCharacter): (WebCore::GlyphPage::glyphDataForCharacter): (WebCore::GlyphPage::glyphDataForIndex): (WebCore::GlyphPage::glyphAt): (WebCore::GlyphPage::fontDataForCharacter): (WebCore::GlyphPage::setGlyphDataForCharacter): (WebCore::GlyphPage::setGlyphDataForIndex): (WebCore::GlyphPage::copyFrom): (WebCore::GlyphPage::clear):
1:42 PM Changeset in webkit [43363] by mjs@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-05-07 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam Weinig.


  • optimize various cases of branch-fused less


1% speedup on SunSpider overall
13% speedup on math-cordic

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): op_loop_if_less: Optimize case of constant as first operand, just as case of constant as second operand. op_jnless: Factored out into compileFastArith_op_jnless. (JSC::JIT::privateCompileSlowCases): op_jnless: Factored out into compileFastArithSlow_op_jnless.
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArith_op_jnless): Factored out from main compile loop.
  • Generate inline code for comparison of constant immediate int as first operand to another immediate int, as for loop_if_less

(JSC::JIT::compileFastArithSlow_op_jnless):

  • Generate inline code for comparing two floating point numbers.
  • Generate code for both cases of comparing a floating point number to a constant immediate int.
  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): Fix dumping of op_jnless (tangentially related bugfix).
1:22 PM Changeset in webkit [43362] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Added the return address of a stub function to the JITStackFrame abstraction.

  • jit/JIT.cpp:
  • jit/JIT.h:
  • jit/JITStubs.cpp: (JSC::): (JSC::StackHack::StackHack): (JSC::StackHack::~StackHack): (JSC::returnToThrowTrampoline): (JSC::JITStubs::cti_op_convert_this): (JSC::JITStubs::cti_op_end): (JSC::JITStubs::cti_op_add): (JSC::JITStubs::cti_op_pre_inc): (JSC::JITStubs::cti_timeout_check): (JSC::JITStubs::cti_register_file_check): (JSC::JITStubs::cti_op_loop_if_less): (JSC::JITStubs::cti_op_loop_if_lesseq): (JSC::JITStubs::cti_op_new_object): (JSC::JITStubs::cti_op_put_by_id_generic): (JSC::JITStubs::cti_op_get_by_id_generic): (JSC::JITStubs::cti_op_put_by_id): (JSC::JITStubs::cti_op_put_by_id_second): (JSC::JITStubs::cti_op_put_by_id_fail): (JSC::JITStubs::cti_op_get_by_id): (JSC::JITStubs::cti_op_get_by_id_second): (JSC::JITStubs::cti_op_get_by_id_self_fail): (JSC::JITStubs::cti_op_get_by_id_proto_list): (JSC::JITStubs::cti_op_get_by_id_proto_list_full): (JSC::JITStubs::cti_op_get_by_id_proto_fail): (JSC::JITStubs::cti_op_get_by_id_array_fail): (JSC::JITStubs::cti_op_get_by_id_string_fail): (JSC::JITStubs::cti_op_instanceof): (JSC::JITStubs::cti_op_del_by_id): (JSC::JITStubs::cti_op_mul): (JSC::JITStubs::cti_op_new_func): (JSC::JITStubs::cti_op_call_JSFunction): (JSC::JITStubs::cti_op_call_arityCheck): (JSC::JITStubs::cti_vm_dontLazyLinkCall): (JSC::JITStubs::cti_vm_lazyLinkCall): (JSC::JITStubs::cti_op_push_activation): (JSC::JITStubs::cti_op_call_NotJSFunction): (JSC::JITStubs::cti_op_create_arguments): (JSC::JITStubs::cti_op_create_arguments_no_params): (JSC::JITStubs::cti_op_tear_off_activation): (JSC::JITStubs::cti_op_tear_off_arguments): (JSC::JITStubs::cti_op_profile_will_call): (JSC::JITStubs::cti_op_profile_did_call): (JSC::JITStubs::cti_op_ret_scopeChain): (JSC::JITStubs::cti_op_new_array): (JSC::JITStubs::cti_op_resolve): (JSC::JITStubs::cti_op_construct_JSConstruct): (JSC::JITStubs::cti_op_construct_NotJSConstruct): (JSC::JITStubs::cti_op_get_by_val): (JSC::JITStubs::cti_op_get_by_val_string): (JSC::JITStubs::cti_op_get_by_val_byte_array): (JSC::JITStubs::cti_op_resolve_func): (JSC::JITStubs::cti_op_sub): (JSC::JITStubs::cti_op_put_by_val): (JSC::JITStubs::cti_op_put_by_val_array): (JSC::JITStubs::cti_op_put_by_val_byte_array): (JSC::JITStubs::cti_op_lesseq): (JSC::JITStubs::cti_op_loop_if_true): (JSC::JITStubs::cti_op_load_varargs): (JSC::JITStubs::cti_op_negate): (JSC::JITStubs::cti_op_resolve_base): (JSC::JITStubs::cti_op_resolve_skip): (JSC::JITStubs::cti_op_resolve_global): (JSC::JITStubs::cti_op_div): (JSC::JITStubs::cti_op_pre_dec): (JSC::JITStubs::cti_op_jless): (JSC::JITStubs::cti_op_not): (JSC::JITStubs::cti_op_jtrue): (JSC::JITStubs::cti_op_post_inc): (JSC::JITStubs::cti_op_eq): (JSC::JITStubs::cti_op_lshift): (JSC::JITStubs::cti_op_bitand): (JSC::JITStubs::cti_op_rshift): (JSC::JITStubs::cti_op_bitnot): (JSC::JITStubs::cti_op_resolve_with_base): (JSC::JITStubs::cti_op_new_func_exp): (JSC::JITStubs::cti_op_mod): (JSC::JITStubs::cti_op_less): (JSC::JITStubs::cti_op_neq): (JSC::JITStubs::cti_op_post_dec): (JSC::JITStubs::cti_op_urshift): (JSC::JITStubs::cti_op_bitxor): (JSC::JITStubs::cti_op_new_regexp): (JSC::JITStubs::cti_op_bitor): (JSC::JITStubs::cti_op_call_eval): (JSC::JITStubs::cti_op_throw): (JSC::JITStubs::cti_op_get_pnames): (JSC::JITStubs::cti_op_next_pname): (JSC::JITStubs::cti_op_push_scope): (JSC::JITStubs::cti_op_pop_scope): (JSC::JITStubs::cti_op_typeof): (JSC::JITStubs::cti_op_is_undefined): (JSC::JITStubs::cti_op_is_boolean): (JSC::JITStubs::cti_op_is_number): (JSC::JITStubs::cti_op_is_string): (JSC::JITStubs::cti_op_is_object): (JSC::JITStubs::cti_op_is_function): (JSC::JITStubs::cti_op_stricteq): (JSC::JITStubs::cti_op_to_primitive): (JSC::JITStubs::cti_op_strcat): (JSC::JITStubs::cti_op_nstricteq): (JSC::JITStubs::cti_op_to_jsnumber): (JSC::JITStubs::cti_op_in): (JSC::JITStubs::cti_op_push_new_scope): (JSC::JITStubs::cti_op_jmp_scopes): (JSC::JITStubs::cti_op_put_by_index): (JSC::JITStubs::cti_op_switch_imm): (JSC::JITStubs::cti_op_switch_char): (JSC::JITStubs::cti_op_switch_string): (JSC::JITStubs::cti_op_del_by_val): (JSC::JITStubs::cti_op_put_getter): (JSC::JITStubs::cti_op_put_setter): (JSC::JITStubs::cti_op_new_error): (JSC::JITStubs::cti_op_debug): (JSC::JITStubs::cti_vm_throw):
  • jit/JITStubs.h: (JSC::JITStackFrame::returnAddressSlot):
1:17 PM Changeset in webkit [43361] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Darin Adler <Darin Adler>

Reviewed by Geoff Garen.

  • parser/Lexer.cpp: (JSC::Lexer::lex): Fix missing braces. This would make us always take the slower case for string parsing and Visual Studio correctly noticed unreachable code.
1:16 PM Changeset in webkit [43360] by Dimitri Glazkov
  • 2 edits
    2 adds in trunk/WebCore

2009-05-07 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Darin Fisher.

https://bugs.webkit.org/show_bug.cgi?id=25625
Implement Image/Option constructors in V8 bindings.

  • bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::NAMED_PROPERTY_GETTER): Removed old JS-based code.
  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp: Added.
  • bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Added.
1:06 PM Changeset in webkit [43359] by christian@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-05-07 Christian Dywan <christian@twotoasts.de>

Reviewed by Gustavo Noronha.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::dispatchDidChangeLocationWithinPage): (WebKit::FrameLoaderClient::dispatchDidCommitLoad): Add missing call to notifyStatus in the committed case and a missing property notify.
1:03 PM Changeset in webkit [43358] by Darin Adler
  • 4 edits in trunk/JavaScriptCore

2009-05-07 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

Bug 25589: goto instead of state machine in lexer
https://bugs.webkit.org/show_bug.cgi?id=25589

SunSpider is 0.8% faster.

  • parser/Lexer.cpp: (JSC::Lexer::currentCharacter): Added. (JSC::Lexer::currentOffset): Changed to call currentCharacter for clarity. (JSC::Lexer::setCode): Removed code to set now-obsolete m_skipLineEnd. (JSC::Lexer::shiftLineTerminator): Added. Handles line numbers and the two-character line terminators. (JSC::Lexer::makeIdentifier): Changed to take characters and length rather than a vector, since we now make these directly out of the source buffer when possible. (JSC::Lexer::lastTokenWasRestrKeyword): Added. (JSC::isNonASCIIIdentStart): Broke out the non-inline part. (JSC::isIdentStart): Moved here. (JSC::isNonASCIIIdentPart): Broke out the non-inline part. (JSC::isIdentPart): Moved here. (JSC::singleEscape): Moved here, and removed some unneeded cases. (JSC::Lexer::record8): Moved here. (JSC::Lexer::record16): Moved here. (JSC::Lexer::lex): Rewrote this whole function to use goto and not use a state machine. Got rid of most of the local variables. Also rolled the matchPunctuator function in here. (JSC::Lexer::scanRegExp): Changed to use the new version of isLineTerminator. Clear m_buffer16 after using it instead of before.
  • parser/Lexer.h: Removed State enum, setDone function, nextLine function, lookupKeywordFunction, one of the isLineTerminator functions, m_done data member, m_skipLineEnd data member, and m_state data member. Added shiftLineTerminator function, currentCharacter function, and changed the arguments to the makeIdentifier function. Removed one branch from the isLineTerminator function.
  • runtime/StringPrototype.cpp: (JSC::stringProtoFuncReplace): Streamlined the case where we don't replace anything.
12:36 PM Changeset in webkit [43357] by beidson@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

2009-05-07 Brady Eidson <beidson@apple.com>

I hate myself for doing this, but need to fix that ChangeLog entry.

  • ChangeLog:
12:29 PM Changeset in webkit [43356] by beidson@apple.com
  • 3 edits in trunk/WebCore

2009-05-07 Brady Eidson <beidson@apple.com>

Rubberstamped by Darin Adler

  • html/HTMLParser.cpp: Use the correct style of BUILD_ON_* for WebCore.
  • html/HTMLParser.h: Ditto
12:13 PM Changeset in webkit [43355] by hyatt@apple.com
  • 203 edits in trunk

WebCore:

2009-05-07 David Hyatt <hyatt@apple.com>

Restore intrinsic margins to all form controls on Mac and Windows. Some of this regressed in 43007
when textareas were given explicit margins. Some of it had already regressed earlier whenever intrinsic
margins were turned off in themeWin.css.

Reviewed by Beth Dakin.

  • css/html4.css:
  • css/themeWin.css:

LayoutTests:

2009-05-07 David Hyatt <hyatt@apple.com>

Restore intrinsic margins to all form controls on Mac and Windows.

Reviewed by Beth Dakin.

  • fast/forms/text-control-intrinsic-widths-expected.txt:
  • fast/replaced/table-percent-height-text-controls-expected.txt:
  • platform/mac/editing/inserting/4960120-1-expected.checksum:
  • platform/mac/editing/inserting/4960120-1-expected.png:
  • platform/mac/editing/inserting/4960120-1-expected.txt:
  • platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.checksum:
  • platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.png:
  • platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.txt:
  • platform/mac/editing/pasteboard/pasting-tabs-expected.checksum:
  • platform/mac/editing/pasteboard/pasting-tabs-expected.png:
  • platform/mac/editing/pasteboard/pasting-tabs-expected.txt:
  • platform/mac/fast/css/resize-corner-tracking-expected.checksum:
  • platform/mac/fast/css/resize-corner-tracking-expected.png:
  • platform/mac/fast/css/resize-corner-tracking-expected.txt:
  • platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.checksum:
  • platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png:
  • platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/mac/fast/dynamic/008-expected.checksum:
  • platform/mac/fast/dynamic/008-expected.png:
  • platform/mac/fast/dynamic/008-expected.txt:
  • platform/mac/fast/forms/001-expected.checksum:
  • platform/mac/fast/forms/001-expected.png:
  • platform/mac/fast/forms/basic-textareas-expected.checksum:
  • platform/mac/fast/forms/basic-textareas-expected.png:
  • platform/mac/fast/forms/basic-textareas-expected.txt:
  • platform/mac/fast/forms/form-element-geometry-expected.checksum:
  • platform/mac/fast/forms/form-element-geometry-expected.png:
  • platform/mac/fast/forms/form-element-geometry-expected.txt:
  • platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.checksum:
  • platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.png:
  • platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.txt:
  • platform/mac/fast/forms/listbox-hit-test-zoomed-expected.checksum:
  • platform/mac/fast/forms/listbox-hit-test-zoomed-expected.png:
  • platform/mac/fast/forms/menulist-clip-expected.checksum:
  • platform/mac/fast/forms/menulist-clip-expected.png:
  • platform/mac/fast/forms/menulist-narrow-width-expected.checksum:
  • platform/mac/fast/forms/menulist-narrow-width-expected.png:
  • platform/mac/fast/forms/menulist-option-wrap-expected.checksum:
  • platform/mac/fast/forms/menulist-option-wrap-expected.png:
  • platform/mac/fast/forms/menulist-restrict-line-height-expected.checksum:
  • platform/mac/fast/forms/menulist-restrict-line-height-expected.png:
  • platform/mac/fast/forms/negativeLineHeight-expected.checksum:
  • platform/mac/fast/forms/negativeLineHeight-expected.png:
  • platform/mac/fast/forms/negativeLineHeight-expected.txt:
  • platform/mac/fast/forms/select-baseline-expected.checksum:
  • platform/mac/fast/forms/select-baseline-expected.png:
  • platform/mac/fast/forms/select-style-expected.checksum:
  • platform/mac/fast/forms/select-style-expected.png:
  • platform/mac/fast/forms/textAreaLineHeight-expected.checksum:
  • platform/mac/fast/forms/textAreaLineHeight-expected.png:
  • platform/mac/fast/forms/textAreaLineHeight-expected.txt:
  • platform/mac/fast/forms/textarea-align-expected.checksum:
  • platform/mac/fast/forms/textarea-align-expected.png:
  • platform/mac/fast/forms/textarea-align-expected.txt:
  • platform/mac/fast/forms/textarea-rows-cols-expected.checksum:
  • platform/mac/fast/forms/textarea-rows-cols-expected.png:
  • platform/mac/fast/forms/textarea-rows-cols-expected.txt:
  • platform/mac/fast/forms/textarea-scroll-height-expected.checksum:
  • platform/mac/fast/forms/textarea-scroll-height-expected.png:
  • platform/mac/fast/forms/textarea-scroll-height-expected.txt:
  • platform/mac/fast/forms/textarea-scrollbar-expected.checksum:
  • platform/mac/fast/forms/textarea-scrollbar-expected.png:
  • platform/mac/fast/forms/textarea-scrollbar-expected.txt:
  • platform/mac/fast/forms/textarea-scrolled-type-expected.checksum:
  • platform/mac/fast/forms/textarea-scrolled-type-expected.png:
  • platform/mac/fast/forms/textarea-scrolled-type-expected.txt:
  • platform/mac/fast/forms/textarea-setinnerhtml-expected.checksum:
  • platform/mac/fast/forms/textarea-setinnerhtml-expected.png:
  • platform/mac/fast/forms/textarea-setinnerhtml-expected.txt:
  • platform/mac/fast/forms/textarea-width-expected.checksum:
  • platform/mac/fast/forms/textarea-width-expected.png:
  • platform/mac/fast/forms/textarea-width-expected.txt:
  • platform/mac/fast/overflow/overflow-focus-ring-expected.checksum:
  • platform/mac/fast/overflow/overflow-focus-ring-expected.png:
  • platform/mac/fast/overflow/overflow-x-y-expected.checksum:
  • platform/mac/fast/overflow/overflow-x-y-expected.png:
  • platform/mac/fast/overflow/overflow-x-y-expected.txt:
  • platform/mac/fast/parser/comment-in-textarea-expected.checksum:
  • platform/mac/fast/parser/comment-in-textarea-expected.png:
  • platform/mac/fast/parser/comment-in-textarea-expected.txt:
  • platform/mac/fast/parser/entity-comment-in-textarea-expected.checksum:
  • platform/mac/fast/parser/entity-comment-in-textarea-expected.png:
  • platform/mac/fast/parser/entity-comment-in-textarea-expected.txt:
  • platform/mac/fast/parser/open-comment-in-textarea-expected.checksum:
  • platform/mac/fast/parser/open-comment-in-textarea-expected.png:
  • platform/mac/fast/parser/open-comment-in-textarea-expected.txt:
  • platform/mac/fast/replaced/selection-rect-transform-expected.png:
  • platform/mac/fast/replaced/width100percent-textarea-expected.checksum:
  • platform/mac/fast/replaced/width100percent-textarea-expected.png:
  • platform/mac/fast/replaced/width100percent-textarea-expected.txt:
  • platform/mac/fast/table/003-expected.checksum:
  • platform/mac/fast/table/003-expected.png:
  • platform/mac/fast/table/003-expected.txt:
  • platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.checksum:
  • platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.png:
  • platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
  • platform/mac/http/tests/navigation/anchor-basic-expected.txt:
  • platform/mac/http/tests/navigation/anchor-frames-expected.checksum:
  • platform/mac/http/tests/navigation/anchor-frames-expected.png:
  • platform/mac/http/tests/navigation/anchor-frames-expected.txt:
  • platform/mac/http/tests/navigation/anchor-goback-expected.checksum:
  • platform/mac/http/tests/navigation/anchor-goback-expected.png:
  • platform/mac/http/tests/navigation/anchor-goback-expected.txt:
  • platform/mac/http/tests/navigation/anchor-subframeload-expected.checksum:
  • platform/mac/http/tests/navigation/anchor-subframeload-expected.png:
  • platform/mac/http/tests/navigation/anchor-subframeload-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-basic-expected.checksum:
  • platform/mac/http/tests/navigation/javascriptlink-basic-expected.png:
  • platform/mac/http/tests/navigation/javascriptlink-basic-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-frames-expected.checksum:
  • platform/mac/http/tests/navigation/javascriptlink-frames-expected.png:
  • platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-goback-expected.checksum:
  • platform/mac/http/tests/navigation/javascriptlink-goback-expected.png:
  • platform/mac/http/tests/navigation/javascriptlink-goback-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.checksum:
  • platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.png:
  • platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.txt:
  • platform/mac/http/tests/navigation/metaredirect-basic-expected.checksum:
  • platform/mac/http/tests/navigation/metaredirect-basic-expected.png:
  • platform/mac/http/tests/navigation/metaredirect-basic-expected.txt:
  • platform/mac/http/tests/navigation/metaredirect-frames-expected.checksum:
  • platform/mac/http/tests/navigation/metaredirect-frames-expected.png:
  • platform/mac/http/tests/navigation/metaredirect-frames-expected.txt:
  • platform/mac/http/tests/navigation/metaredirect-goback-expected.checksum:
  • platform/mac/http/tests/navigation/metaredirect-goback-expected.png:
  • platform/mac/http/tests/navigation/metaredirect-goback-expected.txt:
  • platform/mac/http/tests/navigation/metaredirect-subframeload-expected.checksum:
  • platform/mac/http/tests/navigation/metaredirect-subframeload-expected.png:
  • platform/mac/http/tests/navigation/metaredirect-subframeload-expected.txt:
  • platform/mac/http/tests/navigation/post-goback2-expected.checksum:
  • platform/mac/http/tests/navigation/post-goback2-expected.png:
  • platform/mac/http/tests/navigation/post-goback2-expected.txt:
  • platform/mac/http/tests/navigation/postredirect-goback2-expected.checksum:
  • platform/mac/http/tests/navigation/postredirect-goback2-expected.png:
  • platform/mac/http/tests/navigation/postredirect-goback2-expected.txt:
  • platform/mac/http/tests/navigation/redirect302-basic-expected.checksum:
  • platform/mac/http/tests/navigation/redirect302-basic-expected.png:
  • platform/mac/http/tests/navigation/redirect302-basic-expected.txt:
  • platform/mac/http/tests/navigation/redirect302-frames-expected.checksum:
  • platform/mac/http/tests/navigation/redirect302-frames-expected.png:
  • platform/mac/http/tests/navigation/redirect302-frames-expected.txt:
  • platform/mac/http/tests/navigation/redirect302-goback-expected.checksum:
  • platform/mac/http/tests/navigation/redirect302-goback-expected.png:
  • platform/mac/http/tests/navigation/redirect302-goback-expected.txt:
  • platform/mac/http/tests/navigation/redirect302-subframeload-expected.checksum:
  • platform/mac/http/tests/navigation/redirect302-subframeload-expected.png:
  • platform/mac/http/tests/navigation/redirect302-subframeload-expected.txt:
  • platform/mac/http/tests/navigation/relativeanchor-basic-expected.txt:
  • platform/mac/http/tests/navigation/relativeanchor-frames-expected.checksum:
  • platform/mac/http/tests/navigation/relativeanchor-frames-expected.png:
  • platform/mac/http/tests/navigation/relativeanchor-frames-expected.txt:
  • platform/mac/http/tests/navigation/relativeanchor-goback-expected.txt:
  • platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.checksum:
  • platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.png:
  • platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.txt:
  • platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.checksum:
  • platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.png:
  • platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.txt:
  • platform/mac/http/tests/navigation/success200-basic-expected.checksum:
  • platform/mac/http/tests/navigation/success200-basic-expected.png:
  • platform/mac/http/tests/navigation/success200-basic-expected.txt:
  • platform/mac/http/tests/navigation/success200-frames-expected.checksum:
  • platform/mac/http/tests/navigation/success200-frames-expected.png:
  • platform/mac/http/tests/navigation/success200-frames-expected.txt:
  • platform/mac/http/tests/navigation/success200-frames-loadsame-expected.checksum:
  • platform/mac/http/tests/navigation/success200-frames-loadsame-expected.png:
  • platform/mac/http/tests/navigation/success200-frames-loadsame-expected.txt:
  • platform/mac/http/tests/navigation/success200-goback-expected.checksum:
  • platform/mac/http/tests/navigation/success200-goback-expected.png:
  • platform/mac/http/tests/navigation/success200-goback-expected.txt:
  • platform/mac/http/tests/navigation/success200-loadsame-expected.checksum:
  • platform/mac/http/tests/navigation/success200-loadsame-expected.png:
  • platform/mac/http/tests/navigation/success200-loadsame-expected.txt:
  • platform/mac/http/tests/navigation/success200-reload-expected.checksum:
  • platform/mac/http/tests/navigation/success200-reload-expected.png:
  • platform/mac/http/tests/navigation/success200-reload-expected.txt:
  • platform/mac/http/tests/navigation/success200-subframeload-expected.checksum:
  • platform/mac/http/tests/navigation/success200-subframeload-expected.png:
  • platform/mac/http/tests/navigation/success200-subframeload-expected.txt:
  • platform/mac/http/tests/navigation/timerredirect-basic-expected.checksum:
  • platform/mac/http/tests/navigation/timerredirect-basic-expected.png:
  • platform/mac/http/tests/navigation/timerredirect-basic-expected.txt:
  • platform/mac/http/tests/navigation/timerredirect-frames-expected.checksum:
  • platform/mac/http/tests/navigation/timerredirect-frames-expected.png:
  • platform/mac/http/tests/navigation/timerredirect-frames-expected.txt:
  • platform/mac/http/tests/navigation/timerredirect-goback-expected.checksum:
  • platform/mac/http/tests/navigation/timerredirect-goback-expected.png:
  • platform/mac/http/tests/navigation/timerredirect-goback-expected.txt:
  • platform/mac/http/tests/navigation/timerredirect-subframeload-expected.checksum:
  • platform/mac/http/tests/navigation/timerredirect-subframeload-expected.png:
  • platform/mac/http/tests/navigation/timerredirect-subframeload-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug194024-expected.checksum:
  • platform/mac/tables/mozilla/bugs/bug194024-expected.png:
  • platform/mac/tables/mozilla/bugs/bug194024-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug30559-expected.checksum:
  • platform/mac/tables/mozilla/bugs/bug30559-expected.png:
  • platform/mac/tables/mozilla/bugs/bug30559-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug30692-expected.txt:
12:09 PM Changeset in webkit [43354] by kevino@webkit.org
  • 5 edits in trunk

wx build fixes for Python extension and DRT.

12:03 PM Changeset in webkit [43353] by beidson@apple.com
  • 4 edits in trunk/WebCore

2009-05-07 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler and Alexey Proskuryakov.

<rdar://problem/6863795> Exception occurs in Mail when attempting to create signatures due to <head> element creation

  • dom/Document.cpp: (WebCore::Document::implicitClose): Check shouldCreateImplicitHead() before creating it.
  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Check shouldCreateImplicitHead() before creating it. (WebCore::HTMLParser::bodyCreateErrorCheck): Ditto. (WebCore::shouldCreateImplicitHead): For Tiger/Leopard when running under Mail, the implicit <head> shouldn't be created.
  • html/HTMLParser.h: (WebCore::shouldCreateImplicitHead): Inline implementation for non-Tiger/Leopard platforms
11:45 AM Changeset in webkit [43352] by ggaren@apple.com
  • 3 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Gavin Barraclough.

Removed a few more special constants, and replaced them with uses of
the JITStackFrame struct.

Removed one of the two possible definitions of VoidPtrPair. The Mac
definition was more elegant, but SunSpider doesn't think it's any
faster, and it's net less elegant to have two ways of doing things.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile):
  • jit/JITStubs.h: (JSC::):
11:44 AM Changeset in webkit [43351] by sfalken@apple.com
  • 2 edits in trunk/WebKitTools

Remove manifest fixup from r42729 to fix clean builds.

  • DumpRenderTree/win/DumpRenderTree.vcproj:
11:35 AM Changeset in webkit [43350] by ggaren@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Fixed Radar #

10:48 AM Changeset in webkit [43349] by Simon Fraser
  • 3 edits in trunk/WebKitLibraries

2009-05-07 Simon Fraser <Simon Fraser>

Source changes reviewed by Darin Adler

<rdar://problem/6864091> Endcap of media controls slider is fuzzy

  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceTiger.a:
10:45 AM Changeset in webkit [43348] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-05-07 Antony Sargent <asargent@chromium.org>

Reviewed by Darin Fisher.

Fix a memory leak in V8EventListenerList::remove.

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

No new functionality so no new tests.

  • bindings/v8/V8EventListenerList.cpp: (WebCore::V8EventListenerList::remove):
9:41 AM Changeset in webkit [43347] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Darin Adler <Darin Adler>

  • runtime/ScopeChain.h: (JSC::ScopeChainNode::~ScopeChainNode): Tweak formatting.
9:17 AM Changeset in webkit [43346] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-05-07 Darin Fisher <darin@chromium.org>

Fix Chromium build bustage.

  • bindings/v8/custom/V8HTMLFormElementCustom.cpp: Add missing HTMLCollection.h include.
9:01 AM Changeset in webkit [43345] by Chris Fleizach
  • 5 edits
    2 adds in trunk

Bug 25598: AX: if a radio button has a label and a title, the label is not exposed
https://bugs.webkit.org/show_bug.cgi?id=25598

8:57 AM Changeset in webkit [43344] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-05-07 Darin Fisher <darin@chromium.org>

Fix Chromium build bustage.

  • bindings/v8/custom/V8HTMLFormElementCustom.cpp: (WebCore::INDEXED_PROPERTY_GETTER): ":" should be "::"
6:59 AM Changeset in webkit [43343] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

Fix the build thread stack base determination build on Symbian,
by moving the code block before PLATFORM(UNIX), which is also
enabled on Symbian builds.

5:36 AM Changeset in webkit [43342] by xan@webkit.org
  • 2 edits in trunk/WebCore

2009-05-07 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=25610
[GTK] text.caretOffset is reportedly always 0

Use the right function to get the caret offset in an
element. selectionStart() would only work for text
controls (there's even an ASSERT when calculating the selected
text range). Instead just get the selection and get the offset of
the start position.

  • page/gtk/AccessibilityObjectWrapperAtk.cpp:
3:05 AM Changeset in webkit [43341] by oliver@apple.com
  • 3 edits in trunk/JavaScriptCore

Fix crash due to incorrectly using an invalid scopechain

Reviewed by Gavin Barraclough.

stringProtoFuncReplace was checking for an exception on a CachedCall
by asking for the cached callframes exception. Unfortunately this
could crash in certain circumstances as CachedCall does not guarantee
a valid callframe following a call. Even more unfortunately the check
was entirely unnecessary as there is only a single exception slot per
global data, so it was already checked via the initial exec->hadException()
check.

To make bugs like this more obvious, i've added a debug only destructor
to ScopeChainNode that 0's all of its fields. This exposed a crash in
the standard javascriptcore tests.

1:58 AM Changeset in webkit [43340] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2009-05-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>

Reviewed by Simon Hausmann.

[Qt] Fix support for antialiased CSS border-radius

WebKit implements border-radius by drawing a double-size border,
and then letting the clip constrain the border to the right width
and position. This requires support for antialiased clipping, as
well as painting, to get a nice smooth border.

Qt only does antialiased clipping if the anti-alias flag is set
at the time of clipping, so we have to enable this in the method
addInnerRoundedRectClip(), as well as when we draw the border.

Currently the raster-engine is the only Qt paint engine to support
anti-aliased clipping, but the OpenGL and Mac paint engines could
potentially support this in the future.

1:27 AM Changeset in webkit [43339] by barraclough@apple.com
  • 6 edits in trunk/JavaScriptCore

2009-05-07 Gavin Barraclough <barraclough@apple.com>

Reviewed by NOBODY (OOPS!).

Enable op_strcat across += assignments. This patch allows the lhs of a read/modify node
to be included within the concatenation operation, and also modifies the implementation
of the concatenation to attempt to reuse and cat onto the leftmost string, rather than
always allocating a new empty output string to copy into (as was previously the behaviour).

~0.5% progression, due to a 3%-3.5% progression on the string tests (particularly validate).

  • parser/Nodes.cpp: (JSC::BinaryOpNode::emitStrcat): (JSC::emitReadModifyAssignment): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::ReadModifyDotNode::emitBytecode): (JSC::ReadModifyBracketNode::emitBytecode):
  • parser/Nodes.h:
  • runtime/Operations.h: (JSC::concatenateStrings):
  • runtime/UString.cpp: (JSC::UString::reserveCapacity):
  • runtime/UString.h:
12:46 AM Changeset in webkit [43338] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Oliver Hunt.

Fix the build on Windows without JIT: interpreter/RegisterFile.h needs
roundUpAllocationSize, which is protected by #if ENABLED(ASSEMBLER).
Moved the #ifdef down and always offer the function.

12:42 AM Changeset in webkit [43337] by eric@webkit.org
  • 2 edits
    1 add in trunk/WebCore

2009-05-07 Adam Langley <agl@google.com>

Reviewed by Eric Seidel.

Render empty optgroup elements.

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

Currently, optgroup elements which are empty are not rendered. The
HTML specification gives no guidance on this situation.

However, the test for being empty is that they have no children, thus
this will not render:

<optgroup label="test"></optgroup>

while this /will/ render (because of the text node child):

<optgroup label="test"> </optgroup>

This patch will cause both cases to render which matches IE's and
Firefox's behaviour.

The difference only appears when opening the select element and does
not appear in the render tree. Thus, a manual layout-test is required.

  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::recalcListItems):
  • manual-tests/optgroup-empty-and-nested.html: Added.
12:38 AM Changeset in webkit [43336] by eric@webkit.org
  • 2 edits in trunk/WebKitSite

Reviewed by Maciej Stachowiak.

Update Contributing instructions after feedback from Julie Parent.
https://bugs.webkit.org/show_bug.cgi?id=25611

  • coding/contributing.html: Add a few more comments on ChangeLogs

May 6, 2009:

11:48 PM Changeset in webkit [43335] by eric@webkit.org
  • 2 edits in trunk/WebCore

2009-05-06 Julie Parent <jparent@google.com>

Reviewed by Eric Seidel.

Bug 25608: Unused m_frame in ChromiumClipboard.
https://bugs.webkit.org/show_bug.cgi?id=25608

  • platform/chromium/ClipboardChromium.h:

No tests added as this is only removing dead code, no functional changes.

11:36 PM Changeset in webkit [43334] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2009-05-06 Geoffrey Garen <ggaren@apple.com>

Reviewed by Gavin "++" Barraclough.


Added some abstraction around the JIT stub calling convention by creating
a struct to represent the persistent stack frame JIT code shares with
JIT stubs.


SunSpider reports no change.

  • jit/JIT.h:
  • jit/JITStubs.cpp: (JSC::JITStubs::cti_op_convert_this): (JSC::JITStubs::cti_op_end): (JSC::JITStubs::cti_op_add): (JSC::JITStubs::cti_op_pre_inc): (JSC::JITStubs::cti_timeout_check): (JSC::JITStubs::cti_register_file_check): (JSC::JITStubs::cti_op_loop_if_less): (JSC::JITStubs::cti_op_loop_if_lesseq): (JSC::JITStubs::cti_op_new_object): (JSC::JITStubs::cti_op_put_by_id_generic): (JSC::JITStubs::cti_op_get_by_id_generic): (JSC::JITStubs::cti_op_put_by_id): (JSC::JITStubs::cti_op_put_by_id_second): (JSC::JITStubs::cti_op_put_by_id_fail): (JSC::JITStubs::cti_op_get_by_id): (JSC::JITStubs::cti_op_get_by_id_second): (JSC::JITStubs::cti_op_get_by_id_self_fail): (JSC::JITStubs::cti_op_get_by_id_proto_list): (JSC::JITStubs::cti_op_get_by_id_proto_list_full): (JSC::JITStubs::cti_op_get_by_id_proto_fail): (JSC::JITStubs::cti_op_get_by_id_array_fail): (JSC::JITStubs::cti_op_get_by_id_string_fail): (JSC::JITStubs::cti_op_instanceof): (JSC::JITStubs::cti_op_del_by_id): (JSC::JITStubs::cti_op_mul): (JSC::JITStubs::cti_op_new_func): (JSC::JITStubs::cti_op_call_JSFunction): (JSC::JITStubs::cti_op_call_arityCheck): (JSC::JITStubs::cti_vm_dontLazyLinkCall): (JSC::JITStubs::cti_vm_lazyLinkCall): (JSC::JITStubs::cti_op_push_activation): (JSC::JITStubs::cti_op_call_NotJSFunction): (JSC::JITStubs::cti_op_create_arguments): (JSC::JITStubs::cti_op_create_arguments_no_params): (JSC::JITStubs::cti_op_tear_off_activation): (JSC::JITStubs::cti_op_tear_off_arguments): (JSC::JITStubs::cti_op_profile_will_call): (JSC::JITStubs::cti_op_profile_did_call): (JSC::JITStubs::cti_op_ret_scopeChain): (JSC::JITStubs::cti_op_new_array): (JSC::JITStubs::cti_op_resolve): (JSC::JITStubs::cti_op_construct_JSConstruct): (JSC::JITStubs::cti_op_construct_NotJSConstruct): (JSC::JITStubs::cti_op_get_by_val): (JSC::JITStubs::cti_op_get_by_val_string): (JSC::JITStubs::cti_op_get_by_val_byte_array): (JSC::JITStubs::cti_op_resolve_func): (JSC::JITStubs::cti_op_sub): (JSC::JITStubs::cti_op_put_by_val): (JSC::JITStubs::cti_op_put_by_val_array): (JSC::JITStubs::cti_op_put_by_val_byte_array): (JSC::JITStubs::cti_op_lesseq): (JSC::JITStubs::cti_op_loop_if_true): (JSC::JITStubs::cti_op_load_varargs): (JSC::JITStubs::cti_op_negate): (JSC::JITStubs::cti_op_resolve_base): (JSC::JITStubs::cti_op_resolve_skip): (JSC::JITStubs::cti_op_resolve_global): (JSC::JITStubs::cti_op_div): (JSC::JITStubs::cti_op_pre_dec): (JSC::JITStubs::cti_op_jless): (JSC::JITStubs::cti_op_not): (JSC::JITStubs::cti_op_jtrue): (JSC::JITStubs::cti_op_post_inc): (JSC::JITStubs::cti_op_eq): (JSC::JITStubs::cti_op_lshift): (JSC::JITStubs::cti_op_bitand): (JSC::JITStubs::cti_op_rshift): (JSC::JITStubs::cti_op_bitnot): (JSC::JITStubs::cti_op_resolve_with_base): (JSC::JITStubs::cti_op_new_func_exp): (JSC::JITStubs::cti_op_mod): (JSC::JITStubs::cti_op_less): (JSC::JITStubs::cti_op_neq): (JSC::JITStubs::cti_op_post_dec): (JSC::JITStubs::cti_op_urshift): (JSC::JITStubs::cti_op_bitxor): (JSC::JITStubs::cti_op_new_regexp): (JSC::JITStubs::cti_op_bitor): (JSC::JITStubs::cti_op_call_eval): (JSC::JITStubs::cti_op_throw): (JSC::JITStubs::cti_op_get_pnames): (JSC::JITStubs::cti_op_next_pname): (JSC::JITStubs::cti_op_push_scope): (JSC::JITStubs::cti_op_pop_scope): (JSC::JITStubs::cti_op_typeof): (JSC::JITStubs::cti_op_is_undefined): (JSC::JITStubs::cti_op_is_boolean): (JSC::JITStubs::cti_op_is_number): (JSC::JITStubs::cti_op_is_string): (JSC::JITStubs::cti_op_is_object): (JSC::JITStubs::cti_op_is_function): (JSC::JITStubs::cti_op_stricteq): (JSC::JITStubs::cti_op_to_primitive): (JSC::JITStubs::cti_op_strcat): (JSC::JITStubs::cti_op_nstricteq): (JSC::JITStubs::cti_op_to_jsnumber): (JSC::JITStubs::cti_op_in): (JSC::JITStubs::cti_op_push_new_scope): (JSC::JITStubs::cti_op_jmp_scopes): (JSC::JITStubs::cti_op_put_by_index): (JSC::JITStubs::cti_op_switch_imm): (JSC::JITStubs::cti_op_switch_char): (JSC::JITStubs::cti_op_switch_string): (JSC::JITStubs::cti_op_del_by_val): (JSC::JITStubs::cti_op_put_getter): (JSC::JITStubs::cti_op_put_setter): (JSC::JITStubs::cti_op_new_error): (JSC::JITStubs::cti_op_debug): (JSC::JITStubs::cti_vm_throw):
  • jit/JITStubs.h: (JSC::):
8:38 PM Changeset in webkit [43333] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Simon Fraser and Justin Garcia.

  • fix another part of <rdar://problem/6703873> Triple-click quoted line and type Return creates an extra quoted blank line

Test: editing/inserting/6703873-2.html

  • editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply): Corrected the logic for determining the first node that should go into the new blockquote given the split position: if it is at the end of a container, use the next node after the container. Otherwise, use the child at the position's offset.

LayoutTests:

Reviewed by Simon Fraser and Justin Garcia.

  • test for another part of <rdar://problem/6703873> Triple-click quoted line and type Return creates an extra quoted blank line
  • editing/inserting/6703873-2-expected.txt: Added.
  • editing/inserting/6703873-2.html: Added.
6:23 PM Changeset in webkit [43332] by Simon Fraser
  • 2 edits in trunk/WebCore

2009-05-06 Simon Fraser <Simon Fraser>

Rubber-stampted by Eric Seidel

Add braces to clarify logic flow in RenderObject::adjustStyleDifference.
Only affects ACCELERATED_COMPOSITING builds.

  • rendering/RenderObject.cpp: (WebCore::RenderObject::adjustStyleDifference):
5:06 PM Changeset in webkit [43331] by barraclough@apple.com
  • 15 edits in trunk/JavaScriptCore

2009-05-06 Gavin Barraclough <barraclough@apple.com>

Reviewed by Maciej Stachowiak & Darin Adler.

Improve string concatenation (as coded in JS as a sequence of adds).

Detect patterns corresponding to string concatenation, and change the bytecode
generation to emit a new op_strcat instruction. By handling the full set of
additions within a single function we do not need allocate JSString wrappers
for intermediate results, and we can calculate the size of the output string
prior to allocating storage, in order to prevent reallocation of the buffer.

1.5%-2% progression on Sunspider, largely due to a 30% progression on date-format-xparb.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump):

Add new opcodes.

  • bytecode/Opcode.h:

Add new opcodes.

  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitStrcat): (JSC::BytecodeGenerator::emitToPrimitive):

Add generation of new opcodes.

  • bytecompiler/BytecodeGenerator.h:

Add generation of new opcodes.

  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute):

Add implmentation of new opcodes.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):

Add implmentation of new opcodes.

  • jit/JITStubs.cpp: (JSC::JITStubs::cti_op_to_primitive): (JSC::JITStubs::cti_op_strcat):

Add implmentation of new opcodes.

  • jit/JITStubs.h:

Add implmentation of new opcodes.

  • parser/Nodes.cpp: (JSC::BinaryOpNode::emitStrcat): (JSC::BinaryOpNode::emitBytecode): (JSC::ReadModifyResolveNode::emitBytecode):

Add generation of new opcodes.

  • parser/Nodes.h: (JSC::ExpressionNode::): (JSC::AddNode::):

Add methods to allow identification of add nodes.

  • parser/ResultType.h: (JSC::ResultType::definitelyIsString): (JSC::ResultType::forAdd):

Fix error in detection of adds that will produce string results.

  • runtime/Operations.h: (JSC::concatenateStrings):

Add implmentation of new opcodes.

  • runtime/UString.cpp: (JSC::UString::appendNumeric):

Add methods to append numbers to an existing string.

  • runtime/UString.h: (JSC::UString::Rep::createEmptyBuffer): (JSC::UString::BaseString::BaseString):

Add support for creating an empty string with a non-zero capacity available in the BaseString.

4:56 PM Changeset in webkit [43330] by kevino@webkit.org
  • 7 edits in trunk

wx build fix, fixes for wx trunk builds.

3:55 PM Changeset in webkit [43329] by levin@chromium.org
  • 2 edits in trunk/WebCore

2009-05-06 Albert J. Wong <ajwong@chromium.org>

Reviewed by Darin Fisher.

https://bugs.webkit.org/show_bug.cgi?id=25597
Fix API drift compile errors that occurred while this was ifdef-ed out.
The two big issues were that RenderObject::element() became
RenderObject::node() and some of the wk* drawing functions had
an extra theme parameter added to the argument list.

  • rendering/RenderThemeChromiumMac.mm: (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton): (WebCore::RenderThemeChromiumMac::paintMediaMuteButton): (WebCore::RenderThemeChromiumMac::paintMediaPlayButton): (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton): (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton): (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack): (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
3:00 PM Changeset in webkit [43328] by levin@chromium.org
  • 3 edits in trunk/WebCore

2009-05-06 Jian Li <jianli@chromium.org>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=25385
Upstream changes to V8 bindings for supporting nested workers.

  • bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::ToV8Object): (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
  • bindings/v8/custom/V8WorkerCustom.cpp: (WebCore::getEventListener): (WebCore::ACCESSOR_SETTER WorkerOnmessage): (WebCore::CALLBACK_FUNC_DECL WorkerAddEventListener):
3:00 PM Changeset in webkit [43327] by levin@chromium.org
  • 2 edits in trunk/WebCore

2009-05-06 Dave Moore <davemoore@google.com>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=25513
The V8 bindings convert every javascript property to its associated css style
name. It then calls functions that convert that name to an id. This makes
getting or setting css styles on elements slow.

The patch fixes this by caching the results of the transformation, mapping a
javascript property name to its css property id. It then calls the already
public webkit methods that take the id in place of the string property names.

  • bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
3:00 PM Changeset in webkit [43326] by levin@chromium.org
  • 2 edits in trunk/WebCore

2009-05-06 Nate Chapin <japhet@google.com>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=25591
Upstream V8HTMLFormElement from the Chromium repository.

  • bindings/v8/custom/V8HTMLFormElementCustom.cpp: (WebCore::INDEXED_PROPERTY_GETTER HTMLFormElement): Upstreamed from Chromium repository (WebCore::NAMED_PROPERTY_GETTER HTMLFormElement): Changed empty element return case to return notHandledByInterceptor(); (WebCore::CALLBACK_FUNC_DECL HTMLFormElementSubmit): Upstreamed from Chromium repository
2:59 PM Changeset in webkit [43325] by levin@chromium.org
  • 1 edit
    1 add in trunk/WebCore

2009-05-06 Albert J. Wong <ajwong@chromium.org>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=25595
Upstream V8CanvasPixelArrayCustom from chromium port tree.

  • bindings/v8/V8CanvasPixelArrayCustom.cpp: Added.
2:31 PM Changeset in webkit [43324] by Simon Fraser
  • 3 edits in trunk/WebCore

2009-05-06 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

<rdar://problem/6862550> Reduce size of RenderText in 64-bit

Rearrange data members of RenderText so that an int comes
first, to minimize padding.

  • rendering/RenderText.cpp: (WebCore::RenderText::RenderText):
  • rendering/RenderText.h:
2:21 PM Changeset in webkit [43323] by Simon Fraser
  • 3 edits in trunk/WebCore

2009-05-06 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

<rdar://problem/6862823> Reduce size of RenderStyle in 64-bit

Rearrange data members of RenderStyle to minimize padding
when building for 64-bit.

  • rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::RenderStyle):
  • rendering/style/RenderStyle.h: (WebCore::):
2:07 PM Changeset in webkit [43322] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-05-06 Darin Fisher <darin@chromium.org>

Reviewed by Dimitri Glazkov.

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

Fixes Chromium build bustage caused by r43317 (making
RefCountedBase::m_refCount private)

  • page/chromium/AccessibilityObjectWrapper.h: (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper):
12:57 PM Changeset in webkit [43321] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-05-06 Hin-Chung Lam <hclam@chromium.org>

Reviewed by Darin Fisher.

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

Refactor for MediaPlayerPrivate for Chromium port. Remove
the implementation of MediaPlayerPrivateInferface from it.

12:46 PM Changeset in webkit [43320] by kov@webkit.org
  • 1 edit
    1 add in trunk/WebKit/gtk/po

2009-05-06 Daniel Nylander <po@danielnylander.se>

Rubber-stamped by Gustavo Noronha.

Swedish translation for WebKitGTK+.

  • sv.po: Added.
12:38 PM Changeset in webkit [43319] by kov@webkit.org
  • 5 edits in trunk/WebKit/gtk

2009-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=24786
WebKitDownload sometimes suggests peculiar filenames

When a download is requested by an ongoing request, use the already
provided response to set the suggested filename for the WebKitDownload
object, if available.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::download):
  • webkit/webkitdownload.cpp: (_WebKitDownloadPrivate::webkit_download_set_property): (_WebKitDownloadPrivate::webkit_download_get_suggested_filename): (_WebKitDownloadPrivate::webkit_download_set_suggested_filename):
  • webkit/webkitprivate.h:
  • webkit/webkitwebview.cpp:
12:23 PM Changeset in webkit [43318] by sfalken@apple.com
  • 4 edits in trunk

WebKit/win:

2009-05-06 Steve Falkenburg <sfalken@apple.com>

Change default value of WebKitPaintNativeControls to true.


Reviewed by Adam Roben.

  • WebPreferences.cpp: (WebPreferences::initializeDefaultSettings):

WebKitTools:

2009-05-06 Steve Falkenburg <sfalken@apple.com>

Explicitly set WebKitPaintNativeControls to false to allow Windows results to match Mac.

Reviewed by Adam Roben.

  • DumpRenderTree/win/DumpRenderTree.cpp: (resetWebViewToConsistentStateBeforeTesting):
12:15 PM Changeset in webkit [43317] by Darin Adler
  • 3 edits in trunk/JavaScriptCore

2009-05-06 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

Made RefCounted::m_refCount private.

  • runtime/Structure.h: Removed addressOfCount.
  • wtf/RefCounted.h: Made m_refCount private. Added addressOfCount.
11:57 AM Changeset in webkit [43316] by Simon Fraser
  • 3 edits in trunk/WebCore

2009-05-06 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt, Dan Bernstein

<rdar://problem/6860197> Reduce the size of FontFallbackList in 64-bit

Re-order the data members of FontFallbackList to save 8 bytes when building 64-bit.

  • platform/graphics/FontFallbackList.cpp: (WebCore::FontFallbackList::FontFallbackList):
  • platform/graphics/FontFallbackList.h:
11:47 AM Changeset in webkit [43315] by Simon Fraser
  • 2 edits in trunk/WebCore

2009-05-06 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler, Dan Bernstein

<rdar://problem/6860068> Reduce size of InlineBox in 64-bit

Re-order the data members of InlineBox to save 8 bytes when building 64-bit.

  • rendering/InlineBox.h: (WebCore::InlineBox::InlineBox):
11:28 AM Changeset in webkit [43314] by levin@chromium.org
  • 1 edit
    1 add in trunk/WebCore

2009-05-06 David Levin <levin@chromium.org>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=25588
Adding the custom v8 bindings Document.location.

  • bindings/v8/custom/V8DocumentLocationCustom.cpp: Added.
11:17 AM Changeset in webkit [43313] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2009-05-06 Darin Adler <Darin Adler>

Fixed assertion seen a lot!

  • parser/Nodes.cpp: (JSC::FunctionBodyNode::~FunctionBodyNode): Removed now-bogus assertion.
10:50 AM Changeset in webkit [43312] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2009-05-06 Kevin McCullough <kmccullough@apple.com>

-Clarified a comment

  • editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply):
10:10 AM Changeset in webkit [43311] by Darin Adler
  • 9 edits
    1 copy in trunk/JavaScriptCore

2009-05-06 Darin Adler <Darin Adler>

Working with Sam Weinig.

Redo parse tree constructor optimization without breaking the Windows
build the way I did yesterday. The previous try broke the build by adding
an include of Lexer.h and all its dependencies that had to work outside
the JavaScriptCore project.

  • GNUmakefile.am: Added NodeConstructors.h.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Ditto.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops: Removed byteocde directory -- we no longer are trying to include Lexer.h outside JavaScriptCore.
  • JavaScriptCore.xcodeproj/project.pbxproj: Change SegmentedVector.h and Lexer.h back to internal files. Added NodeConstructors.h.
  • parser/Grammar.y: Added include of NodeConstructors.h. Changed use of ConstDeclNode to use public functions.
  • parser/NodeConstructors.h: Copied from parser/Nodes.h. Just contains the inlined constructors now.
  • parser/Nodes.cpp: Added include of NodeConstructors.h. Moved node constructors into the header. (JSC::FunctionBodyNode::FunctionBodyNode): Removed m_refCount initialization.
  • parser/Nodes.h: Removed all the constructor definitions, and also removed the JSC_FAST_CALL from them since these are all inlined, so the calling convention is irrelevant. Made more things private. Used a data member for operator opcodes instead of a virtual function. Removed the special FunctionBodyNode::ref/deref functions since the default functions are now just as fast.
  • runtime/FunctionConstructor.cpp: (JSC::extractFunctionBody): Fixed types here so we don't typecast until after we do type checking.
8:44 AM Changeset in webkit [43310] by Nikolas Zimmermann
  • 21 edits in trunk/WebCore

Not reviewed. Fix WML enabled builds by including "MappedAttribute.h" in several places.

8:24 AM Changeset in webkit [43309] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

2009-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Disable more new tests.

  • platform/gtk/Skipped:
7:25 AM Changeset in webkit [43308] by xan@webkit.org
  • 2 edits in trunk/WebCore

2009-05-06 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=25526
[Gtk] Additional support is needed for caret browsing

Emit AtkText::text-selection-changed when the selection changes
and the current selection is of Range (ie, the start and end
positions are different) type. This seems to match what Gecko
does.

  • editing/gtk/SelectionControllerGtk.cpp: (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
7:24 AM Changeset in webkit [43307] by xan@webkit.org
  • 3 edits
    2 adds in trunk/WebCore

2009-05-05 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=25526
[Gtk] Additional support is needed for caret browsing

Emit AtkText::text-caret-moved when selection changes.

  • GNUmakefile.am:
  • editing/SelectionController.h:
  • editing/gtk/SelectionController.cpp: Added. (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
7:04 AM Changeset in webkit [43306] by zecke@webkit.org
  • 3 edits in trunk/WebCore

2009-05-06 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Gustavo Noronha.

Use mozilla cursors for the previously not implemented
cursors. The manual-tests/cursor.html is looking complete
now.

  • platform/gtk/CursorGtk.cpp: (WebCore::cellCursor): (WebCore::noDropCursor): (WebCore::progressCursor): (WebCore::noneCursor): (WebCore::notAllowedCursor): (WebCore::grabCursor): (WebCore::grabbingCursor):
  • platform/gtk/CursorGtk.h:
7:03 AM Changeset in webkit [43305] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2009-05-06 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Xan Lopez.

Properly indent the header file.

  • platform/gtk/CursorGtk.h:
7:03 AM Changeset in webkit [43304] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2009-05-06 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Gustavo Noronha.

Use the mozilla copyright header. Use MPL1.1/GPL2.0
and LGPL2.1 as the license compared to LGPL2.0.

  • platform/gtk/CursorGtk.h:
7:03 AM Changeset in webkit [43303] by zecke@webkit.org
  • 3 edits in trunk/WebCore

2009-05-06 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Gustavo Noronha.

Move PluginView::invalidateRegion from the
TemporaryLinkStubs to PluginViewGtk.cpp and implement
it with a call to Widget::invalidate() just like
mac is doing. Optimisations would have to be window
system specific.

  • platform/gtk/TemporaryLinkStubs.cpp:
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::invalidateRegion):
6:56 AM Changeset in webkit [43302] by jmalonzo@webkit.org
  • 14 edits in trunk/WebKit/gtk

2009-05-06 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Holger Freyther.

GTK+ API implementation files have bogus extern "C" entries
https://bugs.webkit.org/show_bug.cgi?id=24322

Remove bogus extern "C" from the source files.

  • webkit/webkitdownload.cpp: (DownloadClient::cannotShowURL):
  • webkit/webkiterror.cpp: (webkit_plugin_error_quark):
  • webkit/webkitnetworkrequest.cpp: (webkit_network_request_get_uri):
  • webkit/webkitprivate.cpp: (webkit_init):
  • webkit/webkitversion.cpp: (webkit_micro_version):
  • webkit/webkitwebbackforwardlist.cpp:
  • webkit/webkitwebframe.cpp: (webkit_web_frame_get_load_status):
  • webkit/webkitwebhistoryitem.cpp:
  • webkit/webkitwebinspector.cpp: (webkit_web_inspector_set_inspector_client):
  • webkit/webkitwebnavigationaction.cpp: (webkit_web_navigation_action_get_modifier_state):
  • webkit/webkitwebpolicydecision.cpp: (webkit_web_policy_decision_cancel):
  • webkit/webkitwebsettings.cpp: (webkit_web_settings_get_spell_languages):
  • webkit/webkitwebview.cpp:
  • webkit/webkitwebwindowfeatures.cpp: (webkit_web_window_features_equal):
6:24 AM Changeset in webkit [43301] by eric@webkit.org
  • 2 edits in trunk/LayoutTests

2009-05-06 Eric Seidel <eric@webkit.org>

No review, just fixing my previous broken commit.

Commit correct results for event-function-toString.html

  • fast/events/event-function-toString-expected.txt:
6:20 AM Changeset in webkit [43300] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

2009-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Fixing typo in my last commit.

  • platform/gtk/Skipped:
6:12 AM Changeset in webkit [43299] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

2009-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Disabling failing new tests that do not represent regressions.

  • platform/gtk/Skipped:
6:12 AM Changeset in webkit [43298] by Simon Hausmann
  • 2 edits in trunk/WebCore

2009-05-06 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Ariya Hidayat.

Fix the Qt build on Windows.

6:11 AM Changeset in webkit [43297] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2009-05-06 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Ariya Hidayat.

Fix the Qt build on Windows.

6:11 AM Changeset in webkit [43296] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2009-05-06 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Ariya Hidayat.

Enable the JIT for the Qt build on Windows.

5:24 AM Changeset in webkit [43295] by jmalonzo@webkit.org
  • 4 edits in trunk

2009-05-06 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Holger Freyther.

Misc fixes to InspectorClientGtk.

  • GNUmakefile.am: Add localizedStrings.js to webinspector_DATA. This prevents copious amounts "Localized string not found" errors in the console

2009-05-06 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Holger Freyther.

Misc fixes to InspectorClientGtk.

  • WebCoreSupport/InspectorClientGtk.cpp: (WebKit::InspectorClient::createPage): use g_filename_to_uri to get the URI and use web_view_load_uri instead of the deprecated web_view_open method for loading the URI. (WebKit::InspectorClient::localizedStringsURL): implement.
3:40 AM QtWebKitJournal edited by Simon Hausmann
(diff)
3:39 AM QtWebKitTodo edited by Simon Hausmann
(diff)
3:32 AM Applications using WebKit edited by dan@f-box.org
adding Air Browser (diff)
3:26 AM Changeset in webkit [43294] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

2009-05-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>

Reviewed by Simon Hausmann.

Improve behaviour of the QWebElement enclose* functions, to work
similar to the jQuery wrap functions. We now enclose the contents
of the element in the child of the deepest descendant element
within the structure of the enclose element structure given.

3:23 AM Changeset in webkit [43293] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2009-05-06 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>

Reviewed by Simon Hausmann.

After commit rev @43215, setHtml() without a <head> tag,
automatically adds it, so update our test case to respect this.

2:34 AM Changeset in webkit [43292] by Simon Hausmann
  • 4 edits in trunk

JavaScriptCore:

2009-05-06 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

Tweak JavaScriptCore.pri for being able to override the generated sources dir for the
generated_files target.

WebCore:

2009-05-06 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

Tweak WebCore.pro for being able to override the generated sources dir for the
generated_files target.

2:12 AM Changeset in webkit [43291] by Simon Hausmann
  • 2 edits in trunk/WebCore

2009-05-06 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Holger Freyther.

Fix the Qt/Windows build, use iface instead of interface to avoid conflict
with VS2005 headers.

1:53 AM Changeset in webkit [43290] by Simon Hausmann
  • 2 edits in trunk/WebCore

2009-05-06 Joerg Bornemann <joerg.bornemann@trolltech.com>

Reviewed by Simon Hausmann.

We need to include StringExtras.h on Windows CE to access the strdup function.

1:25 AM Changeset in webkit [43289] by eric@webkit.org
  • 5 edits
    3 adds in trunk

2009-05-06 Soren Gjesse <sgjesse@chromium.org>

Reviewed by Eric Seidel.

Changed the toString behaviour for non document dom node event handlers in the V8 bindings.
https://bugs.webkit.org/show_bug.cgi?id=25544

In the V8 bindings non document dom node event handlers are wrapped in a number of with blocks and uses an inner
function. This causes the default toString on such a handler to return all this wrapper code. As some web sites
use the source of an event handler to create new functions this wrapper code causes compatibility problems.

Create a specific toString function for these handlers which will return a function source compatible with the
source returned by the JSC bindings and other browsers.

Test: fast/events/event-function-toString.html

  • bindings/v8/ScriptEventListener.cpp: (WebCore::createAttributeEventListener):
  • bindings/v8/V8LazyEventListener.cpp: (WebCore::V8LazyEventListener::V8LazyEventListener): (WebCore::V8LazyEventListener::getListenerFunction): (WebCore::V8LazyEventListenerToString): (WebCore::V8LazyEventListener::getWrappedListenerFunction):
  • bindings/v8/V8LazyEventListener.h: (WebCore::V8LazyEventListener::create):
1:20 AM Changeset in webkit [43288] by vestbo@webkit.org
  • 11 edits in trunk

Build QtWebKit as a framework on Mac

This implies both debug and release build by default, unless
one of the --debug or --release config options are passed to
the build-webkit script.

Frameworks can be disabled by passing CONFIG+=webkit_no_framework
to the build-webkit script.

To be able to build both debug and release targets in parallel
we have to use separate output directories for the generated
sources, which is not optimal, but required to avoid race conditions.

An optimization would be to only require this spit-up on Mac.

1:20 AM Changeset in webkit [43287] by vestbo@webkit.org
  • 4 edits in trunk

[Qt] Use $$GENERATED_SOURCES_DIR as output when running bison

A couple of the generators left the bison output file in the source
tree, and then moved it into $$GENERATED_SOURCES_DIR, which did not
work well when building release and debug configurations in parallel.

1:02 AM Changeset in webkit [43286] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Justin Garcia.

  • fix an assertion failure in RemoveNodeCommand() when deleting a <br> between a block and a mail blockquote

Test: editing/deleting/removeNodeCommand-assert.html

  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::mergeParagraphs): Pass the start block to prune() instead of passing m_upstreamStart.node(), because the latter may have been removed already.

LayoutTests:

Reviewed by Justin Garcia.

  • test for an assertion failure in RemoveNodeCommand() when deleting a <br> between a block and a mail blockquote
  • editing/deleting/removeNodeCommand-assert-expected.txt: Added.
  • editing/deleting/removeNodeCommand-assert.html: Added.
12:27 AM Changeset in webkit [43285] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

2009-05-06 Simon Hausmann <simon.hausmann@nokia.com>

Unreviewed Qt build fix.

Dont' use ENABLE() in Qt API headers, as they are not available when building
against the API.

Note: See TracTimeline for information about the timeline view.