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