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