Unreviewed, rolling out r156253.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-09-22  Commit Queue  <commit-queue@webkit.org>
2
3         Unreviewed, rolling out r156253.
4         http://trac.webkit.org/changeset/156253
5         https://bugs.webkit.org/show_bug.cgi?id=121778
6
7         Caused >20 tests to crash with assertion failures (Requested
8         by ap on #webkit).
9
10         * css/CSSAspectRatioValue.h:
11         * css/CSSBorderImageSliceValue.h:
12         * css/CSSCalculationValue.cpp:
13         (WebCore::CSSCalcExpressionNodeParser::parseValue):
14         * css/CSSCalculationValue.h:
15         * css/CSSCrossfadeValue.cpp:
16         (WebCore::subimageKnownToBeOpaque):
17         * css/CSSCrossfadeValue.h:
18         (WebCore::toCSSCrossfadeValue):
19         * css/CSSCursorImageValue.cpp:
20         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
21         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
22         (WebCore::CSSCursorImageValue::cachedImage):
23         (WebCore::CSSCursorImageValue::cachedOrPendingImage):
24         (WebCore::CSSCursorImageValue::isSVGCursor):
25         * css/CSSCursorImageValue.h:
26         * css/CSSFilterImageValue.h:
27         (WebCore::toCSSFilterImageValue):
28         * css/CSSFontSelector.cpp:
29         (WebCore::CSSFontSelector::addFontFaceRule):
30         * css/CSSGradientValue.h:
31         * css/CSSImageGeneratorValue.cpp:
32         (WebCore::CSSImageGeneratorValue::image):
33         (WebCore::CSSImageGeneratorValue::fixedSize):
34         (WebCore::CSSImageGeneratorValue::loadSubimages):
35         (WebCore::CSSImageGeneratorValue::subimageIsPending):
36         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
37         * css/CSSImageGeneratorValue.h:
38         * css/CSSImageSetValue.cpp:
39         (WebCore::CSSImageSetValue::fillImageSet):
40         * css/CSSImageSetValue.h:
41         * css/CSSImageValue.h:
42         * css/CSSInheritedValue.h:
43         * css/CSSInitialValue.h:
44         * css/CSSLineBoxContainValue.h:
45         * css/CSSParser.cpp:
46         (WebCore::CSSParser::parseColor):
47         (WebCore::CSSParser::addProperty):
48         (WebCore::CSSParser::parse3ValuesFillPosition):
49         (WebCore::CSSParser::parseFillPosition):
50         (WebCore::CSSParser::parseFillRepeat):
51         (WebCore::CSSParser::parseDeprecatedRadialGradient):
52         (WebCore::CSSParser::parseRadialGradient):
53         * css/CSSPrimitiveValue.h:
54         * css/CSSReflectValue.h:
55         * css/CSSToStyleMap.cpp:
56         (WebCore::CSSToStyleMap::mapFillAttachment):
57         (WebCore::CSSToStyleMap::mapFillClip):
58         (WebCore::CSSToStyleMap::mapFillComposite):
59         (WebCore::CSSToStyleMap::mapFillBlendMode):
60         (WebCore::CSSToStyleMap::mapFillOrigin):
61         (WebCore::CSSToStyleMap::mapFillRepeatX):
62         (WebCore::CSSToStyleMap::mapFillRepeatY):
63         (WebCore::CSSToStyleMap::mapFillSize):
64         (WebCore::CSSToStyleMap::mapFillXPosition):
65         (WebCore::CSSToStyleMap::mapFillYPosition):
66         (WebCore::CSSToStyleMap::mapFillMaskSourceType):
67         (WebCore::CSSToStyleMap::mapAnimationDelay):
68         (WebCore::CSSToStyleMap::mapAnimationDirection):
69         (WebCore::CSSToStyleMap::mapAnimationDuration):
70         (WebCore::CSSToStyleMap::mapAnimationFillMode):
71         (WebCore::CSSToStyleMap::mapAnimationIterationCount):
72         (WebCore::CSSToStyleMap::mapAnimationName):
73         (WebCore::CSSToStyleMap::mapAnimationPlayState):
74         (WebCore::CSSToStyleMap::mapAnimationProperty):
75         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
76         (WebCore::CSSToStyleMap::mapNinePieceImageSlice):
77         (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
78         (WebCore::CSSToStyleMap::mapNinePieceImageRepeat):
79         * css/CSSValue.cpp:
80         (WebCore::CSSValue::destroy):
81         * css/CSSValue.h:
82         (WebCore::CSSValue::isCSSLineBoxContainValue):
83         (WebCore::CSSValue::isCalculationValue):
84         * css/CSSValueList.h:
85         * css/CSSVariableValue.h:
86         * css/DeprecatedStyleBuilder.cpp:
87         (WebCore::ApplyPropertyDefault::applyValue):
88         (WebCore::ApplyPropertyNumber::applyValue):
89         (WebCore::ApplyPropertyAuto::applyValue):
90         (WebCore::ApplyPropertyClip::applyValue):
91         (WebCore::ApplyPropertyColor::applyValue):
92         (WebCore::ApplyPropertyLength::applyValue):
93         (WebCore::ApplyPropertyString::applyValue):
94         (WebCore::ApplyPropertyBorderRadius::applyValue):
95         (WebCore::ApplyPropertyComputeLength::applyValue):
96         (WebCore::ApplyPropertyFont::applyValue):
97         (WebCore::ApplyPropertyFontFamily::applyValue):
98         (WebCore::ApplyPropertyFontSize::applyValue):
99         (WebCore::ApplyPropertyFontWeight::applyValue):
100         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
101         (WebCore::ApplyPropertyCounter::applyValue):
102         (WebCore::ApplyPropertyCursor::applyValue):
103         (WebCore::ApplyPropertyTextAlign::applyValue):
104         (WebCore::ApplyPropertyTextDecoration::applyValue):
105         (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
106         (WebCore::ApplyPropertyMarqueeRepetition::applyValue):
107         (WebCore::ApplyPropertyMarqueeSpeed::applyValue):
108         (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
109         (WebCore::ApplyPropertyLineHeight::applyValue):
110         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
111         (WebCore::ApplyPropertyPageSize::applyValue):
112         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
113         (WebCore::ApplyPropertyResize::applyValue):
114         (WebCore::ApplyPropertyVerticalAlign::applyValue):
115         (WebCore::ApplyPropertyAspectRatio::applyValue):
116         (WebCore::ApplyPropertyZoom::applyValue):
117         (WebCore::ApplyPropertyDisplay::applyValue):
118         (WebCore::ApplyPropertyClipPath::applyValue):
119         (WebCore::ApplyPropertyShape::applyValue):
120         (WebCore::ApplyPropertyImageResolution::applyValue):
121         (WebCore::ApplyPropertyTextIndent::applyValue):
122         * css/FontFeatureValue.h:
123         * css/FontValue.h:
124         * css/MediaList.cpp:
125         (WebCore::reportMediaQueryWarningIfNeeded):
126         * css/MediaQueryEvaluator.cpp:
127         (WebCore::compareAspectRatioValue):
128         (WebCore::numberValue):
129         (WebCore::orientationMediaFeatureEval):
130         (WebCore::evalResolution):
131         (WebCore::device_pixel_ratioMediaFeatureEval):
132         (WebCore::resolutionMediaFeatureEval):
133         (WebCore::computeLength):
134         (WebCore::view_modeMediaFeatureEval):
135         (WebCore::pointerMediaFeatureEval):
136         * css/SVGCSSStyleSelector.cpp:
137         (WebCore::StyleResolver::applySVGProperty):
138         * css/ShadowValue.h:
139         * css/StylePropertySet.cpp:
140         (WebCore::StylePropertySet::getLayeredShorthandValue):
141         * css/StyleResolver.cpp:
142         (WebCore::createGridTrackSize):
143         (WebCore::createGridTrackList):
144         (WebCore::createGridPosition):
145         (WebCore::hasVariableReference):
146         (WebCore::StyleResolver::applyProperty):
147         (WebCore::StyleResolver::styleImage):
148         (WebCore::StyleResolver::generatedOrPendingFromValue):
149         (WebCore::StyleResolver::styleShader):
150         (WebCore::StyleResolver::parseCustomFilterArrayParameter):
151         (WebCore::StyleResolver::parseCustomFilterColorParameter):
152         (WebCore::StyleResolver::parseCustomFilterNumberParameter):
153         (WebCore::StyleResolver::parseCustomFilterParameter):
154         (WebCore::StyleResolver::parseCustomFilterParameterList):
155         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
156         (WebCore::StyleResolver::createFilterOperations):
157         * css/TransformFunctions.cpp:
158         (WebCore::transformsForValue):
159         * css/ViewportStyleResolver.cpp:
160         (WebCore::ViewportStyleResolver::getViewportArgumentValue):
161         * css/WebKitCSSMatrix.cpp:
162         (WebCore::WebKitCSSMatrix::setMatrixValue):
163         * editing/ApplyStyleCommand.cpp:
164         (WebCore::ApplyStyleCommand::computedFontSize):
165         * editing/EditingStyle.cpp:
166         (WebCore::identifierForStyleProperty):
167         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
168         (WebCore::cssValueToRGBA):
169         (WebCore::EditingStyle::extractFontSizeDelta):
170         (WebCore::EditingStyle::textDirection):
171         (WebCore::EditingStyle::prepareToApplyAt):
172         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
173         (WebCore::EditingStyle::legacyFontSize):
174         (WebCore::EditingStyle::textDirectionForSelection):
175         (WebCore::StyleChange::extractTextStyles):
176         (WebCore::fontWeightIsBold):
177         (WebCore::isTransparentColorValue):
178         * editing/markup.cpp:
179         (WebCore::propertyMissingOrEqualToNone):
180         * page/PageSerializer.cpp:
181         (WebCore::PageSerializer::retrieveResourcesForProperties):
182         * rendering/style/StylePendingImage.h:
183         (WebCore::StylePendingImage::data):
184         (WebCore::StylePendingImage::cssImageValue):
185         (WebCore::StylePendingImage::cssImageGeneratorValue):
186         (WebCore::StylePendingImage::cssCursorImageValue):
187         (WebCore::StylePendingImage::cssImageSetValue):
188
189 2013-09-22  Commit Queue  <commit-queue@webkit.org>
190
191         Unreviewed, rolling out r156257.
192         http://trac.webkit.org/changeset/156257
193         https://bugs.webkit.org/show_bug.cgi?id=121777
194
195         The test from this patch fails (Requested by ap on #webkit).
196
197         * rendering/RenderBox.cpp:
198         (WebCore::RenderBox::calculateAutoscrollDirection):
199
200 2013-09-22  Antonio Gomes  <a1.gomes@sisa.samsung.com>
201
202         iframe and scrollbar with "overflow:auto" should support autoscroll with mousedrag
203         https://bugs.webkit.org/show_bug.cgi?id=40981
204
205         Reviewed by Darin Adler.
206
207         RenderBox::calculateAutoscrollDirection does not properly translate
208         inner frames' coordinates in order to determine its auto-scrollability.
209         By coincidence, if the inner frame box it placed near to page's 0, 0 position
210         (upper left corner), it might work.
211
212         Patch fixes it by changing ::calculateAutoscrollDirection algorithm to operate
213         with window coordinates, taking inner frames offset and scroll position into account.
214         The behavior of auto-scrollable non-frame overflow boxes, including divs, still works
215         as it is used to.
216
217         Test: fast/events/drag-and-drop-autoscroll-inner-frame.html
218
219         * rendering/RenderBox.cpp:
220         (WebCore::RenderBox::calculateAutoscrollDirection):
221
222 2013-09-22  Sam Weinig  <sam@webkit.org>
223
224         CTTE: Use references more in ContainerNode, ContainerNodeAlgorithms and related classes
225         https://bugs.webkit.org/show_bug.cgi?id=121772
226
227         Reviewed by Andreas Kling.
228
229         Use references for never null Nodes in ContainerNode and related classes.
230
231 2013-09-22  Antti Koivisto  <antti@apple.com>
232
233         Fix functions calling to RenderObject superclass to call RenderElement instead
234         https://bugs.webkit.org/show_bug.cgi?id=121773
235
236         Reviewed by Andreas Kling.
237
238         The class hierarchy has a new class. Superclass calls should be pointed there instead to
239         avoid future bugs.
240
241         * rendering/RenderBoxModelObject.cpp:
242         (WebCore::RenderBoxModelObject::setSelectionState):
243         * rendering/RenderLayerModelObject.cpp:
244         (WebCore::RenderLayerModelObject::styleWillChange):
245         (WebCore::RenderLayerModelObject::styleDidChange):
246         * rendering/svg/RenderSVGGradientStop.cpp:
247         (WebCore::RenderSVGGradientStop::styleDidChange):
248         * rendering/svg/RenderSVGModelObject.cpp:
249         (WebCore::RenderSVGModelObject::styleWillChange):
250         (WebCore::RenderSVGModelObject::styleDidChange):
251
252 2013-09-22  Antti Koivisto  <antti@apple.com>
253
254         Remove RenderObjectChildList
255         https://bugs.webkit.org/show_bug.cgi?id=121771
256
257         Reviewed by Darin Adler.
258
259         Most RenderElement subclasses have m_children member (>90% of instances on typical page). It is not worth optimising
260         for memory for the few cases that don't (RenderImage, RenderLineBreak mostly) in expense of performance.
261         
262         This patch moves child handling to RenderElement. This gets rid of virtual children() calls and simplifies the code.
263
264 2013-09-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
265
266         Introduce CSS_VALUE_TYPE_CASTS macro in order to cast CSSValue type
267         https://bugs.webkit.org/show_bug.cgi?id=121462
268
269         Reviewed by Andreas Kling.
270
271         As r155429 introduced ELEMENT_TYPE_CASTS, CSS_VALUE_TYPE_CASTS can be used
272         by css value type casting as well. This type cast macros will help to detect
273         bad-cast bugs as well as improve a code readibility.
274
275         This patch adds the following methods,
276
277         - CSSFooValue* toCSSFooValue(CSSValue*)
278         - const CSSFooValue* toCSSFooValue(const CSSValue*)
279
280         To be consistent with other is*Value() naming style, isCSSLineBoxContainValue() and isCalculationValue()
281         are changed with isLineBoxContainValue() and isCalcValue().
282
283         FontValue, FontFeatureValue, ShadowValue have a manual type case function because of different
284         class naming style. So, toFontValue(), toFontFeatureValue() and toShadowValue() are added manually.
285
286         This patch removes unnecessary local variables.
287
288         No new tests, no behavior change.
289
290         * css/CSSAspectRatioValue.h:
291         * css/CSSBorderImageSliceValue.h:
292         * css/CSSCalculationValue.cpp:
293         (WebCore::CSSCalcExpressionNodeParser::parseValue):
294         * css/CSSCalculationValue.h:
295         * css/CSSCrossfadeValue.cpp:
296         (WebCore::subimageKnownToBeOpaque):
297         * css/CSSCrossfadeValue.h:
298         * css/CSSCursorImageValue.cpp:
299         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
300         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
301         (WebCore::CSSCursorImageValue::cachedImage):
302         (WebCore::CSSCursorImageValue::cachedOrPendingImage):
303         (WebCore::CSSCursorImageValue::isSVGCursor):
304         * css/CSSCursorImageValue.h:
305         * css/CSSFilterImageValue.h:
306         * css/CSSFontSelector.cpp:
307         (WebCore::CSSFontSelector::addFontFaceRule):
308         * css/CSSGradientValue.h:
309         * css/CSSImageGeneratorValue.cpp:
310         (WebCore::CSSImageGeneratorValue::image):
311         (WebCore::CSSImageGeneratorValue::fixedSize):
312         (WebCore::CSSImageGeneratorValue::loadSubimages):
313         (WebCore::CSSImageGeneratorValue::subimageIsPending):
314         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
315         * css/CSSImageGeneratorValue.h:
316         * css/CSSImageSetValue.cpp:
317         (WebCore::CSSImageSetValue::fillImageSet):
318         * css/CSSImageSetValue.h:
319         * css/CSSImageValue.h:
320         * css/CSSInheritedValue.h:
321         * css/CSSInitialValue.h:
322         * css/CSSLineBoxContainValue.h:
323         * css/CSSParser.cpp:
324         (WebCore::CSSParser::parseColor):
325         (WebCore::CSSParser::addProperty):
326         (WebCore::CSSParser::parse3ValuesFillPosition):
327         (WebCore::CSSParser::parseFillPosition):
328         (WebCore::CSSParser::parseFillRepeat):
329         (WebCore::CSSParser::parseDeprecatedRadialGradient):
330         (WebCore::CSSParser::parseRadialGradient):
331         * css/CSSPrimitiveValue.h:
332         * css/CSSReflectValue.h:
333         * css/CSSToStyleMap.cpp:
334         (WebCore::CSSToStyleMap::mapFillAttachment):
335         (WebCore::CSSToStyleMap::mapFillClip):
336         (WebCore::CSSToStyleMap::mapFillComposite):
337         (WebCore::CSSToStyleMap::mapFillBlendMode):
338         (WebCore::CSSToStyleMap::mapFillOrigin):
339         (WebCore::CSSToStyleMap::mapFillRepeatX):
340         (WebCore::CSSToStyleMap::mapFillRepeatY):
341         (WebCore::CSSToStyleMap::mapFillSize):
342         (WebCore::CSSToStyleMap::mapFillXPosition):
343         (WebCore::CSSToStyleMap::mapFillYPosition):
344         (WebCore::CSSToStyleMap::mapFillMaskSourceType):
345         (WebCore::CSSToStyleMap::mapAnimationDelay):
346         (WebCore::CSSToStyleMap::mapAnimationDirection):
347         (WebCore::CSSToStyleMap::mapAnimationDuration):
348         (WebCore::CSSToStyleMap::mapAnimationFillMode):
349         (WebCore::CSSToStyleMap::mapAnimationIterationCount):
350         (WebCore::CSSToStyleMap::mapAnimationName):
351         (WebCore::CSSToStyleMap::mapAnimationPlayState):
352         (WebCore::CSSToStyleMap::mapAnimationProperty):
353         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
354         (WebCore::CSSToStyleMap::mapNinePieceImageSlice):
355         (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
356         (WebCore::CSSToStyleMap::mapNinePieceImageRepeat):
357         * css/CSSValue.cpp:
358         (WebCore::CSSValue::destroy):
359         * css/CSSValue.h:
360         (WebCore::CSSValue::isLineBoxContainValue):
361         (WebCore::CSSValue::isCalcValue):
362         * css/CSSValueList.h:
363         * css/CSSVariableValue.h:
364         * css/DeprecatedStyleBuilder.cpp:
365         (WebCore::ApplyPropertyDefault::applyValue):
366         (WebCore::ApplyPropertyNumber::applyValue):
367         (WebCore::ApplyPropertyAuto::applyValue):
368         (WebCore::ApplyPropertyClip::applyValue):
369         (WebCore::ApplyPropertyColor::applyValue):
370         (WebCore::ApplyPropertyLength::applyValue):
371         (WebCore::ApplyPropertyString::applyValue):
372         (WebCore::ApplyPropertyBorderRadius::applyValue):
373         (WebCore::ApplyPropertyComputeLength::applyValue):
374         (WebCore::ApplyPropertyFont::applyValue):
375         (WebCore::ApplyPropertyFontFamily::applyValue):
376         (WebCore::ApplyPropertyFontSize::applyValue):
377         (WebCore::ApplyPropertyFontWeight::applyValue):
378         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
379         (WebCore::ApplyPropertyCounter::applyValue):
380         (WebCore::ApplyPropertyCursor::applyValue):
381         (WebCore::ApplyPropertyTextAlign::applyValue):
382         (WebCore::ApplyPropertyTextDecoration::applyValue):
383         (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
384         (WebCore::ApplyPropertyMarqueeRepetition::applyValue):
385         (WebCore::ApplyPropertyMarqueeSpeed::applyValue):
386         (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
387         (WebCore::ApplyPropertyLineHeight::applyValue):
388         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
389         (WebCore::ApplyPropertyPageSize::applyValue):
390         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
391         (WebCore::ApplyPropertyResize::applyValue):
392         (WebCore::ApplyPropertyVerticalAlign::applyValue):
393         (WebCore::ApplyPropertyAspectRatio::applyValue):
394         (WebCore::ApplyPropertyZoom::applyValue):
395         (WebCore::ApplyPropertyDisplay::applyValue):
396         (WebCore::ApplyPropertyClipPath::applyValue):
397         (WebCore::ApplyPropertyShape::applyValue):
398         (WebCore::ApplyPropertyImageResolution::applyValue):
399         (WebCore::ApplyPropertyTextIndent::applyValue):
400         * css/FontFeatureValue.h:
401         (WebCore::toFontFeatureValue):
402         * css/FontValue.h:
403         (WebCore::toFontValue):
404         * css/MediaList.cpp:
405         (WebCore::reportMediaQueryWarningIfNeeded):
406         * css/MediaQueryEvaluator.cpp:
407         (WebCore::compareAspectRatioValue):
408         (WebCore::numberValue):
409         (WebCore::orientationMediaFeatureEval):
410         (WebCore::evalResolution):
411         (WebCore::device_pixel_ratioMediaFeatureEval):
412         (WebCore::resolutionMediaFeatureEval):
413         (WebCore::computeLength):
414         (WebCore::view_modeMediaFeatureEval):
415         (WebCore::pointerMediaFeatureEval):
416         * css/SVGCSSStyleSelector.cpp:
417         (WebCore::StyleResolver::applySVGProperty):
418         * css/ShadowValue.h:
419         (WebCore::toShadowValue):
420         * css/StylePropertySet.cpp:
421         (WebCore::StylePropertySet::getLayeredShorthandValue):
422         * css/StyleResolver.cpp:
423         (WebCore::createGridTrackSize):
424         (WebCore::createGridTrackList):
425         (WebCore::createGridPosition):
426         (WebCore::hasVariableReference):
427         (WebCore::StyleResolver::applyProperty):
428         (WebCore::StyleResolver::styleImage):
429         (WebCore::StyleResolver::generatedOrPendingFromValue):
430         (WebCore::StyleResolver::styleShader):
431         (WebCore::StyleResolver::parseCustomFilterArrayParameter):
432         (WebCore::StyleResolver::parseCustomFilterColorParameter):
433         (WebCore::StyleResolver::parseCustomFilterNumberParameter):
434         (WebCore::StyleResolver::parseCustomFilterParameter):
435         (WebCore::StyleResolver::parseCustomFilterParameterList):
436         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
437         (WebCore::StyleResolver::createFilterOperations):
438         * css/TransformFunctions.cpp:
439         (WebCore::transformsForValue):
440         * css/ViewportStyleResolver.cpp:
441         (WebCore::ViewportStyleResolver::getViewportArgumentValue):
442         * css/WebKitCSSMatrix.cpp:
443         (WebCore::WebKitCSSMatrix::setMatrixValue):
444         * css/WebKitCSSShaderValue.h:
445         (WebCore::toWebKitCSSShaderValue):
446         * editing/ApplyStyleCommand.cpp:
447         (WebCore::ApplyStyleCommand::computedFontSize):
448         * editing/EditingStyle.cpp:
449         (WebCore::identifierForStyleProperty):
450         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
451         (WebCore::cssValueToRGBA):
452         (WebCore::EditingStyle::extractFontSizeDelta):
453         (WebCore::EditingStyle::textDirection):
454         (WebCore::EditingStyle::prepareToApplyAt):
455         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
456         (WebCore::EditingStyle::legacyFontSize):
457         (WebCore::EditingStyle::textDirectionForSelection):
458         (WebCore::StyleChange::extractTextStyles):
459         (WebCore::fontWeightIsBold):
460         (WebCore::isTransparentColorValue):
461         * editing/markup.cpp:
462         (WebCore::propertyMissingOrEqualToNone):
463         * page/PageSerializer.cpp:
464         (WebCore::PageSerializer::retrieveResourcesForProperties):
465         * rendering/style/StylePendingImage.h:
466         (WebCore::StylePendingImage::data):
467         (WebCore::StylePendingImage::cssImageValue):
468         (WebCore::StylePendingImage::cssImageGeneratorValue):
469         (WebCore::StylePendingImage::cssCursorImageValue):
470         (WebCore::StylePendingImage::cssImageSetValue):
471
472 2013-09-22  Arunprasad Rajkumar  <ararunprasad@gmail.com>
473
474         Hiding a focused element should unfocus it and fire a blur event
475         https://bugs.webkit.org/show_bug.cgi?id=29241
476
477         Reviewed by Darin Adler.
478
479         Test: fast/dom/HTMLDocument/active-element-gets-unfocusable.html
480
481         We check whether the current focus element is really focusable after
482         the style recalculation and layout change. If it is not focusable then schedule a
483         timer to reset it asynchronously.
484
485         * dom/Document.cpp:
486         (WebCore::Document::Document):
487         (WebCore::Document::recalcStyle): Check isFocusable() on the focus element after
488         style recalculation.
489         (WebCore::Document::updateLayout): Check isFocusable() on the focus element after
490         layout.
491         (WebCore::Document::resetHiddenFocusElementSoon):
492         (WebCore::Document::resetHiddenFocusElementTimer):
493         * dom/Document.h:
494
495 2013-09-22  Sam Weinig  <sam@webkit.org>
496
497         CTTE: StaticNodeLists often contain only Elements, we shouldn't store them as Vector<RefPtr<Node>> in those cases
498         https://bugs.webkit.org/show_bug.cgi?id=121769
499
500         Reviewed by Andreas Kling.
501
502         Introduces StaticElementList and uses it.
503
504         * accessibility/AccessibilityRenderObject.cpp:
505         (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
506         * bindings/js/JSHTMLAllCollectionCustom.cpp:
507         (WebCore::getNamedItems):
508         * bindings/js/JSHTMLCollectionCustom.cpp:
509         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
510         (WebCore::getNamedItems):
511         * bindings/js/JSHTMLFormElementCustom.cpp:
512         (WebCore::JSHTMLFormElement::nameGetter):
513         * dom/SelectorQuery.cpp:
514         (WebCore::AllElementExtractorSelectorQueryTrait::appendOutputForElement):
515         (WebCore::SelectorDataList::queryAll):
516         * dom/StaticNodeList.cpp:
517         (WebCore::StaticElementList::length):
518         (WebCore::StaticElementList::item):
519         (WebCore::StaticElementList::namedItem):
520         * dom/StaticNodeList.h:
521         * dom/WebKitNamedFlow.cpp:
522         (WebCore::WebKitNamedFlow::getRegionsByContent):
523         (WebCore::WebKitNamedFlow::getRegions):
524         (WebCore::WebKitNamedFlow::getContent):
525         (WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent):
526         (WebCore::WebKitNamedFlow::dispatchRegionOversetChangeEvent):
527         * html/HTMLCollection.cpp:
528         (WebCore::HTMLCollection::namedItems):
529         * html/HTMLCollection.h:
530         * html/HTMLFormElement.cpp:
531         (WebCore::HTMLFormElement::getNamedElements):
532         * html/HTMLFormElement.h:
533         * svg/SVGSVGElement.cpp:
534         (WebCore::SVGSVGElement::collectIntersectionOrEnclosureList):
535
536 2013-09-22  Sam Weinig  <sam@webkit.org>
537
538         CTTE: RenderNamedFlowThread and FlowThreadController should operate on Elements, not Nodes
539         https://bugs.webkit.org/show_bug.cgi?id=121768
540
541         Reviewed by Andreas Kling.
542
543         * dom/Element.cpp:
544         (WebCore::Element::unregisterNamedFlowContentElement):
545         (WebCore::Element::shouldMoveToFlowThread):
546         (WebCore::Element::clearStyleDerivedDataBeforeDetachingRenderer):
547         * dom/Element.h:
548         Update to new names and to pass this as a reference to the FlowThreadController.
549
550         * dom/Node.cpp:
551         * dom/Node.h:
552         Move isRegisteredWithNamedFlow() to Element.
553
554         * dom/WebKitNamedFlow.cpp:
555         (WebCore::WebKitNamedFlow::getRegionsByContent):
556         (WebCore::WebKitNamedFlow::getRegions):
557         (WebCore::WebKitNamedFlow::getContent):
558         Update for contentNodes() -> contentElements() name change. Modernize the code a bit
559         as well.
560
561         * rendering/FlowThreadController.cpp:
562         (WebCore::FlowThreadController::registerNamedFlowContentElement):
563         (WebCore::FlowThreadController::unregisterNamedFlowContentElement):
564         (WebCore::FlowThreadController::isContentElementRegisteredWithAnyNamedFlow):
565         * rendering/FlowThreadController.h:
566         Change the Node* -> RenderNamedFlowThread* map to a Element* -> RenderNamedFlowThread*. Update
567         functions taking Node*s to take Element&s.
568
569         * rendering/RenderNamedFlowThread.cpp:
570         (WebCore::RenderNamedFlowThread::~RenderNamedFlowThread):
571         (WebCore::RenderNamedFlowThread::clearContentElements):
572         (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
573         (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
574         (WebCore::RenderNamedFlowThread::hasContentElement):
575         (WebCore::isContainedInElements):
576         (WebCore::nextNodeInsideContentElement):
577         (WebCore::RenderNamedFlowThread::getRanges):
578         * rendering/RenderNamedFlowThread.h:
579         Change the NamedFlowContent set to store Elements rather than Nodes. Like with FlowThreadController,
580         update registration functions to take Element&s instead of Node*s, removing asserts.
581         
582         * rendering/RenderRegion.cpp:
583         (WebCore::RenderRegion::setRegionObjectsRegionStyle):
584         Update for new names.
585
586         * style/StyleResolveTree.cpp:
587         (WebCore::Style::moveToFlowThreadIfNeeded):
588         Pass the Element and RenderNamedFlowThread as references.
589
590 2013-09-22  Andreas Kling  <akling@apple.com>
591
592         Give purity hints to compiler to avoid penalizing repeated calls to some functions.
593         <https://webkit.org/b/121744>
594
595         Reviewed by Darin Adler.
596
597         Mark the following functions pure:
598
599             - gcController()
600             - cssValuePool()
601             - threadGlobalData()
602
603         I had this idea when I saw Darin's patch to cache cssValuePool() in a local.
604         We know that this function will always return the same value, so we should just
605         share this knowledge with the compiler and let it do the cleverness instead.
606
607 2013-09-21  Darin Adler  <darin@apple.com>
608
609         Fix too-strict type error exceptions introduced in WebGL bindings
610         https://bugs.webkit.org/show_bug.cgi?id=121759
611
612         Reviewed by Alexey Proskuryakov.
613
614         * bindings/js/JSWebGLRenderingContextCustom.cpp:
615         (WebCore::JSWebGLRenderingContext::getAttachedShaders): Allow undefined
616         or null without throwing type error.
617         (WebCore::JSWebGLRenderingContext::getProgramParameter): Ditto.
618         (WebCore::JSWebGLRenderingContext::getUniform): Ditto.
619         (WebCore::dataFunctionf): Ditto.
620         (WebCore::dataFunctioni): Ditto.
621         (WebCore::dataFunctionMatrix): Ditto.
622
623 2013-09-21  Sam Weinig  <sam@webkit.org>
624
625         Event and EventTarget interfaces don't need to be store as AtomicStrings
626         https://bugs.webkit.org/show_bug.cgi?id=121751
627
628         Reviewed by Andreas Kling.
629
630         Convert the Event and EventTarget interface identifiers from AtomicStrings to enums. They
631         are not extensible and not exposed as Strings anywhere.
632
633         * Files elided *
634
635 2013-09-21  Darin Adler  <darin@apple.com>
636
637         Add ExecState::uncheckedArgument and use where possible to shrink a bit
638         https://bugs.webkit.org/show_bug.cgi?id=121750
639
640         Reviewed by Andreas Kling.
641
642         * bindings/js/JSHTMLCanvasElementCustom.cpp:
643         (WebCore::JSHTMLCanvasElement::probablySupportsContext): Already checked count.
644         (WebCore::JSHTMLCanvasElement::toDataURL): Ditto.
645         * bindings/js/JSHTMLDocumentCustom.cpp:
646         (WebCore::documentWrite): In a loop.
647         * bindings/js/JSInjectedScriptHostCustom.cpp:
648         (WebCore::JSInjectedScriptHost::inspectedObject): Already checked count.
649         (WebCore::JSInjectedScriptHost::internalConstructorName): Ditto.
650         (WebCore::JSInjectedScriptHost::isHTMLAllCollection): Ditto.
651         (WebCore::JSInjectedScriptHost::type): Ditto.
652         (WebCore::JSInjectedScriptHost::functionDetails): Ditto.
653         (WebCore::JSInjectedScriptHost::getEventListeners): Ditto.
654         (WebCore::JSInjectedScriptHost::inspect): Ditto.
655         (WebCore::JSInjectedScriptHost::databaseId): Ditto.
656         (WebCore::JSInjectedScriptHost::storageId): Ditto.
657         * bindings/js/JSSQLTransactionSyncCustom.cpp:
658         (WebCore::JSSQLTransactionSync::executeSql): Ditto.
659         * bindings/js/JSSVGLengthCustom.cpp:
660         (WebCore::JSSVGLength::convertToSpecifiedUnits): Ditto.
661         * bindings/js/JSSharedWorkerCustom.cpp:
662         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker): Ditto.
663
664         * bindings/js/JSWebGLRenderingContextCustom.cpp:
665         (WebCore::getObjectParameter): Already checked count.
666         (WebCore::JSWebGLRenderingContext::getAttachedShaders): Removed tortured code
667         to triply do the checking that the toWebGLProgram function already does, including
668         spurious exception checking in code that can't create an exception. Also count is
669         already checked.
670         (WebCore::JSWebGLRenderingContext::getExtension): More of the same.
671         (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter): Ditto.
672         (WebCore::JSWebGLRenderingContext::getParameter): Ditto.
673         (WebCore::JSWebGLRenderingContext::getProgramParameter): Ditto.
674         (WebCore::JSWebGLRenderingContext::getShaderParameter): Ditto.
675         (WebCore::JSWebGLRenderingContext::getUniform): Ditto.
676         (WebCore::dataFunctionf): Ditto.
677         (WebCore::dataFunctioni): Ditto.
678         (WebCore::dataFunctionMatrix): Ditto.
679
680         * bindings/js/JSWorkerGlobalScopeCustom.cpp:
681         (WebCore::JSWorkerGlobalScope::importScripts): In a loop.
682         * bindings/js/JSXMLHttpRequestCustom.cpp:
683         (WebCore::JSXMLHttpRequest::open): Already checked. Also removed some unneeded
684         argument count checks.
685         (WebCore::JSXMLHttpRequest::send): Removed unneeded special case for 0 argument
686         count that does the same thing as the undefined case, since asking for an
687         argument past the count yields undefined.
688
689         * bindings/js/JSXSLTProcessorCustom.cpp:
690         (WebCore::JSXSLTProcessor::setParameter): Already checked.
691         (WebCore::JSXSLTProcessor::getParameter): Already checked.
692         (WebCore::JSXSLTProcessor::removeParameter): Already checked.
693
694         * bindings/js/ScheduledAction.cpp:
695         (WebCore::ScheduledAction::ScheduledAction): In a loop.
696         * bindings/js/ScriptCallStackFactory.cpp:
697         (WebCore::createScriptArguments): Ditto.
698
699         * bindings/scripts/CodeGeneratorJS.pm:
700         (GenerateParametersCheck): Removed some excess argumentCount checks.
701         Used uncheckedArgument in a few places. More needs to be done, especially for
702         overloaded functions.
703
704         * bridge/c/c_instance.cpp:
705         (JSC::Bindings::CInstance::invokeMethod): In a loop.
706         (JSC::Bindings::CInstance::invokeDefaultMethod): Ditto.
707         * bridge/objc/objc_instance.mm:
708         (ObjcInstance::invokeObjcMethod): Ditto.
709         (ObjcInstance::invokeDefaultMethod): Ditto.
710
711         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
712         * bindings/scripts/test/JS/JSTestObj.cpp:
713         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
714         Updated.
715
716 2013-09-21  Jon Lee  <jonlee@apple.com>
717
718         Fix Obj-C bindings test expectations.
719         Unreviewed.
720
721         Bindings tests failed with r156232, from https://bugs.webkit.org/show_bug.cgi?id=121745.
722
723         * bindings/scripts/test/ObjC/DOMTestObj.mm:
724         (-[DOMTestObj reflectedStringAttr]): Update test expectations.
725
726 2013-09-21  Andreas Kling  <akling@apple.com>
727
728         Node: FINAL-ize EventTarget overrides.
729         <https://webkit.org/b/121748>
730
731         Reviewed by Darin Adler.
732
733         Mark the following Node functions FINAL:
734
735             - scriptExecutionContext()
736             - eventTargetData()
737             - ensureEventTargetData()
738
739         This devirtualizes a myriad of generated calls in the JSC bindings.
740
741 2013-09-21  Andreas Kling  <akling@apple.com>
742
743         Don't bloat Obj-C bindings with inlined attribute retrieval.
744         <https://webkit.org/b/121745>
745
746         Reviewed by Anders Carlsson.
747
748         Hack bindings generator to always use getAttribute() for Objective-C.
749         Reduces WebCore binary size by 25120 bytes.
750
751 2013-09-20  Darin Adler  <darin@apple.com>
752
753         Shink attribute event listener code
754         https://bugs.webkit.org/show_bug.cgi?id=121735
755
756         Reviewed by Antti Koivisto.
757
758         * GNUmakefile.list.am: Eliminate ScriptEventListener source files.
759         * Target.pri: Ditto.
760         * UseJSC.cmake: Ditto.
761         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
762         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
763         * WebCore.xcodeproj/project.pbxproj: Ditto.
764         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
765
766         * bindings/js/JSDOMGlobalObject.h: Removed unneeded forward declarations
767         of JSEventListener and JSLazyEventListener.
768
769         * bindings/js/JSLazyEventListener.cpp:
770         (WebCore::JSLazyEventListener::JSLazyEventListener): Changed type to
771         ContainerNode because the node pointer is only ever used for elements
772         and documents.
773         (WebCore::eventParameterName): Moved this function here from
774         ScriptEventListener.cpp, but also rewrote to use NeverDestroyed.
775         (WebCore::JSLazyEventListener::createForNode): Moved this function
776         here from ScriptEventListener.cpp, cleaned up a bit.
777         (WebCore::JSLazyEventListener::createForDOMWindow): Ditto.
778
779         * bindings/js/JSLazyEventListener.h: Replaced the old create function
780         with two new create functions we can use directly. Also used some
781         OVERRIDE, some FINAL, and a bit of WTF_DELETED_FUNCTION so we don't
782         accidentally call create and create a non-lazy listener.
783
784         * bindings/js/ScriptEventListener.cpp: Removed.
785         * bindings/js/ScriptEventListener.h: Removed.
786
787         * dom/ContainerNode.cpp:
788         (WebCore::ContainerNode::setAttributeEventListener): Added.
789         Calls JSLazyEventListener::createForNode and then calls the other
790         overload of setAttributeEventListener, to obviate having more code
791         at the call site.
792         * dom/ContainerNode.h: Added overload of setAttributeEventListener
793         for convenient use in Document and Element implementations.
794
795         * dom/Document.cpp:
796         (WebCore::Document::prepareForDestruction): Use m_domWindow instead
797         of the domWindow() function.
798         (WebCore::Document::removeAllEventListeners): Ditto.
799         (WebCore::Document::errorEventTarget): Ditto.
800         (WebCore::Document::takeDOMWindowFrom): Ditto.
801         (WebCore::Document::setWindowAttributeEventListener): Ditto. Also
802         added an overload that calls JSLazyEventListener::createForDOMWindow.
803         (WebCore::Document::getWindowAttributeEventListener): Use m_domWindow.
804         (WebCore::Document::dispatchWindowEvent): Ditto.
805         (WebCore::Document::dispatchWindowLoadEvent): Ditto.
806         (WebCore::Document::enqueueWindowEvent): Ditto.
807         (WebCore::Document::enqueuePopstateEvent): Ditto.
808         * dom/Document.h: Added overload of setWindowAttributeEventListener.
809
810         * html/HTMLBodyElement.cpp: Removed unnneded include.
811         (WebCore::HTMLBodyElement::parseAttribute): Removed all the calls to
812         createAttributeEventListener, and use the setAttributeEventListener
813         overloads instead.
814         * html/HTMLButtonElement.cpp: Ditto.
815         * html/HTMLElement.cpp:
816         (WebCore::HTMLElement::parseAttribute): Ditto.
817         * html/HTMLFormControlElement.cpp: Ditto.
818         * html/HTMLFormElement.cpp: Ditto.
819         * html/HTMLFrameElementBase.cpp:
820         (WebCore::HTMLFrameElementBase::parseAttribute): Ditto.
821         * html/HTMLFrameSetElement.cpp:
822         (WebCore::HTMLFrameSetElement::parseAttribute): Ditto.
823         * html/HTMLImageElement.cpp:
824         (WebCore::HTMLImageElement::parseAttribute): Ditto.
825         * html/HTMLInputElement.cpp:
826         (WebCore::HTMLInputElement::parseAttribute): Ditto.
827         * html/HTMLLinkElement.cpp:
828         (WebCore::HTMLLinkElement::parseAttribute): Ditto.
829         * html/HTMLMediaElement.cpp:
830         (WebCore::HTMLMediaElement::parseAttribute): Ditto.
831         * html/HTMLObjectElement.cpp:
832         (WebCore::HTMLObjectElement::parseAttribute): Ditto.
833         * html/HTMLScriptElement.cpp:
834         (WebCore::HTMLScriptElement::parseAttribute): Ditto.
835         * html/HTMLSelectElement.cpp: Ditto.
836         * html/HTMLStyleElement.cpp: Ditto.
837         * html/HTMLTextFormControlElement.cpp: Ditto.
838         * html/HTMLTrackElement.cpp: Ditto.
839         * html/track/LoadableTextTrack.cpp: Ditto.
840         * svg/SVGElement.cpp:
841         (WebCore::SVGElement::parseAttribute): Ditto.
842         * svg/SVGSVGElement.cpp:
843         (WebCore::SVGSVGElement::parseAttribute): Ditto.
844         * svg/SVGScriptElement.cpp:
845         (WebCore::SVGScriptElement::parseAttribute): Ditto.
846
847         * inspector/InspectorDOMAgent.cpp:
848         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
849         Moved the code here to dig inside a JSEventListener for things like
850         the source location. This used to be spread across multiple function
851         calls in ScriptEventListener.h, which were doing and redoing the same
852         things, so better to just get it all at once.
853
854         * html/parser/XSSAuditor.cpp:
855         (WebCore::XSSAuditor::init): Fixed "minium" typo.
856
857 2013-09-21  Anders Carlsson  <andersca@apple.com>
858
859         Don't store the "processing-instruction" string for PI tokens in the XPath parser
860         https://bugs.webkit.org/show_bug.cgi?id=121746
861
862         Reviewed by Antti Koivisto.
863
864         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.
865
866         * xml/XPathGrammar.y:
867         * xml/XPathParser.cpp:
868         (Parser::nextTokenInternal):
869         (Parser::lex):
870
871 2013-09-21  Patrick Gansterer  <paroga@webkit.org>
872
873         Handle windows lineendings in makeprop.pl after r155511
874         https://bugs.webkit.org/show_bug.cgi?id=121740
875
876         Reviewed by Ryosuke Niwa.
877
878         Check for an optinal \r at the end of a line in regular expressions
879         to make it work again on native windows machines which use CRLF.
880
881         * css/makeprop.pl:
882
883 2013-09-21  Andreas Kling  <akling@apple.com>
884
885         Re-inline some hot ElementData functions.
886         <https://webkit.org/b/121743>
887
888         Reviewed by Antti Koivisto.
889
890         Make the following functions inline again:
891
892             - deref()
893             - addAttribute()
894             - removeAttribute()
895             - attributeAt()
896
897         They were out-of-lined in r154249 and perf.webkit.org reports a 1.4%
898         regression on the html5 spec for that revision. This'll hopefully steer
899         the graph back in the right direction.
900
901 2013-09-21  Tim Horton  <timothy_horton@apple.com>
902
903         GeneratorGeneratedImage should be called GradientImage
904         https://bugs.webkit.org/show_bug.cgi?id=121085
905
906         Reviewed by Simon Fraser.
907
908         No new tests, just a refactor.
909
910         r150053 removed the concept of a Generator, making GeneratorGeneratedImage
911         take a Gradient. This leaves GeneratorGeneratedImage's name not making a
912         whole lot of sense, so let's rename it to GradientImage.
913
914         * CMakeLists.txt:
915         * GNUmakefile.list.am:
916         * Target.pri:
917         * WebCore.vcxproj/WebCore.vcxproj:
918         * WebCore.vcxproj/WebCore.vcxproj.filters:
919         * WebCore.xcodeproj/project.pbxproj:
920         * css/CSSGradientValue.cpp:
921         (WebCore::CSSGradientValue::image):
922         * platform/graphics/BitmapImage.h:
923         * platform/graphics/GradientImage.cpp: Renamed from Source/WebCore/platform/graphics/GeneratorGeneratedImage.cpp.
924         (WebCore::GradientImage::draw):
925         (WebCore::GradientImage::drawPattern):
926         * platform/graphics/GradientImage.h: Renamed from Source/WebCore/platform/graphics/GeneratorGeneratedImage.h.
927         * platform/graphics/Image.h:
928         * platform/graphics/ImageBuffer.h:
929         Rename.
930
931         * css/CSSImageGeneratorValue.cpp:
932         (WebCore::CSSImageGeneratorValue::cachedImageForSize):
933         (WebCore::CSSImageGeneratorValue::saveCachedImageForSize):
934         (WebCore::CSSImageGeneratorValue::CachedGeneratedImage::CachedGeneratedImage):
935         * css/CSSImageGeneratorValue.h:
936         (WebCore::CSSImageGeneratorValue::CachedGeneratedImage::image):
937         Drive-by, the CSSImageGeneratorValue generated image cache should be
938         in terms of GeneratedImage, not a random subclass, regardless
939         of the fact that it's only used for GradientImage as of yet.
940
941 2013-09-21  Darin Adler  <darin@apple.com>
942
943         Shrink valueForBasicShape by removing repeated calls to cssValuePool()
944         https://bugs.webkit.org/show_bug.cgi?id=121736
945
946         Reviewed by Sam Weinig.
947
948         * css/BasicShapeFunctions.cpp:
949         (WebCore::valueForBasicShape): Put the pool into a local variable and use that.
950
951 2013-09-20  Darin Adler  <darin@apple.com>
952
953         Another CSS parser leak fix
954         https://bugs.webkit.org/show_bug.cgi?id=121730
955
956         Reviewed by Alexey Proskuryakov.
957
958         * css/CSSGrammar.y.in: Added a missing adoptPtr.
959
960 2013-09-20  Alexey Proskuryakov  <ap@apple.com>
961
962         Handle panning gestures messages properly on Windows
963         https://bugs.webkit.org/show_bug.cgi?id=121711
964
965         Follow-up fix: five regression tests started to crash on Mac.
966
967         Reviewed by Anders Carlsson.
968
969         * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollByRecursively):
970         Added null checks, not all callers are interested in scrolled view pointer.
971
972 2013-09-20  Ryosuke Niwa  <rniwa@webkit.org>
973
974         Bad cast from CSSInitialValue to CSSValueList
975         https://bugs.webkit.org/show_bug.cgi?id=121729
976
977         Reviewed by Beth Dakin.
978
979         Merge https://chromium.googlesource.com/chromium/blink/+/fcfaa51f9207b32cffe751c1a1380a921e464cbb
980
981         The issue was that we would cast to CSSValueList without checking
982         the type of the CSSValue. After this change, we use the ASSERT'ing
983         cast and explicitly check the type of the CSSValue before the cast.
984
985         Test: fast/css/crash-inherit-value-font-family.html
986
987         * css/CSSParser.cpp:
988         (WebCore::CSSParser::parseFontFaceValue):
989
990 2013-09-20  Zoltan Horvath  <zoltan@webkit.org>
991
992         Remove includes from LineWidth.h
993         https://bugs.webkit.org/show_bug.cgi?id=121716
994
995         Reviewed by Darin Adler.
996
997         In r156197 I removed logicalLineHeight from LineWidth.h, so we don't need to include RenderBlock.h
998         and RenderRubyRun.h anymore in LineWidth.h.
999
1000         No new tests, no behavior change.
1001
1002         * rendering/LineWidth.cpp:
1003         * rendering/LineWidth.h:
1004
1005 2013-09-20  Roger Fong  <roger_fong@apple.com>
1006
1007         Handle panning gestures messages properly on Windows.
1008         https://bugs.webkit.org/show_bug.cgi?id=121711.
1009
1010         Reviewed by Brent Fulgham.
1011
1012         This is needed by the Windows port to keep track to determine whether or not
1013         we need to overpan.
1014
1015         No new functionality added.
1016
1017         * rendering/RenderLayer.cpp:
1018         (WebCore::RenderLayer::scrollByRecursively):
1019         * rendering/RenderLayer.h: 
1020         Added an argument to keep track of which scrollview was actually scrolled
1021
1022 2013-09-20  Alexandru Chiculita  <achicu@adobe.com>
1023
1024         Web Inspector: [CSS Regions] Display CSS Regions chain when highlighting a CSS Region node
1025         https://bugs.webkit.org/show_bug.cgi?id=121719
1026
1027         Reviewed by Joseph Pecoraro.
1028
1029         Test: inspector/elements/highlight-node-regions.html
1030
1031         When a CSS Region node is highlighted through the WebInspector, it will also lookup all the regions
1032         that are part of the same flow and inject enough information into InspectorOverlayPage.js to get the other
1033         CSS Regions highlighted as well. A chain will also link the regions and a number will display the ordering
1034         of the content.
1035
1036         * WebCore.exp.in:
1037         * inspector/InspectorController.cpp:
1038         (WebCore::InspectorController::buildObjectForHighlightedNode):
1039         * inspector/InspectorController.h:
1040         * inspector/InspectorOverlay.cpp:
1041         (WebCore::buildObjectForRegionHighlight):
1042         (WebCore::buildObjectForCSSRegionsHighlight):
1043         (WebCore::InspectorOverlay::buildObjectForHighlightedNode):
1044         (WebCore::InspectorOverlay::drawNodeHighlight): Separated the InspectorObject building part out of this function,
1045         so that we can call buildObjectForHighlightedNode from the Internals APIs for testing.
1046         * inspector/InspectorOverlay.h:
1047         * inspector/InspectorOverlayPage.js:
1048         (_drawRegionNumber):
1049         (_quadMidPoint):
1050         (_drawRegionLink):
1051         (_fixQuadScrollPosition):
1052         (_drawRegionsHighlight):
1053         (drawNodeHighlight):
1054         * testing/Internals.cpp: Exposed the generated InspectorObject to the layout test.
1055         (WebCore::Internals::inspectorHighlightObject):
1056         * testing/Internals.h:
1057         * testing/Internals.idl:
1058
1059 2013-09-20  Commit Queue  <commit-queue@webkit.org>
1060
1061         Unreviewed, rolling out r156185.
1062         http://trac.webkit.org/changeset/156185
1063         https://bugs.webkit.org/show_bug.cgi?id=121727
1064
1065         Caused a lot of crashes in tests (Requested by ap on #webkit).
1066
1067         * dom/Document.cpp:
1068         (WebCore::Document::Document):
1069         (WebCore::Document::recalcStyle):
1070         (WebCore::Document::updateLayout):
1071         * dom/Document.h:
1072
1073 2013-09-20  Dean Jackson  <dino@apple.com>
1074
1075         Shaders that fail to compile should be marked as such
1076         https://bugs.webkit.org/show_bug.cgi?id=121721
1077
1078         Reviewed by Simon Fraser.
1079
1080         1. Add a new logging channel for WebGL.
1081
1082         2. If a translated shader fails to compile (technically
1083         this should never happen), mark it as invalid.
1084
1085         Test: https://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/misc/shader-with-non-reserved-words.html
1086
1087         * platform/Logging.h: New WebGL channel.
1088         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1089         (WebCore::GraphicsContext3D::compileShader): Log the raw and translated
1090         input to glCompileShader, but mark the entry as invalid.
1091
1092 2013-09-20  Mario Sanchez Prada  <mario.prada@samsung.com>
1093
1094         [ATK] Do not expose aria-help in ATK based platforms
1095         https://bugs.webkit.org/show_bug.cgi?id=121675
1096
1097         Reviewed by Chris Fleizach.
1098
1099         Stop exposing the value for the 'aria-help' attribute as an
1100         AtkObject attribute, based in AccessibilityObject::helpText().
1101
1102         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1103         (webkitAccessibleGetAttributes): Remove the mapping.
1104
1105 2013-09-20  Simon Fraser  <simon.fraser@apple.com>
1106
1107         Scrollbars don't appear on long pages after r155660
1108         https://bugs.webkit.org/show_bug.cgi?id=121714
1109         <rdar://problem/15042478>
1110
1111         Reviewed by Beth Dakin.
1112         
1113         After r155660, we don't do any additional layouts when scrollbars are 
1114         added or removed. That caused us to not enter the code that creates or
1115         destroys composting layers for scrollbars in RenderLayerCompositor, resulting
1116         in missing scrollbars.
1117         
1118         Fix by having ScrollView::updateScrollbars() call addedOrRemovedScrollbar()
1119         when a scrollbar was added or removed, which is overridden in FrameView
1120         to call through to RenderLayerCompositor::frameViewDidAddOrRemoveScrollbars().
1121
1122         Not testable since scrollbar layers aren't contained in layer tree dumps
1123         (to reduce diffs between platforms).
1124
1125         * page/FrameView.cpp:
1126         (WebCore::FrameView::addedOrRemovedScrollbar): New function to tell the compositor
1127         that scrollbars changed.
1128         * page/FrameView.h:
1129         * platform/ScrollView.cpp:
1130         (WebCore::ScrollView::setHasHorizontalScrollbar): Change the meaning of the return
1131         value to say if the scrollbar was added or removed. Add an out param that indicates
1132         whether the scrollbar change affects content size (not true for overlay scrollbars).
1133         (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
1134         (WebCore::ScrollView::updateScrollbars): Keep track of whether scrollbars were
1135         added or removed, and call addedOrRemovedScrollbar() if true.
1136         * platform/ScrollView.h:
1137         * rendering/RenderLayerCompositor.cpp:
1138         (WebCore::RenderLayerCompositor::frameViewDidAddOrRemoveScrollbars): Call updateOverflowControlsLayers().
1139         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
1140         * rendering/RenderLayerCompositor.h:
1141
1142 2013-09-20  Simon Fraser  <simon.fraser@apple.com>
1143
1144         Ensure that TileController tile coverage is updated on scrolling even when we don't have scrollbars
1145         https://bugs.webkit.org/show_bug.cgi?id=121700
1146         <rdar://problem/15030589>
1147
1148         Reviewed by Dean Jackson.
1149
1150         r155660 introduced a bug where we wouldn't make scrollbars on long pages. However,
1151         that revealed a fundamental flaw in the TiledBacking update logic; it relied on the
1152         GraphicsLayer flushes triggered by scrollbars updates in order to update the main
1153         TileController's tile coverage. No scrollbars meant no tile coverage updates.
1154         
1155         Fix by explicitly triggering a flush when the FrameView is scrolled (we get
1156         notified about this on the main thread after the scrolling thread has moved
1157         layers around).
1158         
1159         No test since this will only be exposed for a short time while scrollbars are
1160         broken.
1161
1162         * rendering/RenderLayerCompositor.cpp:
1163         (WebCore::RenderLayerCompositor::frameViewDidScroll):
1164
1165 2013-09-20  Zoltan Horvath  <zoltan@webkit.org>
1166
1167         Refactoring LineBreaker and RenderTextInfo out of RenderBlock.h
1168         https://bugs.webkit.org/show_bug.cgi?id=121707
1169
1170         Reviewed by David Hyatt.
1171
1172         LineBreaker and RenderTextInfo are defined in RenderBlock.h, but only used in RenderBlockLineLayout.cpp.
1173         Moving them there (LineBreaker needs to be a friend class of RenderBlock) in the first step in the process
1174         of refactoring LineBreaker::NextSegmentBreak into more manageable chunks.
1175
1176         This change was reviewed and landed in Blink:
1177         https://src.chromium.org/viewvc/blink?revision=157402&view=revision
1178
1179         No new tests.
1180
1181         * rendering/RenderBlock.h:
1182         * rendering/RenderBlockLineLayout.cpp:
1183         (WebCore::LineBreaker::LineBreaker):
1184         (WebCore::LineBreaker::lineWasHyphenated):
1185         (WebCore::LineBreaker::positionedObjects):
1186         (WebCore::LineBreaker::clear):
1187         (WebCore::RenderTextInfo::RenderTextInfo):
1188         (WebCore::RenderTextInfo::~RenderTextInfo):
1189         (WebCore::LineBreaker::skipTrailingWhitespace):
1190         (WebCore::LineBreaker::skipLeadingWhitespace):
1191         (WebCore::LineBreaker::reset):
1192         (WebCore::LineBreaker::nextLineBreak):
1193         (WebCore::LineBreaker::nextSegmentBreak):
1194
1195 2013-09-20  Zoltan Horvath  <zoltan@webkit.org>
1196
1197         Move logicalHeightForLine out of LineWidth.h
1198         https://bugs.webkit.org/show_bug.cgi?id=121575
1199
1200         Reviewed by David Hyatt.
1201
1202         In bug #121107 (r155565), I moved logicalHeightForLine into LineWidth.h as part of LineWidth
1203         refactoring. LogicalHeightForLine without passing the second parameter uses RenderBlock::lineHeight
1204         anyway, except it doesn't take -line-box-contain CSS property into account. For Shapes we don't
1205         have implementation for variable-height lines (https://bugs.webkit.org/show_bug.cgi?id=95361) yet, so
1206         so I modified the affected functions to call lineHeight directly. I renamed logicalHeightForLine
1207         to minLineHeightForReplacedRenderer, and I made the second parameter a mandatory for that function.
1208
1209         No new tests, no behavior change.
1210
1211         * rendering/LineWidth.cpp:
1212         (WebCore::LineWidth::updateAvailableWidth):
1213         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
1214         * rendering/LineWidth.h:
1215         * rendering/RenderBlock.cpp: Move the definition here.
1216         (WebCore::RenderBlock::minLineHeightForReplacedRenderer):
1217         * rendering/RenderBlock.h: Move the function here and rename it.
1218         * rendering/RenderBlockLineLayout.cpp:
1219         (WebCore::RenderBlock::layoutShapeInsideInfo):
1220         (WebCore::updateLogicalInlinePositions):
1221         (WebCore::updateSegmentsForShapes):
1222
1223 2013-09-20  Alexey Proskuryakov  <ap@apple.com>
1224
1225         -[WebHTMLConveter _getFloat:forNode:property:] leaks
1226         https://bugs.webkit.org/show_bug.cgi?id=121709
1227
1228         Reviewed by Enrica Casucci.
1229
1230         * platform/mac/HTMLConverter.mm:
1231         (-[WebHTMLConverter _getFloat:forNode:property:]): Don't leak.
1232
1233 2013-09-20  Yongjun Zhang  <yongjun_zhang@apple.com>
1234
1235         Add an argument to ImageSource::createFrameAtIndex to hint a decoder that we expect a scaled image.
1236         https://bugs.webkit.org/show_bug.cgi?id=121696
1237
1238         Reviewed by Antti Koivisto.
1239
1240         Add an argument to ImageSource::createFrameAtIndex.  A platform image decoder can decide the optimal
1241         scale based on the hint and pass the real scale it used for decoding.
1242
1243         No new tests, no behavior change.
1244
1245         * platform/graphics/ImageSource.cpp:
1246         (WebCore::ImageSource::createFrameAtIndex):
1247         * platform/graphics/ImageSource.h:
1248         * platform/graphics/cg/ImageSourceCG.cpp:
1249         (WebCore::ImageSource::createFrameAtIndex):
1250
1251 2013-09-20  Andreas Kling  <akling@apple.com>
1252
1253         Make JSMainThreadNullState noncopyable.
1254
1255         Blindly rubber-stamped by Antti Koivisto.
1256
1257         * bindings/js/JSMainThreadExecState.h:
1258
1259 2013-09-20  Dan Bernstein  <mitz@apple.com>
1260
1261         Make extract-localizable-strings available to WebCore clients
1262         https://bugs.webkit.org/show_bug.cgi?id=121699
1263
1264         Reviewed by Darin Adler.
1265
1266         * WebCore.xcodeproj/project.pbxproj: Added a Scripts group with a reference to
1267         extract-localizable-strings.pl. Added a Copy Scripts build phase to the WebCore target that
1268         copies the script into PrivateHeaders/Scripts in the framework.
1269         * extract-localizable-strings.pl: Copied from Tools/Scripts/extract-localizable-strings.
1270
1271 2013-09-20  Antti Koivisto  <antti@apple.com>
1272
1273         Move layer hierarchy functions from RenderObject to RenderElement
1274         https://bugs.webkit.org/show_bug.cgi?id=121692
1275
1276         Reviewed by Andreas Kling.
1277
1278         * rendering/RenderElement.cpp:
1279         (WebCore::RenderElement::addLayers):
1280         (WebCore::RenderElement::removeLayers):
1281         (WebCore::RenderElement::moveLayers):
1282         (WebCore::RenderElement::findNextLayer):
1283         (WebCore::RenderElement::layerCreationAllowedForSubtree):
1284         
1285             Move these from RenderObject.
1286
1287         (WebCore::RenderElement::insertedIntoTree):
1288         (WebCore::RenderElement::willBeRemovedFromTree):
1289         
1290             Factor the layer related portion of these virtuals here.
1291
1292 2013-09-20  Benjamin Poulain  <benjamin@webkit.org>
1293
1294         Start cleaning the API of SelectorChecker
1295         https://bugs.webkit.org/show_bug.cgi?id=121654
1296
1297         Reviewed by Antti Koivisto.
1298
1299         Make the matching mode internal.
1300         Remove unused accessors.
1301         Make isFrameFocused() internal.
1302
1303         * css/ElementRuleCollector.cpp:
1304         (WebCore::ElementRuleCollector::ruleMatches):
1305         * css/SelectorChecker.cpp:
1306         (WebCore::SelectorChecker::matchRecursively):
1307         (WebCore::SelectorChecker::checkOne):
1308         (WebCore::isFrameFocused):
1309         * css/SelectorChecker.h:
1310         (WebCore::SelectorChecker::match):
1311         * css/StyleResolver.h:
1312         (WebCore::checkRegionSelector):
1313         * dom/SelectorQuery.cpp:
1314         (WebCore::SelectorDataList::selectorMatches):
1315
1316 2013-09-20  Benjamin Poulain  <benjamin@webkit.org>
1317
1318         Remove SelectorChecker's CrossesBoundary boundary mode
1319         https://bugs.webkit.org/show_bug.cgi?id=121653
1320
1321         Reviewed by Antti Koivisto.
1322
1323         This mode is an ancient vestige of shadow dom.
1324
1325         * css/SelectorChecker.cpp:
1326         (WebCore::SelectorChecker::match):
1327         (WebCore::SelectorChecker::checkOne):
1328         * css/SelectorChecker.h:
1329
1330 2013-09-20  Benjamin Poulain  <benjamin@webkit.org>
1331
1332         Move the SharingRules mode outside of SelectorChecker
1333         https://bugs.webkit.org/show_bug.cgi?id=121652
1334
1335         Reviewed by Antti Koivisto.
1336
1337         The SharingRules handling inside SelectorChecker is a weird hack
1338         to hit a specific branch of ElementRuleCollector.
1339
1340         This patch moves the exception to ElementRuleCollector, where it is easier
1341         to understand what it is for.
1342
1343         * css/ElementRuleCollector.cpp:
1344         (WebCore::ElementRuleCollector::doCollectMatchingRulesForList):
1345         * css/SelectorChecker.cpp:
1346         (WebCore::SelectorChecker::match):
1347
1348 2013-09-20  Yoav Weiss  <yoav@yoav.ws>
1349
1350         Fixed img src URLS with multiple spaces
1351         https://bugs.webkit.org/show_bug.cgi?id=121592
1352
1353         Reviewed by Darin Adler.
1354
1355         Test: fast/loader/image-src-multiple-space.html
1356
1357         I've removed the simplifyWhiteSpace step from HTMLImageElement's src attribute during the srcset selection algorithm.
1358         That step prevented URLs with multiple spaces from being loaded as images, minimizing the multiple spaces into a single one.
1359
1360         * html/parser/HTMLParserIdioms.cpp:
1361         (WebCore::bestFitSourceForImageAttributes):
1362
1363 2013-09-20  Arunprasad Rajkumar  <ararunprasad@gmail.com>
1364
1365         Hiding a focused element should unfocus it and fire a blur event
1366         https://bugs.webkit.org/show_bug.cgi?id=29241
1367
1368         Reviewed by Darin Adler.
1369
1370         Test: fast/dom/HTMLDocument/active-element-gets-unfocusable.html
1371
1372         We check whether the current focus element is really focusable after
1373         the style recalculation and layout change. If it is not focusable then schedule a
1374         timer to reset it asynchronously.
1375
1376         * dom/Document.cpp:
1377         (WebCore::Document::Document):
1378         (WebCore::Document::recalcStyle): Check isFocusable() on the focus element after
1379         style recalculation.
1380         (WebCore::Document::updateLayout): Check isFocusable() on the focus element after
1381         layout.
1382         (WebCore::Document::resetHiddenFocusElementSoon):
1383         (WebCore::Document::resetHiddenFocusElementTimer):
1384         * dom/Document.h:
1385
1386 2013-09-20  Alexey Proskuryakov  <ap@apple.com>
1387
1388         REGRESSION (r156140): Srcset tests are frequently crashing
1389         https://bugs.webkit.org/show_bug.cgi?id=121695
1390
1391         Reviewed by Dean Jackson.
1392
1393         Returning a string created without copying bytes is not safe. It used to be OK
1394         because a new string was immediately created by decodeURLEscapeSequences().
1395         But even that was not great, because decodeURLEscapeSequences() could potentially
1396         return the same string, not a deep copy, if we decided to optimize it like that.
1397
1398         Also made a number of drive-by style fixes.
1399         - It's URL, not Url.
1400         - It's srcset, not srcSet.
1401         -  We don't add ".0" in floating point value initializers. It's particularly misleading
1402         to initialize a float with 1.0, which is a double value.
1403         - Renamed srcSetLength to srcsetAttributeLength to match srcsetAttribute variable
1404         whose length it caches.
1405
1406         * html/parser/HTMLParserIdioms.cpp:
1407         (WebCore::parseImagesWithScaleFromSrcsetAttribute):
1408         (WebCore::bestFitSourceForImageAttributes):
1409
1410 2013-09-19  Martin Robinson  <mrobinson@igalia.com>
1411
1412         [GTK] Clean up the Skip* functions in the GObject DOM bindings code generator
1413         https://bugs.webkit.org/show_bug.cgi?id=121633
1414
1415         Reviewed by Gustavo Noronha Silva.
1416
1417         * bindings/scripts/CodeGeneratorGObject.pm:
1418         (SkipAttribute): Fold in some skipping checks that are used by all callers.
1419         (SkipFunction): Ditto.
1420         (GenerateProperties): Rely on SkipAttribute more thoroughly.
1421         (GenerateFunction): Rely on SkipFunction more thoroughly.
1422         (GenerateFunctions): Rely on SkipAttribute more thoroughly.
1423
1424 2013-09-20  Patrick Gansterer  <paroga@webkit.org>
1425
1426         Fix the build after r156144
1427
1428         * html/canvas/CanvasRenderingContext2D.cpp: Added missing include.
1429
1430 2013-09-20  Ryosuke Niwa  <rniwa@webkit.org>
1431
1432         renderStyleOfEnclosingTextNode should update style before using a renderer
1433         https://bugs.webkit.org/show_bug.cgi?id=121690
1434
1435         Reviewed by Enrica Casucci.
1436
1437         Merge https://chromium.googlesource.com/chromium/blink/+/65f089545e8c18cb268dfcbe56cba1cd8045527a
1438
1439         When accessing a renderer editing should always make sure that the style has been updated for the node.
1440         Editing calls splitTextNode in a number of places and then accesses the renderer later. This patch is
1441         the first of many to make sure editing always updates the style before attempting to access the renderer
1442         (or style) of a node after calling a mutation method.
1443
1444         * editing/ApplyBlockElementCommand.cpp:
1445         (WebCore::ApplyBlockElementCommand::renderStyleOfEnclosingTextNode):
1446         * editing/ApplyBlockElementCommand.h:
1447
1448 2013-09-20  Darin Adler  <darin@apple.com>
1449
1450         Fix a couple more CSS leaks
1451         https://bugs.webkit.org/show_bug.cgi?id=121683
1452
1453         Reviewed by Alexey Proskuryakov.
1454
1455         * css/CSSDefaultStyleSheets.cpp:
1456         (WebCore::CSSDefaultStyleSheets::viewSourceStyle): Put the result of the
1457         parseUASheet into a global variable so it doesn't show up as a storage leak.
1458
1459         * css/CSSGrammar.y.in: Added a missing adoptRef. This was leaking any rule
1460         we parsed individually.
1461
1462 2013-09-20  Bem Jones-Bey  <bjonesbe@adobe.com>
1463
1464         Simplify the ShapeOutsideInfo and ShapeInfo interfaces
1465         https://bugs.webkit.org/show_bug.cgi?id=121685
1466
1467         Reviewed by Darin Adler.
1468
1469         With the creation ShapeInfo::computeSegmentsForLine, it became possible to
1470         simplify the ShapeInfo classes. ShapeOutsideInfo has no need to save the
1471         segments, and now that segment creation is in its own method, it doesn't have
1472         to save the segments anymore. This also simplifies the public interface of
1473         ShapeOutsideInfo, as it only has one method to do the computation.
1474
1475         Also, the methods in ShapeOutsideInfo have been renamed to reflect the fact
1476         that ShapeOutsideInfo isn't really interested in segments.
1477
1478         No new tests, no new behavior.
1479
1480         * rendering/FloatingObjects.cpp:
1481         (WebCore::FloatingObjects::logicalLeftOffset):
1482         (WebCore::FloatingObjects::logicalRightOffset):
1483         * rendering/LineWidth.cpp:
1484         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
1485         * rendering/shapes/ShapeInfo.cpp:
1486         * rendering/shapes/ShapeInfo.h:
1487         * rendering/shapes/ShapeInsideInfo.h:
1488         * rendering/shapes/ShapeOutsideInfo.cpp:
1489         (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
1490         * rendering/shapes/ShapeOutsideInfo.h:
1491
1492 2013-09-20  Antonio Gomes  <a1.gomes@sisa.samsung.com>
1493
1494         Making tests added in r156157 JS-only, given that other
1495         code generators are still broken.
1496
1497         Original bug 121305 (StrictTypeChecking extended attribute fails for methods with sequence<T>).
1498         https://bugs.webkit.org/show_bug.cgi?id=121305
1499
1500         Rubber stamped by Alexey Proskuryakov.
1501
1502         * bindings/scripts/test/TestObj.idl:
1503
1504 2013-09-20  Jacky Jiang  <zhajiang@blackberry.com>
1505
1506         [BlackBerry] Poor rendering opening a Google map short link
1507         https://bugs.webkit.org/show_bug.cgi?id=121687
1508
1509         Reviewed by Yong Li.
1510         Internally reviewed by Arvid Nilsson.
1511
1512         JIRA 495023
1513         Route lines on google map were shown even they were on a hidden canvas.
1514         Include visibility on LayerWebKitThread if it's a canvas layer and respect
1515         the visibility when compositing layers in LayerRenderer.
1516
1517         * platform/graphics/blackberry/LayerData.h:
1518         (WebCore::LayerData::isCanvasLayer):
1519         (WebCore::LayerData::isVisible):
1520         (WebCore::LayerData::includeVisibility):
1521         * platform/graphics/blackberry/LayerRenderer.cpp:
1522         (WebCore::LayerRenderer::compositeLayersRecursive):
1523
1524 2013-09-20  Sam White  <samuel_white@apple.com>
1525
1526         AX: WebArea claims to have a subrole, but always returns nil.
1527         https://bugs.webkit.org/show_bug.cgi?id=121658
1528
1529         Reviewed by Chris Fleizach.
1530
1531         No new tests, updated existing AXWebArea related test to reflect unused attribute removal.
1532
1533         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1534         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
1535
1536 2013-09-20  Andreas Kling  <akling@apple.com>
1537
1538         Add valueForLength/minimumValueForLength wrappers to RenderElement.
1539         <https://webkit.org/b/121676>
1540
1541         Reviewed by Antti Koivisto.
1542
1543         Add two inline wrappers for these functions so we don't have to pass
1544         the RenderView everywhere.
1545
1546 2013-09-20  Martin Robinson  <mrobinson@igalia.com>
1547
1548         [GTK] Fix some small style issues in the bindings
1549         https://bugs.webkit.org/show_bug.cgi?id=121613
1550
1551         Reviewed by Carlos Garcia Campos.
1552
1553         * bindings/scripts/CodeGeneratorGObject.pm: When printing the license
1554         header use the more common comment style within the WebKit project.
1555         (GenerateProperty): Indent property definitions according to WebKit style, improve
1556         the nick and blurb properties, and improve the various parameter spec argument layout.
1557         (GenerateFunction): Remove the newline from function signatures to match WebKit style.
1558         * bindings/scripts/test/GObject: Update bindings test results.
1559
1560 2013-09-20  Patrick Gansterer  <paroga@webkit.org>
1561
1562         [CMake] Use COMPILE_DEFINITIONS target property for setting BUILDING_* defines
1563         https://bugs.webkit.org/show_bug.cgi?id=121672
1564
1565         Reviewed by Gyuyoung Kim.
1566
1567         Since the scope of add_definitions() is always a whole file, we need to use
1568         target properties instead to set definitions only for specific targets.
1569
1570         * CMakeLists.txt:
1571
1572 2013-09-18  Antonio Gomes  <a1.gomes@sisa.samsung.com>
1573
1574         Make "autoscroll for drag'n drop" a setting
1575         https://bugs.webkit.org/show_bug.cgi?id=121559
1576
1577         Reviewed by Ryosuke Niwa.
1578
1579         Currently, there is a ChromeClient hook to make the
1580         feature opt'ed-in or out. That makes it harder to test the
1581         feature on ports that do not enable it, e.g. Mac/WebKit2 port.
1582         However, Mac/WebKit2 is the port that has the best drag'n drop
1583         WTR implementation.
1584
1585         Patch changes the toggle on/off mechanism to be a setting,
1586         and exposes it through InternalSetting interface for testing.
1587
1588         * page/AutoscrollController.cpp:
1589         (WebCore::AutoscrollController::updateDragAndDrop):
1590         * page/ChromeClient.h:
1591         * page/Settings.in:
1592         * testing/InternalSettings.cpp:
1593         (WebCore::InternalSettings::Backup::Backup):
1594         (WebCore::InternalSettings::Backup::restoreTo):
1595         (WebCore::InternalSettings::setAutoscrollForDragAndDropEnabled):
1596         * testing/InternalSettings.h:
1597         * testing/InternalSettings.idl:
1598
1599 2013-09-16  Antonio Gomes  <a1.gomes@sisa.samsung.com>
1600
1601         StrictTypeChecking extended attribute fails for methods with sequence<T>
1602         https://bugs.webkit.org/show_bug.cgi?id=121305
1603
1604         Reviewed by Darin Adler.
1605
1606         The extended attribute StrictTypeChecking can not be set to methods if
1607         one of the parameters is a "sequence".
1608         Basically, since "sequence" is not considered a native type
1609         (see function IsNativeType) the Perl code generator tries to
1610         include its supposedly associated header, in this case "JSsequence.h"
1611         Compilation then fails.
1612
1613         It is a problem for bindings including WebGL, where all methods
1614         are supposed to be set as StrictTypeChecking (see bug 44202 [1]). Due to this restriction,
1615         it relaxed, but I would like to bring it back.
1616
1617         Patch fixes the issue by hardening the way includes are auto-added
1618         for methods where StrictTypeChecking extended attribute is present.
1619         Now, only wrapper types (see IsWrapperType) trigger header inclusion,
1620         excluding arrays, sequences, basic types, etc.
1621
1622         [1] https://bugs.webkit.org/show_bug.cgi?id=44202
1623
1624         * bindings/scripts/CodeGeneratorJS.pm:
1625         (GenerateParametersCheck):
1626         * bindings/scripts/test/JS/JSTestObj.cpp:
1627         (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
1628         * bindings/scripts/test/JS/JSTestObj.h:
1629         * bindings/scripts/test/TestObj.idl:
1630
1631 2013-09-20  Andreas Kling  <akling@apple.com>
1632
1633         Optimize fetching the Node for never-anonymous renderers.
1634         <https://webkit.org/b/121627>
1635
1636         Reviewed by Antti Koivisto.
1637
1638         Add a RenderObject::nodeForNonAnonymous() that can be used instead
1639         of node() when a renderer is guaranteed non-anonymous.
1640
1641         Use this to implement reference element getters for the various
1642         renderers that are known at compile-time to correspond to a DOM node.
1643
1644         Also renamed existingElement() => element() since using an alternate
1645         name for a reference overload isn't actually necessary.
1646
1647 2013-09-20  Patrick Gansterer  <paroga@webkit.org>
1648
1649         Remove duplicated secondsPerDay variables
1650         https://bugs.webkit.org/show_bug.cgi?id=121601
1651
1652         Reviewed by Andreas Kling.
1653
1654         Use secondsPerDay from DateMath.h instead of defining it again.
1655
1656         * history/HistoryItem.cpp:
1657         (WebCore::timeToDay):
1658
1659 2013-09-20  Patrick Gansterer  <paroga@webkit.org>
1660
1661         Fix duplicated loop variable names after r155743
1662         https://bugs.webkit.org/show_bug.cgi?id=121667
1663
1664         Reviewed by Andreas Kling.
1665
1666         Do not use the same name for variables in nested loops to fix a compiler warning.
1667
1668         * page/animation/CSSPropertyAnimation.cpp:
1669         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
1670
1671 2013-09-20  Antti Koivisto  <antti@apple.com>
1672
1673         Make RenderObject::parent() return RenderElement
1674         https://bugs.webkit.org/show_bug.cgi?id=121671
1675
1676         Reviewed by Andreas Kling.
1677
1678         Make RenderObject::parent() return RenderElement and adopt everywhere.
1679         Moved addChild/removeChild from RenderObject to RenderElement.
1680         Uninlined a few big RenderObject functions.
1681         Renamed RenderObject::remove() -> RenderObject::removeFromParent()
1682
1683 2013-09-20  Csaba Osztrogon√°c  <ossy@webkit.org>
1684
1685         Buildfix after r156133 for !ENABLE(WORKERS) platforms
1686         https://bugs.webkit.org/show_bug.cgi?id=121669
1687
1688         Reviewed by Antti Koivisto.
1689
1690         * platform/ThreadGlobalData.cpp:
1691         * platform/ThreadGlobalData.h:
1692
1693 2013-09-20  Antti Koivisto  <antti@apple.com>
1694
1695         Make createRenderer() return RenderElement
1696         https://bugs.webkit.org/show_bug.cgi?id=121666
1697
1698         Rubber-stamped by Andreas Kling.
1699         
1700         Tighter typing.
1701
1702 2013-09-20  Patrick Gansterer  <paroga@webkit.org>
1703
1704         Buildfix for ENABLE(CSS_FILTERS) && !ENABLE(ACCELERATED_COMPOSITING) after r155131.
1705
1706         * rendering/RenderLayer.cpp:
1707         (WebCore::RenderLayer::enclosingFilterRepaintLayer):
1708
1709 2013-09-20  Patrick Gansterer  <paroga@webkit.org>
1710
1711         [WIN] Fix build without precompiled header after r154146.
1712
1713         * platform/win/WebCoreBundleWin.cpp:
1714
1715 2013-09-20  Antti Koivisto  <antti@apple.com>
1716
1717         Add covariant RenderElement* Element::renderer()
1718         https://bugs.webkit.org/show_bug.cgi?id=121638
1719
1720         Reviewed by Andreas Kling.
1721
1722         Also add isRenderElement() test and casting functions.
1723
1724 2013-09-19  Anders Carlsson  <andersca@apple.com>
1725
1726         Handle null font families.
1727
1728         Reviewed by Darin Adler.
1729
1730         * platform/graphics/Font.cpp:
1731         (WebCore::computeFontGlyphsCacheHash):
1732         Don't crash when trying to hash null strings.
1733
1734 2013-09-19  Darin Adler  <darin@apple.com>
1735
1736         Fix a couple mistakes in my recent CSS grammar leak patch
1737         https://bugs.webkit.org/show_bug.cgi?id=121659
1738
1739         Reviewed by Alexey Proskuryakov.
1740
1741         * css/CSSGrammar.y.in: Added initialization to nullptr for some error cases
1742         that were otherwise leaving a bad value for the result of the production.
1743         Also fixed a reversed logical expression.
1744
1745 2013-09-19  Yoav Weiss  <yoav@yoav.ws>
1746
1747         Remove URL decoding in srcset handling
1748         https://bugs.webkit.org/show_bug.cgi?id=121609
1749
1750         Reviewed by Benjamin Poulain.
1751
1752         Tests: fast/hidpi/image-srcset-question-mark.html
1753                fast/loader/image-src-question-mark.html
1754
1755         Removed URL decoding from src and srcset's handling algorithm, since they break encoded URLS.
1756
1757         * html/parser/HTMLParserIdioms.cpp:
1758         (WebCore::parseImagesWithScaleFromSrcSetAttribute):
1759         (WebCore::bestFitSourceForImageAttributes):
1760
1761 2013-09-19  Anders Carlsson  <andersca@apple.com>
1762
1763         Avoid calling AtomicString::lower() in makeFontGlyphsCacheKey
1764         https://bugs.webkit.org/show_bug.cgi?id=121656
1765
1766         Reviewed by Darin Adler.
1767
1768         Instead of lower casing AtomicStrings, store the strings as is and use the case folding
1769         hash and case insensitive compare to determine equality.
1770
1771         * platform/graphics/Font.cpp:
1772         (WebCore::operator==):
1773         (WebCore::makeFontGlyphsCacheKey):
1774         (WebCore::computeFontGlyphsCacheHash):
1775
1776 2013-09-19  Darin Adler  <darin@apple.com>
1777
1778         Fix leaks in CSS parser caused by overwriting owned raw pointers with 0
1779         https://bugs.webkit.org/show_bug.cgi?id=121655
1780
1781         Reviewed by Anders Carlsson.
1782
1783         * css/CSSGrammar.y.in: Use nullptr instead of 0. Use unique_ptr instead
1784         of a raw pointer in cases where we might or might not actually keep
1785         the allocated memory. This can still be cleaned up further, but this
1786         should fix the memory leaks we have been seeing.
1787
1788 2013-09-19  Eric Carlson  <eric.carlson@apple.com>
1789
1790         MediaStream API: update MediaStreamTrackEvent object to match spec
1791         https://bugs.webkit.org/show_bug.cgi?id=121624
1792
1793         Reviewed by Dean Jackson.
1794
1795         Test: fast/mediastream/MediaStreamTrackEvent-constructor.html
1796
1797         * Modules/mediastream/MediaStreamTrack.idl: Remove NoInterfaceObject.
1798
1799         * Modules/mediastream/MediaStreamTrackEvent.cpp: 
1800         (WebCore::MediaStreamTrackEventInit::MediaStreamTrackEventInit): New.
1801         (WebCore::MediaStreamTrackEvent::create): New form that takes an initialize.
1802         (WebCore::MediaStreamTrackEvent::MediaStreamTrackEvent): Ditto.
1803         * Modules/mediastream/MediaStreamTrackEvent.h:
1804         * Modules/mediastream/MediaStreamTrackEvent.idl:
1805
1806         * bindings/js/JSDictionary.cpp:
1807         (WebCore::JSDictionary::convertValue): New.
1808         * bindings/js/JSDictionary.h:
1809
1810 2013-09-19  Anders Carlsson  <andersca@apple.com>
1811
1812         Remove #if !ENABLE(WORKERS) code in ThreadGlobalData
1813         https://bugs.webkit.org/show_bug.cgi?id=121649
1814
1815         Reviewed by Sam Weinig.
1816
1817         This lets us remove a FIXME. Also, move threadGlobalData out of line; there's no need for it to be inline.
1818
1819         * WebCore.exp.in:
1820         * platform/ThreadGlobalData.cpp:
1821         (WebCore::threadGlobalData):
1822         * platform/ThreadGlobalData.h:
1823
1824 2013-09-19  Anders Carlsson  <andersca@apple.com>
1825
1826         Modernize Length setters/getters
1827         https://bugs.webkit.org/show_bug.cgi?id=121647
1828
1829         Reviewed by Andreas Kling.
1830
1831         Add a move constructor and move assignment operator to Length and fixup some of the getters and setters.
1832
1833         * css/CSSComputedStyleDeclaration.cpp:
1834         (WebCore::getBorderRadiusCornerValues):
1835         (WebCore::getBorderRadiusCornerValue):
1836         * css/DeprecatedStyleBuilder.cpp:
1837         (WebCore::ApplyPropertyLength::setValue):
1838         (WebCore::ApplyPropertyLength::createHandler):
1839         (WebCore::ApplyPropertyBorderRadius::setValue):
1840         (WebCore::ApplyPropertyBorderRadius::createHandler):
1841         (WebCore::ApplyPropertyLineHeight::createHandler):
1842         * page/animation/CSSPropertyAnimation.cpp:
1843         (WebCore::LengthPropertyWrapper::LengthPropertyWrapper):
1844         (WebCore::LengthPropertyWrapper::blend):
1845         (WebCore::FillLayerPropertyWrapper::FillLayerPropertyWrapper):
1846         (WebCore::FillLayerPropertyWrapper::blend):
1847         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
1848         * platform/CalculationValue.h:
1849         (WebCore::CalcExpressionLength::CalcExpressionLength):
1850         (WebCore::CalcExpressionBlendLength::CalcExpressionBlendLength):
1851         * platform/Length.cpp:
1852         (WebCore::CalculationValueHandleMap::remove):
1853         (WebCore::CalculationValueHandleMap::find):
1854         (WebCore::Length::decrementCalculatedRef):
1855         * platform/Length.h:
1856         (WebCore::Length::Length):
1857         (WebCore::Length::operator=):
1858         (WebCore::Length::moveFromLength):
1859         * platform/LengthBox.cpp:
1860         (WebCore::LengthBox::logicalLeft):
1861         (WebCore::LengthBox::logicalRight):
1862         (WebCore::LengthBox::before):
1863         (WebCore::LengthBox::after):
1864         (WebCore::LengthBox::start):
1865         (WebCore::LengthBox::end):
1866         * platform/LengthBox.h:
1867         (WebCore::LengthBox::LengthBox):
1868         (WebCore::LengthBox::left):
1869         (WebCore::LengthBox::right):
1870         (WebCore::LengthBox::top):
1871         (WebCore::LengthBox::bottom):
1872         * platform/LengthSize.h:
1873         (WebCore::LengthSize::LengthSize):
1874         (WebCore::LengthSize::setWidth):
1875         (WebCore::LengthSize::width):
1876         (WebCore::LengthSize::setHeight):
1877         (WebCore::LengthSize::height):
1878         * platform/graphics/filters/FilterOperation.h:
1879         (WebCore::FilterOperation::BlurFilterOperation::create):
1880         (WebCore::FilterOperation::BlurFilterOperation::stdDeviation):
1881         (WebCore::FilterOperation::BlurFilterOperation::BlurFilterOperation):
1882         * rendering/style/BasicShapes.h:
1883         (WebCore::BasicShapeRectangle::x):
1884         (WebCore::BasicShapeRectangle::y):
1885         (WebCore::BasicShapeRectangle::width):
1886         (WebCore::BasicShapeRectangle::height):
1887         (WebCore::BasicShapeRectangle::cornerRadiusX):
1888         (WebCore::BasicShapeRectangle::cornerRadiusY):
1889         (WebCore::BasicShapeRectangle::setX):
1890         (WebCore::BasicShapeRectangle::setY):
1891         (WebCore::BasicShapeRectangle::setWidth):
1892         (WebCore::BasicShapeRectangle::setHeight):
1893         (WebCore::BasicShapeRectangle::setCornerRadiusX):
1894         (WebCore::BasicShapeRectangle::setCornerRadiusY):
1895         (WebCore::BasicShapeCircle::centerX):
1896         (WebCore::BasicShapeCircle::centerY):
1897         (WebCore::BasicShapeCircle::radius):
1898         (WebCore::BasicShapeCircle::setCenterX):
1899         (WebCore::BasicShapeCircle::setCenterY):
1900         (WebCore::BasicShapeCircle::setRadius):
1901         (WebCore::BasicShapeEllipse::centerX):
1902         (WebCore::BasicShapeEllipse::centerY):
1903         (WebCore::BasicShapeEllipse::radiusX):
1904         (WebCore::BasicShapeEllipse::radiusY):
1905         (WebCore::BasicShapeEllipse::setCenterX):
1906         (WebCore::BasicShapeEllipse::setCenterY):
1907         (WebCore::BasicShapeEllipse::setRadiusX):
1908         (WebCore::BasicShapeEllipse::setRadiusY):
1909         (WebCore::BasicShapePolygon::getXAt):
1910         (WebCore::BasicShapePolygon::getYAt):
1911         (WebCore::BasicShapePolygon::appendPoint):
1912         (WebCore::BasicShapeInsetRectangle::top):
1913         (WebCore::BasicShapeInsetRectangle::right):
1914         (WebCore::BasicShapeInsetRectangle::bottom):
1915         (WebCore::BasicShapeInsetRectangle::left):
1916         (WebCore::BasicShapeInsetRectangle::cornerRadiusX):
1917         (WebCore::BasicShapeInsetRectangle::cornerRadiusY):
1918         (WebCore::BasicShapeInsetRectangle::setTop):
1919         (WebCore::BasicShapeInsetRectangle::setRight):
1920         (WebCore::BasicShapeInsetRectangle::setBottom):
1921         (WebCore::BasicShapeInsetRectangle::setLeft):
1922         (WebCore::BasicShapeInsetRectangle::setCornerRadiusX):
1923         (WebCore::BasicShapeInsetRectangle::setCornerRadiusY):
1924         * rendering/style/FillLayer.h:
1925         (WebCore::FillSize::FillSize):
1926         (WebCore::FillLayer::xPosition):
1927         (WebCore::FillLayer::yPosition):
1928         (WebCore::FillLayer::sizeLength):
1929         (WebCore::FillLayer::setXPosition):
1930         (WebCore::FillLayer::setYPosition):
1931         * rendering/style/NinePieceImage.cpp:
1932         (WebCore::NinePieceImage::NinePieceImage):
1933         * rendering/style/NinePieceImage.h:
1934         (WebCore::NinePieceImage::setImageSlices):
1935         (WebCore::NinePieceImage::setBorderSlices):
1936         (WebCore::NinePieceImage::setOutset):
1937         (WebCore::NinePieceImage::computeOutset):
1938         * rendering/style/RenderStyle.cpp:
1939         (WebCore::RenderStyle::specifiedLineHeight):
1940         * rendering/style/RenderStyle.h:
1941         * rendering/style/StyleBoxData.h:
1942         (WebCore::StyleBoxData::width):
1943         (WebCore::StyleBoxData::height):
1944         (WebCore::StyleBoxData::minWidth):
1945         (WebCore::StyleBoxData::minHeight):
1946         (WebCore::StyleBoxData::maxWidth):
1947         (WebCore::StyleBoxData::maxHeight):
1948         (WebCore::StyleBoxData::verticalAlign):
1949         * rendering/style/StyleReflection.h:
1950         (WebCore::StyleReflection::offset):
1951         (WebCore::StyleReflection::setOffset):
1952
1953 2013-09-19  Andreas Kling  <akling@apple.com>
1954
1955         Out-of-line InspectorValues create() methods.
1956         <https://webkit.org/b/121639>
1957
1958         Reviewed by Joseph Pecoraro.
1959
1960         These functions are hardly performance-critical and are taking up
1961         quite a lot of space.
1962
1963         Shrinks the WebCore binary by 70500 bytes.
1964
1965 2013-09-19  Alexey Proskuryakov  <ap@apple.com>
1966
1967         Layout Test http/tests/security/canvas-remote-read-remote-image-redirect.html is flaky
1968         https://bugs.webkit.org/show_bug.cgi?id=121458
1969
1970         Reviewed by Sam Weinig.
1971
1972         The code to automagically produce line numbers is quite fragile. Added some FIXMEs,
1973         and added an issue that was making reporting flaky for code is JS event handlers
1974         executed while parsing was paused.
1975
1976         * page/PageConsole.cpp: (WebCore::PageConsole::addMessage): Use actual "script is
1977         running" check instead of "parsing a script element" one.
1978
1979 2013-09-18  Ryosuke Niwa  <rniwa@webkit.org>
1980
1981         Remove superfluous CSSLinearTimingFunctionValue and use switch on TimingFunction::type() in more places
1982         https://bugs.webkit.org/show_bug.cgi?id=121589
1983
1984         Reviewed by Dean Jackson.
1985  
1986         Replaced CSSLinearTimingFunctionValue by the identifier "linear" and used switch statements on
1987         TimingFunction::type() in more places where we were branching on every type.
1988
1989         Merge https://chromium.googlesource.com/chromium/blink/+/5454f20c71090c35bdd1053e5cc572d5c0bdede7
1990         Merge https://chromium.googlesource.com/chromium/blink/+/104ad42c523d32b67d108c6e59f4f27488fe38a5
1991
1992         * css/CSSComputedStyleDeclaration.cpp:
1993         (WebCore::createTimingFunctionValue):
1994         * css/CSSTimingFunctionValue.cpp:
1995         * css/CSSTimingFunctionValue.h:
1996         * css/CSSToStyleMap.cpp:
1997         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
1998         * css/CSSValue.cpp:
1999         (WebCore::CSSValue::equals):
2000         (WebCore::CSSValue::cssText):
2001         (WebCore::CSSValue::destroy):
2002         * css/CSSValue.h:
2003         (WebCore::CSSValue::isCubicBezierTimingFunctionValue):
2004         * page/animation/AnimationBase.cpp:
2005         (WebCore::AnimationBase::progress):
2006
2007 2013-09-19  Commit Queue  <commit-queue@webkit.org>
2008
2009         Unreviewed, rolling out r156119.
2010         http://trac.webkit.org/changeset/156119
2011         https://bugs.webkit.org/show_bug.cgi?id=121640
2012
2013         broke builds in various ways (Requested by anttik on #webkit).
2014
2015         * accessibility/AccessibilitySpinButton.cpp:
2016         * bindings/scripts/CodeGeneratorObjC.pm:
2017         (GenerateImplementation):
2018         * css/SelectorChecker.cpp:
2019         * dom/ContainerNode.h:
2020         * dom/Element.h:
2021         * dom/PseudoElement.cpp:
2022         (WebCore::PseudoElement::didAttachRenderers):
2023         * editing/SplitTextNodeContainingElementCommand.cpp:
2024         (WebCore::SplitTextNodeContainingElementCommand::doApply):
2025         * editing/TypingCommand.cpp:
2026         * html/ImageDocument.cpp:
2027         * page/PageSerializer.cpp:
2028         * rendering/RenderElement.h:
2029         * rendering/RenderObject.h:
2030         * svg/SVGAnimatedColor.cpp:
2031         (WebCore::adjustForCurrentColor):
2032         * svg/SVGLocatable.cpp:
2033         * svg/graphics/filters/SVGFEImage.cpp:
2034         (WebCore::FEImage::determineAbsolutePaintRect):
2035         (WebCore::FEImage::referencedRenderer):
2036         * svg/graphics/filters/SVGFEImage.h:
2037
2038 2013-09-19  Antti Koivisto  <antti@apple.com>
2039
2040         Add covariant RenderElement* Element::renderer()
2041         https://bugs.webkit.org/show_bug.cgi?id=121638
2042
2043         Reviewed by Andreas Kling.
2044
2045         Also add isRenderElement() test and casting functions.
2046
2047 2013-09-19  Andreas Kling  <akling@apple.com>
2048
2049         Streamline JSMainThreadNullState.
2050         <https://webkit.org/b/121636>
2051
2052         Reviewed by Anders Carlsson.
2053
2054         JSMainThreadNullState is only used by non-JavaScript bindings and
2055         thus won't ever call didLeaveScriptContext() on destruction.
2056         Specialize the class for its use-case instead of sharing code
2057         with JSMainThreadExecState.
2058
2059         Shrinks the WebCore binary by 82848 bytes.
2060
2061 2013-09-19  Bear Travis  <betravis@adobe.com>
2062
2063         CSS_SHAPES not supported on AppleWin port
2064         https://bugs.webkit.org/show_bug.cgi?id=118810
2065
2066         Reviewed by Brent Fulgham.
2067
2068         Enabling fast/shapes on windows.
2069
2070         * WebCore.vcxproj/WebCore.vcxproj: Add missing shape includes.
2071         * WebCore.vcxproj/WebCoreCommon.props: Include shapes source folder.
2072         * WebCore.vcxproj/copyForwardingHeaders.cmd: Copy shapes headers.
2073         * css/CSSPropertyNames.in: Tweak to ensure shapes properties are regenerated.
2074
2075 2013-09-19  Andreas Kling  <akling@apple.com>
2076
2077         Add SVGPropertyInfo.cpp
2078         <https://webkit.org/b/121622>
2079
2080         Reviewed by Anders Carlsson.
2081
2082         Add a cpp file for this class to make it more hackable.
2083
2084         * CMakeLists.txt:
2085         * GNUmakefile.list.am:
2086         * Target.pri:
2087         * WebCore.vcxproj/WebCore.vcxproj:
2088         * WebCore.vcxproj/WebCore.vcxproj.filters:
2089         * WebCore.xcodeproj/project.pbxproj:
2090         * svg/properties/SVGPropertyInfo.cpp: Added.
2091         (WebCore::SVGPropertyInfo::SVGPropertyInfo):
2092         * svg/properties/SVGPropertyInfo.h:
2093
2094 2013-09-19  Eric Carlson  <eric.carlson@apple.com>
2095
2096         MediaStream API: update NavigatorUserMediaError object to match spec
2097         https://bugs.webkit.org/show_bug.cgi?id=121584
2098
2099         Reviewed by Dean Jackson.
2100
2101         No new tests, updated getusermedia.html.
2102
2103         * CMakeLists.txt: Add NavigatorUserMediaError.cpp.
2104         * GNUmakefile.list.am: Ditto.
2105
2106         * Modules/mediastream/NavigatorUserMediaError.cpp: Added.
2107         * Modules/mediastream/NavigatorUserMediaError.h: Derive from DOMError, get rid of "message" attribute.
2108         * Modules/mediastream/NavigatorUserMediaError.idl: Ditto.
2109
2110         * Modules/mediastream/UserMediaRequest.cpp:
2111         (WebCore::UserMediaRequest::create): ASCIILiteral -> AtomicString. Rename constraint parameters.
2112         (WebCore::UserMediaRequest::UserMediaRequest): Rename constraint parameters.
2113         (WebCore::UserMediaRequest::audioConstraints): Return PassRefPtr<> instead of raw ptr.
2114         (WebCore::UserMediaRequest::videoConstraints): Ditto.
2115         (WebCore::UserMediaRequest::ownerDocument): Clean up style.
2116         (WebCore::UserMediaRequest::succeed): 
2117         (WebCore::UserMediaRequest::permissionFailure): Renamed from fail.
2118         (WebCore::UserMediaRequest::constraintFailure):  Renamed from failConstraint.
2119         (WebCore::UserMediaRequest::callSuccessHandler): New.
2120         (WebCore::UserMediaRequest::callErrorHandler): New.
2121         * Modules/mediastream/UserMediaRequest.h:
2122
2123         * WebCore.xcodeproj/project.pbxproj: Add NavigatorUserMediaError.cpp
2124
2125         * dom/DOMError.h: Make constructor protected.
2126
2127         * platform/mediastream/MediaStreamSourcesQueryClient.h: Make constraints available.
2128
2129 2013-09-19  Bem Jones-Bey  <bjonesbe@adobe.com>
2130
2131         Fix handling of top margin on float with shape-outside
2132         https://bugs.webkit.org/show_bug.cgi?id=121614
2133
2134         Reviewed by Alexandru Chiculita.
2135
2136         When a float has shape outside, the top margin should be treated as if
2137         there is no shape there, so inline content should be allowed to flow
2138         into that space. This patch fixes two issues:
2139         
2140         1) If the top margin is the same as the line height, a line should be
2141         able to fit into the margin. Before this patch, that line was being
2142         treated as if it intersected with the shape.
2143         
2144         2) The shape should be positioned (x, y) relative to the box sizing
2145         box of the float. While the x coordinate was being treated properly,
2146         the y coordinate was relative to the top of the margin box. This patch
2147         fixes this behavior.
2148         
2149         This patch also includes a simple test for right and left margins, as
2150         I wrote that test and then discovered the problems listed above.
2151         
2152         This patch also removes an unused override of the
2153         lineOverlapsShapeBounds method.
2154
2155         Tests: csswg/submitted/shapes/shape-outside/shape-outside-floats-margin-000.html
2156                csswg/submitted/shapes/shape-outside/shape-outside-floats-margin-001.html
2157
2158         * rendering/FloatingObjects.cpp:
2159         (WebCore::FloatingObjects::logicalLeftOffset): 
2160         (WebCore::FloatingObjects::logicalRightOffset):
2161         * rendering/LineWidth.cpp:
2162         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
2163         * rendering/shapes/ShapeInfo.h:
2164         * rendering/shapes/ShapeInsideInfo.h:
2165         * rendering/shapes/ShapeOutsideInfo.cpp:
2166         (WebCore::ShapeOutsideInfo::computeSegmentsForContainingBlockLine):
2167         * rendering/shapes/ShapeOutsideInfo.h:
2168
2169 2013-09-19  Antti Koivisto  <antti@apple.com>
2170
2171         Add RenderElement
2172         https://bugs.webkit.org/show_bug.cgi?id=121608
2173
2174         Reviewed by Dave Hyatt.
2175
2176         Add a common base class for all Element renderers. The class hierarchy will now look like this
2177         
2178         RenderObject
2179             RenderText
2180             RenderElement
2181                 RenderLayerModelObject
2182                     ...
2183                 RenderSVGModelObject
2184                     ...
2185                 RenderSVGGradientStop
2186                 
2187         This will allow tighter typing in both render and DOM trees.
2188         
2189         The patch also moves renderer factory function to RenderElement::createFor().
2190
2191 2013-09-19  Alexey Proskuryakov  <ap@apple.com>
2192
2193         REGRESSION (r149928): CanvasStyle::operator= leaks everything
2194         https://bugs.webkit.org/show_bug.cgi?id=121591
2195
2196         Reviewed by Andreas Kling.
2197
2198         * html/canvas/CanvasStyle.cpp: (WebCore::CanvasStyle::operator=): Don't leak.
2199
2200 2013-09-19  Andrei Parvu  <parvu@adobe.com>
2201
2202         [CSS Masking/Background] Position property should be ignored when using repeat: space
2203         https://bugs.webkit.org/show_bug.cgi?id=120623
2204
2205         The background/mask-position should be ignored when using repeat: space,
2206         unless there is not enough space for two copies of the image. In that case,
2207         only one image is placed and background/mask-position determines its position.
2208
2209         Reviewed by Dirk Schulze.
2210
2211         Test: css3/masking/mask-repeat-one-copy.html
2212
2213         * rendering/RenderBoxModelObject.cpp: Ignored position property if space value is positive, set no-repeat otherwise.
2214         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
2215
2216 2013-09-19  Andreas Kling  <akling@apple.com>
2217
2218         CTTE: EllipsisBox::renderer() should return RenderBlock&.
2219         <https://webkit.org/b/121604>
2220
2221         Reviewed by Antti Koivisto.
2222
2223         I missed adding a renderer() overload when fixing up EllipsisBox.
2224         Flushed out one unnecessary type check.
2225
2226 2013-09-19  Andreas Kling  <akling@apple.com>
2227
2228         CTTE: Tighten renderer types for InlineTextBox and SVGInlineTextBox.
2229         <https://webkit.org/b/121605>
2230
2231         Reviewed by Antti Koivisto.
2232
2233         Codify the following:
2234
2235         - InlineTextBox always has a RenderText.
2236         - SVGInlineTextBox always has a RenderSVGInlineText.
2237
2238         Removed InlineTextBox::textRenderer() and make renderer() simply
2239         return a RenderText&/RenderSVGInlineText& instead.
2240
2241         This turns some node() accessors into textNode() and removes a host
2242         of casts and assertions.
2243
2244 2013-09-19  Antti Koivisto  <antti@apple.com>
2245
2246         [CTTE] Hide nonPseudoNode and generatingNode, replace with Element versions
2247         https://bugs.webkit.org/show_bug.cgi?id=121606
2248
2249         Reviewed by Andreas Kling.
2250
2251 2013-09-19  Andreas Kling  <akling@apple.com>
2252
2253         CTTE: Tighten renderer types for InlineFlowBox and SVGInlineFlowBox.
2254         <https://webkit.org/b/121603>
2255
2256         Reviewed by Antti Koivisto.
2257
2258         Codify the following:
2259
2260         - InlineFlowBox always has a RenderBoxModelObject.
2261         - SVGInlineFlowBox always has a RenderSVGInline.
2262
2263         This turns some node() accessors into element(). Neato!
2264
2265 2013-09-19  Gurpreet Kaur  <k.gurpreet@samsung.com>
2266
2267         CSS Unit vmax and vmin in border-width not handled.
2268         https://bugs.webkit.org/show_bug.cgi?id=121421
2269
2270         Reviewed by Darin Adler.
2271
2272         Border properties were not applied incase its values 
2273         were given in vmax/vmin units.
2274
2275         Tests: fast/css/viewport-vmax-border.html
2276                fast/css/viewport-vmin-border.html
2277
2278         * css/CSSPrimitiveValue.cpp:
2279         (WebCore::CSSPrimitiveValue::computeLengthDouble):
2280         * css/CSSPrimitiveValue.h:
2281         (WebCore::CSSPrimitiveValue::isViewportPercentageMax):
2282         (WebCore::CSSPrimitiveValue::isViewportPercentageMin):
2283         * css/DeprecatedStyleBuilder.cpp:
2284         (WebCore::ApplyPropertyComputeLength::applyValue):
2285         Calculating the border values which has been specified in
2286         vmax/vmin units. 1vmax: 1vw or 1vh, whatever is largest.
2287         1vmin: 1vw or 1vh, whatever is smallest. The vh/vw units are 
2288         calcultated as percent of viewport height and viewport width respectively.
2289
2290 2013-09-19  Antti Koivisto  <antti@apple.com>
2291
2292         [CTTE] RenderText is always anonymous or associated with Text node
2293         https://bugs.webkit.org/show_bug.cgi?id=121596
2294
2295         Reviewed by Andreas Kling.
2296
2297         Tighten the node type of RenderText and its subclasses to Text.
2298         Switch to createAnonymous pattern.
2299         Switch a bunch of unnecessary StringImpl* use to Strings.
2300
2301 2013-09-18  Mihnea Ovidenie  <mihnea@adobe.com>
2302
2303         Unreviewed build fix after 156082. Guard SVG code with defines.
2304
2305         * rendering/RenderNamedFlowThread.cpp:
2306         (WebCore::nextNodeInsideContentNode):
2307
2308 2013-09-18  Mihnea Ovidenie  <mihnea@adobe.com>
2309
2310         [CSSRegions] Failed to retrieve named flow ranges for content with inline svg
2311         https://bugs.webkit.org/show_bug.cgi?id=121489
2312
2313         Reviewed by David Hyatt.
2314
2315         The inline SVG element behaves like a replaced element in HTML context. When computing the ranges
2316         that are displayed inside a region for a named flow that contains an inline SVG element, we have
2317         to treat the SVG as a replaced and run the checks only for the SVG root element, skipping the
2318         other SVG elements inside.
2319
2320         Test: fast/regions/get-region-flow-ranges-inline-svg.html
2321
2322         * rendering/RenderNamedFlowThread.cpp:
2323         (WebCore::nextNodeInsideContentNode): Add function to retrieve the next node in traversal
2324         under the contentNode subtree that should be used for getRanges inspection.
2325         (WebCore::RenderNamedFlowThread::getRanges): Replace NodeTravesal::next with nextNodeInsideContentNode.
2326
2327 2013-09-18  Bem Jones-Bey  <bjonesbe@adobe.com>
2328
2329         REGRESSION (r155854 - r155967) block with margin-left adjacent to floated block causes text of subsequent blocks to overlap the floated block.
2330         https://bugs.webkit.org/show_bug.cgi?id=121532
2331
2332         Reviewed by Andreas Kling.
2333
2334         When refactoring the code, I ended up adding the margin in instead of
2335         subtracting it in the case of an intruding float. This patch fixes
2336         that so that the margin is properly handled.
2337
2338         Test: fast/block/float/intruding-float-sibling-with-margin.html
2339
2340         * rendering/RenderBlock.cpp:
2341         (WebCore::RenderBlock::addIntrudingFloats):
2342
2343 2013-09-18  Ryosuke Niwa  <rniwa@webkit.org>
2344
2345         Merge HTMLBodyElement::didNotifySubtreeInsertions into HTMLBodyElement::insertedInto
2346         https://bugs.webkit.org/show_bug.cgi?id=121576
2347
2348         Reviewed by Andreas Kling.
2349
2350         Merge https://chromium.googlesource.com/chromium/blink/+/2a9cac908f4eceadfcf9d21bdf5b3e598075aa1f
2351
2352         The logic in didNotifySubtreeInsertions to set the marginwidth and marginheight attributes
2353         on the <body> of elements inside <iframe> and <frame> doesn't need to run after inserting
2354         all the children of the frame. In fact this means that when you have those attributes
2355         and then the script in the iframe touches offsetLeft or any layout dependent property
2356         we'll layout with the wrong values and then have to do another layout after these margin
2357         attributes are set.
2358
2359         I also remove the scheduleRelayout() call that was inside didNotifySubtreeInsertions. This
2360         call doesn't make any sense, inserting a <body> will always trigger a style recalc and
2361         a subsequent layout. The code is 9 years old: https://trac.webkit.org/changeset/8122
2362         and all tests run fine without it.
2363
2364         * html/HTMLBodyElement.cpp:
2365         (WebCore::HTMLBodyElement::insertedInto):
2366         * html/HTMLBodyElement.h:
2367         * html/HTMLFrameElementBase.h:
2368         (WebCore::isHTMLFrameElementBase):
2369         (WebCore::toHTMLFrameElementBase):
2370
2371 2013-09-18  Jer Noble  <jer.noble@apple.com>
2372
2373         [MSE] Throw exception when setting timestampOffset while 'updating' state is set.
2374         https://bugs.webkit.org/show_bug.cgi?id=121561
2375
2376         Reviewed by Eric Carlson.
2377
2378         Tests: Updated http/tests/media/media-source/mediasource-append-buffer.html.
2379
2380         Merge https://chromium.googlesource.com/chromium/blink/+/25285998be3d0edcd951d12d445a7375e50e512c
2381         by Changbin Shao.
2382
2383         The Media Source Extensions spec requires that an exception be thrown if the 'updating' attribute
2384         equals true while setting the timestampOffset of a SourceBuffer. 
2385
2386         * Modules/mediasource/SourceBuffer.cpp:
2387         (WebCore::SourceBuffer::setTimestampOffset):
2388
2389 2013-09-18  Anders Carlsson  <andersca@apple.com>
2390
2391         RefPtrHashMap should work with move only types
2392         https://bugs.webkit.org/show_bug.cgi?id=121564
2393
2394         Reviewed by Andreas Kling.
2395
2396         * bridge/IdentifierRep.cpp:
2397         (WebCore::IdentifierRep::get):
2398         * page/PageGroup.cpp:
2399         (WebCore::PageGroup::transientLocalStorage):
2400
2401 2013-09-18  Enrica Casucci  <enrica@apple.com>
2402
2403         Upstream changes to WebHTMLConverter to support HTML
2404         to NSAttributedString conversion on both iOS and OS X.
2405
2406         Reviewed by Benjamin Poulain.
2407
2408         This is a new submission of r156001 with the fix for the
2409         failing TestWebKitAPI test. The additional change has been
2410         reviewed by Tim Horton.
2411         
2412         * platform/mac/HTMLConverter.h:
2413         * platform/mac/HTMLConverter.mm:
2414         (WebDefaultFont):
2415         (_fontForNameAndSize):
2416         (+[WebHTMLConverter defaultParagraphStyle]):
2417         (-[WebHTMLConverter _computedStyleForElement:]):
2418         (-[WebHTMLConverter _specifiedStyleForElement:]):
2419         (-[WebHTMLConverter _computedStringForNode:property:]):
2420         (-[WebHTMLConverter _stringForNode:property:]):
2421         (-[WebHTMLConverter _getComputedFloat:forNode:property:]):
2422         (-[WebHTMLConverter _getFloat:forNode:property:]):
2423         (_NSFirstPathForDirectoriesInDomains):
2424         (_NSSystemLibraryPath):
2425         (-[WebHTMLConverter _webKitBundle]):
2426         (_colorForRGBColor):
2427         (_shadowForShadowStyle):
2428         (-[WebHTMLConverter _elementIsBlockLevel:]):
2429         (-[WebHTMLConverter _elementHasOwnBackgroundColor:]):
2430         (-[WebHTMLConverter _computedColorForNode:property:]):
2431         (-[WebHTMLConverter _colorForNode:property:]):
2432         (-[WebHTMLConverter _computedAttributesForElement:]):
2433         (-[WebHTMLConverter _attributesForElement:]):
2434         (-[WebHTMLConverter _newParagraphForElement:tag:allowEmpty:suppressTrailingSpace:]):
2435         (-[WebHTMLConverter _newLineForElement:]):
2436         (-[WebHTMLConverter _newTabForElement:]):
2437         (-[WebHTMLConverter _WebMessageDocumentClass]):
2438         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
2439         (-[WebHTMLConverter _addQuoteForElement:opening:level:]):
2440         (-[WebHTMLConverter _addValue:forElement:]):
2441         (-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
2442         (_dateForString):
2443         (_colCompare):
2444         (-[WebHTMLConverter _processMetaElementWithName:content:]):
2445         (-[WebHTMLConverter _processHeadElement:]):
2446         (-[WebHTMLConverter _enterElement:tag:display:embedded:]):
2447         (-[WebHTMLConverter _addTableForElement:]):
2448         (-[WebHTMLConverter _addTableCellForElement:]):
2449         (-[WebHTMLConverter _processElement:tag:display:depth:]):
2450         (-[WebHTMLConverter _addMarkersToList:range:]):
2451         (-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
2452         (-[WebHTMLConverter _processText:]):
2453         (-[WebHTMLConverter _traverseNode:depth:embedded:]):
2454         (-[WebHTMLConverter _traverseFooterNode:depth:]):
2455         (-[WebHTMLConverter _loadFromDOMRange]):
2456         (-[WebHTMLConverter dealloc]):
2457         (-[WebHTMLConverter init]):
2458         (-[WebHTMLConverter initWithDOMRange:]):
2459         (-[WebHTMLConverter attributedString]):
2460         (+[WebHTMLConverter editingAttributedStringFromRange:]):
2461
2462 2013-09-18  Antti Koivisto  <antti@apple.com>
2463
2464         Rename RenderBR to RenderLineBreak
2465         https://bugs.webkit.org/show_bug.cgi?id=121560
2466
2467         Reviewed by Sam Weinig.
2468
2469         It now represents both hard (br) and soft (wbr) line breaks.
2470
2471 2013-09-18  Robert Hogan  <robert@webkit.org>
2472
2473         Quirksmode: Break Tag Extra Space Bug
2474         https://bugs.webkit.org/show_bug.cgi?id=11943
2475
2476         Reviewed by David Hyatt.
2477
2478         Collapse away all space between text and a hard line-break when in a right-aligned
2479         container so that the trailing space doesn't push the text away from the container edge.
2480
2481         Test: fast/text/whitespace/trailing-space-before-br-in-right-aligned-text.html
2482
2483         * rendering/RenderBlockLineLayout.cpp:
2484         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
2485
2486 2013-09-18  Jer Noble  <jer.noble@apple.com>
2487
2488         Unreviewed build fix for Qt (and other) ports after 156049.
2489
2490         Wrap implementation of PublicURLManager in ENABLE(BLOB) check.
2491
2492         * html/PublicURLManager.cpp:
2493
2494 2013-09-18  Jer Noble  <jer.noble@apple.com>
2495
2496         Merge blink MediaSource changes since fork.
2497         https://bugs.webkit.org/show_bug.cgi?id=118752
2498
2499         Rubber-stamped by Eric Carlson.
2500
2501         Tests: http/tests/media/media-source/mediasource-addsourcebuffer.html
2502                http/tests/media/media-source/mediasource-append-buffer.html
2503                http/tests/media/media-source/mediasource-buffered.html
2504                http/tests/media/media-source/mediasource-closed.html
2505                http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate.html
2506                http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate.html
2507                http/tests/media/media-source/mediasource-config-change-mp4-av-framesize.html
2508                http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate.html
2509                http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate.html
2510                http/tests/media/media-source/mediasource-config-change-mp4-v-framerate.html
2511                http/tests/media/media-source/mediasource-config-change-mp4-v-framesize.html
2512                http/tests/media/media-source/mediasource-config-change-webm-a-bitrate.html
2513                http/tests/media/media-source/mediasource-config-change-webm-av-audio-bitrate.html
2514                http/tests/media/media-source/mediasource-config-change-webm-av-framesize.html
2515                http/tests/media/media-source/mediasource-config-change-webm-av-video-bitrate.html
2516                http/tests/media/media-source/mediasource-config-change-webm-v-bitrate.html
2517                http/tests/media/media-source/mediasource-config-change-webm-v-framerate.html
2518                http/tests/media/media-source/mediasource-config-change-webm-v-framesize.html
2519                http/tests/media/media-source/mediasource-is-type-supported.html
2520                http/tests/media/media-source/mediasource-multiple-attach.html
2521                http/tests/media/media-source/mediasource-play.html
2522                http/tests/media/media-source/mediasource-sourcebufferlist.html
2523
2524         Add files to project. Fix compile errors exposed by enabling.
2525
2526         * WebCore.xcodeproj/project.pbxproj:
2527         * Modules/mediasource/MediaSourceRegistry.cpp:
2528         (WebCore::MediaSourceRegistry::lookupMediaSource):
2529         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2530         (WebCore::MediaPlayerPrivateAVFoundation::load):
2531         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2532         (WebCore::MediaPlayerPrivateQTKit::load):
2533         * platform/mac/MIMETypeRegistryMac.mm:
2534         (WebCore::MIMETypeRegistry::isSupportedMediaSourceMIMEType):
2535         * CMakeLists.txt:
2536         * DerivedSources.make:
2537         * DerivedSources.pri:
2538         * GNUmakefile.list.am:
2539
2540         Merge
2541         https://chromium.googlesource.com/chromium/blink/+/c38e2955db98a300a535b692869fea0e41501497
2542         https://chromium.googlesource.com/chromium/blink/+/8568015e9bee1de7fccee28163f9e4a4b51f9baf
2543         https://chromium.googlesource.com/chromium/blink/+/14417e8fa6294f4e7dbc1e0fac549398522b2f97
2544         https://chromium.googlesource.com/chromium/blink/+/f43a5496f233102f8861a067a9cf8053c010d401
2545         https://chromium.googlesource.com/chromium/blink/+/57771439806f7c6e6a272efb1ea72900f5f6a015
2546         https://chromium.googlesource.com/chromium/blink/+/8c77a790a9d225194db0a8832399d0f9e1fa54ec
2547         https://chromium.googlesource.com/chromium/blink/+/d33ae3fa7a8592e946503ed17f862a27c6d9dde1
2548         https://chromium.googlesource.com/chromium/blink/+/1caaa9c51f06e1b9341d58c994f77fd59fcd236d
2549         https://chromium.googlesource.com/chromium/blink/+/e95720393b0ebe67f19de39bb77cdf2926165512
2550         https://chromium.googlesource.com/chromium/blink/+/bad2c1b4b70faec731b2ad3cc8a4ccf28de6cc38
2551         https://chromium.googlesource.com/chromium/blink/+/a7873430c3d5c9373336c6f3993db3cb4228e9cd
2552         https://chromium.googlesource.com/chromium/blink/+/508966d5e32360b3cec058f9fbae0014542fbc52
2553         https://chromium.googlesource.com/chromium/blink/+/371dfe72f61ce6f73e6c242324da73c415d38be3
2554
2555 2013-09-18  Andreas Kling  <akling@apple.com>
2556
2557         CTTE: RenderBR always has an HTMLElement.
2558         <https://webkit.org/b/121557>
2559
2560         Reviewed by Antti Koivisto.
2561
2562         This renderer is never anonymous and always has a corresponding HTMLElement.
2563         Tighten this up by making the constructor take a HTMLElement& and remove
2564         RenderBR::createAnonymous().
2565
2566 2013-09-18  Andreas Kling  <akling@apple.com>
2567
2568         Avoid using RenderBR internally in RenderMenuList.
2569         <https://webkit.org/b/121550>
2570
2571         Reviewed by Antti Koivisto.
2572
2573         RenderMenuLists with an empty caption text were previously using a
2574         RenderBR as placeholder.
2575
2576         Switch to using a \n RenderText instead so we can tighten RenderBR.
2577
2578         This will change DRT dumps but actual metrics should not change.
2579
2580 2013-09-18  Antti Koivisto  <antti@apple.com>
2581
2582         Change one accidental "object->isText() || object->isLineBreak()" from previous patch back to "object->isTextOrLineBreak()"
2583         
2584         Not reviewed.
2585
2586         * rendering/InlineIterator.h:
2587         (WebCore::isIteratorTarget):
2588
2589 2013-09-18  Antti Koivisto  <antti@apple.com>
2590
2591         Remove RenderWordBreak
2592         https://bugs.webkit.org/show_bug.cgi?id=121549
2593
2594         Reviewed by Andreas Kling.
2595
2596         Remove RenderWordBreak and make it a bit in RenderBR instead.
2597         
2598         * CMakeLists.txt:
2599         * GNUmakefile.list.am:
2600         * Target.pri:
2601         * WebCore.vcxproj/WebCore.vcxproj:
2602         * WebCore.xcodeproj/project.pbxproj:
2603         * dom/Document.cpp:
2604         (WebCore::Document::updateHoverActiveState):
2605         * dom/Position.cpp:
2606         (WebCore::hasInlineBoxWrapper):
2607         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
2608         * editing/Editor.cpp:
2609         (WebCore::findFirstMarkable):
2610         * editing/TextIterator.cpp:
2611         (WebCore::ignoresContainerClip):
2612         * html/HTMLElement.cpp:
2613         (WebCore::HTMLElement::createRenderer):
2614         * rendering/InlineBox.cpp:
2615         (WebCore::InlineBox::logicalHeight):
2616         (WebCore::InlineBox::baselinePosition):
2617         (WebCore::InlineBox::lineHeight):
2618         (WebCore::InlineBox::deleteLine):
2619         (WebCore::InlineBox::extractLine):
2620         (WebCore::InlineBox::attachLine):
2621         (WebCore::InlineBox::nodeAtPoint):
2622         * rendering/InlineBox.h:
2623         (WebCore::InlineBox::isLineBreak):
2624         * rendering/InlineFlowBox.cpp:
2625         (WebCore::InlineFlowBox::addToLine):
2626         (WebCore::InlineFlowBox::computeOverflow):
2627         * rendering/InlineIterator.h:
2628         (WebCore::InlineIterator::atTextParagraphSeparator):
2629         (WebCore::isIteratorTarget):
2630         * rendering/RenderBR.cpp:
2631         (WebCore::RenderBR::RenderBR):
2632         * rendering/RenderBR.h:
2633         (WebCore::toRenderBR):
2634     
2635             RenderBR now represents both hard and soft line breaks. It will be renamed to RenderLineBreak later.
2636
2637         * rendering/RenderBlock.cpp:
2638         (WebCore::InlineMinMaxIterator::next):
2639         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
2640         * rendering/RenderBlockLineLayout.cpp:
2641         (WebCore::createInlineBoxForRenderer):
2642         (WebCore::dirtyLineBoxesForRenderer):
2643         (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
2644         (WebCore::RenderBlockFlow::layoutInlineChildren):
2645         (WebCore::textBeginsWithBreakablePosition):
2646         (WebCore::canBreakAtThisPosition):
2647         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
2648         * rendering/RenderInline.cpp:
2649         (WebCore::RenderInline::generateCulledLineBoxRects):
2650         (WebCore::RenderInline::culledInlineFirstLineBox):
2651         (WebCore::RenderInline::culledInlineLastLineBox):
2652         (WebCore::RenderInline::dirtyLineBoxes):
2653         * rendering/RenderLineBoxList.cpp:
2654         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
2655         * rendering/RenderObject.h:
2656         (WebCore::RenderObject::isLineBreak):
2657         
2658             This bit covers both BR and WBR.
2659
2660         (WebCore::RenderObject::isBR):
2661         (WebCore::RenderObject::isLineBreakOpportunity):
2662         
2663             Rename isWordBreak to isLineBreakOpportunity. This matches HTML5 spec terminology.
2664
2665         (WebCore::RenderObject::isTextOrLineBreak):
2666         
2667             Since WBR used to be Text we want this check to still cover it too. Renamed from isTextOrBR.
2668
2669         (WebCore::RenderObject::setIsLineBreak):
2670         (WebCore::RenderObject::isWBR):
2671         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
2672         * rendering/RenderObjectChildList.cpp:
2673         (WebCore::RenderObjectChildList::removeChildNode):
2674         * rendering/RenderText.cpp:
2675         * rendering/RenderText.h:
2676         * rendering/RenderTreeAsText.cpp:
2677         (WebCore::RenderTreeAsText::writeRenderObject):
2678         * rendering/RenderWordBreak.cpp: Removed.
2679         * rendering/RenderWordBreak.h: Removed.
2680         * rendering/RenderingAllInOne.cpp:
2681         * rendering/RootInlineBox.cpp:
2682         (WebCore::RootInlineBox::ascentAndDescentForBox):
2683         (WebCore::RootInlineBox::verticalPositionForBox):
2684         (WebCore::RootInlineBox::includeLeadingForBox):
2685         (WebCore::RootInlineBox::includeFontForBox):
2686         (WebCore::RootInlineBox::includeGlyphsForBox):
2687         (WebCore::RootInlineBox::includeMarginForBox):
2688
2689 2013-09-18  Csaba Osztrogon√°c  <ossy@webkit.org>
2690
2691         ASSERT_NOT_REACHED is touched in WebCore::CSSPrimitiveValue::computeLengthDouble
2692         https://bugs.webkit.org/show_bug.cgi?id=120469
2693
2694         Tests: fast/css/outline-offset-parsing-assert.html
2695                fast/css/outline-offset-parsing.html
2696
2697         Reviewed by Dirk Schulze.
2698
2699         * css/CSSParser.cpp:
2700         (WebCore::CSSParser::parseValue): Fixed a typo after r66615, outline-offset can't be percentage.
2701
2702 2013-09-18  Gurpreet Kaur  <k.gurpreet@samsung.com>
2703
2704         [MathML] Implement the subscriptshift and superscriptshift attributes
2705         https://bugs.webkit.org/show_bug.cgi?id=120069
2706
2707         Reviewed by Darin Adler.
2708
2709         Added support for subscriptshift and superscriptshift attributes. The
2710         subscriptshift attribute is for msup element and superscriptshift for
2711         msup. msubsup can have both subscriptshift and superscriptshift. The
2712         subscriptshift attribute specifies the minimum amount to shift the
2713         baseline of subscript down. The superscriptshift attribute specifies
2714         the minimum amount to shift the baseline of superscript up.
2715
2716         Tests: mathml/presentation/msub-subscriptshift.html
2717                mathml/presentation/msubsup-subscriptshift.html
2718                mathml/presentation/msubsup-superscriptshift.html
2719                mathml/presentation/msup-superscriptshift.html
2720                mathml/presentation/multiscript-subscriptshift.html
2721                mathml/presentation/multiscript-superscriptshift.html
2722
2723         * mathml/mathattrs.in:
2724         * rendering/mathml/RenderMathMLScripts.cpp:
2725         (WebCore::RenderMathMLScripts::layout):
2726         For aligning the subscript and superscript padding is added to the base.
2727         So subscriptshift and superscriptshift attributes is set as padding bottom
2728         and padding top of base respectively.
2729
2730 2013-09-18  Mario Sanchez Prada  <mario.prada@samsung.com>
2731
2732         [ATK] Expose aria-haspopup and aria-sort without the 'aria-' prefix
2733         https://bugs.webkit.org/show_bug.cgi?id=121495
2734
2735         Reviewed by Chris Fleizach.
2736
2737         Removed the 'aria-' prefix from the exposed ATK object attributes
2738         for WAI-ARIA attributes 'aria-haspopup' and 'aria-sort'.
2739
2740         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2741         (webkitAccessibleGetAttributes): Removed the prefix.
2742
2743 2013-09-17  Antti Koivisto  <antti@apple.com>
2744
2745         Rename InlineBox::isText()
2746         <https://webkit.org/b/121525>
2747
2748         Reviewed by Andreas Kling.
2749
2750         The flag sounds like RenderObject::isText() yet it can be set for some inline boxes generated
2751         for non-text renderers too (br, list markers). This is pretty confusing.
2752         
2753         Rename to InlineBox::behavesLikeText().
2754
2755         * rendering/InlineBox.cpp:
2756         (WebCore::InlineBox::logicalHeight):
2757         (WebCore::InlineBox::baselinePosition):
2758         (WebCore::InlineBox::lineHeight):
2759         * rendering/InlineBox.h:
2760         (WebCore::InlineBox::behavesLikeText):
2761         (WebCore::InlineBox::setBehavesLikeText):
2762         (WebCore::InlineBox::InlineBoxBitfields::InlineBoxBitfields):
2763         * rendering/InlineFlowBox.cpp:
2764         (WebCore::InlineFlowBox::addToLine):
2765         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
2766         * rendering/InlineTextBox.cpp:
2767         (WebCore::InlineTextBox::baselinePosition):
2768         (WebCore::InlineTextBox::lineHeight):
2769         * rendering/RenderBlockLineLayout.cpp:
2770         (WebCore::createInlineBoxForRenderer):
2771         (WebCore::setLogicalWidthForTextRun):
2772         * rendering/RenderListMarker.cpp:
2773         (WebCore::RenderListMarker::createInlineBox):
2774         * rendering/RenderText.cpp:
2775         (WebCore::RenderText::createInlineTextBox):
2776         * rendering/RootInlineBox.cpp:
2777         (WebCore::RootInlineBox::includeLeadingForBox):
2778         (WebCore::RootInlineBox::includeFontForBox):
2779         (WebCore::RootInlineBox::includeGlyphsForBox):
2780         (WebCore::RootInlineBox::includeMarginForBox):
2781         
2782             Switch tests from isText() to isTextOrBR(). This matches the behavior before r155957.
2783             I don't know if there is a case where this actually makes any difference in behavior.
2784
2785 2013-09-17  Sam Weinig  <sam@webkit.org>
2786
2787         Shrink SVGPathStringBuilder
2788         https://bugs.webkit.org/show_bug.cgi?id=121536
2789
2790         Reviewed by Anders Carlsson.
2791
2792         - Use StringBuilder everywhere to avoid unnecessary temporary
2793           String objects and code size bloat.
2794         - Also did a drive by FINAL / OVERRIDE pass.
2795
2796         As an example of the win, the function SVGPathStringBuilder::arcTo
2797         went from being 6120 bytes down to just 378 bytes.
2798
2799         * svg/SVGPathStringBuilder.cpp:
2800         (WebCore::SVGPathStringBuilder::SVGPathStringBuilder):
2801         (WebCore::SVGPathStringBuilder::~SVGPathStringBuilder):
2802         (WebCore::SVGPathStringBuilder::cleanup):
2803         (WebCore::SVGPathStringBuilder::incrementPathSegmentCount):
2804         (WebCore::SVGPathStringBuilder::continueConsuming):
2805         It wasn't helpful for these to be inlined, so move them to
2806         the implementation file.
2807
2808         (WebCore::appendFlag):
2809         (WebCore::appendNumber):
2810         (WebCore::appendPoint):
2811         Added helpers.
2812
2813         (WebCore::SVGPathStringBuilder::moveTo):
2814         (WebCore::SVGPathStringBuilder::lineTo):
2815         (WebCore::SVGPathStringBuilder::lineToHorizontal):
2816         (WebCore::SVGPathStringBuilder::lineToVertical):
2817         (WebCore::SVGPathStringBuilder::curveToCubic):
2818         (WebCore::SVGPathStringBuilder::curveToCubicSmooth):
2819         (WebCore::SVGPathStringBuilder::curveToQuadratic):
2820         (WebCore::SVGPathStringBuilder::curveToQuadraticSmooth):
2821         (WebCore::SVGPathStringBuilder::arcTo):
2822         (WebCore::SVGPathStringBuilder::closePath):
2823         * svg/SVGPathStringBuilder.h:
2824         Stopped using operator+ and removed duplicate string building logic in each build
2825         type (e.g. both sides of the PathCoordinateMode condition were doing almost identical
2826         work).
2827
2828 2013-09-17  Sam Weinig  <sam@webkit.org>
2829
2830         CTTE: Convert some straggling Element subclasses constructors to take a Document&
2831         https://bugs.webkit.org/show_bug.cgi?id=121533
2832
2833         Reviewed by Anders Carlsson.
2834
2835         * html/HTMLMeterElement.cpp:
2836         (WebCore::HTMLMeterElement::didAddUserAgentShadowRoot):
2837         * html/HTMLProgressElement.cpp:
2838         (WebCore::HTMLProgressElement::didAddUserAgentShadowRoot):
2839         * html/HTMLTextAreaElement.cpp:
2840         (WebCore::HTMLTextAreaElement::didAddUserAgentShadowRoot):
2841         * html/SearchInputType.cpp:
2842         (WebCore::SearchInputType::createShadowSubtree):
2843         * html/TextFieldInputType.cpp:
2844         (WebCore::TextFieldInputType::createShadowSubtree):
2845         * html/shadow/MeterShadowElement.cpp:
2846         (WebCore::MeterShadowElement::MeterShadowElement):
2847         (WebCore::MeterInnerElement::MeterInnerElement):
2848         * html/shadow/MeterShadowElement.h:
2849         (WebCore::MeterInnerElement::create):
2850         (WebCore::MeterBarElement::create):
2851         (WebCore::MeterValueElement::create):
2852         * html/shadow/ProgressShadowElement.cpp:
2853         (WebCore::ProgressShadowElement::ProgressShadowElement):
2854         (WebCore::ProgressInnerElement::ProgressInnerElement):
2855         (WebCore::ProgressBarElement::ProgressBarElement):
2856         (WebCore::ProgressValueElement::ProgressValueElement):
2857         * html/shadow/ProgressShadowElement.h:
2858         (WebCore::ProgressInnerElement::create):
2859         (WebCore::ProgressBarElement::create):
2860         (WebCore::ProgressValueElement::create):
2861         * html/shadow/SpinButtonElement.cpp:
2862         (WebCore::SpinButtonElement::SpinButtonElement):
2863         (WebCore::SpinButtonElement::create):
2864         * html/shadow/SpinButtonElement.h:
2865         * html/shadow/TextControlInnerElements.cpp:
2866         (WebCore::TextControlInnerContainer::TextControlInnerContainer):
2867         (WebCore::TextControlInnerContainer::create):
2868         (WebCore::TextControlInnerElement::TextControlInnerElement):
2869         (WebCore::TextControlInnerElement::create):
2870         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
2871         (WebCore::TextControlInnerTextElement::create):
2872         (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
2873         (WebCore::SearchFieldResultsButtonElement::create):
2874         (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
2875         (WebCore::SearchFieldCancelButtonElement::create):
2876         (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
2877         (WebCore::InputFieldSpeechButtonElement::create):
2878         * html/shadow/TextControlInnerElements.h:
2879
2880 2013-09-17  Zoltan Horvath  <zoltan@webkit.org>
2881
2882         [CSS Shapes] Use the float height to determine position in shape-inside
2883         https://bugs.webkit.org/show_bug.cgi?id=102846
2884
2885         Reviewed by Darin Adler.
2886
2887         Float positioning inside shape-inside has been working only for simple cases when the float boundaries didn't overlap with the shape.
2888         This patch fixes the behavior for left floats and shapes with inline content. I want to add this work step by step, therefore the next
2889         step would be to add support for block content with inline content (e.g. paragraphs) then cover cases with right floats.
2890
2891         Tests: fast/shapes/shape-inside/shape-inside-left-float-in-lower-left-triangle-inline-content.html
2892                fast/shapes/shape-inside/shape-inside-left-float-in-lower-right-triangle-inline-content.html
2893                fast/shapes/shape-inside/shape-inside-left-float-in-upper-left-triangle-inline-content.html
2894                fast/shapes/shape-inside/shape-inside-left-float-in-upper-right-triangle-inline-content.html
2895
2896         * rendering/LineWidth.cpp:
2897         (WebCore::LineWidth::LineWidth): Use the new updateCurrentShapeSegment member function.
2898         (WebCore::LineWidth::updateCurrentShapeSegment): We need a function to update the current line segment's reference, since we use it multiple places.
2899         * rendering/LineWidth.h: Add new member function.
2900         * rendering/RenderBlock.cpp:
2901         (WebCore::RenderBlock::computeLogicalLocationForFloat): Fix positioning of a floating element.
2902         * rendering/RenderBlockLineLayout.cpp:
2903         (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLine): Use updateSegmentsForLine instead of computeSegmentsForLine.
2904         (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLineInFlowThread): Use updateSegmentsForLine instead of computeSegmentsForLine.
2905         (WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded):
2906         (WebCore::updateSegmentsForShapes): After our float is positioned, we need to adjust the current lineTop and update the logical height to be able to wrap around the float.
2907         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak): If we have a float in our line we might need to adjust our lineTop and logicalHeight.
2908         * rendering/shapes/ShapeInfo.cpp:
2909         (WebCore::::computeSegmentsForLine): Add new const function to compute the segments. I'd like make this function static later if possible.
2910         (WebCore::::updateSegmentsForLine): Old computeSegmentsForLine, change name to indicate that it is actually changing things.
2911         * rendering/shapes/ShapeInfo.h: Update function names, add declaration.
2912         (WebCore::ShapeInfo::clearSegments):
2913         (WebCore::ShapeInfo::logicalLineBottom):
2914         (WebCore::ShapeInfo::lineOverlapsShapeBounds):
2915         * rendering/shapes/ShapeInsideInfo.cpp:
2916         (WebCore::ShapeInsideInfo::computeFirstFitPositionForFloat): Compute the first fit position below the current line position inside shapes. I called this function
2917         this way, because currently we use it only for shapes.
2918         * rendering/shapes/ShapeInsideInfo.h: Update function names.
2919         * rendering/shapes/ShapeOutsideInfo.cpp: Update function names.
2920         (WebCore::ShapeOutsideInfo::computeSegmentsForContainingBlockLine):
2921         (WebCore::ShapeOutsideInfo::updateSegmentsForLine):
2922         * rendering/shapes/ShapeOutsideInfo.h: Update function names.
2923
2924 2013-09-17  Sam Weinig  <sam@webkit.org>
2925
2926         Replace use of OwnArrayPtr<Foo> with std::unique_ptr<Foo[]> in WebCore
2927         https://bugs.webkit.org/show_bug.cgi?id=121527
2928
2929         Reviewed by Anders Carlsson.
2930
2931         * Modules/webaudio/AudioBufferSourceNode.cpp:
2932         (WebCore::AudioBufferSourceNode::setBuffer):
2933         * Modules/webaudio/AudioBufferSourceNode.h:
2934         * Modules/webaudio/OscillatorNode.h:
2935         * css/CSSParser.cpp:
2936         (WebCore::CSSParser::setupParser):
2937         (WebCore::CSSParser::currentCharacter16):
2938         * css/CSSParser.h:
2939         * html/HTMLAreaElement.h:
2940         * html/HTMLFrameSetElement.h:
2941         * html/canvas/WebGLRenderingContext.cpp:
2942         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
2943         (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
2944         (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache):
2945         * html/canvas/WebGLRenderingContext.h:
2946         * platform/ScrollAnimatorNone.cpp:
2947         * platform/audio/DynamicsCompressor.cpp:
2948         (WebCore::DynamicsCompressor::setNumberOfChannels):
2949         * platform/audio/DynamicsCompressor.h:
2950         * platform/audio/FFTFrame.h:
2951         * platform/audio/gstreamer/FFTFrameGStreamer.cpp:
2952         (WebCore::FFTFrame::FFTFrame):
2953         * platform/efl/ScrollbarEfl.cpp:
2954         (ScrollbarEfl::updateThumbPositionAndProportion):
2955         * platform/graphics/ANGLEWebKitBridge.cpp:
2956         (WebCore::ANGLEWebKitBridge::compileShaderSource):
2957         * platform/graphics/GraphicsContext3D.cpp:
2958         (WebCore::GraphicsContext3D::texImage2DResourceSafe):
2959         * platform/graphics/GraphicsContext3D.h:
2960         * platform/graphics/GraphicsContext3DPrivate.cpp:
2961         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
2962         * platform/graphics/blackberry/LayerTexture.cpp:
2963         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
2964         (WebCore::getDirtyRects):
2965         * platform/graphics/cg/GraphicsContext3DCG.cpp:
2966         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
2967         * platform/graphics/cg/GraphicsContextCG.cpp:
2968         * platform/graphics/cg/ImageBufferCG.cpp:
2969         * platform/graphics/gpu/Texture.cpp:
2970         (WebCore::Texture::updateSubRect):
2971         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
2972         (WebCore::HarfBuzzShaper::HarfBuzzShaper):
2973         (WebCore::HarfBuzzShaper::setNormalizedBuffer):
2974         * platform/graphics/harfbuzz/HarfBuzzShaper.h:
2975         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2976         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
2977         (WebCore::GraphicsContext3D::compileShader):
2978         (WebCore::GraphicsContext3D::getActiveAttrib):
2979         (WebCore::GraphicsContext3D::getActiveUniform):
2980         (WebCore::GraphicsContext3D::getProgramInfoLog):
2981         (WebCore::GraphicsContext3D::getShaderInfoLog):
2982         * platform/graphics/opentype/OpenTypeSanitizer.cpp:
2983         * platform/graphics/texmap/TextureMapperGL.cpp:
2984         * platform/graphics/wince/SharedBitmap.cpp:
2985         (WebCore::SharedBitmap::SharedBitmap):
2986         (WebCore::SharedBitmap::to16bit):
2987         * platform/graphics/wince/SharedBitmap.h:
2988         * platform/image-decoders/blackberry/JPEGImageDecoder.cpp:
2989         (WebCore::ImageReader::decode):
2990         * platform/image-decoders/png/PNGImageDecoder.cpp:
2991         (WebCore::PNGImageReader::createRowBuffer):
2992         * platform/win/ContextMenuWin.cpp:
2993         (WebCore::ContextMenu::getContextMenuItems):
2994         * platform/win/LoggingWin.cpp:
2995         (WebCore::logLevelString):
2996         * plugins/PluginPackage.cpp:
2997         * plugins/blackberry/PluginViewBlackBerry.cpp:
2998         (WebCore::PluginView::handleTouchEvent):
2999         * plugins/win/PluginPackageWin.cpp:
3000         (WebCore::PluginPackage::fetchInfo):
3001
3002 2013-09-17  Commit Queue  <commit-queue@webkit.org>
3003
3004         Unreviewed, rolling out r156001.
3005         http://trac.webkit.org/changeset/156001
3006         https://bugs.webkit.org/show_bug.cgi?id=121529
3007
3008         Broke API tests (Requested by ap on #webkit).
3009
3010         * platform/mac/HTMLConverter.h:
3011         * platform/mac/HTMLConverter.mm:
3012         (WebDefaultFont):
3013         (_fontForNameAndSize):
3014         (+[WebHTMLConverter defaultParagraphStyle]):
3015         (-[WebHTMLConverter _computedStyleForElement:]):
3016         (-[WebHTMLConverter _specifiedStyleForElement:]):
3017         (-[WebHTMLConverter _computedStringForNode:property:]):
3018         (-[WebHTMLConverter _stringForNode:property:]):
3019         (-[WebHTMLConverter _getComputedFloat:forNode:property:]):
3020         (-[WebHTMLConverter _getFloat:forNode:property:]):
3021         (_colorForRGBColor):
3022         (_shadowForShadowStyle):
3023         (-[WebHTMLConverter _elementIsBlockLevel:]):
3024         (-[WebHTMLConverter _elementHasOwnBackgroundColor:]):
3025         (-[WebHTMLConverter _computedColorForNode:property:]):
3026         (-[WebHTMLConverter _colorForNode:property:]):
3027         (-[WebHTMLConverter _computedAttributesForElement:]):
3028         (-[WebHTMLConverter _attributesForElement:]):
3029         (-[WebHTMLConverter _newParagraphForElement:tag:allowEmpty:suppressTrailingSpace:]):
3030         (-[WebHTMLConverter _newLineForElement:]):
3031         (-[WebHTMLConverter _newTabForElement:]):
3032         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
3033         (-[WebHTMLConverter _addQuoteForElement:opening:level:]):
3034         (-[WebHTMLConverter _addValue:forElement:]):
3035         (-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
3036         (_dateForString):
3037         (_colCompare):
3038         (-[WebHTMLConverter _enterElement:tag:display:]):
3039         (-[WebHTMLConverter _addTableForElement:]):
3040         (-[WebHTMLConverter _addTableCellForElement:]):
3041         (-[WebHTMLConverter _processElement:tag:display:depth:]):
3042         (-[WebHTMLConverter _addMarkersToList:range:]):
3043         (-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
3044         (-[WebHTMLConverter _processText:]):
3045         (-[WebHTMLConverter _traverseNode:depth:embedded:]):
3046         (-[WebHTMLConverter _traverseFooterNode:depth:]):
3047         (-[WebHTMLConverter _loadFromDOMRange]):
3048         (-[WebHTMLConverter dealloc]):
3049         (-[WebHTMLConverter init]):
3050         (-[WebHTMLConverter initWithDOMRange:]):
3051         (-[WebHTMLConverter attributedString]):
3052         (+[WebHTMLConverter editingAttributedStringFromRange:]):
3053         (fileWrapperForElement):
3054
3055 2013-09-17  Samuel White  <samuel_white@apple.com>
3056
3057         AX: Mac AXARIABusy should be AXElementBusy (not ARIA specific)
3058         https://bugs.webkit.org/show_bug.cgi?id=121442
3059
3060         Reviewed by Chris Fleizach.
3061
3062         No new tests, changed AXARIABusy attribute to AXElementBusy to uncouple the concept of busy with
3063         the aria-busy attribute. This will allow us to expand on the definition of busy moving forward.
3064
3065         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3066         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
3067         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3068
3069 2013-09-17  Andreas Kling  <akling@apple.com>
3070
3071         Pack create_hash_table tables better.
3072         <https://webkit.org/b/121517>
3073
3074         Reviewed by Sam Weinig.
3075
3076         Reduces WebCore binary size by 72744 bytes.
3077
3078         * bindings/scripts/CodeGeneratorJS.pm:
3079         (GenerateHashTable):
3080
3081             Updated for new HashTableValue member order.
3082
3083         * bindings/scripts/test/JS/*:
3084
3085             Rebaselined bindings tests.
3086
3087 2013-09-17  Zoltan Horvath  <zoltan@webkit.org>
3088
3089         [Qt] Add FlowThreadController.h to Target.pri
3090         https://bugs.webkit.org/show_bug.cgi?id=121516
3091
3092         Reviewed by Dirk Schulze.
3093
3094         No new tests, no behavior change.
3095
3096         * Target.pri:
3097
3098 2013-09-17  Anders Carlsson  <andersca@apple.com>
3099
3100         Stop explicitly using PassOwnPtr in WebCore/html
3101         https://bugs.webkit.org/show_bug.cgi?id=121511
3102
3103         Reviewed by Andreas Kling.
3104
3105         * dom/ElementRareData.h:
3106         (WebCore::ElementRareData::setClassList):
3107         * html/ButtonInputType.cpp:
3108         (WebCore::ButtonInputType::create):
3109         * html/ButtonInputType.h:
3110         * html/CheckboxInputType.cpp:
3111         (WebCore::CheckboxInputType::create):
3112         (WebCore::CheckboxInputType::willDispatchClick):
3113         * html/CheckboxInputType.h:
3114         * html/ClassList.cpp:
3115         (WebCore::ClassList::create):
3116         * html/ClassList.h:
3117         * html/ColorInputType.cpp:
3118         (WebCore::ColorInputType::create):
3119         * html/ColorInputType.h:
3120         * html/DateInputType.cpp:
3121         (WebCore::DateInputType::create):
3122         * html/DateInputType.h:
3123         * html/DateTimeInputType.cpp:
3124         (WebCore::DateTimeInputType::create):
3125         * html/DateTimeInputType.h:
3126         * html/DateTimeLocalInputType.cpp:
3127         (WebCore::DateTimeLocalInputType::create):
3128         * html/DateTimeLocalInputType.h:
3129         * html/EmailInputType.cpp:
3130         (WebCore::EmailInputType::create):
3131         * html/EmailInputType.h:
3132         * html/FileInputType.cpp:
3133         (WebCore::FileInputType::create):
3134         * html/FileInputType.h:
3135         * html/FormAssociatedElement.cpp:
3136         (WebCore::FormAttributeTargetObserver::create):
3137         * html/FormController.cpp:
3138         (WebCore::SavedFormState::create):
3139         (WebCore::SavedFormState::deserialize):
3140         (WebCore::FormKeyGenerator::create):
3141         (WebCore::FormController::createSavedFormStateMap):
3142         * html/FormController.h:
3143         (WebCore::FormController::create):
3144         * html/HTMLInputElement.cpp:
3145         (WebCore::ListAttributeTargetObserver::create):
3146         * html/HiddenInputType.cpp:
3147         (WebCore::HiddenInputType::create):
3148         * html/HiddenInputType.h:
3149         * html/ImageInputType.cpp:
3150         (WebCore::ImageInputType::create):
3151         * html/ImageInputType.h:
3152         * html/InputType.cpp:
3153         (WebCore::InputType::create):
3154         (WebCore::InputType::createText):
3155         (WebCore::InputType::willDispatchClick):
3156         * html/InputType.h:
3157         * html/MonthInputType.cpp:
3158         (WebCore::MonthInputType::create):
3159         * html/MonthInputType.h:
3160         * html/NumberInputType.cpp:
3161         (WebCore::NumberInputType::create):
3162         * html/NumberInputType.h:
3163         * html/PasswordInputType.cpp:
3164         (WebCore::PasswordInputType::create):
3165         * html/PasswordInputType.h:
3166         * html/PublicURLManager.h:
3167         (WebCore::PublicURLManager::create):
3168         * html/RadioInputType.cpp:
3169         (WebCore::RadioInputType::create):
3170         (WebCore::RadioInputType::willDispatchClick):
3171         * html/RadioInputType.h:
3172         * html/RangeInputType.cpp:
3173         (WebCore::RangeInputType::create):
3174         * html/RangeInputType.h:
3175         * html/ResetInputType.cpp:
3176         (WebCore::ResetInputType::create):
3177         * html/ResetInputType.h:
3178         * html/SearchInputType.cpp:
3179         (WebCore::SearchInputType::create):
3180         * html/SearchInputType.h:
3181         * html/SubmitInputType.cpp:
3182         (WebCore::SubmitInputType::create):
3183         * html/SubmitInputType.h:
3184         * html/TelephoneInputType.cpp:
3185         (WebCore::TelephoneInputType::create):
3186         * html/TelephoneInputType.h:
3187         * html/TextInputType.cpp:
3188         (WebCore::TextInputType::create):
3189         * html/TextInputType.h:
3190         * html/TimeInputType.cpp:
3191         (WebCore::TimeInputType::create):
3192         * html/TimeInputType.h:
3193         * html/URLInputType.cpp:
3194         (WebCore::URLInputType::create):
3195         * html/URLInputType.h:
3196         * html/ValidationMessage.cpp:
3197         (WebCore::ValidationMessage::create):
3198         * html/ValidationMessage.h:
3199         * html/ValidityState.h:
3200         (WebCore::ValidityState::create):
3201         * html/WeekInputType.cpp:
3202         (WebCore::WeekInputType::create):
3203         * html/WeekInputType.h:
3204         * html/canvas/CanvasRenderingContext2D.cpp:
3205         (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
3206         * html/canvas/CanvasRenderingContext2D.h:
3207         (WebCore::CanvasRenderingContext2D::create):
3208         * html/canvas/EXTDrawBuffers.cpp:
3209         (WebCore::EXTDrawBuffers::create):
3210         * html/canvas/EXTDrawBuffers.h:
3211         * html/canvas/EXTTextureFilterAnisotropic.cpp:
3212         (WebCore::EXTTextureFilterAnisotropic::create):
3213         * html/canvas/EXTTextureFilterAnisotropic.h:
3214         * html/canvas/OESElementIndexUint.cpp:
3215         (WebCore::OESElementIndexUint::create):
3216         * html/canvas/OESElementIndexUint.h:
3217         * html/canvas/OESStandardDerivatives.cpp:
3218         (WebCore::OESStandardDerivatives::create):
3219         * html/canvas/OESStandardDerivatives.h:
3220         * html/canvas/OESTextureFloat.cpp:
3221         (WebCore::OESTextureFloat::create):
3222         * html/canvas/OESTextureFloat.h:
3223         * html/canvas/OESTextureHalfFloat.cpp:
3224         (WebCore::OESTextureHalfFloat::create):
3225         * html/canvas/OESTextureHalfFloat.h:
3226         * html/canvas/OESVertexArrayObject.cpp:
3227         (WebCore::OESVertexArrayObject::create):
3228         * html/canvas/OESVertexArrayObject.h:
3229         * html/canvas/WebGLCompressedTextureATC.cpp:
3230         (WebCore::WebGLCompressedTextureATC::create):
3231         * html/canvas/WebGLCompressedTextureATC.h:
3232         * html/canvas/WebGLCompressedTexturePVRTC.cpp:
3233         (WebCore::WebGLCompressedTexturePVRTC::create):
3234         * html/canvas/WebGLCompressedTexturePVRTC.h:
3235         * html/canvas/WebGLCompressedTextureS3TC.cpp:
3236         (WebCore::WebGLCompressedTextureS3TC::create):
3237         * html/canvas/WebGLCompressedTextureS3TC.h:
3238         * html/canvas/WebGLDebugRendererInfo.cpp:
3239         (WebCore::WebGLDebugRendererInfo::create):
3240         * html/canvas/WebGLDebugRendererInfo.h:
3241         * html/canvas/WebGLDebugShaders.cpp:
3242         (WebCore::WebGLDebugShaders::create):
3243         * html/canvas/WebGLDebugShaders.h:
3244         * html/canvas/WebGLDepthTexture.cpp:
3245         (WebCore::WebGLDepthTexture::create):
3246         * html/canvas/WebGLDepthTexture.h:
3247         * html/canvas/WebGLLoseContext.cpp:
3248         (WebCore::WebGLLoseContext::create):
3249         * html/canvas/WebGLLoseContext.h:
3250         * html/canvas/WebGLRenderingContext.cpp:
3251         (WebCore::WebGLRenderingContext::create):
3252         * html/canvas/WebGLRenderingContext.h:
3253         * html/parser/BackgroundHTMLParser.cpp:
3254         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
3255         (WebCore::BackgroundHTMLParser::resumeFrom):
3256         * html/parser/BackgroundHTMLParser.h:
3257         (WebCore::BackgroundHTMLParser::create):
3258         * html/parser/HTMLDocumentParser.cpp:
3259         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
3260         (WebCore::HTMLDocumentParser::validateSpeculations):
3261         (WebCore::HTMLDocumentParser::discardSpeculationsAndResumeFrom):
3262         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
3263         * html/parser/HTMLDocumentParser.h:
3264         * html/parser/HTMLElementStack.cpp:
3265         (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
3266         * html/parser/HTMLElementStack.h:
3267         (WebCore::HTMLElementStack::ElementRecord::releaseNext):
3268         (WebCore::HTMLElementStack::ElementRecord::setNext):
3269         * html/parser/HTMLMetaCharsetParser.h:
3270         (WebCore::HTMLMetaCharsetParser::create):
3271         * html/parser/HTMLParserScheduler.h:
3272         (WebCore::HTMLParserScheduler::create):
3273         * html/parser/HTMLParserThread.h:
3274         (WebCore::HTMLParserThread::create):
3275         * html/parser/HTMLPreloadScanner.cpp:
3276         (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
3277         * html/parser/HTMLResourcePreloader.cpp:
3278         (WebCore::HTMLResourcePreloader::preload):
3279         * html/parser/HTMLResourcePreloader.h:
3280         (WebCore::PreloadRequest::create):
3281         * html/parser/HTMLScriptRunner.h:
3282         (WebCore::HTMLScriptRunner::create):
3283         * html/parser/HTMLToken.h:
3284         (WebCore::HTMLToken::releaseDoctypeData):
3285         * html/parser/HTMLTokenizer.h:
3286         (WebCore::HTMLTokenizer::create):
3287         * html/parser/HTMLTreeBuilder.h:
3288         (WebCore::HTMLTreeBuilder::create):
3289         * html/parser/XSSAuditor.cpp:
3290         (WebCore::XSSAuditor::filterToken):
3291         * html/parser/XSSAuditor.h:
3292         * html/parser/XSSAuditorDelegate.h:
3293         (WebCore::XSSInfo::create):
3294         * html/track/WebVTTParser.h:
3295         (WebCore::WebVTTParser::create):
3296         * html/track/WebVTTTokenizer.h:
3297         (WebCore::WebVTTTokenizer::create):
3298
3299 2013-09-17  Enrica Casucci  <enrica@apple.com>
3300
3301         Upstream changes to WebHTMLConverter to support HTML
3302         to NSAttributedString conversion on both iOS and OS X.
3303
3304         Reviewed by Benjamin Poulain.
3305
3306         * platform/mac/HTMLConverter.h:
3307         * platform/mac/HTMLConverter.mm:
3308         (WebDefaultFont):
3309         (_fontForNameAndSize):
3310         (+[WebHTMLConverter defaultParagraphStyle]):
3311         (-[WebHTMLConverter _computedStyleForElement:]):
3312         (-[WebHTMLConverter _specifiedStyleForElement:]):
3313         (-[WebHTMLConverter _computedStringForNode:property:]):
3314         (-[WebHTMLConverter _stringForNode:property:]):
3315         (-[WebHTMLConverter _getComputedFloat:forNode:property:]):
3316         (-[WebHTMLConverter _getFloat:forNode:property:]):
3317         (_NSFirstPathForDirectoriesInDomains):
3318         (_NSSystemLibraryPath):
3319         (-[WebHTMLConverter _webKitBundle]):
3320         (_colorForRGBColor):
3321         (_shadowForShadowStyle):
3322         (-[WebHTMLConverter _elementIsBlockLevel:]):
3323         (-[WebHTMLConverter _elementHasOwnBackgroundColor:]):
3324         (-[WebHTMLConverter _computedColorForNode:property:]):
3325         (-[WebHTMLConverter _colorForNode:property:]):
3326         (-[WebHTMLConverter _computedAttributesForElement:]):
3327         (-[WebHTMLConverter _attributesForElement:]):
3328         (-[WebHTMLConverter _newParagraphForElement:tag:allowEmpty:suppressTrailingSpace:]):
3329         (-[WebHTMLConverter _newLineForElement:]):
3330         (-[WebHTMLConverter _newTabForElement:]):
3331         (-[WebHTMLConverter _WebMessageDocumentClass]):
3332         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
3333         (-[WebHTMLConverter _addQuoteForElement:opening:level:]):
3334         (-[WebHTMLConverter _addValue:forElement:]):
3335         (-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
3336         (_dateForString):
3337         (_colCompare):
3338         (-[WebHTMLConverter _processMetaElementWithName:content:]):
3339         (-[WebHTMLConverter _processHeadElement:]):
3340         (-[WebHTMLConverter _enterElement:tag:display:embedded:]):
3341         (-[WebHTMLConverter _addTableForElement:]):
3342         (-[WebHTMLConverter _addTableCellForElement:]):
3343         (-[WebHTMLConverter _processElement:tag:display:depth:]):
3344         (-[WebHTMLConverter _addMarkersToList:range:]):
3345         (-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
3346         (-[WebHTMLConverter _processText:]):
3347         (-[WebHTMLConverter _traverseNode:depth:embedded:]):
3348         (-[WebHTMLConverter _traverseFooterNode:depth:]):
3349         (-[WebHTMLConverter _loadFromDOMRange]):
3350         (-[WebHTMLConverter dealloc]):
3351         (-[WebHTMLConverter init]):
3352         (-[WebHTMLConverter initWithDOMRange:]):
3353         (-[WebHTMLConverter attributedString]):
3354         (+[WebHTMLConverter editingAttributedStringFromRange:]):
3355
3356 2013-09-17  Sam Weinig  <sam@webkit.org>
3357
3358         Add make_unique and start using it
3359         https://bugs.webkit.org/show_bug.cgi?id=121523
3360
3361         Reviewed by Anders Carlsson.
3362
3363         * html/HTMLAreaElement.h:
3364         * html/HTMLFrameSetElement.h:
3365         * platform/Length.cpp:
3366         (WebCore::newCoordsArray):
3367         (WebCore::newLengthArray):
3368         * platform/Length.h:
3369         Switch off OwnArrayPtr to std::unique_ptr<T[]> and make use of make_unique.
3370
3371 2013-09-17  Simon Fraser  <simon.fraser@apple.com>
3372
3373         Hardware accelerated CSS transitions appear pixelated when scaled up using transform
3374         https://bugs.webkit.org/show_bug.cgi?id=27684
3375         <rdar://problem/6134606>
3376
3377         Reviewed by Dean Jackson.
3378         
3379         Take transforms and animations into account when computing the contentsScale
3380         for a layer, so that scaled-up layers remain sharp most of the time.
3381         
3382         In its recursiveCommitChanges() tree walk, GraphicsLayerCA now tracks
3383         a root-relative transform, and extracts from that transform the X and Y
3384         scales which it uses to scale the backing store.
3385         
3386         If the layer has transform animations on it, we keep around
3387         a transformation matrix for the animation endpoints (or keyframes),
3388         pick up the state that has the larger impact on the root-relative scale,
3389         and use that as the layer's transform, and the transform when recursing
3390         over descendants.
3391
3392         Tests: compositing/contents-scale/animating.html
3393                compositing/contents-scale/scaled-ancestor.html
3394                compositing/contents-scale/simple-scale.html
3395                compositing/contents-scale/z-translate.html
3396
3397         * platform/graphics/ca/GraphicsLayerCA.cpp:
3398         (WebCore::maxScaleFromTransform): Decompose the transform if necesssary
3399         to extract the X and Y scale components.
3400         (WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_rootRelativeScaleFactor.
3401         (WebCore::GraphicsLayerCA::flushCompositingState): Supply a TransformationMatrix
3402         for the root of the recursion.
3403         (WebCore::GraphicsLayerCA::layerTransform): This code was factored out of
3404         computeVisibleRect(), and optionally takes a custom transform.
3405         (WebCore::GraphicsLayerCA::computeVisibleRect): Use the layerTransform() function.
3406         (WebCore::GraphicsLayerCA::updateRootRelativeScale): Given a transform from the root,
3407         find the max scale factor by multiplying the various animation endpoint matrices and picking
3408         the one with the biggest impact on scale. Use this to set m_rootRelativeScaleFactor, and
3409         set the flag to say that we need to update contentsScale.
3410         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
3411         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): After updating
3412         animations, call updateRootRelativeScale() to update m_rootRelativeScaleFactor.
3413         (WebCore::GraphicsLayerCA::updateAnimations): We have a side table of animation name to
3414         TransformationMatrix, so figure out which entries can be removed from that side table,
3415         and remove them.
3416         (WebCore::GraphicsLayerCA::setAnimationOnLayer):
3417         (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Store the matrices for
3418         animation endpoints/keyframes in the m_animationTransforms side table. We don't store
3419         them directly in LayerPropertyAnimation because we just want the final matrix for
3420         a transform list, and using a side table makes ownership easier to manage.
3421         (WebCore::GraphicsLayerCA::getTransformFromAnimationsWithMaxScaleImpact):
3422         goes through the matrices for the running animation endpoints/keyframes, and
3423         multiplies each with the transform up to this layer to find the matrix with the
3424         larger impact on scale.
3425         (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints): Returns a vector
3426         of TransformationMatrix for the from and to states.
3427         (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes): Returns a vector
3428         of TransformationMatrix for the keyframes.
3429         (WebCore::GraphicsLayerCA::updateContentsScale): Include m_rootRelativeScaleFactor in the
3430         scale factor computation.
3431         (WebCore::GraphicsLayerCA::dumpAdditionalProperties): If we're dumping visible rects,
3432         also dump the contentsScale. Convenient at these are useful to look at together, and I didn't
3433         want to pollute Internals with yet more flags.
3434         * platform/graphics/ca/GraphicsLayerCA.h:
3435         (WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation): Formatting.
3436
3437 2013-09-17  Commit Queue  <commit-queue@webkit.org>
3438
3439         Unreviewed, rolling out r155977.
3440         http://trac.webkit.org/changeset/155977
3441         https://bugs.webkit.org/show_bug.cgi?id=121515
3442
3443         Broke over a dozen tests on Mac WK2 (Requested by ap on
3444         #webkit).
3445
3446         * platform/graphics/ca/GraphicsLayerCA.cpp:
3447         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
3448         (WebCore::GraphicsLayerCA::flushCompositingState):
3449         (WebCore::GraphicsLayerCA::computeVisibleRect):
3450         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
3451         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
3452         (WebCore::GraphicsLayerCA::updateAnimations):
3453         (WebCore::GraphicsLayerCA::setAnimationOnLayer):
3454         (WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
3455         (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
3456         (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
3457         (WebCore::GraphicsLayerCA::updateContentsScale):
3458         (WebCore::GraphicsLayerCA::dumpAdditionalProperties):
3459         * platform/graphics/ca/GraphicsLayerCA.h:
3460         (WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation):
3461
3462 2013-09-17  Eric Carlson  <eric.carlson@apple.com>
3463
3464         MediaStream API: Changing the device enumeration to be async
3465         https://bugs.webkit.org/show_bug.cgi?id=120883
3466
3467         Reviewed by Darin Adler.
3468