WebKit-https.git
7 years agoPrettyPatch doesn't handle UTF-8 characters correctly
mrobinson@webkit.org [Tue, 9 Jul 2013 17:30:13 +0000 (17:30 +0000)]
PrettyPatch doesn't handle UTF-8 characters correctly
https://bugs.webkit.org/show_bug.cgi?id=45760

Reviewed by Adam Roben.

* PrettyPatch/PrettyPatch.rb: Since the diff lines are typically in UTF-8 and the results
of PrettyPatch may be served by a web server or not (for instance when accessed via
webkit-patch pretty-diff), we should use a meta tag to force the page encoding to UTF-8.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152496 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Windows] Compile fix.
commit-queue@webkit.org [Tue, 9 Jul 2013 16:22:29 +0000 (16:22 +0000)]
[Windows] Compile fix.
https://bugs.webkit.org/show_bug.cgi?id=106558

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-07-09
Reviewed by Brent Fulgham.

On Windows, dispatch.h needs to be included before certain CFNetwork headers.

* WebCorePrefix.h: Include dispatch.h.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152495 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix 30% JSBench regression (caused by adding column numbers to stack traces).
mark.lam@apple.com [Tue, 9 Jul 2013 16:15:12 +0000 (16:15 +0000)]
Fix 30% JSBench regression (caused by adding column numbers to stack traces).
https://bugs.webkit.org/show_bug.cgi?id=118481.

Reviewed by Mark Hahnenberg and Geoffrey Garen.

Source/JavaScriptCore:

Previously, we already capture ExpressionRangeInfo that provides a divot for
each bytecode that can potentially throw an exception (and therefore generate
a stack trace). On first attempt to compute column numbers, we then do a walk
of the source string to record all line start positions in a table associated
with the SourceProvider. The column number can then be computed as
    divot - lineStartFor(bytecodeOffset).

The computation of this lineStarts table is the source of the 30% JSBench
performance regression.

The new code now records lineStarts as the lexer and parser scans the source
code. These lineStarts are then used to compute the column number for the
given divot, and stored in the ExpressionRangeInfo. Similarly, we also capture
the line number at the divot point and store that in the ExpressionRangeInfo.
Hence, to look up line and column numbers, we now lookup the ExpressionRangeInfo
for the bytecodeOffset, and then compute the line and column from the values
stored in the expression info.

The strategy:
1. We want to minimize perturbations to the lexer and parser. Specifically,
   the changes added should not change how it scans code, and generate bytecode.
2. We regard the divot as the source character position we are interested
   in. As such, we'll capture line and lineStart (for column) at the point
   when we capture the divot information. This ensures that the 3 values are
   consistent.

How the change is done:
1. Change the lexer to track lineStarts.
2. Change the parser to capture line and lineStarts at the point of capturing
   divots.
3. Change the parser and associated code to plumb these values all the way to
   the point that the correspoinding ExpressionRangeInfo is emitted.
4. Propagate and record SourceCode firstLine and firstLineColumnOffset to the
   the necessary places so that we can add them as needed when reifying
   UnlinkedCodeBlocks into CodeBlocks.
5. Compress the line and column number values in the ExpressionRangeInfo. In
   practice, we seldom have both large line and column numbers. Hence, we can
   encode both in an uint32_t most of the time. For the times when we encounter
   both large line and column numbers, we have a fallback to store the "fat"
   position info.
6. Emit an ExpressionRangeInfo for UnaryOp nodes to get more line and column
   number coverage.
7. Change the interpreter to use the new way of computing line and column.
8. Delete old line and column computation code that is now unused.

Misc details:
- the old lexer was tracking both a startOffset and charPosition where
  charPosition equals startOffset - SourceCode.startOffset. We now use
  startOffset exclusively throughout the system for consistency.
  All offset values (including lineStart) are relative to the start of the
  SourceProvider string. These values will only be converted to be relative
  to the SourceCode.startOffset at the very last minute i.e. when the divot
  is stored into the ExpressionRangeInfo.

  This change to use the same offset system everywhere reduces confusion
  from having to convert back and forth between the 2 systems. It also
  enables a lot of assertions to be used.

- Also fixed some bugs in the choice of divot positions to use. For example,
  both Eval and Function expressions previously used column numbers from
  the start of the expression but used the line number at the end of the
  expression. This is now fixed to use either the start or end positions
  as appropriate, but not a mix of line and columns from both.

- Why use ints instead of unsigneds for offsets and lineStarts inside the
  lexer and parser?
  Some tests (e.g. fast/js/call-base-resolution.html and
  fast/js/eval-cross-window.html) has shown that lineStart offsets can be
  prior to the SourceCode.startOffset. Keeping the lexer offsets as ints
  simplifies computations and makes it easier to maintain the assertions
  that (startOffset >= lineStartOffset).

  However, column and line numbers are always unsigned when we publish
  them to the ExpressionRangeInfo. The ints are only used inside the
  lexer and parser ... well, and bytecode generator.

- For all cases, lineStart is always captured where the divot is captured.
  However, some sputnik conformance tests have shown that we cannot honor
  line breaks for assignment statements like the following:

      eval("x\u000A*=\u000A-1;");

  In this case, the lineStart is expected to be captured at the start of
  the assignment expression instead of at the divot point in the middle.
  The assignment expression is the only special case for this.

This patch has been tested against the full layout tests both with release
and debug builds with no regression.

* API/JSContextRef.cpp:
(JSContextCreateBacktrace):
  - Updated to use the new StackFrame::computeLineAndColumn().
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
  - Added m_firstLineColumnOffset initialization.
  - Plumbed the firstLineColumnOffset into the SourceCode.
  - Initialized column for op_debug using the new way.
(JSC::CodeBlock::lineNumberForBytecodeOffset):
  - Changed to compute line number using the ExpressionRangeInfo.
(JSC::CodeBlock::columnNumberForBytecodeOffset): Added
  - Changed to compute column number using the ExpressionRangeInfo.
(JSC::CodeBlock::expressionRangeForBytecodeOffset):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::firstLineColumnOffset):
(JSC::GlobalCodeBlock::GlobalCodeBlock):
  - Plumbed firstLineColumnOffset through to the super class.
(JSC::ProgramCodeBlock::ProgramCodeBlock):
  - Plumbed firstLineColumnOffset through to the super class.
(JSC::EvalCodeBlock::EvalCodeBlock):
  - Plumbed firstLineColumnOffset through to the super class.
    But for EvalCodeBlocks, the firstLineColumnOffset is always 1
    because we're starting with a new source string with no start
    offset.
(JSC::FunctionCodeBlock::FunctionCodeBlock):
  - Plumbed firstLineColumnOffset through to the super class.

* bytecode/ExpressionRangeInfo.h:
  - Added modes for encoding line and column into a single 30-bit
    unsigned. The encoding is in 1 of 3 modes:
    1. FatLineMode: 22-bit line, 8-bit column
    2. FatColumnMode: 8-bit line, 22-bit column
    3. FatLineAndColumnMode: 32-bit line, 32-bit column
(JSC::ExpressionRangeInfo::encodeFatLineMode): Added.
  - Encodes line and column into the 30-bit position using FatLine mode.
(JSC::ExpressionRangeInfo::encodeFatColumnMode): Added.
  - Encodes line and column into the 30-bit position using FatColumn mode.
(JSC::ExpressionRangeInfo::decodeFatLineMode): Added.
  - Decodes the FatLine mode 30-bit position into line and column.
(JSC::ExpressionRangeInfo::decodeFatColumnMode): Added.
  - Decodes the FatColumn mode 30-bit position into line and column.

* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
  - Plumbed startColumn through.
(JSC::UnlinkedFunctionExecutable::link):
  - Plumbed startColumn through.
(JSC::UnlinkedCodeBlock::lineNumberForBytecodeOffset):
  - Computes a line number using the new way.
(JSC::UnlinkedCodeBlock::expressionRangeForBytecodeOffset):
  - Added decoding of line and column.
  - Added handling of the case when we do not find a fitting expression
    range info for a specified bytecodeOffset. This only happens if the
    bytecodeOffset is below the first expression range info. In that
    case, we'll use the first expression range info entry.
(JSC::UnlinkedCodeBlock::addExpressionInfo):
  - Added encoding of line and column.

* bytecode/UnlinkedCodeBlock.h:
  - Added m_expressionInfoFatPositions in RareData.
(JSC::UnlinkedFunctionExecutable::functionStartColumn):
(JSC::UnlinkedCodeBlock::shrinkToFit):
  - Removed obsoleted m_lineInfo.
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitCall): Plumbed line and lineStart through.
(JSC::BytecodeGenerator::emitCallEval): Plumbed line and lineStart through.
(JSC::BytecodeGenerator::emitCallVarargs): Plumbed line and lineStart through.
(JSC::BytecodeGenerator::emitConstruct): Plumbed line and lineStart through.
(JSC::BytecodeGenerator::emitDebugHook): Plumbed lineStart through.
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::emitNode):
(JSC::BytecodeGenerator::emitNodeInConditionContext):
  - Removed obsoleted m_lineInfo.
(JSC::BytecodeGenerator::emitExpressionInfo):
  - Plumbed line and lineStart through.
  - Compute the line and column to be added to the expression range info.
* bytecompiler/NodesCodegen.cpp:
(JSC::ThrowableExpressionData::emitThrowReferenceError):
(JSC::ResolveNode::emitBytecode):
(JSC::ArrayNode::toArgumentList):
(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::NewExprNode::emitBytecode):
(JSC::EvalFunctionCallNode::emitBytecode):
(JSC::FunctionCallValueNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::FunctionCallBracketNode::emitBytecode):
(JSC::FunctionCallDotNode::emitBytecode):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::PostfixNode::emitBracket):
(JSC::PostfixNode::emitDot):
(JSC::DeleteResolveNode::emitBytecode):
(JSC::DeleteBracketNode::emitBytecode):
(JSC::DeleteDotNode::emitBytecode):
(JSC::PrefixNode::emitResolve):
(JSC::PrefixNode::emitBracket):
(JSC::PrefixNode::emitDot):
  - Plumbed line and lineStart through the above as needed.

(JSC::UnaryOpNode::emitBytecode):
  - Added emission of an ExpressionRangeInfo for the UnaryOp node.

(JSC::BinaryOpNode::emitStrcat):
(JSC::ThrowableBinaryOpNode::emitBytecode):
(JSC::InstanceOfNode::emitBytecode):
(JSC::emitReadModifyAssignment):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::AssignDotNode::emitBytecode):
(JSC::ReadModifyDotNode::emitBytecode):
(JSC::AssignBracketNode::emitBytecode):
(JSC::ReadModifyBracketNode::emitBytecode):
  - Plumbed line and lineStart through the above as needed.

(JSC::ConstStatementNode::emitBytecode):
(JSC::EmptyStatementNode::emitBytecode):
(JSC::DebuggerStatementNode::emitBytecode):
(JSC::ExprStatementNode::emitBytecode):
(JSC::VarStatementNode::emitBytecode):
(JSC::IfElseNode::emitBytecode):
(JSC::DoWhileNode::emitBytecode):
(JSC::WhileNode::emitBytecode):
(JSC::ForNode::emitBytecode):
(JSC::ForInNode::emitBytecode):
(JSC::ContinueNode::emitBytecode):
(JSC::BreakNode::emitBytecode):
(JSC::ReturnNode::emitBytecode):
(JSC::WithNode::emitBytecode):
(JSC::SwitchNode::emitBytecode):
(JSC::LabelNode::emitBytecode):
(JSC::ThrowNode::emitBytecode):
(JSC::TryNode::emitBytecode):
(JSC::ProgramNode::emitBytecode):
(JSC::EvalNode::emitBytecode):
(JSC::FunctionBodyNode::emitBytecode):
  - Plumbed line and lineStart through the above as needed.

* interpreter/Interpreter.cpp:
(JSC::appendSourceToError):
  - Added line and column arguments for expressionRangeForBytecodeOffset().
(JSC::StackFrame::computeLineAndColumn):
  - Replaces StackFrame::line() and StackFrame::column().
(JSC::StackFrame::expressionInfo):
  - Added line and column arguments.
(JSC::StackFrame::toString):
  - Changed to use the new StackFrame::computeLineAndColumn().
(JSC::Interpreter::getStackTrace):
  - Added the needed firstLineColumnOffset arg for the StackFrame.

