1 2013-09-11 Andreas Kling <akling@apple.com>
3 Missed one BackForwardListImpl.h in the last commit.
5 * history/BackForwardList.cpp:
7 2013-09-11 Andreas Kling <akling@apple.com>
9 Rename BackForwardListImpl.{cpp,h} => BackForwardClient.{cpp,h}
11 Rubber-stamped by Antti Koivisto.
13 2013-09-10 Ryosuke Niwa <rniwa@webkit.org>
15 CSSProperty::isInheritedProperty is large
16 https://bugs.webkit.org/show_bug.cgi?id=121083
18 Reviewed by Sam Weinig.
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.
24 Updated CSSPropertyNames.in and SVGCSSPropertyNames.in to use the new option and removed the old code from
27 * css/CSSProperty.cpp:
28 * css/CSSPropertyNames.in:
29 * css/SVGCSSPropertyNames.in:
32 2013-09-11 Andreas Kling <akling@apple.com>
34 Rename BackForwardListImpl => BackForwardList.
35 <https://webkit.org/b/121146>
37 Reviewed by Antti Koivisto.
39 Nuke another old FIXME.
41 2013-09-11 Gyuyoung Kim <gyuyoung.kim@samsung.com>
43 Generate more HTML type checks and casting
44 https://bugs.webkit.org/show_bug.cgi?id=121080
46 Reviewed by Andreas Kling.
48 Clean-up remained functions of HTML elements using auto-generated isFooElement(),
49 and replace toFooElement() with ELEMENT_TYPE_CASTS() macro.
51 Besides this patch clean-up unnecessary checks which are being supported by
52 auto-generated isFooElement().
54 No new tests, no behavior change.
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):
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):
98 2013-09-11 Chris Fleizach <cfleizach@apple.com>
100 AX: Mac platform is not using accessibilityTitle from the Base implementation
101 https://bugs.webkit.org/show_bug.cgi?id=121109
103 Reviewed by Sam Weinig.
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
108 * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
109 (-[WebAccessibilityObjectWrapperBase accessibilityTitle]):
110 (-[WebAccessibilityObjectWrapperBase accessibilityDescription]):
111 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
113 2013-09-11 Andreas Kling <akling@apple.com>
115 Rename BackForwardList.h => BackForwardClient.h
117 Rubber-stamped by Antti Koivisto.
119 2013-09-11 Andreas Kling <akling@apple.com>
121 Rename BackForwardList => BackForwardClient.
122 <https://webkit.org/b/121143>
124 Reviewed by Antti Koivisto.
126 Nuke a 3 year old FIXME about renaming this class.
128 2013-09-10 Daniel Bates <dabates@apple.com>
130 [iOS] Upstream text autosizing
131 https://bugs.webkit.org/show_bug.cgi?id=121111
133 Reviewed by Andy Estes and Sam Weinig.
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
146 * WebCore.xcodeproj/project.pbxproj:
147 * css/CSSComputedStyleDeclaration.cpp:
148 (WebCore::ComputedStyleExtractor::propertyValue):
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:
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.
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 != ):
242 2013-09-10 Chris Fleizach <cfleizach@apple.com>
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
247 Reviewed by Mario Sanchez Prada.
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.
252 Test: platform/mac/accessibility/menu-item-values.html
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:]):
275 2013-09-10 Anders Carlsson <andersca@apple.com>
277 Remove wtf/Alignment.h
278 https://bugs.webkit.org/show_bug.cgi?id=121077
280 Reviewed by Andreas Kling.
282 * platform/PODArena.h:
283 (WebCore::PODArena::minAlignment):
284 * platform/graphics/cpu/arm/filters/FELightingNEON.h:
285 (WebCore::FELighting::platformApplyNeon):
287 2013-09-10 Zoltan Horvath <zoltan@webkit.org>
289 [Qt] Add FloatingObjects.h to Target.pri
290 https://bugs.webkit.org/show_bug.cgi?id=121117
292 Reviewed by Andreas Kling.
294 No new tests, no behavior change.
299 2013-09-10 Sergio Correia <sergio.correia@openbossa.org>
301 Fix EFL build after r155477
302 https://bugs.webkit.org/show_bug.cgi?id=121126
304 Reviewed by Antonio Gomes.
306 No new tests, build fix.
308 * CMakeLists.txt: MediaStreamComponent.cpp and MediaStreamDescriptor.cpp
309 were added with an incorrect path.
311 2013-09-10 Andreas Kling <akling@apple.com>
313 AnimationController should have a Frame& internally.
314 <https://webkit.org/b/121078>
316 Reviewed by Anders Carlsson.
318 The AnimationController is owned by the Frame so make the back-pointer
319 a reference. This knocks off a couple of null checks.
321 2013-09-10 Anders Carlsson <andersca@apple.com>
323 More WTF/Alignment.h removal
324 https://bugs.webkit.org/show_bug.cgi?id=121125
326 Reviewed by Andreas Kling.
328 * platform/PODArena.h:
330 2013-09-10 Eric Carlson <eric.carlson@apple.com>
332 Make MediaStream objects ScriptWrappable
333 https://bugs.webkit.org/show_bug.cgi?id=120879
335 Reviewed by Jer Noble.
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.
347 2013-09-10 Eric Carlson <eric.carlson@apple.com>
349 Split MediaStreamDescriptor.h and MediaStreamComponent.h into .h and .cpp
350 https://bugs.webkit.org/show_bug.cgi?id=120878
352 Reviewed by Jer Noble.
354 No new tests, no functional change.
356 * CMakeLists.txt: Add MediaStreamComponent.cpp and MediaStreamDescriptor.cpp.
357 * GNUmakefile.list.am: Ditto.
359 * Modules/mediastream/LocalMediaStream.cpp:
360 (WebCore::LocalMediaStream::create): MediaStreamDescriptor::create() doesn't take a UUID.
362 * Modules/mediastream/MediaStream.cpp:
363 (WebCore::createFromSourceVectors): Ditto.
365 * WebCore.xcodeproj/project.pbxproj: Add MediaStreamComponent.cpp and MediaStreamDescriptor.cpp.
367 * platform/mediastream/MediaStreamComponent.cpp: Added.
368 * platform/mediastream/MediaStreamComponent.h:
370 * platform/mediastream/MediaStreamDescriptor.cpp: Added.
371 * platform/mediastream/MediaStreamDescriptor.h:
373 2013-09-10 Brent Fulgham <bfulgham@apple.com>
375 [Windows] Create SharedGDIObject Class Template
376 https://bugs.webkit.org/show_bug.cgi?id=121037
378 Reviewed by Anders Carlsson.
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):
398 2013-09-10 Tim Horton <timothy_horton@apple.com>
400 [mac] PDFDocumentImage should use PDFKit to draw
401 https://bugs.webkit.org/show_bug.cgi?id=120651
402 <rdar://problem/12810731>
404 Unreviewed hopeful build fix.
406 * platform/graphics/mac/PDFDocumentImageMac.mm:
408 2013-09-10 Tim Horton <timothy_horton@apple.com>
410 [mac] PDFDocumentImage should use PDFKit to draw
411 https://bugs.webkit.org/show_bug.cgi?id=120651
412 <rdar://problem/12810731>
414 Reviewed by Alexey Proskuryakov.
416 Use PDFKit to draw PDF-in-<img> on Mac, so that annotations in PDF are painted.
418 Test: fast/images/pdf-as-image-with-annotations.html
420 * WebCore.xcodeproj/project.pbxproj:
421 Add PDFDocumentImageMac.mm.
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.
428 (WebCore::PDFDocumentImage::~PDFDocumentImage):
429 We don't need to manually release our CGPDFDocumentRef anymore because it's now a RetainPtr.
431 (WebCore::PDFDocumentImage::size):
432 Use expandedIntSize for explicitness.
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.
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.
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.
454 (WebCore::PDFDocumentImage::draw):
456 Factor code that actually draws the PDF out into drawPDFPage.
458 The rest of the functions in this file are only built for USE(CG) && !PLATFORM(MAC):
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.
467 (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
468 Factored out of setCurrentPage().
469 Use deg2rad since we have it.
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).
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.
481 Make m_document a PDFDocument on PLATFORM(MAC) and a CGPDFDocumentRef on other platforms.
483 * platform/graphics/mac/PDFDocumentImageMac.mm: Added.
484 Soft-link in PDFKit and specifically the PDFDocument class.
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.
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.
495 (WebCore::PDFDocumentImage::pageCount):
496 Ask PDFKit for the page count.
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>).
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.
510 2013-09-10 Tim Horton <timothy_horton@apple.com>
512 [mac] <progress> has rendering artifacts along the bottom
513 https://bugs.webkit.org/show_bug.cgi?id=120865
514 <rdar://problem/11571240>
516 Reviewed by Simon Fraser.
518 Allow RenderTheme to force the height of a <progress> bar.
520 Test: platform/mac/fast/forms/indeterminate-progress-inline-height.html
522 * rendering/RenderProgress.cpp:
523 (WebCore::RenderProgress::computeLogicalHeight):
524 Borrowed from RenderMeter, allow the theme to override the size of the progress bar.
526 * rendering/RenderProgress.h:
527 Drive-by add OVERRIDE to a few things.
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.
534 * rendering/RenderThemeMac.h:
535 * rendering/RenderThemeMac.mm:
536 (WebCore::RenderThemeMac::progressBarRectForBounds):
537 Override progressBarRectForBounds; the implementation is factored out of paintProgressBar.
539 (WebCore::RenderThemeMac::paintProgressBar):
540 Make use of the factored-out progressBarRectForBounds().
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.
548 2013-09-10 Chris Fleizach <cfleizach@apple.com>
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
553 Reviewed by Darin Adler.
555 Add Mac support for exposing the DOM ID and DOM class list so that accessibility
556 clients can leverage that information.
558 Test: platform/mac/accessibility/id-class-attributes.html
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:]):
569 2013-09-10 Denis Nomiyama <d.nomiyama@samsung.com>
571 [GTK] accessibility/loading-iframe-sends-notification.html is failing
572 https://bugs.webkit.org/show_bug.cgi?id=98370
574 Reviewed by Chris Fleizach.
576 Enabled AXLayoutComplete on the GTK platform.
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).
582 * accessibility/atk/AXObjectCacheAtk.cpp:
583 (WebCore::AXObjectCache::postPlatformNotification): Send layout-complete
584 signal in case of AXLayoutComplete.
586 (WebCore::Document::implicitClose): Enabled AXLayoutComplete on the GTK
588 * page/FrameView.cpp:
589 (WebCore::FrameView::layout): Enabled AXLayoutComplete on the GTK
592 2013-09-09 Brent Fulgham <bfulgham@apple.com>
594 [Windows] Change from using OwnPtr<GDI Stuff> to new GDIObject template.
595 https://bugs.webkit.org/show_bug.cgi?id=120778
597 Reviewed by Anders Carlsson.
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.
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.
651 2013-09-10 Allan Sandfeld Jensen <allan.jensen@digia.com>
653 REGRESSION (r147454): Youtube annotation links to new window broken
654 https://bugs.webkit.org/show_bug.cgi?id=114242
656 Reviewed by Anders Carlsson.
658 Set the UserGestureIndicator to allow popups the same way the issue was solved for WebKit2.
660 * plugins/PluginView.cpp:
661 (WebCore::PluginView::performRequest):
663 2013-09-10 Alberto Garcia <berto@igalia.com>
665 [GTK] The code generator produces a warning if a parameter can be NULL
666 https://bugs.webkit.org/show_bug.cgi?id=121093
668 Reviewed by Christophe Dumez.
670 Return an empty string instead of an undefined value if a
671 particular parameter doesn't need to be checked.
673 * bindings/scripts/CodeGeneratorGObject.pm:
676 2013-09-10 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
678 MediaStream API: Enhance MediaStreamDescriptor add/remove component
679 https://bugs.webkit.org/show_bug.cgi?id=120874
681 Merge blink https://chromium.googlesource.com/chromium/blink/+/67fcacf13ce922a762d7a1c6fb9e1b8e51e662ea
683 Reviewed by Eric Carlson.
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):
698 2013-09-10 Andreas Kling <akling@apple.com>
700 toFooElement() should use static_cast, not reinterpret_cast.
701 <https://webkit.org/b/121087>
703 Reviewed by Antti Koivisto.
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:
709 - FooElement* toFooElement(Node*)
710 - const FooElement* toFooElement(const Node*)
711 - FooElement& toFooElement(Node&)
712 - const FooElement& toFooElement(const Node&)
714 As a bonus, it also adds these to catch unnecessary casting:
716 - void toFooElement(const Node*)
717 - void toFooElement(const Node&)
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.
722 * bridge/qt/qt_pixmapruntime.cpp:
723 (JSC::Bindings::assignToHTMLImageElement):
724 (JSC::Bindings::QtPixmapRuntime::toQt):
726 (WebCore::isElement):
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:
805 2013-09-10 Mario Sanchez Prada <mario.prada@samsung.com>
807 [GTK] Test /webkit/atk/getTextInParagraphAndBodyModerate fails
808 https://bugs.webkit.org/show_bug.cgi?id=105538
810 Reviewed by Chris Fleizach.
812 Expose '\n' for linebreaks when they were explicitly set by the
813 author of the web content with a <br> tag.
815 Tests: accessibility/paragraph-with-linebreaks.html
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().
830 2013-09-10 Arpita Bahuguna <a.bah@samsung.com>
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
835 Reviewed by Ryosuke Niwa.
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.
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.
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.
850 Test: editing/deleting/maintain-style-after-delete.html
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.
858 2013-09-09 Darin Adler <darin@apple.com>
860 Some refinements in FrameView::layout
861 https://bugs.webkit.org/show_bug.cgi?id=121076
863 Reviewed by Andreas Kling.
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.
876 2013-09-09 Santosh Mahto <santosh.ma@samsung.com>
878 Adding "explicit" keyword in DOM related classes constructor
879 https://bugs.webkit.org/show_bug.cgi?id=121031
881 Reviewed by Ryosuke Niwa.
883 Added the explicit keyword in constructors.
885 * dom/ActiveDOMObject.h:
886 * dom/ContainerNode.h:
887 * dom/DocumentStyleSheetCollection.h:
888 * dom/ElementAncestorIterator.h:
890 * dom/ElementRareData.h:
891 * dom/EventListenerMap.h:
892 * dom/QualifiedName.h:
893 (WebCore::QualifiedName::QualifiedName):
895 * dom/ViewportArguments.h:
896 (WebCore::ViewportArguments::ViewportArguments):
897 * dom/VisitedLinkState.h:
899 2013-09-09 Andreas Kling <akling@apple.com>
901 Remove unreviewed gunk I just accidentally committed :|
903 2013-09-09 Andreas Kling <akling@apple.com>
905 HTMLTextAreaElement no longer needs custom style resolve callbacks.
906 <https://webkit.org/b/121073>
908 Reviewed by Ryosuke Niwa.
910 After r155408 HTMLTextAreaElement doesn't override didAttachRenderer() anymore,
911 so we don't need to fire callbacks on textarea elements during style resolve.
913 * html/HTMLTextAreaElement.cpp:
914 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
916 2013-09-09 Andreas Kling <akling@apple.com>
918 ScriptController should have a Frame& internally.
919 <https://webkit.org/b/121071>
921 Reviewed by Anders Carlsson.
923 Change ScriptController::m_frame to a reference since it's tied to
924 the lifetime of the owning Frame.
926 2013-09-09 Andreas Kling <akling@apple.com>
928 ScriptRunner should have a Document& internally.
929 <https://webkit.org/b/121072>
931 Reviewed by Anders Carlsson.
933 Change ScriptRunner::m_document to a reference since it's tied to
934 the lifetime of the Document.
936 2013-09-09 Andreas Kling <akling@apple.com>
938 Ref-ify more stack guards.
939 <https://webkit.org/b/121070>
941 Rubber-stamped by Anders Carlsson.
943 RefPtr<Foo> protect(this) => Ref<Foo> protect(*this).
945 2013-09-09 Andreas Kling <akling@apple.com>
947 Generate more SVG type checks and conversions.
948 <https://webkit.org/b/121066>
950 Reviewed by Anders Carlsson.
952 Switch another slew of SVG elements to auto-generated isFooElement()
953 and toFooElement() helpers.
955 Removed now-unnecessary casts and assertions as appropriate.
956 Converted some simple loops to childrenOfType iteration instead of
957 traversing child Nodes.
959 PS. This patch also adds const versions of toFooElement().
961 2013-09-09 Dean Jackson <dino@apple.com>
963 [WebGL] Allow multithreaded OpenGL contexts
964 https://bugs.webkit.org/show_bug.cgi?id=121062
966 Reviewed by Simon Fraser.
968 Expose a new preference "multithreadedWebGLEnabled".
970 Also examine the value of that preference and, on Mac,
971 tell the CGLContext that it should go to multithreaded mode.
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.
983 2013-09-09 Ryosuke Niwa <rniwa@webkit.org>
985 Remove HTMLTextFormControl::fixPlaceholderRenderer
986 https://bugs.webkit.org/show_bug.cgi?id=121058
988 Reviewed by Kent Tamura.
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.
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.
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.
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:
1012 2013-09-09 Andreas Kling <akling@apple.com>
1014 Hide node() below RenderSVGModelObject, use element() instead.
1015 <https://webkit.org/b/121051>
1017 Reviewed by Darin Adler.
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.
1022 2013-09-09 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
1025 https://bugs.webkit.org/show_bug.cgi?id=121048
1027 Reviewed by Darin Adler.
1029 No new tests needed.
1031 * platform/efl/RenderThemeEfl.cpp:
1032 (WebCore::RenderThemeEfl::applyEdjeRTLState):
1034 2013-09-09 Bem Jones-Bey <bjonesbe@adobe.com>
1036 Move Floats out of RenderBlock
1037 https://bugs.webkit.org/show_bug.cgi?id=120779
1039 Reviewed by Alexandru Chiculita.
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.
1048 No new tests, no behavior change.
1051 * GNUmakefile.list.am:
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):
1142 2013-09-09 David Hyatt <hyatt@apple.com>
1144 REGRESSION (r155377): Convert the media elements that were RenderBlocks to RenderBlockFlows
1145 https://bugs.webkit.org/show_bug.cgi?id=121052
1147 Reviewed by Anders Carlsson.
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
1153 * rendering/RenderMediaControlElements.cpp:
1154 (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
1155 (WebCore::RenderMediaVolumeSliderContainer::layout):
1156 (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
1157 (WebCore::RenderTextTrackContainerElement::layout):
1158 * rendering/RenderMediaControlElements.h:
1160 2013-09-09 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
1162 [Bug Fix] Calling m_audioComponents.remove in removeAudioComponent (MediaStreamDescriptor)
1163 https://bugs.webkit.org/show_bug.cgi?id=121034
1165 Reviewed by Eric Carlson.
1167 No new tests needed.
1169 * platform/mediastream/MediaStreamDescriptor.h:
1170 (WebCore::MediaStreamDescriptor::removeAudioComponent):
1172 2013-09-09 Anders Carlsson <andersca@apple.com>
1174 Stop using WTF type traits in WebCore
1175 https://bugs.webkit.org/show_bug.cgi?id=121042
1177 Reviewed by Andreas Kling.
1179 Replace uses of WTF type traits in CrossThreadCopier with a simpler solution
1180 that uses std::is_convertible_to and some helpers.
1182 * dom/CrossThreadTask.h:
1183 * platform/CrossThreadCopier.h:
1184 * platform/MainThreadTask.h:
1186 2013-09-06 Ryosuke Niwa <rniwa@webkit.org>
1188 Internals should always cause a layout before calling into TextIterator
1189 https://bugs.webkit.org/show_bug.cgi?id=120891
1191 Reviewed by Antti Koivisto.
1193 Inspired by https://chromium.googlesource.com/chromium/blink/+/5fee5da7b04a710171c79bd6e87eca3533188e45.
1195 Force a layout in the constructors of TextIterator, and SimplifiedBackwardsTextIterator and remove
1196 superfluous calls to updateLayout() in other places.
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.
1202 * editing/TextIterator.cpp:
1203 (WebCore::TextIterator::TextIterator):
1204 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
1205 (WebCore::TextIterator::rangeFromLocationAndLength):
1206 (WebCore::findPlainText):
1208 2013-09-09 David Hyatt <hyatt@apple.com>
1210 Move layoutBlock and layoutBlockChildren into RenderBlockFlow
1211 https://bugs.webkit.org/show_bug.cgi?id=121036
1213 Reviewed by Dean Jackson.
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.
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.
1223 Convert RenderListBox to be a RenderBlockFlow, since this is necessary for it
1224 to get the correct layoutBlock method.
1226 Patch RenderRegion to call RenderBlockFlow::layoutBlock rather than RenderBlock::layoutBlock.
1228 Fix run-ins so that they create block flows rather than blocks, and restrict run-ins to
1229 only be block flows.
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):
1264 2013-09-09 Antti Koivisto <antti@apple.com>
1266 Try to fix GTK build.
1270 * accessibility/AccessibilityTable.cpp:
1271 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
1273 2013-09-09 Antti Koivisto <antti@apple.com>
1275 Hide node() below RenderLayerModelObject, use element() instead
1276 https://bugs.webkit.org/show_bug.cgi?id=121038
1278 Reviewed by Dave Hyatt.
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.
1283 This also removes a branch from many hasTagName() and isFooElement() calls.
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):
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:
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):
1518 2013-09-09 Antti Koivisto <antti@apple.com>
1520 Make RenderView anonymous
1521 https://bugs.webkit.org/show_bug.cgi?id=121013
1523 Reviewed by Darin Adler and Dave Hyatt.
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.
1529 * accessibility/AccessibilityRenderObject.cpp:
1530 (WebCore::AccessibilityRenderObject::node):
1532 We need to grab document() instead of node() in a few places for RenderViews to keep existing code
1533 behaving like it did.
1535 * inspector/InspectorLayerTreeAgent.cpp:
1536 (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
1538 Don't tell inspector that the root layer is anonymous for now to avoid changing behavior.
1540 * rendering/RenderBlock.cpp:
1541 (WebCore::RenderBlock::nodeForHitTest):
1542 * rendering/RenderBox.cpp:
1543 (WebCore::RenderBox::canBeProgramaticallyScrolled):
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.
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):
1559 RenderView is anonymous but not a CSS anonymous block.
1561 (WebCore::RenderObject::isText):
1562 (WebCore::RenderObject::isRenderView):
1564 Make isRenderView non-virtual since it is now hot. Reuse existing bits.
1566 (WebCore::RenderObject::setIsText):
1567 (WebCore::RenderObject::setIsRenderView):
1568 (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
1569 * rendering/RenderTreeAsText.cpp:
1570 (WebCore::writeSelection):
1571 * rendering/RenderView.cpp:
1575 (WebCore::RenderView::RenderView):
1576 * rendering/RenderView.h:
1577 * rendering/svg/RenderSVGRoot.cpp:
1578 (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
1580 2013-09-09 Bem Jones-Bey <bjonesbe@adobe.com>
1582 Move logical(Left|Right)FloatOffsetForLine methods into FloatingObjects
1583 https://bugs.webkit.org/show_bug.cgi?id=120705
1585 Reviewed by Sam Weinig.
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.
1591 No new tests, no behavior change.
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):
1601 2013-09-09 Christophe Dumez <ch.dumez@sisa.samsung.com>
1603 Add support for BeforeUnloadEvent interface
1604 https://bugs.webkit.org/show_bug.cgi?id=120849
1606 Reviewed by Darin Adler.
1608 Add support for BeforeUnloadEvent as per the specification:
1609 http://www.whatwg.org/specs/web-apps/current-work/#beforeunloadevent
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
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.
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).
1625 Test: fast/events/before-unload-returnValue.html
1628 * DerivedSources.cpp:
1629 * DerivedSources.make:
1630 * DerivedSources.pri:
1631 * GNUmakefile.list.am:
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.
1646 (WebCore::Event::isBeforeUnloadEvent):
1648 (WebCore::Event::legacyReturnValue):
1649 (WebCore::Event::setLegacyReturnValue):
1651 * dom/EventNames.in:
1652 * loader/FrameLoader.cpp:
1653 (WebCore::FrameLoader::handleBeforeUnloadEvent):
1655 2013-09-06 David Hyatt <hyatt@apple.com>
1657 Get rid of isBlockFlowFlexBoxOrGrid().
1658 https://bugs.webkit.org/show_bug.cgi?id=120897
1660 Convert all callers and get rid of this method.
1662 Reviewed by Beth Dakin.
1664 * accessibility/AccessibilityRenderObject.cpp:
1665 (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
1666 (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
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:
1715 2013-09-09 Eric Carlson <eric.carlson@apple.com>
1717 MediaStream API: Stop means stop
1718 https://bugs.webkit.org/show_bug.cgi?id=120873
1720 Reviewed by Jer Noble.
1722 Merge blink https://chromium.googlesource.com/chromium/blink/+/9a97b0f3892320fa5741485e06a78183b77c3635
1723 by Tommy Widenflycht.
1725 Removing notification functionality from MediaStreamTrack::stop because the world is being torn down.
1727 No new tests, the original author was unable to come up with a reliable test case.
1729 * Modules/mediastream/MediaStreamTrack.cpp:
1730 (WebCore::MediaStreamTrack::stop): Don't call didEndTrack, the world is going away.
1732 2013-09-09 Filip Pizlo <fpizlo@apple.com>
1734 Unreviewed, fix build.
1736 * Modules/encryptedmedia/MediaKeySession.h:
1738 2013-09-09 Eric Carlson <eric.carlson@apple.com>
1740 MediaStream API: Moving Add/Remove track from WebMediaStreamCenterClient to WebMediaStream
1741 https://bugs.webkit.org/show_bug.cgi?id=120872
1743 Reviewed by Jer Noble.
1745 Merge https://chromium.googlesource.com/chromium/blink/+/7d740fd27c1f345b59c846df01c3adce53c18e6e
1746 Simple cleanup that makes the API cleaner.
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):
1759 2013-09-09 ChangSeok Oh <changseok.oh@collabora.com>
1761 [WK2] Assertion failure in WebCore::Page::checkSubframeCountConsistency when going back
1762 https://bugs.webkit.org/show_bug.cgi?id=119781
1764 Reviewed by Alexey Proskuryakov.
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.
1774 Test: fast/history/go-back-to-iframe-with-plugin.html
1776 * history/CachedFrame.cpp:
1777 (WebCore::CachedFrameBase::restore):
1778 (WebCore::CachedFrame::open):
1780 2013-09-09 Luciano Wolf <luciano.wolf@openbossa.org>
1782 Nix upstreaming - Adding stubs and Nix specific platform files
1783 https://bugs.webkit.org/show_bug.cgi?id=118358
1785 Reviewed by Benjamin Poulain.
1787 Basically adding all files that have "Nix" in their names and
1788 are related to WebCore module.
1790 No new tests. They will be uploaded on another patch during the
1791 upstreaming process.
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.
1816 2013-09-09 Hugo Parente Lima <hugo.lima@openbossa.org>
1818 Preparing WebCore to receive Nix Port
1819 https://bugs.webkit.org/show_bug.cgi?id=118326
1821 Reviewed by Eric Carlson.
1823 Only adding the compilation directives that are Nix specific, in the
1824 existent WebCore files
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:
1870 2013-09-08 Darin Adler <darin@apple.com>
1872 Tighten up EventQueue classes a bit, less indirection and memory allocation
1873 https://bugs.webkit.org/show_bug.cgi?id=121016
1875 Reviewed by Andreas Kling.
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.
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.
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.
1905 * Modules/mediasource/SourceBufferList.cpp:
1906 (WebCore::SourceBufferList::SourceBufferList): Take references instead of
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
1913 (WebCore::SourceBufferList::scriptExecutionContext): Updated since script
1914 execution context is now a reference.
1915 * Modules/mediasource/SourceBufferList.h: Ditto.
1918 (WebCore::Document::Document): Updated since event queue is now a member rather
1920 (WebCore::Document::detach): Ditto.
1921 (WebCore::Document::enqueueWindowEvent): Ditto.
1922 (WebCore::Document::enqueueDocumentEvent): Ditto.
1923 * dom/Document.h: Ditto.
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.
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.
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.
1961 * dom/ScriptExecutionContext.h: Changed the return type of eventQueue to a reference.
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.
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.
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.
1995 * workers/WorkerGlobalScope.cpp:
1996 (WebCore::WorkerGlobalScope::WorkerGlobalScope): Updated since eventQueue is
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.
2002 2013-09-09 Hans Muller <hmuller@adobe.com>
2004 [CSS Shapes] Heap-buffer-overflow in WebCore::ShapeInterval<float>::subtractShapeIntervals
2005 https://bugs.webkit.org/show_bug.cgi?id=120802
2007 Reviewed by Darin Adler.
2009 Revised the implementation of subtractShapeIntervals() to isloate and check the
2010 places where it dereferences ShapeInterval vector iterators.
2012 Test: fast/shapes/shape-inside/shape-inside-subtract-intervals-crash.html
2014 * rendering/shapes/ShapeInterval.h:
2015 (WebCore::ShapeInterval::subtractShapeIntervals):
2017 2013-09-09 Darin Adler <darin@apple.com>
2019 matchingShorthandsForLonghand builds map using a giant function
2020 https://bugs.webkit.org/show_bug.cgi?id=121029
2022 Reviewed by Anders Carlsson.
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.
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.
2035 * css/CSSProperty.cpp:
2036 (WebCore::StylePropertyMetadata::shorthandID): Updated for change in
2037 return value of matchingShorthandsForLonghand.
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
2094 (WebCore::indexOfShorthandForLonghand): Tightened up the coding style a bit.
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.
2102 2013-09-09 Allan Sandfeld Jensen <allan.jensen@digia.com>
2104 MouseEnter and MouseLeave may be emitted on Document nodes
2105 https://bugs.webkit.org/show_bug.cgi?id=120862
2107 Reviewed by Antonio Gomes.
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.
2113 This is tested by fast/events/mouseenterleave-on-subframe.html
2116 (WebCore::Document::updateHoverActiveState):
2118 2013-09-09 Allan Sandfeld Jensen <allan.jensen@digia.com>
2120 MouseLeave not always emitted when cursor leaves subframe
2121 https://bugs.webkit.org/show_bug.cgi?id=121026
2123 Reviewed by Antonio Gomes.
2125 Forward the PlatformMouseEvent in the recursive calls so nested documents
2126 also get a chance to emit mouseleave when the hover moves out.
2128 Test: fast/events/mouseenterleave-on-subframe.html
2131 (WebCore::Document::updateHoverActiveState):
2133 2013-09-09 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
2135 Adding username to RTCIceServer
2136 https://bugs.webkit.org/show_bug.cgi?id=120861
2138 Reviewed by Eric Carlson.
2140 No new tests needed. Existing media stream tests already cover it
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):
2149 2013-09-09 Antti Koivisto <antti@apple.com>
2151 Hide Document::renderer()
2152 https://bugs.webkit.org/show_bug.cgi?id=121028
2154 Reviewed by Andreas Kling.
2156 Use less generic Document::renderView() instead.
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):
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):
2184 * dom/DocumentStyleSheetCollection.cpp:
2185 (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
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):
2210 (WebCore::Frame::setPageAndTextZoomFactors):
2211 * page/FrameView.cpp:
2212 (WebCore::FrameView::layout):
2213 (WebCore::FrameView::doLayoutWithFrameFlattening):
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):
2225 2013-09-09 Christophe Dumez <ch.dumez@sisa.samsung.com>
2227 [DOM4] Have ProcessingInstruction inherit CharacterData
2228 https://bugs.webkit.org/show_bug.cgi?id=120691
2230 Reviewed by Darin Adler.
2232 Have ProcessingInstruction inherit CharacterData as per the latest DOM4
2234 http://dom.spec.whatwg.org/#processinginstruction
2236 Previously, ProcessingInstruction was inheriting from Node as per DOM
2239 Firefox and Blink already follow DOM4 here but not IE10.
2240 This change leads to less code duplication.
2242 Test: fast/dom/processing-instruction-inherit-characterdata.xhtml
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:
2258 2013-09-09 Krzysztof Czech <k.czech@samsung.com>
2260 [AX][ATK] AccessibilityObject representing ProgressBar element should be ATK_VALUE type
2261 https://bugs.webkit.org/show_bug.cgi?id=121023
2263 Reviewed by Mario Sanchez Prada.
2265 Test: accessibility/progressbar.html
2267 ProgressBar element should support ATK_VALUE interface.
2269 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2270 (getInterfaceMaskFromObject):
2272 2013-09-09 Claudio Saavedra <csaavedra@igalia.com>
2274 [GTK] ghost cursor when mouse hovers over an image file in a tab
2275 https://bugs.webkit.org/show_bug.cgi?id=120675
2277 Reviewed by Carlos Garcia Campos.
2279 No new tests, covered by existing.
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.
2285 2013-09-08 Santosh Mahto <santosh.ma@samsung.com>
2287 HTMLDocument.h : Removing unnecessary forward declaration.
2288 https://bugs.webkit.org/show_bug.cgi?id=121002
2290 Reviewed by Darin Adler.
2293 Removed the two forward declaration in HTMLDocument.h file.
2295 * html/HTMLDocument.h:
2297 2013-09-08 Gurpreet Kaur <k.gurpreet@samsung.com>
2299 defining line height affects height of text box
2300 https://bugs.webkit.org/show_bug.cgi?id=17619
2302 Reviewed by Darin Adler.
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.
2308 Test: fast/dom/HTMLInputElement/input-line-height.html
2312 Made the line-height: normal as !important so that it does not
2313 consider any other line-height specified through internal or
2316 2013-09-08 Gurpreet Kaur <k.gurpreet@samsung.com>
2318 Scrollbar width is not applied when element hidden
2319 https://bugs.webkit.org/show_bug.cgi?id=90546
2321 Reviewed by Simon Fraser.
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.
2331 Tests: fast/dom/Element/scroll-width-hidden.html
2332 fast/dom/Element/scroll-width-visible.html
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.
2343 2013-09-08 Tamas Czene <tczene@inf.u-szeged.hu>
2345 GStreamer 0.10 build fix after r155251.
2347 Reviewed by Csaba Osztrogonác.
2349 * platform/graphics/gstreamer/GStreamerVersioning.cpp:
2351 2013-09-08 Christophe Dumez <ch.dumez@sisa.samsung.com>
2353 [wk2] REGRESSION (r154673): PDF scrolling moves very slowly
2354 https://bugs.webkit.org/show_bug.cgi?id=120542
2356 Reviewed by Tim Horton.
2358 Handle 'wheel' events in addition to 'mousewheel'.
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
2364 * plugins/PluginView.cpp:
2365 Handle 'wheel' events in addition to 'mousewheel'.
2367 2013-09-08 Darin Adler <darin@apple.com>
2369 Make Editor::deleteButtonController a reference
2370 https://bugs.webkit.org/show_bug.cgi?id=121019
2372 Reviewed by Andreas Kling.
2374 * dom/ContainerNode.cpp:
2375 (WebCore::ContainerNode::cloneChildNodes): Updated to use . instead of ->.
2376 * editing/DeleteButton.cpp:
2377 (WebCore::DeleteButton::defaultEventHandler): Ditto.
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.
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.
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.
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.
2404 2013-09-08 Andreas Kling <akling@apple.com>
2406 InlineBox::root() should return a reference.
2407 <https://webkit.org/b/121014>
2409 Reviewed by Antti Koivisto.
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.
2414 2013-09-08 Andreas Kling <akling@apple.com>
2416 FrameView::scheduleEvent() is over-engineered.
2417 <https://webkit.org/b/121004>
2419 Reviewed by Antti Koivisto.
2421 Remove gratuitous FrameActionScheduler class that was really only being used
2422 to defer the occassional "overflowchanged" event until layout had finished.
2425 * GNUmakefile.list.am:
2427 * WebCore.vcxproj/WebCore.vcxproj:
2428 * WebCore.vcxproj/WebCore.vcxproj.filters:
2429 * WebCore.xcodeproj/project.pbxproj:
2430 * page/FrameActionScheduler.cpp:
2431 * page/FrameActionScheduler.h:
2433 Removed FrameActionScheduler.
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):
2447 Replaced it with a Vector<ScheduledEvent> and a suppression counter.
2448 A ScheduledEvent is just a { Node, Event } pair.
2450 2013-09-08 Anders Carlsson <andersca@apple.com>
2452 Move WTF::notFound to Vector.h and delete NotFound.h
2453 https://bugs.webkit.org/show_bug.cgi?id=120990
2455 Reviewed by Sam Weinig.
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:
2463 2013-09-08 Commit Queue <commit-queue@webkit.org>
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
2470 Seems to have broken many tests (bug 120963) (Requested by ap
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:
2491 2013-09-08 Andreas Kling <akling@apple.com>
2493 ScriptExecutionContext: Use FINAL instead of foo() { virtualFoo() }
2494 <https://webkit.org/b/120827>
2496 Reviewed by Darin Adler.
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.
2503 * dom/ScriptExecutionContext.h:
2504 * workers/WorkerGlobalScope.cpp:
2505 * workers/WorkerGlobalScope.h:
2507 2013-09-08 Antti Koivisto <antti@apple.com>
2509 Rename needsShadowTreeWalker
2510 https://bugs.webkit.org/show_bug.cgi?id=121005
2512 Reviewed by Andreas Kling.
2514 Rename to needsNodeRenderingTraversalSlowPath.
2516 * dom/ContainerNode.h:
2517 (WebCore::Node::needsNodeRenderingTraversalSlowPath):
2519 (WebCore::shouldUseNodeRenderingTraversalSlowPath):
2520 (WebCore::Element::resetNeedsNodeRenderingTraversalSlowPath):
2522 Only Elements can have this flag. Move the code here from Node.
2524 (WebCore::Element::addShadowRoot):
2525 (WebCore::Element::setBeforePseudoElement):
2526 (WebCore::Element::setAfterPseudoElement):
2527 (WebCore::Element::clearBeforePseudoElement):
2528 (WebCore::Element::clearAfterPseudoElement):
2530 Reset after clear too.
2536 (WebCore::Node::isInsertionPoint):
2537 (WebCore::Node::setNeedsNodeRenderingTraversalSlowPath):
2541 * dom/NodeRenderingTraversal.h:
2542 (WebCore::NodeRenderingTraversal::parent):
2543 (WebCore::NodeRenderingTraversal::nextSibling):
2544 (WebCore::NodeRenderingTraversal::previousSibling):
2546 2013-09-08 Andreas Kling <akling@apple.com>
2548 Render{Block,Inline}::lineBoxes() should return a reference.
2549 <https://webkit.org/b/120995>
2551 Reviewed by Antti Koivisto.
2553 This function was already just returning the address of a member variable.
2555 2013-09-08 Andreas Kling <akling@apple.com>
2557 Move "using software CSS filters" optimization flag to RenderView.
2558 <https://webkit.org/b/120999>
2560 Reviewed by Antti Koivisto.
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.
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:
2574 2013-09-08 Andreas Kling <akling@apple.com>
2576 FrameLoader::icon() should return a reference.
2577 <https://webkit.org/b/120993>
2579 Reviewed by Antti Koivisto.
2581 This function never returns null. Make it return a reference!
2583 2013-09-08 Andreas Kling <akling@apple.com>
2585 Remove unused Scrollbar tickmark stuff.
2586 <https://webkit.org/b/121000>
2588 Reviewed by Antti Koivisto.
2590 This code is no longer used by any ports.
2592 * page/FrameView.cpp:
2594 * platform/ScrollableArea.h:
2595 * platform/Scrollbar.cpp:
2596 * platform/Scrollbar.h:
2597 * platform/ScrollbarThemeClient.h:
2599 2013-09-08 Antti Koivisto <antti@apple.com>
2601 Remove ComposedShadowTreeWalker
2602 https://bugs.webkit.org/show_bug.cgi?id=120997
2604 Reviewed by Andreas Kling.
2606 Move the code to NodeRenderingTraversal which is the only client besides Internals.
2609 * GNUmakefile.list.am:
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):
2630 Make former members of ComposedShadowTreeWalker standalone functions in NodeRenderingTraversal.
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:
2643 2013-09-08 Andreas Kling <akling@apple.com>
2645 FrameLoader::policyChecker() should return a reference.
2646 <https://webkit.org/b/120991>
2648 Reviewed by Antti Koivisto.
2650 This function never returns null. Make it return a reference!
2652 2013-09-08 Andreas Kling <akling@apple.com>
2654 FrameLoader::mixedContentChecker() should return a reference.
2655 <https://webkit.org/b/120992>
2657 Reviewed by Antti Koivisto.
2659 This function was already just returning the address of a member variable.
2661 2013-09-07 Antti Koivisto <antti@apple.com>
2663 Separate forward and backward paths in ComposedShadowTreeWalker
2664 https://bugs.webkit.org/show_bug.cgi?id=120979
2666 Reviewed by Andreas Kling.
2668 Have separate first/last and next/previous paths instead of using a direction enum.
2670 Reduce the number of helper functions and give them more understandable names.
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:
2689 2013-09-07 Andreas Kling <akling@apple.com>
2691 Beat FrameView with the FINAL stick.
2692 <https://webkit.org/b/120989>
2694 Reviewed by Anders Carlsson.
2696 ... and mark everything virtual with OVERRIDE, exposing a couple of things
2697 that didn't actually override anything.
2702 2013-09-07 Anders Carlsson <andersca@apple.com>
2704 Remove NonCopyableSort.h from WTF
2705 https://bugs.webkit.org/show_bug.cgi?id=120984
2707 Reviewed by Andreas Kling.
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):
2724 2013-09-07 Antti Koivisto <antti@apple.com>
2726 Simplify ComposedShadowTreeWalker parent traversal
2727 https://bugs.webkit.org/show_bug.cgi?id=120971
2729 Reviewed by Andreas Kling.
2731 Combine a bunch of parent traversal functions into one.
2733 * dom/ComposedShadowTreeWalker.cpp:
2734 (WebCore::ComposedShadowTreeWalker::traverseParent):
2735 (WebCore::ComposedShadowTreeWalker::previous):
2736 * dom/ComposedShadowTreeWalker.h:
2738 Remove unused fromFirstChild.
2740 2013-09-07 Anders Carlsson <andersca@apple.com>
2742 Get rid of PassOwnArrayPtr
2743 https://bugs.webkit.org/show_bug.cgi?id=120964
2745 Reviewed by Andreas Kling.
2747 Use OwnArrayPtr instead of PassOwnArrayPtr.
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:
2760 2013-09-07 Antti Koivisto <antti@apple.com>
2762 Remove unnecessary sibling text renderers after attach
2763 https://bugs.webkit.org/show_bug.cgi?id=120953
2765 Reviewed by the Swedish Review Team: Anders Carlsson and Andreas Kling.
2767 The current createTextRenderersForSiblingsAfterAttachIfNeeded code only adds text renderers, never removes them.
2768 Style changes can go either way.
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.
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.
2777 Rendering tree dumps show us still leaving behind empty anonymous blocks when removing whitespace text nodes.
2778 Those should collapse away too.
2780 * style/StyleResolveTree.cpp:
2781 (WebCore::Style::reattachTextRenderersForWhitespaceOnlySiblingsAfterAttachIfNeeded):
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.
2788 (WebCore::Style::updateTextRendererAfterContentChange):
2789 (WebCore::Style::resolveLocal):
2790 (WebCore::Style::updateTextStyle):
2791 (WebCore::Style::attachRenderTree):
2793 2013-09-07 Anders Carlsson <andersca@apple.com>
2795 Get rid of FastAllocBase.h
2796 https://bugs.webkit.org/show_bug.cgi?id=120952
2798 Reviewed by Antti Koivisto.
2800 Include FastMalloc.h instead of FastAllocBase.h.
2802 * Modules/webdatabase/SQLTransactionClient.h:
2803 * bindings/js/GCController.h:
2805 * bridge/IdentifierRep.h:
2806 * dom/DocumentStyleSheetCollection.h:
2807 * dom/TransformSource.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:
2838 2013-09-07 Eric Carlson <eric.carlson@apple.com>
2840 MediaStream should fire ended event when all tracks are ended
2841 https://bugs.webkit.org/show_bug.cgi?id=120871
2843 Reviewed by Jer Noble.
2845 Merge https://chromium.googlesource.com/chromium/blink/+/bebd179b65be69e46f2f434a3ec8b1e4aa85cc42
2847 Test: fast/mediastream/MediaStream-onended.html
2849 * Modules/mediastream/MediaStream.cpp:
2850 (WebCore::MediaStream::trackEnded): New.
2851 * Modules/mediastream/MediaStream.h:
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:
2859 * platform/mediastream/MediaStreamDescriptor.h:
2860 (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Require didEndTrack.
2862 2013-09-06 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
2864 Get MEDIA_STREAM compiling for other ports (EFL and GTK)
2865 https://bugs.webkit.org/show_bug.cgi?id=120811
2867 Reviewed by Eric Carlson.
2870 * GNUmakefile.list.am:
2871 * Modules/mediastream/LocalMediaStream.h:
2872 * Modules/mediastream/MediaStreamRegistry.cpp:
2873 (WebCore::MediaStreamRegistry::lookupMediaStreamDescriptor):
2874 * Modules/mediastream/RTCStatsResponse.h:
2876 2013-09-06 Bem Jones-Bey <bjonesbe@adobe.com>
2878 [CSS Shapes] Floats with shape-outside aren't painting in the correct order
2879 https://bugs.webkit.org/show_bug.cgi?id=118492
2881 Reviewed by Darin Adler.
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.
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.
2892 Test: fast/shapes/shape-outside-floats/shape-outside-floats-not-a-layer.html
2894 * rendering/RenderBox.h:
2895 (WebCore::RenderBox::shapeOutsideInfo):
2896 * rendering/RenderObject.h:
2897 * rendering/shapes/ShapeOutsideInfo.cpp:
2898 (WebCore::ShapeOutsideInfo::isEnabledFor):
2900 2013-09-06 Anders Carlsson <andersca@apple.com>
2902 Add a new smart pointer type for fastMalloc'ed memory
2903 https://bugs.webkit.org/show_bug.cgi?id=120911
2905 Reviewed by Andreas Kling.
2907 Update for WTF changes.
2909 * platform/network/cf/FormDataStreamCFNet.cpp:
2910 (WebCore::advanceCurrentStream):
2912 2013-09-06 Dirk Schulze <krit@webkit.org>
2914 Interpolate between CSS filter() and cached images
2915 https://bugs.webkit.org/show_bug.cgi?id=120602
2917 Reviewed by Simon Fraser.
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().
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):
2930 2013-09-06 Ryosuke Niwa <rniwa@webkit.org>
2932 Elements retained by AccessibilityImageMapLink leak
2933 https://bugs.webkit.org/show_bug.cgi?id=120917
2935 Reviewed by Chris Fleizach.
2937 Merge https://chromium.googlesource.com/chromium/blink/+/df0bd288efe65e5e38425fbdcdfc68b5a2a79e42
2939 Unfortunately, the test added by the Blink change doesn't reproduce a leak in WebKit.
2941 * accessibility/AccessibilityImageMapLink.cpp:
2942 (WebCore::AccessibilityImageMapLink::detachFromParent):
2943 * accessibility/AccessibilityImageMapLink.h:
2944 * accessibility/AccessibilityMockObject.h:
2945 (WebCore::AccessibilityMockObject::detachFromParent):
2947 2013-09-06 Andreas Kling <akling@apple.com>
2949 Make Obj-C bindings generator less #include-happy.
2950 <https://webkit.org/b/120913>
2952 Reviewed by Anders Carlsson.
2954 Knock out an old FIXME in CodeGeneratorObjC.pm and avoid including unrelated
2955 interface declarations from implementation files where they are not needed.
2957 * bindings/scripts/CodeGeneratorObjC.pm:
2958 (GenerateImplementation):
2960 Only include DOMFooInternal.h relevant to the current interface.
2962 * bindings/scripts/test/ObjC/*
2964 Rebaseline Obj-C bindings tests now that they include fewer things.
2966 2013-09-06 Andreas Kling <akling@apple.com>
2968 Rebaseline bindings tests after Swedish breakage.
2970 2013-09-06 Andreas Kling <akling@apple.com>
2972 Don't include Document.h from JSDOMBinding.h
2973 <https://webkit.org/b/120909>
2975 Reviewed by Anders Carlsson.
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.
2980 This reduces the include dependency graph of many bindings files.
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:
2989 2013-09-06 Ryosuke Niwa <rniwa@webkit.org>
2991 Range::ownerDocument should return Document&
2992 https://bugs.webkit.org/show_bug.cgi?id=120908
2994 Reviewed by Andreas Kling.
2996 Return Document& in Range::ownerDocument(). Also make setDocument take Document& so that this invariant is self-evident.
2998 * bindings/objc/DOM.mm:
2999 (-[DOMRange boundingBox]):
3000 (-[DOMRange renderedImageForcingBlackText:]):
3001 (-[DOMRange textRects]):
3003 (WebCore::Range::setDocument):
3004 (WebCore::Range::setStart):
3005 (WebCore::Range::setEnd):
3006 (WebCore::Range::selectNode):
3007 (WebCore::Range::selectNodeContents):
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):
3032 (WebCore::Page::rangeOfString):
3033 * rendering/RenderObject.cpp:
3034 (WebCore::RenderObject::absoluteBoundingBoxRectForRange):
3035 * testing/Internals.cpp:
3036 (WebCore::Internals::addTextMatchMarker):
3038 2013-09-06 Brent Fulgham <bfulgham@apple.com>
3040 [Windows] StructuredExceptionHandlerSuppressor Causes Bad Interactions with Support Libraries
3041 https://bugs.webkit.org/show_bug.cgi?id=120901
3043 Reviewed by Anders Carlsson.
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.
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
3060 * platform/win/StructuredExceptionHandlerSuppressor.h: Move implementation of constructor and
3061 destructor from header file.
3062 * platform/win/makesafeseh.asm: Added.
3064 2013-09-06 Vivek Galatage <vivek.vg@samsung.com>
3066 Refactor XMLDocumentParser to defer creation of XMLErrors until error occurs
3067 https://bugs.webkit.org/show_bug.cgi?id=120850
3069 Reviewed by Darin Adler.
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
3075 No new tests as code refactoring.
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):
3086 2013-09-06 Anders Carlsson <andersca@apple.com>
3088 Remove fastNew/fastDelete
3089 https://bugs.webkit.org/show_bug.cgi?id=120904
3091 Reviewed by Andreas Kling.
3093 Call operator delete directly.
3095 * css/CSSSelectorList.cpp:
3096 (WebCore::CSSSelectorList::adoptSelectorVector):
3098 2013-09-06 Anders Carlsson <andersca@apple.com>
3100 Stop using fastNew/fastDelete in JavaScriptCore
3101 https://bugs.webkit.org/show_bug.cgi?id=120898
3103 Reviewed by Oliver Hunt.
3105 Update for changes to JavaScriptCore.
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):
3127 2013-09-06 Andreas Kling <akling@apple.com>
3129 Include Frame.h in fewer places.
3130 <https://webkit.org/b/120868>
3132 Reviewed by Anders Carlsson.
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
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.
3141 - Removed GenericBinding.h, nothing was using it anyway.
3143 After this, touching Frame.h and doing a (debug) rebuild goes from 9m30 to 3m30
3146 * GNUmakefile.list.am:
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):
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:
3181 2013-09-06 Brent Fulgham <bfulgham@apple.com>
3183 [Windows] Unreviewed gardening: Spell 'Suppressor' properly
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.
3192 2013-09-06 David Hyatt <hyatt@apple.com>
3194 Add new RenderBlockFlow class.
3195 https://bugs.webkit.org/show_bug.cgi?id=120777
3197 Reviewed by Beth Dakin.
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.
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.
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).
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.
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().
3231 * GNUmakefile.list.am:
3233 * WebCore.vcxproj/WebCore.vcxproj:
3234 * WebCore.xcodeproj/project.pbxproj:
3235 * accessibility/AccessibilityRenderObject.cpp:
3236 (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
3237 (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
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:
3372 2013-09-06 Vivek Galatage <vivek.vg@samsung.com>
3374 Calling window.close() should indicate failure with warning message
3375 https://bugs.webkit.org/show_bug.cgi?id=120156
3377 Reviewed by Darin Adler.
3379 Closing of window is allowed for the tests for the automation.
3381 * page/DOMWindow.cpp:
3382 (WebCore::DOMWindow::close):
3384 2013-09-06 Mike West <mkwst@chromium.org>
3386 Revalidation header blacklisting should be case-insensitive.
3387 https://bugs.webkit.org/show_bug.cgi?id=120832
3389 Reviewed by Alexey Proskuryakov.
3391 Headers like 'content-type' should be ignored for 304 responses,
3392 even if they are delivered as 'Content-Type', or 'CoNtEnT-TyPe', etc.
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.
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.
3404 Test: http/tests/cache/content-type-ignored-during-revalidation.html
3406 * loader/cache/CachedResource.cpp:
3407 (WebCore::shouldUpdateHeaderAfterRevalidation):
3408 Compare the provided AtomicString 'header' to the revalidation
3409 blacklists in a case-insensitive fashion.
3411 2013-09-06 Eric Carlson <eric.carlson@apple.com>
3413 [MediaStream API] Allow empty MediaStreams
3414 https://bugs.webkit.org/show_bug.cgi?id=120815
3416 Reviewed by Jer Noble.
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.
3423 No new tests, existing test updated.
3425 (WebCore::MediaStreamRegistry::lookupMediaStreamDescriptor):
3426 * platform/mediastream/MediaStreamDescriptor.h:
3427 (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
3429 2013-09-06 Anders Carlsson <andersca@apple.com>
3431 Stop using fastNew/fastDelete in WebCore
3432 https://bugs.webkit.org/show_bug.cgi?id=120867
3434 Reviewed by Geoffrey Garen.
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.
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):
3452 2013-09-06 Anders Carlsson <andersca@apple.com>
3454 Fix fastMalloc/delete mismatches in CSS parser
3455 https://bugs.webkit.org/show_bug.cgi?id=120864
3457 Reviewed by Andreas Kling.
3459 Stop putting fastMalloced memory inside an OwnPtr.
3461 * css/CSSParserValues.cpp:
3462 (WebCore::CSSParserSelector::CSSParserSelector):
3463 (WebCore::CSSParserSelector::adoptSelectorVector):
3465 2013-09-06 Andreas Kling <akling@apple.com>
3467 FrameLoader::subresourceLoader() should return a reference.
3468 <https://webkit.org/b/120830>
3470 Reviewed by Anders Carlsson.
3472 There is always a SubresourceLoader, so this method could never return null.