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