WebKit-https.git
6 years agoUnreviewed, rolling out r156253.
commit-queue@webkit.org [Mon, 23 Sep 2013 06:33:13 +0000 (06:33 +0000)]
Unreviewed, rolling out r156253.
http://trac.webkit.org/changeset/156253
https://bugs.webkit.org/show_bug.cgi?id=121778

Caused >20 tests to crash with assertion failures (Requested
by ap on #webkit).

* css/CSSAspectRatioValue.h:
* css/CSSBorderImageSliceValue.h:
* css/CSSCalculationValue.cpp:
(WebCore::CSSCalcExpressionNodeParser::parseValue):
* css/CSSCalculationValue.h:
* css/CSSCrossfadeValue.cpp:
(WebCore::subimageKnownToBeOpaque):
* css/CSSCrossfadeValue.h:
(WebCore::toCSSCrossfadeValue):
* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::~CSSCursorImageValue):
(WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
(WebCore::CSSCursorImageValue::cachedImage):
(WebCore::CSSCursorImageValue::cachedOrPendingImage):
(WebCore::CSSCursorImageValue::isSVGCursor):
* css/CSSCursorImageValue.h:
* css/CSSFilterImageValue.h:
(WebCore::toCSSFilterImageValue):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule):
* css/CSSGradientValue.h:
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::image):
(WebCore::CSSImageGeneratorValue::fixedSize):
(WebCore::CSSImageGeneratorValue::loadSubimages):
(WebCore::CSSImageGeneratorValue::subimageIsPending):
(WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
* css/CSSImageGeneratorValue.h:
* css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::fillImageSet):
* css/CSSImageSetValue.h:
* css/CSSImageValue.h:
* css/CSSInheritedValue.h:
* css/CSSInitialValue.h:
* css/CSSLineBoxContainValue.h:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::addProperty):
(WebCore::CSSParser::parse3ValuesFillPosition):
(WebCore::CSSParser::parseFillPosition):
(WebCore::CSSParser::parseFillRepeat):
(WebCore::CSSParser::parseDeprecatedRadialGradient):
(WebCore::CSSParser::parseRadialGradient):
* css/CSSPrimitiveValue.h:
* css/CSSReflectValue.h:
* css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::mapFillAttachment):
(WebCore::CSSToStyleMap::mapFillClip):
(WebCore::CSSToStyleMap::mapFillComposite):
(WebCore::CSSToStyleMap::mapFillBlendMode):
(WebCore::CSSToStyleMap::mapFillOrigin):
(WebCore::CSSToStyleMap::mapFillRepeatX):
(WebCore::CSSToStyleMap::mapFillRepeatY):
(WebCore::CSSToStyleMap::mapFillSize):
(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):
(WebCore::CSSToStyleMap::mapFillMaskSourceType):
(WebCore::CSSToStyleMap::mapAnimationDelay):
(WebCore::CSSToStyleMap::mapAnimationDirection):
(WebCore::CSSToStyleMap::mapAnimationDuration):
(WebCore::CSSToStyleMap::mapAnimationFillMode):
(WebCore::CSSToStyleMap::mapAnimationIterationCount):
(WebCore::CSSToStyleMap::mapAnimationName):
(WebCore::CSSToStyleMap::mapAnimationPlayState):
(WebCore::CSSToStyleMap::mapAnimationProperty):
(WebCore::CSSToStyleMap::mapAnimationTimingFunction):
(WebCore::CSSToStyleMap::mapNinePieceImageSlice):
(WebCore::CSSToStyleMap::mapNinePieceImageQuad):
(WebCore::CSSToStyleMap::mapNinePieceImageRepeat):
* css/CSSValue.cpp:
(WebCore::CSSValue::destroy):
* css/CSSValue.h:
(WebCore::CSSValue::isCSSLineBoxContainValue):
(WebCore::CSSValue::isCalculationValue):
* css/CSSValueList.h:
* css/CSSVariableValue.h:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyDefault::applyValue):
(WebCore::ApplyPropertyNumber::applyValue):
(WebCore::ApplyPropertyAuto::applyValue):
(WebCore::ApplyPropertyClip::applyValue):
(WebCore::ApplyPropertyColor::applyValue):
(WebCore::ApplyPropertyLength::applyValue):
(WebCore::ApplyPropertyString::applyValue):
(WebCore::ApplyPropertyBorderRadius::applyValue):
(WebCore::ApplyPropertyComputeLength::applyValue):
(WebCore::ApplyPropertyFont::applyValue):
(WebCore::ApplyPropertyFontFamily::applyValue):
(WebCore::ApplyPropertyFontSize::applyValue):
(WebCore::ApplyPropertyFontWeight::applyValue):
(WebCore::ApplyPropertyFontVariantLigatures::applyValue):
(WebCore::ApplyPropertyCounter::applyValue):
(WebCore::ApplyPropertyCursor::applyValue):
(WebCore::ApplyPropertyTextAlign::applyValue):
(WebCore::ApplyPropertyTextDecoration::applyValue):
(WebCore::ApplyPropertyMarqueeIncrement::applyValue):
(WebCore::ApplyPropertyMarqueeRepetition::applyValue):
(WebCore::ApplyPropertyMarqueeSpeed::applyValue):
(WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
(WebCore::ApplyPropertyLineHeight::applyValue):
(WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
(WebCore::ApplyPropertyPageSize::applyValue):
(WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
(WebCore::ApplyPropertyResize::applyValue):
(WebCore::ApplyPropertyVerticalAlign::applyValue):
(WebCore::ApplyPropertyAspectRatio::applyValue):
(WebCore::ApplyPropertyZoom::applyValue):
(WebCore::ApplyPropertyDisplay::applyValue):
(WebCore::ApplyPropertyClipPath::applyValue):
(WebCore::ApplyPropertyShape::applyValue):
(WebCore::ApplyPropertyImageResolution::applyValue):
(WebCore::ApplyPropertyTextIndent::applyValue):
* css/FontFeatureValue.h:
* css/FontValue.h:
* css/MediaList.cpp:
(WebCore::reportMediaQueryWarningIfNeeded):
* css/MediaQueryEvaluator.cpp:
(WebCore::compareAspectRatioValue):
(WebCore::numberValue):
(WebCore::orientationMediaFeatureEval):
(WebCore::evalResolution):
(WebCore::device_pixel_ratioMediaFeatureEval):
(WebCore::resolutionMediaFeatureEval):
(WebCore::computeLength):
(WebCore::view_modeMediaFeatureEval):
(WebCore::pointerMediaFeatureEval):
* css/SVGCSSStyleSelector.cpp:
(WebCore::StyleResolver::applySVGProperty):
* css/ShadowValue.h:
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getLayeredShorthandValue):
* css/StyleResolver.cpp:
(WebCore::createGridTrackSize):
(WebCore::createGridTrackList):
(WebCore::createGridPosition):
(WebCore::hasVariableReference):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::styleImage):
(WebCore::StyleResolver::generatedOrPendingFromValue):
(WebCore::StyleResolver::styleShader):
(WebCore::StyleResolver::parseCustomFilterArrayParameter):
(WebCore::StyleResolver::parseCustomFilterColorParameter):
(WebCore::StyleResolver::parseCustomFilterNumberParameter):
(WebCore::StyleResolver::parseCustomFilterParameter):
(WebCore::StyleResolver::parseCustomFilterParameterList):
(WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
(WebCore::StyleResolver::createFilterOperations):
* css/TransformFunctions.cpp:
(WebCore::transformsForValue):
* css/ViewportStyleResolver.cpp:
(WebCore::ViewportStyleResolver::getViewportArgumentValue):
* css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::setMatrixValue):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::computedFontSize):
* editing/EditingStyle.cpp:
(WebCore::identifierForStyleProperty):
(WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
(WebCore::cssValueToRGBA):
(WebCore::EditingStyle::extractFontSizeDelta):
(WebCore::EditingStyle::textDirection):
(WebCore::EditingStyle::prepareToApplyAt):
(WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
(WebCore::EditingStyle::legacyFontSize):
(WebCore::EditingStyle::textDirectionForSelection):
(WebCore::StyleChange::extractTextStyles):
(WebCore::fontWeightIsBold):
(WebCore::isTransparentColorValue):
* editing/markup.cpp:
(WebCore::propertyMissingOrEqualToNone):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForProperties):
* rendering/style/StylePendingImage.h:
(WebCore::StylePendingImage::data):
(WebCore::StylePendingImage::cssImageValue):
(WebCore::StylePendingImage::cssImageGeneratorValue):
(WebCore::StylePendingImage::cssCursorImageValue):
(WebCore::StylePendingImage::cssImageSetValue):

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

6 years agoUnreviewed, rolling out r156257.
commit-queue@webkit.org [Mon, 23 Sep 2013 06:31:24 +0000 (06:31 +0000)]
Unreviewed, rolling out r156257.
http://trac.webkit.org/changeset/156257
https://bugs.webkit.org/show_bug.cgi?id=121777

The test from this patch fails (Requested by ap on #webkit).

Source/WebCore:

* rendering/RenderBox.cpp:
(WebCore::RenderBox::calculateAutoscrollDirection):

LayoutTests:

* fast/events/drag-and-drop-autoscroll-inner-frame-expected.txt: Removed.
* fast/events/drag-and-drop-autoscroll-inner-frame.html: Removed.

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

6 years agoUnreviewed EFL gardening. Rebaselining after r156040.
jinwoo7.song@samsung.com [Mon, 23 Sep 2013 04:32:32 +0000 (04:32 +0000)]
Unreviewed EFL gardening. Rebaselining after r156040.

* platform/efl/fast/forms/HTMLOptionElement_label06-expected.txt:
* platform/efl/fast/forms/HTMLOptionElement_label07-expected.txt:
* platform/efl/fast/forms/form-element-geometry-expected.txt:
* platform/efl/fast/forms/menulist-separator-painting-expected.txt:
* platform/efl/fast/forms/select-baseline-expected.txt:
* platform/efl/fast/forms/select-empty-option-height-expected.txt:
* platform/efl/fast/forms/selectlist-minsize-expected.txt:
* platform/efl/fast/html/keygen-expected.txt:
* platform/efl/fast/replaced/three-selects-break-expected.txt:

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

6 years agoiframe and scrollbar with "overflow:auto" should support autoscroll with mousedrag
tonikitoo@webkit.org [Mon, 23 Sep 2013 04:03:25 +0000 (04:03 +0000)]
iframe and scrollbar with "overflow:auto" should support autoscroll with mousedrag
https://bugs.webkit.org/show_bug.cgi?id=40981

Reviewed by Darin Adler.
Patch by Antonio Gomes <a1.gomes@sisa.samsung.com>

Source/WebCore:

RenderBox::calculateAutoscrollDirection does not properly translate
inner frames' coordinates in order to determine its auto-scrollability.
By coincidence, if the inner frame box it placed near to page's 0, 0 position
(upper left corner), it might work.

Patch fixes it by changing ::calculateAutoscrollDirection algorithm to operate
with window coordinates, taking inner frames offset and scroll position into account.
The behavior of auto-scrollable non-frame overflow boxes, including divs, still works
as it is used to.

Test: fast/events/drag-and-drop-autoscroll-inner-frame.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::calculateAutoscrollDirection):

LayoutTests:

Test ensures that dragging an element close to the boundary of
scrollable Frames, scroll its content in that direction.

* fast/events/drag-and-drop-autoscroll-inner-frame-expected.txt: Added.
* fast/events/drag-and-drop-autoscroll-inner-frame.html: Added.

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

6 years agoCTTE: Use references more in ContainerNode, ContainerNodeAlgorithms and related classes
weinig@apple.com [Mon, 23 Sep 2013 03:40:47 +0000 (03:40 +0000)]
CTTE: Use references more in ContainerNode, ContainerNodeAlgorithms and related classes
https://bugs.webkit.org/show_bug.cgi?id=121772

Reviewed by Andreas Kling.

../WebCore:

Use references for never null Nodes in ContainerNode and related classes.

../WebKit/qt:

* Api/qwebelement.cpp:
(QWebElementCollection::append):
Update to work with the new StaticNodeList adopt function.

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

6 years agoFix functions calling to RenderObject superclass to call RenderElement instead
antti@apple.com [Mon, 23 Sep 2013 02:59:16 +0000 (02:59 +0000)]
Fix functions calling to RenderObject superclass to call RenderElement instead
https://bugs.webkit.org/show_bug.cgi?id=121773

Reviewed by Andreas Kling.

The class hierarchy has a new class. Superclass calls should be pointed there instead to
avoid future bugs.

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::setSelectionState):
* rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::styleWillChange):
(WebCore::RenderLayerModelObject::styleDidChange):
* rendering/svg/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::styleDidChange):
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::styleWillChange):
(WebCore::RenderSVGModelObject::styleDidChange):

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

6 years agoRemove RenderObjectChildList
antti@apple.com [Mon, 23 Sep 2013 02:35:38 +0000 (02:35 +0000)]
Remove RenderObjectChildList
https://bugs.webkit.org/show_bug.cgi?id=121771

Reviewed by Darin Adler.

Most RenderElement subclasses have m_children member (>90% of instances on typical page). It is not worth optimising
for memory for the few cases that don't (RenderImage, RenderLineBreak mostly) in expense of performance.

This patch moves child handling to RenderElement. This gets rid of virtual children() calls and simplifies the code.

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

6 years agoIntroduce CSS_VALUE_TYPE_CASTS macro in order to cast CSSValue type
gyuyoung.kim@samsung.com [Mon, 23 Sep 2013 01:20:19 +0000 (01:20 +0000)]
Introduce CSS_VALUE_TYPE_CASTS macro in order to cast CSSValue type
https://bugs.webkit.org/show_bug.cgi?id=121462

Reviewed by Andreas Kling.

As r155429 introduced ELEMENT_TYPE_CASTS, CSS_VALUE_TYPE_CASTS can be used
by css value type casting as well. This type cast macros will help to detect
bad-cast bugs as well as improve a code readibility.

This patch adds the following methods,

- CSSFooValue* toCSSFooValue(CSSValue*)
- const CSSFooValue* toCSSFooValue(const CSSValue*)

To be consistent with other is*Value() naming style, isCSSLineBoxContainValue() and isCalculationValue()
are changed with isLineBoxContainValue() and isCalcValue().

FontValue, FontFeatureValue, ShadowValue have a manual type case function because of different
class naming style. So, toFontValue(), toFontFeatureValue() and toShadowValue() are added manually.

This patch removes unnecessary local variables.

No new tests, no behavior change.

