Remove PlatformInstrumentation since we don't show decode or resize in the new Web...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-09-11  Timothy Hatcher  <timothy@apple.com>
2
3         Remove PlatformInstrumentation since we don't show decode or resize in the new Web Inspector
4         https://bugs.webkit.org/show_bug.cgi?id=121181
5
6         Reviewed by Joseph Pecoraro.
7
8         * CMakeLists.txt:
9         * GNUmakefile.list.am:
10         * Target.pri:
11         * WebCore.order:
12         * WebCore.vcxproj/WebCore.vcxproj:
13         * WebCore.vcxproj/WebCore.vcxproj.filters:
14         * WebCore.xcodeproj/project.pbxproj:
15         * inspector/InspectorTimelineAgent.cpp:
16         (WebCore::InspectorTimelineAgent::willPaint):
17         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
18         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
19         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
20         (WebCore::InspectorTimelineAgent::clearRecordStack):
21         * inspector/InspectorTimelineAgent.h:
22         * platform/PlatformInstrumentation.cpp: Removed.
23         * platform/PlatformInstrumentation.h: Removed.
24         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
25         (WebCore::BMPImageDecoder::frameBufferAtIndex):
26         * platform/image-decoders/gif/GIFImageDecoder.cpp:
27         (WebCore::GIFImageDecoder::frameBufferAtIndex):
28         * platform/image-decoders/ico/ICOImageDecoder.cpp:
29         (WebCore::ICOImageDecoder::frameBufferAtIndex):
30         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
31         (WebCore::JPEGImageDecoder::frameBufferAtIndex):
32         * platform/image-decoders/png/PNGImageDecoder.cpp:
33         (WebCore::PNGImageDecoder::frameBufferAtIndex):
34         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
35         (WebCore::WEBPImageDecoder::frameBufferAtIndex):
36
37 2013-09-11  Brent Fulgham  <bfulgham@apple.com>
38
39         [Windows] Avoid converting from IntSize->SIZE->IntSize.
40         https://bugs.webkit.org/show_bug.cgi?id=121180
41
42         Reviewed by Anders Carlsson.
43
44         * platform/graphics/BitmapImage.h: Take const IntSize* as
45         argument, rather than LPSIZE.
46         * platform/graphics/Image.h: Ditto.
47         (WebCore::Image::getHBITMAPOfSize):
48         * platform/graphics/win/ImageCGWin.cpp:
49         (WebCore::BitmapImage::getHBITMAPOfSize): Use passed-in
50         IntSize, rather than converting from SIZE.
51         * platform/graphics/win/ImageCairoWin.cpp:
52         (WebCore::BitmapImage::getHBITMAPOfSize): Ditto.
53
54 2013-09-11  Zoltan Horvath  <zoltan@webkit.org>
55
56         Unreviewed debug build fix after r155567.
57
58         * rendering/LineWidth.cpp:
59         (WebCore::LineWidth::LineWidth):
60
61 2013-09-11  Zoltan Horvath  <zoltan@webkit.org>
62
63         Move LineWidth out of RenderBlockLineLayout
64         https://bugs.webkit.org/show_bug.cgi?id=121107
65
66         Reviewed by David Hyatt.
67
68         Move LineWidth class and related code into LineWidth.{h,cpp}.
69
70         No new tests, no behavior change.
71
72         * CMakeLists.txt:
73         * GNUmakefile.list.am:
74         * Target.pri:
75         * WebCore.vcxproj/WebCore.vcxproj:
76         * WebCore.xcodeproj/project.pbxproj:
77         * rendering/LineWidth.cpp: Added.
78         (WebCore::LineWidth::applyOverhang):
79         (WebCore::LineWidth::fitBelowFloats):
80         * rendering/LineWidth.h: Added.
81         (WebCore::logicalHeightForLine):
82         (WebCore::LineWidth::LineWidth):
83         (WebCore::LineWidth::fitsOnLine):
84         (WebCore::LineWidth::fitsOnLineIncludingExtraWidth):
85         (WebCore::LineWidth::fitsOnLineExcludingTrailingWhitespace):
86         (WebCore::LineWidth::currentWidth):
87         (WebCore::LineWidth::uncommittedWidth):
88         (WebCore::LineWidth::committedWidth):
89         (WebCore::LineWidth::availableWidth):
90         (WebCore::LineWidth::addUncommittedWidth):
91         (WebCore::LineWidth::commit):
92         (WebCore::LineWidth::setTrailingWhitespaceWidth):
93         (WebCore::LineWidth::shouldIndentText):
94         (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
95         (WebCore::LineWidth::fitsOnLineExcludingTrailingCollapsedWhitespace):
96         (WebCore::LineWidth::updateAvailableWidth):
97         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
98         * rendering/RenderBlockLineLayout.cpp:
99
100 2013-09-11  Ryosuke Niwa  <rniwa@webkit.org>
101
102         HTMLEntityTable could use char to reduce binary size
103         https://bugs.webkit.org/show_bug.cgi?id=121176
104
105         Reviewed by Anders Carlsson.
106
107         Use LChar instead.
108
109         * html/parser/HTMLEntityParser.cpp:
110         (WebCore::HTMLEntityParser::consumeNamedEntity):
111         * html/parser/HTMLEntityTable.h:
112         (WebCore::HTMLEntityTableEntry::lastCharacter):
113         * html/parser/create-html-entity-table:
114
115 2013-09-11  Brent Fulgham  <bfulgham@apple.com>
116
117         [Windows] Revise GDI Create Functions to use GDIObject Smart Pointer.
118         https://bugs.webkit.org/show_bug.cgi?id=121100
119
120         Reviewed by Anders Carlsson.
121
122         * platform/graphics/FontPlatformData.h: Use GDIObject instead of bare pointer.
123         * platform/graphics/win/FontCacheWin.cpp:
124         (WebCore::createGDIFont): No longer need to leak the pointer; use move semantic
125         to pass ownership to FontPlatformData.
126         (WebCore::FontCache::createFontPlatformData):
127         * platform/graphics/win/FontCustomPlatformData.cpp:
128         (WebCore::FontCustomPlatformData::fontPlatformData): Use move operation.
129         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
130         (WebCore::FontCustomPlatformData::fontPlatformData): Ditto.
131         * platform/graphics/win/FontPlatformDataCGWin.cpp:
132         (WebCore::FontPlatformData::FontPlatformData): Ditto.
133         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
134         (WebCore::FontPlatformData::FontPlatformData): Ditto.
135         * platform/graphics/win/FontPlatformDataWin.cpp:
136         (WebCore::FontPlatformData::FontPlatformData): Ditto.
137         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
138         (WebCore::GlyphPage::fill): Use HWndDC smart pointer instead of bare HDC.
139         * platform/graphics/win/SimpleFontDataWin.cpp:
140         (WebCore::SimpleFontData::platformCreateScaledFontData): Use move operation.
141         * platform/win/DragImageCGWin.cpp:
142         (WebCore::allocImage): Change to use GDIObject.
143         (WebCore::scaleDragImage): Use smart pointers to avoid manual deallocs.
144         (WebCore::createDragImageFromImage): Ditto.
145         * platform/win/DragImageCairoWin.cpp:
146         (WebCore::allocImage): Change to use GDIObject.
147         (WebCore::scaleDragImage): Use smart pointers to avoid manual deallocs.
148         (WebCore::createDragImageFromImage): Ditto.
149         * platform/win/DragImageWin.cpp:
150         (WebCore::createDragImageForLink): Update for GDIObject.
151         * platform/win/PopupMenuWin.cpp:
152         (WebCore::PopupMenuWin::PopupMenuWin): Switch to GDIObject.
153         (WebCore::PopupMenuWin::~PopupMenuWin): Remove uneeded deallocs.
154         (WebCore::PopupMenuWin::paint): Update for GDIObject.
155         * platform/win/PopupMenuWin.h: Use smart pointers instead of bare GDI objects.
156
157 2013-09-11  Patrick Gansterer  <paroga@webkit.org>
158
159         Fix animations with !USE(ACCELERATED_COMPOSITING) after r147792.
160         https://bugs.webkit.org/show_bug.cgi?id=121159
161
162         Reviewed by Simon Fraser.
163
164         CSSPropertyAnimation::blendProperties() is available always
165         and needs to be called to make the animations work.
166
167         * page/animation/ImplicitAnimation.cpp:
168         (WebCore::ImplicitAnimation::animate):
169         * page/animation/KeyframeAnimation.cpp:
170         (WebCore::KeyframeAnimation::animate):
171
172 2013-09-11  David Hyatt  <hyatt@apple.com>
173
174         Move all collapsing margin code out of RenderBlock and into RenderBlockFlow.
175         https://bugs.webkit.org/show_bug.cgi?id=121049
176
177         Reviewed by Dean Jackson.
178
179         This patch begins the migration of the rare data struct of RenderBlock into
180         RenderBlockFlow. During this process we will temporarily have rare data structs
181         in both places, but ultimately all of the members are going to move down into
182         RenderBlockFlow, and if any don't, they will get forced into a hash.
183         
184         For this patch, the margin information is being shifted out of RenderBlock and into
185         RenderBlockFlow. Any functions that refer to MarginValues or to MarginInfo also got
186         moved down into RenderBlockFlow. Most of block child layout is now in RenderBlockFlow
187         after this patch.
188         
189         Note that in many cases the code didn't simply move. There is some type tightening
190         that happened as well, i.e., places that look for RenderBlock can now look for
191         RenderBlockFlow instead and let RenderBlock execute the base RenderBox functions.
192
193         * rendering/RenderBlock.cpp:
194         (WebCore::RenderBlock::RenderBlock):
195         (WebCore::RenderBlock::setPaginationStrut):
196         (WebCore::RenderBlock::setPageLogicalOffset):
197         (WebCore::RenderBlock::setBreakAtLineToAvoidWidow):
198         * rendering/RenderBlock.h:
199         (WebCore::RenderBlock::setLineGridBox):
200         (WebCore::RenderBlock::setShapeInsideInfo):
201         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
202         * rendering/RenderBlockFlow.cpp:
203         (WebCore::RenderBlockFlow::MarginInfo::MarginInfo):
204         (WebCore::RenderBlockFlow::RenderBlockFlow):
205         (WebCore::RenderBlockFlow::layoutBlockChild):
206         (WebCore::RenderBlockFlow::adjustPositionedBlock):
207         (WebCore::RenderBlockFlow::adjustFloatingBlock):
208         (WebCore::RenderBlockFlow::marginValuesForChild):
209         (WebCore::RenderBlockFlow::collapseMargins):
210         (WebCore::RenderBlockFlow::clearFloatsIfNeeded):
211         (WebCore::RenderBlockFlow::marginBeforeEstimateForChild):
212         (WebCore::RenderBlockFlow::estimateLogicalTopPosition):
213         (WebCore::RenderBlockFlow::setCollapsedBottomMargin):
214         (WebCore::RenderBlockFlow::handleAfterSideOfBlock):
215         (WebCore::RenderBlockFlow::setMaxMarginBeforeValues):
216         (WebCore::RenderBlockFlow::setMaxMarginAfterValues):
217         (WebCore::RenderBlockFlow::setMustDiscardMarginBefore):
218         (WebCore::RenderBlockFlow::setMustDiscardMarginAfter):
219         (WebCore::RenderBlockFlow::mustDiscardMarginBefore):
220         (WebCore::RenderBlockFlow::mustDiscardMarginAfter):
221         (WebCore::RenderBlockFlow::mustDiscardMarginBeforeForChild):
222         (WebCore::RenderBlockFlow::mustDiscardMarginAfterForChild):
223         (WebCore::RenderBlockFlow::mustSeparateMarginBeforeForChild):
224         (WebCore::RenderBlockFlow::mustSeparateMarginAfterForChild):
225         (WebCore::inNormalFlow):
226         (WebCore::RenderBlockFlow::applyBeforeBreak):
227         (WebCore::RenderBlockFlow::applyAfterBreak):
228         (WebCore::RenderBlockFlow::adjustBlockChildForPagination):
229         * rendering/RenderBlockFlow.h:
230         (WebCore::RenderBlockFlow::MarginValues::MarginValues):
231         (WebCore::RenderBlockFlow::MarginValues::positiveMarginBefore):
232         (WebCore::RenderBlockFlow::MarginValues::negativeMarginBefore):
233         (WebCore::RenderBlockFlow::MarginValues::positiveMarginAfter):
234         (WebCore::RenderBlockFlow::MarginValues::negativeMarginAfter):
235         (WebCore::RenderBlockFlow::MarginValues::setPositiveMarginBefore):
236         (WebCore::RenderBlockFlow::MarginValues::setNegativeMarginBefore):
237         (WebCore::RenderBlockFlow::MarginValues::setPositiveMarginAfter):
238         (WebCore::RenderBlockFlow::MarginValues::setNegativeMarginAfter):
239         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
240         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::positiveMarginBeforeDefault):
241         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::negativeMarginBeforeDefault):
242         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::positiveMarginAfterDefault):
243         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::negativeMarginAfterDefault):
244         (WebCore::RenderBlockFlow::MarginInfo::setAtBeforeSideOfBlock):
245         (WebCore::RenderBlockFlow::MarginInfo::setAtAfterSideOfBlock):
246         (WebCore::RenderBlockFlow::MarginInfo::clearMargin):
247         (WebCore::RenderBlockFlow::MarginInfo::setHasMarginBeforeQuirk):
248         (WebCore::RenderBlockFlow::MarginInfo::setHasMarginAfterQuirk):
249         (WebCore::RenderBlockFlow::MarginInfo::setDeterminedMarginBeforeQuirk):
250         (WebCore::RenderBlockFlow::MarginInfo::setPositiveMargin):
251         (WebCore::RenderBlockFlow::MarginInfo::setNegativeMargin):
252         (WebCore::RenderBlockFlow::MarginInfo::setPositiveMarginIfLarger):
253         (WebCore::RenderBlockFlow::MarginInfo::setNegativeMarginIfLarger):
254         (WebCore::RenderBlockFlow::MarginInfo::setMargin):
255         (WebCore::RenderBlockFlow::MarginInfo::setCanCollapseMarginAfterWithChildren):
256         (WebCore::RenderBlockFlow::MarginInfo::setDiscardMargin):
257         (WebCore::RenderBlockFlow::MarginInfo::atBeforeSideOfBlock):
258         (WebCore::RenderBlockFlow::MarginInfo::canCollapseWithMarginBefore):
259         (WebCore::RenderBlockFlow::MarginInfo::canCollapseWithMarginAfter):
260         (WebCore::RenderBlockFlow::MarginInfo::canCollapseMarginBeforeWithChildren):
261         (WebCore::RenderBlockFlow::MarginInfo::canCollapseMarginAfterWithChildren):
262         (WebCore::RenderBlockFlow::MarginInfo::quirkContainer):
263         (WebCore::RenderBlockFlow::MarginInfo::determinedMarginBeforeQuirk):
264         (WebCore::RenderBlockFlow::MarginInfo::hasMarginBeforeQuirk):
265         (WebCore::RenderBlockFlow::MarginInfo::hasMarginAfterQuirk):
266         (WebCore::RenderBlockFlow::MarginInfo::positiveMargin):
267         (WebCore::RenderBlockFlow::MarginInfo::negativeMargin):
268         (WebCore::RenderBlockFlow::MarginInfo::discardMargin):
269         (WebCore::RenderBlockFlow::MarginInfo::margin):
270         (WebCore::RenderBlockFlow::maxPositiveMarginBefore):
271         (WebCore::RenderBlockFlow::maxNegativeMarginBefore):
272         (WebCore::RenderBlockFlow::maxPositiveMarginAfter):
273         (WebCore::RenderBlockFlow::maxNegativeMarginAfter):
274         (WebCore::RenderBlockFlow::initMaxMarginValues):
275         * rendering/RenderDeprecatedFlexibleBox.cpp:
276         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
277         * rendering/RenderTable.cpp:
278         (WebCore::RenderTable::layout):
279
280 2013-09-11  Myles C. Maxfield  <mmaxfield@apple.com>
281
282         Fix nested unicode-bidi: isolate
283         https://bugs.webkit.org/show_bug.cgi?id=120504
284
285         Reviewed by Darin Adler.
286
287         When we have a nested isolate renderer if the outer isolate has a text
288         and this text is not the first child, the isolated chain is not
289         rendered correctly. This happens because constructBidiRunsForSegment
290         uses always the first inner isolated renderer as isolated inline
291         container. This patch fixes the behavior described changing
292         containingIsolate to find the right isolated container.
293
294         Merged from Blink: https://chromium.googlesource.com/chromium/blink/+/840a57050eade39dd04dde0c6603e129b783151c
295
296         Tests: fast/text/international/unicode-bidi-isolate-nested-first-child-text.html
297                fast/text/international/unicode-bidi-isolate-nested-simple.html
298
299         * rendering/InlineIterator.h:
300         (WebCore::containingIsolate):
301         * rendering/RenderBlockLineLayout.cpp:
302         (WebCore::constructBidiRunsForSegment):
303
304 2013-09-11  Alexey Proskuryakov  <ap@apple.com>
305
306         https://bugs.webkit.org/show_bug.cgi?id=121169
307         media/track/track-cue-rendering-vertical.html is flaky on Mac
308
309         Reviewed by Eric Carlson.
310
311         * html/shadow/MediaControlElements.cpp:
312         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Added a FIXME.
313
314 2013-09-11  Anders Carlsson  <andersca@apple.com>
315
316         Stop using deleteAllValues in SVG code
317         https://bugs.webkit.org/show_bug.cgi?id=121172
318
319         Reviewed by Antti Koivisto.
320
321         Use OwnPtr for values instead.
322
323         * rendering/svg/RenderSVGResourceClipper.cpp:
324         (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
325         (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
326         (WebCore::RenderSVGResourceClipper::removeClientFromCache):
327         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
328         * rendering/svg/RenderSVGResourceClipper.h:
329         * rendering/svg/RenderSVGResourceFilter.cpp:
330         (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
331         (WebCore::RenderSVGResourceFilter::removeAllClientsFromCache):
332         (WebCore::RenderSVGResourceFilter::removeClientFromCache):
333         (WebCore::RenderSVGResourceFilter::applyResource):
334         (WebCore::RenderSVGResourceFilter::postApplyResource):
335         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
336         * rendering/svg/RenderSVGResourceFilter.h:
337         * rendering/svg/RenderSVGResourceMasker.cpp:
338         (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker):
339         (WebCore::RenderSVGResourceMasker::removeAllClientsFromCache):
340         (WebCore::RenderSVGResourceMasker::removeClientFromCache):
341         (WebCore::RenderSVGResourceMasker::applyResource):
342         * rendering/svg/RenderSVGResourceMasker.h:
343
344 2013-09-11  Ryosuke Niwa  <rniwa@webkit.org>
345
346         Make the table static const.
347
348         * css/makeprop.pl:
349
350 2013-09-11  Timothy Hatcher  <timothy@apple.com>
351
352         Remove TimelineTraceEventProcessor since no current ports use it
353         https://bugs.webkit.org/show_bug.cgi?id=121171
354
355         Reviewed by Joseph Pecoraro.
356
357         * CMakeLists.txt:
358         * GNUmakefile.list.am:
359         * Target.pri:
360         * WebCore.vcxproj/WebCore.vcxproj:
361         * WebCore.vcxproj/WebCore.vcxproj.filters:
362         * WebCore.xcodeproj/project.pbxproj:
363         * inspector/InspectorAllInOne.cpp:
364         * inspector/InspectorClient.h:
365         * inspector/InspectorInstrumentation.cpp:
366         * inspector/InspectorInstrumentation.h:
367         * inspector/InspectorTimelineAgent.cpp:
368         (WebCore::InspectorTimelineAgent::start):
369         (WebCore::InspectorTimelineAgent::stop):
370         * inspector/InspectorTimelineAgent.h:
371         * inspector/TimelineTraceEventProcessor.cpp: Removed.
372         * inspector/TimelineTraceEventProcessor.h: Removed.
373
374 2013-09-11  Commit Queue  <commit-queue@webkit.org>
375
376         Unreviewed, rolling out r155519.
377         http://trac.webkit.org/changeset/155519
378         https://bugs.webkit.org/show_bug.cgi?id=121174
379
380         Included regression test fails, and an existing test started
381         to crash (Requested by ap on #webkit).
382
383         * dom/Document.cpp:
384         (WebCore::Document::hoveredElementDidDetach):
385         * page/EventHandler.cpp:
386         (WebCore::EventHandler::EventHandler):
387         (WebCore::EventHandler::clear):
388         (WebCore::EventHandler::handleMouseMoveEvent):
389         (WebCore::EventHandler::scheduleHoverStateUpdate):
390         (WebCore::EventHandler::hoverTimerFired):
391         * page/EventHandler.h:
392
393 2013-09-11  Anders Carlsson  <andersca@apple.com>
394
395         Stop using deleteAllValues in SVG code
396         https://bugs.webkit.org/show_bug.cgi?id=121172
397
398         Reviewed by Antti Koivisto.
399
400         Use OwnPtr for values instead.
401
402         * rendering/svg/RenderSVGResourceClipper.cpp:
403         (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
404         (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
405         (WebCore::RenderSVGResourceClipper::removeClientFromCache):
406         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
407         * rendering/svg/RenderSVGResourceClipper.h:
408         * rendering/svg/RenderSVGResourceFilter.cpp:
409         (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
410         (WebCore::RenderSVGResourceFilter::removeAllClientsFromCache):
411         (WebCore::RenderSVGResourceFilter::removeClientFromCache):
412         (WebCore::RenderSVGResourceFilter::applyResource):
413         (WebCore::RenderSVGResourceFilter::postApplyResource):
414         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
415         * rendering/svg/RenderSVGResourceFilter.h:
416         * rendering/svg/RenderSVGResourceMasker.cpp:
417         (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker):
418         (WebCore::RenderSVGResourceMasker::removeAllClientsFromCache):
419         (WebCore::RenderSVGResourceMasker::removeClientFromCache):
420         (WebCore::RenderSVGResourceMasker::applyResource):
421         * rendering/svg/RenderSVGResourceMasker.h:
422
423 2013-09-10  Simon Fraser  <simon.fraser@apple.com>
424
425         REGRESSION (143483): overflow:hidden doesn't quash big repaints from text-indent: -9999px
426         https://bugs.webkit.org/show_bug.cgi?id=121137
427
428         Reviewed by Ryosuke Niwa.
429         
430         The change in r143483 made it so that negative text-indent gets added
431         to visual oveflow even when we have overflow:hidden, which is really bad
432         because it causes large repaints (and large layers) for a common-on-the-web
433         pattern.
434         
435         Revert the change, and add a new test to make sure it doesn't regress.
436         
437         I can't reproduce the bug it was trying to fix with the change reverted.
438
439         Tests: compositing/geometry/negative-text-indent-with-overflow-hidden-layer.html
440                fast/repaint/negative-text-indent-with-overflow-hidden.html
441
442         * rendering/RenderBlock.cpp:
443         (WebCore::RenderBlock::computeOverflow):
444
445 2013-09-10  Simon Fraser  <simon.fraser@apple.com>
446
447         Optionally show visual and layout overflow rects in layer tree dumps
448         https://bugs.webkit.org/show_bug.cgi?id=121135
449
450         Reviewed by Beth Dakin.
451
452         When calling showLayerTree() from the debugger, show overflow rects
453         (visaul and layout) for renderers.
454         
455         Does not affect test output.
456
457         * rendering/RenderLayer.cpp:
458         (showLayerTree): Pass the new flag to show overflow rects.
459         * rendering/RenderTreeAsText.cpp:
460         (WebCore::RenderTreeAsText::writeRenderObject): Print the rects.
461         (WebCore::write): Don't force layout on subframes if the "dont' layout"
462         flag is set.
463         * rendering/RenderTreeAsText.h: New flag.
464
465 2013-09-11  Chris Fleizach  <cfleizach@apple.com>
466
467         AX: WebKit exposes AXTitleUIElement incorrectly on checkboxes and radio buttons
468         https://bugs.webkit.org/show_bug.cgi?id=121039
469
470         Reviewed by Sam Weinig.
471
472         Stop hiding <label> elements for radio buttons and checkboxes (and using the text inside them for the AXTitle).
473         Instead, expose the <label> element as the titleUIElement if appropriate for the input.
474
475         This implies:
476            1) The web will no longer match MacOS behavior exactly (the text and the checkbox control are combined on MacOS into one element)
477            2) But, the user will now be able to explore the <label> element which may include links or other important controls.
478         I think sacrificing 1) here is a good tradeoff. The user will likely never know the difference in terms of output.
479
480         Test: platform/mac/accessibility/label-elements-exposed-as-title-ui-elements.html
481
482         * accessibility/AccessibilityNodeObject.cpp:
483         (WebCore::AccessibilityNodeObject::titleElementText):
484         (WebCore::AccessibilityNodeObject::title):
485         * accessibility/AccessibilityRenderObject.cpp:
486         (WebCore::AccessibilityRenderObject::hasTextAlternative):
487         (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
488
489 2013-09-11  Andreas Kling  <akling@apple.com>
490
491         Remove unnecessary Document::frame() null checks in rendererIsNeeded().
492         <https://webkit.org/b/121166>
493
494         Reviewed by Anders Carlsson.
495
496         rendererIsNeeded() is only called during style resolve, which only happens
497         while there's a Frame present.
498
499         * html/HTMLEmbedElement.cpp:
500         (WebCore::HTMLEmbedElement::rendererIsNeeded):
501         * html/HTMLMediaElement.cpp:
502         (WebCore::HTMLMediaElement::rendererIsNeeded):
503         * html/HTMLObjectElement.cpp:
504         * html/HTMLObjectElement.h:
505
506 2013-09-11  Csaba Osztrogon√°c  <ossy@webkit.org>
507
508         ARM buildfix after r155491
509         https://bugs.webkit.org/show_bug.cgi?id=121152
510
511         Reviewed by Anders Carlsson.
512
513         FELightingNEON.cpp and FELightingNEON.h is inside COMPILER(GCC) guard, so it's safe to use GCC attribute.
514
515         * platform/graphics/cpu/arm/filters/FELightingNEON.cpp: Use __aligned__ GCC attribute directly.
516         * platform/graphics/cpu/arm/filters/FELightingNEON.h: Use __aligned__ GCC attribute instead of ugly template magic.
517         (WebCore::FELighting::platformApplyNeon):
518
519 2013-09-11  peavo@outlook.com  <peavo@outlook.com>
520
521         [WinCairo] Compile errors.
522         https://bugs.webkit.org/show_bug.cgi?id=121153
523
524         Reviewed by Brent Fulgham.
525
526         * page/win/FrameCairoWin.cpp:
527         (WebCore::imageFromRect): Return empty GDIObject.
528         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
529         (WebCore::FontCustomPlatformData::fontPlatformData): Get actual handle from GDIObject.
530
531 2013-09-11  Darin Adler  <darin@apple.com>
532
533         Rework CSS parser, eliminating "floating" concept and using %destructor
534         https://bugs.webkit.org/show_bug.cgi?id=121161
535
536         Reviewed by Antti Koivisto.
537
538         This is some basic improvement, but there is still room for a lot more
539         consistent approach and formatting in this file. There is a mix of code that
540         works by side effects in the CSSParser class and code that works with the
541         values that bison generates in the union that is more or less random. And
542         the data structures seem too costly, with too much heap allocation. And the
543         CSSParser class has grown massive, with a mix of both function for use by
544         code that wants to trigger parsing, and helper functions called by code in
545         the grammar file. All of that can benefit from more refinement in the future.
546
547         * css/CSSGrammar.y.in: Made some incremental improvements to the structure
548         of the grammar file, including:
549         - Breaking up the %union so types are declared next to their use
550         - Eliminating one shift/reduce conflict caused by two "maybe_space" in a row
551         - Breaking the conditional sections out into their own sections instead of
552           scattering them in with the other code.
553         - Eliminating unused return values in productions such as charset,
554           ignored_charset, namespace, margin_box, invalid_rule, save_block,
555           invalid_at, and declarations_and_margins.
556         - Adding %destructor to productions that return values that need to be deleted
557           or deref'd. This removes the need for CSSParser to separately track these
558           as "floating" to clean up in case of errors.
559         - Removing unneeded productions such as media_feature, region_selector,
560           attr_name, and medium.
561         - Removing explicit code blocks that just say "$$ = $1" or empty blocks when
562           there is no return type, since those are default.
563         - Formatting many productions on single lines since I find them easier to read.
564           Later I think we could make many more CSSParser functions and make even
565           more of the production single lines in the grammar file.
566         - Using adoptPtr, adoptRef, delete, deref, leakPtr, and leakRef to put
567           heap allocated values into and out of the union without storage leaks.
568           
569         * css/CSSParser.cpp:
570         (WebCore::CSSParser::~CSSParser): Remove the now-unneeded deleteAllValues for
571         the various colections of floating things.
572         (WebCore::CSSParser::createFilterRule): Don't put the rule into m_parsedRules,
573         just return a PassRefPtr instead.
574         (WebCore::CSSParser::createImportRule): Ditto.
575         (WebCore::CSSParser::createMediaRule): Ditto.
576         (WebCore::CSSParser::createEmptyMediaRule): Ditto.
577         (WebCore::CSSParser::createSupportsRule): Ditto.
578         (WebCore::CSSParser::createKeyframesRule): Ditto.
579         (WebCore::CSSParser::createStyleRule): Ditto.
580         (WebCore::CSSParser::createFontFaceRule): Ditto.
581         (WebCore::CSSParser::createHostRule): Ditto.
582         (WebCore::CSSParser::rewriteSpecifiersWithNamespaceIfNeeded): Got rid of the
583         unused return value from this function and changed it to to take a reference
584         instead of a pointer.
585         (WebCore::CSSParser::rewriteSpecifiersWithElementName): Ditto.
586         (WebCore::CSSParser::rewriteSpecifiers): Changed this to take and return OwnPtr.
587         (WebCore::CSSParser::createPageRule): Don't put rule into m_parsedRules, return
588         PassRefPtr instead.
589         (WebCore::CSSParser::createSelectorVector): Added. Used to implement the
590         optimization where we recycle a single selector vector. Not sure we still need
591         this, or maybe we need more optimizations like it, but for now keep it.
592         (WebCore::CSSParser::recycleSelectorVector): Ditto.
593         (WebCore::CSSParser::createRegionRule): Don't put rule into m_parsedRules, return
594         PassRefPtr instead.
595         (WebCore::CSSParser::createMarginAtRule): Got rid of unused return value.
596         When this function is implemented for real, we might add a return value.
597         (WebCore::CSSParser::createKeyframe): Don't put keyframe into m_parsedKeyframes,
598         return PassRefPtr instead.
599         (WebCore::CSSParser::createViewportRule): Don't put rule into m_parsedRules, return
600         PassRefPtr instead.
601
602         * css/CSSParser.h: Removed many now-needed functions to manage floating items.
603         Changed rule creation functions to return PassRefPtr. Other changes as mentioned above.
604
605         * css/CSSParserValues.cpp:
606         (WebCore::destroy): Added.
607         (WebCore::CSSParserValueList::~CSSParserValueList): Updated to call destroy.
608         * css/CSSParserValues.h: Ditto.
609
610 2013-09-11  Mario Sanchez Prada  <mario.prada@samsung.com>
611
612         [GTK] Remove Gail dependency from build system for GTK3
613         https://bugs.webkit.org/show_bug.cgi?id=119673
614
615         Reviewed by Gustavo Noronha Silva.
616
617         * GNUmakefile.am: Removed GAIL_CFLAGS.
618         * PlatformGTK.cmake: Removed GAIL3_INCLUDE_DIRS and GAIL3_LIBRARIES.
619
620 2013-09-11  Andreas Kling  <akling@apple.com>
621
622         Remove Widget::widgetPositionsUpdated().
623         <https://webkit.org/b/121160>
624
625         Reviewed by Anders Carlsson.
626
627         Remove this no-op virtual that was only used by chromium.
628
629 2013-09-11  Andreas Kling  <akling@apple.com>
630
631         Page::backForward() should return a reference.
632         <https://webkit.org/b/121151>
633
634         Reviewed by Anders Carlsson.
635
636         There is always a BackForwardController, so make backForward() return a reference.
637         Also made it store a Page& internally since it's tied to the lifetime of Page.
638
639 2013-09-11  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
640
641         WTF::OwnPtr should behave similarly with the rest of WTF smart pointers
642         https://bugs.webkit.org/show_bug.cgi?id=120773
643
644         Reviewed by Anders Carlsson.
645
646         Before the change OwnPtr could take either the pointer type or the pointed-to type, which was bad
647         for the following reasons:
648         - It distinguished OwnPtr behaviour from other WTF smart pointer classes behaviour (so it was confusing for the Client).
649         - It was potential error-prone as it actually modified the type given by the Client in opaque way.
650
651         * page/animation/CSSPropertyAnimation.cpp:
652         (WebCore::PropertyWrapperShadow::blendSimpleOrMatchedShadowLists):
653         (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
654
655 2013-09-11  Andreas Kling  <akling@apple.com>
656
657         FrameView: Tighten widget handling code.
658         <https://webkit.org/b/121155>
659
660         Reviewed by Antti Koivisto.
661
662         Harden typing in this code to work with RenderEmbeddedObject& instead of RenderObject*.
663         Functions and members renamed to reflect that they only deal with embedded objects.
664
665         * html/HTMLPlugInImageElement.h:
666         (WebCore::toHTMLPlugInImageElement):
667
668             Add a toHTMLPlugInImageElement that takes an Element&.
669
670         * html/HTMLTagNames.in:
671
672             Generate type helpers for applet and embed elements.
673
674         * page/FrameView.h:
675         * page/FrameView.cpp:
676         (WebCore::FrameView::addEmbeddedObjectToUpdate):
677         (WebCore::FrameView::removeEmbeddedObjectToUpdate):
678         (WebCore::FrameView::updateEmbeddedObjects):
679         (WebCore::FrameView::updateEmbeddedObject):
680
681             Re-ordered this function in early return style. Change locals into references.
682
683         * rendering/RenderEmbeddedObject.cpp:
684         (WebCore::RenderEmbeddedObject::~RenderEmbeddedObject):
685         (WebCore::RenderEmbeddedObject::layout):
686         * rendering/RenderSnapshottedPlugIn.cpp:
687         (WebCore::RenderSnapshottedPlugIn::layout):
688
689             Updated for new FrameView function signatures.
690
691 2013-09-11  Patrick Gansterer  <paroga@webkit.org>
692
693         [CMake] Split out generic Windows files into its own file
694         https://bugs.webkit.org/show_bug.cgi?id=119514
695
696         Reviewed by Gyuyoung Kim.
697
698         This allows us to add smaller CMakeLists.txt files when
699         adding additional Windows ports.
700
701         * PlatformWin.cmake: Copied from Source/WebCore/PlatformWinCE.cmake.
702         * PlatformWinCE.cmake:
703
704 2013-09-11  Mario Sanchez Prada  <mario.prada@samsung.com>
705
706         [GTK] Get rid of Pango/Gail dependencies in accessibility for ATK
707         https://bugs.webkit.org/show_bug.cgi?id=114867
708
709         Reviewed by Martin Robinson.
710
711         Removed all trace of Gail and Pango specific code from the AtkText
712         implementation, now everything has been reimplemented.
713
714         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
715         (webkitAccessibleTextGetTextForOffset): Removed fallback code
716         relying in Gail/Pango, now all the related code has been
717         removed. Also, replaced the collection of if statements with a
718         switch, for better readability of the code.
719
720 2013-09-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
721
722         Mouseenter/-leave not triggered when element under cursor is moved/removed
723         https://bugs.webkit.org/show_bug.cgi?id=120786
724
725         Reviewed by Antonio Gomes.
726
727         When a hovered element is detached it will now emit a fake mousemove event
728         similar to what happens when a hovered element has CSS display set to none.
729
730         Test: fast/events/mouseenterleave-detached-element.html
731
732         * dom/Document.cpp:
733         (WebCore::Document::hoveredElementDidDetach):
734         * page/EventHandler.cpp:
735         (WebCore::EventHandler::EventHandler):
736         (WebCore::EventHandler::clear):
737         (WebCore::EventHandler::handleMouseMoveEvent):
738         * page/EventHandler.h:
739
740 2013-09-11  Krzysztof Czech  <k.czech@samsung.com>
741
742         [ATK] Adds mapping MenuItemRadioRole to ATK
743         https://bugs.webkit.org/show_bug.cgi?id=121149
744
745         Reviewed by Mario Sanchez Prada.
746
747         Adds mapping MenuItemRadioRole to ATK.
748
749         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
750         (atkRole):
751
752 2013-09-10  Mario Sanchez Prada  <mario.prada@samsung.com>
753
754         [GTK] Reimplement atk_text_get_text_*_offset for LINE boundaries
755         https://bugs.webkit.org/show_bug.cgi?id=114872
756
757         Reviewed by Gustavo Noronha Silva.
758
759         Re-implement these functions without using GailTextUtil nor Pango.
760
761         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
762         (lineAtPositionForAtkBoundary): New helper function to find the
763         line at a given position considering values of AtkTextBoundary.
764         (webkitAccessibleTextLineForBoundary): New function,
765         implementing atk_text_get_text_*_offset for LINE.
766         (webkitAccessibleTextGetTextForOffset): Replace usage of Gail for
767         LINE boundaries with webkitAccessibleTextLineForBoundary().
768
769 2013-09-11  Andreas Kling  <akling@apple.com>
770
771         Missed one BackForwardListImpl.h in the last commit.
772
773         * history/BackForwardList.cpp:
774
775 2013-09-11  Andreas Kling  <akling@apple.com>
776
777         Rename BackForwardListImpl.{cpp,h} => BackForwardClient.{cpp,h}
778
779         Rubber-stamped by Antti Koivisto.
780
781 2013-09-10  Ryosuke Niwa  <rniwa@webkit.org>
782
783         CSSProperty::isInheritedProperty is large
784         https://bugs.webkit.org/show_bug.cgi?id=121083
785
786         Reviewed by Sam Weinig.
787
788         Support [Inherited] option in makeprop.pl and generate CSSProperty::isInheritedProperty in CSSPropertyNames.cpp
789         using a lookup table. We can pack the table better by using bitfield in the future but I think boolean lookup
790         table is a good first cut.
791
792         Updated CSSPropertyNames.in and SVGCSSPropertyNames.in to use the new option and removed the old code from
793         CSSProperty.cpp.
794
795         * css/CSSProperty.cpp:
796         * css/CSSPropertyNames.in:
797         * css/SVGCSSPropertyNames.in:
798         * css/makeprop.pl:
799
800 2013-09-11  Andreas Kling  <akling@apple.com>
801
802         Rename BackForwardListImpl => BackForwardList.
803         <https://webkit.org/b/121146>
804
805         Reviewed by Antti Koivisto.
806
807         Nuke another old FIXME.
808
809 2013-09-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
810
811         Generate more HTML type checks and casting
812         https://bugs.webkit.org/show_bug.cgi?id=121080
813
814         Reviewed by Andreas Kling.
815
816         Clean-up remained functions of HTML elements using auto-generated isFooElement(),
817         and replace toFooElement() with ELEMENT_TYPE_CASTS() macro.
818
819         Besides this patch clean-up unnecessary checks which are being supported by
820         auto-generated isFooElement().
821
822         No new tests, no behavior change.
823
824         * accessibility/atk/AXObjectCacheAtk.cpp:
825         (WebCore::notifyChildrenSelectionChange):
826         * html/HTMLFrameElementBase.h:
827         (WebCore::toHTMLFrameElementBase):
828         * html/HTMLIFrameElement.h:
829         * html/HTMLImageLoader.cpp:
830         (WebCore::HTMLImageLoader::dispatchLoadEvent):
831         (WebCore::HTMLImageLoader::notifyFinished):
832         * html/HTMLObjectElemenaeh:
833         * html/HTMLOptionsCollection.cpp:
834         (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
835         * html/HTMLSelectElement.h:
836         * html/HTMLTagNames.in:
837         * html/HTMLVideoElement.h:
838         * html/shadow/HTMLContentElement.h:
839         * loader/ImageLoader.cpp:
840         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
841         * loader/archive/cf/LegacyWebArchive.cpp:
842         (WebCore::LegacyWebArchive::create):
843         * page/PageSerializer.cpp:
844         (WebCore::frameOwnerURLAttributeName):
845         * page/SpatialNavigation.cpp:
846         (WebCore::canScrollInDirection):
847         * platform/gtk/PasteboardGtk.cpp:
848         (WebCore::getURLForImageNode):
849         * plugins/IFrameShimSupport.cpp:
850         (WebCore::getPluginOcclusions):
851         * rendering/HitTestResult.cpp:
852         (WebCore::HitTestResult::mediaSupportsFullscreen):
853         (WebCore::HitTestResult::mediaElement):
854         (WebCore::HitTestResult::enterFullscreenForVideo):
855         (WebCore::HitTestResult::mediaIsVideo):
856
857         * rendering/RenderLayerCompositor.cpp:
858         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
859         * rendering/RenderListBox.cpp:
860         (WebCore::RenderListBox::RenderListBox):
861         * rendering/RenderMenuList.cpp:
862         (WebCore::RenderMenuList::RenderMenuList):
863         * testing/Internals.cpp:
864         (WebCore::Internals::isSelectPopupVisible):
865
866 2013-09-11  Chris Fleizach  <cfleizach@apple.com>
867
868         AX: Mac platform is not using accessibilityTitle from the Base implementation
869         https://bugs.webkit.org/show_bug.cgi?id=121109
870
871         Reviewed by Sam Weinig.
872
873         Remove the Mac platform overrides of accessibilityTitle, Description, HelpText. 
874         The Base implementation has these and we can share them between iOS and Mac
875
876         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
877         (-[WebAccessibilityObjectWrapperBase accessibilityTitle]):
878         (-[WebAccessibilityObjectWrapperBase accessibilityDescription]):
879         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
880
881 2013-09-11  Andreas Kling  <akling@apple.com>
882
883         Rename BackForwardList.h => BackForwardClient.h
884
885         Rubber-stamped by Antti Koivisto.
886
887 2013-09-11  Andreas Kling  <akling@apple.com>
888
889         Rename BackForwardList => BackForwardClient.
890         <https://webkit.org/b/121143>
891
892         Reviewed by Antti Koivisto.
893
894         Nuke a 3 year old FIXME about renaming this class.
895
896 2013-09-10  Daniel Bates  <dabates@apple.com>
897
898         [iOS] Upstream text autosizing
899         https://bugs.webkit.org/show_bug.cgi?id=121111
900
901         Reviewed by Andy Estes and Sam Weinig.
902
903         Tests: platform/iphone-simulator/text-autosizing/anonymous-block.html
904                platform/iphone-simulator/text-autosizing/contenteditable.html
905                platform/iphone-simulator/text-autosizing/first-letter.html
906                platform/iphone-simulator/text-autosizing/font-family-case-insensitive.html
907                platform/iphone-simulator/text-autosizing/lists.html
908                platform/iphone-simulator/text-autosizing/overflow.html
909                platform/iphone-simulator/text-autosizing/percent-adjust-length-line-height.html
910                platform/iphone-simulator/text-autosizing/percent-adjust-number-line-height.html
911                platform/iphone-simulator/text-autosizing/percent-adjust-percent-line-height.html
912
913         * WebCore.exp.in:
914         * WebCore.xcodeproj/project.pbxproj:
915         * css/CSSComputedStyleDeclaration.cpp:
916         (WebCore::ComputedStyleExtractor::propertyValue):
917         * css/CSSParser.cpp:
918         (WebCore::isValidKeywordPropertyAndValue):
919         (WebCore::CSSParser::parseValue):
920         * css/CSSProperty.cpp:
921         (WebCore::CSSProperty::isInheritedProperty):
922         * css/CSSPropertyNames.in: Add property -webkit-text-size-adjust.
923         * css/DeprecatedStyleBuilder.cpp:
924         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue): Added.
925         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyInitialValue): Added.
926         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyInheritValue): Added.
927         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::createHandler): Added.
928         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
929         * css/StyleResolver.cpp:
930         (WebCore::StyleResolver::updateFont):
931         (WebCore::StyleResolver::applyProperties): Add COMPILE_ASSERT to ensure that
932         all properties that affect font size, including -webkit-text-size-adjust, are
933         resolved before properties that depend on them; see <rdar://problem/13522835>.
934         (WebCore::StyleResolver::applyProperty):
935         (WebCore::StyleResolver::checkForTextSizeAdjust): Added.
936         * css/StyleResolver.h:
937         * dom/Document.cpp:
938         (WebCore::TextAutoSizingTraits::constructDeletedValue): Added.
939         (WebCore::TextAutoSizingTraits::isDeletedValue): Added.
940         (WebCore::Document::detach):
941         (WebCore::Document::addAutoSizingNode): Added.
942         (WebCore::Document::validateAutoSizingNodes): Added.
943         (WebCore::Document::resetAutoSizingNodes): Added.
944         * dom/Document.h:
945         * editing/EditingStyle.cpp:
946         * page/Frame.h: Add declarations for setTextAutosizingWidth(), textAutosizingWidth().
947         * page/FrameView.cpp:
948         (WebCore::FrameView::layout):
949         * page/Settings.in: Generate setter and getter for setting minimumZoomFontSize.
950         * platform/graphics/Font.h:
951         (WebCore::Font::equalForTextAutoSizing): Added.
952         * platform/graphics/FontDescription.cpp:
953         (WebCore::FontDescription::familiesEqualForTextAutoSizing): Added.
954         * platform/graphics/FontDescription.h:
955         (WebCore::FontDescription::equalForTextAutoSizing): Added.
956         * rendering/RenderBlock.cpp:
957         (WebCore::RenderBlock::RenderBlock):
958         (WebCore::isVisibleRenderText): Added.
959         (WebCore::resizeTextPermitted): Added.
960         (WebCore::RenderBlock::immediateLineCount): Added.
961         (WebCore::isNonBlocksOrNonFixedHeightListItems): Added.
962         (WebCore::oneLineTextMultiplier): Added.
963         (WebCore::textMultiplier): Added.
964         (WebCore::RenderBlock::adjustComputedFontSizes): Added.
965         * rendering/RenderBlock.h:
966         (WebCore::RenderBlock::resetComputedFontSize): Added.
967         * rendering/RenderObject.cpp:
968         (WebCore::RenderObject::traverseNext): Added.
969         (WebCore::includeNonFixedHeight): Added.
970         (WebCore::RenderObject::adjustComputedFontSizesOnBlocks): Added.
971         (WebCore::RenderObject::resetTextAutosizing): Added.
972         * rendering/RenderObject.h:
973         * rendering/RenderText.cpp:
974         (WebCore::RenderText::RenderText):
975         * rendering/RenderText.h:
976         (WebCore::RenderText::candidateComputedTextSize): Added.
977         (WebCore::RenderText::setCandidateComputedTextSize): Added.
978         * rendering/style/RenderStyle.cpp:
979         (WebCore::computeFontHash):
980         (WebCore::RenderStyle::hashForTextAutosizing): Added.
981         (WebCore::RenderStyle::equalForTextAutosizing): Added.
982         (WebCore::RenderStyle::changeRequiresLayout):
983         (WebCore::RenderStyle::specifiedLineHeight): Added; iOS-specific variant.
984         We should reconcile this getter with the getter of the same name that is
985         compiled when building with IOS_TEXT_AUTOSIZING disabled.
986         (WebCore::RenderStyle::setSpecifiedLineHeight): Added.
987         * rendering/style/RenderStyle.h:
988         (WebCore::RenderStyle::initialSpecifiedLineHeight): Added.
989         (WebCore::RenderStyle::initialTextSizeAdjust): Added.
990         (WebCore::RenderStyle::setTextSizeAdjust): Added.
991         (WebCore::RenderStyle::textSizeAdjust): Added.
992         * rendering/style/StyleInheritedData.cpp:
993         (WebCore::StyleInheritedData::StyleInheritedData):
994         (WebCore::StyleInheritedData::operator==):
995         * rendering/style/StyleInheritedData.h:
996         * rendering/style/StyleRareInheritedData.cpp:
997         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
998         (WebCore::StyleRareInheritedData::operator==):
999         * rendering/style/StyleRareInheritedData.h:
1000         * rendering/style/TextSizeAdjustment.h: Added.
1001         (TextSizeAdjustment::TextSizeAdjustment):
1002         (TextSizeAdjustment::percentage):
1003         (TextSizeAdjustment::multiplier):
1004         (TextSizeAdjustment::isAuto):
1005         (TextSizeAdjustment::isNone):
1006         (TextSizeAdjustment::isPercentage):
1007         (TextSizeAdjustment::operator == ):
1008         (TextSizeAdjustment::operator != ):
1009
1010 2013-09-10  Chris Fleizach  <cfleizach@apple.com>
1011
1012         AX: AXValue/AXMenuItemMarkChar not defined for menuitemradio (should be false (0) with aria-checked=mixed | undefined)
1013         https://bugs.webkit.org/show_bug.cgi?id=120372
1014
1015         Reviewed by Mario Sanchez Prada.
1016
1017         Add new roles to make the distinction between menu item, menu item radio and menu item checkbox.
1018         Expose AXValue for menu items, so that they can convey the, on/off/mixed state of aria-checked.
1019
1020         Test: platform/mac/accessibility/menu-item-values.html
1021
1022         * accessibility/AccessibilityNodeObject.cpp:
1023         (WebCore::AccessibilityNodeObject::isMenuRelated):
1024         (WebCore::AccessibilityNodeObject::isMenuItem):
1025         (WebCore::AccessibilityNodeObject::isChecked):
1026         (WebCore::AccessibilityNodeObject::actionElement):
1027         (WebCore::AccessibilityNodeObject::visibleText):
1028         (WebCore::AccessibilityNodeObject::title):
1029         * accessibility/AccessibilityObject.cpp:
1030         (WebCore::createARIARoleMap):
1031         (WebCore::AccessibilityObject::checkboxOrRadioValue):
1032         * accessibility/AccessibilityObject.h:
1033         * accessibility/AccessibilityRenderObject.cpp:
1034         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
1035         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1036         (-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
1037         (-[WebAccessibilityObjectWrapper accessibilityTraits]):
1038         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1039         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
1040         (createAccessibilityRoleMap):
1041         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1042
1043 2013-09-10  Anders Carlsson  <andersca@apple.com>
1044
1045         Remove wtf/Alignment.h
1046         https://bugs.webkit.org/show_bug.cgi?id=121077
1047
1048         Reviewed by Andreas Kling.
1049
1050         * platform/PODArena.h:
1051         (WebCore::PODArena::minAlignment):
1052         * platform/graphics/cpu/arm/filters/FELightingNEON.h:
1053         (WebCore::FELighting::platformApplyNeon):
1054
1055 2013-09-10  Zoltan Horvath  <zoltan@webkit.org>
1056
1057         [Qt] Add FloatingObjects.h to Target.pri
1058         https://bugs.webkit.org/show_bug.cgi?id=121117
1059
1060         Reviewed by Andreas Kling.
1061
1062         No new tests, no behavior change.
1063
1064         * Target.pri:
1065
1066 2013-09-10  Sergio Correia  <sergio.correia@openbossa.org>
1067
1068         Fix EFL build after r155477
1069         https://bugs.webkit.org/show_bug.cgi?id=121126
1070
1071         Reviewed by Antonio Gomes.
1072
1073         No new tests, build fix.
1074
1075         * CMakeLists.txt: MediaStreamComponent.cpp and MediaStreamDescriptor.cpp
1076         were added with an incorrect path.
1077
1078 2013-09-10  Andreas Kling  <akling@apple.com>
1079
1080         AnimationController should have a Frame& internally.
1081         <https://webkit.org/b/121078>
1082
1083         Reviewed by Anders Carlsson.
1084
1085         The AnimationController is owned by the Frame so make the back-pointer
1086         a reference. This knocks off a couple of null checks.
1087
1088 2013-09-10  Anders Carlsson  <andersca@apple.com>
1089
1090         More WTF/Alignment.h removal
1091         https://bugs.webkit.org/show_bug.cgi?id=121125
1092
1093         Reviewed by Andreas Kling.
1094
1095         * platform/PODArena.h:
1096
1097 2013-09-10  Eric Carlson  <eric.carlson@apple.com>
1098
1099         Make MediaStream objects ScriptWrappable
1100         https://bugs.webkit.org/show_bug.cgi?id=120879
1101
1102         Reviewed by Jer Noble.
1103
1104         * Modules/mediastream/MediaStream.h: Inherit from ScriptWrappable.
1105         * Modules/mediastream/MediaStreamTrack.h: Ditto.
1106         * Modules/mediastream/RTCDTMFSender.h: Ditto.
1107         * Modules/mediastream/RTCDataChannel.h: Ditto.
1108         * Modules/mediastream/RTCIceCandidate.h: Ditto.
1109         * Modules/mediastream/RTCPeerConnection.h: Ditto.
1110         * Modules/mediastream/RTCSessionDescription.h: Ditto.
1111         * Modules/mediastream/RTCStatsReport.h: Ditto.
1112         * Modules/mediastream/RTCStatsResponse.h: Ditto.
1113
1114 2013-09-10  Eric Carlson  <eric.carlson@apple.com>
1115
1116         Split MediaStreamDescriptor.h and MediaStreamComponent.h into .h and .cpp
1117         https://bugs.webkit.org/show_bug.cgi?id=120878
1118
1119         Reviewed by Jer Noble.
1120
1121         No new tests, no functional change.
1122
1123         * CMakeLists.txt: Add MediaStreamComponent.cpp and MediaStreamDescriptor.cpp.
1124         * GNUmakefile.list.am: Ditto.
1125
1126         * Modules/mediastream/LocalMediaStream.cpp:
1127         (WebCore::LocalMediaStream::create): MediaStreamDescriptor::create() doesn't take a UUID.
1128
1129         * Modules/mediastream/MediaStream.cpp:
1130         (WebCore::createFromSourceVectors): Ditto.
1131
1132         * WebCore.xcodeproj/project.pbxproj: Add MediaStreamComponent.cpp and MediaStreamDescriptor.cpp.
1133
1134         * platform/mediastream/MediaStreamComponent.cpp: Added.
1135         * platform/mediastream/MediaStreamComponent.h:
1136
1137         * platform/mediastream/MediaStreamDescriptor.cpp: Added.
1138         * platform/mediastream/MediaStreamDescriptor.h:
1139
1140 2013-09-10  Brent Fulgham  <bfulgham@apple.com>
1141
1142         [Windows] Create SharedGDIObject Class Template
1143         https://bugs.webkit.org/show_bug.cgi?id=121037
1144
1145         Reviewed by Anders Carlsson.
1146
1147         * WebCore.vcxproj/WebCore.vcxproj: Remove RefCountedGDIHandle.h, and
1148         add new SharedGDIObject.h file.
1149         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1150         * platform/graphics/FontPlatformData.h:
1151         (WebCore::FontPlatformData::hfont): Switch to new SharedGDIObject.
1152         * platform/graphics/win/FontPlatformDataCGWin.cpp:
1153         (WebCore::FontPlatformData::FontPlatformData): Ditto.
1154         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
1155         (WebCore::FontPlatformData::FontPlatformData): Ditto.
1156         * platform/graphics/win/FontPlatformDataWin.cpp:
1157         (WebCore::FontPlatformData::FontPlatformData): Ditto.
1158         * platform/graphics/win/RefCountedGDIHandle.h: Removed.
1159         * platform/graphics/win/SharedGDIObject.h: Added.
1160         (WebCore::SharedGDIObject::create):
1161         (WebCore::SharedGDIObject::get):
1162         (WebCore::SharedGDIObject::hash):
1163         (WebCore::SharedGDIObject::SharedGDIObject):
1164
1165 2013-09-10  Tim Horton  <timothy_horton@apple.com>
1166
1167         [mac] PDFDocumentImage should use PDFKit to draw
1168         https://bugs.webkit.org/show_bug.cgi?id=120651
1169         <rdar://problem/12810731>
1170
1171         Unreviewed hopeful build fix.
1172
1173         * platform/graphics/mac/PDFDocumentImageMac.mm:
1174
1175 2013-09-10  Tim Horton  <timothy_horton@apple.com>
1176
1177         [mac] PDFDocumentImage should use PDFKit to draw
1178         https://bugs.webkit.org/show_bug.cgi?id=120651
1179         <rdar://problem/12810731>
1180
1181         Reviewed by Alexey Proskuryakov.
1182
1183         Use PDFKit to draw PDF-in-<img> on Mac, so that annotations in PDF are painted.
1184
1185         Test: fast/images/pdf-as-image-with-annotations.html
1186
1187         * WebCore.xcodeproj/project.pbxproj:
1188         Add PDFDocumentImageMac.mm.
1189
1190         * platform/graphics/cg/PDFDocumentImage.cpp:
1191         (WebCore::PDFDocumentImage::PDFDocumentImage):
1192         We don't need to initialize m_document anymore because it's now a RetainPtr.
1193         Initialize m_hasPage to false.
1194
1195         (WebCore::PDFDocumentImage::~PDFDocumentImage):
1196         We don't need to manually release our CGPDFDocumentRef anymore because it's now a RetainPtr.
1197
1198         (WebCore::PDFDocumentImage::size):
1199         Use expandedIntSize for explicitness.
1200
1201         (WebCore::PDFDocumentImage::applyRotationForPainting):
1202         Rename adjustCTM to applyRotationForPainting, and move the one non-rotation related transformation out.
1203         We need to do this because PDFKit applies the rotation transformation itself, so we don't need to.
1204         Also, explicitly use std::min instead of importing the whole std namespace.
1205
1206         (WebCore::PDFDocumentImage::dataChanged):
1207         Assert that we don't re-enter dataChanged after we've created a document,
1208         because it seems like that shouldn't happen - we only create a document when
1209         we've supposedly received all data, and it would be nice if we didn't have
1210         all this varying code to deal with SharedBuffers changing out from under each other.
1211         Factor the code to create a CGPDFDocumentRef out into createPDFDocument, so we can
1212         replace it with a different implementation that creates a PDFDocument.
1213
1214         (WebCore::PDFDocumentImage::setCurrentPage):
1215         Make all page-number-related things unsigned, since they are in CG and PDFKit,
1216         and add m_hasPage to denote whether we've acquired a valid page yet.
1217         Factor code to retrieve the PDF box bounds into computeBoundsForCurrentPage.
1218         Remove setCurrentPage itself, as we never use a page other than the first page;
1219         we will call computeBoundsForCurrentPage and set hasPage in dataChanged, now.
1220
1221         (WebCore::PDFDocumentImage::draw):
1222         Fix a weird comment.
1223         Factor code that actually draws the PDF out into drawPDFPage.
1224
1225         The rest of the functions in this file are only built for USE(CG) && !PLATFORM(MAC):
1226
1227         (WebCore::PDFDocumentImage::createPDFDocument):
1228         Factored out of dataChanged(). Use the PLATFORM(MAC) way of making a
1229         CGDataProvider from a SharedBuffer everywhere; we're already using it on
1230         iOS, and it should also work for Windows, the only other USE(CG) platform.
1231         Since we only createPDFDocument() after all data has been received, remove
1232         the comment about the SharedBuffer being secretly written to behind its back.
1233
1234         (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
1235         Factored out of setCurrentPage().
1236         Use deg2rad since we have it.
1237
1238         (WebCore::PDFDocumentImage::pageCount):
1239         (WebCore::PDFDocumentImage::drawPDFPage):
1240         Factored out of draw().
1241         Reduced an unnecessary transform (we were effectively doing mediaBox.origin - cropBox.origin - mediaBox.origin).
1242
1243         * platform/graphics/cg/PDFDocumentImage.h:
1244         Unindent all the things, as we don't indent the first level inside a namespace scope.
1245         Forward-declare PDFDocument.
1246         Make m_currentPage unsigned as it should be.
1247         Add m_hasPage.
1248         Make m_document a PDFDocument on PLATFORM(MAC) and a CGPDFDocumentRef on other platforms.
1249
1250         * platform/graphics/mac/PDFDocumentImageMac.mm: Added.
1251         Soft-link in PDFKit and specifically the PDFDocument class.
1252
1253         (WebCore::PDFDocumentImage::createPDFDocument):
1254         Create our PDFDocument from the SharedBuffer's NSData directly. This shouldn't be a problem
1255         (with respect to the SharedBuffer's data being appended to in secret), because we've waited
1256         for the document to finish loading before getting here.
1257
1258         (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
1259         Ask PDFKit for the page's media and crop boxes; it automatically performs the correct fallback.
1260         Ask PDFKit for the page's rotation.
1261
1262         (WebCore::PDFDocumentImage::pageCount):
1263         Ask PDFKit for the page count.
1264
1265         (WebCore::PDFDocumentImage::drawPDFPage):
1266         Paint the current page of the PDF. Note that we do not apply the rotation here
1267         via applyRotationForPainting because PDFKit will do it itself.
1268         Save and restore two bits of CG state which aren't saved and restored with the
1269         graphics state, as PDFKit can mutate them above us (<rdar://problem/14951759>).
1270
1271         * platform/mac/SoftLinking.h:
1272         I couldn't find any clients of SOFT_LINK_FRAMEWORK_IN_CORESERVICES_UMBRELLA,
1273         so I made it the more generic SOFT_LINK_FRAMEWORK_IN_UMBRELLA, taking the name
1274         of the umbrella framework and the subframework, so I could use it to soft link
1275         Quartz.framework's PDFKit.framework.
1276
1277 2013-09-10  Tim Horton  <timothy_horton@apple.com>
1278
1279         [mac] <progress> has rendering artifacts along the bottom
1280         https://bugs.webkit.org/show_bug.cgi?id=120865
1281         <rdar://problem/11571240>
1282
1283         Reviewed by Simon Fraser.
1284
1285         Allow RenderTheme to force the height of a <progress> bar.
1286
1287         Test: platform/mac/fast/forms/indeterminate-progress-inline-height.html
1288
1289         * rendering/RenderProgress.cpp:
1290         (WebCore::RenderProgress::computeLogicalHeight):
1291         Borrowed from RenderMeter, allow the theme to override the size of the progress bar.
1292
1293         * rendering/RenderProgress.h:
1294         Drive-by add OVERRIDE to a few things.
1295
1296         * rendering/RenderTheme.cpp:
1297         (WebCore::RenderTheme::progressBarRectForBounds):
1298         * rendering/RenderTheme.h:
1299         Add a default implementation of progressBarRectForBounds that just passes the bounds through.
1300
1301         * rendering/RenderThemeMac.h:
1302         * rendering/RenderThemeMac.mm:
1303         (WebCore::RenderThemeMac::progressBarRectForBounds):
1304         Override progressBarRectForBounds; the implementation is factored out of paintProgressBar.
1305
1306         (WebCore::RenderThemeMac::paintProgressBar):
1307         Make use of the factored-out progressBarRectForBounds().
1308
1309         Drive-by apply the device scale factor to the progress bar's image buffer,
1310         so that it is rendered at 2x on appropriate hardware. Also, multiply the
1311         progress animation phase by the device scale factor, as the phase value seems
1312         to be proportional to the actual pixel offset of the animation; without this,
1313         the animation would appear to progress half as slowly in HiDPI.
1314
1315 2013-09-10  Chris Fleizach  <cfleizach@apple.com>
1316
1317         AX: Expose DOM ID and ClassList to AX APIs for automation and AT element hashes
1318         https://bugs.webkit.org/show_bug.cgi?id=120552
1319
1320         Reviewed by Darin Adler.
1321
1322         Add Mac support for exposing the DOM ID and DOM class list so that accessibility
1323         clients can leverage that information.
1324
1325         Test: platform/mac/accessibility/id-class-attributes.html
1326
1327         * accessibility/AccessibilityObject.cpp:
1328         (WebCore::AccessibilityObject::domIdentifier):
1329         (WebCore::AccessibilityObject::domClassList):
1330         * accessibility/AccessibilityObject.h:
1331         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1332         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
1333         (convertStringsToNSArray):
1334         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1335
1336 2013-09-10  Denis Nomiyama  <d.nomiyama@samsung.com>
1337
1338         [GTK] accessibility/loading-iframe-sends-notification.html is failing
1339         https://bugs.webkit.org/show_bug.cgi?id=98370
1340
1341         Reviewed by Chris Fleizach.
1342
1343         Enabled AXLayoutComplete on the GTK platform.
1344
1345         No new tests are required because this feature will use an existing
1346         accessibility layout test that is currently failing on the GTK+ platform
1347         (e.g. loading-iframe-sends-notification.html).
1348
1349         * accessibility/atk/AXObjectCacheAtk.cpp:
1350         (WebCore::AXObjectCache::postPlatformNotification): Send layout-complete
1351         signal in case of AXLayoutComplete.
1352         * dom/Document.cpp:
1353         (WebCore::Document::implicitClose): Enabled AXLayoutComplete on the GTK
1354         platform.
1355         * page/FrameView.cpp:
1356         (WebCore::FrameView::layout): Enabled AXLayoutComplete on the GTK
1357         platform.
1358
1359 2013-09-09  Brent Fulgham  <bfulgham@apple.com>
1360
1361         [Windows] Change from using OwnPtr<GDI Stuff> to new GDIObject template.
1362         https://bugs.webkit.org/show_bug.cgi?id=120778
1363
1364         Reviewed by Anders Carlsson.
1365
1366         Change code to use a GDI-specific smart pointer, rather than OwnPtr. This
1367         is a first step to simplifying OwnPtr. It also gets rid of some Windows-
1368         specific code in WTF.
1369
1370         * WebCore.vcxproj/WebCore.vcxproj: Add the new header file.
1371         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1372         * page/win/FrameCGWin.cpp:
1373         (WebCore::imageFromRect): Switch to GDIObject.
1374         * page/win/FrameCairoWin.cpp:
1375         (WebCore::imageFromRect): Switch to GDIObject.
1376         * page/win/FrameWin.cpp:
1377         (WebCore::imageFromSelection): Switch to GDIObject.
1378         (WebCore::Frame::dragImageForSelection): Ditto.
1379         (WebCore::Frame::nodeImage): Ditto.
1380         * page/win/FrameWin.h:
1381         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
1382         (WebCore::getDirtyRects): Switch from OwnPtr to GDIObject.
1383         * platform/graphics/win/FontCacheWin.cpp:
1384         (WebCore::createGDIFont): Switch to GDIObject.
1385         (WebCore::FontCache::createFontPlatformData): Ditto.
1386         * platform/graphics/win/FontCustomPlatformData.cpp:
1387         (WebCore::FontCustomPlatformData::fontPlatformData): Switch to GDIObject.
1388         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
1389         (WebCore::FontCustomPlatformData::fontPlatformData): Switch to GDIObject.
1390         * platform/graphics/win/GraphicsContextCGWin.cpp:
1391         (WebCore::GraphicsContext::releaseWindowsContext): Switch to GDIObject.
1392         * platform/graphics/win/GraphicsContextCairoWin.cpp:
1393         (WebCore::GraphicsContext::releaseWindowsContext): Switch to GDIObject.
1394         * platform/graphics/win/GraphicsContextWin.cpp:
1395         (WebCore::GraphicsContext::getWindowsContext): Switch to GDIObject.
1396         * platform/graphics/win/SimpleFontDataWin.cpp:
1397         (WebCore::SimpleFontData::platformCreateScaledFontData): Switch to GDIObject.
1398         * platform/win/CursorWin.cpp:
1399         (WebCore::createSharedCursor): Switch to GDIObject.
1400         * platform/win/DragImageCGWin.cpp:
1401         (WebCore::scaleDragImage): Switch to GDIObject.
1402         (WebCore::createDragImageFromImage):
1403         * platform/win/DragImageCairoWin.cpp: 
1404         (WebCore::scaleDragImage): Switch to GDIObject.
1405         (WebCore::createDragImageFromImage): Ditto.
1406         * platform/win/DragImageWin.cpp:
1407         (WebCore::createDragImageForLink): Switch to GDIObject.
1408         * platform/win/PasteboardWin.cpp:
1409         (WebCore::Pasteboard::writeImage): Switch to GDIObject.
1410         * platform/win/ScrollbarThemeWin.cpp:
1411         (WebCore::ScrollbarThemeWin::paintTrackPiece): Switch to GDIObject.
1412         * plugins/win/PluginViewWin.cpp:
1413         (WebCore::PluginView::updatePluginWidget): Switch to GDIObject.
1414         (WebCore::PluginView::snapshot): Ditto.
1415         * rendering/RenderThemeWin.cpp:
1416         (WebCore::drawControl): Switch to GDIObject.
1417
1418 2013-09-10  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1419
1420         REGRESSION (r147454): Youtube annotation links to new window broken
1421         https://bugs.webkit.org/show_bug.cgi?id=114242
1422
1423         Reviewed by Anders Carlsson.
1424
1425         Set the UserGestureIndicator to allow popups the same way the issue was solved for WebKit2.
1426
1427         * plugins/PluginView.cpp:
1428         (WebCore::PluginView::performRequest):
1429
1430 2013-09-10  Alberto Garcia  <berto@igalia.com>
1431
1432         [GTK] The code generator produces a warning if a parameter can be NULL
1433         https://bugs.webkit.org/show_bug.cgi?id=121093
1434
1435         Reviewed by Christophe Dumez.
1436
1437         Return an empty string instead of an undefined value if a
1438         particular parameter doesn't need to be checked.
1439
1440         * bindings/scripts/CodeGeneratorGObject.pm:
1441         (GetGReturnMacro):
1442
1443 2013-09-10  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1444
1445         MediaStream API: Enhance MediaStreamDescriptor add/remove component
1446         https://bugs.webkit.org/show_bug.cgi?id=120874
1447
1448         Merge blink https://chromium.googlesource.com/chromium/blink/+/67fcacf13ce922a762d7a1c6fb9e1b8e51e662ea
1449
1450         Reviewed by Eric Carlson.
1451
1452         No new tests needed.
1453
1454         * Modules/mediastream/MediaStream.cpp:
1455         (WebCore::MediaStream::addTrack):
1456         (WebCore::MediaStream::removeTrack):
1457         (WebCore::MediaStream::addRemoteTrack):
1458         (WebCore::MediaStream::removeRemoteTrack):
1459         * platform/mediastream/MediaStreamDescriptor.h:
1460         (WebCore::MediaStreamDescriptor::addRemoteTrack):
1461         (WebCore::MediaStreamDescriptor::removeRemoteTrack):
1462         (WebCore::MediaStreamDescriptor::addComponent):
1463         (WebCore::MediaStreamDescriptor::removeComponent):
1464
1465 2013-09-10  Andreas Kling  <akling@apple.com>
1466
1467         toFooElement() should use static_cast, not reinterpret_cast.
1468         <https://webkit.org/b/121087>
1469
1470         Reviewed by Antti Koivisto.
1471
1472         reinterpret_cast is not safe for downcasting with multiple inheritance.
1473         Add a ELEMENT_TYPE_CASTS(classname) macro that goes after class definitions.
1474         It expands into the following methods:
1475
1476             - FooElement* toFooElement(Node*)
1477             - const FooElement* toFooElement(const Node*)
1478             - FooElement& toFooElement(Node&)
1479             - const FooElement& toFooElement(const Node&)
1480
1481         As a bonus, it also adds these to catch unnecessary casting:
1482
1483             - void toFooElement(const Node*)
1484             - void toFooElement(const Node&)
1485
1486         There might be a more clever way of doing this, but this gets us to a
1487         correct place so we can think in peace.
1488
1489         * bridge/qt/qt_pixmapruntime.cpp:
1490         (JSC::Bindings::assignToHTMLImageElement):
1491         (JSC::Bindings::QtPixmapRuntime::toQt):
1492         * dom/Element.h:
1493         (WebCore::isElement):
1494         * dom/make_names.pl:
1495         (printTypeHelpers):
1496         * html/HTMLAnchorElement.h:
1497         * html/HTMLAreaElement.h:
1498         * html/HTMLAudioElement.h:
1499         * html/HTMLBaseElement.h:
1500         * html/HTMLCanvasElement.h:
1501         * html/HTMLElement.h:
1502         (WebCore::isHTMLElement):
1503         * html/HTMLFieldSetElement.h:
1504         * html/HTMLFormElement.h:
1505         * html/HTMLFrameSetElement.h:
1506         * html/HTMLImageElement.h:
1507         * html/HTMLInputElement.h:
1508         * html/HTMLLabelElement.h:
1509         * html/HTMLLegendElement.h:
1510         * html/HTMLMapElement.h:
1511         * html/HTMLMeterElement.h:
1512         * html/HTMLOptGroupElement.h:
1513         * html/HTMLOptionElement.h:
1514         * html/HTMLParamElement.h:
1515         * html/HTMLProgressElement.h:
1516         * html/HTMLScriptElement.h:
1517         * html/HTMLSourceElement.h:
1518         * html/HTMLStyleElement.h:
1519         * html/HTMLTableElement.h:
1520         * html/HTMLTableRowElement.h:
1521         * html/HTMLTextAreaElement.h:
1522         * html/HTMLTitleElement.h:
1523         * html/HTMLTrackElement.h:
1524         * svg/SVGAltGlyphDefElement.h:
1525         * svg/SVGAltGlyphElement.h:
1526         * svg/SVGAltGlyphItemElement.h:
1527         * svg/SVGAnimateMotionElement.h:
1528         * svg/SVGAnimateTransformElement.h:
1529         * svg/SVGCircleElement.h:
1530         * svg/SVGClipPathElement.h:
1531         * svg/SVGCursorElement.h:
1532         * svg/SVGEllipseElement.h:
1533         * svg/SVGFEDistantLightElement.h:
1534         * svg/SVGFEFuncAElement.h:
1535         * svg/SVGFEFuncBElement.h:
1536         * svg/SVGFEFuncGElement.h:
1537         * svg/SVGFEFuncRElement.h:
1538         * svg/SVGFEMergeNodeElement.h:
1539         * svg/SVGFEPointLightElement.h:
1540         * svg/SVGFESpotLightElement.h:
1541         * svg/SVGFilterElement.h:
1542         * svg/SVGFontElement.h:
1543         * svg/SVGFontFaceElement.h:
1544         * svg/SVGFontFaceNameElement.h:
1545         * svg/SVGFontFaceSrcElement.h:
1546         * svg/SVGFontFaceUriElement.h:
1547         * svg/SVGForeignObjectElement.h:
1548         * svg/SVGGlyphElement.h:
1549         * svg/SVGGlyphRefElement.h:
1550         * svg/SVGHKernElement.h:
1551         * svg/SVGImageElement.h:
1552         * svg/SVGLineElement.h:
1553         * svg/SVGLinearGradientElement.h:
1554         * svg/SVGMPathElement.h:
1555         * svg/SVGMarkerElement.h:
1556         * svg/SVGMaskElement.h:
1557         * svg/SVGMissingGlyphElement.h:
1558         * svg/SVGPathElement.h:
1559         * svg/SVGPatternElement.h:
1560         * svg/SVGRadialGradientElement.h:
1561         * svg/SVGRectElement.h:
1562         * svg/SVGSVGElement.h:
1563         * svg/SVGScriptElement.h:
1564         * svg/SVGStyleElement.h:
1565         * svg/SVGTextElement.h:
1566         * svg/SVGTextPathElement.h:
1567         * svg/SVGTitleElement.h:
1568         * svg/SVGUseElement.h:
1569         * svg/SVGVKernElement.h:
1570         * svg/SVGViewElement.h:
1571
1572 2013-09-10  Mario Sanchez Prada  <mario.prada@samsung.com>
1573
1574         [GTK] Test /webkit/atk/getTextInParagraphAndBodyModerate fails
1575         https://bugs.webkit.org/show_bug.cgi?id=105538
1576
1577         Reviewed by Chris Fleizach.
1578
1579         Expose '\n' for linebreaks when they were explicitly set by the
1580         author of the web content with a <br> tag.
1581
1582         Tests: accessibility/paragraph-with-linebreaks.html
1583
1584         * accessibility/AccessibilityNodeObject.cpp:
1585         (WebCore::shouldAddSpaceBeforeAppendingNextElement): Helper
1586         function to decide when to append spaces when building the text
1587         under an element, considering line breaks.
1588         (WebCore::AccessibilityNodeObject::textUnderElement): Use the
1589         shouldAddSpaceBeforeAppendingNextElement() function here.
1590         * accessibility/AccessibilityRenderObject.cpp:
1591         (WebCore::AccessibilityRenderObject::textUnderElement): Return the
1592         renderer's text for accessibility objects exposing <br> elements.
1593         * html/parser/HTMLParserIdioms.h:
1594         (WebCore::isHTMLSpaceButNotLineBreak): New helper function, useful
1595         to be passed to other functions like simplifyWhiteSpace().
1596
1597 2013-09-10  Arpita Bahuguna  <a.bah@samsung.com>
1598
1599         When deleting editable content, typing style should be reset when moving into another node.
1600         https://bugs.webkit.org/show_bug.cgi?id=120726
1601
1602         Reviewed by Ryosuke Niwa.
1603
1604         When moving from one text node to the other, while deleting characters,
1605         the deleted text node's style was being applied to any new characters
1606         added into the existing text node.
1607
1608         Typing Style in the frame selection maintains the editing style for the
1609         deleted text node, so that if new characters are inserted at the position
1610         of the deleted text node, it's style can be applied to them.
1611
1612         However, when moving into another text node, we should reset or clear the
1613         typing style maintained by the frame selection. This ensures that any new
1614         content inserted within the existing node does not take on any uncleared
1615         style of the deleted node.
1616
1617         Test: editing/deleting/maintain-style-after-delete.html
1618
1619         * editing/DeleteSelectionCommand.cpp:
1620         (WebCore::DeleteSelectionCommand::saveTypingStyleState):
1621         Calling clearTypingStyle() on frame selection whenever deletion occurs
1622         within the same text node. Thus any existing typing styleh held by the
1623         frame selection shall be cleared.
1624
1625 2013-09-09  Darin Adler  <darin@apple.com>
1626
1627         Some refinements in FrameView::layout
1628         https://bugs.webkit.org/show_bug.cgi?id=121076
1629
1630         Reviewed by Andreas Kling.
1631
1632         * page/FrameView.cpp:
1633         (WebCore::FrameView::layout): Use a reference for the document in
1634         this function since code assumes it's non-null anyway. Change code to
1635         only call styleResolverIfExists once. Rewrite comments about blocks
1636         and the scopes they create for better clarity. Make m_nestedLayoutCount
1637         easier to read. Use HTMLElement* for the pointer to the body element.
1638         Moved the call to calculateScrollbarModesForLayout in so we don't
1639         waste time doing it for subtree layouts. Get rid of the unhelpful
1640         currentHMode and currentVMode local variables. Get rid of an extra
1641         block scope we did not need.
1642
1643 2013-09-09  Santosh Mahto  <santosh.ma@samsung.com>
1644
1645         Adding "explicit" keyword in DOM related classes constructor
1646         https://bugs.webkit.org/show_bug.cgi?id=121031
1647
1648         Reviewed by Ryosuke Niwa.
1649
1650         Added the explicit keyword in constructors.
1651
1652         * dom/ActiveDOMObject.h:
1653         * dom/ContainerNode.h:
1654         * dom/DocumentStyleSheetCollection.h:
1655         * dom/ElementAncestorIterator.h:
1656         * dom/ElementData.h:
1657         * dom/ElementRareData.h:
1658         * dom/EventListenerMap.h:
1659         * dom/QualifiedName.h:
1660         (WebCore::QualifiedName::QualifiedName):
1661         * dom/TreeScope.h:
1662         * dom/ViewportArguments.h:
1663         (WebCore::ViewportArguments::ViewportArguments):
1664         * dom/VisitedLinkState.h:
1665
1666 2013-09-09  Andreas Kling  <akling@apple.com>
1667
1668         Remove unreviewed gunk I just accidentally committed :|
1669
1670 2013-09-09  Andreas Kling  <akling@apple.com>
1671
1672         HTMLTextAreaElement no longer needs custom style resolve callbacks.
1673         <https://webkit.org/b/121073>
1674
1675         Reviewed by Ryosuke Niwa.
1676
1677         After r155408 HTMLTextAreaElement doesn't override didAttachRenderer() anymore,
1678         so we don't need to fire callbacks on textarea elements during style resolve.
1679
1680         * html/HTMLTextAreaElement.cpp:
1681         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
1682
1683 2013-09-09  Andreas Kling  <akling@apple.com>
1684
1685         ScriptController should have a Frame& internally.
1686         <https://webkit.org/b/121071>
1687
1688         Reviewed by Anders Carlsson.
1689
1690         Change ScriptController::m_frame to a reference since it's tied to
1691         the lifetime of the owning Frame.
1692
1693 2013-09-09  Andreas Kling  <akling@apple.com>
1694
1695         ScriptRunner should have a Document& internally.
1696         <https://webkit.org/b/121072>
1697
1698         Reviewed by Anders Carlsson.
1699
1700         Change ScriptRunner::m_document to a reference since it's tied to
1701         the lifetime of the Document.
1702
1703 2013-09-09  Andreas Kling  <akling@apple.com>
1704
1705         Ref-ify more stack guards.
1706         <https://webkit.org/b/121070>
1707
1708         Rubber-stamped by Anders Carlsson.
1709
1710         RefPtr<Foo> protect(this) => Ref<Foo> protect(*this).
1711
1712 2013-09-09  Andreas Kling  <akling@apple.com>
1713
1714         Generate more SVG type checks and conversions.
1715         <https://webkit.org/b/121066>
1716
1717         Reviewed by Anders Carlsson.
1718
1719         Switch another slew of SVG elements to auto-generated isFooElement()
1720         and toFooElement() helpers.
1721
1722         Removed now-unnecessary casts and assertions as appropriate.
1723         Converted some simple loops to childrenOfType iteration instead of
1724         traversing child Nodes.
1725
1726         PS. This patch also adds const versions of toFooElement().
1727
1728 2013-09-09  Dean Jackson  <dino@apple.com>
1729
1730         [WebGL] Allow multithreaded OpenGL contexts
1731         https://bugs.webkit.org/show_bug.cgi?id=121062
1732
1733         Reviewed by Simon Fraser.
1734
1735         Expose a new preference "multithreadedWebGLEnabled".
1736
1737         Also examine the value of that preference and, on Mac,
1738         tell the CGLContext that it should go to multithreaded mode.
1739
1740         * html/canvas/WebGLRenderingContext.cpp:
1741         (WebCore::WebGLRenderingContext::create): Look at the value of the new setting, and
1742         toggle a flag on the context attributes.
1743         * page/Settings.in: New Setting "multithreadedWebGLEnabled".
1744         * platform/graphics/GraphicsContext3D.h:
1745         (WebCore::GraphicsContext3D::Attributes::Attributes): Add a "multithreaded" flag.
1746         * platform/graphics/mac/GraphicsContext3DMac.mm:
1747         (WebCore::GraphicsContext3D::GraphicsContext3D): If the context attributes
1748         suggest we should, tell the OpenGL context to go into multithreaded mode.
1749
1750 2013-09-09  Ryosuke Niwa  <rniwa@webkit.org>
1751
1752         Remove HTMLTextFormControl::fixPlaceholderRenderer
1753         https://bugs.webkit.org/show_bug.cgi?id=121058
1754
1755         Reviewed by Kent Tamura.
1756
1757         HTMLTextFormControl::fixPlaceholderRenderer was added in r118733 to swap the order in which placeholder appears.
1758         Namely, when a text form control element is focused, placeholder should be rendered behind the text for the caret
1759         to render on top of, not behind, the placeholder text.  However, we can achieve the same effect by changing
1760         the order of elements in the shadow DOM instead of manually manipuating the render tree as the assertion failure
1761         mentioned in the change log is a bogus one.
1762
1763         Cleaned up the code by removing HTMLTextFormControl::fixPlaceholderRenderer and changed the order in which inner
1764         text element and placeholder element appear. Also fixed the assertion in Position's constructor.
1765
1766         * dom/Position.cpp:
1767         (WebCore::Position::Position): The original assertion was bogus. What we don't want have is for a Position to be
1768         before or after a shadow root. It's fine for it be anchroed against the shadow root as long as it's inside.
1769
1770         * html/HTMLTextAreaElement.cpp:
1771         (WebCore::HTMLTextAreaElement::updatePlaceholderText): Insert the placeholder before the inner text element.
1772         * html/HTMLTextAreaElement.h:
1773         * html/HTMLTextFormControlElement.cpp:
1774         * html/HTMLTextFormControlElement.h:
1775         * html/TextFieldInputType.cpp:
1776         (WebCore::TextFieldInputType::updatePlaceholderText): Ditto.
1777         * html/TextFieldInputType.h:
1778
1779 2013-09-09  Andreas Kling  <akling@apple.com>
1780
1781         Hide node() below RenderSVGModelObject, use element() instead.
1782         <https://webkit.org/b/121051>
1783
1784         Reviewed by Darin Adler.
1785
1786         This was almost already there, just delete node() and add an element() that returns a SVGElement*.
1787         The SVG render tree is crazy casual about compile-time types, this is only scratching the surface.
1788
1789 2013-09-09  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1790
1791         Fixing EFL build
1792         https://bugs.webkit.org/show_bug.cgi?id=121048
1793
1794         Reviewed by Darin Adler.
1795
1796         No new tests needed.
1797
1798         * platform/efl/RenderThemeEfl.cpp:
1799         (WebCore::RenderThemeEfl::applyEdjeRTLState):
1800
1801 2013-09-09  Bem Jones-Bey  <bjonesbe@adobe.com>
1802
1803         Move Floats out of RenderBlock
1804         https://bugs.webkit.org/show_bug.cgi?id=120779
1805
1806         Reviewed by Alexandru Chiculita.
1807
1808         Move FloatingObject, FloatingObjects and related code into
1809         FloatingObjects.{h,cpp}. This not only makes the code more readable
1810         and maintainable, it also will allow for more decoupling of
1811         RenderBlock and the FloatingObjects, hopefully making it possible for
1812         FloatingObjects to be more central and not need to have one for each
1813         RenderBlock that is affected by floats.
1814
1815         No new tests, no behavior change.
1816
1817         * CMakeLists.txt:
1818         * GNUmakefile.list.am:
1819         * Target.pri:
1820         * WebCore.vcxproj/WebCore.vcxproj:
1821         * WebCore.xcodeproj/project.pbxproj:
1822         * rendering/FloatingObjects.cpp: Added.
1823         (WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
1824         (WebCore::ComputeFloatOffsetAdapter::lowValue):
1825         (WebCore::ComputeFloatOffsetAdapter::highValue):
1826         (WebCore::ComputeFloatOffsetAdapter::outermostFloat):
1827         (WebCore::FloatingObjects::FloatingObjects):
1828         (WebCore::FloatingObjects::~FloatingObjects):
1829         (WebCore::FloatingObjects::clearLineBoxTreePointers):
1830         (WebCore::FloatingObjects::clear):
1831         (WebCore::FloatingObjects::increaseObjectsCount):
1832         (WebCore::FloatingObjects::decreaseObjectsCount):
1833         (WebCore::FloatingObjects::intervalForFloatingObject):
1834         (WebCore::FloatingObjects::addPlacedObject):
1835         (WebCore::FloatingObjects::removePlacedObject):
1836         (WebCore::FloatingObjects::add):
1837         (WebCore::FloatingObjects::remove):
1838         (WebCore::FloatingObjects::computePlacedFloatsTree):
1839         (WebCore::FloatingObjects::logicalLeftOffset):
1840         (WebCore::FloatingObjects::logicalRightOffset):
1841         (WebCore::rangesIntersect):
1842         (WebCore::::updateOffsetIfNeeded):
1843         (WebCore::::collectIfNeeded):
1844         (WebCore::::getHeightRemaining):
1845         (WebCore::::string):
1846         * rendering/FloatingObjects.h: Added.
1847         (WebCore::FloatingObject::FloatingObject):
1848         (WebCore::FloatingObject::clone):
1849         (WebCore::FloatingObject::type):
1850         (WebCore::FloatingObject::renderer):
1851         (WebCore::FloatingObject::isPlaced):
1852         (WebCore::FloatingObject::setIsPlaced):
1853         (WebCore::FloatingObject::x):
1854         (WebCore::FloatingObject::maxX):
1855         (WebCore::FloatingObject::y):
1856         (WebCore::FloatingObject::maxY):
1857         (WebCore::FloatingObject::width):
1858         (WebCore::FloatingObject::height):
1859         (WebCore::FloatingObject::setX):
1860         (WebCore::FloatingObject::setY):
1861         (WebCore::FloatingObject::setWidth):
1862         (WebCore::FloatingObject::setHeight):
1863         (WebCore::FloatingObject::frameRect):
1864         (WebCore::FloatingObject::setFrameRect):
1865         (WebCore::FloatingObject::paginationStrut):
1866         (WebCore::FloatingObject::setPaginationStrut):
1867         (WebCore::FloatingObject::isInPlacedTree):
1868         (WebCore::FloatingObject::setIsInPlacedTree):
1869         (WebCore::FloatingObject::shouldPaint):
1870         (WebCore::FloatingObject::setShouldPaint):
1871         (WebCore::FloatingObject::isDescendant):
1872         (WebCore::FloatingObject::setIsDescendant):
1873         (WebCore::FloatingObject::setRenderer):
1874         (WebCore::FloatingObject::originatingLine):
1875         (WebCore::FloatingObject::setOriginatingLine):
1876         (WebCore::FloatingObject::logicalTop):
1877         (WebCore::FloatingObject::logicalBottom):
1878         (WebCore::FloatingObject::logicalLeft):
1879         (WebCore::FloatingObject::logicalRight):
1880         (WebCore::FloatingObject::logicalWidth):
1881         (WebCore::FloatingObject::pixelSnappedLogicalTop):
1882         (WebCore::FloatingObject::pixelSnappedLogicalBottom):
1883         (WebCore::FloatingObject::pixelSnappedLogicalLeft):
1884         (WebCore::FloatingObject::pixelSnappedLogicalRight):
1885         (WebCore::FloatingObject::setLogicalTop):
1886         (WebCore::FloatingObject::setLogicalLeft):
1887         (WebCore::FloatingObject::setLogicalHeight):
1888         (WebCore::FloatingObject::setLogicalWidth):
1889         (WebCore::FloatingObjectHashFunctions::hash):
1890         (WebCore::FloatingObjectHashFunctions::equal):
1891         (WebCore::FloatingObjectHashTranslator::hash):
1892         (WebCore::FloatingObjectHashTranslator::equal):
1893         (WebCore::FloatingObjects::setHorizontalWritingMode):
1894         (WebCore::FloatingObjects::hasLeftObjects):
1895         (WebCore::FloatingObjects::hasRightObjects):
1896         (WebCore::FloatingObjects::set):
1897         (WebCore::FloatingObjects::placedFloatsTree):
1898         * rendering/RenderBlock.cpp:
1899         (WebCore::RenderBlock::RenderBlock):
1900         (WebCore::RenderBlock::insertFloatingObject):
1901         * rendering/RenderBlock.h:
1902         * rendering/RenderBlockLineLayout.cpp:
1903         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
1904         (WebCore::LineLayoutState::lastFloat):
1905         (WebCore::LineLayoutState::setLastFloat):
1906         * rendering/RenderView.cpp:
1907         (WebCore::RenderView::intervalArena):
1908
1909 2013-09-09  David Hyatt  <hyatt@apple.com>
1910
1911         REGRESSION (r155377): Convert the media elements that were RenderBlocks to RenderBlockFlows
1912         https://bugs.webkit.org/show_bug.cgi?id=121052
1913
1914         Reviewed by Anders Carlsson.
1915
1916         Convert a couple of media renderers that I missed from RenderBlock to RenderBlockFlow.
1917         The previous patch that I landed added asserts that get triggered now when this
1918         situation occurs.
1919
1920         * rendering/RenderMediaControlElements.cpp:
1921         (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
1922         (WebCore::RenderMediaVolumeSliderContainer::layout):
1923         (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
1924         (WebCore::RenderTextTrackContainerElement::layout):
1925         * rendering/RenderMediaControlElements.h:
1926
1927 2013-09-09  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1928
1929         [Bug Fix] Calling m_audioComponents.remove in removeAudioComponent (MediaStreamDescriptor)
1930         https://bugs.webkit.org/show_bug.cgi?id=121034
1931
1932         Reviewed by Eric Carlson.
1933
1934         No new tests needed.
1935
1936         * platform/mediastream/MediaStreamDescriptor.h:
1937         (WebCore::MediaStreamDescriptor::removeAudioComponent):
1938
1939 2013-09-09  Anders Carlsson  <andersca@apple.com>
1940
1941         Stop using WTF type traits in WebCore
1942         https://bugs.webkit.org/show_bug.cgi?id=121042
1943
1944         Reviewed by Andreas Kling.
1945
1946         Replace uses of WTF type traits in CrossThreadCopier with a simpler solution
1947         that uses std::is_convertible_to and some helpers.
1948
1949         * dom/CrossThreadTask.h:
1950         * platform/CrossThreadCopier.h:
1951         * platform/MainThreadTask.h:
1952
1953 2013-09-06  Ryosuke Niwa  <rniwa@webkit.org>
1954
1955         Internals should always cause a layout before calling into TextIterator
1956         https://bugs.webkit.org/show_bug.cgi?id=120891
1957
1958         Reviewed by Antti Koivisto.
1959
1960         Inspired by https://chromium.googlesource.com/chromium/blink/+/5fee5da7b04a710171c79bd6e87eca3533188e45.
1961
1962         Force a layout in the constructors of TextIterator, and SimplifiedBackwardsTextIterator and remove
1963         superfluous calls to updateLayout() in other places.
1964
1965         As much as I hate for a constructor to have a side effect like this, I couldn't think of a better place
1966         to update the layout. Unfortunately, we're slowly moving away from manually createing TextIterator and
1967         wrapping them in a static function.
1968
1969         * editing/TextIterator.cpp:
1970         (WebCore::TextIterator::TextIterator):
1971         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
1972         (WebCore::TextIterator::rangeFromLocationAndLength):
1973         (WebCore::findPlainText):
1974
1975 2013-09-09  David Hyatt  <hyatt@apple.com>
1976
1977         Move layoutBlock and layoutBlockChildren into RenderBlockFlow
1978         https://bugs.webkit.org/show_bug.cgi?id=121036
1979
1980         Reviewed by Dean Jackson.
1981
1982         Move layoutBlock into RenderBlockFlow and make the base class version of
1983         the method ASSERT_NOT_REACHED. Begin the process of moving block layout 
1984         into RenderBlockFlow by putting layoutBlockChildren there as well.
1985         
1986         This patch also puts clearFloats into RenderBlockFlow and just ditches the
1987         SVG-specific forceLayoutInlineChildren by letting RenderSVGText do what it
1988         needs in its own file.
1989
1990         Convert RenderListBox to be a RenderBlockFlow, since this is necessary for it
1991         to get the correct layoutBlock method.
1992         
1993         Patch RenderRegion to call RenderBlockFlow::layoutBlock rather than RenderBlock::layoutBlock.
1994         
1995         Fix run-ins so that they create block flows rather than blocks, and restrict run-ins to
1996         only be block flows.
1997
1998         * rendering/RenderBlock.cpp:
1999         (WebCore::RenderBlock::layoutBlock):
2000         (WebCore::RenderBlock::createReplacementRunIn):
2001         (WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded):
2002         * rendering/RenderBlock.h:
2003         * rendering/RenderBlockFlow.cpp:
2004         (WebCore::RenderBlockFlow::clearFloats):
2005         (WebCore::RenderBlockFlow::layoutBlock):
2006         (WebCore::RenderBlockFlow::layoutBlockChildren):
2007         * rendering/RenderBlockFlow.h:
2008         * rendering/RenderBlockLineLayout.cpp:
2009         (WebCore::RenderBlockFlow::layoutInlineChildren):
2010         * rendering/RenderListBox.cpp:
2011         (WebCore::RenderListBox::RenderListBox):
2012         (WebCore::RenderListBox::layout):
2013         (WebCore::RenderListBox::paintObject):
2014         (WebCore::RenderListBox::addFocusRingRects):
2015         (WebCore::RenderListBox::nodeAtPoint):
2016         * rendering/RenderListBox.h:
2017         * rendering/RenderRegion.cpp:
2018         (WebCore::RenderRegion::paintObject):
2019         (WebCore::RenderRegion::styleDidChange):
2020         (WebCore::RenderRegion::layoutBlock):
2021         (WebCore::RenderRegion::insertedIntoTree):
2022         (WebCore::RenderRegion::willBeRemovedFromTree):
2023         (WebCore::RenderRegion::computeIntrinsicLogicalWidths):
2024         (WebCore::RenderRegion::computePreferredLogicalWidths):
2025         (WebCore::RenderRegion::updateLogicalHeight):
2026         * rendering/RenderTextControlSingleLine.cpp:
2027         (WebCore::RenderTextControlSingleLine::layout):
2028         * rendering/svg/RenderSVGText.cpp:
2029         (WebCore::RenderSVGText::layout):
2030
2031 2013-09-09  Antti Koivisto  <antti@apple.com>
2032
2033         Try to fix GTK build.
2034         
2035         Not reviewed.
2036
2037         * accessibility/AccessibilityTable.cpp:
2038         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
2039
2040 2013-09-09  Antti Koivisto  <antti@apple.com>
2041
2042         Hide node() below RenderLayerModelObject, use element() instead
2043         https://bugs.webkit.org/show_bug.cgi?id=121038
2044
2045         Reviewed by Dave Hyatt.
2046
2047         Switch all call sites to element(). Remove now unnecessary casts, type checks and dead code.
2048         Make constructors below RenderLayerModelObject take an Element instead of a ContainerNode.
2049         
2050         This also removes a branch from many hasTagName() and isFooElement() calls.
2051
2052         * accessibility/AccessibilityRenderObject.cpp:
2053         (WebCore::startOfContinuations):
2054         * accessibility/AccessibilityTable.cpp:
2055         (WebCore::AccessibilityTable::isDataTable):
2056         * accessibility/AccessibilityTableCell.cpp:
2057         (WebCore::AccessibilityTableCell::titleUIElement):
2058         * accessibility/AccessibilityTableColumn.cpp:
2059         (WebCore::AccessibilityTableColumn::headerObjectForSection):
2060         * editing/markup.cpp:
2061         (WebCore::highestAncestorToWrapMarkup):
2062         * html/HTMLTableCellElement.cpp:
2063         (WebCore::HTMLTableCellElement::cellAbove):
2064         * html/shadow/SliderThumbElement.cpp:
2065         (WebCore::RenderSliderThumb::updateAppearance):
2066         (WebCore::RenderSliderContainer::computeLogicalHeight):
2067         (WebCore::RenderSliderContainer::layout):
2068         * page/Frame.cpp:
2069         (WebCore::Frame::frameForWidget):
2070         * rendering/RenderBlock.cpp:
2071         (WebCore::OverflowEventDispatcher::~OverflowEventDispatcher):
2072         (WebCore::RenderBlock::RenderBlock):
2073         (WebCore::RenderBlock::clone):
2074         (WebCore::RenderBlock::createReplacementRunIn):
2075         (WebCore::RenderBlock::paintObject):
2076         (WebCore::RenderBlock::isSelectionRoot):
2077         (WebCore::RenderBlock::nodeForHitTest):
2078         (WebCore::RenderBlock::hasLineIfEmpty):
2079         (WebCore::RenderBlock::addFocusRingRects):
2080         * rendering/RenderBlock.h:
2081         * rendering/RenderBlockFlow.cpp:
2082         (WebCore::RenderBlockFlow::RenderBlockFlow):
2083         * rendering/RenderBlockFlow.h:
2084         * rendering/RenderBlockLineLayout.cpp:
2085         (WebCore::RenderBlock::addOverflowFromInlineChildren):
2086         * rendering/RenderBox.cpp:
2087         (WebCore::RenderBox::RenderBox):
2088         (WebCore::RenderBox::updateFromStyle):
2089         (WebCore::RenderBox::scroll):
2090         (WebCore::RenderBox::logicalScroll):
2091         (WebCore::RenderBox::canBeProgramaticallyScrolled):
2092         (WebCore::RenderBox::nodeAtPoint):
2093         (WebCore::RenderBox::paintCustomHighlight):
2094         (WebCore::RenderBox::computeLogicalWidthInRegion):
2095         (WebCore::RenderBox::sizesLogicalWidthToFitContent):
2096         (WebCore::RenderBox::localCaretRect):
2097         * rendering/RenderBox.h:
2098         * rendering/RenderBoxModelObject.cpp:
2099         (WebCore::RenderBoxModelObject::RenderBoxModelObject):
2100         * rendering/RenderBoxModelObject.h:
2101         * rendering/RenderButton.cpp:
2102         (WebCore::RenderButton::updateFromElement):
2103         (WebCore::RenderButton::canHaveGeneratedChildren):
2104         * rendering/RenderButton.h:
2105         * rendering/RenderEmbeddedObject.cpp:
2106         (WebCore::RenderEmbeddedObject::paintContents):
2107         (WebCore::RenderEmbeddedObject::isReplacementObscured):
2108         (WebCore::RenderEmbeddedObject::layout):
2109         (WebCore::RenderEmbeddedObject::viewCleared):
2110         (WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
2111         * rendering/RenderFileUploadControl.cpp:
2112         (WebCore::RenderFileUploadControl::updateFromElement):
2113         (WebCore::RenderFileUploadControl::maxFilenameWidth):
2114         (WebCore::RenderFileUploadControl::paintObject):
2115         (WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths):
2116         (WebCore::RenderFileUploadControl::uploadButton):
2117         (WebCore::RenderFileUploadControl::fileTextValue):
2118         * rendering/RenderFrame.cpp:
2119         (WebCore::RenderFrame::edgeInfo):
2120         (WebCore::RenderFrame::viewCleared):
2121         * rendering/RenderFrameBase.cpp:
2122         (WebCore::RenderFrameBase::layoutWithFlattening):
2123         * rendering/RenderFrameSet.cpp:
2124         (WebCore::RenderFrameSet::frameSet):
2125         * rendering/RenderHTMLCanvas.cpp:
2126         (WebCore::RenderHTMLCanvas::requiresLayer):
2127         (WebCore::RenderHTMLCanvas::paintReplaced):
2128         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
2129         * rendering/RenderIFrame.cpp:
2130         (WebCore::RenderIFrame::isSeamless):
2131         (WebCore::RenderIFrame::flattenFrame):
2132         * rendering/RenderImage.cpp:
2133         (WebCore::RenderImage::imageChanged):
2134         (WebCore::RenderImage::paintAreaElementFocusRing):
2135         (WebCore::RenderImage::areaElementFocusChanged):
2136         (WebCore::RenderImage::paintIntoRect):
2137         (WebCore::RenderImage::imageMap):
2138         (WebCore::RenderImage::nodeAtPoint):
2139         (WebCore::RenderImage::updateAltText):
2140         * rendering/RenderInline.cpp:
2141         (WebCore::RenderInline::clone):
2142         (WebCore::RenderInline::hitTestCulledInline):
2143         (WebCore::RenderInline::updateHitTestResult):
2144         * rendering/RenderInline.h:
2145         * rendering/RenderLayer.cpp:
2146         (WebCore::RenderLayer::RenderLayer):
2147         (WebCore::RenderLayer::~RenderLayer):
2148         (WebCore::RenderLayer::name):
2149         (WebCore::RenderLayer::isTransparent):
2150         (WebCore::RenderLayer::scrollTo):
2151         (WebCore::RenderLayer::resize):
2152         (WebCore::RenderLayer::filterNeedsRepaint):
2153         * rendering/RenderLayerBacking.cpp:
2154         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
2155         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
2156         * rendering/RenderLayerCompositor.cpp:
2157         (WebCore::RenderLayerCompositor::frameContentsCompositor):
2158         * rendering/RenderLayerFilterInfo.cpp:
2159         (WebCore::RenderLayer::FilterInfo::notifyFinished):
2160         (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
2161         (WebCore::RenderLayer::FilterInfo::notifyCustomFilterProgramLoaded):
2162         * rendering/RenderLayerModelObject.cpp:
2163         (WebCore::RenderLayerModelObject::RenderLayerModelObject):
2164         * rendering/RenderLayerModelObject.h:
2165         (WebCore::RenderLayerModelObject::element):
2166         * rendering/RenderListBox.cpp:
2167         (WebCore::RenderListBox::selectElement):
2168         (WebCore::RenderListBox::paintItemForeground):
2169         (WebCore::RenderListBox::paintItemBackground):
2170         (WebCore::RenderListBox::scrollTo):
2171         (WebCore::RenderListBox::createScrollbar):
2172         * rendering/RenderListItem.cpp:
2173         (WebCore::isList):
2174         (WebCore::enclosingList):
2175         (WebCore::nextListItem):
2176         (WebCore::previousListItem):
2177         (WebCore::RenderListItem::calcValue):
2178         (WebCore::RenderListItem::explicitValueChanged):
2179         (WebCore::RenderListItem::setExplicitValue):
2180         (WebCore::RenderListItem::clearExplicitValue):
2181         (WebCore::previousOrNextItem):
2182         (WebCore::RenderListItem::updateListMarkerNumbers):
2183         * rendering/RenderMarquee.cpp:
2184         (WebCore::RenderMarquee::marqueeSpeed):
2185         * rendering/RenderMedia.cpp:
2186         (WebCore::RenderMedia::mediaElement):
2187         * rendering/RenderMediaControlElements.cpp:
2188         (WebCore::RenderMediaControlTimelineContainer::layout):
2189         (WebCore::RenderTextTrackContainerElement::layout):
2190         * rendering/RenderMenuList.cpp:
2191         (WebCore::RenderMenuList::selectElement):
2192         (WebCore::RenderMenuList::valueChanged):
2193         (WebCore::RenderMenuList::createScrollbar):
2194         * rendering/RenderMeter.cpp:
2195         (WebCore::RenderMeter::meterElement):
2196         * rendering/RenderPart.cpp:
2197         (WebCore::RenderPart::requiresAcceleratedCompositing):
2198         (WebCore::RenderPart::embeddedContentBox):
2199         * rendering/RenderProgress.cpp:
2200         (WebCore::RenderProgress::progressElement):
2201         * rendering/RenderReplaced.cpp:
2202         (WebCore::RenderReplaced::positionForPoint):
2203         (WebCore::RenderReplaced::isSelected):
2204         * rendering/RenderSearchField.cpp:
2205         (WebCore::RenderSearchField::autosaveName):
2206         (WebCore::RenderSearchField::createScrollbar):
2207         * rendering/RenderSlider.cpp:
2208         (WebCore::RenderSlider::layout):
2209         (WebCore::RenderSlider::inDragMode):
2210         * rendering/RenderSnapshottedPlugIn.cpp:
2211         (WebCore::RenderSnapshottedPlugIn::plugInImageElement):
2212         * rendering/RenderTable.cpp:
2213         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
2214         (WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
2215         (WebCore::RenderTable::nodeAtPoint):
2216         * rendering/RenderTableCell.cpp:
2217         (WebCore::RenderTableCell::parseColSpanFromDOM):
2218         (WebCore::RenderTableCell::parseRowSpanFromDOM):
2219         (WebCore::RenderTableCell::updateColAndRowSpanFlags):
2220         (WebCore::RenderTableCell::colSpanOrRowSpanChanged):
2221         (WebCore::RenderTableCell::computePreferredLogicalWidths):
2222         * rendering/RenderTableCol.cpp:
2223         (WebCore::RenderTableCol::updateFromElement):
2224         * rendering/RenderTextControl.cpp:
2225         (WebCore::RenderTextControl::textFormControlElement):
2226         (WebCore::RenderTextControl::adjustInnerTextStyle):
2227         (WebCore::RenderTextControl::updateFromElement):
2228         (WebCore::RenderTextControl::layoutSpecialExcludedChild):
2229         * rendering/RenderTextControlMultiLine.cpp:
2230         (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine):
2231         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
2232         (WebCore::RenderTextControlMultiLine::preferredContentLogicalWidth):
2233         (WebCore::RenderTextControlMultiLine::computeControlLogicalHeight):
2234         * rendering/RenderTextControlSingleLine.cpp:
2235         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
2236         (WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged):
2237         (WebCore::RenderTextControlSingleLine::textShouldBeTruncated):
2238         (WebCore::RenderTextControlSingleLine::inputElement):
2239         * rendering/RenderThemeMac.mm:
2240         (WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
2241         * rendering/RenderTreeAsText.cpp:
2242         (WebCore::writeRenderRegionList):
2243         * rendering/RenderVideo.cpp:
2244         (WebCore::RenderVideo::updateIntrinsicSize):
2245         (WebCore::RenderVideo::videoElement):
2246         * rendering/RenderWidget.cpp:
2247         (WebCore::RenderWidget::setWidgetGeometry):
2248         (WebCore::RenderWidget::updateWidgetPosition):
2249         (WebCore::RenderWidget::nodeAtPoint):
2250         * rendering/mathml/RenderMathMLFenced.cpp:
2251         (WebCore::RenderMathMLFenced::updateFromElement):
2252         (WebCore::RenderMathMLFenced::createMathMLOperator):
2253         (WebCore::RenderMathMLFenced::styleDidChange):
2254         * rendering/mathml/RenderMathMLFraction.cpp:
2255         (WebCore::RenderMathMLFraction::updateFromElement):
2256         * rendering/mathml/RenderMathMLOperator.cpp:
2257         (WebCore::RenderMathMLOperator::updateFromElement):
2258         (WebCore::RenderMathMLOperator::createGlyph):
2259         * rendering/mathml/RenderMathMLSpace.cpp:
2260         (WebCore::RenderMathMLSpace::updateFromElement):
2261         * rendering/svg/RenderSVGForeignObject.cpp:
2262         (WebCore::RenderSVGForeignObject::layout):
2263         * rendering/svg/RenderSVGRoot.cpp:
2264         (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
2265         (WebCore::RenderSVGRoot::isEmbeddedThroughSVGImage):
2266         (WebCore::RenderSVGRoot::isEmbeddedThroughFrameContainingSVGDocument):
2267         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
2268         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
2269         (WebCore::RenderSVGRoot::layout):
2270         (WebCore::RenderSVGRoot::paintReplaced):
2271         (WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform):
2272         (WebCore::RenderSVGRoot::nodeAtPoint):
2273         (WebCore::RenderSVGRoot::hasRelativeDimensions):
2274         (WebCore::RenderSVGRoot::hasRelativeIntrinsicLogicalWidth):
2275         (WebCore::RenderSVGRoot::hasRelativeLogicalHeight):
2276         * rendering/svg/RenderSVGText.cpp:
2277         (WebCore::RenderSVGText::layout):
2278         (WebCore::RenderSVGText::strokeBoundingBox):
2279         * rendering/svg/RenderSVGTextPath.cpp:
2280         (WebCore::RenderSVGTextPath::layoutPath):
2281         (WebCore::RenderSVGTextPath::startOffset):
2282         (WebCore::RenderSVGTextPath::exactAlignment):
2283         (WebCore::RenderSVGTextPath::stretchMethod):
2284
2285 2013-09-09  Antti Koivisto  <antti@apple.com>
2286
2287         Make RenderView anonymous
2288         https://bugs.webkit.org/show_bug.cgi?id=121013
2289
2290         Reviewed by Darin Adler and Dave Hyatt.
2291
2292         RenderView is currently the only renderer that has an associated Node that is not either Element or Text.
2293         By making it anonymous (not have associated node, RenderView::node() returns null) we will be able to 
2294         significantly tighten typing in both render and DOM trees.
2295
2296         * accessibility/AccessibilityRenderObject.cpp:
2297         (WebCore::AccessibilityRenderObject::node):
2298         
2299             We need to grab document() instead of node() in a few places for RenderViews to keep existing code
2300             behaving like it did.
2301
2302         * inspector/InspectorLayerTreeAgent.cpp:
2303         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
2304         
2305             Don't tell inspector that the root layer is anonymous for now to avoid changing behavior.
2306
2307         * rendering/RenderBlock.cpp:
2308         (WebCore::RenderBlock::nodeForHitTest):
2309         * rendering/RenderBox.cpp:
2310         (WebCore::RenderBox::canBeProgramaticallyScrolled):
2311         
2312             The old non-virtual RenderView test renderer->node == &renderer->document() does not work anymore.
2313             Switch to isRenderView() which is now non-virtual in a number of places.
2314
2315         (WebCore::RenderBox::canAutoscroll):
2316         (WebCore::RenderBox::findAutoscrollable):
2317         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2318         * rendering/RenderBoxModelObject.cpp:
2319         (WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight):
2320         * rendering/RenderLayerBacking.cpp:
2321         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
2322         * rendering/RenderObject.h:
2323         (WebCore::RenderObject::isRenderReplaced):
2324         (WebCore::RenderObject::isAnonymousBlock):
2325         
2326             RenderView is anonymous but not a CSS anonymous block.
2327
2328         (WebCore::RenderObject::isText):
2329         (WebCore::RenderObject::isRenderView):
2330         
2331             Make isRenderView non-virtual since it is now hot. Reuse existing bits.
2332
2333         (WebCore::RenderObject::setIsText):
2334         (WebCore::RenderObject::setIsRenderView):
2335         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
2336         * rendering/RenderTreeAsText.cpp:
2337         (WebCore::writeSelection):
2338         * rendering/RenderView.cpp:
2339         
2340             Make anonymous.
2341
2342         (WebCore::RenderView::RenderView):
2343         * rendering/RenderView.h:
2344         * rendering/svg/RenderSVGRoot.cpp:
2345         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
2346
2347 2013-09-09  Bem Jones-Bey  <bjonesbe@adobe.com>
2348
2349         Move logical(Left|Right)FloatOffsetForLine methods into FloatingObjects
2350         https://bugs.webkit.org/show_bug.cgi?id=120705
2351
2352         Reviewed by Sam Weinig.
2353
2354         These are the only consumers of the CalculateFloatOffsetAdapter and
2355         the placed floats tree, so it will allow us to reduce the public
2356         interface of FloatingObjects and make the placed floats tree private.
2357
2358         No new tests, no behavior change.
2359
2360         * rendering/RenderBlock.cpp:
2361         (WebCore::RenderBlock::logicalLeftFloatOffsetForLine):
2362         (WebCore::RenderBlock::logicalRightFloatOffsetForLine):
2363         (WebCore::RenderBlock::FloatingObjects::logicalLeftOffset):
2364         (WebCore::RenderBlock::FloatingObjects::logicalRightOffset):
2365         * rendering/RenderBlock.h:
2366         (WebCore::RenderBlock::FloatingObjects::placedFloatsTree):
2367
2368 2013-09-09  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2369
2370         Add support for BeforeUnloadEvent interface
2371         https://bugs.webkit.org/show_bug.cgi?id=120849
2372
2373         Reviewed by Darin Adler.
2374
2375         Add support for BeforeUnloadEvent as per the specification:
2376         http://www.whatwg.org/specs/web-apps/current-work/#beforeunloadevent
2377
2378         BeforeUnloadEvent has a returnValue attribute. Setting returnValue to a non-empty
2379         string in an event handler causes the user agent should ask the user to confirm
2380         that they wish to unload the document. This is equivalent to returning a non-empty
2381         string in the EventHandler:
2382         http://www.whatwg.org/specs/web-apps/current-work/#onbeforeunloadeventhandler
2383
2384         BeforeUnloadEvent and returnValue are already supported by IE and Firefox. Previously,
2385         WebKit was passing a base Event type to the beforeunload event handlers instead of
2386         a BeforeUnloadEvent.
2387
2388         Note that this patch keeps support for the legacy Event.returnValue attribute. This used
2389         to be an IE extension but this is no longer supported by IE (nor Firefox). The standard
2390         preventDefault() should be used instead however (supported in IE >= 9).
2391
2392         Test: fast/events/before-unload-returnValue.html
2393
2394         * CMakeLists.txt:
2395         * DerivedSources.cpp:
2396         * DerivedSources.make:
2397         * DerivedSources.pri:
2398         * GNUmakefile.list.am:
2399         * WebCore.order:
2400         * WebCore.vcxproj/WebCore.vcxproj:
2401         * bindings/js/JSEventListener.cpp:
2402         (WebCore::JSEventListener::handleEvent):
2403         * dom/BeforeUnloadEvent.cpp:
2404         (WebCore::BeforeUnloadEvent::isBeforeUnloadEvent):
2405         (WebCore::BeforeUnloadEvent::~BeforeUnloadEvent):
2406         * dom/BeforeUnloadEvent.h:
2407         (WebCore::BeforeUnloadEvent::create):
2408         (WebCore::BeforeUnloadEvent::returnValue):
2409         (WebCore::BeforeUnloadEvent::setReturnValue):
2410         (WebCore::toBeforeUnloadEvent):
2411         * dom/BeforeUnloadEvent.idl: Added.
2412         * dom/Event.cpp:
2413         (WebCore::Event::isBeforeUnloadEvent):
2414         * dom/Event.h:
2415         (WebCore::Event::legacyReturnValue):
2416         (WebCore::Event::setLegacyReturnValue):
2417         * dom/Event.idl:
2418         * dom/EventNames.in:
2419         * loader/FrameLoader.cpp:
2420         (WebCore::FrameLoader::handleBeforeUnloadEvent):
2421
2422 2013-09-06  David Hyatt  <hyatt@apple.com>
2423
2424         Get rid of isBlockFlowFlexBoxOrGrid().
2425         https://bugs.webkit.org/show_bug.cgi?id=120897
2426
2427         Convert all callers and get rid of this method.
2428
2429         Reviewed by Beth Dakin.
2430
2431         * accessibility/AccessibilityRenderObject.cpp:
2432         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
2433         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2434         * dom/Position.cpp:
2435         (WebCore::Position::isCandidate):
2436         (WebCore::Position::getInlineBoxAndOffset):
2437         (WebCore::Position::primaryDirection):
2438         * dom/PositionIterator.cpp:
2439         (WebCore::PositionIterator::isCandidate):
2440         * editing/CompositeEditCommand.cpp:
2441         (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
2442         * editing/Editor.cpp:
2443         (WebCore::Editor::baseWritingDirectionForSelectionStart):
2444         * editing/FrameSelection.cpp:
2445         (WebCore::caretRenderer):
2446         * editing/TextIterator.cpp:
2447         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
2448         * editing/TypingCommand.cpp:
2449         (WebCore::TypingCommand::makeEditableRootEmpty):
2450         * editing/htmlediting.cpp:
2451         (WebCore::isBlockFlowElement):
2452         * rendering/LayoutState.cpp:
2453         (WebCore::LayoutState::LayoutState):
2454         * rendering/RenderBlock.cpp:
2455         (WebCore::RenderBlock::layoutBlock):
2456         (WebCore::RenderBlock::collapseMargins):
2457         (WebCore::RenderBlock::selectionGaps):
2458         (WebCore::RenderBlock::firstLineBoxBaseline):
2459         (WebCore::RenderBlock::lastLineBoxBaseline):
2460         (WebCore::RenderBlock::firstLineBlock):
2461         (WebCore::findFirstLetterBlock):
2462         (WebCore::shouldCheckLines):
2463         (WebCore::RenderBlock::adjustForBorderFit):
2464         * rendering/RenderBox.cpp:
2465         (WebCore::RenderBox::computeRectForRepaint):
2466         (WebCore::RenderBox::positionForPoint):
2467         * rendering/RenderBoxModelObject.h:
2468         (WebCore::RenderBoxModelObject::canHaveBoxInfoInRegion):
2469         * rendering/RenderInline.cpp:
2470         (WebCore::RenderInline::computeRectForRepaint):
2471         * rendering/RenderLineBoxList.cpp:
2472         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
2473         * rendering/RenderObject.cpp:
2474         (WebCore::RenderObject::computeRectForRepaint):
2475         (WebCore::RenderObject::styleWillChange):
2476         (WebCore::firstLineStyleForCachedUncachedType):
2477         * rendering/RenderObject.h:
2478         * rendering/RenderObjectChildList.cpp:
2479         (WebCore::RenderObjectChildList::insertChildNode):
2480         * rendering/RenderView.h:
2481
2482 2013-09-09  Eric Carlson  <eric.carlson@apple.com>
2483
2484         MediaStream API: Stop means stop
2485         https://bugs.webkit.org/show_bug.cgi?id=120873
2486
2487         Reviewed by Jer Noble.
2488
2489         Merge blink https://chromium.googlesource.com/chromium/blink/+/9a97b0f3892320fa5741485e06a78183b77c3635
2490         by Tommy Widenflycht.
2491
2492         Removing notification functionality from MediaStreamTrack::stop because the world is being torn down.
2493
2494         No new tests, the original author was unable to come up with a reliable test case.
2495
2496         * Modules/mediastream/MediaStreamTrack.cpp:
2497         (WebCore::MediaStreamTrack::stop): Don't call didEndTrack, the world is going away.
2498
2499 2013-09-09  Filip Pizlo  <fpizlo@apple.com>
2500
2501         Unreviewed, fix build.
2502
2503         * Modules/encryptedmedia/MediaKeySession.h:
2504
2505 2013-09-09  Eric Carlson  <eric.carlson@apple.com>
2506
2507         MediaStream API: Moving Add/Remove track from WebMediaStreamCenterClient to WebMediaStream
2508         https://bugs.webkit.org/show_bug.cgi?id=120872
2509
2510         Reviewed by Jer Noble.
2511
2512         Merge https://chromium.googlesource.com/chromium/blink/+/7d740fd27c1f345b59c846df01c3adce53c18e6e
2513         Simple cleanup that makes the API cleaner.
2514
2515         * Modules/mediastream/MediaStream.cpp:
2516         (WebCore::MediaStream::removeTrack):
2517         (WebCore::MediaStream::addRemoteTrack):
2518         (WebCore::MediaStream::removeRemoteTrack):
2519         * platform/mediastream/MediaStreamCenter.cpp:
2520         * platform/mediastream/MediaStreamCenter.h:
2521         * platform/mediastream/MediaStreamDescriptor.h:
2522         (WebCore::MediaStreamDescriptor::removeAudioComponent):
2523         (WebCore::MediaStreamDescriptor::addRemoteTrack):
2524         (WebCore::MediaStreamDescriptor::removeRemoteTrack):
2525
2526 2013-09-09  ChangSeok Oh  <changseok.oh@collabora.com>
2527
2528         [WK2] Assertion failure in WebCore::Page::checkSubframeCountConsistency when going back
2529         https://bugs.webkit.org/show_bug.cgi?id=119781
2530
2531         Reviewed by Alexey Proskuryakov.
2532
2533         We should pair restoring a cached frame and adding it to FrameTree so that
2534         actual added frame count in FrameTree keeps same with restored frame count.
2535         Otherwise assert failure occurs in Page::CheckSubframeCountConsistency.
2536         We have added cached frames to FrameTree ahead and then restored them by tree travelsal.
2537         But this way doesn't guarantee subframecount of Page and the number of child of FrameTree are equal.
2538         In addition, we still make sure that adding a cached frame to FrameTree should happen
2539         before opening it. Because FrameTree might be used while restoring a cached page.
2540
2541         Test: fast/history/go-back-to-iframe-with-plugin.html
2542
2543         * history/CachedFrame.cpp:
2544         (WebCore::CachedFrameBase::restore):
2545         (WebCore::CachedFrame::open):
2546
2547 2013-09-09  Luciano Wolf  <luciano.wolf@openbossa.org>
2548
2549         Nix upstreaming - Adding stubs and Nix specific platform files
2550         https://bugs.webkit.org/show_bug.cgi?id=118358
2551
2552         Reviewed by Benjamin Poulain.
2553
2554         Basically adding all files that have "Nix" in their names and
2555         are related to WebCore module.
2556
2557         No new tests. They will be uploaded on another patch during the
2558         upstreaming process.
2559
2560         * css/mediaControlsNix.css: Added.
2561         * css/mediaControlsNixFullscreen.css: Added.
2562         * page/nix/EventHandlerNix.cpp: Added.
2563         * platform/graphics/egl/GLContextFromCurrentEGL.cpp: Added.
2564         * platform/graphics/egl/GLContextFromCurrentEGL.h: Added.
2565         * platform/graphics/gstreamer/PlatformVideoWindowNix.cpp: Added.
2566         * platform/graphics/nix/IconNix.cpp: Added.
2567         * platform/graphics/nix/ImageNix.cpp: Added.
2568         * platform/nix/CursorNix.cpp: Added.
2569         * platform/nix/DragDataNix.cpp: Added.
2570         * platform/nix/DragImageNix.cpp: Added.
2571         * platform/nix/GamepadsNix.cpp: Added.
2572         * platform/nix/LanguageNix.cpp: Added.
2573         * platform/nix/LocalizedStringsNix.cpp: Added.
2574         * platform/nix/NixKeyboardUtilities.cpp: Added.
2575         * platform/nix/NixKeyboardUtilities.h: Added.
2576         * platform/nix/PasteboardNix.cpp: Added.
2577         * platform/nix/PlatformKeyboardEventNix.cpp: Added.
2578         * platform/nix/PlatformScreenNix.cpp: Added.
2579         * platform/nix/SoundNix.cpp: Added.
2580         * platform/nix/WidgetNix.cpp: Added.
2581         * platform/text/nix/TextBreakIteratorInternalICUNix.cpp: Added.
2582
2583 2013-09-09  Hugo Parente Lima  <hugo.lima@openbossa.org>
2584
2585         Preparing WebCore to receive Nix Port
2586         https://bugs.webkit.org/show_bug.cgi?id=118326
2587
2588         Reviewed by Eric Carlson.
2589
2590         Only adding the compilation directives that are Nix specific, in the
2591         existent WebCore files
2592
2593         * loader/FrameLoader.cpp:
2594         (WebCore::FrameLoader::defaultObjectContentType):
2595         * platform/Cursor.h:
2596         * platform/DragData.h:
2597         * platform/DragImage.h:
2598         * platform/FileSystem.h:
2599         * platform/RunLoop.h:
2600         * platform/Widget.h:
2601         * platform/audio/FFTFrame.h:
2602         * platform/audio/HRTFElevation.cpp:
2603         * platform/cairo/WidgetBackingStore.h:
2604         * platform/graphics/ANGLEWebKitBridge.h:
2605         * platform/graphics/FontPlatformData.h:
2606         * platform/graphics/GraphicsContext3D.cpp:
2607         * platform/graphics/GraphicsContext3D.h:
2608         * platform/graphics/OpenGLESShims.h:
2609         * platform/graphics/OpenGLShims.cpp:
2610         (WebCore::getProcAddress):
2611         * platform/graphics/OpenGLShims.h:
2612         * platform/graphics/PlatformLayer.h:
2613         * platform/graphics/cairo/GLContext.cpp:
2614         (WebCore::GLContext::createContextForWindow):
2615         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
2616         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2617         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
2618         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2619         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
2620         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
2621         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
2622         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
2623         (WebCore::Extensions3DOpenGL::supportsExtension):
2624         * platform/graphics/opengl/Extensions3DOpenGL.h:
2625         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2626         * platform/graphics/opengl/Extensions3DOpenGLES.h:
2627         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2628         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2629         (WebCore::GraphicsContext3D::reshape):
2630         * platform/graphics/texmap/TextureMapper.h:
2631         * plugins/PluginPackage.cpp:
2632         * plugins/PluginView.cpp:
2633         (WebCore::PluginView::PluginView):
2634         * plugins/PluginView.h:
2635         * plugins/PluginViewNone.cpp:
2636
2637 2013-09-08  Darin Adler  <darin@apple.com>
2638
2639         Tighten up EventQueue classes a bit, less indirection and memory allocation
2640         https://bugs.webkit.org/show_bug.cgi?id=121016
2641
2642         Reviewed by Andreas Kling.
2643
2644         * Modules/encryptedmedia/MediaKeySession.cpp:
2645         (WebCore::MediaKeySession::MediaKeySession): Updated since event queue is now
2646         a member rather than an OwnPtr.
2647         (WebCore::MediaKeySession::close): Ditto.
2648         (WebCore::MediaKeySession::keyRequestTimerFired): Ditto.
2649         (WebCore::MediaKeySession::addKeyTimerFired): Ditto.
2650         * Modules/encryptedmedia/MediaKeySession.h: Ditto.
2651
2652         * Modules/indexeddb/IDBDatabase.cpp:
2653         (WebCore::IDBDatabase::closeConnection): Updated since ScriptExecutionContext's
2654         eventQueue function now returns a reference rather than a pointer. Also, the
2655         cancelEvent function takes a reference instead of a pointer.
2656         (WebCore::IDBDatabase::enqueueEvent): Ditto.
2657         * Modules/indexeddb/IDBRequest.cpp:
2658         (WebCore::IDBRequest::abort): Ditto.
2659         (WebCore::IDBRequest::enqueueEvent): Ditto.
2660         * Modules/indexeddb/IDBTransaction.cpp:
2661         (WebCore::IDBTransaction::enqueueEvent): Ditto.
2662
2663         * Modules/mediasource/MediaSource.cpp:
2664         (WebCore::MediaSource::MediaSource): Updated since event queue is now a
2665         member rather than an OwnPtr. Also use initialization instead of assignment
2666         to set up source buffers.
2667         (WebCore::MediaSource::hasPendingActivity): Ditto.
2668         (WebCore::MediaSource::stop): Ditto.
2669         (WebCore::MediaSource::scheduleEvent): Ditto.
2670         * Modules/mediasource/MediaSource.h: Ditto.
2671
2672         * Modules/mediasource/SourceBufferList.cpp:
2673         (WebCore::SourceBufferList::SourceBufferList): Take references instead of
2674         pointers.
2675         (WebCore::SourceBufferList::length): Changed type to unsigned instead of
2676         unsigned long. This is an IDL "unsigned long", which corresponds to "unsigned"
2677         in our C++ DOM implementation.
2678         (WebCore::SourceBufferList::createAndFireEvent): Updated since event queue is
2679         now a reference.
2680         (WebCore::SourceBufferList::scriptExecutionContext): Updated since script
2681         execution context is now a reference.
2682         * Modules/mediasource/SourceBufferList.h: Ditto.
2683
2684         * dom/Document.cpp:
2685         (WebCore::Document::Document): Updated since event queue is now a member rather
2686         than a RefPtr.
2687         (WebCore::Document::detach): Ditto.
2688         (WebCore::Document::enqueueWindowEvent): Ditto.
2689         (WebCore::Document::enqueueDocumentEvent): Ditto.
2690         * dom/Document.h: Ditto.
2691
2692         * dom/DocumentEventQueue.cpp: Renamed DocumentEventQueueTimer to just Timer and
2693         made it a class member of DocumentEventQueue. Also changed it to use references
2694         instead of pointers and removed unneeded ScriptExecutionContext argument.
2695         (WebCore::DocumentEventQueue::DocumentEventQueue): Updated to take a document
2696         reference instead of a script execution context pointer.
2697         (WebCore::DocumentEventQueue::enqueueEvent): Wrote the assertions in a clearer
2698         style and do the assertions even when the queue is closed.
2699         (WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent): Removed the unneeded
2700         ScrollEventTargetType argument, since the policy is specific to the document node.
2701         Made the argument a reference instead of a PassRefPtr, and rewrote the function
2702         to be more straightforward and readable.
2703         (WebCore::DocumentEventQueue::cancelEvent): Use the return value recently added to
2704         the remove function to avoid the need for use of iterators and a find/remove pair.
2705         (WebCore::DocumentEventQueue::pendingEventTimerFired): Rewrote this to use the
2706         recently added ListHashSet takeFirst function. Also protect the document instead
2707         of protecting just this object during the dispatch. Can't really protect the
2708         event queue since it's no longer separately reference counted.
2709         (WebCore::DocumentEventQueue::dispatchEvent): Changed this to take a reference and
2710         added a FIXME about some curious code in here that needs a "why" comment.
2711         * dom/DocumentEventQueue.h: Removed many unneeded includes, some unneeded forward
2712         declarations, marked the class final, made it no longer derive from RefCounted,
2713         removed ScrollEventTargetType and create, and did the other changes mentioned above.
2714
2715         * dom/EventQueue.h: Got rid of many uneeded includes, changed the argument type
2716         of cancelEvent to Event& and rewrote the comment for close.
2717
2718         * dom/GenericEventQueue.cpp:
2719         (WebCore::GenericEventQueue::GenericEventQueue): Updated to take a reference.
2720         (WebCore::GenericEventQueue::enqueueEvent): Ditto.
2721         (WebCore::GenericEventQueue::timerFired): Ditto.
2722         * dom/GenericEventQueue.h: Changed this class to no longer derive from EventQueue
2723         since there was no value coming from that polymorphism. Removed all the virtual
2724         keywords from the class. Switched from pointers to references. Removed the unused
2725         cancelEvent function. Removed the create function since this is always used as a
2726         data member, not a pointer on the heap.
2727
2728         * dom/ScriptExecutionContext.h: Changed the return type of eventQueue to a reference.
2729
2730         * html/HTMLMediaElement.cpp:
2731         (WebCore::HTMLMediaElement::HTMLMediaElement): Updated since event queue is now a
2732         member rather than an OwnPtr.
2733         (WebCore::HTMLMediaElement::~HTMLMediaElement): Ditto.
2734         (WebCore::HTMLMediaElement::scheduleEvent): Ditto.
2735         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Ditto.
2736         (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks): Ditto.
2737         (WebCore::HTMLMediaElement::mediaPlayerKeyAdded): Ditto.
2738         (WebCore::HTMLMediaElement::mediaPlayerKeyError): Ditto.
2739         (WebCore::HTMLMediaElement::mediaPlayerKeyMessage): Ditto.
2740         (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded): Ditto.
2741         (WebCore::HTMLMediaElement::stop): Ditto.
2742         (WebCore::HTMLMediaElement::hasPendingActivity): Ditto.
2743         * html/HTMLMediaElement.h: Ditto.
2744
2745         * page/EventHandler.cpp:
2746         (WebCore::EventHandler::sendScrollEvent): Updated to remove the now-uneeded
2747         ScrollEventTargetType argument, and also to use references instead of pointers.
2748         * rendering/RenderLayer.cpp:
2749         (WebCore::RenderLayer::scrollTo): Ditto.
2750         * rendering/RenderListBox.cpp:
2751         (WebCore::RenderListBox::scrollTo): Ditto.
2752
2753         * workers/WorkerEventQueue.cpp:
2754         (WebCore::WorkerEventQueue::WorkerEventQueue): Updated to work with references
2755         instead of pointers.
2756         (WebCore::WorkerEventQueue::enqueueEvent): Ditto.
2757         (WebCore::WorkerEventQueue::cancelEvent): Use the take function instead of a
2758         get/remove pair, to eliminate double hashing.
2759         * workers/WorkerEventQueue.h: Removed unneeded includes, forward declarations,
2760         the create function, and the private removeEvent function. Marked class final.
2761
2762         * workers/WorkerGlobalScope.cpp:
2763         (WebCore::WorkerGlobalScope::WorkerGlobalScope): Updated since eventQueue is
2764         now a data member.
2765         (WebCore::WorkerGlobalScope::eventQueue): Ditto.
2766         * workers/WorkerGlobalScope.h: Made m_eventQueue a queue instead of a pointer
2767         to a queue. Also made the eventQueue function private and final.
2768
2769 2013-09-09  Hans Muller  <hmuller@adobe.com>
2770
2771         [CSS Shapes] Heap-buffer-overflow in WebCore::ShapeInterval<float>::subtractShapeIntervals
2772         https://bugs.webkit.org/show_bug.cgi?id=120802
2773
2774         Reviewed by Darin Adler.
2775
2776         Revised the implementation of subtractShapeIntervals() to isloate and check the
2777         places where it dereferences ShapeInterval vector iterators.
2778
2779         Test: fast/shapes/shape-inside/shape-inside-subtract-intervals-crash.html
2780
2781         * rendering/shapes/ShapeInterval.h:
2782         (WebCore::ShapeInterval::subtractShapeIntervals):
2783
2784 2013-09-09  Darin Adler  <darin@apple.com>
2785
2786         matchingShorthandsForLonghand builds map using a giant function
2787         https://bugs.webkit.org/show_bug.cgi?id=121029
2788
2789         Reviewed by Anders Carlsson.
2790
2791         There is no need to use a map for this; a switch statement is fine.
2792         Also, these structures are simple enough that we can build them
2793         every time; we don't need to keep them in globals.
2794
2795         * css/CSSParser.cpp:
2796         (WebCore::CSSParser::addProperty): Got rid of non-helpful local in
2797         CSS_VARIABLES code. Updated for change in return value of the
2798         matchingShorthandsForLonghand.
2799         (WebCore::CSSParser::parseShorthand): Updated for change in return
2800         type of propertiesForInitialization.
2801
2802         * css/CSSProperty.cpp:
2803         (WebCore::StylePropertyMetadata::shorthandID): Updated for change in
2804         return value of matchingShorthandsForLonghand.
2805
2806         * css/StylePropertyShorthand.cpp:
2807         (WebCore::backgroundShorthand): Got rid of local variable, constructing
2808         the StylePropertyShorthand every time.
2809         (WebCore::backgroundPositionShorthand): Ditto.
2810         (WebCore::backgroundRepeatShorthand): Ditto.
2811         (WebCore::borderShorthand): Ditto.
2812         (WebCore::borderAbridgedShorthand): Ditto.
2813         (WebCore::borderBottomShorthand): Ditto.
2814         (WebCore::borderColorShorthand): Ditto.
2815         (WebCore::borderImageShorthand): Ditto.
2816         (WebCore::borderLeftShorthand): Ditto.
2817         (WebCore::borderRadiusShorthand): Ditto.
2818         (WebCore::webkitBorderRadiusShorthand): Ditto.
2819         (WebCore::borderRightShorthand): Ditto.
2820         (WebCore::borderSpacingShorthand): Ditto.
2821         (WebCore::borderStyleShorthand): Ditto.
2822         (WebCore::borderTopShorthand): Ditto.
2823         (WebCore::borderWidthShorthand): Ditto.
2824         (WebCore::listStyleShorthand): Ditto.
2825         (WebCore::fontShorthand): Ditto.
2826         (WebCore::marginShorthand): Ditto. Ditto.
2827         (WebCore::markerShorthand): Ditto.
2828         (WebCore::outlineShorthand): Ditto.
2829         (WebCore::overflowShorthand): Ditto.
2830         (WebCore::paddingShorthand): Ditto.
2831         (WebCore::transitionShorthand): Ditto.
2832         (WebCore::webkitAnimationShorthand): Ditto.
2833         (WebCore::webkitAnimationShorthandForParsing): Ditto.
2834         (WebCore::webkitBorderAfterShorthand): Ditto.
2835         (WebCore::webkitBorderBeforeShorthand): Ditto.
2836         (WebCore::webkitBorderEndShorthand): Ditto.
2837         (WebCore::webkitBorderStartShorthand): Ditto.
2838         (WebCore::webkitColumnsShorthand): Ditto.
2839         (WebCore::webkitColumnRuleShorthand): Ditto.
2840         (WebCore::webkitFlexFlowShorthand): Ditto.
2841         (WebCore::webkitFlexShorthand): Ditto.
2842         (WebCore::webkitMarginCollapseShorthand): Ditto.
2843         (WebCore::webkitGridColumnShorthand): Ditto.
2844         (WebCore::webkitGridRowShorthand): Ditto.
2845         (WebCore::webkitMarqueeShorthand): Ditto.
2846         (WebCore::webkitMaskShorthand): Ditto.
2847         (WebCore::webkitMaskPositionShorthand): Ditto.
2848         (WebCore::webkitMaskRepeatShorthand): Ditto.
2849         (WebCore::webkitTextDecorationShorthand): Ditto.
2850         (WebCore::webkitTextEmphasisShorthand): Ditto.
2851         (WebCore::webkitTextStrokeShorthand): Ditto.
2852         (WebCore::webkitTransitionShorthand): Ditto.
2853         (WebCore::webkitTransformOriginShorthand): Ditto.
2854         (WebCore::widthShorthand): Ditto.
2855         (WebCore::heightShorthand): Ditto.
2856         (WebCore::shorthandForProperty): Ditto.
2857         (WebCore::makeVector): Added. Helper function for the cases in the
2858         switch inside matchingShorthandsForLonghand.
2859         (WebCore::matchingShorthandsForLonghand): Rewrote this to use a switch
2860         instead of a map.
2861         (WebCore::indexOfShorthandForLonghand): Tightened up the coding style a bit.
2862
2863         * css/StylePropertyShorthand.h: Changed type of StylePropertyShorthand's
2864         propertiesForInitialization to be an array of shorthands rather than an
2865         array of pointers to shorthands. Changed return types of the shorthand
2866         functions to return a shorthand object rather than a reference. Did the same
2867         for the other functions.
2868
2869 2013-09-09  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2870
2871         MouseEnter and MouseLeave may be emitted on Document nodes
2872         https://bugs.webkit.org/show_bug.cgi?id=120862
2873
2874         Reviewed by Antonio Gomes.
2875
2876         Replace the overgeneric use of Nodes with Elements in updateHoverActiveState.
2877         This also fixes the bug of emitting mouseenter/mouseleave events on Document,
2878         since Document is not an Element.
2879
2880         This is tested by fast/events/mouseenterleave-on-subframe.html
2881
2882         * dom/Document.cpp:
2883         (WebCore::Document::updateHoverActiveState):
2884
2885 2013-09-09  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2886
2887         MouseLeave not always emitted when cursor leaves subframe
2888         https://bugs.webkit.org/show_bug.cgi?id=121026
2889
2890         Reviewed by Antonio Gomes.
2891
2892         Forward the PlatformMouseEvent in the recursive calls so nested documents
2893         also get a chance to emit mouseleave when the hover moves out.
2894
2895         Test: fast/events/mouseenterleave-on-subframe.html
2896
2897         * dom/Document.cpp:
2898         (WebCore::Document::updateHoverActiveState):
2899
2900 2013-09-09  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2901
2902         Adding username to RTCIceServer
2903         https://bugs.webkit.org/show_bug.cgi?id=120861
2904
2905         Reviewed by Eric Carlson.
2906
2907         No new tests needed. Existing media stream tests already cover it
2908
2909         * Modules/mediastream/RTCPeerConnection.cpp:
2910         (WebCore::RTCPeerConnection::parseConfiguration):
2911         * platform/mediastream/RTCConfiguration.h:
2912         (WebCore::RTCIceServer::create):
2913         (WebCore::RTCIceServer::username):
2914         (WebCore::RTCIceServer::RTCIceServer):
2915
2916 2013-09-09  Antti Koivisto  <antti@apple.com>
2917
2918         Hide Document::renderer()
2919         https://bugs.webkit.org/show_bug.cgi?id=121028
2920
2921         Reviewed by Andreas Kling.
2922
2923         Use less generic Document::renderView() instead.
2924
2925         * accessibility/AXObjectCache.cpp:
2926         (WebCore::AXObjectCache::postNotification):
2927         * accessibility/AccessibilityObject.cpp:
2928         (WebCore::appendAccessibilityObject):
2929         * accessibility/AccessibilityScrollView.cpp:
2930         (WebCore::AccessibilityScrollView::webAreaObject):
2931         * css/CSSFontSelector.cpp:
2932         (WebCore::CSSFontSelector::dispatchInvalidationCallbacks):
2933         * css/StyleResolver.cpp:
2934         (WebCore::StyleResolver::appendAuthorStyleSheets):
2935         * dom/Document.cpp:
2936         (WebCore::Document::~Document):
2937         (WebCore::Document::webkitGetNamedFlows):
2938         (WebCore::Document::setVisualUpdatesAllowed):
2939         (WebCore::Document::elementFromPoint):
2940         (WebCore::Document::caretRangeFromPoint):
2941         (WebCore::Document::updateLayout):
2942         (WebCore::Document::existingAXObjectCache):
2943         (WebCore::Document::axObjectCache):
2944         (WebCore::Document::setVisuallyOrdered):
2945         (WebCore::Document::implicitClose):
2946         (WebCore::Document::prepareMouseEvent):
2947         (WebCore::Document::styleResolverChanged):
2948         (WebCore::Document::documentWillBecomeInactive):
2949         (WebCore::Document::documentDidResumeFromPageCache):
2950         * dom/Document.h:
2951         * dom/DocumentStyleSheetCollection.cpp:
2952         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
2953         * dom/Element.cpp:
2954         (WebCore::Element::~Element):
2955         * dom/InlineStyleSheetOwner.cpp:
2956         (WebCore::InlineStyleSheetOwner::removedFromDocument):
2957         * dom/ProcessingInstruction.cpp:
2958         (WebCore::ProcessingInstruction::removedFrom):
2959         * editing/FrameSelection.cpp:
2960         (WebCore::FrameSelection::contains):
2961         * html/HTMLElement.cpp:
2962         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
2963         * html/HTMLLinkElement.cpp:
2964         (WebCore::HTMLLinkElement::removedFrom):
2965         * html/HTMLStyleElement.cpp:
2966         (WebCore::HTMLStyleElement::parseAttribute):
2967         (WebCore::HTMLStyleElement::registerWithScopingNode):
2968         (WebCore::HTMLStyleElement::unregisterWithScopingNode):
2969         * html/parser/HTMLResourcePreloader.cpp:
2970         (WebCore::HTMLResourcePreloader::preload):
2971         * loader/ImageLoader.cpp:
2972         (WebCore::ImageLoader::updateFromElement):
2973         * page/EventHandler.cpp:
2974         (WebCore::EventHandler::handleWheelEvent):
2975         (WebCore::EventHandler::handleGestureScrollBegin):
2976         * page/Frame.cpp:
2977         (WebCore::Frame::setPageAndTextZoomFactors):
2978         * page/FrameView.cpp:
2979         (WebCore::FrameView::layout):
2980         (WebCore::FrameView::doLayoutWithFrameFlattening):
2981         * page/Page.cpp:
2982         (WebCore::Page::setPageScaleFactor):
2983         * page/PrintContext.cpp:
2984         (WebCore::PrintContext::spoolAllPagesWithBoundaries):
2985         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2986         (WebCore::MediaPlayerPrivateQTKit::paint):
2987         * style/StyleResolveTree.cpp:
2988         (WebCore::Style::resolveTree):
2989         * svg/SVGDocument.cpp:
2990         (WebCore::SVGDocument::updatePan):
2991
2992 2013-09-09  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2993
2994         [DOM4] Have ProcessingInstruction inherit CharacterData
2995         https://bugs.webkit.org/show_bug.cgi?id=120691
2996
2997         Reviewed by Darin Adler.
2998
2999         Have ProcessingInstruction inherit CharacterData as per the latest DOM4
3000         specification:
3001         http://dom.spec.whatwg.org/#processinginstruction
3002
3003         Previously, ProcessingInstruction was inheriting from Node as per DOM
3004         Level 3.
3005
3006         Firefox and Blink already follow DOM4 here but not IE10.
3007         This change leads to less code duplication.
3008
3009         Test: fast/dom/processing-instruction-inherit-characterdata.xhtml
3010
3011         * bindings/objc/PublicDOMInterfaces.h:
3012         * dom/CharacterData.cpp:
3013         (WebCore::CharacterData::setDataAndUpdate):
3014         * dom/ProcessingInstruction.cpp:
3015         (WebCore::ProcessingInstruction::ProcessingInstruction):
3016         (WebCore::ProcessingInstruction::cloneNode):
3017         (WebCore::ProcessingInstruction::checkStyleSheet):
3018         (WebCore::ProcessingInstruction::insertedInto):
3019         (WebCore::ProcessingInstruction::removedFrom):
3020         (WebCore::ProcessingInstruction::finishParsingChildren):
3021         * dom/ProcessingInstruction.h:
3022         (WebCore::toProcessingInstruction):
3023         * dom/ProcessingInstruction.idl:
3024
3025 2013-09-09  Krzysztof Czech  <k.czech@samsung.com>
3026
3027         [AX][ATK] AccessibilityObject representing ProgressBar element should be ATK_VALUE type
3028         https://bugs.webkit.org/show_bug.cgi?id=121023
3029
3030         Reviewed by Mario Sanchez Prada.
3031
3032         Test: accessibility/progressbar.html
3033
3034         ProgressBar element should support ATK_VALUE interface.
3035
3036         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3037         (getInterfaceMaskFromObject):
3038
3039 2013-09-09  Claudio Saavedra  <csaavedra@igalia.com>
3040
3041         [GTK]  ghost cursor when mouse hovers over an image file in a tab
3042         https://bugs.webkit.org/show_bug.cgi?id=120675
3043
3044         Reviewed by Carlos Garcia Campos.
3045
3046         No new tests, covered by existing.
3047
3048         * platform/gtk/CursorGtk.cpp:
3049         (WebCore::createNamedCursor): Use new gdk_cursor_new_from_surface()
3050         when compiling against GTK+ 3.9.12 or newer.
3051
3052 2013-09-08  Santosh Mahto  <santosh.ma@samsung.com>
3053
3054         HTMLDocument.h : Removing unnecessary forward declaration.
3055         https://bugs.webkit.org/show_bug.cgi?id=121002
3056
3057         Reviewed by Darin Adler.
3058
3059         Just code cleanup.
3060         Removed the two forward declaration in HTMLDocument.h file.
3061
3062         * html/HTMLDocument.h:
3063
3064 2013-09-08  Gurpreet Kaur  <k.gurpreet@samsung.com>
3065
3066         defining line height affects height of text box
3067         https://bugs.webkit.org/show_bug.cgi?id=17619
3068
3069         Reviewed by Darin Adler.
3070
3071         Giving line height to input elements increase the height
3072         of the element. To make it work similiar as Mozilla and IE
3073         line-height :normal should be applied for input elements.
3074
3075         Test: fast/dom/HTMLInputElement/input-line-height.html
3076
3077         * css/html.css:
3078         (input):
3079         Made the line-height: normal as !important so that it does not
3080         consider any other line-height specified through internal or 
3081         external styles.
3082
3083 2013-09-08  Gurpreet Kaur  <k.gurpreet@samsung.com>
3084
3085         Scrollbar width is not applied when element hidden
3086         https://bugs.webkit.org/show_bug.cgi?id=90546
3087
3088         Reviewed by Simon Fraser.
3089
3090         Webkit has css properties through which custom scroll
3091         bars can be added. Incase the element's visible property
3092         is hidden and custom scrollbar properties are applied
3093         the scrollbar width is not considered when quering the 
3094         element.clientWidth. Incase of non-custom scrollbars 
3095         whether the element's visible property is hidden or not
3096         correct scrollbar width is considered.
3097
3098         Tests: fast/dom/Element/scroll-width-hidden.html
3099                fast/dom/Element/scroll-width-visible.html
3100
3101         * rendering/RenderScrollbar.cpp:
3102         (WebCore::RenderScrollbar::updateScrollbarPart):
3103         Incase custom scrollbar is created there is a check whether
3104         the renderer to which scrollbar is added is visible or not.
3105         This check is not required since for non-custom scrollbars same
3106         check is not present. Also whether element's visible property is
3107         hidden or not a placeholder is set for the element. Both behavoiur
3108         i.e custom and non-custom scrollbars should be same.
3109
3110 2013-09-08  Tamas Czene  <tczene@inf.u-szeged.hu>
3111
3112         GStreamer 0.10 build fix after r155251.
3113
3114         Reviewed by Csaba Osztrogon√°c.
3115
3116         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
3117
3118 2013-09-08  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3119
3120         [wk2] REGRESSION (r154673): PDF scrolling moves very slowly
3121         https://bugs.webkit.org/show_bug.cgi?id=120542
3122
3123         Reviewed by Tim Horton.
3124
3125         Handle 'wheel' events in addition to 'mousewheel'.
3126
3127         * html/shadow/MediaControlsApple.cpp:
3128         Listen for the standard 'wheel' event instead of the legacy 'mousewheel' one.
3129         While not strictly needed, we should use the legacy events as little as
3130         possible.
3131         * plugins/PluginView.cpp:
3132         Handle 'wheel' events in addition to 'mousewheel'.
3133
3134 2013-09-08  Darin Adler  <darin@apple.com>
3135
3136         Make Editor::deleteButtonController a reference
3137         https://bugs.webkit.org/show_bug.cgi?id=121019
3138
3139         Reviewed by Andreas Kling.
3140
3141         * dom/ContainerNode.cpp:
3142         (WebCore::ContainerNode::cloneChildNodes): Updated to use . instead of ->.
3143         * editing/DeleteButton.cpp:
3144         (WebCore::DeleteButton::defaultEventHandler): Ditto.
3145
3146         * editing/DeleteButtonController.cpp:
3147         (WebCore::DeleteButtonController::DeleteButtonController): Updated to take a Frame&
3148         instead of a Frame*.
3149         (WebCore::DeleteButtonController::respondToChangedSelection): Ditto.
3150         (WebCore::DeleteButtonController::createDeletionUI): Ditto.
3151         (WebCore::DeleteButtonController::show): Ditto.
3152         (WebCore::DeleteButtonController::enable): Ditto.
3153         (WebCore::DeleteButtonController::deleteTarget): Ditto.
3154         * editing/DeleteButtonController.h: Ditto.
3155
3156         * editing/Editor.cpp:
3157         (WebCore::Editor::avoidIntersectionWithDeleteButtonController): Removed bogus
3158         null check from both versions of this function.
3159         (WebCore::Editor::Editor): Use construction rather than assignment and pass
3160         a reference instead of a pointer to make m_deleteButtonController.
3161         (WebCore::Editor::clear): Ditto.
3162
3163         * editing/Editor.h: Made deleteButtonController return a reference.
3164         Also reorganized the header to put all the conditional functions together,
3165         and not mixed in with non-conditional ones.
3166
3167         * editing/markup.cpp:
3168         (WebCore::createMarkup): Updated to use . instead of -> and also to use
3169         emptyString() instead of constructing a new empty string.
3170
3171 2013-09-08  Andreas Kling  <akling@apple.com>
3172
3173         InlineBox::root() should return a reference.
3174         <https://webkit.org/b/121014>
3175
3176         Reviewed by Antti Koivisto.
3177
3178         There is always a root inline box, so make root() return a reference.
3179         Also make some effort to cache the result in a local at call sites.
3180
3181 2013-09-08  Andreas Kling  <akling@apple.com>
3182
3183         FrameView::scheduleEvent() is over-engineered.
3184         <https://webkit.org/b/121004>
3185
3186         Reviewed by Antti Koivisto.
3187
3188         Remove gratuitous FrameActionScheduler class that was really only being used
3189         to defer the occassional "overflowchanged" event until layout had finished.
3190
3191         * CMakeLists.txt:
3192         * GNUmakefile.list.am:
3193         * Target.pri:
3194         * WebCore.vcxproj/WebCore.vcxproj:
3195         * WebCore.vcxproj/WebCore.vcxproj.filters:
3196         * WebCore.xcodeproj/project.pbxproj:
3197         * page/FrameActionScheduler.cpp:
3198         * page/FrameActionScheduler.h:
3199
3200             Removed FrameActionScheduler.
3201
3202         * page/FrameView.h:
3203         * page/FrameView.cpp:
3204         (WebCore::FrameView::FrameView):
3205         (WebCore::FrameView::~FrameView):
3206         (WebCore::FrameView::layout):
3207         (WebCore::FrameView::ScheduledEvent::ScheduledEvent):
3208         (WebCore::FrameView::scheduleEvent):
3209         (WebCore::FrameView::pauseScheduledEvents):
3210         (WebCore::FrameView::resumeScheduledEvents):
3211         (WebCore::FrameView::performPostLayoutTasks):
3212         (WebCore::FrameView::updateOverflowStatus):
3213
3214             Replaced it with a Vector<ScheduledEvent> and a suppression counter.
3215             A ScheduledEvent is just a { Node, Event } pair.
3216
3217 2013-09-08  Anders Carlsson  <andersca@apple.com>
3218
3219         Move WTF::notFound to Vector.h and delete NotFound.h
3220         https://bugs.webkit.org/show_bug.cgi?id=120990
3221
3222         Reviewed by Sam Weinig.
3223
3224         * html/HTMLImageElement.cpp:
3225         * loader/archive/mhtml/MHTMLParser.cpp:
3226         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
3227         * platform/graphics/win/GraphicsContext3DWin.cpp:
3228         * platform/network/soup/SocketStreamHandleSoup.cpp:
3229
3230 2013-09-08  Commit Queue  <commit-queue@webkit.org>
3231
3232         Unreviewed, rolling out r155069 and r155138.
3233         http://trac.webkit.org/changeset/155069
3234         http://trac.webkit.org/changeset/155138
3235         https://bugs.webkit.org/show_bug.cgi?id=121008
3236
3237         Seems to have broken many tests (bug 120963) (Requested by ap
3238         on #webkit).
3239
3240         * WebCore.xcodeproj/project.pbxproj:
3241         * platform/graphics/cg/PDFDocumentImage.cpp:
3242         (WebCore::PDFDocumentImage::PDFDocumentImage):
3243         (WebCore::PDFDocumentImage::~PDFDocumentImage):
3244         (WebCore::PDFDocumentImage::size):
3245         (WebCore::PDFDocumentImage::dataChanged):
3246         (WebCore::PDFDocumentImage::adjustCTM):
3247         (WebCore::PDFDocumentImage::setCurrentPage):
3248         (WebCore::PDFDocumentImage::pageCount):
3249         (WebCore::PDFDocumentImage::draw):
3250         * platform/graphics/cg/PDFDocumentImage.h:
3251         (WebCore::PDFDocumentImage::create):
3252         (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
3253         (WebCore::PDFDocumentImage::destroyDecodedData):
3254         (WebCore::PDFDocumentImage::decodedSize):
3255         * platform/graphics/mac/PDFDocumentImageMac.mm: Removed.
3256         * platform/mac/SoftLinking.h:
3257
3258 2013-09-08  Andreas Kling  <akling@apple.com>
3259
3260         ScriptExecutionContext: Use FINAL instead of foo() { virtualFoo() }
3261         <https://webkit.org/b/120827>
3262
3263         Reviewed by Darin Adler.
3264
3265         Now that we have FINAL, we can just use that to have fast versions of url()
3266         and completeURL() when calling through a Document or WorkerGlobalScope pointer.
3267
3268         * dom/Document.cpp:
3269         * dom/Document.h:
3270         * dom/ScriptExecutionContext.h:
3271         * workers/WorkerGlobalScope.cpp:
3272         * workers/WorkerGlobalScope.h:
3273
3274 2013-09-08  Antti Koivisto  <antti@apple.com>
3275
3276         Rename needsShadowTreeWalker
3277         https://bugs.webkit.org/show_bug.cgi?id=121005
3278
3279         Reviewed by Andreas Kling.
3280
3281         Rename to needsNodeRenderingTraversalSlowPath.
3282
3283         * dom/ContainerNode.h:
3284         (WebCore::Node::needsNodeRenderingTraversalSlowPath):
3285         * dom/Element.cpp:
3286         (WebCore::shouldUseNodeRenderingTraversalSlowPath):
3287         (WebCore::Element::resetNeedsNodeRenderingTraversalSlowPath):
3288
3289             Only Elements can have this flag. Move the code here from Node.
3290
3291         (WebCore::Element::addShadowRoot):
3292         (WebCore::Element::setBeforePseudoElement):
3293         (WebCore::Element::setAfterPseudoElement):
3294         (WebCore::Element::clearBeforePseudoElement):
3295         (WebCore::Element::clearAfterPseudoElement):
3296
3297             Reset after clear too.
3298
3299         * dom/Element.h:
3300         * dom/Element.h:
3301         * dom/Node.cpp:
3302         * dom/Node.h:
3303         (WebCore::Node::isInsertionPoint):
3304         (WebCore::Node::setNeedsNodeRenderingTraversalSlowPath):
3305         
3306             Make protected.
3307
3308         * dom/NodeRenderingTraversal.h:
3309         (WebCore::NodeRenderingTraversal::parent):
3310         (WebCore::NodeRenderingTraversal::nextSibling):
3311         (WebCore::NodeRenderingTraversal::previousSibling):
3312
3313 2013-09-08  Andreas Kling  <akling@apple.com>
3314
3315         Render{Block,Inline}::lineBoxes() should return a reference.
3316         <https://webkit.org/b/120995>
3317
3318         Reviewed by Antti Koivisto.
3319
3320         This function was already just returning the address of a member variable.
3321
3322 2013-09-08  Andreas Kling  <akling@apple.com>
3323
3324         Move "using software CSS filters" optimization flag to RenderView.
3325         <https://webkit.org/b/120999>
3326
3327         Reviewed by Antti Koivisto.
3328
3329         This flag is used to avoid an extra tree walk when there are no software CSS filters in use.
3330         Move it from FrameView to RenderView where it belongs.
3331
3332         * page/FrameView.h:
3333         * rendering/RenderLayer.cpp:
3334         (WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer):
3335         * rendering/RenderObject.cpp:
3336         (WebCore::RenderObject::containerForRepaint):
3337         * rendering/RenderView.cpp:
3338         (WebCore::RenderView::RenderView):
3339         * rendering/RenderView.h:
3340
3341 2013-09-08  Andreas Kling  <akling@apple.com>
3342
3343         FrameLoader::icon() should return a reference.
3344         <https://webkit.org/b/120993>
3345
3346         Reviewed by Antti Koivisto.
3347
3348         This function never returns null. Make it return a reference!
3349
3350 2013-09-08  Andreas Kling  <akling@apple.com>
3351
3352         Remove unused Scrollbar tickmark stuff.
3353         <https://webkit.org/b/121000>
3354
3355         Reviewed by Antti Koivisto.
3356
3357         This code is no longer used by any ports.
3358
3359         * page/FrameView.cpp:
3360         * page/FrameView.h:
3361         * platform/ScrollableArea.h:
3362         * platform/Scrollbar.cpp:
3363         * platform/Scrollbar.h:
3364         * platform/ScrollbarThemeClient.h:
3365
3366 2013-09-08  Antti Koivisto  <antti@apple.com>
3367
3368         Remove ComposedShadowTreeWalker
3369         https://bugs.webkit.org/show_bug.cgi?id=120997
3370
3371         Reviewed by Andreas Kling.
3372
3373         Move the code to NodeRenderingTraversal which is the only client besides Internals.
3374
3375         * CMakeLists.txt:
3376         * GNUmakefile.list.am:
3377         * Target.pri:
3378         * WebCore.exp.in:
3379         * WebCore.vcxproj/WebCore.vcxproj:
3380         * WebCore.xcodeproj/project.pbxproj:
3381         * dom/ComposedShadowTreeWalker.cpp: Removed.
3382         * dom/ComposedShadowTreeWalker.h: Removed.
3383         * dom/NodeRenderingTraversal.cpp:
3384         (WebCore::NodeRenderingTraversal::nodeCanBeDistributed):
3385         (WebCore::NodeRenderingTraversal::findFirstSiblingEnteringInsertionPoints):
3386         (WebCore::NodeRenderingTraversal::findFirstEnteringInsertionPoints):
3387         (WebCore::NodeRenderingTraversal::findFirstFromDistributedNode):
3388         (WebCore::NodeRenderingTraversal::findLastSiblingEnteringInsertionPoints):
3389         (WebCore::NodeRenderingTraversal::findLastEnteringInsertionPoints):
3390         (WebCore::NodeRenderingTraversal::findLastFromDistributedNode):
3391         (WebCore::NodeRenderingTraversal::traverseParent):
3392         (WebCore::NodeRenderingTraversal::traverseFirstChild):
3393         (WebCore::NodeRenderingTraversal::traverseLastChild):
3394         (WebCore::NodeRenderingTraversal::traverseNextSibling):
3395         (WebCore::NodeRenderingTraversal::traversePreviousSibling):
3396         
3397             Make former members of ComposedShadowTreeWalker standalone functions in NodeRenderingTraversal.
3398
3399         (WebCore::NodeRenderingTraversal::parentSlow):
3400         (WebCore::NodeRenderingTraversal::nextSiblingSlow):
3401         (WebCore::NodeRenderingTraversal::previousSiblingSlow):
3402         (WebCore::NodeRenderingTraversal::nextInScope):
3403         (WebCore::NodeRenderingTraversal::previousInScope):
3404         (WebCore::NodeRenderingTraversal::parentInScope):
3405         (WebCore::NodeRenderingTraversal::lastChildInScope):
3406         * testing/Internals.cpp:
3407         * testing/Internals.h:
3408         * testing/Internals.idl:
3409
3410 2013-09-08  Andreas Kling  <akling@apple.com>
3411
3412         FrameLoader::policyChecker() should return a reference.
3413         <https://webkit.org/b/120991>
3414
3415         Reviewed by Antti Koivisto.
3416
3417         This function never returns null. Make it return a reference!
3418
3419 2013-09-08  Andreas Kling  <akling@apple.com>
3420
3421         FrameLoader::mixedContentChecker() should return a reference.
3422         <https://webkit.org/b/120992>
3423
3424         Reviewed by Antti Koivisto.
3425
3426         This function was already just returning the address of a member variable.
3427
3428 2013-09-07  Antti Koivisto  <antti@apple.com>
3429
3430         Separate forward and backward paths in ComposedShadowTreeWalker
3431         https://bugs.webkit.org/show_bug.cgi?id=120979
3432
3433         Reviewed by Andreas Kling.
3434
3435         Have separate first/last and next/previous paths instead of using a direction enum.
3436         
3437         Reduce the number of helper functions and give them more understandable names.
3438
3439         * dom/ComposedShadowTreeWalker.cpp:
3440         (WebCore::findFirstSiblingEnteringInsertionPoints):
3441         (WebCore::findFirstEnteringInsertionPoints):
3442         (WebCore::findFirstFromDistributedNode):
3443         (WebCore::findLastSiblingEnteringInsertionPoints):
3444         (WebCore::findLastEnteringInsertionPoints):
3445         (WebCore::findLastFromDistributedNode):
3446         (WebCore::ComposedShadowTreeWalker::firstChild):
3447         (WebCore::ComposedShadowTreeWalker::traverseFirstChild):
3448         (WebCore::ComposedShadowTreeWalker::lastChild):
3449         (WebCore::ComposedShadowTreeWalker::traverseLastChild):
3450         (WebCore::ComposedShadowTreeWalker::nextSibling):
3451         (WebCore::ComposedShadowTreeWalker::previousSibling):
3452         (WebCore::ComposedShadowTreeWalker::traverseNextSibling):
3453         (WebCore::ComposedShadowTreeWalker::traversePreviousSibling):
3454         * dom/ComposedShadowTreeWalker.h:
3455
3456 2013-09-07  Andreas Kling  <akling@apple.com>
3457
3458         Beat FrameView with the FINAL stick.
3459         <https://webkit.org/b/120989>
3460
3461         Reviewed by Anders Carlsson.
3462
3463         ... and mark everything virtual with OVERRIDE, exposing a couple of things
3464         that didn't actually override anything.
3465
3466         * WebCore.exp.in:
3467         * page/FrameView.h:
3468
3469 2013-09-07  Anders Carlsson  <andersca@apple.com>
3470
3471         Remove NonCopyableSort.h from WTF
3472         https://bugs.webkit.org/show_bug.cgi?id=120984
3473
3474         Reviewed by Andreas Kling.
3475
3476         * css/MediaQuery.cpp:
3477         (WebCore::MediaQuery::MediaQuery):
3478         * html/HTMLMediaElement.cpp:
3479         (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
3480         * html/RangeInputType.cpp:
3481         (WebCore::RangeInputType::updateTickMarkValues):
3482         * inspector/InspectorMemoryAgent.cpp:
3483         * page/CaptionUserPreferences.cpp:
3484         (WebCore::CaptionUserPreferences::sortedTrackListForMenu):
3485         * page/CaptionUserPreferences.h:
3486         * page/CaptionUserPreferencesMediaAF.cpp:
3487         (WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):
3488         * platform/graphics/texmap/TextureMapper.cpp:
3489         (WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):
3490
3491 2013-09-07  Antti Koivisto  <antti@apple.com>
3492
3493         Simplify ComposedShadowTreeWalker parent traversal
3494         https://bugs.webkit.org/show_bug.cgi?id=120971
3495
3496         Reviewed by Andreas Kling.
3497
3498         Combine a bunch of parent traversal functions into one.
3499
3500         * dom/ComposedShadowTreeWalker.cpp:
3501         (WebCore::ComposedShadowTreeWalker::traverseParent):
3502         (WebCore::ComposedShadowTreeWalker::previous):
3503         * dom/ComposedShadowTreeWalker.h:
3504         
3505             Remove unused fromFirstChild.
3506
3507 2013-09-07  Anders Carlsson  <andersca@apple.com>
3508
3509         Get rid of PassOwnArrayPtr
3510         https://bugs.webkit.org/show_bug.cgi?id=120964
3511
3512         Reviewed by Andreas Kling.
3513
3514         Use OwnArrayPtr instead of PassOwnArrayPtr.
3515
3516         * html/canvas/WebGLRenderingContext.cpp:
3517         * platform/Length.cpp:
3518         (WebCore::newCoordsArray):
3519         (WebCore::newLengthArray):
3520         * platform/Length.h:
3521         * platform/audio/FFTFrame.h:
3522         * platform/graphics/GraphicsContext3D.cpp:
3523         * platform/graphics/GraphicsContext3D.h:
3524         * platform/graphics/texmap/TextureMapperGL.cpp:
3525         * platform/graphics/wince/SharedBitmap.cpp:
3526
3527 2013-09-07  Antti Koivisto  <antti@apple.com>
3528
3529         Remove unnecessary sibling text renderers after attach
3530         https://bugs.webkit.org/show_bug.cgi?id=120953
3531
3532         Reviewed by the Swedish Review Team: Anders Carlsson and Andreas Kling.
3533
3534         The current createTextRenderersForSiblingsAfterAttachIfNeeded code only adds text renderers, never removes them. 
3535         Style changes can go either way.
3536         
3537         The patch causes no visible changes in rendered output. The whitespace nodes that it affects are leftovers that
3538         have no rendering effect. However it does change results of many dumpAsText and render tree dump based layout
3539         tests as unnecessary text nodes disappear.
3540         
3541         The main goal is to make results of dynamic attach and parsing time attach produce more similar results. As
3542         an added bonus we get slightly simpler rendering trees.
3543         
3544         Rendering tree dumps show us still leaving behind empty anonymous blocks when removing whitespace text nodes.
3545         Those should collapse away too.
3546
3547         * style/StyleResolveTree.cpp:
3548         (WebCore::Style::reattachTextRenderersForWhitespaceOnlySiblingsAfterAttachIfNeeded):
3549         
3550             Allow the code both create and remove text renderers.
3551             Tighten to bail out faster if case is not the exact one that matters.
3552             Use NodeRenderingTraversal to mirror textRendererIsNeeded.
3553             Renamed for clarity.
3554
3555         (WebCore::Style::updateTextRendererAfterContentChange):
3556         (WebCore::Style::resolveLocal):
3557         (WebCore::Style::updateTextStyle):
3558         (WebCore::Style::attachRenderTree):
3559
3560 2013-09-07  Anders Carlsson  <andersca@apple.com>
3561
3562         Get rid of FastAllocBase.h
3563         https://bugs.webkit.org/show_bug.cgi?id=120952
3564
3565         Reviewed by Antti Koivisto.
3566
3567         Include FastMalloc.h instead of FastAllocBase.h.
3568
3569         * Modules/webdatabase/SQLTransactionClient.h:
3570         * bindings/js/GCController.h:
3571         * bridge/Bridge.h:
3572         * bridge/IdentifierRep.h:
3573         * dom/DocumentStyleSheetCollection.h:
3574         * dom/TransformSource.h:
3575         * html/InputType.h:
3576         * inspector/InspectorCounters.h:
3577         * inspector/InstrumentingAgents.h:
3578         * inspector/WorkerInspectorController.h:
3579         * loader/cache/CachedResourceClient.h:
3580         * page/FrameActionScheduler.h:
3581         * platform/Length.h:
3582         * platform/MemoryPressureHandler.h:
3583         * platform/ScrollAnimator.h:
3584         * platform/SharedTimer.h:
3585         * platform/audio/gstreamer/FFTFrameGStreamer.cpp:
3586         * platform/cairo/WidgetBackingStore.h:
3587         * platform/graphics/Color.h:
3588         * platform/graphics/FontData.h:
3589         * platform/graphics/Path.h:
3590         * platform/graphics/qt/FontCustomPlatformData.h:
3591         * platform/graphics/transforms/AffineTransform.h:
3592         * platform/graphics/transforms/TransformationMatrix.h:
3593         * platform/gtk/GtkDragAndDropHelper.h:
3594         * platform/gtk/GtkPopupMenu.h:
3595         * platform/network/NetworkStateNotifier.h:
3596         * platform/sql/SQLiteTransaction.h:
3597         * platform/text/enchant/TextCheckerEnchant.h:
3598         * rendering/RenderArena.h:
3599         * rendering/TableLayout.h:
3600         * rendering/style/StyleCustomFilterProgram.h:
3601         * rendering/style/StyleCustomFilterProgramCache.h:
3602         * svg/SVGPathConsumer.h:
3603         * workers/WorkerScriptLoader.h:
3604
3605 2013-09-07  Eric Carlson  <eric.carlson@apple.com>
3606
3607         MediaStream should fire ended event when all tracks are ended
3608         https://bugs.webkit.org/show_bug.cgi?id=120871
3609
3610         Reviewed by Jer Noble.
3611
3612         Merge https://chromium.googlesource.com/chromium/blink/+/bebd179b65be69e46f2f434a3ec8b1e4aa85cc42
3613
3614         Test: fast/mediastream/MediaStream-onended.html
3615
3616         * Modules/mediastream/MediaStream.cpp:
3617         (WebCore::MediaStream::trackEnded): New.
3618         * Modules/mediastream/MediaStream.h:
3619
3620         * Modules/mediastream/MediaStreamTrack.cpp:
3621         (WebCore::MediaStreamTrack::sourceChangedState): Call didEndTrack when state changes to ReadyStateEnded. 
3622         (WebCore::MediaStreamTrack::didEndTrack): New.
3623         (WebCore::MediaStreamTrack::stop): Call didEndTrack.
3624         * Modules/mediastream/MediaStreamTrack.h:
3625
3626         * platform/mediastream/MediaStreamDescriptor.h:
3627         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Require didEndTrack.
3628
3629 2013-09-06  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3630
3631         Get MEDIA_STREAM compiling for other ports (EFL and GTK)
3632         https://bugs.webkit.org/show_bug.cgi?id=120811
3633
3634         Reviewed by Eric Carlson.
3635
3636         * CMakeLists.txt:
3637         * GNUmakefile.list.am:
3638         * Modules/mediastream/LocalMediaStream.h:
3639         * Modules/mediastream/MediaStreamRegistry.cpp:
3640         (WebCore::MediaStreamRegistry::lookupMediaStreamDescriptor):
3641         * Modules/mediastream/RTCStatsResponse.h:
3642
3643 2013-09-06  Bem Jones-Bey  <bjonesbe@adobe.com>
3644
3645         [CSS Shapes] Floats with shape-outside aren't painting in the correct order
3646         https://bugs.webkit.org/show_bug.cgi?id=118492
3647
3648         Reviewed by Darin Adler.
3649
3650         When removing the old positioning behavior, the code that makes a
3651         float with shape-outside gain a layer was left behind. This patch
3652         removes that, so now floats with shape-outside are painted just like
3653         floats without shape-outside.
3654
3655         Also remove the isFloatingWithShapeOutside helper method because its
3656         use is now somewhat redundant, and the check it does is now only
3657         needed in one place.
3658
3659         Test: fast/shapes/shape-outside-floats/shape-outside-floats-not-a-layer.html
3660
3661         * rendering/RenderBox.h:
3662         (WebCore::RenderBox::shapeOutsideInfo):
3663         * rendering/RenderObject.h:
3664         * rendering/shapes/ShapeOutsideInfo.cpp:
3665         (WebCore::ShapeOutsideInfo::isEnabledFor): 
3666
3667 2013-09-06  Anders Carlsson  <andersca@apple.com>
3668
3669         Add a new smart pointer type for fastMalloc'ed memory
3670         https://bugs.webkit.org/show_bug.cgi?id=120911
3671
3672         Reviewed by Andreas Kling.
3673
3674         Update for WTF changes.
3675
3676         * platform/network/cf/FormDataStreamCFNet.cpp:
3677         (WebCore::advanceCurrentStream):
3678
3679 2013-09-06  Dirk Schulze  <krit@webkit.org>
3680
3681         Interpolate between CSS filter() and cached images
3682         https://bugs.webkit.org/show_bug.cgi?id=120602
3683
3684         Reviewed by Simon Fraser.
3685
3686         Interpolate from a filter() image function to a url() image reference and
3687         the other way around, if the input image on the filter function is the same
3688         as the referenced image on url().
3689
3690         * page/animation/CSSPropertyAnimation.cpp: Replaced old
3691             filterBlend function with blendFilter function which is more generic
3692             and can be reused in multiple places.
3693         (WebCore::blendFilterOperations):
3694         (WebCore::blendFunc):
3695         (WebCore::blendFilter):
3696
3697 2013-09-06  Ryosuke Niwa  <rniwa@webkit.org>
3698
3699         Elements retained by AccessibilityImageMapLink leak
3700         https://bugs.webkit.org/show_bug.cgi?id=120917
3701
3702         Reviewed by Chris Fleizach.
3703
3704         Merge https://chromium.googlesource.com/chromium/blink/+/df0bd288efe65e5e38425fbdcdfc68b5a2a79e42
3705
3706         Unfortunately, the test added by the Blink change doesn't reproduce a leak in WebKit.
3707
3708         * accessibility/AccessibilityImageMapLink.cpp:
3709         (WebCore::AccessibilityImageMapLink::detachFromParent):
3710         * accessibility/AccessibilityImageMapLink.h:
3711         * accessibility/AccessibilityMockObject.h:
3712         (WebCore::AccessibilityMockObject::detachFromParent):
3713
3714 2013-09-06  Andreas Kling  <akling@apple.com>
3715
3716         Make Obj-C bindings generator less #include-happy.
3717         <https://webkit.org/b/120913>
3718
3719         Reviewed by Anders Carlsson.
3720
3721         Knock out an old FIXME in CodeGeneratorObjC.pm and avoid including unrelated
3722         interface declarations from implementation files where they are not needed.
3723
3724         * bindings/scripts/CodeGeneratorObjC.pm:
3725         (GenerateImplementation):
3726
3727             Only include DOMFooInternal.h relevant to the current interface.
3728
3729         * bindings/scripts/test/ObjC/*
3730
3731             Rebaseline Obj-C bindings tests now that they include fewer things.
3732
3733 2013-09-06  Andreas Kling  <akling@apple.com>
3734
3735         Rebaseline bindings tests after Swedish breakage.
3736
3737 2013-09-06  Andreas Kling  <akling@apple.com>
3738
3739         Don't include Document.h from JSDOMBinding.h
3740         <https://webkit.org/b/120909>
3741
3742         Reviewed by Anders Carlsson.
3743
3744         Move DOMConstructorWithDocument out of JSDOMBinding.h to its own header.
3745         This was the only part of JSDOMBinding.h that needed Document's definition.
3746
3747         This reduces the include dependency graph of many bindings files.
3748
3749         * WebCore.xcodeproj/project.pbxproj:
3750         * bindings/js/DOMConstructorWithDocument.h:
3751         * bindings/js/JSDOMBinding.cpp:
3752         * bindings/js/JSDOMBinding.h:
3753         * bindings/scripts/CodeGeneratorJS.pm:
3754         * bindings/scripts/CodeGeneratorGObject.pm:
3755
3756 2013-09-06  Ryosuke Niwa  <rniwa@webkit.org>
3757
3758         Range::ownerDocument should return Document&
3759         https://bugs.webkit.org/show_bug.cgi?id=120908
3760
3761         Reviewed by Andreas Kling.
3762
3763         Return Document& in Range::ownerDocument(). Also make setDocument take Document& so that this invariant is self-evident.
3764
3765         * bindings/objc/DOM.mm:
3766         (-[DOMRange boundingBox]):
3767         (-[DOMRange renderedImageForcingBlackText:]):
3768         (-[DOMRange textRects]):
3769         * dom/Range.cpp:
3770         (WebCore::Range::setDocument):
3771         (WebCore::Range::setStart):
3772         (WebCore::Range::setEnd):
3773         (WebCore::Range::selectNode):
3774         (WebCore::Range::selectNodeContents):
3775         * dom/Range.h:
3776         (WebCore::Range::ownerDocument):
3777         * editing/AlternativeTextController.cpp:
3778         (WebCore::AlternativeTextController::handleAlternativeTextUIResult):
3779         * editing/Editor.cpp:
3780         (WebCore::Editor::avoidIntersectionWithDeleteButtonController):
3781         (WebCore::isFrameInRange):
3782         (WebCore::Editor::countMatchesForText):
3783         * editing/EditorCommand.cpp:
3784         (WebCore::unionDOMRanges):
3785         * editing/TextCheckingHelper.cpp:
3786         (WebCore::TextCheckingHelper::unifiedTextCheckerEnabled):
3787         * editing/TextIterator.cpp:
3788         (WebCore::plainText):
3789         (WebCore::findPlainText):
3790         * editing/htmlediting.cpp:
3791         (WebCore::extendRangeToWrappingNodes):
3792         * editing/markup.cpp:
3793         (WebCore::createMarkup):
3794         (WebCore::createFragmentFromText):
3795         * page/DragController.cpp:
3796         (WebCore::documentFragmentFromDragData):
3797         (WebCore::DragController::concludeEditDrag):
3798         * page/Page.cpp:
3799         (WebCore::Page::rangeOfString):
3800         * rendering/RenderObject.cpp:
3801         (WebCore::RenderObject::absoluteBoundingBoxRectForRange):
3802         * testing/Internals.cpp:
3803         (WebCore::Internals::addTextMatchMarker):
3804
3805 2013-09-06  Brent Fulgham  <bfulgham@apple.com>
3806
3807         [Windows] StructuredExceptionHandlerSuppressor Causes Bad Interactions with Support Libraries
3808         https://bugs.webkit.org/show_bug.cgi?id=120901
3809
3810         Reviewed by Anders Carlsson.
3811
3812         Change from old "crash on any exception" implementation to a new version that leaves normal
3813         exception handling infrastructure in place for use by support libraries. We check exceptions
3814         and decide whether to abort or not based on the failure type.
3815
3816         * WebCore.vcxproj/WebCore.vcxproj: Add new implementation files.
3817         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
3818         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
3819         (WebCore::LayerChangesFlusher::hookCallback): Allocate handler struct on stack.
3820         * platform/win/StructuredExceptionHandlerSuppressor.cpp: Added.
3821         (exceptionShouldTerminateProgram): New.
3822         (exceptionHandler): New.
3823         (WebCore::StructuredExceptionHandlerSuppressor::StructuredExceptionHandlerSuppressor): Moved
3824         from header, and updated to add our new exception handler.
3825         (WebCore::StructuredExceptionHandlerSuppressor::~StructuredExceptionHandlerSuppressor): Moved
3826         from header.
3827         * platform/win/StructuredExceptionHandlerSuppressor.h: Move implementation of constructor and
3828         destructor from header file.
3829         * platform/win/makesafeseh.asm: Added.
3830
3831 2013-09-06  Vivek Galatage  <vivek.vg@samsung.com>
3832
3833         Refactor XMLDocumentParser to defer creation of XMLErrors until error occurs
3834         https://bugs.webkit.org/show_bug.cgi?id=120850
3835
3836         Reviewed by Darin Adler.
3837
3838         XMLErrors is created as soon as XMLDocumentParser is constructed. It may not be required 
3839         for all the valid XML documents. Deferring its creation until an error for the invalid
3840         XML document.
3841
3842         No new tests as code refactoring.
3843
3844         * xml/parser/XMLDocumentParser.cpp:
3845         (WebCore::XMLDocumentParser::handleError):
3846         (WebCore::XMLDocumentParser::insertErrorMessageBlock):
3847         * xml/parser/XMLDocumentParser.h:
3848         * xml/parser/XMLDocumentParserLibxml2.cpp:
3849         (WebCore::XMLDocumentParser::XMLDocumentParser):
3850         * xml/parser/XMLDocumentParserQt.cpp:
3851         (WebCore::XMLDocumentParser::XMLDocumentParser):
3852
3853 2013-09-06  Anders Carlsson  <andersca@apple.com>
3854
3855         Remove fastNew/fastDelete
3856         https://bugs.webkit.org/show_bug.cgi?id=120904
3857
3858         Reviewed by Andreas Kling.
3859
3860         Call operator delete directly.
3861
3862         * css/CSSSelectorList.cpp:
3863         (WebCore::CSSSelectorList::adoptSelectorVector):
3864
3865 2013-09-06  Anders Carlsson  <andersca@apple.com>
3866
3867         Stop using fastNew/fastDelete in JavaScriptCore
3868         https://bugs.webkit.org/show_bug.cgi?id=120898
3869
3870         Reviewed by Oliver Hunt.
3871
3872         Update for changes to JavaScriptCore.
3873
3874         * bindings/js/DOMObjectHashTableMap.h:
3875         (WebCore::DOMObjectHashTableMap::get):
3876         * bindings/js/JSDOMBinding.cpp:
3877         (WebCore::getHashTableForGlobalData):
3878         * bindings/js/JSDOMBinding.h:
3879         * bindings/js/JSDOMWindowCustom.cpp:
3880         (WebCore::JSDOMWindow::put):
3881         * bindings/js/JSPluginElementFunctions.h:
3882         (WebCore::pluginElementCustomGetOwnPropertySlot):
3883         * bindings/js/JSStorageCustom.cpp:
3884         (WebCore::JSStorage::deleteProperty):
3885         (WebCore::JSStorage::putDelegate):
3886         * bindings/scripts/CodeGeneratorJS.pm:
3887         (hashTableAccessor):
3888         (prototypeHashTableAccessor):
3889         (constructorHashTableAccessor):
3890         (GenerateGetOwnPropertySlotBody):
3891         (GenerateImplementation):
3892         (GenerateConstructorHelperMethods):
3893
3894 2013-09-06  Andreas Kling  <akling@apple.com>
3895
3896         Include Frame.h in fewer places.
3897         <https://webkit.org/b/120868>
3898
3899         Reviewed by Anders Carlsson.
3900
3901         - Move JSMainThreadExecState::instrumentFunctionCall() to a separate header.
3902           This avoids including InspectorInstrumentation.h from JSMainThreadExecState.h
3903           which caused all JS and Objective-C bindings to depend on Frame.h
3904
3905         - Out-of-line the three methods on FrameView that were operating on Frames.
3906           Most of the call sites were in FrameView.cpp so they will still get inlined.
3907
3908         - Removed GenericBinding.h, nothing was using it anyway.
3909
3910         After this, touching Frame.h and doing a (debug) rebuild goes from 9m30 to 3m30
3911         on my laptop.
3912
3913         * GNUmakefile.list.am:
3914         * WebCore.exp.in:
3915         * WebCore.vcxproj/WebCore.vcxproj:
3916         * WebCore.vcxproj/WebCore.vcxproj.filters:
3917         * WebCore.xcodeproj/project.pbxproj:
3918         * bindings/generic/GenericBinding.h: Removed.
3919         * bindings/js/JSCallbackData.cpp:
3920         * bindings/js/JSEventListener.cpp:
3921         * bindings/js/JSMainThreadExecState.h:
3922         * bindings/js/JSMainThreadExecStateInstrumentation.h: Added.
3923         (WebCore::JSMainThreadExecState::instrumentFunctionCall):
3924         * bindings/js/JSMutationCallback.cpp:
3925         * bindings/js/ScheduledAction.cpp:
3926         * css/DeprecatedStyleBuilder.cpp:
3927         * css/ElementRuleCollector.cpp:
3928         * css/MediaQueryEvaluator.cpp:
3929         * css/SelectorChecker.h:
3930         * dom/StyledElement.cpp:
3931         * html/HTMLPlugInImageElement.cpp:
3932         * inspector/InspectorPageAgent.h:
3933         * inspector/NetworkResourcesData.h:
3934         * inspector/PageRuntimeAgent.cpp:
3935         * loader/cache/CachedImage.cpp:
3936         * page/FrameView.cpp:
3937         (WebCore::FrameView::renderView):
3938         (WebCore::FrameView::mapFromLayoutToCSSUnits):
3939         (WebCore::FrameView::mapFromCSSToLayoutUnits):
3940         * page/FrameView.h:
3941         * page/TouchAdjustment.cpp:
3942         * rendering/RenderBoxModelObject.cpp:
3943         * rendering/RenderLayer.cpp:
3944         * rendering/RenderLayerCompositor.h:
3945         * rendering/RenderText.cpp:
3946         * svg/graphics/SVGImage.cpp:
3947
3948 2013-09-06  Brent Fulgham  <bfulgham@apple.com>
3949
3950         [Windows] Unreviewed gardening: Spell 'Suppressor' properly
3951
3952         * WebCore.vcxproj/WebCore.vcxproj: Change StructuredExceptionHandlerSupressor to StructuredExceptionHandlerSuppressor
3953         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
3954         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
3955         (WebCore::LayerChangesFlusher::hookCallback): Ditto
3956         * platform/win/StructuredExceptionHandlerSuppressor.h: Copied from platform/win/StructuredExceptionHandlerSupressor.h.
3957         * platform/win/StructuredExceptionHandlerSupressor.h: Removed.
3958
3959 2013-09-06  David Hyatt  <hyatt@apple.com>
3960
3961         Add new RenderBlockFlow class.
3962         https://bugs.webkit.org/show_bug.cgi?id=120777
3963
3964         Reviewed by Beth Dakin.
3965
3966         This patch adds a new RenderBlockFlow class. The idea is to get all of the line/float/margin
3967         code out of RenderBlock and into the subclass, and then we can make RenderBlock an abstract
3968         base. This will save memory for all of the classes that derive from RenderBlock but have
3969         their own layout systems (e.g., flexbox, grid, table), and it will let us tighten up
3970         types to make it more clear when we're talking about block layout code vs. a more generic
3971         block-level object that can have any kind of layout.
3972
3973         This patch adds the new class and it makes sure all the objects that should be block flows
3974         inherit from the new class.
3975         
3976         isBlockFlow() proved to be a problematic method (and was the source of regressions when I
3977         landed this patch the first time). When the method was first implemented, it was added as
3978         "I'm a block but not a table." and at the time table was the only subclass of block. However
3979         when new subclasses were added, this function was never patched to account for them. This
3980         means, for example, that flexible boxes and grids claim to be block flows in the codebase
3981         and have for years. This is obviously wrong, since flexible boxes are not in fact block
3982         flows, but because of this mistake, code has started relying on the incorrect behavior of
3983         isBlockFlow() (form controls mostly).
3984         
3985         What I've done to deal with this problem is renamed isBlockFlow() to be
3986         isBlockFlowFlexBoxOrGrid() in order to make it obvious that this method is returning true
3987         for pretty much all blocks other than tables. This makes a lot of call sites look pretty
3988         stupid, since they obviously never intended to include flexible boxes or grids, but at least
3989         it is clear what the method is doing now.
3990         
3991         The plan is to land this patch and then start converting call sites from 
3992         isBlockFlowFlexBoxOrGrid() to isRenderBlockFlow() one by one, and that way we can figure
3993         out which code is making bad assumptions and change those callers to be isRenderBlock()
3994         instead. Ultimately this isBlockFlowFlexBoxOrGrid() method will go away with callers either
3995         changing to use isRenderBlock() or isRenderBlockFlow().
3996
3997         * CMakeLists.txt:
3998         * GNUmakefile.list.am:
3999         * Target.pri:
4000         * WebCore.vcxproj/WebCore.vcxproj:
4001         * WebCore.xcodeproj/project.pbxproj:
4002         * accessibility/AccessibilityRenderObject.cpp:
4003         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
4004         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
4005         * dom/Position.cpp:
4006         (WebCore::Position::isCandidate):
4007         (WebCore::Position::getInlineBoxAndOffset):
4008         (WebCore::Position::primaryDirection):
4009         * dom/PositionIterator.cpp:
4010         (WebCore::PositionIterator::isCandidate):
4011         * editing/ApplyStyleCommand.cpp:
4012         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
4013         * editing/CompositeEditCommand.cpp:
4014         (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
4015         * editing/Editor.cpp:
4016         (WebCore::Editor::baseWritingDirectionForSelectionStart):
4017         * editing/FrameSelection.cpp:
4018         (WebCore::caretRenderer):
4019         * editing/TextIterator.cpp:
4020         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
4021         * editing/TypingCommand.cpp:
4022         (WebCore::TypingCommand::makeEditableRootEmpty):
4023         * editing/htmlediting.cpp:
4024         (WebCore::isBlockFlowElement):
4025         * html/HTMLDetailsElement.cpp:
4026         (WebCore::HTMLDetailsElement::createRenderer):
4027         * html/HTMLSummaryElement.cpp:
4028         (WebCore::HTMLSummaryElement::createRenderer):
4029         * html/shadow/SliderThumbElement.cpp:
4030         (WebCore::RenderSliderThumb::RenderSliderThumb):
4031         * html/shadow/SliderThumbElement.h:
4032         * rendering/LayoutState.cpp:
4033         (WebCore::LayoutState::LayoutState):
4034         * rendering/RenderBlock.cpp:
4035         (WebCore::RenderBlock::createAnonymous):
4036         (WebCore::RenderBlock::layoutBlock):
4037         (WebCore::RenderBlock::collapseMargins):