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

Timeline



Sep 22, 2013:

11:41 PM WebKitGTK/2.2.x edited by zandobersek@gmail.com
(diff)
11:35 PM Changeset in webkit [156262] by commit-queue@webkit.org
  • 40 edits
    1 copy
    1 add in trunk/Source/WebCore

Unreviewed, rolling out r156254.
http://trac.webkit.org/changeset/156254
https://bugs.webkit.org/show_bug.cgi?id=121779

Caused assertions in fast/regions tests (Requested by ap on
#webkit).

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

(WebCore::AutoTableLayout::recalcColumn):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::willBeDestroyed):
(WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
(WebCore::RenderBlock::splitBlocks):
(WebCore::RenderBlock::splitFlow):
(WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
(WebCore::RenderBlock::makeChildrenNonInline):
(WebCore::RenderBlock::removeLeftoverAnonymousBlock):
(WebCore::RenderBlock::collapseAnonymousBoxChild):
(WebCore::RenderBlock::removeChild):
(WebCore::RenderBlock::updateFirstLetterStyle):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::firstChild):
(WebCore::RenderBlock::lastChild):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::splitAnonymousBoxesAroundChild):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::moveChildTo):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::addChild):
(WebCore::RenderElement::removeChild):

  • rendering/RenderElement.h:
  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::layout):

  • rendering/RenderEmbeddedObject.h:
  • rendering/RenderFrameSet.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::willBeDestroyed):
(WebCore::RenderInline::splitInlines):
(WebCore::RenderInline::splitFlow):
(WebCore::RenderInline::childBecameNonInline):

  • rendering/RenderInline.h:

(WebCore::RenderInline::firstChild):
(WebCore::RenderInline::lastChild):

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::willBeDestroyed):

  • rendering/RenderLineBreak.h:
  • rendering/RenderListMarker.h:
  • rendering/RenderMedia.cpp:

(WebCore::RenderMedia::layout):

  • rendering/RenderMedia.h:

(WebCore::RenderMedia::firstChild):
(WebCore::RenderMedia::lastChild):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::handleDynamicFloatPositionChange):
(WebCore::RenderObject::willBeDestroyed):
(WebCore::RenderObject::removeFromRenderFlowThreadRecursive):

  • rendering/RenderObject.h:

(WebCore::RenderObject::firstChild):
(WebCore::RenderObject::lastChild):
(WebCore::RenderObject::children):
(WebCore::RenderObject::canHaveChildren):

  • rendering/RenderObjectChildList.cpp: Added.

(WebCore::RenderObjectChildList::destroyLeftoverChildren):
(WebCore::RenderObjectChildList::removeChildNode):
(WebCore::RenderObjectChildList::insertChildNode):

  • rendering/RenderObjectChildList.h: Copied from Source/WebCore/rendering/RenderMedia.h.

(WebCore::RenderObjectChildList::RenderObjectChildList):
(WebCore::RenderObjectChildList::firstChild):
(WebCore::RenderObjectChildList::lastChild):
(WebCore::RenderObjectChildList::setFirstChild):
(WebCore::RenderObjectChildList::setLastChild):
(WebCore::RenderObjectChildList::appendChildNode):

  • rendering/RenderReplaced.h:

(WebCore::RenderReplaced::canHaveChildren):

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

(WebCore::RenderRubyBase::moveInlineChildren):
(WebCore::RenderRubyBase::moveBlockChildren):

  • rendering/RenderTableCol.h:
  • rendering/RenderTableRow.h:
  • rendering/RenderTableSection.h:
  • rendering/RenderText.h:
  • rendering/RenderingAllInOne.cpp:
  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::updateFromElement):

  • rendering/svg/RenderSVGContainer.h:

(WebCore::RenderSVGContainer::firstChild):
(WebCore::RenderSVGContainer::lastChild):

  • rendering/svg/RenderSVGGradientStop.h:
  • rendering/svg/RenderSVGImage.h:
  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::RenderSVGModelObject::willBeDestroyed):

  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/RenderSVGShape.h:
11:34 PM Changeset in webkit [156261] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit/gtk

Unreviewed, GTK build fix when building with GTK+ 2.0.
Patch provided by Dominique Leuenberger <dimstar@opensuse.org>.

  • WebCoreSupport/AcceleratedCompositingContextGL.cpp: Include GtkVersioning.h to set up

the mock GDK_IS_X11_DISPLAY macro if it's not provided by the GTK+ headers.