* interpreter/Interpreter.h:
* parser/ASTBuilder.h:
(JSC::ASTBuilder::BinaryOpInfo::BinaryOpInfo):
(JSC::ASTBuilder::AssignmentInfo::AssignmentInfo):
(JSC::ASTBuilder::createResolve):
(JSC::ASTBuilder::createBracketAccess):
(JSC::ASTBuilder::createDotAccess):
(JSC::ASTBuilder::createRegExp):
(JSC::ASTBuilder::createNewExpr):
(JSC::ASTBuilder::createAssignResolve):
(JSC::ASTBuilder::createFunctionExpr):
(JSC::ASTBuilder::createFunctionBody):
(JSC::ASTBuilder::createGetterOrSetterProperty):
(JSC::ASTBuilder::createFuncDeclStatement):
(JSC::ASTBuilder::createBlockStatement):
(JSC::ASTBuilder::createExprStatement):
(JSC::ASTBuilder::createIfStatement):
(JSC::ASTBuilder::createForLoop):
(JSC::ASTBuilder::createForInLoop):
(JSC::ASTBuilder::createVarStatement):
(JSC::ASTBuilder::createReturnStatement):
(JSC::ASTBuilder::createBreakStatement):
(JSC::ASTBuilder::createContinueStatement):
(JSC::ASTBuilder::createTryStatement):
(JSC::ASTBuilder::createSwitchStatement):
(JSC::ASTBuilder::createWhileStatement):
(JSC::ASTBuilder::createDoWhileStatement):
(JSC::ASTBuilder::createLabelStatement):
(JSC::ASTBuilder::createWithStatement):
(JSC::ASTBuilder::createThrowStatement):
(JSC::ASTBuilder::createDebugger):
(JSC::ASTBuilder::createConstStatement):
(JSC::ASTBuilder::appendBinaryExpressionInfo):
(JSC::ASTBuilder::appendUnaryToken):
(JSC::ASTBuilder::unaryTokenStackLastStart):
(JSC::ASTBuilder::unaryTokenStackLastLineStartPosition): Added.
(JSC::ASTBuilder::assignmentStackAppend):
(JSC::ASTBuilder::createAssignment):
(JSC::ASTBuilder::setExceptionLocation):
(JSC::ASTBuilder::makeDeleteNode):
(JSC::ASTBuilder::makeFunctionCallNode):
(JSC::ASTBuilder::makeBinaryNode):
(JSC::ASTBuilder::makeAssignNode):
(JSC::ASTBuilder::makePrefixNode):
(JSC::ASTBuilder::makePostfixNode):.
  - Plumbed line, lineStart, and startColumn through the above as needed.

* parser/Lexer.cpp:
(JSC::::currentSourcePtr):
(JSC::::setCode):
  - Added tracking for sourceoffset and lineStart.
(JSC::::internalShift):
(JSC::::parseIdentifier):
  - Added tracking for lineStart.
(JSC::::parseIdentifierSlowCase):
(JSC::::parseString):
  - Added tracking for lineStart.
(JSC::::parseStringSlowCase):
(JSC::::lex):
  - Added tracking for sourceoffset.
(JSC::::sourceCode):
* parser/Lexer.h:
(JSC::Lexer::currentOffset):
(JSC::Lexer::currentLineStartOffset):
(JSC::Lexer::setOffset):
  - Added tracking for lineStart.
(JSC::Lexer::offsetFromSourcePtr): Added. conversion function.
(JSC::Lexer::sourcePtrFromOffset): Added. conversion function.
(JSC::Lexer::setOffsetFromSourcePtr):
(JSC::::lexExpectIdentifier):
  - Added tracking for sourceoffset and lineStart.

* parser/NodeConstructors.h:
(JSC::Node::Node):
(JSC::ResolveNode::ResolveNode):
(JSC::EvalFunctionCallNode::EvalFunctionCallNode):
(JSC::FunctionCallValueNode::FunctionCallValueNode):
(JSC::FunctionCallResolveNode::FunctionCallResolveNode):
(JSC::FunctionCallBracketNode::FunctionCallBracketNode):
(JSC::FunctionCallDotNode::FunctionCallDotNode):
(JSC::CallFunctionCallDotNode::CallFunctionCallDotNode):
(JSC::ApplyFunctionCallDotNode::ApplyFunctionCallDotNode):
(JSC::PostfixNode::PostfixNode):
(JSC::DeleteResolveNode::DeleteResolveNode):
(JSC::DeleteBracketNode::DeleteBracketNode):
(JSC::DeleteDotNode::DeleteDotNode):
(JSC::PrefixNode::PrefixNode):
(JSC::ReadModifyResolveNode::ReadModifyResolveNode):
(JSC::ReadModifyBracketNode::ReadModifyBracketNode):
(JSC::AssignBracketNode::AssignBracketNode):
(JSC::AssignDotNode::AssignDotNode):
(JSC::ReadModifyDotNode::ReadModifyDotNode):
(JSC::AssignErrorNode::AssignErrorNode):
(JSC::WithNode::WithNode):
(JSC::ForInNode::ForInNode):
  - Plumbed line and lineStart through the above as needed.
* parser/Nodes.cpp:
(JSC::StatementNode::setLoc): Plumbed lineStart.
(JSC::ScopeNode::ScopeNode): Plumbed lineStart.
(JSC::ProgramNode::ProgramNode): Plumbed startColumn.
(JSC::ProgramNode::create): Plumbed startColumn.
(JSC::EvalNode::create):
(JSC::FunctionBodyNode::FunctionBodyNode): Plumbed startColumn.
(JSC::FunctionBodyNode::create): Plumbed startColumn.
* parser/Nodes.h:
(JSC::Node::startOffset):
(JSC::Node::lineStartOffset): Added.
(JSC::StatementNode::firstLine):
(JSC::StatementNode::lastLine):
(JSC::ThrowableExpressionData::ThrowableExpressionData):
(JSC::ThrowableExpressionData::setExceptionSourceCode):
(JSC::ThrowableExpressionData::divotStartOffset):
(JSC::ThrowableExpressionData::divotEndOffset):
(JSC::ThrowableExpressionData::divotLine):
(JSC::ThrowableExpressionData::divotLineStart):
(JSC::ThrowableSubExpressionData::ThrowableSubExpressionData):
(JSC::ThrowableSubExpressionData::setSubexpressionInfo):
(JSC::ThrowableSubExpressionData::subexpressionDivot):
(JSC::ThrowableSubExpressionData::subexpressionStartOffset):
(JSC::ThrowableSubExpressionData::subexpressionEndOffset):
(JSC::ThrowableSubExpressionData::subexpressionLine):
(JSC::ThrowableSubExpressionData::subexpressionLineStart):
(JSC::ThrowablePrefixedSubExpressionData::ThrowablePrefixedSubExpressionData):
(JSC::ThrowablePrefixedSubExpressionData::setSubexpressionInfo):
(JSC::ThrowablePrefixedSubExpressionData::subexpressionDivot):
(JSC::ThrowablePrefixedSubExpressionData::subexpressionStartOffset):
(JSC::ThrowablePrefixedSubExpressionData::subexpressionEndOffset):
(JSC::ThrowablePrefixedSubExpressionData::subexpressionLine):
(JSC::ThrowablePrefixedSubExpressionData::subexpressionLineStart):
(JSC::ScopeNode::startStartOffset):
(JSC::ScopeNode::startLineStartOffset):
(JSC::ProgramNode::startColumn):
(JSC::EvalNode::startColumn):
(JSC::FunctionBodyNode::startColumn):
  - Plumbed line and lineStart through the above as needed.
* parser/Parser.cpp:
(JSC::::Parser):
(JSC::::parseSourceElements):
(JSC::::parseVarDeclarationList):
(JSC::::parseConstDeclarationList):
(JSC::::parseForStatement):
(JSC::::parseBreakStatement):
(JSC::::parseContinueStatement):
(JSC::::parseReturnStatement):
(JSC::::parseThrowStatement):
(JSC::::parseWithStatement):
  - Plumbed line and lineStart through the above as needed.
(JSC::::parseFunctionBody):
  - Plumbed startColumn.
(JSC::::parseFunctionInfo):
(JSC::::parseFunctionDeclaration):
(JSC::LabelInfo::LabelInfo):
(JSC::::parseExpressionOrLabelStatement):
(JSC::::parseAssignmentExpression):
(JSC::::parseBinaryExpression):
(JSC::::parseProperty):
(JSC::::parseObjectLiteral):
(JSC::::parsePrimaryExpression):
(JSC::::parseMemberExpression):
(JSC::::parseUnaryExpression):
  - Plumbed line, lineStart, startColumn through the above as needed.
* parser/Parser.h:
(JSC::Parser::next):
(JSC::Parser::nextExpectIdentifier):
(JSC::Parser::tokenStart):
(JSC::Parser::tokenColumn):
(JSC::Parser::tokenEnd):
(JSC::Parser::tokenLineStart):
(JSC::Parser::lastTokenLine):
(JSC::Parser::lastTokenLineStart):
(JSC::::parse):
* parser/ParserTokens.h:
(JSC::JSTokenLocation::JSTokenLocation):
  - Plumbed lineStart.
(JSC::JSTokenLocation::lineStartPosition):
(JSC::JSTokenLocation::startPosition):
(JSC::JSTokenLocation::endPosition):
* parser/SourceCode.h:
(JSC::SourceCode::SourceCode):
(JSC::SourceCode::startColumn):
(JSC::makeSource):
(JSC::SourceCode::subExpression):
* parser/SourceProvider.cpp: delete old code.
* parser/SourceProvider.h: delete old code.
* parser/SourceProviderCacheItem.h:
(JSC::SourceProviderCacheItem::closeBraceToken):
(JSC::SourceProviderCacheItem::SourceProviderCacheItem):
  - Plumbed lineStart.
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::makeFunctionCallNode):
(JSC::SyntaxChecker::makeAssignNode):
(JSC::SyntaxChecker::makePrefixNode):
(JSC::SyntaxChecker::makePostfixNode):
(JSC::SyntaxChecker::makeDeleteNode):
(JSC::SyntaxChecker::createResolve):
(JSC::SyntaxChecker::createBracketAccess):
(JSC::SyntaxChecker::createDotAccess):
(JSC::SyntaxChecker::createRegExp):
(JSC::SyntaxChecker::createNewExpr):
(JSC::SyntaxChecker::createAssignResolve):
(JSC::SyntaxChecker::createFunctionExpr):
(JSC::SyntaxChecker::createFunctionBody):
(JSC::SyntaxChecker::createFuncDeclStatement):
(JSC::SyntaxChecker::createForInLoop):
(JSC::SyntaxChecker::createReturnStatement):
(JSC::SyntaxChecker::createBreakStatement):
(JSC::SyntaxChecker::createContinueStatement):
(JSC::SyntaxChecker::createWithStatement):
(JSC::SyntaxChecker::createLabelStatement):
(JSC::SyntaxChecker::createThrowStatement):
(JSC::SyntaxChecker::createGetterOrSetterProperty):
(JSC::SyntaxChecker::appendBinaryExpressionInfo):
(JSC::SyntaxChecker::operatorStackPop):
  - Made SyntaxChecker prototype changes to match ASTBuilder due to new
    args added for plumbing line, lineStart, and startColumn.
* runtime/CodeCache.cpp:
(JSC::CodeCache::generateBytecode):
(JSC::CodeCache::getCodeBlock):
  - Plumbed startColumn.
* runtime/Executable.cpp:
(JSC::FunctionExecutable::FunctionExecutable):
(JSC::ProgramExecutable::compileInternal):
(JSC::FunctionExecutable::produceCodeBlockFor):
(JSC::FunctionExecutable::fromGlobalCode):
  - Plumbed startColumn.
* runtime/Executable.h:
(JSC::ScriptExecutable::startColumn):
(JSC::ScriptExecutable::recordParse):
(JSC::FunctionExecutable::create):
  - Plumbed startColumn.

Source/WebCore:

Test: fast/js/line-column-numbers.html

Updated the bindings to use StackFrame::computeLineAndColumn(). The old
StackFrame::line() and StackFrame::column() has been removed. The new
algorithm always computes the 2 values together anyway. Hence it is more
efficient to return them as a pair instead of doing the same computation
twice for each half of the result.

* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStack):
(WebCore::createScriptCallStackFromException):
* bindings/js/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):

LayoutTests:

The fix now computes line and column numbers more accurately. As a result,
some of the test results need to be re-baselined. Among other fixes, one
major source of difference is that the old code was incorrectly computing
0-based column numbers. This has now been fixed to be 1-based.
Note: line numbers were always 1-based.

Also added a new test: fast/js/line-column-numbers.html, which tests line
and column numbers for source code in various configurations.

* editing/execCommand/outdent-blockquote-test1-expected.txt:
* editing/execCommand/outdent-blockquote-test2-expected.txt:
* editing/execCommand/outdent-blockquote-test3-expected.txt:
* editing/execCommand/outdent-blockquote-test4-expected.txt:
* editing/pasteboard/copy-paste-float-expected.txt:
* editing/pasteboard/paste-blockquote-before-blockquote-expected.txt:
* editing/pasteboard/paste-double-nested-blockquote-before-blockquote-expected.txt:
* fast/dom/Window/window-resize-contents-expected.txt:
* fast/events/remove-target-with-shadow-in-drag-expected.txt:
* fast/js/line-column-numbers-expected.txt: Added.
* fast/js/line-column-numbers.html: Added.
* fast/js/script-tests/line-column-numbers.js: Added.
(try.doThrow4b):
(doThrow5b.try.innerFunc):
(doThrow5b):
(doThrow6b.try.innerFunc):
(doThrow6b):
(catch):
(try.doThrow11b):
(try.doThrow14b):
* fast/js/stack-trace-expected.txt:
* inspector/console/console-url-line-column-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152494 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Unreviewed gardening.
zarvai@inf.u-szeged.hu [Tue, 9 Jul 2013 15:58:21 +0000 (15:58 +0000)]
[Qt] Unreviewed gardening.

* platform/qt-mac/TestExpectations: Skip failing test after r151546.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152493 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Unreviewed gardening.
zarvai@inf.u-szeged.hu [Tue, 9 Jul 2013 13:38:16 +0000 (13:38 +0000)]
[Qt] Unreviewed gardening.

* platform/qt-5.0-wk2/TestExpectations: Skip flaky svg tests.
* platform/qt-mac/TestExpectations: Skip failing CSS Shape tests.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152492 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUse toSVGFontElement() instead of static_cast<SVGFontElement*>
gyuyoung.kim@samsung.com [Tue, 9 Jul 2013 11:31:14 +0000 (11:31 +0000)]
Use toSVGFontElement() instead of static_cast<SVGFontElement*>
https://bugs.webkit.org/show_bug.cgi?id=118496

Reviewed by Andreas Kling.

As a step to change static_cast with toXXX, static_cast<SVGFontElement*> can
be changed with toSVGFontElement().

Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=153761

* svg/SVGFontElement.h:
(WebCore::toSVGFontElement):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::rebuildFontFace):
* svg/SVGGlyphElement.cpp:
(WebCore::SVGGlyphElement::invalidateGlyphCache):
* svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::insertedInto):
(WebCore::SVGHKernElement::removedFrom):
* svg/SVGVKernElement.cpp:
(WebCore::SVGVKernElement::insertedInto):
(WebCore::SVGVKernElement::removedFrom):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152491 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove support for [PassThisToCallback] extended attribute
ch.dumez@sisa.samsung.com [Tue, 9 Jul 2013 10:56:00 +0000 (10:56 +0000)]
Remove support for [PassThisToCallback] extended attribute
https://bugs.webkit.org/show_bug.cgi?id=118391

Reviewed by Kentaro Hara.

The [PassThisToCallback] Webkit-specific IDL extended attribute is supported
by the JSC bindings generator but is no longer used. The attribute is not
even documented.

We can therefore drop support for this from the generator to simplify the
code.

No new tests, no behavior change.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateCallbackImplementation):
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::callbackRequiresThisToPass):
* bindings/scripts/test/TestCallback.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152490 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUpdate Exception handling in WebAudio.
commit-queue@webkit.org [Tue, 9 Jul 2013 09:59:33 +0000 (09:59 +0000)]
Update Exception handling in WebAudio.
https://bugs.webkit.org/show_bug.cgi?id=118405.

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2013-07-09
Reviewed by Chris Rogers.

Source/WebCore:

AudioBufferSourceNode, OscillatorNode and AnalyserNode don't
propagate exception mentioned in WebAudio spec.
Code updated to throw DOM exception as expected.

Tests: webaudio/analyser-exception.html
       webaudio/audiobuffersource-exception.html

* Modules/webaudio/AnalyserNode.cpp:
(WebCore::AnalyserNode::setFftSize):
(WebCore::AnalyserNode::setMinDecibels):
(WebCore::AnalyserNode::setMaxDecibels):
(WebCore::AnalyserNode::setSmoothingTimeConstant):
* Modules/webaudio/AnalyserNode.h:
* Modules/webaudio/AnalyserNode.idl:
* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::startGrain):
(WebCore::AudioBufferSourceNode::noteGrainOn):
* Modules/webaudio/AudioBufferSourceNode.h:
* Modules/webaudio/AudioBufferSourceNode.idl:
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::createBuffer):
(WebCore::AudioContext::createScriptProcessor):
(WebCore::AudioContext::createPeriodicWave):
* Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::start):
(WebCore::AudioScheduledSourceNode::stop):
(WebCore::AudioScheduledSourceNode::noteOn):
(WebCore::AudioScheduledSourceNode::noteOff):
* Modules/webaudio/AudioScheduledSourceNode.h:
* Modules/webaudio/OscillatorNode.idl:

LayoutTests:

New test cases to check exception handling in AnalyserNode and
AudioBufferSourceNode.

* webaudio/analyser-exception-expected.txt: Added.
* webaudio/analyser-exception.html: Added.
* webaudio/audiobuffersource-exception-expected.txt: Added.
* webaudio/audiobuffersource-exception.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152489 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Unreviewed gardening. Rebaselining after r152479.
zarvai@inf.u-szeged.hu [Tue, 9 Jul 2013 09:41:46 +0000 (09:41 +0000)]
[Qt] Unreviewed gardening. Rebaselining after r152479.

* platform/qt-5.0-wk2/fast/css-grid-layout/grid-element-change-columns-repaint-expected.txt:
* platform/qt-5.0-wk2/fast/css-grid-layout/grid-element-change-rows-repaint-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152488 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Unreviewed gardening.
kadam@inf.u-szeged.hu [Tue, 9 Jul 2013 08:32:14 +0000 (08:32 +0000)]
[Qt] Unreviewed gardening.

* platform/qt/TestExpectations: Skip failing composting test after r152303.
* platform/qt/editing/deleting/delete-br-002-expected.png: Update after r152478.
* platform/qt/editing/deleting/delete-br-002-expected.txt: Update after r152478.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152486 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed. Update NEWS and Versions.m4 for 2.1.3 release.
carlosgc@webkit.org [Tue, 9 Jul 2013 08:29:10 +0000 (08:29 +0000)]
Unreviewed. Update NEWS and Versions.m4 for 2.1.3 release.

.:

* Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

* NEWS: Added release notes for 2.1.3.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152485 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoKURL unit test fixture class should have a meaningful name
zandobersek@gmail.com [Tue, 9 Jul 2013 06:46:13 +0000 (06:46 +0000)]
KURL unit test fixture class should have a meaningful name
https://bugs.webkit.org/show_bug.cgi?id=118467

Reviewed by Sam Weinig.

* TestWebKitAPI/Tests/WebCore/KURL.cpp:
(TestWebKitAPI::TEST_F): Use 'KURLTest' as the name for the KURL unit test's fixture class
instead of the generic and inappropriate 'WebCore' name.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152484 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] webkit_set_cache_model is not turning the cache off
carlosgc@webkit.org [Tue, 9 Jul 2013 05:39:16 +0000 (05:39 +0000)]
[GTK] webkit_set_cache_model is not turning the cache off
https://bugs.webkit.org/show_bug.cgi?id=118345

Reviewed by Gustavo Noronha Silva.

Our documentation says that WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER
disables the cache completely, but we are only setting the cache
capacities to 0. Cache capacities are not checked when resources
are added to the cache, but when it's pruned. To disable the cache
we need to call MemoryCache::setDisabled explicitly.

* webkit/webkitglobals.cpp:
(webkit_set_cache_model): Disable the cache when min dead, max
dead and total capacities are all set to 0.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152483 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd WebInspectorUI to WebKit.xcworkspace
aestes@apple.com [Tue, 9 Jul 2013 05:21:51 +0000 (05:21 +0000)]
Add WebInspectorUI to WebKit.xcworkspace
https://bugs.webkit.org/show_bug.cgi?id=118491

Reviewed by Sam Weinig.

* WebKit.xcworkspace/contents.xcworkspacedata:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152482 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Grid Layout] Rename grid-{rows|columns} to grid-definition-{rows|columns}
mrobinson@webkit.org [Tue, 9 Jul 2013 03:09:02 +0000 (03:09 +0000)]
[CSS Grid Layout] Rename grid-{rows|columns} to grid-definition-{rows|columns}
https://bugs.webkit.org/show_bug.cgi?id=103336

Reviewed by Tony Chang.

Source/WebCore:

Rename -webkit-grid-{rows|columns} to -webkit-grid-definition-{rows|columns}.
The latest version of the spec has renamed these properties.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Handle the new names.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Ditto.
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty): Ditto.
* css/CSSPropertyNames.in: Add support for the new names.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty): Handle the new names.

LayoutTests:

Update tests to reflect the rename of -webkit-grid-{rows|columns} to
-webkit-grid-definition-{rows|columns}.

* fast/css-grid-layout: Mass search and replace for the new name.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152479 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDeleteSelectionCommand does not handle correctly deletion with two consecutive BR...
enrica@apple.com [Tue, 9 Jul 2013 02:48:19 +0000 (02:48 +0000)]
DeleteSelectionCommand does not handle correctly deletion with two consecutive BR element.
https://bugs.webkit.org/show_bug.cgi?id=118457
<rdar://problem/14160912>

Reviewed by Simon Fraser.

Source/WebCore:

In DeleteSelectionCommand::handleSpecialCareBRDelete we did not
handle correctly the case where we had <br><br> in the markup and
nothing was being deleted. We should consider this like
the case where the <br> is on the line by itself and remove it.

Test: editing/deleting/delete-image-followed-by-two-br.html

* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete):

LayoutTests:

* editing/deleting/delete-image-followed-by-two-br-expected.txt: Added.
* editing/deleting/delete-image-followed-by-two-br.html: Added.
* platform/mac/editing/deleting/delete-br-002-expected.txt: Rebased.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152478 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago [Mac] Multiple compositing/patterns test fail
ap@apple.com [Mon, 8 Jul 2013 23:36:43 +0000 (23:36 +0000)]
    [Mac] Multiple compositing/patterns test fail
        https://bugs.webkit.org/show_bug.cgi?id=118490

        * platform/mac/TestExpectations: The failures appear to be WK2 only in my testing,
        so moved the expectations to mac-wk2.

        * platform/mac-wk2/TestExpectations: Updated bug numbers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152470 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoNamedFlowCollection getters should return undefined when there's no NamedFlow
commit-queue@webkit.org [Mon, 8 Jul 2013 21:24:33 +0000 (21:24 +0000)]
NamedFlowCollection getters should return undefined when there's no NamedFlow
https://bugs.webkit.org/show_bug.cgi?id=118463

Patch by Radu Stavila <stavila@adobe.com> on 2013-07-08
Reviewed by Christophe Dumez.

Source/WebCore:

Added new TreatReturnedNullObjectAs attribute for generated methods and set it to Undefined
for the item and namedItem methods of DOMNamedFlowCollection.

Test: fast/regions/webkit-named-flow-collection-undefined.html

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementationFunctionCall):
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
(WebDOMTestObj::treatReturnedNullObjectAsUndefined):
* bindings/scripts/test/CPP/WebDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_treat_returned_null_object_as_undefined):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionTreatReturnedNullObjectAsUndefined):
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj treatReturnedNullObjectAsUndefined]):
* bindings/scripts/test/TestObj.idl:
* dom/DOMNamedFlowCollection.idl:

LayoutTests:

Added test that validates that NamedFlowCollection getters return undefined
when no named flows exist.

* fast/regions/webkit-named-flow-collection-undefined-expected.txt: Added.
* fast/regions/webkit-named-flow-collection-undefined.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152466 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove unused variables in FocusCandidate.
commit-queue@webkit.org [Mon, 8 Jul 2013 21:05:34 +0000 (21:05 +0000)]
Remove unused variables in FocusCandidate.
https://bugs.webkit.org/show_bug.cgi?id=118449