* css/CSSAspectRatioValue.h:
* css/CSSBorderImageSliceValue.h:
* css/CSSCalculationValue.cpp:
(WebCore::CSSCalcExpressionNodeParser::parseValue):
* css/CSSCalculationValue.h:
* css/CSSCrossfadeValue.cpp:
(WebCore::subimageKnownToBeOpaque):
* css/CSSCrossfadeValue.h:
* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::~CSSCursorImageValue):
(WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
(WebCore::CSSCursorImageValue::cachedImage):
(WebCore::CSSCursorImageValue::cachedOrPendingImage):
(WebCore::CSSCursorImageValue::isSVGCursor):
* css/CSSCursorImageValue.h:
* css/CSSFilterImageValue.h:
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule):
* css/CSSGradientValue.h:
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::image):
(WebCore::CSSImageGeneratorValue::fixedSize):
(WebCore::CSSImageGeneratorValue::loadSubimages):
(WebCore::CSSImageGeneratorValue::subimageIsPending):
(WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
* css/CSSImageGeneratorValue.h:
* css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::fillImageSet):
* css/CSSImageSetValue.h:
* css/CSSImageValue.h:
* css/CSSInheritedValue.h:
* css/CSSInitialValue.h:
* css/CSSLineBoxContainValue.h:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::addProperty):
(WebCore::CSSParser::parse3ValuesFillPosition):
(WebCore::CSSParser::parseFillPosition):
(WebCore::CSSParser::parseFillRepeat):
(WebCore::CSSParser::parseDeprecatedRadialGradient):
(WebCore::CSSParser::parseRadialGradient):
* css/CSSPrimitiveValue.h:
* css/CSSReflectValue.h:
* css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::mapFillAttachment):
(WebCore::CSSToStyleMap::mapFillClip):
(WebCore::CSSToStyleMap::mapFillComposite):
(WebCore::CSSToStyleMap::mapFillBlendMode):
(WebCore::CSSToStyleMap::mapFillOrigin):
(WebCore::CSSToStyleMap::mapFillRepeatX):
(WebCore::CSSToStyleMap::mapFillRepeatY):
(WebCore::CSSToStyleMap::mapFillSize):
(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):
(WebCore::CSSToStyleMap::mapFillMaskSourceType):
(WebCore::CSSToStyleMap::mapAnimationDelay):
(WebCore::CSSToStyleMap::mapAnimationDirection):
(WebCore::CSSToStyleMap::mapAnimationDuration):
(WebCore::CSSToStyleMap::mapAnimationFillMode):
(WebCore::CSSToStyleMap::mapAnimationIterationCount):
(WebCore::CSSToStyleMap::mapAnimationName):
(WebCore::CSSToStyleMap::mapAnimationPlayState):
(WebCore::CSSToStyleMap::mapAnimationProperty):
(WebCore::CSSToStyleMap::mapAnimationTimingFunction):
(WebCore::CSSToStyleMap::mapNinePieceImageSlice):
(WebCore::CSSToStyleMap::mapNinePieceImageQuad):
(WebCore::CSSToStyleMap::mapNinePieceImageRepeat):
* css/CSSValue.cpp:
(WebCore::CSSValue::destroy):
* css/CSSValue.h:
(WebCore::CSSValue::isLineBoxContainValue):
(WebCore::CSSValue::isCalcValue):
* css/CSSValueList.h:
* css/CSSVariableValue.h:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyDefault::applyValue):
(WebCore::ApplyPropertyNumber::applyValue):
(WebCore::ApplyPropertyAuto::applyValue):
(WebCore::ApplyPropertyClip::applyValue):
(WebCore::ApplyPropertyColor::applyValue):
(WebCore::ApplyPropertyLength::applyValue):
(WebCore::ApplyPropertyString::applyValue):
(WebCore::ApplyPropertyBorderRadius::applyValue):
(WebCore::ApplyPropertyComputeLength::applyValue):
(WebCore::ApplyPropertyFont::applyValue):
(WebCore::ApplyPropertyFontFamily::applyValue):
(WebCore::ApplyPropertyFontSize::applyValue):
(WebCore::ApplyPropertyFontWeight::applyValue):
(WebCore::ApplyPropertyFontVariantLigatures::applyValue):
(WebCore::ApplyPropertyCounter::applyValue):
(WebCore::ApplyPropertyCursor::applyValue):
(WebCore::ApplyPropertyTextAlign::applyValue):
(WebCore::ApplyPropertyTextDecoration::applyValue):
(WebCore::ApplyPropertyMarqueeIncrement::applyValue):
(WebCore::ApplyPropertyMarqueeRepetition::applyValue):
(WebCore::ApplyPropertyMarqueeSpeed::applyValue):
(WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
(WebCore::ApplyPropertyLineHeight::applyValue):
(WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
(WebCore::ApplyPropertyPageSize::applyValue):
(WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
(WebCore::ApplyPropertyResize::applyValue):
(WebCore::ApplyPropertyVerticalAlign::applyValue):
(WebCore::ApplyPropertyAspectRatio::applyValue):
(WebCore::ApplyPropertyZoom::applyValue):
(WebCore::ApplyPropertyDisplay::applyValue):
(WebCore::ApplyPropertyClipPath::applyValue):
(WebCore::ApplyPropertyShape::applyValue):
(WebCore::ApplyPropertyImageResolution::applyValue):
(WebCore::ApplyPropertyTextIndent::applyValue):
* css/FontFeatureValue.h:
(WebCore::toFontFeatureValue):
* css/FontValue.h:
(WebCore::toFontValue):
* css/MediaList.cpp:
(WebCore::reportMediaQueryWarningIfNeeded):
* css/MediaQueryEvaluator.cpp:
(WebCore::compareAspectRatioValue):
(WebCore::numberValue):
(WebCore::orientationMediaFeatureEval):
(WebCore::evalResolution):
(WebCore::device_pixel_ratioMediaFeatureEval):
(WebCore::resolutionMediaFeatureEval):
(WebCore::computeLength):
(WebCore::view_modeMediaFeatureEval):
(WebCore::pointerMediaFeatureEval):
* css/SVGCSSStyleSelector.cpp:
(WebCore::StyleResolver::applySVGProperty):
* css/ShadowValue.h:
(WebCore::toShadowValue):
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getLayeredShorthandValue):
* css/StyleResolver.cpp:
(WebCore::createGridTrackSize):
(WebCore::createGridTrackList):
(WebCore::createGridPosition):
(WebCore::hasVariableReference):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::styleImage):
(WebCore::StyleResolver::generatedOrPendingFromValue):
(WebCore::StyleResolver::styleShader):
(WebCore::StyleResolver::parseCustomFilterArrayParameter):
(WebCore::StyleResolver::parseCustomFilterColorParameter):
(WebCore::StyleResolver::parseCustomFilterNumberParameter):
(WebCore::StyleResolver::parseCustomFilterParameter):
(WebCore::StyleResolver::parseCustomFilterParameterList):
(WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
(WebCore::StyleResolver::createFilterOperations):
* css/TransformFunctions.cpp:
(WebCore::transformsForValue):
* css/ViewportStyleResolver.cpp:
(WebCore::ViewportStyleResolver::getViewportArgumentValue):
* css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::setMatrixValue):
* css/WebKitCSSShaderValue.h:
(WebCore::toWebKitCSSShaderValue):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::computedFontSize):
* editing/EditingStyle.cpp:
(WebCore::identifierForStyleProperty):
(WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
(WebCore::cssValueToRGBA):
(WebCore::EditingStyle::extractFontSizeDelta):
(WebCore::EditingStyle::textDirection):
(WebCore::EditingStyle::prepareToApplyAt):
(WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
(WebCore::EditingStyle::legacyFontSize):
(WebCore::EditingStyle::textDirectionForSelection):
(WebCore::StyleChange::extractTextStyles):
(WebCore::fontWeightIsBold):
(WebCore::isTransparentColorValue):
* editing/markup.cpp:
(WebCore::propertyMissingOrEqualToNone):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForProperties):
* rendering/style/StylePendingImage.h:
(WebCore::StylePendingImage::data):
(WebCore::StylePendingImage::cssImageValue):
(WebCore::StylePendingImage::cssImageGeneratorValue):
(WebCore::StylePendingImage::cssCursorImageValue):
(WebCore::StylePendingImage::cssImageSetValue):

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

6 years agoHiding a focused element should unfocus it and fire a blur event
commit-queue@webkit.org [Sun, 22 Sep 2013 23:19:14 +0000 (23:19 +0000)]
Hiding a focused element should unfocus it and fire a blur event
https://bugs.webkit.org/show_bug.cgi?id=29241

Patch by Arunprasad Rajkumar <ararunprasad@gmail.com> on 2013-09-22
Reviewed by Darin Adler.

Source/WebCore:

Test: fast/dom/HTMLDocument/active-element-gets-unfocusable.html

We check whether the current focus element is really focusable after
the style recalculation and layout change. If it is not focusable then schedule a
timer to reset it asynchronously.

* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::recalcStyle): Check isFocusable() on the focus element after
style recalculation.
(WebCore::Document::updateLayout): Check isFocusable() on the focus element after
layout.
(WebCore::Document::resetHiddenFocusElementSoon):
(WebCore::Document::resetHiddenFocusElementTimer):
* dom/Document.h:

LayoutTests:

* fast/dom/HTMLDocument/active-element-gets-unfocusable-expected.txt: Added.
* fast/dom/HTMLDocument/active-element-gets-unfocusable.html: Added.

LayoutTest reused from https://chromium.googlesource.com/chromium/blink/+/c58f636fd18fc27944c42e27d6a92a36867c57e1
with little modification.

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

6 years agoCTTE: StaticNodeLists often contain only Elements, we shouldn't store them as Vector...
weinig@apple.com [Sun, 22 Sep 2013 22:11:37 +0000 (22:11 +0000)]
CTTE: StaticNodeLists often contain only Elements, we shouldn't store them as Vector<RefPtr<Node>> in those cases
https://bugs.webkit.org/show_bug.cgi?id=121769

Reviewed by Andreas Kling.

Introduces StaticElementList and uses it.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::getNamedItems):
* bindings/js/JSHTMLCollectionCustom.cpp:
* bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
(WebCore::getNamedItems):
* bindings/js/JSHTMLFormElementCustom.cpp:
(WebCore::JSHTMLFormElement::nameGetter):
* dom/SelectorQuery.cpp:
(WebCore::AllElementExtractorSelectorQueryTrait::appendOutputForElement):
(WebCore::SelectorDataList::queryAll):
* dom/StaticNodeList.cpp:
(WebCore::StaticElementList::length):
(WebCore::StaticElementList::item):
(WebCore::StaticElementList::namedItem):
* dom/StaticNodeList.h:
* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::getRegionsByContent):
(WebCore::WebKitNamedFlow::getRegions):
(WebCore::WebKitNamedFlow::getContent):
(WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent):
(WebCore::WebKitNamedFlow::dispatchRegionOversetChangeEvent):
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::namedItems):
* html/HTMLCollection.h:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::getNamedElements):
* html/HTMLFormElement.h:
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::collectIntersectionOrEnclosureList):

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

6 years agoCTTE: RenderNamedFlowThread and FlowThreadController should operate on Elements,...
weinig@apple.com [Sun, 22 Sep 2013 21:23:48 +0000 (21:23 +0000)]
CTTE: RenderNamedFlowThread and FlowThreadController should operate on Elements, not Nodes
https://bugs.webkit.org/show_bug.cgi?id=121768

Reviewed by Andreas Kling.

* dom/Element.cpp:
(WebCore::Element::unregisterNamedFlowContentElement):
(WebCore::Element::shouldMoveToFlowThread):
(WebCore::Element::clearStyleDerivedDataBeforeDetachingRenderer):
* dom/Element.h:
Update to new names and to pass this as a reference to the FlowThreadController.

* dom/Node.cpp:
* dom/Node.h:
Move isRegisteredWithNamedFlow() to Element.

* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::getRegionsByContent):
(WebCore::WebKitNamedFlow::getRegions):
(WebCore::WebKitNamedFlow::getContent):
Update for contentNodes() -> contentElements() name change. Modernize the code a bit
as well.

* rendering/FlowThreadController.cpp:
(WebCore::FlowThreadController::registerNamedFlowContentElement):
(WebCore::FlowThreadController::unregisterNamedFlowContentElement):
(WebCore::FlowThreadController::isContentElementRegisteredWithAnyNamedFlow):
* rendering/FlowThreadController.h:
Change the Node* -> RenderNamedFlowThread* map to a Element* -> RenderNamedFlowThread*. Update
functions taking Node*s to take Element&s.

* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::~RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::clearContentElements):
(WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::hasContentElement):
(WebCore::isContainedInElements):
(WebCore::nextNodeInsideContentElement):
(WebCore::RenderNamedFlowThread::getRanges):
* rendering/RenderNamedFlowThread.h:
Change the NamedFlowContent set to store Elements rather than Nodes. Like with FlowThreadController,
update registration functions to take Element&s instead of Node*s, removing asserts.

* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::setRegionObjectsRegionStyle):
Update for new names.

* style/StyleResolveTree.cpp:
(WebCore::Style::moveToFlowThreadIfNeeded):
Pass the Element and RenderNamedFlowThread as references.

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

6 years agoTry to fix the windows build (take 2).
weinig@apple.com [Sun, 22 Sep 2013 21:23:34 +0000 (21:23 +0000)]
Try to fix the windows build (take 2).

* DOMEventsClasses.cpp:
(DOMEvent::createInstance):

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

6 years agoTry to fix the windows build.
weinig@apple.com [Sun, 22 Sep 2013 21:17:27 +0000 (21:17 +0000)]
Try to fix the windows build.

* DOMEventsClasses.cpp:
(DOMEvent::createInstance):

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

6 years agoGet rid of CodeBlock::RareData::callReturnIndexVector and most of the evil that it...
fpizlo@apple.com [Sun, 22 Sep 2013 17:03:59 +0000 (17:03 +0000)]
Get rid of CodeBlock::RareData::callReturnIndexVector and most of the evil that it introduced
https://bugs.webkit.org/show_bug.cgi?id=121766

Reviewed by Andreas Kling.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::shrinkToFit):
* bytecode/CodeBlock.h:
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileExceptionHandlers):
(JSC::DFG::JITCompiler::link):
* jit/JIT.cpp:
(JSC::JIT::privateCompile):

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

6 years agoGive purity hints to compiler to avoid penalizing repeated calls to some functions.
akling@apple.com [Sun, 22 Sep 2013 12:49:59 +0000 (12:49 +0000)]
Give purity hints to compiler to avoid penalizing repeated calls to some functions.
<https://webkit.org/b/121744>

Reviewed by Darin Adler.

Source/WebCore:

Mark the following functions pure:

    - gcController()
    - cssValuePool()
    - threadGlobalData()

I had this idea when I saw Darin's patch to cache cssValuePool() in a local.
We know that this function will always return the same value, so we should just
share this knowledge with the compiler and let it do the cleverness instead.

Source/WTF:

Added a PURE_FUNCTION macro. This is supported on GCC and Clang for now.
Marking a function pure means that the compiler's CSE pass is free to coalesce
multiple calls to this function because it has no globally observable side
effects beyond the first call.

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

6 years agoRemove unused code in WebKit/mac's WebScriptDebugDelegate.
mark.lam@apple.com [Sun, 22 Sep 2013 07:34:49 +0000 (07:34 +0000)]
Remove unused code in WebKit/mac's WebScriptDebugDelegate.
https://bugs.webkit.org/show_bug.cgi?id=121706.

Reviewed by Timothy Hatcher.

WebScriptDebugDelegate's didEnterCallFrame, willExecuteStatement,
and willLeaveCallFrame are not in use. Removed them and all methods
and fields used for supporting them.

* WebView/WebDelegateImplementationCaching.h:
* WebView/WebScriptDebugDelegate.h:
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFramePrivate dealloc]):
(-[WebScriptCallFrame _initWithGlobalObject:debuggerCallFrame:]):
* WebView/WebScriptDebugger.h:
(WebScriptDebugger::globalObject):
(WebScriptDebugger::callEvent):
(WebScriptDebugger::atStatement):
(WebScriptDebugger::returnEvent):
(WebScriptDebugger::willExecuteProgram):
(WebScriptDebugger::didExecuteProgram):
(WebScriptDebugger::didReachBreakpoint):
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::WebScriptDebugger):
(WebScriptDebugger::exception):
* WebView/WebView.mm:
(-[WebView _cacheScriptDebugDelegateImplementations]):

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

6 years agoFix accessibility-node-memory-management.html to use normal style for
darin@apple.com [Sun, 22 Sep 2013 07:15:15 +0000 (07:15 +0000)]
Fix accessibility-node-memory-management.html to use normal style for
GC-related tests, making it more robust
https://bugs.webkit.org/show_bug.cgi?id=121760

Rubber-stamped by Alexey Proskuryakov.

Change was accidentally landed in previous commit, this is the change log
that goes with it.

* accessibility/accessibility-node-memory-management.html:
Use jsTestIsAsync and setTimeout to do the garbage collection without the
rest of the script state on the stack. Also removed a lot of unneeded
"window." since the test works fine without them and tweaked comments.

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

