WebKit-https.git
5 years agoW3C test importer should copy .htaccess files
commit-queue@webkit.org [Tue, 23 Sep 2014 17:10:33 +0000 (17:10 +0000)]
W3C test importer should copy .htaccess files
https://bugs.webkit.org/show_bug.cgi?id=136850

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-09-23
Reviewed by Bem Jones-Bey.

* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.should_skip_file): Helper function to check whether to skip file or not. Added ".htaccess" file specific check.
(TestImporter):
(TestImporter.find_importable_tests): Making use of new helper function.

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

5 years agoTrying to revive bot watcher's dashboard after HSTS.
ap@apple.com [Tue, 23 Sep 2014 16:56:49 +0000 (16:56 +0000)]
Trying to revive bot watcher's dashboard after HSTS.

Unreviewed.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): It looks like XMLHttpRequest may not like HSTS redirects, let's try to avoid these.

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

5 years ago[GTK] Adds implementation of subtle crypto HMAC algorithm
commit-queue@webkit.org [Tue, 23 Sep 2014 16:41:45 +0000 (16:41 +0000)]
[GTK] Adds implementation of subtle crypto HMAC algorithm
https://bugs.webkit.org/show_bug.cgi?id=133320

Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-09-23
Reviewed by Philippe Normand.

Source/WebCore:

Tests are already in place under crypto/subtle/hmac-*.html

* crypto/gtk/CryptoAlgorithmHMACGtk.cpp:
(WebCore::getGnutlsDigestAlgorithm):
(WebCore::calculateSignature):
(WebCore::CryptoAlgorithmHMAC::platformSign):
(WebCore::CryptoAlgorithmHMAC::platformVerify):

LayoutTests:

* platform/gtk/TestExpectations: Whitelists HMAC related tests that are passing

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

5 years agoUnreviewed, rolling out r173864.
gyuyoung.kim@samsung.com [Tue, 23 Sep 2014 16:14:24 +0000 (16:14 +0000)]
Unreviewed, rolling out r173864.

It still make tests failes on EFL bots

Reverted changeset:

"Unreviewed, EFL gardening. Unskip media test on EFL port.
Almost media tests"
http://trac.webkit.org/changeset/173864

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

5 years ago[GTK] Adds implementation of Subtle Crypto digest algorithms
commit-queue@webkit.org [Tue, 23 Sep 2014 15:17:52 +0000 (15:17 +0000)]
[GTK] Adds implementation of Subtle Crypto digest algorithms
https://bugs.webkit.org/show_bug.cgi?id=133319

Source/WebCore:

Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-09-23
Reviewed by Philippe Normand.

Tests are already in place under crypto/subtle/sha-*.html

* crypto/gtk/CryptoDigestGtk.cpp:
(WebCore::CryptoDigest::CryptoDigest):
(WebCore::CryptoDigest::~CryptoDigest):
(WebCore::CryptoDigest::create):
(WebCore::CryptoDigest::addBytes):
(WebCore::CryptoDigest::computeHash):

LayoutTests:

Leaves all crypto/subtle tests skipped and whitelist only those related to
digest algorithms (sha-*.html). When enough crypto algorithms are implemented,
we can invert the approach and blacklist only those tests whose algorithms are
not implemented.

Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-09-23
Reviewed by Philippe Normand.

* platform/gtk/TestExpectations: Unskip tests for Subtle-Crypto digest algorithms.

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

5 years agoMake Tools/BuildSlaveSupport/wait-for-SVN-server.py handle server donwtime
commit-queue@webkit.org [Tue, 23 Sep 2014 14:47:21 +0000 (14:47 +0000)]
Make Tools/BuildSlaveSupport/wait-for-SVN-server.py handle server donwtime
https://bugs.webkit.org/show_bug.cgi?id=137026

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-09-23
Reviewed by Csaba Osztrogonác.

* BuildSlaveSupport/wait-for-SVN-server.py:
(getLatestSVNRevision):
(waitForSVNRevision):

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

5 years agoRemove unlinkZeroFiles from build-webkit
commit-queue@webkit.org [Tue, 23 Sep 2014 09:57:53 +0000 (09:57 +0000)]
Remove unlinkZeroFiles from build-webkit
https://bugs.webkit.org/show_bug.cgi?id=137018

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-09-23
Reviewed by Csaba Osztrogonác.

* Scripts/build-webkit:
(unlinkZeroFiles): Deleted.

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

5 years ago[GTK] Minibrowser : Add keyboard support for stop page load
commit-queue@webkit.org [Tue, 23 Sep 2014 09:26:14 +0000 (09:26 +0000)]
[GTK] Minibrowser : Add keyboard support for stop page load
https://bugs.webkit.org/show_bug.cgi?id=136857

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-09-23
Reviewed by Philippe Normand.

Keyboard support to stop page load in GTK Minibrowser using F6 and Escape keys.

* MiniBrowser/gtk/BrowserWindow.c:
(stopPageLoad): Callback to stop page load.
(browser_window_init):

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

5 years ago[CSS Grid Layout] Do not grow tracks when the growth factor is 0
svillar@igalia.com [Tue, 23 Sep 2014 08:37:10 +0000 (08:37 +0000)]
[CSS Grid Layout] Do not grow tracks when the growth factor is 0
https://bugs.webkit.org/show_bug.cgi?id=136575

Reviewed by Darin Adler.

A couple of performance optimizations for the track sizing
algorithm. On the one hand we avoid the computation of the
available logical space share if the track has no growth potential
(the current breadth is the maximum breadth) and on the other
hand, we avoid calling RenderGrid::distributeSpaceToTracks() if
the available logical space is not greater than 0.

The combined effect of these two changes is an impressive +16%
improvement in auto-grid-lots-of-data.html performance test.

No new tests as there is no change in the functionality.

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
(WebCore::RenderGrid::distributeSpaceToTracks):

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

5 years ago[CSS Blending] The composited layers isolated by the page group should blend with...
rosca@adobe.com [Tue, 23 Sep 2014 07:47:21 +0000 (07:47 +0000)]
[CSS Blending] The composited layers isolated by the page group should blend with the default white background color.
https://bugs.webkit.org/show_bug.cgi?id=136563

Reviewed by Simon Fraser.

Source/WebCore:

If a blending layer is not isolated, then it should blend with a white backdrop:
http://dev.w3.org/fxtf/compositing-1/#pagebackdrop

Tests: css3/blending/blend-mode-body-composited-child-background-color.html
       css3/blending/blend-mode-body-composited-child.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
If the isolating composited layer is the root renderer, then it should have a backing store
into which the initial white backdrop will be painted.

LayoutTests:

* css3/blending/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt:
* css3/blending/blend-mode-body-composited-child-background-color-expected.html: Added.
* css3/blending/blend-mode-body-composited-child-background-color.html: Added.
* css3/blending/blend-mode-body-composited-child-expected.html: Added.
* css3/blending/blend-mode-body-composited-child.html: Added.
* css3/blending/blend-mode-parent-of-composited-blended-has-layer-expected.txt:
* css3/blending/blend-mode-with-composited-descendant-should-have-layer-expected.txt:

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

5 years agoUnreviewed build fix after r173859.
cdumez@apple.com [Tue, 23 Sep 2014 06:00:35 +0000 (06:00 +0000)]
Unreviewed build fix after r173859.

Partial revert to fix debug build after r173859.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::remoteSVGRootElement):
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::getSVGDocument):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
* page/Frame.cpp:
(WebCore::Frame::setPageAndTextZoomFactors):
* page/FrameView.cpp:
(WebCore::FrameView::scrollToAnchor):
* rendering/svg/RenderSVGBlock.h:
(WebCore::RenderSVGBlock::graphicsElement):
* rendering/svg/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::gradientElement):
* rendering/svg/RenderSVGInline.h:
(WebCore::RenderSVGInline::graphicsElement):
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::pathOnlyClipping):
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
* rendering/svg/RenderSVGShape.h:
(WebCore::RenderSVGShape::graphicsElement):
* rendering/svg/RenderSVGTransformableContainer.h:
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::updateMaskedAncestorShouldIsolateBlending):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::operator<<):
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
* rendering/svg/SVGResources.cpp:
(WebCore::targetReferenceFromResource):
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::defaultEventHandler):
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::calculateAnimatedValue):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
* svg/SVGElement.cpp:
(WebCore::SVGElement::getBoundingBox):
* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::collectGradientAttributes):
* svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::getTransformToElement):
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::synchronizePoints):
(WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::collectGradientAttributes):
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::synchronizeTextLength):
(WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper):
(WebCore::SVGTextContentElement::elementFromRenderer):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::toClipPath):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::connectConditions):
(WebCore::SVGSMILElement::disconnectConditions):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::hasSingleSecurityOrigin):
(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::containerSize):
(WebCore::SVGImage::embeddedContentBox):
(WebCore::SVGImage::hasRelativeWidth):
(WebCore::SVGImage::hasRelativeHeight):
(WebCore::SVGImage::computeIntrinsicDimensions):
(WebCore::SVGImage::startAnimation):
(WebCore::SVGImage::stopAnimation):

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

5 years agoEnsure that layout is up-to-date before hit-testing via RenderView
simon.fraser@apple.com [Tue, 23 Sep 2014 04:39:35 +0000 (04:39 +0000)]
Ensure that layout is up-to-date before hit-testing via RenderView
https://bugs.webkit.org/show_bug.cgi?id=136651

Reviewed by David Hyatt.

Ensure that layout is up-to-date before we do hit-testing via the RenderView.
Previously, RenderLayer::hitTest() called updateLayout(), but it's better
to push that responsibility onto RenderView before entering the RenderLayer
tree.

Make callers a little more consistent in getting the RenderView via
Frame::contentRenderer(), though perhaps we should remove that and just
call Document::renderView() everywhere.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::press): Hit test via the RenderView, rather
than doing so on the RenderView's layer, to ensure that we updateLayout().
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::accessibilityHitTest): This code calls
hitTest() on arbitrary layers, so needs to explicitly update layout.
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::contains):
* page/EventHandler.cpp:
(WebCore::EventHandler::eventMayStartDrag):
(WebCore::EventHandler::updateSelectionForMouseDrag):
(WebCore::EventHandler::hitTestResultAtPoint): The explicit updateLayout() is
no longer needed.
(WebCore::EventHandler::updateCursor):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::hoverTimerFired):
(WebCore::hitTestResultInFrame):
* page/Frame.cpp:
(WebCore::Frame::contentRenderer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTest):
* rendering/RenderView.cpp:
(WebCore::RenderView::hitTest): Here's where we ensure that layout is up-to-date.

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

5 years agoUnreviewed, EFL gardening. Unskip media test on EFL port. Almost media tests
gyuyoung.kim@samsung.com [Tue, 23 Sep 2014 04:31:08 +0000 (04:31 +0000)]
Unreviewed, EFL gardening. Unskip media test on EFL port. Almost media tests
are passed except for some tests. Unfortunately what revision fixed this crash on media test.
To maintain media test on EFL port again, this commit unskips those tests.

* platform/efl/TestExpectations:

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

5 years agoUnreviewed, EFL gardening. Unskip batterystatus, which doesn't come to crash anymore.
gyuyoung.kim@samsung.com [Tue, 23 Sep 2014 04:13:53 +0000 (04:13 +0000)]
Unreviewed, EFL gardening. Unskip batterystatus, which doesn't come to crash anymore.

* platform/efl/TestExpectations:

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

5 years ago[Windows] More test expectation gardening.
roger_fong@apple.com [Tue, 23 Sep 2014 03:08:40 +0000 (03:08 +0000)]
[Windows] More test expectation gardening.
* platform/win/TestExpectations: Skip some failing image only failures, unskip some tests reported as now passing.

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

5 years ago[Windows] More test expectation gardening.
roger_fong@apple.com [Tue, 23 Sep 2014 02:25:17 +0000 (02:25 +0000)]
[Windows] More test expectation gardening.
* platform/win/TestExpectations:

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

5 years ago[EFL][WK2] Minibrowser : Add keyboard support for page reload while ignoring cache
commit-queue@webkit.org [Tue, 23 Sep 2014 01:05:55 +0000 (01:05 +0000)]
[EFL][WK2] Minibrowser : Add keyboard support for page reload while ignoring cache
https://bugs.webkit.org/show_bug.cgi?id=136813

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-09-22
Reviewed by Gyuyoung Kim.

Ctrl+r is used for page reload along with F5. Ctrl+Shift+r and Ctrl+F5 is used for page reload while ignoring cache.

* MiniBrowser/efl/main.c:
(on_key_down):

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

5 years agoUse downcast<SVG*Element>() instead of toSVG*Element()
cdumez@apple.com [Tue, 23 Sep 2014 00:55:05 +0000 (00:55 +0000)]
Use downcast<SVG*Element>() instead of toSVG*Element()
https://bugs.webkit.org/show_bug.cgi?id=137004

Reviewed by Benjamin Poulain.

Use downcast<SVG*Element>() instead of toSVG*Element() for casting SVG
Elements and get rid of the transition toSVG*Element() macros.

Also use downcast<MathML*Element>() instead of toMathML*Element() for
casting MathML Elements.

The HTML Elements casting counterparts will be taken care of in a
separate patch.

