Timeline



Jul 9, 2013:

11:55 PM Changeset in webkit [152526] by bw80.lee@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix.

  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::SVGImageElement):

11:10 PM Changeset in webkit [152525] by bw80.lee@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL] tooltip callback doesn't work.
https://bugs.webkit.org/show_bug.cgi?id=118522

Reviewed by Christophe Dumez.

Add missing code to connect didChangeTooltip callback.

  • UIProcess/efl/ViewClientEfl.cpp:

(WebKit::ViewClientEfl::ViewClientEfl):

10:31 PM Changeset in webkit [152524] by gyuyoung.kim@samsung.com
  • 13 edits in trunk/Source/WebCore

Introduce isSVGFontElement() and isSVGImageElement(), use them
https://bugs.webkit.org/show_bug.cgi?id=118504

Reviewed by Benjamin Poulain.

Let's use isFoo() to enhance readibility in svg element classes along with html's.

No new tests, there is no behavior changes.

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::getSVGFontById):

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::absoluteImageURL):

  • svg/SVGAnimateMotionElement.cpp:

(WebCore::SVGAnimateMotionElement::hasValidAttributeType):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::viewportElement):

  • svg/SVGFontElement.cpp:

(WebCore::SVGFontElement::SVGFontElement):

  • svg/SVGFontElement.h:

(WebCore::toSVGFontElement):
(WebCore::isSVGFontElement):

  • svg/SVGFontFaceElement.cpp:

(WebCore::SVGFontFaceElement::associatedFontElement):
(WebCore::SVGFontFaceElement::rebuildFontFace):

  • svg/SVGGlyphElement.cpp:

(WebCore::SVGGlyphElement::invalidateGlyphCache):

  • svg/SVGHKernElement.cpp:

(WebCore::SVGHKernElement::insertedInto):
(WebCore::SVGHKernElement::removedFrom):

  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::SVGImageElement):

  • svg/SVGImageElement.h:

(WebCore::toSVGImageElement):
(WebCore::isSVGImageElement):

  • svg/SVGLocatable.cpp:

(WebCore::isViewportElement):

  • svg/SVGVKernElement.cpp:

(WebCore::SVGVKernElement::insertedInto):
(WebCore::SVGVKernElement::removedFrom):

8:32 PM Changeset in webkit [152523] by ryuan.choi@samsung.com
  • 10 edits in trunk

[EFL] Add ewk_view_device_pixel_ratio_set
https://bugs.webkit.org/show_bug.cgi?id=118521

Reviewed by Gyuyoung Kim.

Source/WebCore:

No new tests, covered by existing tests.

  • dom/ViewportArguments.cpp: Remove PLATFORM(EFL) not to use deprecatedTargetDPI
  • dom/ViewportArguments.h: Ditto.
  • platform/efl/EflScreenUtilities.cpp: Removed getDPI() which is not used anymore.
  • platform/efl/EflScreenUtilities.h: Ditto.

Source/WebKit/efl:

ewebkit and ewebkit2 have different approach about getting device pixel ratio.
ewebkit depends on deprecatedTargetDPI and ecore_x_dpi_get,
but ewebkit2 use Page::deviceScaleFactor.

This patch will add ewk_view_device_pixel_ratio_set and use Page::deviceScaleFactor()
instead of ViewportArguments::deprecatedTargetDPI like ewebkit2.

  • ewk/ewk_view.cpp:

(_ewk_view_priv_new):
(_ewk_view_viewport_attributes_compute): Use Page::deviceScaleFactor().
(ewk_view_viewport_attributes_get): Ditto.
(ewk_view_device_pixel_ratio_set): Added.
(ewk_view_device_pixel_ratio_get):

  • ewk/ewk_view.h:

Update document of ewk_view_device_pixel_ratio_get (from ewebkit2) and
added ewk_view_device_pixel_ratio_set.

Tools:

  • EWebLauncher/main.c: Added new option(-r) to test device pixel ratio.

(windowCreate):
(parseUserArguments):

5:39 PM Changeset in webkit [152522] by commit-queue@webkit.org
  • 5 edits in trunk

@readonly and @aria-readonly="false" are not exposed correctly to accessibility
https://bugs.webkit.org/show_bug.cgi?id=118475

Patch by James Craig <james@cookiecrook.com> on 2013-07-09
Reviewed by Chris Fleizach.

Source/WebCore:

Account for implicit and explicit @readonly/@aria-readonly mismatches. Updated existing test coverage.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::canSetValueAttribute):

LayoutTests:

Updated existing test to account for implicit and explicit @readonly/@aria-readonly mismatches.

  • accessibility/aria-readonly-expected.txt:
  • accessibility/aria-readonly.html:
4:18 PM Changeset in webkit [152521] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Unreviewed change of my email addresses.
https://bugs.webkit.org/show_bug.cgi?id=100122

Patch by Bruno de Oliveira Abinader <Bruno de Oliveira Abinader> on 2013-07-09

  • Scripts/webkitpy/common/config/contributors.json:
3:58 PM Changeset in webkit [152520] by jer.noble@apple.com
  • 16 edits in trunk/Source

Reviewed by Simon Fraser.

Source/WebCore:

Remember the scroll position and restore after exiting full-screen mode.
https://bugs.webkit.org/show_bug.cgi?id=61956

No new tests, adds a client callback used by WebKit and WebKit2 win.

  • platform/graphics/win/FullScreenController.cpp:

(FullScreenController::enterFullScreen):
(FullScreenController::exitFullScreen):

  • platform/graphics/win/FullScreenControllerClient.h:

Source/WebKit/mac:

Remember the scroll position and restore after exiting full-screen mode.
https://bugs.webkit.org/show_bug.cgi?id=61956
<rdar://problem/9544461>

Call into the main FrameView to save the scroll position before swapping the
WebView into the full-screen window, and restore the scroll position after
swapping the WebView back into the browser window.

  • WebView/WebFullScreenController.h:
  • WebView/WebFullScreenController.mm:

(-[WebFullScreenController windowDidEnterFullscreen:]): Save the scroll position.
(-[WebFullScreenController exitFullscreen]): Restore the scroll position.

Source/WebKit/win:

Remember the scroll position and restore after exiting full-screen mode.
https://bugs.webkit.org/show_bug.cgi?id=61956

Add support for two new FullScreenClient callbacks for saving and restoring the
scroll position of the full-screen frame.

  • WebView.cpp:

(WebView::fullScreenClientSaveScrollPosition):
(WebView::fullScreenClientRestoreScrollPosition):

  • WebView.h:

Source/WebKit2:

Remember the scroll position and restore after exiting full-screen mode.
https://bugs.webkit.org/show_bug.cgi?id=61956
<rdar://problem/9544461>

Call into the main FrameView to save the scroll position before swapping the
WebView into the full-screen window, and restore the scroll position after
swapping the WebView back into the browser window.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
(-[WKFullScreenWindowController beganExitFullScreenAnimation]):

In WebKit2, this requires some communication between the WebProcess and the
UIProcess, so add two new messages to WebFullScreenManager to be called by
its proxy.

  • UIProcess/WebFullScreenManagerProxy.h:
  • UIProcess/WebFullScreenManagerProxy.cpp:

(WebKit::WebFullScreenManagerProxy::saveScrollPosition):
(WebKit::WebFullScreenManagerProxy::restoreScrollPosition):

  • WebProcess/FullScreen/WebFullScreenManager.h:
  • WebProcess/FullScreen/WebFullScreenManager.messages.in:
  • WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::WebFullScreenManager::saveScrollPosition):
(WebKit::WebFullScreenManager::restoreScrollPosition):

3:47 PM Changeset in webkit [152519] by jpfau@apple.com
  • 2 edits in branches/safari-537-branch/LayoutTests

Skip cache partitioning tests, as cache partitioning is not supported on Lion
<rdar://problem/14391816>

  • platform/mac-lion/TestExpectations:
3:08 PM Changeset in webkit [152518] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r152514. <rdar://problem/14391944>

3:06 PM Changeset in webkit [152517] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r152513. <rdar://problem/14391944>

2:55 PM Changeset in webkit [152516] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/JavaScriptCore

Merged r152497. <rdar://problem/14241573>

2:49 PM Changeset in webkit [152515] by Lucas Forschler
  • 44 edits
    3 copies in branches/safari-537-branch

Merged r152494. <rdar://problem/14241573>

2:00 PM Changeset in webkit [152514] by jeffm@apple.com
  • 2 edits in trunk/Source/WebCore

AuthenticationMac.mm does not handle NSURLAuthenticationMethodNegotiate in WebCore::mac()
https://bugs.webkit.org/show_bug.cgi?id=118518

Reviewed by Alexey Proskuryakov.

  • platform/network/mac/AuthenticationMac.mm:

(WebCore::mac):
Map ProtectionSpaceAuthenticationSchemeNegotiate to NSURLAuthenticationMethodNegotiate.

1:17 PM Changeset in webkit [152513] by jeffm@apple.com
  • 2 edits in trunk/Source/WebCore

