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