No new tests, no behavior change.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::alternativeText):
(WebCore::AccessibilityNodeObject::accessibilityDescription):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::remoteSVGRootElement):
* bindings/js/JSElementCustom.cpp:
(WebCore::toJSNewlyCreated):
* bindings/js/JSNodeCustom.cpp:
(WebCore::createWrapperInline):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSCursorImageValue.cpp:
(WebCore::resourceReferencedByCursorElement):
(WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::matchAllRules):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::locateCousinList):
(WebCore::StyleResolver::canShareStyleWithElement):
(WebCore::StyleResolver::locateSharedStyle):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
* dom/Element.cpp:
(WebCore::Element::synchronizeAllAttributes):
(WebCore::Element::synchronizeAttribute):
(WebCore::Element::boundsInRootViewSpace):
(WebCore::Element::getBoundingClientRect):
(WebCore::Element::childShouldCreateRenderer):
(WebCore::Element::fastAttributeLookupAllowed):
* dom/EventDispatcher.cpp:
(WebCore::eventTargetRespectingTargetRules):
* dom/ScriptElement.cpp:
(WebCore::toScriptElementIfPossible):
* dom/make_names.pl:
(printTypeHelpers):
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::getSVGDocument):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::isPhrasingContent):
(WebCore::MathMLElement::childShouldCreateRenderer):
(WebCore::MathMLElement::attributeChanged):
* mathml/MathMLElement.h:
(WebCore::Node::hasTagName):
* mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::getSelectedSemanticsChild):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::instanceAssociatedWithShadowTreeElement):
* page/Frame.cpp:
(WebCore::Frame::setPageAndTextZoomFactors):
* page/FrameView.cpp:
(WebCore::FrameView::scrollToAnchor):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::parseColSpanFromDOM):
(WebCore::RenderTableCell::parseRowSpanFromDOM):
(WebCore::RenderTableCell::computePreferredLogicalWidths):
* rendering/mathml/RenderMathMLMenclose.cpp:
(WebCore::RenderMathMLMenclose::addChild):
(WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
(WebCore::RenderMathMLMenclose::updateLogicalHeight):
(WebCore::RenderMathMLMenclose::paint):
* rendering/svg/RenderSVGBlock.h:
(WebCore::RenderSVGBlock::graphicsElement):
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::foreignObjectElement):
* rendering/svg/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::gradientElement):
* rendering/svg/RenderSVGGradientStop.h:
* rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::imageElement):
* rendering/svg/RenderSVGInline.h:
(WebCore::RenderSVGInline::graphicsElement):
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::getElementCTM):
(WebCore::RenderSVGModelObject::checkIntersection):
(WebCore::RenderSVGModelObject::checkEnclosure):
* rendering/svg/RenderSVGModelObject.h:
(WebCore::RenderSVGModelObject::element):
* rendering/svg/RenderSVGRect.cpp:
(WebCore::RenderSVGRect::rectElement):
* rendering/svg/RenderSVGResource.cpp:
(WebCore::removeFromCacheAndInvalidateDependencies):
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::pathOnlyClipping):
(WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
* rendering/svg/RenderSVGResourceClipper.h:
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
* rendering/svg/RenderSVGResourceFilter.h:
* rendering/svg/RenderSVGResourceLinearGradient.h:
* rendering/svg/RenderSVGResourceMarker.h:
* rendering/svg/RenderSVGResourceMasker.h:
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::patternElement):
* rendering/svg/RenderSVGResourceRadialGradient.h:
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::svgSVGElement):
* rendering/svg/RenderSVGShape.h:
(WebCore::RenderSVGShape::graphicsElement):
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::textElement):
* rendering/svg/RenderSVGTextPath.cpp:
(WebCore::RenderSVGTextPath::textPathElement):
(WebCore::RenderSVGTextPath::layoutPath):
* rendering/svg/RenderSVGTransformableContainer.cpp:
(WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
* rendering/svg/RenderSVGTransformableContainer.h:
* rendering/svg/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::svgSVGElement):
* rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromLineElement):
(WebCore::updatePathFromPathElement):
(WebCore::updatePathFromPolygonElement):
(WebCore::updatePathFromPolylineElement):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::layoutChildren):
(WebCore::SVGRenderSupport::applyStrokeStyleToContext):
(WebCore::SVGRenderSupport::updateMaskedAncestorShouldIsolateBlending):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::operator<<):
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
* rendering/svg/SVGResources.cpp:
(WebCore::targetReferenceFromResource):
(WebCore::SVGResources::buildCachedResources):
* rendering/svg/SVGTextLayoutEngine.cpp:
(WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::createElementRenderer):
(WebCore::SVGAElement::defaultEventHandler):
* svg/SVGAltGlyphDefElement.cpp:
(WebCore::SVGAltGlyphDefElement::hasValidGlyphElements):
* svg/SVGAltGlyphElement.cpp:
(WebCore::SVGAltGlyphElement::hasValidGlyphElements):
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::calculateAnimatedValue):
* svg/SVGAnimatedTransformList.cpp:
(WebCore::SVGAnimatedTransformListAnimator::SVGAnimatedTransformListAnimator):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
(WebCore::SVGAnimationElement::adjustForInheritance):
* svg/SVGDocument.cpp:
(WebCore::SVGDocument::rootElement):
* svg/SVGElement.cpp:
(WebCore::SVGElement::ownerSVGElement):
(WebCore::SVGElement::viewportElement):
(WebCore::SVGElement::getBoundingBox):
(WebCore::SVGElement::childShouldCreateRenderer):
(WebCore::SVGElement::title):
(WebCore::SVGElement::updateRelativeLengthsInformation):
* svg/SVGElement.h:
(WebCore::Node::hasTagName):
* svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::build):
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::buildPendingResource):
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::childShouldCreateRenderer):
* svg/SVGFilterPrimitiveStandardAttributes.h:
(WebCore::isSVGFilterPrimitiveStandardAttributes):
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::applySVGGlyphSelection):
* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::ensureGlyphCache):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::rebuildFontFace):
* svg/SVGFontFaceFormatElement.cpp:
(WebCore::SVGFontFaceFormatElement::childrenChanged):
* svg/SVGFontFaceSrcElement.cpp:
(WebCore::SVGFontFaceSrcElement::srcValue):
(WebCore::SVGFontFaceSrcElement::childrenChanged):
* svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::childrenChanged):
* svg/SVGGlyphElement.cpp:
(WebCore::SVGGlyphElement::invalidateGlyphCache):
* svg/SVGGraphicsElement.h:
(WebCore::isSVGGraphicsElement):
* svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::insertedInto):
(WebCore::SVGHKernElement::removedFrom):
* svg/SVGImageLoader.cpp:
(WebCore::SVGImageLoader::dispatchLoadEvent):
* svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::determineViewport):
* svg/SVGLinearGradientElement.cpp:
(WebCore::setGradientAttributes):
(WebCore::SVGLinearGradientElement::collectGradientAttributes):
* svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::nearestViewportElement):
(WebCore::SVGLocatable::farthestViewportElement):
(WebCore::SVGLocatable::computeCTM):
(WebCore::SVGLocatable::getTransformToElement):
* svg/SVGMPathElement.cpp:
(WebCore::SVGMPathElement::buildPendingResource):
(WebCore::SVGMPathElement::pathElement):
(WebCore::SVGMPathElement::notifyParentOfPathChange):
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::synchronizeOrientType):
(WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::invalidateMPathDependencies):
(WebCore::SVGPathElement::lookupOrCreateDWrapper):
(WebCore::SVGPathElement::synchronizeD):
* svg/SVGPathSegList.cpp:
(WebCore::SVGPathSegList::commitChange):
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::collectPatternAttributes):
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::synchronizePoints):
(WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
* svg/SVGRadialGradientElement.cpp:
(WebCore::setGradientAttributes):
(WebCore::SVGRadialGradientElement::collectGradientAttributes):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::setupInitialView):
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::synchronizeTextLength):
(WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper):
(WebCore::SVGTextContentElement::elementFromRenderer):
* svg/SVGTextContentElement.h:
(WebCore::isSVGTextContentElement):
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::buildPendingResource):
* svg/SVGUseElement.cpp:
(WebCore::dumpInstanceTree):
(WebCore::SVGUseElement::buildPendingResource):
(WebCore::SVGUseElement::toClipPath):
(WebCore::SVGUseElement::buildInstanceTree):
(WebCore::SVGUseElement::hasCycleUseReferencing):
(WebCore::SVGUseElement::expandUseElementsInShadowTree):
(WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
* svg/SVGVKernElement.cpp:
(WebCore::SVGVKernElement::insertedInto):
(WebCore::SVGVKernElement::removedFrom):
* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::viewTarget):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::buildPendingResource):
(WebCore::SVGSMILElement::connectConditions):
(WebCore::SVGSMILElement::disconnectConditions):
* svg/animation/SVGSMILElement.h:
(WebCore::isSVGSMILElement):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::hasSingleSecurityOrigin):
(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::containerSize):
(WebCore::SVGImage::embeddedContentBox):
(WebCore::SVGImage::hasRelativeWidth):
(WebCore::SVGImage::hasRelativeHeight):
(WebCore::SVGImage::computeIntrinsicDimensions):
(WebCore::SVGImage::startAnimation):
(WebCore::SVGImage::stopAnimation):
* svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::platformApplySoftware):
* svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
(WebCore::SVGAnimatedPathSegListPropertyTearOff::animValDidChange):
* svg/properties/SVGPathSegListPropertyTearOff.cpp:
(WebCore::SVGPathSegListPropertyTearOff::contextElement):

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

5 years agoFollow on fix for [iOS] ASSERTION FAILED: WTF::isMainThread() in WebCore::memoryCache...
psolanki@apple.com [Tue, 23 Sep 2014 00:47:06 +0000 (00:47 +0000)]
Follow on fix for [iOS] ASSERTION FAILED: WTF::isMainThread() in WebCore::memoryCache() when using WebKit1
https://bugs.webkit.org/show_bug.cgi?id=136962

Rubber-stamped by Simon Fraser.

Remove the const per review comment. It is not needed.

* loader/cocoa/DiskCacheMonitorCocoa.mm:
(WebCore::DiskCacheMonitor::DiskCacheMonitor):

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

5 years agoMove nodeFromPoint() back to Document where it belongs
simon.fraser@apple.com [Tue, 23 Sep 2014 00:23:54 +0000 (00:23 +0000)]
Move nodeFromPoint() back to Document where it belongs
https://bugs.webkit.org/show_bug.cgi?id=137012

Reviewed by Zalan Bujtas.
Source/WebCore:

nodeFromPoint() was moved into TreeScope for ShadowDOM work, but now we can move
it back to its logical place.

Make versions of elementFromPoint and caretRangeFromPoint that take LayoutPoints,
and change the current scale/offset code to be in layout units (which results
in a small behavior change).

elementFromPoint(int, int) and caretRangeFromPoint(int, int) are still required
for bindings code.

* dom/Document.cpp:
(WebCore::Document::nodeFromPoint):
(WebCore::Document::elementFromPoint):
(WebCore::Document::caretRangeFromPoint):
* dom/Document.h:
(WebCore::Document::elementFromPoint): Move logic from TreeScope::elementFromPoint()
here.
* dom/TreeScope.cpp:
(WebCore::nodeFromPoint): Deleted.
(WebCore::TreeScope::elementFromPoint): Deleted.
* dom/TreeScope.h:

LayoutTests:

All platforms use subpixel layout now, so remove the conditional behavior in this test.
Fix the test to account for scaling now being done in layout units.

* fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport-expected.txt:
* fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport.html:
* platform/mac/fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport-expected.txt:

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

5 years agoSplit the test parsing-css-nth-child-of.html in 3
benjamin@webkit.org [Mon, 22 Sep 2014 23:10:47 +0000 (23:10 +0000)]
Split the test parsing-css-nth-child-of.html in 3
https://bugs.webkit.org/show_bug.cgi?id=137013

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-22
Rubber-stamped by Christophe Dumez.

parsing-css-nth-child-of.html tends to be too slow in debug, causing timeout from time to time.

The speed issues will be fixed once we JIT the selector. Since it will take a while before the JIT is ready,
this patch splits the test in three to avoid timeouts on the bots.

* fast/css/parsing-css-nth-child-of-1-expected.txt: Renamed from LayoutTests/fast/css/parsing-css-nth-child-of-expected.txt.
* fast/css/parsing-css-nth-child-of-1.html: Added.
* fast/css/parsing-css-nth-child-of-2-expected.txt: Added.
* fast/css/parsing-css-nth-child-of-2.html: Renamed from LayoutTests/fast/css/parsing-css-nth-child-of.html.
* fast/css/parsing-css-nth-child-of-3-expected.txt: Added.
* fast/css/parsing-css-nth-child-of-3.html: Added.

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

5 years agoAdd the baseline implementation of :nth-child(An+B of selector-list)
benjamin@webkit.org [Mon, 22 Sep 2014 22:09:13 +0000 (22:09 +0000)]
Add the baseline implementation of :nth-child(An+B of selector-list)
https://bugs.webkit.org/show_bug.cgi?id=136975

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-22
Reviewed by Darin Adler.

Source/WebCore:

Tests: fast/css/nth-child-of-classname.html
       fast/css/nth-child-of-complex-selector.html
       fast/css/nth-child-of-compound-selector.html
       fast/css/nth-child-of-tagname.html
       fast/selectors/nth-child-of-basics.html
       fast/selectors/nth-child-of-class-style-update.html
       fast/selectors/nth-child-of-complex-selectors.html
       fast/selectors/nth-child-of-selector-list.html

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
Pretty basic:
-Go over the previous siblings.
-For each sibling, test the selector list. If it matches, increase the count.

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
Skip any case of the new selector. This will be implemented separately.

LayoutTests:

* fast/css/nth-child-of-classname-expected.html: Added.
* fast/css/nth-child-of-classname.html: Added.
* fast/css/nth-child-of-complex-selector-expected.html: Added.
* fast/css/nth-child-of-complex-selector.html: Added.
* fast/css/nth-child-of-compound-selector-expected.html: Added.
* fast/css/nth-child-of-compound-selector.html: Added.
* fast/css/nth-child-of-tagname-expected.html: Added.
* fast/css/nth-child-of-tagname.html: Added.
Cover basic styling and style sharing.

* fast/selectors/nth-child-of-basics-expected.txt: Added.
* fast/selectors/nth-child-of-basics.html: Added.
* fast/selectors/nth-child-of-complex-selectors-expected.txt: Added.
* fast/selectors/nth-child-of-complex-selectors.html: Added.
* fast/selectors/nth-child-of-selector-list-expected.txt: Added.
* fast/selectors/nth-child-of-selector-list.html: Added.
Cover querySelector and styling of various cases.

* fast/selectors/nth-child-of-class-style-update-expected.txt: Added.
* fast/selectors/nth-child-of-class-style-update.html: Added.
Basic case of style invalidation.

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

5 years agoImplement 'vhea', 'vmtx', and 'kern' tables in SVG -> OTF converter
mmaxfield@apple.com [Mon, 22 Sep 2014 22:08:02 +0000 (22:08 +0000)]
Implement 'vhea', 'vmtx', and 'kern' tables in SVG -> OTF converter
https://bugs.webkit.org/show_bug.cgi?id=136971

Reviewed by Darin Adler.

This patch fills in the tables related to vertical metrics and kerning. The vertical metrics tables are
fairly straightforward. On the other hand, the 'kern' table has subtables which can be in a variety
of formats; however, according to Microsoft, Windows only allows one particular format, which doesn't
allow for ranges of glyphs to be described and therefore might lead to a large 'kern' table size. In
the interest of platform agnosticism I have implemented this particular format, and have not actually
witnessed any extremely large 'kern' tables in any of the fonts that I have looked at.

I also added basic support for the horiz-origin-x and horiz-origin-y SVG properties, though support
might not be perfect based on my testing.

Regarding testing, after this patch, almost all of our SVG fonts tests pass (barring tiny rebaselining;
the platform font system calculates slightly different advances than we did. These differences are tiny
and expected from such a dramatic shift in text handling engines.) There are around two dozen failing
tests left that look like they are actually indiciative of code problems.

* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::ensureGlyphCache): Refactor to accept new signature of
SVG*KernElement::build*KerningPair().
* svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::buildHorizontalKerningPair): Refactor to allow for intermediate data to be
returned, which the SVG -> OTF font converter can use.
* svg/SVGHKernElement.h: New signature for buildHorizontalKerningPair().
* svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::GlyphData::GlyphData): Save the glyph's vertical advance along with
the glyph's horizontal advance.
(WebCore::SVGToOTFFontConverter::KerningData::KerningData): This data represents a record in one of
the two 'kern' subtables, and as such needs to be sorted.
(WebCore::SVGToOTFFontConverter::KerningData::operator<): Sort comparator.
(WebCore::SVGToOTFFontConverter::appendHEADTable): Save the unitsPerEm locally to save a conditional.
(WebCore::SVGToOTFFontConverter::appendHHEATable): Ditto.
(WebCore::SVGToOTFFontConverter::appendHMTXTable): Ditto. Also use the horizontal advance as opposed to
the vertical advance.
(WebCore::SVGToOTFFontConverter::appendOS2Table): Save the unitsPerEm locally to save a conditional.
Also if the average advance isn't found in the font, use the missing glyph's advance. If there is no
missing glyph, bail and use the unitsPerEm.
(WebCore::SVGToOTFFontConverter::appendVORGTable): If the default vertical origin isn't found in the
font, use the missing glyphs's vertical origin. If there is no missing glyph, bail and use 0.
(WebCore::SVGToOTFFontConverter::appendVHEATable): Parallel of 'hhea' table, except for vertical info.
(WebCore::SVGToOTFFontConverter::appendVMTXTable): Parallel of 'hmtx' table, except for vertical info.
(WebCore::SVGToOTFFontConverter::appendKerningHelperFields): Computes and appends 4 fields that font
parsers need in order to do a binary search on the kern records.
(WebCore::SVGToOTFFontConverter::addCodepointRanges): For each codepoint in the ranges, look up its
representative glyph and append it to a set.
(WebCore::SVGToOTFFontConverter::addCodepoints): For each codepoint in the range, look up its
representative glyph and append it to a set.
(WebCore::SVGToOTFFontConverter::addGlyphNames): For each glyph name, look up its representative glyph
and append it to a set.
(WebCore::SVGToOTFFontConverter::computeKerningData): Call SVG*KernElement::build*KerningPair() and
iterate through all the data it returned, building up records into a Vector.
(WebCore::SVGToOTFFontConverter::appendKERNTable): Go through the vector that computeKerningData()
returned and actually write out the two subtables. One is for horizontal kerning and the other is for
vertical kerning.
(WebCore::CFFBuilder::CFFBuilder): Use the position of the glyph origin to perform the initial moveto
command.
(WebCore::transcodeGlyphPaths): Get the glyph's origin and pass it to the CFFBuilder.
(WebCore::SVGToOTFFontConverter::appendGlyphData): Templated overloading so that the missing glyph
gets a null SVGGlyphElement pointer but the rest of the glyphs get a non-null one.
(WebCore::SVGToOTFFontConverter::processGlyphElement): Called on both SVGGlyphElements and
SVGMissingGlyphElements, this pulls out information from the element and computs its path information.
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter): Use the new templated version of
processGlyphElement so we can get the same glyph parsing behavior on SVGMissingGlyphElements. In
addition, populate two maps for the kerning table creation function to use.
(WebCore::SVGToOTFFontConverter::convertSVGToOTFFont): Append new tables.
* svg/SVGVKernElement.cpp:
(WebCore::SVGVKernElement::buildVerticalKerningPair): Refactor to allow for intermediate data to be
returned, which the SVG -> OTF font converter can use.
* svg/SVGVKernElement.h: New signature for buildVerticalKerningPair().

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

5 years ago[Cocoa] Add UI delegate callback when window.close() is called
dbates@webkit.org [Mon, 22 Sep 2014 22:00:49 +0000 (22:00 +0000)]
[Cocoa] Add UI delegate callback when window.close() is called
https://bugs.webkit.org/show_bug.cgi?id=137008
<rdar://problem/17801001>

Reviewed by Anders Carlsson.

Source/WebKit2:

Implement support infrastructure to notify the UI client when window.close() is called.

* UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Added method declaration for -_webViewClose:.
* UIProcess/Cocoa/UIDelegate.h: Added override declaration for API::UIClient::close().
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate): Wire up delegate method to Objective-C selector, -[WKUIDelegatePrivate _webViewClose:].
(WebKit::UIDelegate::UIClient::close): Added; turns around and calls -[WKUIDelegatePrivate _webViewClose:] (if applicable).

Tools:

Add a test to ensure that -[WKUIDelegatePrivate _webViewClose:] is called on window.close()
for window opened via JavaScript (i.e. window.open()).

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/open-and-close-window.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm: Added.

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

5 years agoWebSocket crash when a connection is closed from server side
ap@apple.com [Mon, 22 Sep 2014 21:10:36 +0000 (21:10 +0000)]
WebSocket crash when a connection is closed from server side
https://bugs.webkit.org/show_bug.cgi?id=137009
rdar://problem/18333977
rdar://problem/12708225

Reviewed by Brady Eidson.

I don't think that this can be tested with our test server.

* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel): Added logging.
(WebCore::WebSocketChannel::~WebSocketChannel): Ditto.
(WebCore::WebSocketChannel::close): Protect self, because startClosingHandshake
can release the last reference.
(WebCore::WebSocketChannel::fail): Added an assertion that the channel is always
closed after this function.
(WebCore::WebSocketChannel::startClosingHandshake): Protect self, and don't change
the stack from closed back to closing if after failing to send closing handshake.
(WebCore::WebSocketChannel::processOutgoingFrameQueue): Protect self.

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

5 years agoFTL allocatePropertyStorage code should involve less copy-paste
fpizlo@apple.com [Mon, 22 Sep 2014 20:25:49 +0000 (20:25 +0000)]
FTL allocatePropertyStorage code should involve less copy-paste
https://bugs.webkit.org/show_bug.cgi?id=137006

Reviewed by Michael Saboff.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::allocatePropertyStorage):
(JSC::FTL::LowerDFGToLLVM::reallocatePropertyStorage):
(JSC::FTL::LowerDFGToLLVM::allocatePropertyStorageWithSizeImpl):

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

5 years agoBad cast in isValidColumnSpanner.
hyatt@apple.com [Mon, 22 Sep 2014 19:52:08 +0000 (19:52 +0000)]
Bad cast in isValidColumnSpanner.
https://bugs.webkit.org/show_bug.cgi?id=133380.

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/multicol/multicol-crazy-nesting.html

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::isValidColumnSpanner):
The crawl up the chain looking for unsplittable objects should use containing blocks
and not be casting to parent boxes. You can have an inline in the parent chain, so
this was not the right way to walk up the tree.

LayoutTests:

* fast/multicol/multicol-crazy-nesting-expected.txt: Added.
* fast/multicol/multicol-crazy-nesting.html: Added.

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

5 years agoASSERT in RenderMultiColumnSet::requiresBalancing.
hyatt@apple.com [Mon, 22 Sep 2014 18:55:50 +0000 (18:55 +0000)]
ASSERT in RenderMultiColumnSet::requiresBalancing.
https://bugs.webkit.org/show_bug.cgi?id=136376.

Reviewed by David Kilzer.

Source/WebCore:

Added fast/multicol/multicol-selection.html.

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::isValidColumnSpanner):
Don't allow an object to become a spanner if it does not have the flow
thread as its containing block. Otherwise the flow thread won't get notified
of spanner placeholder insertions, and so the spanner ends up orphaned.

LayoutTests:

* fast/multicol/multicol-selection-expected.txt: Added.
* fast/multicol/multicol-selection.html: Added.

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

5 years agoW3C importer should import html files within resources folders
commit-queue@webkit.org [Mon, 22 Sep 2014 18:36:46 +0000 (18:36 +0000)]
W3C importer should import html files within resources folders
https://bugs.webkit.org/show_bug.cgi?id=127548

Patch by Youenn Fablet <youennf@gmail.com> on 2014-09-22
Reviewed by Ryosuke Niwa.

Import HTML files in any folder named "resources" even if file is not detected as a HTML test file

* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.find_importable_tests):

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

5 years ago[Win] Implement cap height in SimpleFontDataWin to enable initial-letter support...
bfulgham@apple.com [Mon, 22 Sep 2014 18:35:23 +0000 (18:35 +0000)]
[Win] Implement cap height in SimpleFontDataWin to enable initial-letter support for Windows.
https://bugs.webkit.org/show_bug.cgi?id=136841

Reviewed by David Hyatt.

* platform/graphics/win/SimpleFontDataCGWin.cpp:
(WebCore::SimpleFontData::platformInit): Add missing calls to set up our fonts.

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

5 years agoSimple ES6 feature: Number constructor extras
commit-queue@webkit.org [Mon, 22 Sep 2014 16:53:37 +0000 (16:53 +0000)]
Simple ES6 feature: Number constructor extras
https://bugs.webkit.org/show_bug.cgi?id=131707

Patch by Diego Pino Garcia <dpino@igalia.com> on 2014-09-22
Reviewed by Darin Adler.

Source/JavaScriptCore:

* runtime/CommonIdentifiers.h: Added new identifiers.
* runtime/NumberConstructor.cpp:
(JSC::NumberConstructor::getOwnPropertySlot):
(JSC::NumberConstructor::isFunction): Added.
(JSC::numberConstructorEpsilonValue): Added.
(JSC::numberConstructorNegInfinity): Added.
(JSC::numberConstructorPosInfinity): Added.
(JSC::numberConstructorMaxValue): Added.
(JSC::numberConstructorMinValue): Added.
(JSC::numberConstructorMaxSafeInteger): Added.
(JSC::numberConstructorMinSafeInteger): Added.
(JSC::numberConstructorFuncIsFinite): Added.
(JSC::numberConstructorFuncIsInteger): Added.
(JSC::numberConstructorFuncIsNaN): Added.
(JSC::numberConstructorFuncIsSafeInteger): Added.
* runtime/NumberConstructor.h:

LayoutTests:

* js/Object-getOwnPropertyNames-expected.txt:
* js/number-constructor-expected.txt: Added.
* js/number-constructor.html: Added.
* js/script-tests/Object-getOwnPropertyNames.js:
* js/script-tests/number-constructor.js: Added.

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

5 years agoUpdate HTMLMediaElement logging
eric.carlson@apple.com [Mon, 22 Sep 2014 15:51:24 +0000 (15:51 +0000)]
Update HTMLMediaElement logging
https://bugs.webkit.org/show_bug.cgi?id=136991

Reviewed by Alexey Proskuryakov.

No new tests, only logging was changed.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::parseAttribute):

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

5 years agoFTL should store the four bytes of the cell header using a 32-bit store rather than...
fpizlo@apple.com [Mon, 22 Sep 2014 15:34:29 +0000 (15:34 +0000)]
FTL should store the four bytes of the cell header using a 32-bit store rather than four 8-bit stores
https://bugs.webkit.org/show_bug.cgi?id=136992

Reviewed by Sam Weinig.

LLVM ought to be able to do this optimization for us given how the code was written, but
any such lower-level attempts to optimize this would get into trouble with the weird
object materialization logic I'll be introducing in bug 136330. So, this brings the
merging of the byte stores into the FTL lowering so that we can control it explicitly.

* ftl/FTLAbstractHeap.h:
(JSC::FTL::AbstractHeap::changeParent):
* ftl/FTLAbstractHeapRepository.cpp:
(JSC::FTL::AbstractHeapRepository::AbstractHeapRepository):
* ftl/FTLAbstractHeapRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::allocateCell):

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

5 years agoREGRESSION(r173631): It broke the !ENABLE(VIDEO) build
evab.u-szeged@partner.samsung.com [Mon, 22 Sep 2014 15:00:52 +0000 (15:00 +0000)]
REGRESSION(r173631): It broke the !ENABLE(VIDEO) build
https://bugs.webkit.org/show_bug.cgi?id=136946

Reviewed by Jer Noble.

No new tests required, no new functionality.

* page/DragController.cpp:
(WebCore::DragController::startDrag):

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

5 years ago[CSSRegions] Use nullptr in regions code
mihnea@adobe.com [Mon, 22 Sep 2014 14:47:53 +0000 (14:47 +0000)]
[CSSRegions] Use nullptr in regions code
https://bugs.webkit.org/show_bug.cgi?id=137001

Reviewed by Andrei Bucur.

No new tests as no new functionality is introduced.

* dom/DOMNamedFlowCollection.cpp:
(WebCore::DOMNamedFlowCollection::item):
(WebCore::DOMNamedFlowCollection::namedItem):
* dom/NamedFlowCollection.cpp:
(WebCore::NamedFlowCollection::flowByName):
* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::WebKitNamedFlow):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::getLayerListForRegion):
(WebCore::RenderFlowThread::regionForCompositedLayer):
(WebCore::RenderFlowThread::regionAtBlockOffset):
(WebCore::RenderFlowThread::mapFromFlowToRegion):
(WebCore::RenderFlowThread::firstRegion):
(WebCore::RenderFlowThread::lastRegion):
(WebCore::RenderFlowThread::currentActiveRenderBox):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::nextRendererForElement):

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

5 years ago[GTK] Test /webkit2/WebKitWebView/can-show-mime-type fails if evince browser plugin...
carlosgc@webkit.org [Mon, 22 Sep 2014 11:15:08 +0000 (11:15 +0000)]
[GTK] Test /webkit2/WebKitWebView/can-show-mime-type fails if evince browser plugin is installed
https://bugs.webkit.org/show_bug.cgi?id=136998

Reviewed by Philippe Normand.

* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
(testWebViewCanShowMIMEType): Remove the check of PDF as
unsupported MIME type.

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

5 years ago[kn] Kannada Translation for webkit - Updated
berto@igalia.com [Mon, 22 Sep 2014 11:10:49 +0000 (11:10 +0000)]
[kn] Kannada Translation for webkit - Updated
https://bugs.webkit.org/show_bug.cgi?id=116941

Patch by Shankar Prasad <svenkate@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.

* kn.po:

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

5 years agoUnreviewed. Fix WebKitGTKTranslations rule in watchlist.
carlosgc@webkit.org [Mon, 22 Sep 2014 09:53:52 +0000 (09:53 +0000)]
Unreviewed. Fix WebKitGTKTranslations rule in watchlist.

In r145081 GTK+ translations were moved from Source/WebKit/gtk/po/
to Source/WebCore/platform/gtk/po/ but the rule was not updated.

* Scripts/webkitpy/common/config/watchlist: Use
Source/WebCore/platform/gtk/po/ as directory to watch for
WebKitGTKTranslations rule and add berto and myself to the list of
watchers.

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