6 years agoFix too-strict type error exceptions introduced in WebGL bindings
darin@apple.com [Sun, 22 Sep 2013 07:11:10 +0000 (07:11 +0000)]
Fix too-strict type error exceptions introduced in WebGL bindings
https://bugs.webkit.org/show_bug.cgi?id=121759

Reviewed by Alexey Proskuryakov.

* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::getAttachedShaders): Allow undefined
or null without throwing type error.
(WebCore::JSWebGLRenderingContext::getProgramParameter): Ditto.
(WebCore::JSWebGLRenderingContext::getUniform): Ditto.
(WebCore::dataFunctionf): Ditto.
(WebCore::dataFunctioni): Ditto.
(WebCore::dataFunctionMatrix): Ditto.

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

6 years agoInterpreter::unwind() has no need for the bytecodeOffset
fpizlo@apple.com [Sun, 22 Sep 2013 05:00:45 +0000 (05:00 +0000)]
Interpreter::unwind() has no need for the bytecodeOffset
https://bugs.webkit.org/show_bug.cgi?id=121755

Reviewed by Oliver Hunt.

It was only using the bytecodeOffset for some debugger stuff, but the debugger could
just get the bytecodeOffset the same way the rest of the machinery does: by using the
CallFrame's location.

It turns out that a lot of really ugly code was in place just to supply this
bytecodeOffset. This patch kills most of that code, and allows us to kill even more
code in a future patch - though most likely that killage will involve further
refactorings as well, see https://bugs.webkit.org/show_bug.cgi?id=121734.

* dfg/DFGOperations.cpp:
* interpreter/CallFrame.cpp:
(JSC::CallFrame::bytecodeOffset):
(JSC::CallFrame::codeOrigin):
* interpreter/CallFrame.h:
* interpreter/Interpreter.cpp:
(JSC::Interpreter::unwind):
* interpreter/Interpreter.h:
* jit/JITExceptions.cpp:
(JSC::genericUnwind):
* jit/JITExceptions.h:
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
(JSC::cti_vm_handle_exception):
* llint/LLIntExceptions.cpp:
(JSC::LLInt::doThrow):
(JSC::LLInt::returnToThrow):
(JSC::LLInt::callToThrow):
* llint/LLIntExceptions.h:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPathsExceptions.cpp:
(JSC::CommonSlowPaths::interpreterThrowInCaller):
* runtime/CommonSlowPathsExceptions.h:

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

6 years agoEvent and EventTarget interfaces don't need to be store as AtomicStrings
weinig@apple.com [Sun, 22 Sep 2013 04:15:10 +0000 (04:15 +0000)]
Event and EventTarget interfaces don't need to be store as AtomicStrings
https://bugs.webkit.org/show_bug.cgi?id=121751

Reviewed by Andreas Kling.

Convert the Event and EventTarget interface identifiers from AtomicStrings to enums. They
are not extensible and not exposed as Strings anywhere.

* Files elided *

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

6 years agoAdd ExecState::uncheckedArgument and use where possible to shrink a bit
darin@apple.com [Sun, 22 Sep 2013 04:02:59 +0000 (04:02 +0000)]
Add ExecState::uncheckedArgument and use where possible to shrink a bit
https://bugs.webkit.org/show_bug.cgi?id=121750

Reviewed by Andreas Kling.

Source/JavaScriptCore:

* interpreter/CallFrame.h:
(JSC::ExecState::uncheckedArgument): Added. Like argument, but with an
assertion rather than a runtime check.

* API/APICallbackFunction.h:
(JSC::APICallbackFunction::call): Use uncheckedArgument because we are
already in a loop over arguments, so don't need a range check.
* API/JSCallbackConstructor.cpp:
(JSC::constructJSCallback): Ditto.
* API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject::construct): Ditto.
(JSC::JSCallbackObject::call): Ditto.
* jsc.cpp:
(functionPrint): Ditto.
(functionRun): Ditto.
(functionSetSamplingFlags): Ditto.
(functionClearSamplingFlags): Ditto.
* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncConcat): Ditto.
(JSC::arrayProtoFuncPush): Use uncheckedArgument because there is already
code that explicitly checks argumentCount.
(JSC::arrayProtoFuncSplice): Ditto.
(JSC::arrayProtoFuncUnShift): Ditto.
(JSC::arrayProtoFuncReduce): Ditto.
(JSC::arrayProtoFuncReduceRight): Ditto.
(JSC::arrayProtoFuncLastIndexOf): Ditto.
* runtime/DatePrototype.cpp:
(JSC::fillStructuresUsingTimeArgs): Ditto.
(JSC::fillStructuresUsingDateArgs): Ditto.
* runtime/JSArrayBufferConstructor.cpp:
(JSC::constructArrayBuffer): Ditto.
* runtime/JSArrayBufferPrototype.cpp:
(JSC::arrayBufferProtoFuncSlice): Ditto.
* runtime/JSBoundFunction.cpp:
(JSC::boundFunctionCall): Ditto.
(JSC::boundFunctionConstruct): Ditto.
* runtime/JSDataViewPrototype.cpp:
(JSC::getData): Ditto.
(JSC::setData): Ditto.
* runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayView): Ditto.
* runtime/JSGenericTypedArrayViewPrototypeInlines.h:
(JSC::genericTypedArrayViewProtoFuncSet): Ditto.
(JSC::genericTypedArrayViewProtoFuncSubarray): Ditto.
* runtime/JSONObject.cpp:
(JSC::JSONProtoFuncParse): Ditto.
(JSC::JSONProtoFuncStringify): Ditto.
* runtime/JSPromiseConstructor.cpp:
(JSC::constructPromise): Ditto.
(JSC::JSPromiseConstructorFuncFulfill): Ditto.
(JSC::JSPromiseConstructorFuncResolve): Ditto.
(JSC::JSPromiseConstructorFuncReject): Ditto.
* runtime/MathObject.cpp:
(JSC::mathProtoFuncMax): Ditto.
(JSC::mathProtoFuncMin): Ditto.

* runtime/NameConstructor.cpp:
(JSC::constructPrivateName): Removed unneeded check of argumentCout
that simply repeats what argument already does.
* runtime/NativeErrorConstructor.cpp:
(JSC::Interpreter::constructWithNativeErrorConstructor): Ditto.
(JSC::Interpreter::callNativeErrorConstructor): Ditto.

* runtime/NumberConstructor.cpp:
(JSC::constructWithNumberConstructor): Use uncheckedArgument since
there is already code that explicitly checks argument count.
(JSC::callNumberConstructor): Ditto.

* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorCreate): Small refactoring to not call argument(0)
three times.

* runtime/SetConstructor.cpp:
(JSC::constructSet): Use uncheckedArgument since we are already in a loop
over arguments.

* runtime/StringConstructor.cpp:
(JSC::stringFromCharCodeSlowCase): In a loop.
(JSC::stringFromCharCode): Already checked count.
(JSC::constructWithStringConstructor): Ditto.
(JSC::callStringConstructor): Ditto.
* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncConcat): Already checked count.
* runtime/TestRunnerUtils.cpp:
(JSC::numberOfDFGCompiles): Ditto.
(JSC::setNeverInline): Ditto.

Source/WebCore:

* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::probablySupportsContext): Already checked count.
(WebCore::JSHTMLCanvasElement::toDataURL): Ditto.
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::documentWrite): In a loop.
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::JSInjectedScriptHost::inspectedObject): Already checked count.
(WebCore::JSInjectedScriptHost::internalConstructorName): Ditto.
(WebCore::JSInjectedScriptHost::isHTMLAllCollection): Ditto.
(WebCore::JSInjectedScriptHost::type): Ditto.
(WebCore::JSInjectedScriptHost::functionDetails): Ditto.
(WebCore::JSInjectedScriptHost::getEventListeners): Ditto.
(WebCore::JSInjectedScriptHost::inspect): Ditto.
(WebCore::JSInjectedScriptHost::databaseId): Ditto.
(WebCore::JSInjectedScriptHost::storageId): Ditto.
* bindings/js/JSSQLTransactionSyncCustom.cpp:
(WebCore::JSSQLTransactionSync::executeSql): Ditto.
* bindings/js/JSSVGLengthCustom.cpp:
(WebCore::JSSVGLength::convertToSpecifiedUnits): Ditto.
* bindings/js/JSSharedWorkerCustom.cpp:
(WebCore::JSSharedWorkerConstructor::constructJSSharedWorker): Ditto.

* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::getObjectParameter): Already checked count.
(WebCore::JSWebGLRenderingContext::getAttachedShaders): Removed tortured code
to triply do the checking that the toWebGLProgram function already does, including
spurious exception checking in code that can't create an exception. Also count is
already checked.
(WebCore::JSWebGLRenderingContext::getExtension): More of the same.
(WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter): Ditto.
(WebCore::JSWebGLRenderingContext::getParameter): Ditto.
(WebCore::JSWebGLRenderingContext::getProgramParameter): Ditto.
(WebCore::JSWebGLRenderingContext::getShaderParameter): Ditto.
(WebCore::JSWebGLRenderingContext::getUniform): Ditto.
(WebCore::dataFunctionf): Ditto.
(WebCore::dataFunctioni): Ditto.
(WebCore::dataFunctionMatrix): Ditto.

* bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::importScripts): In a loop.
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::open): Already checked. Also removed some unneeded
argument count checks.
(WebCore::JSXMLHttpRequest::send): Removed unneeded special case for 0 argument
count that does the same thing as the undefined case, since asking for an
argument past the count yields undefined.

* bindings/js/JSXSLTProcessorCustom.cpp:
(WebCore::JSXSLTProcessor::setParameter): Already checked.
(WebCore::JSXSLTProcessor::getParameter): Already checked.
(WebCore::JSXSLTProcessor::removeParameter): Already checked.

* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::ScheduledAction): In a loop.
* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptArguments): Ditto.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck): Removed some excess argumentCount checks.
Used uncheckedArgument in a few places. More needs to be done, especially for
overloaded functions.

* bridge/c/c_instance.cpp:
(JSC::Bindings::CInstance::invokeMethod): In a loop.
(JSC::Bindings::CInstance::invokeDefaultMethod): Ditto.
* bridge/objc/objc_instance.mm:
(ObjcInstance::invokeObjcMethod): Ditto.
(ObjcInstance::invokeDefaultMethod): Ditto.

* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
Updated.

Source/WebKit2:

* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::callMethod): In a loop.
(WebKit::JSNPObject::callObject): Ditto.
(WebKit::JSNPObject::callConstructor): Ditto.

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

6 years agoRemove the notion that a CallFrame can have a pointer to an InlineCallFrame, since...
fpizlo@apple.com [Sun, 22 Sep 2013 03:48:26 +0000 (03:48 +0000)]
Remove the notion that a CallFrame can have a pointer to an InlineCallFrame, since that doesn't happen anymore
https://bugs.webkit.org/show_bug.cgi?id=121753

Reviewed by Darin Adler.

* interpreter/CallFrame.cpp:
(JSC::CallFrame::bytecodeOffsetFromCodeOriginIndex):
* interpreter/CallFrame.h:
* interpreter/Register.h:

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

6 years agoUnreviewed, fix the revert.
fpizlo@apple.com [Sun, 22 Sep 2013 00:31:09 +0000 (00:31 +0000)]
Unreviewed, fix the revert.

* dfg/DFGRepatch.cpp:

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

6 years agoUnreviewed, revert http://trac.webkit.org/changeset/156235. It won't work on Windows.
fpizlo@apple.com [Sun, 22 Sep 2013 00:24:36 +0000 (00:24 +0000)]
Unreviewed, revert trac.webkit.org/changeset/156235. It won't work on Windows.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::unlink):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::resetStubInternal):
* bytecode/StructureStubInfo.h:
* dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
(JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator):
(JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator):
* dfg/DFGJITCompiler.h:
* dfg/DFGOSRExitCompiler.h:
* dfg/DFGOperations.cpp:
(JSC::DFG::operationPutByValInternal):
* dfg/DFGOperations.h:
(JSC::DFG::operationNewTypedArrayWithSizeForType):
(JSC::DFG::operationNewTypedArrayWithOneArgumentForType):
* dfg/DFGRegisterSet.h: Added.
(JSC::DFG::RegisterSet::RegisterSet):
(JSC::DFG::RegisterSet::asPOD):
(JSC::DFG::RegisterSet::copyInfo):
(JSC::DFG::RegisterSet::set):
(JSC::DFG::RegisterSet::setGPRByIndex):
(JSC::DFG::RegisterSet::clear):
(JSC::DFG::RegisterSet::get):
(JSC::DFG::RegisterSet::getGPRByIndex):
(JSC::DFG::RegisterSet::getFreeGPR):
(JSC::DFG::RegisterSet::setFPRByIndex):
(JSC::DFG::RegisterSet::getFPRByIndex):
(JSC::DFG::RegisterSet::setByIndex):
(JSC::DFG::RegisterSet::getByIndex):
(JSC::DFG::RegisterSet::numberOfSetGPRs):
(JSC::DFG::RegisterSet::numberOfSetFPRs):
(JSC::DFG::RegisterSet::numberOfSetRegisters):
(JSC::DFG::RegisterSet::setBit):
(JSC::DFG::RegisterSet::clearBit):
(JSC::DFG::RegisterSet::getBit):
* dfg/DFGRepatch.cpp: Added.
(JSC::DFG::repatchCall):
(JSC::DFG::repatchByIdSelfAccess):
(JSC::DFG::addStructureTransitionCheck):
(JSC::DFG::replaceWithJump):
(JSC::DFG::emitRestoreScratch):
(JSC::DFG::linkRestoreScratch):
(JSC::DFG::generateProtoChainAccessStub):
(JSC::DFG::tryCacheGetByID):
(JSC::DFG::repatchGetByID):
(JSC::DFG::getPolymorphicStructureList):
(JSC::DFG::patchJumpToGetByIdStub):
(JSC::DFG::tryBuildGetByIDList):
(JSC::DFG::buildGetByIDList):
(JSC::DFG::appropriateGenericPutByIdFunction):
(JSC::DFG::appropriateListBuildingPutByIdFunction):
(JSC::DFG::emitPutReplaceStub):
(JSC::DFG::emitPutTransitionStub):
(JSC::DFG::tryCachePutByID):
(JSC::DFG::repatchPutByID):
(JSC::DFG::tryBuildPutByIdList):
(JSC::DFG::buildPutByIdList):
(JSC::DFG::tryRepatchIn):
(JSC::DFG::repatchIn):
(JSC::DFG::linkSlowFor):
(JSC::DFG::linkFor):
(JSC::DFG::linkClosureCall):
(JSC::DFG::resetGetByID):
(JSC::DFG::resetPutByID):
(JSC::DFG::resetIn):
* dfg/DFGRepatch.h: Added.
(JSC::DFG::resetGetByID):
(JSC::DFG::resetPutByID):
(JSC::DFG::resetIn):
* dfg/DFGScratchRegisterAllocator.h: Added.
(JSC::DFG::ScratchRegisterAllocator::ScratchRegisterAllocator):
(JSC::DFG::ScratchRegisterAllocator::lock):
(JSC::DFG::ScratchRegisterAllocator::allocateScratch):
(JSC::DFG::ScratchRegisterAllocator::allocateScratchGPR):
(JSC::DFG::ScratchRegisterAllocator::allocateScratchFPR):
(JSC::DFG::ScratchRegisterAllocator::didReuseRegisters):
(JSC::DFG::ScratchRegisterAllocator::preserveReusedRegistersByPushing):
(JSC::DFG::ScratchRegisterAllocator::restoreReusedRegistersByPopping):
(JSC::DFG::ScratchRegisterAllocator::desiredScratchBufferSize):
(JSC::DFG::ScratchRegisterAllocator::preserveUsedRegistersToScratchBuffer):
(JSC::DFG::ScratchRegisterAllocator::restoreUsedRegistersFromScratchBuffer):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::writeBarrier):
(JSC::DFG::SpeculativeJIT::nonSpeculativeCompare):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::compare):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::CompareAndBoxBooleanSlowPathGenerator::CompareAndBoxBooleanSlowPathGenerator):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::CompareAndBoxBooleanSlowPathGenerator::CompareAndBoxBooleanSlowPathGenerator):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGThunks.cpp:
(JSC::DFG::emitPointerValidation):
(JSC::DFG::throwExceptionFromCallSlowPathGenerator):
(JSC::DFG::slowPathFor):
(JSC::DFG::linkForThunkGenerator):
(JSC::DFG::linkCallThunkGenerator):
(JSC::DFG::linkConstructThunkGenerator):
(JSC::DFG::linkClosureCallThunkGenerator):
(JSC::DFG::virtualForThunkGenerator):
(JSC::DFG::virtualCallThunkGenerator):
(JSC::DFG::virtualConstructThunkGenerator):
* dfg/DFGThunks.h:
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):
* ftl/FTLOSRExitCompiler.h:
* jit/AssemblyHelpers.h:
* jit/JIT.cpp:
(JSC::JIT::linkFor):
(JSC::JIT::linkSlowCall):
* jit/JITCall.cpp:
(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCallSlowCase):
(JSC::JIT::privateCompileClosureCall):
* jit/JITCall32_64.cpp:
(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCallSlowCase):
(JSC::JIT::privateCompileClosureCall):
* jit/JITOperationWrappers.h: Removed.
* jit/JITOperations.cpp: Removed.
* jit/JITOperations.h: Removed.
* jit/RegisterSet.h: Removed.
* jit/Repatch.cpp: Removed.
* jit/Repatch.h: Removed.
* jit/ScratchRegisterAllocator.h: Removed.
* jit/ThunkGenerators.cpp:
(JSC::generateSlowCaseFor):
(JSC::linkForGenerator):
(JSC::linkCallGenerator):
(JSC::linkConstructGenerator):
(JSC::linkClosureCallGenerator):
(JSC::virtualForGenerator):
(JSC::virtualCallGenerator):
(JSC::virtualConstructGenerator):
* jit/ThunkGenerators.h:

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