AuthenticationMac.mm does not handle NSURLAuthenticationMethodNegotiate
https://bugs.webkit.org/show_bug.cgi?id=118517

Reviewed by Brady Eidson.

  • platform/network/mac/AuthenticationMac.mm:

(WebCore::core):
Map "NSURLAuthenticationMethodNegotiate" to ProtectionSpaceAuthenticationSchemeNegotiate.

12:01 PM Changeset in webkit [152512] by Lucas Forschler
  • 9 edits
    2 copies in branches/safari-537-branch

Merged r152453. <rdar://problem/14291428>

11:54 AM Changeset in webkit [152511] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r152434. <rdar://problem/14366772>

11:49 AM Changeset in webkit [152510] by Lucas Forschler
  • 4 edits in branches/safari-537-branch

Merged r152433. <rdar://problem/14366120>

11:41 AM Changeset in webkit [152509] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r152430. <rdar://problem/13881024>

11:37 AM Changeset in webkit [152508] by Lucas Forschler
  • 24 edits
    1 copy in branches/safari-537-branch

Merged r152425. <rdar://problem/14120323>

11:30 AM Changeset in webkit [152507] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-537-branch

Merged r152424. <rdar://problem/14364906>

11:27 AM Changeset in webkit [152506] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-537-branch

Merged r152422. <rdar://problem/13834460>

11:21 AM Changeset in webkit [152505] by Lucas Forschler
  • 3 edits in branches/safari-537-branch/Source/WebKit2

Merged r152407. <rdar://problem/13893308>

11:17 AM UsingGitWithWebKit edited by dbates@webkit.org
Substitute "Tools/Scripts" for "path/to" in git config core.editor … (diff)
11:17 AM Changeset in webkit [152504] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebKit2

Merged r152403. <rdar://problem/14155051>

11:14 AM Changeset in webkit [152503] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r152383. <rdar://problem/14351106>

11:07 AM Changeset in webkit [152502] by Lucas Forschler
  • 13 edits in branches/safari-537-branch/Source

Merged r152382. <rdar://problem/14105490>

11:03 AM Changeset in webkit [152501] by Lucas Forschler
  • 3 edits in branches/safari-537-branch/Source/WebInspectorUI

Merged r152380. <rdar://problem/14340027>

11:00 AM Changeset in webkit [152500] by Lucas Forschler
  • 6 edits in branches/safari-537-branch/Source

Merged r152348. <rdar://problem/13936550>

10:56 AM Changeset in webkit [152499] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r152324. <rdar://problem/14337442>

10:48 AM Changeset in webkit [152498] by andersca@apple.com
  • 5 edits
    2 adds in trunk/Tools

DumpRenderTree should stop sending unsupported URLs to NSWorkspace
https://bugs.webkit.org/show_bug.cgi?id=118514
<rdar://problem/13686836>

Reviewed by Sam Weinig.

Add a new default policy delegate and override decidePolicyForNavigationAction: to not pass unhandled URLs to NSWorkspace.

  • DumpRenderTree/DefaultPolicyDelegate.h: Added.
  • DumpRenderTree/DefaultPolicyDelegate.m: Added.