5 years ago[l10n] [mr] WebKitGTK+ Marathi Translations
berto@igalia.com [Mon, 22 Sep 2014 09:48:17 +0000 (09:48 +0000)]
[l10n] [mr] WebKitGTK+ Marathi Translations
https://bugs.webkit.org/show_bug.cgi?id=136979

Patch by Sandeep Shedmake <sandeep.shedmake@gmail.com> on 2014-09-22
Reviewed by Philippe Normand.

* mr.po:

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

5 years agoFix syntaxError in watchlist since r173594
ryuan.choi@gmail.com [Mon, 22 Sep 2014 08:51:53 +0000 (08:51 +0000)]
Fix syntaxError in watchlist since r173594
https://bugs.webkit.org/show_bug.cgi?id=136996

Reviewed by Philippe Normand.

* Scripts/webkitpy/common/config/watchlist: Removed unnecessary comma.

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

5 years ago[l10n] Updated Polish translation of WebKitGTK+
berto@igalia.com [Mon, 22 Sep 2014 08:36:24 +0000 (08:36 +0000)]
[l10n] Updated Polish translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=136976

Patch by Piotr Drąg <piotrdrag@gmail.com> on 2014-09-22
Reviewed by Philippe Normand.

* pl.po:

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

5 years ago[l10n] Updated Hebrew translation of WebKitGTK+
berto@igalia.com [Mon, 22 Sep 2014 08:34:46 +0000 (08:34 +0000)]
[l10n] Updated Hebrew translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=136678

Patch by Yosef Or Boczko <yoseforb@gnome.org> on 2014-09-22
Reviewed by Philippe Normand.

* he.po:

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

5 years agoWebkit Tamil translations updated
berto@igalia.com [Mon, 22 Sep 2014 08:33:46 +0000 (08:33 +0000)]
Webkit Tamil translations updated
https://bugs.webkit.org/show_bug.cgi?id=136816

Patch by Shantha kumar <shantha.thamizh@gmail.com> on 2014-09-22
Reviewed by Philippe Normand.

* ta.po:

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

5 years ago[as] Updated Assamese translations of WebKitGtk+
berto@igalia.com [Mon, 22 Sep 2014 08:32:34 +0000 (08:32 +0000)]
[as] Updated Assamese translations of WebKitGtk+
https://bugs.webkit.org/show_bug.cgi?id=136908

Patch by Nilamdyuti Goswami <ngoswami@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.

* as.po:

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

5 years agoOdia (or_IN) translation for webkit
berto@igalia.com [Mon, 22 Sep 2014 08:30:41 +0000 (08:30 +0000)]
Odia (or_IN) translation for webkit
https://bugs.webkit.org/show_bug.cgi?id=136920

Patch by Manoj Kumar Giri <mgiri@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.

* or.po:

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

5 years agoWebkit Gujarati Translations
berto@igalia.com [Mon, 22 Sep 2014 08:28:41 +0000 (08:28 +0000)]
Webkit Gujarati Translations
https://bugs.webkit.org/show_bug.cgi?id=136525

Patch by Sweta Kothari <swkothar@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.

* gu.po:

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

5 years ago[GStreamer] Cannot play Vimeo video
philn@webkit.org [Mon, 22 Sep 2014 08:15:32 +0000 (08:15 +0000)]
[GStreamer] Cannot play Vimeo video
https://bugs.webkit.org/show_bug.cgi?id=134969

Reviewed by Sergio Villar Senin.

Source/WebCore:

Ensure the GStreamer HTTP source element also sends cookies when
it's sending its requests. Some streaming platforms such as Vimeo
do server-side cookie checks on incoming requests before serving
media data.

Test: http/tests/media/hls/video-cookie.html

* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStart): Set first-party cookie URL to the request so
the ResourceLoader properly sets cookies in the HTTP request.

LayoutTests:

New test for a HLS stream enforcing a specific cookie before
serving its fragments, like Vimeo does.

* http/tests/media/hls/video-cookie-expected.txt: Added.
* http/tests/media/hls/video-cookie.html: Added.
* http/tests/media/resources/hls/playlist-with-cookie.m3u8: Added.
* http/tests/media/resources/hls/sub-playlist-with-cookie.php: Added.
* http/tests/media/resources/video-cookie-check-cookie.php:
* platform/gtk/TestExpectations: Marked test as slow, as the other
HLS test.

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

5 years agoLeverage RenderLayerBacking::renderer() instead of m_owningLayer.renderer()
mihnea@adobe.com [Mon, 22 Sep 2014 07:51:54 +0000 (07:51 +0000)]
Leverage RenderLayerBacking::renderer() instead of m_owningLayer.renderer()
https://bugs.webkit.org/show_bug.cgi?id=136954

Reviewed by Darin Adler.

No new tests just refactoring.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateCompositedBounds):
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
(WebCore::RenderLayerBacking::paintIntoLayer):

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

5 years agoEliminate redundant PtrHash specializations
commit-queue@webkit.org [Mon, 22 Sep 2014 07:20:31 +0000 (07:20 +0000)]
Eliminate redundant PtrHash specializations
https://bugs.webkit.org/show_bug.cgi?id=136990

Patch by Sam Weinig <sam@webkit.org> on 2014-09-22
Reviewed by Darin Adler.

Now that we have IsSmartPtr, we can eliminate all the specializations
of PtrHash that we had (for RefPtr, OwnPtr, RetainPtr, and std::unique_ptr)
and instead just have one that uses GetPtrHelper.

No changes of behavior intended.

* wtf/GetPtr.h:
Remove unnecessary const_cast that Darin noticed.

* wtf/HashFunctions.h:
(WTF::PtrHash::hash): Deleted.
(WTF::PtrHash::equal): Deleted.
(WTF::PtrHash<RefPtr<P>>::hash): Deleted.
(WTF::PtrHash<RefPtr<P>>::equal): Deleted.
Specialize PtrHash based on whether the type is a smart pointer, and use GetPtrHelper
to implement the smart pointer specialized variant.

* wtf/HashMap.h:
Remove include of GetPtr.h that is now included by HashFunctions.h

* wtf/OwnPtr.h:
(WTF::PtrHash<OwnPtr<P>>::hash): Deleted.
(WTF::PtrHash<OwnPtr<P>>::equal): Deleted.
Remove unnecessary specialization of PtrHash.

* wtf/RetainPtr.h:
(WTF::PtrHash<RetainPtr<P>>::hash): Deleted.
(WTF::PtrHash<RetainPtr<P>>::equal): Deleted.
Specialize IsSmartPointer for RetainPtr and remove the then unnecessary specialization of PtrHash.
(This is already tested in the API test WTF/cf/RetainPtrHashing).

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

5 years ago[CSS Regions] Assertion failure and null dereference crash when using animations...
mihnea@adobe.com [Mon, 22 Sep 2014 07:08:42 +0000 (07:08 +0000)]
[CSS Regions] Assertion failure and null dereference crash when using animations and regions
https://bugs.webkit.org/show_bug.cgi?id=136918

Reviewed by Andrei Bucur.

Source/WebCore:

In some situations, for instance when an image has an attached animation, the style change caused by the animation
triggers a geometry update for the backing store associated with the image's layer. This may occur before
the layout for the image has finished.

Moreover, if the image in such situation - having a composited layer - is displayed in a region,
sicne the layout did not finish yet, the mappings between the layers of the elements collected in the named flow
and the regions associated with the named flow are not updated and cannot be used.

Therefore in those situations, we have to bail out early and use these mappings only after the layout has finished.

This patch also changes RenderLayerBacking method updateAfterDescendents -> updateAfterDescendants.

Test: fast/regions/animated-image-in-region.html

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::cachedRegionForCompositedLayer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAfterDescendants):
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):

LayoutTests:

* fast/regions/animated-image-in-region-expected.txt: Added.
* fast/regions/animated-image-in-region.html: Added.

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

5 years agoWeb Inspector: fix TypeSet hierarchy in TypeTokenView
saambarati1@gmail.com [Mon, 22 Sep 2014 06:58:29 +0000 (06:58 +0000)]
Web Inspector: fix TypeSet hierarchy in TypeTokenView
https://bugs.webkit.org/show_bug.cgi?id=136982

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

TypeSet was computing the set of type booleans in the Inspector::Protocol::Runtime::TypeSet
object incorrectly because it was calling TypeSet::doesTypeConformTo(T) which checks if the
type set has only been of type T. It now checks '(m_seenTypes & T) != TypeNothing' to see
if type T is in the set of seen types, but not the entire set itself.

* runtime/TypeSet.cpp:
(JSC::TypeSet::inspectorTypeSet):

Source/WebInspectorUI:

The protocol object representation of TypeSet was being computed
incorrectly in JSC::TypeSet. This patch fixes that problem
and also asserts that the type information that the Web Inspector
receives is not empty.

* UserInterface/Models/TypeSet.js:
(WebInspector.TypeSet):
* UserInterface/Views/TypeTokenView.js:
(WebInspector.TypeTokenView.prototype._displayTypeName):

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

5 years agoGenerate Element casting helper functions
cdumez@apple.com [Mon, 22 Sep 2014 03:51:55 +0000 (03:51 +0000)]
Generate Element casting helper functions
https://bugs.webkit.org/show_bug.cgi?id=136839

Reviewed by Darin Adler.

Source/WebCore:

Generate Element casting helper functions instead of requiring explicit
use of NODE_TYPE_CASTS() macro. Casting is now done using the following
form: downcast<HTMLDivElement>(), instead of toHTMLDivElement().

The previous form (i.e. toHTMLDivElement()) is still supported for now
by generating macros that convert these calls into the new form, until
the code base is ported to the new casting helpers.

The plan is also to use is<HTMLDivElement>() instead of
isHTMLDivElement() for consistency but this was not changed in this
patch to avoid blowing up the size.

This CL also updates the way we convert a JSValue into an
implementation pointer. Instead of using toHTMLDivElement(), which
looked like a cast, we now use JSHTMLDivElement::toWrapped(). This
avoids conflicting with the toXXXElement() macros and makes it
clearer this is not a simple cast.

No new tests, no behavior change.

* Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::installReplacement):
* WebCore.exp.in:
* bindings/js/JSAudioBufferSourceNodeCustom.cpp:
(WebCore::JSAudioBufferSourceNode::setBuffer):
* bindings/js/JSBlobCustom.cpp:
(WebCore::constructJSBlob):
* bindings/js/JSCommandLineAPIHostCustom.cpp:
(WebCore::JSCommandLineAPIHost::getEventListeners):
(WebCore::JSCommandLineAPIHost::databaseId):
(WebCore::JSCommandLineAPIHost::storageId):
* bindings/js/JSDOMFormDataCustom.cpp:
(WebCore::toHTMLFormElementOrNull):
(WebCore::constructJSDOMFormData):
(WebCore::JSDOMFormData::append):
(WebCore::toHTMLFormElement): Deleted.
* bindings/js/JSDOMStringListCustom.cpp:
(WebCore::JSDOMStringList::toWrapped):
(WebCore::toDOMStringList): Deleted.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::toWrapped):
(WebCore::toDOMWindow): Deleted.
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue):
* bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::createTouchList):
* bindings/js/JSEventTargetCustom.cpp:
(WebCore::JSEventTarget::toWrapped):
(WebCore::toEventTarget): Deleted.
* bindings/js/JSExceptionBase.cpp:
(WebCore::toExceptionBase):
* bindings/js/JSHTMLMediaElementCustom.cpp:
(WebCore::JSHTMLMediaElement::setController):
* bindings/js/JSHTMLOptionsCollectionCustom.cpp:
(WebCore::JSHTMLOptionsCollection::add):
(WebCore::JSHTMLOptionsCollection::remove):
* bindings/js/JSHTMLSelectElementCustom.cpp:
(WebCore::JSHTMLSelectElement::remove):
(WebCore::selectIndexSetter):
* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::JSInspectorFrontendHost::showContextMenu):
* bindings/js/JSMessageEventCustom.cpp:
(WebCore::handleInitMessageEvent):
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::fillMessagePortArray):
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::insertBefore):
(WebCore::JSNode::replaceChild):
(WebCore::JSNode::removeChild):
(WebCore::JSNode::appendChild):
* bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::toWrapped):
(WebCore::toNodeFilter): Deleted.
* bindings/js/JSSubtleCryptoCustom.cpp:
(WebCore::JSSubtleCrypto::encrypt):
(WebCore::JSSubtleCrypto::decrypt):
(WebCore::JSSubtleCrypto::sign):
(WebCore::JSSubtleCrypto::verify):
(WebCore::JSSubtleCrypto::exportKey):
(WebCore::JSSubtleCrypto::wrapKey):
(WebCore::JSSubtleCrypto::unwrapKey):
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::getAttachedShaders):
(WebCore::JSWebGLRenderingContext::getProgramParameter):
(WebCore::JSWebGLRenderingContext::getShaderParameter):
(WebCore::JSWebGLRenderingContext::getUniform):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::send):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpIfTerminal):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
(GenerateParametersCheck):
(JSValueToNative):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::JSTestActiveDOMObject::toWrapped):
(WebCore::toTestActiveDOMObject): Deleted.
* bindings/scripts/test/JS/JSTestActiveDOMObject.h:
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::JSTestCustomNamedGetter::toWrapped):
(WebCore::toTestCustomNamedGetter): Deleted.
* bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::toWrapped):
(WebCore::toTestEventConstructor): Deleted.
* bindings/scripts/test/JS/JSTestEventConstructor.h:
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
(WebCore::JSTestEventTarget::toWrapped):
(WebCore::toTestEventTarget): Deleted.
* bindings/scripts/test/JS/JSTestEventTarget.h:
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestException::toWrapped):
(WebCore::toTestException): Deleted.
* bindings/scripts/test/JS/JSTestException.h:
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachable::toWrapped):
(WebCore::toTestGenerateIsReachable): Deleted.
* bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceSupplementalNode):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
(WebCore::JSTestInterface::toWrapped):
(WebCore::toTestInterface): Deleted.
* bindings/scripts/test/JS/JSTestInterface.h:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListener::toWrapped):
(WebCore::toTestMediaQueryListListener): Deleted.
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructor::toWrapped):
(WebCore::toTestNamedConstructor): Deleted.
* bindings/scripts/test/JS/JSTestNamedConstructor.h:
* bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::JSTestNondeterministic::toWrapped):
(WebCore::toTestNondeterministic): Deleted.
* bindings/scripts/test/JS/JSTestNondeterministic.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjTestObjAttr):
(WebCore::setJSTestObjXMLObjAttr):
(WebCore::setJSTestObjWithScriptExecutionContextAttribute):
(WebCore::setJSTestObjWithScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjMutablePoint):
(WebCore::setJSTestObjImmutablePoint):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionConvert5):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::JSTestObj::toWrapped):
(WebCore::toTestObj): Deleted.
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors3):
(WebCore::JSTestOverloadedConstructors::toWrapped):
(WebCore::toTestOverloadedConstructors): Deleted.
* bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterface::toWrapped):
(WebCore::toTestSerializedScriptValueInterface): Deleted.
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
(WebCore::JSTestTypedefs::toWrapped):
(WebCore::toTestTypedefs): Deleted.
* bindings/scripts/test/JS/JSTestTypedefs.h:
* bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::JSattribute::toWrapped):
(WebCore::toattribute): Deleted.
* bindings/scripts/test/JS/JSattribute.h:
* bindings/scripts/test/JS/JSreadonly.cpp:
(WebCore::JSreadonly::toWrapped):
(WebCore::toreadonly): Deleted.
* bindings/scripts/test/JS/JSreadonly.h:
* dom/Element.h:
(WebCore::downcast):
* dom/make_names.pl:
(printTypeHelpers):
* html/HTMLAnchorElement.h:
* html/HTMLAreaElement.h:
* html/HTMLAudioElement.h:
* html/HTMLBaseElement.h:
* html/HTMLBodyElement.h:
* html/HTMLCanvasElement.h:
* html/HTMLDataListElement.h:
* html/HTMLDetailsElement.h:
* html/HTMLDivElement.h:
* html/HTMLEmbedElement.h:
* html/HTMLFieldSetElement.h:
* html/HTMLFormElement.h:
* html/HTMLFrameElement.h:
* html/HTMLFrameSetElement.h:
* html/HTMLHtmlElement.h:
* html/HTMLIFrameElement.h:
* html/HTMLImageElement.h:
* html/HTMLInputElement.h:
* html/HTMLLabelElement.h:
* html/HTMLLegendElement.h:
* html/HTMLLinkElement.h:
* html/HTMLMapElement.h:
* html/HTMLMarqueeElement.h:
* html/HTMLMetaElement.h:
* html/HTMLMeterElement.h:
* html/HTMLOListElement.h:
* html/HTMLObjectElement.h:
* html/HTMLOptGroupElement.h:
* html/HTMLOptionElement.h:
* html/HTMLParamElement.h:
* html/HTMLProgressElement.h:
* html/HTMLScriptElement.h:
* html/HTMLSelectElement.h:
* html/HTMLSourceElement.h:
* html/HTMLStyleElement.h:
* html/HTMLSummaryElement.h:
* html/HTMLTableCaptionElement.h:
* html/HTMLTableElement.h:
* html/HTMLTableRowElement.h:
* html/HTMLTemplateElement.h:
* html/HTMLTextAreaElement.h:
* html/HTMLTitleElement.h:
* html/HTMLTrackElement.h:
* html/HTMLVideoElement.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::scriptValueAsNode):
* mathml/MathMLMencloseElement.h:
* svg/SVGAltGlyphDefElement.h:
* svg/SVGAltGlyphElement.h:
* svg/SVGAltGlyphItemElement.h:
* svg/SVGAnimateMotionElement.h:
* svg/SVGAnimateTransformElement.h:
* svg/SVGCircleElement.h:
* svg/SVGClipPathElement.h:
* svg/SVGCursorElement.h:
* svg/SVGEllipseElement.h:
* svg/SVGFEDistantLightElement.h:
* svg/SVGFEFuncAElement.h:
* svg/SVGFEFuncBElement.h:
* svg/SVGFEFuncGElement.h:
* svg/SVGFEFuncRElement.h:
* svg/SVGFEMergeNodeElement.h:
* svg/SVGFEPointLightElement.h:
* svg/SVGFESpotLightElement.h:
* svg/SVGFilterElement.h:
* svg/SVGFontElement.h:
* svg/SVGFontFaceElement.h:
* svg/SVGFontFaceNameElement.h:
* svg/SVGFontFaceSrcElement.h:
* svg/SVGFontFaceUriElement.h:
* svg/SVGForeignObjectElement.h:
* svg/SVGGlyphElement.h:
* svg/SVGGlyphRefElement.h:
* svg/SVGHKernElement.h:
* svg/SVGImageElement.h:
* svg/SVGLineElement.h:
* svg/SVGLinearGradientElement.h:
* svg/SVGMPathElement.h:
* svg/SVGMarkerElement.h:
* svg/SVGMaskElement.h:
* svg/SVGMissingGlyphElement.h:
* svg/SVGPathElement.h:
* svg/SVGPatternElement.h:
* svg/SVGPolygonElement.h:
* svg/SVGPolylineElement.h:
* svg/SVGRadialGradientElement.h:
* svg/SVGRectElement.h:
* svg/SVGSVGElement.h:
* svg/SVGScriptElement.h:
* svg/SVGStopElement.h:
* svg/SVGStyleElement.h:
* svg/SVGTextElement.h:
* svg/SVGTextPathElement.h:
* svg/SVGTitleElement.h:
* svg/SVGUseElement.h:
* svg/SVGVKernElement.h:
* svg/SVGViewElement.h:

Source/WebKit:

Update some of the exported symbols on Windows for functions that were
renamed.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/mac:

Use JSXXX::toWrapped() instead of toXXX() function.

* DOM/WebDOMOperations.mm:
* WebView/WebView.mm:
(-[WebView _notificationIDForTesting:]):

Source/WebKit/win:

Use JSXXX::toWrapped() instead of toXXX() function.

* WebView.cpp:
(WebView::elementFromJS):

Source/WebKit2:

Use JSXXX::toWrapped() instead of toXXX() function.

* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::getOrCreate):
* WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::getOrCreate):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::webNotificationID):

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

5 years agoWeb Inspector: unlocalized 'many' string in type profiler inline bubble
saambarati1@gmail.com [Mon, 22 Sep 2014 03:42:30 +0000 (03:42 +0000)]
Web Inspector: unlocalized 'many' string in type profiler inline bubble
https://bugs.webkit.org/show_bug.cgi?id=136980

Reviewed by Timothy Hatcher.

Generate the localizable string for the type profiler's "many" inline bubble.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Views/TypeTokenView.js:

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

5 years agoLeak: WebNotificationPrivate ObjC leaks seen on leaks bot
commit-queue@webkit.org [Mon, 22 Sep 2014 00:31:16 +0000 (00:31 +0000)]
Leak: WebNotificationPrivate ObjC leaks seen on leaks bot
https://bugs.webkit.org/show_bug.cgi?id=136972

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-09-21
Reviewed by Darin Adler.

* WebView/WebNotification.h:
* WebView/WebNotification.mm:
(-[WebNotification initWithCoreNotification:notificationID:]):
Switch to RetainPtr and adopt into _private to ensure when we are
deallocated that _private will get deallocated.

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

5 years agoMake possible HashSet<std::unique_ptr<>>
weinig@apple.com [Mon, 22 Sep 2014 00:24:44 +0000 (00:24 +0000)]
Make possible HashSet<std::unique_ptr<>>
https://bugs.webkit.org/show_bug.cgi?id=136166

Reviewed by Darin Adler.

Source/WTF:

* wtf/GetPtr.h:
(WTF::getPtr):
(WTF::GetPtrHelper<std::unique_ptr<T>>::getPtr):
Make specializing GetPtrHelper a bit cleaner (you don't have to put
IsSmartPtr<T>::value everywhere any more) and add specializations for
std::unique_ptr.

* wtf/HashFunctions.h:
(WTF::PtrHash<std::unique_ptr<P>>):
Add specialization for PtrHash for std::unique_ptr and set it as the DefaultHash
for it as well.

* wtf/HashMap.h:
* wtf/HashSet.h:
Add overloads of find(), contains(), remove(), take() (and get() for HashMap) for "smart pointers" that
take the raw pointer type as the parameter. These use SFINAE to make themselves only available
when the IsSmartPtr<KeyType>::value is true.

* wtf/HashTraits.h:
Override constructDeletedValue() and isDeletedValue() in the std::unique_ptr specialization
since the default implementation depends on the type having a constructor that takes a HashTableDeletedValue
and function named isHashTableDeletedValue().

* wtf/OwnPtr.h:
(WTF::OwnPtr::OwnPtr):
(WTF::OwnPtr::isHashTableDeletedValue):
(WTF::OwnPtr::hashTableDeletedValue):
Add HashTableDeletedValue constructor/functions to allow the constructDeletedValue() and isDeletedValue()
hash traits to work.

(WTF::PtrHash<OwnPtr<P>>::hash):
(WTF::PtrHash<OwnPtr<P>>::equal):
Add specialization for PtrHash for OwnPtr and set it as the DefaultHash
for it as well.

* wtf/Ref.h:
Update for the less verbose GetPtrHelper specialization.

Tools:

* TestWebKitAPI/Tests/WTF/CopyMoveCounter.h: Removed.
* TestWebKitAPI/Counters.cpp: Added.
* TestWebKitAPI/Counters.h: Copied from Tools/TestWebKitAPI/Tests/WTF/CopyMoveCounter.h.
Move the CopyMoveCounter helper from CopyMoveCounter.h to Counters.h, and add a ConstructorDestructorCounter
helper to the mix as well. Add Counters.cpp to allow for the global variables to be used in more than one
translation unit.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Add new files.

* TestWebKitAPI/Tests/WTF/HashMap.cpp:
Add tests for using std::unique_ptr and OwnPtr as the key's of a HashMap.

* TestWebKitAPI/Tests/WTF/HashSet.cpp:
Add tests for using std::unique_ptr and OwnPtr as the values of a HashSet.

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

5 years agoFix post-mortem nits for r173724
cdumez@apple.com [Mon, 22 Sep 2014 00:18:50 +0000 (00:18 +0000)]
Fix post-mortem nits for r173724
https://bugs.webkit.org/show_bug.cgi?id=136986

Reviewed by Darin Adler.

Fix post-mortem nits for r173724.

No new tests, no behavior change.

* editing/EditingStyle.cpp:
(WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue):
(WebCore::HTMLFontSizeEquivalent::attributeValueAsCSSValue):
Use nullptr instead of 0.

* editing/SplitElementCommand.cpp:
(WebCore::SplitElementCommand::doUnapply):
Use getIdAttribute() / setIdAttribute().

* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::computePreferredLogicalWidths):
Use fastHasAttribute() for nowrap and do an early return to avoid
calling styleOrColLogicalWidth() if the nowrap attribute is missing.

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

5 years agoStructure should have a method for concurrently getting all of the property map entri...
fpizlo@apple.com [Sun, 21 Sep 2014 23:52:31 +0000 (23:52 +0000)]
Structure should have a method for concurrently getting all of the property map entries, and this method shouldn't involve copy-paste
https://bugs.webkit.org/show_bug.cgi?id=136983

Reviewed by Mark Hahnenberg.

* runtime/PropertyMapHashTable.h:
(JSC::PropertyMapEntry::PropertyMapEntry): Moved PropertyMapEntry struct to Structure.h so that Structure can refer to it.
* runtime/Structure.cpp:
(JSC::Structure::getConcurrently): Switch to using the new forEachPropertyConcurrently() method.
(JSC::Structure::getPropertiesConcurrently): The subject of this patch. It will be useful for object allocation sinking (bug 136330).
(JSC::Structure::dump): Switch to using the new forEachPropertyConcurrently() method.
* runtime/Structure.h:
(JSC::PropertyMapEntry::PropertyMapEntry): Moved from PropertyMapHashTable.h.
* runtime/StructureInlines.h:
(JSC::Structure::forEachPropertyConcurrently): Capture this very common concurrent structure iteration pattern into a template method.

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

5 years agorun-webkit-tests should count tests submitted as absolute paths once
commit-queue@webkit.org [Sun, 21 Sep 2014 20:30:10 +0000 (20:30 +0000)]
run-webkit-tests should count tests submitted as absolute paths once
https://bugs.webkit.org/show_bug.cgi?id=136848

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-09-21
Reviewed by Darin Adler.

* Scripts/webkitpy/port/base.py:
(Port._expanded_paths): In case of absolute path, do not search for platform specific tests.

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

5 years agoStructure::getConcurrently() doesn't need to take a VM& argument.
fpizlo@apple.com [Sun, 21 Sep 2014 19:18:40 +0000 (19:18 +0000)]
Structure::getConcurrently() doesn't need to take a VM& argument.

Rubber stamped by Dan Bernstein.

Removed the extra argument, and then removed similar arguments from other methods until
I could build successfully again. It turned out that many methods took a VM& argument
just for calling getConcurrently().

* bytecode/CodeBlock.cpp:
(JSC::dumpStructure):
(JSC::dumpChain):
(JSC::CodeBlock::printGetByIdCacheStatus):
(JSC::CodeBlock::printPutByIdCacheStatus):
* bytecode/ComplexGetStatus.cpp:
(JSC::ComplexGetStatus::computeFor):
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForStubInfo):
(JSC::GetByIdStatus::computeFor):
* bytecode/GetByIdStatus.h:
* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFromLLInt):
(JSC::PutByIdStatus::computeForStubInfo):
(JSC::PutByIdStatus::computeFor):
* bytecode/PutByIdStatus.h:
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::isStringPrototypeMethodSane):
* runtime/IntendedStructureChain.cpp:
(JSC::IntendedStructureChain::mayInterceptStoreTo):
* runtime/IntendedStructureChain.h:
* runtime/Structure.cpp:
(JSC::Structure::getConcurrently):
* runtime/Structure.h:
* runtime/StructureInlines.h:
(JSC::Structure::getConcurrently):

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

5 years agoUnreviewed, speculative build fix.
fpizlo@apple.com [Sun, 21 Sep 2014 18:26:18 +0000 (18:26 +0000)]
Unreviewed, speculative build fix.

If you use typed arrays, you gotta include runtime/TypedArrayInlines.h.

* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:

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

5 years agoFTL OSRExit construction should be based on methods that return ExitValues rather...
fpizlo@apple.com [Sat, 20 Sep 2014 21:52:14 +0000 (21:52 +0000)]
FTL OSRExit construction should be based on methods that return ExitValues rather than methods that add ExitValues to OSRExit
https://bugs.webkit.org/show_bug.cgi?id=136978

Reviewed by Dean Jackson.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
(JSC::FTL::LowerDFGToLLVM::exitValueForNode):
(JSC::FTL::LowerDFGToLLVM::exitArgument):
(JSC::FTL::LowerDFGToLLVM::addExitArgumentForNode): Deleted.
(JSC::FTL::LowerDFGToLLVM::tryToSetConstantExitArgument): Deleted.
(JSC::FTL::LowerDFGToLLVM::addExitArgument): Deleted.

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