Patch by Changhun Kang <temoochin@company100.net> on 2013-07-06
Reviewed by Antonio Gomes.

The variables for parent in FocusCandidate are not used anymore.

No new tests. No change in behavior.

* page/SpatialNavigation.cpp:
(WebCore::FocusCandidate::FocusCandidate):
* page/SpatialNavigation.h:
(WebCore::FocusCandidate::FocusCandidate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152465 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAX: iOS: SVG paths are not offset by the parent bounding box
cfleizach@apple.com [Mon, 8 Jul 2013 21:03:54 +0000 (21:03 +0000)]
AX: iOS: SVG paths are not offset by the parent bounding box
https://bugs.webkit.org/show_bug.cgi?id=118433

The path for SVG shapes is in terms of its parent's view space. We need to offset
the path by that amount so that it's in the right location.

Reviewed by Tim Horton.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::elementPath):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152464 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agofast/repaint/fixed-right-in-page-scale.html also crashing on Mountain Lion.
dfarler@apple.com [Mon, 8 Jul 2013 20:02:27 +0000 (20:02 +0000)]
fast/repaint/fixed-right-in-page-scale.html also crashing on Mountain Lion.
https://bugs.webkit.org/show_bug.cgi?id=118479

Moved expectation to higher-level mac and marked as [ Pass Crash ].
* platform/mac-lion/TestExpectations:
* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152463 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMark fast/text/international/synthesized-italic-vertical-latin.html as failing on...
dfarler@apple.com [Mon, 8 Jul 2013 19:46:30 +0000 (19:46 +0000)]
Mark fast/text/international/synthesized-italic-vertical-latin.html as failing on Lion.
https://bugs.webkit.org/show_bug.cgi?id=118480

Unreviewed TestExpectation change.

* platform/mac-lion/TestExpectations:
Mark fast/text/international/synthesized-italic-vertical-latin.html as Failure.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152462 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSkip fast/repaint/fixed-right-in-page-scale.html on Lion.
dfarler@apple.com [Mon, 8 Jul 2013 19:15:45 +0000 (19:15 +0000)]
Skip fast/repaint/fixed-right-in-page-scale.html on Lion.
https://bugs.webkit.org/show_bug.cgi?id=118479

Unreviewed: test marked as crashing.

* platform/mac-lion/TestExpectations:
Skip fast/repaint/fixed-right-in-page-scale.html.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152461 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed. Fix make distcheck.
carlosgc@webkit.org [Mon, 8 Jul 2013 18:57:48 +0000 (18:57 +0000)]
Unreviewed. Fix make distcheck.

Source/JavaScriptCore:

* GNUmakefile.list.am: Add missing header files.

Source/WebCore:

* GNUmakefile.list.am: Add missing header files.

Source/WTF:

* GNUmakefile.list.am: Add missing header files.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152460 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix TextTrackCue::cueIndex() to handle the null case of TextTrack::cues(() properly
commit-queue@webkit.org [Mon, 8 Jul 2013 18:33:32 +0000 (18:33 +0000)]
Fix TextTrackCue::cueIndex() to handle the null case of TextTrack::cues(() properly
https://bugs.webkit.org/show_bug.cgi?id=117815
<rdar://problem/14211041>

Patch by Ruth Fong <ruth_fong@apple.com> on 2013-07-08
Reviewed by Eric Carlson.

Merge https://src.chromium.org/viewvc/blink?revision=153206&view=revision

No new tests, only behavior change is preventing a crash in the release build.
cueIndex() is only used for sorting cues, so returning an invalidCueIndex in the case
where track()->cues() is null makes sense and won't modify behavior.

* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::cueIndex):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152459 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, rolling out r152416.
commit-queue@webkit.org [Mon, 8 Jul 2013 17:07:07 +0000 (17:07 +0000)]
Unreviewed, rolling out r152416.
http://trac.webkit.org/changeset/152416
https://bugs.webkit.org/show_bug.cgi?id=118476

Wrong fix for the bug (Requested by ap on #webkit).

* platform/text/TextEncodingRegistry.cpp:
(WebCore::newTextCodec):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152456 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] Acceleration description isn't displayed in configured options.
commit-queue@webkit.org [Mon, 8 Jul 2013 15:57:38 +0000 (15:57 +0000)]
[GTK] Acceleration description isn't displayed in configured options.
https://bugs.webkit.org/show_bug.cgi?id=118441

Patch by ChangSeok Oh <changseok.oh@collabora.com> on 2013-07-08
Reviewed by Gustavo Noronha Silva.

The acceleration_backend_description has been changed to acceleration_description from r152275.

* Source/autotools/PrintBuildConfiguration.m4:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152455 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Autoconf] Define WTF_USE_OPENGL when OpenGL was found
zandobersek@gmail.com [Mon, 8 Jul 2013 15:54:26 +0000 (15:54 +0000)]
[Autoconf] Define WTF_USE_OPENGL when OpenGL was found
https://bugs.webkit.org/show_bug.cgi?id=118341

Reviewed by Gustavo Noronha Silva.

After r152275, WTF_USE_OPENGL is only defined if the accelerated compositing is enabled.
This breaks the build if disabling the accelerated compositing feature as the OpenGL-specific
code is not compiled anymore even if it's still required.

To avoid that, WTF_USE_OPENGL should be defined if OpenGL was found. The accelerated compositing
feature also relies on this condition, exiting the configuration process with an error otherwise.

* Source/autotools/SetupAutoconfHeader.m4:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152454 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION(r125294): A style rule with more than 8192 selectors can cause style corru...
akling@apple.com [Mon, 8 Jul 2013 15:53:54 +0000 (15:53 +0000)]
REGRESSION(r125294): A style rule with more than 8192 selectors can cause style corruption.
<http://webkit.org/b/118369>
<rdar://problem/14291428>

Reviewed by Antti Koivisto.

Source/WebCore:

Add a semi-hard cap of 8192 selectors per CSS rule. Rules with longer selector lists will be split into
multiple rules (with 8192 selectors per rule.) The style properties are shared behind the scenes
so it's all pretty efficient.

This does generate a different CSSOM for gigantic selector lists, I've added a test to document this.
Note that setting CSSStyleRule.selectorText with over 8192 selectors will now fail, the splitting into
multiple rules only happens when parsing full style sheets.

Test: fast/css/rule-selector-overflow.html

* css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::selectorCount):

    Add a helper to count the number of selectors in a list (not the number of raw selector components.)

* css/RuleSet.h:
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::setSelectorText):

    Add RuleData::maximumSelectorCount constant and cap CSSStyleRule.selectorText to that many selectors.

* css/CSSSelectorList.h:
(WebCore::CSSSelectorList::adoptSelectorArray):
* css/StyleRule.cpp:
(WebCore::StyleRule::create):
(WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorCount):
* css/StyleRule.h:
(WebCore::StyleRule::parserAdoptSelectorArray):
* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::parserAppendRule):

    The meat of this change. Split rules with >8K selectors into multiple rules with 8K selectors in each.

* css/StyleRule.h:
(WebCore::toStyleRule):

    Added a toStyleRule() helper for good measure.

LayoutTests:

Added a test to document the new cap of 8192 selectors per CSS rule.

* fast/css/rule-selector-overflow-expected.txt: Added.
* fast/css/rule-selector-overflow.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152453 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] Block Zoom does not zoom in on narrow paragraphs properly
zhajiang@rim.com [Mon, 8 Jul 2013 15:37:17 +0000 (15:37 +0000)]
[BlackBerry] Block Zoom does not zoom in on narrow paragraphs properly
https://bugs.webkit.org/show_bug.cgi?id=118472

Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-07-08.
Reviewed by Rob Buis.
Internally reviewed Arvid Nilsson and Genevieve Mak.

JIRA 114653
For the narrow paragraphs on www.nytimes.com, the first best node for
block zoom under the point is deprecated due to the limits of maximum
block zoom scale(3) and default maximum WebPage zoom scale(4) and instead
it picks up an ancestor node which is wider so that it looks like doesn't
zoom in properly.
To fix that, enlarge the default maximum WebPage zoom scale slightly
and use maximumScale() instead of maxBlockZoomScale() so that we can
accept more nodes. And also we'll still clamp the new scale by
maxBlockZoomScale() when we block zoom the WebPage, in which way those
nodes can be showed in the center of the viewport and surrounded by a
few other nodes within the viewport which shows better user experience.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::maximumScale):
(BlackBerry::WebKit::WebPagePrivate::adjustedBlockZoomNodeForZoomAndExpandingRatioLimits):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152452 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoIntroduce DECLARE_FORWARDING_ATTRIBUTE_EVENT_LISTENER() macro
ch.dumez@sisa.samsung.com [Mon, 8 Jul 2013 15:36:49 +0000 (15:36 +0000)]
Introduce DECLARE_FORWARDING_ATTRIBUTE_EVENT_LISTENER() macro
https://bugs.webkit.org/show_bug.cgi?id=118408

Reviewed by Philip Rogers.

Split DEFINE_FORWARDING_ATTRIBUTE_EVENT_LISTENER() macro into separate
DECLARE and DEFINE macros to reduce the number of header includes in
SVG.

No new tests, no behavior change.

* dom/EventTarget.h:
* svg/SVGElementInstance.cpp:
(WebCore::SVGElementInstance::create):
(WebCore::SVGElementInstance::toNode):
(WebCore::SVGElementInstance::ownerDocument):
* svg/SVGElementInstance.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152451 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Coordinated Graphics] Rename variables in UpdateAtlas
commit-queue@webkit.org [Mon, 8 Jul 2013 14:12:40 +0000 (14:12 +0000)]
[Coordinated Graphics] Rename variables in UpdateAtlas
https://bugs.webkit.org/show_bug.cgi?id=118403

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-07-08
Reviewed by Noam Rosenthal.

As of r149292, non-composited contents layer was removed from
CoordinatedGraphics. So, the variables should be renamed for
clarification.

* platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
(WebCore::CompositingCoordinator::releaseInactiveAtlasesTimerFired):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152450 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd Deque::removeLast
antti@apple.com [Mon, 8 Jul 2013 13:22:31 +0000 (13:22 +0000)]
Add Deque::removeLast
https://bugs.webkit.org/show_bug.cgi?id=118466

Source/WTF:

Reviewed by Andreas Kling.

Deque can remove both the first and the last element efficiently.

Test: TestWebKitAPI/Tests/WTF/Deque.cpp

* wtf/Deque.h:
(WTF::::takeLast):
(WTF::::removeLast):

Tools:

Reviewed by Andreas Kling.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/Deque.cpp: Added.
(TestWebKitAPI::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152449 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Incremental build fix after r145712.
kadam@inf.u-szeged.hu [Mon, 8 Jul 2013 12:56:43 +0000 (12:56 +0000)]
[Qt] Incremental build fix after r145712.
https://bugs.webkit.org/show_bug.cgi?id=112576.

Reviewed by Jocelyn Turcotte.

* DerivedSources.pri: Added dependence to INSPECTOR_JSON.
* inspector/front-end/WebKit.qrc: Added missing JS file.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152448 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] Unreviewed gardening. Update TestExpectations
commit-queue@webkit.org [Mon, 8 Jul 2013 10:22:21 +0000 (10:22 +0000)]
[GTK] Unreviewed gardening. Update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=118462

Unreviewed GTK gardening.

Patch by Simon Pena <simon.pena@samsung.com> on 2013-07-08

* platform/gtk/TestExpectations: Skip media/track/track-legacyapi-with-automatic-mode.html
and mark media/media-element-play-after-eos.html as flaky.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152447 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] FrameLoaderClient: Refactor naked pointers to use smart pointers
commit-queue@webkit.org [Mon, 8 Jul 2013 10:13:06 +0000 (10:13 +0000)]
[GTK] FrameLoaderClient: Refactor naked pointers to use smart pointers
https://bugs.webkit.org/show_bug.cgi?id=118417

Patch by Brian Holt <brian.holt@samsung.com> on 2013-07-08
Reviewed by Carlos Garcia Campos.

Use GOwnPtr and GRefPtr where possible.

* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::dispatchDidFailLoad):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152446 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt][Windows] Buildfix after r152426.
zarvai@inf.u-szeged.hu [Mon, 8 Jul 2013 09:02:51 +0000 (09:02 +0000)]
[Qt][Windows] Buildfix after r152426.

