Timeline



Sep 5, 2013:

11:00 PM Changeset in webkit [155178] by krit@webkit.org
  • 3 edits
    2 adds in trunk

Support SVG filters on -webkit-filter() function
https://bugs.webkit.org/show_bug.cgi?id=120806

Reviewed by Darin Adler.

Source/WebCore:

Add support for SVG Filters on CSS -webkit-filter() image function.

Test: fast/filter-image/filter-image-svg.html

  • css/CSSFilterImageValue.cpp:

(WebCore::CSSFilterImageValue::image): Pass renderer to filter builder.

LayoutTests:

Test that the -webkit-filter() function can reference a SVG Filter
from the document.

  • fast/filter-image/filter-image-svg-expected.html: Added.
  • fast/filter-image/filter-image-svg.html: Added.
10:50 PM Changeset in webkit [155177] by oliver@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Make it simpler to introduce new data types to the global object
https://bugs.webkit.org/show_bug.cgi?id=120801

Reviewed by Gavin Barraclough.

Add an iterator macro that lists all the "simple" ES types (e.g. type
consists of instance, constructor, and prototype classes). So that
we don't need to have every new type litter JSGlobalObject.{cpp,h} with
members, accessors, and manual GC visiting.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:
10:48 PM Changeset in webkit [155176] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

DRY out srcset related deviceScaleFactor calculations
https://bugs.webkit.org/show_bug.cgi?id=120791

Identical deviceScaleFactor calculations were performed in 3 different locations.
I've added that calculation as a method of Document.
Previous calculations are replaced by calls to this method.

Patch by Yoav Weiss <yoav@yoav.ws> on 2013-09-05
Reviewed by Andreas Kling.

No new tests since this is a refactoring change. No functionality have changed.

  • dom/Document.cpp:

(WebCore::Document::deviceScaleFactor):

  • dom/Document.h:
  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute):

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::insert):

10:47 PM Changeset in webkit [155175] by commit-queue@webkit.org
  • 4 edits in trunk

[Qt] DefaultFullScreenVideoHandler and PlatformVideoWindow are included in the build when they are disabled
https://bugs.webkit.org/show_bug.cgi?id=117206

Patch by Brendan Long <b.long@cablelabs.com> on 2013-09-05
Reviewed by Philippe Normand.

.:

  • Source/widgetsapi.pri: Don't include DefaultFullScreenVideoHandler when it's disabled.

Source/WebCore:

No new tests because this just fixes a build warning.

  • Target.pri: Don't include PlatformVideoWindow* files in the build when they are disabled.
9:49 PM Changeset in webkit [155174] by akling@apple.com
  • 8 edits in trunk/Source

FrameView: Constructor should take Frame&.
<https://webkit.org/b/120824>

Reviewed by Anders Carlsson.

  • WebCore.exp.in:
  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::overlayPage):

  • page/Frame.cpp:

(WebCore::Frame::createView):

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):
(WebCore::FrameView::create):

  • page/FrameView.h:
  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::dataChanged):

8:57 PM Changeset in webkit [155173] by jinwoo7.song@samsung.com
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed gardening.

  • platform/efl-wk1/TestExpectations: Failing after r155014.
8:50 PM Changeset in webkit [155172] by mitz@apple.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

INSTALL_PATH_PREFIX is used even when not installing
https://bugs.webkit.org/show_bug.cgi?id=120818

Reviewed by Darin Adler.

  • Configurations/ANGLE.xcconfig: Changed the definition of PRIVATE_HEADERS_FOLDER_PATH

to include INSTALL_PATH_PREFIX only when installing.

8:50 PM Changeset in webkit [155171] by mitz@apple.com
  • 3 edits in trunk/Source/WTF

INSTALL_PATH_PREFIX is used even when not installing
https://bugs.webkit.org/show_bug.cgi?id=120810

Reviewed by Andy Estes.

  • Configurations/CopyWTFHeaders.xcconfig: Removed INSTALL_PATH_PREFIX from

the definition of PRIVATE_HEADERS_FOLDER_PATH. Also removed the leading
slash, because the Xcode definition of this build setting is relative.

  • WTF.xcodeproj/project.pbxproj: Prepend INSTALL_PATH_PREFIX here when installing.
8:43 PM Changeset in webkit [155170] by jinwoo7.song@samsung.com
  • 3 edits in trunk/Source/WebCore

Fix build warnings by unused parameter
https://bugs.webkit.org/show_bug.cgi?id=120821

Reviewed by Anders Carlsson.

Fix warning by removing unused parameter.

  • platform/graphics/gstreamer/TextSinkGStreamer.cpp:

(webkitTextSinkGetProperty):
(webkitTextSinkSetProperty):

  • platform/network/soup/SynchronousLoaderClientSoup.cpp:

(WebCore::SynchronousLoaderClient::didReceiveAuthenticationChallenge):

8:33 PM Changeset in webkit [155169] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Breakpoint Action JS Editor has line wrapping issues with long no-space lines
https://bugs.webkit.org/show_bug.cgi?id=120822

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-09-05
Reviewed by Timothy Hatcher.

  • UserInterface/BreakpointActionView.css:

(.breakpoint-action-eval-editor > .CodeMirror):
(.breakpoint-action-eval-editor > .CodeMirror-scroll):

6:34 PM Changeset in webkit [155168] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

FrameLoader: Convert three little loops to using Vector<Ref<Frame>>.
<https://webkit.org/b/120798>

Reviewed by Antti Koivisto.

Also apply a bit of inline capacity + reserveInitialCapacity + uncheckedAppend
in FrameLoader::detachChildren() since we know the final size from the start.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::detachChildren):
(WebCore::FrameLoader::checkLoadComplete):
(WebCore::FrameLoader::shouldClose):

6:24 PM Changeset in webkit [155167] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

ContainerNode: Apply Ref<T> to some popular DOM functions.
<https://webkit.org/b/120800>

Reviewed by Antti Koivisto.

Use Ref to avoid a bunch of null checks in some popular DOM functions.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::insertBefore):

'refChild' is never null here, so store it in a Ref.

(WebCore::ContainerNode::replaceChild):

'removedChild' is never null here, so store it in a Ref.

(WebCore::ContainerNode::removeChild):

'child' is never null here, so store it in a Ref.
Also return "true" at the end of the function since we can't
null-check 'child' anymore (not that it would ever be false!)

(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):

Use Ref<Document> in both of these methods.

6:08 PM Changeset in webkit [155166] by mrowe@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Roll out r155149 since it broke the build.

5:55 PM Changeset in webkit [155165] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Edit Breakpoint popover sometimes appears misplaced in top left
https://bugs.webkit.org/show_bug.cgi?id=120804

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-09-05
Reviewed by Timothy Hatcher.

Grab the bounding rect immediately, instead of grabbing it from the element
after the user has selected the "Edit Breakpoint" context menu item. When
the popover was misplaced it was when using an element had been removed or
replaced in the DOM, and caused a bogus bounding client rect.

  • UserInterface/Breakpoint.js:

(WebInspector.Breakpoint.prototype.editBreakpoint):
(WebInspector.Breakpoint.prototype._showEditBreakpointPopover):

5:35 PM Changeset in webkit [155164] by akling@apple.com
  • 9 edits in trunk/Source

ScrollView::children() should return a reference.
<https://webkit.org/b/120795>

Reviewed by Anders Carlsson.

Source/WebCore:

This function was already just returning the address of a member variable.
Modernized some loops that were using it.

  • bindings/js/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::setJavaScriptPaused):

  • page/FrameView.cpp:

(WebCore::FrameView::hasCustomScrollbars):
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):

  • page/Page.cpp:

(WebCore::Page::pluginViews):

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):

  • platform/ScrollView.h:

(WebCore::ScrollView::children):

  • plugins/IFrameShimSupport.cpp:

(WebCore::getPluginOcclusions):

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _addScrollerDashboardRegionsForFrameView:dashboardRegions:]):

5:23 PM Changeset in webkit [155163] by ryuan.choi@samsung.com
  • 8 edits in trunk

[CMAKE] Add c++0x into CXX_FLAGS as a default
https://bugs.webkit.org/show_bug.cgi?id=120812

Unreviewed build fix for EFL ports.

.:

  • Source/cmake/OptionsCommon.cmake: Moved c++0x option here from WebKitHelpers.
  • Source/cmake/WebKitHelpers.cmake:

Source/WebKit/efl:

  • tests/UnitTestUtils/EWKTestConfig.h: Add space between strings.

Source/WebKit2:

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: Added constexpr for in-class initialization.
  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp: Added space between strings.

(EWK2UnitTest::EWK2UnitTestEnvironment::defaultTestPageUrl):
(EWK2UnitTest::EWK2UnitTestEnvironment::defaultTheme):
(EWK2UnitTest::EWK2UnitTestEnvironment::urlForResource):

5:18 PM Changeset in webkit [155162] by Beth Dakin
  • 73 edits
    2 deletes in trunk/Source/WebCore

Reverting revisions 155139, 155141, 155142, and 155145 since they appear to have
caused about 50 new test failures.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

  • dom/Position.cpp:

(WebCore::Position::isCandidate):
(WebCore::Position::getInlineBoxAndOffset):
(WebCore::Position::primaryDirection):

  • dom/PositionIterator.cpp:

(WebCore::PositionIterator::isCandidate):

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):

  • editing/Editor.cpp:

(WebCore::Editor::baseWritingDirectionForSelectionStart):

  • editing/FrameSelection.cpp:

(WebCore::caretRenderer):

  • editing/TextIterator.cpp:

(WebCore::TextIterator::shouldRepresentNodeOffsetZero):

  • editing/TypingCommand.cpp:

(WebCore::TypingCommand::makeEditableRootEmpty):

  • editing/htmlediting.cpp:

(WebCore::isBlockFlowElement):

  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::createRenderer):

  • html/HTMLSummaryElement.cpp:

(WebCore::HTMLSummaryElement::createRenderer):

  • html/shadow/SliderThumbElement.cpp:

(WebCore::RenderSliderThumb::RenderSliderThumb):

  • html/shadow/SliderThumbElement.h:
  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::createAnonymous):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::firstLineBoxBaseline):
(WebCore::RenderBlock::lastLineBoxBaseline):
(WebCore::RenderBlock::firstLineBlock):
(WebCore::findFirstLetterBlock):
(WebCore::shouldCheckLines):
(WebCore::RenderBlock::adjustForBorderFit):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp: Removed.
  • rendering/RenderBlockFlow.h: Removed.
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::positionForPoint):

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::canHaveBoxInfoInRegion):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
(WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):

  • rendering/RenderDetailsMarker.cpp:

(WebCore::RenderDetailsMarker::RenderDetailsMarker):

  • rendering/RenderDetailsMarker.h:
  • rendering/RenderFieldset.cpp:

(WebCore::RenderFieldset::RenderFieldset):

  • rendering/RenderFieldset.h:
  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::RenderFileUploadControl):

  • rendering/RenderFileUploadControl.h:
  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::RenderFlowThread):

  • rendering/RenderFlowThread.h:
  • rendering/RenderFullScreen.cpp:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::computeRectForRepaint):

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):

  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::RenderListItem):
(WebCore::RenderListItem::willBeDestroyed):
(WebCore::RenderListItem::willBeRemovedFromTree):
(WebCore::RenderListItem::layout):
(WebCore::RenderListItem::addOverflowFromChildren):
(WebCore::RenderListItem::computePreferredLogicalWidths):
(WebCore::RenderListItem::paint):

  • rendering/RenderListItem.h:
  • rendering/RenderMeter.cpp:

(WebCore::RenderMeter::RenderMeter):

  • rendering/RenderMeter.h:
  • rendering/RenderMultiColumnBlock.cpp:

(WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):

  • rendering/RenderMultiColumnBlock.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::createObject):
(WebCore::RenderObject::computeRectForRepaint):
(WebCore::RenderObject::styleWillChange):
(WebCore::firstLineStyleForCachedUncachedType):

  • rendering/RenderObject.h:

(WebCore::RenderObject::isBlockFlow):
(WebCore::RenderObject::isRenderBlock):

  • rendering/RenderObjectChildList.cpp:

(WebCore::RenderObjectChildList::insertChildNode):

  • rendering/RenderProgress.cpp:

(WebCore::RenderProgress::RenderProgress):

  • rendering/RenderProgress.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::RenderRegion):

  • rendering/RenderRegion.h:
  • rendering/RenderRuby.cpp:

(WebCore::RenderRubyAsBlock::RenderRubyAsBlock):

  • rendering/RenderRuby.h:
  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::RenderRubyBase):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::RenderRubyText):

  • rendering/RenderRubyText.h:
  • rendering/RenderTableCaption.cpp:

(WebCore::RenderTableCaption::RenderTableCaption):

  • rendering/RenderTableCaption.h:
  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::RenderTableCell):

  • rendering/RenderTableCell.h:
  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::RenderTextControl):

  • rendering/RenderTextControl.h:
  • rendering/RenderTextControlSingleLine.h:

(WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):

  • rendering/RenderTextTrackCue.cpp:

(WebCore::RenderTextTrackCue::RenderTextTrackCue):

  • rendering/RenderTextTrackCue.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::RenderView):

  • rendering/RenderView.h:
  • rendering/RenderingAllInOne.cpp:
  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::createGlyph):

  • rendering/svg/RenderSVGBlock.cpp:

(WebCore::RenderSVGBlock::RenderSVGBlock):

  • rendering/svg/RenderSVGBlock.h:
5:16 PM Changeset in webkit [155161] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Flaky Test: platform/mac/editing/deleting/deletionUI-single-instance.html
https://bugs.webkit.org/show_bug.cgi?id=114181

Reviewed by Ryosuke Niwa.

Editor survives navigations, and so did DeleteButtonController. But the state it holds
is document specific (like nodes in the old document).

  • editing/Editor.cpp: (WebCore::Editor::clear): Replace DeleteButtonController.
4:30 PM Changeset in webkit [155160] by Seokju Kwon
  • 2 edits in trunk/Tools

Unreviewed build fix. VectorReverse.cpp was removed after r155151.

  • TestWebKitAPI/CMakeLists.txt:
4:27 PM Changeset in webkit [155159] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Cleanup formatting of byte code debug output
Source/JavaScriptCore/ChangeLog

Rubber stamped by Filip Pizlo.

Put the formatting of the byte code offset and operation into one common function to
simplify and unify formatting. Changed CodeBlock::registerName() to return
"thist" for argument register 0, "argN" for other argument registers and "locN" for
local registers.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::registerName):
(JSC::CodeBlock::printUnaryOp):
(JSC::CodeBlock::printBinaryOp):
(JSC::CodeBlock::printConditionalJump):
(JSC::CodeBlock::printGetByIdOp):
(JSC::CodeBlock::printCallOp):
(JSC::CodeBlock::printPutByIdOp):
(JSC::CodeBlock::dumpBytecode):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::printLocationAndOp):
(JSC::CodeBlock::printLocationOpAndRegisterOperand):

4:13 PM Changeset in webkit [155158] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Fix build with older versions of clang from Xcode.

  • wtf/Compiler.h:
4:13 PM Changeset in webkit [155157] by Lucas Forschler
  • 5 edits in branches/safari-537-branch/Source

Versioning.

4:11 PM Changeset in webkit [155156] by Lucas Forschler
  • 1 copy in tags/Safari-537.69

New Tag.

3:57 PM Changeset in webkit [155155] by gyuyoung.kim@samsung.com
  • 34 edits in trunk/Source/WebCore

Generate toFooElement() functions from tagname data.
https://bugs.webkit.org/show_bug.cgi?id=120676

Reviewed by Andreas Kling.

As r154965 introduced the isFooElement() generation, this patch adds generations of toFooElement() function
to *generateTypeChecking* attribute. To represent isFooElement() and toFooElement(), *generateTypeChecking*
is changed to *generateTypeHelpers*.

Removed all the hand-written toFooElement() that can be covered by the *generateTypeHelpers*.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/make_names.pl:

(defaultTagPropertyHash):
(printTypeHelpers):
(printTypeHelpersHeaderFile):

  • html/HTMLAnchorElement.h:
  • html/HTMLAreaElement.h:
  • html/HTMLAudioElement.h:
  • html/HTMLCanvasElement.h:
  • html/HTMLElement.h:
  • html/HTMLFormElement.h:
  • html/HTMLFrameSetElement.h:
  • html/HTMLImageElement.h:
  • html/HTMLInputElement.h:
  • html/HTMLLabelElement.h:
  • html/HTMLMapElement.h:
  • html/HTMLMeterElement.h:
  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.h:
  • html/HTMLProgressElement.h:
  • html/HTMLScriptElement.h:
  • html/HTMLStyleElement.h:
  • html/HTMLTableElement.h:
  • html/HTMLTableRowElement.h:
  • html/HTMLTagNames.in:
  • html/HTMLTextAreaElement.h:
  • html/HTMLTitleElement.h:
  • svg/SVGElement.h:
  • svg/SVGFontElement.h:
  • svg/SVGFontFaceElement.h:
  • svg/SVGImageElement.h:
  • svg/SVGScriptElement.h:
  • svg/svgtags.in:
3:11 PM Changeset in webkit [155154] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove harmless assert, triggered hitting breakpoint in auto prettyprinted code on reload
https://bugs.webkit.org/show_bug.cgi?id=120332

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-09-05
Reviewed by Timothy Hatcher.

  • UserInterface/TextEditor.js:
3:06 PM Changeset in webkit [155153] by ap@apple.com
  • 4 edits in trunk/Source/WebKit2

WKFullScreenWindowController extends lifetime of WKView, deleting it at a wrong time
https://bugs.webkit.org/show_bug.cgi?id=120792
<rdar://problem/14884666>

Reviewed by Jer Noble.

  • UIProcess/API/mac/WKView.mm: (-[WKView fullScreenWindowController]): Use a newly minted initializer for the controller.
  • UIProcess/mac/WKFullScreenWindowController.h: Removed unused web view accessors. Changed the class to take web view at initialization time.
  • UIProcess/mac/WKFullScreenWindowController.mm: (-[WKFullScreenWindowController initWithWindow:webView:]): Initialize the controller inone step. (-[WKFullScreenWindowController dealloc]): WebView is now a raw pointer, no need to zero it. (-[WKFullScreenWindowController close]): Make sure to not leave a dangling WKView pointer (this method is indirectly but inevitably called when WKView is deallocated).
2:52 PM Changeset in webkit [155152] by andersca@apple.com
  • 4 edits in trunk

Make Vector::uncheckedAppend work with move-only types
https://bugs.webkit.org/show_bug.cgi?id=120799

Reviewed by Andreas Kling.

Source/WTF:

  • wtf/Vector.h:

(WTF::::uncheckedAppend):
Use std::forward to invoke the move constructor when possible.

Tools:

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::MoveOnly):
Add a move-only class.

(TestWebKitAPI::TEST):
Add a test for Vector<MoveOnly>::uncheckedAppend.

2:34 PM Changeset in webkit [155151] by andersca@apple.com
  • 8 edits
    2 deletes in trunk/Tools

Move all Vector tests into Vector.cpp
https://bugs.webkit.org/show_bug.cgi?id=120797

Reviewed by Andreas Kling.

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/GNUmakefile.am:
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj.filters:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/VectorBasic.cpp: Removed.
  • TestWebKitAPI/Tests/WTF/VectorReverse.cpp: Removed.
  • TestWebKitAPI/Tests/WTF/WTF.pro:
2:25 PM Changeset in webkit [155150] by akling@apple.com
  • 10 edits in trunk/Source/WebCore

Cached Page and Frame don't need to be ref-counted.
<https://webkit.org/b/120710>

Reviewed by Anders Carlsson.

  • CachedPage is owned by HistoryItem.
  • CachedFrame is owned by CachedPage.

Remove the ref counting from these objects to make the code less confusing.

Added a new method:

  • PassOwnPtr<CachedPage> PageCache::take(HistoryItem*)

..which is what it looks like - a combined get() and remove() that transfers
ownership of the CachedPage to the caller.

This is used by commitProvisionalLoad() and invalidateCurrentItemCachedPage()
to accomplish in one swoop what they used to do in awkwardly spaced steps.

  • history/CachedFrame.h:

(WebCore::CachedFrame::create):

  • history/CachedPage.cpp:

(WebCore::CachedPage::create):

  • history/CachedPage.h:
  • history/HistoryItem.h:
  • history/PageCache.cpp:

(WebCore::PageCache::take):

  • history/PageCache.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::transitionToCommitted):

  • loader/FrameLoader.h:
  • loader/HistoryController.cpp:

(WebCore::HistoryController::invalidateCurrentItemCachedPage):

2:19 PM Changeset in webkit [155149] by fpizlo@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

REGRESSION(149636, merged in 153145): ToThis conversion doesn't work in the DFG
https://bugs.webkit.org/show_bug.cgi?id=120781

Reviewed by Mark Hahnenberg.

  • Use some method table hacks to detect if the CheckStructure optimization is valid for to_this.


  • Introduce a FinalObjectUse and use it for ToThis->Identity conversion.


This looks like it might be perf-neutral on the major benchmarks, but it
introduces some horrible performance cliffs. For example if you add methods to
the Array prototype, you'll get horrible performance cliffs. As in virtual calls
to C++ every time you call a JS function even if it's inlined.
LongSpider/3d-cube appears to hit this.

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::SafeToExecuteEdge::operator()):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::speculateFinalObject):
(JSC::DFG::SpeculativeJIT::speculate):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGUseKind.cpp:

(WTF::printInternal):

  • dfg/DFGUseKind.h:

(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):

2:17 PM Changeset in webkit [155148] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Add COMPILER_SUPPORTS(CXX_AUTO_TYPE) and #error if it's 0
https://bugs.webkit.org/show_bug.cgi?id=120794

Reviewed by Andreas Kling.

People have already begun using C++11 auto in WebCore, so let's make it a prerequisite.

  • wtf/Compiler.h:
2:07 PM Changeset in webkit [155147] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

BUILD FIX (r155108): Add SynchronousLoaderClientCFNet.cpp to Xcode project

  • WebCore.xcodeproj/project.pbxproj: The iOS port defines

USE(CFNETWORK), so it needs to compile
SynchronousLoaderClientCFNet.cpp to build successfully.

2:01 PM Changeset in webkit [155146] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Clean up wtf/Compiler.h
https://bugs.webkit.org/show_bug.cgi?id=120790

Reviewed by Andreas Kling.

  • Get rid of the CLANG_PRAGMA define, it's not used anywhere.
  • Remove a workaround for a bug in the version of clang that came with Xcode 4.2.
  • Replace WTF_COMPILER_SUPPORTS_CXX_FINAL_CONTROL with a compiler quirk for versions of clang that have a buggy final implementation and fix a bug in the macro where final would be disabled for versions of clang where clang_minor is less than 2, regardless of the major version.
  • Fail if someone tries to compile the WebKit stack with a compiler that doesn't support rvalue references or static_assert.
  • wtf/Compiler.h:
1:54 PM Changeset in webkit [155145] by hyatt@apple.com
  • 1 edit in trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp

Fix build bustage.

1:17 PM Changeset in webkit [155144] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Replace uses of CLANG_PRAGMA with #pragma

Rubber-stamped by Andreas Kling.

This file is only compiled by clang anyway.

  • WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:

(WebKit::InjectedBundle::load):

1:12 PM Changeset in webkit [155143] by andersca@apple.com
  • 49 edits in trunk/Source

GCAssertions.h should use STL type traits and static_assert
https://bugs.webkit.org/show_bug.cgi?id=120785

Reviewed by Andreas Kling.

Source/JavaScriptCore:

There's no need to rely on compiler specific support to figure out if a class is trivially destructable,
we can just use type traits from STL. Do this, fix the assert macro to use static_assert directly and
rename it from ASSERT_HAS_TRIVIAL_DESTRUCTOR to STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE to clarify that
it's a static assert and to match the STL nomenclature.

  • API/JSCallbackFunction.cpp:
  • debugger/DebuggerActivation.cpp:
  • heap/GCAssertions.h:
  • runtime/ArrayConstructor.cpp:
  • runtime/BooleanConstructor.cpp:
  • runtime/BooleanObject.cpp:
  • runtime/BooleanPrototype.cpp:
  • runtime/DateConstructor.cpp:
  • runtime/ErrorConstructor.cpp:
  • runtime/ErrorInstance.cpp:
  • runtime/ErrorPrototype.cpp:
  • runtime/ExceptionHelpers.cpp:
  • runtime/FunctionConstructor.cpp:
  • runtime/FunctionPrototype.cpp:
  • runtime/GetterSetter.cpp:
  • runtime/InternalFunction.cpp:
  • runtime/JSAPIValueWrapper.cpp:
  • runtime/JSArray.cpp:
  • runtime/JSCell.cpp:
  • runtime/JSNotAnObject.cpp:
  • runtime/JSONObject.cpp:
  • runtime/JSObject.cpp:
  • runtime/JSPromiseConstructor.cpp:
  • runtime/JSPromisePrototype.cpp:
  • runtime/JSPromiseResolverConstructor.cpp:
  • runtime/JSPromiseResolverPrototype.cpp:
  • runtime/JSProxy.cpp:
  • runtime/JSScope.cpp:
  • runtime/JSWrapperObject.cpp:
  • runtime/MathObject.cpp:
  • runtime/NameConstructor.cpp:
  • runtime/NativeErrorConstructor.cpp:
  • runtime/NumberConstructor.cpp:
  • runtime/NumberObject.cpp:
  • runtime/NumberPrototype.cpp:
  • runtime/ObjectConstructor.cpp:
  • runtime/ObjectPrototype.cpp:
  • runtime/RegExpObject.cpp:
  • runtime/StrictEvalActivation.cpp:
  • runtime/StringConstructor.cpp:
  • runtime/StringObject.cpp:
  • runtime/StringPrototype.cpp:

Source/WebCore:

Update for JavaScriptCore changes.

  • bindings/js/JSDOMBinding.cpp:
  • bindings/js/JSImageConstructor.cpp:

Source/WebKit2:

Update for JavaScriptCore changes.

  • WebProcess/Plugins/Netscape/JSNPMethod.cpp:
12:57 PM Changeset in webkit [155142] by hyatt@apple.com
  • 3 edits in trunk/Source/WebCore

Make RenderListItem inherit from RenderBlockFlow.
https://bugs.webkit.org/show_bug.cgi?id=120789

Reviewed by Beth Dakin.

  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::RenderListItem):
(WebCore::RenderListItem::willBeDestroyed):
(WebCore::RenderListItem::willBeRemovedFromTree):
(WebCore::RenderListItem::layout):
(WebCore::RenderListItem::addOverflowFromChildren):
(WebCore::RenderListItem::computePreferredLogicalWidths):
(WebCore::RenderListItem::paint):

  • rendering/RenderListItem.h:
12:47 PM Changeset in webkit [155141] by hyatt@apple.com
  • 6 edits in trunk/Source/WebCore

Make RenderBlock have a protected constructor..
https://bugs.webkit.org/show_bug.cgi?id=120787

Reviewed by Beth Dakin.

Make sure nobody can create a RenderBlock directly. Make sure RenderBlockFlows
get made when a display:block/inline-block/compact/run-in is seen.

  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::createRenderer):

  • html/HTMLSummaryElement.cpp:

(WebCore::HTMLSummaryElement::createRenderer):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::createAnonymous):

  • rendering/RenderBlock.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::createObject):

12:38 PM Changeset in webkit [155140] by Simon Fraser
  • 5 edits in trunk/Tools

Expected result images are sometimes blank in WKTR
https://bugs.webkit.org/show_bug.cgi?id=120715

Reviewed by Tim Horton.

In WebKitTestRunner, snapshots obtained via windowSnapshotImage() were
sometimes blank if a previous test triggered compositing mode, and the
current test or reference did not require compositing. This happened
because the UI process didn't wait for the web process to complete
its compositing mode switch before snapshotting. Fix by calling
WKPageForceRepaint() before we take the snapshot; this is async,
so we have to spin the runloop for a while.

Remove the Qt/EFL code that does the same thing.

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::forceRepaintDoneCallback):
(WTR::TestInvocation::dumpResults):

  • WebKitTestRunner/TestInvocation.h:
  • WebKitTestRunner/cairo/TestInvocationCairo.cpp:

(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

  • WebKitTestRunner/qt/TestInvocationQt.cpp:

(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

12:32 PM Changeset in webkit [155139] by hyatt@apple.com
  • 68 edits
    2 adds in trunk/Source/WebCore

Add new RenderBlockFlow class
https://bugs.webkit.org/show_bug.cgi?id=120777

Reviewed by Simon Fraser.

This patch adds a new RenderBlockFlow class. The idea is to get all of the line/float/margin
code out of RenderBlock and into the subclass, and then we can make RenderBlock an abstract
base. This will save memory for all of the classes that derive from RenderBlock but have
their own layout systems (e.g., flexbox, grid, table), and it will let us tighten up
types to make it more clear when we're talking about block layout code vs. a more generic
block-level object that can have any kind of layout.

The only real change here is that isBlockFlow() has been renamed to isRenderBlockFlow() and
is now checking if the object is a RenderBlockFlow. All of the block subclasses have been patched
to be a RenderBlock or RenderBlockFlow.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

  • dom/Position.cpp:

(WebCore::Position::isCandidate):
(WebCore::Position::getInlineBoxAndOffset):
(WebCore::Position::primaryDirection):

  • dom/PositionIterator.cpp:

(WebCore::PositionIterator::isCandidate):

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):

  • editing/Editor.cpp:

(WebCore::Editor::baseWritingDirectionForSelectionStart):

  • editing/FrameSelection.cpp:

(WebCore::caretRenderer):

  • editing/TextIterator.cpp:

(WebCore::TextIterator::shouldRepresentNodeOffsetZero):

  • editing/TypingCommand.cpp:

(WebCore::TypingCommand::makeEditableRootEmpty):

  • editing/htmlediting.cpp:

(WebCore::isBlockFlowElement):

  • html/shadow/SliderThumbElement.cpp:

(WebCore::RenderSliderThumb::RenderSliderThumb):

  • html/shadow/SliderThumbElement.h:
  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::firstLineBoxBaseline):
(WebCore::RenderBlock::lastLineBoxBaseline):
(WebCore::RenderBlock::firstLineBlock):
(WebCore::findFirstLetterBlock):
(WebCore::shouldCheckLines):
(WebCore::RenderBlock::adjustForBorderFit):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp: Added.

(WebCore::RenderBlockFlow::RenderBlockFlow):
(WebCore::RenderBlockFlow::~RenderBlockFlow):

  • rendering/RenderBlockFlow.h: Added.

(WebCore::toRenderBlockFlow):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::positionForPoint):

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::canHaveBoxInfoInRegion):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
(WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):

  • rendering/RenderDetailsMarker.cpp:

(WebCore::RenderDetailsMarker::RenderDetailsMarker):

  • rendering/RenderDetailsMarker.h:
  • rendering/RenderFieldset.cpp:

(WebCore::RenderFieldset::RenderFieldset):

  • rendering/RenderFieldset.h:
  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::RenderFileUploadControl):

  • rendering/RenderFileUploadControl.h:
  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::RenderFlowThread):

  • rendering/RenderFlowThread.h:
  • rendering/RenderFullScreen.cpp:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::computeRectForRepaint):

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):

  • rendering/RenderMeter.cpp:

(WebCore::RenderMeter::RenderMeter):

  • rendering/RenderMeter.h:
  • rendering/RenderMultiColumnBlock.cpp:

(WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):

  • rendering/RenderMultiColumnBlock.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::computeRectForRepaint):
(WebCore::RenderObject::styleWillChange):
(WebCore::firstLineStyleForCachedUncachedType):

  • rendering/RenderObject.h:

(WebCore::RenderObject::isBR):
(WebCore::RenderObject::isRenderBlockFlow):

  • rendering/RenderObjectChildList.cpp:

(WebCore::RenderObjectChildList::insertChildNode):

  • rendering/RenderProgress.cpp:

(WebCore::RenderProgress::RenderProgress):

  • rendering/RenderProgress.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::RenderRegion):

  • rendering/RenderRegion.h:
  • rendering/RenderRuby.cpp:

(WebCore::RenderRubyAsBlock::RenderRubyAsBlock):

  • rendering/RenderRuby.h:
  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::RenderRubyBase):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::RenderRubyText):

  • rendering/RenderRubyText.h:
  • rendering/RenderTableCaption.cpp:

(WebCore::RenderTableCaption::RenderTableCaption):

  • rendering/RenderTableCaption.h:
  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::RenderTableCell):

  • rendering/RenderTableCell.h:
  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::RenderTextControl):

  • rendering/RenderTextControl.h:
  • rendering/RenderTextControlSingleLine.h:

(WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):

  • rendering/RenderTextTrackCue.cpp:

(WebCore::RenderTextTrackCue::RenderTextTrackCue):

  • rendering/RenderTextTrackCue.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::RenderView):

  • rendering/RenderView.h:
  • rendering/svg/RenderSVGBlock.cpp:

(WebCore::RenderSVGBlock::RenderSVGBlock):

  • rendering/svg/RenderSVGBlock.h:
12:25 PM Changeset in webkit [155138] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build broke with change to make Mac use PDFKit for PDFDocumentImage
https://bugs.webkit.org/show_bug.cgi?id=120771

Reviewed by Anders Carlsson.

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::createPDFDocument):
Use the (removed in r155069) PLATFORM(MAC) way of making a CGDataProvider from a SharedBuffer
everywhere; this is what iOS was expecting to use (where I accidentally changed behavior),
and it should also work for Windows, the only other USE(CG) platform.

Since we only createPDFDocument() after all data has been received, I'm not
restoring the comment about the SharedBuffer being secretly written to behind its back.

11:58 AM Changeset in webkit [155137] by dino@apple.com
  • 8 edits in trunk

Rename supportsContext to probablySupportsContext
https://bugs.webkit.org/show_bug.cgi?id=120716
<rdar://problem/14914499>

Reviewed by Antoine Quint.

As decided in: http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2013-September/040680.html

Source/WebCore:

  • bindings/js/JSHTMLCanvasElementCustom.cpp:

(WebCore::JSHTMLCanvasElement::probablySupportsContext):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::probablySupportsContext):

  • html/HTMLCanvasElement.h:
  • html/HTMLCanvasElement.idl:

LayoutTests:

  • fast/canvas/webgl/canvas-supports-context-expected.txt:
  • fast/canvas/webgl/canvas-supports-context.html:
11:29 AM Changeset in webkit [155136] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebCore

Fix build warning about unused variable.

Unreviewed build fix.

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::evaluateBreakpointAction):

11:23 AM Changeset in webkit [155135] by andersca@apple.com
  • 4 edits in trunk/Source

Enable C++11 wherever we build C++ files that include wtf/Platform.h
https://bugs.webkit.org/show_bug.cgi?id=120782

Reviewed by Andreas Kling.

Source/ThirdParty:

Set CLANG_CXX_LANGUAGE_STANDARD to gnu++0x.

  • gtest/xcode/Config/General.xcconfig:

Source/WebCore:

Pass -std=gnu++11 when preprocessing wtf/Platform.h.

  • DerivedSources.make:
11:01 AM Changeset in webkit [155134] by Joseph Pecoraro
  • 7 edits
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: Breakpoint Actions
https://bugs.webkit.org/show_bug.cgi?id=120576

Reviewed by Timothy Hatcher.

Give the CodeMirror editor for JavaScript Breakpoint Actions JS Runtime
completions (like window, document, etc.).

The logic was inside of JavaScriptLogViewController but was already
entirely independent. Factor it out into its own class and plug it into
CodeMirrorCompletionController as a "CompletionsProvider".

Because the class hooks into a global event to reset some state, make
it a singleton, so new instances are not leaked.

  • UserInterface/Main.html:
  • UserInterface/Main.js:

(WebInspector.loaded):

  • UserInterface/RuntimeManager.js: Added.

(WebInspector.RuntimeManager):
(WebInspector.RuntimeManager.prototype.evalCallback):
(WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
Move eval in window to new RuntimeManager. A slightly cleaner place to this
since it is used both by the console and JS completions provider.

  • UserInterface/CodeMirrorCompletionController.js:

(WebInspector.CodeMirrorCompletionController):
(WebInspector.CodeMirrorCompletionController.prototype.setExtendedCompletionProvider):
(WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
Allow a completions provider plugin to completions controller. If one
is available, this supercedes the delegate extend completions path.

  • UserInterface/BreakpointActionView.js:
  • UserInterface/ConsolePrompt.js:

(WebInspector.ConsolePrompt):
Use the new JS completions provider to get runtime JS completions.
NOTE: ConsolePrompt still needs the delegate path for SQL completions.

  • UserInterface/JavaScriptLogViewController.js:

(WebInspector.JavaScriptLogViewController):
(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):

  • UserInterface/JavaScriptRuntimeCompletionProvider.js: Added.

(WebInspector.JavaScriptRuntimeCompletionProvider):
(get WebInspector.JavaScriptRuntimeCompletionProvider.prototype.):
(get WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
Move the JS completions code to a new class. No changes needed.

11:00 AM Changeset in webkit [155133] by Joseph Pecoraro
  • 8 edits
    5 adds in trunk/Source/WebInspectorUI

Web Inspector: Breakpoint Actions
https://bugs.webkit.org/show_bug.cgi?id=120576

Reviewed by Timothy Hatcher.

  • UserInterface/Breakpoint.js:

(WebInspector.Breakpoint):
(WebInspector.Breakpoint.prototype.get actions):
(WebInspector.Breakpoint.prototype.get options):
(WebInspector.Breakpoint.prototype.get info):
(WebInspector.Breakpoint.prototype._serializableActions):
Saving, restoring, and serialization.

(WebInspector.Breakpoint.prototype.createAction):
(WebInspector.Breakpoint.prototype.recreateAction):
(WebInspector.Breakpoint.prototype.removeAction):
(WebInspector.Breakpoint.prototype.breakpointActionDidChange):
Modifying _actions ivar.

(WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
(WebInspector.Breakpoint.prototype._popoverActionsCreateAddActionButton):
(WebInspector.Breakpoint.prototype._popoverActionsAddActionButtonClicked):
(WebInspector.Breakpoint.prototype._popoverActionsInsertBreakpointActionView):
(WebInspector.Breakpoint.prototype.breakpointActionViewAppendActionView):
(WebInspector.Breakpoint.prototype.breakpointActionViewRemoveActionView):
(WebInspector.Breakpoint.prototype.breakpointActionViewResized):
Popover UI containing breakpoint action views and converting to and from
having no actions.

(WebInspector.Breakpoint.prototype.willDismissPopover):
Cleanup some ivars when the popover dismisses.

  • UserInterface/Breakpoint.css:

(.popover .edit-breakpoint-popover-content.wide):
Wider setting when there are actions in the popover.

(.popover .edit-breakpoint-popover-content > table > tr > th):
Keep the title labels at the top of their section.

  • UserInterface/BreakpointAction.js:

(WebInspector.BreakpointAction):
(WebInspector.BreakpointAction.prototype.get breakpoint):
(WebInspector.BreakpointAction.prototype.get type):
(WebInspector.BreakpointAction.prototype.get data):
(WebInspector.BreakpointAction.prototype.set data):
(WebInspector.BreakpointAction.prototype.get info):
Very basic BreakpointAction class. Notifies Breakpoint on data changes.
Type changes are not allowed, instead just create a new BreakpointAction.

  • UserInterface/BreakpointActionView.css: Added.

(.breakpoint-action-block-header):
(.breakpoint-action-remove-button):
(.breakpoint-action-remove-button:active):
(.breakpoint-action-append-button):
(.breakpoint-action-block-body):
(.breakpoint-action-block-body > input):
(.breakpoint-action-eval-editor):
(.breakpoint-action-eval-editor > .CodeMirror):
(.breakpoint-action-eval-editor > .CodeMirror-scroll):

  • UserInterface/BreakpointActionView.js: Added.

(WebInspector.BreakpointActionView):
(WebInspector.BreakpointActionView.displayStringForType):
(WebInspector.BreakpointActionView.prototype.get action):
(WebInspector.BreakpointActionView.prototype.get element):
(WebInspector.BreakpointActionView.prototype._pickerChanged):
(WebInspector.BreakpointActionView.prototype._appendActionButtonClicked):
(WebInspector.BreakpointActionView.prototype._removeActionButtonClicked):
(WebInspector.BreakpointActionView.prototype._updateBody.switch.break):
(WebInspector.BreakpointActionView.prototype._logInputChanged):
(WebInspector.BreakpointActionView.prototype._codeMirrorBlurred):
(WebInspector.BreakpointActionView.prototype._codeMirrorViewportChanged):
UI and form controls for individual breakpoint actions. The view
wraps a single BreakpointAction, and for any actions that could affect
other views the delegate is notified.

  • UserInterface/DebuggerManager.js:

(WebInspector.DebuggerManager):
(WebInspector.DebuggerManager.prototype._debuggerBreakpointActionType):
When sending to the backend, make sure to send protocol enums.

  • UserInterface/Popover.js:

(WebInspector.Popover.prototype.update):
Update the popover when content changes.

  • UserInterface/Images/BreakpointActionAdd.svg: Added.
  • UserInterface/Images/BreakpointActionRemove.svg: Added.
  • UserInterface/InspectorBackendCommands.js:
  • UserInterface/Main.html:
  • Localizations/en.lproj/localizedStrings.js:

Misc. New strings, images, includes.

11:00 AM Changeset in webkit [155132] by Joseph Pecoraro
  • 8 edits
    6 adds in trunk

Web Inspector: Breakpoint Actions
https://bugs.webkit.org/show_bug.cgi?id=120576

Reviewed by Timothy Hatcher.

Source/WebCore:

Tests: inspector-protocol/debugger/setBreakpoint-actions.html

inspector-protocol/debugger/setBreakpoint-options-exception.html

  • inspector/ScriptBreakpoint.h:

(WebCore::ScriptBreakpointAction::ScriptBreakpointAction):
(WebCore::ScriptBreakpoint::ScriptBreakpoint):
Struct for a breakpoint action. Type and string of data.

  • bindings/js/ScriptDebugServer.h:
  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::hasBreakpoint):
(WebCore::ScriptDebugServer::evaluateBreakpointAction):
(WebCore::ScriptDebugServer::evaluateBreakpointActions):
(WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
(WebCore::ScriptDebugServer::pauseIfNeeded):
When a breakpoint is triggered evaluate each of its breakpoint
actions in order. If there are exceptions, log them.

  • inspector/Inspector.json:
  • inspector/InspectorDebuggerAgent.cpp:

(WebCore::buildObjectForBreakpointCookie):
(WebCore::InspectorDebuggerAgent::didParseSource):
Save and restore breakpoint actions where needed.

(WebCore::breakpointActionTypeForString):
(WebCore::breakpointActionsFromProtocol):
(WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
(WebCore::InspectorDebuggerAgent::setBreakpoint):
Parse optional breakpoint actions from the protocol into
ScriptBreakpointAction objects.

LayoutTests:

  • inspector-protocol/debugger/resources/breakpoint.js:
  • inspector-protocol/debugger/setBreakpoint-actions-expected.txt: Added.
  • inspector-protocol/debugger/setBreakpoint-actions.html: Added.
  • inspector-protocol/debugger/setBreakpoint-options-exception-expected.txt: Added.
  • inspector-protocol/debugger/setBreakpoint-options-exception.html: Added.
  • inspector-protocol/resources/console-helper.js: Added.

(ConsoleHelper.simplifiedConsoleMessage):

10:56 AM Changeset in webkit [155131] by Simon Fraser
  • 4 edits
    2 adds in trunk

Source/WebCore: Fix repaint issue on "paints into ancestor" filtered layers
https://bugs.webkit.org/show_bug.cgi?id=120780

Reviewed by Tim Horton.

When a repaint happened on a layer with a filter, and which paints into
its compositing ancestor, we'd repaint the wrong layer (and assert).

Fix by ensuring that RenderLayer::enclosingFilterLayer() takes paintsIntoCompositedAncestor()
into account, by adding a function that we share between three callers who
check isComposited() && !paintsIntoCompositedAncestor(). I didn't use a function
on RenderLayer, because I wanted it to be inline but to not #include RenderLayerBacking
in RenderLayer.h.

Test: compositing/filters/opacity-change-on-filtered-paints-into-ancestor.html

  • dom/Node.cpp: Drive-by removal of #include "RenderLayer.h"
  • rendering/RenderLayer.cpp:

(WebCore::compositedWithOwnBackingStore):
(WebCore::RenderLayer::enclosingCompositingLayerForRepaint):
(WebCore::RenderLayer::enclosingFilterRepaintLayer):
(WebCore::RenderLayer::clippingRootForPainting):

LayoutTests: Fix repaint issue on "paints into ancestor" filtered layers
https://bugs.webkit.org/show_bug.cgi?id=120780
<rdar://problem/14884148>

Reviewed by Tim Horton.

Ref test for opacity change on a filtered layer which paints into its compositing ancestor.

  • compositing/filters/opacity-change-on-filtered-paints-into-ancestor-expected.html: Added.
  • compositing/filters/opacity-change-on-filtered-paints-into-ancestor.html: Added.
10:54 AM Changeset in webkit [155130] by Brent Fulgham
  • 5 edits in trunk/Source/WebCore

[Windows] Unreviewed build/link improvement after r155127 to be
consistent about using debug-build support libraries.

Now that <rdar://problem/9898937> is resolved, we should be linking
to debug AVFoundationCF as well.

  • page/CaptionUserPreferencesMediaAF.cpp: Link to AVFoundationCF_debug

when building with the DEBUG_ALL target.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: Ditto.
  • platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Ditto.
10:35 AM Changeset in webkit [155129] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-537-branch

Merged r154037. <rdar://problem/14705502>

10:28 AM Changeset in webkit [155128] by commit-queue@webkit.org
  • 2 edits
    4 adds in trunk/LayoutTests

[GTK] improving tests expectations related to trackmenu
https://bugs.webkit.org/show_bug.cgi?id=120699

Adding tests expectations to the current GTK's trackmenu
implementation.

Also adding a in-band-track test expectation as failure since we don't
support in-band tracks yet.

Patch by Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk> on 2013-09-05
Reviewed by Gustavo Noronha Silva.

  • platform/gtk/TestExpectations:
  • platform/gtk/media/video-controls-captions-trackmenu-expected.txt: Added.
  • platform/gtk/media/video-controls-captions-trackmenu-hide-on-click-expected.txt: Added.
  • platform/gtk/media/video-controls-captions-trackmenu-localized-expected.txt: Added.
  • platform/gtk/media/video-controls-captions-trackmenu-sorted-expected.txt: Added.
10:21 AM Changeset in webkit [155127] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Link to libdispatch_debug.lib when using DebugSuffix configuration.
https://bugs.webkit.org/show_bug.cgi?id=120712.
<rdar://problem/14883216>.

Reviewed by Brent Fulgham.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
10:11 AM Changeset in webkit [155126] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Change StringBuffer back to not use an OwnPtr in an attempt to fix ports.

  • wtf/text/StringBuffer.h:
10:10 AM Changeset in webkit [155125] by berto@igalia.com
  • 3 edits in trunk/Source/WebKit2

[WK2] [GTK] Remove the test to disable AC under Wayland from WebKitWebViewGroup
https://bugs.webkit.org/show_bug.cgi?id=120762

Reviewed by Gustavo Noronha Silva.

The code to disable AC under Wayland is not run if we're using
WebKitTestRunner, so it would be better to move it to
WebKitWebViewBase.

However it's not really necessary to do that, instead it's much
simpler to disable accelerated compositing in all cases unless we
know we can support it.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseUpdatePreferences):

  • UIProcess/API/gtk/WebKitWebViewGroup.cpp:

(webkitWebViewGroupAttachSettingsToPageGroup):

9:42 AM Changeset in webkit [155124] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

Make build.webkit.org report the number of failing run-fast-jsc tests
https://bugs.webkit.org/show_bug.cgi?id=120766

Reviewed by Filip Pizlo.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(RunJavaScriptCoreTests.commandComplete):
(RunJavaScriptCoreTests.getText2):

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:

(RunJavaScriptCoreTestsTest): Added.
(RunJavaScriptCoreTestsTest.assertResults):
(RunJavaScriptCoreTestsTest.test_no_regressions_old_output):
(RunJavaScriptCoreTestsTest.test_mozilla_failure_old_output):
(RunJavaScriptCoreTestsTest.test_mozilla_failure_new_output):
(RunJavaScriptCoreTestsTest.test_fast_js_failure_new_output):
(RunJavaScriptCoreTestsTest.test_fast_js_crash_new_output):
(RunJavaScriptCoreTestsTest.test_mozilla_and_fast_js_failure_new_output):

9:28 AM Changeset in webkit [155123] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

[Windows] Unreviewed build fix for DebugSuffix target.

  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Don't build 64-bit assembly in 32-bit build.

Also correct 'filters' file so that files appear in categories that match their on-disk locations.

8:54 AM Changeset in webkit [155122] by fpizlo@apple.com
  • 28 edits in trunk/LayoutTests

fast/js/dfg-* tests should wait for the concurrent JIT
https://bugs.webkit.org/show_bug.cgi?id=120723

Rubber stamped by Oliver Hunt.

Convert more tests.

  • fast/js/dfg-branch-logical-not-peephole-around-osr-exit-expected.txt:
  • fast/js/dfg-branch-not-fail-expected.txt:
  • fast/js/dfg-byte-array-put-expected.txt:
  • fast/js/dfg-call-function-hit-watchpoint-expected.txt:
  • fast/js/dfg-call-method-hit-watchpoint-expected.txt:
  • fast/js/dfg-captured-var-get-local-expected.txt:
  • fast/js/dfg-cfa-merge-with-dead-use-at-tail-expected.txt:
  • fast/js/dfg-cfg-simplify-eliminate-set-local-type-check-then-branch-not-null-and-decrement-expected.txt:
  • fast/js/dfg-cfg-simplify-eliminate-set-local-type-check-then-branch-not-null-expected.txt:
  • fast/js/dfg-cfg-simplify-eliminate-set-local-type-check-then-typeof-expected.txt:
  • fast/js/dfg-cfg-simplify-phantom-get-local-on-same-block-set-local-expected.txt:
  • fast/js/dfg-cfg-simplify-redundant-dead-get-local-expected.txt:
  • fast/js/dfg-check-function-change-structure-expected.txt:
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-branch-logical-not-peephole-around-osr-exit.js:
  • fast/js/script-tests/dfg-branch-not-fail.js:
  • fast/js/script-tests/dfg-byte-array-put.js:
  • fast/js/script-tests/dfg-call-function-hit-watchpoint.js:
  • fast/js/script-tests/dfg-call-method-hit-watchpoint.js:
  • fast/js/script-tests/dfg-captured-var-get-local.js:
  • fast/js/script-tests/dfg-cfa-merge-with-dead-use-at-tail.js:
  • fast/js/script-tests/dfg-cfg-simplify-eliminate-set-local-type-check-then-branch-not-null-and-decrement.js:
  • fast/js/script-tests/dfg-cfg-simplify-eliminate-set-local-type-check-then-branch-not-null.js:
  • fast/js/script-tests/dfg-cfg-simplify-eliminate-set-local-type-check-then-typeof.js:
  • fast/js/script-tests/dfg-cfg-simplify-phantom-get-local-on-same-block-set-local.js:
  • fast/js/script-tests/dfg-cfg-simplify-redundant-dead-get-local.js:
  • fast/js/script-tests/dfg-check-function-change-structure.js:
8:20 AM Changeset in webkit [155121] by andersca@apple.com
  • 6 edits in trunk/Source

Vector::releaseBuffer should return an OwnPtr
https://bugs.webkit.org/show_bug.cgi?id=120718

Reviewed by Andreas Kling.

Source/WebCore:

Change FormStreamFields::currentData to an OwnPtr.

  • platform/network/cf/FormDataStreamCFNet.cpp:

(WebCore::closeCurrentStream):
(WebCore::advanceCurrentStream):
(WebCore::formCreate):

Source/WTF:

Change Vector::releaseBuffer() to return an OwnPtr. I intentionally chose
to use an OwnPtr over a PassOwnPtr since we're trying to move away from PassOwnPtr objects.

Fix fallout from this change by adopting OwnPtr/PassOwnPtr in StringBuffer and the two StringImpl
constructors that adopt the passed in pointer.

  • wtf/Vector.h:
  • wtf/text/StringBuffer.h:
  • wtf/text/StringImpl.h:
8:17 AM Changeset in webkit [155120] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

Reverting "Cached Page and Frame don't need to be ref-counted.
<https://webkit.org/b/120758>

This didn't work so well on Qt bots. Will have to take bigger steps
here instead of iterating.

  • history/CachedFrame.h:

(WebCore::CachedFrame::create):

  • history/CachedPage.cpp:

(WebCore::CachedPage::create):

  • history/CachedPage.h:
  • history/HistoryItem.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::transitionToCommitted):

  • loader/FrameLoader.h:
8:15 AM Changeset in webkit [155119] by andersca@apple.com
  • 11 edits in trunk/Source/WebCore

Animations in an AnimationList are never null
https://bugs.webkit.org/show_bug.cgi?id=120720

Reviewed by Andreas Kling.

Change AnimationList::operator[] to return an Animation& and fix up related code to also take references.

  • css/CSSComputedStyleDeclaration.cpp:
  • css/DeprecatedStyleBuilder.cpp:
  • page/animation/CompositeAnimation.cpp:
  • page/animation/KeyframeAnimation.cpp:
  • platform/animation/Animation.h:
  • platform/animation/AnimationList.cpp:
  • platform/animation/AnimationList.h:
  • rendering/RenderLayerBacking.cpp:
8:11 AM Changeset in webkit [155118] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

Make run-fast-jsc script bash, dash and Darwin's /bin/sh friendly
https://bugs.webkit.org/show_bug.cgi?id=120759

Reviewed by Filip Pizlo.

  • Scripts/run-fast-jsc: Remove bashisms to make bash, dash and Darwin's /bin/sh happy.
  • Scripts/run-javascriptcore-tests: Enable run-fast-jsc tests everywhere, except Windows.
8:01 AM Changeset in webkit [155117] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, green the Mac bots by boosting the timeout on JSC tests. One of the
Mozilla tests appears to run for a longer time.

I think we want to continue to allow a few tests here and there to be
longer-running, rather than excluding them. I seem to recall that those tests
catch good bugs.

  • Scripts/run-javascriptcore-tests:
7:45 AM Changeset in webkit [155116] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Call createTextRenderersForSiblingsAfterAttachIfNeeded only for the attach root
https://bugs.webkit.org/show_bug.cgi?id=120770

Reviewed by Andreas Kling.

There is no need to call this during recursive attach as siblings are going to be attached normally anyway.
Move call sites to attach roots only.

  • style/StyleResolveTree.cpp:

(WebCore::Style::createTextRenderersForSiblingsAfterAttachIfNeeded):

Factor to take reference and do the inital tests itself.

(WebCore::Style::createTextRendererIfNeeded):
(WebCore::Style::updateTextRendererAfterContentChange):
(WebCore::Style::attachChildren):

Also tightened the condition where previously attached children may be encountered.

(WebCore::Style::attachRenderTree):
(WebCore::Style::resolveLocal):
(WebCore::Style::updateTextStyle):
(WebCore::Style::reattachRenderTree):

7:31 AM Changeset in webkit [155115] by mikhail.pozdnyakov@intel.com
  • 3 edits in trunk/Source/WTF

Remove String(RefPtr<StringImpl>) constructor
https://bugs.webkit.org/show_bug.cgi?id=120767

Reviewed by Anders Carlsson.

The String(RefPtr<StringImpl>) constructor should be removed for the following reasons:

  • It almost does not have clients, so it is unneeded.
  • RefPtr should never be passed by value
  • wtf/text/StringBuilder.cpp:

(WTF::StringBuilder::shrinkToFit):

  • wtf/text/WTFString.h:
7:23 AM Changeset in webkit [155114] by commit-queue@webkit.org
  • 7 edits
    6 adds
    45 deletes in trunk/LayoutTests

[CSS Regions] Convert existing pixel tests in ref tests
https://bugs.webkit.org/show_bug.cgi?id=120760

Patch by Mihai Maerean <Mihai Maerean> on 2013-09-05
Reviewed by Antti Koivisto.

I have also removed text-align:justify from the tests because its not relevant to the tested functionality and
it makes creating the expected results very difficult because of the way fragmented text is rendered when
it's aligned justified.

  • fast/regions/overflow-in-uniform-regions-dynamic-expected.html: Added.
  • fast/regions/overflow-in-uniform-regions-dynamic.html:
  • fast/regions/overflow-in-variable-width-regions-expected.html: Added.
  • fast/regions/overflow-in-variable-width-regions.html:
  • fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.html: Added.
  • fast/regions/overflow-moving-below-floats-in-variable-width-regions.html:
  • fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.html: Added.
  • fast/regions/overflow-not-moving-below-floats-in-variable-width-regions.html:
  • fast/regions/overflow-rtl-in-variable-width-regions-expected.html: Added.
  • fast/regions/overflow-rtl-in-variable-width-regions.html:
  • fast/regions/overflow-size-change-in-variable-width-regions-expected.html: Added.
  • fast/regions/overflow-size-change-in-variable-width-regions.html:
  • platform/efl/fast/regions/overflow-in-uniform-regions-dynamic-expected.png: Removed.
  • platform/efl/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt: Removed.
  • platform/efl/fast/regions/overflow-in-variable-width-regions-expected.png: Removed.
  • platform/efl/fast/regions/overflow-in-variable-width-regions-expected.txt: Removed.
  • platform/efl/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.png: Removed.
  • platform/efl/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt: Removed.
  • platform/efl/fast/regions/overflow-rtl-in-variable-width-regions-expected.png: Removed.
  • platform/efl/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt: Removed.
  • platform/efl/fast/regions/overflow-size-change-in-variable-width-regions-expected.png: Removed.
  • platform/efl/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt: Removed.
  • platform/gtk/fast/regions/overflow-in-uniform-regions-dynamic-expected.png: Removed.
  • platform/gtk/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt: Removed.
  • platform/gtk/fast/regions/overflow-in-variable-width-regions-expected.png: Removed.
  • platform/gtk/fast/regions/overflow-in-variable-width-regions-expected.txt: Removed.
  • platform/gtk/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.png: Removed.
  • platform/gtk/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt: Removed.
  • platform/gtk/fast/regions/overflow-rtl-in-variable-width-regions-expected.png: Removed.
  • platform/gtk/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt: Removed.
  • platform/gtk/fast/regions/overflow-size-change-in-variable-width-regions-expected.png: Removed.
  • platform/gtk/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt: Removed.
  • platform/mac/fast/regions/overflow-in-uniform-regions-dynamic-expected.png: Removed.
  • platform/mac/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt: Removed.
  • platform/mac/fast/regions/overflow-in-variable-width-regions-expected.png: Removed.
  • platform/mac/fast/regions/overflow-in-variable-width-regions-expected.txt: Removed.
  • platform/mac/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.png: Removed.
  • platform/mac/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt: Removed.
  • platform/mac/fast/regions/overflow-rtl-in-variable-width-regions-expected.png: Removed.
  • platform/mac/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt: Removed.
  • platform/mac/fast/regions/overflow-size-change-in-variable-width-regions-expected.png: Removed.
  • platform/mac/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt: Removed.
  • platform/qt-wk2/fast/regions/overflow-in-uniform-regions-dynamic-expected.png: Removed.
  • platform/qt-wk2/fast/regions/overflow-in-variable-width-regions-expected.png: Removed.
  • platform/qt-wk2/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.png: Removed.
  • platform/qt-wk2/fast/regions/overflow-rtl-in-variable-width-regions-expected.png: Removed.
  • platform/qt-wk2/fast/regions/overflow-size-change-in-variable-width-regions-expected.png: Removed.
  • platform/qt/fast/regions/overflow-in-uniform-regions-dynamic-expected.png: Removed.
  • platform/qt/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt: Removed.
  • platform/qt/fast/regions/overflow-in-variable-width-regions-expected.png: Removed.
  • platform/qt/fast/regions/overflow-in-variable-width-regions-expected.txt: Removed.
  • platform/qt/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.png: Removed.
  • platform/qt/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt: Removed.
  • platform/qt/fast/regions/overflow-rtl-in-variable-width-regions-expected.png: Removed.
  • platform/qt/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt: Removed.
  • platform/qt/fast/regions/overflow-size-change-in-variable-width-regions-expected.png: Removed.
  • platform/qt/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt: Removed.
7:15 AM Changeset in webkit [155113] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] Assertion fails when the mouse pointer is styled with a custom cursor
https://bugs.webkit.org/show_bug.cgi?id=118905

Patch by Enrique Ocaña González <eocanha@igalia.com> on 2013-09-05
Reviewed by Philippe Normand.

Checked that the custom cursor image and its pixbuf is valid and create a null
cursor otherwise.

  • platform/gtk/CursorGtk.cpp:

(WebCore::createCustomCursor):

7:08 AM WebKitGTK/2.2.x edited by andrunko@gmail.com
(diff)
7:08 AM WebKitGTK/2.0.x edited by andrunko@gmail.com
(diff)
6:25 AM Changeset in webkit [155112] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Precision updates in WebAudio.
https://bugs.webkit.org/show_bug.cgi?id=119739

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2013-09-05
Reviewed by Philippe Normand.

WebAudio Specification suggests to use 'double' datatypes
for minDecibels, maxDecibels and smoothingTimeConstant in
AnalyserNode.idl and currentTime in AudioContext.idl.
Current WebKit implementation has declared these attributes
as 'float' type.

Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioContext-section

https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AnalyserNode

No new tests, covered by existing tests.

  • Modules/webaudio/AnalyserNode.cpp:

(WebCore::AnalyserNode::setMinDecibels):
(WebCore::AnalyserNode::setMaxDecibels):
(WebCore::AnalyserNode::setSmoothingTimeConstant):

  • Modules/webaudio/AnalyserNode.h:

(WebCore::AnalyserNode::minDecibels):
(WebCore::AnalyserNode::maxDecibels):
(WebCore::AnalyserNode::smoothingTimeConstant):

  • Modules/webaudio/AnalyserNode.idl:
  • Modules/webaudio/AudioContext.idl:
  • Modules/webaudio/RealtimeAnalyser.h:

(WebCore::RealtimeAnalyser::setMinDecibels):
(WebCore::RealtimeAnalyser::minDecibels):
(WebCore::RealtimeAnalyser::setMaxDecibels):
(WebCore::RealtimeAnalyser::maxDecibels):
(WebCore::RealtimeAnalyser::setSmoothingTimeConstant):
(WebCore::RealtimeAnalyser::smoothingTimeConstant):

6:22 AM Changeset in webkit [155111] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] media/track/in-band/ layout tests introduced in r154908 are failing
https://bugs.webkit.org/show_bug.cgi?id=120665

Patch by Brendan Long <b.long@cablelabs.com> on 2013-09-05
Reviewed by Philippe Normand.

  • platform/efl/TestExpectations: Skip new media/track/in-band tests.
5:34 AM Changeset in webkit [155110] by zarvai@inf.u-szeged.hu
  • 3 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt-wk1/TestExpectations: Unskipping after 155104.
  • platform/qt/TestExpectations: Unskipping after r155061.
3:33 AM Changeset in webkit [155109] by mihnea@adobe.com
  • 6 edits in trunk/Source/WebCore

Replace node() calls with generatingNode() for RenderRegion code
https://bugs.webkit.org/show_bug.cgi?id=120397

Reviewed by Darin Adler.

As regions will become anonymous blocks nested inside elements with the flow-from property, a first step
would be to change the calls to node() with calls to generatingNode(). In the case of regions, generatingNode()
will always return an Element* and not a Node*. Therefore, to get rid of toElement() casts, i created
a specific method RenderRegion::generatingElement that will return the generating node as Element.
No new tests as no functional change was introduced.

Original patch by Catalin Badea.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::collectMatchingRulesForRegion):

  • dom/WebKitNamedFlow.cpp:

(WebCore::WebKitNamedFlow::getRegionsByContent):
(WebCore::WebKitNamedFlow::getRegions):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::regionOversetState):
(WebCore::RenderRegion::setRegionOversetState):
(WebCore::RenderRegion::checkRegionStyle):

  • rendering/RenderRegion.h:

(WebCore::RenderRegion::generatingElement):

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeRenderRegionList): For pseudo-elements as regions, i want to print
{pseudo} instead of {div} marker for the parent.

2:51 AM Changeset in webkit [155108] by Csaba Osztrogonác
  • 7 edits
    1 copy
    1 add in trunk/Source/WebCore

Fix SynchronousLoaderClient class for !USE(CFNETWORK) platforms
https://bugs.webkit.org/show_bug.cgi?id=120532

Reviewed by Darin Adler.

  • CMakeLists.txt:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • platform/network/SynchronousLoaderClient.cpp:
  • platform/network/cf/SynchronousLoaderClientCFNet.cpp: Added.

(WebCore::SynchronousLoaderClient::didReceiveAuthenticationChallenge):
(WebCore::SynchronousLoaderClient::platformBadResponseError):

  • platform/network/soup/SynchronousLoaderClientSoup.cpp: Added.

(WebCore::SynchronousLoaderClient::didReceiveAuthenticationChallenge):
(WebCore::SynchronousLoaderClient::platformBadResponseError):

2:01 AM Changeset in webkit [155107] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Source/WebCore

Fix unused parameter warning in WebKitAccessibleInterfaceText.cpp
<https://webkit.org/b/120761>

Reviewed by Gyuyoung Kim.

Fix warning by removing unused parameter.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(sentenceAtPositionForAtkBoundary):

1:41 AM Changeset in webkit [155106] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WTF

Unreviewed. Fix build after r155083

Source/WTF/wtf/Vector.h:1210:48: error: ‘>>’ should be ‘> >’ within a nested template argument list

  • wtf/Vector.h: Add missing space.
12:50 AM WebKitGTK/2.2.x edited by zandobersek@gmail.com
Add r155032 as a proposed merge for 2.1.91. (diff)
12:38 AM Changeset in webkit [155105] by krit@webkit.org
  • 5 edits in trunk

NULL ptr in WebCore::RefCountedPropertyWrapper<WebCore::ClipPathOperation>::blend
https://bugs.webkit.org/show_bug.cgi?id=105408

Reviewed by Dean Jackson.

Source/WebCore:

Adding an early return if from or to clip-path values are 'none'. According to the
specification we shall just interpolate between two basic shapes.

http://dev.w3.org/csswg/css-shapes/#basic-shape-interpolation

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):

LayoutTests:

Test that animation from none to a basic shape on -webkit-clip-path doesn't crash.

  • css3/masking/clip-path-animation-expected.txt:
  • css3/masking/clip-path-animation.html:
12:33 AM Changeset in webkit [155104] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Qt][WK1] REGRESSION(r154988): compositing/video/video-with-invalid-source.html
https://bugs.webkit.org/show_bug.cgi?id=120683

Patch by Andre Moreira Magalhaes <Andre Moreira Magalhaes> on 2013-09-05
Reviewed by Philippe Normand.

Do not set pipeline state to NULL on MediaPlayerPrivateGStreamer::loadingFailed()
otherwise the bus is flushed and we never get a GST_MESSAGE_ERROR when failing to
load uris.
Also restore previous behaviour (before r154988) of not invoking loadingFailed() for
all failed manual state change attempts.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
Do not call loadingFailed() if state change fails as all manual state changes are
now done with changePipelineState().
(WebCore::MediaPlayerPrivateGStreamer::play):
(WebCore::MediaPlayerPrivateGStreamer::pause):
(WebCore::MediaPlayerPrivateGStreamer::seek):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
Restore previous behaviour (before changeset r154988) when calling changePipelineState().
(WebCore::MediaPlayerPrivateGStreamer::updateStates):
Do nothing if changing to READY on EOS (same behaviour as setting to NULL as it was before
changeset r154988).
(WebCore::MediaPlayerPrivateGStreamer::loadingFailed):
Do not set pipeline state to NULL so we properly get GST_MESSAGE_ERROR on loading failures.

12:23 AM Changeset in webkit [155103] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, don't run fast/js tests in run-javascriptcore-tests on platforms that
can't support it because if non-bourne shells. This fixes part #2 of the Linux
bot breakage.

  • Scripts/run-javascriptcore-tests:
12:22 AM Changeset in webkit [155102] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK] MediaControlsGtk: fix warning in constructor due to incorrect order of attributes
https://bugs.webkit.org/show_bug.cgi?id=120703

Reviewed by Carlos Garcia Campos.

Fix member initialization so it matches their declaration [-Wreorder].

  • html/shadow/MediaControlsGtk.cpp:

(WebCore::MediaControlsGtk::MediaControlsGtk):

12:18 AM Changeset in webkit [155101] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, don't rely on File::Slurp. This fixes part #1 of Linux bot breakage.

  • Scripts/run-javascriptcore-tests:

(readAllLines):

12:14 AM WebKitGTK/2.2.x edited by berto@igalia.com
(diff)
12:06 AM WebKitGTK/2.0.x edited by berto@igalia.com
(diff)

Sep 4, 2013:

11:50 PM Changeset in webkit [155100] by krit@webkit.org
  • 7 edits
    1 add
    2 deletes in trunk

Support interpolation between cross-fade() images
https://bugs.webkit.org/show_bug.cgi?id=119955

Reviewed by Darin Adler.

Source/WebCore:

With this patch, CSS can animate from one -webkit-cross-fade
function to another, when the input images are the same in the
same order.

  • css/CSSCrossfadeValue.cpp: Added blend function.

(WebCore::blendFunc):
(WebCore::CSSCrossfadeValue::blend):
(WebCore::CSSCrossfadeValue::equals):
(WebCore::CSSCrossfadeValue::equalInputImages):

  • css/CSSCrossfadeValue.h: Added save casting functions.

(WebCore::toCSSCrossfadeValue):

  • css/CSSValue.h:

(WebCore::CSSValue::isCrossfadeValue):

  • page/animation/CSSPropertyAnimation.cpp: Add another condition to

interpolate between two -webkit-cross-fade functions.

(WebCore::blendFunc):

LayoutTests:

Test interpolation from one cross-fade function to another. Changed pixel test
to a ref test.

  • animations/cross-fade-background-image.html:
  • animations/cross-fade-background-image-expected.html: Added.
  • platform/mac/animations/cross-fade-background-image-expected.png: Removed.
  • platform/mac/animations/cross-fade-background-image-expected.txt: Removed.
11:38 PM Changeset in webkit [155099] by zherczeg@webkit.org
  • 5 edits
    4 adds in trunk

<https://webkit.org/b/118553> Hash navigation doesn't affect history when the page is retrieved from appcache

Reviewed by Darin Adler.

Source/WebCore:

A new flag called keepInHistory is added to allow keeping
certain pages in the history even if they have substitute data.

Test: http/tests/appcache/history-test.html

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::urlForHistory):

  • loader/SubstituteData.h:

(WebCore::SubstituteData::SubstituteData):
(WebCore::SubstituteData::shouldRevealToSessionHistory):
(WebCore::SubstituteData::setShouldRevealToSessionHistory):

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::maybeLoadMainResource):

LayoutTests:

  • http/tests/appcache/history-test-expected.txt: Added.
  • http/tests/appcache/history-test.html: Added.
  • http/tests/appcache/resources/history-test.html: Added.
  • http/tests/appcache/resources/history-test.manifest: Added.
11:34 PM Changeset in webkit [155098] by fpizlo@apple.com
  • 4 edits in trunk

jsc tests should have timeouts
https://bugs.webkit.org/show_bug.cgi?id=120725

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

Add the timeout logic directly to 'jsc' because that's easier to do than
writing shell/perl code for it.

  • jsc.cpp:

(timeoutThreadMain):
(main):

Tools:

Reviewed by Geoffrey Garen.

Set the timeout to 20 seconds per test for now.

  • Scripts/run-javascriptcore-tests:
11:32 PM Changeset in webkit [155097] by commit-queue@webkit.org
  • 1 edit
    7 adds in trunk/LayoutTests

Test background blend modes with animated gif background layers.
https://bugs.webkit.org/show_bug.cgi?id=120057

Patch by Mihai Tica <mitica@adobe.com> on 2013-09-04
Reviewed by Darin Adler.

  • css3/compositing/background-blend-mode-gif-color-2.html: Added.
  • css3/compositing/background-blend-mode-gif-color.html: Added.
  • css3/compositing/resources/squares.gif: Added.
  • platform/mac/css3/compositing/background-blend-mode-gif-color-2-expected.png: Added.
  • platform/mac/css3/compositing/background-blend-mode-gif-color-2-expected.txt: Added.
  • platform/mac/css3/compositing/background-blend-mode-gif-color-expected.png: Added.
  • platform/mac/css3/compositing/background-blend-mode-gif-color-expected.txt: Added.
11:30 PM Changeset in webkit [155096] by fpizlo@apple.com
  • 38 edits in trunk

fast/js/dfg-* tests should wait for the concurrent JIT
https://bugs.webkit.org/show_bug.cgi?id=120723

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

  • runtime/TestRunnerUtils.cpp:

(JSC::numberOfDFGCompiles): This should also handle constructors.

LayoutTests:

Reviewed by Geoffrey Garen.

Add dfgShouldBe(), a handy function that covers a lot of common cases.
Also convert a bunch of tests.

  • fast/js/dfg-activation-register-overwritten-in-throw-expected.txt:
  • fast/js/dfg-add-not-number-expected.txt:
  • fast/js/dfg-allocation-profile-watch-point-exit-expected.txt:
  • fast/js/dfg-arguments-alias-escape-expected.txt:
  • fast/js/dfg-arguments-cross-code-origin-expected.txt:
  • fast/js/dfg-arguments-mixed-alias-expected.txt:
  • fast/js/dfg-arguments-strict-mode-expected.txt:
  • fast/js/dfg-arguments-unexpected-escape-expected.txt:
  • fast/js/dfg-array-dead-expected.txt:
  • fast/js/dfg-array-length-dead-expected.txt:
  • fast/js/dfg-array-pop-value-clearing-expected.txt:
  • fast/js/dfg-array-push-bad-time-expected.txt:
  • fast/js/dfg-array-push-slow-put-expected.txt:
  • fast/js/dfg-arrayify-when-late-prevent-extensions-expected.txt:
  • fast/js/dfg-arrayify-when-prevent-extensions-expected.txt:
  • fast/js/dfg-bool-to-int32-reuse-expected.txt:
  • fast/js/jsc-test-list:
  • fast/js/resources/js-test-pre.js:

(dfgShouldBe):

  • fast/js/resources/standalone-pre.js:

(dfgShouldBe):

  • fast/js/script-tests/dfg-activation-register-overwritten-in-throw.js:

(g):

  • fast/js/script-tests/dfg-add-not-number.js:
  • fast/js/script-tests/dfg-allocation-profile-watch-point-exit.js:

(foo):

  • fast/js/script-tests/dfg-arguments-alias-escape.js:
  • fast/js/script-tests/dfg-arguments-cross-code-origin.js:
  • fast/js/script-tests/dfg-arguments-mixed-alias.js:
  • fast/js/script-tests/dfg-arguments-strict-mode.js:
  • fast/js/script-tests/dfg-arguments-unexpected-escape.js:
  • fast/js/script-tests/dfg-array-dead.js:
  • fast/js/script-tests/dfg-array-length-dead.js:
  • fast/js/script-tests/dfg-array-pop-value-clearing.js:
  • fast/js/script-tests/dfg-array-push-bad-time.js:
  • fast/js/script-tests/dfg-array-push-slow-put.js:
  • fast/js/script-tests/dfg-arrayify-when-late-prevent-extensions.js:
  • fast/js/script-tests/dfg-arrayify-when-prevent-extensions.js:
  • fast/js/script-tests/dfg-bool-to-int32-reuse.js:
11:29 PM Changeset in webkit [155095] by g.czajkowski@samsung.com
  • 3 edits in trunk/Source/WebCore

Remove deprecated markersForNode(Node* node).
https://bugs.webkit.org/show_bug.cgi?id=120679

Reviewed by Ryosuke Niwa.

DocumentMarkerController::markersForNode(Node* node) has been marked as
deprecated in favor of markersFor(Node*, MarkerTypes = AllMarkers()).

No new tests, no behavior change.

  • dom/DocumentMarkerController.cpp:
  • dom/DocumentMarkerController.h:

Remove never used markersForNode(Node*).

11:20 PM Changeset in webkit [155094] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

CachedPage construction should begin with a Page&.
<https://webkit.org/b/120721>

Reviewed by Anders Carlsson.

We can't create a CachedPage from a null Page anyway.

  • history/CachedPage.cpp:

(WebCore::CachedPage::create):
(WebCore::CachedPage::CachedPage):
(WebCore::CachedPage::restore):

  • history/CachedPage.h:
  • history/PageCache.cpp:

(WebCore::PageCache::add):

  • history/PageCache.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::commitProvisionalLoad):

11:05 PM Changeset in webkit [155093] by a.bah@samsung.com
  • 3 edits
    2 adds in trunk

setAttributeNode() does not set the new value to an existing attribute if specified attribute is in a different case.
https://bugs.webkit.org/show_bug.cgi?id=120293

Reviewed by Darin Adler.

Source/WebCore:

setAttributeNode() performs a case-insensitive search for an existing
attribute. If an existing attribute is found, it retrieves the index of
such an attribute. For setting the attribute's new value, we call upon
setAttributeInternal() to which both the index as well as the name of
the attribute is passed.
The name passed to this method is the same as the one passed to the
setAttributeNode() API from the webpage and thus can be in any case.

However, setAttributeInternal() uses this name to get the corresponding
existing attribute node. Since this retrieval is not case-insensitive,
the existing node is not returned and thus the new value is not set on
the existing node.
We should instead use the passed index and use that to retrieve the
existing node.

Note that obtaining the attribute's value using getAttributeNode() would
still return the correct value, i.e. the new one.

Also, this change shall make our behavior similar to that of FF and IE.

Test: fast/dom/Element/setAttributeNode-for-existing-attribute.html

  • dom/Element.cpp:

(WebCore::Element::setAttributeInternal):
If the passed index is not equal to attributeNotFound, we use that index
to retrieve the existing attribute.

LayoutTests:

  • fast/dom/Element/setAttributeNode-for-existing-attribute-expected.txt: Added.
  • fast/dom/Element/setAttributeNode-for-existing-attribute.html: Added.

Layout testcase for verifying that the new attribute value is set properly
if an existing attribute with the same name exists.

9:44 PM Changeset in webkit [155092] by fpizlo@apple.com
  • 5 edits in trunk

run-javascriptcore-tests should run-fast-jsc as well
https://bugs.webkit.org/show_bug.cgi?id=120722

Tools:

Reviewed by Geoffrey Garen.

Makes run-javascriptcore-tests run the fast/js tests via run-fast-jsc tool.
Integrates run-fast-jsc's error reporting into run-javascriptcore-tests.

  • Scripts/run-javascriptcore-tests:

(printThingsFound):

LayoutTests:

Reviewed by Geoffrey Garen.

Make all run-fast-jsc tests pass:

  • We should always define successfullyParsed and we shouldn't falsify it when a test fails. This was already true in js-test-pre.


  • Object-defineProperty() depends on DOM-like global object behavior. Remove the test from the run-fast-jsc list.
  • fast/js/jsc-test-list:
  • fast/js/resources/standalone-pre.js:

(testFailed):

8:13 PM Changeset in webkit [155091] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

CachedFrame construction should begin with a Frame&.
<https://webkit.org/b/120719>

Reviewed by Anders Carlsson.

We can't create a CachedFrame from a null Frame anyway.

  • bindings/js/ScriptCachedFrameData.cpp:

(WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
(WebCore::ScriptCachedFrameData::restore):

  • bindings/js/ScriptCachedFrameData.h:
  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::CachedFrameBase):
(WebCore::CachedFrameBase::restore):
(WebCore::CachedFrame::CachedFrame):

  • history/CachedFrame.h:

(WebCore::CachedFrame::create):

  • history/CachedPage.cpp:

(WebCore::CachedPage::CachedPage):

8:09 PM Changeset in webkit [155090] by fpizlo@apple.com
  • 10 edits
    2 adds in trunk

run-fast-jsc should work with new-school fast/js tests that loop until the DFG tiers up
https://bugs.webkit.org/show_bug.cgi?id=120697

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

  • API/JSCTestRunnerUtils.cpp:

(JSC::numberOfDFGCompiles):
(JSC::setNeverInline):

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • jsc.cpp:

(GlobalObject::finishCreation):
(functionNeverInlineFunction):
(functionNumberOfDFGCompiles):

  • runtime/TestRunnerUtils.cpp: Added.

(JSC::getExecutable):
(JSC::numberOfDFGCompiles):
(JSC::setNeverInline):

  • runtime/TestRunnerUtils.h: Added.

LayoutTests:

  • fast/js/resources/standalone-pre.js:

(testPassed):
(testFailed):
(dfgCompiled):

8:04 PM Changeset in webkit [155089] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Set "render tree being torn down" flag a bit earlier.
<https://webkit.org/b/120717>

Reviewed by Anders Carlsson.

Set the flag at the start of Document::detach() so everyone can get a chance
to avoid unnecessary work, not just renderers.

  • dom/Document.cpp:

(WebCore::Document::detach):

7:53 PM Changeset in webkit [155088] by fpizlo@apple.com
  • 1 edit
    23 adds in trunk/PerformanceTests

Introduce a version of SunSpider that runs for a really long time (about 1 sec on my machine)

Rubber stamped by Mark Hahnenberg.

This isn't meant for serious VM-to-VM performance comparisons, but it is useful
to see how these benchmarks behave when they're completely warmed up.

  • LongSpider: Added.
  • LongSpider/3d-cube.js: Added.

(DrawLine):
(CalcCross):
(CalcNormal):
(CreateP):
(MMulti):
(VMulti):
(VMulti2):
(MAdd):
(Translate):
(RotateX):
(RotateY):
(RotateZ):
(DrawQube):
(Loop):
(Init):

  • LongSpider/3d-morph.js: Added.

(loops.3500.nx.120.nz.120.morph):

  • LongSpider/3d-raytrace.js: Added.

(createVector):
(sqrLengthVector):
(lengthVector):
(addVector):
(subVector):
(scaleVector):
(normaliseVector):
(add):
(sub):
(scalev):
(dot):
(scale):
(cross):
(normalise):
(transformMatrix):
(invertMatrix):
(Triangle):
(Triangle.prototype.intersect):
(Scene):
(Scene.prototype.intersect):
(Scene.prototype.blocked):
(Camera):
(Camera.prototype.generateRayPair):
(renderRows):
(Camera.prototype.render):
(raytraceScene.floorShader):
(raytraceScene):
(arrayToCanvasCommands):

  • LongSpider/access-binary-trees.js: Added.

(TreeNode):
(TreeNode.prototype.itemCheck):
(bottomUpTree):

  • LongSpider/access-fannkuch.js: Added.

(fannkuch):

  • LongSpider/access-nbody.js: Added.

(Body):
(Body.prototype.offsetMomentum):
(Jupiter):
(Saturn):
(Uranus):
(Neptune):
(Sun):
(NBodySystem):
(NBodySystem.prototype.advance):
(NBodySystem.prototype.energy):

  • LongSpider/access-nsieve.js: Added.

(pad):
(nsieve):
(sieve):

  • LongSpider/bitops-3bit-bits-in-byte.js: Added.

(fast3bitlookup):
(TimeFunc):

  • LongSpider/bitops-bits-in-byte.js: Added.

(bitsinbyte):
(TimeFunc):

  • LongSpider/bitops-nsieve-bits.js: Added.

(pad):
(primes):
(sieve):

  • LongSpider/controlflow-recursive.js: Added.

(ack):
(fib):
(tak):

  • LongSpider/crypto-aes.js: Added.

(Cipher):
(SubBytes):
(ShiftRows):
(MixColumns):
(AddRoundKey):
(KeyExpansion):
(SubWord):
(RotWord):
(AESEncryptCtr):
(AESDecryptCtr):
(escCtrlChars):

  • LongSpider/crypto-md5.js: Added.

(hex_md5):
(b64_md5):
(str_md5):
(hex_hmac_md5):
(b64_hmac_md5):
(str_hmac_md5):
(md5_vm_test):
(core_md5):
(md5_cmn):
(md5_ff):
(md5_gg):
(md5_hh):
(md5_ii):
(core_hmac_md5):
(safe_add):
(bit_rol):
(str2binl):
(binl2str):
(binl2hex):
(binl2b64):

  • LongSpider/crypto-sha1.js: Added.

(hex_sha1):
(b64_sha1):
(str_sha1):
(hex_hmac_sha1):
(b64_hmac_sha1):
(str_hmac_sha1):
(sha1_vm_test):
(core_sha1):
(sha1_ft):
(sha1_kt):
(core_hmac_sha1):
(safe_add):
(rol):
(str2binb):
(binb2str):
(binb2hex):
(binb2b64):

  • LongSpider/date-format-tofte.js: Added.

(arrayExists):
(.a):
(.A):
(.B):
(.d):
(.D):
(.F):
(.g):
(.G):
(.h):
(.H):
(.i):
(.j):
(.l):
(.L):
(.m):
(.M):
(.n):
(.O):
(.r):
(.S):
(.s):
(.t):
(.U):
(.W):
(.w):
(.Y):
(.y):
(.z):
(Date.prototype.formatDate):

  • LongSpider/date-format-xparb.js: Added.

(Date.prototype.dateFormat):
(Date.createNewFormat):
(Date.getFormatCode):
(Date.parseDate):
(Date.createParser):
(Date.formatCodeToRegex):
(Date.prototype.getTimezone):
(Date.prototype.getGMTOffset):
(Date.prototype.getDayOfYear):
(Date.prototype.getWeekOfYear):
(Date.prototype.isLeapYear):
(Date.prototype.getFirstDayOfMonth):
(Date.prototype.getLastDayOfMonth):
(Date.prototype.getDaysInMonth):
(Date.prototype.getSuffix):
(String.escape):

  • LongSpider/math-cordic.js: Added.

(FIXED):
(FLOAT):
(DEG2RAD):
(cordicsincos):
(cordic):

  • LongSpider/math-partial-sums.js: Added.

(partial):

  • LongSpider/math-spectral-norm.js: Added.

(A):
(Au):
(Atu):
(AtAu):
(spectralnorm):

  • LongSpider/string-base64.js: Added.

(toBase64):
(base64ToString):

  • LongSpider/string-fasta.js: Added.

(rand):
(makeCumulative):
(fastaRepeat):
(fastaRandom):

  • LongSpider/string-tagcloud.js: Added.

(.Array.prototype.toJSONString):
(.Boolean.prototype.toJSONString):
(.Date.prototype.toJSONString):
(.Number.prototype.toJSONString):
(.Object.prototype.toJSONString):
(.):

7:44 PM Changeset in webkit [155087] by mrowe@apple.com
  • 2 edits in trunk/Source/WTF

Fix AutodrainedPool.h to compile without errors under ARC.

Rubber-stamped by Anders Carlsson.

  • wtf/AutodrainedPool.h: Some versions of Clang complain about any use of NSAutoreleasePool under ARC.

Change the type of the member variable to id to work around this. Since the implementation file is compiled
under manual reference counting, everything will work fine.

6:41 PM Changeset in webkit [155086] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

Cached Page and Frame don't need to be ref-counted.
<https://webkit.org/b/120710>

Reviewed by Anders Carlsson.

  • CachedPage is owned by HistoryItem.
  • CachedFrame is owned by CachedPage.

Remove the ref counting from these objects to make the code less confusing.

The only place that used this was in FrameLoader::commitProvisionalLoad() which
took a temporary ref on the CachedPage. Switched this to using a raw pointer.

  • history/CachedFrame.h:

(WebCore::CachedFrame::create):

  • history/CachedPage.cpp:

(WebCore::CachedPage::create):

  • history/CachedPage.h:
  • history/HistoryItem.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::transitionToCommitted):

  • loader/FrameLoader.h:
6:22 PM Changeset in webkit [155085] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Move ShouldGoToBackForwardListItem to the list of passing API tests
https://bugs.webkit.org/show_bug.cgi?id=120646

Patch by Sergio Correia <Sergio Correia> on 2013-09-04
Reviewed by Gyuyoung Kim.

  • TestWebKitAPI/PlatformEfl.cmake: Move ShouldGoToBackForwardListItem to the

list of passing tests, since it started to pass after r154045.

6:05 PM Changeset in webkit [155084] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

Unreviewed. Windows build fix and WebCore project cleanup.

  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • rendering/RenderingAllInOne.cpp:
6:04 PM Changeset in webkit [155083] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

De-indent Vector.h.

Rubber-stamped by Andreas Kling.

I'm cleaning up Vector and making it work with move-only objects, and the namespace WTF
indentation is driving me crazy.

  • wtf/Vector.h:
5:49 PM Changeset in webkit [155082] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit/mac

<https://webkit.org/b/120707> Make WebKit's localizable strings mechanism usable under ARC

WebKit's localizable strings mechanism is also used outside of WebKit so it needs to work
both with and without ARC.

Reviewed by Anders Carlsson.

  • Misc/WebLocalizableStrings.h: Mark the bundle member as unretained. This matches how the

member is used within WebLocalizableStrings.mm.

5:40 PM Changeset in webkit [155081] by mark.lam@apple.com
  • 19 edits
    3 moves in trunk/Source

Renamed StackIterator to StackVisitor.
https://bugs.webkit.org/show_bug.cgi?id=120706.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Also did some minor refactoring:

  • Renamed StackIterator::iterate() to StackVisitor::visit().
  • Make StackVisitor::visit() a static method.
  • Move the instantiation of the StackVisitor instance into StackVisitor::visit() from CallFrame::iterate().
  • Removed StackIterator::resetIterator() and inline its body into the StackVisitor constructor since this is the only remaining caller of it.
  • API/JSContextRef.cpp:

(BacktraceFunctor::operator()):

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • interpreter/CallFrame.h:

(JSC::ExecState::iterate):

  • interpreter/Interpreter.cpp:

(JSC::DumpRegisterFunctor::operator()):
(JSC::unwindCallFrame):
(JSC::getStackFrameCodeType):
(JSC::GetStackTraceFunctor::operator()):
(JSC::UnwindFunctor::operator()):

  • interpreter/Interpreter.h:
  • interpreter/StackIterator.cpp: Removed.
  • interpreter/StackIterator.h: Removed.
  • interpreter/StackVisitor.cpp: Copied from Source/JavaScriptCore/interpreter/StackIterator.cpp.

(JSC::StackVisitor::StackVisitor):
(JSC::StackVisitor::gotoNextFrame):
(JSC::StackVisitor::readFrame):
(JSC::StackVisitor::readNonInlinedFrame):
(JSC::StackVisitor::readInlinedFrame):
(JSC::StackVisitor::Frame::codeType):
(JSC::StackVisitor::Frame::functionName):
(JSC::StackVisitor::Frame::sourceURL):
(JSC::StackVisitor::Frame::toString):
(JSC::StackVisitor::Frame::arguments):
(JSC::StackVisitor::Frame::computeLineAndColumn):
(JSC::StackVisitor::Frame::retrieveExpressionInfo):
(JSC::StackVisitor::Frame::setToEnd):
(JSC::StackVisitor::Frame::print):
(DebugPrintFrameFunctor::operator()):

  • interpreter/StackVisitor.h: Copied from Source/JavaScriptCore/interpreter/StackIterator.h.

(JSC::StackVisitor::visit):

  • jsc.cpp:

(FunctionJSCStackFunctor::operator()):

  • profiler/ProfileGenerator.cpp:

(JSC::AddParentForConsoleStartFunctor::operator()):

  • runtime/JSFunction.cpp:

(JSC::RetrieveArgumentsFunctor::operator()):
(JSC::RetrieveCallerFunctionFunctor::operator()):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::GlobalFuncProtoGetterFunctor::operator()):
(JSC::GlobalFuncProtoSetterFunctor::operator()):

  • runtime/ObjectConstructor.cpp:

(JSC::ObjectConstructorGetPrototypeOfFunctor::operator()):

Source/WebCore:

No new tests.

  • ForwardingHeaders/interpreter/StackIterator.h: Removed.
  • ForwardingHeaders/interpreter/StackVisitor.h: Copied from Source/WebCore/ForwardingHeaders/interpreter/StackIterator.h.
  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::SendFunctor::operator()):

  • bindings/js/ScriptCallStackFactory.cpp:

(WebCore::CreateScriptCallStackFunctor::operator()):
(WebCore::CreateScriptCallStackForConsoleFunctor::operator()):

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

Versioning.

4:39 PM Changeset in webkit [155079] by Lucas Forschler
  • 1 copy in tags/Safari-537.68

New Tag.

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

AX: when no other label on provided on form elements, WebKit should fall back to using @title
https://bugs.webkit.org/show_bug.cgi?id=112842

Patch by Samuel White <Samuel White> on 2013-09-04
Reviewed by Chris Fleizach.

Source/WebCore:

Don't let input elements include empty labels in their accessibility title.

Test: platform/mac/accessibility/input-title.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::titleElementText):

LayoutTests:

Added test to ensure that input elements are computing their
accessibility title as expected.

  • platform/mac/accessibility/input-title-expected.txt: Added.
  • platform/mac/accessibility/input-title.html: Added.
3:47 PM Changeset in webkit [155077] by akling@apple.com
  • 9 edits
    2 adds in trunk/Source/WebCore

Make ImageQualityController per-RenderView.
<https://webkit.org/b/120702>

Reviewed by Anders Carlsson.

Move ImageQualityController to its own files and add a RenderView::imageQualityController()
getter instead of using a global map for all render trees.

This avoids having to unregister every renderer (well, every RenderBoxModelObject) from the
global hash map during render tree teardown.

It also simplifies the live resize optimization a bit since it can now short-circuit if
the RenderView's FrameView is being resized. (Previously there could be any number of
RenderViews present in the map.)

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/ImageQualityController.cpp: Added.
  • rendering/ImageQualityController.h: Added.
3:46 PM Changeset in webkit [155076] by roger_fong@apple.com
  • 6 edits in trunk/Source

Unreviewed Build fix for Windows DebugSuffix configuration.

  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
3:33 PM Changeset in webkit [155075] by mark.lam@apple.com
  • 15 edits in trunk/Source

Refining the StackIterator callback interface.
https://bugs.webkit.org/show_bug.cgi?id=120695.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Introduce CallFrame::iterate() which instantiates a StackIterator and
invoke its iterate() method with the passed in functor. The only place
where the client code gets access to the StackIterator now is as an
argument to the client's functor.

  • API/JSContextRef.cpp:

(JSContextCreateBacktrace):

  • interpreter/CallFrame.cpp:
  • interpreter/CallFrame.h:

(JSC::ExecState::iterate):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::dumpRegisters):
(JSC::Interpreter::getStackTrace):
(JSC::Interpreter::unwind):

  • interpreter/StackIterator.cpp:

(JSC::StackIterator::StackIterator):
(DebugPrintFrameFunctor::DebugPrintFrameFunctor):
(DebugPrintFrameFunctor::operator()):
(debugPrintCallFrame):
(debugPrintStack):

  • interpreter/StackIterator.h:

(JSC::StackIterator::iterate):

  • jsc.cpp:

(functionJSCStack):

  • profiler/ProfileGenerator.cpp:

(JSC::ProfileGenerator::addParentForConsoleStart):

  • runtime/JSFunction.cpp:

(JSC::retrieveArguments):
(JSC::RetrieveCallerFunctionFunctor::operator()):
(JSC::retrieveCallerFunction):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncProtoGetter):
(JSC::globalFuncProtoSetter):

  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorGetPrototypeOf):

Source/WebCore:

No new tests.

  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::SendFunctor::SendFunctor):
(WebCore::SendFunctor::line):
(WebCore::SendFunctor::url):
(WebCore::SendFunctor::operator()):
(WebCore::JSXMLHttpRequest::send):

  • bindings/js/ScriptCallStackFactory.cpp:

(WebCore::createScriptCallStack):

3:28 PM Changeset in webkit [155074] by akling@apple.com
  • 10 edits in trunk/Source/WebCore

Remove unnecessary RenderView.h inclusion from headers.
<https://webkit.org/b/120365>

Reviewed by Anders Carlsson.

RenderView.h was overzealously included by RenderText and RenderTextTrackCue,
making it unpleasant to edit on my laptop.

  • rendering/RenderText.h:
  • rendering/RenderTextTrackCue.h:

Don't include RenderView.h here, do it in .cpp files.

3:28 PM Changeset in webkit [155073] by Beth Dakin
  • 3 edits
    1 add in trunk/Websites/webkit.org

Fixing a typo in demo files and screenshot.

  • blog-files/regions/pizza-is-amazing.png: Replaced.
  • demos/regions/pizza-regions-manifesto-regionstyling.html:
  • demos/regions/pizza-regions-manifesto.html:
3:20 PM Changeset in webkit [155072] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Editor::m_removedAnchor is unused
https://bugs.webkit.org/show_bug.cgi?id=120701

Reviewed by Ryosuke Niwa.

  • editing/Editor.h: Removed m_removedAnchor. It was not only unused, but also broken,

as we didn't reset it when navigating.

3:16 PM Changeset in webkit [155071] by psolanki@apple.com
  • 3 edits in trunk/Source/WebCore

Document::updateHoverActiveState() should allow for deferred style recalcs
https://bugs.webkit.org/show_bug.cgi?id=120700

Reviewed by Simon Fraser.

Add an extra argument to Document::updateHoverActiveState() to specify if a style recalc
should be done. The default value keeps the current behavior of doing a style recalc. iOS
touch handling code will pass in DeferRecalcStyleIfNeeded to avoid the work.

No new tests because no functional changes.

  • dom/Document.cpp:

(WebCore::Document::updateHoverActiveState):

  • dom/Document.h:
3:14 PM Changeset in webkit [155070] by Lucas Forschler
  • 9 edits in branches/safari-537-branch/Source

Merge fix for <rdar://problem/14910916>

3:08 PM Changeset in webkit [155069] by timothy_horton@apple.com
  • 8 edits
    4 adds in trunk

[mac] PDFDocumentImage should use PDFKit to draw
https://bugs.webkit.org/show_bug.cgi?id=120651
<rdar://problem/12810731>

Reviewed by Alexey Proskuryakov.

Use PDFKit to draw PDF-in-<img> on Mac, so that annotations in PDF are painted.

Test: fast/images/pdf-as-image-with-annotations.html

  • WebCore.xcodeproj/project.pbxproj:

Add PDFDocumentImageMac.mm.

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::PDFDocumentImage):
We don't need to initialize m_document anymore because it's now a RetainPtr.
Initialize m_hasPage to false.

(WebCore::PDFDocumentImage::~PDFDocumentImage):
We don't need to manually release our CGPDFDocumentRef anymore because it's now a RetainPtr.

(WebCore::PDFDocumentImage::size):
Use expandedIntSize for explicitness.

(WebCore::PDFDocumentImage::applyRotationForPainting):
Rename adjustCTM to applyRotationForPainting, and move the one non-rotation related transformation out.
We need to do this because PDFKit applies the rotation transformation itself, so we don't need to.
Also, explicitly use std::min instead of importing the whole std namespace.

(WebCore::PDFDocumentImage::dataChanged):
Assert that we don't re-enter dataChanged after we've created a document,
because it seems like that shouldn't happen - we only create a document when
we've supposedly received all data, and it would be nice if we didn't have
all this varying code to deal with SharedBuffers changing out from under each other.
Factor the code to create a CGPDFDocumentRef out into createPDFDocument, so we can
replace it with a different implementation that creates a PDFDocument.

(WebCore::PDFDocumentImage::setCurrentPage):
Make all page-number-related things unsigned, since they are in CG and PDFKit,
and add m_hasPage to denote whether we've acquired a valid page yet.
Factor code to retrieve the PDF box bounds into computeBoundsForCurrentPage.
Remove setCurrentPage itself, as we never use a page other than the first page;
we will call computeBoundsForCurrentPage and set hasPage in dataChanged, now.

(WebCore::PDFDocumentImage::draw):
Fix a weird comment.
Factor code that actually draws the PDF out into drawPDFPage.

The rest of the functions in this file are only built for USE(CG) && !PLATFORM(MAC):

(WebCore::PDFDocumentImage::createPDFDocument):
Factored out of dataChanged(); I only kept the !PLATFORM(MAC) branch.

(WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
Factored out of setCurrentPage().
Use deg2rad since we have it.

(WebCore::PDFDocumentImage::pageCount):
(WebCore::PDFDocumentImage::drawPDFPage):
Factored out of draw().
Reduced an unnecessary transform (we were effectively doing mediaBox.origin - cropBox.origin - mediaBox.origin).

  • platform/graphics/cg/PDFDocumentImage.h:

Unindent all the things, as we don't indent the first level inside a namespace scope.
Forward-declare PDFDocument.
Make m_currentPage unsigned as it should be.
Add m_hasPage.
Make m_document a PDFDocument on PLATFORM(MAC) and a CGPDFDocumentRef on other platforms.

  • platform/graphics/mac/PDFDocumentImageMac.mm: Added.

Soft-link in PDFKit and specifically the PDFDocument class.

(WebCore::PDFDocumentImage::createPDFDocument):
Create our PDFDocument from the SharedBuffer's NSData directly. This shouldn't be a problem
(with respect to the SharedBuffer's data being appended to in secret), because we've waited
for the document to finish loading before getting here.

(WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
Ask PDFKit for the page's media and crop boxes; it automatically performs the correct fallback.
Ask PDFKit for the page's rotation.

(WebCore::PDFDocumentImage::pageCount):
Ask PDFKit for the page count.

(WebCore::PDFDocumentImage::drawPDFPage):
Paint the current page of the PDF. Note that we do not apply the rotation here
via applyRotationForPainting because PDFKit will do it itself.

  • platform/mac/SoftLinking.h:

I couldn't find any clients of SOFT_LINK_FRAMEWORK_IN_CORESERVICES_UMBRELLA,
so I made it the more generic SOFT_LINK_FRAMEWORK_IN_UMBRELLA, taking the name
of the umbrella framework and the subframework, so I could use it to soft link
Quartz.framework's PDFKit.framework.

  • fast/images/pdf-as-image-with-annotations-expected.html: Added.
  • fast/images/pdf-as-image-with-annotations.html: Added.
  • fast/images/resources/annotation.pdf: Added.

Add a test that ensures that PDF-in-<img> draws simple annotations.

  • platform/mac/fast/images/pdf-as-image-landscape-expected.png:
  • platform/mac/fast/images/pdf-as-image-landscape-expected.txt:

Extremely minor rebaselines probably due to PDFKit handling rotation in the new implementation.

3:04 PM Changeset in webkit [155068] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed Windows build fix.

  • WebCore.vcxproj/WebCoreCommon.props:
3:01 PM Changeset in webkit [155067] by rniwa@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

Check that XMLHttpRequest.response returns null or a json object as specified in the spec according to readyState value.
https://bugs.webkit.org/show_bug.cgi?id=120690

Reviewed by Darin Adler.

Merge https://chromium.googlesource.com/chromium/blink/+/d667a115b0fd8f5e11a24d8db44388a990abf543

  • http/tests/xmlhttprequest/resources/test.json: Added.
  • http/tests/xmlhttprequest/response-json-and-readystate-expected.txt: Added.
  • http/tests/xmlhttprequest/response-json-and-readystate.html: Added.
2:59 PM Changeset in webkit [155066] by berto@igalia.com
  • 4 edits in trunk/Source/WebKit2

[WK2][GTK] ASSERTION in WebKit::LayerTreeHostGtk::invalidate
https://bugs.webkit.org/show_bug.cgi?id=117733

Reviewed by Martin Robinson.

If the GL context cannot be created then an invalid
LayerTreeHostGtk object will be returned.

This patch disables accelerated compositing if the system doesn't
support it.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewUpdateSettings):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseUpdatePreferences):
(webkitWebViewBaseCreateWebPage):

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
2:35 PM Changeset in webkit [155065] by Bem Jones-Bey
  • 3 edits in trunk/Source/WebCore

FloatingObjects should manage cleaning it's line box tree pointers itself
https://bugs.webkit.org/show_bug.cgi?id=120692

Reviewed by David Hyatt.

This is another step in properly encapsulating FloatingObjects.
Instead of having RenderBlock walk and clear the line box tree
pointers, create a method for the behavior, and have RenderBlock call
that.

In addtion, add a proper destructor to FloatingObjects, so that
RenderBlock does not have to explicitly delete the set in
FloatingObjects.

And as a bonus, fix the ordering of an if to avoid the expensive
descendantChild check.

This is a port of a Blink patch by Eric Seidel.

No new tests, no behavior change.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::~RenderBlock):
(WebCore::RenderBlock::deleteLineBoxTree):
(WebCore::RenderBlock::repaintOverhangingFloats):
(WebCore::RenderBlock::FloatingObjects::~FloatingObjects):
(WebCore::RenderBlock::FloatingObjects::clearLineBoxTreePointers):
(WebCore::RenderBlock::FloatingObjects::clear):

  • rendering/RenderBlock.h:
2:06 PM Changeset in webkit [155064] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

JSGenericTypedArrayViewConstructor.h is referenced twice in the XCode project build section, causing warnings
https://bugs.webkit.org/show_bug.cgi?id=120698

Reviewed by Darin Adler.

1:48 PM Changeset in webkit [155063] by Beth Dakin
  • 1 edit
    6 adds in trunk/Websites/webkit.org

Upload demo and images for a potential blog post.

  • blog-files/regions: Added.
  • blog-files/regions/pizza-is-amazing.png: Added.
  • demos/regions: Added.
  • demos/regions/pizza-regions-manifesto-regionstyling.html: Added.
  • demos/regions/pizza-regions-manifesto.html: Added.
  • demos/regions/yellow-pizza.jpg: Added.
1:45 PM Changeset in webkit [155062] by Csaba Osztrogonác
  • 8 edits
    1 delete in trunk/LayoutTests

Remove HTMLDialogElement layout tests after r154835
https://bugs.webkit.org/show_bug.cgi?id=120680

Reviewed by Darin Adler.

  • fast/dom/HTMLDialogElement/: Removed.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt-mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
1:16 PM Changeset in webkit [155061] by oliver@apple.com
  • 3 edits in trunk/LayoutTests

Actually include new results

1:13 PM Changeset in webkit [155060] by timothy_horton@apple.com
  • 67 edits in trunk/Source/WebCore

Rename customCssText -> customCSSText to match WebKit style
https://bugs.webkit.org/show_bug.cgi?id=120694

Reviewed by Simon Fraser.

No new tests, just a rename.

  • WebCore.order:
  • css/CSSAspectRatioValue.cpp:

(WebCore::CSSAspectRatioValue::customCSSText):

  • css/CSSAspectRatioValue.h:
  • css/CSSBorderImageSliceValue.cpp:

(WebCore::CSSBorderImageSliceValue::customCSSText):

  • css/CSSBorderImageSliceValue.h:
  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcValue::customCSSText):
(WebCore::CSSCalcPrimitiveValue::customCSSText):
(WebCore::CSSCalcBinaryOperation::customCSSText):

  • css/CSSCalculationValue.h:
  • css/CSSCanvasValue.cpp:

(WebCore::CSSCanvasValue::customCSSText):

  • css/CSSCanvasValue.h:
  • css/CSSCrossfadeValue.cpp:

(WebCore::CSSCrossfadeValue::customCSSText):

  • css/CSSCrossfadeValue.h:
  • css/CSSCursorImageValue.cpp:

(WebCore::CSSCursorImageValue::customCSSText):

  • css/CSSCursorImageValue.h:
  • css/CSSFilterImageValue.cpp:

(WebCore::CSSFilterImageValue::customCSSText):

  • css/CSSFilterImageValue.h:
  • css/CSSFontFaceSrcValue.cpp:

(WebCore::CSSFontFaceSrcValue::customCSSText):

  • css/CSSFontFaceSrcValue.h:
  • css/CSSFunctionValue.cpp:

(WebCore::CSSFunctionValue::customCSSText):

  • css/CSSFunctionValue.h:
  • css/CSSGradientValue.cpp:

(WebCore::CSSLinearGradientValue::customCSSText):
(WebCore::CSSRadialGradientValue::customCSSText):

  • css/CSSGradientValue.h:
  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::customCSSText):

  • css/CSSImageSetValue.h:
  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::customCSSText):

  • css/CSSImageValue.h:
  • css/CSSInheritedValue.cpp:

(WebCore::CSSInheritedValue::customCSSText):

  • css/CSSInheritedValue.h:
  • css/CSSInitialValue.cpp:

(WebCore::CSSInitialValue::customCSSText):

  • css/CSSInitialValue.h:
  • css/CSSLineBoxContainValue.cpp:

(WebCore::CSSLineBoxContainValue::customCSSText):

  • css/CSSLineBoxContainValue.h:
  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::customCSSText):
(WebCore::CSSPrimitiveValue::customSerializeResolvingVariables):

  • css/CSSPrimitiveValue.h:
  • css/CSSReflectValue.cpp:

(WebCore::CSSReflectValue::customCSSText):

  • css/CSSReflectValue.h:
  • css/CSSTimingFunctionValue.cpp:

(WebCore::CSSLinearTimingFunctionValue::customCSSText):
(WebCore::CSSCubicBezierTimingFunctionValue::customCSSText):
(WebCore::CSSStepsTimingFunctionValue::customCSSText):

  • css/CSSTimingFunctionValue.h:
  • css/CSSUnicodeRangeValue.cpp:

(WebCore::CSSUnicodeRangeValue::customCSSText):

  • css/CSSUnicodeRangeValue.h:
  • css/CSSValue.cpp:

(WebCore::CSSValue::cssText):

  • css/CSSValueList.cpp:

(WebCore::CSSValueList::customCSSText):

  • css/CSSValueList.h:
  • css/FontFeatureValue.cpp:

(WebCore::FontFeatureValue::customCSSText):

  • css/FontFeatureValue.h:
  • css/FontValue.cpp:

(WebCore::FontValue::customCSSText):

  • css/FontValue.h:
  • css/ShadowValue.cpp:

(WebCore::ShadowValue::customCSSText):

  • css/ShadowValue.h:
  • css/WebKitCSSArrayFunctionValue.cpp:

(WebCore::WebKitCSSArrayFunctionValue::customCSSText):

  • css/WebKitCSSArrayFunctionValue.h:
  • css/WebKitCSSFilterValue.cpp:

(WebCore::WebKitCSSFilterValue::customCSSText):

  • css/WebKitCSSFilterValue.h:
  • css/WebKitCSSMatFunctionValue.cpp:

(WebCore::WebKitCSSMatFunctionValue::customCSSText):

  • css/WebKitCSSMatFunctionValue.h:
  • css/WebKitCSSMixFunctionValue.cpp:

(WebCore::WebKitCSSMixFunctionValue::customCSSText):

  • css/WebKitCSSMixFunctionValue.h:
  • css/WebKitCSSSVGDocumentValue.cpp:

(WebCore::WebKitCSSSVGDocumentValue::customCSSText):

  • css/WebKitCSSSVGDocumentValue.h:
  • css/WebKitCSSShaderValue.cpp:

(WebCore::WebKitCSSShaderValue::customCSSText):

  • css/WebKitCSSShaderValue.h:
  • css/WebKitCSSTransformValue.cpp:

(WebCore::WebKitCSSTransformValue::customCSSText):

  • css/WebKitCSSTransformValue.h:
  • svg/SVGColor.cpp:

(WebCore::SVGColor::customCSSText):

  • svg/SVGColor.h:
  • svg/SVGPaint.cpp:

(WebCore::SVGPaint::customCSSText):

  • svg/SVGPaint.h:
12:57 PM Changeset in webkit [155059] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: aria-valuetext property not exposing AXValueDescription
https://bugs.webkit.org/show_bug.cgi?id=120375

Reviewed by Darin Adler.

Source/WebCore:

Expose value based attributes for incrementor roles (which are called spinbuttons by ARIA).

Test: platform/mac/accessibility/spinbutton-valuedescription.html

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):

LayoutTests:

  • platform/mac/accessibility/spinbutton-valuedescription-expected.txt: Added.
  • platform/mac/accessibility/spinbutton-valuedescription.html: Added.
12:52 PM Changeset in webkit [155058] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

<https://webkit.org/b/119622> [CSSRegions] Not possible to clear the selection when mixing content from different FlowThreads

Patch by Javier Fernandez <jfernandez@igalia.com> on 2013-09-04
Reviewed by David Hyatt.

Source/WebCore:

When using CSS Regions is usual that the RenderTree doesn't match
the DOM Tree in terms of relative position of the nodes. Besides,
usually the content of a certain node is split and spread across
multiple blocks, rendered in different positions.

Regarding the Selection, this problem is even more important; the
selection direction changes when crossing the FlowThread
boundaries. This weird behavior is also present in other layouts
using non-regular positioning mechanisms, like absolute,
static. However, for those layouts the RenderTree preserves the
order of the nodes, unlike the CSS Regions layout model.

Because of how the RenderTree is generated with CSS Regions, the
RenderView::setSelection algorithm is not able to repaint some of
the rectangles defined during the selection process. In order to
face this issue, the proposed fix determines whether it should
backwards traversing the RenderTree, from the "stop" node to the
RenderView node.

Test: fast/regions/selecting-text-through-different-region-flows-2.html

  • rendering/RenderView.cpp:

(WebCore::getNextOrPrevRenderObjectBasedOnDirection): Added.
(WebCore::RenderView::setSelection):

LayoutTests:

  • fast/regions/selecting-text-through-different-region-flows-2-expected.html: Added.
  • fast/regions/selecting-text-through-different-region-flows-2.html: Added.
12:21 PM Changeset in webkit [155057] by eric.carlson@apple.com
  • 14 edits
    3 adds in trunk/Source/WebCore

Get MEDIA_STREAM compiling on OSX
https://bugs.webkit.org/show_bug.cgi?id=120650

Reviewed by Darin Adler.

No new tests, the code changed doesn't run on OSX yet.

  • DerivedSources.make: Add MediaStream idl files.
  • Modules/mediastream/LocalMediaStream.h: Mark class as FINAL.
  • Modules/mediastream/MediaConstraintsImpl.cpp:

(WebCore::MediaConstraintsImpl::getOptionalConstraints): append -> appendRange so we don't

need a MediaConstraint copy constructor.

  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::send): Remove an unused parameter name.

  • Modules/mediastream/RTCDataChannel.h: ArrayBuffer and ArrayBufferView are in the JSC namespace.
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::RTCPeerConnection): loader() doesn't return a pointer.
(WebCore::RTCPeerConnection::localDescription): Set the ExceptionCode on error.
(WebCore::RTCPeerConnection::remoteDescription): Ditto.

  • Modules/mediastream/RTCSessionDescription.cpp:

(WebCore::RTCSessionDescription::setSdp): Remove the unused ExceptionCode parameter.

  • Modules/mediastream/RTCSessionDescription.h: Ditto.
  • Modules/mediastream/RTCSessionDescription.idl: Ditto.
  • Modules/mediastream/RTCStatsResponse.cpp:

(WebCore::RTCStatsResponse::canGetItemsForName): Add so JSRTCStatsResponse::canGetItemsForName

doesn't cause ref count churn.

  • Modules/mediastream/RTCStatsResponse.h: Mark class as FINAL. Declare canGetItemsForName.
  • WebCore.xcodeproj/project.pbxproj: Add new files.
  • bindings/js/JSRTCStatsResponseCustom.cpp:

(WebCore::JSRTCStatsResponse::canGetItemsForName): Use canGetItemsForName instead of namedItem.

Use propertyNameToAtomicString instead of propertyNameToString

(WebCore::JSRTCStatsResponse::nameGetter): Use propertyNameToAtomicString instead of

propertyNameToString because namedItem takes an AtomicString.

  • platform/mediastream/mac: Added.
  • platform/mediastream/mac/MediaStreamCenterMac.cpp: Added.
  • platform/mediastream/mac/MediaStreamCenterMac.h: Added.
12:06 PM Changeset in webkit [155056] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

ASSERT in MarkedAllocator::allocateSlowCase is wrong
https://bugs.webkit.org/show_bug.cgi?id=120639

Reviewed by Oliver Hunt.

ASSERT(!m_heap->shouldCollect()) is no longer true due to our use of the GC
deferral mechanism. We could technically be beyond our byte allocation limit,
but still not try to collect due to deferral. This patch amends shouldCollect()
to return false if GC is currently deferred.

  • heap/Heap.h:

(JSC::Heap::shouldCollect):

11:50 AM Changeset in webkit [155055] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

RenderSVGResource shouldn't trigger relayout during render tree teardown.
<https://webkit.org/b/120689>
<rdar://problem/14908967>

Reviewed by Antti Koivisto.

The new assertion in FrameView::scheduleRelayoutOfSubtree() caught a fish!
We were doing some unnecessary relayout scheduling while tearing down SVG
resource renderers.

  • rendering/svg/RenderSVGResource.cpp:

(WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):

11:46 AM Changeset in webkit [155054] by Lucas Forschler
  • 3 edits in branches/safari-537-branch/Source/WTF

Merged r155020. <rdar://problem/14654926>

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

Merged r155014. <rdar://problem/14654926>

11:35 AM Changeset in webkit [155052] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS] Fix the build following <http://trac.webkit.org/changeset/154903>
(https://bugs.webkit.org/show_bug.cgi?id=120540)

  • style/StyleResolveTree.cpp:

(WebCore::Style::resolveTree): Use address operator and dot-notation when
passing Element to CheckForVisibilityChangeOnRecalcStyle and calling
Element::renderStyle(), respectively.

11:32 AM Changeset in webkit [155051] by oliver@apple.com
  • 2 edits in trunk/LayoutTests

Fix fast/storage/serialized script value, and add new tests for Map and Set
https://bugs.webkit.org/show_bug.cgi?id=120688

Reviewed by Steve Falkenburg.

Update for new version number, and adding binary tests for Map and Set
serialisation

  • fast/storage/serialized-script-value.html:
11:01 AM Changeset in webkit [155050] by Bem Jones-Bey
  • 4 edits in trunk/Source/WebCore

Move logical dimension getters/setters to FloatingObject from RenderBlock
https://bugs.webkit.org/show_bug.cgi?id=120686

Reviewed by David Hyatt.

This is the first step in decoupling FloatingObject, FloatingObjects,
et al from RenderBlock. It is not ideal that the methods take a bool;
however, passing down the actual writing mode would require
refactoring the way that RenderBlock stores this information, which is
a task for the future.

No new tests, no behavior change.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::repaintOverhangingFloats): Use new methods.
(WebCore::RenderBlock::insertFloatingObject): Ditto.
(WebCore::RenderBlock::removeFloatingObject): Ditto.
(WebCore::RenderBlock::removeFloatingObjectsBelow): Ditto.
(WebCore::RenderBlock::computeLogicalLocationForFloat): Ditto.
(WebCore::RenderBlock::positionNewFloats): Ditto.
(WebCore::::updateOffsetIfNeeded): Ditto.
(WebCore::::collectIfNeeded): Ditto.
(WebCore::::getHeightRemaining): Ditto.
(WebCore::RenderBlock::logicalLeftFloatOffsetForLine): Ditto.
(WebCore::RenderBlock::logicalRightFloatOffsetForLine): Ditto.
(WebCore::RenderBlock::nextFloatLogicalBottomBelow): Ditto.
(WebCore::RenderBlock::lowestFloatLogicalBottom): Ditto.
(WebCore::RenderBlock::clearFloats): Ditto.
(WebCore::RenderBlock::addOverhangingFloats): Ditto.
(WebCore::RenderBlock::hasOverhangingFloat): Ditto.
(WebCore::RenderBlock::addIntrudingFloats): Ditto.

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::FloatingObject::logicalTop): Moved from RenderBlock::logicalTopForFloat
(WebCore::RenderBlock::FloatingObject::logicalBottom): Moved from RenderBlock::logicalBottomForFloat
(WebCore::RenderBlock::FloatingObject::logicalLeft): Moved from RenderBlock::logicalLeftForFloat
(WebCore::RenderBlock::FloatingObject::logicalRight): Moved from RenderBlock::logicalRightForFloat
(WebCore::RenderBlock::FloatingObject::logicalWidth): Moved from RenderBlock::logicalWidthForFloat
(WebCore::RenderBlock::FloatingObject::pixelSnappedLogicalTop): Moved from RenderBlock::pixelSnappedLogicalTopForFloat
(WebCore::RenderBlock::FloatingObject::pixelSnappedLogicalBottom): Moved from RenderBlock::pixelSnappedLogicalBottomForFloat
(WebCore::RenderBlock::FloatingObject::pixelSnappedLogicalLeft): Moved from RenderBlock::pixelSnappedLogicalLeftForFloat
(WebCore::RenderBlock::FloatingObject::pixelSnappedLogicalRight): Moved from RenderBlock::pixelSnappedLogicalRightForFloat
(WebCore::RenderBlock::FloatingObject::setLogicalTop): Moved from RenderBlock::setLogicalTopForFloat
(WebCore::RenderBlock::FloatingObject::setLogicalLeft): Moved from RenderBlock::setLogicalLeftForFloat
(WebCore::RenderBlock::FloatingObject::setLogicalHeight): Moved from RenderBlock::setLogicalHeightForFloat
(WebCore::RenderBlock::FloatingObject::setLogicalWidth): Moved from RenderBlock::setLogicalWidthForFloat

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Use new methods.
(WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine): Ditto.
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Ditto.
(WebCore::RenderBlock::positionNewFloatOnLine): Ditto.

10:53 AM Changeset in webkit [155049] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

REGRESSION(r154977): Do not urlencode soup message on ResourceRequest::toSoupMessage()
https://bugs.webkit.org/show_bug.cgi?id=120681

Patch by Andre Moreira Magalhaes <Andre Moreira Magalhaes> on 2013-09-04
Reviewed by Martin Robinson.

Do not call soup_message_set_uri with soupURI() (url encoded uri) on
ResourceRequest::toSoupMessage().

  • platform/network/soup/ResourceRequest.h:
  • platform/network/soup/ResourceRequestSoup.cpp:

(WebCore::ResourceRequest::updateSoupMessageMembers):
(WebCore::ResourceRequest::updateSoupMessage):
(WebCore::ResourceRequest::toSoupMessage):
Split common code from updateSoupMessage/toSoupMessage into updateSoupMessageMembers.

10:39 AM Changeset in webkit [155048] by commit-queue@webkit.org
  • 11 edits in trunk

[GTK] add support for subtitles on webkit2GTK
https://bugs.webkit.org/show_bug.cgi?id=117008

By activating subtitles support on webkit2GTK, the video player
recognizes and use text <tracks> inside <video> elements.

Patch by Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk> on 2013-09-04
Reviewed by Martin Robinson.

Source/WebCore:

Layout tests (track-menu) should cover this change.

  • css/mediaControlsGtk.css:

(audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
(video::-webkit-media-controls-closed-captions-container):
(video::-webkit-media-controls-closed-captions-track-list):
(video::-webkit-media-controls-closed-captions-track-list h3):
(video::-webkit-media-controls-closed-captions-track-list ul):
(video::-webkit-media-controls-closed-captions-track-list li):
(video::-webkit-media-controls-closed-captions-track-list li.selected):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):

  • html/shadow/MediaControlElements.h:
  • html/shadow/MediaControlsGtk.cpp:

(WebCore::MediaControlsGtkEventListener::create):
(WebCore::MediaControlsGtkEventListener::cast):
(WebCore::MediaControlsGtkEventListener::MediaControlsGtkEventListener):
(WebCore::MediaControlsGtk::MediaControlsGtk):
(WebCore::MediaControlsGtk::initializeControls):
(WebCore::MediaControlsGtk::setMediaController):
(WebCore::MediaControlsGtk::reset):
(WebCore::MediaControlsGtk::makeTransparent):
(WebCore::MediaControlsGtk::toggleClosedCaptionTrackList):
(WebCore::MediaControlsGtk::showClosedCaptionTrackList):
(WebCore::MediaControlsGtk::hideClosedCaptionTrackList):
(WebCore::MediaControlsGtk::handleClickEvent):
(WebCore::MediaControlsGtk::eventListener):
(WebCore::MediaControlsGtkEventListener::handleEvent):
(WebCore::MediaControlsGtkEventListener::operator==):

  • html/shadow/MediaControlsGtk.h:
  • page/CaptionUserPreferences.cpp:

(WebCore::trackDisplayName):

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::textTrackSubtitlesText):
(WebCore::textTrackOffMenuItemText):
(WebCore::textTrackNoLabelText):

  • platform/gtk/RenderThemeGtk.h:

LayoutTests:

  • platform/gtk/TestExpectations:
9:43 AM Changeset in webkit [155047] by Darin Adler
  • 5 edits in trunk/Source/WebCore

Use OwnPtr in the RenderLayerFilterInfo map
https://bugs.webkit.org/show_bug.cgi?id=120619

Reviewed by Anders Carlsson.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::~RenderLayer): Use FilterInfo::remove directly instead of
going through removeFilterInfoIfNeeded function.
(WebCore::RenderLayer::paintsWithFilters): Rearranged #if a little bit and tweaked
the comment.
(WebCore::RenderLayer::requiresFullLayerImageForFilters): Use && instead of ternary.
(WebCore::RenderLayer::filterRenderer): Use FilterInfo::getIfExists directly instead
of going through filterInfo function.
(WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect): Use FilterInfo::get
directly instead of going through filterInfo function. Also use references instead
of pointers.
(WebCore::shouldDoSoftwarePaint): Marked this simple function, used only once, as
inline.
(WebCore::paintForFixedRootBackground): Ditto.
(WebCore::RenderLayer::setupFilters): Use FilterInfo::getIfExists directly instead
of going through filterInfo function. Also get rendererer out of filterInfo instead
of calling filterRenderer.
(WebCore::RenderLayer::updateOrRemoveFilterClients): Use FilterInfo::get and
FilterInfo::getIfExists directly instead of using ensureFilterInfo and
filterInfo functions.
(WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer): Use FilterInfo::getIfExists
and FilterInfo::get directly instead of using filterInfo function.

  • rendering/RenderLayer.h: Removed the ifdefs around forward declarations; overkill,

