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