Reviewed by Csaba Osztrogon√°c.

* wtf/Platform.h: Do not include WTFHeaderDetection.h on Qt build.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152445 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] Leak: GFile* leaking in beginDragWithFilesCallback
commit-queue@webkit.org [Mon, 8 Jul 2013 09:00:34 +0000 (09:00 +0000)]
[GTK] Leak: GFile* leaking in beginDragWithFilesCallback
https://bugs.webkit.org/show_bug.cgi?id=118412

Patch by Brian Holt <brian.holt@samsung.com> on 2013-07-08
Reviewed by Martin Robinson.

An adoptRef is required to balance ref and deref calls.

* DumpRenderTree/gtk/EventSender.cpp:
(beginDragWithFilesCallback):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152444 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed EFL gardening.
commit-queue@webkit.org [Mon, 8 Jul 2013 08:37:35 +0000 (08:37 +0000)]
Unreviewed EFL gardening.
https://bugs.webkit.org/show_bug.cgi?id=118453

Added new baseline for EFL after r151841

Patch by Krzysztof Czech <k.czech@ymail.com> on 2013-07-08

* platform/efl/accessibility/aria-tab-role-on-buttons-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152443 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] Runtime critical warning when unloading a module that failed to load
carlosgc@webkit.org [Mon, 8 Jul 2013 08:19:22 +0000 (08:19 +0000)]
[GTK] Runtime critical warning when unloading a module that failed to load
https://bugs.webkit.org/show_bug.cgi?id=118425

Reviewed by Martin Robinson.

* Platform/gtk/ModuleGtk.cpp:
(WebKit::Module::load): Show an error message when the module
fails to load.
(WebKit::Module::unload): Check module pointer before calling
unload method.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152442 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agovibrate function have to return boolean value.
kihong.kwon@samsung.com [Mon, 8 Jul 2013 07:39:23 +0000 (07:39 +0000)]
vibrate function have to return boolean value.
https://bugs.webkit.org/show_bug.cgi?id=118288

Reviewed by Gyuyoung Kim.

Source/WebCore:

According to latest Vibration API which is LC, vibrate() needs to return boolean value
and exception code is removed also. In addition, remove condition for canceling vibration
can be called when visibility state is hidden.
http://www.w3.org/TR/vibration/

No new tests. vibration/navigator-vibration.html is changed.

* Modules/vibration/NavigatorVibration.cpp:
(WebCore::NavigatorVibration::vibrate):
* Modules/vibration/NavigatorVibration.h:
* Modules/vibration/NavigatorVibration.idl:
* Modules/vibration/Vibration.cpp:
(WebCore::Vibration::vibrate):
* Modules/vibration/Vibration.h:

LayoutTests:

Update navigator-vibration.html to adjust latest spec.
Add vibration/cancelVibration-during-pattern-vibrating.html to TestExpactations
until Vibration API support visibilitychane event.

* platform/efl/TestExpectations:
* vibration/navigator-vibration-expected.txt:
* vibration/navigator-vibration.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152441 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdopt is/toHTMLTableElement for code cleanup
kangil.han@samsung.com [Mon, 8 Jul 2013 06:52:41 +0000 (06:52 +0000)]
Adopt is/toHTMLTableElement for code cleanup
https://bugs.webkit.org/show_bug.cgi?id=118393

Reviewed by Andreas Kling.

To enhance readability, this patch adopts is/toHTMLTableElement.
This also helps out to reduce duplicated use of static_cast.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::isDataTable):
(WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
(WebCore::AccessibilityTable::title):
* accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
(webkitAccessibleTableGetCaption):
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetDescription):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
* dom/Position.cpp:
(WebCore::endsOfNodeAreVisuallyDistinctPositions):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply):
* editing/htmlediting.cpp:
(WebCore::isNonTableCellHTMLBlockElement):
* editing/markup.cpp:
(WebCore::ancestorToRetainStructureAndAppearanceForBlock):
* html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
(WebCore::FTPDirectoryDocumentParser::createBasicDocument):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::rendererIsNeeded):
* html/HTMLTableElement.h:
(WebCore::isHTMLTableElement):
(WebCore::toHTMLTableElement):
* html/HTMLTablePartElement.cpp:
(WebCore::HTMLTablePartElement::findParentTable):
* html/HTMLTableRowElement.cpp:
(WebCore::HTMLTableRowElement::rowIndex):
* html/HTMLTableRowsCollection.cpp:
(WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
(WebCore::HTMLTableRowsCollection::virtualItemAfter):
* html/parser/HTMLElementStack.cpp:
(WebCore::HTMLNames::isScopeMarker):
(WebCore::HTMLNames::isTableScopeMarker):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
* platform/mac/HTMLConverter.mm:
(-[WebHTMLConverter _computedStringForNode:property:]):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::offsetParent):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
(WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152440 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix the performance regressions introduced by r152418
benjamin@webkit.org [Sun, 7 Jul 2013 06:46:39 +0000 (06:46 +0000)]
Fix the performance regressions introduced by r152418
https://bugs.webkit.org/show_bug.cgi?id=118438

Reviewed by Sam Weinig.

* wtf/text/StringImpl.h:
(WTF::equal):
Looping between two arbitrary pointers prevents important loop
optimizations.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152438 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agocreateElement("image") creates an HTMLImageElement, although this hack should exist...
rwlbuis@webkit.org [Sat, 6 Jul 2013 20:08:48 +0000 (20:08 +0000)]
createElement("image") creates an HTMLImageElement, although this hack should exist in parser only
https://bugs.webkit.org/show_bug.cgi?id=88360

Reviewed by Sam Weinig.

Source/WebCore:

Create a HTMLElement when using createElement('image'), but keep the HTML5 parser constructing HTMLImageelement for it.

* html/HTMLTagNames.in:

LayoutTests:

Update tests to reflect new behavior. This matches FireFox and Opera 12.

* fast/canvas/webgl/context-lost.html:
* fast/dom/prefixed-image-tag-expected.txt:
* fast/dom/prefixed-image-tag.xhtml:
* fast/dom/wrapper-classes-expected.txt:
* fast/dom/wrapper-classes.html:
* platform/mac/fast/dom/wrapper-classes-objc-expected.txt:
* platform/mac/fast/dom/wrapper-classes-objc.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152437 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUpdate list of EFL WK2 API tests
commit-queue@webkit.org [Sat, 6 Jul 2013 17:12:21 +0000 (17:12 +0000)]
Update list of EFL WK2 API tests
https://bugs.webkit.org/show_bug.cgi?id=118443

Patch by Sergio Correia <sergio.correia@openbossa.org> on 2013-07-06
Reviewed by Christophe Dumez.

The following tests were included:

Passing:
- CloseThenTerminate
- DidAssociateFormControls
- PageVisibilityState
- ResponsivenessTimerDoesntFireEarly
- TerminateTwice
- WillLoad

Failing:
- ResizeReversePaginatedWebView
- ScrollPinningBehaviors

This patch also modified ``test_webkit2_api_BINARIES'' list so that it is in
alphabetical order.

* TestWebKitAPI/CMakeLists.txt: Added Bundles for included tests.
* TestWebKitAPI/PlatformEfl.cmake: Added a few tests.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152436 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoStop hardcoding interfaces that have indexed getters returning strings
ch.dumez@sisa.samsung.com [Sat, 6 Jul 2013 07:24:42 +0000 (07:24 +0000)]
Stop hardcoding interfaces that have indexed getters returning strings
https://bugs.webkit.org/show_bug.cgi?id=118414

Reviewed by Kentaro Hara.

Stop hardcoding the names of interfaces that have indexed getters returning
strings in the bindings generator. Now that we use the latest Web IDL indexed
getter, more information is provided in the IDL files and the generator is
able to figure out if the indexed getter is returning a DOMString on its own.

No new tests, no behavior change.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
(GenerateImplementation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152435 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoTons of crashes on bots after r152425
timothy_horton@apple.com [Sat, 6 Jul 2013 05:01:31 +0000 (05:01 +0000)]
Tons of crashes on bots after r152425
https://bugs.webkit.org/show_bug.cgi?id=118440
<rdar://problem/14366772>

Reviewed by Sam Weinig.

Null-check the frame's page and early return. It's OK to do this
because it only happens when we're being torn down.

* page/FrameView.cpp:
(WebCore::FrameView::minimumScrollPosition):
(WebCore::FrameView::maximumScrollPosition):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152434 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix r152265: FrameView's pagination mode is only one of two, and the logic was totall...
timothy_horton@apple.com [Sat, 6 Jul 2013 02:19:41 +0000 (02:19 +0000)]
Fix r152265: FrameView's pagination mode is only one of two, and the logic was totally wrong
https://bugs.webkit.org/show_bug.cgi?id=118439
<rdar://problem/14366120>

Reviewed by Anders Carlsson.

* page/FrameView.cpp:
(WebCore::FrameView::maximumScrollPosition):
- Test both Page and FrameView's pagination modes.
- *Don't* clamp negatives to zero if we are paginated with scroll offset set,
    like the original changelog claimed, but the code did the opposite.
- Don't clamp in *all* pagination modes; with 'direction: RTL' it's still possible
    to have a negative maximum position in LTR/TB pagination modes.

* TestWebKitAPI/Tests/WebKit2/ResizeReversePaginatedWebView.cpp:
(TestWebKitAPI::didLayout):
(TestWebKitAPI::TEST):
- Make use of EXPECT_JS_EQ instead of manually doing JavaScript stuff.
- Assert that we got the right number of pages for sanity.
- Reduce the page gap size so that DrawingAreaImpl doesn't try to allocate
    so much memory that SharedMemory asserts and makes the test time out.
- Use didFirstLayoutAfterSuppressedIncrementalRendering instead of Paint
    because paint doesn't fire if the window is offscreen.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152433 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWKPageFindStringMatches with kWKFindOptionsBackwards still doesn't work
weinig@apple.com [Fri, 5 Jul 2013 23:21:22 +0000 (23:21 +0000)]
WKPageFindStringMatches with kWKFindOptionsBackwards still doesn't work
<rdar://problem/13881024>
https://bugs.webkit.org/show_bug.cgi?id=118436

Reviewed by Tim Horton.

* page/Page.cpp:
(WebCore::Page::findStringMatchingRanges):
- When searching backwards, use END_TO_START rather than START_TO_END.
- If there is no selection and we are searching backwards, we now select the last item,
  not the first.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152430 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Windows] Unreviewed build correction.
bfulgham@apple.com [Fri, 5 Jul 2013 23:12:21 +0000 (23:12 +0000)]
[Windows] Unreviewed build correction.

* WTF.vcxproj/WTFGenerated.make: Avoid syntax error in generated
file in cases where Legible Output support is not present.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152429 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoNix upstreaming - Adding Nix render theme files
commit-queue@webkit.org [Fri, 5 Jul 2013 23:06:04 +0000 (23:06 +0000)]
Nix upstreaming - Adding Nix render theme files
https://bugs.webkit.org/show_bug.cgi?id=118368

Patch by Tullio Lucena <tullio.lucena@openbossa.org> on 2013-07-05
Reviewed by Benjamin Poulain.

All files related to render theme stuff.

No new tests. They will be uploaded on another patch during the upstreaming process.

* platform/nix/RenderThemeNix.cpp: Added.
* platform/nix/RenderThemeNix.h: Added.
* platform/nix/ScrollbarThemeNix.cpp: Added.
* platform/nix/ScrollbarThemeNix.h: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152428 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Windows] Unreviewed build correction.
bfulgham@apple.com [Fri, 5 Jul 2013 22:57:17 +0000 (22:57 +0000)]
[Windows] Unreviewed build correction.

* WTF.vcxproj/WTFGenerated.make: Use space (rather than double
quotes) when handling the no-Legible-Output case.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152427 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Windows] Identify OS-level at build-time.
bfulgham@apple.com [Fri, 5 Jul 2013 22:17:27 +0000 (22:17 +0000)]
[Windows] Identify OS-level at build-time.
https://bugs.webkit.org/show_bug.cgi?id=118428

Reviewed by Anders Carlsson.

../WebCore:

* DerivedSources.make: Activate legible output features if present.
* WebCorePrefix.h: Activate MSVC 2010 workarounds for CGFloat if
building with VS2010.
* config.h: Activate legible output features if present.

../WTF:

* WTF.vcxproj/WTFGenerated.make: Check for Legible Output featurs
and set build environment as appropriate.
* wtf/Platform.h: Activate Legible Output features if present.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152426 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[wk2] Add API to lock the scroll position at the top or bottom of the page
timothy_horton@apple.com [Fri, 5 Jul 2013 21:33:44 +0000 (21:33 +0000)]
[wk2] Add API to lock the scroll position at the top or bottom of the page
https://bugs.webkit.org/show_bug.cgi?id=118429
<rdar://problem/14120323>

Reviewed by Anders Carlsson.

Test (API): WebKit2.ScrollPinningBehaviors

* WebCore.exp.in:
Expose FrameView::setScrollPinningBehavior.

* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
Our pinning behavior should be DoNotPin by default.

* page/FrameView.cpp:
(WebCore::FrameView::minimumScrollPosition):
(WebCore::FrameView::maximumScrollPosition):
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::minimumScrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
Fix the minimum scroll position's vertical location to the maximum if
we're pinned to the bottom, and vice-versa if we're pinned to the top.

(WebCore::FrameView::setScrollPinningBehavior): Added.
If scroll pinning behavior has changed, inform ScrollingCoordinator
and update scrollbars (which will also re-pin the scroll position).

* page/FrameView.h:
Override minimumScrollPosition, add setScrollPinningBehavior,
and storage for m_scrollPinningBehavior.

* page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::setScrollPinningBehavior): Added.

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::ScrollingTree):
Our pinning behavior should be DoNotPin by default.

(WebCore::ScrollingTree::setScrollPinningBehavior):
(WebCore::ScrollingTree::scrollPinningBehavior):
Getter/setter for m_scrollPinningBehavior, scrolling-thread-safe.

* page/scrolling/ScrollingTree.h:
* page/scrolling/mac/ScrollingCoordinatorMac.h:
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::setScrollPinningBehavior):
Inform ScrollingTree of the scroll pinning behavior change.

* platform/ScrollTypes.h:
Add ScrollPinningBehavior enum.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/ScrollPinningBehaviors.cpp: Added.
(TestWebKitAPI::didFinishDocumentLoadForFrame):
(TestWebKitAPI::TEST):
Add a test that ensures that the three pinning modes (DoNotPin, PinToTop, PinToBottom)
all work correctly in the face of resizing the view and scrolling from JS.

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
Pass the current ScrollPinningBehavior across to the WebPage upon creation.

* UIProcess/API/C/WKPage.cpp:
(WKPageGetScrollPinningBehavior):
(WKPageSetScrollPinningBehavior):
* UIProcess/API/C/WKPagePrivate.h:
SPI to get/set the WebPageProxy's current ScrollPinningBehavior.
Convert between WK API type and WebCore enum.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::creationParameters):
Send ScrollPinningBehavior when creating a WebPage.

(WebKit::WebPageProxy::setScrollPinningBehavior):
Pass ScrollPinningBehavior changes across to the WebProcess (and save it
in WebPageProxy so it can be sent back across if the WebProcess crashes).

* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::scrollPinningBehavior):
Getter/setter and storage for m_scrollPinningBehavior.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
Inform new FrameViews of the current ScrollPinningBehavior.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
Set our ScrollPinningBehavior based on our creation parameters.

(WebKit::WebPage::setScrollPinningBehavior):
Inform the FrameView of ScrollPinningBehavior changes.

* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::scrollPinningBehavior): Added.
(WebKit::WebPage::setScrollPinningBehavior): Added.
Add storage for m_scrollPinningBehavior.

* WebProcess/WebPage/WebPage.messages.in:
Add SetScrollPinningBehavior message.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152425 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoiframe constrained by max-width in full screen
commit-queue@webkit.org [Fri, 5 Jul 2013 21:28:23 +0000 (21:28 +0000)]
iframe constrained by max-width in full screen
https://bugs.webkit.org/show_bug.cgi?id=118250

Patch by Zalan Bujtas <zalan@apple.com> on 2013-07-05
Reviewed by Antti Koivisto.

Ensure that contents inside iframe can go full screen properly.

Set max-width and max-height values to the default 'none', so that iframes are not
constrained when entering full screen.

Source/WebCore:

Test: fullscreen/full-screen-iframe-with-max-width-height.html

* css/fullscreen.css:
(iframe:-webkit-full-screen):

LayoutTests:

* fullscreen/full-screen-iframe-with-max-width-height-expected.txt: Added.
* fullscreen/full-screen-iframe-with-max-width-height.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152424 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed. Add myself as a committer.
michael@68k.org [Fri, 5 Jul 2013 21:03:09 +0000 (21:03 +0000)]
Unreviewed. Add myself as a committer.

* Scripts/webkitpy/common/config/contributors.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152423 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Mac] .webkitClosedCaptionsVisible doesn't work with "Automatic" caption mode
eric.carlson@apple.com [Fri, 5 Jul 2013 20:35:11 +0000 (20:35 +0000)]
[Mac] .webkitClosedCaptionsVisible doesn't work with "Automatic" caption mode
https://bugs.webkit.org/show_bug.cgi?id=118319

Reviewed by Jer Noble.

Source/WebCore:

Track when captions are enabled with the old 'webkitClosedCaptionsVisible' attribute and
consider that when determining which track should be enabled.

Test: media/track/track-legacyapi-with-automatic-mode.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_webkitLegacyClosedCaptionOverride.
(WebCore::HTMLMediaElement::setWebkitClosedCaptionsVisible): Set m_webkitLegacyClosedCaptionOverride.
(WebCore::HTMLMediaElement::webkitClosedCaptionsVisible): Return m_webkitLegacyClosedCaptionOverride.
* html/HTMLMediaElement.h:

* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore): Don't apply "automatic"
    logic when captions were enabled with .webkitClosedCaptionsVisible.

LayoutTests:

* media/track/track-legacyapi-with-automatic-mode-expected.txt: Added.
* media/track/track-legacyapi-with-automatic-mode.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152422 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed gardening. Updated TestExpectations file.
mario@webkit.org [Fri, 5 Jul 2013 17:35:37 +0000 (17:35 +0000)]
Unreviewed gardening. Updated TestExpectations file.

Added accessibility/listitem-list.html to the list of expected
failures, which will get fixed once bug 105214 is fixed.

* platform/gtk/TestExpectations: Added new test.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152419 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoA lot of code duplication within StringImpl 'equal' functions
mikhail.pozdnyakov@intel.com [Fri, 5 Jul 2013 17:25:08 +0000 (17:25 +0000)]
A lot of code duplication within StringImpl 'equal' functions
https://bugs.webkit.org/show_bug.cgi?id=118415

Reviewed by Anders Carlsson.

There has been a lot of code duplication within StringImpl 'equal' functions:
the whole logic was copied to every overloaded 'equal' function.
Fixed now using templates and std::equal.

* wtf/text/StringImpl.cpp:
(WTF::equalInternal):
(WTF::equal):
* wtf/text/StringImpl.h:
(WTF::arraysEqual):
(WTF::equal):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152418 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] Update TestExpectations with crashing and failing tests
mario@webkit.org [Fri, 5 Jul 2013 16:35:48 +0000 (16:35 +0000)]
[GTK] Update TestExpectations with crashing and failing tests
https://bugs.webkit.org/show_bug.cgi?id=118424

Unreviewed GTK gardening.

Updated TestExpectations with tests crashing and failing.

Patch by Simon Pena <simon.pena@samsung.com> on 2013-07-05

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152417 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSegmentation fault occurred when ICU data library doesn't embed the expected encoding.
commit-queue@webkit.org [Fri, 5 Jul 2013 15:02:22 +0000 (15:02 +0000)]
Segmentation fault occurred when ICU data library doesn't embed the expected encoding.
https://bugs.webkit.org/show_bug.cgi?id=118410

Patch by Benjamin Dupont <bdupont@nds.com> on 2013-07-05
Reviewed by Allan Sandfeld Jensen.

* platform/text/TextEncodingRegistry.cpp:
(WebCore::newTextCodec):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152416 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove code duplication from StringImpl create()/reallocate() methods
mikhail.pozdnyakov@intel.com [Fri, 5 Jul 2013 11:23:44 +0000 (11:23 +0000)]
Remove code duplication from StringImpl create()/reallocate() methods
https://bugs.webkit.org/show_bug.cgi?id=118355

Reviewed by Andreas Kling.

StringImpl create()/reallocate() methods accepting LChar and UChar used to have
duplicated code. The code duplication is removed now via used templates.

* wtf/text/StringImpl.cpp:
(WTF::StringImpl::constructInternal):
(WTF::LChar):
(WTF::StringImpl::createUninitializedInternal):
(WTF::StringImpl::createUninitialized):
(WTF::StringImpl::reallocateInternal):
(WTF::StringImpl::reallocate):
(WTF::StringImpl::createInternal):
(WTF::StringImpl::create):
* wtf/text/StringImpl.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152415 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL][WK2] Implement unit test callbacks: onWordLearn and onWordIgnore.
commit-queue@webkit.org [Fri, 5 Jul 2013 10:29:12 +0000 (10:29 +0000)]
[EFL][WK2] Implement unit test callbacks: onWordLearn and onWordIgnore.
https://bugs.webkit.org/show_bug.cgi?id=118392

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2013-07-05
Reviewed by Christophe Dumez.

Simulate behavior of Learn and Ignore Word in the text field.

* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::mouseDoubleClick):
Select the entire word in the text field.

* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
* UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
(onSpellingForKnownWord):
(onWordLearn):
(onWordIgnore):
(selectLearnSpelling):
(selectIgnoreSpelling):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152414 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[New multicol] Change test to follow the pattern of the other tests
commit-queue@webkit.org [Fri, 5 Jul 2013 10:26:42 +0000 (10:26 +0000)]
[New multicol] Change test to follow the pattern of the other tests
https://bugs.webkit.org/show_bug.cgi?id=117698

Patch by Mihai Maerean <mmaerean@adobe.com> on 2013-07-05
Reviewed by Andreas Kling.

Test is a ref test against the old multicol code, like all the other tests in LayoutTests/fast/multicol/newmulticol/
This is a follow up of bug 116614, testing that flow threads don't end up being cloned in region based multi
columns with columns:1 where the only child has column-span:all.

* fast/multicol/newmulticol/direct-child-column-span-all-expected.html: Added.
* fast/multicol/newmulticol/direct-child-column-span-all-expected.txt: Removed.
* fast/multicol/newmulticol/direct-child-column-span-all.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152413 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] WebKit2 test TestWebKitFaviconDatabase times out with recent glib
commit-queue@webkit.org [Fri, 5 Jul 2013 10:13:47 +0000 (10:13 +0000)]
[GTK] WebKit2 test TestWebKitFaviconDatabase times out with recent glib
https://bugs.webkit.org/show_bug.cgi?id=111434

Patch by Xabier Rodriguez Calvar <calvaris@igalia.com> on 2013-07-05
Reviewed by Carlos Garcia Campos.

Source/WebKit2:

* UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
(testNotInitialized):
(testSetDirectory):
(testClearDatabase):
(testGetFavicon):
(testGetFaviconURI): Removed gconstpointer parameter.
(testWebViewFavicon): Fixed to make it work together with the
other tests and removed gconstpointer parameter.
(testFaviconDatabase): Created to call all tests in the proper
order.
(beforeAll): Changed to call only testFaviconDatabase instead of
the separate tests.

Tools:

* Scripts/run-gtk-tests:
(TestRunner): Unskipped TestWebKitFaviconDatabase tests.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152412 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] fast/text/font-kerning.html fails
commit-queue@webkit.org [Fri, 5 Jul 2013 08:52:35 +0000 (08:52 +0000)]
[GTK] fast/text/font-kerning.html fails
https://bugs.webkit.org/show_bug.cgi?id=76048

Patch by Denis Nomiyama <d.nomiyama@samsung.com> on 2013-07-05
Reviewed by Martin Robinson.

Added kerning to the list of features for hb_shade() according to FontDescription::kerning().
Removed font-kerning.html from gtk/TestExpectations, which was failing before this fix.

Source/WebCore:

* platform/graphics/harfbuzz/HarfBuzzFace.cpp:
(WebCore):
* platform/graphics/harfbuzz/HarfBuzzFace.h:
(HarfBuzzFace):
* platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::setFontFeatures):