6 years agoFix Obj-C bindings test expectations.
jonlee@apple.com [Sun, 22 Sep 2013 00:11:15 +0000 (00:11 +0000)]
Fix Obj-C bindings test expectations.
Unreviewed.

Bindings tests failed with r156232, from https://bugs.webkit.org/show_bug.cgi?id=121745.

* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj reflectedStringAttr]): Update test expectations.

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

6 years agoMove DFG inline caching logic into jit/
fpizlo@apple.com [Sat, 21 Sep 2013 23:10:45 +0000 (23:10 +0000)]
Move DFG inline caching logic into jit/
https://bugs.webkit.org/show_bug.cgi?id=121749

Rubber stamped by Sam Weinig.

We want to get rid of the baseline JIT's inline caching machinery and have it use the
DFG's instead. But before we do that we need to move the DFG's inline caching machine
out from behind its ENABLE(DFG_JIT) guards and make it available to the whole system.
This patch does that:

- dfg/DFGRepatch becomes jit/Repatch.

- The thunks used by the DFG IC go into jit/ThunkGenerators, instead of dfg/DFGThunks.

- The operations used by the DFG IC go into jit/JITOperations, instead of
  dfg/DFGOperations.

- The old JIT's thunk generators for calls are renamed to reduce confusion. Previously
  it was easy to know which generators belong to which JIT because the old JIT used
  JSC::virtualCallBlah and the DFG used JSC::DFG::virtualCallBlah, but that's not the
  case anymore. Note that the old JIT's thunk generators will die in a future patch.

No functional changes beyond those moves.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::unlink):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::resetStubInternal):
* bytecode/StructureStubInfo.h:
* dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
(JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator):
(JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator):
* dfg/DFGJITCompiler.h:
* dfg/DFGOSRExitCompiler.h:
* dfg/DFGOperations.cpp:
(JSC::DFG::operationPutByValInternal):
* dfg/DFGOperations.h:
(JSC::DFG::operationNewTypedArrayWithSizeForType):
(JSC::DFG::operationNewTypedArrayWithOneArgumentForType):
* dfg/DFGRegisterSet.h: Removed.
* dfg/DFGRepatch.cpp: Removed.
* dfg/DFGRepatch.h: Removed.
* dfg/DFGScratchRegisterAllocator.h: Removed.
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeCompare):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::compare):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::CompareAndBoxBooleanSlowPathGenerator::CompareAndBoxBooleanSlowPathGenerator):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::CompareAndBoxBooleanSlowPathGenerator::CompareAndBoxBooleanSlowPathGenerator):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGThunks.cpp:
* dfg/DFGThunks.h:
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::writeBarrier):
* jit/JIT.cpp:
(JSC::JIT::linkFor):
(JSC::JIT::linkSlowCall):
* jit/JITCall.cpp:
(JSC::JIT::compileCallEval):
(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCallSlowCase):
(JSC::JIT::privateCompileClosureCall):
* jit/JITCall32_64.cpp:
(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCallSlowCase):
(JSC::JIT::privateCompileClosureCall):
* jit/JITOperationWrappers.h: Added.
* jit/JITOperations.cpp: Added.
* jit/JITOperations.h: Added.
* jit/RegisterSet.h: Added.
(JSC::RegisterSet::RegisterSet):
(JSC::RegisterSet::asPOD):
(JSC::RegisterSet::copyInfo):
(JSC::RegisterSet::set):
(JSC::RegisterSet::setGPRByIndex):
(JSC::RegisterSet::clear):
(JSC::RegisterSet::get):
(JSC::RegisterSet::getGPRByIndex):
(JSC::RegisterSet::getFreeGPR):
(JSC::RegisterSet::setFPRByIndex):
(JSC::RegisterSet::getFPRByIndex):
(JSC::RegisterSet::setByIndex):
(JSC::RegisterSet::getByIndex):
(JSC::RegisterSet::numberOfSetGPRs):
(JSC::RegisterSet::numberOfSetFPRs):
(JSC::RegisterSet::numberOfSetRegisters):
(JSC::RegisterSet::setBit):
(JSC::RegisterSet::clearBit):
(JSC::RegisterSet::getBit):
* jit/Repatch.cpp: Added.
(JSC::repatchCall):
(JSC::repatchByIdSelfAccess):
(JSC::addStructureTransitionCheck):
(JSC::replaceWithJump):
(JSC::emitRestoreScratch):
(JSC::linkRestoreScratch):
(JSC::generateProtoChainAccessStub):
(JSC::tryCacheGetByID):
(JSC::repatchGetByID):
(JSC::getPolymorphicStructureList):
(JSC::patchJumpToGetByIdStub):
(JSC::tryBuildGetByIDList):
(JSC::buildGetByIDList):
(JSC::appropriateGenericPutByIdFunction):
(JSC::appropriateListBuildingPutByIdFunction):
(JSC::emitPutReplaceStub):
(JSC::emitPutTransitionStub):
(JSC::tryCachePutByID):
(JSC::repatchPutByID):
(JSC::tryBuildPutByIdList):
(JSC::buildPutByIdList):
(JSC::tryRepatchIn):
(JSC::repatchIn):
(JSC::linkSlowFor):
(JSC::linkFor):
(JSC::linkClosureCall):
(JSC::resetGetByID):
(JSC::resetPutByID):
(JSC::resetIn):
* jit/Repatch.h: Added.
(JSC::resetGetByID):
(JSC::resetPutByID):
(JSC::resetIn):
* jit/ScratchRegisterAllocator.h: Added.
(JSC::ScratchRegisterAllocator::ScratchRegisterAllocator):
(JSC::ScratchRegisterAllocator::lock):
(JSC::ScratchRegisterAllocator::allocateScratch):
(JSC::ScratchRegisterAllocator::allocateScratchGPR):
(JSC::ScratchRegisterAllocator::allocateScratchFPR):
(JSC::ScratchRegisterAllocator::didReuseRegisters):
(JSC::ScratchRegisterAllocator::preserveReusedRegistersByPushing):
(JSC::ScratchRegisterAllocator::restoreReusedRegistersByPopping):
(JSC::ScratchRegisterAllocator::desiredScratchBufferSize):
(JSC::ScratchRegisterAllocator::preserveUsedRegistersToScratchBuffer):
(JSC::ScratchRegisterAllocator::restoreUsedRegistersFromScratchBuffer):
* jit/ThunkGenerators.cpp:
(JSC::oldStyleGenerateSlowCaseFor):
(JSC::oldStyleLinkForGenerator):
(JSC::oldStyleLinkCallGenerator):
(JSC::oldStyleLinkConstructGenerator):
(JSC::oldStyleLinkClosureCallGenerator):
(JSC::oldStyleVirtualForGenerator):
(JSC::oldStyleVirtualCallGenerator):
(JSC::oldStyleVirtualConstructGenerator):
(JSC::emitPointerValidation):
(JSC::throwExceptionFromCallSlowPathGenerator):
(JSC::slowPathFor):
(JSC::linkForThunkGenerator):
(JSC::linkCallThunkGenerator):
(JSC::linkConstructThunkGenerator):
(JSC::linkClosureCallThunkGenerator):
(JSC::virtualForThunkGenerator):
(JSC::virtualCallThunkGenerator):
(JSC::virtualConstructThunkGenerator):
* jit/ThunkGenerators.h:

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

6 years agoNode: FINAL-ize EventTarget overrides.
akling@apple.com [Sat, 21 Sep 2013 20:02:35 +0000 (20:02 +0000)]
Node: FINAL-ize EventTarget overrides.
<https://webkit.org/b/121748>

Reviewed by Darin Adler.

Mark the following Node functions FINAL:

    - scriptExecutionContext()
    - eventTargetData()
    - ensureEventTargetData()

This devirtualizes a myriad of generated calls in the JSC bindings.

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

6 years agoFix the non-DFG build.
andersca@apple.com [Sat, 21 Sep 2013 19:05:41 +0000 (19:05 +0000)]
Fix the non-DFG build.

* interpreter/Interpreter.cpp:
(JSC::unwindCallFrame):
* interpreter/StackVisitor.cpp:
(JSC::StackVisitor::Frame::r):

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

6 years agoDon't bloat Obj-C bindings with inlined attribute retrieval.
akling@apple.com [Sat, 21 Sep 2013 18:46:09 +0000 (18:46 +0000)]
Don't bloat Obj-C bindings with inlined attribute retrieval.
<https://webkit.org/b/121745>

Reviewed by Anders Carlsson.

Hack bindings generator to always use getAttribute() for Objective-C.
Reduces WebCore binary size by 25120 bytes.

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

6 years agoShink attribute event listener code
darin@apple.com [Sat, 21 Sep 2013 18:25:43 +0000 (18:25 +0000)]
Shink attribute event listener code
https://bugs.webkit.org/show_bug.cgi?id=121735

Reviewed by Antti Koivisto.

* GNUmakefile.list.am: Eliminate ScriptEventListener source files.
* Target.pri: Ditto.
* UseJSC.cmake: Ditto.
* WebCore.vcxproj/WebCore.vcxproj: Ditto.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Ditto.

* bindings/js/JSDOMGlobalObject.h: Removed unneeded forward declarations
of JSEventListener and JSLazyEventListener.

* bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::JSLazyEventListener): Changed type to
ContainerNode because the node pointer is only ever used for elements
and documents.
(WebCore::eventParameterName): Moved this function here from
ScriptEventListener.cpp, but also rewrote to use NeverDestroyed.
(WebCore::JSLazyEventListener::createForNode): Moved this function
here from ScriptEventListener.cpp, cleaned up a bit.
(WebCore::JSLazyEventListener::createForDOMWindow): Ditto.

* bindings/js/JSLazyEventListener.h: Replaced the old create function
with two new create functions we can use directly. Also used some
OVERRIDE, some FINAL, and a bit of WTF_DELETED_FUNCTION so we don't
accidentally call create and create a non-lazy listener.

* bindings/js/ScriptEventListener.cpp: Removed.
* bindings/js/ScriptEventListener.h: Removed.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::setAttributeEventListener): Added.
Calls JSLazyEventListener::createForNode and then calls the other
overload of setAttributeEventListener, to obviate having more code
at the call site.
* dom/ContainerNode.h: Added overload of setAttributeEventListener
for convenient use in Document and Element implementations.

* dom/Document.cpp:
(WebCore::Document::prepareForDestruction): Use m_domWindow instead
of the domWindow() function.
(WebCore::Document::removeAllEventListeners): Ditto.
(WebCore::Document::errorEventTarget): Ditto.
(WebCore::Document::takeDOMWindowFrom): Ditto.
(WebCore::Document::setWindowAttributeEventListener): Ditto. Also
added an overload that calls JSLazyEventListener::createForDOMWindow.
(WebCore::Document::getWindowAttributeEventListener): Use m_domWindow.
(WebCore::Document::dispatchWindowEvent): Ditto.
(WebCore::Document::dispatchWindowLoadEvent): Ditto.
(WebCore::Document::enqueueWindowEvent): Ditto.
(WebCore::Document::enqueuePopstateEvent): Ditto.
* dom/Document.h: Added overload of setWindowAttributeEventListener.

* html/HTMLBodyElement.cpp: Removed unnneded include.
(WebCore::HTMLBodyElement::parseAttribute): Removed all the calls to
createAttributeEventListener, and use the setAttributeEventListener
overloads instead.
* html/HTMLButtonElement.cpp: Ditto.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseAttribute): Ditto.
* html/HTMLFormControlElement.cpp: Ditto.
* html/HTMLFormElement.cpp: Ditto.
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::parseAttribute): Ditto.
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::parseAttribute): Ditto.
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute): Ditto.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseAttribute): Ditto.
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::parseAttribute): Ditto.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute): Ditto.
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parseAttribute): Ditto.
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::parseAttribute): Ditto.
* html/HTMLSelectElement.cpp: Ditto.
* html/HTMLStyleElement.cpp: Ditto.
* html/HTMLTextFormControlElement.cpp: Ditto.
* html/HTMLTrackElement.cpp: Ditto.
* html/track/LoadableTextTrack.cpp: Ditto.
* svg/SVGElement.cpp:
(WebCore::SVGElement::parseAttribute): Ditto.
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::parseAttribute): Ditto.
* svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::parseAttribute): Ditto.

* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
Moved the code here to dig inside a JSEventListener for things like
the source location. This used to be spread across multiple function
calls in ScriptEventListener.h, which were doing and redoing the same
things, so better to just get it all at once.

* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::init): Fixed "minium" typo.

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

6 years agoDon't store the "processing-instruction" string for PI tokens in the XPath parser
andersca@apple.com [Sat, 21 Sep 2013 17:47:12 +0000 (17:47 +0000)]
Don't store the "processing-instruction" string for PI tokens in the XPath parser
https://bugs.webkit.org/show_bug.cgi?id=121746

Reviewed by Antti Koivisto.

For PI tokens, the string is always going to be "processing-instruction", and it's never used so we don't need to save it.

* xml/XPathGrammar.y:
* xml/XPathParser.cpp:
(Parser::nextTokenInternal):
(Parser::lex):

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

6 years agoGet rid of IsInlinedCodeTag and its associated methods since it's unused
fpizlo@apple.com [Sat, 21 Sep 2013 17:40:35 +0000 (17:40 +0000)]
Get rid of IsInlinedCodeTag and its associated methods since it's unused
https://bugs.webkit.org/show_bug.cgi?id=121737

Source/JavaScriptCore:

Reviewed by Sam Weinig.

This was meant to be easy, but I kept wondering if it was safe to remove the
inline call frame check in Arguments::tearOff(). The check was clearly dead
since the bit wasn't being set anywhere.

It turns out that the unwindCallFrame() function was relying on tearOff()
doing the right thing for inlined code, but it wasn't even passing it an
inline call frame. I fixed this by having unwindCallFrame() inlining check,
while also making sure that the code uses the right operand index for the
arguments register.