(-[DefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:

Add DefaultPolicyDelegate.h and DefaultPolicyDelegate.m.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(allocateGlobalControllers):
Allocate a DefaultPolicyDelegate object.

(resetWebViewToConsistentStateBeforeTesting):
Set the policy delegate to the default policy delegate.

  • DumpRenderTree/mac/DumpRenderTreeMac.h:

Declare the defaultPolicyDelegate object.

  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::setCustomPolicyDelegate):
Set the policy delegate to the default delegate if setDelegate is false.

10:34 AM Changeset in webkit [152497] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Gardening to unbreak builds on the Windows bot.

Not reviewed.

  • parser/ParserTokens.h:
10:30 AM Changeset in webkit [152496] by Martin Robinson
  • 2 edits in trunk/Websites/bugs.webkit.org

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.

9:22 AM Changeset in webkit [152495] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[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.
9:15 AM Changeset in webkit [152494] by mark.lam@apple.com
  • 44 edits
    3 adds in trunk

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:
8:58 AM Changeset in webkit [152493] by zarvai@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt-mac/TestExpectations: Skip failing test after r151546.
6:38 AM Changeset in webkit [152492] by zarvai@inf.u-szeged.hu
  • 3 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt-5.0-wk2/TestExpectations: Skip flaky svg tests.
  • platform/qt-mac/TestExpectations: Skip failing CSS Shape tests.
4:31 AM Changeset in webkit [152491] by gyuyoung.kim@samsung.com
  • 6 edits in trunk/Source/WebCore

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

4:21 AM WebKitGTK/Wayland edited by siglesias@igalia.com
(diff)
3:56 AM Changeset in webkit [152490] by Christophe Dumez
  • 5 edits in trunk/Source/WebCore

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:
2:59 AM Changeset in webkit [152489] by commit-queue@webkit.org
  • 12 edits
    4 adds in trunk

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.
2:41 AM Changeset in webkit [152488] by zarvai@inf.u-szeged.hu
  • 3 edits in trunk/LayoutTests

[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:
2:01 AM Changeset in webkit [152487] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.1.3

Tagging the WebKitGTK+ 2.1.3 release

1:32 AM Changeset in webkit [152486] by kadam@inf.u-szeged.hu
  • 4 edits in trunk/LayoutTests

[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.
1:29 AM Changeset in webkit [152485] by Carlos Garcia Campos
  • 4 edits in trunk

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.

Jul 8, 2013:

11:46 PM Changeset in webkit [152484] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

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.

10:39 PM Changeset in webkit [152483] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit/gtk

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

10:21 PM Changeset in webkit [152482] by aestes@apple.com
  • 2 edits in trunk

Add WebInspectorUI to WebKit.xcworkspace
https://bugs.webkit.org/show_bug.cgi?id=118491

Reviewed by Sam Weinig.

  • WebKit.xcworkspace/contents.xcworkspacedata:
10:08 PM Changeset in webkit [152481] by fpizlo@apple.com
  • 4 edits in branches/dfgFourthTier/Source/JavaScriptCore

NaturalLoops + Profiler = Crash
https://bugs.webkit.org/show_bug.cgi?id=118486

Reviewed by Geoffrey Garen.

I borked dominators in:
http://trac.webkit.org/changeset/152431/branches/dfgFourthTier/Source/JavaScriptCore/dfg/DFGDominators.h

This patch also adds some debug support, and fixes the loop that adds a block to
an already-existing natural loop. Note that we currently don't take that path in
most programs, but it will arise, for example if you use 'continue' - though you'd
have to use it rather cleverly since the bytecode will not jump to the loop header
in most uses of 'continue'.

  • dfg/DFGDominators.cpp:

(JSC::DFG::Dominators::dump):
(DFG):

  • dfg/DFGDominators.h:

(JSC::DFG::Dominators::dominates):
(Dominators):

  • dfg/DFGNaturalLoops.cpp:

(JSC::DFG::NaturalLoops::compute):

8:22 PM Changeset in webkit [152480] by fpizlo@apple.com
  • 4 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: DFG::AbstractState::beginBasicBlock() should set m_haveStructures if any of the valuesAtHead have either a current known structure or a non-top/non-bottom array modes
https://bugs.webkit.org/show_bug.cgi?id=118489

Reviewed by Mark Hahnenberg.

  • bytecode/ArrayProfile.h:

(JSC::arrayModesAreClearOrTop):
(JSC):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::beginBasicBlock):

  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::hasClobberableState):
(AbstractValue):

8:09 PM Changeset in webkit [152479] by Martin Robinson
  • 83 edits in trunk

[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.
7:48 PM Changeset in webkit [152478] by enrica@apple.com
  • 4 edits
    2 adds in trunk

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.
6:07 PM Changeset in webkit [152477] by mhahnenberg@apple.com
  • 2 edits in branches/dfgFourthTier/Source/JavaScriptCore

CheckArray should call the right version of filterArrayModes
https://bugs.webkit.org/show_bug.cgi?id=118488

Reviewed by Filip Pizlo.

Currently in the CFA CheckArray doesn't call the right filterArrayMode which can cause
the CFA to ignore when it sees a contradiction.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::executeEffects):

5:31 PM Changeset in webkit [152476] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r152315. <rdar://problem/13895483>

5:30 PM Changeset in webkit [152475] by ap@apple.com
  • 3 edits in branches/safari-537-branch/LayoutTests

Updating fast/js/global-constructors-attributes.html results.

  • fast/js/global-constructors-attributes-expected.txt:
  • platform/mac-lion/fast/js/global-constructors-attributes-expected.txt:
5:28 PM Changeset in webkit [152474] by Lucas Forschler
  • 6 edits
    3 copies in branches/safari-537-branch

Merged r152303. <rdar://problem/14301271>

5:20 PM Changeset in webkit [152473] by Lucas Forschler
  • 14 edits in branches/safari-537-branch

Merged r152267. <rdar://problem/14205300>

4:47 PM Changeset in webkit [152472] by Lucas Forschler
  • 8 edits
    1 copy in branches/safari-537-branch/Source

Merged r152052. <rdar://problem/14351519>

4:41 PM Changeset in webkit [152471] by ap@apple.com
  • 3 edits in branches/safari-537-branch/LayoutTests

Merge r152470.

2013-07-08 Alexey Proskuryakov <ap@apple.com>

[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.
4:36 PM Changeset in webkit [152470] by ap@apple.com
  • 3 edits in trunk/LayoutTests

[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.
4:32 PM Changeset in webkit [152469] by Lucas Forschler
  • 3 edits
    2 deletes in branches/safari-537-branch

Rollout of r151510. <rdar://problem/14380353>

4:02 PM Changeset in webkit [152468] by Lucas Forschler
  • 4 edits in branches/safari-537-branch/Source

Merged r152306. <rdar://problem/14284360>

3:57 PM Changeset in webkit [152467] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/JavaScriptCore

Merged r152314. <rdar://problem/14165332>

2:24 PM Changeset in webkit [152466] by commit-queue@webkit.org
  • 14 edits
    2 adds in trunk

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.
2:05 PM Changeset in webkit [152465] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

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

2:03 PM Changeset in webkit [152464] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

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

1:02 PM Changeset in webkit [152463] by dfarler@apple.com
  • 3 edits in trunk/LayoutTests

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:
12:46 PM Changeset in webkit [152462] by dfarler@apple.com
  • 2 edits in trunk/LayoutTests

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.

12:15 PM Changeset in webkit [152461] by dfarler@apple.com
  • 2 edits in trunk/LayoutTests

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.

11:57 AM Changeset in webkit [152460] by Carlos Garcia Campos
  • 6 edits in trunk/Source

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.
11:33 AM Changeset in webkit [152459] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

11:16 AM Changeset in webkit [152458] by Lucas Forschler
  • 15 edits
    2 copies in branches/safari-537-branch

Merged r151737. <rdar://problem/14294837>

10:19 AM Changeset in webkit [152457] by ap@apple.com
  • 1 edit
    1 move in branches/safari-537-branch/LayoutTests

Merge r151913.

2013-06-24 Brent Fulgham <Brent Fulgham>

[Mac] Unreviewed build correction after r151868
New test expecation had been placed in the wrong directory.

  • platform/mac/accessibility/listitem-title-expected.txt: Copied from platform/mac/listitem-title-actual.txt.
  • platform/mac/listitem-title-actual.txt: Removed.
10:07 AM Changeset in webkit [152456] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

9:57 AM WebKitIDL edited by stavila@adobe.com
Added TreatReturnedNullObjectAs attribute. (diff)
8:57 AM Changeset in webkit [152455] by commit-queue@webkit.org
  • 2 edits in trunk

[GTK] Acceleration description isn't displayed in configured options.
https://bugs.webkit.org/show_bug.cgi?id=118441

Patch by ChangSeok Oh <ChangSeok Oh> 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:
8:54 AM Changeset in webkit [152454] by zandobersek@gmail.com
  • 2 edits in trunk

[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:
8:53 AM Changeset in webkit [152453] by akling@apple.com
  • 9 edits
    2 adds in trunk

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.
8:37 AM Changeset in webkit [152452] by zhajiang@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

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

8:36 AM Changeset in webkit [152451] by Christophe Dumez
  • 4 edits in trunk/Source/WebCore

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:
7:12 AM Changeset in webkit [152450] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

6:22 AM Changeset in webkit [152449] by Antti Koivisto
  • 4 edits
    1 add in trunk

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

5:56 AM Changeset in webkit [152448] by kadam@inf.u-szeged.hu
  • 3 edits in trunk/Source/WebCore

[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.
3:22 AM Changeset in webkit [152447] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

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

3:13 AM Changeset in webkit [152446] by commit-queue@webkit.org
  • 3 edits in trunk/Source

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

2:02 AM Changeset in webkit [152445] by zarvai@inf.u-szeged.hu
  • 2 edits in trunk/Source/WTF

[Qt][Windows] Buildfix after r152426.

Reviewed by Csaba Osztrogonác.

  • wtf/Platform.h: Do not include WTFHeaderDetection.h on Qt build.
2:00 AM Changeset in webkit [152444] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

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

1:37 AM Changeset in webkit [152443] by commit-queue@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

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.
1:19 AM Changeset in webkit [152442] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

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

12:39 AM Changeset in webkit [152441] by kihong.kwon@samsung.com
  • 10 edits in trunk

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:

Jul 7, 2013:

11:52 PM Changeset in webkit [152440] by kangil.han@samsung.com
  • 22 edits in trunk/Source/WebCore

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

9:40 PM Changeset in webkit [152439] by fpizlo@apple.com
  • 12 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: Graph::clearAndDerefChild() makes no sense anymore, and neither does Nop
https://bugs.webkit.org/show_bug.cgi?id=118452

Reviewed by Sam Weinig.

Noticed that ArgumentsSimplificationPhase was converting something to a Nop and then
resetting its children using clearAndDerefChild(). Using Nop instead of Phantom is a
holdover from back when we needed a no-MustGenerate no-op. We don't anymore. Using
clearAndDerefChild() was necessary back when we did eager reference counting. We
don't need to do that anymore, and in fact clearAndDerefChild() appeared to not do
any reference counting, so it was badly named to begin with.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::executeEffects):

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::freeUnnecessaryNodes):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.h:

(Graph):

  • dfg/DFGNode.h:

(JSC::DFG::Node::willHaveCodeGenOrOSR):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

Jul 6, 2013:

11:46 PM Changeset in webkit [152438] by benjamin@webkit.org
  • 2 edits in trunk/Source/WTF

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.

1:08 PM Changeset in webkit [152437] by rwlbuis@webkit.org
  • 10 edits in trunk

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:
10:12 AM Changeset in webkit [152436] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Update list of EFL WK2 API tests
https://bugs.webkit.org/show_bug.cgi?id=118443

Patch by Sergio Correia <Sergio Correia> 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.
12:24 AM Changeset in webkit [152435] by Christophe Dumez
  • 2 edits in trunk/Source/WebCore

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

Jul 5, 2013:

10:01 PM Changeset in webkit [152434] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

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

7:19 PM Changeset in webkit [152433] by timothy_horton@apple.com
  • 4 edits in trunk

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.

6:08 PM Changeset in webkit [152432] by fpizlo@apple.com
  • 7 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: FTL should better report its compile-times and it should be able to run in a mode where it doesn't spend time generating OSR exits
https://bugs.webkit.org/show_bug.cgi?id=118401

Reviewed by Sam Weinig.

Add two new OSR exit modes, which are useful only for playing with compile times:

  • All OSR exits are llvm.trap().


  • OSR exits don't take arguments and have no exit value marshaling.
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPlan.h:

(Plan):

  • ftl/FTLIntrinsicRepository.h:

(FTL):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::appendOSRExit):
(LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::emitOSRExitCall):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::trap):

  • runtime/Options.h:

(JSC):

6:01 PM Changeset in webkit [152431] by fpizlo@apple.com
  • 38 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: DFG should refer to BasicBlocks by BasicBlock* and not BlockIndex
https://bugs.webkit.org/show_bug.cgi?id=118339

Reviewed by Michael Saboff.

This accomplishes two goals:

1) Simplifies a bunch of code. You can now much more directly get to a successor

or predecessor, since you just get the pointer directly. The backend(s) always
hold onto a pointer to the block they're on, so you don't have to do work to
get the block from the index.


2) It allows for the possibility of inserting blocks into the program.