11:33 PM Changeset in webkit [156260] by commit-queue@webkit.org
  • 45 edits in trunk/Source/WebCore

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

11:31 PM Changeset in webkit [156259] by commit-queue@webkit.org
  • 3 edits
    2 deletes in trunk

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.
9:32 PM Changeset in webkit [156258] by jinwoo7.song@samsung.com
  • 10 edits in trunk/LayoutTests

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:
9:03 PM Changeset in webkit [156257] by tonikitoo@webkit.org
  • 3 edits
    2 adds in trunk

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.
8:40 PM Changeset in webkit [156256] by weinig@apple.com
  • 40 edits in trunk/Source

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.

7:59 PM Changeset in webkit [156255] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

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

7:35 PM Changeset in webkit [156254] by Antti Koivisto
  • 40 edits
    2 deletes in trunk/Source/WebCore

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.

6:20 PM Changeset in webkit [156253] by gyuyoung.kim@samsung.com
  • 45 edits in trunk/Source/WebCore

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

4:19 PM Changeset in webkit [156252] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

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.

3:11 PM Changeset in webkit [156251] by weinig@apple.com
  • 15 edits in trunk/Source/WebCore

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

2:23 PM Changeset in webkit [156250] by weinig@apple.com
  • 12 edits in trunk/Source/WebCore

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.

2:23 PM Changeset in webkit [156249] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit/win

Try to fix the windows build (take 2).

  • DOMEventsClasses.cpp:

(DOMEvent::createInstance):

2:17 PM Changeset in webkit [156248] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit/win

Try to fix the windows build.

  • DOMEventsClasses.cpp:

(DOMEvent::createInstance):

10:03 AM Changeset in webkit [156247] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

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

5:49 AM Changeset in webkit [156246] by akling@apple.com
  • 6 edits in trunk/Source

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.

12:34 AM Changeset in webkit [156245] by mark.lam@apple.com
  • 7 edits in trunk/Source/WebKit/mac

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

12:15 AM Changeset in webkit [156244] by Darin Adler
  • 1 edit in trunk/LayoutTests/ChangeLog

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.

12:11 AM Changeset in webkit [156243] by Darin Adler
  • 3 edits in trunk

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.

Sep 21, 2013:

10:00 PM Changeset in webkit [156242] by fpizlo@apple.com
  • 15 edits in trunk/Source/JavaScriptCore

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:
9:15 PM Changeset in webkit [156241] by weinig@apple.com
  • 202 edits in trunk/Source/WebCore

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 *
9:02 PM Changeset in webkit [156240] by Darin Adler
  • 46 edits in trunk/Source

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.

8:48 PM Changeset in webkit [156239] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

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:
5:31 PM Changeset in webkit [156238] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix the revert.

  • dfg/DFGRepatch.cpp:
5:24 PM Changeset in webkit [156237] by fpizlo@apple.com
  • 29 edits
    4 adds
    7 deletes in trunk/Source/JavaScriptCore

Unreviewed, revert http://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:
5:11 PM Changeset in webkit [156236] by jonlee@apple.com
  • 2 edits in trunk/Source/WebCore

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.

4:10 PM Changeset in webkit [156235] by fpizlo@apple.com
  • 29 edits
    7 adds
    4 deletes in trunk/Source/JavaScriptCore

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:
1:02 PM Changeset in webkit [156234] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

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.

12:05 PM Changeset in webkit [156233] by andersca@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix the non-DFG build.

  • interpreter/Interpreter.cpp:

(JSC::unwindCallFrame):

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::Frame::r):

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

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.

11:25 AM Changeset in webkit [156231] by Darin Adler
  • 38 edits
    2 deletes in trunk/Source/WebCore

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.

10:47 AM Changeset in webkit [156230] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

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

10:40 AM Changeset in webkit [156229] by fpizlo@apple.com
  • 8 edits
    3 adds in trunk

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

6:45 AM Changeset in webkit [156228] by Patrick Gansterer
  • 2 edits in trunk/Source/WebCore

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:
6:05 AM Changeset in webkit [156227] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

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.

3:52 AM Changeset in webkit [156226] by timothy_horton@apple.com
  • 13 edits
    2 moves in trunk/Source/WebCore

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.

1:03 AM Changeset in webkit [156225] by Darin Adler
  • 2 edits in trunk/Source/WebCore

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.

Note: See TracTimeline for information about the timeline view.