* interpreter/CallFrame.h:
* interpreter/CallFrameInlines.h:
* interpreter/Interpreter.cpp:
(JSC::unwindCallFrame):
* interpreter/StackVisitor.cpp:
(JSC::StackVisitor::Frame::r):
* interpreter/StackVisitor.h:
* runtime/Arguments.cpp:
(JSC::Arguments::tearOff):

LayoutTests:

Reviewed by Sam Weinig.

* js/dfg-inline-arguments-capture-throw-exception-expected.txt: Added.
* js/dfg-inline-arguments-capture-throw-exception.html: Added.
* js/script-tests/dfg-inline-arguments-capture-throw-exception.js: Added.
(foo):
(bar):
(makeF):
(recurse):

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

6 years agoHandle windows lineendings in makeprop.pl after r155511
paroga@webkit.org [Sat, 21 Sep 2013 13:45:10 +0000 (13:45 +0000)]
Handle windows lineendings in makeprop.pl after r155511
https://bugs.webkit.org/show_bug.cgi?id=121740

Reviewed by Ryosuke Niwa.

Check for an optinal \r at the end of a line in regular expressions
to make it work again on native windows machines which use CRLF.

* css/makeprop.pl:

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

6 years agoRe-inline some hot ElementData functions.
akling@apple.com [Sat, 21 Sep 2013 13:05:56 +0000 (13:05 +0000)]
Re-inline some hot ElementData functions.
<https://webkit.org/b/121743>

Reviewed by Antti Koivisto.

Make the following functions inline again:

    - deref()
    - addAttribute()
    - removeAttribute()
    - attributeAt()

They were out-of-lined in r154249 and perf.webkit.org reports a 1.4%
regression on the html5 spec for that revision. This'll hopefully steer
the graph back in the right direction.

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

6 years agoGeneratorGeneratedImage should be called GradientImage
timothy_horton@apple.com [Sat, 21 Sep 2013 10:52:25 +0000 (10:52 +0000)]
GeneratorGeneratedImage should be called GradientImage
https://bugs.webkit.org/show_bug.cgi?id=121085

Reviewed by Simon Fraser.

No new tests, just a refactor.

r150053 removed the concept of a Generator, making GeneratorGeneratedImage
take a Gradient. This leaves GeneratorGeneratedImage's name not making a
whole lot of sense, so let's rename it to GradientImage.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::image):
* platform/graphics/BitmapImage.h:
* platform/graphics/GradientImage.cpp: Renamed from Source/WebCore/platform/graphics/GeneratorGeneratedImage.cpp.
(WebCore::GradientImage::draw):
(WebCore::GradientImage::drawPattern):
* platform/graphics/GradientImage.h: Renamed from Source/WebCore/platform/graphics/GeneratorGeneratedImage.h.
* platform/graphics/Image.h:
* platform/graphics/ImageBuffer.h:
Rename.

* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::cachedImageForSize):
(WebCore::CSSImageGeneratorValue::saveCachedImageForSize):
(WebCore::CSSImageGeneratorValue::CachedGeneratedImage::CachedGeneratedImage):
* css/CSSImageGeneratorValue.h:
(WebCore::CSSImageGeneratorValue::CachedGeneratedImage::image):
Drive-by, the CSSImageGeneratorValue generated image cache should be
in terms of GeneratedImage, not a random subclass, regardless
of the fact that it's only used for GradientImage as of yet.

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

6 years agoShrink valueForBasicShape by removing repeated calls to cssValuePool()
darin@apple.com [Sat, 21 Sep 2013 08:03:45 +0000 (08:03 +0000)]
Shrink valueForBasicShape by removing repeated calls to cssValuePool()
https://bugs.webkit.org/show_bug.cgi?id=121736

Reviewed by Sam Weinig.

* css/BasicShapeFunctions.cpp:
(WebCore::valueForBasicShape): Put the pool into a local variable and use that.

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

6 years agoAnother CSS parser leak fix
darin@apple.com [Sat, 21 Sep 2013 05:35:57 +0000 (05:35 +0000)]
Another CSS parser leak fix
https://bugs.webkit.org/show_bug.cgi?id=121730

Reviewed by Alexey Proskuryakov.

* css/CSSGrammar.y.in: Added a missing adoptPtr.

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

6 years agoHandle panning gestures messages properly on Windows
ap@apple.com [Sat, 21 Sep 2013 05:35:15 +0000 (05:35 +0000)]
Handle panning gestures messages properly on Windows
https://bugs.webkit.org/show_bug.cgi?id=121711

Follow-up fix: five regression tests started to crash on Mac.

Reviewed by Anders Carlsson.

* rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollByRecursively):
Added null checks, not all callers are interested in scrolled view pointer.

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

6 years agoBad cast from CSSInitialValue to CSSValueList
rniwa@webkit.org [Sat, 21 Sep 2013 04:13:52 +0000 (04:13 +0000)]
Bad cast from CSSInitialValue to CSSValueList
https://bugs.webkit.org/show_bug.cgi?id=121729

Source/WebCore:

Reviewed by Beth Dakin.

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

The issue was that we would cast to CSSValueList without checking
the type of the CSSValue. After this change, we use the ASSERT'ing
cast and explicitly check the type of the CSSValue before the cast.

Test: fast/css/crash-inherit-value-font-family.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseFontFaceValue):

LayoutTests:

Reviewed by Beth Dakin.

Add a regression test. This is not a merge since the test in the Blink change involves
superfluous execCommand calls.

* fast/css/crash-inherit-value-font-family-expected.txt: Added.
* fast/css/crash-inherit-value-font-family.html: Added.

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

6 years agoRemove includes from LineWidth.h
zoltan@webkit.org [Sat, 21 Sep 2013 03:36:57 +0000 (03:36 +0000)]
Remove includes from LineWidth.h
https://bugs.webkit.org/show_bug.cgi?id=121716

Reviewed by Darin Adler.

In r156197 I removed logicalLineHeight from LineWidth.h, so we don't need to include RenderBlock.h
and RenderRubyRun.h anymore in LineWidth.h.

No new tests, no behavior change.

* rendering/LineWidth.cpp:
* rendering/LineWidth.h:

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

6 years agoHandle panning gestures messages properly on Windows.
roger_fong@apple.com [Sat, 21 Sep 2013 03:23:22 +0000 (03:23 +0000)]
Handle panning gestures messages properly on Windows.
https://bugs.webkit.org/show_bug.cgi?id=121711.

Reviewed by Brent Fulgham.

This fixes a number of issues with panning gestures on Windows.
1. Two finger panning in one direction can sometimes cause some unexpected scrolling
in the other direction when the gesture first begins (directions meaning horizontal and vertical)
2. Single finger horizontal panning should only be disabled when attempting to select text.
3. Scrolling via panning should be clamped, other wise we can scroll contents completely out of the scrollview.
4. Horizontal overpan should work.
5. Overpan should occur whenever we scroll to the extents of whichever scroll view we're currently scrolling.

* WebView.cpp:
(WebView::gestureNotify):
(WebView::gesture):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollByRecursively):
* rendering/RenderLayer.h:
Added an argument to keep track of which scrollview was actually scrolled
This is needed by the Windows port to keep track to determine whether or not
we need to overpan.

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

6 years agoFix link errors for external users when building WebKit with Xcode 5.
mrowe@apple.com [Sat, 21 Sep 2013 01:25:51 +0000 (01:25 +0000)]
Fix link errors for external users when building WebKit with Xcode 5.

Reviewed by Oliver Hunt.

* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceMountainLion.a:

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

6 years ago[Windows] Unreviewed build fix after r156216.
bfulgham@apple.com [Sat, 21 Sep 2013 00:57:02 +0000 (00:57 +0000)]
[Windows] Unreviewed build fix after r156216.

        * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: I
        accidentally exposed the symbol of the calling function, not
        the missing symbol!

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

6 years ago[WINDOWS] Unreviewed build fix after r156215.
bfulgham@apple.com [Sat, 21 Sep 2013 00:51:18 +0000 (00:51 +0000)]
[WINDOWS] Unreviewed build fix after r156215.
   * WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
   Add missing symbols needed by DumpRenderTree.dll.

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

6 years agoWeb Inspector: [CSS Regions] Display CSS Regions chain when highlighting a CSS Region...
achicu@adobe.com [Sat, 21 Sep 2013 00:35:09 +0000 (00:35 +0000)]
Web Inspector: [CSS Regions] Display CSS Regions chain when highlighting a CSS Region node
https://bugs.webkit.org/show_bug.cgi?id=121719

Reviewed by Joseph Pecoraro.

Source/WebCore:

Test: inspector/elements/highlight-node-regions.html

When a CSS Region node is highlighted through the WebInspector, it will also lookup all the regions
that are part of the same flow and inject enough information into InspectorOverlayPage.js to get the other
CSS Regions highlighted as well. A chain will also link the regions and a number will display the ordering
of the content.

* WebCore.exp.in:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::buildObjectForHighlightedNode):
* inspector/InspectorController.h:
* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForRegionHighlight):
(WebCore::buildObjectForCSSRegionsHighlight):
(WebCore::InspectorOverlay::buildObjectForHighlightedNode):
(WebCore::InspectorOverlay::drawNodeHighlight): Separated the InspectorObject building part out of this function,
so that we can call buildObjectForHighlightedNode from the Internals APIs for testing.
* inspector/InspectorOverlay.h:
* inspector/InspectorOverlayPage.js:
(_drawRegionNumber):
(_quadMidPoint):
(_drawRegionLink):
(_fixQuadScrollPosition):
(_drawRegionsHighlight):
(drawNodeHighlight):
* testing/Internals.cpp: Exposed the generated InspectorObject to the layout test.
(WebCore::Internals::inspectorHighlightObject):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

Added test to check the position of the CSS Regions part of the same flow thread with
the highlighted CSS Region node.

* http/tests/inspector/elements-test.js:
* inspector/elements/highlight-node-regions-expected.txt: Added.
* inspector/elements/highlight-node-regions.html: Added.

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

6 years ago(un)shiftCountWithAnyIndexingType will start over in the middle of copying if it...
mhahnenberg@apple.com [Sat, 21 Sep 2013 00:24:08 +0000 (00:24 +0000)]
(un)shiftCountWithAnyIndexingType will start over in the middle of copying if it sees a hole
https://bugs.webkit.org/show_bug.cgi?id=121717

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

This bug caused the array to become corrupted. We now check for holes before we start moving things,
and start moving things only once we've determined that there are none.

* runtime/JSArray.cpp:
(JSC::JSArray::shiftCountWithAnyIndexingType):
(JSC::JSArray::unshiftCountWithAnyIndexingType):

LayoutTests:

Added test to make sure that splicing an array with holes works correctly.

* js/array-splice-with-holes-expected.txt: Added.
* js/array-splice-with-holes.html: Added.
* js/script-tests/array-splice-with-holes.js: Added.

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

6 years agoFix test after <http://trac.webkit.org/changeset/156203>
ap@apple.com [Sat, 21 Sep 2013 00:07:32 +0000 (00:07 +0000)]
Fix test after <trac.webkit.org/changeset/156203>

* platform/mac/accessibility/aria-help.html: Correct paths to JS tests.

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

6 years agoREGRESSION(r156047): WebCore hangs inside JSC::toInt32(double)
fpizlo@apple.com [Sat, 21 Sep 2013 00:07:07 +0000 (00:07 +0000)]
REGRESSION(r156047): WebCore hangs inside JSC::toInt32(double)
https://bugs.webkit.org/show_bug.cgi?id=121648

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

The Int52<->StrictInt52 conversion did the opposite fill() than what it was
supposed to. For example when converting a Int52 to a StrictInt52 it would fill
as Int52, and vice-versa.

* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateInt52):

LayoutTests:

Reviewed by Mark Hahnenberg.

* js/dfg-int52-change-format-expected.txt: Added.
* js/dfg-int52-change-format.html: Added.
* js/script-tests/dfg-int52-change-format.js: Added.
(foo):

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

6 years agoREGRESSION(r153215): New iCloud site crashes
oliver@apple.com [Sat, 21 Sep 2013 00:00:30 +0000 (00:00 +0000)]
REGRESSION(r153215): New iCloud site crashes
https://bugs.webkit.org/show_bug.cgi?id=121710

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Don't claim to be able to rely on the arguments structure, use the Arguments
speculation type

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::::executeEffects):

LayoutTests:

New test case

* js/dfg-arguments-mutated-structure-expected.txt: Added.
* js/dfg-arguments-mutated-structure.html: Added.
* js/script-tests/dfg-arguments-mutated-structure.js: Added.
(foo):

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

6 years agoUnreviewed, rolling out r156185.
commit-queue@webkit.org [Fri, 20 Sep 2013 23:59:19 +0000 (23:59 +0000)]
Unreviewed, rolling out r156185.
http://trac.webkit.org/changeset/156185
https://bugs.webkit.org/show_bug.cgi?id=121727

Caused a lot of crashes in tests (Requested by ap on #webkit).

Source/WebCore:

* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::recalcStyle):
(WebCore::Document::updateLayout):
* dom/Document.h:

LayoutTests:

* fast/dom/HTMLDocument/active-element-gets-unfocusable-expected.txt: Removed.
* fast/dom/HTMLDocument/active-element-gets-unfocusable.html: Removed.

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

6 years agoParse MIME-types and strip them down to the base type when needed.
timothy@apple.com [Fri, 20 Sep 2013 23:45:22 +0000 (23:45 +0000)]
Parse MIME-types and strip them down to the base type when needed.

The use of charset in a MIME-type interferes with our type maps,
preventing the right syntax highlighting mode and pretty printing.

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

Reviewed by Joseph Pecoraro.

* UserInterface/ConsolePrompt.js:
(WebInspector.ConsolePrompt):
* UserInterface/FontResourceContentView.js:
* UserInterface/Resource.js:
(WebInspector.Resource.Type.fromMIMEType):
(WebInspector.Resource.prototype.get mimeTypeComponents):
(WebInspector.Resource.prototype.get syntheticMIMEType):
(WebInspector.Resource.prototype.get contentURL):
(WebInspector.Resource.prototype.updateForResponse):
* UserInterface/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
* UserInterface/SourceMapResource.js:
(WebInspector.SourceMapResource.prototype.requestContentFromBackend):
* UserInterface/SyntaxHighlightingSupport.js:
(WebInspector.syntaxHighlightStringAsDocumentFragment):
* UserInterface/TextEditor.js:
(WebInspector.TextEditor.prototype.set mimeType):
* UserInterface/Utilities.js:
(parseMIMEType): Added.

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

6 years ago<https://webkit.org/b/90090> build-webkit should verify that your tools are up-to...
mrowe@apple.com [Fri, 20 Sep 2013 23:01:37 +0000 (23:01 +0000)]
<https://webkit.org/b/90090> build-webkit should verify that your tools are up-to-date

Tools:

Enforce a minimum OS version of 10.7.5 and Xcode version of 4.6.

Reviewed by David Kilzer.

* Scripts/webkitdirs.pm:
(checkRequiredSystemConfig):

Websites/webkit.org:

Update references on webkit.org to mention Xcode 4.6 as the minimum version.

Reviewed by David Kilzer.

* building/debug-mac-uiprocess.html:
* building/tools.html:

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

6 years agoShaders that fail to compile should be marked as such
dino@apple.com [Fri, 20 Sep 2013 22:17:09 +0000 (22:17 +0000)]
Shaders that fail to compile should be marked as such
https://bugs.webkit.org/show_bug.cgi?id=121721

Reviewed by Simon Fraser.

1. Add a new logging channel for WebGL.

2. If a translated shader fails to compile (technically
this should never happen), mark it as invalid.

Test: https://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/misc/shader-with-non-reserved-words.html

* platform/Logging.h: New WebGL channel.
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::compileShader): Log the raw and translated
input to glCompileShader, but mark the entry as invalid.

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

6 years agoAdd an implementation of std::index_sequence from C++14
andersca@apple.com [Fri, 20 Sep 2013 21:58:46 +0000 (21:58 +0000)]
Add an implementation of std::index_sequence from C++14
https://bugs.webkit.org/show_bug.cgi?id=121718