LayoutTests:

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152411 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoTestWebKitFaviconDatabase/clear-database is not testing things properly
commit-queue@webkit.org [Fri, 5 Jul 2013 08:41:34 +0000 (08:41 +0000)]
TestWebKitFaviconDatabase/clear-database is not testing things properly
https://bugs.webkit.org/show_bug.cgi?id=118404

Patch by Xabier Rodriguez Calvar <calvaris@igalia.com> on 2013-07-05
Reviewed by Carlos Garcia Campos.

* UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
(testClearDatabase): Check for an existing icon that can make the
test fail if clear database is not working.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152410 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBuild fix GTK after r152404.
ch.dumez@sisa.samsung.com [Fri, 5 Jul 2013 07:36:43 +0000 (07:36 +0000)]
Build fix GTK after r152404.
https://bugs.webkit.org/show_bug.cgi?id=118407

Patch by Gwang Yoon Hwang <ryumiel@company100.net> on 2013-07-05
Reviewed by Christophe Dumez.

* GNUmakefile.list.am:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152409 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL] DumpRenderTree doesn't run if "opengl_x11" engine is not available
commit-queue@webkit.org [Fri, 5 Jul 2013 06:53:30 +0000 (06:53 +0000)]
[EFL] DumpRenderTree doesn't run if "opengl_x11" engine is not available
https://bugs.webkit.org/show_bug.cgi?id=118370

Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2013-07-04
Reviewed by Christophe Dumez.

Add fallback to software X11 engine if opengl_x11 engine creation fails.

* DumpRenderTree/efl/DumpRenderTree.cpp:
(initEcoreEvas):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152408 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoPaint the page background if we haven't received our first update
andersca@apple.com [Thu, 4 Jul 2013 21:17:40 +0000 (21:17 +0000)]
Paint the page background if we haven't received our first update
https://bugs.webkit.org/show_bug.cgi?id=118402
<rdar://problem/13893308>

Reviewed by Simon Fraser.

Make sure that we always paint something when we haven't received our first update from the web process.

* UIProcess/API/mac/WKView.mm:
(-[WKView drawRect:]):
* UIProcess/DrawingAreaProxyImpl.h:
(WebKit::DrawingAreaProxyImpl::hasReceivedFirstUpdate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152407 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd a method to get unreachable URL from WebFrame.
commit-queue@webkit.org [Thu, 4 Jul 2013 19:53:19 +0000 (19:53 +0000)]
Add a method to get unreachable URL from WebFrame.
https://bugs.webkit.org/show_bug.cgi?id=118399

Normally we could use [[WebFrame dataSource] unreachableURL] to get the failed URL.  However, if the frame has not
loaded (FrameLoader::frameHasLoaded() is false), we will get a nil dataSource and we won't be able to get unreachableURL.
We can add a method to always return the unreachableURL regardless if the frame has loaded or not.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2013-07-04
Reviewed by Dan Bernstein.

* WebView/WebFrame.mm:
(-[WebFrame _unreachableURL]):
* WebView/WebFramePrivate.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152405 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoHave SVGTextContentElement inherit SVGGraphicsElement
ch.dumez@sisa.samsung.com [Thu, 4 Jul 2013 18:48:51 +0000 (18:48 +0000)]
Have SVGTextContentElement inherit SVGGraphicsElement
https://bugs.webkit.org/show_bug.cgi?id=118351

Reviewed by Dirk Schulze.

Source/WebCore:

Have SVGTextContentElement inherit SVGGraphicsElement instead of
SVGStyledElement in order to match the latest SVG2 specification:
https://svgwg.org/svg2-draft/text.html#InterfaceSVGTextContentElement

This patch also removes the SVGTransformable and SVGLocatable IDL
interfaces as they are no longer needed (were merged into
SVGGraphicsElement in the latest specification).

This is one step towards getting rid of multiple inheritance in
SVG, and complying with the latest SVG2 specification.

No new tests, covered by existing tests.

* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/CodeGeneratorJS.pm:
(GetGnuVTableOffsetForType):
* bindings/scripts/CodeGeneratorObjC.pm:
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::hasValidAttributeType):
* svg/SVGElement.cpp:
(WebCore::SVGElement::getBoundingBox):
* svg/SVGLocatable.idl: Removed.
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::SVGTextContentElement):
(WebCore::SVGTextContentElement::isSupportedAttribute):
(WebCore::SVGTextContentElement::isPresentationAttribute):
(WebCore::SVGTextContentElement::collectStyleForPresentationAttribute):
(WebCore::SVGTextContentElement::parseAttribute):
(WebCore::SVGTextContentElement::svgAttributeChanged):
* svg/SVGTextContentElement.h:
* svg/SVGTextContentElement.idl:
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::SVGTextElement):
(WebCore::SVGTextElement::animatedLocalTransform):
* svg/SVGTextElement.h:
* svg/SVGTextElement.idl:
* svg/SVGTransformable.idl: Removed.

LayoutTests:

Fix conversion to absolute (user agent) coordinates in the svg/text
tests to use SVGGraphicsElement::getScreenCTM() instead of
SVGGraphicsElement::getTransformToElement(). The previous code was
working until now due to a bug in getTransformToElement(), which
was not taking into consideration the CTM of the SVGTextElement (as
it was not recognized as a "locatable" element). Now that
SVGTextElement inherits from SVGGraphicsElement, it is properly
recognized as a "locatable" element by getTransformToElement().

* svg/text/resources/SelectionTestCase.js:
(toAbsoluteCoordinates):
* svg/text/selection-doubleclick.svg:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152404 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCrash when createPluginInternal ends up destroying the plug-in
andersca@apple.com [Thu, 4 Jul 2013 18:42:16 +0000 (18:42 +0000)]
Crash when createPluginInternal ends up destroying the plug-in
https://bugs.webkit.org/show_bug.cgi?id=118397
<rdar://problem/14155051>

Reviewed by Simon Fraser.

Keep the WebProcessConnection object alive while calling createPluginInternal and handle
the IPC connection going away.

* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::createPluginAsynchronously):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152403 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove PageThrottler::m_activeThrottleBlockers
barraclough@apple.com [Thu, 4 Jul 2013 18:00:01 +0000 (18:00 +0000)]
Remove PageThrottler::m_activeThrottleBlockers
https://bugs.webkit.org/show_bug.cgi?id=118375

Reviewed by Mark Rowe.

This is simply m_activityTokens.size().

Also, fold preventThrottling into addActivityToken & allowThrottling into removeActivityToken
(these should no longer be called directly, and should not be public).

* page/PageThrottler.cpp:
(WebCore::PageThrottler::PageThrottler):
    - removed m_activeThrottleBlockers
(WebCore::PageThrottler::startThrottleHysteresisTimer):
    - m_activeThrottleBlockers -> m_activityTokens.size()
(WebCore::PageThrottler::throttleHysteresisTimerFired):
    - m_activeThrottleBlockers -> m_activityTokens.size()
(WebCore::PageThrottler::addActivityToken):
    - added functionality from preventThrottling
(WebCore::PageThrottler::removeActivityToken):
    - added functionality from allowThrottling
* page/PageThrottler.h:
    - removed preventThrottling, allowThrottling, and m_activeThrottleBlockers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152402 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoTake document height into account when determining when it is considered visually...
antti@apple.com [Thu, 4 Jul 2013 15:51:44 +0000 (15:51 +0000)]
Take document height into account when determining when it is considered visually non-empy
https://bugs.webkit.org/show_bug.cgi?id=118272

Reviewed by Darin Adler.

The current visually non-empy mechanism takes into account only the amount of contents in renderers.
Add a simple layout dependency so that we don't consider page non-empty until the document height
exceed a (low) height threshold (or the load completes).

* page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks):

    Don't send layout callbacks until we have actually some content.

(WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
(WebCore::FrameView::updateIsVisuallyNonEmpty):

    Factor into functions.

* page/FrameView.h:
(WebCore::FrameView::incrementVisuallyNonEmptyCharacterCount):
(WebCore::FrameView::incrementVisuallyNonEmptyPixelCount):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::RenderHTMLCanvas):

     The size is not known but the estimate provided here is always bigger than the threshold so
     the functionality is unchanged.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152401 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed build fix after r152399.
ch.dumez@sisa.samsung.com [Thu, 4 Jul 2013 15:33:32 +0000 (15:33 +0000)]
Unreviewed build fix after r152399.

Add missing header include for SVGNames.h.

* svg/SVGImageElement.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152400 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoChange static_cast<SVGImageElement*> with toSVGImageElement
gyuyoung.kim@samsung.com [Thu, 4 Jul 2013 13:58:13 +0000 (13:58 +0000)]
Change static_cast<SVGImageElement*> with toSVGImageElement
https://bugs.webkit.org/show_bug.cgi?id=118387

Reviewed by Andreas Kling.

As a step to change static_cast with toXXX, static_cast<SVGImageElement*> can
be changed with toSVGImageElement().

Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=153557

* rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::updateImageViewport):
(WebCore::RenderSVGImage::layout):
(WebCore::RenderSVGImage::paintForeground):
* svg/SVGImageElement.h:
(WebCore::toSVGImageElement):
* svg/SVGImageLoader.cpp:
(WebCore::SVGImageLoader::dispatchLoadEvent):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152399 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] Leak: Free PangoFontDescription* in RenderThemeGtk3
commit-queue@webkit.org [Thu, 4 Jul 2013 13:18:13 +0000 (13:18 +0000)]
[GTK] Leak: Free PangoFontDescription* in RenderThemeGtk3
https://bugs.webkit.org/show_bug.cgi?id=118386

Patch by Brian Holt <brian.holt@samsung.com> on 2013-07-04
Reviewed by Carlos Garcia Campos.

Free PangoFontDescription* allocated by gtk_style_context_get (transfer full).

* platform/gtk/RenderThemeGtk3.cpp:
(WebCore::spinButtonArrowSize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152398 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[ATK] Leak: AtkAttributeSet* should be freed
commit-queue@webkit.org [Thu, 4 Jul 2013 12:10:45 +0000 (12:10 +0000)]
[ATK] Leak: AtkAttributeSet* should be freed
https://bugs.webkit.org/show_bug.cgi?id=118307

Patch by Brian Holt <brian.holt@samsung.com> on 2013-07-04
Reviewed by Christophe Dumez.

Source/WebCore:

Use AtkAttributeSet* instead of GSList*.

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetObjectLocale):

Tools:

Fixed memory leaks for AtkAttributeSet by calling
atk_attribute_set_free().

* DumpRenderTree/atk/AccessibilityControllerAtk.cpp:
(AccessibilityController::childElementById):
* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(getAtkAttributeSetAsString):
(AccessibilityUIElement::allAttributes):
(AccessibilityUIElement::stringAttributeValue):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
(WTR::childElementById):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::getAtkAttributeSetAsString):
(WTR::AccessibilityUIElement::allAttributes):
(WTR::AccessibilityUIElement::stringAttributeValue):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152397 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[ATK] Do not expose '\n' for wrapped lines with ATK_TEXT_BOUNDARY_CHAR
mario@webkit.org [Thu, 4 Jul 2013 10:03:42 +0000 (10:03 +0000)]
[ATK] Do not expose '\n' for wrapped lines with ATK_TEXT_BOUNDARY_CHAR
https://bugs.webkit.org/show_bug.cgi?id=118359

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Do not expose a '\n' character for every visual line break.

* accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(webkitAccessibleTextGetChar): Removed wrong code.

Source/WebKit/gtk:

Added new unit test to make sure we exposed line breaks properly.

* tests/testatk.c:
(testWebkitAtkGetTextAtOffsetWithWrappedLines): New unit test.
(main): Added new test to the test suite.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152396 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CMake] Add generation of JITStubs for x86_64 MSVC
paroga@webkit.org [Thu, 4 Jul 2013 09:12:31 +0000 (09:12 +0000)]
[CMake] Add generation of JITStubs for x86_64 MSVC
https://bugs.webkit.org/show_bug.cgi?id=116666

Reviewed by Laszlo Gombos.

Also move the generation for ARM CPU into the CMakeLists.txt,
since it's compiler specific and not dedicated to Windows CE.

* CMakeLists.txt:
* PlatformWinCE.cmake: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152395 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL] Gardening. Unskip tests related with editing
commit-queue@webkit.org [Thu, 4 Jul 2013 09:05:05 +0000 (09:05 +0000)]
[EFL] Gardening. Unskip tests related with editing
https://bugs.webkit.org/show_bug.cgi?id=118379

Unreviewed gardening.

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2013-07-04

