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