⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

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