since there is no harm in a few extras. Marked the RenderLayer class FINAL. Removed the
no-longer-needed filterInfo, ensureFilterInfo, removeFilterInfoIfNeeded, hasFilterInfo,
and setHasFilterInfo functions. Mark everything private instead of protected since
there are no classes derived from this one. Made FilterInfo an embedded class so it
can get at the m_hasFilterInfo data member directly and has a shorter name.

  • rendering/RenderLayerFilterInfo.cpp: Removed the ifs around includes, which were

overkill, since there is little harm including a few extra files.
(WebCore::RenderLayer::FilterInfo::map): Added. Returns the single global map.
(WebCore::RenderLayer::FilterInfo::getIfExists): Renamed from filterInfoForRenderLayer.
Also changed to take a reference instead of a pointer, and to use the new filterMap.
(WebCore::RenderLayer::FilterInfo::get): Renamed from createFilterInfoForRenderLayerIfNeeded.
Also changed to take a reference instead of a pointer, to use the new filterMap, and
to use add to avoid hashing twice when adding a new layer to the map.
(WebCore::RenderLayer::FilterInfo::remove): Renamed from removeFilterInfoForRenderLayer.
Also changed to take a reference instead of a pointer and eliminated the explicit
delete since we use OwnPtr now.
(WebCore::RenderLayer::FilterInfo::FilterInfo): Take a reference instead of a pointer.
(WebCore::RenderLayer::FilterInfo::~FilterInfo): Updated class name.
(WebCore::RenderLayer::FilterInfo::setRenderer): Ditto.
(WebCore::RenderLayer::FilterInfo::notifyFinished): Update since m_layer is a reference.
(WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients): Update to iterate in a
slightly more idiomatic and efficient way. Also update since m_layer is a reference.
(WebCore::RenderLayer::FilterInfo::removeReferenceFilterClients): Ditto.
(WebCore::RenderLayer::FilterInfo::notifyCustomFilterProgramLoaded): Ditto.
(WebCore::RenderLayer::FilterInfo::updateCustomFilterClients): Ditto. Also switched to
a raw pointer for CustomFilterProgram*.
(WebCore::RenderLayer::FilterInfo::removeCustomFilterClients): Ditto.

  • rendering/RenderLayerFilterInfo.h: Removed the ifs around includes, which were

overkill, since there is little harm including a few extra files. Changed to be a
member class of RenderLayer, marked the class FINAL, and changed the style of the
conditionals around the base classes. Renamed functions. Made overrides private and
used OVERRIDE. Changed functions to take references instead of pointers. Did some
small style cleanup. Made deleteOwnedPtr a friend so we can keep the destructor private.
Moved the typedef of RenderLayerFilterInfoMap into the class and named it just Map.
Got rid of s_filterMap and instead added a function named just map().

9:41 AM Changeset in webkit [155046] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Simplify subtree relayout scheduling a bit.
<https://webkit.org/b/120684>

Reviewed by Antti Koivisto.

Subtree relayout scheduling should only happen while there's a render tree up,
the code can freely assume that there's a RenderView present.

Added an assertion that the render tree isn't being torn down. This should catch
renderers doing unnecessary work during document detach and could be a source
of "performance freebies."

I also un-nested scheduleRelayoutOfSubtree() with early-return style to make
the code more human-readable.

  • page/FrameView.h:
  • page/FrameView.cpp:

(WebCore::FrameView::scheduleRelayoutOfSubtree):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::scheduleRelayout):

9:39 AM Changeset in webkit [155045] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Coordinated Graphics] Remove unused method in CoordinatedGraphicsLayer
https://bugs.webkit.org/show_bug.cgi?id=120664

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-09-04
Reviewed by Darin Adler.

CoordinatedGraphicsLayer::hasPendingVisibleChanges is not used as of
r148952.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
8:43 AM Changeset in webkit [155044] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Unreviewed, rolling out r154989.
http://trac.webkit.org/changeset/154989
https://bugs.webkit.org/show_bug.cgi?id=120678

This patch might broke apps using webkitgtk not from the main
thread (Requested by msanchez on #webkit).

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewRunAsModal):

  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:

(WebKit::WebPopupMenuProxyGtk::showPopupMenu):

8:43 AM Changeset in webkit [155043] by hmuller@adobe.com
  • 3 edits in trunk/Source/WebCore

[CSS Shapes] Revise the ShapeInterval set operations' implementation
https://bugs.webkit.org/show_bug.cgi?id=120349

Reviewed by Alexandru Chiculita.

Revised the ShapeIntervals unite, intersect, and subtract operations to
improve efficiency and clarity.

No new tests are required, this is just an internal refactoring.

  • rendering/shapes/PolygonShape.cpp:

(WebCore::computeOverlappingEdgeXProjections): Removed call to ShapeInterval<T>sortVector(), since calling std::sort directly is simpler.

  • rendering/shapes/ShapeInterval.h:

(WebCore::ShapeInterval::contains): True if the interval parameter is within this interval.
(WebCore::ShapeInterval::intersect): Substantially revised version of the original method.
(WebCore::ShapeInterval::uniteVectors): Ditto.
(WebCore::ShapeInterval::intersectVectors): Ditto.
(WebCore::ShapeInterval::subtractVectors): Ditto.

8:37 AM Changeset in webkit [155042] by zarvai@inf.u-szeged.hu
  • 3 edits in trunk/LayoutTests

[Qt] Unreviewed bot greening.

  • platform/qt-wk1/TestExpectations: Skipping after r154988.
  • platform/qt/TestExpectations: Skipping after r154828.
7:19 AM Changeset in webkit [155041] by commit-queue@webkit.org
  • 9 edits
    1 move in trunk

[ATK] Adds an accessibility support to access a value of the color control element
https://bugs.webkit.org/show_bug.cgi?id=114354

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-09-04
Reviewed by Mario Sanchez Prada.

Source/WebCore:

Implements a possibility of retrieving a value of the color control element.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(webkitAccessibleTextGetText):

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(getInterfaceMaskFromObject):

Tools:

Added accessibility role of the color control element.

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(roleToString):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::roleToString):

LayoutTests:

Moving mac's color-well-expected.txt result to base accessibility folder.
Unskipping accessibility/color-well.html for EFL port.

  • accessibility/color-well-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/color-well-expected.txt.
  • platform/efl-wk1/TestExpectations:
  • platform/efl-wk2/TestExpectations:
6:59 AM Changeset in webkit [155040] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Use Vector<Ref<T>> in three random WebCore loops.
<https://webkit.org/b/120661>

Reviewed by Darin Adler.

Clean up three little loops to use Refs to avoid null checking known-valid objects.
Also apply auto, reserveInitialCapacity and uncheckedAppend as appropriate.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
(WebCore::DOMWindow::dispatchAllPendingUnloadEvents):

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::invalidate):

6:44 AM Changeset in webkit [155039] by Claudio Saavedra
  • 2 edits in trunk/Source/WebCore

[GTK] Color of input button's text broken with recent gnome-themes-standard
https://bugs.webkit.org/show_bug.cgi?id=120581

Reviewed by Carlos Garcia Campos.

  • platform/gtk/RenderThemeGtk3.cpp:

(WebCore::getStyleContext): add the "text-button" class.
(WebCore::RenderThemeGtk::systemColor): Use the ACTIVE state flag,
as this is the one actually used for button labels.

6:31 AM Changeset in webkit [155038] by mario@webkit.org
  • 2 edits in trunk/Tools

REGRESSION (r132328): /WebKit2APITests/TestWebKitAccessibility unit test is failing
https://bugs.webkit.org/show_bug.cgi?id=100408

Unreviewed gardening. Unskip TestWebKitAccessibility after
manually checking that it's running properly in the bot.

  • Scripts/run-gtk-tests:

(TestRunner): Unskipped TestWebKitAccessibility.

5:56 AM WebKitGTK/2.2.x edited by Claudio Saavedra
Add bug 120581 (diff)
5:42 AM Changeset in webkit [155037] by zandobersek@gmail.com
  • 3 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Adding failure expectation for accessibility/image-map1.html after r155022.
  • platform/gtk/fast/dom/Window/window-postmessage-clone-expected.txt: Rebaselining after 155008.
4:39 AM Changeset in webkit [155036] by zarvai@inf.u-szeged.hu
  • 2 edits
    2 adds in trunk/LayoutTests

[Qt] Unreviewed bot greening.

  • platform/qt-wk2/compositing/images/direct-image-object-fit-expected.txt: Rebaselining after r154921.
  • platform/qt-wk2/compositing/reflections/direct-image-object-fit-reflected-expected.txt: Ditto.
  • platform/qt/TestExpectations: Skip after r155008.
3:53 AM Changeset in webkit [155035] by kadam@inf.u-szeged.hu
  • 2 edits
    3 adds in trunk/LayoutTests

[Qt] Unreviewed gardening. Skip failing tests and added platform specifix expected result.

  • platform/qt-wk1/inspector/console/command-line-api-expected.txt: Added after r154998.
  • platform/qt/TestExpectations:
3:50 AM Changeset in webkit [155034] by michael.bruning@digia.com
  • 3 edits in trunk

[Qt] Use correct library paths for prefix builds on Mac.
https://bugs.webkit.org/show_bug.cgi?id=120635

Reviewed by Tor Arne Vestbø.

Due to a change of scope of the qmake force_independent configuration
flag, the library paths in QtWebKit builds on the Mac are set to the
QtWebKit build directory even for production builds.

This patch sets the correct library paths for prefixed production builds
while keeping the scope of the force_independent flag for non-production
builds.

  • Source/api.pri:
  • Source/widgetsapi.pri:
3:33 AM Changeset in webkit [155033] by zandobersek@gmail.com
  • 8 edits in trunk/LayoutTests

Unreviewed GTK gardening. Rebaselining 7 accessibility tests after r154976.

  • platform/gtk/accessibility/lists-expected.txt:
  • platform/gtk/accessibility/plugin-expected.txt:
  • platform/gtk/accessibility/table-detection-expected.txt:
  • platform/gtk/accessibility/table-one-cell-expected.txt:
  • platform/gtk/accessibility/table-with-aria-role-expected.txt:
  • platform/gtk/accessibility/table-with-rules-expected.txt:
  • platform/gtk/accessibility/transformed-element-expected.txt:
3:30 AM WebKitGTK/2.2.x edited by calvaris@igalia.com
(diff)
3:29 AM WebKitGTK/2.0.x edited by calvaris@igalia.com
(diff)
3:19 AM Changeset in webkit [155032] by zandobersek@gmail.com
  • 20 edits in trunk

[GTK] Add support for the Wayland build target
https://bugs.webkit.org/show_bug.cgi?id=120627

Reviewed by Gustavo Noronha Silva.

.:

Add support for building the GTK port with Wayland as the target. The Wayland target can be the sole target
that's enabled, or it can be enabled in parallel with the X11 target.

Each of those two targets, when enabled, checks for the corresponding GTK+ windowing dependency being present.
In the case of only the Wayland target being enabled, the accelerated compositing feature is disabled at
build-time as the feature is not yet supported under the Wayland display protocol. X11-based plugin support is
also disabled under that configuration, even if the WebKitPluginProcess is still built but is left non-operational.
GLX support is also disabled if not building the X11 target.

The Wayland target can be enabled through using the --with-target configuration option that now accepts two
additional values:

  • 'wayland' - only enables the Wayland target,
  • 'x11,wayland' - enables the X11 and Wayland targets that are to be built in parallel.

This makes it possible to build the GTK port of WebKit with the Wayland target, relying solely on the GTK+
dependency that only has the Wayland backend enabled, and removes linking against any X11-related library.
Note that at the moment there seem to be other dependencies that still link to X11-related libraries.
Complete functionality is not yet guaranteed, but is of course the goal.

  • Source/autotools/FindDependencies.m4: Store the version of the basic GTK+ dependency that was found.

This is later used to check that the GTK+ X11 and GTK+ Wayland dependencies are of the same version. The
X11-specific dependencies are grouped into one section (apart from the XComposite and XDamage dependencies),
also checking for the GTK+ X11 dependency. If the X11 target is not enabled, the GLX dependency is disabled.
Additionally check for the GTK+ Wayland dependency if the Wayland target is enabled.
We only check for the presence and correct version of the GTK+ X11 and Wayland dependencies, if necessary.
Check for the XComposite and XDamage dependencies if the X11 target is enabled (in addition to the OpenGL
headers being present).
In case of the Wayland target being enabled while the X11 target is not, disable the accelerated compositing
feature as there's no support yet for it under the Wayland display protocol.

  • Source/autotools/PrintBuildConfiguration.m4: The build configuration should now print out 'GDK targets'.
  • Source/autotools/ReadCommandLineArguments.m4: The --with-target option can now take two additional values,

'wayland' and 'x11,wayland'. The first one enables only the Wayland target, while the second one enables both
X11 and Wayland targets. This makes it possible to build the GTK port with both X11 and Wayland display protocols
supported in the same build.
We must now check the outcoming with_target variable to see if the special case of building one or both of the
possible parallel targets was chosen. We define with_x11_target and with_wayland_target variables if the
with_target value applies to that case.

  • Source/autotools/SetupAutoconfHeader.m4: Do not define the XP_UNIX macro on builds that enable the Wayland-only

target. It should still be defined if we're building both X11 and Wayland targets in parallel.

  • Source/autotools/SetupAutomake.m4: Define TARGET_X11 and TARGET_WAYLAND Automake conditionals if the new

with_x11_target or with_wayland_target variables were set, respectively. Additionall, define the TARGET_X11_OR_WAYLAND
Automake conditional if we're building either of the two targets.

Source/WebCore:

  • GNUmakefile.list.am: Reorder the Source/WebCore/plugins/np* source files.

The X11-specific source files should only be included if the X11 target is being built. PluginPackageNone and
PluginViewNone source files must be included in non-X11-target builds. Other source files that were previously
guarded with the TARGET_X11 conditional should also be built for the Wayland target, so the new TARGET_X11_OR_WAYLAND
conditional is used. If neither of those two targets is being built we fall back to adding source files to the build
as necessary by the actual build target.

  • platform/gtk/GtkVersioning.c:

(gdk_screen_get_monitor_workarea): Additionally guard bits of code that depend on the GDK_WINDOWING_X11 macro being
defined - these should only be built when building the X11 target, checked for with PLATFORM(X11).

Source/WebKit/gtk:

  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::createBackingStore): Additionally guard the <gdk/gdkx.h> inclusion and the inclusion and use of
WidgetBackingStoreGtkX11 with PLATFORM(X11), ensuring this code is built when also building with X11 target
enabled. GDK_WINDOWING_X11 macro can be defined even if the X11 target is disabled.

Source/WebKit2:

  • GNUmakefile.list.am: Build X11-specific NetscapePluginModule and NetscapePlugin classes if building the X11 target,

fall back to the generic, empty classes otherwise.

  • PluginProcess/unix/PluginProcessMainUnix.cpp:

(WebKit::PluginProcessMainUnix): Guard the NetscapePluginModule::scanPlugin() invocation with PLUGIN_ARCHITECTURE(X11),
it's at the moment specific to the X11 implementation of the Netscape plugins.

  • UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: Guard PluginProcessProxy::scanPlugin() with PLUGIN_ARCHITECTURE(X11),

just like it's guarded in the PluginProcessProxy class declaration.

  • UIProcess/cairo/BackingStoreCairo.cpp: Additionally guard <gdk/gdkx.h> and WidgetBackingStoreGtkX11 inclusion and use

with PLATFORM(X11), this code should only be built when building the X11 target.
(WebKit::createBackingStoreForGTK):

  • UIProcess/gtk/WebPageProxyGtk.cpp: Guard the createPluginContainer() and windowedPluginGeometryDidChange() methods and their

helper functions and objects with PLUGIN_ARCHITECTURE(X11), just like they're guarded in the WebPageProxy class declaration.

  • config.h: Only define PLUGIN_ARCHITECTURE_X11 to 1 if we're actually building the X11 target.

Tools:

  • GNUmakefile.am: Define the additional macros also if building the Wayland target.
3:11 AM Changeset in webkit [155031] by mario@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] Reimplement atk_text_get_text_*_offset for SENTENCE boundaries
https://bugs.webkit.org/show_bug.cgi?id=114873

Reviewed by Chris Fleizach.

Re-implement these functions without using GailTextUtil nor Pango.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(webkitAccessibleTextWordForBoundary): Renamed from webkitAccessibleTextGetWordForBoundary,
to keep it consistent with names for new functions.
(isSentenceBoundary): Helper function to know when we are either
at the beginning or the end of a sentence.
(isWhiteSpaceBetweenSentences): It returns true if we are in the
middle of a white space between sentences. Useful for implementing
the SENTENCE_END boundary type.
(sentenceAtPositionForAtkBoundary): New helper function to find the
sentence at a given position considering values of AtkTextBoundary.
(webkitAccessibleTextSentenceForBoundary): New function,
implementing atk_text_get_text_*_offset for SENTENCE.
(webkitAccessibleTextGetTextForOffset): Replace usage of Gail for
SENTENCE boundaries with webkitAccessibleTextSentenceForBoundary().

3:09 AM Changeset in webkit [155030] by abucur@adobe.com
  • 5 edits in trunk/LayoutTests

[CSS Regions] Fix failing tests on ML WK2 after r154973
https://bugs.webkit.org/show_bug.cgi?id=120672

Reviewed by Antti Koivisto.

The two tests are failing because the reference tests create backings for the fixed elements layers.
Regions are not yet accelerated, don't create backings and this difference of behaviour causes a
slight shift in the background color of the fixed elements.

  • fast/regions/fixed-inside-named-flow-zIndex-expected.html:
  • fast/regions/fixed-inside-named-flow-zIndex.html:
  • fast/regions/fixed-pos-region-in-nested-flow-expected.html:
  • fast/regions/fixed-pos-region-in-nested-flow.html:
2:41 AM Changeset in webkit [155029] by zandobersek@gmail.com
  • 12 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Adding failure expectations for tests introduced in r154875, r154906 and r154954.
  • platform/gtk/animations/cross-fade-background-image-expected.png: Rebaselining after r154906.
  • platform/gtk/animations/cross-fade-background-image-expected.txt: Ditto.
  • platform/gtk/animations/cross-fade-border-image-source-expected.png: Ditto.
  • platform/gtk/animations/cross-fade-border-image-source-expected.txt: Ditto.
  • platform/gtk/animations/cross-fade-list-style-image-expected.png: Ditto.
  • platform/gtk/animations/cross-fade-list-style-image-expected.txt: Ditto.
  • platform/gtk/animations/cross-fade-webkit-mask-box-image-expected.png: Ditto.
  • platform/gtk/animations/cross-fade-webkit-mask-box-image-expected.txt: Ditto.
  • platform/gtk/animations/cross-fade-webkit-mask-image-expected.png: Ditto.
  • platform/gtk/animations/cross-fade-webkit-mask-image-expected.txt: Ditto.
2:29 AM Changeset in webkit [155028] by zarvai@inf.u-szeged.hu
  • 2 edits
    4 adds in trunk/LayoutTests

[Qt] Unreviewed bot greening.

  • platform/qt-wk2/fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt: Added.
  • platform/qt-wk2/fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt: Added.
  • platform/qt-wk2/fast/regions/element-inflow-fixed-from-outflow-static-expected.txt: Added.
  • platform/qt-wk2/fast/regions/element-outflow-static-from-inflow-fixed-expected.txt: Added.
  • platform/qt/TestExpectations: Skip after r155014.
1:58 AM WebKitGTK/2.2.x edited by calvaris@igalia.com
(diff)
1:56 AM Changeset in webkit [155027] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Manage the current accessibility layout test failures

after r154697, r154781 and r154976.

1:49 AM WebKitGTK/2.2.x edited by calvaris@igalia.com
(diff)
1:44 AM WebKitGTK/2.2.x edited by calvaris@igalia.com
(diff)
1:39 AM WebKitGTK/2.2.x edited by calvaris@igalia.com
(diff)
1:38 AM WebKitGTK/2.2.x edited by calvaris@igalia.com
(diff)
1:26 AM Changeset in webkit [155026] by abucur@adobe.com
  • 19 edits
    10 adds in trunk

[CSS Regions] Extend the RenderRegionRange class to include overflow information + apply the layout overflow
https://bugs.webkit.org/show_bug.cgi?id=116299

Reviewed by David Hyatt.

Source/WebCore:

Patch for computing overflow for boxes per region and applying it for layout overflow.
The approach is based on adding a RenderOverflow object inside the RenderBoxRegionInfo
structure. The RenderOverflow object is manipulated by the RenderRegion using some utility
functions that receive the target box as a parameter.
When computing the portion of a box inside a region it is necessary to split the border
rect of the box between regions. This means mapping the rectangle in the flow thread
coordinates, making the split and then remapping the fragment in the box coordinates.
For now, this is not optimized and walks the render tree to compute the block offsets.
The function getRegionRangeForBox is used to determine in what regions a box should
be rendered into. The range is computed at layout time and it depends on the height of
the box, if its unsplittable for fragmentation etc.
The patch also propagates the layout overflow to the regions. This enables to correctly
display scrollbars when chaining varying size regions (currently the horizontal overflow
is as wide as the widest region for all the regions). Unsplittable boxes will also generate
layout overflow in the start region so they can be scrolled and fully reachable. This
functionality depends on fixing the visual overflow and adapting the layout to take into
account the unsplittable box. Besides this, the relative positioning and transforms are applied
at a fragment level. This is in line with the CSS3 Break specification:
http://dev.w3.org/csswg/css-break/#transforms

Tests: fast/regions/overflow-scrollable-rel-pos-fragment.html

fast/regions/overflow-scrollable-rotated-fragment.html
fast/regions/overflow-scrollable-unsplittable-fragment.html
fast/regions/overflow-scrollable-varying-width-1.html
fast/regions/overflow-scrollable-varying-width-2.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeOverflow):
(WebCore::RenderBlock::clearLayoutOverflow):
(WebCore::RenderBlock::addVisualOverflowFromTheme):
(WebCore::RenderBlock::relayoutForPagination):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::addOverflowFromInlineChildren):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::clientBoxRectInRegion):
(WebCore::RenderBox::addVisualEffectOverflow):
(WebCore::RenderBox::applyVisualEffectOverflow):
(WebCore::RenderBox::addOverflowFromChild):
(WebCore::RenderBox::clearOverflow):

  • rendering/RenderBox.h:
  • rendering/RenderBoxRegionInfo.h:

(WebCore::RenderBoxRegionInfo::createOverflow):
(WebCore::RenderBoxRegionInfo::overflow):
(WebCore::RenderBoxRegionInfo::clearOverflow):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::layout):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::updateLogicalWidth):
(WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded):
(WebCore::RenderFlowThread::mapFromLocalToFlowThread):
(WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
(WebCore::RenderFlowThread::addRegionsVisualEffectOverflow):
(WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):
(WebCore::RenderFlowThread::addRegionsOverflowFromChild):
(WebCore::RenderFlowThread::addRegionsLayoutOverflow):
(WebCore::RenderFlowThread::clearRegionsOverflow):

  • rendering/RenderFlowThread.h:
  • rendering/RenderIFrame.cpp:

(WebCore::RenderIFrame::layout):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::computeOverflowFromFlowThread):
(WebCore::RenderRegion::setRenderBoxRegionInfo):
(WebCore::RenderRegion::ensureOverflowForBox):
(WebCore::RenderRegion::rectFlowPortionForBox):
(WebCore::RenderRegion::addLayoutOverflowForBox):
(WebCore::RenderRegion::addVisualOverflowForBox):
(WebCore::RenderRegion::layoutOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBox):
(WebCore::RenderRegion::layoutOverflowRectForBoxForPropagation):
(WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):

  • rendering/RenderRegion.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::computeOverflowFromCells):

LayoutTests:

Add tests for layout overflow propagation. Some tests disable the visual representation of the overflow.
This is because the visual overflow in regions is not yet fixed. The tests will be revisited when the
visual overflow is implemented.
Some repaint tests are rebased because a new repaint is issued on the regions when they compute the layout
overflow.

  • fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt: Rebased.
  • fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt: Rebased.
  • fast/regions/element-inflow-fixed-from-outflow-static-expected.txt: Rebased.
  • fast/regions/element-outflow-static-from-inflow-fixed-expected.txt: Rebased.
  • fast/regions/overflow-scrollable-rel-pos-fragment-expected.html: Added.
  • fast/regions/overflow-scrollable-rel-pos-fragment.html: Added.
  • fast/regions/overflow-scrollable-rotated-fragment-expected.html: Added.
  • fast/regions/overflow-scrollable-rotated-fragment.html: Added.
  • fast/regions/overflow-scrollable-unsplittable-fragment-expected.html: Added.
  • fast/regions/overflow-scrollable-unsplittable-fragment.html: Added.
  • fast/regions/overflow-scrollable-varying-width-1-expected.html: Added.
  • fast/regions/overflow-scrollable-varying-width-1.html: Added.
  • fast/regions/overflow-scrollable-varying-width-2-expected.html: Added.
  • fast/regions/overflow-scrollable-varying-width-2.html: Added.
1:25 AM Changeset in webkit [155025] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Skipping the media/track/in-band test set that's failing on the GTK port.
1:21 AM Changeset in webkit [155024] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

[GStreamer] cannot play live streams
https://bugs.webkit.org/show_bug.cgi?id=116831

Patch by Andre Moreira Magalhaes <Andre Moreira Magalhaes> on 2013-09-04
Reviewed by Philippe Normand.

Source/WebCore:

Fix issues with rtsp streams embedded on <video> not loading.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

Do not reset pipeline to READY state on STATE_CHANGE_ASYNC when entering PAUSED state for
live streams, otherwise we enter an endless loop of READY->PAUSED->READY->PAUSED when
starting playback.

Tools:

Fix timeout issues with rtspsrc/udpsrc gstreamer elements.

  • gtk/jhbuild.modules:
  • gtk/patches/rtspsrc-timeout-on-udpsrc-is-in-nanoseconds.patch: Added.
  • gtk/patches/udpsrc-improve-timeouts.patch: Added.

Changed gstreamer jhbuild modules to use tarball repos (required to add patches)
and added 2 patches to gst-plugins-good to fix timeout issues with rtsp streams.
Both patches are applied upstream and can be removed once a new gstreamer release
is out (up to 1.0.10 the patches are not included) and we bump the requirements.

Sep 3, 2013:

11:26 PM Changeset in webkit [155023] by fpizlo@apple.com
  • 54 edits
    15 adds in trunk

The DFG should be able to tier-up and OSR enter into the FTL
https://bugs.webkit.org/show_bug.cgi?id=112838

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

This adds the ability for the DFG to tier-up into the FTL. This works in both
of the expected tier-up modes:

Replacement: frequently called functions eventually have their entrypoint
replaced with one that goes into FTL-compiled code. Note, this will be a
slow-down for now since we don't yet have LLVM calling convention integration.

OSR entry: code stuck in hot loops gets OSR'd into the FTL from the DFG.

This means that if the DFG detects that a function is an FTL candidate, it
inserts execution counting code similar to the kind that the baseline JIT
would use. If you trip on a loop count in a loop header that is an OSR
candidate (it's not an inlined loop), we do OSR; otherwise we do replacement.
OSR almost always also implies future replacement.

OSR entry into the FTL is really cool. It uses a specialized FTL compile of
the code, where early in the DFG pipeline we replace the original root block
with an OSR entrypoint block that jumps to the pre-header of the hot loop.
The OSR entrypoint loads all live state at the loop pre-header using loads
from a scratch buffer, which gets populated by the runtime's OSR entry
preparation code (FTL::prepareOSREntry()). This approach appears to work well
with all of our subsequent optimizations, including prediction propagation,
CFA, and LICM. LLVM seems happy with it, too. Best of all, it works naturally
with concurrent compilation: when we hit the tier-up trigger we spawn a
compilation plan at the bytecode index from which we triggered; once the
compilation finishes the next trigger will try to enter, at that bytecode
index. If it can't - for example because the code has moved on to another
loop - then we just try again. Loops that get hot enough for OSR entry (about
25,000 iterations) will probably still be running when a concurrent compile
finishes, so this doesn't appear to be a big problem.

This immediately gives us a 70% speed-up on imaging-gaussian-blur. We could
get a bigger speed-up by adding some more intelligence and tweaking LLVM to
compile code faster. Those things will happen eventually but this is a good
start. Probably this code will see more tuning as we get more coverage in the
FTL JIT, but I'll worry about that in future patches.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::hasOptimizedReplacement):
(JSC::CodeBlock::setOptimizationThresholdBasedOnCompilationResult):

  • bytecode/CodeBlock.h:
  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::parse):

  • dfg/DFGCFGSimplificationPhase.cpp:

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

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):
(JSC::DFG::compile):

  • dfg/DFGDriver.h:
  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::killBlockAndItsContents):
(JSC::DFG::Graph::killUnreachableBlocks):

  • dfg/DFGGraph.h:
  • dfg/DFGInPlaceAbstractState.cpp:

(JSC::DFG::InPlaceAbstractState::initialize):

  • dfg/DFGJITCode.cpp:

(JSC::DFG::JITCode::reconstruct):
(JSC::DFG::JITCode::checkIfOptimizationThresholdReached):
(JSC::DFG::JITCode::optimizeNextInvocation):
(JSC::DFG::JITCode::dontOptimizeAnytimeSoon):
(JSC::DFG::JITCode::optimizeAfterWarmUp):
(JSC::DFG::JITCode::optimizeSoon):
(JSC::DFG::JITCode::forceOptimizationSlowPathConcurrently):
(JSC::DFG::JITCode::setOptimizationThresholdBasedOnCompilationResult):

  • dfg/DFGJITCode.h:
  • dfg/DFGJITFinalizer.cpp:

(JSC::DFG::JITFinalizer::finalize):
(JSC::DFG::JITFinalizer::finalizeFunction):
(JSC::DFG::JITFinalizer::finalizeCommon):

  • dfg/DFGLoopPreHeaderCreationPhase.cpp:

(JSC::DFG::createPreHeader):
(JSC::DFG::LoopPreHeaderCreationPhase::run):

  • dfg/DFGLoopPreHeaderCreationPhase.h:
  • dfg/DFGNode.h:

(JSC::DFG::Node::hasUnlinkedLocal):
(JSC::DFG::Node::unlinkedLocal):

  • dfg/DFGNodeType.h:
  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

  • dfg/DFGOSREntrypointCreationPhase.cpp: Added.

(JSC::DFG::OSREntrypointCreationPhase::OSREntrypointCreationPhase):
(JSC::DFG::OSREntrypointCreationPhase::run):
(JSC::DFG::performOSREntrypointCreation):

  • dfg/DFGOSREntrypointCreationPhase.h: Added.
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPlan.cpp:

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

  • dfg/DFGPlan.h:
  • dfg/DFGPredictionInjectionPhase.cpp:

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

  • dfg/DFGPredictionPropagationPhase.cpp:

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

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGTierUpCheckInjectionPhase.cpp: Added.

(JSC::DFG::TierUpCheckInjectionPhase::TierUpCheckInjectionPhase):
(JSC::DFG::TierUpCheckInjectionPhase::run):
(JSC::DFG::performTierUpCheckInjection):

  • dfg/DFGTierUpCheckInjectionPhase.h: Added.
  • dfg/DFGToFTLDeferredCompilationCallback.cpp: Added.

(JSC::DFG::ToFTLDeferredCompilationCallback::ToFTLDeferredCompilationCallback):
(JSC::DFG::ToFTLDeferredCompilationCallback::~ToFTLDeferredCompilationCallback):
(JSC::DFG::ToFTLDeferredCompilationCallback::create):
(JSC::DFG::ToFTLDeferredCompilationCallback::compilationDidBecomeReadyAsynchronously):
(JSC::DFG::ToFTLDeferredCompilationCallback::compilationDidComplete):

  • dfg/DFGToFTLDeferredCompilationCallback.h: Added.
  • dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp: Added.