Reviewed by Ryosuke Niwa.

This will make it easier to do things like pack expansion of tuple elements.

* wtf/StdLibExtras.h:

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

6 years ago[ATK] Do not expose aria-help in ATK based platforms
mario@webkit.org [Fri, 20 Sep 2013 21:56:10 +0000 (21:56 +0000)]
[ATK] Do not expose aria-help in ATK based platforms
https://bugs.webkit.org/show_bug.cgi?id=121675

Patch by Mario Sanchez Prada <mario.prada@samsung.com> on 2013-09-20
Reviewed by Chris Fleizach.

Source/WebCore:

Stop exposing the value for the 'aria-help' attribute as an
AtkObject attribute, based in AccessibilityObject::helpText().

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetAttributes): Remove the mapping.

Source/WebKit/efl:

Removed accessibilityHelpText() helper method from
DumpRenderSupportEfl's API, since it's not longer needed.

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp: Removed method.
* WebCoreSupport/DumpRenderTreeSupportEfl.h: Ditto.

Source/WebKit/gtk:

Removed accessibilityHelpText() helper method from
DumpRenderSupportGtk's API, since it's not longer needed.

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp: Removed method.
* WebCoreSupport/DumpRenderTreeSupportGtk.h: Ditto.

Tools:

Remove the implementations for AccessibilityUIElement::helpText()
from DRT and WKTR for GTK and EFL, since they are based on the
AccessibilityObject::helpText() method and the 'aria-help'
attributes, which is wrong since they should not depend on that
but in ATK specific API (see also http://webkit.org/b/121684).

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::helpText): Added a new and empty
implementation, now that we are no longer using this in ATK.
* DumpRenderTree/efl/AccessibilityUIElementEfl.cpp: Removed file
as the only function provided here was helpText().
* DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: Ditto.
* DumpRenderTree/efl/CMakeLists.txt: AccessibilityUIElementEfl.cpp
removed from the list of sources to compile.
* GNUmakefile.am: Likewise, but for AccessibilityUIElementGtk.cpp.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::helpText): Replaced old implementation
based in DumpRenderTreeSupportGtk with an empty one.

LayoutTests:

Moved test based in helpText() into the Mac directory, and update
expectations for platforms as needed.

* platform/mac/accessibility/aria-help-expected.txt: Renamed from LayoutTests/accessibility/aria-help-expected.txt.
* platform/mac/accessibility/aria-help.html: Renamed from LayoutTests/accessibility/aria-help.html.
* platform/gtk-wk2/TestExpectations: Removed failure expectation
for aria-help, now moved to Mac, and for aria-describedby-on-input,
which is now moved to the generic TestExpectations file for GTK.
* platform/gtk/TestExpectations: Added aria-describedby-on-input,
linking it to the newly filed bug 121684.
* platform/gtk-wk2/TestExpectations: Removed failure expectation.
* platform/win/TestExpectations: Removed failure expectation.
* platform/wincairo/TestExpectations: Ditto.

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

6 years agoScrollbars don't appear on long pages after r155660
simon.fraser@apple.com [Fri, 20 Sep 2013 21:47:47 +0000 (21:47 +0000)]
Scrollbars don't appear on long pages after r155660
https://bugs.webkit.org/show_bug.cgi?id=121714
<rdar://problem/15042478>

Reviewed by Beth Dakin.

After r155660, we don't do any additional layouts when scrollbars are
added or removed. That caused us to not enter the code that creates or
destroys composting layers for scrollbars in RenderLayerCompositor, resulting
in missing scrollbars.

Fix by having ScrollView::updateScrollbars() call addedOrRemovedScrollbar()
when a scrollbar was added or removed, which is overridden in FrameView
to call through to RenderLayerCompositor::frameViewDidAddOrRemoveScrollbars().

Not testable since scrollbar layers aren't contained in layer tree dumps
(to reduce diffs between platforms).

* page/FrameView.cpp:
(WebCore::FrameView::addedOrRemovedScrollbar): New function to tell the compositor
that scrollbars changed.
* page/FrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::setHasHorizontalScrollbar): Change the meaning of the return
value to say if the scrollbar was added or removed. Add an out param that indicates
whether the scrollbar change affects content size (not true for overlay scrollbars).
(WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
(WebCore::ScrollView::updateScrollbars): Keep track of whether scrollbars were
added or removed, and call addedOrRemovedScrollbar() if true.
* platform/ScrollView.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidAddOrRemoveScrollbars): Call updateOverflowControlsLayers().
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
* rendering/RenderLayerCompositor.h:

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

6 years agoEnsure that TileController tile coverage is updated on scrolling even when we don...
simon.fraser@apple.com [Fri, 20 Sep 2013 21:47:38 +0000 (21:47 +0000)]
Ensure that TileController tile coverage is updated on scrolling even when we don't have scrollbars
https://bugs.webkit.org/show_bug.cgi?id=121700
<rdar://problem/15030589>

Reviewed by Dean Jackson.

r155660 introduced a bug where we wouldn't make scrollbars on long pages. However,
that revealed a fundamental flaw in the TiledBacking update logic; it relied on the
GraphicsLayer flushes triggered by scrollbars updates in order to update the main
TileController's tile coverage. No scrollbars meant no tile coverage updates.

Fix by explicitly triggering a flush when the FrameView is scrolled (we get
notified about this on the main thread after the scrolling thread has moved
layers around).

No test since this will only be exposed for a short time while scrollbars are
broken.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidScroll):

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

6 years agoRefactoring LineBreaker and RenderTextInfo out of RenderBlock.h
zoltan@webkit.org [Fri, 20 Sep 2013 21:17:43 +0000 (21:17 +0000)]
Refactoring LineBreaker and RenderTextInfo out of RenderBlock.h
https://bugs.webkit.org/show_bug.cgi?id=121707

Reviewed by David Hyatt.

LineBreaker and RenderTextInfo are defined in RenderBlock.h, but only used in RenderBlockLineLayout.cpp.
Moving them there (LineBreaker needs to be a friend class of RenderBlock) in the first step in the process
of refactoring LineBreaker::NextSegmentBreak into more manageable chunks.

This change was reviewed and landed in Blink:
https://src.chromium.org/viewvc/blink?revision=157402&view=revision

No new tests.

* rendering/RenderBlock.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::LineBreaker::LineBreaker):
(WebCore::LineBreaker::lineWasHyphenated):
(WebCore::LineBreaker::positionedObjects):
(WebCore::LineBreaker::clear):
(WebCore::RenderTextInfo::RenderTextInfo):
(WebCore::RenderTextInfo::~RenderTextInfo):
(WebCore::LineBreaker::skipTrailingWhitespace):
(WebCore::LineBreaker::skipLeadingWhitespace):
(WebCore::LineBreaker::reset):
(WebCore::LineBreaker::nextLineBreak):
(WebCore::LineBreaker::nextSegmentBreak):

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

6 years agoWeb Inspector: Fix keyboard shortcuts for other platforms
timothy@apple.com [Fri, 20 Sep 2013 21:17:31 +0000 (21:17 +0000)]
Web Inspector: Fix keyboard shortcuts for other platforms
https://bugs.webkit.org/show_bug.cgi?id=120657

Patch by Marcelo Morais <m.morais@samsung.com> on 2013-09-20
Reviewed by Timothy Hatcher.

Handling keyboard shortcuts according to the current platform.

* UserInterface/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously):
(.WebInspector.InspectorFrontendHostStub.prototype.platform): Added. Return the
current platform.
* UserInterface/KeyboardShortcut.js:
(WebInspector.KeyboardShortcut.Modifier.get CommandOrControl): Added. Created keyboard
modifier to return Control or Command key according to current platform.
* UserInterface/ContentBrowser.js:
(WebInspector.ContentBrowser): Returning Control or Command key for keyboard
shortcuts according to current platform.
* UserInterface/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel): Ditto.
* UserInterface/FindBanner.js:
(WebInspector.FindBanner): Ditto.
* UserInterface/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController): Ditto.
* UserInterface/LogContentView.js:
(WebInspector.LogContentView): Ditto.
* UserInterface/Main.js:
(WebInspector.contentLoaded): Ditto.
* UserInterface/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel): Ditto.

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

6 years agoMove logicalHeightForLine out of LineWidth.h
zoltan@webkit.org [Fri, 20 Sep 2013 20:53:44 +0000 (20:53 +0000)]
Move logicalHeightForLine out of LineWidth.h
https://bugs.webkit.org/show_bug.cgi?id=121575

Reviewed by David Hyatt.

In bug #121107 (r155565), I moved logicalHeightForLine into LineWidth.h as part of LineWidth
refactoring. LogicalHeightForLine without passing the second parameter uses RenderBlock::lineHeight
anyway, except it doesn't take -line-box-contain CSS property into account. For Shapes we don't
have implementation for variable-height lines (https://bugs.webkit.org/show_bug.cgi?id=95361) yet, so
so I modified the affected functions to call lineHeight directly. I renamed logicalHeightForLine
to minLineHeightForReplacedRenderer, and I made the second parameter a mandatory for that function.

No new tests, no behavior change.

* rendering/LineWidth.cpp:
(WebCore::LineWidth::updateAvailableWidth):
(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
* rendering/LineWidth.h:
* rendering/RenderBlock.cpp: Move the definition here.
(WebCore::RenderBlock::minLineHeightForReplacedRenderer):
* rendering/RenderBlock.h: Move the function here and rename it.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutShapeInsideInfo):
(WebCore::updateLogicalInlinePositions):
(WebCore::updateSegmentsForShapes):

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

6 years ago-[WebHTMLConveter _getFloat:forNode:property:] leaks
ap@apple.com [Fri, 20 Sep 2013 20:40:53 +0000 (20:40 +0000)]
-[WebHTMLConveter _getFloat:forNode:property:] leaks
https://bugs.webkit.org/show_bug.cgi?id=121709

Reviewed by Enrica Casucci.

* platform/mac/HTMLConverter.mm:
(-[WebHTMLConverter _getFloat:forNode:property:]): Don't leak.

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

6 years agoAdd an argument to ImageSource::createFrameAtIndex to hint a decoder that we expect...
commit-queue@webkit.org [Fri, 20 Sep 2013 20:35:40 +0000 (20:35 +0000)]
Add an argument to ImageSource::createFrameAtIndex to hint a decoder that we expect a scaled image.
https://bugs.webkit.org/show_bug.cgi?id=121696

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2013-09-20
Reviewed by Antti Koivisto.

Add an argument to ImageSource::createFrameAtIndex.  A platform image decoder can decide the optimal
scale based on the hint and pass the real scale it used for decoding.

No new tests, no behavior change.

* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::createFrameAtIndex):
* platform/graphics/ImageSource.h:
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::createFrameAtIndex):

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

6 years agoMove tests to new import location
bjonesbe@adobe.com [Fri, 20 Sep 2013 20:27:50 +0000 (20:27 +0000)]
Move tests to new import location
https://bugs.webkit.org/show_bug.cgi?id=121701

Reviewed by Dirk Schulze.

The import script was previously importing the tests into an incorrect
path. This change uses the latest import script to import all of the
shapes tests to the right location.

There are also some small changes in the tests since they had some
more metadata added upstream, but there are no functional changes in
the tests with this change.

* csswg/contributors/adobe/submitted/shapes/shape-outside/resources/rounded-rectangle.js: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/resources/rounded-rectangle.js.
(ellipseXIntercept):
(scanConvertRoundedRectangleOutside):
(genLeftRightRoundedRectFloatShapeOutsideRefTest):
(genLeftRoundedRectFloatShapeOutsideRefTest):
(genRightRoundedRectFloatShapeOutsideRefTest):
* csswg/contributors/adobe/submitted/shapes/shape-outside/resources/subpixel-utils.js: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/resources/subpixel-utils.js.
(SubPixelLayout):
(SubPixelLayout.):
* csswg/contributors/adobe/submitted/shapes/shape-outside/resources/w3c-import.log: Added.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-circle-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-circle-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-001-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-001-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-001.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-001.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-002-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-002-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-002.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-002.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-margin-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-margin-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-001-expected.html: Copied from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-margin-001-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-001.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-margin-001.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-002-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-margin-001-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-001-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-001-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-001.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-001.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-002-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-002-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-002.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-002.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-001-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-001-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-001.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-001.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-square-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-square-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-border-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-square-border-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-border-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-square-border-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-stacked-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-stacked-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-stacked-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-stacked-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-001-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-001-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-001.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-001.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-002-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-002-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-002.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-002.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/w3c-import.log: Added.
* csswg/submitted/shapes/shape-outside/w3c-import.log: Removed.

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

6 years agoMake JSMainThreadNullState noncopyable.
akling@apple.com [Fri, 20 Sep 2013 20:26:49 +0000 (20:26 +0000)]
Make JSMainThreadNullState noncopyable.

Blindly rubber-stamped by Antti Koivisto.

* bindings/js/JSMainThreadExecState.h:

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

6 years agoClobberize phase forgets to indicate that it writes GCState for several node types
mhahnenberg@apple.com [Fri, 20 Sep 2013 20:23:33 +0000 (20:23 +0000)]
Clobberize phase forgets to indicate that it writes GCState for several node types
https://bugs.webkit.org/show_bug.cgi?id=121702

Reviewed by Oliver Hunt.

Added read and write for GCState to the nodes that could end up allocating (and thereby
cause a garbage collection).

* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):

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

6 years agoMake extract-localizable-strings available to WebCore clients
mitz@apple.com [Fri, 20 Sep 2013 20:13:11 +0000 (20:13 +0000)]
Make extract-localizable-strings available to WebCore clients
https://bugs.webkit.org/show_bug.cgi?id=121699

Reviewed by Darin Adler.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj: Added a Scripts group with a reference to
extract-localizable-strings.pl. Added a Copy Scripts build phase to the WebCore target that
copies the script into PrivateHeaders/Scripts in the framework.
* extract-localizable-strings.pl: Copied from Tools/Scripts/extract-localizable-strings.

Tools:

* Scripts/extract-localizable-strings: Copied to
Soure/WebCore/extract-localizaebl-strings.pl, and changed this into a shell script that
executes the script from its new location. This is a temporary measure until certain code
that is external to WebKit is adapted to the new location.
* Scripts/update-webkit-localizable-strings: Changed to call extract-localizable-strings.pl
from its new location.

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

6 years agoMove layer hierarchy functions from RenderObject to RenderElement
antti@apple.com [Fri, 20 Sep 2013 19:56:33 +0000 (19:56 +0000)]
Move layer hierarchy functions from RenderObject to RenderElement
https://bugs.webkit.org/show_bug.cgi?id=121692

Reviewed by Andreas Kling.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::addLayers):
(WebCore::RenderElement::removeLayers):
(WebCore::RenderElement::moveLayers):
(WebCore::RenderElement::findNextLayer):
(WebCore::RenderElement::layerCreationAllowedForSubtree):

    Move these from RenderObject.

(WebCore::RenderElement::insertedIntoTree):
(WebCore::RenderElement::willBeRemovedFromTree):

    Factor the layer related portion of these virtuals here.

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

6 years agoStart cleaning the API of SelectorChecker
benjamin@webkit.org [Fri, 20 Sep 2013 19:29:47 +0000 (19:29 +0000)]
Start cleaning the API of SelectorChecker
https://bugs.webkit.org/show_bug.cgi?id=121654

Reviewed by Antti Koivisto.

Make the matching mode internal.
Remove unused accessors.
Make isFrameFocused() internal.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::ruleMatches):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::matchRecursively):
(WebCore::SelectorChecker::checkOne):
(WebCore::isFrameFocused):
* css/SelectorChecker.h:
(WebCore::SelectorChecker::match):
* css/StyleResolver.h:
(WebCore::checkRegionSelector):
* dom/SelectorQuery.cpp:
(WebCore::SelectorDataList::selectorMatches):

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

