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