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