6 years agoRemove SelectorChecker's CrossesBoundary boundary mode
benjamin@webkit.org [Fri, 20 Sep 2013 19:28:08 +0000 (19:28 +0000)]
Remove SelectorChecker's CrossesBoundary boundary mode
https://bugs.webkit.org/show_bug.cgi?id=121653

Reviewed by Antti Koivisto.

This mode is an ancient vestige of shadow dom.

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::match):
(WebCore::SelectorChecker::checkOne):
* css/SelectorChecker.h:

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

6 years agoMove the SharingRules mode outside of SelectorChecker
benjamin@webkit.org [Fri, 20 Sep 2013 19:27:04 +0000 (19:27 +0000)]
Move the SharingRules mode outside of SelectorChecker
https://bugs.webkit.org/show_bug.cgi?id=121652

Reviewed by Antti Koivisto.

The SharingRules handling inside SelectorChecker is a weird hack
to hit a specific branch of ElementRuleCollector.

This patch moves the exception to ElementRuleCollector, where it is easier
to understand what it is for.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::doCollectMatchingRulesForList):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::match):

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

6 years agoFixed img src URLS with multiple spaces
commit-queue@webkit.org [Fri, 20 Sep 2013 19:09:05 +0000 (19:09 +0000)]
Fixed img src URLS with multiple spaces
https://bugs.webkit.org/show_bug.cgi?id=121592

Patch by Yoav Weiss <yoav@yoav.ws> on 2013-09-20
Reviewed by Darin Adler.

Source/WebCore:

Test: fast/loader/image-src-multiple-space.html

I've removed the simplifyWhiteSpace step from HTMLImageElement's src attribute during the srcset selection algorithm.
That step prevented URLs with multiple spaces from being loaded as images, minimizing the multiple spaces into a single one.

* html/parser/HTMLParserIdioms.cpp:
(WebCore::bestFitSourceForImageAttributes):

LayoutTests:

This test verifies that URLs with multiple spaces can be loaded as an image resource.

* fast/loader/image-src-multiple-space-expected.txt: Added.
* fast/loader/image-src-multiple-space.html: Added.

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

6 years agoHiding a focused element should unfocus it and fire a blur event
commit-queue@webkit.org [Fri, 20 Sep 2013 19:06:52 +0000 (19:06 +0000)]
Hiding a focused element should unfocus it and fire a blur event
https://bugs.webkit.org/show_bug.cgi?id=29241

Patch by Arunprasad Rajkumar <ararunprasad@gmail.com> on 2013-09-20
Reviewed by Darin Adler.

Source/WebCore:

Test: fast/dom/HTMLDocument/active-element-gets-unfocusable.html

We check whether the current focus element is really focusable after
the style recalculation and layout change. If it is not focusable then schedule a
timer to reset it asynchronously.

* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::recalcStyle): Check isFocusable() on the focus element after
style recalculation.
(WebCore::Document::updateLayout): Check isFocusable() on the focus element after
layout.
(WebCore::Document::resetHiddenFocusElementSoon):
(WebCore::Document::resetHiddenFocusElementTimer):
* dom/Document.h:

LayoutTests:

* fast/dom/HTMLDocument/active-element-gets-unfocusable-expected.txt: Added.
* fast/dom/HTMLDocument/active-element-gets-unfocusable.html: Added.

LayoutTest reused from https://chromium.googlesource.com/chromium/blink/+/c58f636fd18fc27944c42e27d6a92a36867c57e1
with little modification.

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

6 years agoMove CCallHelpers and AssemblyHelpers into jit/ and have JSInterfaceJIT use them
fpizlo@apple.com [Fri, 20 Sep 2013 18:42:41 +0000 (18:42 +0000)]
Move CCallHelpers and AssemblyHelpers into jit/ and have JSInterfaceJIT use them
https://bugs.webkit.org/show_bug.cgi?id=121637

Rubber stamped by Michael Saboff.

Also moved GPRInfo/FPRInfo into jit/. Rolling back in after fixing JIT-only build
and tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/ValueRecovery.h:
(JSC::ValueRecovery::dumpInContext):
* dfg/DFGAssemblyHelpers.cpp: Removed.
* dfg/DFGAssemblyHelpers.h: Removed.
* dfg/DFGBinarySwitch.h:
* dfg/DFGByteCodeParser.cpp:
* dfg/DFGCCallHelpers.h: Removed.
* dfg/DFGDisassembler.cpp:
* dfg/DFGFPRInfo.h: Removed.
* dfg/DFGGPRInfo.h: Removed.
* dfg/DFGGraph.cpp:
* dfg/DFGGraph.h:
* dfg/DFGJITCompiler.h:
* dfg/DFGOSRExit.cpp:
* dfg/DFGOSRExit.h:
* dfg/DFGOSRExitCompiler.h:
* dfg/DFGOSRExitCompilerCommon.h:
* dfg/DFGRegisterBank.h:
* dfg/DFGRegisterSet.h:
* dfg/DFGRepatch.cpp:
* dfg/DFGSilentRegisterSavePlan.h:
* dfg/DFGThunks.cpp:
* dfg/DFGVariableEvent.cpp:
* ftl/FTLCArgumentGetter.h:
(JSC::FTL::CArgumentGetter::CArgumentGetter):
(JSC::FTL::CArgumentGetter::loadNext8):
(JSC::FTL::CArgumentGetter::loadNext32):
(JSC::FTL::CArgumentGetter::loadNext64):
(JSC::FTL::CArgumentGetter::loadNextPtr):
(JSC::FTL::CArgumentGetter::loadNextDouble):
* ftl/FTLCompile.cpp:
* ftl/FTLExitThunkGenerator.h:
* ftl/FTLLink.cpp:
* ftl/FTLThunks.cpp:
* jit/AssemblyHelpers.cpp: Copied from Source/JavaScriptCore/dfg/DFGAssemblyHelpers.cpp.
* jit/AssemblyHelpers.h: Copied from Source/JavaScriptCore/dfg/DFGAssemblyHelpers.h.
(JSC::AssemblyHelpers::AssemblyHelpers):
(JSC::AssemblyHelpers::debugCall):
* jit/CCallHelpers.h: Copied from Source/JavaScriptCore/dfg/DFGCCallHelpers.h.
* jit/FPRInfo.h: Copied from Source/JavaScriptCore/dfg/DFGFPRInfo.h.
(WTF::printInternal):
* jit/GPRInfo.h: Copied from Source/JavaScriptCore/dfg/DFGGPRInfo.h.
(WTF::printInternal):
* jit/JIT.cpp:
(JSC::JIT::JIT):
* jit/JIT.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::stringGetByValStubGenerator):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::stringGetByValStubGenerator):
* jit/JSInterfaceJIT.h:
(JSC::JSInterfaceJIT::JSInterfaceJIT):
* jit/SpecializedThunkJIT.h:
(JSC::SpecializedThunkJIT::SpecializedThunkJIT):
(JSC::SpecializedThunkJIT::finalize):
* jit/ThunkGenerators.cpp:
(JSC::linkForGenerator):
(JSC::virtualForGenerator):
(JSC::stringLengthTrampolineGenerator):
(JSC::nativeForGenerator):
(JSC::arityFixup):
(JSC::charCodeAtThunkGenerator):
(JSC::charAtThunkGenerator):
(JSC::fromCharCodeThunkGenerator):
(JSC::sqrtThunkGenerator):
(JSC::floorThunkGenerator):
(JSC::ceilThunkGenerator):
(JSC::roundThunkGenerator):
(JSC::expThunkGenerator):
(JSC::logThunkGenerator):
(JSC::absThunkGenerator):
(JSC::powThunkGenerator):
(JSC::imulThunkGenerator):
* llint/LLIntThunks.cpp:
(JSC::LLInt::generateThunkWithJumpTo):
* runtime/JSCJSValue.h:

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

6 years agoREGRESSION (r156140): Srcset tests are frequently crashing
ap@apple.com [Fri, 20 Sep 2013 18:31:53 +0000 (18:31 +0000)]
REGRESSION (r156140): Srcset tests are frequently crashing
https://bugs.webkit.org/show_bug.cgi?id=121695

Reviewed by Dean Jackson.

Returning a string created without copying bytes is not safe. It used to be OK
because a new string was immediately created by decodeURLEscapeSequences().
But even that was not great, because decodeURLEscapeSequences() could potentially
return the same string, not a deep copy, if we decided to optimize it like that.

Also made a number of drive-by style fixes.
- It's URL, not Url.
- It's srcset, not srcSet.
-  We don't add ".0" in floating point value initializers. It's particularly misleading
to initialize a float with 1.0, which is a double value.
- Renamed srcSetLength to srcsetAttributeLength to match srcsetAttribute variable
whose length it caches.

* html/parser/HTMLParserIdioms.cpp:
(WebCore::parseImagesWithScaleFromSrcsetAttribute):
(WebCore::bestFitSourceForImageAttributes):

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

6 years ago[GTK] Clean up the Skip* functions in the GObject DOM bindings code generator
mrobinson@webkit.org [Fri, 20 Sep 2013 18:12:05 +0000 (18:12 +0000)]
[GTK] Clean up the Skip* functions in the GObject DOM bindings code generator
https://bugs.webkit.org/show_bug.cgi?id=121633

Reviewed by Gustavo Noronha Silva.

* bindings/scripts/CodeGeneratorGObject.pm:
(SkipAttribute): Fold in some skipping checks that are used by all callers.
(SkipFunction): Ditto.
(GenerateProperties): Rely on SkipAttribute more thoroughly.
(GenerateFunction): Rely on SkipFunction more thoroughly.
(GenerateFunctions): Rely on SkipAttribute more thoroughly.

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

6 years agoFix the build after r156144
paroga@webkit.org [Fri, 20 Sep 2013 17:44:47 +0000 (17:44 +0000)]
Fix the build after r156144

* html/canvas/CanvasRenderingContext2D.cpp: Added missing include.

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

6 years agorenderStyleOfEnclosingTextNode should update style before using a renderer
rniwa@webkit.org [Fri, 20 Sep 2013 17:32:18 +0000 (17:32 +0000)]
renderStyleOfEnclosingTextNode should update style before using a renderer
https://bugs.webkit.org/show_bug.cgi?id=121690

Reviewed by Enrica Casucci.

Merge https://chromium.googlesource.com/chromium/blink/+/65f089545e8c18cb268dfcbe56cba1cd8045527a

When accessing a renderer editing should always make sure that the style has been updated for the node.
Editing calls splitTextNode in a number of places and then accesses the renderer later. This patch is
the first of many to make sure editing always updates the style before attempting to access the renderer
(or style) of a node after calling a mutation method.

* editing/ApplyBlockElementCommand.cpp:
(WebCore::ApplyBlockElementCommand::renderStyleOfEnclosingTextNode):
* editing/ApplyBlockElementCommand.h:

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

6 years agoRemove URL decoding in srcset handling
ap@apple.com [Fri, 20 Sep 2013 17:28:36 +0000 (17:28 +0000)]
Remove URL decoding in srcset handling
https://bugs.webkit.org/show_bug.cgi?id=121609

Followup to <http://trac.webkit.org/changeset/156161> - that change renamed expected
results, but the new test wasn't landed.

* fast/loader/image-src-encoded.html: Copied from LayoutTests/fast/loader/image-src-question-mark.html.
* fast/loader/image-src-question-mark.html: Removed.

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

6 years agoFix a couple more CSS leaks
darin@apple.com [Fri, 20 Sep 2013 17:18:14 +0000 (17:18 +0000)]
Fix a couple more CSS leaks
https://bugs.webkit.org/show_bug.cgi?id=121683

Reviewed by Alexey Proskuryakov.

* css/CSSDefaultStyleSheets.cpp:
(WebCore::CSSDefaultStyleSheets::viewSourceStyle): Put the result of the
parseUASheet into a global variable so it doesn't show up as a storage leak.

* css/CSSGrammar.y.in: Added a missing adoptRef. This was leaking any rule
we parsed individually.

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

6 years agoNuke remaining VS2005 tools from the tree.
paroga@webkit.org [Fri, 20 Sep 2013 17:16:56 +0000 (17:16 +0000)]
Nuke remaining VS2005 tools from the tree.
https://bugs.webkit.org/show_bug.cgi?id=121691

Reviewed by Brent Fulgham.

* CLWrapper/CLWrapper.cpp: Removed.
* CLWrapper/CLWrapper.sln: Removed.
* CLWrapper/CLWrapper.vcproj: Removed.
* MIDLWrapper/MIDLWrapper.cpp: Removed.
* MIDLWrapper/MIDLWrapper.sln: Removed.
* MIDLWrapper/MIDLWrapper.vcproj: Removed.
* Scripts/parallelcl: Removed.
* vcbin/cl.exe: Removed.
* vcbin/midl.exe: Removed.

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

6 years agoSimplify the ShapeOutsideInfo and ShapeInfo interfaces
bjonesbe@adobe.com [Fri, 20 Sep 2013 17:16:01 +0000 (17:16 +0000)]
Simplify the ShapeOutsideInfo and ShapeInfo interfaces
https://bugs.webkit.org/show_bug.cgi?id=121685

Reviewed by Darin Adler.

With the creation ShapeInfo::computeSegmentsForLine, it became possible to
simplify the ShapeInfo classes. ShapeOutsideInfo has no need to save the
segments, and now that segment creation is in its own method, it doesn't have
to save the segments anymore. This also simplifies the public interface of
ShapeOutsideInfo, as it only has one method to do the computation.

Also, the methods in ShapeOutsideInfo have been renamed to reflect the fact
that ShapeOutsideInfo isn't really interested in segments.

No new tests, no new behavior.

