854188381eb3f9c03c10d7b747641f8f29ca4c94
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-10-03  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Remove preDispatchEventHandler and postDispatchEventHandler,
4         functions that are supposed to be removed in the previous commit (r156825).
5
6         * dom/Node.h:
7
8 2013-10-02  Ryosuke Niwa  <rniwa@webkit.org>
9
10         Get rid of Node::preDispatchEventHandler and Node::postDispatchEventHandler
11         https://bugs.webkit.org/show_bug.cgi?id=122144
12
13         Reviewed by Darin Adler.
14
15         Get rid of pre/post event dispatch callbacks preDispatchEventHandler and postDispatchEventHandler since
16         the former was only called by HTMLMediaElement and HTMLInputElement and the latter was only called by
17         HTMLInputElement.
18
19         Explicitly call HTMLMediaElement's willDispatchFullScreenChangeEvent in fullScreenChangeDelayTimerFired
20         of Document since this is the only place that fires the fullscreenchange event.
21
22         Also add an explicit call to willDispatchEvent and didDispatchClickEvent in EventDispatcher::dispatch.
23         This also allows us to stack-allocate InputElementClickHandlingState instead of having willDispatchEvent
24         heap-allocate it and pass it around as void*.
25
26         * WebCore.order:
27         * dom/Document.cpp:
28         (WebCore::Document::fullScreenChangeDelayTimerFired):
29         (WebCore::Document::dispatchFullScreenChangeOrErrorEvent):
30         * dom/Document.h:
31         * dom/EventContext.cpp:
32         * dom/EventDispatcher.cpp:
33         (WebCore::EventDispatcher::dispatch):
34         (WebCore::EventDispatcher::callWillDispatchEventOnInputElement):
35         (WebCore::EventDispatcher::dispatchEventPostProcess):
36         * dom/EventDispatcher.h:
37         * html/CheckboxInputType.cpp:
38         (WebCore::CheckboxInputType::willDispatchClick):
39         * html/CheckboxInputType.h:
40         * html/HTMLInputElement.cpp:
41         (WebCore::HTMLInputElement::willDispatchEvent):
42         (WebCore::HTMLInputElement::didDispatchClickEvent):
43         * html/HTMLInputElement.h:
44         * html/HTMLMediaElement.cpp:
45         * html/HTMLMediaElement.h:
46         (WebCore::HTMLMediaElement::willDispatchFullScreenChangeEvent): Renamed from preDispatchEventHandler.
47         * html/HTMLTextFormControlElement.h:
48         * html/InputType.cpp:
49         (WebCore::InputType::willDispatchClick):
50         * html/InputType.h:
51         * html/RadioInputType.cpp:
52         (WebCore::RadioInputType::willDispatchClick):
53         * html/RadioInputType.h:
54
55 2013-10-02  Ryosuke Niwa  <rniwa@webkit.org>
56
57         Update binding test results after r156808 for r156769.
58
59         * bindings/scripts/test/JS/JSattribute.cpp:
60         (WebCore::JSattributeOwner::finalize):
61         * bindings/scripts/test/JS/JSattribute.h:
62         (WebCore::wrapperOwner):
63         (WebCore::wrapperContext):
64         * bindings/scripts/test/JS/JSreadonly.cpp:
65         (WebCore::JSreadonlyOwner::finalize):
66         * bindings/scripts/test/JS/JSreadonly.h:
67         (WebCore::wrapperOwner):
68         (WebCore::wrapperContext):
69
70 2013-10-02  Commit Queue  <commit-queue@webkit.org>
71
72         Unreviewed, rolling out r156816.
73         http://trac.webkit.org/changeset/156816
74         https://bugs.webkit.org/show_bug.cgi?id=122259
75
76         broke 8 tests (Requested by kling on #webkit).
77
78         * html/HTMLFrameSetElement.cpp:
79         (WebCore::HTMLFrameSetElement::willRecalcStyle):
80         * html/RangeInputType.cpp:
81         (WebCore::RangeInputType::listAttributeTargetChanged):
82         * html/shadow/SliderThumbElement.cpp:
83         (WebCore::RenderSliderContainer::layout):
84         (WebCore::SliderThumbElement::setPositionFromValue):
85         (WebCore::SliderThumbElement::setPositionFromPoint):
86         (WebCore::SliderThumbElement::stopDragging):
87         * page/FrameView.cpp:
88         (WebCore::FrameView::setHeaderHeight):
89         (WebCore::FrameView::setFooterHeight):
90         (WebCore::FrameView::layout):
91         (WebCore::FrameView::setViewportConstrainedObjectsNeedLayout):
92         (WebCore::FrameView::scheduleRelayout):
93         (WebCore::FrameView::setNeedsLayout):
94         * page/Page.cpp:
95         (WebCore::Page::setPageScaleFactor):
96         * rendering/FlowThreadController.h:
97         (WebCore::FlowThreadController::setIsRenderNamedFlowThreadOrderDirty):
98         * rendering/RenderBlock.cpp:
99         (WebCore::RenderBlock::relayoutShapeDescendantIfMoved):
100         (WebCore::RenderBlock::markShapeInsideDescendantsForLayout):
101         (WebCore::RenderBlock::layoutBlock):
102         (WebCore::RenderBlock::updateBlockChildDirtyBitsBeforeLayout):
103         (WebCore::RenderBlock::dirtyForLayoutFromPercentageHeightDescendants):
104         (WebCore::RenderBlock::simplifiedNormalFlowLayout):
105         (WebCore::RenderBlock::simplifiedLayout):
106         (WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
107         (WebCore::RenderBlock::layoutPositionedObjects):
108         (WebCore::RenderBlock::markPositionedObjectsForLayout):
109         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
110         (WebCore::RenderBlock::removePositionedObjects):
111         (WebCore::RenderBlock::insertFloatingObject):
112         (WebCore::RenderBlock::positionNewFloats):
113         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
114         (WebCore::RenderBlock::getClearDelta):
115         * rendering/RenderBlockFlow.cpp:
116         (WebCore::RenderBlockFlow::layoutBlock):
117         (WebCore::RenderBlockFlow::layoutBlockChild):
118         (WebCore::RenderBlockFlow::adjustPositionedBlock):
119         (WebCore::RenderBlockFlow::adjustBlockChildForPagination):
120         * rendering/RenderBlockLineLayout.cpp:
121         (WebCore::RenderBlock::layoutRunsAndFloats):
122         (WebCore::RenderBlockFlow::layoutInlineChildren):
123         (WebCore::RenderBlock::positionNewFloatOnLine):
124         * rendering/RenderBox.cpp:
125         (WebCore::RenderBox::styleWillChange):
126         (WebCore::RenderBox::styleDidChange):
127         (WebCore::RenderBox::layout):
128         (WebCore::RenderBox::positionLineBox):
129         * rendering/RenderDeprecatedFlexibleBox.cpp:
130         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
131         (WebCore::gatherFlexChildrenInfo):
132         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
133         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
134         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
135         (WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
136         * rendering/RenderElement.cpp:
137         (WebCore::RenderElement::insertChildInternal):
138         * rendering/RenderElement.h:
139         (WebCore::RenderElement::setAncestorLineBoxDirty):
140         (WebCore::RenderObject::setNeedsLayout):
141         * rendering/RenderEmbeddedObject.cpp:
142         (WebCore::RenderEmbeddedObject::layout):
143         * rendering/RenderFieldset.cpp:
144         (WebCore::RenderFieldset::layoutSpecialExcludedChild):
145         * rendering/RenderFlexibleBox.cpp:
146         (WebCore::RenderFlexibleBox::styleDidChange):
147         (WebCore::RenderFlexibleBox::layoutBlock):
148         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
149         (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):
150         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
151         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
152         * rendering/RenderFlowThread.cpp:
153         (WebCore::RenderFlowThread::invalidateRegions):
154         (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
155         * rendering/RenderFrameBase.cpp:
156         (WebCore::RenderFrameBase::layoutWithFlattening):
157         * rendering/RenderFrameSet.cpp:
158         (WebCore::RenderFrameSet::layout):
159         (WebCore::RenderFrameSet::positionFrames):
160         (WebCore::RenderFrameSet::positionFramesWithFlattening):
161         (WebCore::RenderFrameSet::continueResizing):
162         * rendering/RenderGrid.cpp:
163         (WebCore::RenderGrid::layoutBlock):
164         (WebCore::RenderGrid::logicalContentHeightForChild):
165         (WebCore::RenderGrid::layoutGridItems):
166         * rendering/RenderHTMLCanvas.cpp:
167         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
168         * rendering/RenderIFrame.cpp:
169         (WebCore::RenderIFrame::layout):
170         * rendering/RenderImage.cpp:
171         (WebCore::RenderImage::imageDimensionsChanged):
172         * rendering/RenderInline.cpp:
173         (WebCore::RenderInline::styleDidChange):
174         * rendering/RenderLayer.cpp:
175         (WebCore::RenderLayer::updateScrollbarsAfterLayout):
176         * rendering/RenderLayerModelObject.cpp:
177         (WebCore::RenderLayerModelObject::styleDidChange):
178         * rendering/RenderListMarker.cpp:
179         (WebCore::RenderListMarker::layout):
180         * rendering/RenderMarquee.cpp:
181         (WebCore::RenderMarquee::updateMarqueeStyle):
182         * rendering/RenderMedia.cpp:
183         (WebCore::RenderMedia::layout):
184         * rendering/RenderMultiColumnBlock.cpp:
185         (WebCore::RenderMultiColumnBlock::relayoutForPagination):
186         (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
187         * rendering/RenderObject.cpp:
188         (WebCore::RenderObject::markContainingBlocksForLayout):
189         (WebCore::RenderObject::layout):
190         * rendering/RenderObject.h:
191         (WebCore::RenderObject::setNeedsLayoutAndPrefWidthsRecalc):
192         (WebCore::RenderObject::setNeedsPositionedMovementLayout):
193         (WebCore::RenderObject::setNormalChildNeedsLayout):
194         (WebCore::RenderObject::setPosChildNeedsLayout):
195         (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
196         (WebCore::RenderObject::setChildNeedsLayout):
197         * rendering/RenderReplaced.cpp:
198         (WebCore::RenderReplaced::layout):
199         * rendering/RenderReplica.cpp:
200         (WebCore::RenderReplica::layout):
201         * rendering/RenderRubyRun.cpp:
202         (WebCore::RenderRubyRun::layoutSpecialExcludedChild):
203         * rendering/RenderScrollbar.cpp:
204         (WebCore::RenderScrollbar::updateScrollbarParts):
205         * rendering/RenderScrollbarPart.cpp:
206         (WebCore::RenderScrollbarPart::layout):
207         * rendering/RenderTable.cpp:
208         (WebCore::RenderTable::layout):
209         * rendering/RenderTable.h:
210         (WebCore::RenderTable::setNeedsSectionRecalc):
211         * rendering/RenderTableCell.cpp:
212         (WebCore::RenderTableCell::computeIntrinsicPadding):
213         (WebCore::RenderTableCell::setCellLogicalWidth):
214         (WebCore::RenderTableCell::layout):
215         * rendering/RenderTableRow.cpp:
216         (WebCore::RenderTableRow::styleDidChange):
217         (WebCore::RenderTableRow::layout):
218         * rendering/RenderTableSection.cpp:
219         (WebCore::RenderTableSection::calcRowLogicalHeight):
220         (WebCore::RenderTableSection::layout):
221         (WebCore::RenderTableSection::layoutRows):
222         (WebCore::RenderTableSection::recalcCells):
223         * rendering/RenderTextControl.cpp:
224         (WebCore::RenderTextControl::layoutSpecialExcludedChild):
225         * rendering/RenderTextControlSingleLine.cpp:
226         (WebCore::setNeedsLayoutOnAncestors):
227         (WebCore::RenderTextControlSingleLine::layout):
228         (WebCore::RenderTextControlSingleLine::styleDidChange):
229         * rendering/RenderVideo.cpp:
230         (WebCore::RenderVideo::updateIntrinsicSize):
231         * rendering/RenderView.cpp:
232         (WebCore::RenderView::layout):
233         * rendering/RenderWidget.cpp:
234         (WebCore::RenderWidget::layout):
235         * rendering/mathml/RenderMathMLBlock.cpp:
236         (WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):
237         * rendering/mathml/RenderMathMLScripts.cpp:
238         (WebCore::RenderMathMLScripts::layout):
239         * rendering/svg/RenderSVGContainer.cpp:
240         (WebCore::RenderSVGContainer::layout):
241         * rendering/svg/RenderSVGGradientStop.cpp:
242         (WebCore::RenderSVGGradientStop::layout):
243         * rendering/svg/RenderSVGHiddenContainer.cpp:
244         (WebCore::RenderSVGHiddenContainer::layout):
245         * rendering/svg/RenderSVGImage.cpp:
246         (WebCore::RenderSVGImage::layout):
247         * rendering/svg/RenderSVGResource.cpp:
248         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
249         * rendering/svg/RenderSVGResourceContainer.cpp:
250         (WebCore::RenderSVGResourceContainer::registerResource):
251         * rendering/svg/RenderSVGRoot.cpp:
252         (WebCore::RenderSVGRoot::layout):
253         * rendering/svg/RenderSVGShape.cpp:
254         (WebCore::RenderSVGShape::layout):
255         * rendering/svg/RenderSVGText.cpp:
256         (WebCore::RenderSVGText::layout):
257         * rendering/svg/SVGRenderSupport.cpp:
258         (WebCore::SVGRenderSupport::layoutChildren):
259         * svg/SVGClipPathElement.cpp:
260         (WebCore::SVGClipPathElement::svgAttributeChanged):
261         (WebCore::SVGClipPathElement::childrenChanged):
262         * svg/SVGFilterElement.cpp:
263         (WebCore::SVGFilterElement::setFilterRes):
264         (WebCore::SVGFilterElement::svgAttributeChanged):
265         (WebCore::SVGFilterElement::childrenChanged):
266         * svg/SVGGradientElement.cpp:
267         (WebCore::SVGGradientElement::svgAttributeChanged):
268         (WebCore::SVGGradientElement::childrenChanged):
269         * svg/SVGLinearGradientElement.cpp:
270         (WebCore::SVGLinearGradientElement::svgAttributeChanged):
271         * svg/SVGMarkerElement.cpp:
272         (WebCore::SVGMarkerElement::svgAttributeChanged):
273         (WebCore::SVGMarkerElement::childrenChanged):
274         * svg/SVGMaskElement.cpp:
275         (WebCore::SVGMaskElement::svgAttributeChanged):
276         (WebCore::SVGMaskElement::childrenChanged):
277         * svg/SVGPatternElement.cpp:
278         (WebCore::SVGPatternElement::svgAttributeChanged):
279         (WebCore::SVGPatternElement::childrenChanged):
280         * svg/SVGRadialGradientElement.cpp:
281         (WebCore::SVGRadialGradientElement::svgAttributeChanged):
282         * svg/SVGSVGElement.cpp:
283         (WebCore::SVGSVGElement::updateCurrentTranslate):
284
285 2013-10-02  Andreas Kling  <akling@apple.com>
286
287         Keep SVGElementRareData in an SVGElement member instead of a hashmap.
288         <https://webkit.org/b/122253>
289
290         Reviewed by Antti Koivisto.
291
292         Free up another Node flag by moving SVGElement's SVG-specific rare data
293         to a member variable instead of tracking them in a hashmap on the side.
294
295         This grows SVGElement by one pointer, but I will make up for this in
296         subsequent patches.
297
298 2013-10-02  Antti Koivisto  <antti@apple.com>
299
300         Move setting of some layout bits to RenderElement
301         https://bugs.webkit.org/show_bug.cgi?id=122256
302
303         Reviewed by Andreas Kling.
304         
305         These bits never apply to RenderText nodes:
306         
307         normalChildNeedsLayout
308         posChildNeedsLayout
309         needsSimplifiedNormalFlowLayout
310         normalChildNeedsLayout
311         positionedMovementLayout
312
313         The code for setting them can be moved to RenderElement.
314
315         Also separated the code paths for setting and clearing the bits and uninlined
316         everything that is not massively popular.
317
318 2013-10-02  Andreas Kling  <akling@apple.com>
319
320         CTTE: Drag events are only dispatched on Elements.
321         <https://webkit.org/b/122250>
322
323         Reviewed by Antti Koivisto.
324
325         We never dispatch drag events on non-Element nodes so tighten up the
326         code to operate on Elements instead.
327
328 2013-10-02  Hans Muller  <hmuller@adobe.com>
329
330         [CSS Shapes] Implement the shape-image-threshold property
331         https://bugs.webkit.org/show_bug.cgi?id=122216
332
333         Reviewed by Andreas Kling.
334
335         Added support for the CSS shape-image-threshold property. This change
336         just enables parsing the property, it's not connected to the
337         Shapes code yet.
338
339         The number valued shape-image-threshold property is defined here:
340         http://dev.w3.org/csswg/css-shapes-1/#shape-image-threshold-property
341         Its computed value is clamped to the range [0, 1].
342
343         Test: fast/shapes/parsing/parsing-shape-image-threshold.html
344
345         * css/CSSComputedStyleDeclaration.cpp:
346         (WebCore::ComputedStyleExtractor::propertyValue):
347         * css/CSSParser.cpp:
348         (WebCore::CSSParser::parseValue):
349         * css/CSSPropertyNames.in:
350         * css/DeprecatedStyleBuilder.cpp:
351         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
352         * css/StyleResolver.cpp:
353         (WebCore::StyleResolver::applyProperty):
354         * rendering/style/RenderStyle.h:
355         * rendering/style/StyleRareNonInheritedData.cpp:
356         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
357         (WebCore::StyleRareNonInheritedData::operator==):
358         * rendering/style/StyleRareNonInheritedData.h:
359
360 2013-10-02  Andreas Kling  <akling@apple.com>
361
362         Remove Qt-specific code in WebCore/plugins.
363         <https://webkit.org/b/122247>
364
365         Reviewed by Anders Carlsson.
366
367         Purge PLATFORM(QT) blocks and Qt-specific files.
368
369 2013-10-02  Eric Carlson  <eric.carlson@apple.com>
370
371         IDL parser should remove a leading "_" from identifier names
372         https://bugs.webkit.org/show_bug.cgi?id=122239
373
374         Reviewed by Jer Noble.
375
376         No new tests, updated bindings tests and results.
377
378         * bindings/scripts/IDLParser.pm:
379         (identifierRemoveNullablePrefix): Remove leading "_".
380         (parseInterface): Call identifierRemoveNullablePrefix.
381         (parseException): Ditto.
382         (parseEnum): Ditto.
383         (parseConst): Ditto.
384         (parseAttributeRest): Ditto.
385         (parseOperationRest): Ditto.
386         (parseOptionalOrRequiredArgument): Ditto.
387         (parseExceptionField): Ditto.
388         (parseNonAnyType): Ditto.
389
390         Update tests and results.
391         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
392         * bindings/scripts/test/CPP/WebDOMTestObj.h:
393         * bindings/scripts/test/CPP/WebDOMattribute.cpp: Added.
394         * bindings/scripts/test/CPP/WebDOMattribute.h: Added.
395         * bindings/scripts/test/CPP/WebDOMreadonly.cpp: Added.
396         * bindings/scripts/test/CPP/WebDOMreadonly.h: Added.
397         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
398         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
399         * bindings/scripts/test/GObject/WebKitDOMTestObj.symbols:
400         * bindings/scripts/test/GObject/WebKitDOMattribute.cpp: Added.
401         * bindings/scripts/test/GObject/WebKitDOMattribute.h: Added.
402         * bindings/scripts/test/GObject/WebKitDOMattribute.symbols: Added.
403         * bindings/scripts/test/GObject/WebKitDOMattributePrivate.h: Added.
404         * bindings/scripts/test/GObject/WebKitDOMreadonly.cpp: Added.
405         * bindings/scripts/test/GObject/WebKitDOMreadonly.h: Added.
406         * bindings/scripts/test/GObject/WebKitDOMreadonly.symbols: Added.
407         * bindings/scripts/test/GObject/WebKitDOMreadonlyPrivate.h: Added.
408         * bindings/scripts/test/JS/JSTestObj.cpp:
409         * bindings/scripts/test/JS/JSTestObj.h:
410         * bindings/scripts/test/JS/JSattribute.cpp: Added.
411         * bindings/scripts/test/JS/JSattribute.h: Added.
412         * bindings/scripts/test/JS/JSreadonly.cpp: Added.
413         * bindings/scripts/test/JS/JSreadonly.h: Added.
414         * bindings/scripts/test/ObjC/DOMTestObj.h:
415         * bindings/scripts/test/ObjC/DOMTestObj.mm:
416         * bindings/scripts/test/ObjC/DOMattribute.h: Added.
417         * bindings/scripts/test/ObjC/DOMattribute.mm: Added.
418         * bindings/scripts/test/ObjC/DOMattributeInternal.h: Added.
419         * bindings/scripts/test/ObjC/DOMreadonly.h: Added.
420         * bindings/scripts/test/ObjC/DOMreadonly.mm: Added.
421         * bindings/scripts/test/ObjC/DOMreadonlyInternal.h: Added.
422         * bindings/scripts/test/TestException.idl:
423         * bindings/scripts/test/TestInterface.idl:
424         * bindings/scripts/test/TestObj.idl:
425
426 2013-10-02  Andreas Kling  <akling@apple.com>
427
428         Remove Qt-specific code in WebCore/{bindings,bridge,loader,icon,testing}.
429         <https://webkit.org/b/122242>
430
431         Reviewed by Anders Carlsson.
432
433         Purge PLATFORM(QT) blocks and Qt-specific files.
434
435 2013-10-02  Andreas Kling  <akling@apple.com>
436
437         Remove Qt-specific code in WebCore/{page,accessibility}.
438         <https://webkit.org/b/122222>
439
440         Reviewed by Anders Carlsson.
441
442         Purge PLATFORM(QT) blocks and FooBarQt.* files.
443
444 2013-10-02  Zoltan Horvath  <zoltan@webkit.org>
445
446         [CSS Shapes] Move ShapeInsideInfo::updateSegmentsForLine implementations into the cpp
447         https://bugs.webkit.org/show_bug.cgi?id=122236
448
449         Reviewed by Oliver Hunt.
450
451         There is no reason for updateSegmentsForLine methods to be inline. I moved them to the cpp.
452
453         No new tests, no behavior change.
454
455         * rendering/shapes/ShapeInsideInfo.cpp:
456         (WebCore::ShapeInsideInfo::updateSegmentsForLine):
457         * rendering/shapes/ShapeInsideInfo.h:
458
459 2013-10-02  Andreas Kling  <akling@apple.com>
460
461         Remove Qt from WebCore/platform.
462         <https://webkit.org/b/122228>
463
464         Reviewed by Anders Carlsson.
465
466         Purge PLATFORM(QT) blocks and FooBarQt.* files.
467
468 2013-10-02  Tim Horton  <timothy_horton@apple.com>
469
470         [mac] Stop using DrawingAreaImpl on PLATFORM(MAC) 
471         https://bugs.webkit.org/show_bug.cgi?id=121859
472         <rdar://problem/15069359>
473
474         Reviewed by Anders Carlsson.
475
476         Test: platform/mac-wk2/tiled-drawing/window-server-snapshots-work.html
477
478         * page/FrameView.cpp:
479         (WebCore::FrameView::addTrackedRepaintRect):
480         (WebCore::FrameView::repaintContentRectangle):
481         * page/FrameView.h:
482         Factor out the coordinate conversion and appending of new repaint rects on FrameView.
483
484         * platform/graphics/GraphicsLayer.cpp:
485         (WebCore::GraphicsLayer::dumpProperties):
486         * rendering/RenderLayerBacking.cpp:
487         (WebCore::RenderLayerBacking::shouldDumpPropertyForLayer):
488         Don't dump repaint rects on the root tile cache, they'll be included at the top,
489         where FrameView's repaints are normally included.
490
491         * rendering/RenderLayerBacking.cpp:
492         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
493         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
494         Push the root tile cache's tracked repaint rects to FrameView instead.
495
496 2013-10-02  Benjamin Poulain  <benjamin@webkit.org>
497
498         Clean up more <style scoped> from style resolution
499         https://bugs.webkit.org/show_bug.cgi?id=122188
500
501         Reviewed by Darin Adler.
502
503         * css/ElementRuleCollector.cpp:
504         (WebCore::MatchRequest::MatchRequest):
505         (WebCore::ElementRuleCollector::collectMatchingRules):
506         (WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
507         (WebCore::ElementRuleCollector::matchAuthorRules):
508         (WebCore::ElementRuleCollector::ruleMatches):
509         (WebCore::ElementRuleCollector::doCollectMatchingRulesForList):
510         * css/ElementRuleCollector.h:
511         * css/SelectorChecker.cpp:
512         (WebCore::SelectorChecker::matchRecursively):
513         * css/SelectorChecker.h:
514         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
515         * dom/SelectorQuery.cpp:
516         (WebCore::SelectorDataList::selectorMatches):
517
518 2013-10-02  Anders Carlsson  <andersca@apple.com>
519
520         Update bindings test results.
521
522         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
523         (WebCore::JSTestActiveDOMObjectOwner::finalize):
524         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
525         (WebCore::wrapperOwner):
526         (WebCore::wrapperContext):
527         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
528         (WebCore::JSTestCustomNamedGetterOwner::finalize):
529         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
530         (WebCore::wrapperOwner):
531         (WebCore::wrapperContext):
532         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
533         (WebCore::JSTestEventConstructorOwner::finalize):
534         * bindings/scripts/test/JS/JSTestEventConstructor.h:
535         (WebCore::wrapperOwner):
536         (WebCore::wrapperContext):
537         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
538         (WebCore::JSTestEventTargetOwner::finalize):
539         * bindings/scripts/test/JS/JSTestEventTarget.h:
540         (WebCore::wrapperOwner):
541         (WebCore::wrapperContext):
542         * bindings/scripts/test/JS/JSTestException.cpp:
543         (WebCore::JSTestExceptionOwner::finalize):
544         * bindings/scripts/test/JS/JSTestException.h:
545         (WebCore::wrapperOwner):
546         (WebCore::wrapperContext):
547         * bindings/scripts/test/JS/JSTestInterface.cpp:
548         (WebCore::JSTestInterfaceOwner::finalize):
549         * bindings/scripts/test/JS/JSTestInterface.h:
550         (WebCore::wrapperOwner):
551         (WebCore::wrapperContext):
552         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
553         (WebCore::JSTestMediaQueryListListenerOwner::finalize):
554         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
555         (WebCore::wrapperOwner):
556         (WebCore::wrapperContext):
557         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
558         (WebCore::JSTestNamedConstructorOwner::finalize):
559         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
560         (WebCore::wrapperOwner):
561         (WebCore::wrapperContext):
562         * bindings/scripts/test/JS/JSTestObj.cpp:
563         (WebCore::JSTestObjOwner::finalize):
564         * bindings/scripts/test/JS/JSTestObj.h:
565         (WebCore::wrapperOwner):
566         (WebCore::wrapperContext):
567         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
568         (WebCore::JSTestOverloadedConstructorsOwner::finalize):
569         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
570         (WebCore::wrapperOwner):
571         (WebCore::wrapperContext):
572         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
573         (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
574         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
575         (WebCore::wrapperOwner):
576         (WebCore::wrapperContext):
577         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
578         (WebCore::JSTestTypedefsOwner::finalize):
579         * bindings/scripts/test/JS/JSTestTypedefs.h:
580         (WebCore::wrapperOwner):
581         (WebCore::wrapperContext):
582
583 2013-10-02  Andreas Kling  <akling@apple.com>
584
585         Remove Qt-specific code in WebCore/{rendering,editing,history}.
586         <https://webkit.org/b/122220>
587
588         Reviewed by Anders Carlsson.
589
590         Purge PLATFORM(QT) blocks and FooBarQt.* files.
591
592 2013-10-02  Andreas Kling  <akling@apple.com>
593
594         Remove Qt-specific code in common WebCore/{html,dom} files.
595         <https://webkit.org/b/122219>
596
597         Reviewed by Anders Carlsson.
598
599         Purge PLATFORM(QT) blocks.
600
601 2013-10-01  Sam Weinig  <sam@webkit.org>
602
603         CTTE: DOMWrapperWorlds should be passed around by reference
604         https://bugs.webkit.org/show_bug.cgi?id=122206
605
606         Reviewed by Andreas Kling.
607
608         * bindings/js/DOMWrapperWorld.cpp:
609         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
610         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
611         (WebCore::DOMWrapperWorld::clearWrappers):
612         (WebCore::normalWorld):
613         (WebCore::mainThreadNormalWorld):
614         * bindings/js/DOMWrapperWorld.h:
615         (WebCore::debuggerWorld):
616         (WebCore::pluginWorld):
617         (WebCore::currentWorld):
618         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
619         (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
620         * bindings/js/JSCSSValueCustom.cpp:
621         (WebCore::JSCSSValueOwner::finalize):
622         * bindings/js/JSDOMBinding.h:
623         (WebCore::wrapperOwner):
624         (WebCore::wrapperContext):
625         (WebCore::getInlineCachedWrapper):
626         (WebCore::setInlineCachedWrapper):
627         (WebCore::clearInlineCachedWrapper):
628         (WebCore::getCachedWrapper):
629         (WebCore::cacheWrapper):
630         (WebCore::uncacheWrapper):
631         (WebCore::jsStringWithCache):
632         * bindings/js/JSDOMGlobalObject.cpp:
633         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
634         (WebCore::toJSDOMGlobalObject):
635         * bindings/js/JSDOMGlobalObject.h:
636         (WebCore::JSDOMGlobalObject::world):
637         * bindings/js/JSDOMWindowBase.cpp:
638         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
639         (WebCore::toJSDOMWindow):
640         * bindings/js/JSDOMWindowBase.h:
641         * bindings/js/JSDOMWindowShell.cpp:
642         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
643         (WebCore::JSDOMWindowShell::setWindow):
644         (WebCore::toJSDOMWindowShell):
645         * bindings/js/JSDOMWindowShell.h:
646         (WebCore::JSDOMWindowShell::create):
647         (WebCore::JSDOMWindowShell::world):
648         * bindings/js/JSErrorHandler.cpp:
649         (WebCore::JSErrorHandler::JSErrorHandler):
650         * bindings/js/JSErrorHandler.h:
651         (WebCore::JSErrorHandler::create):
652         * bindings/js/JSEventListener.cpp:
653         (WebCore::JSEventListener::JSEventListener):
654         (WebCore::JSEventListener::handleEvent):
655         * bindings/js/JSEventListener.h:
656         (WebCore::JSEventListener::create):
657         (WebCore::JSEventListener::isolatedWorld):
658         * bindings/js/JSInjectedScriptHostCustom.cpp:
659         (WebCore::getJSListenerFunctions):
660         * bindings/js/JSLazyEventListener.cpp:
661         (WebCore::JSLazyEventListener::JSLazyEventListener):
662         * bindings/js/JSLazyEventListener.h:
663         * bindings/js/JSMutationCallback.cpp:
664         (WebCore::JSMutationCallback::JSMutationCallback):
665         (WebCore::JSMutationCallback::call):
666         * bindings/js/JSNodeCustom.cpp:
667         (WebCore::JSNodeOwner::finalize):
668         * bindings/js/JSPluginElementFunctions.h:
669         (WebCore::pluginElementCustomGetOwnPropertySlot):
670         * bindings/js/JSWorkerGlobalScopeBase.cpp:
671         (WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
672         * bindings/js/ScheduledAction.cpp:
673         (WebCore::ScheduledAction::create):
674         (WebCore::ScheduledAction::ScheduledAction):
675         (WebCore::ScheduledAction::execute):
676         * bindings/js/ScheduledAction.h:
677         (WebCore::ScheduledAction::ScheduledAction):
678         * bindings/js/ScriptCachedFrameData.cpp:
679         (WebCore::ScriptCachedFrameData::restore):
680         * bindings/js/ScriptCachedFrameData.h:
681         * bindings/js/ScriptController.cpp:
682         (WebCore::ScriptController::~ScriptController):
683         (WebCore::ScriptController::destroyWindowShell):
684         (WebCore::ScriptController::createWindowShell):
685         (WebCore::ScriptController::evaluateInWorld):
686         (WebCore::ScriptController::getAllWorlds):
687         (WebCore::ScriptController::initScript):
688         (WebCore::ScriptController::executeScriptInWorld):
689         (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
690         * bindings/js/ScriptController.h:
691         (WebCore::ScriptController::windowShell):
692         (WebCore::ScriptController::existingWindowShell):
693         (WebCore::ScriptController::globalObject):
694         * bindings/js/ScriptDebugServer.cpp:
695         (WebCore::ScriptDebugServer::isContentScript):
696         * bindings/js/ScriptState.cpp:
697         (WebCore::execStateFromNode):
698         (WebCore::execStateFromPage):
699         * bindings/js/ScriptState.h:
700         * bindings/js/SerializedScriptValue.cpp:
701         (WebCore::SerializedScriptValue::transferArrayBuffers):
702         * bindings/js/WebCoreJSClientData.h:
703         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
704         (WebCore::WebCoreJSClientData::normalWorld):
705         (WebCore::WebCoreJSClientData::getAllWorlds):
706         (WebCore::WebCoreJSClientData::rememberWorld):
707         (WebCore::WebCoreJSClientData::forgetWorld):
708         * bindings/js/WebCoreTypedArrayController.cpp:
709         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):
710         * bindings/scripts/CodeGeneratorJS.pm:
711         (GenerateHeader):
712         (GenerateImplementation):
713         * dom/Document.cpp:
714         (WebCore::Document::ensurePlugInsInjectedScript):
715         * dom/Document.h:
716         * dom/DocumentStyleSheetCollection.cpp:
717         * html/HTMLMediaElement.cpp:
718         (WebCore::HTMLMediaElement::ensureIsolatedWorld):
719         (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript):
720         (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
721         * html/HTMLMediaElement.h:
722         * html/HTMLPlugInImageElement.cpp:
723         (WebCore::plugInImageElementIsolatedWorld):
724         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
725         * inspector/InspectorAgent.cpp:
726         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
727         * inspector/InspectorAgent.h:
728         * inspector/InspectorController.cpp:
729         (WebCore::InspectorController::didClearWindowObjectInWorld):
730         * inspector/InspectorController.h:
731         * inspector/InspectorDOMAgent.cpp:
732         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
733         * inspector/InspectorInstrumentation.cpp:
734         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
735         * inspector/InspectorInstrumentation.h:
736         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
737         * inspector/InspectorPageAgent.cpp:
738         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
739         * inspector/InspectorPageAgent.h:
740         * loader/EmptyClients.h:
741         (WebCore::EmptyFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
742         * loader/FrameLoader.cpp:
743         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
744         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
745         (WebCore::FrameLoader::dispatchGlobalObjectAvailableInAllWorlds):
746         * loader/FrameLoader.h:
747         * loader/FrameLoaderClient.h:
748         (WebCore::FrameLoaderClient::dispatchGlobalObjectAvailable):
749         * page/CaptionUserPreferencesMediaAF.cpp:
750         * page/DOMWindowExtension.cpp:
751         (WebCore::DOMWindowExtension::DOMWindowExtension):
752         * page/DOMWindowExtension.h:
753         (WebCore::DOMWindowExtension::create):
754         (WebCore::DOMWindowExtension::world):
755         * page/Frame.cpp:
756         (WebCore::Frame::injectUserScripts):
757         (WebCore::Frame::injectUserScriptsForWorld):
758         * page/Frame.h:
759         * page/PageGroup.cpp:
760         (WebCore::PageGroup::addUserScriptToWorld):
761         (WebCore::PageGroup::addUserStyleSheetToWorld):
762         (WebCore::PageGroup::removeUserScriptFromWorld):
763         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
764         (WebCore::PageGroup::removeUserScriptsFromWorld):
765         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
766         * page/PageGroup.h:
767
768 2013-10-02  Zan Dobersek  <zdobersek@igalia.com>
769
770         Unreviewed, removing references to the recently removed Modules/filesystem directory.
771
772         * GNUmakefile.am:
773
774 2013-10-02  Mihai Maerean  <mmaerean@adobe.com>
775
776         [CSS Regions] Activate all regions to have layers, as CSS Regions create a new stacking context
777         https://bugs.webkit.org/show_bug.cgi?id=121828
778
779         Reviewed by Darin Adler.
780
781         The CSS Regions specification says "CSS Regions create a new stacking context." (http://dev.w3.org/csswg/css-regions/).
782
783         Divs that create stacking contexts are painted after the divs that don't create stacking contexts.
784
785         Test: fast/regions/layers/stacking-context-paint-order.html: While the existing region-sibling-paint-order.html
786         test verifies that regions paint correctly when the next sibling also creates a stacking context, this new test
787         verifies that regions paint correctly when the next sibling doesn't create a stacking context.
788
789         * rendering/RenderBlock.cpp: Remove code that is not needed now that all regions have layers.
790         * rendering/RenderBlock.h: Remove code that is not needed now that all regions have layers.
791         * rendering/RenderBox.cpp: Remove code that is not needed now that all regions have layers.
792         * rendering/RenderBox.h: Remove code that is not needed now that all regions have layers.
793         * rendering/RenderFlowThread.cpp:
794         (WebCore::RenderFlowThread::updateLayerToRegionMappings): Remove code that is not needed now that all regions have layers.
795         * rendering/RenderRegion.cpp:
796         (WebCore::RenderRegion::RenderRegion):
797         * rendering/RenderRegion.h:
798         (WebCore::RenderRegion::requiresLayer): Always. CSS Regions create Stacking Contexts. RenderMultiColumnSet
799         implements its own behaviour so the behaviour of each class is contained within its own files.
800         * rendering/RenderMultiColumnSet.h:
801         (WebCore::RenderMultiColumnSet::requiresLayer): RenderMultiColumnSet derives from RenderRegion, but unlike the
802         CSS Regions specification, the Multi-Columns CSS specification states that the column boxes do not establish new
803         Stacking Contexts.
804         * rendering/RenderTreeAsText.cpp:
805         (WebCore::writeRenderRegionList): There's no need to output " hasLayer" since all regions now have layers.
806
807 2013-10-02  Renata Hodovan  <reni@webkit.org>
808
809         HTML listbox is not resized horizontally when zooming
810         https://bugs.webkit.org/show_bug.cgi?id=20445
811
812         Reviewed by Darin Adler.
813
814         If any style changes happens on a HTMLSelectElement, we need to set the m_optionsChanged property
815         of its renderer (RenderListBox) otherwise its size won't follow the changed content.
816
817         Test: fast/transforms/listbox-zoom.html
818
819         * html/HTMLSelectElement.cpp:
820         (WebCore::HTMLSelectElement::didRecalcStyle):
821         * html/HTMLSelectElement.h:
822
823 2013-10-01  Santosh Mahto  <santosh.ma@samsung.com>
824
825         contenteditable justify commands applied to next paragraph as well
826         https://bugs.webkit.org/show_bug.cgi?id=90611
827
828         Reviewed by Ryosuke Niwa.
829
830         When the selection extends from first paragraph to start of next
831         paragraph then Justify command is applied to both the paragraph,
832         Instead it should be applied only to first paragraph.
833
834         Co-author: Sudarshan C P <sudarshan.cp@samsung.com>
835
836         Test: editing/execCommand/contenteditable-justify-next-paragraph.html
837
838         * editing/ApplyStyleCommand.cpp:
839         (WebCore::ApplyStyleCommand::applyBlockStyle):
840         Adjusted visibleEnd to previous position.
841
842 2013-10-01  Andreas Kling  <akling@apple.com>
843
844         Move mouse event dispatch from Node to Element.
845         <https://webkit.org/b/122203>
846
847         Reviewed by Anders Carlsson.
848
849         We never dispatch mouse events on text or other non-element nodes,
850         so move the related logic to using Element.
851
852         Node::dispatchMouseEvent() moves to Element. I also changed the
853         relatedTarget argument to be an Element* since the related target
854         is never a Node either.
855
856         Most of this patch is *Node -> *Element renames in EventHandler.
857
858 2013-10-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
859
860         Generate toCSSFooValue for CSS child values
861         https://bugs.webkit.org/show_bug.cgi?id=122157
862
863         Reviewed by Darin Adler.
864
865         As a step to cleanup static_cast<> for CSSFooValue, this patch adds toCSSFooValue()
866         for "CSSAspectRatioValue, CSSBorderImageSliceValue, CSSFunctionValue, CSSInheritedValue,
867         CSSValueList, CSSVariableValue, and CSSFontFaceSrcValue".
868
869         To use CSS_VALUE_TYPE_CASTS, isFunctionValue(), isFontFaceSrcValue() are added to
870         generate toCSSFunctionValue, toCSSFontFaceSrcValue().
871
872         No new tests, no behavior changes.
873
874         * css/CSSAspectRatioValue.h:
875         * css/CSSBorderImageSliceValue.h:
876         * css/CSSFontFaceSrcValue.h:
877         * css/CSSFontSelector.cpp:
878         (WebCore::CSSFontSelector::addFontFaceRule):
879         * css/CSSFunctionValue.h:
880         * css/CSSInheritedValue.h:
881         * css/CSSParser.cpp:
882         (WebCore::filterProperties):
883         (WebCore::CSSParser::addFillValue):
884         (WebCore::CSSParser::addAnimationValue):
885         (WebCore::CSSParser::createFontFaceRule):
886         * css/CSSProperty.cpp:
887         (WebCore::CSSProperty::wrapValueInCommaSeparatedList):
888         * css/CSSToStyleMap.cpp:
889         (WebCore::CSSToStyleMap::mapNinePieceImage):
890         (WebCore::CSSToStyleMap::mapNinePieceImageSlice):
891         * css/CSSValue.cpp:
892         (WebCore::CSSValue::destroy):
893         * css/CSSValue.h:
894         (WebCore::CSSValue::isFunctionValue):
895         (WebCore::CSSValue::isFontFaceSrcValue):
896         * css/CSSValueList.h:
897         (WebCore::CSSValueListInspector::CSSValueListInspector):
898         * css/CSSVariableValue.h:
899         * css/DeprecatedStyleBuilder.cpp:
900         (WebCore::ApplyPropertyFillLayer::applyValue):
901         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
902         (WebCore::ApplyPropertyCounter::applyValue):
903         (WebCore::ApplyPropertyCursor::applyValue):
904         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
905         (WebCore::ApplyPropertyAspectRatio::applyValue):
906         (WebCore::ApplyPropertyImageResolution::applyValue):
907         (WebCore::ApplyPropertyTextIndent::applyValue):
908         * css/MediaQueryEvaluator.cpp:
909         (WebCore::compareAspectRatioValue):
910         * css/SVGCSSStyleSelector.cpp:
911         (WebCore::StyleResolver::applySVGProperty):
912         * css/StylePropertySet.cpp:
913         (WebCore::StylePropertySet::getLayeredShorthandValue):
914         * css/StyleResolver.cpp:
915         (WebCore::createGridPosition):
916         (WebCore::StyleResolver::applyProperty):
917         (WebCore::StyleResolver::parseCustomFilterParameter):
918         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
919         * editing/EditingStyle.cpp:
920         (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle):
921         (WebCore::EditingStyle::mergeStyle):
922         (WebCore::StyleChange::extractTextStyles):
923         (WebCore::diffTextDecorations):
924         * editing/EditorCommand.cpp:
925         (WebCore::executeToggleStyleInList):
926         * svg/SVGFontFaceElement.cpp:
927         (WebCore::SVGFontFaceElement::rebuildFontFace):
928
929 2013-10-01  Sam Weinig  <sam@webkit.org>
930
931         Convert PageGroup to using std::unique_ptr
932         https://bugs.webkit.org/show_bug.cgi?id=122184
933
934         Reviewed by Anders Carlsson.
935
936         * page/CaptionUserPreferences.cpp:
937         * page/CaptionUserPreferences.h:
938         * page/CaptionUserPreferencesMediaAF.cpp:
939         * page/CaptionUserPreferencesMediaAF.h:
940         * page/Frame.cpp:
941         * page/GroupSettings.h:
942         * page/Page.cpp:
943         * page/PageGroup.cpp:
944         * page/PageGroup.h:
945         * page/UserScriptTypes.h:
946         * page/UserStyleSheetTypes.h:
947         * workers/DedicatedWorkerGlobalScope.h:
948         * workers/DedicatedWorkerThread.cpp:
949         * workers/DedicatedWorkerThread.h:
950         * workers/SharedWorkerGlobalScope.cpp:
951         * workers/SharedWorkerGlobalScope.h:
952         * workers/SharedWorkerThread.cpp:
953         * workers/SharedWorkerThread.h:
954         * workers/WorkerGlobalScope.cpp:
955         * workers/WorkerGlobalScope.h:
956         * workers/WorkerThread.cpp:
957         * workers/WorkerThread.h:
958
959 2013-10-01  Tim Horton  <timothy_horton@apple.com>
960
961         Tiled drawing GraphicsLayer tree dumps should match non-tiled more closely
962         https://bugs.webkit.org/show_bug.cgi?id=122172
963
964         Reviewed by Anders Carlsson.
965
966         No new tests, but will be tested by all of the compositing tests after bug 121859 lands.
967
968         * platform/graphics/GraphicsLayer.cpp:
969         (WebCore::GraphicsLayer::dumpProperties):
970         Only dump drawsContent and backgroundColor if the client says we should.
971         Provide the ability to skip over a layer in the dump, making it appear as if that layer's
972         children are direct decendents of that layer's parent.
973
974         * platform/graphics/GraphicsLayerClient.h:
975         (WebCore::GraphicsLayerClient::shouldSkipLayerInDump): Added.
976         (WebCore::GraphicsLayerClient::shouldDumpPropertyForLayer): Added.
977
978         * rendering/RenderLayerBacking.cpp:
979         (WebCore::RenderLayerBacking::shouldSkipLayerInDump):
980         Added. Always skip the root tile cache's flattening layer, as it is
981         uninteresting and does not exist in the non-tiled-drawing compositing case.
982
983         (WebCore::RenderLayerBacking::shouldDumpPropertyForLayer):
984         Don't dump drawsContent on the root tile cache.
985         Don't dump backgroundcolor on the root tile cache, unless it is non-white.
986         This may require some WebKit2-specific rebaselines, but they will occur later.
987
988         * rendering/RenderLayerBacking.h:
989         * rendering/RenderLayerCompositor.cpp:
990         (WebCore::RenderLayerCompositor::updateBacking):
991         (WebCore::RenderLayerCompositor::layerTreeAsText):
992         If the root tile cache has no composited children, don't dump anything,
993         to match the traditional case where we drop out of compositing when
994         we have no reason to be compositing. Except, do dump the root tile cache's
995         layers if we're specifically being asked to dump tile caches.
996
997 2013-10-01  Joone Hur  <joone.hur@intel.com>
998
999         Quirksmode: CSS1: WebKit fails dynamic :first-letter test
1000         https://bugs.webkit.org/show_bug.cgi?id=15602
1001
1002         Reviewed by David Hyatt.
1003
1004         CSS first-letter property does not work properly when the first letter is changed 
1005         by DOM scripting. 
1006         This patch allows to check if the existing first-letter is no longer the
1007         first-letter. In this case, it deletes the old first-letter object and creates 
1008         a new one. For the remaining text, the oldRemainingText object is used 
1009         again for containing the full text(first letter + remaining text). 
1010
1011         Test: fast/css/first-letter-block-change.html
1012
1013         * rendering/RenderBlock.cpp:
1014         (WebCore::RenderBlock::updateFirstLetter):
1015
1016 2013-10-01  Antti Koivisto  <antti@apple.com>
1017
1018         Make tests for renderer base types non-virtual
1019         https://bugs.webkit.org/show_bug.cgi?id=122185
1020
1021         Reviewed by Dave Hyatt.
1022
1023         Make isRenderFoo() functions for commonly tested base types use bit flags instead of virtual calls.
1024         This is faster and we have space in RenderElement.
1025         
1026         These bits are not mutully exclusive. For testing leaf types we can add an enum.
1027
1028 2013-10-01  Ryosuke Niwa  <rniwa@webkit.org>
1029
1030         Cleanup Document::dispatchFullScreenChangeOrErrorEvent
1031         https://bugs.webkit.org/show_bug.cgi?id=122143
1032
1033         Reviewed by Antti Koivisto.
1034
1035         Reduce the code duplication by extracting dispatchFullScreenChangeOrErrorEvent.
1036
1037         * dom/Document.cpp:
1038         (WebCore::Document::fullScreenChangeDelayTimerFired):
1039         (WebCore::Document::dispatchFullScreenChangeOrErrorEvent): Extracted.
1040         * dom/Document.h:
1041
1042 2013-10-01  Brent Fulgham  <bfulgham@apple.com>
1043
1044         [Win] Implement the media controls in JavaScript 
1045         https://bugs.webkit.org/show_bug.cgi?id=122166
1046
1047         Reviewed by Jer Noble.
1048
1049         * DerivedSources.make: Uncomment feature flag test.
1050         * WebCore.vcxproj/WebCore.vcxproj: Add new media control implementation files.
1051         Also cleaned up some misplaced files in the project tree.
1052         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1053         * WebCore.vcxproj/WebCoreCommon.props: Add missing include path for the
1054         mediacontrols path.
1055         * WebCore.vcxproj/copyForwardingHeaders.cmd: Add Modules/mediacontrols to copied headers.
1056         * rendering/RenderThemeWin.cpp: Add missing include for UserAgentScripts.
1057
1058 2013-10-01  Alex Christensen  <achristensen@webkit.org>
1059
1060         Added adoptCOM to COMPtr on Windows.
1061         https://bugs.webkit.org/show_bug.cgi?id=122069
1062
1063         Reviewed by Brent Fulgham.
1064
1065         * platform/win/COMPtr.h:
1066         (adoptCOM): Added.
1067
1068 2013-10-01  Jer Noble  <jer.noble@apple.com>
1069
1070         Unreviewed build fix; The addedFunction and removedFunction arguments to determineChangedTracksFromNewTracksAndOldItems
1071         were reversed, exposing an underlying, existing bug in AudioTrackPrivate and VideoTrack private. Give a default (null)
1072         value to AudioTrackPrivate::m_client and VideoTrackPrivate::m_client and fix the ordering of arguments in
1073         determineChangedTracksFromNewTracksAndOldItems.
1074
1075         * platform/graphics/AudioTrackPrivate.h:
1076         (WebCore::AudioTrackPrivate::AudioTrackPrivate):
1077         * platform/graphics/VideoTrackPrivate.h:
1078         (WebCore::VideoTrackPrivate::VideoTrackPrivate):
1079         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1080         (WebCore::determineChangedTracksFromNewTracksAndOldItems):
1081
1082 2013-09-30  Jer Noble  <jer.noble@apple.com>
1083
1084         [Mac] Add support for VideoTrack to MediaPlayerPrivateAVFObjC
1085         https://bugs.webkit.org/show_bug.cgi?id=122122
1086
1087         Reviewed by Eric Carlson.
1088
1089         Test: media/track/video-track.html
1090
1091         Refactor the methods which query AVAssetTrack and AVPlayerItemTrack into an Impl class, and
1092         use that class to reset the properties of both AudioTrackAVFObjC and the new VideoTrackAVFObjC.
1093
1094         Add new files to project:
1095         * WebCore.xcodeproj/project.pbxproj:
1096
1097         Add the new implementation class, shared by AudioTrackAVFObjC and VideoTrackAVFObjC:
1098         * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h: Added.
1099         (WebCore::AVTrackPrivateAVFObjCImpl::create): Simple factory.
1100         (WebCore::AVTrackPrivateAVFObjCImpl::playerItemTrack): Simple getter.
1101         * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm: Added.
1102         (WebCore::AVTrackPrivateAVFObjCImpl::AVTrackPrivateAVFObjCImpl): Simple constructor.
1103         (WebCore::AVTrackPrivateAVFObjCImpl::enabled): Pass to AVPlayerItemTrack.
1104         (WebCore::AVTrackPrivateAVFObjCImpl::setEnabled): Ditto.
1105         (WebCore::AVTrackPrivateAVFObjCImpl::audioKind): Distinguish between Alternative and Main content.
1106         (WebCore::AVTrackPrivateAVFObjCImpl::videoKind): Distinguish between Alternative, Main, Caption,
1107             and Description content.
1108         (WebCore::AVTrackPrivateAVFObjCImpl::id): Pass to AVAssetTrack.
1109         (WebCore::AVTrackPrivateAVFObjCImpl::label): Retrieve the Title metadata in the user's preferred
1110             language.
1111         (WebCore::AVTrackPrivateAVFObjCImpl::language): Pass to languageForAVAssetTrack.
1112         (WebCore::AVTrackPrivateAVFObjCImpl::languageForAVAssetTrack): Moved from AudioTrackPrivateAVFObjC.
1113         * platform/graphics/avfoundation/VideoTrackPrivateAVF.h: Copied from Source/WebCore/platform/graphics/avfoundation/AudioTrackPrivateAVF.h.
1114         (WebCore::VideoTrackPrivateAVF::kind): Simple getter.
1115         (WebCore::VideoTrackPrivateAVF::id): Ditto.
1116         (WebCore::VideoTrackPrivateAVF::label): Ditto.
1117         (WebCore::VideoTrackPrivateAVF::language): Ditto.
1118         (WebCore::VideoTrackPrivateAVF::setKind): Simple setter.
1119         (WebCore::VideoTrackPrivateAVF::setId): Ditto.
1120         (WebCore::VideoTrackPrivateAVF::setLabel): Ditto.
1121         (WebCore::VideoTrackPrivateAVF::setLanguage): Ditto.
1122         (WebCore::VideoTrackPrivateAVF::VideoTrackPrivateAVF): Simple constructor.
1123         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h:
1124         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
1125         (WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC): Create a AVTrackPrivateAVFObjCImpl.
1126         (WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack): Retrieve properties from m_impl.
1127         (WebCore::AudioTrackPrivateAVFObjC::setPlayerItemTrack): Create a new AVTrackPrivateAVFObjCImpl.
1128         (WebCore::AudioTrackPrivateAVFObjC::playerItemTrack): Pass to m_impl.
1129         (WebCore::AudioTrackPrivateAVFObjC::setEnabled): Ditto.
1130         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1131         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1132         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Refactor implementation into
1133             template method determineChangedTracksFromNewTracksAndOldItems().
1134         (WebCore::determineChangedTracksFromNewTracksAndOldItems): Refactored.
1135         (WebCore::MediaPlayerPrivateAVFoundationObjC::updateAudioTracks): Pass to determineChangedTracksFromNewTracksAndOldItems.
1136         (WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoTracks): Ditto.
1137         (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Changed class hosting
1138             languageForAVAssetTrack.
1139         * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp: Added.
1140         (WebCore::VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC): Create a AVTrackPrivateAVFObjCImpl.
1141         (WebCore::VideoTrackPrivateAVFObjC::resetPropertiesFromTrack): Retrieve properties from m_impl.
1142         (WebCore::VideoTrackPrivateAVFObjC::setPlayerItemTrack): Create a new AVTrackPrivateAVFObjCImpl.
1143         (WebCore::VideoTrackPrivateAVFObjC::playerItemTrack): Pass to m_impl.
1144         (WebCore::VideoTrackPrivateAVFObjC::setSelected): Ditto.
1145         * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h: Added.
1146         (WebCore::VideoTrackPrivateAVFObjC::create): Simple factory.
1147
1148 2013-10-01  Andreas Kling  <akling@apple.com>
1149
1150         Leaf EventTarget subclasses should be FINAL.
1151         <https://webkit.org/b/122141>
1152
1153         Reviewed by Darin Adler.
1154
1155         Clear out a slew of FIXMEs now that HasMemoryCostMemberFunction
1156         works on classes marked FINAL (fixed in bug 121747.)
1157
1158 2013-10-01  Szabolcs D├ívid  <davidsz@inf.u-szeged.hu>
1159
1160         Rename URL type variables in Curl network backend.
1161         https://bugs.webkit.org/show_bug.cgi?id=122158
1162
1163         Reviewed by Darin Adler.
1164
1165         I changed the name of the URL objects to match with the new class name.
1166
1167         * platform/network/curl/ResourceHandleManager.cpp:
1168         (WebCore::getProtectionSpace):
1169         (WebCore::ResourceHandleManager::initializeHandle):
1170
1171 2013-10-01  Myles C. Maxfield  <mmaxfield@apple.com>
1172
1173         Center misspelling dots across width of word
1174         https://bugs.webkit.org/show_bug.cgi?id=122046
1175
1176         Reviewed by Darin Adler.
1177
1178         Test: editing/spelling/spelling.html
1179
1180         * platform/graphics/GraphicsContext.h:
1181         * platform/graphics/mac/GraphicsContextMac.mm:
1182         (WebCore::GraphicsContext::drawLineForDocumentMarker):
1183
1184 2013-10-01  Daniel Bates  <dabates@apple.com>
1185
1186         [iOS] WebCore fails to build with newer versions of clang
1187         https://bugs.webkit.org/show_bug.cgi?id=122161
1188
1189         Reviewed by Darin Adler.
1190
1191         * editing/FrameSelection.cpp: Add ENABLE(TEXT_CARET)-guard around shouldStopBlinkingDueToTypingCommand().
1192         * page/EventHandler.cpp: Add !PLATFORM(IOS)-guard around constants cursorUpdateInterval and maximumCursorSize;
1193         also add touch event/gesture event guard around shouldGesturesTriggerActive().
1194         * platform/network/cf/ResourceResponseCFNet.cpp: Remove unused function filenameHasSaneExtension.
1195         * platform/network/mac/ResourceResponseMac.mm: Only define static variables commonHeaderFields when building
1196         without CFNetwork; also remove variable numCommonHeaderFields, instead use WTF_ARRAY_LENGTH(commonHeaderFields)
1197         to compute the size of the fixed-sized array commonHeaderFields.
1198
1199 2013-10-01  Brendan Long  <b.long@cablelabs.com>
1200
1201         [GStreamer] Support "chapter" text tracks
1202         https://bugs.webkit.org/show_bug.cgi?id=122000
1203
1204         Reviewed by Eric Carlson.
1205
1206         Test: media/track/in-band/track-in-band-mkv-chapters.html
1207
1208         * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h: New class, needed for cues that aren't associated with GstPads.
1209         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1210         (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Check for table of contents messages.
1211         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContents): Parse table of contents messages into text tracks.
1212         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry): Recursive method for parsing all of the TOC entries.
1213         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Add the processTableOfContents functions.
1214
1215 2013-10-01  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1216
1217         [Texmap] CSS filter not working on software composited layers
1218         https://bugs.webkit.org/show_bug.cgi?id=122159
1219
1220         Reviewed by Noam Rosenthal.
1221
1222         Tell the rendering layer we do not support CSS filters when we do not. This
1223         will make RenderLayer fall back to using its own software implementation.
1224
1225         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1226         (WebCore::GraphicsLayerTextureMapper::setFilters):
1227         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
1228         (WebCore::BitmapTextureImageBuffer::applyFilters):
1229
1230 2013-10-01  Darin Adler  <darin@apple.com>
1231
1232         Try to fix assertion failures seem on bots.
1233
1234         * css/StyleResolver.cpp:
1235         (WebCore::StyleResolver::createFilterOperations): Rearrange code so this
1236         won't try ot call toCSSPrimitiveValue on a non-primitive-value in the
1237         DROP_SHADOW case.
1238
1239 2013-10-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1240
1241         Generate toCSSFooValue for CSSPrimitiveValue
1242         https://bugs.webkit.org/show_bug.cgi?id=122101
1243
1244         Reviewed by Antti Koivisto.
1245
1246         As a step of clean-up static_cast<> in CSSValues, this patch generates
1247         toCSSFooPrimitiveValue() in order to detect bad casts as well as improves
1248         code readability.
1249
1250         No new tests, no behavior changes.
1251
1252         * css/CSSFontSelector.cpp:
1253         (WebCore::CSSFontSelector::addFontFaceRule):
1254         * css/CSSImageGeneratorValue.cpp:
1255         (WebCore::CSSImageGeneratorValue::subimageIsPending):
1256         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
1257         * css/CSSImageSetValue.cpp:
1258         (WebCore::CSSImageSetValue::fillImageSet):
1259         * css/CSSParser.cpp:
1260         (WebCore::CSSParser::parseColor):
1261         (WebCore::CSSParser::addProperty):
1262         (WebCore::CSSParser::parse3ValuesFillPosition):
1263         (WebCore::CSSParser::parseFillPosition):
1264         (WebCore::CSSParser::parseFillRepeat):
1265         (WebCore::CSSParser::parseDeprecatedRadialGradient):
1266         (WebCore::CSSParser::parseRadialGradient):
1267         * css/CSSPrimitiveValue.h:
1268         * css/CSSToStyleMap.cpp:
1269         (WebCore::CSSToStyleMap::mapFillAttachment):
1270         (WebCore::CSSToStyleMap::mapFillClip):
1271         (WebCore::CSSToStyleMap::mapFillComposite):
1272         (WebCore::CSSToStyleMap::mapFillBlendMode):
1273         (WebCore::CSSToStyleMap::mapFillOrigin):
1274         (WebCore::CSSToStyleMap::mapFillRepeatX):
1275         (WebCore::CSSToStyleMap::mapFillRepeatY):
1276         (WebCore::CSSToStyleMap::mapFillSize):
1277         (WebCore::CSSToStyleMap::mapFillXPosition):
1278         (WebCore::CSSToStyleMap::mapFillYPosition):
1279         (WebCore::CSSToStyleMap::mapFillMaskSourceType):
1280         (WebCore::CSSToStyleMap::mapAnimationDelay):
1281         (WebCore::CSSToStyleMap::mapAnimationDirection):
1282         (WebCore::CSSToStyleMap::mapAnimationDuration):
1283         (WebCore::CSSToStyleMap::mapAnimationFillMode):
1284         (WebCore::CSSToStyleMap::mapAnimationIterationCount):
1285         (WebCore::CSSToStyleMap::mapAnimationName):
1286         (WebCore::CSSToStyleMap::mapAnimationPlayState):
1287         (WebCore::CSSToStyleMap::mapAnimationProperty):
1288         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
1289         (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
1290         (WebCore::CSSToStyleMap::mapNinePieceImageRepeat):
1291         * css/CSSValue.cpp:
1292         (WebCore::CSSValue::destroy):
1293         * css/DeprecatedStyleBuilder.cpp:
1294         (WebCore::ApplyPropertyDefault::applyValue):
1295         (WebCore::ApplyPropertyNumber::applyValue):
1296         (WebCore::ApplyPropertyAuto::applyValue):
1297         (WebCore::ApplyPropertyClip::applyValue):
1298         (WebCore::ApplyPropertyColor::applyValue):
1299         (WebCore::ApplyPropertyLength::applyValue):
1300         (WebCore::ApplyPropertyString::applyValue):
1301         (WebCore::ApplyPropertyBorderRadius::applyValue):
1302         (WebCore::ApplyPropertyComputeLength::applyValue):
1303         (WebCore::ApplyPropertyFont::applyValue):
1304         (WebCore::ApplyPropertyFontFamily::applyValue):
1305         (WebCore::ApplyPropertyFontSize::applyValue):
1306         (WebCore::ApplyPropertyFontWeight::applyValue):
1307         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
1308         (WebCore::ApplyPropertyCounter::applyValue):
1309         (WebCore::ApplyPropertyCursor::applyValue):
1310         (WebCore::ApplyPropertyTextAlign::applyValue):
1311         (WebCore::ApplyPropertyTextDecoration::applyValue):
1312         (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
1313         (WebCore::ApplyPropertyMarqueeRepetition::applyValue):
1314         (WebCore::ApplyPropertyMarqueeSpeed::applyValue):
1315         (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
1316         (WebCore::ApplyPropertyLineHeight::applyValue):
1317         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
1318         (WebCore::ApplyPropertyPageSize::applyValue):
1319         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
1320         (WebCore::ApplyPropertyResize::applyValue):
1321         (WebCore::ApplyPropertyVerticalAlign::applyValue):
1322         (WebCore::ApplyPropertyZoom::applyValue):
1323         (WebCore::ApplyPropertyDisplay::applyValue):
1324         (WebCore::ApplyPropertyClipPath::applyValue):
1325         (WebCore::ApplyPropertyShape::applyValue):
1326         (WebCore::ApplyPropertyImageResolution::applyValue):
1327         (WebCore::ApplyPropertyTextIndent::applyValue):
1328         * css/MediaList.cpp:
1329         (WebCore::reportMediaQueryWarningIfNeeded):
1330         * css/MediaQueryEvaluator.cpp:
1331         (WebCore::numberValue):
1332         (WebCore::orientationMediaFeatureEval):
1333         (WebCore::evalResolution):
1334         (WebCore::device_pixel_ratioMediaFeatureEval):
1335         (WebCore::resolutionMediaFeatureEval):
1336         (WebCore::computeLength):
1337         (WebCore::view_modeMediaFeatureEval):
1338         (WebCore::pointerMediaFeatureEval):
1339         * css/SVGCSSStyleSelector.cpp:
1340         (WebCore::StyleResolver::applySVGProperty):
1341         * css/StylePropertySet.cpp:
1342         (WebCore::StylePropertySet::getLayeredShorthandValue):
1343         * css/StyleResolver.cpp:
1344         (WebCore::createGridTrackSize):
1345         (WebCore::createGridTrackList):
1346         (WebCore::createGridPosition):
1347         (WebCore::hasVariableReference):
1348         (WebCore::StyleResolver::applyProperty):
1349         (WebCore::StyleResolver::parseCustomFilterArrayParameter):
1350         (WebCore::StyleResolver::parseCustomFilterColorParameter):
1351         (WebCore::StyleResolver::parseCustomFilterNumberParameter):
1352         (WebCore::StyleResolver::parseCustomFilterParameter):
1353         (WebCore::StyleResolver::parseCustomFilterParameterList):
1354         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
1355         (WebCore::StyleResolver::createFilterOperations):
1356         * css/TransformFunctions.cpp:
1357         (WebCore::transformsForValue):
1358         * css/ViewportStyleResolver.cpp:
1359         (WebCore::ViewportStyleResolver::getViewportArgumentValue):
1360         * css/WebKitCSSMatrix.cpp:
1361         (WebCore::WebKitCSSMatrix::setMatrixValue):
1362         * editing/ApplyStyleCommand.cpp:
1363         (WebCore::ApplyStyleCommand::computedFontSize):
1364         * editing/EditingStyle.cpp:
1365         (WebCore::identifierForStyleProperty):
1366         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
1367         (WebCore::cssValueToRGBA):
1368         (WebCore::EditingStyle::extractFontSizeDelta):
1369         (WebCore::EditingStyle::textDirection):
1370         (WebCore::EditingStyle::prepareToApplyAt):
1371         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
1372         (WebCore::EditingStyle::legacyFontSize):
1373         (WebCore::EditingStyle::textDirectionForSelection):
1374         (WebCore::StyleChange::extractTextStyles):
1375         (WebCore::fontWeightIsBold):
1376         (WebCore::isTransparentColorValue):
1377         * editing/markup.cpp:
1378         (WebCore::propertyMissingOrEqualToNone):
1379
1380 2013-10-01  Darin Adler  <darin@apple.com>
1381
1382         Try to fix AVFoundation crashes seen on Lion bot.
1383
1384         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
1385         Four AVFoundation string constants used in this file were new to 10.8.
1386         For older versions of OS X, use hard-coded string constants instead.
1387
1388 2013-10-01  Zan Dobersek  <zdobersek@igalia.com>
1389
1390         [IndexedDB] Interfaces inheriting from EventTarget should generate JSC (un)wrapping functions
1391         https://bugs.webkit.org/show_bug.cgi?id=122114
1392
1393         Reviewed by Darin Adler.
1394
1395         After r156590, four IndexedDB interfaces are inheriting from the EventTarget interface. Because of that,
1396         they're now required to have interface-specific JSC wrapping and unwrapping functions generated since the
1397         JSC wrapping and unwrapping functions for the EventTarget interface delegate these operations to these
1398         interface-specific functions. If the functions are not generated and accessible, the EventTarget functions
1399         end up recursively calling themselves.
1400
1401         * Modules/indexeddb/IDBDatabase.idl:
1402         * Modules/indexeddb/IDBOpenDBRequest.idl:
1403         * Modules/indexeddb/IDBRequest.idl:
1404         * Modules/indexeddb/IDBTransaction.idl:
1405
1406 2013-09-30  Ryuan Choi  <ryuan.choi@samsung.com>
1407
1408         Build fix for EFL, Qt, Gtk port after r156688
1409         https://bugs.webkit.org/show_bug.cgi?id=122139
1410
1411         Reviewed by Anders Carlsson.
1412
1413         Get rid of more uses of OwnPtr and PassOwnPtr.
1414
1415         * platform/graphics/surfaces/GraphicsSurface.cpp:
1416         (WebCore::GraphicsSurface::beginPaint):
1417         * platform/graphics/surfaces/GraphicsSurface.h:
1418         * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
1419         (WebCore::GraphicsSurface::platformBeginPaint):
1420         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
1421         (WebCore::GraphicsSurface::platformBeginPaint):
1422         * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp:
1423         (WebCore::GraphicsSurface::platformBeginPaint):
1424
1425 2013-09-30  Sam White  <samuel_white@apple.com>
1426
1427         AX: Expose ARIA Busy Notifications
1428         https://bugs.webkit.org/show_bug.cgi?id=121451
1429
1430         Reviewed by Chris Fleizach.
1431
1432         Added AXElementBusyChanged notification that posts when aria-busy is toggled. This
1433         enables screen readers to detect busy states without polling the focused element.
1434
1435         Test: platform/mac/accessibility/element-busy-changed.html
1436
1437         * accessibility/AXObjectCache.cpp:
1438         (WebCore::AXObjectCache::handleAttributeChanged):
1439         * accessibility/AXObjectCache.h:
1440         * accessibility/mac/AXObjectCacheMac.mm:
1441         (WebCore::AXObjectCache::postPlatformNotification):
1442
1443 2013-09-30  Sam Weinig  <sam@webkit.org>
1444
1445         Fixing the build.
1446
1447         * GNUmakefile.list.am:
1448
1449 2013-09-30  Sam Weinig  <sam@webkit.org>
1450
1451         More build fixing.
1452
1453         * GNUmakefile.list.am:
1454         * WebCore.vcxproj/WebCore.vcxproj.filters:
1455         * inspector/InspectorAllInOne.cpp:
1456         * inspector/InstrumentingAgents.h:
1457
1458 2013-09-30  Sam Weinig  <sam@webkit.org>
1459
1460         Fix the Efl and Gtk builds.
1461
1462         * GNUmakefile.list.am:
1463         * PlatformEfl.cmake:
1464         * PlatformGTK.cmake:
1465
1466 2013-09-30  Sam Weinig  <sam@webkit.org>
1467
1468         Remove support for DOMFileSystem
1469         https://bugs.webkit.org/show_bug.cgi?id=122137
1470
1471         Reviewed by Anders Carlsson.
1472
1473         * Files elided *
1474
1475 2013-09-30  Brent Fulgham  <bfulgham@apple.com>
1476
1477         [Windows] Build fix afer r156688.
1478
1479         * fileapi/ThreadableBlobRegistry.cpp:
1480         (WebCore::ThreadableBlobRegistry::registerBlobURL): Switch to std::unique_ptr in
1481         method implementation.
1482
1483 2013-09-30  Anders Carlsson  <andersca@apple.com>
1484
1485         Get rid of more uses of OwnPtr and PassOwnPtr
1486         https://bugs.webkit.org/show_bug.cgi?id=122136
1487
1488         Reviewed by Antti Koivisto.
1489
1490         * Modules/websockets/WebSocket.cpp:
1491         (WebCore::WebSocket::didReceiveBinaryData):
1492         * WebCore.exp.in:
1493         * fileapi/Blob.cpp:
1494         (WebCore::Blob::Blob):
1495         (WebCore::Blob::slice):
1496         * fileapi/Blob.h:
1497         (WebCore::Blob::create):
1498         * fileapi/File.cpp:
1499         (WebCore::createBlobDataForFileWithType):
1500         (WebCore::createBlobDataForFile):
1501         (WebCore::createBlobDataForFileWithName):
1502         * fileapi/ThreadableBlobRegistry.cpp:
1503         (WebCore::BlobRegistryContext::BlobRegistryContext):
1504         (WebCore::registerBlobURLTask):
1505         (WebCore::ThreadableBlobRegistry::registerBlobURL):
1506         * fileapi/ThreadableBlobRegistry.h:
1507         * fileapi/WebKitBlobBuilder.cpp:
1508         (WebCore::BlobBuilder::getBlob):
1509         * platform/network/BlobData.cpp:
1510         (WebCore::BlobDataHandle::BlobDataHandle):
1511         * platform/network/BlobData.h:
1512         (WebCore::BlobData::BlobData):
1513         (WebCore::BlobDataHandle::create):
1514         * platform/network/BlobRegistry.h:
1515         * platform/network/BlobRegistryImpl.cpp:
1516         (WebCore::BlobRegistryImpl::registerBlobURL):
1517         * platform/network/BlobRegistryImpl.h:
1518         * xml/XMLHttpRequest.cpp:
1519         (WebCore::XMLHttpRequest::responseBlob):
1520
1521 2013-09-30  Benjamin Poulain  <benjamin@webkit.org>
1522
1523         Remove the code guarded by STYLE_SCOPED
1524         https://bugs.webkit.org/show_bug.cgi?id=122123
1525
1526         Reviewed by Anders Carlsson.
1527
1528         Start cleaning the code related to <style scoped>. This patch
1529         only removes the code with #ifdef guards.
1530
1531         * Configurations/FeatureDefines.xcconfig:
1532         * WebCore.exp.in:
1533         * bindings/generic/RuntimeEnabledFeatures.cpp:
1534         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
1535         * bindings/generic/RuntimeEnabledFeatures.h:
1536         * css/DocumentRuleSets.cpp:
1537         (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
1538         * css/ElementRuleCollector.cpp:
1539         (WebCore::ElementRuleCollector::matchScopedAuthorRules):
1540         * css/StyleResolver.cpp:
1541         (WebCore::StyleResolver::locateCousinList):
1542         (WebCore::StyleResolver::canShareStyleWithElement):
1543         (WebCore::StyleResolver::locateSharedStyle):
1544         * css/StyleResolver.h:
1545         (WebCore::StyleResolver::ensureScopeResolver):
1546         * css/StyleScopeResolver.cpp:
1547         * css/StyleScopeResolver.h:
1548         * dom/Node.cpp:
1549         * dom/Node.h:
1550         * dom/ShadowRoot.cpp:
1551         (WebCore::ShadowRoot::ShadowRoot):
1552         * dom/ShadowRoot.h:
1553         * html/HTMLStyleElement.cpp:
1554         (WebCore::HTMLStyleElement::HTMLStyleElement):
1555         (WebCore::HTMLStyleElement::parseAttribute):
1556         (WebCore::HTMLStyleElement::insertedInto):
1557         (WebCore::HTMLStyleElement::removedFrom):
1558         * html/HTMLStyleElement.h:
1559         * html/HTMLStyleElement.idl:
1560         * testing/InternalSettings.cpp:
1561         (WebCore::InternalSettings::Backup::Backup):
1562         (WebCore::InternalSettings::Backup::restoreTo):
1563         * testing/InternalSettings.h:
1564         * testing/InternalSettings.idl:
1565         * testing/Internals.cpp:
1566         * testing/Internals.h:
1567         * testing/Internals.idl:
1568
1569 2013-09-30  Drew Yao  <ayao@apple.com>
1570
1571         ASSERT(!m_hasBadParent) in InlineBox::parent() should be ASSERT_WITH_SECURITY_IMPLICATION
1572         https://bugs.webkit.org/show_bug.cgi?id=122032
1573
1574         Reviewed by Andreas Kling.
1575
1576         Convert assertion to ASSERT_WITH_SECURITY_IMPLICATION to help catch use after free bugs.
1577
1578         No new tests needed.
1579
1580         * rendering/InlineBox.h:
1581         (WebCore::InlineBox::parent):
1582
1583 2013-09-30  Yongjun Zhang  <yongjun_zhang@apple.com>
1584
1585         Don't attempt to destroy decoded frame if a BitmapImage doesn't have encoded raw data.
1586         https://bugs.webkit.org/show_bug.cgi?id=122115
1587
1588         Reviewed by Daniel Bates.
1589
1590         With BitmapImage::create(PassNativeImagePtr, ImageObserver*), a BitmapImage could be created by
1591         passing a native image.  If this image is added to memory cache, we shouldn't attempt to destroy
1592         its decoded frames since there is no encoded raw data and we won't be able to reconstruct the image again.
1593
1594         No new tests for now. Currently there isn't a code path to add to the memory cache a BitmapImage
1595         that was created by adopting a native image. We'll add such a code path in a subsequent patch.
1596
1597         * platform/graphics/BitmapImage.cpp:
1598         (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
1599
1600 2013-09-30  Brady Eidson  <beidson@apple.com>
1601
1602         Remove IDBTracing.h.
1603         https://bugs.webkit.org/show_bug.cgi?id=122118
1604
1605         Reviewed by Alexey Proskuryakov.
1606
1607         Global replace of "IDB_TRACE" with "LOG(StorageAPI)", and remove all notions of this header.
1608
1609         * GNUmakefile.list.am:
1610
1611         * Modules/indexeddb/IDBCursor.cpp:
1612         * Modules/indexeddb/IDBDatabase.cpp:
1613         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
1614         * Modules/indexeddb/IDBFactory.cpp:
1615         * Modules/indexeddb/IDBIndex.cpp:
1616         * Modules/indexeddb/IDBObjectStore.cpp:
1617         * Modules/indexeddb/IDBOpenDBRequest.cpp:
1618         * Modules/indexeddb/IDBRequest.cpp:
1619         * Modules/indexeddb/IDBTracing.h: Removed.
1620         * Modules/indexeddb/IDBTransaction.cpp:
1621         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
1622         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
1623         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
1624         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
1625         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
1626         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
1627         * WebCore.xcodeproj/project.pbxproj:
1628         * bindings/js/IDBBindingUtilities.cpp:
1629
1630 2013-09-30  Brent Fulgham  <bfulgham@apple.com>
1631
1632         [Windows] Build fix after r156622. Build RenderLayerModelObject.cpp in a separate compilation unit
1633         from the RenderLayerAllnOne file so that the scalar and vector destructors are visible to other
1634         elements of WebCore during the build.
1635
1636         * WebCore.vcxproj/WebCore.vcxproj: Compile RenderLayerModelObject outside of the all-in-one file.
1637         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1638         * rendering/RenderingAllInOne.cpp: Remove RenderLayerModelObject.cpp.
1639
1640 2013-09-30  Mark Rowe  <mrowe@apple.com>
1641
1642         Fix the build when building against an SDK.
1643
1644         Xcode helpfully prepends $(SDKROOT) to the paths in FRAMEWORK_SEARCH_PATHS when generating
1645         the compiler command lines. It can't know to do this for the system framework search paths
1646         we add manually via OTHER_CFLAGS though, so we need to prefix them with $(SDKROOT) ourself.
1647
1648         * Configurations/WebCore.xcconfig:
1649
1650 2013-09-30  Brent Fulgham  <bfulgham@apple.com>
1651
1652         [Windows] Unreviewed build fix.
1653
1654         * WebCore.vcxproj/WebCore.vcxproj.filters: Correct malformed XML in project files.
1655
1656 2013-09-30  Jer Noble  <jer.noble@apple.com>
1657
1658         Unreviewed, roll back in r156546 with rebaselined tests.
1659         https://bugs.webkit.org/show_bug.cgi?id=122111
1660
1661         * Modules/mediacontrols/mediaControlsApple.js:
1662         (Controller):
1663         (Controller.prototype.addVideoListeners):
1664         (Controller.prototype.removeVideoListeners):
1665         (Controller.prototype.updateHasAudio):
1666
1667 2013-09-30  Commit Queue  <commit-queue@webkit.org>
1668
1669         Unreviewed, rolling out r156656.
1670         http://trac.webkit.org/changeset/156656
1671         https://bugs.webkit.org/show_bug.cgi?id=122111
1672
1673         Broke several media tests (Requested by ap on #webkit).
1674
1675         * Modules/mediacontrols/mediaControlsApple.js:
1676         (Controller):
1677         (Controller.prototype.addVideoListeners):
1678         (Controller.prototype.removeVideoListeners):
1679
1680 2013-09-29  Sam Weinig  <sam@webkit.org>
1681
1682         Convert a bunch of OwnPtrs on Page to std::unique_ptrs
1683         https://bugs.webkit.org/show_bug.cgi?id=122086
1684
1685         Reviewed by Darin Adler.
1686
1687         * loader/ProgressTracker.cpp:
1688         * loader/ProgressTracker.h:
1689         * page/Page.cpp:
1690         (WebCore::Page::Page):
1691         (WebCore::Page::setGroupName):
1692         (WebCore::Page::initGroup):
1693         * page/Page.h:
1694         * page/PageGroup.cpp:
1695         (WebCore::PageGroup::PageGroup):
1696         * page/PageGroup.h:
1697
1698 2013-09-30  Antti Koivisto  <antti@apple.com>
1699
1700         Remove FontTranscoder
1701         https://bugs.webkit.org/show_bug.cgi?id=122088
1702
1703         Reviewed by Andreas Kling.
1704
1705         This overly generic class just implements mapping of backslash to yen symbol for some legacy Japanese fonts.
1706
1707         * CMakeLists.txt:
1708         * GNUmakefile.am:
1709         * GNUmakefile.list.am:
1710         * Target.pri:
1711         * WebCore.pri:
1712         * WebCore.vcxproj/WebCore.vcxproj:
1713         * WebCore.xcodeproj/project.pbxproj:
1714         * platform/graphics/Font.cpp:
1715         (WebCore::useBackslashAsYenSignForFamily):
1716         
1717             Move the family set to Font.cpp.
1718
1719         (WebCore::Font::Font):
1720         (WebCore::Font::operator=):
1721         (WebCore::Font::update):
1722         
1723             Keep the cached boolean up to date.
1724
1725         * platform/graphics/Font.h:
1726         (WebCore::Font::useBackslashAsYenSymbol):
1727         
1728             Use descriptive name instead of talking about "transcoding".
1729
1730         * platform/text/transcoder: Removed.
1731         * platform/text/transcoder/FontTranscoder.cpp: Removed.
1732         * platform/text/transcoder/FontTranscoder.h: Removed.
1733         * rendering/RenderText.cpp:
1734         (WebCore::RenderText::RenderText):
1735         (WebCore::RenderText::computeUseBackslashAsYenSymbol):
1736         
1737             Rename for clarity. 
1738             Avoid unnecessary hash lookup, just check the cached bit in Font.
1739
1740         (WebCore::RenderText::styleDidChange):
1741         (WebCore::RenderText::setTextInternal):
1742         
1743             "Transcoding" here was just a simple character replacement.
1744
1745         (WebCore::RenderText::textWithoutConvertingBackslashToYenSymbol):
1746         
1747             Renamed.
1748
1749         * rendering/RenderText.h:
1750
1751 2013-09-27  Jer Noble  <jer.noble@apple.com>
1752
1753         REGRESSION(r156546): media/video-no-audio.html broken
1754         https://bugs.webkit.org/show_bug.cgi?id=122049
1755
1756         Reviewed by Eric Carlson.
1757
1758         Now that our video elements have audio tracks, use their presence or
1759         absense to show or hide the volume controls.
1760
1761         * Modules/mediacontrols/mediaControlsApple.js:
1762         (Controller):
1763         (Controller.prototype.addVideoListeners): Listen for audioTrack changes.
1764         (Controller.prototype.removeVideoListeners): Stop listening to same.
1765         (Controller.prototype.handleAudioTrackChange): Call this.updateHasAudio()
1766         (Controller.prototype.handleAudioTrackAdd): Ditto.
1767         (Controller.prototype.handleAudioTrackRemove): Ditto.
1768         (Controller.prototype.updateHasAudio): Hide the volume controls if no
1769             audioTracks are present, and vice versa.
1770
1771 2013-09-30  Jer Noble  <jer.noble@apple.com>
1772
1773         Unreviewed Mac-Lion build fix.
1774
1775         Use metadataItemsFromArray:withLocale: instead of
1776         metadataItemsFromArray:filteredAndSortedAccordingToPreferredLanguages:
1777         on Lion and earlier.
1778
1779         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
1780         (WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack):
1781
1782 2013-09-27  Jer Noble  <jer.noble@apple.com>
1783
1784         [Mac] Add AudioTrack support to MediaPlayerPrivateAVFObC.
1785         https://bugs.webkit.org/show_bug.cgi?id=122043
1786
1787         Reviewed by Eric Carlson.
1788
1789         Test: media/track/audio-track.html
1790
1791         Add a new class AudioTrackPrivateAVF and subclass AudioTrackPrivateAVFObjC
1792         which are backed by a AVPlayerItemTrack. Create one of these tracks when
1793         we are notified that the list of available tracks has changed.
1794
1795         * WebCore.xcodeproj/project.pbxproj:
1796         * html/track/AudioTrack.cpp:
1797         (WebCore::AudioTrack::setEnabled): Pass through to the AudioTrackPrivate
1798             so that the underlying media track can be (dis|en)abled.
1799         * platform/graphics/avfoundation/AudioTrackPrivateAVF.h: Added.
1800         (WebCore::AudioTrackPrivateAVF::kind): Simple getter.
1801         (WebCore::AudioTrackPrivateAVF::id): Ditto.
1802         (WebCore::AudioTrackPrivateAVF::label): Ditto.
1803         (WebCore::AudioTrackPrivateAVF::language): Ditto.
1804         (WebCore::AudioTrackPrivateAVF::setKind): Simple Setter.
1805         (WebCore::AudioTrackPrivateAVF::setId): Ditto.
1806         (WebCore::AudioTrackPrivateAVF::setLabel): Ditto.
1807         (WebCore::AudioTrackPrivateAVF::setLanguage): Ditto.
1808         (WebCore::AudioTrackPrivateAVF::AudioTrackPrivateAVF): Simple constructor.
1809         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h: Added.
1810         (WebCore::AudioTrackPrivateAVFObjC::create): Simple factory.
1811         (WebCore::AudioTrackPrivateAVFObjC::playerItemTrack): Simple getter.
1812         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm: Added.
1813         (WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC): Call resetPropertiesFromTrack.
1814         (WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack): Fill out the values from 
1815             the associated AVPlayerItemTrack and its AVAssetTrack.
1816         (WebCore::AudioTrackPrivateAVFObjC::setPlayerItemTrack): Call resetPropertiesFromTrack.
1817         (WebCore::AudioTrackPrivateAVFObjC::setEnabled): (En|Dis)able the AVPlayerItemTrack.
1818         (WebCore::AudioTrackPrivateAVFObjC::languageForAVAssetTrack): Refactored from
1819             MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack.
1820         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1821         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1822         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Determine which tracks
1823             have been added or removed and notify the clients accordingly.
1824         (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Refactor into
1825             AudioTrackPrivateAVFObjC::languageForAVAssetTrack.
1826
1827 2013-09-30  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1828
1829         Generate toCSSCalcValue instead of using manual cast function
1830         https://bugs.webkit.org/show_bug.cgi?id=122055
1831
1832         Reviewed by Antti Koivisto.
1833
1834         Generated type cast function supports more plenty functions rather than manual functions.
1835         To use CSS_VALUE_TYPE_CAST, isCalculationValue() needs to be changed with isCalcValue().
1836
1837         No new tests, no behavior changes.
1838
1839         * css/CSSCalculationValue.h:
1840         * css/CSSValue.cpp:
1841         (WebCore::CSSValue::destroy):
1842         * css/CSSValue.h:
1843         (WebCore::CSSValue::isCalcValue):
1844         * css/StyleResolver.cpp:
1845         (WebCore::hasVariableReference):
1846
1847 2013-09-30  Antti Koivisto  <antti@apple.com>
1848
1849         Get rid of static map for marking ancestor line boxes dirty
1850         https://bugs.webkit.org/show_bug.cgi?id=122080
1851
1852         Reviewed by Andreas Kling.
1853         
1854         This is ugly and shows up in profiles too. Use a bit in RenderElement instead.
1855
1856         * rendering/RenderBlock.h:
1857         * rendering/RenderBlockFlow.h:
1858         
1859             Move dirtyLinesFromChangedChild down to RenderBlockFlow. It wouldn't do anything on other RenderBlocks.
1860
1861         * rendering/RenderElement.cpp:
1862         (WebCore::RenderElement::RenderElement):
1863         * rendering/RenderElement.h:
1864         
1865             Add m_ancestorLineBoxDirty bit. We have 32 unused bits here on 64bit systems.
1866
1867         (WebCore::RenderElement::dirtyLinesFromChangedChild):
1868         (WebCore::RenderElement::ancestorLineBoxDirty):
1869         (WebCore::RenderElement::setAncestorLineBoxDirty):
1870         (WebCore::RenderObject::setNeedsLayout):
1871         * rendering/RenderInline.h:
1872         * rendering/RenderLineBoxList.cpp:
1873         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
1874             
1875             Tighten the interface.
1876
1877         * rendering/RenderLineBoxList.h:
1878         * rendering/RenderObject.cpp:
1879         (WebCore::RenderObject::willBeDestroyed):
1880         * rendering/RenderObject.h:
1881         
1882             Remove the static map.
1883
1884 2013-09-18  Sergio Villar Senin  <svillar@igalia.com>
1885
1886         [CSS Grid Layout] Implement the grid-area shorthand
1887         https://bugs.webkit.org/show_bug.cgi?id=103334
1888
1889         Reviewed by Andreas Kling.
1890
1891         Based on Blink r151684 by <jchaffraix@chromium.org>
1892
1893         Test: fast/css-grid-layout/grid-item-area-get-set.html
1894
1895         Added support to specify grid positions using the
1896         '-webkit-grid-area' shorthand. Named grid areas are still not
1897         allowed, to be done in a follow up patch as it likely requires
1898         '-webkit-grid-template' support.
1899
1900         * css/CSSComputedStyleDeclaration.cpp:
1901         (WebCore::ComputedStyleExtractor::propertyValue):
1902         * css/CSSParser.cpp:
1903         (WebCore::CSSParser::parseValue):
1904         (WebCore::CSSParser::parseGridItemPositionShorthand):
1905         * css/CSSPropertyNames.in:
1906         * css/StylePropertySet.cpp:
1907         (WebCore::StylePropertySet::getPropertyValue):
1908         * css/StylePropertyShorthand.cpp:
1909         (WebCore::webkitGridAreaShorthand):
1910         (WebCore::shorthandForProperty):
1911         * css/StylePropertyShorthand.h:
1912         * css/StyleResolver.cpp:
1913         (WebCore::StyleResolver::applyProperty):
1914
1915 2013-09-30  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1916
1917         Generate toCSSFooValue for CSSGradientValue, CSSLinearGradientValue and CSSRadialGradient
1918         https://bugs.webkit.org/show_bug.cgi?id=122060
1919
1920         Reviewed by Antti Koivisto.
1921
1922         As a step to generate toCSSFooValue, toCSSGradientValuem toCSSLinearGradientValue and
1923         toCSSRadialGradient are generated. isLinearGradient() and isRadialGradient() are moved
1924         from each class to CSSValue in order to generate toCSSFooValue.
1925
1926         No new tests, no behavior change.
1927
1928         * css/CSSGradientValue.cpp:
1929         (WebCore::CSSGradientValue::image):
1930         (WebCore::CSSGradientValue::gradientWithStylesResolved):
1931         * css/CSSGradientValue.h:
1932         * css/CSSImageGeneratorValue.cpp:
1933         (WebCore::CSSImageGeneratorValue::image):
1934         (WebCore::CSSImageGeneratorValue::fixedSize):
1935         (WebCore::CSSImageGeneratorValue::loadSubimages):
1936         * css/CSSParser.cpp:
1937         (WebCore::CSSParser::parseDeprecatedGradient):
1938         * css/CSSValue.cpp:
1939         (WebCore::CSSValue::destroy):
1940         * css/CSSValue.h:
1941         (WebCore::CSSValue::isLinearGradient):
1942         (WebCore::CSSValue::isRadialGradient):
1943         * css/StyleResolver.cpp:
1944         (WebCore::StyleResolver::applyProperty):
1945         (WebCore::StyleResolver::styleImage):
1946
1947 2013-09-30  Vani Hegde  <vani.hegde@samsung.com>
1948
1949         user-select: none cursor turns to I-beam on mouse dragging
1950         https://bugs.webkit.org/show_bug.cgi?id=90159
1951
1952         Reviewed by Ryosuke Niwa.
1953
1954         When tried to select some text in an area that has style
1955         cursor:default set, cursor type changes to text cursor ignoring
1956         the cursor style that is explicitly set.
1957
1958         When the cursor style is explicitly set as default (or something else),
1959         we should not change it to text cursor no matter what we are over
1960         or what operation we are performing (be it hovering over the text
1961         or selecting the text).
1962
1963         During text selection, changing the cursor type to text only when
1964         there is no explicit cursor type set fixes the issue.
1965
1966         Test: editing/caret/selection-with-caret-type-progress.html
1967
1968         * page/EventHandler.cpp:
1969         (WebCore::EventHandler::selectCursor):
1970         During selection, set the cursor style to text only if there is no
1971         explicit cursor style set.
1972
1973 2013-09-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1974
1975         Generate toCSSFooValue() for CSSCanvasValue
1976         https://bugs.webkit.org/show_bug.cgi?id=122058
1977
1978         Reviewed by Antti Koivisto.
1979
1980         Generate toCSSFooValue() for CSSCanvasValue, and use it.
1981         This type cast function will help to detect bad-casts.
1982         isCanvasValue() is added in order to generate toCSSCanvasValue.
1983
1984         No new tests, no behavior change.
1985
1986         * css/CSSCanvasValue.h:
1987         * css/CSSImageGeneratorValue.cpp:
1988         (WebCore::CSSImageGeneratorValue::image):
1989         (WebCore::CSSImageGeneratorValue::fixedSize):
1990         (WebCore::CSSImageGeneratorValue::loadSubimages):
1991         * css/CSSValue.cpp:
1992         (WebCore::CSSValue::destroy):
1993         * css/CSSValue.h:
1994         (WebCore::CSSValue::isCanvasValue):
1995
1996 2013-09-29  Mark Rowe  <mrowe@apple.com>
1997
1998         Fix the Lion build.
1999
2000         Ensure that C++ and Objective-C++ files build with the right compiler flags.
2001
2002         * Configurations/WebCore.xcconfig:
2003
2004 2013-09-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2005
2006         Generate toCSSFooValue() for CSSLineBoxContainValue
2007         https://bugs.webkit.org/show_bug.cgi?id=122054
2008
2009         Reviewed by Darin Adler.
2010
2011         As a step to use toCSSFooValue, toCSSLineBoxContainValue is generated by using
2012         CSS_VALUE_TYPE_CASTS. To use it, isCSSLineBoxContainValue() is changed to
2013         isLineBoxContatinValue(). Unnecessary local variable is removed by this patch.
2014
2015         No new tests, no behavior changes.
2016
2017         * css/CSSLineBoxContainValue.h:
2018         * css/CSSValue.cpp:
2019         (WebCore::CSSValue::destroy):
2020         * css/CSSValue.h:
2021         (WebCore::CSSValue::isLineBoxContainValue):
2022         * css/StyleResolver.cpp:
2023         (WebCore::StyleResolver::applyProperty):
2024
2025 2013-09-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2026
2027         Generate toCSSCrossfadeValue() instead of using manual function
2028         https://bugs.webkit.org/show_bug.cgi?id=122057
2029
2030         Reviewed by Antti Koivisto.
2031
2032         Generated toCSSFooValue() supports more plenty functions rather than
2033         to use manual cast function.
2034
2035         No new tests, no behavior changes.
2036
2037         * css/CSSCrossfadeValue.h:
2038         * css/CSSImageGeneratorValue.cpp:
2039         (WebCore::CSSImageGeneratorValue::image):
2040         (WebCore::CSSImageGeneratorValue::fixedSize):
2041         (WebCore::CSSImageGeneratorValue::loadSubimages):
2042         * css/CSSValue.cpp:
2043         (WebCore::CSSValue::destroy):
2044
2045 2013-09-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2046
2047         Generate toCSSFooValue() for CSSFilterImageValue and CSSInitialValue
2048         https://bugs.webkit.org/show_bug.cgi?id=122056
2049
2050         Reviewed by Antti Koivisto.
2051
2052         Generate toCSSFooValue() for CSSFilterImageValue and CSSInitialValue, and use it.
2053         This type cast function will help to detect bad-casts.
2054
2055         No new tests, no behavior changes.
2056
2057         * css/CSSFilterImageValue.h:
2058         * css/CSSImageGeneratorValue.cpp:
2059         (WebCore::CSSImageGeneratorValue::image):
2060         (WebCore::CSSImageGeneratorValue::fixedSize):
2061         (WebCore::CSSImageGeneratorValue::loadSubimages):
2062         * css/CSSInitialValue.h:
2063         * css/CSSValue.cpp:
2064         (WebCore::CSSValue::destroy):
2065         * css/StyleResolver.cpp:
2066         (WebCore::StyleResolver::generatedOrPendingFromValue):
2067
2068 2013-09-29  Darin Adler  <darin@apple.com>
2069
2070         Fix crashes caused by my recent attempt at a Windows build fix.
2071
2072         * bindings/js/WebCoreTypedArrayController.cpp:
2073         (WebCore::WebCoreTypedArrayController::toJS): Added back the prefix for the call to
2074         WebCore::toJS, otherwise this function just calls itself infinitely recursively.
2075
2076 2013-09-29  Sam Weinig  <sam@webkit.org>
2077
2078         Cleanup PageThrottler and PageConsole a bit
2079         https://bugs.webkit.org/show_bug.cgi?id=122085
2080
2081         Reviewed by Anders Carlsson.
2082
2083         * html/HTMLMediaElement.h:
2084         * loader/FrameLoader.cpp:
2085         (WebCore::FrameLoader::completed):
2086         * loader/FrameLoader.h:
2087         * loader/SubresourceLoader.cpp:
2088         (WebCore::SubresourceLoader::checkForHTTPStatusCodeError):
2089         (WebCore::SubresourceLoader::didFinishLoading):
2090         (WebCore::SubresourceLoader::didFail):
2091         (WebCore::SubresourceLoader::willCancel):
2092         * loader/SubresourceLoader.h:
2093         Store the PageActivityAssertionToken as a std::unique_ptr.
2094
2095         * page/Page.cpp:
2096         (WebCore::Page::Page):
2097         Use createOwned and pass this by reference for the PageThrottler and PageConsole.
2098         (WebCore::Page::~Page):
2099         Remove unnecessary clearing of an OwnPtr that is about to be destroyed.
2100         * page/Page.h:
2101         Make m_pageThrottler const and return it as a reference.
2102
2103         * page/PageActivityAssertionToken.cpp:
2104         (WebCore::PageActivityAssertionToken::PageActivityAssertionToken):
2105         (WebCore::PageActivityAssertionToken::~PageActivityAssertionToken):
2106         * page/PageActivityAssertionToken.h:
2107         Take the PageThrottler by reference in the constructor. It is never null.
2108
2109         * page/PageConsole.cpp:
2110         (WebCore::PageConsole::PageConsole):
2111         (WebCore::PageConsole::~PageConsole):
2112         (WebCore::PageConsole::addMessage):
2113         * page/PageConsole.h:
2114         Pass and store the Page as a reference and remove an extraneous null check. Remove
2115         the create function.
2116
2117         * page/PageThrottler.cpp:
2118         (WebCore::PageThrottler::PageThrottler):
2119         (WebCore::PageThrottler::~PageThrottler):
2120         (WebCore::PageThrottler::createActivityToken):
2121         (WebCore::PageThrottler::throttlePage):
2122         (WebCore::PageThrottler::unthrottlePage):
2123         (WebCore::PageThrottler::addActivityToken):
2124         (WebCore::PageThrottler::removeActivityToken):
2125         * page/PageThrottler.h:
2126         Pass and store the Page as a reference. Move the creation of PageActivityAssertionToken here
2127         to aid encapsulation.
2128
2129 2013-09-29  Darin Adler  <darin@apple.com>
2130
2131         Try to fix Windows build.
2132
2133         * bindings/js/WebCoreTypedArrayController.cpp: Windows has a symbol named Handle, so we need
2134         to call JSC::Handle out by name. To fix that, I removed "using namespace JSC" entirely. And
2135         just for fun, sort of "rewrote" this file.
2136         (WebCore::WebCoreTypedArrayController::WebCoreTypedArrayController): Removed unneeded explicit
2137         initialization of m_owner.
2138         (WebCore::WebCoreTypedArrayController::~WebCoreTypedArrayController): Fixed formatting.
2139         (WebCore::WebCoreTypedArrayController::toJS): Added lots of explicit JSC and got rid of local.
2140         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots): Cut
2141         down on locals, used auto& for type, and called it "wrapper" since that's what JSArrayBuffer is.
2142         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize): More of the same.
2143
2144 2013-09-29  Darin Adler  <darin@apple.com>
2145
2146         Use RenderElement instead of RenderObject in many places
2147         https://bugs.webkit.org/show_bug.cgi?id=122078
2148
2149         Reviewed by Andreas Kling.
2150
2151         * WebCore.exp.in: Updated for name changes.
2152
2153         * dom/ContainerNode.h: Moved renderer() here from Element.
2154         * dom/Element.h: Moved renderer() from here to ContainerNode.
2155         * render/RenderElement.h: Moved renderer() from Element to ContainerNode.
2156
2157         * accessibility/AccessibilityImageMapLink.cpp:
2158         (WebCore::AccessibilityImageMapLink::imageMapLinkRenderer):
2159         (WebCore::AccessibilityImageMapLink::detachFromParent):
2160         (WebCore::AccessibilityImageMapLink::elementPath):
2161         (WebCore::AccessibilityImageMapLink::elementRect):
2162         * accessibility/AccessibilityImageMapLink.h:
2163         * accessibility/AccessibilityRenderObject.cpp:
2164         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
2165         * bindings/objc/DOM.mm:
2166         (-[DOMElement image]):
2167         (-[DOMElement _font]):
2168         (-[DOMElement _imageTIFFRepresentation]):
2169         * css/CSSCanvasValue.cpp:
2170         (WebCore::CSSCanvasValue::canvasChanged):
2171         (WebCore::CSSCanvasValue::canvasResized):
2172         (WebCore::CSSCanvasValue::canvasDestroyed):
2173         (WebCore::CSSCanvasValue::fixedSize):
2174         (WebCore::CSSCanvasValue::image):
2175         * css/CSSCanvasValue.h:
2176         * css/CSSComputedStyleDeclaration.cpp:
2177         (WebCore::computeRenderStyleForProperty):
2178         * css/CSSCrossfadeValue.cpp:
2179         (WebCore::subimageKnownToBeOpaque):
2180         (WebCore::CSSCrossfadeValue::fixedSize):
2181         (WebCore::CSSCrossfadeValue::knownToBeOpaque):
2182         (WebCore::CSSCrossfadeValue::image):
2183         (WebCore::CSSCrossfadeValue::crossfadeChanged):
2184         * css/CSSCrossfadeValue.h:
2185         * css/CSSFilterImageValue.cpp:
2186         (WebCore::CSSFilterImageValue::fixedSize):
2187         (WebCore::CSSFilterImageValue::knownToBeOpaque):
2188         (WebCore::CSSFilterImageValue::image):
2189         (WebCore::CSSFilterImageValue::filterImageChanged):
2190         * css/CSSFilterImageValue.h:
2191         * css/CSSFontSelector.cpp:
2192         * css/CSSGradientValue.cpp:
2193         (WebCore::CSSGradientValue::image):
2194         (WebCore::CSSGradientValue::addStops):
2195         (WebCore::CSSGradientValue::knownToBeOpaque):
2196         (WebCore::CSSLinearGradientValue::createGradient):
2197         (WebCore::CSSRadialGradientValue::createGradient):
2198         * css/CSSGradientValue.h:
2199         (WebCore::CSSGradientValue::fixedSize):
2200         * css/CSSImageGeneratorValue.cpp:
2201         (WebCore::CSSImageGeneratorValue::addClient):
2202         (WebCore::CSSImageGeneratorValue::removeClient):
2203         (WebCore::CSSImageGeneratorValue::image):
2204         (WebCore::CSSImageGeneratorValue::fixedSize):
2205         (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
2206         * css/CSSImageGeneratorValue.h:
2207         (WebCore::CSSImageGeneratorValue::clients):
2208         * css/CSSImageValue.cpp:
2209         (WebCore::CSSImageValue::knownToBeOpaque):
2210         * css/CSSImageValue.h:
2211         * css/DeprecatedStyleBuilder.cpp:
2212         * dom/DocumentMarkerController.cpp:
2213         (WebCore::DocumentMarkerController::removeMarkersFromList):
2214         (WebCore::DocumentMarkerController::repaintMarkers):
2215         * dom/Element.cpp:
2216         (WebCore::localZoomForRenderer):
2217         (WebCore::adjustForLocalZoom):
2218         (WebCore::Element::offsetParent):
2219         (WebCore::Element::updateExistingPseudoElement):
2220         * dom/ElementRareData.h:
2221         (WebCore::ElementRareData::create):
2222         (WebCore::ElementRareData::ElementRareData):
2223         * dom/Node.cpp:
2224         (WebCore::Node::ensureRareData):
2225         * editing/DeleteButtonController.cpp:
2226         (WebCore::isDeletableElement):
2227         * editing/Editor.cpp:
2228         (WebCore::Editor::hasBidiSelection):
2229         (WebCore::Editor::baseWritingDirectionForSelectionStart):
2230         * editing/EditorCommand.cpp:
2231         (WebCore::verticalScrollDistance):
2232         * editing/htmlediting.cpp:
2233         (WebCore::directionOfEnclosingBlock):
2234         * editing/ios/EditorIOS.mm:
2235         (WebCore::Editor::fontForSelection):
2236         (WebCore::getImage):
2237         * editing/mac/EditorMac.mm:
2238         (WebCore::Editor::fontForSelection):
2239         (WebCore::getImage):
2240         * editing/markup.cpp:
2241         * html/HTMLAreaElement.cpp:
2242         (WebCore::HTMLAreaElement::computePath):
2243         (WebCore::HTMLAreaElement::computeRect):
2244         (WebCore::HTMLAreaElement::setFocus):
2245         * html/HTMLAreaElement.h:
2246         * html/HTMLCanvasElement.cpp:
2247         (WebCore::HTMLCanvasElement::reset):
2248         * html/HTMLElement.cpp:
2249         (WebCore::HTMLElement::setInnerText):
2250         * html/HTMLFormControlElement.cpp:
2251         (WebCore::updateFromElementCallback):
2252         * html/HTMLFormElement.cpp:
2253         (WebCore::HTMLFormElement::rendererIsNeeded):
2254         * html/HTMLFrameOwnerElement.h:
2255         * html/HTMLImageElement.cpp:
2256         (WebCore::HTMLImageElement::x):
2257         (WebCore::HTMLImageElement::y):
2258         (WebCore::HTMLImageElement::willRespondToMouseClickEvents):
2259         * html/HTMLMapElement.cpp:
2260         * html/HTMLMediaElement.cpp:
2261         (WebCore::HTMLMediaElement::defaultEventHandler):
2262         * html/HTMLMeterElement.cpp:
2263         (WebCore::HTMLMeterElement::renderMeter):
2264         * html/HTMLOptionElement.cpp:
2265         (WebCore::HTMLOptionElement::didRecalcStyle):
2266         * html/HTMLPlugInElement.cpp:
2267         (WebCore::HTMLPlugInElement::willRespondToMouseClickEvents):
2268         (WebCore::HTMLPlugInElement::defaultEventHandler):
2269         (WebCore::HTMLPlugInElement::isKeyboardFocusable):
2270         * html/HTMLPlugInImageElement.cpp:
2271         (WebCore::HTMLPlugInImageElement::defaultEventHandler):
2272         * html/HTMLProgressElement.cpp:
2273         (WebCore::HTMLProgressElement::renderProgress):
2274         * html/HTMLSelectElement.cpp:
2275         (WebCore::HTMLSelectElement::scrollToSelection):
2276         (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer):
2277         (WebCore::HTMLSelectElement::selectOption):
2278         * html/HTMLTableCellElement.cpp:
2279         (WebCore::HTMLTableCellElement::cellAbove):
2280         * html/HTMLTextFormControlElement.cpp:
2281         (WebCore::hasVisibleTextArea):
2282         (WebCore::HTMLTextFormControlElement::setSelectionRange):
2283         * html/InputType.h:
2284         * html/parser/HTMLResourcePreloader.cpp:
2285         * html/shadow/MediaControlElementTypes.cpp:
2286         (WebCore::MediaControlElement::setDisplayType):
2287         * html/shadow/MediaControlElements.cpp:
2288         (WebCore::MediaControlPanelElement::startDrag):
2289         (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
2290         * html/shadow/MeterShadowElement.cpp:
2291         (WebCore::MeterShadowElement::rendererIsNeeded):
2292         (WebCore::MeterInnerElement::rendererIsNeeded):
2293         * inspector/InspectorOverlay.cpp:
2294         * inspector/InspectorTimelineAgent.cpp:
2295         * inspector/InspectorTimelineAgent.h:
2296         * loader/ImageLoader.cpp:
2297         (WebCore::ImageLoader::renderImageResource):
2298         * loader/cache/CachedImage.cpp:
2299         (WebCore::CachedImage::currentFrameKnownToBeOpaque):
2300         * loader/cache/CachedImage.h:
2301         * mathml/MathMLElement.cpp:
2302         * page/ContextMenuController.cpp:
2303         * page/DragController.cpp:
2304         (WebCore::DragController::draggableElement):
2305         * page/EventHandler.cpp:
2306         (WebCore::EventHandler::EventHandler):
2307         (WebCore::EventHandler::clear):
2308         (WebCore::EventHandler::startPanScrolling):
2309         (WebCore::EventHandler::autoscrollRenderer):
2310         (WebCore::EventHandler::scrollOverflow):
2311         (WebCore::EventHandler::logicalScrollOverflow):
2312         (WebCore::EventHandler::subframeForTargetNode):
2313         (WebCore::EventHandler::selectCursor):
2314         (WebCore::layerForNode):
2315         (WebCore::EventHandler::handleWheelEvent):
2316         (WebCore::EventHandler::clearGestureScrollNodes):
2317         * page/EventHandler.h:
2318         * page/FocusController.cpp:
2319         * page/Frame.cpp:
2320         (WebCore::Frame::ownerRenderer):
2321         (WebCore::Frame::visiblePositionForPoint):
2322         (WebCore::Frame::nodeImage):
2323         * page/FrameView.cpp:
2324         (WebCore::FrameView::applyOverflowToViewport):
2325         (WebCore::FrameView::applyPaginationToViewport):
2326         (WebCore::FrameView::calculateScrollbarModesForLayout):
2327         (WebCore::FrameView::isEnclosedInCompositingLayer):
2328         (WebCore::FrameView::embeddedContentBox):
2329         (WebCore::FrameView::addSlowRepaintObject):
2330         (WebCore::FrameView::removeSlowRepaintObject):
2331         (WebCore::FrameView::addViewportConstrainedObject):
2332         (WebCore::FrameView::removeViewportConstrainedObject):
2333         (WebCore::FrameView::scrollContentsFastPath):
2334         (WebCore::FrameView::repaintSlowRepaintObjects):
2335         (WebCore::FrameView::setViewportConstrainedObjectsNeedLayout):
2336         (WebCore::FrameView::updateOverflowStatus):
2337         (WebCore::FrameView::updateScrollCorner):
2338         (WebCore::FrameView::paintContents):
2339         (WebCore::FrameView::convertFromRenderer):
2340         (WebCore::FrameView::convertToRenderer):
2341         * page/FrameView.h:
2342         * page/PageSerializer.cpp:
2343         (WebCore::PageSerializer::addImageToResources):
2344         * page/PageSerializer.h:
2345         * page/animation/AnimationBase.cpp:
2346         (WebCore::AnimationBase::AnimationBase):
2347         (WebCore::AnimationBase::updateStateMachine):
2348         * page/animation/AnimationBase.h:
2349         (WebCore::AnimationBase::renderer):
2350         * page/animation/AnimationController.cpp:
2351         (WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
2352         (WebCore::AnimationControllerPrivate::clear):
2353         (WebCore::AnimationControllerPrivate::updateAnimations):
2354         (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
2355         (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
2356         (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
2357         (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
2358         (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
2359         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
2360         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
2361         (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
2362         (WebCore::AnimationControllerPrivate::numberOfActiveAnimations):
2363         (WebCore::AnimationController::cancelAnimations):
2364         (WebCore::AnimationController::updateAnimations):
2365         (WebCore::AnimationController::getAnimatedStyleForRenderer):
2366         (WebCore::AnimationController::notifyAnimationStarted):
2367         (WebCore::AnimationController::pauseAnimationAtTime):
2368         (WebCore::AnimationController::pauseTransitionAtTime):
2369         (WebCore::AnimationController::isRunningAnimationOnRenderer):
2370         (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):
2371         * page/animation/AnimationController.h:
2372         * page/animation/AnimationControllerPrivate.h:
2373         * page/animation/CSSPropertyAnimation.cpp:
2374         (WebCore::crossfadeBlend):
2375         * page/animation/CompositeAnimation.cpp:
2376         (WebCore::CompositeAnimation::updateTransitions):
2377         (WebCore::CompositeAnimation::updateKeyframeAnimations):
2378         (WebCore::CompositeAnimation::animate):
2379         * page/animation/CompositeAnimation.h:
2380         * page/animation/ImplicitAnimation.cpp:
2381         (WebCore::ImplicitAnimation::ImplicitAnimation):
2382         (WebCore::ImplicitAnimation::animate):
2383         (WebCore::ImplicitAnimation::pauseAnimation):
2384         (WebCore::ImplicitAnimation::sendTransitionEvent):
2385         * page/animation/ImplicitAnimation.h:
2386         (WebCore::ImplicitAnimation::create):
2387         * page/animation/KeyframeAnimation.cpp:
2388         (WebCore::KeyframeAnimation::KeyframeAnimation):
2389         (WebCore::KeyframeAnimation::animate):
2390         (WebCore::KeyframeAnimation::pauseAnimation):
2391         (WebCore::KeyframeAnimation::endAnimation):
2392         (WebCore::KeyframeAnimation::sendAnimationEvent):
2393         * page/animation/KeyframeAnimation.h:
2394         * page/mac/EventHandlerMac.mm:
2395         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2396         (WebCore::EventHandler::passSubframeEventToSubframe):
2397         * page/mac/FrameSnapshottingMac.mm:
2398         (WebCore::snapshotDragImage):
2399         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2400         (WebCore::MediaPlayerPrivateQTKit::paint):
2401         * rendering/CounterNode.cpp:
2402         (WebCore::CounterNode::CounterNode):
2403         (WebCore::CounterNode::create):
2404         * rendering/CounterNode.h:
2405         (WebCore::CounterNode::owner):
2406         * rendering/FilterEffectRenderer.cpp:
2407         (WebCore::FilterEffectRenderer::buildReferenceFilter):
2408         (WebCore::FilterEffectRenderer::build):
2409         * rendering/FilterEffectRenderer.h:
2410         * rendering/HitTestResult.cpp:
2411         (WebCore::HitTestResult::spellingToolTip):
2412         (WebCore::HitTestResult::title):
2413         (WebCore::HitTestResult::innerTextIfTruncated):
2414         (WebCore::HitTestResult::image):
2415         * rendering/LayoutRepainter.cpp:
2416         (WebCore::LayoutRepainter::LayoutRepainter):
2417         * rendering/LayoutRepainter.h:
2418         * rendering/LayoutState.h:
2419         (WebCore::LayoutState::LayoutState):
2420         * rendering/LineWidth.h:
2421         * rendering/LogicalSelectionOffsetCaches.h:
2422         (WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject):
2423         (WebCore::isNonRenderBlockInline):
2424         (WebCore::containingBlockForFixedPosition):
2425         (WebCore::containingBlockForAbsolutePosition):
2426         (WebCore::containingBlockForObjectInFlow):
2427         (WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches):
2428         * rendering/PaintInfo.h:
2429         (WebCore::PaintInfo::PaintInfo):
2430         (WebCore::PaintInfo::updateSubtreePaintRootForChildren):
2431         * rendering/RenderBox.cpp:
2432         (WebCore::RenderBox::paintFillLayers):
2433         (WebCore::RenderBox::paintFillLayer):
2434         * rendering/RenderBox.h:
2435         * rendering/RenderBoxModelObject.cpp:
2436         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2437         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
2438         * rendering/RenderBoxModelObject.h:
2439         * rendering/RenderCounter.cpp:
2440         (WebCore::nextInPreOrder):
2441         (WebCore::planCounter):
2442         (WebCore::makeCounterNode):
2443         (WebCore::RenderCounter::originalText):
2444         * rendering/RenderElement.cpp:
2445         (WebCore::RenderElement::~RenderElement):
2446         (WebCore::RenderElement::insertChildInternal):
2447         (WebCore::RenderElement::removeChildInternal):
2448         (WebCore::RenderElement::willBeDestroyed):
2449         (WebCore::RenderElement::rendererForRootBackground):
2450         * rendering/RenderImageResource.cpp:
2451         (WebCore::RenderImageResource::initialize):
2452         * rendering/RenderImageResource.h:
2453         * rendering/RenderImageResourceStyleImage.cpp:
2454         (WebCore::RenderImageResourceStyleImage::initialize):
2455         * rendering/RenderImageResourceStyleImage.h:
2456         (WebCore::RenderImageResourceStyleImage::create):
2457         * rendering/RenderLayerCompositor.cpp:
2458         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
2459         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
2460         (WebCore::RenderLayerCompositor::canBeComposited):
2461         (WebCore::RenderLayerCompositor::requiresOwnBackingStore):
2462         (WebCore::RenderLayerCompositor::reasonsForCompositing):
2463         (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
2464         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
2465         (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
2466         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
2467         (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
2468         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
2469         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
2470         (WebCore::RenderLayerCompositor::requiresCompositingForFilters):
2471         (WebCore::RenderLayerCompositor::requiresCompositingForBlending):
2472         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
2473         (WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation):
2474         * rendering/RenderLayerCompositor.h:
2475         * rendering/RenderObject.cpp:
2476         (WebCore::RenderObject::containingBlock):
2477         (WebCore::mustRepaintFillLayers):
2478         (WebCore::RenderObject::borderImageIsLoadedAndCanBeRendered):
2479         (WebCore::RenderObject::willBeDestroyed):
2480         * rendering/RenderScrollbarPart.cpp:
2481         (WebCore::RenderScrollbarPart::rendererOwningScrollbar):
2482         * rendering/RenderScrollbarPart.h:
2483         * rendering/RenderTableCell.cpp:
2484         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2485         * rendering/RenderTableCell.h:
2486         * rendering/RenderView.cpp:
2487         (WebCore::RenderView::RenderView):
2488         * rendering/style/FillLayer.cpp:
2489         (WebCore::FillLayer::hasOpaqueImage):
2490         * rendering/style/FillLayer.h:
2491         * rendering/style/KeyframeList.h:
2492         (WebCore::KeyframeList::KeyframeList):
2493         * rendering/style/StyleCachedImage.cpp:
2494         (WebCore::StyleCachedImage::imageSize):
2495         (WebCore::StyleCachedImage::computeIntrinsicDimensions):
2496         (WebCore::StyleCachedImage::setContainerSizeForRenderer):
2497         (WebCore::StyleCachedImage::addClient):
2498         (WebCore::StyleCachedImage::removeClient):
2499         (WebCore::StyleCachedImage::image):
2500         (WebCore::StyleCachedImage::knownToBeOpaque):
2501         * rendering/style/StyleCachedImage.h:
2502         * rendering/style/StyleCachedImageSet.cpp:
2503         (WebCore::StyleCachedImageSet::imageSize):
2504         (WebCore::StyleCachedImageSet::computeIntrinsicDimensions):
2505         (WebCore::StyleCachedImageSet::setContainerSizeForRenderer):
2506         (WebCore::StyleCachedImageSet::addClient):
2507         (WebCore::StyleCachedImageSet::removeClient):
2508         (WebCore::StyleCachedImageSet::image):
2509         (WebCore::StyleCachedImageSet::knownToBeOpaque):
2510         * rendering/style/StyleCachedImageSet.h:
2511         * rendering/style/StyleGeneratedImage.cpp:
2512         (WebCore::StyleGeneratedImage::imageSize):
2513         (WebCore::StyleGeneratedImage::computeIntrinsicDimensions):
2514         (WebCore::StyleGeneratedImage::addClient):
2515         (WebCore::StyleGeneratedImage::removeClient):
2516         (WebCore::StyleGeneratedImage::image):
2517         (WebCore::StyleGeneratedImage::knownToBeOpaque):
2518         * rendering/style/StyleGeneratedImage.h:
2519         * rendering/style/StyleImage.h:
2520         (WebCore::StyleImage::imagesEquivalent):
2521         * rendering/style/StylePendingImage.h:
2522         (WebCore::StylePendingImage::cssImageValue):
2523         (WebCore::StylePendingImage::cssImageGeneratorValue):
2524         (WebCore::StylePendingImage::cssCursorImageValue):
2525         (WebCore::StylePendingImage::cssImageSetValue):
2526         (WebCore::StylePendingImage::computeIntrinsicDimensions):
2527         * testing/Internals.cpp:
2528         (WebCore::Internals::boundingBox):
2529         (WebCore::Internals::isSelectPopupVisible):
2530         (WebCore::Internals::isPluginUnavailabilityIndicatorObscured):
2531         Use RenderElement instead of RenderObject where it was easy to do so.
2532         For local variables holding the return value of renderer() functions,
2533         use auto instead, so the most-specific possible type will be used,
2534         without having to figure out what that is in each case. Also use some
2535         more OVERRIDE and FINAL and use nullptr instead of 0. And replace some
2536         cryptic short local variable names with words.
2537
2538 2013-09-29  Philip Rogers  <pdr@google.com>
2539
2540         Repaint borders and outlines on pseudo content changes
2541         https://bugs.webkit.org/show_bug.cgi?id=122070
2542
2543         Reviewed by Andreas Kling.
2544
2545         This patch fixes a regression from wkrev.com/150259 where pseudo content with
2546         borders or outlines would fail to repaint if the color property changed.
2547         The root bug is that border-color and outline-color properties use 'color' if
2548         no explicit border-color or outline-color are given, and changing color should
2549         repaint borders and outlines even if the text content is empty.
2550
2551         Relevant spec sections:
2552         border: http://www.w3.org/TR/CSS1/#border-color
2553         outline: http://www.w3.org/TR/CSS2/ui.html#propdef-outline-color
2554
2555         This patch also renames StyleDifferenceRepaintIfText to
2556         StyleDifferenceRepaintIfTextOrBorderOrOutline and updates the relevant functions.
2557
2558         Test: fast/repaint/hover-pseudo-borders.html
2559
2560         * rendering/RenderElement.cpp:
2561         (WebCore::RenderElement::hasImmediateNonWhitespaceTextChildOrBorderOrOutline):
2562
2563             This function has been renamed to reflect that it returns true for borders
2564             or outlines as well.
2565
2566         (WebCore::RenderElement::shouldRepaintForStyleDifference):
2567         * rendering/RenderElement.h:
2568         * rendering/style/RenderStyle.cpp:
2569         (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
2570         (WebCore::RenderStyle::diff):
2571         * rendering/style/RenderStyle.h:
2572         * rendering/style/RenderStyleConstants.h:
2573         * rendering/svg/SVGResourcesCache.cpp:
2574         (WebCore::SVGResourcesCache::clientStyleChanged):
2575             These have also been renamed to reflect the new borders and outlines check.
2576
2577 2013-09-29  Antti Koivisto  <antti@apple.com>
2578
2579         Tighten typing in inline rendering
2580         https://bugs.webkit.org/show_bug.cgi?id=122076
2581
2582         Reviewed by Andreas Kling.
2583         
2584         More RenderElement, const, &, etc.
2585
2586         * dom/Position.cpp:
2587         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
2588         * rendering/InlineFlowBox.cpp:
2589         (WebCore::isLastChildForRenderer):
2590         (WebCore::isAncestorAndWithinBlock):
2591         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
2592         (WebCore::InlineFlowBox::nodeAtPoint):
2593         * rendering/InlineIterator.h:
2594         (WebCore::InlineIterator::InlineIterator):
2595         (WebCore::InlineIterator::root):
2596         (WebCore::isEmptyInline):
2597         (WebCore::bidiNextShared):
2598         (WebCore::bidiNextSkippingEmptyInlines):
2599         (WebCore::bidiNextIncludingEmptyInlines):
2600         (WebCore::bidiFirstSkippingEmptyInlines):
2601         * rendering/RenderBlockLineLayout.cpp:
2602         (WebCore::inlineLogicalWidth):
2603         (WebCore::alwaysRequiresLineBox):
2604         (WebCore::requiresLineBox):
2605         (WebCore::canBreakAtThisPosition):
2606         (WebCore::LineBreaker::nextSegmentBreak):
2607         * rendering/shapes/ShapeInsideInfo.h:
2608         (WebCore::LineSegmentIterator::LineSegmentIterator):
2609
2610 2013-09-28  Sam Weinig  <sam@webkit.org>
2611
2612         Merge ScriptControllerBase into ScriptController
2613         https://bugs.webkit.org/show_bug.cgi?id=122071
2614
2615         Reviewed by Antti Koivisto.
2616
2617         There is no need for ScriptControllerBase. Remove it.
2618
2619         * CMakeLists.txt:
2620         * GNUmakefile.list.am:
2621         * Target.pri:
2622         * WebCore.vcxproj/WebCore.vcxproj:
2623         * WebCore.vcxproj/WebCore.vcxproj.filters:
2624         * WebCore.xcodeproj/project.pbxproj:
2625         * bindings/ScriptControllerBase.cpp: Removed.
2626         * bindings/ScriptControllerBase.h: Removed.
2627         * bindings/js/ScriptController.cpp:
2628         (WebCore::ScriptController::canExecuteScripts):
2629         (WebCore::ScriptController::executeScript):
2630         (WebCore::ScriptController::executeIfJavaScriptURL):
2631         * bindings/js/ScriptController.h:
2632
2633 2013-09-28  Zan Dobersek  <zdobersek@igalia.com>
2634
2635         Unreviewed build fix after r156613 for ports enabling CSS3_TEXT.
2636
2637         * rendering/RenderBlockLineLayout.cpp:
2638         (WebCore::requiresIndent): Use the RenderStyle reference.
2639
2640 2013-09-28  Antti Koivisto  <antti@apple.com>
2641
2642         Switch inline boxes to use const RenderStyle&
2643         https://bugs.webkit.org/show_bug.cgi?id=122068
2644
2645         Reviewed by Sam Weinig.
2646
2647 2013-09-28  Antti Koivisto  <antti@apple.com>
2648
2649         Add first()/last() to ElementIteratorAdapters
2650         https://bugs.webkit.org/show_bug.cgi?id=122067
2651
2652         Reviewed by Darin Adler.
2653
2654         Add a convenient way for getting the first and last element if it exists.
2655         
2656         Use it in some places.
2657
2658         * accessibility/AccessibilityNodeObject.cpp:
2659         (WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
2660         * css/CSSFontFaceSource.cpp:
2661         (WebCore::CSSFontFaceSource::getFontData):
2662         * dom/Document.cpp:
2663         (WebCore::Document::childrenChanged):
2664         (WebCore::Document::removeTitle):
2665         * dom/ElementChildIterator.h:
2666         (WebCore::::first):
2667         (WebCore::::last):
2668         * dom/ElementDescendantIterator.h:
2669         (WebCore::::first):
2670         (WebCore::::last):
2671         * html/HTMLFieldSetElement.cpp:
2672         (WebCore::HTMLFieldSetElement::legend):
2673         * html/HTMLLegendElement.cpp:
2674         (WebCore::HTMLLegendElement::associatedControl):
2675         * html/HTMLMediaElement.cpp:
2676         (WebCore::HTMLMediaElement::finishParsingChildren):
2677         (WebCore::HTMLMediaElement::selectMediaResource):
2678         * svg/SVGElement.cpp:
2679         (WebCore::SVGElement::title):
2680         * svg/SVGFontFaceElement.cpp:
2681         (WebCore::SVGFontFaceElement::rebuildFontFace):
2682         * svg/graphics/SVGImage.cpp:
2683         (WebCore::SVGImage::hasSingleSecurityOrigin):
2684
2685 2013-09-28  Mark Rowe  <mrowe@apple.com>
2686
2687         Fix some failures with newer versions of clang.
2688
2689         Some CoreGraphics headers generate warnings under newer versions of clang. Since they're system headers the warnings would
2690         usually be suppressed, but we're adding the frameworks to the non-system framework search path so they're no longer treated
2691         as system headers. We address this by removing the system paths from FRAMEWORK_SEARCH_PATHS and using the -iframework compiler
2692         flag in OTHER_CFLAGS to add the paths to the system framework search path. We have to set OTHER_CFLAGS at the target level
2693         in order for it to coexist with the ASAN-related OTHER_CFLAGS that's set in DebugRelease.xcconfig.
2694
2695         Reviewed by Dan Bernstein.
2696
2697         * Configurations/WebCore.xcconfig:
2698
2699 2013-09-28  Mark Rowe  <mrowe@apple.com>
2700
2701         Take Xcode's advice and enable some extra warnings.
2702
2703         Reviewed by Sam Weinig.
2704
2705         * Configurations/Base.xcconfig:
2706         * WebCore.xcodeproj/project.pbxproj:
2707         * dom/NamedNodeMap.cpp:
2708         (WebCore::NamedNodeMap::removeNamedItemNS): Use the correct constant.
2709
2710 2013-09-28  Sam Weinig  <sam@webkit.org>
2711
2712         CTTE: VisitedLinkState should hold a Document&
2713         https://bugs.webkit.org/show_bug.cgi?id=122066
2714
2715         Reviewed by Antti Koivisto.
2716
2717         The Document can never be null, so use a reference.
2718
2719 2013-09-27  Antti Koivisto  <antti@apple.com>
2720
2721         Clean up code for getting first line style
2722         https://bugs.webkit.org/show_bug.cgi?id=122037
2723
2724         Reviewed by Andreas Kling.
2725
2726         We have confusing RenderObject::style(bool firstLine). Get rid of it in favour of 
2727         just using RenderObject::firstLineStyle() where appropriate.
2728         
2729         Also switch to RenderStyle references in many places and move first line style caching
2730         code down to RenderElement.
2731
2732 2013-09-28  Darin Adler  <darin@apple.com>
2733
2734         Add Frame::mainFrame and Frame::isMainFrame
2735         https://bugs.webkit.org/show_bug.cgi?id=122064
2736
2737         Reviewed by Andreas Kling.
2738
2739         * WebCore.exp.in: Removed exports of FrameView::isMainFrameView and
2740         Page::frameIsMainFrame. Since the new isMainFrame function is inline, it
2741         does not need to be exported.
2742
2743         * history/PageCache.cpp:
2744         (WebCore::PageCache::markPagesForFullStyleRecalc):
2745         (WebCore::PageCache::markPagesForDeviceScaleChanged):
2746         These two were the only functions I found that really wanted the equivalent
2747         of Page::frameIsMainFrame, so wrote it out here instead of using a function
2748         call.
2749
2750         * inspector/InspectorAgent.cpp: Removed the unused isMainResourceLoader function.
2751         * inspector/InspectorAgent.h: Removed declarations of a few nonexistent or
2752         unused private member functions. Also removed the InjectedScriptForOriginMap
2753         typedef: It's mor readable to use the type directly
2754
2755         * loader/FrameLoader.h: Removed isLoadingMainFrame. It's not better than
2756         calling frame().isMainFrame() directly.
2757
2758         * page/Frame.cpp:
2759         (WebCore::Frame::Frame): Initialize m_mainFrame and call selfOnlyRef, keeping
2760         the MainFrame alive as long as any of its subframes is alive.
2761         (WebCore::Frame::~Frame): Call selfOnlyDeref.
2762         (WebCore::Frame::createView): Use isMainFrame.
2763         (WebCore::Frame::setPageAndTextZoomFactors): Ditto.
2764
2765         * page/Frame.h: Added Frame::mainFrame, Frame::isMainFrame, and Frame::m_mainFrame.
2766
2767         * page/FrameView.h: Removed the isMainFrameView function. It's not better than
2768         calling frame().isMainFrame() directly.
2769
2770         * page/MainFrame.cpp:
2771         (WebCore::MainFrame::MainFrame): Initialize m_selfOnlyRefCount to 0.
2772         (WebCore::MainFrame::selfOnlyRef): Added.
2773         (WebCore::MainFrame::selfOnlyDeref): Added.
2774         (WebCore::MainFrame::dropChildren): Added. Called when the self-only reference
2775         count reaches 0 to avoid a reference cycle with subframes.
2776
2777         * page/MainFrame.h: Added new data members as mentioned above. Also, the
2778         definition of the Frame::isMainFrame inline function goes here, since it can't
2779         compile without the MainFrame class definition. This means that callers of
2780         isMainFrame need to include MainFrame.h, which seems reasonable and is easy
2781         to do.
2782
2783         * page/Page.cpp:
2784         * page/Page.h: Added assertion to Page::mainFrame since it returns a reference.
2785         Removed Page::frameIsMainFrame since it's not better than calling isMainFrame
2786         on the frame.
2787
2788         * dom/Document.cpp:
2789         (WebCore::Document::setVisualUpdatesAllowed):
2790         (WebCore::Document::didBecomeCurrentDocumentInFrame):
2791         (WebCore::Document::updateViewportArguments):
2792         (WebCore::Document::setInPageCache):
2793         (WebCore::Document::ensurePlugInsInjectedScript):
2794         * history/CachedFrame.cpp:
2795         (WebCore::CachedFrame::CachedFrame):
2796         * history/CachedPage.cpp:
2797         (WebCore::CachedPage::restore):
2798         * html/HTMLPlugInImageElement.cpp:
2799         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
2800         * html/ImageDocument.cpp:
2801         (WebCore::ImageDocument::shouldShrinkToFit):
2802         * inspector/InspectorController.cpp:
2803         (WebCore::InspectorController::didClearWindowObjectInWorld):
2804         * inspector/InspectorInstrumentation.cpp:
2805         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2806         * inspector/InspectorPageAgent.cpp:
2807         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
2808         (WebCore::InspectorPageAgent::frameNavigated):
2809         * loader/DocumentLoader.cpp:
2810         (WebCore::DocumentLoader::willSendRequest):
2811         * loader/FrameLoader.cpp:
2812         (WebCore::FrameLoader::transitionToCommitted):
2813         (WebCore::FrameLoader::prepareForCachedPageRestore):
2814         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2815         (WebCore::FrameLoader::didLayout):
2816         (WebCore::FrameLoader::checkLoadComplete):
2817         (WebCore::FrameLoader::addExtraFieldsToRequest):
2818         (WebCore::FrameLoader::loadResourceSynchronously):
2819         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2820         (WebCore::FrameLoader::dispatchDidCommitLoad):
2821         (WebCore::FrameLoader::loadProgressingStatusChanged):
2822         * loader/HistoryController.cpp:
2823         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
2824         (WebCore::HistoryController::restoreScrollPositionAndViewState):
2825         (WebCore::HistoryController::updateForCommit):
2826         (WebCore::HistoryController::updateForSameDocumentNavigation):
2827         (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
2828         (WebCore::HistoryController::pushState):
2829         * loader/icon/IconController.cpp:
2830         (WebCore::IconController::startLoader):
2831         * page/AutoscrollController.cpp:
2832         (WebCore::AutoscrollController::stopAutoscrollTimer):
2833         * page/ContextMenuController.cpp:
2834         (WebCore::ContextMenuController::populate):
2835         * page/DOMWindow.cpp:
2836         (WebCore::allowsBeforeUnloadListeners):
2837         (WebCore::DOMWindow::focus):
2838         (WebCore::DOMWindow::blur):
2839         (WebCore::DOMWindow::close):
2840         (WebCore::DOMWindow::allowedToChangeWindowGeometry):
2841         * page/EventHandler.cpp:
2842         (WebCore::EventHandler::hitTestResultAtPoint):
2843         (WebCore::EventHandler::selectCursor):
2844         (WebCore::EventHandler::handleMousePressEvent):
2845         (WebCore::EventHandler::keyEvent):
2846         * page/FrameTree.cpp:
2847         (WebCore::FrameTree::find):
2848         (WebCore::FrameTree::traverseNextWithWrap):
2849         * page/FrameView.cpp:
2850         (WebCore::FrameView::FrameView):
2851         (WebCore::FrameView::setFrameRect):
2852         (WebCore::FrameView::createScrollbar):
2853         (WebCore::FrameView::applyOverflowToViewport):
2854         (WebCore::FrameView::setHeaderHeight):
2855         (WebCore::FrameView::setFooterHeight):
2856         (WebCore::FrameView::minimumScrollPosition):
2857         (WebCore::FrameView::maximumScrollPosition):
2858         (WebCore::FrameView::shouldUpdateFixedElementsAfterScrolling):
2859         (WebCore::FrameView::beginDeferredRepaints):
2860         (WebCore::FrameView::endDeferredRepaints):
2861         (WebCore::FrameView::performPostLayoutTasks):
2862         (WebCore::FrameView::sendResizeEventIfNeeded):
2863         (WebCore::FrameView::pagination):
2864         (WebCore::FrameView::visibleContentScaleFactor):
2865         (WebCore::FrameView::setVisibleScrollerThumbRect):
2866         (WebCore::FrameView::scrollbarStyleChanged):
2867         (WebCore::FrameView::paintScrollCorner):
2868         (WebCore::FrameView::paintScrollbar):
2869         (WebCore::FrameView::paintOverhangAreas):
2870         * page/scrolling/ScrollingCoordinator.cpp:
2871         (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
2872         * rendering/RenderLayerBacking.cpp:
2873         (WebCore::RenderLayerBacking::RenderLayerBacking):
2874         Use the new functions where possible instead of Page::frameIsMainFrame,
2875         Page::mainFrame, FrameLoader::isLoadingMainFrame, and FrameView::isMainFrameView.
2876
2877 2013-09-28  Gurpreet Kaur  <k.gurpreet@samsung.com>
2878
2879         filter: drop-shadow doesnot support viewport units
2880         https://bugs.webkit.org/show_bug.cgi?id=122053
2881
2882         Reviewed by Darin Adler.
2883
2884         drop-shadow properties were not applied incase its values
2885         were given in vh, vw, vmax, vmin units.
2886
2887         Tests: fast/css/drop-shadow-viewport-height.html
2888                fast/css/drop-shadow-viewport-vmax.html
2889                fast/css/drop-shadow-viewport-vmin.html
2890                fast/css/drop-shadow-viewport-width.html
2891
2892         * css/StyleResolver.cpp:
2893         (WebCore::StyleResolver::createFilterOperations):
2894         Calculating the drop-shadow values which has been specified in viewport
2895         units.The vh/vw units are calcultated as percent of viewport height and
2896         viewport width respectively. 1vmax: 1vw or 1vh, whatever is largest.
2897         1vmin: 1vw or 1vh, whatever is smallest.
2898
2899 2013-09-28  Gurpreet Kaur  <k.gurpreet@samsung.com>
2900
2901         REGRESSION (r154614): Setting the document scroll position isn't symmetric; can successfully set document.body.scrollTop, but can only read from document.documentElement.scrollTop
2902         https://bugs.webkit.org/show_bug.cgi?id=121876
2903
2904         Reviewed by Darin Adler.
2905
2906         Non-Quirks mode should set/get scrolltop/scrollleft through
2907         document.documentElement.scrollTop/document.documentElement.scrollLeft
2908         Quirks mode should set/get scrolltop/scrollleft through
2909         document.body.scrollTop/document.body.scrollLeft.
2910
2911         Tests: fast/dom/Element/body-scrollLeft-Quirks.html
2912                fast/dom/Element/body-scrollLeft.html
2913                fast/dom/Element/body-scrollTop-Quirks.html
2914                fast/dom/Element/body-scrollTop.html
2915                fast/dom/Element/documentElement-scrollLeft-Quirks.html
2916                fast/dom/Element/documentElement-scrollLeft.html
2917                fast/dom/Element/documentElement-scrollTop-Quirks.html
2918                fast/dom/Element/documentElement-scrollTop.html
2919
2920         * dom/Element.cpp:
2921         (WebCore::Element::setScrollLeft):
2922         (WebCore::Element::setScrollTop):
2923         * html/HTMLBodyElement.cpp:
2924         (WebCore::HTMLBodyElement::setScrollLeft):
2925         (WebCore::HTMLBodyElement::setScrollTop):
2926         Need to set the scrollTop and scrollLeft after checking if document
2927         is in quirks or non-quirks mode. Incase it is body.scrollLeft/
2928         body.scrollTop set only if document is in quirks mode. If document is
2929         non-quirks mode set documentElement.scrollLeft/documentElement.scrollTop.
2930
2931 2013-09-28  Andreas Kling  <akling@apple.com>
2932
2933         Pass VM instead of ExecState to JSFunction constructors.
2934         <https://webkit.org/b/122014>
2935
2936         Reviewed by Geoffrey Garen.
2937
2938         Updated for new JSFunction::create() signature.
2939
2940 2013-09-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2941
2942         Generate toCSSFooValue() for CSSImageValue 
2943         https://bugs.webkit.org/show_bug.cgi?id=122051
2944
2945         Reviewed by Andreas Kling.
2946
2947         Clean up static_cast<CSSImageValue*> type casts. It will help to
2948         detect bad cast as well as improve code readability.
2949
2950         Removed unnecessary local variables as well.
2951
2952         No new tests, no behavior changes.
2953
2954         * css/CSSCrossfadeValue.cpp:
2955         (WebCore::subimageKnownToBeOpaque):
2956         * css/CSSCursorImageValue.cpp:
2957         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
2958         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
2959         (WebCore::CSSCursorImageValue::cachedImage):
2960         (WebCore::CSSCursorImageValue::isSVGCursor):
2961         * css/CSSImageGeneratorValue.cpp:
2962         (WebCore::CSSImageGeneratorValue::subimageIsPending):
2963         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
2964         * css/CSSImageSetValue.cpp:
2965         (WebCore::CSSImageSetValue::fillImageSet):
2966         * css/CSSImageValue.h:
2967         * css/CSSValue.cpp:
2968         (WebCore::CSSValue::destroy):
2969         * css/StyleResolver.cpp:
2970         (WebCore::StyleResolver::applyProperty):
2971         (WebCore::StyleResolver::styleImage):
2972         * page/PageSerializer.cpp:
2973         (WebCore::PageSerializer::retrieveResourcesForProperties):
2974         * rendering/style/StylePendingImage.h:
2975         (WebCore::StylePendingImage::data):
2976         (WebCore::StylePendingImage::cssImageValue):
2977
2978 2013-09-28  Mark Rowe  <mrowe@apple.com>
2979
2980         WebCore fails to build with newer versions of clang.
2981
2982         Reviewed by Sam Weinig.
2983
2984         * Modules/indexeddb/IDBIndex.cpp: Remove an unused constant.
2985         * Modules/indexeddb/IDBObjectStore.cpp: Ditto.
2986         * Modules/webaudio/AudioContext.cpp: Ditto.
2987         * Modules/webaudio/ScriptProcessorNode.cpp: Ditto.
2988         * Modules/webdatabase/SQLResultSet.cpp: Ditto.
2989         * Modules/webdatabase/SQLTransactionBackend.cpp: Ditto.
2990         * Modules/websockets/WebSocketHandshake.cpp: Ditto.
2991         * bindings/objc/DOM.mm: Disable a warning about overriding a protocol method in a cateogry around the one
2992         place we do it. I don't understand why this generates a warning, nor can I see a different approach that
2993         would not result in the warning being emitted.
2994         * css/CSSGrammar.y.in: #if a function that's only used inside an #if.
2995         * html/track/TextTrackCue.cpp: Remove an unused constant.
2996         * loader/TextResourceDecoder.cpp: Remove two unused functions.
2997         * page/ContentSecurityPolicy.cpp: Add #if's around constants and functions that are only used when CSP_NEXT is enabled.
2998         (WebCore::CSPDirectiveList::checkSourceAndReportViolation): Reorder the ifs slightly to make the #if'ing easier.
2999         * page/ContentSecurityPolicy.h: Add #if's around functions that are only used when CSP_NEXT is enabled.
3000         * page/DOMSecurityPolicy.cpp: Ditto.
3001         * page/DOMSecurityPolicy.h: Ditto.
3002         * page/animation/CSSPropertyAnimation.cpp: Remove an unused function.
3003         * platform/mac/DisplaySleepDisabler.cpp: Add an #if around a constant that's only used on iOS.
3004         * platform/mac/WebCoreFullScreenWarningView.mm: Remove three unused constants.
3005         * rendering/RenderLayer.cpp: Remove two unused constants.
3006         * rendering/RenderLayerCompositor.cpp:
3007         (WebCore::compositingLogEnabled): Move the #if around the function definition.
3008         * svg/SVGAnimatedAngle.cpp: Remove an unused function.
3009         * svg/SVGUseElement.cpp: #if a function that's only used inside an ASSERT.
3010         * xml/XPathStep.cpp: Ditto.
3011
3012 2013-09-27  Brady Eidson  <beidson@apple.com>
3013
3014         IndexedDB IDL Refactoring.
3015         https://bugs.webkit.org/show_bug.cgi?id=121996
3016
3017         Reviewed by Alexey Proskuryakov.
3018
3019         This includes:
3020         1 - Leveraging EventTarget.idl inheritance
3021         2 - Removing comments
3022         3 - Reordering to match the spec's IDLs
3023         4 - Removing nonstandard, WebKit-specific methods
3024         5 - Updating interfaces to match the spec (versions are only uint64_t's now...)
3025         6 - Updating implementation code as needed (versions are only uint64_t's now...)
3026
3027         IDL changes:
3028         * Modules/indexeddb/IDBCursor.idl:
3029         * Modules/indexeddb/IDBDatabase.idl:
3030         * Modules/indexeddb/IDBFactory.idl:
3031         * Modules/indexeddb/IDBIndex.idl:
3032         * Modules/indexeddb/IDBKeyRange.idl:
3033         * Modules/indexeddb/IDBObjectStore.idl:
3034         * Modules/indexeddb/IDBRequest.idl:
3035         * Modules/indexeddb/IDBTransaction.idl:
3036         * Modules/indexeddb/IDBVersionChangeEvent.idl:
3037
3038         * Modules/indexeddb/IndexedDB.h: Add new enum to represent version nullness.
3039
3040         Adapt to new IDLs, and also refactor representation of initial, null versioning:
3041         * Modules/indexeddb/IDBCallbacks.h:
3042         (WebCore::IDBCallbacks::onBlocked):
3043         (WebCore::IDBCallbacks::onUpgradeNeeded):
3044
3045         * Modules/indexeddb/IDBDatabase.cpp:
3046         (WebCore::IDBDatabase::version):
3047         (WebCore::IDBDatabase::onVersionChange):
3048         * Modules/indexeddb/IDBDatabase.h:
3049
3050         * Modules/indexeddb/IDBDatabaseCallbacks.h:
3051         * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp:
3052         (WebCore::IDBDatabaseCallbacksImpl::onVersionChange):
3053         * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
3054
3055         * Modules/indexeddb/IDBFactory.cpp:
3056         (WebCore::IDBFactory::open):
3057         (WebCore::IDBFactory::openInternal):
3058         (WebCore::IDBFactory::deleteDatabase):
3059         * Modules/indexeddb/IDBFactory.h:
3060
3061         * Modules/indexeddb/IDBMetadata.h:
3062         (WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):
3063
3064         * Modules/indexeddb/IDBOpenDBRequest.cpp:
3065         (WebCore::IDBOpenDBRequest::create):
3066         (WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
3067         (WebCore::IDBOpenDBRequest::onBlocked):
3068         (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
3069         * Modules/indexeddb/IDBOpenDBRequest.h:
3070
3071         * Modules/indexeddb/IDBRequest.cpp:
3072         * Modules/indexeddb/IDBRequest.h:
3073
3074         * Modules/indexeddb/IDBTransaction.cpp:
3075         * Modules/indexeddb/IDBTransaction.h:
3076
3077         * Modules/indexeddb/IDBVersionChangeEvent.cpp:
3078         (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
3079         * Modules/indexeddb/IDBVersionChangeEvent.h:
3080         (WebCore::IDBVersionChangeEvent::create):
3081         (WebCore::IDBVersionChangeEvent::oldVersion):
3082         (WebCore::IDBVersionChangeEvent::newVersion):
3083
3084         Keep leveldb building with minimal adaptations to the new IDLs,
3085         but note that the LevelDB implementation is now incompatible with the spec:
3086         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
3087         (WebCore::IDBBackingStore::getIDBDatabaseMetaData):
3088         (WebCore::objectStoreCursorOptions):
3089         (WebCore::indexCursorOptions):
3090
3091         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
3092         (WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
3093         (WebCore::IDBDatabaseBackendLevelDB::openInternal):
3094         (WebCore::IDBDatabaseBackendLevelDB::VersionChangeOperation::perform):
3095         (WebCore::IDBDatabaseBackendLevelDB::processPendingCalls):
3096         (WebCore::IDBDatabaseBackendLevelDB::openConnection):
3097         (WebCore::IDBDatabaseBackendLevelDB::runIntVersionChangeTransaction):
3098         (WebCore::IDBDatabaseBackendLevelDB::deleteDatabase):
3099         (WebCore::IDBDatabaseBackendLevelDB::deleteDatabaseFinal):
3100         (WebCore::IDBDatabaseBackendLevelDB::VersionChangeAbortOperation::perform):
3101
3102         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
3103         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
3104
3105         * inspector/InspectorIndexedDBAgent.cpp: Update for metadata change.
3106
3107 2013-09-27  Enrica Casucci  <enrica@apple.com>
3108
3109         Upstream changes to Pasteboard implementation for iOS.
3110         https://bugs.webkit.org/show_bug.cgi?id=121818
3111
3112         Reviewed by Benjamin Poulain.
3113
3114         * WebCore.exp.in:
3115         * editing/Editor.cpp:
3116         (WebCore::Editor::dispatchCPPEvent):
3117         * editing/ios/EditorIOS.mm:
3118         (WebCore::Editor::WebContentReader::addFragment):
3119         (WebCore::Editor::WebContentReader::readWebArchive):
3120         (WebCore::Editor::WebContentReader::readFilenames):
3121         (WebCore::Editor::WebContentReader::readHTML):
3122         (WebCore::Editor::WebContentReader::readRTFD):
3123         (WebCore::Editor::WebContentReader::readRTF):
3124         (WebCore::uniqueURLWithRelativePart):
3125         (WebCore::Editor::WebContentReader::readImage):
3126         (WebCore::Editor::WebContentReader::readURL):
3127         (WebCore::Editor::WebContentReader::readPlainText):
3128         (WebCore::Editor::webContentFromPasteboard):
3129         (WebCore::Editor::pasteWithPasteboard):
3130         (WebCore::Editor::createFragmentAndAddResources):
3131         (WebCore::Editor::createFragmentForImageResourceAndAddResource):
3132         * platform/Pasteboard.h:
3133         * platform/PasteboardStrategy.h:
3134         * platform/PlatformPasteboard.h:
3135         * platform/ios/PasteboardIOS.mm:
3136         (WebCore::PasteboardWebContent::PasteboardWebContent):
3137         (WebCore::PasteboardWebContent::~PasteboardWebContent):
3138         (WebCore::PasteboardImage::PasteboardImage):
3139         (WebCore::PasteboardImage::~PasteboardImage):
3140         (WebCore::Pasteboard::Pasteboard):
3141         (WebCore::Pasteboard::clear):
3142         (WebCore::Pasteboard::readString):
3143         (WebCore::Pasteboard::writeString):
3144         (WebCore::Pasteboard::types):
3145         * platform/ios/PlatformPasteboardIOS.mm:
3146         (WebCore::PlatformPasteboard::changeCount):
3147         (WebCore::PlatformPasteboard::write):
3148         (WebCore::PlatformPasteboard::count):
3149         (WebCore::PlatformPasteboard::readBuffer):
3150         (WebCore::PlatformPasteboard::readString):
3151         (WebCore::PlatformPasteboard::readURL):
3152         * platform/mac/PasteboardMac.mm:
3153         (WebCore::PasteboardWebContent::PasteboardWebContent):
3154         (WebCore::PasteboardWebContent::~PasteboardWebContent):
3155         (WebCore::PasteboardImage::PasteboardImage):
3156         (WebCore::PasteboardImage::~PasteboardImage):
3157         * platform/mac/PlatformPasteboardMac.mm:
3158
3159 2013-09-27  Hans Muller  <hmuller@adobe.com>
3160
3161         Crash on shape-outside when using calc()
3162         https://bugs.webkit.org/show_bug.cgi?id=121020
3163
3164         Reviewed by Dirk Schulze.
3165
3166         This change prevents a crash caused by specifying a CSS Shape geometry
3167         Length attribute with a calc() expression. It adds support for converting
3168         Lengths to CSSPrimitive Values, in large part by migrating Blink changes
3169         made to the calc classes since the split. Doing so required a few supporting
3170         changes in some related classes, notably CSSPrimitiveValue.
3171
3172         Tests: fast/shapes/shape-inside/shape-inside-calc-crash.html
3173                css3/calc/simplification.html
3174
3175         * css/BasicShapeFunctions.cpp:
3176         (WebCore::convertToCSSPrimitiveValue): Effectively use the new CSSPrimtiveValue(length,style) constructor to convert Lengths to CSSValues.
3177         (WebCore::valueForBasicShape): Use the convertToCSSPrimitiveValue() function.
3178         (WebCore::convertToLength): Added the CalculatedConversion convertToLength() flag to enable support for calc() valued Length Shape attributes.
3179         * css/BasicShapeFunctions.h:
3180         * css/CSSCalculationValue.cpp:
3181         (WebCore::hasDoubleValue):
3182         (WebCore::buildCssText):
3183         (WebCore::CSSCalcValue::clampToPermittedRange):
3184         (WebCore::CSSCalcValue::doubleValue):
3185         (WebCore::CSSCalcExpressionNode::~CSSCalcExpressionNode):
3186         (WebCore::CSSCalcPrimitiveValue::create):
3187         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
3188         (WebCore::CSSCalcPrimitiveValue::doubleValue):
3189         (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
3190         (WebCore::CSSCalcPrimitiveValue::primitiveType):
3191         (WebCore::CSSCalcPrimitiveValue::CSSCalcPrimitiveValue):
3192         (WebCore::determineCategory):
3193         (WebCore::isIntegerResult):
3194         (WebCore::CSSCalcBinaryOperation::create):
3195         (WebCore::CSSCalcBinaryOperation::createSimplified):
3196         (WebCore::CSSCalcBinaryOperation::doubleValue):
3197         (WebCore::CSSCalcBinaryOperation::buildCssText):
3198         (WebCore::CSSCalcBinaryOperation::primitiveType):
3199         (WebCore::CSSCalcBinaryOperation::CSSCalcBinaryOperation):
3200         (WebCore::CSSCalcBinaryOperation::getNumberSide):
3201         (WebCore::CSSCalcBinaryOperation::evaluate):
3202         (WebCore::CSSCalcBinaryOperation::evaluateOperator):
3203         (WebCore::CSSCalcExpressionNodeParser::parseValue):
3204         (WebCore::CSSCalcExpressionNodeParser::parseValueTerm):
3205         (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
3206         (WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
3207         (WebCore::CSSCalcValue::createExpressionNode):
3208         (WebCore::CSSCalcValue::create):
3209         * css/CSSCalculationValue.h:
3210         (WebCore::CSSCalcExpressionNode::category):
3211         (WebCore::CSSCalcValue::create):
3212         (WebCore::CSSCalcValue::isInt):
3213         (WebCore::CSSCalcValue::permittedValueRange):
3214         (WebCore::CSSCalcValue::expressionNode):
3215         (WebCore::CSSCalcValue::CSSCalcValue):
3216         (WebCore::toCSSCalcValue):
3217         * css/CSSComputedStyleDeclaration.cpp:
3218         (WebCore::ComputedStyleExtractor::propertyValue): Pass the style along to the new valueForBasicShape() function.
3219         * css/CSSPrimitiveValue.cpp:
3220         (WebCore::CSSPrimitiveValue::unitCategory): Made this function public so that CSSCalculationValue could use it.
3221         (WebCore::CSSPrimitiveValue::conversionToCanonicalUnitsScaleFactor): Ditto.
3222         (WebCore::CSSPrimitiveValue::primitiveType): Cleared trailing whitespace.
3223         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Construct a CSSPrimitiveValue from a Length and a RenderStyle*.
3224         (WebCore::CSSPrimitiveValue::init): The common part of the two Length CSSPrimitiveValue constructors.
3225         (WebCore::CSSPrimitiveValue::computeLengthDouble): Moved the case labels to the left per check-webkit-style.
3226         (WebCore::CSSPrimitiveValue::getStringValue): Ditto.
3227         (WebCore::CSSPrimitiveValue::getDoubleValue): Removed trailing whitespace.
3228         * css/CSSPrimitiveValue.h:
3229         (WebCore::CSSPrimitiveValue::create): Construct a CSSPrimitiveValue from a Length and a RenderStyle*.
3230         (WebCore::toCSSPrimitiveValue): Check the CSSValue*'s validity with ASSERT_WITH_SECURITY_IMPLICATION before casting to CSSPrimitiveValue*.
3231         * css/CSSValuePool.h:
3232         (WebCore::CSSValuePool::createValue): A new overload that delegates to the new CSSPrimitiveValue(length,style) constructor.
3233         * platform/CalculationValue.h:
3234         (WebCore::CalculationValue::operator==):
3235         (WebCore::CalculationValue::isNonNegative):
3236         (WebCore::CalculationValue::expression):
3237         (WebCore::CalcExpressionNumber::value):
3238         (WebCore::toCalcExpressionNumber):
3239         (WebCore::CalcExpressionLength::CalcExpressionLength):
3240         (WebCore::CalcExpressionLength::length):
3241         (WebCore::toCalcExpressionLength):
3242         (WebCore::CalcExpressionBinaryOperation::leftSide):
3243         (WebCore::CalcExpressionBinaryOperation::rightSide):
3244         (WebCore::CalcExpressionBinaryOperation::getOperator):
3245         (WebCore::toCalcExpressionBinaryOperation):
3246         (WebCore::CalcExpressionBlendLength::CalcExpressionBlendLength):
3247         (WebCore::CalcExpressionBlendLength::from):
3248         (WebCore::CalcExpressionBlendLength::to):
3249         (WebCore::CalcExpressionBlendLength::progress):
3250         (WebCore::toCalcExpressionBlendLength):
3251
3252 2013-09-27  Andreas Kling  <akling@apple.com>
3253
3254         REGRESSION(r154219): 30% more malloc memory used on html5-full-render.
3255         <https://webkit.org/b/122034>
3256
3257         Reviewed by Antti Koivisto.
3258
3259         canExecuteScripts() used to rely on Frame::settings() returning null
3260         when the Frame was disconnected from its Page, and giving Frame its
3261         own handle on the Settings broke this mechanism.
3262
3263         This caused us to hold on for some objects for a bit longer than we
3264         needed to in the run-perf-tests harness, showing up as a massive 30%
3265         regression in malloc memory use.
3266
3267         Fixed it by added an explicit null check of Frame::page().
3268
3269 2013-09-27  Alexey Proskuryakov  <ap@apple.com>
3270
3271         Updating bindings test results after KURL->URL rename.
3272
3273         Includes were now in the wrong order.
3274
3275         * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.cpp:
3276         * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp:
3277         * bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp:
3278         * bindings/scripts/test/CPP/WebDOMTestEventTarget.cpp:
3279         * bindings/scripts/test/CPP/WebDOMTestException.cpp:
3280         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
3281         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
3282         * bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp:
3283         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3284         * bindings/scripts/test/JS/JSTestException.cpp:
3285         * bindings/scripts/test/JS/JSTestObj.cpp:
3286         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3287         * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.mm:
3288         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
3289         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm:
3290         * bindings/scripts/test/ObjC/DOMTestEventConstructor.mm:
3291         * bindings/scripts/test/ObjC/DOMTestEventTarget.mm:
3292         * bindings/scripts/test/ObjC/DOMTestException.mm:
3293         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
3294         * bindings/scripts/test/ObjC/DOMTestObj.mm:
3295         * bindings/scripts/test/ObjC/DOMTestTypedefs.mm:
3296
3297 2013-09-27  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3298
3299         Get MediaStreamCenterGStreamer compiling again
3300         https://bugs.webkit.org/show_bug.cgi?id=122029
3301
3302         After MediaStream cleanup commit, it was not building anymore.
3303
3304         Reviewed by Eric Carlson.
3305
3306         No new tests needed.
3307
3308         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
3309
3310 2013-09-27  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3311
3312         Storing a reference to MediaStreamTrack in RTCStatsRequest
3313         https://bugs.webkit.org/show_bug.cgi?id=122030
3314
3315         Reviewed by Eric Carlson.
3316
3317         The spec[1] says that the stats is related to a MediaStreamTrack object.
3318         It also says: "Evaluate the need for other selectors than MediaStreamTrack".
3319         So a MediaStreamTrack object is more suitable in this case.
3320
3321         [1]http://dev.w3.org/2011/webrtc/editor/webrtc.html#stats-selector
3322
3323         No new tests needed.
3324
3325         * Modules/mediastream/RTCStatsRequestImpl.cpp:
3326         (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
3327         (WebCore::RTCStatsRequestImpl::hasSelector):
3328         (WebCore::RTCStatsRequestImpl::track):
3329         * Modules/mediastream/RTCStatsRequestImpl.h:
3330         * platform/mediastream/RTCStatsRequest.h:
3331
3332 2013-09-27  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3333
3334         [Nix] Updating Nix trunk files
3335         https://bugs.webkit.org/show_bug.cgi?id=121752
3336
3337         Reviewed by Benjamin Poulain.
3338
3339         No new tests needed.
3340
3341         * page/nix/EventHandlerNix.cpp:
3342         (WebCore::EventHandler::focusDocumentView):
3343         (WebCore::EventHandler::passWheelEventToWidget):
3344         (WebCore::EventHandler::passMousePressEventToSubframe):
3345         (WebCore::EventHandler::passMouseMoveEventToSubframe):
3346         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
3347         * platform/DragImage.h:
3348         * platform/graphics/GraphicsContext3D.h:
3349         * platform/nix/DragImageNix.cpp:
3350         (WebCore::createDragImageFromImage):
3351         * platform/nix/GamepadsNix.cpp:
3352         (WebCore::sampleGamepads):
3353         * platform/nix/LanguageNix.cpp:
3354         (WebCore::platformLanguage):
3355         * platform/nix/LocalizedStringsNix.cpp:
3356         (WebCore::unacceptableTLSCertificate):
3357         * platform/nix/PasteboardNix.cpp:
3358         (WebCore::Pasteboard::types):
3359         * platform/nix/RenderThemeNix.cpp:
3360         (WebCore::toColor):
3361         (WebCore::themeEngine):
3362         (WebCore::webCanvas):
3363         (WebCore::getWebThemeState):
3364         (WebCore::RenderThemeNix::paintButton):
3365         (WebCore::RenderThemeNix::paintTextField):
3366         (WebCore::RenderThemeNix::paintCheckbox):
3367         (WebCore::RenderThemeNix::paintRadio):
3368         (WebCore::RenderThemeNix::paintMenuList):
3369         (WebCore::RenderThemeNix::paintProgressBar):
3370         (WebCore::RenderThemeNix::paintInnerSpinButton):
3371         (WebCore::RenderThemeNix::paintMeter):
3372
3373 2013-09-27  Anders Carlsson  <andersca@apple.com>
3374
3375         Use std::unique_ptr for GraphicsLayer creation
3376         https://bugs.webkit.org/show_bug.cgi?id=122020
3377
3378         Reviewed by Antti Koivisto.
3379
3380         * platform/graphics/GraphicsLayer.h:
3381         * platform/graphics/GraphicsLayerFactory.h:
3382         * platform/graphics/ca/GraphicsLayerCA.cpp:
3383         (WebCore::GraphicsLayer::create):
3384         * platform/graphics/ca/GraphicsLayerCA.h:
3385         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
3386         (WebCore::CompositingCoordinator::createGraphicsLayer):
3387         * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
3388         * rendering/RenderLayerBacking.cpp:
3389         (WebCore::RenderLayerBacking::createGraphicsLayer):
3390         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
3391         (WebCore::RenderLayerBacking::paintIntoLayer):
3392         * rendering/RenderLayerBacking.h:
3393         (WebCore::RenderLayerBacking::hasScrollingLayer):
3394         * rendering/RenderLayerCompositor.cpp:
3395         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
3396         * rendering/RenderLayerCompositor.h:
3397
3398 2013-09-27  Beth Dakin  <bdakin@apple.com>
3399
3400         ScrollbarPainterController should adopt the api to lock overlay scrollbar state
3401         https://bugs.webkit.org/show_bug.cgi?id=121928
3402
3403         Reviewed by Sam Weinig.
3404
3405         ScrollbarPainterController should adopt the api to lock overlay scrollbar state. 
3406         This will allow the ScrollbarPainterController and ScrollAnimatorMac to have 
3407         control over knowing whether or not the scrollbars are currently active, which 
3408         will allow us to remove a bunch of functions previously implemented in 
3409         ScrollableArea subclasses to answer that question.
3410
3411         ScrollableArea::scrollbarsCanBeActive() is not longer virtual. It used to 
3412         implemented on ScrollableArea subclasses, but now ScrollableArea can just get the 
3413         information from the ScrollAnimator.
3414         * WebCore.exp.in:
3415
3416         When ScrollableArea subclasses implemented scrollbarsCanBeActive(), they would 
3417         check to see if the document was in the page cache. Instead of that model, this 
3418         patch adopts a model where ScrollbarPainterController is told directly whether or 
3419         not it is active via shouldLockOverlayScrollbarsToHidden(bool).
3420         * dom/Document.cpp:
3421         (WebCore::Document::setInPageCache):
3422
3423         setAnimatorsAreActive() is no longer necessary. The functionality can be bundled 
3424         into shouldLockOverlayScrollbarsToHidden(bool).
3425         (WebCore::Document::documentDidResumeFromPageCache):
3426
3427         Remove implementations of scrollbarsCanBeActive(), setAnimatorsAreActive(), and 
3428         scrollbarAnimationsAreSuppressed(). 
3429         * page/FrameView.cpp:
3430         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
3431         * page/FrameView.h:
3432
3433         setShouldSuppressScrollbarAnimations(bool) now calls 
3434         setShouldLockOverlayScrollbars(bool). 
3435         * page/Page.cpp:
3436         (WebCore::Page::setShouldSuppressScrollbarAnimations):
3437         (WebCore::Page::setShouldLockOverlayScrollbars):
3438         * page/Page.h:
3439
3440         setIsActive() is now implemented in the ScrollAnimator instead of ScrollableArea 
3441         subclasses. finishCurrentScrollAnimations() is replaced by 
3442         lockOverlayScrollbarStateToHidden(bool).
3443         * platform/ScrollAnimator.h:
3444         (WebCore::ScrollAnimator::lockOverlayScrollbarStateToHidden):
3445         (WebCore::ScrollAnimator::scrollbarsCanBeActive):
3446
3447         New enum ScrollbarOverlayState.
3448         * platform/ScrollTypes.h:
3449
3450         Go to the animator for both of these functions.
3451         * platform/ScrollableArea.cpp:
3452         (WebCore::ScrollableArea::lockOverlayScrollbarStateToHidden):
3453         (WebCore::ScrollableArea::scrollbarsCanBeActive):
3454         * platform/ScrollableArea.h:
3455         (WebCore::ScrollableArea::setVisibleScrollerThumbRect):
3456
3457         Three new pieces of ScrollbarPainterController api.
3458         * platform/mac/NSScrollerImpDetails.h:
3459
3460         Instead of asking the ScrollableArea if scrollbars can be active, just find out if 
3461         the ScrollbarPaintController has been locked.