(JSC::DFG::ToFTLForOSREntryDeferredCompilationCallback::ToFTLForOSREntryDeferredCompilationCallback):
(JSC::DFG::ToFTLForOSREntryDeferredCompilationCallback::~ToFTLForOSREntryDeferredCompilationCallback):
(JSC::DFG::ToFTLForOSREntryDeferredCompilationCallback::create):
(JSC::DFG::ToFTLForOSREntryDeferredCompilationCallback::compilationDidBecomeReadyAsynchronously):
(JSC::DFG::ToFTLForOSREntryDeferredCompilationCallback::compilationDidComplete):

  • dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h: Added.
  • dfg/DFGWorklist.cpp:

(JSC::DFG::globalWorklist):

  • dfg/DFGWorklist.h:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLCapabilities.h:
  • ftl/FTLForOSREntryJITCode.cpp: Added.

(JSC::FTL::ForOSREntryJITCode::ForOSREntryJITCode):
(JSC::FTL::ForOSREntryJITCode::~ForOSREntryJITCode):
(JSC::FTL::ForOSREntryJITCode::ftlForOSREntry):
(JSC::FTL::ForOSREntryJITCode::initializeEntryBuffer):

  • ftl/FTLForOSREntryJITCode.h: Added.

(JSC::FTL::ForOSREntryJITCode::entryBuffer):
(JSC::FTL::ForOSREntryJITCode::setBytecodeIndex):
(JSC::FTL::ForOSREntryJITCode::bytecodeIndex):
(JSC::FTL::ForOSREntryJITCode::countEntryFailure):
(JSC::FTL::ForOSREntryJITCode::entryFailureCount):

  • ftl/FTLJITFinalizer.cpp:

(JSC::FTL::JITFinalizer::finalizeFunction):

  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileBlock):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileExtractOSREntryLocal):
(JSC::FTL::LowerDFGToLLVM::compileGetLocal):
(JSC::FTL::LowerDFGToLLVM::addWeakReference):

  • ftl/FTLOSREntry.cpp: Added.

(JSC::FTL::prepareOSREntry):

  • ftl/FTLOSREntry.h: Added.
  • ftl/FTLOutput.h:

(JSC::FTL::Output::crashNonTerminal):
(JSC::FTL::Output::crash):

  • ftl/FTLState.cpp:

(JSC::FTL::State::State):

  • interpreter/Register.h:

(JSC::Register::unboxedDouble):

  • jit/JIT.cpp:

(JSC::JIT::emitEnterOptimizationCheck):

  • jit/JITCode.cpp:

(JSC::JITCode::ftlForOSREntry):

  • jit/JITCode.h:
  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • runtime/Executable.cpp:

(JSC::ScriptExecutable::newReplacementCodeBlockFor):

  • runtime/Options.h:
  • runtime/VM.cpp:

(JSC::VM::ensureWorklist):

  • runtime/VM.h:

LayoutTests:

Reviewed by Mark Hahnenberg.

Fix marsaglia to check the result instead of printing, and add a second
version that relies on OSR entry.

  • fast/js/regress/marsaglia-osr-entry-expected.txt: Added.
  • fast/js/regress/marsaglia-osr-entry.html: Added.
  • fast/js/regress/script-tests/marsaglia-osr-entry.js: Added.

(marsaglia):

  • fast/js/regress/script-tests/marsaglia.js:
11:13 PM Changeset in webkit [155022] by Chris Fleizach
  • 6 edits
    2 adds in trunk

AX: REGRESSION: @title is exposed as AXDescription when label label from contents already exists.
https://bugs.webkit.org/show_bug.cgi?id=120550

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Resolve a FIXME from the accessible name computation refactoring so that alternative text for links do not
show up in the title field and do not duplicate naming when a title tag is used.

Effectively, this means that links no longer use AXTitle for alternative text. They use AXDescription
like all other elements.

Test: platform/mac/accessibility/link-with-title.html

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityTitle]):
(-[WebAccessibilityObjectWrapper accessibilityDescription]):

LayoutTests:

  • accessibility/image-map1.html:
  • platform/mac/accessibility/document-links-expected.txt:
  • platform/mac/accessibility/image-map1-expected.txt:
  • platform/mac/accessibility/link-with-title-expected.txt: Added.
  • platform/mac/accessibility/link-with-title.html: Added.
10:48 PM Changeset in webkit [155021] by fpizlo@apple.com
  • 4 edits in trunk/Source

CodeBlock memory cost reporting should be rationalized
https://bugs.webkit.org/show_bug.cgi?id=120615

Source/JavaScriptCore:

Reviewed by Darin Adler.

Report the size of the instruction stream, and then remind the GC that we're
using memory when we trace.

This is a slight slow-down on some JSBench tests because it makes us GC a
bit more frequently. But I think it's well worth it; if we really want those
tests to GC less frequently then we can achieve that through other kinds of
tuning. It's better that the GC knows that CodeBlocks do in fact use memory;
what it does with that information is a somewhat orthogonal question.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::visitAggregate):

Source/WTF:

Reviewed by Darin Adler.

  • wtf/RefCountedArray.h:

(WTF::RefCountedArray::refCount):

10:06 PM Changeset in webkit [155020] by enrica@apple.com
  • 3 edits in trunk/Source/WTF

Follow up to http://trac.webkit.org/changeset/155014

Reviewed by Alexey Proskuryakov.

In the r155014 I renamed hasLineBreakingPropertyComplexContext
to requiresComplexContextForWordBreaking but forgot to
make the same change in UnicodeWchar.h.

  • wtf/unicode/wchar/UnicodeWchar.cpp:

(WTF::Unicode::requiresComplexContextForWordBreaking):

  • wtf/unicode/wchar/UnicodeWchar.h:
9:53 PM Changeset in webkit [155019] by Darin Adler
  • 4 edits in trunk/Source/WebCore

Change type of Document::doctype back to a raw pointer
https://bugs.webkit.org/show_bug.cgi?id=120617

Reviewed by Andreas Kling.

  • dom/Document.cpp:

(WebCore::Document::doctype): Return a raw pointer.
(WebCore::Document::childrenChanged): Use the raw pointer.
Also added a FIXME about this code that is probably in the wrong place.

  • dom/Document.h: More of the same.
  • editing/markup.cpp:

(WebCore::documentTypeString): Get rid of local variable entirely,
since null is already handled right by createMarkup, and also remove
the call to get since doctype is just a raw pointer.

9:49 PM Changeset in webkit [155018] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

ASSERTION FAILED: frame().view() == this closing a page with SVG or video
<https://webkit.org/b/120645>

Reviewed by Antti Koivisto.

Have RenderSVGResourceContainer check if the document is being destroyed before
triggering any repaints. This replaces the previous check for a null RenderView
which meant basically the same thing.

We could add more and better assertions to catch unnecessary work during tree
teardown, but let's do that separately.

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::markClientForInvalidation):

9:27 PM Changeset in webkit [155017] by Darin Adler
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r154967) window resize is very choppy
https://bugs.webkit.org/show_bug.cgi?id=120653

Reviewed by Andreas Kling.

Andreas Kling spotted the bad change.

  • Platform/CoreIPC/Connection.cpp:

(CoreIPC::Connection::waitForMessage): Roll out this incorrect change.
The code here is not the same as a call to take.

8:34 PM Changeset in webkit [155016] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Fix uninitialized build warning in make_names.pl
https://bugs.webkit.org/show_bug.cgi?id=120658

Reviewed by Andreas Kling.

No new tests, no behavior change.

  • dom/make_names.pl:

(printTypeChecks): Fixed a build warning since r154965.

7:46 PM Changeset in webkit [155015] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Fix backwards branch in ~Node from r154967
https://bugs.webkit.org/show_bug.cgi?id=120659

Reviewed by Andreas Kling.

  • dom/Node.cpp:

(WebCore::Node::~Node): Fix backwards branch. The old code ran the code only
when we did not remove the item from the table. I removed a ! from this expression
after review; bad idea.

6:13 PM Changeset in webkit [155014] by enrica@apple.com
  • 5 edits
    2 adds in trunk

Can't select Katakana word by double-clicking.
<rdar://problem/14654926>

Reviewed by Alexey Proskuryakov and Ryosuke Niwa.

Source/WebCore:

For some languages, like Japanese we need
to use more context for word breaking.

New test: editing/selection/doubleclick-japanese-text.html

  • platform/text/TextBoundaries.h:

(WebCore::requiresContextForWordBoundary):

Source/WTF:

For some languages, like Japanese we need
to use more context for word breaking.
I've renamed the function to better reflect its use
and remove the unused hasLineBreakingPropertyComplexContextOrIdeographic.

  • wtf/unicode/icu/UnicodeIcu.h:

(WTF::Unicode::requiresComplexContextForWordBreaking):

LayoutTests:

Added new test for this scenario.

  • editing/selection/doubleclick-japanese-text-expected.txt: Added.
  • editing/selection/doubleclick-japanese-text.html: Added.
5:26 PM Changeset in webkit [155013] by mark.lam@apple.com
  • 16 edits in trunk/Source

Converting StackIterator to a callback interface.
https://bugs.webkit.org/show_bug.cgi?id=120564.

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

  • API/JSContextRef.cpp:

(BacktraceFunctor::BacktraceFunctor):
(BacktraceFunctor::operator()):
(JSContextCreateBacktrace):

  • interpreter/CallFrame.cpp:
  • interpreter/CallFrame.h:
  • interpreter/Interpreter.cpp:

(JSC::DumpRegisterFunctor::DumpRegisterFunctor):
(JSC::DumpRegisterFunctor::operator()):
(JSC::Interpreter::dumpRegisters):
(JSC::unwindCallFrame):
(JSC::GetStackTraceFunctor::GetStackTraceFunctor):
(JSC::GetStackTraceFunctor::operator()):
(JSC::Interpreter::getStackTrace):
(JSC::Interpreter::stackTraceAsString):
(JSC::UnwindFunctor::UnwindFunctor):
(JSC::UnwindFunctor::operator()):
(JSC::Interpreter::unwind):

  • interpreter/Interpreter.h:
  • interpreter/StackIterator.cpp:

(JSC::StackIterator::numberOfFrames):
(JSC::StackIterator::gotoFrameAtIndex):
(JSC::StackIterator::gotoNextFrameWithFilter):
(JSC::StackIterator::resetIterator):
(JSC::StackIterator::Frame::print):
(debugPrintCallFrame):
(DebugPrintStackFunctor::operator()):
(debugPrintStack): Added for debugging convenience.

  • interpreter/StackIterator.h:

(JSC::StackIterator::Frame::index):
(JSC::StackIterator::iterate):

  • jsc.cpp:

(FunctionJSCStackFunctor::FunctionJSCStackFunctor):
(FunctionJSCStackFunctor::operator()):
(functionJSCStack):

  • profiler/ProfileGenerator.cpp:

(JSC::AddParentForConsoleStartFunctor::AddParentForConsoleStartFunctor):
(JSC::AddParentForConsoleStartFunctor::foundParent):
(JSC::AddParentForConsoleStartFunctor::operator()):
(JSC::ProfileGenerator::addParentForConsoleStart):

  • runtime/JSFunction.cpp:

(JSC::RetrieveArgumentsFunctor::RetrieveArgumentsFunctor):
(JSC::RetrieveArgumentsFunctor::result):
(JSC::RetrieveArgumentsFunctor::operator()):
(JSC::retrieveArguments):
(JSC::RetrieveCallerFunctionFunctor::RetrieveCallerFunctionFunctor):
(JSC::RetrieveCallerFunctionFunctor::result):
(JSC::RetrieveCallerFunctionFunctor::operator()):
(JSC::retrieveCallerFunction):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::GlobalFuncProtoGetterFunctor::GlobalFuncProtoGetterFunctor):
(JSC::GlobalFuncProtoGetterFunctor::result):
(JSC::GlobalFuncProtoGetterFunctor::operator()):
(JSC::globalFuncProtoGetter):
(JSC::GlobalFuncProtoSetterFunctor::GlobalFuncProtoSetterFunctor):
(JSC::GlobalFuncProtoSetterFunctor::allowsAccess):
(JSC::GlobalFuncProtoSetterFunctor::operator()):
(JSC::globalFuncProtoSetter):

  • runtime/ObjectConstructor.cpp:

(JSC::ObjectConstructorGetPrototypeOfFunctor::ObjectConstructorGetPrototypeOfFunctor):
(JSC::ObjectConstructorGetPrototypeOfFunctor::result):
(JSC::ObjectConstructorGetPrototypeOfFunctor::operator()):
(JSC::objectConstructorGetPrototypeOf):

Source/WebCore:

No new tests.

  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::SendFunctor::SendFunctor):
(WebCore::SendFunctor::hasViableFrame):
(WebCore::SendFunctor::operator()):
(WebCore::JSXMLHttpRequest::send):

  • bindings/js/ScriptCallStackFactory.cpp:

(WebCore::CreateScriptCallStackFunctor::CreateScriptCallStackFunctor):
(WebCore::CreateScriptCallStackFunctor::operator()):
(WebCore::createScriptCallStack):
(WebCore::CreateScriptCallStackForConsoleFunctor::CreateScriptCallStackForConsoleFunctor):
(WebCore::CreateScriptCallStackForConsoleFunctor::operator()):

5:16 PM Changeset in webkit [155012] by benjamin@webkit.org
  • 2 edits in trunk/LayoutTests

Try unskipping compositing/images/positioned-image-content-rect.html

Unreviewed.

  • platform/mac/TestExpectations:

The test compositing/images/positioned-image-content-rect.html seems to pass reliably
on the bots and locally.
Try to unskip it.

5:04 PM Changeset in webkit [155011] by Lucas Forschler
  • 5 edits in branches/safari-537.60-branch/Source

Versioning.

4:57 PM Changeset in webkit [155010] by Lucas Forschler
  • 1 copy in tags/Safari-537.60.1

New Tag.

4:56 PM Changeset in webkit [155009] by benjamin@webkit.org
  • 2 edits in trunk/LayoutTests

The test inspector/geolocation-success.html is unreliable
https://bugs.webkit.org/show_bug.cgi?id=120655

Reviewed by Alexey Proskuryakov.

  • inspector/geolocation-success.html:

The test was expecting everything would be done in the page context
when InspectorTest.evaluateInPage invoke the callback.

This is not the case, geolocation APIs are asynchronous.
The callbacks printLocation() and printError() may or may not be executed.

To fix this, the execution of each step is changed to depends on the completion
of the geolocation callback.

4:21 PM Changeset in webkit [155008] by oliver@apple.com
  • 10 edits
    3 adds in trunk

Support structured clone of Map and Set
https://bugs.webkit.org/show_bug.cgi?id=120654

Reviewed by Simon Fraser.

Source/JavaScriptCore:

Make xcode copy the required headers, and add appropriate export attributes

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • runtime/JSMap.h:
  • runtime/JSSet.h:
  • runtime/MapData.h:

Source/WebCore:

Add support for cloning Map and Set. Fairly self explanatory change.
Needed to add Forwarding headers for the JSMap, JSSet and MapData classes.

  • ForwardingHeaders/runtime/JSMap.h: Added.
  • ForwardingHeaders/runtime/JSSet.h: Added.
  • ForwardingHeaders/runtime/MapData.h: Added.
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::isMap):
(WebCore::CloneSerializer::isSet):
(WebCore::CloneSerializer::startSet):
(WebCore::CloneSerializer::startMap):
(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::consumeMapDataTerminationIfPossible):
(WebCore::CloneDeserializer::deserialize):

LayoutTests:

Tests!

  • fast/dom/Window/script-tests/postmessage-clone.js:

(set new):
(set add.set add):

4:04 PM Changeset in webkit [155007] by Lucas Forschler
  • 1 edit in branches/safari-537.60-branch/Source/WebKit/win/WebFrame.cpp

Windows build fix.

3:36 PM Changeset in webkit [155006] by Lucas Forschler
  • 5 edits in branches/safari-537-branch/Source

Versioning.

3:34 PM Changeset in webkit [155005] by Lucas Forschler
  • 1 copy in tags/Safari-537.67

New Tag.

3:31 PM Changeset in webkit [155004] by Lucas Forschler
  • 1 edit in branches/safari-537.60-branch/Source/WebKit/win/WebView.cpp

Windows build fix after 155001.

3:20 PM Changeset in webkit [155003] by Lucas Forschler
  • 3 edits in branches/safari-537.60-branch/Source/WebKit/win

Merged r154764. <rdar://problem/14879688>

3:14 PM Changeset in webkit [155002] by betravis@adobe.com
  • 6 edits
    2 adds in trunk

[CSS Shapes] Shape's content gets extra left offset when left-border is positive on the content box
https://bugs.webkit.org/show_bug.cgi?id=117573

Reviewed by David Hyatt.

Source/WebCore:

Nested blocks need to take into account their offset from the shape-inside container.
The new code calculates the offset from the shape-inside container, then applies the
offset to the computed segments. The line must be moved down by the offset's height,
and each segment must be moved left by the offset's width.

Test: fast/shapes/shape-inside/shape-inside-offset-block-children.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::relayoutShapeDescendantIfMoved): Relayout a block child if its
new logical left would cause it to rest at a new position within a shape container.
(WebCore::RenderBlock::logicalOffsetFromShapeAncestorContainer): Calculate the logical
offset form a shape inside ancestor container.
(WebCore::RenderBlock::layoutBlockChild): Call relayoutShapeDescendantIfMoved with the
new position offset.

  • rendering/RenderBlock.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLine): Use layout offset, rather
than just vertical offset.
(WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLineInFlowThread): Ditto.
(WebCore::RenderBlock::layoutRunsAndFloatsInRange): Ditto.

  • rendering/shapes/ShapeInsideInfo.h:

(WebCore::ShapeInsideInfo::computeSegmentsForLine): Shift segments logically left when
there is an inline offset.

LayoutTests:

Test that nested children with padding correctly apply an ancestor's shape-inside
across different writing modes.

  • fast/shapes/shape-inside/shape-inside-offset-block-children-expected.html: Added.
  • fast/shapes/shape-inside/shape-inside-offset-block-children.html: Added.
3:08 PM Changeset in webkit [155001] by Lucas Forschler
  • 3 edits in branches/safari-537.60-branch/Source/WebKit/win

Merged r154759. <rdar://problem/14879679>

2:47 PM Changeset in webkit [155000] by ap@apple.com
  • 2 edits in trunk/Tools

[Mac] WebKitTestRunner still beeps sometimes
https://bugs.webkit.org/show_bug.cgi?id=120652

Reviewed by Tim Horton.

In bug 107251, we disabled beeping in WebProcess, but some of the beeps happen in
UI process (notably, AppKit beeps when handling a key equivalent returns NO).

  • WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformInitialize): Use the same SPI that we use in DRT and in WebProcess to disable beeping.
2:36 PM Changeset in webkit [154999] by benjamin@webkit.org
  • 2 edits in trunk/Websites/webkit.org

Fix the recommended testing platform on the website

Rubberstamped by Enrica Casucci.

  • quality/testing.html:
1:16 PM Changeset in webkit [154998] by Antoine Quint
  • 9 edits in trunk

Web Inspector: exceptions triggered from console evaluation do not pause the debugger
https://bugs.webkit.org/show_bug.cgi?id=120460

Source/WebCore:

Reviewed by Timothy Hatcher.

  • inspector/InjectedScriptSource.js:

Explicitly set a sourceURL such that the frontend may identify injected script when
processing call frames in order to hide such code from the debugger.

Source/WebInspectorUI:

We used to preclude any debugging from errors stemming from code evaluated in the console
as we would always set the doNotPauseOnExceptionsAndMuteConsole parameter to "false" when
calling JavaScriptLogViewController._evaluateInInspectedWindow(). However, it is desirable
to allow debugging code ran from the console.

We now allow debugging in such a scenario and we filter out call frames coming from the
Web Inspector injected script as well as the call frame for the console prompt such that
we only pause in the debugger in case the exception is in code under the console prompt
and not the console code prompt itself.

Additionally, to prevent stepping out to call frames we may have filtered out, we disable
the "step out" button in cases where there are no further frames in the frontend to go out to.

Reviewed by Timothy Hatcher.

  • UserInterface/DebuggerManager.js:

(WebInspector.DebuggerManager.prototype.debuggerDidPause):
Filter out call frames that have a URL coming from Web Inspector injected script by looking
for a URL starting with the "WebInspector" prefix. If we determine that there are no call
frames left after filtering, we resume code evaluation such that we only pause in the debugger
when the exception is in code evluated under the console prompt.

  • UserInterface/DebuggerSidebarPanel.js:

(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype._debuggerDidPause):
(WebInspector.DebuggerSidebarPanel.prototype._debuggerActiveCallFrameDidChange):
Monitor any change to the active call frame such that we may tie the state of the
"step out" button to the availability of a call frame to step out to in the filtered
list set on the DebuggerManager.

  • UserInterface/JavaScriptLogViewController.js:

(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
Set the doNotPauseOnExceptionsAndMuteConsole to "false" when calling _evaluateInInspectedWindow()
in order to allow pausing on exceptions coming from code evalued in the console. Also, explicitly
set a sourceURL for the script to evaluate such that we may identify its origin when filtering
call frames stemming from inspector code.

  • UserInterface/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
Filter out any script resource starting with the Web Inspector-specific "WebInspector" prefix
so that injected script does not show up.

LayoutTests:

Reviewed by Timothy Hatcher.

  • platform/mac/inspector/console/command-line-api-expected.txt:

Take into account the addition of a sourceURL to inspector/InjectedScriptSource.js.

12:30 PM Changeset in webkit [154997] by akling@apple.com
  • 6 edits in trunk/Source

Support Vector<Ref<T>>.
<https://webkit.org/b/120637>

Reviewed by Antti Koivisto.

Source/WebCore:

Use Vector<Ref<T>> internally in Page.

  • page/Page.cpp:

(WebCore::networkStateChanged):
(WebCore::Page::refreshPlugins):

Clean up these functions and use Vector<Ref<Frame>> to store pointers to frames
since we know they are not going to be null.

(WebCore::Page::pluginViews):

Changed this to return a Vector<Ref<PluginView>> by value instead of passing a
writable vector as an argument. Clean up loops with 'auto'.

(WebCore::Page::storageBlockingStateChanged):
(WebCore::Page::privateBrowsingStateChanged):

Tweaked for pluginViews() returning a Vector now.

(WebCore::Page::setVisibilityState):

Store Documents that need a visibilitychange event in a Vector<Ref<Document>>.

Source/WTF:

Add a Ref(const T&) constructor to enable Vector<Ref<T>>. This looks a bit awkward
but is necessary for Vector::append(const T&) to find a constructor.

An alternative would be to add something like std::vector::emplace_back, but I can't
think of a good name for that, and it'd be nice if append() would "just work."

Also add operator->(). I initially excluded this because I felt it made for
unsafe-looking code. Things quickly got out of hand with .get() everywhere though.

IMO -> looks OK as long as it's only used on the first link in a dereference chain,
as that variable and its type will be "in context."

  • wtf/Ref.h:

(WTF::Ref::Ref):
(WTF::Ref::~Ref):
(WTF::Ref::operator->):
(WTF::Ref::get):

  • wtf/VectorTraits.h:

Add simple traits for Ref<T> so it can be moved around freely by Vector.

12:14 PM Changeset in webkit [154996] by svillar@igalia.com
  • 10 edits in trunk

[CSS Grid Layout] Add parsing for named grid lines
https://bugs.webkit.org/show_bug.cgi?id=119540

Reviewed by Andreas Kling.

From Blink r150381,r150587 by <jchaffraix@chromium.org>

Source/WebCore:

Adds parsing support for named grid lines at <grid-line> level,
i.e., inside grid-{row|column}-{start|end}. This change covers
only the parsing, layout changes coming in a follow up patch.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForGridPosition):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseIntegerOrStringFromGridPosition):
(WebCore::CSSParser::parseGridPosition):

  • css/CSSParser.h:
  • css/StyleResolver.cpp:

(WebCore::createGridPosition):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::resolveGridPositionFromStyle):

  • rendering/style/GridPosition.h:

(WebCore::GridPosition::setExplicitPosition):
(WebCore::GridPosition::setSpanPosition):
(WebCore::GridPosition::integerPosition):
(WebCore::GridPosition::namedGridLine):

LayoutTests:

Added several new test cases which include different types of
named grid lines, this means including the names at different
positions, multiple names per line or mixing names with keywords
like 'span'.

  • fast/css-grid-layout/grid-item-column-row-get-set-expected.txt:
  • fast/css-grid-layout/grid-item-column-row-get-set.html:
12:00 PM Changeset in webkit [154995] by ap@apple.com
  • 3 edits
    1 add in trunk

[Mac] Hyphenation respects regional format settings language instead of primary language
https://bugs.webkit.org/show_bug.cgi?id=120641

Reviewed by Dan Bernstein.

Fixes hyphenation tests on my machine with non-English regional format settings.

  • platform/text/cf/HyphenationCF.cpp: (createValueForNullKey): Use primary UI language for hyphenation, not regional settings language.
12:00 PM Changeset in webkit [154994] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[GTK][EFL] include missing localized strings for subtitle auto track
https://bugs.webkit.org/show_bug.cgi?id=120629

those methods are necessary to show the "Auto" track on webkitgtk

Patch by Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk> on 2013-09-03
Reviewed by Gustavo Noronha Silva.

  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore::textTrackAutomaticMenuItemText):

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::textTrackAutomaticMenuItemText):

11:51 AM Changeset in webkit [154993] by dbates@webkit.org
  • 9 edits
    2 adds in trunk

Require layout when -webkit-overflow-scrolling changes
https://bugs.webkit.org/show_bug.cgi?id=120535

Reviewed by Darin Adler.

Source/WebCore:

Test: fast/repaint/overflow-scroll-touch-repaint.html

We want to require a layout when the value of -webkit-overflow-scrolling changes
since -webkit-overflow-scrolling creates a stacking context.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout):

LayoutTests:

Add a test to ensure we perform a layout and repaint when the
value of -webkit-overflow-scrolling changes on an element.

At the time of writing, the iOS port enables ACCELERATED_OVERFLOW_SCROLLING.

  • fast/repaint/overflow-scroll-touch-repaint-expected.txt: Added.
  • fast/repaint/overflow-scroll-touch-repaint.html: Added.
  • platform/efl/TestExpectations: Skip test fast/repaint/overflow-scroll-touch-repaint.html

since this platform doesn't enable ACCELERATED_OVERFLOW_SCROLLING.

  • platform/gtk/TestExpectations: Ditto.
  • platform/mac/TestExpectations: Ditto.
  • platform/qt/TestExpectations: Ditto.
  • platform/win/TestExpectations: Ditto.
  • platform/wincairo/TestExpectations: Ditto.
11:45 AM Changeset in webkit [154992] by rniwa@webkit.org
  • 10 edits
    9 adds in trunk

Support the "json" responseType and JSON response entity in XHR
https://bugs.webkit.org/show_bug.cgi?id=73648

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Based on the patch written by Jarred Nicholls.

Add JSC::JSONParse. This function will be used in XMLHttpRequest.response of type 'json'.

(JSC::JSONParse):

  • runtime/JSONObject.h:

Source/WebCore:

Based on the patch written by Jarred Nicholls.

Implement 'json' type for XMLHttpRequest.response. We cache the result on JSC side as a cached attribute
unlike other response types like 'document' and 'blob' for which the parsed response object is cached
in XMLHttpRequest itself. In the long run, we should do the same for other types of response types.

Also refactored the various code to share the code.

Tests: fast/xmlhttprequest/xmlhttprequest-responsetype-json-invalid.html

fast/xmlhttprequest/xmlhttprequest-responsetype-json-utf16.html
fast/xmlhttprequest/xmlhttprequest-responsetype-json-valid.html

  • ForwardingHeaders/runtime/JSONObject.h: Added.
  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::JSXMLHttpRequest::visitChildren):
(WebCore::JSXMLHttpRequest::response): Use JSONParse to parse the response text and cache the result.
Call didCacheResponseJSON to set the cache status and clear the original response buffer.

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::XMLHttpRequest): Added m_responseCacheIsValid to invalidate the cache of
a json response.
(WebCore::XMLHttpRequest::responseText):
(WebCore::XMLHttpRequest::didCacheResponseJSON): Added; Updates m_responseCacheIsValid and clears the
response buffer to save memory.
(WebCore::XMLHttpRequest::responseXML):
(WebCore::XMLHttpRequest::setResponseType):
(WebCore::XMLHttpRequest::responseType):
(WebCore::XMLHttpRequest::clearResponseBuffers):
(WebCore::XMLHttpRequest::didReceiveData):

  • xml/XMLHttpRequest.h:

(WebCore::XMLHttpRequest::doneWithoutErrors): Extracted from responseXML.
(WebCore::XMLHttpRequest::responseTextIgnoringResponseType): Extracted from responseText.
(WebCore::XMLHttpRequest::responseCacheIsValid): Added.
(WebCore::XMLHttpRequest::shouldDecodeResponse): Extracted from didReceiveData.
Also modified to decode when the response type is ResponseTypeJSON.

  • xml/XMLHttpRequest.idl: Added CachedAttribute IDL extention on response property. This cache is

used when the response type is 'json'.

LayoutTests:

Add regression tests for XMLHttpRequest.response of type 'json'.

Two of these tests (valid & invalid) come from Jarred Nicholls's original patch.

  • fast/xmlhttprequest/resources/xmlhttprequest-responsetype-json-utf-16.json: Added.
  • fast/xmlhttprequest/resources/xmlhttprequest-responsetype-json.json: Added.
  • fast/xmlhttprequest/xmlhttprequest-responsetype-json-invalid-expected.txt: Added.
  • fast/xmlhttprequest/xmlhttprequest-responsetype-json-invalid.html: Added.
  • fast/xmlhttprequest/xmlhttprequest-responsetype-json-utf16-expected.txt: Added.
  • fast/xmlhttprequest/xmlhttprequest-responsetype-json-utf16.html: Added.
  • fast/xmlhttprequest/xmlhttprequest-responsetype-json-valid-expected.txt: Added.
  • fast/xmlhttprequest/xmlhttprequest-responsetype-json-valid.html: Added.
11:30 AM Changeset in webkit [154991] by commit-queue@webkit.org
  • 3 edits
    2 deletes in trunk

Unreviewed, rolling out r154881.
http://trac.webkit.org/changeset/154881
https://bugs.webkit.org/show_bug.cgi?id=120643

Crashes on macworld.com (Requested by kling on #webkit).

Source/WebCore:

  • dom/Element.cpp:

(WebCore::Element::setAttributeInternal):

LayoutTests:

  • fast/dom/Element/setAttributeNode-for-existing-attribute-expected.txt: Removed.
  • fast/dom/Element/setAttributeNode-for-existing-attribute.html: Removed.
10:33 AM Changeset in webkit [154990] by mikhail.pozdnyakov@intel.com
  • 2 edits in trunk/Source/WTF

Check WTF::VectorFiller template argument type size in compile time
https://bugs.webkit.org/show_bug.cgi?id=120631

Reviewed by Darin Adler.

The template argument's type size in WTF::VectorFiller 'memset' specialization
should be checked during compilation rather than in runtime.

  • wtf/Vector.h:
10:08 AM Changeset in webkit [154989] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[GTK] gdk threads deprecated functions calls should be refactored
https://bugs.webkit.org/show_bug.cgi?id=120070

Patch by Anton Obzhirov <Anton Obzhirov> on 2013-09-03
Reviewed by Mario Sanchez Prada.

Removed deprecated functions gdk_threads_leave()/gdk_threads_enter() functions since
there is no more checks for threads lock in GTK 3.6.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewRunAsModal):

  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:

(WebKit::WebPopupMenuProxyGtk::showPopupMenu):

9:51 AM Changeset in webkit [154988] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[GStreamer] Don't set state to NULL until element is destroyed
https://bugs.webkit.org/show_bug.cgi?id=117354

Patch by Andre Moreira Magalhaes <Andre Moreira Magalhaes> on 2013-09-03
Reviewed by Philippe Normand.

Don't set playbin to NULL until it is going to be destroyed or if we stay
for too long on the READY state. Instead only set the state to READY as this
allows much faster state changes to PAUSED/PLAYING again. playbin internally
caches some state that is destroyed when setting it to NULL.
This state is independent of the URI and it is even possible to change the
URI in READY state.

To avoid having resources (e.g. audio devices) open indefinitely,
when setting the state to READY we create a timeout and if the timeout
is reached we reset the pipeline state to NULL to free resources.

Also now all state changes use the changePipelineState method instead of setting
the playbin state directly with gst_element_set_state, so we have a better control
of when we are requesting state changes.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::mediaPlayerPrivateReadyStateTimeoutCallback):
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::commitLoad):
(WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
(WebCore::MediaPlayerPrivateGStreamer::setRate):
(WebCore::MediaPlayerPrivateGStreamer::handlePluginInstallerResult):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
9:51 AM Changeset in webkit [154987] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[GTK] [WK2] TestContextMenu default-menu fails
https://bugs.webkit.org/show_bug.cgi?id=120459

Patch by Brian Holt <brian.holt@samsung.com> on 2013-09-03
Reviewed by Gustavo Noronha Silva.

Add context menu items for downloading media elements.

  • UIProcess/API/gtk/WebKitContextMenuActions.cpp:

(webkitContextMenuActionGetActionTag):
(webkitContextMenuActionGetForContextMenuItem):
(webkitContextMenuActionGetLabel):

  • UIProcess/API/gtk/WebKitContextMenuActions.h:
  • UIProcess/API/gtk/tests/TestContextMenu.cpp:
9:39 AM Changeset in webkit [154986] by fpizlo@apple.com
  • 18 edits
    2 adds
    2 deletes in trunk/Source/JavaScriptCore

CodeBlock::jettison() should be implicit
https://bugs.webkit.org/show_bug.cgi?id=120567

Reviewed by Oliver Hunt.

This is a risky change from a performance standpoint, but I believe it's
necessary. This makes all CodeBlocks get swept by GC. Nobody but the GC
can delete CodeBlocks because the GC always holds a reference to them.
Once a CodeBlock reaches just one reference (i.e. the one from the GC)
then the GC will free it only if it's not on the stack.

This allows me to get rid of the jettisoning logic. We need this for FTL
tier-up. Well; we don't need it, but it will help prevent a lot of bugs.
Previously, if you wanted to to replace one code block with another, you
had to remember to tell the GC that the previous code block is
"jettisoned". We would need to do this when tiering up from DFG to FTL
and when dealing with DFG-to-FTL OSR entry code blocks. There are a lot
of permutations here - tiering up to the FTL, OSR entering into the FTL,
deciding that an OSR entry code block is not relevant anymore - just to
name a few. In each of these cases we'd have to jettison the previous
code block. It smells like a huge source of future bugs.

So I made jettisoning implicit by making the GC always watch out for a
CodeBlock being owned solely by the GC.

This change is performance neutral.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::~CodeBlock):
(JSC::CodeBlock::visitAggregate):
(JSC::CodeBlock::jettison):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::setJITCode):
(JSC::CodeBlock::shouldImmediatelyAssumeLivenessDuringScan):
(JSC::CodeBlockSet::mark):

  • dfg/DFGCommonData.h:

(JSC::DFG::CommonData::CommonData):

  • heap/CodeBlockSet.cpp: Added.

(JSC::CodeBlockSet::CodeBlockSet):
(JSC::CodeBlockSet::~CodeBlockSet):
(JSC::CodeBlockSet::add):
(JSC::CodeBlockSet::clearMarks):
(JSC::CodeBlockSet::deleteUnmarkedAndUnreferenced):
(JSC::CodeBlockSet::traceMarked):

  • heap/CodeBlockSet.h: Added.
  • heap/ConservativeRoots.cpp:

(JSC::ConservativeRoots::add):

  • heap/ConservativeRoots.h:
  • heap/DFGCodeBlocks.cpp: Removed.
  • heap/DFGCodeBlocks.h: Removed.
  • heap/Heap.cpp:

(JSC::Heap::markRoots):
(JSC::Heap::deleteAllCompiledCode):
(JSC::Heap::deleteUnmarkedCompiledCode):

  • heap/Heap.h:
  • interpreter/JSStack.cpp:

(JSC::JSStack::gatherConservativeRoots):

  • interpreter/JSStack.h:
  • runtime/Executable.cpp:

(JSC::ScriptExecutable::installCode):

  • runtime/Executable.h:
  • runtime/VM.h:
8:32 AM Changeset in webkit [154985] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebKit/qt

[Qt] Images scaled poorly on composited canvas
https://bugs.webkit.org/show_bug.cgi?id=120632

Reviewed by Jocelyn Turcotte.

Explicitly set a imageInterpolationQuality on the TextureMapper, because
InterpolationDefault may be interpreted differently by nested GraphicsContexts.

  • WebCoreSupport/TextureMapperLayerClientQt.cpp:

(TextureMapperLayerClientQt::renderCompositedLayers):

7:50 AM Changeset in webkit [154984] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo] Unneeded code in method GlyphPage::fill().
https://bugs.webkit.org/show_bug.cgi?id=120634

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-09-03
Reviewed by Andreas Kling.

  • platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:

(WebCore::GlyphPage::fill): Remove unneeded call to GetTextMetrics() function.

7:47 AM Changeset in webkit [154983] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebKit/qt

[Qt] Tiled-backing store not clipped to frame or visible rect
https://bugs.webkit.org/show_bug.cgi?id=120606

Reviewed by Jocelyn Turcotte.

Clip painting from the tiled-backing store to the frame rect.

  • WebCoreSupport/QWebFrameAdapter.cpp:

(QWebFrameAdapter::renderFromTiledBackingStore):

7:43 AM Changeset in webkit [154982] by mihnea@adobe.com
  • 3 edits
    4 adds in trunk

[CSSRegions] Pseudo-elements as regions should not be exposed to JS
https://bugs.webkit.org/show_bug.cgi?id=120633

Reviewed by Andreas Kling.

Source/WebCore:

Until we properly implement the Region interface (http://dev.w3.org/csswg/css-regions/#the-region-interface)
for pseudo-elements, we should not return these as regions in JS.

Tests: fast/regions/get-regions-by-content-pseudo.html

fast/regions/webkit-named-flow-get-regions-pseudo.html

  • dom/WebKitNamedFlow.cpp:

(WebCore::WebKitNamedFlow::firstEmptyRegionIndex): Skip pseudo-elements as regions here too,
otherwise we may get an index that cannot be used with getRegions().
(WebCore::WebKitNamedFlow::getRegionsByContent):
(WebCore::WebKitNamedFlow::getRegions):

LayoutTests:

Add tests with pseudo-elements as regions checking the following API:
WebKitNamedFlow::getRegions(), WebKitNamedFlow::getRegionsByContent()
Because we do not return the pseudo-elements as regions in the region list,
i modified WebKitNamedFlow::firstEmptyRegionIndex to skip these regions too.

  • fast/regions/get-regions-by-content-pseudo-expected.txt: Added.
  • fast/regions/get-regions-by-content-pseudo.html: Added.
  • fast/regions/webkit-named-flow-get-regions-pseudo-expected.txt: Added.
  • fast/regions/webkit-named-flow-get-regions-pseudo.html: Added.
7:20 AM Changeset in webkit [154981] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r154967): http appcache tests crashing on WK1
https://bugs.webkit.org/show_bug.cgi?id=120620

Reviewed by Andreas Kling.

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::cacheDestroyed): Reintroduce pre-r154967 behavior that returned early in
this method if the passed-in ApplicationCache object was not found in the ApplicationCacheGroup's HashSet
of all the caches. This is now done by checking that the HashSet<T>::remove(T) returns true (meaning the
object was found in the HashSet and removed from it) in addition to that HashSet being subsequently empty
before the method moves on to destroying its ApplicationCacheGroup instance.

6:36 AM Changeset in webkit [154980] by kadam@inf.u-szeged.hu
  • 3 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skip some failing tests.

  • platform/qt-wk1/TestExpectations:
  • platform/qt/TestExpectations:
6:25 AM Changeset in webkit [154979] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] accessibility/aria-describedby-on-input.html is failing
https://bugs.webkit.org/show_bug.cgi?id=112027

Unreviewed EFL gardening.

accessibility/aria-describedby-on-input.html passes after r154976.

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-09-03

  • platform/efl-wk2/TestExpectations:
6:25 AM Changeset in webkit [154978] by Patrick Gansterer
  • 2 edits in trunk

[CMake] Fix detection of x86_64 platform with MSVC
https://bugs.webkit.org/show_bug.cgi?id=116662

Reviewed by Gyuyoung Kim.

Use ${MSVC_CXX_ARCHITECTURE_ID} instead of ${CMAKE_SYSTEM_PROCESSOR}, since
the later one just resolves to the host processor on Windows.

  • CMakeLists.txt:
6:16 AM Changeset in webkit [154977] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

[gstreamer] Disable HTTP request "Accept-Encoding:" header field on gstreamer source element to avoid receiving the wrong size when retrieving data
https://bugs.webkit.org/show_bug.cgi?id=115354

Patch by Andre Moreira Magalhaes <Andre Moreira Magalhaes> on 2013-09-03
Reviewed by Philippe Normand.

Source/WebCore:

Also disable Accept-Encoding on ResourceRequest::toSoupMessage accordingly.

  • platform/network/soup/ResourceRequestSoup.cpp:

(WebCore::ResourceRequest::toSoupMessage):
Call ResourceRequest::updateSoupMessage from ResourceRequest::toSoupMessage so that the
Accept-Encoding header is also respected.

LayoutTests:

Add test to check that video requests will send no "Accept-Encoding" header.

  • http/tests/media/video-accept-encoding-expected.txt: Added.
  • http/tests/media/video-accept-encoding.cgi: Added.
  • http/tests/media/video-accept-encoding.html: Added.
4:29 AM Changeset in webkit [154976] by commit-queue@webkit.org
  • 15 edits
    2 moves in trunk

Source/WebCore: [AX][ATK] Added support for sort and help attributes.
https://bugs.webkit.org/show_bug.cgi?id=120456

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-09-03
Reviewed by Chris Fleizach.

Added support for aria-sort and aria-help attributes.

Test: accessibility/aria-sort.html

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetAttributes):

Tools: [AX][ATK] Added support for sort and help attributes
https://bugs.webkit.org/show_bug.cgi?id=120456

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-09-03
Reviewed by Chris Fleizach.

Added missing implementation to AccessibilityUIElement::helpText and support for
aria-sort attribute.

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(coreAttributeToAtkAttribute):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::coreAttributeToAtkAttribute):
(WTR::AccessibilityUIElement::helpText):

LayoutTests: [AX][ATK] Added support for sort and help attributes
https://bugs.webkit.org/show_bug.cgi?id=120456

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-09-03
Reviewed by Chris Fleizach.

Sharing aria-sort.html specific mac test with efl and gtk.
Changing specific expectations of some accessibility tests.

  • accessibility/aria-sort-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/aria-sort-expected.txt.
  • accessibility/aria-sort.html: Renamed from LayoutTests/platform/mac/accessibility/aria-sort.html.
  • platform/efl-wk2/TestExpectations:
  • platform/efl-wk2/accessibility/image-link-expected.txt:
  • platform/efl-wk2/accessibility/image-map2-expected.txt:
  • platform/efl-wk2/accessibility/table-cell-spans-expected.txt:
  • platform/efl-wk2/accessibility/table-cells-expected.txt:
  • platform/gtk/accessibility/image-link-expected.txt:
  • platform/gtk/accessibility/image-map2-expected.txt:
  • platform/gtk/accessibility/table-cell-spans-expected.txt:
  • platform/gtk/accessibility/table-cells-expected.txt:
3:10 AM Changeset in webkit [154975] by allan.jensen@digia.com
  • 4 edits
    3 deletes in trunk/Source/WebCore

[Qt] Remove dead code for QtXmlPatterns
https://bugs.webkit.org/show_bug.cgi?id=120624

Reviewed by Simon Hausmann.

Remove code supporting XSLT using QtXmlPatterns which has been
dead for some time.

  • Target.pri:
  • WebCore.pri:
  • dom/TransformSourceQt.cpp: Removed.
  • xml/XSLStyleSheetQt.cpp: Removed.
  • xml/XSLTProcessorQt.cpp: Removed.
  • xml/parser/XMLDocumentParserQt.cpp:

(WebCore::XMLDocumentParser::doEnd):
(WebCore::XMLDocumentParser::parseProcessingInstruction):

1:54 AM Changeset in webkit [154974] by allan.jensen@digia.com
  • 5 edits in trunk

[Qt][WK1] PageVisibility tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=120418

Reviewed by Jocelyn Turcotte.

Source/WebKit/qt:

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::resetPageVisibility):

  • WebCoreSupport/DumpRenderTreeSupportQt.h:

Tools:

Implement resetPageVisibility so we can reset visibility without
emiting visibility state change events.

  • DumpRenderTree/qt/TestRunnerQt.cpp:

(TestRunner::resetPageVisibility):

1:21 AM Changeset in webkit [154973] by mihnea@adobe.com
  • 12 edits
    20 adds in trunk

[CSS Regions] position: fixed is computed relative to the first region, not the viewport
https://bugs.webkit.org/show_bug.cgi?id=111176

Reviewed by David Hyatt.

Source/WebCore:

Fixed positioned elements inside a named flow should be positioned and sized relative to the viewport,
not on the first region, as described in the spec: http://dev.w3.org/csswg/css-regions/#the-flow-into-property.
While the flow thread will still act as containing block for the fixed positioned elements, the painting and hit
testing for the fixed positioned elements is done by RenderView. The layers for the fixed positioned elements
are collected by the flow thread.

Tests: fast/regions/element-in-named-flow-absolute-from-fixed.html

fast/regions/element-in-named-flow-fixed-from-absolute.html
fast/regions/element-inflow-fixed-from-outflow-static.html
fast/regions/element-outflow-static-from-inflow-fixed.html
fast/regions/fixed-element-transformed-parent.html
fast/regions/fixed-in-named-flow-scroll.html
fast/regions/fixed-inside-fixed-in-named-flow.html
fast/regions/fixed-inside-named-flow-zIndex.html
fast/regions/fixed-pos-elem-in-namedflow-noregions.html
fast/regions/fixed-pos-region-in-nested-flow.html

  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::collectFixedPositionedLayers):
Return the list of layers for the fixed positioned elements with named flows as containing blocks.
Used in RenderLayer:: paintFixedLayersInNamedFlows and RenderLayer:: hitTestFixedLayersInNamedFlows.

  • rendering/FlowThreadController.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
For fixed positioned elements, width and height are given by the view instead of the first region.

  • rendering/RenderLayer.cpp:

(WebCore::accumulateOffsetTowardsAncestor):
Modified for the fixed positioned elements inside named flows with the named flows as containing block
to take into account the view scroll.
(WebCore::compareZIndex):
Moved upwards because it is used in RenderLayer::paintFixedLayersInNamedFlows.
(WebCore::RenderLayer::paintFixedLayersInNamedFlows):
Paint the list of fixed layers directly from the RenderView instead of painting them through regions -> named flows.
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintList):
(WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
Hit test the layers for the fix positioned elements inside named flows from the RenderView layer
instead of the region -> named flow layer.
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::calculateRects):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
We do not support yet the accelerated compositing for elements in named flows,
so bail out early here. We need to revisit fixed elements once we finish accelerated compositing for elements in named flows.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::fixedPositionedWithNamedFlowContainingBlock):
(WebCore::hasFixedPosInNamedFlowContainingBlock):
(WebCore::RenderObject::containerForRepaint):
Changed to take into account that RenderView should be the repaintContainer for the
fixed positioned elements with named flow as the containing block.

  • rendering/RenderObject.h:

LayoutTests:

Added new tests and changed the existing ones that were relying on incorrect positioning
for fixed elements.

  • fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt: Added.
  • fast/regions/element-in-named-flow-absolute-from-fixed.html: Added.
  • fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt: Added.
  • fast/regions/element-in-named-flow-fixed-from-absolute.html: Added.
  • fast/regions/element-inflow-fixed-from-outflow-static-expected.txt: Added.
  • fast/regions/element-inflow-fixed-from-outflow-static.html: Added.
  • fast/regions/element-outflow-static-from-inflow-fixed-expected.txt: Added.
  • fast/regions/element-outflow-static-from-inflow-fixed.html: Added.
  • fast/regions/fixed-element-transformed-parent-expected.txt: Added.
  • fast/regions/fixed-element-transformed-parent.html: Added.
  • fast/regions/fixed-in-named-flow-scroll-expected.txt: Added.
  • fast/regions/fixed-in-named-flow-scroll.html: Added.
  • fast/regions/fixed-inside-fixed-in-named-flow-expected.html: Added.
  • fast/regions/fixed-inside-fixed-in-named-flow.html: Added.
  • fast/regions/fixed-inside-named-flow-zIndex-expected.html: Added.
  • fast/regions/fixed-inside-named-flow-zIndex.html: Added.
  • fast/regions/fixed-pos-elem-in-namedflow-noregions-expected.html: Added.
  • fast/regions/fixed-pos-elem-in-namedflow-noregions.html: Added.
  • fast/regions/fixed-pos-elem-in-region-expected.html:
  • fast/regions/fixed-pos-elem-in-region.html:
  • fast/regions/fixed-pos-region-in-nested-flow-expected.html: Added.
  • fast/regions/fixed-pos-region-in-nested-flow.html: Added.
1:15 AM Changeset in webkit [154972] by ChangSeok Oh
  • 2 edits in trunk/Tools

[GTK] libsoup upversion to fix a gstreamer issue, bug115354
https://bugs.webkit.org/show_bug.cgi?id=120613

Reviewed by Philippe Normand.

Up version of libsoup to 2.43.90. But the exact version which we'll use is not 2.43.90.
To fix bug115354, we need the Andre's patch for libsoup, but the lastest release
does not contain it. https://bugzilla.gnome.org/show_bug.cgi?id=706338
For the reason, we'll use libsoup git repo directly for a while until the next
libsoup release.

  • gtk/jhbuild.modules:
12:29 AM Changeset in webkit [154971] by anilsson@rim.com
  • 7 edits in trunk/Source/WebCore

[BlackBerry] Remove LayerData::LayerProgram
https://bugs.webkit.org/show_bug.cgi?id=120601

Reviewed by Anders Carlsson.

JIRA 490672
All layer contents are RGBA now, so there's no need to support BGRA any
more and the LayerData::LayerProgram enum can be removed. Related dead
code was removed.

No new tests, no change in behavior.

  • platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:

(WebCore::EGLImageLayerWebKitThread::EGLImageLayerWebKitThread):

  • platform/graphics/blackberry/LayerData.h:

(WebCore::LayerData::LayerData):

  • platform/graphics/blackberry/LayerRenderer.cpp:

(WebCore::LayerRenderer::compositeLayersRecursive):
(WebCore::LayerRenderer::createProgram):

  • platform/graphics/blackberry/LayerRenderer.h:
  • platform/graphics/blackberry/LayerWebKitThread.h:
  • platform/graphics/blackberry/PluginLayerWebKitThread.cpp:

(WebCore::PluginLayerWebKitThread::setPluginView):

12:16 AM Changeset in webkit [154970] by calvaris@igalia.com
  • 5 edits in trunk/Source/WebCore

[GStreamer] Video player sets system volume to 100%
https://bugs.webkit.org/show_bug.cgi?id=118974

Reviewed by Philippe Normand.

In order to preserve the system volume we need to keep track of
the volume being initialized in the HTMLMediaElement and then just
setting the volume to the sink when initializing the pipeline if
that volume was changed before.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Initialized
attribute to false.
(WebCore::HTMLMediaElement::setVolume): Set the attribute to true
when volume is changed.
(WebCore::HTMLMediaElement::updateVolume): Set the volume only if
volume was initialized.
(WebCore::HTMLMediaElement::mediaPlayerPlatformVolumeConfigurationRequired):
Platform volume configuration is required only if volume was not
initialized before.

  • html/HTMLMediaElement.h: Added attribute and interface method.
  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerPlatformVolumeConfigurationRequired):
Declared and added default implementation for the interface method.
(WebCore::MediaPlayer::platformVolumeConfigurationRequired):
Asked the client, meaning the HTMLMediaElement if the platform
volume configuration is required.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::mediaPlayerPrivateVolumeChangedCallback): Added log.
(WebCore::MediaPlayerPrivateGStreamerBase::setVolume): Added log.
(WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement):
Set the volume only if not platform volume is required and added log.

Sep 2, 2013:

11:06 PM Changeset in webkit [154969] by Lucas Forschler
  • 6 edits
    24 copies in branches/safari-537-branch

Merged r154785. <rdar://problem/14664586>

11:02 PM Changeset in webkit [154968] by Darin Adler
  • 2 edits in trunk/Source/WebCore
  • inspector/InspectorProfilerAgent.cpp:

(WebCore::InspectorProfilerAgent::removeProfile): Fix braces here; a review
comment I forgot to address in my last check-in.

11:00 PM Changeset in webkit [154967] by Darin Adler
  • 39 edits in trunk/Source

Cut down on double hashing and code needlessly using hash table iterators
https://bugs.webkit.org/show_bug.cgi?id=120611

Reviewed by Andreas Kling.

Source/WebCore:

Some of these changes are primarily code cleanup, but others could provide
a small code size and speed improvement by avoiding extra hashing.

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::Watchers::find): Use get instead of find.
(WebCore::Geolocation::Watchers::remove): Use take instead of find.
(WebCore::Geolocation::makeCachedPositionCallbacks): Use the return
value from remove to avoid hashing twice.

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::addAutomaticPullNode): Use the return value from
add to avoid hashing twice.
(WebCore::AudioContext::removeAutomaticPullNode): Use the return value
from remove to avoid hashing twice.

  • Modules/webaudio/AudioNodeInput.cpp:

(WebCore::AudioNodeInput::connect): Use the return value from add to avoid
hashing twice.
(WebCore::AudioNodeInput::disconnect): Use the return value from remove
to avoid hashing twice.

  • Modules/webaudio/AudioParam.cpp:

(WebCore::AudioParam::connect): Use the return value from add to avoid
hashing twice.
(WebCore::AudioParam::disconnect): Use the return value from remove to
avoid hashing twice.

  • bridge/NP_jsobject.cpp:

(ObjectMap::remove): Use remove instead of find/remove.

  • dom/Node.cpp:

(WebCore::Node::~Node): Use the return value from remove instead of
find/remove.

  • inspector/InspectorProfilerAgent.cpp:

(WebCore::InspectorProfilerAgent::removeProfile): Remove needless
calls to contains.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::removeSubresourceLoader): Use the return
value from remove instead of find/remove.

  • loader/ResourceLoadScheduler.cpp:

(WebCore::ResourceLoadScheduler::HostInformation::remove): Use the
return value from remove to avoid hashing twice.

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::disassociateDocumentLoader): Use
remove instead of find/remove.
(WebCore::ApplicationCacheGroup::cacheDestroyed): Removed a needless
call to contains to avoid hashing twice. It's fine to do the check
for an empty hash table unconditionally.

  • page/DOMWindow.cpp:

(WebCore::addUnloadEventListener): Eliminated a local variable for clarity.
(WebCore::removeUnloadEventListener): Ditto. Also use remove instead
of find/remove.
(WebCore::removeAllUnloadEventListeners): Ditto. Also use removeAll instead
of find/removeAll.
(WebCore::addBeforeUnloadEventListener): Ditto.
(WebCore::removeBeforeUnloadEventListener): Ditto.
(WebCore::removeAllBeforeUnloadEventListeners): Ditto.

  • page/FrameView.cpp:

(WebCore::FrameView::removeViewportConstrainedObject): Use the return
value from remove to avoid hashing twice.
(WebCore::FrameView::removeScrollableArea): Use the return value from
remove instead of find/remove.
(WebCore::FrameView::containsScrollableArea): Use && instead of an if
statement in a way that is idiomatic for this kind of function.

  • page/Page.cpp:

(WebCore::Page::addRelevantRepaintedObject): Use the return value from
remove instead of find/remove.

  • page/PageGroup.cpp:

(WebCore::PageGroup::removeUserScriptsFromWorld): Use remove instead
of find/remove.
(WebCore::PageGroup::removeUserStyleSheetsFromWorld): Use the return
value from remove instead of find/remove.

  • page/PerformanceUserTiming.cpp:

(WebCore::clearPeformanceEntries): Removed a needless call to contains.

  • platform/graphics/DisplayRefreshMonitor.cpp:

(WebCore::DisplayRefreshMonitor::removeClient): Use the return value
from remove instead of find/remove.
(WebCore::DisplayRefreshMonitorManager::displayDidRefresh): Use remove
instead of find/remove.

  • platform/graphics/blackberry/LayerRenderer.cpp:

(WebCore::LayerRenderer::removeLayer): Use the return value from remove
instead of find/remove.

  • platform/win/WindowMessageBroadcaster.cpp:

(WebCore::WindowMessageBroadcaster::removeListener): Use remove instead
of find/remove. It's fine to do the check for an empty hash table unconditionally.

  • plugins/PluginDatabase.cpp:

(WebCore::PluginDatabase::removeDisabledPluginFile): Use the return value
from remove instead of find/remove.

  • rendering/style/StyleCustomFilterProgramCache.cpp:

(WebCore::StyleCustomFilterProgramCache::lookup): Use get instead of find.
(WebCore::StyleCustomFilterProgramCache::add): Use contains instead of find
in an assertion.
(WebCore::StyleCustomFilterProgramCache::remove): Use remove instead of
find/remove.

  • svg/SVGCursorElement.cpp:

(WebCore::SVGCursorElement::removeClient): Use the return value from remove
instead of find/remove.

  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::removeResource): Removed an unneeded call
to contains.
(WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement): Use
remove instead of find/remove. It's fine to do the check for an empty hash
table unconditionally.
(WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget): Use
remove instead of find/remove. Also removed unhelpful assertions. One is
already done by HashMap, and the other is just checking a basic invariant
of every HashMap that doesn't need to be checked.

  • svg/graphics/SVGImageCache.cpp:

(WebCore::SVGImageCache::removeClientFromCache): Removed an unneeded call
to contains.

  • svg/properties/SVGAnimatedProperty.cpp:

(WebCore::SVGAnimatedProperty::~SVGAnimatedProperty): Use the version of
remove that takes an iterator rather than the one that takes a key, so
we don't need to redo the hashing.

Source/WebKit2:

  • Platform/CoreIPC/Connection.cpp:

(CoreIPC::Connection::waitForMessage): Use take instead of find/remove.

  • UIProcess/WebPreferences.cpp:

(WebKit::WebPreferences::removePageGroup): Use the return value from remove
instead of find/remove.

  • WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:

(WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
(WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
Use take instead of find/remove.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::frameDidFinishLoading): Use take instead of find/remove.
(WebKit::NetscapePlugin::frameDidFail): Use take instead of find/remove.

  • WebProcess/WebPage/WebBackForwardListProxy.cpp:

(WebKit::WebBackForwardListProxy::removeItem): Use take instead of find/remove.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didFinishCheckingText): Use take instead of get/remove so we
hash only once.
(WebKit::WebPage::didCancelCheckingText): Ditto.
(WebKit::WebPage::stopExtendingIncrementalRenderingSuppression): Use the return
value from remove instead of contains/remove so we hash only once.

Source/WTF:

Double hashing is common in code that needs to combine a remove with some
action to only be done if the code is removed. The only way to avoid it is
to write code using find and a hash table iterator. To help with this, add
a boolean return value to remove functions to indicate if anything was removed.

Double hashing also happens in code that does a get followed by a remove.
The take function is helpful in this case. To help with this, add a takeFirst
funciton to ListHashSet.

  • wtf/HashCountedSet.h:

(WTF::HashCountedSet::removeAll): Added a boolean return value, analogous to the one
that the HashCountedSet::remove function already has.

  • wtf/HashMap.h:

(WTF::HashMap::remove): Added a boolean return value, true if something was removed.

  • wtf/HashSet.h:

(WTF::HashSet::remove): Ditto.

  • wtf/RefPtrHashMap.h:

(WTF::RefPtrHashMap::remove): Ditto.

  • wtf/ListHashSet.h:

(WTF::ListHashSet::takeFirst): Added.
(WTF::ListHashSet::takeLast): Added.
(WTF::ListHashSet::remove): Added a boolean return value, true if something was removed.

  • wtf/WTFThreadData.h:

(JSC::IdentifierTable::remove): Use the new remove return value to get rid of most of
the code in this function.

1:30 PM Changeset in webkit [154966] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WTF

Remove duplicate entries found by Xcode in WTF project

Platform.h was duplicated in r111778 after being added in
r111504.

A dangling reference to Ref.h was added in r154962.

  • WTF.xcodeproj/project.pbxproj: Remove duplicate entries for

Platform.h and Ref.h.

1:10 PM Changeset in webkit [154965] by akling@apple.com
  • 41 edits in trunk/Source/WebCore

Generate isFooElement() functions from tagname data.
<https://webkit.org/b/120584>

Reviewed by Antti Koivisto.

Add a "generateTypeChecks" attribute that can be used in HTMLTagNames.in & friends.
If present, isFooElement() style helpers will be added to HTMLElementTypeChecks.h.
This also outputs an isElementOfType<T> check for the Element iterators.

Removed all the hand-written isFooElement() functions that only checked tag name.

  • html/HTMLTagNames.in:
  • svg/svgtags.in:

Added "generateTypeChecks" attribute as appropriate.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:

Added to build systems based on how HTMLNames.h was done.
We're just outputting an additional header file in the generated code directory
so I suspect most ports will just pick this up automagically.

  • dom/make_names.pl:

(defaultTagPropertyHash):
(printLicenseHeader):
(printTypeChecks):
(printTypeChecksHeaderFile):

Generate a separate file for each namespace with isFooElement() helpers for
elements with "generateTypeChecks" attribute set.

12:41 PM Changeset in webkit [154964] by akling@apple.com
  • 1 edit
    1 add in trunk/Source/WTF

Actually add Ref.h

11:55 AM Changeset in webkit [154963] by Darin Adler
  • 21 edits in trunk

[Mac] No need for HardAutorelease, which is same as CFBridgingRelease
https://bugs.webkit.org/show_bug.cgi?id=120569

Reviewed by Andy Estes.

Source/JavaScriptCore:

  • API/JSValue.mm:

(valueToString): Use CFBridgingRelease.

Source/WebCore:

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(AXTextMarkerRange):
(AXTextMarkerRangeStart):
(AXTextMarkerRangeEnd):
(textMarkerForVisiblePosition):
Use CFBridgingRelease.

  • platform/mac/KURLMac.mm:

(WebCore::KURL::operator NSURL *): Use CFBridgingRelease.
(WebCore::KURL::createCFURL): Get rid of needless local variable.

  • platform/mac/WebCoreNSURLExtras.mm:

(WebCore::mapHostNameWithRange):
(WebCore::URLWithData):
(WebCore::userVisibleString):

  • platform/text/mac/StringImplMac.mm:

(WTF::StringImpl::operator NSString *):
Use CFBridgingRelease.

Source/WebKit/mac:

  • Misc/WebNSFileManagerExtras.mm:

(-[NSFileManager _webkit_startupVolumeName]): Removed some unneeded locals.
Got rid of the pointless ref/leakRef/HardAutorelease dance, and replaced it
with a [[x copy] autorelease].

  • Misc/WebNSURLExtras.mm:

(-[NSURL _web_URLWithLowercasedScheme]): Use CFBridgingRelease, and got rid
of unneeded type casts.

  • Plugins/WebBasePluginPackage.mm:

(+[WebBasePluginPackage preferredLocalizationName]): Use CFBridgingRelease.

  • WebView/WebPDFRepresentation.mm:

(-[WebPDFRepresentation convertPostScriptDataSourceToPDF:]): Ditto.

  • WebView/WebView.mm:

(+[WebView _setCacheModel:]): Use CFBridgingRelease and got rid of unneeded
type cast.

Source/WebKit2:

  • Platform/mac/StringUtilities.mm:

(WebKit::nsStringFromWebCoreString): Use CFBridgingRelease. Also
changed condition to be a little cleaner and use a constant string for empty
strings as well as null strings.

  • UIProcess/API/mac/WKBrowsingContextController.mm:

(autoreleased): Switched from autorelease to CFBridgingRelease for strings,
which eliminates a type cast and makes this work under GC, although I don't
think we should compile WebKit2 for GC.

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:

(-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
Use CFBridgingRelease.

Source/WTF:

  • wtf/ObjcRuntimeExtras.h: Added a FIXME about miscapitalization of ObjC.

Deleted HardAutorelease.
(wtfObjcMsgSend): Dropped the use of abbreviations in local class and argument names.
(wtfCallIMP): Ditto.

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(dump): Use CFBridgingRelease.

11:50 AM Changeset in webkit [154962] by akling@apple.com
  • 68 edits in trunk/Source

Ref: A smart pointer for the reference age.
<https://webkit.org/b/120570>

Reviewed by Antti Koivisto.

Source/WebCore:

Use Ref<T> for various stack guards where null checking isn't needed.

Source/WTF:

Add a very simple simple Ref<T> smart pointer class that is never null.
It's initialized by passing a T& to the constructor and cannot be assigned to.

operator-> is not overloaded, to prevent unsafe-looking code.
The value is extracted by "T& get()", since C++ does not let you override operator.()

  • wtf/Ref.h:
10:05 AM Changeset in webkit [154961] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Simplify DocumentType handling.
<https://webkit.org/b/120529>

Reviewed by Antti Koivisto.

Removed the insertedInto()/removedFrom() handlers from DocumentType.

Document no longer keeps a pointer to its doctype node, it was only used for the
document.doctype DOM API, which now just looks through the list of (<=2) children.

The ENABLE(LEGACY_VIEWPORT_ADAPTION) hunk from Document::setDocType() was moved
into Document::childrenChanged().

We no longer clear the style resolver on doctype insertion/removal since it
doesn't actually affect style anyway.

Also made doctype() return a PassRefPtr<DocumentType> instead of a raw pointer.

  • dom/Document.cpp:

(WebCore::Document::dispose):
(WebCore::Document::doctype):
(WebCore::Document::childrenChanged):

  • dom/Document.h:
  • dom/DocumentType.cpp:
  • dom/DocumentType.h:
  • editing/markup.cpp:

(WebCore::documentTypeString):

8:44 AM Changeset in webkit [154960] by commit-queue@webkit.org
  • 10 edits in trunk

<https://webkit.org/b/98350> [GTK] accessibility/aria-invalid.html times out

Patch by Anton Obzhirov <Anton Obzhirov> on 2013-09-02
Reviewed by Mario Sanchez Prada.

Source/WebCore:

The patch exposes aria-invalid attribute to ATK.

  • accessibility/atk/AXObjectCacheAtk.cpp:

(WebCore::AXObjectCache::postPlatformNotification):
Added emitting state-change signal for aria-invalid event.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetAttributes):
Added aria-invalid attribute.

Tools:

Added few mappings in DumpRenderTree and WebKitTestRunner for aria-invalid in order to get the tests run properly.

  • DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp:

(axObjectEventListener):
Added mapping for invalid-entry event parameter.

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(coreAttributeToAtkAttribute):
Added mapping to aria-invalid.
(AccessibilityUIElement::stringAttributeValue):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::coreAttributeToAtkAttribute):
Added mapping to aria-invalid.

LayoutTests:

Unskipped accessibility/aria-invalid.html which is passing now.

  • platform/gtk/TestExpectations: Removed passing test.
  • platform/gtk-wk2/TestExpectations: Added test timing out in WK2 only.
8:43 AM Changeset in webkit [154959] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r154909): caused many crashes on Qt WK2, EFL WK2
https://bugs.webkit.org/show_bug.cgi?id=120600

Reviewed by Andreas Kling.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(CoreIPC::::decode): keyTime should be double here too.

8:22 AM Changeset in webkit [154958] by akling@apple.com
  • 41 edits in trunk/Source/WebCore

Unreviewed, rolling out r154955.
http://trac.webkit.org/changeset/154955
https://bugs.webkit.org/show_bug.cgi?id=120605

broke xcode4 build :| (Requested by kling on #webkit).

Patch by Commit Queue <commit-queue@webkit.org> on 2013-09-02

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/make_names.pl:

(defaultTagPropertyHash):
(printLicenseHeader):

  • html/HTMLAnchorElement.h:

(WebCore::isHTMLAnchorElement):
(WebCore::HTMLAnchorElement):

  • html/HTMLAreaElement.h:

(WebCore::isHTMLAreaElement):
(WebCore::HTMLAreaElement):

  • html/HTMLAudioElement.h:

(WebCore::isHTMLAudioElement):

  • html/HTMLBaseElement.h:

(WebCore::isHTMLBaseElement):
(WebCore::HTMLBaseElement):

  • html/HTMLCanvasElement.h:

(WebCore::isHTMLCanvasElement):

  • html/HTMLElement.h:
  • html/HTMLFieldSetElement.h:

(WebCore::isHTMLFieldSetElement):
(WebCore::HTMLFieldSetElement):

  • html/HTMLFormElement.h:

(WebCore::isHTMLFormElement):

  • html/HTMLFrameSetElement.h:

(WebCore::isHTMLFrameSetElement):
(WebCore::HTMLFrameSetElement):

  • html/HTMLImageElement.h:

(WebCore::isHTMLImageElement):

  • html/HTMLInputElement.h:

(WebCore::isHTMLInputElement):

  • html/HTMLLabelElement.h:

(WebCore::isHTMLLabelElement):
(WebCore::HTMLLabelElement):

  • html/HTMLLegendElement.h:

(WebCore::isHTMLLegendElement):
(WebCore::HTMLLegendElement):

  • html/HTMLMapElement.h:

(WebCore::isHTMLMapElement):

  • html/HTMLMeterElement.h:

(WebCore::isHTMLMeterElement):

  • html/HTMLOptGroupElement.h:

(WebCore::isHTMLOptGroupElement):

  • html/HTMLOptionElement.h:

(WebCore::isHTMLOptionElement):

  • html/HTMLParamElement.h:

(WebCore::isHTMLParamElement):
(WebCore::HTMLParamElement):

  • html/HTMLProgressElement.h:

(WebCore::isHTMLProgressElement):

  • html/HTMLScriptElement.h:

(WebCore::isHTMLScriptElement):

  • html/HTMLSourceElement.h:

(WebCore::isHTMLSourceElement):
(WebCore::HTMLSourceElement):

  • html/HTMLStyleElement.h:

(WebCore::isHTMLStyleElement):
(WebCore::HTMLStyleElement):

  • html/HTMLTableElement.h:

(WebCore::isHTMLTableElement):

  • html/HTMLTableRowElement.h:

(WebCore::isHTMLTableRowElement):
(WebCore::HTMLTableRowElement):

  • html/HTMLTagNames.in:
  • html/HTMLTextAreaElement.h:

(WebCore::isHTMLTextAreaElement):

  • html/HTMLTitleElement.h:

(WebCore::isHTMLTitleElement):
(WebCore::HTMLTitleElement):

  • html/HTMLTrackElement.h:

(WebCore::isHTMLTrackElement):
(WebCore::HTMLTrackElement):

  • svg/SVGElement.h:
  • svg/SVGFontElement.h:

(WebCore::isSVGFontElement):

  • svg/SVGFontFaceElement.h:

(WebCore::isSVGFontFaceElement):
(WebCore::SVGFontFaceElement):

  • svg/SVGForeignObjectElement.h:

(WebCore::isSVGForeignObjectElement):
(WebCore::SVGForeignObjectElement):

  • svg/SVGImageElement.h:

(WebCore::isSVGImageElement):

  • svg/SVGScriptElement.h:

(WebCore::isSVGScriptElement):

  • svg/svgtags.in:
8:17 AM Changeset in webkit [154957] by Antti Koivisto
  • 68 edits in trunk/Source/WebCore

Clean up ContainerNode::childrenChanged
https://bugs.webkit.org/show_bug.cgi?id=120599

Reviewed by Andreas Kling.

  • Make childrenChanged take a single struct argument instead of a long list of arguments.
  • Use enum instead of childCountDelta. It was always -1, 0, 1 or the total number of children (in case of removing them all).
  • Remove use of Node*, give the change range as Elements.
  • Related cleanups.
  • dom/Attr.cpp:

(WebCore::Attr::childrenChanged):

  • dom/Attr.h:
  • dom/CharacterData.cpp:

(WebCore::CharacterData::parserAppendData):
(WebCore::CharacterData::dispatchModifiedEvent):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::notifyChildInserted):
(WebCore::ContainerNode::notifyChildRemoved):

Add private helpers for setting up the struct.

(WebCore::ContainerNode::parserInsertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::removeChild):
(WebCore::ContainerNode::parserRemoveChild):
(WebCore::ContainerNode::removeChildren):
(WebCore::ContainerNode::appendChild):
(WebCore::ContainerNode::parserAppendChild):
(WebCore::ContainerNode::childrenChanged):
(WebCore::ContainerNode::updateTreeAfterInsertion):

  • dom/ContainerNode.h:
  • dom/Document.cpp:

(WebCore::Document::childrenChanged):

  • dom/Document.h:
  • dom/Element.cpp:

(WebCore::checkForSiblingStyleChanges):

Clean up and simplify. Since we now get element range automatically we don't need to compute it.

(WebCore::Element::childrenChanged):
(WebCore::Element::finishParsingChildren):

  • dom/Element.h:
  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::childrenChanged):

  • dom/ShadowRoot.h:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::childrenChanged):
(WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):

Try to keep the existing behavior. This code needs more cleanup to be sane. It shouldn't operate on Nodes
as it only really cares about Elements.

  • html/HTMLElement.h:
  • html/HTMLFieldSetElement.cpp:

(WebCore::HTMLFieldSetElement::childrenChanged):

  • html/HTMLFieldSetElement.h:
  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::childrenChanged):

  • html/HTMLObjectElement.h:
  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::childrenChanged):

  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::childrenChanged):

  • html/HTMLOptionElement.h:
  • html/HTMLOutputElement.cpp:

(WebCore::HTMLOutputElement::childrenChanged):

  • html/HTMLOutputElement.h:
  • html/HTMLScriptElement.cpp:

(WebCore::HTMLScriptElement::childrenChanged):

  • html/HTMLScriptElement.h:
  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::childrenChanged):

  • html/HTMLSelectElement.h:
  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::childrenChanged):

  • html/HTMLStyleElement.h:
  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::childrenChanged):

  • html/HTMLTextAreaElement.h:
  • html/HTMLTitleElement.cpp:

(WebCore::HTMLTitleElement::childrenChanged):

  • html/HTMLTitleElement.h:
  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::childrenChanged):

  • html/shadow/InsertionPoint.h:
  • svg/SVGClipPathElement.cpp:

(WebCore::SVGClipPathElement::childrenChanged):

  • svg/SVGClipPathElement.h:
  • svg/SVGElement.cpp:

(WebCore::SVGElement::childrenChanged):

  • svg/SVGElement.h:
  • svg/SVGFELightElement.cpp:

(WebCore::SVGFELightElement::childrenChanged):

  • svg/SVGFELightElement.h:
  • svg/SVGFilterElement.cpp:

(WebCore::SVGFilterElement::childrenChanged):

  • svg/SVGFilterElement.h:
  • svg/SVGFilterPrimitiveStandardAttributes.cpp:

(WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):

  • svg/SVGFilterPrimitiveStandardAttributes.h:
  • svg/SVGFontFaceElement.cpp:

(WebCore::SVGFontFaceElement::childrenChanged):

  • svg/SVGFontFaceElement.h:
  • svg/SVGFontFaceFormatElement.cpp:

(WebCore::SVGFontFaceFormatElement::childrenChanged):

  • svg/SVGFontFaceFormatElement.h:
  • svg/SVGFontFaceSrcElement.cpp:

(WebCore::SVGFontFaceSrcElement::childrenChanged):

  • svg/SVGFontFaceSrcElement.h:
  • svg/SVGFontFaceUriElement.cpp:

(WebCore::SVGFontFaceUriElement::childrenChanged):

  • svg/SVGFontFaceUriElement.h:
  • svg/SVGGradientElement.cpp:

(WebCore::SVGGradientElement::childrenChanged):

  • svg/SVGGradientElement.h:
  • svg/SVGMarkerElement.cpp:

(WebCore::SVGMarkerElement::childrenChanged):

  • svg/SVGMarkerElement.h:
  • svg/SVGMaskElement.cpp:

(WebCore::SVGMaskElement::childrenChanged):

  • svg/SVGMaskElement.h:
  • svg/SVGPatternElement.cpp:

(WebCore::SVGPatternElement::childrenChanged):

  • svg/SVGPatternElement.h:
  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::childrenChanged):

  • svg/SVGScriptElement.h:
  • svg/SVGStyleElement.cpp:

(WebCore::SVGStyleElement::childrenChanged):

  • svg/SVGStyleElement.h:
  • svg/SVGTitleElement.cpp:

(WebCore::SVGTitleElement::childrenChanged):

  • svg/SVGTitleElement.h:
8:15 AM Changeset in webkit [154956] by kadam@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skip some failing tests.

  • platform/qt/TestExpectations:
8:12 AM Changeset in webkit [154955] by akling@apple.com
  • 41 edits in trunk/Source/WebCore

Generate isFooElement() functions from tagname data.
<https://webkit.org/b/120584>

Reviewed by Antti Koivisto.

Add a "generateTypeChecks" attribute that can be used in HTMLTagNames.in & friends.
If present, isFooElement() style helpers will be added to HTMLElementTypeChecks.h.
This also outputs an isElementOfType<T> check for the Element iterators.

Removed all the hand-written isFooElement() functions that only checked tag name.

  • html/HTMLTagNames.in:
  • svg/svgtags.in:

Added "generateTypeChecks" attribute as appropriate.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:

Added to build systems based on how HTMLNames.h was done.
We're just outputting an additional header file in the generated code directory
so I suspect most ports will just pick this up automagically.

  • dom/make_names.pl:

(defaultTagPropertyHash):
(printLicenseHeader):
(printTypeChecks):
(printTypeChecksHeaderFile):

Generate a separate file for each namespace with isFooElement() helpers for
elements with "generateTypeChecks" attribute set.

8:03 AM Changeset in webkit [154954] by krit@webkit.org
  • 6 edits
    4 adds in trunk

Use edgeMode=duplicate for blurring on filter() function
https://bugs.webkit.org/show_bug.cgi?id=120590

Reviewed by Antti Koivisto.

Source/WebCore:

Filters on the CSS Image function filter() are not allowed to extend the
dimension of the input image. This causes weird results on blurring an image,
where the fading on the edges is clipped at the half of the fading.
We shouldn't fade edges at all and use the edgeMode=duplicate instead.
This will duplicate the pixel value on the nearest edge of the input image
instead of taking transparent black and results in nice blurred images with
sharp edges.

Spec: http://dev.w3.org/fxtf/filters/#blurEquivalent

Test: fast/filter-image/filter-image-blur.html

  • css/CSSFilterImageValue.cpp: Pass consumer information to the renderer.

(WebCore::CSSFilterImageValue::image):

  • rendering/FilterEffectRenderer.cpp: Set edgeMode for feGaussianBlur to

'duplicate' or 'none' depending on the consumer.

(WebCore::FilterEffectRenderer::build):

  • rendering/FilterEffectRenderer.h: Add enumeration to differ between the

different consumers of the renderer.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer): Pass consumer

information to the renderer.

LayoutTests:

Added test to check that filter(<image>, blur(<value>)) takes
the edgeMode 'duplicate' instead of none.

  • fast/filter-image/filter-image-blur-expected.html: Added.
  • fast/filter-image/filter-image-blur.html: Added.
  • fast/filter-image/resources/svg-blur.svg: Added.
  • fast/filter-image/resources/svg-noblur.svg: Added.
7:40 AM Changeset in webkit [154953] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/gtk

[ATK] Leak: Leaks in testatk.c
https://bugs.webkit.org/show_bug.cgi?id=118675

Patch by Brian Holt <brian.holt@samsung.com> on 2013-09-02
Reviewed by Mario Sanchez Prada.

Fixed memory leaks by matching ref calls with unrefs.

  • tests/testatk.c:

(testWebkitAtkCaretOffsets):
(testWebkitAtkCaretOffsetsAndExtranousWhiteSpaces):
(testWebkitAtkGetTextAtOffset):
(testWebkitAtkGetTextAtOffsetNewlines):
(testWebkitAtkGetTextAtOffsetTextarea):
(testWebkitAtkGetTextAtOffsetTextInput):
(testWebkitAtkGetTextInParagraphAndBodySimple):
(testWebkitAtkGetTextInParagraphAndBodyModerate):
(testWebkitAtkTextAttributes):
(testWebkitAtkTextSelections):
(testWebkitAtkListsOfItems):

7:37 AM Changeset in webkit [154952] by zarvai@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.
https://bugs.webkit.org/show_bug.cgi?id=120595

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-09-02

  • platform/qt/TestExpectations: Skipping failing xss-DENIED tests.
5:48 AM Changeset in webkit [154951] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Save md5 correctly when jhbuildPath doesn't exist yet
https://bugs.webkit.org/show_bug.cgi?id=120548

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-09-02
Reviewed by Gustavo Noronha Silva.

After r152605, Md5 for jhbuild files are saved before the update
process, this prevents the script to restart update from scratch
when initial checkouts fail. However it causes an issue when builddir
(or builddir/Dependencies) doesn't exist yet. In that case the
saveJhbuildMd5 function fails to create md5 files.
This patch adds a checking for the jhbuildPath and creates it if
necessary before trying to open the md5 files.

  • Scripts/update-webkit-libs-jhbuild:

(saveJhbuildMd5):

5:41 AM Changeset in webkit [154950] by mario@webkit.org
  • 2 edits in trunk/Tools

Unreviewed. Move myself to the reviewers list.

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

Sep 1, 2013:

11:36 PM Changeset in webkit [154949] by ap@apple.com
  • 9 edits
    4 adds in trunk

[WK2][Mac] Drag and drop tests interfere with user's UI
https://bugs.webkit.org/show_bug.cgi?id=120538

Reviewed by Dan Bernstein.

This makes running WebKit2 regression tests locally more viable. The patch doesn't
fix drag and drop tests to work as expected, I posted some thought about that in
<https://bugs.webkit.org/show_bug.cgi?id=68552>.

  • WebKitTestRunner/EventSenderProxy.h: (WTR::EventSenderProxy::position):
  • WebKitTestRunner/TestController.h: (WTR::TestController::eventSenderProxy): Expose a way to get current mouse position from anywhere in WKTR code.
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Added new files.
  • WebKitTestRunner/mac/EventSenderProxy.mm: (WTR::EventSenderProxy::mouseUp): Copied a FIXME comment from DumpRenderTree.
  • WebKitTestRunner/mac/PlatformWebViewMac.mm: (-[TestRunnerWKView dragImage:at:offset:event:pasteboard:source:slideBack:]): Override drag initiation, using a custom NSDraggingInfo implementation.
  • WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformInitialize): Replace NSEvent with a custom class.
  • WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.h: Added.
  • WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.mm: Added.
  • WebKitTestRunner/mac/WebKitTestRunnerEvent.h: Added.
  • WebKitTestRunner/mac/WebKitTestRunnerEvent.mm: Added. Largely a copy of DumpRenderTree classes, modified to not use global variables. We should consider making these variables static in EventSenderProxy though, as it's strange that mouse state in WKTR is reset between tests without WebKit ever being told about that.
9:53 PM Changeset in webkit [154948] by krit@webkit.org
  • 8 edits
    9 adds in trunk

Source/WebCore: Add 'edgeMode' attribute to SVGFEGaussianBlur
https://bugs.webkit.org/show_bug.cgi?id=120582

Add 'edgeMode' attribute to the SVGFEGaussianBlur element. This attribute
allows users to define the behavior on edges with the values 'none' where
pixel values outside the input image are treated as transparent black. (The
current blurring behavior.) 'duplicate' which repeats the values on the
nearest edge and 'warp', which takes the pixel of the opposite site of
the input image.
Beside the attribute, this patch implements the behavior of 'duplicate'.

http://dev.w3.org/fxtf/filters/#feGaussianBlurEdgeModeAttribute

Reviewed by Rob Buis.

Tests: svg/dynamic-updates/SVGFEGaussianBlurElement-dom-edgeMode-attr.html

svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-edgeMode-prop.html
svg/filters/svg-gaussianblur-edgeMode-duplicate-expected.svg
svg/filters/svg-gaussianblur-edgeMode-duplicate.svg

  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::FEGaussianBlur::FEGaussianBlur):
(WebCore::FEGaussianBlur::create):
(WebCore::FEGaussianBlur::edgeMode):
(WebCore::FEGaussianBlur::setEdgeMode):
(WebCore::boxBlur):
(WebCore::FEGaussianBlur::platformApplyGeneric):
(WebCore::FEGaussianBlur::determineAbsolutePaintRect):

  • platform/graphics/filters/FEGaussianBlur.h:
  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::build):

  • svg/SVGFEGaussianBlurElement.cpp:

(WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
(WebCore::SVGFEGaussianBlurElement::isSupportedAttribute):
(WebCore::SVGFEGaussianBlurElement::parseAttribute):
(WebCore::SVGFEGaussianBlurElement::svgAttributeChanged):
(WebCore::SVGFEGaussianBlurElement::build):

  • svg/SVGFEGaussianBlurElement.h:
  • svg/SVGFEGaussianBlurElement.idl:

LayoutTests: Add edgeMode attribtue.

Add 'edgeMode' attribute to SVGFEGaussianBlur
https://bugs.webkit.org/show_bug.cgi?id=120582

Added DOM and SVGDOM tests for the attribute 'edgeMode'.
Also added a reftest to test edgeMode='duplicate'.

Reviewed by Rob Buis.

  • platform/mac/svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-edgeMode-prop-expected.png: Added.
  • svg/dynamic-updates/SVGFEGaussianBlurElement-dom-edgeMode-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEGaussianBlurElement-dom-edgeMode-attr.html: Added.
  • svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-edgeMode-prop-expected.txt: Added.
  • svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-edgeMode-prop.html: Added.
  • svg/dynamic-updates/script-tests/SVGFEGaussianBlurElement-dom-edgeMode-attr.js: Added.

(repaintTest):

  • svg/dynamic-updates/script-tests/SVGFEGaussianBlurElement-svgdom-edgeMode-prop.js: Added.

(repaintTest):

  • svg/filters/svg-gaussianblur-edgeMode-duplicate-expected.svg: Added.
  • svg/filters/svg-gaussianblur-edgeMode-duplicate.svg: Added.
1:04 PM Changeset in webkit [154947] by akling@apple.com
  • 9 edits in trunk/Source/WebCore

EventHandler::m_frame should be a Frame&.
<https://webkit.org/b/120580>

Reviewed by Darin Adler.

EventHandler is tied to the lifetime of its frame, so let m_frame be a Frame&.
A handful of null checks and assertions removed.

12:23 PM Changeset in webkit [154946] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Fix a mistake in my recent pasteboard/editor refactoring that was causing tests to fail.

  • editing/mac/EditorMac.mm:

(WebCore::getImage): One place this said cachedImage but it should have said tentativeCachedImage.

12:12 PM Changeset in webkit [154945] by Darin Adler
  • 6 edits in trunk/Source/WebCore

HitTestResult should have innerNonSharedElement
https://bugs.webkit.org/show_bug.cgi?id=120579

Reviewed by Andreas Kling.

  • editing/Editor.cpp:

(WebCore::Editor::copyImage): Call HitTestResult member function version of
innerNonSharedElement instead of a local function that does it.

  • page/Chrome.cpp:

(WebCore::Chrome::setToolTip): Use innerNonSharedElement instead of getting
the node and checking if it's an input element. Also added some missing braces.

  • page/EventHandler.cpp:

(WebCore::EventHandler::selectClosestWordFromHitTestResult): Use targetNode for
local variables instead of innerNode to match the HitTestResult function name.
(WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Ditto.
(WebCore::EventHandler::handleMousePressEventTripleClick): Ditto.
(WebCore::EventHandler::handleMousePressEventSingleClick): Ditto.
(WebCore::EventHandler::handleMousePressEvent): Ditto.

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::innerElement): Rewrote so there there is no loop.
(WebCore::HitTestResult::innerNonSharedElement): Ditto.

  • rendering/HitTestResult.h: Added innerNonSharedElement. Generally speaking,

we'd like to avoid using Node unless there is some real need.

10:12 AM Changeset in webkit [154944] by calvaris@igalia.com
  • 7 edits
    2 adds in trunk

Volume slider value should be 0 when audio is muted
https://bugs.webkit.org/show_bug.cgi?id=120553

Reviewed by Eric Carlson.

Source/WebCore:

Fixed the problem of showing a non empty slider when audio is
muted.

Test: media/volume-bar-empty-when-muted.html.

  • html/shadow/MediaControls.cpp:

(WebCore::MediaControls::reset): Use setSliderVolume.
(WebCore::MediaControls::changedVolume): Use setSliderVolume.
(WebCore::MediaControls::setSliderVolume): Added to set the volume
to 0 when muted and to its value otherwise.

  • html/shadow/MediaControls.h: Added setSliderVolume.
  • html/shadow/MediaControlsApple.cpp:

(WebCore::MediaControlsApple::reset): Used setSliderVolume and
setFullscreenSliderVolume.
(WebCore::MediaControlsApple::changedVolume): Used
setFullscreenSliderVolume.
(WebCore::MediaControlsApple::setFullscreenSliderVolume): Added to
set the volume to 0 when muted and to its value otherwise.

  • html/shadow/MediaControlsApple.h: Added setFullscreenSliderVolume
  • html/shadow/MediaControlsBlackBerry.cpp:

(WebCore::MediaControlsBlackBerry::reset): Used setSliderVolume.

LayoutTests:

Added test to check if the volume slider value is 0 when the
element is muted even if volume is set to something else.

  • media/volume-bar-empty-when-muted-expected.txt: Added.
  • media/volume-bar-empty-when-muted.html: Added.
7:57 AM Changeset in webkit [154943] by akling@apple.com
  • 12 edits in trunk/Source/WebCore

Give EditCommand a protected Frame& getter.
<https://webkit.org/b/120574>

Reviewed by Darin Adler.

EditCommand is only created for documents that are attached to a Frame,
we already ASSERTed as much in the EditCommand constructor.

This patch adds a "Frame& EditCommand::frame()" helper, so EditCommand
and its subclasses don't have to fumble around with pointers.

6:53 AM Changeset in webkit [154942] by commit-queue@webkit.org
  • 11 edits in trunk/LayoutTests

Web Inspector: A little more test cleanup
https://bugs.webkit.org/show_bug.cgi?id=120575

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-09-01
Reviewed by Timothy Hatcher.

Give tests names and remove unnecessary script type attributes.

  • inspector-protocol/debugger/removeBreakpoint-expected.txt:
  • inspector-protocol/debugger/removeBreakpoint.html:
  • inspector-protocol/debugger/setBreakpoint-autoContinue-expected.txt:
  • inspector-protocol/debugger/setBreakpoint-autoContinue.html:
  • inspector-protocol/debugger/setBreakpoint-column-expected.txt:
  • inspector-protocol/debugger/setBreakpoint-column.html:
  • inspector-protocol/debugger/setBreakpoint-condition-expected.txt:
  • inspector-protocol/debugger/setBreakpoint-condition.html:
  • inspector-protocol/debugger/setBreakpoint-expected.txt:
  • inspector-protocol/debugger/setBreakpoint.html:
4:23 AM Changeset in webkit [154941] by calvaris@igalia.com
  • 6 edits in trunk/LayoutTests

Fixed typo in media/video-volume-slider.html
https://bugs.webkit.org/show_bug.cgi?id=120578

Unreviewed.

  • media/video-volume-slider.html: Fixed typo.
  • platform/gtk/media/video-volume-slider-expected.png:
  • platform/gtk/media/video-volume-slider-expected.txt:
  • platform/mac/media/video-volume-slider-expected.png:
  • platform/mac/media/video-volume-slider-expected.txt: New

baselines.

3:33 AM Changeset in webkit [154940] by Antti Koivisto
  • 13 edits
    1 add in trunk/Source/WebCore

Add element ancestor iterator
https://bugs.webkit.org/show_bug.cgi?id=120563

Reviewed by Andreas Kling.

This patch adds ancestor iterators. They iterate over elements parent chain up to the root.

To iterate over Element ancestors:

auto ancestors = elementAncestors(this);
for (auto it = ancestors.begin(), end = ancestors.end(); it != end; ++it) {

Element& element = *it;
...

To iterate over Element ancestors including the current element:

auto lineage = elementLineage(this);
for (auto it = lineage.begin(), end = lineage.end(); it != end; ++it) {

Element& element = *it;
...


To iterate over ancestors of a specific Element subclass:

auto htmlAncestors = ancestorsOfType<HTMLElement>(this);
for (auto it = htmlAncestors.begin(), end = htmlAncestors.end(); it != end; ++it) {

HTMLElement& htmlElement = *it;
...


To iterate over ancestors of a specific Element subclass including the current element:

auto htmlLineage = lineageOfType<HTMLElement>(this);
for (auto it = htmlLineage.begin(), end = htmlLineage.end(); it != end; ++it) {

HTMLElement& htmlElement = *it;
...


The patch also uses the new types in a few places.

  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::mouseButtonListener):
(WebCore::AccessibilityNodeObject::labelForElement):

  • dom/ElementAncestorIterator.h: Added.

(WebCore::::ElementAncestorIterator):
(WebCore::::operator):
(WebCore::::ElementAncestorConstIterator):
(WebCore::::ElementAncestorIteratorAdapter):
(WebCore::::begin):
(WebCore::::end):
(WebCore::::ElementAncestorConstIteratorAdapter):
(WebCore::elementLineage):
(WebCore::elementAncestors):
(WebCore::ancestorsOfType):

  • dom/ElementIterator.h:

(WebCore::findElementAncestorOfType):
(WebCore::::traverseAncestor):
(WebCore::=):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):

  • html/HTMLFieldSetElement.h:

(WebCore::isHTMLFieldSetElement):
(WebCore::HTMLFieldSetElement):

  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::findContaining):

  • html/HTMLFrameSetElement.h:

(WebCore::HTMLFrameSetElement):

  • html/HTMLInputElement.h:

(WebCore::isHTMLInputElement):
(WebCore::toHTMLInputElement):

  • html/HTMLLegendElement.cpp:

(WebCore::HTMLLegendElement::associatedControl):

Note: See TracTimeline for information about the timeline view.