5 years agoFTL OSR exit should do reboxing and value recovery in the same pass
fpizlo@apple.com [Sat, 20 Sep 2014 18:45:54 +0000 (18:45 +0000)]
FTL OSR exit should do reboxing and value recovery in the same pass
https://bugs.webkit.org/show_bug.cgi?id=136977

Reviewed by Oliver Hunt.

It's conceptually simpler to have all of the logic in one place. After the
recover-and-rebox loop is done, all of the exit values are in the form that the baseline
JIT would want them to be in; the only remaining task is to move them into the right
place on the stack after we do all of the necessary stack adjustments.

* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):

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

5 years agoStorageAccessData should be referenced in a sensible way
fpizlo@apple.com [Sat, 20 Sep 2014 17:59:58 +0000 (17:59 +0000)]
StorageAccessData should be referenced in a sensible way
https://bugs.webkit.org/show_bug.cgi?id=136963

Reviewed and rubber stamped by Michael Saboff.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleGetByOffset):
(JSC::DFG::ByteCodeParser::handlePutByOffset):
(JSC::DFG::ByteCodeParser::handlePutById):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::emitGetByOffset):
(JSC::DFG::ConstantFoldingPhase::emitPutByOffset):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGGraph.h:
* dfg/DFGNode.h:
(JSC::DFG::Node::convertToGetByOffset):
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::storageAccessData):
(JSC::DFG::Node::storageAccessDataIndex): Deleted.
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileGetByOffset):
(JSC::FTL::LowerDFGToLLVM::compilePutByOffset):

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

5 years agoWeb Inspector: Option+Click on CSS url(...) should jump to resource view
commit-queue@webkit.org [Sat, 20 Sep 2014 15:34:08 +0000 (15:34 +0000)]
Web Inspector: Option+Click on CSS url(...) should jump to resource view
https://bugs.webkit.org/show_bug.cgi?id=136965

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-09-20
Reviewed by Timothy Hatcher.

* UserInterface/Views/CodeMirrorAdditions.js:
When parsing CSS url(...) tokens, the contents of url(...)
are a "string" type, not "atom".

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

5 years ago[EME][Mac] Support secure proof of key release in the com.apple.fps.2_0 keysystem.
jer.noble@apple.com [Sat, 20 Sep 2014 06:49:19 +0000 (06:49 +0000)]
[EME][Mac] Support secure proof of key release in the com.apple.fps.2_0 keysystem.
https://bugs.webkit.org/show_bug.cgi?id=136898

Reviewed by Eric Carlson.

Add support for proof of key release to the CDM by supporting a new "mime" type called
"keyrelease". When a session of type "keyrelease" is created, the initData is the server
certificate, the keyMessage contains the first stored proof of key release if present,
and closing the session will remove that proof from storage.

* platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:
(WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystemAndMimeType):
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC):
(WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest):
(WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys):
(WebCore::sessionStorageDirectory):
(WebCore::CDMSessionMediaSourceAVFObjC::update):
(WebCore::CDMSessionMediaSourceAVFObjC::generateKeyReleaseMessage):

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

5 years ago[Media][Mac] Buffered range slides around as you resize a window
jer.noble@apple.com [Sat, 20 Sep 2014 06:02:25 +0000 (06:02 +0000)]
[Media][Mac] Buffered range slides around as you resize a window
https://bugs.webkit.org/show_bug.cgi?id=136960

Reviewed by Dean Jackson.

Rather than using a canvas as the background image for the timeline slider, use a generated SVG image
to represent the buffered ranges.

* Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-timeline):
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createControls):
(Controller.prototype.updateProgress):

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

5 years agoJSStringRef leak on the leaks bot allocation under selectTextWithCriteriaCallback
commit-queue@webkit.org [Sat, 20 Sep 2014 05:46:09 +0000 (05:46 +0000)]
JSStringRef leak on the leaks bot allocation under selectTextWithCriteriaCallback
https://bugs.webkit.org/show_bug.cgi?id=136974

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-09-19
Reviewed by Chris Fleizach.

* DumpRenderTree/AccessibilityUIElement.cpp:
(selectTextWithCriteriaCallback):
Be sure to release the string if it was allocated.

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

5 years agoWebContent crash in WebKit::WebPage::expandedRangeFromHandle
rniwa@webkit.org [Sat, 20 Sep 2014 03:07:59 +0000 (03:07 +0000)]
WebContent crash in WebKit::WebPage::expandedRangeFromHandle
https://bugs.webkit.org/show_bug.cgi?id=136969

Reviewed by David Kilzer.

The crash was caused by m_currentBlockSelection and frame.selection().selection().toNormalizedRange()
both being null and the subsequent lines of code assuming currentRange to be not null.

Replace the assertion by an early exit since the range could be null here.

In the future, we should figure out if there are other things we need to do in addition
to checking the nullity when this race condition is hit.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::computeExpandAndShrinkThresholdsForHandle):

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

5 years agoLeak of mallocs under StructureSet::OutOfLineList::create
rniwa@webkit.org [Sat, 20 Sep 2014 03:01:44 +0000 (03:01 +0000)]
Leak of mallocs under StructureSet::OutOfLineList::create
https://bugs.webkit.org/show_bug.cgi?id=136970

Reviewed by Filip Pizlo.

addOutOfLine should free the old list when expanding the capacity.

* bytecode/StructureSet.cpp:
(JSC::StructureSet::addOutOfLine):

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

5 years agobuild.webkit.org/dashboard: Pending builds don't show up when there is a commit with...
ap@apple.com [Sat, 20 Sep 2014 02:44:25 +0000 (02:44 +0000)]
build.webkit.org/dashboard: Pending builds don't show up when there is a commit with no comments
https://bugs.webkit.org/show_bug.cgi?id=136966

Reviewed by Daniel Bates.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:
(Trac.prototype._convertCommitInfoElementToObject): Tolerate these horrible commits.

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

5 years ago[CoordinatedGraphics][EFL] window.scrollTo(x, y) doesn't work when fixed layout is...
gyuyoung.kim@samsung.com [Sat, 20 Sep 2014 02:33:44 +0000 (02:33 +0000)]
[CoordinatedGraphics][EFL] window.scrollTo(x, y) doesn't work when fixed layout is enabled
https://bugs.webkit.org/show_bug.cgi?id=136917

Reviewed by Darin Adler.

Source/WebCore:

When fixed layout is enabled, scrollTo doesn't work on EFL port with coordinated graphics.
Since updateScrollbars() doesn't update scroll position when delegatesScrolling() is enabled.
To fix this issue, EFL port should update scroll position based on WK2 port. This patch
update scroll position in FrameView::requestScrollPositionUpdate() as Mac port.

TestWebKitAPI: Tools/TestWebKitAPI/Tests/WebKit2/efl/WKViewScrollTo

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

Tools:

Added WKViewScrollTo.cpp and scrollTo.html to test this issue.

* TestWebKitAPI/PlatformEfl.cmake:
* TestWebKitAPI/Tests/WebKit2/efl/WKViewScrollTo.cpp: Added.
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/efl/scrollTo.html: Added.

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

5 years agoLatching in iframes is not working as expected
bfulgham@apple.com [Sat, 20 Sep 2014 01:10:50 +0000 (01:10 +0000)]
Latching in iframes is not working as expected
https://bugs.webkit.org/show_bug.cgi?id=136729
<rdar://problem/18370549>

Reviewed by Simon Fraser.

Source/WebCore:

Test: platform/mac/fast/scrolling/scrolling-iframe-100pct.html

Correct latching behavior by moving the concept of latching from the event handler to the main frame.
The event handlers are per-document, and can improperly latch to the iframe element (rather than the
scrollable content of the iframe) resulting in incorrect behavior.

Also move the wheel event delta tracking to the main frame, as this is similarly "top-level" in nature.

* WebCore.vcxproj/WebCore.vcxproj: Add new LatchedState class.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler): Update constructor after moving some members to the new
LatchedState object.
(WebCore::EventHandler::clear): Call 'clear' on the LatchedState class.
(WebCore::EventHandler::platformRecordWheelEvent):  Update for new LatchedState class.
(WebCore::EventHandler::handleWheelEvent): Ditto.
(WebCore::EventHandler::clearLatchedState): Ditto.
(WebCore::EventHandler::defaultWheelEventHandler): Ditto.
* page/EventHandler.h:
* page/LatchedState.cpp: Added.
(WebCore::LatchedState::LatchedState):
(WebCore::LatchedState::~LatchedState):
(WebCore::LatchedState::clear):
(WebCore::LatchedState::setWheelEventElement):
(WebCore::LatchedState::setWidgetIsLatched):
(WebCore::LatchedState::setPreviousWheelScrolledElement):
(WebCore::LatchedState::setScrollableContainer):
* page/LatchedState.h: Added.
(WebCore::LatchedState::wheelEventElement):
(WebCore::LatchedState::frame):
(WebCore::LatchedState::setFrame):
(WebCore::LatchedState::widgetIsLatched):
(WebCore::LatchedState::previousWheelScrolledElement):
(WebCore::LatchedState::scrollableContainer):
(WebCore::LatchedState::startedGestureAtScrollLimit):
(WebCore::LatchedState::setStartedGestureAtScrollLimit):
* page/MainFrame.cpp:
(WebCore::MainFrame::MainFrame): Update for new members (LatchedState and WheelEventDeltaTracker)
* page/MainFrame.h:
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::platformPrepareForWheelEvents): Use mainFrame-located latching information.
(WebCore::EventHandler::platformRecordWheelEvent): Use mainFrame-located wheel event delta tracking.
(WebCore::EventHandler::platformCompleteWheelEvent): Make sure to use the latched frame as well as
the latched element so that events get routed properly.
(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Update for new mainFrame
location for latched state information.

LayoutTests:

* platform/mac/fast/scrolling/scroll-iframe-webkit1-latching-bug-expected.txt: Added.
* platform/mac/fast/scrolling/scroll-iframe-webkit1-latching-bug.html: Added.

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

5 years agoMinimize virtual function calls in MarkupAccumulator
cdumez@apple.com [Sat, 20 Sep 2014 00:11:47 +0000 (00:11 +0000)]
Minimize virtual function calls in MarkupAccumulator
https://bugs.webkit.org/show_bug.cgi?id=136957

Reviewed by Benjamin Poulain.

This patch minimizes the number of virtual function calls in
MarkupAccumulator by:
- De-virtualizing MarkupAccumulator::appendString(), which is never
  overridden
- Having MarkupAccumulator::appendEndTag() virtual function take an
  Element in argument instead of a Node, as it only applies to Element.
  Also add a non-virtual overload that takes a Node in argument and
  that does the isElementNode() check so that we don't need to explicitly
  do the check at each call site.

No new tests, no behavior change.

* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendEndTag):
(WebCore::MarkupAccumulator::shouldSelfClose):
(WebCore::MarkupAccumulator::appendEndMarkup):
* editing/MarkupAccumulator.h:
(WebCore::MarkupAccumulator::appendEndTag):
* page/PageSerializer.cpp:
(WebCore::SerializerMarkupAccumulator::appendEndTag):

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

5 years ago[iOS] ASSERTION FAILED: WTF::isMainThread() in WebCore::memoryCache() when using...
psolanki@apple.com [Sat, 20 Sep 2014 00:05:13 +0000 (00:05 +0000)]
[iOS] ASSERTION FAILED: WTF::isMainThread() in WebCore::memoryCache() when using WebKit1
https://bugs.webkit.org/show_bug.cgi?id=136962
<rdar://problem/18342344>

Reviewed by Geoffrey Garen.

The disk cache monitor callback code was being executed on the main thread. This is wrong
when the web thread is being used in WebKit1 on iOS. The code needs to run on the web
thread. Use WebThreadRun to dispatch the block to the web thread. This works for WebKit2 as
well since when web thread is not being used, WebThreadRun invokes the block directly.

* loader/cocoa/DiskCacheMonitorCocoa.mm:
(WebCore::DiskCacheMonitor::DiskCacheMonitor):

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

5 years agoUnreviewed build fix; pass duration into the lambda.
jer.noble@apple.com [Fri, 19 Sep 2014 22:59:37 +0000 (22:59 +0000)]
Unreviewed build fix; pass duration into the lambda.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationChanged):

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

5 years agoMultithreaded WebGL is a bad idea - remove it
dino@apple.com [Fri, 19 Sep 2014 22:30:43 +0000 (22:30 +0000)]
Multithreaded WebGL is a bad idea - remove it
https://bugs.webkit.org/show_bug.cgi?id=136964
<rdar://problem/18399858>

Reviewed by Brent Fulgham.

Source/WebCore:

We should not allow multithreaded GL access. Remove the
feature.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::create):
* page/Settings.in:
* platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::Attributes::Attributes):
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::GraphicsContext3D):

Source/WebKit/mac:

Remove the setting to allow multithreaded WebGL.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences multithreadedWebGLEnabled]): Deleted.
(-[WebPreferences setMultithreadedWebGLEnabled:]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

Remove the setting to allow multithreaded WebGL.

* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetMultithreadedWebGLEnabled): Deleted.
(WKPreferencesGetMultithreadedWebGLEnabled): Deleted.
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

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

5 years ago[MSE][Mac] work around AVSampleBufferRenderSynchronizer early callbacks
eric.carlson@apple.com [Fri, 19 Sep 2014 20:53:15 +0000 (20:53 +0000)]
[MSE][Mac] work around AVSampleBufferRenderSynchronizer early callbacks
https://bugs.webkit.org/show_bug.cgi?id=136958

Reviewed by Jer Noble.

No new tests, we have been unable to come up with a test case that reproduces
this issue reliably.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationChanged): Set the synchronizer
    time to duration when the duration time observer is called early. Add more logging.

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

5 years agoCSS JIT: allocate the minimum required register count in debug
benjamin@webkit.org [Fri, 19 Sep 2014 20:26:56 +0000 (20:26 +0000)]
CSS JIT: allocate the minimum required register count in debug
https://bugs.webkit.org/show_bug.cgi?id=136933

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-19
Reviewed by Andreas Kling.

It is hard to catch bugs of minimumRegisterRequirements() because every CPU has a different
number of registers available by default.

This patch aims at improving testing by creating artificial register pressure when running
in debug. When running in debug, we no longer allocate all the available registers right away.
Instead, we allocate just enough to satisfy minimumRegisterRequirements().

The expectation with this is that under-allocation would be detected quicker since they would
crash debug builds.

* cssjit/RegisterAllocator.h:
(WebCore::RegisterAllocator::RegisterAllocator):
(WebCore::RegisterAllocator::reserveCallerSavedRegisters):
(WebCore::RegisterAllocator::availableRegisterCount): Deleted.
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):

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

