1 2013-09-19 Andreas Kling <akling@apple.com>
3 CTTE: EllipsisBox::renderer() should return RenderBlock&.
4 <https://webkit.org/b/121604>
6 Reviewed by Antti Koivisto.
8 I missed adding a renderer() overload when fixing up EllipsisBox.
9 Flushed out one unnecessary type check.
11 2013-09-19 Andreas Kling <akling@apple.com>
13 CTTE: Tighten renderer types for InlineTextBox and SVGInlineTextBox.
14 <https://webkit.org/b/121605>
16 Reviewed by Antti Koivisto.
20 - InlineTextBox always has a RenderText.
21 - SVGInlineTextBox always has a RenderSVGInlineText.
23 Removed InlineTextBox::textRenderer() and make renderer() simply
24 return a RenderText&/RenderSVGInlineText& instead.
26 This turns some node() accessors into textNode() and removes a host
27 of casts and assertions.
29 2013-09-19 Antti Koivisto <antti@apple.com>
31 [CTTE] Hide nonPseudoNode and generatingNode, replace with Element versions
32 https://bugs.webkit.org/show_bug.cgi?id=121606
34 Reviewed by Andreas Kling.
36 2013-09-19 Andreas Kling <akling@apple.com>
38 CTTE: Tighten renderer types for InlineFlowBox and SVGInlineFlowBox.
39 <https://webkit.org/b/121603>
41 Reviewed by Antti Koivisto.
45 - InlineFlowBox always has a RenderBoxModelObject.
46 - SVGInlineFlowBox always has a RenderSVGInline.
48 This turns some node() accessors into element(). Neato!
50 2013-09-19 Gurpreet Kaur <k.gurpreet@samsung.com>
52 CSS Unit vmax and vmin in border-width not handled.
53 https://bugs.webkit.org/show_bug.cgi?id=121421
55 Reviewed by Darin Adler.
57 Border properties were not applied incase its values
58 were given in vmax/vmin units.
60 Tests: fast/css/viewport-vmax-border.html
61 fast/css/viewport-vmin-border.html
63 * css/CSSPrimitiveValue.cpp:
64 (WebCore::CSSPrimitiveValue::computeLengthDouble):
65 * css/CSSPrimitiveValue.h:
66 (WebCore::CSSPrimitiveValue::isViewportPercentageMax):
67 (WebCore::CSSPrimitiveValue::isViewportPercentageMin):
68 * css/DeprecatedStyleBuilder.cpp:
69 (WebCore::ApplyPropertyComputeLength::applyValue):
70 Calculating the border values which has been specified in
71 vmax/vmin units. 1vmax: 1vw or 1vh, whatever is largest.
72 1vmin: 1vw or 1vh, whatever is smallest. The vh/vw units are
73 calcultated as percent of viewport height and viewport width respectively.
75 2013-09-19 Antti Koivisto <antti@apple.com>
77 [CTTE] RenderText is always anonymous or associated with Text node
78 https://bugs.webkit.org/show_bug.cgi?id=121596
80 Reviewed by Andreas Kling.
82 Tighten the node type of RenderText and its subclasses to Text.
83 Switch to createAnonymous pattern.
84 Switch a bunch of unnecessary StringImpl* use to Strings.
86 2013-09-18 Mihnea Ovidenie <mihnea@adobe.com>
88 Unreviewed build fix after 156082. Guard SVG code with defines.
90 * rendering/RenderNamedFlowThread.cpp:
91 (WebCore::nextNodeInsideContentNode):
93 2013-09-18 Mihnea Ovidenie <mihnea@adobe.com>
95 [CSSRegions] Failed to retrieve named flow ranges for content with inline svg
96 https://bugs.webkit.org/show_bug.cgi?id=121489
98 Reviewed by David Hyatt.
100 The inline SVG element behaves like a replaced element in HTML context. When computing the ranges
101 that are displayed inside a region for a named flow that contains an inline SVG element, we have
102 to treat the SVG as a replaced and run the checks only for the SVG root element, skipping the
103 other SVG elements inside.
105 Test: fast/regions/get-region-flow-ranges-inline-svg.html
107 * rendering/RenderNamedFlowThread.cpp:
108 (WebCore::nextNodeInsideContentNode): Add function to retrieve the next node in traversal
109 under the contentNode subtree that should be used for getRanges inspection.
110 (WebCore::RenderNamedFlowThread::getRanges): Replace NodeTravesal::next with nextNodeInsideContentNode.
112 2013-09-18 Bem Jones-Bey <bjonesbe@adobe.com>
114 REGRESSION (r155854 - r155967) block with margin-left adjacent to floated block causes text of subsequent blocks to overlap the floated block.
115 https://bugs.webkit.org/show_bug.cgi?id=121532
117 Reviewed by Andreas Kling.
119 When refactoring the code, I ended up adding the margin in instead of
120 subtracting it in the case of an intruding float. This patch fixes
121 that so that the margin is properly handled.
123 Test: fast/block/float/intruding-float-sibling-with-margin.html
125 * rendering/RenderBlock.cpp:
126 (WebCore::RenderBlock::addIntrudingFloats):
128 2013-09-18 Ryosuke Niwa <rniwa@webkit.org>
130 Merge HTMLBodyElement::didNotifySubtreeInsertions into HTMLBodyElement::insertedInto
131 https://bugs.webkit.org/show_bug.cgi?id=121576
133 Reviewed by Andreas Kling.
135 Merge https://chromium.googlesource.com/chromium/blink/+/2a9cac908f4eceadfcf9d21bdf5b3e598075aa1f
137 The logic in didNotifySubtreeInsertions to set the marginwidth and marginheight attributes
138 on the <body> of elements inside <iframe> and <frame> doesn't need to run after inserting
139 all the children of the frame. In fact this means that when you have those attributes
140 and then the script in the iframe touches offsetLeft or any layout dependent property
141 we'll layout with the wrong values and then have to do another layout after these margin
144 I also remove the scheduleRelayout() call that was inside didNotifySubtreeInsertions. This
145 call doesn't make any sense, inserting a <body> will always trigger a style recalc and
146 a subsequent layout. The code is 9 years old: https://trac.webkit.org/changeset/8122
147 and all tests run fine without it.
149 * html/HTMLBodyElement.cpp:
150 (WebCore::HTMLBodyElement::insertedInto):
151 * html/HTMLBodyElement.h:
152 * html/HTMLFrameElementBase.h:
153 (WebCore::isHTMLFrameElementBase):
154 (WebCore::toHTMLFrameElementBase):
156 2013-09-18 Jer Noble <jer.noble@apple.com>
158 [MSE] Throw exception when setting timestampOffset while 'updating' state is set.
159 https://bugs.webkit.org/show_bug.cgi?id=121561
161 Reviewed by Eric Carlson.
163 Tests: Updated http/tests/media/media-source/mediasource-append-buffer.html.
165 Merge https://chromium.googlesource.com/chromium/blink/+/25285998be3d0edcd951d12d445a7375e50e512c
168 The Media Source Extensions spec requires that an exception be thrown if the 'updating' attribute
169 equals true while setting the timestampOffset of a SourceBuffer.
171 * Modules/mediasource/SourceBuffer.cpp:
172 (WebCore::SourceBuffer::setTimestampOffset):
174 2013-09-18 Anders Carlsson <andersca@apple.com>
176 RefPtrHashMap should work with move only types
177 https://bugs.webkit.org/show_bug.cgi?id=121564
179 Reviewed by Andreas Kling.
181 * bridge/IdentifierRep.cpp:
182 (WebCore::IdentifierRep::get):
183 * page/PageGroup.cpp:
184 (WebCore::PageGroup::transientLocalStorage):
186 2013-09-18 Enrica Casucci <enrica@apple.com>
188 Upstream changes to WebHTMLConverter to support HTML
189 to NSAttributedString conversion on both iOS and OS X.
191 Reviewed by Benjamin Poulain.
193 This is a new submission of r156001 with the fix for the
194 failing TestWebKitAPI test. The additional change has been
195 reviewed by Tim Horton.
197 * platform/mac/HTMLConverter.h:
198 * platform/mac/HTMLConverter.mm:
200 (_fontForNameAndSize):
201 (+[WebHTMLConverter defaultParagraphStyle]):
202 (-[WebHTMLConverter _computedStyleForElement:]):
203 (-[WebHTMLConverter _specifiedStyleForElement:]):
204 (-[WebHTMLConverter _computedStringForNode:property:]):
205 (-[WebHTMLConverter _stringForNode:property:]):
206 (-[WebHTMLConverter _getComputedFloat:forNode:property:]):
207 (-[WebHTMLConverter _getFloat:forNode:property:]):
208 (_NSFirstPathForDirectoriesInDomains):
209 (_NSSystemLibraryPath):
210 (-[WebHTMLConverter _webKitBundle]):
212 (_shadowForShadowStyle):
213 (-[WebHTMLConverter _elementIsBlockLevel:]):
214 (-[WebHTMLConverter _elementHasOwnBackgroundColor:]):
215 (-[WebHTMLConverter _computedColorForNode:property:]):
216 (-[WebHTMLConverter _colorForNode:property:]):
217 (-[WebHTMLConverter _computedAttributesForElement:]):
218 (-[WebHTMLConverter _attributesForElement:]):
219 (-[WebHTMLConverter _newParagraphForElement:tag:allowEmpty:suppressTrailingSpace:]):
220 (-[WebHTMLConverter _newLineForElement:]):
221 (-[WebHTMLConverter _newTabForElement:]):
222 (-[WebHTMLConverter _WebMessageDocumentClass]):
223 (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
224 (-[WebHTMLConverter _addQuoteForElement:opening:level:]):
225 (-[WebHTMLConverter _addValue:forElement:]):
226 (-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
229 (-[WebHTMLConverter _processMetaElementWithName:content:]):
230 (-[WebHTMLConverter _processHeadElement:]):
231 (-[WebHTMLConverter _enterElement:tag:display:embedded:]):
232 (-[WebHTMLConverter _addTableForElement:]):
233 (-[WebHTMLConverter _addTableCellForElement:]):
234 (-[WebHTMLConverter _processElement:tag:display:depth:]):
235 (-[WebHTMLConverter _addMarkersToList:range:]):
236 (-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
237 (-[WebHTMLConverter _processText:]):
238 (-[WebHTMLConverter _traverseNode:depth:embedded:]):
239 (-[WebHTMLConverter _traverseFooterNode:depth:]):
240 (-[WebHTMLConverter _loadFromDOMRange]):
241 (-[WebHTMLConverter dealloc]):
242 (-[WebHTMLConverter init]):
243 (-[WebHTMLConverter initWithDOMRange:]):
244 (-[WebHTMLConverter attributedString]):
245 (+[WebHTMLConverter editingAttributedStringFromRange:]):
247 2013-09-18 Antti Koivisto <antti@apple.com>
249 Rename RenderBR to RenderLineBreak
250 https://bugs.webkit.org/show_bug.cgi?id=121560
252 Reviewed by Sam Weinig.
254 It now represents both hard (br) and soft (wbr) line breaks.
256 2013-09-18 Robert Hogan <robert@webkit.org>
258 Quirksmode: Break Tag Extra Space Bug
259 https://bugs.webkit.org/show_bug.cgi?id=11943
261 Reviewed by David Hyatt.
263 Collapse away all space between text and a hard line-break when in a right-aligned
264 container so that the trailing space doesn't push the text away from the container edge.
266 Test: fast/text/whitespace/trailing-space-before-br-in-right-aligned-text.html
268 * rendering/RenderBlockLineLayout.cpp:
269 (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
271 2013-09-18 Jer Noble <jer.noble@apple.com>
273 Unreviewed build fix for Qt (and other) ports after 156049.
275 Wrap implementation of PublicURLManager in ENABLE(BLOB) check.
277 * html/PublicURLManager.cpp:
279 2013-09-18 Jer Noble <jer.noble@apple.com>
281 Merge blink MediaSource changes since fork.
282 https://bugs.webkit.org/show_bug.cgi?id=118752
284 Rubber-stamped by Eric Carlson.
286 Tests: http/tests/media/media-source/mediasource-addsourcebuffer.html
287 http/tests/media/media-source/mediasource-append-buffer.html
288 http/tests/media/media-source/mediasource-buffered.html
289 http/tests/media/media-source/mediasource-closed.html
290 http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate.html
291 http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate.html
292 http/tests/media/media-source/mediasource-config-change-mp4-av-framesize.html
293 http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate.html
294 http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate.html
295 http/tests/media/media-source/mediasource-config-change-mp4-v-framerate.html
296 http/tests/media/media-source/mediasource-config-change-mp4-v-framesize.html
297 http/tests/media/media-source/mediasource-config-change-webm-a-bitrate.html
298 http/tests/media/media-source/mediasource-config-change-webm-av-audio-bitrate.html
299 http/tests/media/media-source/mediasource-config-change-webm-av-framesize.html
300 http/tests/media/media-source/mediasource-config-change-webm-av-video-bitrate.html
301 http/tests/media/media-source/mediasource-config-change-webm-v-bitrate.html
302 http/tests/media/media-source/mediasource-config-change-webm-v-framerate.html
303 http/tests/media/media-source/mediasource-config-change-webm-v-framesize.html
304 http/tests/media/media-source/mediasource-is-type-supported.html
305 http/tests/media/media-source/mediasource-multiple-attach.html
306 http/tests/media/media-source/mediasource-play.html
307 http/tests/media/media-source/mediasource-sourcebufferlist.html
309 Add files to project. Fix compile errors exposed by enabling.
311 * WebCore.xcodeproj/project.pbxproj:
312 * Modules/mediasource/MediaSourceRegistry.cpp:
313 (WebCore::MediaSourceRegistry::lookupMediaSource):
314 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
315 (WebCore::MediaPlayerPrivateAVFoundation::load):
316 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
317 (WebCore::MediaPlayerPrivateQTKit::load):
318 * platform/mac/MIMETypeRegistryMac.mm:
319 (WebCore::MIMETypeRegistry::isSupportedMediaSourceMIMEType):
321 * DerivedSources.make:
322 * DerivedSources.pri:
323 * GNUmakefile.list.am:
326 https://chromium.googlesource.com/chromium/blink/+/c38e2955db98a300a535b692869fea0e41501497
327 https://chromium.googlesource.com/chromium/blink/+/8568015e9bee1de7fccee28163f9e4a4b51f9baf
328 https://chromium.googlesource.com/chromium/blink/+/14417e8fa6294f4e7dbc1e0fac549398522b2f97
329 https://chromium.googlesource.com/chromium/blink/+/f43a5496f233102f8861a067a9cf8053c010d401
330 https://chromium.googlesource.com/chromium/blink/+/57771439806f7c6e6a272efb1ea72900f5f6a015
331 https://chromium.googlesource.com/chromium/blink/+/8c77a790a9d225194db0a8832399d0f9e1fa54ec
332 https://chromium.googlesource.com/chromium/blink/+/d33ae3fa7a8592e946503ed17f862a27c6d9dde1
333 https://chromium.googlesource.com/chromium/blink/+/1caaa9c51f06e1b9341d58c994f77fd59fcd236d
334 https://chromium.googlesource.com/chromium/blink/+/e95720393b0ebe67f19de39bb77cdf2926165512
335 https://chromium.googlesource.com/chromium/blink/+/bad2c1b4b70faec731b2ad3cc8a4ccf28de6cc38
336 https://chromium.googlesource.com/chromium/blink/+/a7873430c3d5c9373336c6f3993db3cb4228e9cd
337 https://chromium.googlesource.com/chromium/blink/+/508966d5e32360b3cec058f9fbae0014542fbc52
338 https://chromium.googlesource.com/chromium/blink/+/371dfe72f61ce6f73e6c242324da73c415d38be3
340 2013-09-18 Andreas Kling <akling@apple.com>
342 CTTE: RenderBR always has an HTMLElement.
343 <https://webkit.org/b/121557>
345 Reviewed by Antti Koivisto.
347 This renderer is never anonymous and always has a corresponding HTMLElement.
348 Tighten this up by making the constructor take a HTMLElement& and remove
349 RenderBR::createAnonymous().
351 2013-09-18 Andreas Kling <akling@apple.com>
353 Avoid using RenderBR internally in RenderMenuList.
354 <https://webkit.org/b/121550>
356 Reviewed by Antti Koivisto.
358 RenderMenuLists with an empty caption text were previously using a
359 RenderBR as placeholder.
361 Switch to using a \n RenderText instead so we can tighten RenderBR.
363 This will change DRT dumps but actual metrics should not change.
365 2013-09-18 Antti Koivisto <antti@apple.com>
367 Change one accidental "object->isText() || object->isLineBreak()" from previous patch back to "object->isTextOrLineBreak()"
371 * rendering/InlineIterator.h:
372 (WebCore::isIteratorTarget):
374 2013-09-18 Antti Koivisto <antti@apple.com>
376 Remove RenderWordBreak
377 https://bugs.webkit.org/show_bug.cgi?id=121549
379 Reviewed by Andreas Kling.
381 Remove RenderWordBreak and make it a bit in RenderBR instead.
384 * GNUmakefile.list.am:
386 * WebCore.vcxproj/WebCore.vcxproj:
387 * WebCore.xcodeproj/project.pbxproj:
389 (WebCore::Document::updateHoverActiveState):
391 (WebCore::hasInlineBoxWrapper):
392 (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
393 * editing/Editor.cpp:
394 (WebCore::findFirstMarkable):
395 * editing/TextIterator.cpp:
396 (WebCore::ignoresContainerClip):
397 * html/HTMLElement.cpp:
398 (WebCore::HTMLElement::createRenderer):
399 * rendering/InlineBox.cpp:
400 (WebCore::InlineBox::logicalHeight):
401 (WebCore::InlineBox::baselinePosition):
402 (WebCore::InlineBox::lineHeight):
403 (WebCore::InlineBox::deleteLine):
404 (WebCore::InlineBox::extractLine):
405 (WebCore::InlineBox::attachLine):
406 (WebCore::InlineBox::nodeAtPoint):
407 * rendering/InlineBox.h:
408 (WebCore::InlineBox::isLineBreak):
409 * rendering/InlineFlowBox.cpp:
410 (WebCore::InlineFlowBox::addToLine):
411 (WebCore::InlineFlowBox::computeOverflow):
412 * rendering/InlineIterator.h:
413 (WebCore::InlineIterator::atTextParagraphSeparator):
414 (WebCore::isIteratorTarget):
415 * rendering/RenderBR.cpp:
416 (WebCore::RenderBR::RenderBR):
417 * rendering/RenderBR.h:
418 (WebCore::toRenderBR):
420 RenderBR now represents both hard and soft line breaks. It will be renamed to RenderLineBreak later.
422 * rendering/RenderBlock.cpp:
423 (WebCore::InlineMinMaxIterator::next):
424 (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
425 * rendering/RenderBlockLineLayout.cpp:
426 (WebCore::createInlineBoxForRenderer):
427 (WebCore::dirtyLineBoxesForRenderer):
428 (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
429 (WebCore::RenderBlockFlow::layoutInlineChildren):
430 (WebCore::textBeginsWithBreakablePosition):
431 (WebCore::canBreakAtThisPosition):
432 (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
433 * rendering/RenderInline.cpp:
434 (WebCore::RenderInline::generateCulledLineBoxRects):
435 (WebCore::RenderInline::culledInlineFirstLineBox):
436 (WebCore::RenderInline::culledInlineLastLineBox):
437 (WebCore::RenderInline::dirtyLineBoxes):
438 * rendering/RenderLineBoxList.cpp:
439 (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
440 * rendering/RenderObject.h:
441 (WebCore::RenderObject::isLineBreak):
443 This bit covers both BR and WBR.
445 (WebCore::RenderObject::isBR):
446 (WebCore::RenderObject::isLineBreakOpportunity):
448 Rename isWordBreak to isLineBreakOpportunity. This matches HTML5 spec terminology.
450 (WebCore::RenderObject::isTextOrLineBreak):
452 Since WBR used to be Text we want this check to still cover it too. Renamed from isTextOrBR.
454 (WebCore::RenderObject::setIsLineBreak):
455 (WebCore::RenderObject::isWBR):
456 (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
457 * rendering/RenderObjectChildList.cpp:
458 (WebCore::RenderObjectChildList::removeChildNode):
459 * rendering/RenderText.cpp:
460 * rendering/RenderText.h:
461 * rendering/RenderTreeAsText.cpp:
462 (WebCore::RenderTreeAsText::writeRenderObject):
463 * rendering/RenderWordBreak.cpp: Removed.
464 * rendering/RenderWordBreak.h: Removed.
465 * rendering/RenderingAllInOne.cpp:
466 * rendering/RootInlineBox.cpp:
467 (WebCore::RootInlineBox::ascentAndDescentForBox):
468 (WebCore::RootInlineBox::verticalPositionForBox):
469 (WebCore::RootInlineBox::includeLeadingForBox):
470 (WebCore::RootInlineBox::includeFontForBox):
471 (WebCore::RootInlineBox::includeGlyphsForBox):
472 (WebCore::RootInlineBox::includeMarginForBox):
474 2013-09-18 Csaba Osztrogonác <ossy@webkit.org>
476 ASSERT_NOT_REACHED is touched in WebCore::CSSPrimitiveValue::computeLengthDouble
477 https://bugs.webkit.org/show_bug.cgi?id=120469
479 Tests: fast/css/outline-offset-parsing-assert.html
480 fast/css/outline-offset-parsing.html
482 Reviewed by Dirk Schulze.
485 (WebCore::CSSParser::parseValue): Fixed a typo after r66615, outline-offset can't be percentage.
487 2013-09-18 Gurpreet Kaur <k.gurpreet@samsung.com>
489 [MathML] Implement the subscriptshift and superscriptshift attributes
490 https://bugs.webkit.org/show_bug.cgi?id=120069
492 Reviewed by Darin Adler.
494 Added support for subscriptshift and superscriptshift attributes. The
495 subscriptshift attribute is for msup element and superscriptshift for
496 msup. msubsup can have both subscriptshift and superscriptshift. The
497 subscriptshift attribute specifies the minimum amount to shift the
498 baseline of subscript down. The superscriptshift attribute specifies
499 the minimum amount to shift the baseline of superscript up.
501 Tests: mathml/presentation/msub-subscriptshift.html
502 mathml/presentation/msubsup-subscriptshift.html
503 mathml/presentation/msubsup-superscriptshift.html
504 mathml/presentation/msup-superscriptshift.html
505 mathml/presentation/multiscript-subscriptshift.html
506 mathml/presentation/multiscript-superscriptshift.html
508 * mathml/mathattrs.in:
509 * rendering/mathml/RenderMathMLScripts.cpp:
510 (WebCore::RenderMathMLScripts::layout):
511 For aligning the subscript and superscript padding is added to the base.
512 So subscriptshift and superscriptshift attributes is set as padding bottom
513 and padding top of base respectively.
515 2013-09-18 Mario Sanchez Prada <mario.prada@samsung.com>
517 [ATK] Expose aria-haspopup and aria-sort without the 'aria-' prefix
518 https://bugs.webkit.org/show_bug.cgi?id=121495
520 Reviewed by Chris Fleizach.
522 Removed the 'aria-' prefix from the exposed ATK object attributes
523 for WAI-ARIA attributes 'aria-haspopup' and 'aria-sort'.
525 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
526 (webkitAccessibleGetAttributes): Removed the prefix.
528 2013-09-17 Antti Koivisto <antti@apple.com>
530 Rename InlineBox::isText()
531 <https://webkit.org/b/121525>
533 Reviewed by Andreas Kling.
535 The flag sounds like RenderObject::isText() yet it can be set for some inline boxes generated
536 for non-text renderers too (br, list markers). This is pretty confusing.
538 Rename to InlineBox::behavesLikeText().
540 * rendering/InlineBox.cpp:
541 (WebCore::InlineBox::logicalHeight):
542 (WebCore::InlineBox::baselinePosition):
543 (WebCore::InlineBox::lineHeight):
544 * rendering/InlineBox.h:
545 (WebCore::InlineBox::behavesLikeText):
546 (WebCore::InlineBox::setBehavesLikeText):
547 (WebCore::InlineBox::InlineBoxBitfields::InlineBoxBitfields):
548 * rendering/InlineFlowBox.cpp:
549 (WebCore::InlineFlowBox::addToLine):
550 (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
551 * rendering/InlineTextBox.cpp:
552 (WebCore::InlineTextBox::baselinePosition):
553 (WebCore::InlineTextBox::lineHeight):
554 * rendering/RenderBlockLineLayout.cpp:
555 (WebCore::createInlineBoxForRenderer):
556 (WebCore::setLogicalWidthForTextRun):
557 * rendering/RenderListMarker.cpp:
558 (WebCore::RenderListMarker::createInlineBox):
559 * rendering/RenderText.cpp:
560 (WebCore::RenderText::createInlineTextBox):
561 * rendering/RootInlineBox.cpp:
562 (WebCore::RootInlineBox::includeLeadingForBox):
563 (WebCore::RootInlineBox::includeFontForBox):
564 (WebCore::RootInlineBox::includeGlyphsForBox):
565 (WebCore::RootInlineBox::includeMarginForBox):
567 Switch tests from isText() to isTextOrBR(). This matches the behavior before r155957.
568 I don't know if there is a case where this actually makes any difference in behavior.
570 2013-09-17 Sam Weinig <sam@webkit.org>
572 Shrink SVGPathStringBuilder
573 https://bugs.webkit.org/show_bug.cgi?id=121536
575 Reviewed by Anders Carlsson.
577 - Use StringBuilder everywhere to avoid unnecessary temporary
578 String objects and code size bloat.
579 - Also did a drive by FINAL / OVERRIDE pass.
581 As an example of the win, the function SVGPathStringBuilder::arcTo
582 went from being 6120 bytes down to just 378 bytes.
584 * svg/SVGPathStringBuilder.cpp:
585 (WebCore::SVGPathStringBuilder::SVGPathStringBuilder):
586 (WebCore::SVGPathStringBuilder::~SVGPathStringBuilder):
587 (WebCore::SVGPathStringBuilder::cleanup):
588 (WebCore::SVGPathStringBuilder::incrementPathSegmentCount):
589 (WebCore::SVGPathStringBuilder::continueConsuming):
590 It wasn't helpful for these to be inlined, so move them to
591 the implementation file.
593 (WebCore::appendFlag):
594 (WebCore::appendNumber):
595 (WebCore::appendPoint):
598 (WebCore::SVGPathStringBuilder::moveTo):
599 (WebCore::SVGPathStringBuilder::lineTo):
600 (WebCore::SVGPathStringBuilder::lineToHorizontal):
601 (WebCore::SVGPathStringBuilder::lineToVertical):
602 (WebCore::SVGPathStringBuilder::curveToCubic):
603 (WebCore::SVGPathStringBuilder::curveToCubicSmooth):
604 (WebCore::SVGPathStringBuilder::curveToQuadratic):
605 (WebCore::SVGPathStringBuilder::curveToQuadraticSmooth):
606 (WebCore::SVGPathStringBuilder::arcTo):
607 (WebCore::SVGPathStringBuilder::closePath):
608 * svg/SVGPathStringBuilder.h:
609 Stopped using operator+ and removed duplicate string building logic in each build
610 type (e.g. both sides of the PathCoordinateMode condition were doing almost identical
613 2013-09-17 Sam Weinig <sam@webkit.org>
615 CTTE: Convert some straggling Element subclasses constructors to take a Document&
616 https://bugs.webkit.org/show_bug.cgi?id=121533
618 Reviewed by Anders Carlsson.
620 * html/HTMLMeterElement.cpp:
621 (WebCore::HTMLMeterElement::didAddUserAgentShadowRoot):
622 * html/HTMLProgressElement.cpp:
623 (WebCore::HTMLProgressElement::didAddUserAgentShadowRoot):
624 * html/HTMLTextAreaElement.cpp:
625 (WebCore::HTMLTextAreaElement::didAddUserAgentShadowRoot):
626 * html/SearchInputType.cpp:
627 (WebCore::SearchInputType::createShadowSubtree):
628 * html/TextFieldInputType.cpp:
629 (WebCore::TextFieldInputType::createShadowSubtree):
630 * html/shadow/MeterShadowElement.cpp:
631 (WebCore::MeterShadowElement::MeterShadowElement):
632 (WebCore::MeterInnerElement::MeterInnerElement):
633 * html/shadow/MeterShadowElement.h:
634 (WebCore::MeterInnerElement::create):
635 (WebCore::MeterBarElement::create):
636 (WebCore::MeterValueElement::create):
637 * html/shadow/ProgressShadowElement.cpp:
638 (WebCore::ProgressShadowElement::ProgressShadowElement):
639 (WebCore::ProgressInnerElement::ProgressInnerElement):
640 (WebCore::ProgressBarElement::ProgressBarElement):
641 (WebCore::ProgressValueElement::ProgressValueElement):
642 * html/shadow/ProgressShadowElement.h:
643 (WebCore::ProgressInnerElement::create):
644 (WebCore::ProgressBarElement::create):
645 (WebCore::ProgressValueElement::create):
646 * html/shadow/SpinButtonElement.cpp:
647 (WebCore::SpinButtonElement::SpinButtonElement):
648 (WebCore::SpinButtonElement::create):
649 * html/shadow/SpinButtonElement.h:
650 * html/shadow/TextControlInnerElements.cpp:
651 (WebCore::TextControlInnerContainer::TextControlInnerContainer):
652 (WebCore::TextControlInnerContainer::create):
653 (WebCore::TextControlInnerElement::TextControlInnerElement):
654 (WebCore::TextControlInnerElement::create):
655 (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
656 (WebCore::TextControlInnerTextElement::create):
657 (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
658 (WebCore::SearchFieldResultsButtonElement::create):
659 (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
660 (WebCore::SearchFieldCancelButtonElement::create):
661 (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
662 (WebCore::InputFieldSpeechButtonElement::create):
663 * html/shadow/TextControlInnerElements.h:
665 2013-09-17 Zoltan Horvath <zoltan@webkit.org>
667 [CSS Shapes] Use the float height to determine position in shape-inside
668 https://bugs.webkit.org/show_bug.cgi?id=102846
670 Reviewed by Darin Adler.
672 Float positioning inside shape-inside has been working only for simple cases when the float boundaries didn't overlap with the shape.
673 This patch fixes the behavior for left floats and shapes with inline content. I want to add this work step by step, therefore the next
674 step would be to add support for block content with inline content (e.g. paragraphs) then cover cases with right floats.
676 Tests: fast/shapes/shape-inside/shape-inside-left-float-in-lower-left-triangle-inline-content.html
677 fast/shapes/shape-inside/shape-inside-left-float-in-lower-right-triangle-inline-content.html
678 fast/shapes/shape-inside/shape-inside-left-float-in-upper-left-triangle-inline-content.html
679 fast/shapes/shape-inside/shape-inside-left-float-in-upper-right-triangle-inline-content.html
681 * rendering/LineWidth.cpp:
682 (WebCore::LineWidth::LineWidth): Use the new updateCurrentShapeSegment member function.
683 (WebCore::LineWidth::updateCurrentShapeSegment): We need a function to update the current line segment's reference, since we use it multiple places.
684 * rendering/LineWidth.h: Add new member function.
685 * rendering/RenderBlock.cpp:
686 (WebCore::RenderBlock::computeLogicalLocationForFloat): Fix positioning of a floating element.
687 * rendering/RenderBlockLineLayout.cpp:
688 (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLine): Use updateSegmentsForLine instead of computeSegmentsForLine.
689 (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLineInFlowThread): Use updateSegmentsForLine instead of computeSegmentsForLine.
690 (WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded):
691 (WebCore::updateSegmentsForShapes): After our float is positioned, we need to adjust the current lineTop and update the logical height to be able to wrap around the float.
692 (WebCore::RenderBlock::LineBreaker::nextSegmentBreak): If we have a float in our line we might need to adjust our lineTop and logicalHeight.
693 * rendering/shapes/ShapeInfo.cpp:
694 (WebCore::::computeSegmentsForLine): Add new const function to compute the segments. I'd like make this function static later if possible.
695 (WebCore::::updateSegmentsForLine): Old computeSegmentsForLine, change name to indicate that it is actually changing things.
696 * rendering/shapes/ShapeInfo.h: Update function names, add declaration.
697 (WebCore::ShapeInfo::clearSegments):
698 (WebCore::ShapeInfo::logicalLineBottom):
699 (WebCore::ShapeInfo::lineOverlapsShapeBounds):
700 * rendering/shapes/ShapeInsideInfo.cpp:
701 (WebCore::ShapeInsideInfo::computeFirstFitPositionForFloat): Compute the first fit position below the current line position inside shapes. I called this function
702 this way, because currently we use it only for shapes.
703 * rendering/shapes/ShapeInsideInfo.h: Update function names.
704 * rendering/shapes/ShapeOutsideInfo.cpp: Update function names.
705 (WebCore::ShapeOutsideInfo::computeSegmentsForContainingBlockLine):
706 (WebCore::ShapeOutsideInfo::updateSegmentsForLine):
707 * rendering/shapes/ShapeOutsideInfo.h: Update function names.
709 2013-09-17 Sam Weinig <sam@webkit.org>
711 Replace use of OwnArrayPtr<Foo> with std::unique_ptr<Foo[]> in WebCore
712 https://bugs.webkit.org/show_bug.cgi?id=121527
714 Reviewed by Anders Carlsson.
716 * Modules/webaudio/AudioBufferSourceNode.cpp:
717 (WebCore::AudioBufferSourceNode::setBuffer):
718 * Modules/webaudio/AudioBufferSourceNode.h:
719 * Modules/webaudio/OscillatorNode.h:
721 (WebCore::CSSParser::setupParser):
722 (WebCore::CSSParser::currentCharacter16):
724 * html/HTMLAreaElement.h:
725 * html/HTMLFrameSetElement.h:
726 * html/canvas/WebGLRenderingContext.cpp:
727 (WebCore::WebGLRenderingContext::copyTexSubImage2D):
728 (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
729 (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache):
730 * html/canvas/WebGLRenderingContext.h:
731 * platform/ScrollAnimatorNone.cpp:
732 * platform/audio/DynamicsCompressor.cpp:
733 (WebCore::DynamicsCompressor::setNumberOfChannels):
734 * platform/audio/DynamicsCompressor.h:
735 * platform/audio/FFTFrame.h:
736 * platform/audio/gstreamer/FFTFrameGStreamer.cpp:
737 (WebCore::FFTFrame::FFTFrame):
738 * platform/efl/ScrollbarEfl.cpp:
739 (ScrollbarEfl::updateThumbPositionAndProportion):
740 * platform/graphics/ANGLEWebKitBridge.cpp:
741 (WebCore::ANGLEWebKitBridge::compileShaderSource):
742 * platform/graphics/GraphicsContext3D.cpp:
743 (WebCore::GraphicsContext3D::texImage2DResourceSafe):
744 * platform/graphics/GraphicsContext3D.h:
745 * platform/graphics/GraphicsContext3DPrivate.cpp:
746 (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
747 * platform/graphics/blackberry/LayerTexture.cpp:
748 * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
749 (WebCore::getDirtyRects):
750 * platform/graphics/cg/GraphicsContext3DCG.cpp:
751 (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
752 * platform/graphics/cg/GraphicsContextCG.cpp:
753 * platform/graphics/cg/ImageBufferCG.cpp:
754 * platform/graphics/gpu/Texture.cpp:
755 (WebCore::Texture::updateSubRect):
756 * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
757 (WebCore::HarfBuzzShaper::HarfBuzzShaper):
758 (WebCore::HarfBuzzShaper::setNormalizedBuffer):
759 * platform/graphics/harfbuzz/HarfBuzzShaper.h:
760 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
761 (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
762 (WebCore::GraphicsContext3D::compileShader):
763 (WebCore::GraphicsContext3D::getActiveAttrib):
764 (WebCore::GraphicsContext3D::getActiveUniform):
765 (WebCore::GraphicsContext3D::getProgramInfoLog):
766 (WebCore::GraphicsContext3D::getShaderInfoLog):
767 * platform/graphics/opentype/OpenTypeSanitizer.cpp:
768 * platform/graphics/texmap/TextureMapperGL.cpp:
769 * platform/graphics/wince/SharedBitmap.cpp:
770 (WebCore::SharedBitmap::SharedBitmap):
771 (WebCore::SharedBitmap::to16bit):
772 * platform/graphics/wince/SharedBitmap.h:
773 * platform/image-decoders/blackberry/JPEGImageDecoder.cpp:
774 (WebCore::ImageReader::decode):
775 * platform/image-decoders/png/PNGImageDecoder.cpp:
776 (WebCore::PNGImageReader::createRowBuffer):
777 * platform/win/ContextMenuWin.cpp:
778 (WebCore::ContextMenu::getContextMenuItems):
779 * platform/win/LoggingWin.cpp:
780 (WebCore::logLevelString):
781 * plugins/PluginPackage.cpp:
782 * plugins/blackberry/PluginViewBlackBerry.cpp:
783 (WebCore::PluginView::handleTouchEvent):
784 * plugins/win/PluginPackageWin.cpp:
785 (WebCore::PluginPackage::fetchInfo):
787 2013-09-17 Commit Queue <commit-queue@webkit.org>
789 Unreviewed, rolling out r156001.
790 http://trac.webkit.org/changeset/156001
791 https://bugs.webkit.org/show_bug.cgi?id=121529
793 Broke API tests (Requested by ap on #webkit).
795 * platform/mac/HTMLConverter.h:
796 * platform/mac/HTMLConverter.mm:
798 (_fontForNameAndSize):
799 (+[WebHTMLConverter defaultParagraphStyle]):
800 (-[WebHTMLConverter _computedStyleForElement:]):
801 (-[WebHTMLConverter _specifiedStyleForElement:]):
802 (-[WebHTMLConverter _computedStringForNode:property:]):
803 (-[WebHTMLConverter _stringForNode:property:]):
804 (-[WebHTMLConverter _getComputedFloat:forNode:property:]):
805 (-[WebHTMLConverter _getFloat:forNode:property:]):
807 (_shadowForShadowStyle):
808 (-[WebHTMLConverter _elementIsBlockLevel:]):
809 (-[WebHTMLConverter _elementHasOwnBackgroundColor:]):
810 (-[WebHTMLConverter _computedColorForNode:property:]):
811 (-[WebHTMLConverter _colorForNode:property:]):
812 (-[WebHTMLConverter _computedAttributesForElement:]):
813 (-[WebHTMLConverter _attributesForElement:]):
814 (-[WebHTMLConverter _newParagraphForElement:tag:allowEmpty:suppressTrailingSpace:]):
815 (-[WebHTMLConverter _newLineForElement:]):
816 (-[WebHTMLConverter _newTabForElement:]):
817 (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
818 (-[WebHTMLConverter _addQuoteForElement:opening:level:]):
819 (-[WebHTMLConverter _addValue:forElement:]):
820 (-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
823 (-[WebHTMLConverter _enterElement:tag:display:]):
824 (-[WebHTMLConverter _addTableForElement:]):
825 (-[WebHTMLConverter _addTableCellForElement:]):
826 (-[WebHTMLConverter _processElement:tag:display:depth:]):
827 (-[WebHTMLConverter _addMarkersToList:range:]):
828 (-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
829 (-[WebHTMLConverter _processText:]):
830 (-[WebHTMLConverter _traverseNode:depth:embedded:]):
831 (-[WebHTMLConverter _traverseFooterNode:depth:]):
832 (-[WebHTMLConverter _loadFromDOMRange]):
833 (-[WebHTMLConverter dealloc]):
834 (-[WebHTMLConverter init]):
835 (-[WebHTMLConverter initWithDOMRange:]):
836 (-[WebHTMLConverter attributedString]):
837 (+[WebHTMLConverter editingAttributedStringFromRange:]):
838 (fileWrapperForElement):
840 2013-09-17 Samuel White <samuel_white@apple.com>
842 AX: Mac AXARIABusy should be AXElementBusy (not ARIA specific)
843 https://bugs.webkit.org/show_bug.cgi?id=121442
845 Reviewed by Chris Fleizach.
847 No new tests, changed AXARIABusy attribute to AXElementBusy to uncouple the concept of busy with
848 the aria-busy attribute. This will allow us to expand on the definition of busy moving forward.
850 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
851 (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
852 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
854 2013-09-17 Andreas Kling <akling@apple.com>
856 Pack create_hash_table tables better.
857 <https://webkit.org/b/121517>
859 Reviewed by Sam Weinig.
861 Reduces WebCore binary size by 72744 bytes.
863 * bindings/scripts/CodeGeneratorJS.pm:
866 Updated for new HashTableValue member order.
868 * bindings/scripts/test/JS/*:
870 Rebaselined bindings tests.
872 2013-09-17 Zoltan Horvath <zoltan@webkit.org>
874 [Qt] Add FlowThreadController.h to Target.pri
875 https://bugs.webkit.org/show_bug.cgi?id=121516
877 Reviewed by Dirk Schulze.
879 No new tests, no behavior change.
883 2013-09-17 Anders Carlsson <andersca@apple.com>
885 Stop explicitly using PassOwnPtr in WebCore/html
886 https://bugs.webkit.org/show_bug.cgi?id=121511
888 Reviewed by Andreas Kling.
890 * dom/ElementRareData.h:
891 (WebCore::ElementRareData::setClassList):
892 * html/ButtonInputType.cpp:
893 (WebCore::ButtonInputType::create):
894 * html/ButtonInputType.h:
895 * html/CheckboxInputType.cpp:
896 (WebCore::CheckboxInputType::create):
897 (WebCore::CheckboxInputType::willDispatchClick):
898 * html/CheckboxInputType.h:
899 * html/ClassList.cpp:
900 (WebCore::ClassList::create):
902 * html/ColorInputType.cpp:
903 (WebCore::ColorInputType::create):
904 * html/ColorInputType.h:
905 * html/DateInputType.cpp:
906 (WebCore::DateInputType::create):
907 * html/DateInputType.h:
908 * html/DateTimeInputType.cpp:
909 (WebCore::DateTimeInputType::create):
910 * html/DateTimeInputType.h:
911 * html/DateTimeLocalInputType.cpp:
912 (WebCore::DateTimeLocalInputType::create):
913 * html/DateTimeLocalInputType.h:
914 * html/EmailInputType.cpp:
915 (WebCore::EmailInputType::create):
916 * html/EmailInputType.h:
917 * html/FileInputType.cpp:
918 (WebCore::FileInputType::create):
919 * html/FileInputType.h:
920 * html/FormAssociatedElement.cpp:
921 (WebCore::FormAttributeTargetObserver::create):
922 * html/FormController.cpp:
923 (WebCore::SavedFormState::create):
924 (WebCore::SavedFormState::deserialize):
925 (WebCore::FormKeyGenerator::create):
926 (WebCore::FormController::createSavedFormStateMap):
927 * html/FormController.h:
928 (WebCore::FormController::create):
929 * html/HTMLInputElement.cpp:
930 (WebCore::ListAttributeTargetObserver::create):
931 * html/HiddenInputType.cpp:
932 (WebCore::HiddenInputType::create):
933 * html/HiddenInputType.h:
934 * html/ImageInputType.cpp:
935 (WebCore::ImageInputType::create):
936 * html/ImageInputType.h:
937 * html/InputType.cpp:
938 (WebCore::InputType::create):
939 (WebCore::InputType::createText):
940 (WebCore::InputType::willDispatchClick):
942 * html/MonthInputType.cpp:
943 (WebCore::MonthInputType::create):
944 * html/MonthInputType.h:
945 * html/NumberInputType.cpp:
946 (WebCore::NumberInputType::create):
947 * html/NumberInputType.h:
948 * html/PasswordInputType.cpp:
949 (WebCore::PasswordInputType::create):
950 * html/PasswordInputType.h:
951 * html/PublicURLManager.h:
952 (WebCore::PublicURLManager::create):
953 * html/RadioInputType.cpp:
954 (WebCore::RadioInputType::create):
955 (WebCore::RadioInputType::willDispatchClick):
956 * html/RadioInputType.h:
957 * html/RangeInputType.cpp:
958 (WebCore::RangeInputType::create):
959 * html/RangeInputType.h:
960 * html/ResetInputType.cpp:
961 (WebCore::ResetInputType::create):
962 * html/ResetInputType.h:
963 * html/SearchInputType.cpp:
964 (WebCore::SearchInputType::create):
965 * html/SearchInputType.h:
966 * html/SubmitInputType.cpp:
967 (WebCore::SubmitInputType::create):
968 * html/SubmitInputType.h:
969 * html/TelephoneInputType.cpp:
970 (WebCore::TelephoneInputType::create):
971 * html/TelephoneInputType.h:
972 * html/TextInputType.cpp:
973 (WebCore::TextInputType::create):
974 * html/TextInputType.h:
975 * html/TimeInputType.cpp:
976 (WebCore::TimeInputType::create):
977 * html/TimeInputType.h:
978 * html/URLInputType.cpp:
979 (WebCore::URLInputType::create):
980 * html/URLInputType.h:
981 * html/ValidationMessage.cpp:
982 (WebCore::ValidationMessage::create):
983 * html/ValidationMessage.h:
984 * html/ValidityState.h:
985 (WebCore::ValidityState::create):
986 * html/WeekInputType.cpp:
987 (WebCore::WeekInputType::create):
988 * html/WeekInputType.h:
989 * html/canvas/CanvasRenderingContext2D.cpp:
990 (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
991 * html/canvas/CanvasRenderingContext2D.h:
992 (WebCore::CanvasRenderingContext2D::create):
993 * html/canvas/EXTDrawBuffers.cpp:
994 (WebCore::EXTDrawBuffers::create):
995 * html/canvas/EXTDrawBuffers.h:
996 * html/canvas/EXTTextureFilterAnisotropic.cpp:
997 (WebCore::EXTTextureFilterAnisotropic::create):
998 * html/canvas/EXTTextureFilterAnisotropic.h:
999 * html/canvas/OESElementIndexUint.cpp:
1000 (WebCore::OESElementIndexUint::create):
1001 * html/canvas/OESElementIndexUint.h:
1002 * html/canvas/OESStandardDerivatives.cpp:
1003 (WebCore::OESStandardDerivatives::create):
1004 * html/canvas/OESStandardDerivatives.h:
1005 * html/canvas/OESTextureFloat.cpp:
1006 (WebCore::OESTextureFloat::create):
1007 * html/canvas/OESTextureFloat.h:
1008 * html/canvas/OESTextureHalfFloat.cpp:
1009 (WebCore::OESTextureHalfFloat::create):
1010 * html/canvas/OESTextureHalfFloat.h:
1011 * html/canvas/OESVertexArrayObject.cpp:
1012 (WebCore::OESVertexArrayObject::create):
1013 * html/canvas/OESVertexArrayObject.h:
1014 * html/canvas/WebGLCompressedTextureATC.cpp:
1015 (WebCore::WebGLCompressedTextureATC::create):
1016 * html/canvas/WebGLCompressedTextureATC.h:
1017 * html/canvas/WebGLCompressedTexturePVRTC.cpp:
1018 (WebCore::WebGLCompressedTexturePVRTC::create):
1019 * html/canvas/WebGLCompressedTexturePVRTC.h:
1020 * html/canvas/WebGLCompressedTextureS3TC.cpp:
1021 (WebCore::WebGLCompressedTextureS3TC::create):
1022 * html/canvas/WebGLCompressedTextureS3TC.h:
1023 * html/canvas/WebGLDebugRendererInfo.cpp:
1024 (WebCore::WebGLDebugRendererInfo::create):
1025 * html/canvas/WebGLDebugRendererInfo.h:
1026 * html/canvas/WebGLDebugShaders.cpp:
1027 (WebCore::WebGLDebugShaders::create):
1028 * html/canvas/WebGLDebugShaders.h:
1029 * html/canvas/WebGLDepthTexture.cpp:
1030 (WebCore::WebGLDepthTexture::create):
1031 * html/canvas/WebGLDepthTexture.h:
1032 * html/canvas/WebGLLoseContext.cpp:
1033 (WebCore::WebGLLoseContext::create):
1034 * html/canvas/WebGLLoseContext.h:
1035 * html/canvas/WebGLRenderingContext.cpp:
1036 (WebCore::WebGLRenderingContext::create):
1037 * html/canvas/WebGLRenderingContext.h:
1038 * html/parser/BackgroundHTMLParser.cpp:
1039 (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
1040 (WebCore::BackgroundHTMLParser::resumeFrom):
1041 * html/parser/BackgroundHTMLParser.h:
1042 (WebCore::BackgroundHTMLParser::create):
1043 * html/parser/HTMLDocumentParser.cpp:
1044 (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
1045 (WebCore::HTMLDocumentParser::validateSpeculations):
1046 (WebCore::HTMLDocumentParser::discardSpeculationsAndResumeFrom):
1047 (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
1048 * html/parser/HTMLDocumentParser.h:
1049 * html/parser/HTMLElementStack.cpp:
1050 (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
1051 * html/parser/HTMLElementStack.h:
1052 (WebCore::HTMLElementStack::ElementRecord::releaseNext):
1053 (WebCore::HTMLElementStack::ElementRecord::setNext):
1054 * html/parser/HTMLMetaCharsetParser.h:
1055 (WebCore::HTMLMetaCharsetParser::create):
1056 * html/parser/HTMLParserScheduler.h:
1057 (WebCore::HTMLParserScheduler::create):
1058 * html/parser/HTMLParserThread.h:
1059 (WebCore::HTMLParserThread::create):
1060 * html/parser/HTMLPreloadScanner.cpp:
1061 (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
1062 * html/parser/HTMLResourcePreloader.cpp:
1063 (WebCore::HTMLResourcePreloader::preload):
1064 * html/parser/HTMLResourcePreloader.h:
1065 (WebCore::PreloadRequest::create):
1066 * html/parser/HTMLScriptRunner.h:
1067 (WebCore::HTMLScriptRunner::create):
1068 * html/parser/HTMLToken.h:
1069 (WebCore::HTMLToken::releaseDoctypeData):
1070 * html/parser/HTMLTokenizer.h:
1071 (WebCore::HTMLTokenizer::create):
1072 * html/parser/HTMLTreeBuilder.h:
1073 (WebCore::HTMLTreeBuilder::create):
1074 * html/parser/XSSAuditor.cpp:
1075 (WebCore::XSSAuditor::filterToken):
1076 * html/parser/XSSAuditor.h:
1077 * html/parser/XSSAuditorDelegate.h:
1078 (WebCore::XSSInfo::create):
1079 * html/track/WebVTTParser.h:
1080 (WebCore::WebVTTParser::create):
1081 * html/track/WebVTTTokenizer.h:
1082 (WebCore::WebVTTTokenizer::create):
1084 2013-09-17 Enrica Casucci <enrica@apple.com>
1086 Upstream changes to WebHTMLConverter to support HTML
1087 to NSAttributedString conversion on both iOS and OS X.
1089 Reviewed by Benjamin Poulain.
1091 * platform/mac/HTMLConverter.h:
1092 * platform/mac/HTMLConverter.mm:
1094 (_fontForNameAndSize):
1095 (+[WebHTMLConverter defaultParagraphStyle]):
1096 (-[WebHTMLConverter _computedStyleForElement:]):
1097 (-[WebHTMLConverter _specifiedStyleForElement:]):
1098 (-[WebHTMLConverter _computedStringForNode:property:]):
1099 (-[WebHTMLConverter _stringForNode:property:]):
1100 (-[WebHTMLConverter _getComputedFloat:forNode:property:]):
1101 (-[WebHTMLConverter _getFloat:forNode:property:]):
1102 (_NSFirstPathForDirectoriesInDomains):
1103 (_NSSystemLibraryPath):
1104 (-[WebHTMLConverter _webKitBundle]):
1105 (_colorForRGBColor):
1106 (_shadowForShadowStyle):
1107 (-[WebHTMLConverter _elementIsBlockLevel:]):
1108 (-[WebHTMLConverter _elementHasOwnBackgroundColor:]):
1109 (-[WebHTMLConverter _computedColorForNode:property:]):
1110 (-[WebHTMLConverter _colorForNode:property:]):
1111 (-[WebHTMLConverter _computedAttributesForElement:]):
1112 (-[WebHTMLConverter _attributesForElement:]):
1113 (-[WebHTMLConverter _newParagraphForElement:tag:allowEmpty:suppressTrailingSpace:]):
1114 (-[WebHTMLConverter _newLineForElement:]):
1115 (-[WebHTMLConverter _newTabForElement:]):
1116 (-[WebHTMLConverter _WebMessageDocumentClass]):
1117 (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
1118 (-[WebHTMLConverter _addQuoteForElement:opening:level:]):
1119 (-[WebHTMLConverter _addValue:forElement:]):
1120 (-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
1123 (-[WebHTMLConverter _processMetaElementWithName:content:]):
1124 (-[WebHTMLConverter _processHeadElement:]):
1125 (-[WebHTMLConverter _enterElement:tag:display:embedded:]):
1126 (-[WebHTMLConverter _addTableForElement:]):
1127 (-[WebHTMLConverter _addTableCellForElement:]):
1128 (-[WebHTMLConverter _processElement:tag:display:depth:]):
1129 (-[WebHTMLConverter _addMarkersToList:range:]):
1130 (-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
1131 (-[WebHTMLConverter _processText:]):
1132 (-[WebHTMLConverter _traverseNode:depth:embedded:]):
1133 (-[WebHTMLConverter _traverseFooterNode:depth:]):
1134 (-[WebHTMLConverter _loadFromDOMRange]):
1135 (-[WebHTMLConverter dealloc]):
1136 (-[WebHTMLConverter init]):
1137 (-[WebHTMLConverter initWithDOMRange:]):
1138 (-[WebHTMLConverter attributedString]):
1139 (+[WebHTMLConverter editingAttributedStringFromRange:]):
1141 2013-09-17 Sam Weinig <sam@webkit.org>
1143 Add make_unique and start using it
1144 https://bugs.webkit.org/show_bug.cgi?id=121523
1146 Reviewed by Anders Carlsson.
1148 * html/HTMLAreaElement.h:
1149 * html/HTMLFrameSetElement.h:
1150 * platform/Length.cpp:
1151 (WebCore::newCoordsArray):
1152 (WebCore::newLengthArray):
1153 * platform/Length.h:
1154 Switch off OwnArrayPtr to std::unique_ptr<T[]> and make use of make_unique.
1156 2013-09-17 Simon Fraser <simon.fraser@apple.com>
1158 Hardware accelerated CSS transitions appear pixelated when scaled up using transform
1159 https://bugs.webkit.org/show_bug.cgi?id=27684
1160 <rdar://problem/6134606>
1162 Reviewed by Dean Jackson.
1164 Take transforms and animations into account when computing the contentsScale
1165 for a layer, so that scaled-up layers remain sharp most of the time.
1167 In its recursiveCommitChanges() tree walk, GraphicsLayerCA now tracks
1168 a root-relative transform, and extracts from that transform the X and Y
1169 scales which it uses to scale the backing store.
1171 If the layer has transform animations on it, we keep around
1172 a transformation matrix for the animation endpoints (or keyframes),
1173 pick up the state that has the larger impact on the root-relative scale,
1174 and use that as the layer's transform, and the transform when recursing
1177 Tests: compositing/contents-scale/animating.html
1178 compositing/contents-scale/scaled-ancestor.html
1179 compositing/contents-scale/simple-scale.html
1180 compositing/contents-scale/z-translate.html
1182 * platform/graphics/ca/GraphicsLayerCA.cpp:
1183 (WebCore::maxScaleFromTransform): Decompose the transform if necesssary
1184 to extract the X and Y scale components.
1185 (WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_rootRelativeScaleFactor.
1186 (WebCore::GraphicsLayerCA::flushCompositingState): Supply a TransformationMatrix
1187 for the root of the recursion.
1188 (WebCore::GraphicsLayerCA::layerTransform): This code was factored out of
1189 computeVisibleRect(), and optionally takes a custom transform.
1190 (WebCore::GraphicsLayerCA::computeVisibleRect): Use the layerTransform() function.
1191 (WebCore::GraphicsLayerCA::updateRootRelativeScale): Given a transform from the root,
1192 find the max scale factor by multiplying the various animation endpoint matrices and picking
1193 the one with the biggest impact on scale. Use this to set m_rootRelativeScaleFactor, and
1194 set the flag to say that we need to update contentsScale.
1195 (WebCore::GraphicsLayerCA::recursiveCommitChanges):
1196 (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): After updating
1197 animations, call updateRootRelativeScale() to update m_rootRelativeScaleFactor.
1198 (WebCore::GraphicsLayerCA::updateAnimations): We have a side table of animation name to
1199 TransformationMatrix, so figure out which entries can be removed from that side table,
1201 (WebCore::GraphicsLayerCA::setAnimationOnLayer):
1202 (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Store the matrices for
1203 animation endpoints/keyframes in the m_animationTransforms side table. We don't store
1204 them directly in LayerPropertyAnimation because we just want the final matrix for
1205 a transform list, and using a side table makes ownership easier to manage.
1206 (WebCore::GraphicsLayerCA::getTransformFromAnimationsWithMaxScaleImpact):
1207 goes through the matrices for the running animation endpoints/keyframes, and
1208 multiplies each with the transform up to this layer to find the matrix with the
1209 larger impact on scale.
1210 (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints): Returns a vector
1211 of TransformationMatrix for the from and to states.
1212 (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes): Returns a vector
1213 of TransformationMatrix for the keyframes.
1214 (WebCore::GraphicsLayerCA::updateContentsScale): Include m_rootRelativeScaleFactor in the
1215 scale factor computation.
1216 (WebCore::GraphicsLayerCA::dumpAdditionalProperties): If we're dumping visible rects,
1217 also dump the contentsScale. Convenient at these are useful to look at together, and I didn't
1218 want to pollute Internals with yet more flags.
1219 * platform/graphics/ca/GraphicsLayerCA.h:
1220 (WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation): Formatting.
1222 2013-09-17 Commit Queue <commit-queue@webkit.org>
1224 Unreviewed, rolling out r155977.
1225 http://trac.webkit.org/changeset/155977
1226 https://bugs.webkit.org/show_bug.cgi?id=121515
1228 Broke over a dozen tests on Mac WK2 (Requested by ap on
1231 * platform/graphics/ca/GraphicsLayerCA.cpp:
1232 (WebCore::GraphicsLayerCA::GraphicsLayerCA):
1233 (WebCore::GraphicsLayerCA::flushCompositingState):
1234 (WebCore::GraphicsLayerCA::computeVisibleRect):
1235 (WebCore::GraphicsLayerCA::recursiveCommitChanges):
1236 (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
1237 (WebCore::GraphicsLayerCA::updateAnimations):
1238 (WebCore::GraphicsLayerCA::setAnimationOnLayer):
1239 (WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
1240 (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
1241 (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
1242 (WebCore::GraphicsLayerCA::updateContentsScale):
1243 (WebCore::GraphicsLayerCA::dumpAdditionalProperties):
1244 * platform/graphics/ca/GraphicsLayerCA.h:
1245 (WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation):
1247 2013-09-17 Eric Carlson <eric.carlson@apple.com>
1249 MediaStream API: Changing the device enumeration to be async
1250 https://bugs.webkit.org/show_bug.cgi?id=120883
1252 Reviewed by Darin Adler.
1254 Parts merged from https://chromium.googlesource.com/chromium/blink/+/40a96080a1531e50de4eb84571c7dc9fb321ece5
1255 and https://chromium.googlesource.com/chromium/blink/+/ff783a23bb1add588971a8187048a305cf485121
1256 by Tommy Widenflycht.
1258 Test: fast/mediastream/MediaStreamTrack-getSources.html
1260 * CMakeLists.txt: Added new files.
1261 * DerivedSources.make: Ditto.
1262 * GNUmakefile.list.am: Ditto.
1264 * Modules/mediastream/MediaStreamTrack.cpp:
1265 (WebCore::MediaStreamTrack::kind): ASCIILiteral -> NeverDestroyed<AtomicString>.
1266 (WebCore::MediaStreamTrack::readyState): Ditto.
1267 (WebCore::MediaStreamTrack::getSources): New.
1268 * Modules/mediastream/MediaStreamTrack.h:
1269 * Modules/mediastream/MediaStreamTrack.idl:
1271 * Modules/mediastream/MediaStreamTrackSourcesCallback.h: Added.
1272 * Modules/mediastream/MediaStreamTrackSourcesCallback.idl: Added.
1273 * Modules/mediastream/MediaStreamTrackSourcesRequest.cpp: Added.
1274 * Modules/mediastream/MediaStreamTrackSourcesRequest.h: Added.
1276 * Modules/mediastream/SourceInfo.cpp: Added.
1277 * Modules/mediastream/SourceInfo.h: Added.
1278 * Modules/mediastream/SourceInfo.idl: Added.
1280 * WebCore.xcodeproj/project.pbxproj: Add new files.
1282 * bindings/js/JSDOMBinding.h: Add toJS templates for Vector<T> and Vector<RefPtr<T>>.
1284 * platform/mediastream/MediaStreamCenter.h: Add prototype for getMediaStreamTrackSources.
1286 * platform/mediastream/MediaStreamTrackSourcesRequestClient.h: Added.
1288 * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp:
1289 (WebCore::MediaStreamCenterMac::getMediaStreamTrackSources): Added.
1290 * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h:
1292 * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
1293 (WebCore::MediaStreamCenterMac::getMediaStreamTrackSources): Added
1294 * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
1296 * platform/mediastream/mac/MediaStreamCenterMac.cpp:
1297 (WebCore::MediaStreamCenterMac::getMediaStreamTrackSources): Added.
1298 * platform/mediastream/mac/MediaStreamCenterMac.h:
1300 2013-09-17 Commit Queue <commit-queue@webkit.org>
1302 Unreviewed, rolling out r155976.
1303 http://trac.webkit.org/changeset/155976
1304 https://bugs.webkit.org/show_bug.cgi?id=121512
1306 Broke a test, needs cleanup (Requested by ap_ on #webkit).
1308 * accessibility/AXObjectCache.cpp:
1309 (WebCore::AXObjectCache::handleAttributeChanged):
1310 * accessibility/AXObjectCache.h:
1311 * accessibility/mac/AXObjectCacheMac.mm:
1312 (WebCore::AXObjectCache::postPlatformNotification):
1314 2013-09-17 Romain Perier <romain.perier@gmail.com>
1316 Improve srcset parser
1317 https://bugs.webkit.org/show_bug.cgi?id=119423
1319 Reviewed by Benjamin Poulain.
1321 Added new tests and covered by existing ones.
1323 * html/parser/HTMLParserIdioms.cpp:
1324 (WebCore::isHTMLSpaceOrComma): Add a new predicate function used by String::find()
1325 to get the first space or comma character from the input string.
1326 (WebCore::parseImagesWithScaleFromSrcSetAttribute): Add a new static function to parse
1327 and extract images with scale from the srcset attribute. All valid candidates are
1328 returned to the caller through a list. This parsing function also adds support
1329 for data URI schemes as described by the specification.
1330 (WebCore::bestFitSourceForImageAttributes): Remove intermediate arrays of string
1331 when parsing. That is more efficient and avoids trashing the data cache
1332 (varying between 20 and 65% faster depending of the amount of data)
1333 The parser now walks along the attribute value and extracts the candidates directly.
1335 2013-09-17 Gustavo Noronha Silva <gns@gnome.org>
1337 Unreviewed build fix after 155963.
1339 * platform/gtk/RenderThemeGtk3.cpp:
1340 (WebCore::getStyleContext): use nullptr instead of 0.
1342 2013-09-17 Alexey Proskuryakov <ap@apple.com>
1344 Make SVGTransform::valueAsString use StringBuilder
1345 https://bugs.webkit.org/show_bug.cgi?id=121498
1347 Unreviewed typo fix, should address a regression on svg/dom/SVGViewSpec.html.
1349 * svg/SVGTransform.cpp: (WebCore::SVGTransform::valueAsString): "e" is totally
1350 not the same as "f".
1352 2013-09-16 Simon Fraser <simon.fraser@apple.com>
1354 Hardware accelerated CSS transitions appear pixelated when scaled up using transform
1355 https://bugs.webkit.org/show_bug.cgi?id=27684
1356 <rdar://problem/6134606>
1358 Reviewed by Dean Jackson.
1360 Take transforms and animations into account when computing the contentsScale
1361 for a layer, so that scaled-up layers remain sharp most of the time.
1363 In its recursiveCommitChanges() tree walk, GraphicsLayerCA now tracks
1364 a root-relative transform, and extracts from that transform the X and Y
1365 scales which it uses to scale the backing store.
1367 If the layer has transform animations on it, we keep around
1368 a transformation matrix for the animation endpoints (or keyframes),
1369 pick up the state that has the larger impact on the root-relative scale,
1370 and use that as the layer's transform, and the transform when recursing
1373 Tests: compositing/contents-scale/animating.html
1374 compositing/contents-scale/scaled-ancestor.html
1375 compositing/contents-scale/simple-scale.html
1376 compositing/contents-scale/z-translate.html
1378 * platform/graphics/ca/GraphicsLayerCA.cpp:
1379 (WebCore::maxScaleFromTransform): Decompose the transform if necesssary
1380 to extract the X and Y scale components.
1381 (WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_rootRelativeScaleFactor.
1382 (WebCore::GraphicsLayerCA::flushCompositingState): Supply a TransformationMatrix
1383 for the root of the recursion.
1384 (WebCore::GraphicsLayerCA::layerTransform): This code was factored out of
1385 computeVisibleRect(), and optionally takes a custom transform.
1386 (WebCore::GraphicsLayerCA::computeVisibleRect): Use the layerTransform() function.
1387 (WebCore::GraphicsLayerCA::updateRootRelativeScale): Given a transform from the root,
1388 find the max scale factor by multiplying the various animation endpoint matrices and picking
1389 the one with the biggest impact on scale. Use this to set m_rootRelativeScaleFactor, and
1390 set the flag to say that we need to update contentsScale.
1391 (WebCore::GraphicsLayerCA::recursiveCommitChanges):
1392 (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): After updating
1393 animations, call updateRootRelativeScale() to update m_rootRelativeScaleFactor.
1394 (WebCore::GraphicsLayerCA::updateAnimations): We have a side table of animation name to
1395 TransformationMatrix, so figure out which entries can be removed from that side table,
1397 (WebCore::GraphicsLayerCA::setAnimationOnLayer):
1398 (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Store the matrices for
1399 animation endpoints/keyframes in the m_animationTransforms side table. We don't store
1400 them directly in LayerPropertyAnimation because we just want the final matrix for
1401 a transform list, and using a side table makes ownership easier to manage.
1402 (WebCore::GraphicsLayerCA::getTransformFromAnimationsWithMaxScaleImpact):
1403 goes through the matrices for the running animation endpoints/keyframes, and
1404 multiplies each with the transform up to this layer to find the matrix with the
1405 larger impact on scale.
1406 (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints): Returns a vector
1407 of TransformationMatrix for the from and to states.
1408 (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes): Returns a vector
1409 of TransformationMatrix for the keyframes.
1410 (WebCore::GraphicsLayerCA::updateContentsScale): Include m_rootRelativeScaleFactor in the
1411 scale factor computation.
1412 (WebCore::GraphicsLayerCA::dumpAdditionalProperties): If we're dumping visible rects,
1413 also dump the contentsScale. Convenient at these are useful to look at together, and I didn't
1414 want to pollute Internals with yet more flags.
1415 * platform/graphics/ca/GraphicsLayerCA.h:
1416 (WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation): Formatting.
1418 2013-09-17 Samuel White <samuel_white@apple.com>
1420 AX: Expose ARIA Busy Notifications
1421 https://bugs.webkit.org/show_bug.cgi?id=121451
1423 Reviewed by Darin Adler.
1425 Added AXElementBusyChanged notification that posts when aria-busy is toggled. This
1426 enables screen readers to detect busy states without polling the focused element.
1428 Test: platform/mac/accessibility/element-busy-changed.html
1430 * accessibility/AXObjectCache.cpp:
1431 (WebCore::AXObjectCache::handleAttributeChanged):
1432 * accessibility/AXObjectCache.h:
1433 * accessibility/mac/AXObjectCacheMac.mm:
1434 (WebCore::AXObjectCache::postPlatformNotification):
1436 2013-09-17 Antti Koivisto <antti@apple.com>
1438 Add isTextOrBR() and use it
1439 https://bugs.webkit.org/show_bug.cgi?id=121506
1441 Reviewed by Darin Adler.
1443 It is a popular test.
1446 (WebCore::Document::updateHoverActiveState):
1447 * editing/Editor.cpp:
1448 (WebCore::findFirstMarkable):
1449 * editing/TextIterator.cpp:
1450 (WebCore::ignoresContainerClip):
1451 * rendering/InlineBox.cpp:
1452 (WebCore::InlineBox::logicalHeight):
1453 * rendering/InlineIterator.h:
1454 (WebCore::isIteratorTarget):
1455 * rendering/RenderBlock.cpp:
1456 (WebCore::InlineMinMaxIterator::next):
1457 * rendering/RenderBlockLineLayout.cpp:
1458 (WebCore::RenderBlockFlow::layoutInlineChildren):
1459 * rendering/RenderCounter.cpp:
1460 (WebCore::planCounter):
1461 * rendering/RenderObject.h:
1462 (WebCore::RenderObject::isTextOrBR):
1463 * rendering/RenderTreeAsText.cpp:
1465 * rendering/RootInlineBox.cpp:
1466 (WebCore::RootInlineBox::ascentAndDescentForBox):
1467 (WebCore::RootInlineBox::verticalPositionForBox):
1469 2013-09-17 Antti Koivisto <antti@apple.com>
1471 RenderBR should not be RenderText
1472 https://bugs.webkit.org/show_bug.cgi?id=121221
1474 Rubber-stamped by Andreas Kling.
1476 Fix assertion in these tests:
1478 fast/repaint/selection-rl.html
1479 fast/writing-mode/horizontal-bt-replaced-selection.html
1480 fast/writing-mode/vertical-rl-replaced-selection.html
1482 * rendering/InlineBox.cpp:
1483 (WebCore::InlineBox::nodeAtPoint):
1485 2013-09-16 Enrica Casucci <enrica@apple.com>
1487 Remove unused function didSetSelectionTypesForPasteboard from EditorClient.
1488 https://bugs.webkit.org/show_bug.cgi?id=121464
1490 Reviewed by Darin Adler.
1492 This method was only implemented in WebEditorClient.mm for Mac where it was
1493 calling a private delegate that is no longer in use.
1494 This patch removes it for all the platforms.
1495 I've also removed setTypes and writeAfterSettingTypes from the implementation
1496 of the Pasteboard class for Mac.
1498 * editing/mac/EditorMac.mm:
1499 (WebCore::Editor::writeSelectionToPasteboard): Now calls write instead of
1500 setTypes and writeAfterSettingTypes.
1501 * loader/EmptyClients.h: Removed didSetSelectionTypesForPasteboard.
1502 * page/EditorClient.h: Ditto.
1503 * platform/Pasteboard.h: Removed setTypes and writeAfterSettingTypes.
1504 * platform/ios/PasteboardIOS.mm:
1505 (WebCore::Pasteboard::writeSelection): Removed call to didSetSelectionTypesForPasteboard.
1506 * platform/mac/PasteboardMac.mm:
1507 (WebCore::Pasteboard::write): Added to replace setTypes and writeAfterSettingTypes.
1509 2013-09-17 Darin Adler <darin@apple.com>
1511 Further shrink table-populating code by making the tables read-only data and preventing inlining
1512 https://bugs.webkit.org/show_bug.cgi?id=121468
1514 Reviewed by Sam Weinig.
1516 * bindings/scripts/StaticString.pm:
1517 (GenerateStrings): Eliminated the xxxImpl globals. We definitely did not need
1518 globals for these, much less read-write data. Instead, write the expression at
1519 each site where we need them.
1520 (GenerateStringAsserts): This is one such site (see above).
1521 * css/CSSSelector.cpp:
1522 (WebCore::populatePseudoTypeByNameMap): Mark this function NEVER_INLINE and
1523 add static to make sure the table ends up in read-only data.
1524 * dom/make_names.pl:
1525 (printDefinitions): Write the xxxImpl expression (see above).
1526 (printFactoryCppFile): Ditto. Also mark the populate function NEVER_INLINE and
1527 add static to make sure the table ends up in read-only data.
1528 (printWrapperFactoryCppFile): Ditto.
1529 * html/HTMLElement.cpp:
1530 (WebCore::populateEventNameForAttributeLocalNameMap): Mark this function
1531 NEVER_INLINE and add static to makes sure the table ends up in read-only data.
1533 * platform/text/UnicodeRange.cpp: Added a const to make this read-only data.
1535 2013-09-17 Darin Adler <darin@apple.com>
1537 Shrink SVGElement::cssPropertyIdForSVGAttributeName and cssPropertyToTypeMap
1538 https://bugs.webkit.org/show_bug.cgi?id=121499
1540 Reviewed by Andreas Kling.
1542 * svg/SVGElement.cpp:
1543 (WebCore::populateAttributeNameToCSSPropertyIDMap): Added. Code that used to
1544 be in SVGElement::cssPropertyIdForSVGAttributeName to build a map that maps
1545 attribute names to CSS property IDs, but without the multiple unrolled calls
1546 to HashMap functions.
1547 (WebCore::populateAttributeNameToAnimatedPropertyTypeMap): Added. Code that
1548 used to be in cssPropertyToTypeMap, but without the multiple unrolled calls
1549 to HashMap functions.
1550 (WebCore::attributeNameToAnimatedPropertyTypeMap): Renamed from
1551 cssPropertyToTypeMap, a confusingly inaccurate and imprecise name, and
1552 reimplemented using the populate function.
1553 (WebCore::SVGElement::animatedPropertyTypeForAttribute): Updated to call
1554 attributeNameToAnimatedPropertyTypeMap, and also removed the double hashing
1555 that was done by calling contains followed by get.
1556 (WebCore::SVGElement::cssPropertyIdForSVGAttributeName): Rewrote to use
1557 populateAttributeNameToCSSPropertyIDMap.
1558 (WebCore::SVGElement::isAnimatableCSSProperty): Updated to call the new
1559 attributeNameToAnimatedPropertyTypeMap.
1561 2013-09-17 Darin Adler <darin@apple.com>
1563 Make SVGTransform::valueAsString use StringBuilder
1564 https://bugs.webkit.org/show_bug.cgi?id=121498
1566 Reviewed by Andreas Kling.
1568 * svg/SVGTransform.cpp:
1569 (WebCore::SVGTransform::valueAsString): Use StringBuilder constently to
1570 avoid creating temporary String objects that cause additional, slow
1573 2013-09-17 Darin Adler <darin@apple.com>
1575 Get rid of a couple unneeded NeverDestroyed::get() calls
1576 https://bugs.webkit.org/show_bug.cgi?id=121500
1578 Reviewed by Andreas Kling.
1580 * css/CSSSelector.cpp:
1581 (WebCore::CSSSelector::parsePseudoType): No need to call get() here.
1582 * dom/make_names.pl:
1583 (printFactoryCppFile): Ditto.
1584 (printWrapperFactoryCppFile): Ditto.
1586 2013-09-17 Hans Muller <hmuller@adobe.com>
1588 Bad ASSERT() in RasterShapeIntervals::firstIncludedIntervalY()
1589 https://bugs.webkit.org/show_bug.cgi?id=121455
1591 Reviewed by Darin Adler.
1593 Corrected a bad ASSERT() introduced in https://bugs.webkit.org/show_bug.cgi?id=120211.
1595 Test: fast/shapes/shape-inside/shape-inside-first-fit-crash.html
1597 * rendering/shapes/RasterShape.cpp:
1598 (WebCore::RasterShapeIntervals::firstIncludedIntervalY):
1600 2013-09-16 David Hyatt <hyatt@apple.com>
1602 Move the line widow functions out of RenderBlock and into RenderBlockFlow.
1603 https://bugs.webkit.org/show_bug.cgi?id=121456
1605 Reviewed by Dean Jackson.
1607 * rendering/RenderBlock.cpp:
1608 * rendering/RenderBlock.h:
1609 (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
1610 * rendering/RenderBlockFlow.cpp:
1611 (WebCore::RenderBlockFlow::layoutBlockChild):
1612 (WebCore::calculateMinimumPageHeight):
1613 (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
1614 (WebCore::RenderBlockFlow::setBreakAtLineToAvoidWidow):
1615 (WebCore::RenderBlockFlow::clearShouldBreakAtLineToAvoidWidow):
1616 (WebCore::RenderBlockFlow::relayoutToAvoidWidows):
1617 * rendering/RenderBlockFlow.h:
1618 (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
1619 (WebCore::RenderBlockFlow::shouldBreakAtLineToAvoidWidow):
1620 (WebCore::RenderBlockFlow::lineBreakToAvoidWidow):
1621 * rendering/RenderBlockLineLayout.cpp:
1622 (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
1623 (WebCore::RenderBlock::linkToEndLineIfNeeded):
1624 (WebCore::RenderBlock::determineStartPosition):
1625 (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
1626 * rendering/RenderObject.h:
1628 2013-09-16 Anders Carlsson <andersca@apple.com>
1630 HashMap should work with move-only keys
1631 https://bugs.webkit.org/show_bug.cgi?id=121310
1633 Reviewed by Darin Adler.
1635 Update the call sites now that HashMap::take doesn't return a PassOwnPtr.
1637 * rendering/RenderRegion.cpp:
1638 (WebCore::RenderRegion::takeRenderBoxRegionInfo):
1639 * rendering/RenderRegion.h:
1640 * rendering/svg/RenderSVGResourceContainer.cpp:
1641 (WebCore::RenderSVGResourceContainer::registerResource):
1642 * svg/SVGDocumentExtensions.cpp:
1643 (WebCore::SVGDocumentExtensions::removePendingResource):
1644 (WebCore::SVGDocumentExtensions::removePendingResourceForRemoval):
1645 * svg/SVGDocumentExtensions.h:
1647 2013-09-17 Antti Koivisto <antti@apple.com>
1649 Add RenderObject bit for isBR().
1650 https://bugs.webkit.org/show_bug.cgi?id=121494
1652 Reviewed by Andreas Kling.
1654 It is no longer piggybacking on isText() flag and is now hot in inline layout.
1656 * rendering/RenderBR.cpp:
1657 (WebCore::RenderBR::RenderBR):
1658 * rendering/RenderBR.h:
1659 * rendering/RenderObject.h:
1660 (WebCore::RenderObject::isBR):
1661 (WebCore::RenderObject::setIsBR):
1662 (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
1664 2013-09-17 Andreas Kling <akling@apple.com>
1666 Export some missing symbols for Internals after RenderArena& change.
1670 2013-09-17 Christophe Dumez <ch.dumez@sisa.samsung.com>
1672 Set MessageEvent.source to the newly created port for shared workers' connect events
1673 https://bugs.webkit.org/show_bug.cgi?id=121390
1675 Reviewed by Darin Adler.
1677 Set MessageEvent.source to the newly created port for shared workers' connect events
1678 instead of previously null, as per the latest specification:
1679 http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#dom-messageevent-source
1680 http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#dom-sharedworker
1682 This behavior is consisent with Blink.
1684 Test: fast/workers/shared-worker-messageevent-source.html
1686 * dom/EventTarget.cpp:
1687 (WebCore::EventTarget::isMessagePort):
1688 * dom/EventTarget.h:
1689 * dom/MessageEvent.cpp:
1690 (WebCore::isValidSource):
1691 (WebCore::MessageEvent::MessageEvent):
1692 * dom/MessageEvent.h:
1693 Use null String instead of an empty String as default value for origin and lastEventId.
1694 This is more efficient and has no impact on the behavior on the JavaScript since a
1695 null String is exposed as an empty one on JS side.
1696 This change is covered by fast/events/constructors/message-event-constructor.html
1697 * dom/MessageEvent.idl:
1698 * dom/MessagePort.h:
1699 * page/DOMWindow.cpp:
1700 (WebCore::PostMessageTimer::event):
1701 * workers/SharedWorkerGlobalScope.cpp:
1702 (WebCore::createConnectEvent):
1704 2013-09-17 Antti Koivisto <antti@apple.com>
1706 RenderBR should not be RenderText
1707 https://bugs.webkit.org/show_bug.cgi?id=121221
1709 Reviewed by Darin Adler.
1711 Stop inheriting RenderBR from RenderText and make it be a RenderBoxModelObject instead. RenderBR was one
1712 of the few cases where Element renderer was a RenderText. This will enable future cleanups.
1714 RenderBR used little of RenderText mechanisms and was already heavily specialized everywhere. Layout code
1715 didn't care about its text content at all. The new RenderText is also significatly more lightweight
1716 than the old. As a line box it uses plain InlineBox instead of InlineTextBox.
1718 The patch tries to avoid changing test results though there are a few changed render tree dumps without
1719 visual effect. There are also two rendering progressions.
1721 * accessibility/AccessibilityRenderObject.cpp:
1722 (WebCore::AccessibilityRenderObject::textUnderElement):
1723 (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
1724 * dom/ContainerNode.cpp:
1725 (WebCore::ContainerNode::getUpperLeftCorner):
1727 (WebCore::Document::updateHoverActiveState):
1729 (WebCore::hasInlineBoxWrapper):
1730 (WebCore::nextRenderedEditable):
1731 (WebCore::previousRenderedEditable):
1732 (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
1733 (WebCore::Position::getInlineBoxAndOffset):
1735 (WebCore::Range::textRects):
1736 (WebCore::Range::textQuads):
1737 * editing/ApplyStyleCommand.cpp:
1738 (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
1739 * editing/Editor.cpp:
1740 (WebCore::findFirstMarkable):
1741 * editing/TextIterator.cpp:
1742 (WebCore::ignoresContainerClip):
1743 * editing/VisibleUnits.cpp:
1744 (WebCore::CachedLogicallyOrderedLeafBoxes::previousTextOrLineBreakBox):
1745 (WebCore::CachedLogicallyOrderedLeafBoxes::nextTextOrLineBreakBox):
1746 (WebCore::logicallyPreviousBox):
1747 (WebCore::logicallyNextBox):
1748 (WebCore::wordBreakIteratorForMinOffsetBoundary):
1749 (WebCore::wordBreakIteratorForMaxOffsetBoundary):
1750 * rendering/InlineBox.cpp:
1751 (WebCore::InlineBox::logicalHeight):
1752 (WebCore::InlineBox::baselinePosition):
1753 (WebCore::InlineBox::lineHeight):
1754 (WebCore::InlineBox::deleteLine):
1755 (WebCore::InlineBox::extractLine):
1756 (WebCore::InlineBox::attachLine):
1757 (WebCore::InlineBox::paint):
1758 * rendering/InlineBox.h:
1759 (WebCore::InlineBox::isLineBreak):
1760 * rendering/InlineFlowBox.cpp:
1761 (WebCore::InlineFlowBox::computeOverflow):
1762 * rendering/InlineIterator.h:
1763 (WebCore::isIteratorTarget):
1764 * rendering/InlineTextBox.cpp:
1765 (WebCore::InlineTextBox::lineHeight):
1766 (WebCore::InlineTextBox::isLineBreak):
1767 * rendering/RenderBR.cpp:
1768 (WebCore::RenderBR::RenderBR):
1769 (WebCore::RenderBR::~RenderBR):
1770 (WebCore::RenderBR::createAnonymous):
1771 (WebCore::RenderBR::lineHeight):
1772 (WebCore::RenderBR::baselinePosition):
1773 (WebCore::RenderBR::createInlineBox):
1774 (WebCore::RenderBR::setInlineBoxWrapper):
1775 (WebCore::RenderBR::replaceInlineBoxWrapper):
1776 (WebCore::RenderBR::deleteInlineBoxWrapper):
1777 (WebCore::RenderBR::dirtyLineBoxes):
1778 (WebCore::RenderBR::caretMinOffset):
1779 (WebCore::RenderBR::caretMaxOffset):
1780 (WebCore::RenderBR::canBeSelectionLeaf):
1781 (WebCore::RenderBR::setSelectionState):
1782 (WebCore::RenderBR::localCaretRect):
1783 (WebCore::RenderBR::linesBoundingBox):
1784 (WebCore::RenderBR::absoluteRects):
1785 (WebCore::RenderBR::absoluteQuads):
1786 (WebCore::RenderBR::updateFromStyle):
1787 (WebCore::RenderBR::borderBoundingBox):
1788 * rendering/RenderBR.h:
1789 (WebCore::toRenderBR):
1790 * rendering/RenderBlock.cpp:
1791 (WebCore::InlineMinMaxIterator::next):
1792 (WebCore::RenderBlock::updateFirstLetter):
1793 * rendering/RenderBlockLineLayout.cpp:
1794 (WebCore::createInlineBoxForRenderer):
1795 (WebCore::dirtyLineBoxesForRenderer):
1796 (WebCore::reachedEndOfTextRenderer):
1797 (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
1798 (WebCore::RenderBlockFlow::layoutInlineChildren):
1799 (WebCore::requiresLineBox):
1800 (WebCore::shouldSkipWhitespaceAfterStartObject):
1801 (WebCore::canBreakAtThisPosition):
1802 * rendering/RenderInline.cpp:
1803 (WebCore::RenderInline::generateCulledLineBoxRects):
1804 (WebCore::RenderInline::culledInlineFirstLineBox):
1805 (WebCore::RenderInline::culledInlineLastLineBox):
1806 (WebCore::RenderInline::dirtyLineBoxes):
1807 * rendering/RenderLineBoxList.cpp:
1808 (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
1809 * rendering/RenderMenuList.cpp:
1810 (WebCore::RenderMenuList::RenderMenuList):
1811 (WebCore::RenderMenuList::styleDidChange):
1812 (WebCore::RenderMenuList::setText):
1813 (WebCore::RenderMenuList::text):
1814 * rendering/RenderMenuList.h:
1815 * rendering/RenderObject.h:
1816 (WebCore::RenderObject::isBeforeContent):
1817 (WebCore::RenderObject::isAfterContent):
1818 * rendering/RenderObjectChildList.cpp:
1819 (WebCore::RenderObjectChildList::removeChildNode):
1820 * rendering/RenderText.cpp:
1821 (WebCore::RenderText::removeAndDestroyTextBoxes):
1822 (WebCore::RenderText::computePreferredLogicalWidths):
1823 (WebCore::RenderText::setTextInternal):
1824 * rendering/RenderTreeAsText.cpp:
1825 (WebCore::RenderTreeAsText::writeRenderObject):
1826 * rendering/RootInlineBox.cpp:
1827 (WebCore::RootInlineBox::ascentAndDescentForBox):
1828 (WebCore::RootInlineBox::verticalPositionForBox):
1830 2013-09-17 Andreas Kling <akling@apple.com>
1832 Dodge more work during render tree teardown.
1833 <https://webkit.org/b/121487>
1835 Reviewed by Antti Koivisto.
1837 Add a Document::hasLivingRenderTree() method that returns true if
1838 there's a render tree attached to the document and it's not in the
1839 process of being torn down.
1841 Deploy this check in a number of places that were only checking
1842 for the presence of a RenderView.
1844 2013-09-17 Eric Carlson <eric.carlson@apple.com>
1846 MediaStream API: Adding an async RTCPeerConnection::addIceCandidate
1847 https://bugs.webkit.org/show_bug.cgi?id=121403
1849 Merged from https://chromium.googlesource.com/chromium/blink/+/5bd81fda88d48dd2780832246e7d1ab973ee7a1d
1851 Reviewed by Darin Adler.
1853 No new tests, updated RTCPeerConnection-ice.html.
1855 * Modules/mediastream/RTCPeerConnection.cpp:
1856 (WebCore::RTCPeerConnection::addIceCandidate): Add success and error callbacks.
1857 * Modules/mediastream/RTCPeerConnection.h:
1858 * Modules/mediastream/RTCPeerConnection.idl:
1860 * platform/mediastream/RTCPeerConnectionHandler.h: Changed addIceCandidate signature.
1862 * platform/mediastream/RTCVoidRequest.h: Removed ExtraData, it is unnecessary.
1864 2013-09-17 Carlos Garcia Campos <cgarcia@igalia.com>
1866 [GTK] Do not include Returns tag in api doc for methods returning void
1867 https://bugs.webkit.org/show_bug.cgi?id=121488
1869 Reviewed by Philippe Normand.
1871 * bindings/gobject/WebKitDOMCustom.h:
1872 * bindings/scripts/CodeGeneratorGObject.pm:
1873 (GenerateFunction): Only add Returns tag for methods not returning
1875 * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
1876 * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
1877 * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
1878 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1879 * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
1881 2013-09-17 Michael Brüning <michael.bruning@digia.com>
1883 Correct range used for Emoji checks.
1884 https://bugs.webkit.org/show_bug.cgi?id=121486
1886 Reviewed by Allan Sandfeld Jensen.
1888 Found and reported by David Binderman via Qt bug tracker.
1890 The check if a character was in the Emoji range always evaluated to
1891 false due to the upper range limit being lower than the lower limit.
1893 Changed the upper limit to the highest assigned character from the
1894 "Transport and Map Symbols" (0x1F6C5) as that seems to have been the
1895 intended upper range limit of this check.
1897 * platform/graphics/Font.cpp:
1898 (WebCore::Font::isCJKIdeographOrSymbol):
1900 2013-09-17 Antti Koivisto <antti@apple.com>
1902 Move text caret rect computation to root inline box
1903 https://bugs.webkit.org/show_bug.cgi?id=121479
1905 Reviewed by Andreas Kling.
1907 For future code sharing.
1909 * rendering/RenderText.cpp:
1910 (WebCore::RenderText::localCaretRect):
1911 * rendering/RootInlineBox.cpp:
1912 (WebCore::RootInlineBox::computeCaretRect):
1913 * rendering/RootInlineBox.h:
1915 2013-09-17 Alberto Garcia <berto@igalia.com>
1917 [GTK] Don't make the GObject DOM bindings API break test fatal
1918 https://bugs.webkit.org/show_bug.cgi?id=121484
1920 Reviewed by Carlos Garcia Campos.
1922 The API varies depending on the compilation options, so this can
1923 easily produce false positives.
1925 Until we figure out a way to handle this situation we shouldn't
1926 make this test fatal.
1928 * bindings/scripts/gobject-run-api-break-test:
1931 2013-09-17 Mihnea Ovidenie <mihnea@adobe.com>
1933 [CSSRegions] Replace generatingNode() with generatingElement() for RenderRegion
1934 https://bugs.webkit.org/show_bug.cgi?id=121469
1936 Reviewed by Antti Koivisto.
1938 The fix for https://bugs.webkit.org/show_bug.cgi?id=120397 replaced node() with generatingElement() for regions, but i forgot about replacing generatingNode() with generatingElement() in RenderNamedFlowThread::compareRenderRegions. This is needed in preparation for regions as anonymous blocks refactoring in https://bugs.webkit.org/show_bug.cgi?id=119135.
1940 No new functionality introduced, therefore no new tests.
1942 * rendering/RenderNamedFlowThread.cpp:
1943 (WebCore::compareRenderRegions):
1945 2013-09-17 Andreas Kling <akling@apple.com>
1947 CTTE: Pass RenderArena around by reference.
1948 <https://webkit.org/b/121470>
1950 Reviewed by Antti Koivisto.
1952 Pass the RenderArena around by reference in all render tree code.
1953 This code will never be running without an arena.
1955 2013-09-17 Carlos Garcia Campos <cgarcia@igalia.com>
1957 [GTK] GObject DOM symbols file is not generated for video related classes
1958 https://bugs.webkit.org/show_bug.cgi?id=121476
1960 Reviewed by Philippe Normand.
1962 The problem is that we are using a different path for video
1963 related header files in the Makefile, it's the same path in
1964 practice, because we are just prepending ./ to the path, but the
1965 rules that parse those paths don't expect the ./ at the beginning.
1967 * bindings/gobject/GNUmakefile.am: Use the same path for video
1968 related header files as the other paths in
1969 webkitgtk_gdom_built_h_api.
1970 * bindings/gobject/webkitdom.symbols: Updated to include the
1971 symbols of the video related clases.
1973 2013-09-17 Andreas Kling <akling@apple.com>
1975 Remove ContextFeatures.
1976 <https://webkit.org/b/121473>
1978 Reviewed by Antti Koivisto.
1980 This was only used by the chromium port, nobody implements ContextFeaturesClient.
1982 2013-09-17 Andreas Kling <akling@apple.com>
1984 Un-dork the build. :|
1986 2013-09-17 Andreas Kling <akling@apple.com>
1988 Unreviewed, fix clang warning when building without ENABLE(STYLE_SCOPED).
1990 2013-09-08 Andreas Kling <akling@apple.com>
1992 Move <style scoped> code behind ENABLE(STYLE_SCOPED)
1993 <https://webkit.org/b/121018>
1995 Reviewed by Darin Adler.
1997 Move all the code for <style scoped> behind ENABLE(STYLE_SCOPED) guards.
1998 It's not nice to clutter common codepaths with code that always executes
1999 even though the feature is disabled at compile-time.
2001 2013-09-16 Sam Weinig <sam@webkit.org>
2003 CTTE: InputType should store its HTMLInputElement back pointer as a reference
2004 https://bugs.webkit.org/show_bug.cgi?id=121466
2006 Reviewed by Anders Carlsson.
2008 - Converts InputType::create() and InputType::createText() to take a HTMLInputElement&
2009 (as well as all the subclasses).
2010 - Change InputType::element() to return an HTMLInputElement& and update all the callers.
2012 2013-09-16 Timothy Hatcher <timothy@apple.com>
2014 Make InspectorTimelineAgent use an enum for the record type instead of a string.
2016 https://bugs.webkit.org/show_bug.cgi?id=121461
2018 Reviewed by Joseph Pecoraro.
2020 * inspector/Inspector.json:
2021 * inspector/InspectorTimelineAgent.cpp:
2022 (WebCore::InspectorTimelineAgent::addRecordToTimeline):
2023 (WebCore::toProtocol):
2024 (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
2025 (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
2026 (WebCore::InspectorTimelineAgent::appendRecord):
2027 (WebCore::InspectorTimelineAgent::pushCurrentRecord):
2028 * inspector/InspectorTimelineAgent.h:
2029 (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
2031 2013-09-16 Joseph Pecoraro <pecoraro@apple.com>
2033 Add RunLoop::isMain and use it in WebKit2
2034 https://bugs.webkit.org/show_bug.cgi?id=121459
2036 Reviewed by Anders Carlsson.
2039 * platform/RunLoop.cpp:
2040 (WebCore::RunLoop::isMain):
2041 * platform/RunLoop.h:
2043 2013-09-16 Chris Fleizach <cfleizach@apple.com>
2045 AX: ARIA tablist is disabled, but VoiceOver does not speak the tabs as dimmed
2046 https://bugs.webkit.org/show_bug.cgi?id=121408
2048 Reviewed by Darin Adler.
2050 ARIA says that aria-disabled should propagate to children nodes.
2052 Test: accessibility/aria-disabled-propagated-to-children.html
2054 * accessibility/AccessibilityNodeObject.cpp:
2055 (WebCore::AccessibilityNodeObject::isEnabled):
2057 2013-09-16 Sam Weinig <sam@webkit.org>
2059 CTTE: Element::createRenderer() should take references
2060 https://bugs.webkit.org/show_bug.cgi?id=121449
2062 Reviewed by Anders Carlsson.
2066 2013-09-16 Enrica Casucci <enrica@apple.com>
2068 iOS build fix after r155638.
2072 * editing/Editor.cpp:
2074 2013-09-16 Bem Jones-Bey <bjonesbe@adobe.com>
2076 Make FloatingObjects own it's FloatingObject instances
2077 https://bugs.webkit.org/show_bug.cgi?id=121323
2079 Reviewed by Alexandru Chiculita.
2081 As part of decoupling FloatingObjects from RenderBlock, change
2082 FloatingObjects to properly manage the FloatingObject instances it
2085 No new tests, no behavior change.
2087 * rendering/FloatingObjects.cpp:
2088 (WebCore::FloatingObject::FloatingObject): Make the constructors
2089 private so that FloatingObjects can only be created with an OwnPtr.
2090 Also make a RenderBox required to create a FloatingObject.
2091 (WebCore::FloatingObject::create): Factory method to create a vanilla
2093 (WebCore::FloatingObject::copyToNewContainer): Factory method to copy
2094 an existing FloatingObject in the case it is overhanging or intruding
2095 and needs to be copied to the block that it overhangs or intrudes
2097 (WebCore::FloatingObject::unsafeClone): Rename this method so it is
2098 more obvious that it really shouldn't be used, and to make it more
2099 obvious that one should use the copyToNewContainer method for all
2100 normal FloatingObject copies.
2101 (WebCore::FloatingObjects::clear): Delete all the FloatingObjects in
2102 the set before clearing it.
2103 (WebCore::FloatingObjects::moveAllToFloatInfoMap): Move all of the
2104 FloatingObjects in the set to a RendererToFloatInfoMap. This is used
2105 in RenderBlockFlow::clearFloats to when it is readding floats after
2107 (WebCore::FloatingObjects::add): Take an OwnPtr.
2108 (WebCore::FloatingObjects::remove): Delete the removed FloatingObject.
2109 * rendering/FloatingObjects.h: Remove FloatingObject::setRenderer(),
2110 since the RenderBox must be set in the constructor.
2111 * rendering/RenderBlock.cpp:
2112 (WebCore::RenderBlock::moveAllChildrenIncludingFloatsTo): Rename clone
2114 (WebCore::RenderBlock::removeFloatingObjects): Don't delete anymore,
2115 since clear does it.
2116 (WebCore::RenderBlock::insertFloatingObject): Handle OwnPtr properly.
2117 (WebCore::RenderBlock::removeFloatingObject): Don't delete anymore,
2118 since remove does it.
2119 (WebCore::RenderBlock::removeFloatingObjectsBelow): Ditto.
2120 (WebCore::RenderBlock::addOverhangingFloats): Use copyToNewContainer
2122 (WebCore::RenderBlock::addIntrudingFloats): Ditto.
2123 * rendering/RenderBlockFlow.cpp:
2124 (WebCore::RenderBlockFlow::clearFloats): Use exportToFloatInfoMap.
2126 2013-09-16 Hugo Parente Lima <hugo.lima@openbossa.org>
2128 Fix creation of embedded JS and CSS files on cmake based ports.
2129 https://bugs.webkit.org/show_bug.cgi?id=121448
2131 Reviewed by Joseph Pecoraro.
2133 Just a build fix, layout tests already test this issue.
2137 2013-09-16 Anders Carlsson <andersca@apple.com>
2139 MessageQueue should use a Deque of OwnPtrs
2140 https://bugs.webkit.org/show_bug.cgi?id=121450
2142 Reviewed by Andreas Kling.
2144 * Modules/webdatabase/DatabaseThread.cpp:
2145 (WebCore::SameDatabasePredicate::operator()):
2146 * dom/default/PlatformMessagePortChannel.h:
2147 (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
2148 * fileapi/FileThread.cpp:
2149 (WebCore::SameInstancePredicate::operator()):
2150 * workers/WorkerRunLoop.cpp:
2151 (WebCore::ModePredicate::operator()):
2153 2013-09-16 Andreas Kling <akling@apple.com>
2155 CTTE: FrameTree::top() should return a reference.
2156 <https://webkit.org/b/121445>
2158 Reviewed by Anders Carlsson.
2160 There's always a top frame in the tree.
2162 2013-09-16 Zan Dobersek <zdobersek@igalia.com>
2164 Unreviewed, fixing GObject bindings tests after r155850 by adding the *.symbols files that are now also generated.
2166 * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.symbols: Added.
2167 * bindings/scripts/test/GObject/WebKitDOMTestCallback.symbols: Added.
2168 * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.symbols: Added.
2169 * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.symbols: Added.
2170 * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.symbols: Added.
2171 * bindings/scripts/test/GObject/WebKitDOMTestException.symbols: Added.
2172 * bindings/scripts/test/GObject/WebKitDOMTestInterface.symbols: Added.
2173 * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.symbols: Added.
2174 * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.symbols: Added.
2175 * bindings/scripts/test/GObject/WebKitDOMTestNode.symbols: Added.
2176 * bindings/scripts/test/GObject/WebKitDOMTestObj.symbols: Added.
2177 * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.symbols: Added.
2178 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.symbols: Added.
2179 * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.symbols: Added.
2181 2013-09-16 Daniel Bates <dabates@apple.com>
2183 Fix the build following <http://trac.webkit.org/changeset/155591>
2184 (https://bugs.webkit.org/show_bug.cgi?id=121200)
2186 Fix the build for ports that enable PLUGIN_PROXY_FOR_VIDEO, such as iOS WebKit.
2188 * html/shadow/MediaControlElements.cpp:
2189 (WebCore::MediaControlTextTrackContainerElement::updateSizes): Substitute isWidget() for isRenderWidget()
2190 as the latter is undefined.
2191 * rendering/RenderLayerCompositor.cpp:
2192 (WebCore::RenderLayerCompositor::requiresCompositingForVideo): Ditto.
2194 2013-09-16 Daniel Bates <dabates@apple.com>
2196 Build fix following <https://trac.webkit.org/r154358>
2197 (https://bugs.webkit.org/show_bug.cgi?id=120078)
2199 Fix the build for ports that enable PLUGIN_PROXY_FOR_VIDEO, such as iOS WebKit.
2201 * html/HTMLMediaElement.cpp:
2202 (WebCore::HTMLMediaElement::rendererIsNeeded): Substitute "style" for "context".
2204 2013-09-16 Timothy Hatcher <timothy@apple.com>
2206 Make InspectorTypeBuilder generate better enums in C++.
2208 https://bugs.webkit.org/show_bug.cgi?id=121440
2210 Reviewed by Joseph Pecoraro.
2212 * inspector/CodeGeneratorInspector.py:
2213 (fix_camel_case): Add more abbrivations.
2214 (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder): Use fix_camel_case
2215 * inspector/ConsoleMessage.cpp:
2216 (WebCore::messageSourceValue):
2217 (WebCore::messageTypeValue):
2218 * inspector/InspectorCSSAgent.cpp:
2219 (WebCore::InspectorCSSAgent::detectOrigin):
2220 * inspector/InspectorRuntimeAgent.cpp:
2221 (WebCore::InspectorRuntimeAgent::parse):
2222 * inspector/InspectorStyleSheet.cpp:
2223 (WebCore::InspectorStyleSheet::resourceStyleSheetText):
2224 * inspector/InspectorStyleSheet.h:
2225 (WebCore::InspectorStyleSheet::canBind):
2227 2013-09-16 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
2229 MediaStream API: Storing the constraints in MediaStreamSource
2230 https://bugs.webkit.org/show_bug.cgi?id=120882
2232 based on: https://chromium.googlesource.com/chromium/blink/+/04ac7655b54ae98f55774afde3f8e92b6c6302e6
2234 Reviewed by Eric Carlson.
2236 No new tests needed.
2238 * Modules/mediastream/UserMediaRequest.cpp:
2239 (WebCore::UserMediaRequest::succeed):
2240 * platform/mediastream/MediaStreamSource.h:
2241 (WebCore::MediaStreamSource::setConstraints):
2242 (WebCore::MediaStreamSource::constraints):
2244 2013-09-16 Andreas Kling <akling@apple.com>
2246 Rebaseline bindings tests after Sam's Document& changes.
2248 2013-09-16 Andreas Kling <akling@apple.com>
2250 Destroying a Document's render tree shouldn't make it impossible to recreate.
2251 <https://webkit.org/b/121437>
2253 Reviewed by Antti Koivisto.
2255 Rename Document::detach() to destroyRenderTree() and stop automatically
2256 disconnecting Document from its Frame after the deforestation.
2258 Added Document::disconnectFromFrame() and do that after every call to
2259 destroyRenderTree() that we currently have.
2261 This change doesn't alter any behavior on its own, but is a step towards
2262 being able to destroy and rebuild the render tree.
2264 2013-09-16 Brent Fulgham <bfulgham@apple.com>
2266 Unreviewed warning correction. Avoid uninitialized renderer.
2268 * css/CSSComputedStyleDeclaration.cpp:
2269 (WebCore::ComputedStyleExtractor::propertyValue): Renderer can be uninitialized.
2271 2013-09-16 Brent Fulgham <bfulgham@apple.com>
2273 Unreviewed warning correction.
2275 * css/CSSParser.cpp:
2276 (WebCore::CSSParser::parseFilter): Don't use 'value' as the input argument
2277 to the method, and the internal loop variable for the parser.
2279 2013-09-16 peavo@outlook.com <peavo@outlook.com>
2281 [Win] Compile errors in WebCore derived sources.
2282 https://bugs.webkit.org/show_bug.cgi?id=121420
2284 Reviewed by Brent Fulgham.
2286 * dom/make_names.pl:
2287 (printNamesCppFile): Added const modifier.
2288 (printDefinitions): Use C style cast.
2290 2013-09-16 Hans Muller <hmuller@adobe.com>
2292 [CSS Shapes] Winding rule polygon issues
2293 https://bugs.webkit.org/show_bug.cgi?id=120236
2295 Reviewed by Dirk Schulze.
2297 This patch corrects some of the problems with shape-inside and
2298 self-intersecting polygons and eliminates the layout flashing behavior
2299 that prompted the original bug report. The FloatPolygon::contains()
2300 method now respoects the polygon's fillRule and the PolygonShape code
2301 used to find shape-inside intervals for the top and bottom of a line
2302 now also handles fillRule correctly.
2304 Tests: fast/shapes/shape-inside/shape-inside-complex-polygon-001.html
2305 fast/shapes/shape-inside/shape-inside-complex-polygon-002.html
2306 fast/shapes/shape-inside/shape-inside-complex-polygon-003.html
2307 fast/shapes/shape-inside/shape-inside-complex-polygon-004.html
2309 * platform/graphics/FloatPolygon.cpp:
2310 (WebCore::FloatPolygon::containsEvenOdd):
2311 (WebCore::FloatPolygon::containsNonZero):
2312 (WebCore::FloatPolygon::contains):
2313 * platform/graphics/FloatPolygon.h:
2314 * rendering/shapes/PolygonShape.cpp:
2315 (WebCore::computeXIntersections):
2317 2013-09-16 Andreas Kling <akling@apple.com>
2319 AXObjectCache::m_document should be a reference.
2320 <https://webkit.org/b/121425>
2322 Reviewed by Antti Koivisto.
2324 AXObjectCache is always owned by a Document so remove the uncertainty
2325 by turning its m_document into a Document&.
2327 2013-09-16 Commit Queue <commit-queue@webkit.org>
2329 Unreviewed, rolling out r155851.
2330 http://trac.webkit.org/changeset/155851
2331 https://bugs.webkit.org/show_bug.cgi?id=121429
2333 checkbox states should be exposed through AtkState, not
2334 AtkValue (Requested by msanchez on #webkit).
2336 * accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
2337 (webkitAccessibleValueGetCurrentValue):
2338 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2339 (getInterfaceMaskFromObject):
2341 2013-09-16 Krzysztof Czech <k.czech@samsung.com>
2343 [ATK] Extends atk value interface to return proper checkbox states
2344 https://bugs.webkit.org/show_bug.cgi?id=121413
2346 Reviewed by Mario Sanchez Prada.
2348 Tests: accessibility/mixed-checkbox.html
2349 accessibility/native-vs-nonnative-checkboxes.html
2351 * accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
2352 (webkitAccessibleValueValueForAccessibilityObject):
2353 (webkitAccessibleValueGetCurrentValue):
2354 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2355 (getInterfaceMaskFromObject):
2357 2013-09-16 Carlos Garcia Campos <cgarcia@igalia.com>
2359 [GTK] Check DOM bindings API compatibility while building
2360 https://bugs.webkit.org/show_bug.cgi?id=101224
2362 Reviewed by Gustavo Noronha Silva.
2364 A .symbols file is now generated for every DOM binding public API
2365 object. It contains the signature of all public methods. We keep a
2366 single file with the signature of all public methods in the source
2367 tree. When DOM bindings are generated, a new symbols file is
2368 created concatenating all .symbols files generated and it's
2369 compared with the symbols file in the source tree using a script
2370 that checks if the changes are API compatible or not. In case of
2371 API break the build finishes showing the differences found in the
2372 symbol files. If API compatible changes are found, the diff is
2373 shown in stdout, suggesting to run the gobject-run-api-break-test
2374 with the --reset-results option to update the symbols file, and
2375 the build continues. If there aren't API changes the build
2379 * bindings/gobject/GNUmakefile.am:
2380 * bindings/gobject/WebKitDOMCustom.symbols: Added.
2381 * bindings/gobject/WebKitDOMEventTarget.symbols: Added.
2382 * bindings/gobject/WebKitDOMObject.symbols: Added.
2383 * bindings/gobject/webkitdom.symbols: Added.
2384 * bindings/scripts/CodeGeneratorGObject.pm:
2387 * bindings/scripts/gobject-run-api-break-test: Added.
2390 2013-09-16 Andreas Kling <akling@apple.com>
2392 Devirtualize Document::detach().
2393 <https://webkit.org/b/121418>
2395 Reviewed by Antti Koivisto.
2397 The only override was in PluginDocument which needs to decouple itself
2398 from the plugin element at the start of detach.
2400 Added PluginDocument::detachFromPluginElement() and call it from detach().
2402 2013-09-15 Andreas Kling <akling@apple.com>
2404 CTTE: RenderCombineText always has a Text node.
2405 <https://webkit.org/b/121411>
2407 Reviewed by Antti Koivisto.
2409 This renderer is never anonymous and always has a corresponding Text node.
2410 Replaced node() with a textNode() reference getter.
2412 2013-09-15 Andreas Kling <akling@apple.com>
2414 CTTE: RenderSVGInlineText always has a Text node.
2415 <https://webkit.org/b/121409>
2417 Reviewed by Antti Koivisto.
2419 This renderer is never anonymous and always has a corresponding Text node.
2420 Replaced node() with a textNode() reference getter.
2422 Only one null check was harmed in the making of this patch.
2424 2013-09-15 Darin Adler <darin@apple.com>
2426 Try to fix the Windows build.
2428 * dom/make_names.pl: The static_cast here was running into const-correctness
2429 issues, so for now change it back to a C-style cast.
2431 2013-09-15 Santosh Mahto <santosh.ma@samsung.com>
2433 Adding "explicit" keyword in rendering related constructors
2434 https://bugs.webkit.org/show_bug.cgi?id=121398
2436 Reviewed by Andreas Kling.
2438 Adding explicit in below constructor.
2439 All files belong to Source/WebCore/rendering/ path.
2441 * rendering/AutoTableLayout.h:
2442 * rendering/ClipPathOperation.h:
2443 (WebCore::ClipPathOperation::ClipPathOperation):
2444 (WebCore::ShapeClipPathOperation::ShapeClipPathOperation):
2445 * rendering/FixedTableLayout.h:
2446 * rendering/FloatingObjects.h:
2447 (WebCore::FloatingObject::FloatingObject):
2448 * rendering/FlowThreadController.h:
2449 * rendering/HitTestResult.h:
2450 * rendering/ImageQualityController.h:
2451 * rendering/InlineBox.h:
2452 (WebCore::InlineBox::InlineBox):
2453 (WebCore::InlineBox::InlineBoxBitfields::InlineBoxBitfields):
2454 * rendering/InlineFlowBox.h:
2455 (WebCore::InlineFlowBox::InlineFlowBox):
2456 * rendering/InlineTextBox.h:
2457 (WebCore::InlineTextBox::InlineTextBox):
2458 * rendering/LayoutState.h:
2459 * rendering/LogicalSelectionOffsetCaches.h:
2460 (WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches):
2461 * rendering/RenderBoxModelObject.h:
2462 * rendering/RenderFlexibleBox.h:
2463 * rendering/RenderFrameSet.h:
2464 (WebCore::FrameEdgeInfo::FrameEdgeInfo):
2465 * rendering/RenderGeometryMap.h:
2466 * rendering/RenderImage.h:
2467 * rendering/RenderImageResourceStyleImage.h:
2468 * rendering/RenderLayerFilterInfo.h:
2469 * rendering/RenderMultiColumnSet.h:
2470 * rendering/RenderNamedFlowThread.h:
2471 * rendering/RenderReplaced.h:
2472 * rendering/RenderSearchField.h:
2473 * rendering/RenderSelectionInfo.h:
2474 (WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase):
2475 (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
2476 * rendering/RenderTableSection.h:
2477 * rendering/RenderTextControl.h:
2478 * rendering/RenderTextControlSingleLine.h:
2479 * rendering/TrailingFloatsRootInlineBox.h:
2481 2013-09-15 Gustavo Noronha Silva <gns@gnome.org>
2483 Unreviewed make distcheck fix.
2486 * GNUmakefile.list.am:
2488 2013-09-15 Patrick Gansterer <paroga@webkit.org>
2490 [WIN] Fix build without precompiled header after r154146.
2492 * platform/win/WebCoreBundleWin.h:
2494 2013-09-15 Andreas Kling <akling@apple.com>
2496 CTTE: EllipsisBox owner renderer is always a RenderBlock.
2497 <https://webkit.org/b/121402>
2499 Reviewed by Antti Koivisto.
2501 Let the constructor reflect this. Also out-of-line it because reasons.
2503 2013-09-15 Sam Weinig <sam@webkit.org>
2505 CTTE: RenderObject's createAnonymous() and setDocumentForAnonymous() should take Document references
2506 https://bugs.webkit.org/show_bug.cgi?id=121400
2508 Reviewed by Andreas Kling.
2510 The Document used for anonymous renderers is never null.
2513 * page/FrameView.cpp:
2514 * rendering/FlowThreadController.cpp:
2515 * rendering/RenderBlock.cpp:
2516 * rendering/RenderBlock.h:
2517 * rendering/RenderFlexibleBox.cpp:
2518 * rendering/RenderFlexibleBox.h:
2519 * rendering/RenderFullScreen.cpp:
2520 * rendering/RenderFullScreen.h:
2521 * rendering/RenderImage.cpp:
2522 * rendering/RenderInline.cpp:
2523 * rendering/RenderInline.h:
2524 * rendering/RenderLayer.cpp:
2525 * rendering/RenderListMarker.cpp:
2526 * rendering/RenderMultiColumnBlock.cpp:
2527 * rendering/RenderMultiColumnFlowThread.cpp:
2528 * rendering/RenderMultiColumnFlowThread.h:
2529 * rendering/RenderMultiColumnSet.cpp:
2530 * rendering/RenderMultiColumnSet.h:
2531 * rendering/RenderNamedFlowThread.cpp:
2532 * rendering/RenderNamedFlowThread.h:
2533 * rendering/RenderObject.h:
2534 * rendering/RenderReplica.cpp:
2535 * rendering/RenderReplica.h:
2536 * rendering/RenderRuby.cpp:
2537 * rendering/RenderRubyBase.cpp:
2538 * rendering/RenderRubyBase.h:
2539 * rendering/RenderRubyRun.cpp:
2540 * rendering/RenderScrollbar.cpp:
2541 * rendering/RenderScrollbarPart.cpp:
2542 * rendering/RenderScrollbarPart.h:
2543 * rendering/RenderTable.cpp:
2544 * rendering/RenderTableCell.cpp:
2545 * rendering/RenderTableCell.h:
2546 * rendering/RenderTableRow.cpp:
2547 * rendering/RenderTableRow.h:
2548 * rendering/RenderTableSection.cpp:
2549 * rendering/RenderText.cpp:
2550 * rendering/RenderView.cpp:
2551 * rendering/RenderView.h:
2552 * rendering/mathml/RenderMathMLBlock.cpp:
2553 * rendering/mathml/RenderMathMLRow.cpp:
2554 * rendering/mathml/RenderMathMLScripts.cpp:
2556 2013-09-15 Sam Weinig <sam@webkit.org>
2558 CTTE: ContentData::createRenderer() should take references
2559 https://bugs.webkit.org/show_bug.cgi?id=121399
2561 Reviewed by Andreas Kling.
2563 - Convert createRenderer(Document*, RenderStyle*) to createRenderer(Document&, RenderStyle&)
2564 - Do a drive by final-ing of ContentData derived classes.
2566 * dom/PseudoElement.cpp:
2567 (WebCore::PseudoElement::didAttachRenderers):
2568 * rendering/RenderImage.cpp:
2569 (WebCore::RenderImage::createAnonymous):
2570 * rendering/RenderImage.h:
2571 * rendering/style/ContentData.cpp:
2572 (WebCore::ImageContentData::createRenderer):
2573 (WebCore::TextContentData::createRenderer):
2574 (WebCore::CounterContentData::createRenderer):
2575 (WebCore::QuoteContentData::createRenderer):
2576 * rendering/style/ContentData.h:
2578 2013-09-15 Andreas Kling <akling@apple.com>
2580 CTTE: RenderFrameSet is never anonymous.
2581 <https://webkit.org/b/121396>
2583 Reviewed by Antti Koivisto.
2585 This renderer is never anonymous, and always has a corresponding HTMLFrameSetElement.
2586 Replaced element() with a frameSetElement().
2588 2013-09-15 Sam Weinig <sam@webkit.org>
2590 CTTE: Node subclasses should take a Document by reference in their constructor (Part 10)
2591 https://bugs.webkit.org/show_bug.cgi?id=121397
2593 Reviewed by Andreas Kling.
2595 Convert the bindings code to pass a Document reference for named constructors.
2597 * bindings/js/JSImageConstructor.cpp:
2598 (WebCore::constructImage):
2599 * bindings/scripts/CodeGeneratorJS.pm:
2600 (GenerateConstructorDefinition):
2601 * html/HTMLAudioElement.cpp:
2602 (WebCore::HTMLAudioElement::createForJSConstructor):
2603 * html/HTMLAudioElement.h:
2604 * html/HTMLImageElement.cpp:
2605 (WebCore::HTMLImageElement::createForJSConstructor):
2606 * html/HTMLImageElement.h:
2607 * html/HTMLOptionElement.cpp:
2608 (WebCore::HTMLOptionElement::createForJSConstructor):
2609 * html/HTMLOptionElement.h:
2611 2013-09-15 Sam Weinig <sam@webkit.org>
2613 CTTE: Node subclasses should take a Document by reference in their constructor (Part 9)
2614 https://bugs.webkit.org/show_bug.cgi?id=121394
2616 Reviewed by Andreas Kling.
2618 Remove the 'constructorTakesDocumentReference' property. It is the default now.
2620 * dom/make_names.pl:
2621 Always use a Document reference.
2623 * html/HTMLTagNames.in:
2624 * mathml/mathtags.in:
2626 Remove the 'constructorTakesDocumentReference' property.
2628 2013-09-15 Andreas Kling <akling@apple.com>
2630 RenderWidget doesn't need to cache a FrameView pointer.
2631 <https://webkit.org/b/121158>
2633 Reviewed by Antti Koivisto.
2635 The FrameView can be found through RenderObject::view().frameView().
2636 This way also gets you a reference, so no need for null-checking.
2638 2013-09-15 Sam Weinig <sam@webkit.org>
2640 CTTE: Node subclasses should take a Document by reference in their constructor (Part 8)
2641 https://bugs.webkit.org/show_bug.cgi?id=121393
2643 Reviewed by Andreas Kling.
2645 Converts the following to take a Document reference:
2648 2013-09-15 Sam Weinig <sam@webkit.org>
2650 [CTTE] Node subclasses should take a Document by reference in their constructor (Part 7)
2651 https://bugs.webkit.org/show_bug.cgi?id=121389
2653 Reviewed by Andreas Kling.
2655 Converts the following to take a Document reference:
2658 - MathMLInlineContainerElement
2662 2013-09-15 Andreas Kling <akling@apple.com>
2664 CTTE: RenderMedia and RenderVideo are never anonymous.
2665 <https://webkit.org/b/121388>
2667 Reviewed by Sam Weinig.
2669 Codify the following:
2671 - RenderMedia always has an HTMLMediaElement.
2672 - RenderVideo always has an HTMLVideoElement.
2674 None of these renderers are ever anonymous, so delete element() and provide
2675 strongly typed reference getters instead.
2677 2013-09-15 Andreas Kling <akling@apple.com>
2679 Unreviewed, rolling out r155809.
2680 http://trac.webkit.org/changeset/155809
2681 https://bugs.webkit.org/show_bug.cgi?id=121388
2683 Accidentally removed files, let's redo this.
2685 2013-09-15 Andreas Kling <akling@apple.com>
2687 CTTE: RenderMedia and RenderVideo are never anonymous.
2688 <https://webkit.org/b/121388>
2690 Reviewed by Sam Weinig.
2692 Codify the following:
2694 - RenderMedia always has an HTMLMediaElement.
2695 - RenderVideo always has an HTMLVideoElement.
2697 None of these renderers are ever anonymous, so delete element() and provide
2698 strongly typed reference getters instead.
2700 2013-09-15 Sam Weinig <sam@webkit.org>
2702 [CTTE] Node subclasses should take a Document by reference in their constructor (Part 6)
2703 https://bugs.webkit.org/show_bug.cgi?id=121387
2705 Reviewed by Andreas Kling.
2707 Converts the following to take a Document reference:
2717 - ProcessingInstruction
2719 - TemplateContentDocumentFragment
2722 2013-09-15 Andreas Kling <akling@apple.com>
2724 Remove RenderObject::clearNode().
2725 <https://webkit.org/b/121386>
2727 Reviewed by Anders Carlsson.
2729 This was used by ref-counted RenderWidgets after getting removed from their
2730 parent renderer but kept alive by an external ref. We have no need for this
2731 awkward state anymore, so remove clearNode().
2733 2013-09-15 Andreas Kling <akling@apple.com>
2735 CTTE: RenderWidgets are never anonymous.
2736 <https://webkit.org/b/121385>
2738 Reviewed by Anders Carlsson.
2740 Codify the following:
2742 - RenderWidget always has an HTMLFrameOwnerElement.
2743 - RenderEmbeddedObject always has an HTMLFrameOwnerElement.
2744 - RenderSnapshottedPlugIn always has an HTMLPlugInImageElement.
2745 - RenderFrame always has an HTMLFrameElement.
2746 - RenderIFrame always has an HTMLIFrameElement.
2748 None of these renderers are ever anonymous, so delete element() and provide
2749 strongly typed reference getters instead.
2751 2013-09-14 Darin Adler <darin@apple.com>
2753 Use FINAL instead of virtualChildren trick in render tree classes
2754 https://bugs.webkit.org/show_bug.cgi?id=121373
2756 Reviewed by Andreas Kling.
2758 * rendering/RenderBlock.cpp:
2759 (WebCore::RenderBlock::updateFirstLetterStyle): Use children instead of
2761 * rendering/RenderBox.cpp:
2762 (WebCore::RenderBox::splitAnonymousBoxesAroundChild): Ditto.
2763 * rendering/RenderBoxModelObject.cpp:
2764 (WebCore::RenderBoxModelObject::moveChildTo): Ditto.
2765 * rendering/RenderObject.cpp:
2766 (WebCore::RenderObject::addChild): Ditto.
2767 (WebCore::RenderObject::removeChild): Ditto.
2768 (WebCore::RenderObject::handleDynamicFloatPositionChange): Ditto.
2769 (WebCore::RenderObject::willBeDestroyed): Ditto.
2770 (WebCore::RenderObject::removeFromRenderFlowThreadRecursive): Ditto.
2772 * rendering/RenderBlock.h: Changed firstChild and lastChild to use
2773 m_children directly instead of a function. Made the children function
2774 a final virtual override. Deleted the virtualChildren override. Added
2775 override keywords to other virtual functions.
2776 * rendering/RenderEmbeddedObject.h: Ditto.
2777 * rendering/RenderFrameSet.h: Ditto.
2778 * rendering/RenderInline.h: Ditto.
2779 * rendering/RenderMedia.h: Ditto.
2780 * rendering/RenderTableCol.h: Ditto.
2781 * rendering/RenderTableRow.h: Ditto.
2782 * rendering/RenderTableSection.h: Ditto.
2783 * rendering/svg/RenderSVGContainer.h: Ditto.
2784 * rendering/svg/RenderSVGRoot.h: Ditto.
2786 * rendering/RenderObject.h:
2787 (WebCore::RenderObject::firstChild): Use children instead of virtualChildren.
2788 (WebCore::RenderObject::lastChild): Ditto.
2789 (WebCore::RenderObject::children): Renamed from virtualChildren.
2790 (WebCore::RenderObject::canHaveChildren): Use children instead of virtualChildren.
2792 2013-09-15 Darin Adler <darin@apple.com>
2794 Shrink factory functions
2795 https://bugs.webkit.org/show_bug.cgi?id=121378
2797 Reviewed by Andreas Kling.
2799 This makes the functions that builds four different types of per-element tables
2800 all have smaller code size.
2802 * DerivedSources.make: Tweaked how HTML and SVG wrapper factories are made a bit.
2803 It was OK, but a little sloppy.
2806 (WebCore::Document::createElement): Changed to call the createElement functions
2807 in the factories. Also did some style improvement.
2809 * dom/make_names.pl:
2810 (printConstructorSignature): Make constructors take a Document& instead of
2812 (printConstructorInterior): Updated for Document& instead of Document*.
2813 (printFunctionTable): Renamed from printFunctionInits, because this now
2814 creates table entries. The actual code to add each function is now done
2816 (printNamesHeaderFile): Made the table const.
2817 (printNamesCppFile): Made the table const.
2818 (printDefinitions): Generate a table, table entries, and a loop that calls
2819 createQualifiedName, rather than an "unrolled loop".
2820 (printFactoryCppFile): Tweaked indentation. Updated to take Document& instead
2821 of Document*. Generate a table, table entries, and a loop that builds a map,
2822 rather than an "unrolled" loop.
2823 (printFactoryHeaderFile): Eliminated the unused createElement member function
2824 that was part of a dream of factory objects in a namespace registry, giving
2825 the name createElement to the static member function so it would be less
2826 redundant. Also made the function takes a Document& instead of Document*.
2827 Also made the default "not created by parser", since the parser is the simpler
2828 use case, outnumbered by the non-parser uses, at least at the moment. Also,
2829 use nullptr instead of 0.
2830 (printWrapperFactoryCppFile): Generate a table, table entries, and a loop
2831 that builds a map rather than an "unrolled" loop.
2833 * editing/htmlediting.cpp:
2834 (WebCore::createHTMLElement): Put the null check here that used to be in
2835 HTMLElementFactory::createElement, and call with a reference instead of a
2836 pointer. Also don't need to pass "0, false" since "not created by the parser"
2838 * html/HTMLDocument.cpp:
2839 (WebCore::HTMLDocument::createElement): Ditto.
2841 * html/HTMLElement.cpp:
2842 (WebCore::populateEventNameForAttributeLocalNameMap): Changed to use an
2843 AtomicStringImpl* as the key instead of AtomicString, since all the strings
2844 come from the local names of tags, and so don't need to be ref'd. This saves
2845 a bit of reference count churn when building the map and is the same pattern
2846 used in some maps in the make_names.pl script above.
2847 (WebCore::HTMLElement::parseAttribute): Updated for change above.
2849 * html/HTMLObjectElement.cpp:
2850 (WebCore::isRecognizedTagName): More const.
2852 * html/parser/HTMLConstructionSite.cpp:
2853 (WebCore::HTMLConstructionSite::createHTMLElement): Changed to call the
2854 HTMLElementFactory::createElement function under its new name with a reference
2855 rather than a pointer.
2857 * html/parser/HTMLIdentifier.cpp:
2858 (WebCore::nameForIndex): More const.
2859 (WebCore::HTMLIdentifier::addNames): More const.
2861 * html/parser/HTMLTreeBuilder.cpp:
2862 (WebCore::mapLoweredLocalNameToName): More const.
2863 (WebCore::adjustSVGTagNameCase): Eliminated local variable so we would not have
2864 to utter type with more const.
2865 (WebCore::adjustAttributes): Ditto.
2866 (WebCore::addNamesWithPrefix): More const. Also tweaked to use a bit more reference,
2867 and a bit less pointer. Also used array instead of pointer for argument since they
2868 are synonyms and this use is more array-like and const array is slightly easier to
2869 understand than the double const pointer.
2870 (WebCore::adjustForeignAttributes): Eliminated local variable so we would not have
2871 to utter type with more const.
2873 * html/track/TextTrackCue.cpp:
2874 (WebCore::TextTrackCue::copyWebVTTNodeToDOMTree): Pass a reference to
2875 WebVTTElement::createEquivalentHTMLElement.
2877 * html/track/WebVTTElement.cpp:
2878 (WebCore::WebVTTElement::WebVTTElement): Take a reference instead of a pointer.
2879 (WebCore::WebVTTElement::create): Ditto.
2880 (WebCore::WebVTTElement::cloneElementWithoutAttributesAndChildren): Pass a
2881 reference instead of a pointer to create.
2882 (WebCore::WebVTTElement::createEquivalentHTMLElement): Take a reference instead
2883 of a pointer, and update uses of HTMLElementFactory::createElement. Also made
2884 this return null when a bad node type is passed in, which should never happen.
2886 * html/track/WebVTTElement.h: Use Document& instead of Document*. Removed unused
2887 and undefined create/constructor overloads.
2889 * html/track/WebVTTParser.cpp:
2890 (WebCore::WebVTTParser::constructTreeFromToken): Pass document reference rather than
2891 pointer to WebVTTElement::create.
2893 2013-09-15 Andreas Kling <akling@apple.com>
2895 Get rid of ref-counting on RenderArena.
2896 <https://webkit.org/b/121379>
2898 Reviewed by Darin Adler.
2900 This was used to guard the arena during ref-counted RenderWidget teardown.
2902 2013-09-15 Darin Adler <darin@apple.com>
2906 * css/CSSSelector.cpp:
2907 (WebCore::populatePseudoTypeByNameMap): Removed stray line that was breaking
2908 the build for any platform with !ENABLE(VIDEO_TRACK).
2910 2013-09-15 Andreas Kling <akling@apple.com>
2912 Restore two-pass mechanism for FrameView::updateEmbeddedObjects().
2913 <https://webkit.org/b/121380>
2915 Reviewed by Darin Adler.
2917 Restore the code to make a second pass over the embedded objects needing
2918 an update in case more objects were added to the set during the first pass.
2920 2013-09-15 Frédéric Wang <fred.wang@free.fr>
2922 Implement the mmultiscripts tag
2923 https://bugs.webkit.org/show_bug.cgi?id=99618
2925 Reviewed by Chris Fleizach.
2927 Tests: mathml/invalid-scripts-crash.html
2928 mathml/presentation/multiscripts-equivalence.html
2929 mathml/presentation/multiscripts-noscripts.html
2930 mathml/presentation/multiscripts-positions.html
2931 mathml/presentation/scripts-base-alignment.html
2932 mathml/presentation/scripts-horizontal-alignment.html
2933 mathml/presentation/scripts-vertical-alignment.html
2934 mathml/scripts-addChild.html
2935 mathml/scripts-removeChild.html
2937 This relies on the existing msub/msup/msubsup code to implement the mmultiscripts tag. This also improves dynamic addition/removal of children for these MathML elements and adds a specific style for invalid children, so that they render like an merror tag. Finally, this fixes a bad memory access in the Accessibility render object of msubsup.
2940 * GNUmakefile.list.am:
2942 * WebCore.vcxproj/WebCore.vcxproj:
2943 * WebCore.vcxproj/WebCore.vcxproj.filters:
2944 * WebCore.xcodeproj/project.pbxproj:
2945 * accessibility/AccessibilityRenderObject.cpp:
2946 (WebCore::AccessibilityRenderObject::isMathSubscriptSuperscript):
2947 (WebCore::AccessibilityRenderObject::mathSuperscriptObject):
2949 (mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot):
2950 (mover > :last-child, munderover > :last-child):
2951 (msub > * + *, msup > * + *, msubsup > * + *, mmultiscripts > * + *, munder > * + *, mover > * + *, munderover > * + *):
2952 (merror, msub > * + * + *, msup > * + * + *, msubsup > * + * + * + *, msub > mprescripts, msup > mprescripts, msubsup > mprescripts, msub > none, msup > none, msubsup > none, mmultiscripts > mprescripts ~ mprescripts, mmultiscripts > mprescripts ~ mprescripts ~ *):
2953 * mathml/MathMLInlineContainerElement.cpp:
2954 (WebCore::MathMLInlineContainerElement::createRenderer):
2955 * mathml/mathtags.in:
2956 * rendering/mathml/RenderMathMLBlock.h:
2957 (WebCore::RenderMathMLBlock::isRenderMathMLScripts):
2958 (WebCore::RenderMathMLBlock::isRenderMathMLScriptsWrapper):
2959 * rendering/mathml/RenderMathMLScripts.cpp: Added.
2960 (WebCore::isMPrescripts):
2961 (WebCore::RenderMathMLScripts::RenderMathMLScripts):
2962 (WebCore::RenderMathMLScripts::base):
2963 (WebCore::RenderMathMLScripts::fixAnonymousStyleForSubSupPair):
2964 (WebCore::RenderMathMLScripts::fixAnonymousStyles):
2965 (WebCore::RenderMathMLScripts::addChildInternal):
2966 (WebCore::RenderMathMLScripts::removeChildInternal):
2967 (WebCore::RenderMathMLScripts::addChild):
2968 (WebCore::RenderMathMLScripts::removeChild):
2969 (WebCore::RenderMathMLScripts::styleDidChange):
2970 (WebCore::RenderMathMLScripts::unembellishedOperator):
2971 (WebCore::RenderMathMLScripts::layout):
2972 (WebCore::RenderMathMLScripts::firstLineBoxBaseline):
2973 (WebCore::RenderMathMLScriptsWrapper::createAnonymousWrapper):
2974 (WebCore::RenderMathMLScriptsWrapper::addChildInternal):
2975 (WebCore::RenderMathMLScriptsWrapper::addChild):
2976 (WebCore::RenderMathMLScriptsWrapper::removeChildInternal):
2977 (WebCore::RenderMathMLScriptsWrapper::removeChild):
2978 * rendering/mathml/RenderMathMLScripts.h: Added.
2979 (WebCore::RenderMathMLScriptsWrapper::RenderMathMLScriptsWrapper):
2980 (WebCore::RenderMathMLScriptsWrapper::renderName):
2981 (WebCore::RenderMathMLScriptsWrapper::isRenderMathMLScriptsWrapper):
2982 (WebCore::toRenderMathMLScriptsWrapper):
2983 (WebCore::RenderMathMLScripts::isRenderMathMLScripts):
2984 (WebCore::RenderMathMLScripts::renderName):
2985 (WebCore::toRenderMathMLScripts):
2986 * rendering/mathml/RenderMathMLSubSup.cpp: Removed.
2987 * rendering/mathml/RenderMathMLSubSup.h: Removed.
2989 2013-09-15 Andreas Kling <akling@apple.com>
2991 Get rid of ref-counting on RenderWidget.
2992 <https://webkit.org/b/121357>
2994 Reviewed by Darin Adler.
2996 Instead of RenderView tracking RenderWidgets, have FrameView track Widgets
2997 that are currently in the render tree.
2999 To protect ourselves during NPAPI tomfoolery, we now let RenderWidget hand
3000 out weak pointers through a createWeakPtr() method so call sites can monitor
3001 the renderer for deletion without having to take shared ownership.
3003 This works out quite nicely since instead of keeping a limping object alive
3004 for a little longer just so we can call methods on it (to accomplish nothing),
3005 we're forced to check right away if it's gone, and take immediate action.
3007 De-virtualized RenderObject::destroy() since it's no longer needed for
3008 RenderWidget to defer destruction.
3010 * page/FrameView.cpp:
3011 (WebCore::FrameView::layout):
3012 (WebCore::FrameView::repaintFixedElementsAfterScrolling):
3014 Call updateWidgetPositions() on FrameView instead of RenderView.
3016 (WebCore::FrameView::updateEmbeddedObject):
3018 Turn null checking of embedded object's element backpointer into an
3019 assertion. This will eventually go away completely once that renderer
3020 can return a HTMLFrameOwnerElement&.
3022 Use WeakPtr to check for renderer destruction following the call out
3025 (WebCore::FrameView::updateEmbeddedObjects):
3027 Slap a WidgetHierarchyUpdatesSuspensionScope guard on this function
3028 to defer Widget updates until all the updateEmbeddedObject calls are
3029 done. This avoids RenderWidget::setWidget() having to handle 'this'
3030 disappearing from underneath.
3032 Also use a ListHashSet with a null sentinel to avoid looping forever.
3034 (WebCore::FrameView::performPostLayoutTasks):
3036 Only call updateEmbeddedObjects() once since that function no longer
3039 (WebCore::FrameView::notifyWidgetsInAllFrames):
3041 Call notifyWidgets() on FrameView instead of RenderView.
3043 (WebCore::FrameView::didAddWidgetToRenderTree):
3044 (WebCore::FrameView::willRemoveWidgetFromRenderTree):
3046 Added. These are called by RenderWidget when a Widget is being
3047 added or removed from a RenderWidget.
3049 (WebCore::collectWidgets):
3051 Helper to collect raw Widget pointers into a Vector and ref them.
3053 (WebCore::FrameView::updateWidgetPositions):
3055 Moved here from RenderView. This function holds a ref on all the
3056 attached Widgets and calls RenderWidget::updateWidgetPosition() on
3057 their corresponding renderers.
3059 (WebCore::FrameView::notifyWidgets):
3061 Moved here from RenderView. Holds a ref on all the widgets while
3062 calling Widget::notifyWidget() on each one.
3064 * rendering/RenderLayer.cpp:
3065 (WebCore::RenderLayer::scrollTo):
3067 Call updateWidgetPositions() on FrameView instead of RenderView.
3069 * rendering/RenderObject.h:
3071 De-virtualized destroy().
3073 * rendering/RenderView.cpp:
3074 * rendering/RenderView.h:
3076 Moved a bunch of things to FrameView. Made protected section private
3077 since nothing inherits from RenderView.
3079 * rendering/RenderWidget.h:
3080 (WebCore::RenderWidget::createWeakPtr):
3082 Added a WeakPtr factory for clients that want to monitor this object
3085 * rendering/RenderWidget.cpp:
3086 (WebCore::RenderWidget::RenderWidget):
3087 (WebCore::RenderWidget::willBeDestroyed):
3088 (WebCore::RenderWidget::~RenderWidget):
3090 Removed ref counting.
3091 Removed registration with RenderView in ctor/willBeDestroyed.
3093 (WebCore::RenderWidget::setWidgetGeometry):
3095 Monitor the RenderWidget itself through a WeakPtr and check on it
3096 after each step that we're still alive. In that case just bail out.
3098 (WebCore::RenderWidget::setWidget):
3100 Register the incoming/outgoing Widget with the FrameView.
3101 Use a WeakPtr to check on 'this' after updateWidgetGeometry().
3103 (WebCore::RenderWidget::updateWidgetPosition):
3105 Use a WeakPtr to check on 'this' after updateWidgetGeometry().
3107 * GNUmakefile.list.am:
3108 * rendering/RenderWidgetProtector.h:
3113 2013-09-14 Sam Weinig <sam@webkit.org>
3115 [CTTE] Node subclasses should take a Document by reference in their constructor (Part 5)
3116 https://bugs.webkit.org/show_bug.cgi?id=121375
3118 Reviewed by Andreas Kling.
3120 * dom/make_names.pl:
3121 Add support for a top level 'constructorTakesDocumentReference' property to
3122 force using a Document reference for the whole factory.
3124 * html/HTMLTagNames.in:
3125 Replace per-tag 'constructorTakesDocumentReference' with a top level declaration
3126 now that all of the HTML tag names are supported.
3128 Converts the following to take a Document reference:
3129 - HTMLContentElement
3131 - HTMLFrameElementBase
3132 - HTMLFrameOwnerElement
3134 - HTMLPlugInImageElement
3135 - HTMLUnknownElement
3139 - TextTrackCueGenericBoxElement
3141 2013-09-14 Eric Carlson <eric.carlson@apple.com>
3143 MediaStream API: Update RTCDataChannel
3144 https://bugs.webkit.org/show_bug.cgi?id=121102
3146 Reviewed by Sam Weinig.
3148 Based on https://chromium.googlesource.com/chromium/blink/+/c6975c41956acded7cf0363012d7d6b69d0c6d96,
3149 and https://chromium.googlesource.com/chromium/blink/+/214dab0bd6385f573c918ba5ce58a5aa206ce186.
3151 No new tests, existing tests updated.
3153 * Modules/mediastream/RTCDataChannel.cpp:
3154 (WebCore::RTCDataChannel::create): Take an options Dictionary.
3155 (WebCore::RTCDataChannel::didChangeReadyState): String -> AtomicString. Early return if the
3156 state hasn't changed.
3157 (WebCore::RTCDataChannel::binaryType): String -> AtomicString.
3158 (WebCore::RTCDataChannel::setBinaryType): String -> AtomicString.
3159 * Modules/mediastream/RTCDataChannel.h:
3160 * Modules/mediastream/RTCDataChannel.idl:
3162 * Modules/mediastream/RTCPeerConnection.cpp:
3163 (WebCore::RTCPeerConnection::createDataChannel): Take an options struct.
3164 * platform/mediastream/RTCDataChannelHandler.h:
3166 * platform/mediastream/RTCPeerConnectionHandler.h:
3167 (WebCore::RTCDataChannelInit::RTCDataChannelInit): Take an options struct.
3169 2013-09-14 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
3171 MediaStream API: Update RTCDataChannel to match the specification
3172 https://bugs.webkit.org/show_bug.cgi?id=120889
3174 Reviewed by Eric Carlson
3176 Merged from https://chromium.googlesource.com/chromium/blink/+/c3862b0a83e20fc8b1f770c7e4a886a7cceb80d2
3177 by Tommy Widenflycht.
3179 According to WebRTC specification, RTCDataChannel must have the following new attributes:
3181 unsigned short maxRetransmitTime
3182 unsigned short maxRetransmits
3187 and the following one was deprecated:
3190 Test updates will be landed with https://webkit.org/b/121102.
3192 * Modules/mediastream/RTCDataChannel.cpp:
3193 (WebCore::RTCDataChannel::ordered):
3194 (WebCore::RTCDataChannel::maxRetransmitTime):
3195 (WebCore::RTCDataChannel::maxRetransmits):
3196 (WebCore::RTCDataChannel::protocol):
3197 (WebCore::RTCDataChannel::negotiated):
3198 (WebCore::RTCDataChannel::id):
3199 * Modules/mediastream/RTCDataChannel.h:
3200 * Modules/mediastream/RTCDataChannel.idl:
3201 * platform/mediastream/RTCDataChannelHandler.h:
3203 2013-09-14 Sam Weinig <sam@webkit.org>
3205 [CTTE] Node subclasses should take a Document by reference in their constructor (Part 4)
3206 https://bugs.webkit.org/show_bug.cgi?id=121372
3208 Reviewed by Eric Carlson.
3210 Converts the following to take a Document reference:
3211 - HTMLFormControlElement
3212 - HTMLFormControlElementWithState
3214 - HTMLMarqueeElement
3221 - HTMLOptGroupElement
3224 - HTMLParagraphElement
3226 - HTMLProgressElement
3232 - HTMLSummaryElement
3233 - HTMLTableCellElement
3235 - HTMLTableRowElement
3236 - HTMLTableSectionElement
3237 - HTMLTemplateElement
3238 - HTMLTextAreaElement
3239 - HTMLTextFormControlElement
3243 - InlineStyleSheetOwner
3245 - All the MediaControl elements
3247 2013-09-14 Joseph Pecoraro <pecoraro@apple.com>
3249 XMLViewer_js and XMLViewer_css should be minified
3250 https://bugs.webkit.org/show_bug.cgi?id=121334
3252 Reviewed by Timothy Hatcher.
3255 * DerivedSources.make:
3256 * DerivedSources.pri:
3258 * xml/XMLViewer.css:
3261 2013-09-14 Eric Carlson <eric.carlson@apple.com>
3263 [MediaStream] remove MediaStream.label
3264 https://bugs.webkit.org/show_bug.cgi?id=121337
3266 Reviewed by Sam Weinig.
3268 No new tests or modified tests, this attribute was apparently never tested.
3270 * Modules/mediastream/MediaStream.h:
3271 * Modules/mediastream/MediaStream.idl:
3273 2013-09-14 Sam Weinig <sam@webkit.org>
3275 [CTTE] Node subclasses should take a Document by reference in their constructor (Part 3)
3276 https://bugs.webkit.org/show_bug.cgi?id=121368
3278 Reviewed by Darin Adler.
3280 Converts the following to take a Document reference:
3282 - DetailsContentElement
3283 - DetailsMarkerControl
3284 - DetailsSummaryElement
3288 - HTMLBaseFontElement
3292 - HTMLDataListElement
3293 - HTMLDetailsElement
3294 - HTMLDirectoryElement
3297 - HTMLFieldSetElement
3301 - HTMLFrameSetElement
3304 - HTMLHeadingElement
3317 - HTMLTableCaptionElement
3318 - HTMLTableColElement
3319 - ImageDocumentElement
3320 - KeygenSelectElement
3321 - SummaryContentElement
3322 - UploadButtonElement
3325 2013-09-14 Zan Dobersek <zdobersek@igalia.com>
3327 REGRESSION(r155228): Call to DragData::asFragment() nullifies PassRefPtr<Range> in documentFragmentFromDragData
3328 https://bugs.webkit.org/show_bug.cgi?id=121359
3330 Reviewed by Darin Adler.
3332 * page/DragController.cpp:
3333 (WebCore::documentFragmentFromDragData): Pass the naked pointer as the PassRefPtr<Range> argument to the DragData::asFragment()
3334 call. The naked pointer will get wrapped and protected by a new PassRefPtr. Passing the original PassRefPtr will also create
3335 a new PassRefPtr, but will leak the reference of the original one, leaving its pointer nullified.
3337 2013-09-14 Zan Dobersek <zdobersek@igalia.com>
3339 Unreviewed GTK build fix after r155774.
3341 * bindings/scripts/CodeGeneratorGObject.pm:
3342 (SkipFunction): Temporarily skip generation of bindings for the Console::profile() and Console::profileEnd() methods
3343 as they're not correctly generated for the moment.
3345 2013-09-14 Darin Adler <darin@apple.com>
3347 Shrink the nameToPseudoTypeMap function
3348 https://bugs.webkit.org/show_bug.cgi?id=121367
3350 Reviewed by Andreas Kling.
3352 * css/CSSSelector.cpp:
3353 (WebCore::populatePseudoTypeByNameMap): Replaces the old nameToPseudoTypeMap
3354 function. Use a table instead of lots of globals and unrolled code to set up
3356 (WebCore::CSSSelector::parsePseudoType): Updated to use the code above, and
3357 also use a different style that's tighter.
3359 2013-09-14 Darin Adler <darin@apple.com>
3361 Shrink the listMarkerText function
3362 https://bugs.webkit.org/show_bug.cgi?id=121364
3364 Reviewed by Andreas Kling.
3366 Changed code to use StringBuilder, which is a better fit for what we are
3367 doing here. But mainly, inlining was out of hand, so hit that with the
3368 NEVER_INLINE stick. Might be worth revisiting this to optimize further for
3369 speed by making StringBuilder better at this.
3371 * rendering/RenderListMarker.cpp:
3372 (WebCore::toRoman): NEVER_INLINE and use StringBuilder.
3373 (WebCore::toAlphabeticOrNumeric): Use StringBuilder.
3374 (WebCore::toSymbolic): NEVER_INLINE and use StringBuilder.
3375 (WebCore::toAlphabetic): Ditto.
3376 (WebCore::toNumeric): Ditto.
3377 (WebCore::toHebrewUnder1000): NEVER_INLINE.
3378 (WebCore::toHebrew): NEVER_INLINE and use StringBuilder.
3379 (WebCore::toArmenianUnder10000): NEVER_INLINE.
3380 (WebCore::toArmenian): NEVER_INLINE and use StringBuilder.
3381 (WebCore::toGeorgian): NEVER_INLINE and use StringBuilder.
3382 (WebCore::toCJKIdeographic): NEVER_INLINE and use StringBuilder.
3383 (WebCore::listMarkerText): Use StringBuilder.
3385 2013-09-14 Sam Weinig <sam@webkit.org>
3387 [CTTE] Node subclasses should take a Document by reference in their
3388 constructor (HTMLAnchorElement, HTMLAppletElement, HTMLAreaElement, HTMLAudioElement)
3389 https://bugs.webkit.org/show_bug.cgi?id=121365
3391 Reviewed by Andreas Kling.
3393 * editing/CreateLinkCommand.cpp:
3394 (WebCore::CreateLinkCommand::doApply):
3395 * editing/UnlinkCommand.cpp:
3396 (WebCore::UnlinkCommand::doApply):
3397 * html/HTMLAnchorElement.cpp:
3398 (WebCore::HTMLAnchorElement::HTMLAnchorElement):
3399 (WebCore::HTMLAnchorElement::create):
3400 * html/HTMLAnchorElement.h:
3401 * html/HTMLAppletElement.cpp:
3402 (WebCore::HTMLAppletElement::HTMLAppletElement):
3403 (WebCore::HTMLAppletElement::create):
3404 * html/HTMLAppletElement.h:
3405 * html/HTMLAreaElement.cpp:
3406 (WebCore::HTMLAreaElement::HTMLAreaElement):
3407 (WebCore::HTMLAreaElement::create):
3408 * html/HTMLAreaElement.h:
3409 * html/HTMLAudioElement.cpp:
3410 (WebCore::HTMLAudioElement::HTMLAudioElement):
3411 (WebCore::HTMLAudioElement::create):
3412 (WebCore::HTMLAudioElement::createForJSConstructor):
3413 * html/HTMLAudioElement.h:
3414 * html/HTMLTagNames.in:
3415 * html/HTMLViewSourceDocument.cpp:
3416 (WebCore::HTMLViewSourceDocument::addLink):
3417 * page/DragController.cpp:
3418 (WebCore::documentFragmentFromDragData):
3420 2013-09-14 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
3422 Get INPUT_SPEECH compiling for Nix, EFL and GTK
3423 https://bugs.webkit.org/show_bug.cgi?id=121362
3425 r154257 was not applied completely in HTMLInputElement.cpp and there was a wrong method signature
3426 in TextControlInnerElements.
3427 Also adding the files needed to build INPUT_SPEECH to each build system files.
3429 Reviewed by Andreas Kling.
3431 No new tests needed.
3434 * GNUmakefile.list.am:
3435 * html/HTMLInputElement.cpp:
3436 (WebCore::HTMLInputElement::parseAttribute):
3437 * html/shadow/TextControlInnerElements.h:
3439 2013-09-14 Alberto Garcia <berto@igalia.com>
3441 Missing allow-none introspection annotation for DomDocument.evaluate method
3442 https://bugs.webkit.org/show_bug.cgi?id=118310
3444 Reviewed by Martin Robinson.
3446 Add (allow-none) introspection annotation to parameters that can
3449 * bindings/scripts/CodeGeneratorGObject.pm:
3452 2013-09-14 Sam Weinig <sam@webkit.org>
3454 [CTTE] Node subclasses should take a Document by reference in their constructor (HTMLBodyElement)
3455 https://bugs.webkit.org/show_bug.cgi?id=121363
3457 Reviewed by Andreas Kling.
3459 * dom/make_names.pl:
3460 (defaultTagPropertyHash):
3461 (printConstructorInterior):