* platform/efl-wk2/TestExpectations:
  Unskip editing/selection/doubleclick-beside-cr-span.html and
  editing/selection/doubleclick-whitespace.html, which are passed after r150289
* platform/efl/editing/style/5065910-expected.txt: Removed (wrong expected result).
* platform/efl/editing/style/5065910-expected.png: Removed (wrong expected result).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152394 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CMake] Add STATICALLY_LINKED_WITH_WTF to JavaScriptCore project
paroga@webkit.org [Thu, 4 Jul 2013 08:52:31 +0000 (08:52 +0000)]
[CMake] Add STATICALLY_LINKED_WITH_WTF to JavaScriptCore project
https://bugs.webkit.org/show_bug.cgi?id=118120

Reviewed by Gyuyoung Kim.

Since WTF is a static library linked to JavaScriptCore on all CMake ports
we need to define STATICALLY_LINKED_WITH_WTF for all of them.
This makes only a difference for Windows, since WTF_EXPORT and WTF_IMPORT
are the same on all other platforms.

* CMakeLists.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152393 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoPort FileSystemWin.cpp to WinCE
paroga@webkit.org [Thu, 4 Jul 2013 08:08:22 +0000 (08:08 +0000)]
Port FileSystemWin.cpp to WinCE
https://bugs.webkit.org/show_bug.cgi?id=117935

Reviewed by Brent Fulgham.

Add #if !OS(WINCE) around a few lines of the code, so it can be used by the WinCE port too.

* PlatformWinCE.cmake:
* platform/win/FileSystemWin.cpp:
(WebCore::storageDirectory):
* platform/wince/FileSystemWinCE.cpp: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152392 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GStreamer] support preload="metadata"
kbalazs@webkit.org [Thu, 4 Jul 2013 07:44:16 +0000 (07:44 +0000)]
[GStreamer] support preload="metadata"
https://bugs.webkit.org/show_bug.cgi?id=116817

Reviewed by Eric Carlson.

Source/WebCore:

Add appropriate behavior for preload="metadata". Delay enabling download buffering
until playback is started in this case. This behavior fits with the standard quite
well and this is the most exact match we can get (at least without adding too much
extra complexity). What matters mostly is that we can avoid loading the media
before playback but we have the first frame and the metadata.

Test: media/video-load-preload-metadata.html

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::prepareToPlay): Set |m_preload| to |Auto|
so we will start download buffering if we did not start it yet.
(WebCore::MediaPlayerPrivateGStreamer::play): Ditto.
(MediaPlayerPrivateGStreamer::setDownloadBuffering): Only start download
buffering if |m_preload == Auto|. Also make sure we don't clear the download
flag once we started downloading because it would result in not well defined
behavior and it does not really makes sense.
(MediaPlayerPrivateGStreamer::setPreload): Set download buffering accordingly.

LayoutTests:

* media/video-load-preload-metadata.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152391 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Coordinated Graphics] Don't use && operator in ASSERT
commit-queue@webkit.org [Thu, 4 Jul 2013 06:44:59 +0000 (06:44 +0000)]
[Coordinated Graphics] Don't use && operator in ASSERT
https://bugs.webkit.org/show_bug.cgi?id=118377

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-07-03
Reviewed by Noam Rosenthal.

We don't use && opeartor in ASSERT because it's impossible to know which
condition caused the assertion.

* platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp:
(WebCore::CoordinatedBackingStoreTile::swapBuffers):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152390 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL] Support some more editing keyboard events
commit-queue@webkit.org [Thu, 4 Jul 2013 06:20:33 +0000 (06:20 +0000)]
[EFL] Support some more editing keyboard events
https://bugs.webkit.org/show_bug.cgi?id=118346

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2013-07-03
Reviewed by Gyuyoung Kim.

For editable contents, support the shortcuts for copy, page, cut, select all, undo and redo.

* platform/efl/EflKeyboardUtilities.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152389 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAX: Items the img aria role aren't inserting an object replacement character
cfleizach@apple.com [Thu, 4 Jul 2013 05:28:03 +0000 (05:28 +0000)]
AX: Items the img aria role aren't inserting an object replacement character
https://bugs.webkit.org/show_bug.cgi?id=118259

Source/WebCore:

Reviewed by Tim Horton.

VoiceOver relies on object replacement characters being emitted when asking for selected text.
This has worked if a real <img> is used, but if role="img" is used on a <div>, for example,
no emission is performed, which leads to missed elements in text.

Test: platform/mac/accessibility/aria-image-emits-object-replacement.html

* editing/TextIterator.cpp:
(WebCore::isRendererReplacedElement):
(WebCore::TextIterator::advance):

LayoutTests:

Reviewed by Reviewed by Tim Horton.

* accessibility/non-native-image-crash-expected.txt:
* platform/mac/accessibility/aria-image-emits-object-replacement-expected.txt: Added.
* platform/mac/accessibility/aria-image-emits-object-replacement.html: Added.
* platform/mac/accessibility/img-fallsback-to-title-expected.txt:
     Update expected tests where role="img" now emits replacement character.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152388 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdopt is/toHTMLMapElement for code cleanup
kangil.han@samsung.com [Thu, 4 Jul 2013 04:31:30 +0000 (04:31 +0000)]
Adopt is/toHTMLMapElement for code cleanup
https://bugs.webkit.org/show_bug.cgi?id=118235

Reviewed by Andreas Kling.

To enhance readability, this patch adopts is/toHTMLMapElement.
This also helps out to reduce duplicated use of static_cast.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::getDocumentLinks):
(WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
* dom/DocumentOrderedMap.cpp:
(WebCore::keyMatchesMapName):
(WebCore::keyMatchesLowercasedMapName):
* dom/TreeScope.cpp:
(WebCore::TreeScope::getImageMap):
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::imageElement):
* html/HTMLMapElement.h:
(WebCore::isHTMLMapElement):
(WebCore::toHTMLMapElement):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152387 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Windows] Unreviewed build correction after r15283.
bfulgham@apple.com [Thu, 4 Jul 2013 00:47:04 +0000 (00:47 +0000)]
[Windows] Unreviewed build correction after r15283.

* WebCorePrefix.h: Remove include directive for CGFloat.h, as it
is not present in all Windows build environments.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152386 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Windows] Exclude unsupported QuartzCore Features.
bfulgham@apple.com [Thu, 4 Jul 2013 00:39:44 +0000 (00:39 +0000)]
[Windows] Exclude unsupported QuartzCore Features.
https://bugs.webkit.org/show_bug.cgi?id=118374

Reviewed by Anders Carlsson.

* WebCore.vcxproj/WebCoreCG.props: Exclude a few non-Windows
concepts from the QuartzCore headers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152385 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSimplify PageThrottler ownership.
barraclough@apple.com [Thu, 4 Jul 2013 00:03:10 +0000 (00:03 +0000)]
Simplify PageThrottler ownership.
https://bugs.webkit.org/show_bug.cgi?id=118372

Reviewed by Sam Weinig.

* page/Page.cpp:
(WebCore::Page::~Page):
    - 'clearPage' method removed - just clear the own pointer.
* page/Page.h:
    - make m_pageThrottler an OwnPtr.
* page/PageThrottler.cpp:
(WebCore::PageThrottler::~PageThrottler):
    - moved 'setThrottled(false)' from 'clearPage' (removed).
(WebCore::PageThrottler::throttlePage):
(WebCore::PageThrottler::unthrottlePage):
    - no need to check 'm_page'
* page/PageThrottler.h:
(WebCore::PageThrottler::create):
    - create a PassOwnPtr, not PassRefPtr.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152384 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Windows] Updates to support changes in CoreGraphics libraries.
bfulgham@apple.com [Thu, 4 Jul 2013 00:01:58 +0000 (00:01 +0000)]
[Windows] Updates to support changes in CoreGraphics libraries.
https://bugs.webkit.org/show_bug.cgi?id=118373

Reviewed by Anders Carlsson.

* WebCorePrefix.h: Include definitions for isnan/round/roundf for versions of
Visual Studio that do not provide them natively.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152383 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoImplement mechanism to detect (partially) hidden blocked plugins.
commit-queue@webkit.org [Wed, 3 Jul 2013 23:56:23 +0000 (23:56 +0000)]
Implement mechanism to detect (partially) hidden blocked plugins.
https://bugs.webkit.org/show_bug.cgi?id=117998

Patch by Gordon Sheridan <gordon_sheridan@apple.com> on 2013-07-03
Reviewed by Dean Jackson.

Source/WebCore:

* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::replacementTextRect):
Added private method for calculating the size of the replacement text for blocked plugins.

(WebCore::RenderEmbeddedObject::isReplacementObscured):
Added public method to determine if the EMBED element used for a blocked plugin is inaccessible to the user.
* rendering/RenderEmbeddedObject.h:
Declare the two new methods mentioned above.

* WebCore.exp.in:
Export RenderEmbeddedObject::isReplacementObscured().

Source/WebKit2:

* Shared/Plugins/Netscape/PluginInformation.h:
* Shared/Plugins/Netscape/PluginInformation.cpp:
(WebKit::plugInInformationReplacementObscuredKey):
Add key for plugInInformation dictionaries.

(WebKit::createPluginInformationDictionary):
Add boolean parameter identifying whether the replacement for a blocked plugin is obscured, and add it to the dictionary.

* Shared/API/c/WKPluginInformation.h:
* Shared/API/c/WKPluginInformation.cpp:
(WKPluginInformationReplacementObscuredKey):
Provide the C API for the plugInInformationReplacementObscuredKey().

* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didBlockInsecurePluginVersion):
Add bool replacementObscured parameter to pass on argument to createPluginInformationDictionary().

* UIProcess/WebPageProxy.messages.in:
Add bool replacementObscured parameter to DidBlockInsecurePluginVersion() message.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):
Invoke isReplacementObscured() method for blocked plugins.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152382 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Windows] Unreviewed build correction.
bfulgham@apple.com [Wed, 3 Jul 2013 23:38:27 +0000 (23:38 +0000)]
[Windows] Unreviewed build correction.

* WTF.vcxproj/copy-files.cmd: Limit path (for this file) to DOS-only to avoid
the Cygwin variant of rmdir from being used.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152381 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoGuard remaining calls to decodeURIComponent with a try/catch.
timothy@apple.com [Wed, 3 Jul 2013 23:13:46 +0000 (23:13 +0000)]
Guard remaining calls to decodeURIComponent with a try/catch.

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

Reviewed by Joseph Pecoraro.

* UserInterface/Main.js:
(WebInspector.displayNameForURL):
(WebInspector.updateWindowTitle):
* UserInterface/Utilities.js:
(arrayResult):
(queryString):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152380 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago <rdar://problem/14271105> Flash Player: deny ipc-posix-sem 59918130
ap@apple.com [Wed, 3 Jul 2013 22:28:42 +0000 (22:28 +0000)]
    <rdar://problem/14271105> Flash Player: deny ipc-posix-sem 59918130
        <rdar://problem/14349560> Flash Player: deny ipc-posix-sem MacromediaSemaphoreDig on many sites

        Reviewed by Sam Weinig.

        * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
        semaphore-owner doesn't appear to work the way we need it to, removing it (at least for now).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152375 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRan update-webkit-localizable-strings.
jberlin@webkit.org [Wed, 3 Jul 2013 20:19:50 +0000 (20:19 +0000)]
Ran update-webkit-localizable-strings.

Rubber-stamped by Joseph Pecoraro.

* Localizations/en.lproj/localizedStrings.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152374 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd Makefile to WebKitLauncher
dfarler@apple.com [Wed, 3 Jul 2013 20:16:07 +0000 (20:16 +0000)]
Add Makefile to WebKitLauncher
https://bugs.webkit.org/show_bug.cgi?id=118365

Reviewed by Mark Rowe.

* WebKitLauncher/Makefile: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152373 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[ATK] Leak: more leaks in AccessibilityUIElement
commit-queue@webkit.org [Wed, 3 Jul 2013 18:50:24 +0000 (18:50 +0000)]
[ATK] Leak: more leaks in AccessibilityUIElement
https://bugs.webkit.org/show_bug.cgi?id=118362

Patch by Brian Holt <brian.holt@samsung.com> on 2013-07-03
Reviewed by Christophe Dumez.

Free the memory created by g_strdup_printf.

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::language):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::language):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152371 268f45cc-cd09-0410-ab3c-d52691b4dbfc