5 years agoAdd a size check for CSSSelector
benjamin@webkit.org [Fri, 19 Sep 2014 20:26:07 +0000 (20:26 +0000)]
Add a size check for CSSSelector
https://bugs.webkit.org/show_bug.cgi?id=136882

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-19
Reviewed by Christophe Dumez.

* css/CSSSelector.cpp:

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

5 years ago[Win] Turn off SSE Instructions for 32-bit Builds
bfulgham@apple.com [Fri, 19 Sep 2014 20:19:57 +0000 (20:19 +0000)]
[Win] Turn off SSE Instructions for 32-bit Builds
https://bugs.webkit.org/show_bug.cgi?id=136959
<rdar://problem/18375370>

Reviewed by Dean Jackson.

* win/tools/vsprops/common.props: Conditionally exclude the enhanced (SSE) instruction
set when building for 32-bit Windows. Otherwise, continue using SSE.

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

5 years agoREGRESSION(r173464): It broke the !ENABLE(PICTURE_SIZES) build
evab.u-szeged@partner.samsung.com [Fri, 19 Sep 2014 18:48:38 +0000 (18:48 +0000)]
REGRESSION(r173464): It broke the !ENABLE(PICTURE_SIZES) build
https://bugs.webkit.org/show_bug.cgi?id=136942

Reviewed by Simon Fraser.

* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):

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

5 years agoProvide a default argument for the most commonly used HitTestRequest variant
simon.fraser@apple.com [Fri, 19 Sep 2014 18:43:14 +0000 (18:43 +0000)]
Provide a default argument for the most commonly used HitTestRequest variant
https://bugs.webkit.org/show_bug.cgi?id=136653

Reviewed by Darin Adler.

Make the default HitTestRequest flags be ReadOnly | Active | DisallowShadowContent
and change call sites using the default flags to use a HitTestRequest temporary.

Source/WebCore:

* dom/TreeScope.cpp:
(WebCore::nodeFromPoint):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::contains):
* page/DragController.cpp:
(WebCore::elementUnderMouse):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseDraggedEvent):
(WebCore::EventHandler::handleMousePressEvent):
* rendering/HitTestRequest.h:
(WebCore::HitTestRequest::HitTestRequest):

Source/WebKit2:

* WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::dynamicViewportSizeUpdate):

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

5 years agoAllow DOM methods to return references instead of pointers
cdumez@apple.com [Fri, 19 Sep 2014 18:33:16 +0000 (18:33 +0000)]
Allow DOM methods to return references instead of pointers
https://bugs.webkit.org/show_bug.cgi?id=136931

Source/WebCore:

Reviewed by Sam Weinig.

It is common practice in WebKit to have methods return a reference
instead of a pointer if the pointer can never be null. However, this
unfortunately did not work for DOM methods (functions called by JS
bindings). This prevented further refactoring.

This patch brings support for having DOM methods to return references
instead of pointers when the pointer cannot be null. The generated
bindings were calling WTF::getPtr() on the pointer type returned by
the implementation already (in case it was a smart pointer type).
This patch leverages this by having WTF::getPtr() convert reference
arguments into raw pointers.

This patch also updates a few DOM methods on Document and Element
classes to return a reference instead of a pointer, to test the change.
There are likely more DOM methods that can be updated though.

No new tests, no behavior change.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::classList):
* bindings/js/JSDOMBinding.h:
(WTF::getPtr): Deleted.
* dom/Document.cpp:
(WebCore::Document::implementation):
(WebCore::Document::webkitGetNamedFlows):
(WebCore::Document::namedFlows):
(WebCore::Document::setXMLVersion):
(WebCore::Document::setXMLStandalone):
(WebCore::Document::securityPolicy):
(WebCore::Document::styleSheets):
* dom/Document.h:
(WebCore::Document::timing):
* dom/Element.cpp:
(WebCore::Element::classList):
(WebCore::Element::dataset):
* dom/Element.h:
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::setPosition):
(WebCore::MediaControlPanelElement::resetPosition):
(WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
* html/track/VTTRegion.cpp:
(WebCore::VTTRegion::displayLastTextTrackCueBox):
(WebCore::VTTRegion::willRemoveTextTrackCueBox):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getAllStyleSheets):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):
* page/PerformanceTiming.cpp:
(WebCore::PerformanceTiming::documentTiming):
* rendering/FlowThreadController.cpp:
(WebCore::FlowThreadController::ensureRenderFlowThreadWithName):

Source/WTF:

Add support for having WTF::getPtr() transform reference arguments
into raw pointers so that DOM methods can now return references when
appropriate and so that the generated bindings code can handle this
via WTF::getPtr().

This patch had to alter the way getPtr() was overloaded for smart
pointer types so that we don't call &p on smart pointers but p.get().
This was needed because the new WTF::getPtr(T&) was being called for
RefPtr<T> arguments instead of the getPtr(const RefPtr<T>&) overload.
This was addressed using traits and template specialization to
distinguish WTF smart pointers from other types.

Reviewed by Sam Weinig.

* wtf/GetPtr.h:
(WTF::getPtr):
* wtf/OwnPtr.h:
(WTF::getPtr): Deleted.
* wtf/PassOwnPtr.h:
(WTF::getPtr): Deleted.
* wtf/PassRefPtr.h:
(WTF::getPtr): Deleted.
* wtf/Ref.h:
* wtf/RefPtr.h:
(WTF::getPtr): Deleted.
* wtf/gobject/GRefPtr.h:
(WTF::getPtr): Deleted.

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

5 years agoVideos with controls enabled never receive 'dragstart' events.
jer.noble@apple.com [Fri, 19 Sep 2014 18:15:05 +0000 (18:15 +0000)]
Videos with controls enabled never receive 'dragstart' events.
https://bugs.webkit.org/show_bug.cgi?id=136837

Reviewed by Sam Weinig.

* media/video-controls-drag-expected.txt: Added.
* media/video-controls-drag.html: Added.

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

5 years agoAlways assume internal SDK when building configuration Production
dbates@webkit.org [Fri, 19 Sep 2014 18:10:32 +0000 (18:10 +0000)]
Always assume internal SDK when building configuration Production
https://bugs.webkit.org/show_bug.cgi?id=136925
<rdar://problem/18362399>

Reviewed by Dan Bernstein.

Source/bmalloc:

* Configurations/Base.xcconfig:

Source/JavaScriptCore:

As a side effect of this change we will always enable ENABLE_TOUCH_EVENTS, ENABLE_IOS_{GESTURE, TOUCH}_EVENTS,
and ENABLE_XSLT when either building configuration Production or building with the Internal SDK.

* Configurations/Base.xcconfig:

Source/ThirdParty/ANGLE:

* Configurations/Base.xcconfig:

Source/WebCore:

As a side effect of this change we will always enable ENABLE_TOUCH_EVENTS, ENABLE_IOS_{GESTURE, TOUCH}_EVENTS,
and ENABLE_XSLT when either building configuration Production or building with the Internal SDK.

* Configurations/Base.xcconfig:

Source/WebInspectorUI:

* Configurations/DebugRelease.xcconfig: Also move #include of HaveInternalSDK.xcconfig from DebugRelease.xcconfig
to Base.xcconfig so as to be consistent with the format of other Base.xcconfig/DebugRelease.xcconfig files
(e.g. Source/WebCore/Configurations/Base.xcconfig and Source/WebCore/Configurations/DebugRelease.xcconfig).

Source/WebKit/mac:

As a side effect of this change we will always enable ENABLE_TOUCH_EVENTS, ENABLE_IOS_{GESTURE, TOUCH}_EVENTS,
and ENABLE_XSLT when either building configuration Production or building with the Internal SDK.

* Configurations/Base.xcconfig:

Source/WebKit2:

As a side effect of this change we will always enable ENABLE_TOUCH_EVENTS, ENABLE_IOS_{GESTURE, TOUCH}_EVENTS,
and ENABLE_XSLT when either building configuration Production or building with the Internal SDK.

* Configurations/Base.xcconfig:

Source/WTF:

* Configurations/Base.xcconfig:

Tools:

* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* MiniBrowser/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/DebugRelease.xcconfig:
* WebKitTestRunner/Configurations/DebugRelease.xcconfig:

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

5 years agoFix the Mac Mavericks build. Only iOS cares about fencing.
simon.fraser@apple.com [Fri, 19 Sep 2014 18:04:33 +0000 (18:04 +0000)]
Fix the Mac Mavericks build. Only iOS cares about fencing.

* Platform/mac/LayerHostingContext.h:
* Platform/mac/LayerHostingContext.mm:

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

5 years agoSimple ES6 feature:String prototype additions
commit-queue@webkit.org [Fri, 19 Sep 2014 17:47:50 +0000 (17:47 +0000)]
Simple ES6 feature:String prototype additions
https://bugs.webkit.org/show_bug.cgi?id=131704

Patch by Diego Pino Garcia <dpino@igalia.com> on 2014-09-19
Reviewed by Darin Adler.

Source/JavaScriptCore:

* runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
(JSC::stringProtoFuncStartsWith): Added.
(JSC::stringProtoFuncEndsWith): Added.
(JSC::stringProtoFuncContains): Added.

Source/WTF:

* wtf/text/StringImpl.cpp:
(WTF::StringImpl::find):
(WTF::equalInner): Added.
(WTF::StringImpl::startsWith): Add implementation that supports
'startOffset' parameter.
(WTF::StringImpl::endsWith): Add implementation that supports
'endOffset' parameter.
* wtf/text/StringImpl.h:
* wtf/text/WTFString.h:
(WTF::String::contains): Modify current implementation to allow
setting a startOffset, 0 by default.
(WTF::String::startsWith):
(WTF::String::endsWith):

LayoutTests:

Test ES6 functions: string.startsWith(), string.endsWith() and
string.contains().

* js/Object-getOwnPropertyNames-expected.txt:
* js/script-tests/Object-getOwnPropertyNames.js:
* js/script-tests/string-contains.js: Added.
(stringToSearchIn.toString):
(startOffset.valueOf):
(matchString.toString):
(endOffset.valueOf):
* js/string-contains-expected.txt: Added.
* js/string-contains.html: Added.

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

5 years agoWTR and DRT didReceiveAuthenticationChallengeInFrame should print messages consistently
commit-queue@webkit.org [Fri, 19 Sep 2014 17:38:13 +0000 (17:38 +0000)]
WTR and DRT didReceiveAuthenticationChallengeInFrame should print messages consistently
https://bugs.webkit.org/show_bug.cgi?id=136847

Tools:

Added protection space host and port logging to WTR didReceiveAuthenticationChallengeInFrame.

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-09-19
Reviewed by Alexey Proskuryakov.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveAuthenticationChallengeInFrame):

LayoutTests:

Updated WK2 expected.txt files according new logging of didReceiveAuthenticationChallengeInFrame.
Factorized efl/gtk platform specific expected files as WK2 expected files.

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-09-19
Reviewed by Alexey Proskuryakov.

* platform/gtk/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt: Removed.
* platform/gtk/http/tests/loading/basic-credentials-sent-automatically-expected.txt: Removed.
* platform/gtk/http/tests/media/video-auth-expected.txt: Removed.
* platform/gtk/http/tests/misc/401-alternative-content-expected.txt: Removed.
* platform/gtk/http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin-expected.txt: Removed.
* platform/gtk/http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin-expected.txt: Removed.
* platform/gtk/http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url-expected.txt: Removed.
* platform/gtk/http/tests/security/401-logout/401-logout-expected.txt: Removed.
* platform/gtk/http/tests/xmlhttprequest/failed-auth-expected.txt: Removed.
* platform/gtk/http/tests/xmlhttprequest/remember-bad-password-expected.txt: Removed.
* platform/wk2/http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials-expected.txt:
* platform/wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
* platform/wk2/http/tests/loading/basic-credentials-sent-automatically-expected.txt:
* platform/wk2/http/tests/media/video-auth-expected.txt: Renamed from LayoutTests/platform/efl/http/tests/media/video-auth-expected.txt.
* platform/wk2/http/tests/misc/401-alternative-content-expected.txt:
* platform/wk2/http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin-expected.txt:
* platform/wk2/http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin-expected.txt:
* platform/wk2/http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url-expected.txt:
* platform/wk2/http/tests/security/401-logout/401-logout-expected.txt:
* platform/wk2/http/tests/xmlhttprequest/failed-auth-expected.txt:
* platform/wk2/http/tests/xmlhttprequest/remember-bad-password-expected.txt:

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

5 years ago[GTK] Missing inspector files in the tarball
carlosgc@webkit.org [Fri, 19 Sep 2014 15:58:13 +0000 (15:58 +0000)]
[GTK] Missing inspector files in the tarball
https://bugs.webkit.org/show_bug.cgi?id=136952

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

* PlatformGTK.cmake: Use APPEND instead of GLOB to add individual
and generated files to the list of inspector files.

Tools:

* gtk/manifest.txt: Add
Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js
to the tarball.

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

5 years agoOptimize MarkupAccumulator::appendText()
cdumez@apple.com [Fri, 19 Sep 2014 15:48:36 +0000 (15:48 +0000)]
Optimize MarkupAccumulator::appendText()
https://bugs.webkit.org/show_bug.cgi?id=136935

Reviewed by Benjamin Poulain.

MarkupAccumulator::appendText() was calling the generic appendNodeValue()
method to append the text. appendNodeValue() supports any kind of Node and
thus calls the Node::nodeValue() virtual function.

Since appendText() is the only caller to appendNodeValue(), this patch
inlines the code in appendText() and makes it specific to Text Node, and
thus more efficient. The code now calls CharacterData::data() instead of
the Node::nodeValue() virtual function. This patch also updates
CharacterData::data() to return a const reference to avoid copying the
return value.

No new tests, no behavior change.

* dom/CharacterData.h:
(WebCore::CharacterData::data):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendText):
(WebCore::MarkupAccumulator::appendNodeValue): Deleted.
* editing/MarkupAccumulator.h:

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

5 years agoWebkitgtk 2.5.3: tarball contains APPLE LICENSE file - stating not distributable
carlosgc@webkit.org [Fri, 19 Sep 2014 15:40:04 +0000 (15:40 +0000)]
Webkitgtk 2.5.3: tarball contains APPLE LICENSE file - stating not distributable
https://bugs.webkit.org/show_bug.cgi?id=136632

Reviewed by Gustavo Noronha Silva.

Source/WebInspectorUI:

Add free icons for the GTK port. These icons are from the GNOME
project, some of them adapted by Andres Gomez for the inspector.
This is only a subset of the icons, since we still don't have a
free replacement for all of them, but at least it makes the
inspector kind of usable.