* rendering/FloatingObjects.cpp:
(WebCore::FloatingObjects::logicalLeftOffset):
(WebCore::FloatingObjects::logicalRightOffset):
* rendering/LineWidth.cpp:
(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
* rendering/shapes/ShapeInfo.cpp:
* rendering/shapes/ShapeInfo.h:
* rendering/shapes/ShapeInsideInfo.h:
* rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
* rendering/shapes/ShapeOutsideInfo.h:

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

6 years agoMaking tests added in r156157 JS-only, given that other
commit-queue@webkit.org [Fri, 20 Sep 2013 17:10:14 +0000 (17:10 +0000)]
Making tests added in r156157 JS-only, given that other
code generators are still broken.

Original bug 121305 (StrictTypeChecking extended attribute fails for methods with sequence<T>).
https://bugs.webkit.org/show_bug.cgi?id=121305

Patch by Antonio Gomes <a1.gomes@sisa.samsung.com> on 2013-09-20
Rubber stamped by Alexey Proskuryakov.

* bindings/scripts/test/TestObj.idl:

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

6 years ago[BlackBerry] Poor rendering opening a Google map short link
commit-queue@webkit.org [Fri, 20 Sep 2013 17:07:07 +0000 (17:07 +0000)]
[BlackBerry] Poor rendering opening a Google map short link
https://bugs.webkit.org/show_bug.cgi?id=121687

Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-09-20
Reviewed by Yong Li.
Internally reviewed by Arvid Nilsson.

JIRA 495023
Route lines on google map were shown even they were on a hidden canvas.
Include visibility on LayerWebKitThread if it's a canvas layer and respect
the visibility when compositing layers in LayerRenderer.

* platform/graphics/blackberry/LayerData.h:
(WebCore::LayerData::isCanvasLayer):
(WebCore::LayerData::isVisible):
(WebCore::LayerData::includeVisibility):
* platform/graphics/blackberry/LayerRenderer.cpp:
(WebCore::LayerRenderer::compositeLayersRecursive):

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

6 years ago[Windows] Unreviewed gardening. Teach WebInspectorUI.vcxproj folder to
bfulgham@apple.com [Fri, 20 Sep 2013 16:57:20 +0000 (16:57 +0000)]
[Windows] Unreviewed gardening. Teach WebInspectorUI.vcxproj folder to
ignore Visual Studio's local user settings file.

* WebInspectorUI.vcxproj: Added property svn:ignore.

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

6 years ago[CMAKE] FindHarfBuzz: Handle harfbuzz / harfbuzz-icu split
commit-queue@webkit.org [Fri, 20 Sep 2013 16:48:19 +0000 (16:48 +0000)]
[CMAKE] FindHarfBuzz: Handle harfbuzz / harfbuzz-icu split
https://bugs.webkit.org/show_bug.cgi?id=121688

Patch by Sergio Correia <sergio.correia@openbossa.org> on 2013-09-20
Reviewed by Martin Robinson.

HarfBuzz 0.9.18 split ICU support into a separate harfbuzz-icu library.
To be able to build with earlier and newer versions of HarfBuzz, we should
check for harfbuzz-icu as well, if version >= 0.9.18.

* Source/cmake/FindHarfBuzz.cmake: Check for harfbuzz-icu, if version
>= 0.9.18.

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

6 years agoFix MIDL files for Visual Studio 2012
paroga@webkit.org [Fri, 20 Sep 2013 16:45:51 +0000 (16:45 +0000)]
Fix MIDL files for Visual Studio 2012
https://bugs.webkit.org/show_bug.cgi?id=121552

Reviewed by Brent Fulgham.

The MIDL compiler shipped with Visual Studio 2012 does not accept forward declarations
with typedefs. Use the struct keyword in the function signature to fix this problem.

* Interfaces/DOMPrivate.idl:

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

6 years agoAtomics.h does not build on MinGW
allan.jensen@digia.com [Fri, 20 Sep 2013 16:45:42 +0000 (16:45 +0000)]
Atomics.h does not build on MinGW
https://bugs.webkit.org/show_bug.cgi?id=121663

Reviewed by Darin Adler.

MinGW does not have _ReadWriteBarrier() intrinsic, but does have GCC
inline assembler, so use the GCC definitions instead of MSVC ones.

* wtf/Atomics.h:
(WTF::compilerFence):

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

6 years agoInline method exported
allan.jensen@digia.com [Fri, 20 Sep 2013 16:35:15 +0000 (16:35 +0000)]
Inline method exported
https://bugs.webkit.org/show_bug.cgi?id=121664

Reviewed by Darin Adler.

WatchDog::didFire() is marked as an exported symbol eventhough it is
defined inline. This breaks the build on MinGW since it results in dllimport
being declared on a definition.

* runtime/Watchdog.h:
(JSC::Watchdog::didFire):

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

6 years agoAX: WebArea claims to have a subrole, but always returns nil.
commit-queue@webkit.org [Fri, 20 Sep 2013 16:18:10 +0000 (16:18 +0000)]
AX: WebArea claims to have a subrole, but always returns nil.
https://bugs.webkit.org/show_bug.cgi?id=121658

Patch by Sam White <samuel_white@apple.com> on 2013-09-20
Reviewed by Chris Fleizach.

Source/WebCore:

No new tests, updated existing AXWebArea related test to reflect unused attribute removal.

* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):

LayoutTests:

Updated test output to reflect removal of unused NSAccessibilitySubroleAttribute in AXWebArea.

* platform/mac/accessibility/document-attributes-expected.txt:

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

6 years ago[GTK] socket_embed_hook hitting NULL-check assertion running TestWebKit2
commit-queue@webkit.org [Fri, 20 Sep 2013 15:47:24 +0000 (15:47 +0000)]
[GTK] socket_embed_hook hitting NULL-check assertion running TestWebKit2
https://bugs.webkit.org/show_bug.cgi?id=121294

Patch by Mario Sanchez Prada <mario.prada@samsung.com> on 2013-09-20
Reviewed by Martin Robinson.

Provide a new patch to deal with the issue in the GTK+ module from
the internal jhbuild environment. This issue has been reported
upstream (see https://bugzilla.gnome.org/show_bug.cgi?id=708024).

* gtk/jhbuild.modules: Apply the new patch to the GTK+ module.
* gtk/patches/gtk-3.6-do-not-shutdown-accessibility.patch: Added.

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

6 years agoAdd valueForLength/minimumValueForLength wrappers to RenderElement.
akling@apple.com [Fri, 20 Sep 2013 15:34:19 +0000 (15:34 +0000)]
Add valueForLength/minimumValueForLength wrappers to RenderElement.
<https://webkit.org/b/121676>

Reviewed by Antti Koivisto.

Add two inline wrappers for these functions so we don't have to pass
the RenderView everywhere.

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

6 years ago[ATK][WTR] accessibility/aria-invalid.html times out
commit-queue@webkit.org [Fri, 20 Sep 2013 15:20:32 +0000 (15:20 +0000)]
[ATK][WTR] accessibility/aria-invalid.html times out
https://bugs.webkit.org/show_bug.cgi?id=121668

Patch by Denis Nomiyama <d.nomiyama@samsung.com> on 2013-09-20
Reviewed by Mario Sanchez Prada.

Tools:

Fixed WTR::AccessibilityUIElement::stringAttributeValue() to return
false in case of aria-invalid event with empty value.

* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::stringAttributeValue): Returns false in
case of aria-invalid event with empty value.

LayoutTests:

Updated the expectation of aria-invalid.html test, which was timing out
before bug 120421 and this fix.

* platform/gtk-wk2/TestExpectations: Removed aria-invalid.html because
it now passes with this fix and the patch from bug 120421.

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

6 years ago[ATK] Missing WTR AccessibilityUIElement::addNotificationListener implementation
commit-queue@webkit.org [Fri, 20 Sep 2013 15:15:22 +0000 (15:15 +0000)]
[ATK] Missing WTR AccessibilityUIElement::addNotificationListener implementation
https://bugs.webkit.org/show_bug.cgi?id=120421

Patch by Denis Nomiyama <d.nomiyama@samsung.com> on 2013-09-20
Reviewed by Mario Sanchez Prada.

Implemented the notification listener for AccessibilityUIElement for
WebKitTestRunner. The signal is generated by
AXObjectCache::postPlatformNotification() and received by
axObjectEventListener(). axObjectEventListener() will then invoke
JSObjectCallAsFunction() with the respective callback function. The
notification handlers are stored in HashMap in
AccessibilityNotificationHandlerAtk.cpp.

Moved ATK signal handling (printAccessibilityEvent and
axObjectEventListener) to AccessibilityNotificationHandlerAtk.cpp.

* WebKitTestRunner/CMakeLists.txt: Added InjectedBundle/atk to the
include path.
* WebKitTestRunner/GNUmakefile.am:
Added AccessibilityNotificationHandlerAtk.cpp/h.
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: Moved
listener IDs to AccessibilityNotificationHandlerAtk.cpp.
* WebKitTestRunner/InjectedBundle/AccessibilityController.h: Moved
listener IDs to AccessibilityNotificationHandlerAtk.cpp.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: Added a
notification handler for GTK+ and EFL.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
Moved printAccessibilityEvent and axObjectEventListener to
AccessibilityNotificationHandlerAtk.cpp.
(WTR::AccessibilityController::logAccessibilityEvents): Moved listener
IDs to AccessibilityNotificationHandlerAtk.cpp.
(WTR::AccessibilityController::resetToConsistentState): Moved listener
IDs to AccessibilityNotificationHandlerAtk.cpp.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp: Added.
(WTR::printAccessibilityEvent): Prints accessibility events. This
function was moved from AccessibilityControllerAtk.cpp.
(WTR::axObjectEventListener): Callback for signals. This function was
moved from AccessibilityControllerAtk.cpp.
(WTR::AccessibilityNotificationHandler::AccessibilityNotificationHandler):
Initialize element and function callback.
(WTR::AccessibilityNotificationHandler::~AccessibilityNotificationHandler):
Removes handler from HashMap and disconnects callbacks if necessary.
(WTR::AccessibilityNotificationHandler::logAccessibilityEvents): Sets
logging mode and connects callbacks.
(WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback):
Sets the notification callback and connects callback to signals.
(WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler):
Removes the notification callback from HashMap.
(WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks):
Connects axObjectEventListener to ATK signals.
(WTR::AccessibilityNotificationHandler::disconnectAccessibilityCallbacks):
Disconnects callback.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.h: Added.
(WTR::AccessibilityNotificationHandler::create): Creates a new instance
of AccessibilityNotificationHandler.
(WTR::AccessibilityNotificationHandler::setPlatformElement): Sets the
element.
(WTR::AccessibilityNotificationHandler::platformElement): Gets the
element.
(WTR::AccessibilityNotificationHandler::notificationFunctionCallback):
Gets the notification callback.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::addNotificationListener): Creates
notification handler, set the platform element and the notification
callback.
(WTR::AccessibilityUIElement::removeNotificationListener): Deletes the
notification handler.
* WebKitTestRunner/PlatformEfl.cmake:
Added AccessibilityNotificationHandlerAtk.cpp.

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

6 years ago[GTK] Fix some small style issues in the bindings
mrobinson@webkit.org [Fri, 20 Sep 2013 15:04:07 +0000 (15:04 +0000)]
[GTK] Fix some small style issues in the bindings
https://bugs.webkit.org/show_bug.cgi?id=121613

Reviewed by Carlos Garcia Campos.

* bindings/scripts/CodeGeneratorGObject.pm: When printing the license
header use the more common comment style within the WebKit project.
(GenerateProperty): Indent property definitions according to WebKit style, improve
the nick and blurb properties, and improve the various parameter spec argument layout.
(GenerateFunction): Remove the newline from function signatures to match WebKit style.
* bindings/scripts/test/GObject: Update bindings test results.

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

6 years ago[Qt] Unreviewed gardening. Rebase after Qt 5.1.1 and skip failing tests.
zarvai@inf.u-szeged.hu [Fri, 20 Sep 2013 14:58:52 +0000 (14:58 +0000)]
[Qt] Unreviewed gardening. Rebase after Qt 5.1.1 and skip failing tests.

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-09-20

* platform/qt-wk1/TestExpectations:
* platform/qt-wk2/TestExpectations:
* platform/qt-wk2/fast/forms/submit-to-blank-multiple-times-expected.txt: Added.
* platform/qt/TestExpectations:

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

6 years agoModified img src and srcset encoded URL tests
commit-queue@webkit.org [Fri, 20 Sep 2013 14:43:15 +0000 (14:43 +0000)]
Modified img src and srcset encoded URL tests
https://bugs.webkit.org/show_bug.cgi?id=121677

Previous tests have broken the Windows builds, since '?' is not a valid char.
Moved to using '@'

Patch by Yoav Weiss <yoav@yoav.ws> on 2013-09-20
Reviewed by Anders Carlsson.

* fast/hidpi/image-srcset-encoded-expected.txt: Renamed from LayoutTests/fast/hidpi/image-srcset-question-mark-expected.txt.
* fast/hidpi/image-srcset-encoded.html: Renamed from LayoutTests/fast/hidpi/image-srcset-question-mark.html.
* fast/hidpi/resources/image@test.png: Renamed from LayoutTests/fast/hidpi/resources/image?test.png.
* fast/loader/image-src-encoded-expected.txt: Renamed from LayoutTests/fast/loader/image-src-question-mark-expected.txt.
* fast/loader/resources/image@test.png: Renamed from LayoutTests/fast/loader/resources/image?test.png.

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

6 years ago[Qt] Unreviewed gardening. Update tests after r156066 and r156083.
zarvai@inf.u-szeged.hu [Fri, 20 Sep 2013 14:12:02 +0000 (14:12 +0000)]
[Qt] Unreviewed gardening. Update tests after r156066 and r156083.

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-09-20

* platform/qt-wk1/fast/forms/HTMLOptionElement_label06-expected.png: Added r156083.
* platform/qt-wk1/fast/forms/HTMLOptionElement_label06-expected.txt: Added r156083.
* platform/qt-wk1/fast/forms/HTMLOptionElement_label07-expected.png: Added r156083.
* platform/qt-wk1/fast/forms/HTMLOptionElement_label07-expected.txt: Added r156083.
* platform/qt-wk1/fast/forms/form-element-geometry-expected.png: Added r156083.
* platform/qt-wk1/fast/forms/form-element-geometry-expected.txt: Added r156083.
* platform/qt-wk1/fast/forms/menulist-separator-painting-expected.txt: Added r156083.
* platform/qt-wk1/fast/forms/select-baseline-expected.png: Added r156083.
* platform/qt-wk1/fast/forms/select-baseline-expected.txt: Added r156083.
* platform/qt-wk1/fast/forms/selectlist-minsize-expected.txt: Added r156083.
* platform/qt-wk1/fast/replaced/three-selects-break-expected.txt: Added r156083.
* platform/qt-wk1/js/dom/switch-behaviour-expected.txt: Added r156066.

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

6 years ago[CMake] Use COMPILE_DEFINITIONS target property for setting BUILDING_* defines
paroga@webkit.org [Fri, 20 Sep 2013 13:23:25 +0000 (13:23 +0000)]
[CMake] Use COMPILE_DEFINITIONS target property for setting BUILDING_* defines
https://bugs.webkit.org/show_bug.cgi?id=121672

Reviewed by Gyuyoung Kim.

Since the scope of add_definitions() is always a whole file, we need to use
target properties instead to set definitions only for specific targets.

Source/JavaScriptCore:

* CMakeLists.txt:

Source/WebCore:

* CMakeLists.txt:

Source/WebKit:

* CMakeLists.txt:

Source/WTF:

* wtf/CMakeLists.txt:

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

6 years agoSource/WebCore: Make "autoscroll for drag'n drop" a setting
tonikitoo@webkit.org [Fri, 20 Sep 2013 13:17:07 +0000 (13:17 +0000)]
Source/WebCore: Make "autoscroll for drag'n drop" a setting
https://bugs.webkit.org/show_bug.cgi?id=121559

Reviewed by Ryosuke Niwa.
Patch by Antonio Gomes <a1.gomes@sisa.samsung.com>

Currently, there is a ChromeClient hook to make the
feature opt'ed-in or out. That makes it harder to test the
feature on ports that do not enable it, e.g. Mac/WebKit2 port.
However, Mac/WebKit2 is the port that has the best drag'n drop
WTR implementation.

Patch changes the toggle on/off mechanism to be a setting,
and exposes it through InternalSetting interface for testing.

* page/AutoscrollController.cpp:
(WebCore::AutoscrollController::updateDragAndDrop):
* page/ChromeClient.h:
* page/Settings.in:
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setAutoscrollForDragAndDropEnabled):
* testing/InternalSettings.h:
* testing/InternalSettings.idl:

LayoutTests: Make "autoscroll" for drag'n drop a setting
https://bugs.webkit.org/show_bug.cgi?id=121559

* fast/events/drag-and-drop-autoscroll.html:

Adapts the test so that is toggles the feature on
via InternalSettings interface.

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

6 years agoStrictTypeChecking extended attribute fails for methods with sequence<T> https:/...
tonikitoo@webkit.org [Fri, 20 Sep 2013 13:16:28 +0000 (13:16 +0000)]
StrictTypeChecking extended attribute fails for methods with sequence<T> https://bugs.webkit.org/show_bug.cgi?id=121305

Reviewed by Darin Adler.
Patch by Antonio Gomes <a1.gomes@sisa.samsung.com>

The extended attribute StrictTypeChecking can not be set to methods if
one of the parameters is a "sequence".
Basically, since "sequence" is not considered a native type
(see function IsNativeType) the Perl code generator tries to
include its supposedly associated header, in this case "JSsequence.h"
Compilation then fails.

It is a problem for bindings including WebGL, where all methods
are supposed to be set as StrictTypeChecking (see bug 44202 [1]). Due to this restriction,
it relaxed, but I would like to bring it back.

Patch fixes the issue by hardening the way includes are auto-added
for methods where StrictTypeChecking extended attribute is present.
Now, only wrapper types (see IsWrapperType) trigger header inclusion,
excluding arrays, sequences, basic types, etc.

[1] https://bugs.webkit.org/show_bug.cgi?id=44202

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/TestObj.idl:

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