Previously, if you did that, you'd have to edit all references to blocks since
those references would have outdated indexing after an insertion. Now, if you
change the indexing, you just have to invalidate some analyses and make sure
that you change each block's BasicBlock::index accordingly.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::initialize):
(JSC::DFG::AbstractState::endBasicBlock):
(JSC::DFG::AbstractState::mergeToSuccessors):

  • dfg/DFGAbstractState.h:

(AbstractState):

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):

  • dfg/DFGBackwardsPropagationPhase.cpp:

(JSC::DFG::BackwardsPropagationPhase::run):

  • dfg/DFGBasicBlock.h:

(DFG):
(JSC::DFG::BasicBlock::BasicBlock):
(JSC::DFG::BasicBlock::size):
(JSC::DFG::BasicBlock::isEmpty):
(JSC::DFG::BasicBlock::at):
(JSC::DFG::BasicBlock::operator[]):
(JSC::DFG::BasicBlock::last):
(JSC::DFG::BasicBlock::resize):
(JSC::DFG::BasicBlock::grow):
(BasicBlock):
(JSC::DFG::BasicBlock::append):
(JSC::DFG::BasicBlock::numSuccessors):
(JSC::DFG::BasicBlock::successor):
(JSC::DFG::BasicBlock::successorForCondition):
(JSC::DFG::BasicBlock::dump):
(UnlinkedBlock):
(JSC::DFG::UnlinkedBlock::UnlinkedBlock):
(JSC::DFG::getBytecodeBeginForBlock):
(JSC::DFG::blockForBytecodeOffset):

  • dfg/DFGByteCodeParser.cpp:

(ByteCodeParser):
(InlineStackEntry):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::linkBlock):
(JSC::DFG::ByteCodeParser::linkBlocks):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::parseCodeBlock):
(JSC::DFG::ByteCodeParser::parse):

  • dfg/DFGCFAPhase.cpp:

(JSC::DFG::CFAPhase::performBlockCFA):
(JSC::DFG::CFAPhase::performForwardCFA):

  • dfg/DFGCFGSimplificationPhase.cpp:

(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::convertToJump):

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::freeUnnecessaryNodes):
(JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlocks):
(JSC::DFG::CPSRethreadingPhase::propagatePhis):
(CPSRethreadingPhase):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::run):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::run):
(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDCEPhase.cpp:

(JSC::DFG::DCEPhase::run):

  • dfg/DFGDisassembler.cpp:

(JSC::DFG::Disassembler::Disassembler):
(JSC::DFG::Disassembler::createDumpList):

  • dfg/DFGDisassembler.h:

(JSC::DFG::Disassembler::setForBlockIndex):

  • dfg/DFGDominators.cpp:

(JSC::DFG::Dominators::compute):
(JSC::DFG::Dominators::iterateForBlock):

  • dfg/DFGDominators.h:

(JSC::DFG::Dominators::dominates):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::run):
(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::dumpBlockHeader):
(JSC::DFG::Graph::handleSuccessor):
(JSC::DFG::Graph::determineReachability):
(JSC::DFG::Graph::resetReachability):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::numBlocks):
(JSC::DFG::Graph::block):
(JSC::DFG::Graph::lastBlock):
(Graph):
(JSC::DFG::Graph::appendBlock):
(JSC::DFG::Graph::killBlock):
(DFG):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::JITCompiler):
(JSC::DFG::JITCompiler::link):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::setForBlockIndex):

  • dfg/DFGNaturalLoops.cpp:

(JSC::DFG::NaturalLoop::dump):
(JSC::DFG::NaturalLoops::compute):
(JSC::DFG::NaturalLoops::loopsOf):

  • dfg/DFGNaturalLoops.h:

(JSC::DFG::NaturalLoop::NaturalLoop):
(JSC::DFG::NaturalLoop::addBlock):
(JSC::DFG::NaturalLoop::header):
(JSC::DFG::NaturalLoop::at):
(JSC::DFG::NaturalLoop::operator[]):
(JSC::DFG::NaturalLoop::contains):
(NaturalLoop):
(JSC::DFG::NaturalLoops::headerOf):
(NaturalLoops):

  • dfg/DFGNode.h:

(DFG):
(JSC::DFG::SwitchCase::SwitchCase):
(JSC::DFG::SwitchCase::withBytecodeIndex):
(SwitchCase):
(JSC::DFG::SwitchCase::targetBytecodeIndex):
(JSC::DFG::SwitchData::SwitchData):
(JSC::DFG::SwitchData::setFallThroughBytecodeIndex):
(JSC::DFG::SwitchData::fallThroughBytecodeIndex):
(SwitchData):
(JSC::DFG::Node::setTakenBlock):
(JSC::DFG::Node::setNotTakenBlock):
(JSC::DFG::Node::takenBlock):
(JSC::DFG::Node::notTakenBlock):
(JSC::DFG::Node::successor):
(JSC::DFG::Node::successorForCondition):

  • dfg/DFGPredictionInjectionPhase.cpp:

(JSC::DFG::PredictionInjectionPhase::run):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagateForward):
(JSC::DFG::PredictionPropagationPhase::propagateBackward):
(JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::convertLastOSRExitToForward):
(JSC::DFG::SpeculativeJIT::nonSpeculativeCompare):
(JSC::DFG::SpeculativeJIT::nonSpeculativeStrictEq):
(JSC::DFG::SpeculativeJIT::compilePeepHoleDoubleBranch):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleIntegerBranch):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::createOSREntries):
(JSC::DFG::SpeculativeJIT::linkOSREntries):
(JSC::DFG::SpeculativeJIT::compileStrictEqForConstant):
(JSC::DFG::SpeculativeJIT::compileStrictEq):
(JSC::DFG::SpeculativeJIT::compileRegExpExec):
(JSC::DFG::SpeculativeJIT::addBranch):
(JSC::DFG::SpeculativeJIT::linkBranches):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::nextBlock):
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::detectPeepHoleBranch):
(JSC::DFG::SpeculativeJIT::branchDouble):
(JSC::DFG::SpeculativeJIT::branchDoubleNonZero):
(JSC::DFG::SpeculativeJIT::branch32):
(JSC::DFG::SpeculativeJIT::branchTest32):
(JSC::DFG::SpeculativeJIT::branch64):
(JSC::DFG::SpeculativeJIT::branch8):
(JSC::DFG::SpeculativeJIT::branchPtr):
(JSC::DFG::SpeculativeJIT::branchTestPtr):
(JSC::DFG::SpeculativeJIT::branchTest8):
(JSC::DFG::SpeculativeJIT::jump):
(JSC::DFG::SpeculativeJIT::addBranch):
(JSC::DFG::SpeculativeJIT::StringSwitchCase::StringSwitchCase):
(StringSwitchCase):
(JSC::DFG::SpeculativeJIT::BranchRecord::BranchRecord):
(BranchRecord):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::run):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):
(JSC::DFG::TypeCheckHoistingPhase::disableHoistingAcrossOSREntries):

  • dfg/DFGUnificationPhase.cpp:

(JSC::DFG::UnificationPhase::run):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validate):
(JSC::DFG::Validate::checkOperand):
(JSC::DFG::Validate::reportValidationContext):

  • dfg/DFGVirtualRegisterAllocationPhase.cpp:

(JSC::DFG::VirtualRegisterAllocationPhase::run):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileBlock):
(JSC::FTL::LowerDFGToLLVM::compileJump):
(JSC::FTL::LowerDFGToLLVM::compileBranch):
(JSC::FTL::LowerDFGToLLVM::lowBlock):

4:21 PM Changeset in webkit [152430] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

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.
4:12 PM Changeset in webkit [152429] by Brent Fulgham
  • 2 edits in trunk/Source/WTF

[Windows] Unreviewed build correction.

  • WTF.vcxproj/WTFGenerated.make: Avoid syntax error in generated

file in cases where Legible Output support is not present.

4:06 PM Changeset in webkit [152428] by commit-queue@webkit.org
  • 1 edit
    5 adds in trunk/Source/WebCore

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.
3:57 PM Changeset in webkit [152427] by Brent Fulgham
  • 2 edits in trunk/Source/WTF

[Windows] Unreviewed build correction.

  • WTF.vcxproj/WTFGenerated.make: Use space (rather than double

quotes) when handling the no-Legible-Output case.

3:17 PM Changeset in webkit [152426] by Brent Fulgham
  • 7 edits in trunk/Source

[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.
2:33 PM Changeset in webkit [152425] by timothy_horton@apple.com
  • 24 edits
    1 add in trunk

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

2:28 PM Changeset in webkit [152424] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

iframe constrained by max-width in full screen
https://bugs.webkit.org/show_bug.cgi?id=118250

Patch by Zalan Bujtas <Alan Bujtas> 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.
2:03 PM Changeset in webkit [152423] by michael@68k.org
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/contributors.json:
1:35 PM Changeset in webkit [152422] by eric.carlson@apple.com
  • 5 edits
    2 adds in trunk

[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.
10:46 AM Changeset in webkit [152421] by bshafiei@apple.com
  • 5 edits in tags/Safari-537.48.3/Source

Versioning.

10:44 AM Changeset in webkit [152420] by bshafiei@apple.com
  • 1 copy in tags/Safari-537.48.3

New tag.

10:35 AM Changeset in webkit [152419] by mario@webkit.org
  • 2 edits in trunk/LayoutTests

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.
10:25 AM Changeset in webkit [152418] by mikhail.pozdnyakov@intel.com
  • 3 edits in trunk/Source/WTF

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

9:35 AM Changeset in webkit [152417] by mario@webkit.org
  • 2 edits in trunk/LayoutTests

[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:
8:02 AM Changeset in webkit [152416] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

4:23 AM Changeset in webkit [152415] by mikhail.pozdnyakov@intel.com
  • 3 edits in trunk/Source/WTF

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:
3:29 AM WikiStart edited by stuffmc@pomcast.com
I'm developing a Mac app embedding a WebView and another developer … (diff)
3:29 AM Changeset in webkit [152414] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

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

3:26 AM Changeset in webkit [152413] by commit-queue@webkit.org
  • 2 edits
    1 add
    1 delete in trunk/LayoutTests

[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 <Mihai Maerean> 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:
3:13 AM Changeset in webkit [152412] by commit-queue@webkit.org
  • 4 edits in trunk

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

1:52 AM Changeset in webkit [152411] by commit-queue@webkit.org
  • 6 edits in trunk

[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:
1:41 AM Changeset in webkit [152410] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

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.

12:36 AM Changeset in webkit [152409] by Christophe Dumez
  • 2 edits in trunk/Source/WebCore

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:
Note: See TracTimeline for information about the timeline view.