* UserInterface/Images/gtk/AUTHORS: Added.
* UserInterface/Images/gtk/BackArrow.svg: Added.
* UserInterface/Images/gtk/BreakpointActionAdd.svg: Added.
* UserInterface/Images/gtk/BreakpointActionRemove.svg: Added.
* UserInterface/Images/gtk/BreakpointButton.svg: Added.
* UserInterface/Images/gtk/BreakpointInactiveButton.svg: Added.
* UserInterface/Images/gtk/Breakpoints.svg: Added.
* UserInterface/Images/gtk/COPYING: Added.
* UserInterface/Images/gtk/Close.svg: Added.
* UserInterface/Images/gtk/CloseWhite.svg: Added.
* UserInterface/Images/gtk/ContentFlow.svg: Added.
* UserInterface/Images/gtk/Crosshair.svg: Added.
* UserInterface/Images/gtk/DOMCharacterData.svg: Added.
* UserInterface/Images/gtk/DOMComment.svg: Added.
* UserInterface/Images/gtk/DOMDocument.svg: Added.
* UserInterface/Images/gtk/DOMDocumentType.svg: Added.
* UserInterface/Images/gtk/DOMElement.svg: Added.
* UserInterface/Images/gtk/DOMNode.svg: Added.
* UserInterface/Images/gtk/DOMTextNode.svg: Added.
* UserInterface/Images/gtk/DOMTree.svg: Added.
* UserInterface/Images/gtk/DisclosureTriangleSmallClosed.svg: Added.
* UserInterface/Images/gtk/DisclosureTriangleSmallOpen.svg: Added.
* UserInterface/Images/gtk/DisclosureTriangleTinyClosed.svg: Added.
* UserInterface/Images/gtk/DisclosureTriangleTinyOpen.svg: Added.
* UserInterface/Images/gtk/DockBottom.svg: Added.
* UserInterface/Images/gtk/DockRight.svg: Added.
* UserInterface/Images/gtk/DocumentCSS.png: Added.
* UserInterface/Images/gtk/DocumentCSS@2x.png: Added.
* UserInterface/Images/gtk/DocumentFont.png: Added.
* UserInterface/Images/gtk/DocumentFont@2x.png: Added.
* UserInterface/Images/gtk/DocumentGeneric.png: Added.
* UserInterface/Images/gtk/DocumentGeneric@2x.png: Added.
* UserInterface/Images/gtk/DocumentImage.png: Added.
* UserInterface/Images/gtk/DocumentImage@2x.png: Added.
* UserInterface/Images/gtk/DocumentJS.png: Added.
* UserInterface/Images/gtk/DocumentJS@2x.png: Added.
* UserInterface/Images/gtk/DocumentMarkup.png: Added.
* UserInterface/Images/gtk/DocumentMarkup@2x.png: Added.
* UserInterface/Images/gtk/DownloadArrow.svg: Added.
* UserInterface/Images/gtk/Error.svg: Added.
* UserInterface/Images/gtk/Errors.svg: Added.
* UserInterface/Images/gtk/ErrorsEnabled.svg: Added.
* UserInterface/Images/gtk/EventListener.svg: Added.
* UserInterface/Images/gtk/Exception.svg: Added.
* UserInterface/Images/gtk/FilterFieldGlyph.svg: Added.
* UserInterface/Images/gtk/FolderGeneric.png: Added.
* UserInterface/Images/gtk/FolderGeneric@2x.png: Added.
* UserInterface/Images/gtk/ForwardArrow.svg: Added.
* UserInterface/Images/gtk/Function.svg: Added.
* UserInterface/Images/gtk/GoToArrow.svg: Added.
* UserInterface/Images/gtk/Resources.svg: Added.
* UserInterface/Images/gtk/SortIndicatorDownArrow.svg: Added.
* UserInterface/Images/gtk/SortIndicatorUpArrow.svg: Added.
* UserInterface/Images/gtk/UpDownArrows.svg: Added.

Source/WebKit2:

* PlatformGTK.cmake: Use only the icons from the gtk directory since they are free.

Tools:

* gtk/generate-inspector-gresource-manifest.py: Use an alias for
the gtk icons.
* gtk/manifest.txt: Only include the free icons in the tarball.

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

5 years ago[GTK] generate-inspector-gresource-manifest.py should receive the list of files from...
carlosgc@webkit.org [Fri, 19 Sep 2014 09:21:16 +0000 (09:21 +0000)]
[GTK] generate-inspector-gresource-manifest.py should receive the list of files from the makefile
https://bugs.webkit.org/show_bug.cgi?id=136943

Reviewed by Philippe Normand.

Source/WebKit2:

* PlatformGTK.cmake: Fix the inspector file list and pass it to
the generate-inspector-gresource-manifest.py script.

Tools:

Update the script to receive the list of files from the command
line instead of scanning the given directories.

* gtk/generate-inspector-gresource-manifest.py:
(get_filenames): Convert filenames to use relative paths.
(find_all_files_in_directory): Deleted.
(find_all_files_in_directory.select_file): Deleted.

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

5 years ago[EFL][WK2] Minibrowser : Support Zoom on Control key + scroll
commit-queue@webkit.org [Fri, 19 Sep 2014 06:58:54 +0000 (06:58 +0000)]
[EFL][WK2] Minibrowser : Support Zoom on Control key + scroll
https://bugs.webkit.org/show_bug.cgi?id=136739

Patch by Tanay C <tanay.c@samsung.com> on 2014-09-18
Reviewed by Gyuyoung Kim.

* MiniBrowser/efl/main.c: Add support for zoom on control key + mouse scroll
(on_mouse_wheel): Modified.

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

5 years ago[GTK] Dot not allow to create delete-on-destroy GMainLoopSources
carlosgc@webkit.org [Fri, 19 Sep 2014 06:51:24 +0000 (06:51 +0000)]
[GTK] Dot not allow to create delete-on-destroy GMainLoopSources
https://bugs.webkit.org/show_bug.cgi?id=136923

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

* platform/gtk/GtkDragAndDropHelper.cpp:
(WebCore::GtkDragAndDropHelper::handleDragLeave): Use GMainLoopSource::scheduleAndDeleteOnDestroy().

Source/WebKit2:

* Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::dispatch): Use GMainLoopSource::scheduleAndDeleteOnDestroy().
(WorkQueue::dispatchAfter): Use GMainLoopSource::scheduleAfterDelayAndDeleteOnDestroy().

Source/WTF:

We have several asserts to ensure that delete-on-destroy sources
are not misused, like not scheduling socket sources on a
delete-on-destroy GMainLoopSource or not allowing to cancel them
before they have been dispatched. It's better to ensure all those
things at compile time, using static methods to schedule sources
creating a delete-on-destroy GMainLoopSource that is not returned
to the user.

* wtf/gobject/GMainLoopSource.cpp:
(WTF::GMainLoopSource::create): Private static method to create a
delete-on-destroy GMainLoopSource.
(WTF::GMainLoopSource::cancelWithoutLocking): Return early in case
of delete-on-destroy source, since they can't be cancelled.
(WTF::GMainLoopSource::schedule): Remove assertion to ensure
socket sources are not scheduled on a delete-on-destroy GMainLoopSource.
(WTF::GMainLoopSource::scheduleAndDeleteOnDestroy):
(WTF::GMainLoopSource::scheduleAfterDelayAndDeleteOnDestroy):
(WTF::GMainLoopSource::createAndDeleteOnDestroy): Deleted.
* wtf/gobject/GMainLoopSource.h:
* wtf/gtk/MainThreadGtk.cpp:
(WTF::scheduleDispatchFunctionsOnMainThread): Use GMainLoopSource::scheduleAndDeleteOnDestroy()
* wtf/gtk/RunLoopGtk.cpp:
(WTF::RunLoop::wakeUp): Ditto.

Tools:

* TestWebKitAPI/Tests/WTF/gobject/GMainLoopSource.cpp:
(TestWebKitAPI::TEST): Use the new API that doesn't allow to use
the source.

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

5 years ago[EFL][CoordinatedGraphics] Remove setBackgroundColor message
ryuan.choi@gmail.com [Fri, 19 Sep 2014 04:41:49 +0000 (04:41 +0000)]
[EFL][CoordinatedGraphics] Remove setBackgroundColor message
https://bugs.webkit.org/show_bug.cgi?id=136824

Reviewed by Gyuyoung Kim.

CoordinatedGraphics used setBackgroundColor() to draw the background of contents
although tiles are not ready.

This patch removes setBackgroundColor() and uses pageExtendedBackgroundColor()
which provides similar functionality.

* UIProcess/API/efl/EwkView.cpp:
Enables or disables WKPageSetBackgroundExtendsBeyondPage to use pageExtendedBackgroundColor()
(EwkView::EwkView):
(EwkView::setBackgroundColor):
* UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
(WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext): Passed pageExtendedBackgroundColor.
(WebCore::CoordinatedGraphicsScene::paintToGraphicsContext): Ditto.
(WebCore::CoordinatedGraphicsScene::setBackgroundColor): Deleted.
* UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.h:
(WebCore::CoordinatedGraphicsScene::setDrawsBackground): Deleted.
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::setBackgroundColor): Deleted.
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
* UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::paintToCurrentGLContext):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::pageExtendedBackgroundColorDidChange):
Refactored to use const reference for the Color parameter.
* UIProcess/WebPageProxy.h:
* UIProcess/efl/WebViewEfl.cpp:
(WebKit::WebViewEfl::paintToCairoSurface):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::pageExtendedBackgroundColorDidChange):
Added PLATFORM(EFL) to pass PageExtendedBackgroundColorDidChange message.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::setBackgroundColor): Deleted.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
* WebProcess/WebPage/LayerTreeHost.h:
(WebKit::LayerTreeHost::setBackgroundColor): Deleted.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mainFrameDidLayout):

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

5 years ago[Windows] Media tests all fail because they cannot find localized strings.
roger_fong@apple.com [Fri, 19 Sep 2014 01:47:20 +0000 (01:47 +0000)]
[Windows] Media tests all fail because they cannot find localized strings.

* rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::mediaControlsScript):
Make sure to use localized strings files in RenderThemeSafari.

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

5 years agoRemove generator/yield terminology in RenderInline's GeneratorContext
simon.fraser@apple.com [Fri, 19 Sep 2014 01:01:39 +0000 (01:01 +0000)]
Remove generator/yield terminology in RenderInline's GeneratorContext
https://bugs.webkit.org/show_bug.cgi?id=119278

Reviewed by Sam Weinig.

Get rid of the icky Generator/yield syntax used for collecting rects in RenderInline.
Just replace the operator() with an explicit addRect().

Also some drive-by nullptr cleanup, and removing default arguments from
addChildIgnoringContinuation() calls.

* rendering/RenderInline.cpp:
(WebCore::RenderInline::willBeDestroyed):
(WebCore::RenderInline::styleDidChange):
(WebCore::RenderInline::splitInlines):
(WebCore::RenderInline::addChildToContinuation):
(WebCore::RenderInline::generateLineBoxRects):
(WebCore::RenderInline::generateCulledLineBoxRects):
* rendering/RenderInline.h:

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

5 years agoImprove fullscreen video rotation animation.
commit-queue@webkit.org [Thu, 18 Sep 2014 23:40:46 +0000 (23:40 +0000)]
Improve fullscreen video rotation animation.
https://bugs.webkit.org/show_bug.cgi?id=136870

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-09-18
Reviewed by Simon Fraser.

Source/WebCore:

Instead of setting the frame on the video layer, set position and bounds separately. This allows the position to be synchronized with the rest of the animation.
When using a fencePort to synchronize animations, if the fence times out, pivoting around the center provides a better fallback.

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVVideoLayer setVideoSublayer:]): added
(-[WebAVVideoLayer videoSublayer]): added
(-[WebAVVideoLayer setBounds:]):  set position and bounds insted of frame.
(WebVideoFullscreenInterfaceAVKit::setupFullscreen): use setVideoSublayer
* platform/ios/WebVideoFullscreenModelVideoElement.mm:
(WebVideoFullscreenModelVideoElement::setVideoFullscreenLayer): set bounds and anchorPoint instead of frame
(WebVideoFullscreenModelVideoElement::setVideoLayerFrame): set bounds instead of frame.

Source/WebKit2:

Remove WKCAContext from LayerHostingContext and use a fencePort to synchronize animation between processes.

* Platform/mac/LayerHostingContext.h: add setFencePort. Remove WKCAContext.
* Platform/mac/LayerHostingContext.mm:
(WebKit::LayerHostingContext::createForPort): Remove WKCAContext.
(WebKit::LayerHostingContext::createForExternalHostingProcess): ditto
(WebKit::LayerHostingContext::setRootLayer): ditto
(WebKit::LayerHostingContext::rootLayer): ditto
(WebKit::LayerHostingContext::contextID): ditto
(WebKit::LayerHostingContext::invalidate): ditto
(WebKit::LayerHostingContext::setColorSpace): ditto
(WebKit::LayerHostingContext::colorSpace): ditto
(WebKit::LayerHostingContext::setFencePort): added
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame):
* WebProcess/ios/WebVideoFullscreenManager.h:
* WebProcess/ios/WebVideoFullscreenManager.messages.in: add fence port parameter
* WebProcess/ios/WebVideoFullscreenManager.mm: ditto
(WebKit::WebVideoFullscreenManager::didSetupFullscreen): ditto
(WebKit::WebVideoFullscreenManager::setVideoLayerFrameFenced): ditto

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

5 years agoExpand the srcset demo to have 3x and 4x images.
dino@apple.com [Thu, 18 Sep 2014 22:58:51 +0000 (22:58 +0000)]
Expand the srcset demo to have 3x and 4x images.

Unreviewed.

* demos/srcset/image-1x.png:
* demos/srcset/image-2x.png:
* demos/srcset/image-3x.png: Added.
* demos/srcset/image-4x.png: Added.
* demos/srcset/index.html:

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

5 years agoText laid out with the SVG -> OTF font converter does not have the same metrics as...
mmaxfield@apple.com [Thu, 18 Sep 2014 22:52:21 +0000 (22:52 +0000)]
Text laid out with the SVG -> OTF font converter does not have the same metrics as with the SVG font code path
https://bugs.webkit.org/show_bug.cgi?id=136907

Reviewed by Darin Adler.

There are three things that are causing text laid out with the SVG -> OTF font converter to not have metrics that
measure our existing SVG codepath. They are:

1. Creating a font with a 0 ascent or descent makes OS X think that something is wrong with the font, and take
a different codepath when trying to parse ascent and descent information. This patch checks for this condition
and sets the ascent/descent to 1 FUnit instead (which is generally much smaller than a pixel).
2. Our SVG font codepath hardcodes a line gap of 1/10th of the font size for every font. This patch makes the
font converter obey this.
3. The converter was not allowing for default glyph advances as per the SVG font specification. This patch
does so.

No new tests yet, but they will come soon! I promise!

* svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::appendHHEATable):
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter):

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