5cd6ca20cbf5829eeff9d3c35b4806ddc0de7f82
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-09-19  Andrei Parvu  <parvu@adobe.com>
2
3         [CSS Masking/Background] Position property should be ignored when using repeat: space
4         https://bugs.webkit.org/show_bug.cgi?id=120623
5
6         The background/mask-position should be ignored when using repeat: space,
7         unless there is not enough space for two copies of the image. In that case,
8         only one image is placed and background/mask-position determines its position.
9
10         Reviewed by Dirk Schulze.
11
12         Test: css3/masking/mask-repeat-one-copy.html
13
14         * rendering/RenderBoxModelObject.cpp: Ignored position property if space value is positive, set no-repeat otherwise.
15         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
16
17 2013-09-19  Andreas Kling  <akling@apple.com>
18
19         CTTE: EllipsisBox::renderer() should return RenderBlock&.
20         <https://webkit.org/b/121604>
21
22         Reviewed by Antti Koivisto.
23
24         I missed adding a renderer() overload when fixing up EllipsisBox.
25         Flushed out one unnecessary type check.
26
27 2013-09-19  Andreas Kling  <akling@apple.com>
28
29         CTTE: Tighten renderer types for InlineTextBox and SVGInlineTextBox.
30         <https://webkit.org/b/121605>
31
32         Reviewed by Antti Koivisto.
33
34         Codify the following:
35
36         - InlineTextBox always has a RenderText.
37         - SVGInlineTextBox always has a RenderSVGInlineText.
38
39         Removed InlineTextBox::textRenderer() and make renderer() simply
40         return a RenderText&/RenderSVGInlineText& instead.
41
42         This turns some node() accessors into textNode() and removes a host
43         of casts and assertions.
44
45 2013-09-19  Antti Koivisto  <antti@apple.com>
46
47         [CTTE] Hide nonPseudoNode and generatingNode, replace with Element versions
48         https://bugs.webkit.org/show_bug.cgi?id=121606
49
50         Reviewed by Andreas Kling.
51
52 2013-09-19  Andreas Kling  <akling@apple.com>
53
54         CTTE: Tighten renderer types for InlineFlowBox and SVGInlineFlowBox.
55         <https://webkit.org/b/121603>
56
57         Reviewed by Antti Koivisto.
58
59         Codify the following:
60
61         - InlineFlowBox always has a RenderBoxModelObject.
62         - SVGInlineFlowBox always has a RenderSVGInline.
63
64         This turns some node() accessors into element(). Neato!
65
66 2013-09-19  Gurpreet Kaur  <k.gurpreet@samsung.com>
67
68         CSS Unit vmax and vmin in border-width not handled.
69         https://bugs.webkit.org/show_bug.cgi?id=121421
70
71         Reviewed by Darin Adler.
72
73         Border properties were not applied incase its values 
74         were given in vmax/vmin units.
75
76         Tests: fast/css/viewport-vmax-border.html
77                fast/css/viewport-vmin-border.html
78
79         * css/CSSPrimitiveValue.cpp:
80         (WebCore::CSSPrimitiveValue::computeLengthDouble):
81         * css/CSSPrimitiveValue.h:
82         (WebCore::CSSPrimitiveValue::isViewportPercentageMax):
83         (WebCore::CSSPrimitiveValue::isViewportPercentageMin):
84         * css/DeprecatedStyleBuilder.cpp:
85         (WebCore::ApplyPropertyComputeLength::applyValue):
86         Calculating the border values which has been specified in
87         vmax/vmin units. 1vmax: 1vw or 1vh, whatever is largest.
88         1vmin: 1vw or 1vh, whatever is smallest. The vh/vw units are 
89         calcultated as percent of viewport height and viewport width respectively.
90
91 2013-09-19  Antti Koivisto  <antti@apple.com>
92
93         [CTTE] RenderText is always anonymous or associated with Text node
94         https://bugs.webkit.org/show_bug.cgi?id=121596
95
96         Reviewed by Andreas Kling.
97
98         Tighten the node type of RenderText and its subclasses to Text.
99         Switch to createAnonymous pattern.
100         Switch a bunch of unnecessary StringImpl* use to Strings.
101
102 2013-09-18  Mihnea Ovidenie  <mihnea@adobe.com>
103
104         Unreviewed build fix after 156082. Guard SVG code with defines.
105
106         * rendering/RenderNamedFlowThread.cpp:
107         (WebCore::nextNodeInsideContentNode):
108
109 2013-09-18  Mihnea Ovidenie  <mihnea@adobe.com>
110
111         [CSSRegions] Failed to retrieve named flow ranges for content with inline svg
112         https://bugs.webkit.org/show_bug.cgi?id=121489
113
114         Reviewed by David Hyatt.
115
116         The inline SVG element behaves like a replaced element in HTML context. When computing the ranges
117         that are displayed inside a region for a named flow that contains an inline SVG element, we have
118         to treat the SVG as a replaced and run the checks only for the SVG root element, skipping the
119         other SVG elements inside.
120
121         Test: fast/regions/get-region-flow-ranges-inline-svg.html
122
123         * rendering/RenderNamedFlowThread.cpp:
124         (WebCore::nextNodeInsideContentNode): Add function to retrieve the next node in traversal
125         under the contentNode subtree that should be used for getRanges inspection.
126         (WebCore::RenderNamedFlowThread::getRanges): Replace NodeTravesal::next with nextNodeInsideContentNode.
127
128 2013-09-18  Bem Jones-Bey  <bjonesbe@adobe.com>
129
130         REGRESSION (r155854 - r155967) block with margin-left adjacent to floated block causes text of subsequent blocks to overlap the floated block.
131         https://bugs.webkit.org/show_bug.cgi?id=121532
132
133         Reviewed by Andreas Kling.
134
135         When refactoring the code, I ended up adding the margin in instead of
136         subtracting it in the case of an intruding float. This patch fixes
137         that so that the margin is properly handled.
138
139         Test: fast/block/float/intruding-float-sibling-with-margin.html
140
141         * rendering/RenderBlock.cpp:
142         (WebCore::RenderBlock::addIntrudingFloats):
143
144 2013-09-18  Ryosuke Niwa  <rniwa@webkit.org>
145
146         Merge HTMLBodyElement::didNotifySubtreeInsertions into HTMLBodyElement::insertedInto
147         https://bugs.webkit.org/show_bug.cgi?id=121576
148
149         Reviewed by Andreas Kling.
150
151         Merge https://chromium.googlesource.com/chromium/blink/+/2a9cac908f4eceadfcf9d21bdf5b3e598075aa1f
152
153         The logic in didNotifySubtreeInsertions to set the marginwidth and marginheight attributes
154         on the <body> of elements inside <iframe> and <frame> doesn't need to run after inserting
155         all the children of the frame. In fact this means that when you have those attributes
156         and then the script in the iframe touches offsetLeft or any layout dependent property
157         we'll layout with the wrong values and then have to do another layout after these margin
158         attributes are set.
159
160         I also remove the scheduleRelayout() call that was inside didNotifySubtreeInsertions. This
161         call doesn't make any sense, inserting a <body> will always trigger a style recalc and
162         a subsequent layout. The code is 9 years old: https://trac.webkit.org/changeset/8122
163         and all tests run fine without it.
164
165         * html/HTMLBodyElement.cpp:
166         (WebCore::HTMLBodyElement::insertedInto):
167         * html/HTMLBodyElement.h:
168         * html/HTMLFrameElementBase.h:
169         (WebCore::isHTMLFrameElementBase):
170         (WebCore::toHTMLFrameElementBase):
171
172 2013-09-18  Jer Noble  <jer.noble@apple.com>
173
174         [MSE] Throw exception when setting timestampOffset while 'updating' state is set.
175         https://bugs.webkit.org/show_bug.cgi?id=121561
176
177         Reviewed by Eric Carlson.
178
179         Tests: Updated http/tests/media/media-source/mediasource-append-buffer.html.
180
181         Merge https://chromium.googlesource.com/chromium/blink/+/25285998be3d0edcd951d12d445a7375e50e512c
182         by Changbin Shao.
183
184         The Media Source Extensions spec requires that an exception be thrown if the 'updating' attribute
185         equals true while setting the timestampOffset of a SourceBuffer. 
186
187         * Modules/mediasource/SourceBuffer.cpp:
188         (WebCore::SourceBuffer::setTimestampOffset):
189
190 2013-09-18  Anders Carlsson  <andersca@apple.com>
191
192         RefPtrHashMap should work with move only types
193         https://bugs.webkit.org/show_bug.cgi?id=121564
194
195         Reviewed by Andreas Kling.
196
197         * bridge/IdentifierRep.cpp:
198         (WebCore::IdentifierRep::get):
199         * page/PageGroup.cpp:
200         (WebCore::PageGroup::transientLocalStorage):
201
202 2013-09-18  Enrica Casucci  <enrica@apple.com>
203
204         Upstream changes to WebHTMLConverter to support HTML
205         to NSAttributedString conversion on both iOS and OS X.
206
207         Reviewed by Benjamin Poulain.
208
209         This is a new submission of r156001 with the fix for the
210         failing TestWebKitAPI test. The additional change has been
211         reviewed by Tim Horton.
212         
213         * platform/mac/HTMLConverter.h:
214         * platform/mac/HTMLConverter.mm:
215         (WebDefaultFont):
216         (_fontForNameAndSize):
217         (+[WebHTMLConverter defaultParagraphStyle]):
218         (-[WebHTMLConverter _computedStyleForElement:]):
219         (-[WebHTMLConverter _specifiedStyleForElement:]):
220         (-[WebHTMLConverter _computedStringForNode:property:]):
221         (-[WebHTMLConverter _stringForNode:property:]):
222         (-[WebHTMLConverter _getComputedFloat:forNode:property:]):
223         (-[WebHTMLConverter _getFloat:forNode:property:]):
224         (_NSFirstPathForDirectoriesInDomains):
225         (_NSSystemLibraryPath):
226         (-[WebHTMLConverter _webKitBundle]):
227         (_colorForRGBColor):
228         (_shadowForShadowStyle):
229         (-[WebHTMLConverter _elementIsBlockLevel:]):
230         (-[WebHTMLConverter _elementHasOwnBackgroundColor:]):
231         (-[WebHTMLConverter _computedColorForNode:property:]):
232         (-[WebHTMLConverter _colorForNode:property:]):
233         (-[WebHTMLConverter _computedAttributesForElement:]):
234         (-[WebHTMLConverter _attributesForElement:]):
235         (-[WebHTMLConverter _newParagraphForElement:tag:allowEmpty:suppressTrailingSpace:]):
236         (-[WebHTMLConverter _newLineForElement:]):
237         (-[WebHTMLConverter _newTabForElement:]):
238         (-[WebHTMLConverter _WebMessageDocumentClass]):
239         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
240         (-[WebHTMLConverter _addQuoteForElement:opening:level:]):
241         (-[WebHTMLConverter _addValue:forElement:]):
242         (-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
243         (_dateForString):
244         (_colCompare):
245         (-[WebHTMLConverter _processMetaElementWithName:content:]):
246         (-[WebHTMLConverter _processHeadElement:]):
247         (-[WebHTMLConverter _enterElement:tag:display:embedded:]):
248         (-[WebHTMLConverter _addTableForElement:]):
249         (-[WebHTMLConverter _addTableCellForElement:]):
250         (-[WebHTMLConverter _processElement:tag:display:depth:]):
251         (-[WebHTMLConverter _addMarkersToList:range:]):
252         (-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
253         (-[WebHTMLConverter _processText:]):
254         (-[WebHTMLConverter _traverseNode:depth:embedded:]):
255         (-[WebHTMLConverter _traverseFooterNode:depth:]):
256         (-[WebHTMLConverter _loadFromDOMRange]):
257         (-[WebHTMLConverter dealloc]):
258         (-[WebHTMLConverter init]):
259         (-[WebHTMLConverter initWithDOMRange:]):
260         (-[WebHTMLConverter attributedString]):
261         (+[WebHTMLConverter editingAttributedStringFromRange:]):
262
263 2013-09-18  Antti Koivisto  <antti@apple.com>
264
265         Rename RenderBR to RenderLineBreak
266         https://bugs.webkit.org/show_bug.cgi?id=121560
267
268         Reviewed by Sam Weinig.
269
270         It now represents both hard (br) and soft (wbr) line breaks.
271
272 2013-09-18  Robert Hogan  <robert@webkit.org>
273
274         Quirksmode: Break Tag Extra Space Bug
275         https://bugs.webkit.org/show_bug.cgi?id=11943
276
277         Reviewed by David Hyatt.
278
279         Collapse away all space between text and a hard line-break when in a right-aligned
280         container so that the trailing space doesn't push the text away from the container edge.
281
282         Test: fast/text/whitespace/trailing-space-before-br-in-right-aligned-text.html
283
284         * rendering/RenderBlockLineLayout.cpp:
285         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
286
287 2013-09-18  Jer Noble  <jer.noble@apple.com>
288
289         Unreviewed build fix for Qt (and other) ports after 156049.
290
291         Wrap implementation of PublicURLManager in ENABLE(BLOB) check.
292
293         * html/PublicURLManager.cpp:
294
295 2013-09-18  Jer Noble  <jer.noble@apple.com>
296
297         Merge blink MediaSource changes since fork.
298         https://bugs.webkit.org/show_bug.cgi?id=118752
299
300         Rubber-stamped by Eric Carlson.
301
302         Tests: http/tests/media/media-source/mediasource-addsourcebuffer.html
303                http/tests/media/media-source/mediasource-append-buffer.html
304                http/tests/media/media-source/mediasource-buffered.html
305                http/tests/media/media-source/mediasource-closed.html
306                http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate.html
307                http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate.html
308                http/tests/media/media-source/mediasource-config-change-mp4-av-framesize.html
309                http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate.html
310                http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate.html
311                http/tests/media/media-source/mediasource-config-change-mp4-v-framerate.html
312                http/tests/media/media-source/mediasource-config-change-mp4-v-framesize.html
313                http/tests/media/media-source/mediasource-config-change-webm-a-bitrate.html
314                http/tests/media/media-source/mediasource-config-change-webm-av-audio-bitrate.html
315                http/tests/media/media-source/mediasource-config-change-webm-av-framesize.html
316                http/tests/media/media-source/mediasource-config-change-webm-av-video-bitrate.html
317                http/tests/media/media-source/mediasource-config-change-webm-v-bitrate.html
318                http/tests/media/media-source/mediasource-config-change-webm-v-framerate.html
319                http/tests/media/media-source/mediasource-config-change-webm-v-framesize.html
320                http/tests/media/media-source/mediasource-is-type-supported.html
321                http/tests/media/media-source/mediasource-multiple-attach.html
322                http/tests/media/media-source/mediasource-play.html
323                http/tests/media/media-source/mediasource-sourcebufferlist.html
324
325         Add files to project. Fix compile errors exposed by enabling.
326
327         * WebCore.xcodeproj/project.pbxproj:
328         * Modules/mediasource/MediaSourceRegistry.cpp:
329         (WebCore::MediaSourceRegistry::lookupMediaSource):
330         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
331         (WebCore::MediaPlayerPrivateAVFoundation::load):
332         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
333         (WebCore::MediaPlayerPrivateQTKit::load):
334         * platform/mac/MIMETypeRegistryMac.mm:
335         (WebCore::MIMETypeRegistry::isSupportedMediaSourceMIMEType):
336         * CMakeLists.txt:
337         * DerivedSources.make:
338         * DerivedSources.pri:
339         * GNUmakefile.list.am:
340
341         Merge
342         https://chromium.googlesource.com/chromium/blink/+/c38e2955db98a300a535b692869fea0e41501497
343         https://chromium.googlesource.com/chromium/blink/+/8568015e9bee1de7fccee28163f9e4a4b51f9baf
344         https://chromium.googlesource.com/chromium/blink/+/14417e8fa6294f4e7dbc1e0fac549398522b2f97
345         https://chromium.googlesource.com/chromium/blink/+/f43a5496f233102f8861a067a9cf8053c010d401
346         https://chromium.googlesource.com/chromium/blink/+/57771439806f7c6e6a272efb1ea72900f5f6a015
347         https://chromium.googlesource.com/chromium/blink/+/8c77a790a9d225194db0a8832399d0f9e1fa54ec
348         https://chromium.googlesource.com/chromium/blink/+/d33ae3fa7a8592e946503ed17f862a27c6d9dde1
349         https://chromium.googlesource.com/chromium/blink/+/1caaa9c51f06e1b9341d58c994f77fd59fcd236d
350         https://chromium.googlesource.com/chromium/blink/+/e95720393b0ebe67f19de39bb77cdf2926165512
351         https://chromium.googlesource.com/chromium/blink/+/bad2c1b4b70faec731b2ad3cc8a4ccf28de6cc38
352         https://chromium.googlesource.com/chromium/blink/+/a7873430c3d5c9373336c6f3993db3cb4228e9cd
353         https://chromium.googlesource.com/chromium/blink/+/508966d5e32360b3cec058f9fbae0014542fbc52
354         https://chromium.googlesource.com/chromium/blink/+/371dfe72f61ce6f73e6c242324da73c415d38be3
355
356 2013-09-18  Andreas Kling  <akling@apple.com>
357
358         CTTE: RenderBR always has an HTMLElement.
359         <https://webkit.org/b/121557>
360
361         Reviewed by Antti Koivisto.
362
363         This renderer is never anonymous and always has a corresponding HTMLElement.
364         Tighten this up by making the constructor take a HTMLElement& and remove
365         RenderBR::createAnonymous().
366
367 2013-09-18  Andreas Kling  <akling@apple.com>
368
369         Avoid using RenderBR internally in RenderMenuList.
370         <https://webkit.org/b/121550>
371
372         Reviewed by Antti Koivisto.
373
374         RenderMenuLists with an empty caption text were previously using a
375         RenderBR as placeholder.
376
377         Switch to using a \n RenderText instead so we can tighten RenderBR.
378
379         This will change DRT dumps but actual metrics should not change.
380
381 2013-09-18  Antti Koivisto  <antti@apple.com>
382
383         Change one accidental "object->isText() || object->isLineBreak()" from previous patch back to "object->isTextOrLineBreak()"
384         
385         Not reviewed.
386
387         * rendering/InlineIterator.h:
388         (WebCore::isIteratorTarget):
389
390 2013-09-18  Antti Koivisto  <antti@apple.com>
391
392         Remove RenderWordBreak
393         https://bugs.webkit.org/show_bug.cgi?id=121549
394
395         Reviewed by Andreas Kling.
396
397         Remove RenderWordBreak and make it a bit in RenderBR instead.
398         
399         * CMakeLists.txt:
400         * GNUmakefile.list.am:
401         * Target.pri:
402         * WebCore.vcxproj/WebCore.vcxproj:
403         * WebCore.xcodeproj/project.pbxproj:
404         * dom/Document.cpp:
405         (WebCore::Document::updateHoverActiveState):
406         * dom/Position.cpp:
407         (WebCore::hasInlineBoxWrapper):
408         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
409         * editing/Editor.cpp:
410         (WebCore::findFirstMarkable):
411         * editing/TextIterator.cpp:
412         (WebCore::ignoresContainerClip):
413         * html/HTMLElement.cpp:
414         (WebCore::HTMLElement::createRenderer):
415         * rendering/InlineBox.cpp:
416         (WebCore::InlineBox::logicalHeight):
417         (WebCore::InlineBox::baselinePosition):
418         (WebCore::InlineBox::lineHeight):
419         (WebCore::InlineBox::deleteLine):
420         (WebCore::InlineBox::extractLine):
421         (WebCore::InlineBox::attachLine):
422         (WebCore::InlineBox::nodeAtPoint):
423         * rendering/InlineBox.h:
424         (WebCore::InlineBox::isLineBreak):
425         * rendering/InlineFlowBox.cpp:
426         (WebCore::InlineFlowBox::addToLine):
427         (WebCore::InlineFlowBox::computeOverflow):
428         * rendering/InlineIterator.h:
429         (WebCore::InlineIterator::atTextParagraphSeparator):
430         (WebCore::isIteratorTarget):
431         * rendering/RenderBR.cpp:
432         (WebCore::RenderBR::RenderBR):
433         * rendering/RenderBR.h:
434         (WebCore::toRenderBR):
435     
436             RenderBR now represents both hard and soft line breaks. It will be renamed to RenderLineBreak later.
437
438         * rendering/RenderBlock.cpp:
439         (WebCore::InlineMinMaxIterator::next):
440         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
441         * rendering/RenderBlockLineLayout.cpp:
442         (WebCore::createInlineBoxForRenderer):
443         (WebCore::dirtyLineBoxesForRenderer):
444         (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
445         (WebCore::RenderBlockFlow::layoutInlineChildren):
446         (WebCore::textBeginsWithBreakablePosition):
447         (WebCore::canBreakAtThisPosition):
448         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
449         * rendering/RenderInline.cpp:
450         (WebCore::RenderInline::generateCulledLineBoxRects):
451         (WebCore::RenderInline::culledInlineFirstLineBox):
452         (WebCore::RenderInline::culledInlineLastLineBox):
453         (WebCore::RenderInline::dirtyLineBoxes):
454         * rendering/RenderLineBoxList.cpp:
455         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
456         * rendering/RenderObject.h:
457         (WebCore::RenderObject::isLineBreak):
458         
459             This bit covers both BR and WBR.
460
461         (WebCore::RenderObject::isBR):
462         (WebCore::RenderObject::isLineBreakOpportunity):
463         
464             Rename isWordBreak to isLineBreakOpportunity. This matches HTML5 spec terminology.
465
466         (WebCore::RenderObject::isTextOrLineBreak):
467         
468             Since WBR used to be Text we want this check to still cover it too. Renamed from isTextOrBR.
469
470         (WebCore::RenderObject::setIsLineBreak):
471         (WebCore::RenderObject::isWBR):
472         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
473         * rendering/RenderObjectChildList.cpp:
474         (WebCore::RenderObjectChildList::removeChildNode):
475         * rendering/RenderText.cpp:
476         * rendering/RenderText.h:
477         * rendering/RenderTreeAsText.cpp:
478         (WebCore::RenderTreeAsText::writeRenderObject):
479         * rendering/RenderWordBreak.cpp: Removed.
480         * rendering/RenderWordBreak.h: Removed.
481         * rendering/RenderingAllInOne.cpp:
482         * rendering/RootInlineBox.cpp:
483         (WebCore::RootInlineBox::ascentAndDescentForBox):
484         (WebCore::RootInlineBox::verticalPositionForBox):
485         (WebCore::RootInlineBox::includeLeadingForBox):
486         (WebCore::RootInlineBox::includeFontForBox):
487         (WebCore::RootInlineBox::includeGlyphsForBox):
488         (WebCore::RootInlineBox::includeMarginForBox):
489
490 2013-09-18  Csaba Osztrogonác  <ossy@webkit.org>
491
492         ASSERT_NOT_REACHED is touched in WebCore::CSSPrimitiveValue::computeLengthDouble
493         https://bugs.webkit.org/show_bug.cgi?id=120469
494
495         Tests: fast/css/outline-offset-parsing-assert.html
496                fast/css/outline-offset-parsing.html
497
498         Reviewed by Dirk Schulze.
499
500         * css/CSSParser.cpp:
501         (WebCore::CSSParser::parseValue): Fixed a typo after r66615, outline-offset can't be percentage.
502
503 2013-09-18  Gurpreet Kaur  <k.gurpreet@samsung.com>
504
505         [MathML] Implement the subscriptshift and superscriptshift attributes
506         https://bugs.webkit.org/show_bug.cgi?id=120069
507
508         Reviewed by Darin Adler.
509
510         Added support for subscriptshift and superscriptshift attributes. The
511         subscriptshift attribute is for msup element and superscriptshift for
512         msup. msubsup can have both subscriptshift and superscriptshift. The
513         subscriptshift attribute specifies the minimum amount to shift the
514         baseline of subscript down. The superscriptshift attribute specifies
515         the minimum amount to shift the baseline of superscript up.
516
517         Tests: mathml/presentation/msub-subscriptshift.html
518                mathml/presentation/msubsup-subscriptshift.html
519                mathml/presentation/msubsup-superscriptshift.html
520                mathml/presentation/msup-superscriptshift.html
521                mathml/presentation/multiscript-subscriptshift.html
522                mathml/presentation/multiscript-superscriptshift.html
523
524         * mathml/mathattrs.in:
525         * rendering/mathml/RenderMathMLScripts.cpp:
526         (WebCore::RenderMathMLScripts::layout):
527         For aligning the subscript and superscript padding is added to the base.
528         So subscriptshift and superscriptshift attributes is set as padding bottom
529         and padding top of base respectively.
530
531 2013-09-18  Mario Sanchez Prada  <mario.prada@samsung.com>
532
533         [ATK] Expose aria-haspopup and aria-sort without the 'aria-' prefix
534         https://bugs.webkit.org/show_bug.cgi?id=121495
535
536         Reviewed by Chris Fleizach.
537
538         Removed the 'aria-' prefix from the exposed ATK object attributes
539         for WAI-ARIA attributes 'aria-haspopup' and 'aria-sort'.
540
541         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
542         (webkitAccessibleGetAttributes): Removed the prefix.
543
544 2013-09-17  Antti Koivisto  <antti@apple.com>
545
546         Rename InlineBox::isText()
547         <https://webkit.org/b/121525>
548
549         Reviewed by Andreas Kling.
550
551         The flag sounds like RenderObject::isText() yet it can be set for some inline boxes generated
552         for non-text renderers too (br, list markers). This is pretty confusing.
553         
554         Rename to InlineBox::behavesLikeText().
555
556         * rendering/InlineBox.cpp:
557         (WebCore::InlineBox::logicalHeight):
558         (WebCore::InlineBox::baselinePosition):
559         (WebCore::InlineBox::lineHeight):
560         * rendering/InlineBox.h:
561         (WebCore::InlineBox::behavesLikeText):
562         (WebCore::InlineBox::setBehavesLikeText):
563         (WebCore::InlineBox::InlineBoxBitfields::InlineBoxBitfields):
564         * rendering/InlineFlowBox.cpp:
565         (WebCore::InlineFlowBox::addToLine):
566         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
567         * rendering/InlineTextBox.cpp:
568         (WebCore::InlineTextBox::baselinePosition):
569         (WebCore::InlineTextBox::lineHeight):
570         * rendering/RenderBlockLineLayout.cpp:
571         (WebCore::createInlineBoxForRenderer):
572         (WebCore::setLogicalWidthForTextRun):
573         * rendering/RenderListMarker.cpp:
574         (WebCore::RenderListMarker::createInlineBox):
575         * rendering/RenderText.cpp:
576         (WebCore::RenderText::createInlineTextBox):
577         * rendering/RootInlineBox.cpp:
578         (WebCore::RootInlineBox::includeLeadingForBox):
579         (WebCore::RootInlineBox::includeFontForBox):
580         (WebCore::RootInlineBox::includeGlyphsForBox):
581         (WebCore::RootInlineBox::includeMarginForBox):
582         
583             Switch tests from isText() to isTextOrBR(). This matches the behavior before r155957.
584             I don't know if there is a case where this actually makes any difference in behavior.
585
586 2013-09-17  Sam Weinig  <sam@webkit.org>
587
588         Shrink SVGPathStringBuilder
589         https://bugs.webkit.org/show_bug.cgi?id=121536
590
591         Reviewed by Anders Carlsson.
592
593         - Use StringBuilder everywhere to avoid unnecessary temporary
594           String objects and code size bloat.
595         - Also did a drive by FINAL / OVERRIDE pass.
596
597         As an example of the win, the function SVGPathStringBuilder::arcTo
598         went from being 6120 bytes down to just 378 bytes.
599
600         * svg/SVGPathStringBuilder.cpp:
601         (WebCore::SVGPathStringBuilder::SVGPathStringBuilder):
602         (WebCore::SVGPathStringBuilder::~SVGPathStringBuilder):
603         (WebCore::SVGPathStringBuilder::cleanup):
604         (WebCore::SVGPathStringBuilder::incrementPathSegmentCount):
605         (WebCore::SVGPathStringBuilder::continueConsuming):
606         It wasn't helpful for these to be inlined, so move them to
607         the implementation file.
608
609         (WebCore::appendFlag):
610         (WebCore::appendNumber):
611         (WebCore::appendPoint):
612         Added helpers.
613
614         (WebCore::SVGPathStringBuilder::moveTo):
615         (WebCore::SVGPathStringBuilder::lineTo):
616         (WebCore::SVGPathStringBuilder::lineToHorizontal):
617         (WebCore::SVGPathStringBuilder::lineToVertical):
618         (WebCore::SVGPathStringBuilder::curveToCubic):
619         (WebCore::SVGPathStringBuilder::curveToCubicSmooth):
620         (WebCore::SVGPathStringBuilder::curveToQuadratic):
621         (WebCore::SVGPathStringBuilder::curveToQuadraticSmooth):
622         (WebCore::SVGPathStringBuilder::arcTo):
623         (WebCore::SVGPathStringBuilder::closePath):
624         * svg/SVGPathStringBuilder.h:
625         Stopped using operator+ and removed duplicate string building logic in each build
626         type (e.g. both sides of the PathCoordinateMode condition were doing almost identical
627         work).
628
629 2013-09-17  Sam Weinig  <sam@webkit.org>
630
631         CTTE: Convert some straggling Element subclasses constructors to take a Document&
632         https://bugs.webkit.org/show_bug.cgi?id=121533
633
634         Reviewed by Anders Carlsson.
635
636         * html/HTMLMeterElement.cpp:
637         (WebCore::HTMLMeterElement::didAddUserAgentShadowRoot):
638         * html/HTMLProgressElement.cpp:
639         (WebCore::HTMLProgressElement::didAddUserAgentShadowRoot):
640         * html/HTMLTextAreaElement.cpp:
641         (WebCore::HTMLTextAreaElement::didAddUserAgentShadowRoot):
642         * html/SearchInputType.cpp:
643         (WebCore::SearchInputType::createShadowSubtree):
644         * html/TextFieldInputType.cpp:
645         (WebCore::TextFieldInputType::createShadowSubtree):
646         * html/shadow/MeterShadowElement.cpp:
647         (WebCore::MeterShadowElement::MeterShadowElement):
648         (WebCore::MeterInnerElement::MeterInnerElement):
649         * html/shadow/MeterShadowElement.h:
650         (WebCore::MeterInnerElement::create):
651         (WebCore::MeterBarElement::create):
652         (WebCore::MeterValueElement::create):
653         * html/shadow/ProgressShadowElement.cpp:
654         (WebCore::ProgressShadowElement::ProgressShadowElement):
655         (WebCore::ProgressInnerElement::ProgressInnerElement):
656         (WebCore::ProgressBarElement::ProgressBarElement):
657         (WebCore::ProgressValueElement::ProgressValueElement):
658         * html/shadow/ProgressShadowElement.h:
659         (WebCore::ProgressInnerElement::create):
660         (WebCore::ProgressBarElement::create):
661         (WebCore::ProgressValueElement::create):
662         * html/shadow/SpinButtonElement.cpp:
663         (WebCore::SpinButtonElement::SpinButtonElement):
664         (WebCore::SpinButtonElement::create):
665         * html/shadow/SpinButtonElement.h:
666         * html/shadow/TextControlInnerElements.cpp:
667         (WebCore::TextControlInnerContainer::TextControlInnerContainer):
668         (WebCore::TextControlInnerContainer::create):
669         (WebCore::TextControlInnerElement::TextControlInnerElement):
670         (WebCore::TextControlInnerElement::create):
671         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
672         (WebCore::TextControlInnerTextElement::create):
673         (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
674         (WebCore::SearchFieldResultsButtonElement::create):
675         (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
676         (WebCore::SearchFieldCancelButtonElement::create):
677         (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
678         (WebCore::InputFieldSpeechButtonElement::create):
679         * html/shadow/TextControlInnerElements.h:
680
681 2013-09-17  Zoltan Horvath  <zoltan@webkit.org>
682
683         [CSS Shapes] Use the float height to determine position in shape-inside
684         https://bugs.webkit.org/show_bug.cgi?id=102846
685
686         Reviewed by Darin Adler.
687
688         Float positioning inside shape-inside has been working only for simple cases when the float boundaries didn't overlap with the shape.
689         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
690         step would be to add support for block content with inline content (e.g. paragraphs) then cover cases with right floats.
691
692         Tests: fast/shapes/shape-inside/shape-inside-left-float-in-lower-left-triangle-inline-content.html
693                fast/shapes/shape-inside/shape-inside-left-float-in-lower-right-triangle-inline-content.html
694                fast/shapes/shape-inside/shape-inside-left-float-in-upper-left-triangle-inline-content.html
695                fast/shapes/shape-inside/shape-inside-left-float-in-upper-right-triangle-inline-content.html
696
697         * rendering/LineWidth.cpp:
698         (WebCore::LineWidth::LineWidth): Use the new updateCurrentShapeSegment member function.
699         (WebCore::LineWidth::updateCurrentShapeSegment): We need a function to update the current line segment's reference, since we use it multiple places.
700         * rendering/LineWidth.h: Add new member function.
701         * rendering/RenderBlock.cpp:
702         (WebCore::RenderBlock::computeLogicalLocationForFloat): Fix positioning of a floating element.
703         * rendering/RenderBlockLineLayout.cpp:
704         (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLine): Use updateSegmentsForLine instead of computeSegmentsForLine.
705         (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLineInFlowThread): Use updateSegmentsForLine instead of computeSegmentsForLine.
706         (WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded):
707         (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.
708         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak): If we have a float in our line we might need to adjust our lineTop and logicalHeight.
709         * rendering/shapes/ShapeInfo.cpp:
710         (WebCore::::computeSegmentsForLine): Add new const function to compute the segments. I'd like make this function static later if possible.
711         (WebCore::::updateSegmentsForLine): Old computeSegmentsForLine, change name to indicate that it is actually changing things.
712         * rendering/shapes/ShapeInfo.h: Update function names, add declaration.
713         (WebCore::ShapeInfo::clearSegments):
714         (WebCore::ShapeInfo::logicalLineBottom):
715         (WebCore::ShapeInfo::lineOverlapsShapeBounds):
716         * rendering/shapes/ShapeInsideInfo.cpp:
717         (WebCore::ShapeInsideInfo::computeFirstFitPositionForFloat): Compute the first fit position below the current line position inside shapes. I called this function
718         this way, because currently we use it only for shapes.
719         * rendering/shapes/ShapeInsideInfo.h: Update function names.
720         * rendering/shapes/ShapeOutsideInfo.cpp: Update function names.
721         (WebCore::ShapeOutsideInfo::computeSegmentsForContainingBlockLine):
722         (WebCore::ShapeOutsideInfo::updateSegmentsForLine):
723         * rendering/shapes/ShapeOutsideInfo.h: Update function names.
724
725 2013-09-17  Sam Weinig  <sam@webkit.org>
726
727         Replace use of OwnArrayPtr<Foo> with std::unique_ptr<Foo[]> in WebCore
728         https://bugs.webkit.org/show_bug.cgi?id=121527
729
730         Reviewed by Anders Carlsson.
731
732         * Modules/webaudio/AudioBufferSourceNode.cpp:
733         (WebCore::AudioBufferSourceNode::setBuffer):
734         * Modules/webaudio/AudioBufferSourceNode.h:
735         * Modules/webaudio/OscillatorNode.h:
736         * css/CSSParser.cpp:
737         (WebCore::CSSParser::setupParser):
738         (WebCore::CSSParser::currentCharacter16):
739         * css/CSSParser.h:
740         * html/HTMLAreaElement.h:
741         * html/HTMLFrameSetElement.h:
742         * html/canvas/WebGLRenderingContext.cpp:
743         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
744         (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
745         (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache):
746         * html/canvas/WebGLRenderingContext.h:
747         * platform/ScrollAnimatorNone.cpp:
748         * platform/audio/DynamicsCompressor.cpp:
749         (WebCore::DynamicsCompressor::setNumberOfChannels):
750         * platform/audio/DynamicsCompressor.h:
751         * platform/audio/FFTFrame.h:
752         * platform/audio/gstreamer/FFTFrameGStreamer.cpp:
753         (WebCore::FFTFrame::FFTFrame):
754         * platform/efl/ScrollbarEfl.cpp:
755         (ScrollbarEfl::updateThumbPositionAndProportion):
756         * platform/graphics/ANGLEWebKitBridge.cpp:
757         (WebCore::ANGLEWebKitBridge::compileShaderSource):
758         * platform/graphics/GraphicsContext3D.cpp:
759         (WebCore::GraphicsContext3D::texImage2DResourceSafe):
760         * platform/graphics/GraphicsContext3D.h:
761         * platform/graphics/GraphicsContext3DPrivate.cpp:
762         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
763         * platform/graphics/blackberry/LayerTexture.cpp:
764         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
765         (WebCore::getDirtyRects):
766         * platform/graphics/cg/GraphicsContext3DCG.cpp:
767         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
768         * platform/graphics/cg/GraphicsContextCG.cpp:
769         * platform/graphics/cg/ImageBufferCG.cpp:
770         * platform/graphics/gpu/Texture.cpp:
771         (WebCore::Texture::updateSubRect):
772         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
773         (WebCore::HarfBuzzShaper::HarfBuzzShaper):
774         (WebCore::HarfBuzzShaper::setNormalizedBuffer):
775         * platform/graphics/harfbuzz/HarfBuzzShaper.h:
776         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
777         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
778         (WebCore::GraphicsContext3D::compileShader):
779         (WebCore::GraphicsContext3D::getActiveAttrib):
780         (WebCore::GraphicsContext3D::getActiveUniform):
781         (WebCore::GraphicsContext3D::getProgramInfoLog):
782         (WebCore::GraphicsContext3D::getShaderInfoLog):
783         * platform/graphics/opentype/OpenTypeSanitizer.cpp:
784         * platform/graphics/texmap/TextureMapperGL.cpp:
785         * platform/graphics/wince/SharedBitmap.cpp:
786         (WebCore::SharedBitmap::SharedBitmap):
787         (WebCore::SharedBitmap::to16bit):
788         * platform/graphics/wince/SharedBitmap.h:
789         * platform/image-decoders/blackberry/JPEGImageDecoder.cpp:
790         (WebCore::ImageReader::decode):
791         * platform/image-decoders/png/PNGImageDecoder.cpp:
792         (WebCore::PNGImageReader::createRowBuffer):
793         * platform/win/ContextMenuWin.cpp:
794         (WebCore::ContextMenu::getContextMenuItems):
795         * platform/win/LoggingWin.cpp:
796         (WebCore::logLevelString):
797         * plugins/PluginPackage.cpp:
798         * plugins/blackberry/PluginViewBlackBerry.cpp:
799         (WebCore::PluginView::handleTouchEvent):
800         * plugins/win/PluginPackageWin.cpp:
801         (WebCore::PluginPackage::fetchInfo):
802
803 2013-09-17  Commit Queue  <commit-queue@webkit.org>
804
805         Unreviewed, rolling out r156001.
806         http://trac.webkit.org/changeset/156001
807         https://bugs.webkit.org/show_bug.cgi?id=121529
808
809         Broke API tests (Requested by ap on #webkit).
810
811         * platform/mac/HTMLConverter.h:
812         * platform/mac/HTMLConverter.mm:
813         (WebDefaultFont):
814         (_fontForNameAndSize):
815         (+[WebHTMLConverter defaultParagraphStyle]):
816         (-[WebHTMLConverter _computedStyleForElement:]):
817         (-[WebHTMLConverter _specifiedStyleForElement:]):
818         (-[WebHTMLConverter _computedStringForNode:property:]):
819         (-[WebHTMLConverter _stringForNode:property:]):
820         (-[WebHTMLConverter _getComputedFloat:forNode:property:]):
821         (-[WebHTMLConverter _getFloat:forNode:property:]):
822         (_colorForRGBColor):
823         (_shadowForShadowStyle):
824         (-[WebHTMLConverter _elementIsBlockLevel:]):
825         (-[WebHTMLConverter _elementHasOwnBackgroundColor:]):
826         (-[WebHTMLConverter _computedColorForNode:property:]):
827         (-[WebHTMLConverter _colorForNode:property:]):
828         (-[WebHTMLConverter _computedAttributesForElement:]):
829         (-[WebHTMLConverter _attributesForElement:]):
830         (-[WebHTMLConverter _newParagraphForElement:tag:allowEmpty:suppressTrailingSpace:]):
831         (-[WebHTMLConverter _newLineForElement:]):
832         (-[WebHTMLConverter _newTabForElement:]):
833         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
834         (-[WebHTMLConverter _addQuoteForElement:opening:level:]):
835         (-[WebHTMLConverter _addValue:forElement:]):
836         (-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
837         (_dateForString):
838         (_colCompare):
839         (-[WebHTMLConverter _enterElement:tag:display:]):
840         (-[WebHTMLConverter _addTableForElement:]):
841         (-[WebHTMLConverter _addTableCellForElement:]):
842         (-[WebHTMLConverter _processElement:tag:display:depth:]):
843         (-[WebHTMLConverter _addMarkersToList:range:]):
844         (-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
845         (-[WebHTMLConverter _processText:]):
846         (-[WebHTMLConverter _traverseNode:depth:embedded:]):
847         (-[WebHTMLConverter _traverseFooterNode:depth:]):
848         (-[WebHTMLConverter _loadFromDOMRange]):
849         (-[WebHTMLConverter dealloc]):
850         (-[WebHTMLConverter init]):
851         (-[WebHTMLConverter initWithDOMRange:]):
852         (-[WebHTMLConverter attributedString]):
853         (+[WebHTMLConverter editingAttributedStringFromRange:]):
854         (fileWrapperForElement):
855
856 2013-09-17  Samuel White  <samuel_white@apple.com>
857
858         AX: Mac AXARIABusy should be AXElementBusy (not ARIA specific)
859         https://bugs.webkit.org/show_bug.cgi?id=121442
860
861         Reviewed by Chris Fleizach.
862
863         No new tests, changed AXARIABusy attribute to AXElementBusy to uncouple the concept of busy with
864         the aria-busy attribute. This will allow us to expand on the definition of busy moving forward.
865
866         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
867         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
868         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
869
870 2013-09-17  Andreas Kling  <akling@apple.com>
871
872         Pack create_hash_table tables better.
873         <https://webkit.org/b/121517>
874
875         Reviewed by Sam Weinig.
876
877         Reduces WebCore binary size by 72744 bytes.
878
879         * bindings/scripts/CodeGeneratorJS.pm:
880         (GenerateHashTable):
881
882             Updated for new HashTableValue member order.
883
884         * bindings/scripts/test/JS/*:
885
886             Rebaselined bindings tests.
887
888 2013-09-17  Zoltan Horvath  <zoltan@webkit.org>
889
890         [Qt] Add FlowThreadController.h to Target.pri
891         https://bugs.webkit.org/show_bug.cgi?id=121516
892
893         Reviewed by Dirk Schulze.
894
895         No new tests, no behavior change.
896
897         * Target.pri:
898
899 2013-09-17  Anders Carlsson  <andersca@apple.com>
900
901         Stop explicitly using PassOwnPtr in WebCore/html
902         https://bugs.webkit.org/show_bug.cgi?id=121511
903
904         Reviewed by Andreas Kling.
905
906         * dom/ElementRareData.h:
907         (WebCore::ElementRareData::setClassList):
908         * html/ButtonInputType.cpp:
909         (WebCore::ButtonInputType::create):
910         * html/ButtonInputType.h:
911         * html/CheckboxInputType.cpp:
912         (WebCore::CheckboxInputType::create):
913         (WebCore::CheckboxInputType::willDispatchClick):
914         * html/CheckboxInputType.h:
915         * html/ClassList.cpp:
916         (WebCore::ClassList::create):
917         * html/ClassList.h:
918         * html/ColorInputType.cpp:
919         (WebCore::ColorInputType::create):
920         * html/ColorInputType.h:
921         * html/DateInputType.cpp:
922         (WebCore::DateInputType::create):
923         * html/DateInputType.h:
924         * html/DateTimeInputType.cpp:
925         (WebCore::DateTimeInputType::create):
926         * html/DateTimeInputType.h:
927         * html/DateTimeLocalInputType.cpp:
928         (WebCore::DateTimeLocalInputType::create):
929         * html/DateTimeLocalInputType.h:
930         * html/EmailInputType.cpp:
931         (WebCore::EmailInputType::create):
932         * html/EmailInputType.h:
933         * html/FileInputType.cpp:
934         (WebCore::FileInputType::create):
935         * html/FileInputType.h:
936         * html/FormAssociatedElement.cpp:
937         (WebCore::FormAttributeTargetObserver::create):
938         * html/FormController.cpp:
939         (WebCore::SavedFormState::create):
940         (WebCore::SavedFormState::deserialize):
941         (WebCore::FormKeyGenerator::create):
942         (WebCore::FormController::createSavedFormStateMap):
943         * html/FormController.h:
944         (WebCore::FormController::create):
945         * html/HTMLInputElement.cpp:
946         (WebCore::ListAttributeTargetObserver::create):
947         * html/HiddenInputType.cpp:
948         (WebCore::HiddenInputType::create):
949         * html/HiddenInputType.h:
950         * html/ImageInputType.cpp:
951         (WebCore::ImageInputType::create):
952         * html/ImageInputType.h:
953         * html/InputType.cpp:
954         (WebCore::InputType::create):
955         (WebCore::InputType::createText):
956         (WebCore::InputType::willDispatchClick):
957         * html/InputType.h:
958         * html/MonthInputType.cpp:
959         (WebCore::MonthInputType::create):
960         * html/MonthInputType.h:
961         * html/NumberInputType.cpp:
962         (WebCore::NumberInputType::create):
963         * html/NumberInputType.h:
964         * html/PasswordInputType.cpp:
965         (WebCore::PasswordInputType::create):
966         * html/PasswordInputType.h:
967         * html/PublicURLManager.h:
968         (WebCore::PublicURLManager::create):
969         * html/RadioInputType.cpp:
970         (WebCore::RadioInputType::create):
971         (WebCore::RadioInputType::willDispatchClick):
972         * html/RadioInputType.h:
973         * html/RangeInputType.cpp:
974         (WebCore::RangeInputType::create):
975         * html/RangeInputType.h:
976         * html/ResetInputType.cpp:
977         (WebCore::ResetInputType::create):
978         * html/ResetInputType.h:
979         * html/SearchInputType.cpp:
980         (WebCore::SearchInputType::create):
981         * html/SearchInputType.h:
982         * html/SubmitInputType.cpp:
983         (WebCore::SubmitInputType::create):
984         * html/SubmitInputType.h:
985         * html/TelephoneInputType.cpp:
986         (WebCore::TelephoneInputType::create):
987         * html/TelephoneInputType.h:
988         * html/TextInputType.cpp:
989         (WebCore::TextInputType::create):
990         * html/TextInputType.h:
991         * html/TimeInputType.cpp:
992         (WebCore::TimeInputType::create):
993         * html/TimeInputType.h:
994         * html/URLInputType.cpp:
995         (WebCore::URLInputType::create):
996         * html/URLInputType.h:
997         * html/ValidationMessage.cpp:
998         (WebCore::ValidationMessage::create):
999         * html/ValidationMessage.h:
1000         * html/ValidityState.h:
1001         (WebCore::ValidityState::create):
1002         * html/WeekInputType.cpp:
1003         (WebCore::WeekInputType::create):
1004         * html/WeekInputType.h:
1005         * html/canvas/CanvasRenderingContext2D.cpp:
1006         (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
1007         * html/canvas/CanvasRenderingContext2D.h:
1008         (WebCore::CanvasRenderingContext2D::create):
1009         * html/canvas/EXTDrawBuffers.cpp:
1010         (WebCore::EXTDrawBuffers::create):
1011         * html/canvas/EXTDrawBuffers.h:
1012         * html/canvas/EXTTextureFilterAnisotropic.cpp:
1013         (WebCore::EXTTextureFilterAnisotropic::create):
1014         * html/canvas/EXTTextureFilterAnisotropic.h:
1015         * html/canvas/OESElementIndexUint.cpp:
1016         (WebCore::OESElementIndexUint::create):
1017         * html/canvas/OESElementIndexUint.h:
1018         * html/canvas/OESStandardDerivatives.cpp:
1019         (WebCore::OESStandardDerivatives::create):
1020         * html/canvas/OESStandardDerivatives.h:
1021         * html/canvas/OESTextureFloat.cpp:
1022         (WebCore::OESTextureFloat::create):
1023         * html/canvas/OESTextureFloat.h:
1024         * html/canvas/OESTextureHalfFloat.cpp:
1025         (WebCore::OESTextureHalfFloat::create):
1026         * html/canvas/OESTextureHalfFloat.h:
1027         * html/canvas/OESVertexArrayObject.cpp:
1028         (WebCore::OESVertexArrayObject::create):
1029         * html/canvas/OESVertexArrayObject.h:
1030         * html/canvas/WebGLCompressedTextureATC.cpp:
1031         (WebCore::WebGLCompressedTextureATC::create):
1032         * html/canvas/WebGLCompressedTextureATC.h:
1033         * html/canvas/WebGLCompressedTexturePVRTC.cpp:
1034         (WebCore::WebGLCompressedTexturePVRTC::create):
1035         * html/canvas/WebGLCompressedTexturePVRTC.h:
1036         * html/canvas/WebGLCompressedTextureS3TC.cpp:
1037         (WebCore::WebGLCompressedTextureS3TC::create):
1038         * html/canvas/WebGLCompressedTextureS3TC.h:
1039         * html/canvas/WebGLDebugRendererInfo.cpp:
1040         (WebCore::WebGLDebugRendererInfo::create):
1041         * html/canvas/WebGLDebugRendererInfo.h:
1042         * html/canvas/WebGLDebugShaders.cpp:
1043         (WebCore::WebGLDebugShaders::create):
1044         * html/canvas/WebGLDebugShaders.h:
1045         * html/canvas/WebGLDepthTexture.cpp:
1046         (WebCore::WebGLDepthTexture::create):
1047         * html/canvas/WebGLDepthTexture.h:
1048         * html/canvas/WebGLLoseContext.cpp:
1049         (WebCore::WebGLLoseContext::create):
1050         * html/canvas/WebGLLoseContext.h:
1051         * html/canvas/WebGLRenderingContext.cpp:
1052         (WebCore::WebGLRenderingContext::create):
1053         * html/canvas/WebGLRenderingContext.h:
1054         * html/parser/BackgroundHTMLParser.cpp:
1055         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
1056         (WebCore::BackgroundHTMLParser::resumeFrom):
1057         * html/parser/BackgroundHTMLParser.h:
1058         (WebCore::BackgroundHTMLParser::create):
1059         * html/parser/HTMLDocumentParser.cpp:
1060         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
1061         (WebCore::HTMLDocumentParser::validateSpeculations):
1062         (WebCore::HTMLDocumentParser::discardSpeculationsAndResumeFrom):
1063         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
1064         * html/parser/HTMLDocumentParser.h:
1065         * html/parser/HTMLElementStack.cpp:
1066         (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
1067         * html/parser/HTMLElementStack.h:
1068         (WebCore::HTMLElementStack::ElementRecord::releaseNext):
1069         (WebCore::HTMLElementStack::ElementRecord::setNext):
1070         * html/parser/HTMLMetaCharsetParser.h:
1071         (WebCore::HTMLMetaCharsetParser::create):
1072         * html/parser/HTMLParserScheduler.h:
1073         (WebCore::HTMLParserScheduler::create):
1074         * html/parser/HTMLParserThread.h:
1075         (WebCore::HTMLParserThread::create):
1076         * html/parser/HTMLPreloadScanner.cpp:
1077         (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
1078         * html/parser/HTMLResourcePreloader.cpp:
1079         (WebCore::HTMLResourcePreloader::preload):
1080         * html/parser/HTMLResourcePreloader.h:
1081         (WebCore::PreloadRequest::create):
1082         * html/parser/HTMLScriptRunner.h:
1083         (WebCore::HTMLScriptRunner::create):
1084         * html/parser/HTMLToken.h:
1085         (WebCore::HTMLToken::releaseDoctypeData):
1086         * html/parser/HTMLTokenizer.h:
1087         (WebCore::HTMLTokenizer::create):
1088         * html/parser/HTMLTreeBuilder.h:
1089         (WebCore::HTMLTreeBuilder::create):
1090         * html/parser/XSSAuditor.cpp:
1091         (WebCore::XSSAuditor::filterToken):
1092         * html/parser/XSSAuditor.h:
1093         * html/parser/XSSAuditorDelegate.h:
1094         (WebCore::XSSInfo::create):
1095         * html/track/WebVTTParser.h:
1096         (WebCore::WebVTTParser::create):
1097         * html/track/WebVTTTokenizer.h:
1098         (WebCore::WebVTTTokenizer::create):
1099
1100 2013-09-17  Enrica Casucci  <enrica@apple.com>
1101
1102         Upstream changes to WebHTMLConverter to support HTML
1103         to NSAttributedString conversion on both iOS and OS X.
1104
1105         Reviewed by Benjamin Poulain.
1106
1107         * platform/mac/HTMLConverter.h:
1108         * platform/mac/HTMLConverter.mm:
1109         (WebDefaultFont):
1110         (_fontForNameAndSize):
1111         (+[WebHTMLConverter defaultParagraphStyle]):
1112         (-[WebHTMLConverter _computedStyleForElement:]):
1113         (-[WebHTMLConverter _specifiedStyleForElement:]):
1114         (-[WebHTMLConverter _computedStringForNode:property:]):
1115         (-[WebHTMLConverter _stringForNode:property:]):
1116         (-[WebHTMLConverter _getComputedFloat:forNode:property:]):
1117         (-[WebHTMLConverter _getFloat:forNode:property:]):
1118         (_NSFirstPathForDirectoriesInDomains):
1119         (_NSSystemLibraryPath):
1120         (-[WebHTMLConverter _webKitBundle]):
1121         (_colorForRGBColor):
1122         (_shadowForShadowStyle):
1123         (-[WebHTMLConverter _elementIsBlockLevel:]):
1124         (-[WebHTMLConverter _elementHasOwnBackgroundColor:]):
1125         (-[WebHTMLConverter _computedColorForNode:property:]):
1126         (-[WebHTMLConverter _colorForNode:property:]):
1127         (-[WebHTMLConverter _computedAttributesForElement:]):
1128         (-[WebHTMLConverter _attributesForElement:]):
1129         (-[WebHTMLConverter _newParagraphForElement:tag:allowEmpty:suppressTrailingSpace:]):
1130         (-[WebHTMLConverter _newLineForElement:]):
1131         (-[WebHTMLConverter _newTabForElement:]):
1132         (-[WebHTMLConverter _WebMessageDocumentClass]):
1133         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
1134         (-[WebHTMLConverter _addQuoteForElement:opening:level:]):
1135         (-[WebHTMLConverter _addValue:forElement:]):
1136         (-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
1137         (_dateForString):
1138         (_colCompare):
1139         (-[WebHTMLConverter _processMetaElementWithName:content:]):
1140         (-[WebHTMLConverter _processHeadElement:]):
1141         (-[WebHTMLConverter _enterElement:tag:display:embedded:]):
1142         (-[WebHTMLConverter _addTableForElement:]):
1143         (-[WebHTMLConverter _addTableCellForElement:]):
1144         (-[WebHTMLConverter _processElement:tag:display:depth:]):
1145         (-[WebHTMLConverter _addMarkersToList:range:]):
1146         (-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
1147         (-[WebHTMLConverter _processText:]):
1148         (-[WebHTMLConverter _traverseNode:depth:embedded:]):
1149         (-[WebHTMLConverter _traverseFooterNode:depth:]):
1150         (-[WebHTMLConverter _loadFromDOMRange]):
1151         (-[WebHTMLConverter dealloc]):
1152         (-[WebHTMLConverter init]):
1153         (-[WebHTMLConverter initWithDOMRange:]):
1154         (-[WebHTMLConverter attributedString]):
1155         (+[WebHTMLConverter editingAttributedStringFromRange:]):
1156
1157 2013-09-17  Sam Weinig  <sam@webkit.org>
1158
1159         Add make_unique and start using it
1160         https://bugs.webkit.org/show_bug.cgi?id=121523
1161
1162         Reviewed by Anders Carlsson.
1163
1164         * html/HTMLAreaElement.h:
1165         * html/HTMLFrameSetElement.h:
1166         * platform/Length.cpp:
1167         (WebCore::newCoordsArray):
1168         (WebCore::newLengthArray):
1169         * platform/Length.h:
1170         Switch off OwnArrayPtr to std::unique_ptr<T[]> and make use of make_unique.
1171
1172 2013-09-17  Simon Fraser  <simon.fraser@apple.com>
1173
1174         Hardware accelerated CSS transitions appear pixelated when scaled up using transform
1175         https://bugs.webkit.org/show_bug.cgi?id=27684
1176         <rdar://problem/6134606>
1177
1178         Reviewed by Dean Jackson.
1179         
1180         Take transforms and animations into account when computing the contentsScale
1181         for a layer, so that scaled-up layers remain sharp most of the time.
1182         
1183         In its recursiveCommitChanges() tree walk, GraphicsLayerCA now tracks
1184         a root-relative transform, and extracts from that transform the X and Y
1185         scales which it uses to scale the backing store.
1186         
1187         If the layer has transform animations on it, we keep around
1188         a transformation matrix for the animation endpoints (or keyframes),
1189         pick up the state that has the larger impact on the root-relative scale,
1190         and use that as the layer's transform, and the transform when recursing
1191         over descendants.
1192
1193         Tests: compositing/contents-scale/animating.html
1194                compositing/contents-scale/scaled-ancestor.html
1195                compositing/contents-scale/simple-scale.html
1196                compositing/contents-scale/z-translate.html
1197
1198         * platform/graphics/ca/GraphicsLayerCA.cpp:
1199         (WebCore::maxScaleFromTransform): Decompose the transform if necesssary
1200         to extract the X and Y scale components.
1201         (WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_rootRelativeScaleFactor.
1202         (WebCore::GraphicsLayerCA::flushCompositingState): Supply a TransformationMatrix
1203         for the root of the recursion.
1204         (WebCore::GraphicsLayerCA::layerTransform): This code was factored out of
1205         computeVisibleRect(), and optionally takes a custom transform.
1206         (WebCore::GraphicsLayerCA::computeVisibleRect): Use the layerTransform() function.
1207         (WebCore::GraphicsLayerCA::updateRootRelativeScale): Given a transform from the root,
1208         find the max scale factor by multiplying the various animation endpoint matrices and picking
1209         the one with the biggest impact on scale. Use this to set m_rootRelativeScaleFactor, and
1210         set the flag to say that we need to update contentsScale.
1211         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
1212         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): After updating
1213         animations, call updateRootRelativeScale() to update m_rootRelativeScaleFactor.
1214         (WebCore::GraphicsLayerCA::updateAnimations): We have a side table of animation name to
1215         TransformationMatrix, so figure out which entries can be removed from that side table,
1216         and remove them.
1217         (WebCore::GraphicsLayerCA::setAnimationOnLayer):
1218         (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Store the matrices for
1219         animation endpoints/keyframes in the m_animationTransforms side table. We don't store
1220         them directly in LayerPropertyAnimation because we just want the final matrix for
1221         a transform list, and using a side table makes ownership easier to manage.
1222         (WebCore::GraphicsLayerCA::getTransformFromAnimationsWithMaxScaleImpact):
1223         goes through the matrices for the running animation endpoints/keyframes, and
1224         multiplies each with the transform up to this layer to find the matrix with the
1225         larger impact on scale.
1226         (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints): Returns a vector
1227         of TransformationMatrix for the from and to states.
1228         (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes): Returns a vector
1229         of TransformationMatrix for the keyframes.
1230         (WebCore::GraphicsLayerCA::updateContentsScale): Include m_rootRelativeScaleFactor in the
1231         scale factor computation.
1232         (WebCore::GraphicsLayerCA::dumpAdditionalProperties): If we're dumping visible rects,
1233         also dump the contentsScale. Convenient at these are useful to look at together, and I didn't
1234         want to pollute Internals with yet more flags.
1235         * platform/graphics/ca/GraphicsLayerCA.h:
1236         (WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation): Formatting.
1237
1238 2013-09-17  Commit Queue  <commit-queue@webkit.org>
1239
1240         Unreviewed, rolling out r155977.
1241         http://trac.webkit.org/changeset/155977
1242         https://bugs.webkit.org/show_bug.cgi?id=121515
1243
1244         Broke over a dozen tests on Mac WK2 (Requested by ap on
1245         #webkit).
1246
1247         * platform/graphics/ca/GraphicsLayerCA.cpp:
1248         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
1249         (WebCore::GraphicsLayerCA::flushCompositingState):
1250         (WebCore::GraphicsLayerCA::computeVisibleRect):
1251         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
1252         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
1253         (WebCore::GraphicsLayerCA::updateAnimations):
1254         (WebCore::GraphicsLayerCA::setAnimationOnLayer):
1255         (WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
1256         (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
1257         (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
1258         (WebCore::GraphicsLayerCA::updateContentsScale):
1259         (WebCore::GraphicsLayerCA::dumpAdditionalProperties):
1260         * platform/graphics/ca/GraphicsLayerCA.h:
1261         (WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation):
1262
1263 2013-09-17  Eric Carlson  <eric.carlson@apple.com>
1264
1265         MediaStream API: Changing the device enumeration to be async
1266         https://bugs.webkit.org/show_bug.cgi?id=120883
1267
1268         Reviewed by Darin Adler.
1269
1270         Parts merged from https://chromium.googlesource.com/chromium/blink/+/40a96080a1531e50de4eb84571c7dc9fb321ece5
1271         and https://chromium.googlesource.com/chromium/blink/+/ff783a23bb1add588971a8187048a305cf485121
1272         by Tommy Widenflycht.
1273
1274         Test: fast/mediastream/MediaStreamTrack-getSources.html
1275
1276         * CMakeLists.txt: Added new files.
1277         * DerivedSources.make: Ditto.
1278         * GNUmakefile.list.am: Ditto.
1279
1280         * Modules/mediastream/MediaStreamTrack.cpp:
1281         (WebCore::MediaStreamTrack::kind): ASCIILiteral -> NeverDestroyed<AtomicString>.
1282         (WebCore::MediaStreamTrack::readyState): Ditto.
1283         (WebCore::MediaStreamTrack::getSources): New.
1284         * Modules/mediastream/MediaStreamTrack.h:
1285         * Modules/mediastream/MediaStreamTrack.idl:
1286
1287         * Modules/mediastream/MediaStreamTrackSourcesCallback.h: Added.
1288         * Modules/mediastream/MediaStreamTrackSourcesCallback.idl: Added.
1289         * Modules/mediastream/MediaStreamTrackSourcesRequest.cpp: Added.
1290         * Modules/mediastream/MediaStreamTrackSourcesRequest.h: Added.
1291
1292         * Modules/mediastream/SourceInfo.cpp: Added.
1293         * Modules/mediastream/SourceInfo.h: Added.
1294         * Modules/mediastream/SourceInfo.idl: Added.
1295
1296         * WebCore.xcodeproj/project.pbxproj: Add new files.
1297
1298         * bindings/js/JSDOMBinding.h: Add toJS templates for Vector<T> and Vector<RefPtr<T>>.
1299
1300         * platform/mediastream/MediaStreamCenter.h: Add prototype for getMediaStreamTrackSources.
1301
1302         * platform/mediastream/MediaStreamTrackSourcesRequestClient.h: Added.
1303
1304         * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp:
1305         (WebCore::MediaStreamCenterMac::getMediaStreamTrackSources): Added.
1306         * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h:
1307
1308         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
1309         (WebCore::MediaStreamCenterMac::getMediaStreamTrackSources): Added
1310         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
1311
1312         * platform/mediastream/mac/MediaStreamCenterMac.cpp:
1313         (WebCore::MediaStreamCenterMac::getMediaStreamTrackSources): Added.
1314         * platform/mediastream/mac/MediaStreamCenterMac.h:
1315
1316 2013-09-17  Commit Queue  <commit-queue@webkit.org>
1317
1318         Unreviewed, rolling out r155976.
1319         http://trac.webkit.org/changeset/155976
1320         https://bugs.webkit.org/show_bug.cgi?id=121512
1321
1322         Broke a test, needs cleanup (Requested by ap_ on #webkit).
1323
1324         * accessibility/AXObjectCache.cpp:
1325         (WebCore::AXObjectCache::handleAttributeChanged):
1326         * accessibility/AXObjectCache.h:
1327         * accessibility/mac/AXObjectCacheMac.mm:
1328         (WebCore::AXObjectCache::postPlatformNotification):
1329
1330 2013-09-17  Romain Perier  <romain.perier@gmail.com>
1331
1332         Improve srcset parser
1333         https://bugs.webkit.org/show_bug.cgi?id=119423
1334
1335         Reviewed by Benjamin Poulain.
1336
1337         Added new tests and covered by existing ones.
1338
1339         * html/parser/HTMLParserIdioms.cpp:
1340         (WebCore::isHTMLSpaceOrComma): Add a new predicate function used by String::find()
1341         to get the first space or comma character from the input string.
1342         (WebCore::parseImagesWithScaleFromSrcSetAttribute): Add a new static function to parse
1343         and extract images with scale from the srcset attribute. All valid candidates are
1344         returned to the caller through a list. This parsing function also adds support
1345         for data URI schemes as described by the specification.
1346         (WebCore::bestFitSourceForImageAttributes): Remove intermediate arrays of string
1347         when parsing. That is more efficient and avoids trashing the data cache
1348         (varying between 20 and 65% faster depending of the amount of data)
1349         The parser now walks along the attribute value and extracts the candidates directly.
1350
1351 2013-09-17  Gustavo Noronha Silva  <gns@gnome.org>
1352
1353         Unreviewed build fix after 155963.
1354
1355         * platform/gtk/RenderThemeGtk3.cpp:
1356         (WebCore::getStyleContext): use nullptr instead of 0.
1357
1358 2013-09-17  Alexey Proskuryakov  <ap@apple.com>
1359
1360         Make SVGTransform::valueAsString use StringBuilder
1361         https://bugs.webkit.org/show_bug.cgi?id=121498
1362
1363         Unreviewed typo fix, should address a regression on svg/dom/SVGViewSpec.html.
1364
1365         * svg/SVGTransform.cpp: (WebCore::SVGTransform::valueAsString): "e" is totally
1366         not the same as "f".
1367
1368 2013-09-16  Simon Fraser  <simon.fraser@apple.com>
1369
1370         Hardware accelerated CSS transitions appear pixelated when scaled up using transform
1371         https://bugs.webkit.org/show_bug.cgi?id=27684
1372         <rdar://problem/6134606>
1373
1374         Reviewed by Dean Jackson.
1375         
1376         Take transforms and animations into account when computing the contentsScale
1377         for a layer, so that scaled-up layers remain sharp most of the time.
1378         
1379         In its recursiveCommitChanges() tree walk, GraphicsLayerCA now tracks
1380         a root-relative transform, and extracts from that transform the X and Y
1381         scales which it uses to scale the backing store.
1382         
1383         If the layer has transform animations on it, we keep around
1384         a transformation matrix for the animation endpoints (or keyframes),
1385         pick up the state that has the larger impact on the root-relative scale,
1386         and use that as the layer's transform, and the transform when recursing
1387         over descendants.
1388
1389         Tests: compositing/contents-scale/animating.html
1390                compositing/contents-scale/scaled-ancestor.html
1391                compositing/contents-scale/simple-scale.html
1392                compositing/contents-scale/z-translate.html
1393
1394         * platform/graphics/ca/GraphicsLayerCA.cpp:
1395         (WebCore::maxScaleFromTransform): Decompose the transform if necesssary
1396         to extract the X and Y scale components.
1397         (WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_rootRelativeScaleFactor.
1398         (WebCore::GraphicsLayerCA::flushCompositingState): Supply a TransformationMatrix
1399         for the root of the recursion.
1400         (WebCore::GraphicsLayerCA::layerTransform): This code was factored out of
1401         computeVisibleRect(), and optionally takes a custom transform.
1402         (WebCore::GraphicsLayerCA::computeVisibleRect): Use the layerTransform() function.
1403         (WebCore::GraphicsLayerCA::updateRootRelativeScale): Given a transform from the root,
1404         find the max scale factor by multiplying the various animation endpoint matrices and picking
1405         the one with the biggest impact on scale. Use this to set m_rootRelativeScaleFactor, and
1406         set the flag to say that we need to update contentsScale.
1407         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
1408         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): After updating
1409         animations, call updateRootRelativeScale() to update m_rootRelativeScaleFactor.
1410         (WebCore::GraphicsLayerCA::updateAnimations): We have a side table of animation name to
1411         TransformationMatrix, so figure out which entries can be removed from that side table,
1412         and remove them.
1413         (WebCore::GraphicsLayerCA::setAnimationOnLayer):
1414         (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Store the matrices for
1415         animation endpoints/keyframes in the m_animationTransforms side table. We don't store
1416         them directly in LayerPropertyAnimation because we just want the final matrix for
1417         a transform list, and using a side table makes ownership easier to manage.
1418         (WebCore::GraphicsLayerCA::getTransformFromAnimationsWithMaxScaleImpact):
1419         goes through the matrices for the running animation endpoints/keyframes, and
1420         multiplies each with the transform up to this layer to find the matrix with the
1421         larger impact on scale.
1422         (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints): Returns a vector
1423         of TransformationMatrix for the from and to states.
1424         (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes): Returns a vector
1425         of TransformationMatrix for the keyframes.
1426         (WebCore::GraphicsLayerCA::updateContentsScale): Include m_rootRelativeScaleFactor in the
1427         scale factor computation.
1428         (WebCore::GraphicsLayerCA::dumpAdditionalProperties): If we're dumping visible rects,
1429         also dump the contentsScale. Convenient at these are useful to look at together, and I didn't
1430         want to pollute Internals with yet more flags.
1431         * platform/graphics/ca/GraphicsLayerCA.h:
1432         (WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation): Formatting.
1433
1434 2013-09-17  Samuel White  <samuel_white@apple.com>
1435
1436         AX: Expose ARIA Busy Notifications
1437         https://bugs.webkit.org/show_bug.cgi?id=121451
1438
1439         Reviewed by Darin Adler.
1440
1441         Added AXElementBusyChanged notification that posts when aria-busy is toggled. This
1442         enables screen readers to detect busy states without polling the focused element.
1443
1444         Test: platform/mac/accessibility/element-busy-changed.html
1445
1446         * accessibility/AXObjectCache.cpp:
1447         (WebCore::AXObjectCache::handleAttributeChanged):
1448         * accessibility/AXObjectCache.h:
1449         * accessibility/mac/AXObjectCacheMac.mm:
1450         (WebCore::AXObjectCache::postPlatformNotification):
1451
1452 2013-09-17  Antti Koivisto  <antti@apple.com>
1453
1454         Add isTextOrBR() and use it
1455         https://bugs.webkit.org/show_bug.cgi?id=121506
1456
1457         Reviewed by Darin Adler.
1458
1459         It is a popular test.
1460
1461         * dom/Document.cpp:
1462         (WebCore::Document::updateHoverActiveState):
1463         * editing/Editor.cpp:
1464         (WebCore::findFirstMarkable):
1465         * editing/TextIterator.cpp:
1466         (WebCore::ignoresContainerClip):
1467         * rendering/InlineBox.cpp:
1468         (WebCore::InlineBox::logicalHeight):
1469         * rendering/InlineIterator.h:
1470         (WebCore::isIteratorTarget):
1471         * rendering/RenderBlock.cpp:
1472         (WebCore::InlineMinMaxIterator::next):
1473         * rendering/RenderBlockLineLayout.cpp:
1474         (WebCore::RenderBlockFlow::layoutInlineChildren):
1475         * rendering/RenderCounter.cpp:
1476         (WebCore::planCounter):
1477         * rendering/RenderObject.h:
1478         (WebCore::RenderObject::isTextOrBR):
1479         * rendering/RenderTreeAsText.cpp:
1480         (WebCore::write):
1481         * rendering/RootInlineBox.cpp:
1482         (WebCore::RootInlineBox::ascentAndDescentForBox):
1483         (WebCore::RootInlineBox::verticalPositionForBox):
1484
1485 2013-09-17  Antti Koivisto  <antti@apple.com>
1486
1487         RenderBR should not be RenderText
1488         https://bugs.webkit.org/show_bug.cgi?id=121221
1489
1490         Rubber-stamped by Andreas Kling.
1491         
1492         Fix assertion in these tests:
1493
1494         fast/repaint/selection-rl.html
1495         fast/writing-mode/horizontal-bt-replaced-selection.html
1496         fast/writing-mode/vertical-rl-replaced-selection.html
1497
1498         * rendering/InlineBox.cpp:
1499         (WebCore::InlineBox::nodeAtPoint):
1500
1501 2013-09-16  Enrica Casucci  <enrica@apple.com>
1502
1503         Remove unused function didSetSelectionTypesForPasteboard from EditorClient.
1504         https://bugs.webkit.org/show_bug.cgi?id=121464
1505
1506         Reviewed by Darin Adler.
1507
1508         This method was only implemented in WebEditorClient.mm for Mac where it was
1509         calling a private delegate that is no longer in use.
1510         This patch removes it for all the platforms.
1511         I've also removed setTypes and writeAfterSettingTypes from the implementation
1512         of the Pasteboard class for Mac.
1513
1514         * editing/mac/EditorMac.mm:
1515         (WebCore::Editor::writeSelectionToPasteboard): Now calls write instead of
1516         setTypes and writeAfterSettingTypes.
1517         * loader/EmptyClients.h: Removed didSetSelectionTypesForPasteboard.
1518         * page/EditorClient.h: Ditto.
1519         * platform/Pasteboard.h: Removed setTypes and writeAfterSettingTypes.
1520         * platform/ios/PasteboardIOS.mm:
1521         (WebCore::Pasteboard::writeSelection): Removed call to didSetSelectionTypesForPasteboard.
1522         * platform/mac/PasteboardMac.mm:
1523         (WebCore::Pasteboard::write): Added to replace setTypes and writeAfterSettingTypes.
1524
1525 2013-09-17  Darin Adler  <darin@apple.com>
1526
1527         Further shrink table-populating code by making the tables read-only data and preventing inlining
1528         https://bugs.webkit.org/show_bug.cgi?id=121468
1529
1530         Reviewed by Sam Weinig.
1531
1532         * bindings/scripts/StaticString.pm:
1533         (GenerateStrings): Eliminated the xxxImpl globals. We definitely did not need
1534         globals for these, much less read-write data. Instead, write the expression at
1535         each site where we need them.
1536         (GenerateStringAsserts): This is one such site (see above).
1537         * css/CSSSelector.cpp:
1538         (WebCore::populatePseudoTypeByNameMap): Mark this function NEVER_INLINE and
1539         add static to make sure the table ends up in read-only data.
1540         * dom/make_names.pl:
1541         (printDefinitions): Write the xxxImpl expression (see above).
1542         (printFactoryCppFile): Ditto. Also mark the populate function NEVER_INLINE and
1543         add static to make sure the table ends up in read-only data.
1544         (printWrapperFactoryCppFile): Ditto.
1545         * html/HTMLElement.cpp:
1546         (WebCore::populateEventNameForAttributeLocalNameMap): Mark this function
1547         NEVER_INLINE and add static to makes sure the table ends up in read-only data.
1548
1549         * platform/text/UnicodeRange.cpp: Added a const to make this read-only data.
1550
1551 2013-09-17  Darin Adler  <darin@apple.com>
1552
1553         Shrink SVGElement::cssPropertyIdForSVGAttributeName and cssPropertyToTypeMap
1554         https://bugs.webkit.org/show_bug.cgi?id=121499
1555
1556         Reviewed by Andreas Kling.
1557
1558         * svg/SVGElement.cpp:
1559         (WebCore::populateAttributeNameToCSSPropertyIDMap): Added. Code that used to
1560         be in SVGElement::cssPropertyIdForSVGAttributeName to build a map that maps
1561         attribute names to CSS property IDs, but without the multiple unrolled calls
1562         to HashMap functions.
1563         (WebCore::populateAttributeNameToAnimatedPropertyTypeMap): Added. Code that
1564         used to be in cssPropertyToTypeMap, but without the multiple unrolled calls
1565         to HashMap functions.
1566         (WebCore::attributeNameToAnimatedPropertyTypeMap): Renamed from
1567         cssPropertyToTypeMap, a confusingly inaccurate and imprecise name, and
1568         reimplemented using the populate function.
1569         (WebCore::SVGElement::animatedPropertyTypeForAttribute): Updated to call
1570         attributeNameToAnimatedPropertyTypeMap, and also removed the double hashing
1571         that was done by calling contains followed by get.
1572         (WebCore::SVGElement::cssPropertyIdForSVGAttributeName): Rewrote to use
1573         populateAttributeNameToCSSPropertyIDMap.
1574         (WebCore::SVGElement::isAnimatableCSSProperty): Updated to call the new
1575         attributeNameToAnimatedPropertyTypeMap.
1576
1577 2013-09-17  Darin Adler  <darin@apple.com>
1578
1579         Make SVGTransform::valueAsString use StringBuilder
1580         https://bugs.webkit.org/show_bug.cgi?id=121498
1581
1582         Reviewed by Andreas Kling.
1583
1584         * svg/SVGTransform.cpp:
1585         (WebCore::SVGTransform::valueAsString): Use StringBuilder constently to
1586         avoid creating temporary String objects that cause additional, slow
1587         memory allocation.
1588
1589 2013-09-17  Darin Adler  <darin@apple.com>
1590
1591         Get rid of a couple unneeded NeverDestroyed::get() calls
1592         https://bugs.webkit.org/show_bug.cgi?id=121500
1593
1594         Reviewed by Andreas Kling.
1595
1596         * css/CSSSelector.cpp:
1597         (WebCore::CSSSelector::parsePseudoType): No need to call get() here.
1598         * dom/make_names.pl:
1599         (printFactoryCppFile): Ditto.
1600         (printWrapperFactoryCppFile): Ditto.
1601
1602 2013-09-17  Hans Muller  <hmuller@adobe.com>
1603
1604         Bad ASSERT() in RasterShapeIntervals::firstIncludedIntervalY()
1605         https://bugs.webkit.org/show_bug.cgi?id=121455
1606
1607         Reviewed by Darin Adler.
1608
1609         Corrected a bad ASSERT() introduced in https://bugs.webkit.org/show_bug.cgi?id=120211.
1610
1611         Test: fast/shapes/shape-inside/shape-inside-first-fit-crash.html
1612
1613         * rendering/shapes/RasterShape.cpp:
1614         (WebCore::RasterShapeIntervals::firstIncludedIntervalY):
1615
1616 2013-09-16  David Hyatt  <hyatt@apple.com>
1617
1618         Move the line widow functions out of RenderBlock and into RenderBlockFlow.
1619         https://bugs.webkit.org/show_bug.cgi?id=121456
1620
1621         Reviewed by Dean Jackson.
1622
1623         * rendering/RenderBlock.cpp:
1624         * rendering/RenderBlock.h:
1625         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
1626         * rendering/RenderBlockFlow.cpp:
1627         (WebCore::RenderBlockFlow::layoutBlockChild):
1628         (WebCore::calculateMinimumPageHeight):
1629         (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
1630         (WebCore::RenderBlockFlow::setBreakAtLineToAvoidWidow):
1631         (WebCore::RenderBlockFlow::clearShouldBreakAtLineToAvoidWidow):
1632         (WebCore::RenderBlockFlow::relayoutToAvoidWidows):
1633         * rendering/RenderBlockFlow.h:
1634         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
1635         (WebCore::RenderBlockFlow::shouldBreakAtLineToAvoidWidow):
1636         (WebCore::RenderBlockFlow::lineBreakToAvoidWidow):
1637         * rendering/RenderBlockLineLayout.cpp:
1638         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
1639         (WebCore::RenderBlock::linkToEndLineIfNeeded):
1640         (WebCore::RenderBlock::determineStartPosition):
1641         (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
1642         * rendering/RenderObject.h:
1643
1644 2013-09-16  Anders Carlsson  <andersca@apple.com>
1645
1646         HashMap should work with move-only keys
1647         https://bugs.webkit.org/show_bug.cgi?id=121310
1648
1649         Reviewed by Darin Adler.
1650
1651         Update the call sites now that HashMap::take doesn't return a PassOwnPtr.
1652
1653         * rendering/RenderRegion.cpp:
1654         (WebCore::RenderRegion::takeRenderBoxRegionInfo):
1655         * rendering/RenderRegion.h:
1656         * rendering/svg/RenderSVGResourceContainer.cpp:
1657         (WebCore::RenderSVGResourceContainer::registerResource):
1658         * svg/SVGDocumentExtensions.cpp:
1659         (WebCore::SVGDocumentExtensions::removePendingResource):
1660         (WebCore::SVGDocumentExtensions::removePendingResourceForRemoval):
1661         * svg/SVGDocumentExtensions.h:
1662
1663 2013-09-17  Antti Koivisto  <antti@apple.com>
1664
1665         Add RenderObject bit for isBR().
1666         https://bugs.webkit.org/show_bug.cgi?id=121494
1667
1668         Reviewed by Andreas Kling.
1669
1670         It is no longer piggybacking on isText() flag and is now hot in inline layout.
1671
1672         * rendering/RenderBR.cpp:
1673         (WebCore::RenderBR::RenderBR):
1674         * rendering/RenderBR.h:
1675         * rendering/RenderObject.h:
1676         (WebCore::RenderObject::isBR):
1677         (WebCore::RenderObject::setIsBR):
1678         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
1679
1680 2013-09-17  Andreas Kling  <akling@apple.com>
1681
1682         Export some missing symbols for Internals after RenderArena& change.
1683
1684         * WebCore.exp.in:
1685
1686 2013-09-17  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1687
1688         Set MessageEvent.source to the newly created port for shared workers' connect events
1689         https://bugs.webkit.org/show_bug.cgi?id=121390
1690
1691         Reviewed by Darin Adler.
1692
1693         Set MessageEvent.source to the newly created port for shared workers' connect events
1694         instead of previously null, as per the latest specification:
1695         http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#dom-messageevent-source
1696         http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#dom-sharedworker
1697
1698         This behavior is consisent with Blink.
1699
1700         Test: fast/workers/shared-worker-messageevent-source.html
1701
1702         * dom/EventTarget.cpp:
1703         (WebCore::EventTarget::isMessagePort):
1704         * dom/EventTarget.h:
1705         * dom/MessageEvent.cpp:
1706         (WebCore::isValidSource):
1707         (WebCore::MessageEvent::MessageEvent):
1708         * dom/MessageEvent.h:
1709         Use null String instead of an empty String as default value for origin and lastEventId.
1710         This is more efficient and has no impact on the behavior on the JavaScript since a
1711         null String is exposed as an empty one on JS side.
1712         This change is covered by fast/events/constructors/message-event-constructor.html
1713         * dom/MessageEvent.idl:
1714         * dom/MessagePort.h:
1715         * page/DOMWindow.cpp:
1716         (WebCore::PostMessageTimer::event):
1717         * workers/SharedWorkerGlobalScope.cpp:
1718         (WebCore::createConnectEvent):
1719
1720 2013-09-17  Antti Koivisto  <antti@apple.com>
1721
1722         RenderBR should not be RenderText
1723         https://bugs.webkit.org/show_bug.cgi?id=121221
1724
1725         Reviewed by Darin Adler.
1726
1727         Stop inheriting RenderBR from RenderText and make it be a RenderBoxModelObject instead. RenderBR was one
1728         of the few cases where Element renderer was a RenderText. This will enable future cleanups.
1729         
1730         RenderBR used little of RenderText mechanisms and was already heavily specialized everywhere. Layout code
1731         didn't care about its text content at all. The new RenderText is also significatly more lightweight
1732         than the old. As a line box it uses plain InlineBox instead of InlineTextBox.
1733         
1734         The patch tries to avoid changing test results though there are a few changed render tree dumps without
1735         visual effect. There are also two rendering progressions.
1736
1737         * accessibility/AccessibilityRenderObject.cpp:
1738         (WebCore::AccessibilityRenderObject::textUnderElement):
1739         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
1740         * dom/ContainerNode.cpp:
1741         (WebCore::ContainerNode::getUpperLeftCorner):
1742         * dom/Document.cpp:
1743         (WebCore::Document::updateHoverActiveState):
1744         * dom/Position.cpp:
1745         (WebCore::hasInlineBoxWrapper):
1746         (WebCore::nextRenderedEditable):
1747         (WebCore::previousRenderedEditable):
1748         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
1749         (WebCore::Position::getInlineBoxAndOffset):
1750         * dom/Range.cpp:
1751         (WebCore::Range::textRects):
1752         (WebCore::Range::textQuads):
1753         * editing/ApplyStyleCommand.cpp:
1754         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
1755         * editing/Editor.cpp:
1756         (WebCore::findFirstMarkable):
1757         * editing/TextIterator.cpp:
1758         (WebCore::ignoresContainerClip):
1759         * editing/VisibleUnits.cpp:
1760         (WebCore::CachedLogicallyOrderedLeafBoxes::previousTextOrLineBreakBox):
1761         (WebCore::CachedLogicallyOrderedLeafBoxes::nextTextOrLineBreakBox):
1762         (WebCore::logicallyPreviousBox):
1763         (WebCore::logicallyNextBox):
1764         (WebCore::wordBreakIteratorForMinOffsetBoundary):
1765         (WebCore::wordBreakIteratorForMaxOffsetBoundary):
1766         * rendering/InlineBox.cpp:
1767         (WebCore::InlineBox::logicalHeight):
1768         (WebCore::InlineBox::baselinePosition):
1769         (WebCore::InlineBox::lineHeight):
1770         (WebCore::InlineBox::deleteLine):
1771         (WebCore::InlineBox::extractLine):
1772         (WebCore::InlineBox::attachLine):
1773         (WebCore::InlineBox::paint):
1774         * rendering/InlineBox.h:
1775         (WebCore::InlineBox::isLineBreak):
1776         * rendering/InlineFlowBox.cpp:
1777         (WebCore::InlineFlowBox::computeOverflow):
1778         * rendering/InlineIterator.h:
1779         (WebCore::isIteratorTarget):
1780         * rendering/InlineTextBox.cpp:
1781         (WebCore::InlineTextBox::lineHeight):
1782         (WebCore::InlineTextBox::isLineBreak):
1783         * rendering/RenderBR.cpp:
1784         (WebCore::RenderBR::RenderBR):
1785         (WebCore::RenderBR::~RenderBR):
1786         (WebCore::RenderBR::createAnonymous):
1787         (WebCore::RenderBR::lineHeight):
1788         (WebCore::RenderBR::baselinePosition):
1789         (WebCore::RenderBR::createInlineBox):
1790         (WebCore::RenderBR::setInlineBoxWrapper):
1791         (WebCore::RenderBR::replaceInlineBoxWrapper):
1792         (WebCore::RenderBR::deleteInlineBoxWrapper):
1793         (WebCore::RenderBR::dirtyLineBoxes):
1794         (WebCore::RenderBR::caretMinOffset):
1795         (WebCore::RenderBR::caretMaxOffset):
1796         (WebCore::RenderBR::canBeSelectionLeaf):
1797         (WebCore::RenderBR::setSelectionState):
1798         (WebCore::RenderBR::localCaretRect):
1799         (WebCore::RenderBR::linesBoundingBox):
1800         (WebCore::RenderBR::absoluteRects):
1801         (WebCore::RenderBR::absoluteQuads):
1802         (WebCore::RenderBR::updateFromStyle):
1803         (WebCore::RenderBR::borderBoundingBox):
1804         * rendering/RenderBR.h:
1805         (WebCore::toRenderBR):
1806         * rendering/RenderBlock.cpp:
1807         (WebCore::InlineMinMaxIterator::next):
1808         (WebCore::RenderBlock::updateFirstLetter):
1809         * rendering/RenderBlockLineLayout.cpp:
1810         (WebCore::createInlineBoxForRenderer):
1811         (WebCore::dirtyLineBoxesForRenderer):
1812         (WebCore::reachedEndOfTextRenderer):
1813         (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
1814         (WebCore::RenderBlockFlow::layoutInlineChildren):
1815         (WebCore::requiresLineBox):
1816         (WebCore::shouldSkipWhitespaceAfterStartObject):
1817         (WebCore::canBreakAtThisPosition):
1818         * rendering/RenderInline.cpp:
1819         (WebCore::RenderInline::generateCulledLineBoxRects):
1820         (WebCore::RenderInline::culledInlineFirstLineBox):
1821         (WebCore::RenderInline::culledInlineLastLineBox):
1822         (WebCore::RenderInline::dirtyLineBoxes):
1823         * rendering/RenderLineBoxList.cpp:
1824         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
1825         * rendering/RenderMenuList.cpp:
1826         (WebCore::RenderMenuList::RenderMenuList):
1827         (WebCore::RenderMenuList::styleDidChange):
1828         (WebCore::RenderMenuList::setText):
1829         (WebCore::RenderMenuList::text):
1830         * rendering/RenderMenuList.h:
1831         * rendering/RenderObject.h:
1832         (WebCore::RenderObject::isBeforeContent):
1833         (WebCore::RenderObject::isAfterContent):
1834         * rendering/RenderObjectChildList.cpp:
1835         (WebCore::RenderObjectChildList::removeChildNode):
1836         * rendering/RenderText.cpp:
1837         (WebCore::RenderText::removeAndDestroyTextBoxes):
1838         (WebCore::RenderText::computePreferredLogicalWidths):
1839         (WebCore::RenderText::setTextInternal):
1840         * rendering/RenderTreeAsText.cpp:
1841         (WebCore::RenderTreeAsText::writeRenderObject):
1842         * rendering/RootInlineBox.cpp:
1843         (WebCore::RootInlineBox::ascentAndDescentForBox):
1844         (WebCore::RootInlineBox::verticalPositionForBox):
1845
1846 2013-09-17  Andreas Kling  <akling@apple.com>
1847
1848         Dodge more work during render tree teardown.
1849         <https://webkit.org/b/121487>
1850
1851         Reviewed by Antti Koivisto.
1852
1853         Add a Document::hasLivingRenderTree() method that returns true if
1854         there's a render tree attached to the document and it's not in the
1855         process of being torn down.
1856
1857         Deploy this check in a number of places that were only checking
1858         for the presence of a RenderView.
1859
1860 2013-09-17  Eric Carlson  <eric.carlson@apple.com>
1861
1862         MediaStream API: Adding an async RTCPeerConnection::addIceCandidate
1863         https://bugs.webkit.org/show_bug.cgi?id=121403
1864
1865         Merged from https://chromium.googlesource.com/chromium/blink/+/5bd81fda88d48dd2780832246e7d1ab973ee7a1d
1866
1867         Reviewed by Darin Adler.
1868
1869         No new tests, updated RTCPeerConnection-ice.html.
1870
1871         * Modules/mediastream/RTCPeerConnection.cpp:
1872         (WebCore::RTCPeerConnection::addIceCandidate): Add success and error callbacks.
1873         * Modules/mediastream/RTCPeerConnection.h:
1874         * Modules/mediastream/RTCPeerConnection.idl:
1875
1876         * platform/mediastream/RTCPeerConnectionHandler.h: Changed addIceCandidate signature.
1877
1878         * platform/mediastream/RTCVoidRequest.h: Removed ExtraData, it is unnecessary.
1879
1880 2013-09-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1881
1882         [GTK] Do not include Returns tag in api doc for methods returning void
1883         https://bugs.webkit.org/show_bug.cgi?id=121488
1884
1885         Reviewed by Philippe Normand.
1886
1887         * bindings/gobject/WebKitDOMCustom.h:
1888         * bindings/scripts/CodeGeneratorGObject.pm:
1889         (GenerateFunction): Only add Returns tag for methods not returning
1890         void.
1891         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
1892         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
1893         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
1894         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1895         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
1896
1897 2013-09-17  Michael Brüning  <michael.bruning@digia.com>
1898
1899         Correct range used for Emoji checks.
1900         https://bugs.webkit.org/show_bug.cgi?id=121486
1901
1902         Reviewed by Allan Sandfeld Jensen.
1903
1904         Found and reported by David Binderman via Qt bug tracker.
1905
1906         The check if a character was in the Emoji range always evaluated to
1907         false due to the upper range limit being lower than the lower limit.
1908
1909         Changed the upper limit to the highest assigned character from the
1910         "Transport and Map Symbols" (0x1F6C5) as that seems to have been the
1911         intended upper range limit of this check.
1912
1913         * platform/graphics/Font.cpp:
1914         (WebCore::Font::isCJKIdeographOrSymbol):
1915
1916 2013-09-17  Antti Koivisto  <antti@apple.com>
1917
1918         Move text caret rect computation to root inline box
1919         https://bugs.webkit.org/show_bug.cgi?id=121479
1920
1921         Reviewed by Andreas Kling.
1922
1923         For future code sharing.
1924
1925         * rendering/RenderText.cpp:
1926         (WebCore::RenderText::localCaretRect):
1927         * rendering/RootInlineBox.cpp:
1928         (WebCore::RootInlineBox::computeCaretRect):
1929         * rendering/RootInlineBox.h:
1930
1931 2013-09-17  Alberto Garcia  <berto@igalia.com>
1932
1933         [GTK] Don't make the GObject DOM bindings API break test fatal
1934         https://bugs.webkit.org/show_bug.cgi?id=121484
1935
1936         Reviewed by Carlos Garcia Campos.
1937
1938         The API varies depending on the compilation options, so this can
1939         easily produce false positives.
1940
1941         Until we figure out a way to handle this situation we shouldn't
1942         make this test fatal.
1943
1944         * bindings/scripts/gobject-run-api-break-test:
1945         (check_api):
1946
1947 2013-09-17  Mihnea Ovidenie  <mihnea@adobe.com>
1948
1949         [CSSRegions] Replace generatingNode() with generatingElement() for RenderRegion
1950         https://bugs.webkit.org/show_bug.cgi?id=121469
1951
1952         Reviewed by Antti Koivisto.
1953
1954         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.
1955
1956         No new functionality introduced, therefore no new tests.
1957
1958         * rendering/RenderNamedFlowThread.cpp:
1959         (WebCore::compareRenderRegions):
1960
1961 2013-09-17  Andreas Kling  <akling@apple.com>
1962
1963         CTTE: Pass RenderArena around by reference.
1964         <https://webkit.org/b/121470>
1965
1966         Reviewed by Antti Koivisto.
1967
1968         Pass the RenderArena around by reference in all render tree code.
1969         This code will never be running without an arena.
1970
1971 2013-09-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1972
1973         [GTK] GObject DOM symbols file is not generated for video related classes
1974         https://bugs.webkit.org/show_bug.cgi?id=121476
1975
1976         Reviewed by Philippe Normand.
1977
1978         The problem is that we are using a different path for video
1979         related header files in the Makefile, it's the same path in
1980         practice, because we are just prepending ./ to the path, but the
1981         rules that parse those paths don't expect the ./ at the beginning.
1982
1983         * bindings/gobject/GNUmakefile.am: Use the same path for video
1984         related header files as the other paths in
1985         webkitgtk_gdom_built_h_api.
1986         * bindings/gobject/webkitdom.symbols: Updated to include the
1987         symbols of the video related clases.
1988
1989 2013-09-17  Andreas Kling  <akling@apple.com>
1990
1991         Remove ContextFeatures.
1992         <https://webkit.org/b/121473>
1993
1994         Reviewed by Antti Koivisto.
1995
1996         This was only used by the chromium port, nobody implements ContextFeaturesClient.
1997
1998 2013-09-17  Andreas Kling  <akling@apple.com>
1999
2000         Un-dork the build. :|
2001
2002 2013-09-17  Andreas Kling  <akling@apple.com>
2003
2004         Unreviewed, fix clang warning when building without ENABLE(STYLE_SCOPED).
2005
2006 2013-09-08  Andreas Kling  <akling@apple.com>
2007
2008         Move <style scoped> code behind ENABLE(STYLE_SCOPED)
2009         <https://webkit.org/b/121018>
2010
2011         Reviewed by Darin Adler.
2012
2013         Move all the code for <style scoped> behind ENABLE(STYLE_SCOPED) guards.
2014         It's not nice to clutter common codepaths with code that always executes
2015         even though the feature is disabled at compile-time.
2016
2017 2013-09-16  Sam Weinig  <sam@webkit.org>
2018
2019         CTTE: InputType should store its HTMLInputElement back pointer as a reference
2020         https://bugs.webkit.org/show_bug.cgi?id=121466
2021
2022         Reviewed by Anders Carlsson.
2023
2024         - Converts InputType::create() and InputType::createText() to take a HTMLInputElement&
2025           (as well as all the subclasses).
2026         - Change InputType::element() to return an HTMLInputElement& and update all the callers.
2027
2028 2013-09-16  Timothy Hatcher  <timothy@apple.com>
2029
2030         Make InspectorTimelineAgent use an enum for the record type instead of a string.
2031
2032         https://bugs.webkit.org/show_bug.cgi?id=121461
2033
2034         Reviewed by Joseph Pecoraro.
2035
2036         * inspector/Inspector.json:
2037         * inspector/InspectorTimelineAgent.cpp:
2038         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
2039         (WebCore::toProtocol):
2040         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
2041         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
2042         (WebCore::InspectorTimelineAgent::appendRecord):
2043         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
2044         * inspector/InspectorTimelineAgent.h:
2045         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
2046
2047 2013-09-16  Joseph Pecoraro  <pecoraro@apple.com>
2048
2049         Add RunLoop::isMain and use it in WebKit2
2050         https://bugs.webkit.org/show_bug.cgi?id=121459
2051
2052         Reviewed by Anders Carlsson.
2053
2054         * WebCore.exp.in:
2055         * platform/RunLoop.cpp:
2056         (WebCore::RunLoop::isMain):
2057         * platform/RunLoop.h:
2058
2059 2013-09-16  Chris Fleizach  <cfleizach@apple.com>
2060
2061         AX: ARIA tablist is disabled, but VoiceOver does not speak the tabs as dimmed
2062         https://bugs.webkit.org/show_bug.cgi?id=121408
2063
2064         Reviewed by Darin Adler.
2065
2066         ARIA says that aria-disabled should propagate to children nodes.
2067
2068         Test: accessibility/aria-disabled-propagated-to-children.html
2069
2070         * accessibility/AccessibilityNodeObject.cpp:
2071         (WebCore::AccessibilityNodeObject::isEnabled):
2072
2073 2013-09-16  Sam Weinig  <sam@webkit.org>
2074
2075         CTTE: Element::createRenderer() should take references
2076         https://bugs.webkit.org/show_bug.cgi?id=121449
2077
2078         Reviewed by Anders Carlsson.
2079
2080         *Many file elided*
2081
2082 2013-09-16  Enrica Casucci  <enrica@apple.com>
2083
2084         iOS build fix after r155638.
2085
2086         Unreviewed.
2087
2088         * editing/Editor.cpp:
2089
2090 2013-09-16  Bem Jones-Bey  <bjonesbe@adobe.com>
2091
2092         Make FloatingObjects own it's FloatingObject instances
2093         https://bugs.webkit.org/show_bug.cgi?id=121323
2094
2095         Reviewed by Alexandru Chiculita.
2096
2097         As part of decoupling FloatingObjects from RenderBlock, change
2098         FloatingObjects to properly manage the FloatingObject instances it
2099         contains.
2100
2101         No new tests, no behavior change.
2102
2103         * rendering/FloatingObjects.cpp:
2104         (WebCore::FloatingObject::FloatingObject): Make the constructors
2105         private so that FloatingObjects can only be created with an OwnPtr.
2106         Also make a RenderBox required to create a FloatingObject.
2107         (WebCore::FloatingObject::create): Factory method to create a vanilla
2108         FloatingObject.
2109         (WebCore::FloatingObject::copyToNewContainer): Factory method to copy
2110         an existing FloatingObject in the case it is overhanging or intruding
2111         and needs to be copied to the block that it overhangs or intrudes
2112         into.
2113         (WebCore::FloatingObject::unsafeClone): Rename this method so it is
2114         more obvious that it really shouldn't be used, and to make it more
2115         obvious that one should use the copyToNewContainer method for all
2116         normal FloatingObject copies.
2117         (WebCore::FloatingObjects::clear): Delete all the FloatingObjects in
2118         the set before clearing it.
2119         (WebCore::FloatingObjects::moveAllToFloatInfoMap): Move all of the
2120         FloatingObjects in the set to a RendererToFloatInfoMap. This is used
2121         in RenderBlockFlow::clearFloats to when it is readding floats after
2122         clearing the set.
2123         (WebCore::FloatingObjects::add): Take an OwnPtr.
2124         (WebCore::FloatingObjects::remove): Delete the removed FloatingObject.
2125         * rendering/FloatingObjects.h: Remove FloatingObject::setRenderer(),
2126         since the RenderBox must be set in the constructor.
2127         * rendering/RenderBlock.cpp:
2128         (WebCore::RenderBlock::moveAllChildrenIncludingFloatsTo): Rename clone
2129         to unsafeClone.
2130         (WebCore::RenderBlock::removeFloatingObjects): Don't delete anymore,
2131         since clear does it.
2132         (WebCore::RenderBlock::insertFloatingObject): Handle OwnPtr properly.
2133         (WebCore::RenderBlock::removeFloatingObject): Don't delete anymore,
2134         since remove does it.
2135         (WebCore::RenderBlock::removeFloatingObjectsBelow): Ditto.
2136         (WebCore::RenderBlock::addOverhangingFloats): Use copyToNewContainer
2137         and OwnPtr.
2138         (WebCore::RenderBlock::addIntrudingFloats): Ditto.
2139         * rendering/RenderBlockFlow.cpp:
2140         (WebCore::RenderBlockFlow::clearFloats): Use exportToFloatInfoMap.
2141
2142 2013-09-16  Hugo Parente Lima  <hugo.lima@openbossa.org>
2143
2144         Fix creation of embedded JS and CSS files on cmake based ports.
2145         https://bugs.webkit.org/show_bug.cgi?id=121448
2146
2147         Reviewed by Joseph Pecoraro.
2148
2149         Just a build fix, layout tests already test this issue.
2150
2151         * CMakeLists.txt:
2152
2153 2013-09-16  Anders Carlsson  <andersca@apple.com>
2154
2155         MessageQueue should use a Deque of OwnPtrs
2156         https://bugs.webkit.org/show_bug.cgi?id=121450
2157
2158         Reviewed by Andreas Kling.
2159
2160         * Modules/webdatabase/DatabaseThread.cpp:
2161         (WebCore::SameDatabasePredicate::operator()):
2162         * dom/default/PlatformMessagePortChannel.h:
2163         (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
2164         * fileapi/FileThread.cpp:
2165         (WebCore::SameInstancePredicate::operator()):
2166         * workers/WorkerRunLoop.cpp:
2167         (WebCore::ModePredicate::operator()):
2168
2169 2013-09-16  Andreas Kling  <akling@apple.com>
2170
2171         CTTE: FrameTree::top() should return a reference.
2172         <https://webkit.org/b/121445>
2173
2174         Reviewed by Anders Carlsson.
2175
2176         There's always a top frame in the tree.
2177
2178 2013-09-16  Zan Dobersek  <zdobersek@igalia.com>
2179
2180         Unreviewed, fixing GObject bindings tests after r155850 by adding the *.symbols files that are now also generated.
2181
2182         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.symbols: Added.
2183         * bindings/scripts/test/GObject/WebKitDOMTestCallback.symbols: Added.
2184         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.symbols: Added.
2185         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.symbols: Added.
2186         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.symbols: Added.
2187         * bindings/scripts/test/GObject/WebKitDOMTestException.symbols: Added.
2188         * bindings/scripts/test/GObject/WebKitDOMTestInterface.symbols: Added.
2189         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.symbols: Added.
2190         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.symbols: Added.
2191         * bindings/scripts/test/GObject/WebKitDOMTestNode.symbols: Added.
2192         * bindings/scripts/test/GObject/WebKitDOMTestObj.symbols: Added.
2193         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.symbols: Added.
2194         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.symbols: Added.
2195         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.symbols: Added.
2196
2197 2013-09-16  Daniel Bates  <dabates@apple.com>
2198
2199         Fix the build following <http://trac.webkit.org/changeset/155591>
2200         (https://bugs.webkit.org/show_bug.cgi?id=121200)
2201
2202         Fix the build for ports that enable PLUGIN_PROXY_FOR_VIDEO, such as iOS WebKit.
2203
2204         * html/shadow/MediaControlElements.cpp:
2205         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Substitute isWidget() for isRenderWidget()
2206         as the latter is undefined.
2207         * rendering/RenderLayerCompositor.cpp:
2208         (WebCore::RenderLayerCompositor::requiresCompositingForVideo): Ditto.
2209
2210 2013-09-16  Daniel Bates  <dabates@apple.com>
2211
2212         Build fix following <https://trac.webkit.org/r154358>
2213         (https://bugs.webkit.org/show_bug.cgi?id=120078)
2214
2215         Fix the build for ports that enable PLUGIN_PROXY_FOR_VIDEO, such as iOS WebKit.
2216
2217         * html/HTMLMediaElement.cpp:
2218         (WebCore::HTMLMediaElement::rendererIsNeeded): Substitute "style" for "context".
2219
2220 2013-09-16  Timothy Hatcher  <timothy@apple.com>
2221
2222         Make InspectorTypeBuilder generate better enums in C++.
2223
2224         https://bugs.webkit.org/show_bug.cgi?id=121440
2225
2226         Reviewed by Joseph Pecoraro.
2227
2228         * inspector/CodeGeneratorInspector.py:
2229         (fix_camel_case): Add more abbrivations.
2230         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder): Use fix_camel_case
2231         * inspector/ConsoleMessage.cpp:
2232         (WebCore::messageSourceValue):
2233         (WebCore::messageTypeValue):
2234         * inspector/InspectorCSSAgent.cpp:
2235         (WebCore::InspectorCSSAgent::detectOrigin):
2236         * inspector/InspectorRuntimeAgent.cpp:
2237         (WebCore::InspectorRuntimeAgent::parse):
2238         * inspector/InspectorStyleSheet.cpp:
2239         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
2240         * inspector/InspectorStyleSheet.h:
2241         (WebCore::InspectorStyleSheet::canBind):
2242
2243 2013-09-16  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2244
2245         MediaStream API: Storing the constraints in MediaStreamSource
2246         https://bugs.webkit.org/show_bug.cgi?id=120882
2247
2248         based on: https://chromium.googlesource.com/chromium/blink/+/04ac7655b54ae98f55774afde3f8e92b6c6302e6
2249
2250         Reviewed by Eric Carlson.
2251
2252         No new tests needed.
2253
2254         * Modules/mediastream/UserMediaRequest.cpp:
2255         (WebCore::UserMediaRequest::succeed):
2256         * platform/mediastream/MediaStreamSource.h:
2257         (WebCore::MediaStreamSource::setConstraints):
2258         (WebCore::MediaStreamSource::constraints):
2259
2260 2013-09-16  Andreas Kling  <akling@apple.com>
2261
2262         Rebaseline bindings tests after Sam's Document& changes.
2263
2264 2013-09-16  Andreas Kling  <akling@apple.com>
2265
2266         Destroying a Document's render tree shouldn't make it impossible to recreate.
2267         <https://webkit.org/b/121437>
2268
2269         Reviewed by Antti Koivisto.
2270
2271         Rename Document::detach() to destroyRenderTree() and stop automatically
2272         disconnecting Document from its Frame after the deforestation.
2273
2274         Added Document::disconnectFromFrame() and do that after every call to
2275         destroyRenderTree() that we currently have.
2276
2277         This change doesn't alter any behavior on its own, but is a step towards
2278         being able to destroy and rebuild the render tree.
2279
2280 2013-09-16  Brent Fulgham  <bfulgham@apple.com>
2281
2282         Unreviewed warning correction. Avoid uninitialized renderer.
2283
2284         * css/CSSComputedStyleDeclaration.cpp:
2285         (WebCore::ComputedStyleExtractor::propertyValue): Renderer can be uninitialized.
2286
2287 2013-09-16  Brent Fulgham  <bfulgham@apple.com>
2288
2289         Unreviewed warning correction.
2290
2291         * css/CSSParser.cpp:
2292         (WebCore::CSSParser::parseFilter): Don't use 'value' as the input argument
2293         to the method, and the internal loop variable for the parser.
2294
2295 2013-09-16  peavo@outlook.com  <peavo@outlook.com>
2296
2297         [Win] Compile errors in WebCore derived sources.
2298         https://bugs.webkit.org/show_bug.cgi?id=121420
2299
2300         Reviewed by Brent Fulgham.
2301
2302         * dom/make_names.pl:
2303         (printNamesCppFile): Added const modifier.
2304         (printDefinitions): Use C style cast.
2305
2306 2013-09-16  Hans Muller  <hmuller@adobe.com>
2307
2308         [CSS Shapes] Winding rule polygon issues
2309         https://bugs.webkit.org/show_bug.cgi?id=120236
2310
2311         Reviewed by Dirk Schulze.
2312
2313         This patch corrects some of the problems with shape-inside and
2314         self-intersecting polygons and eliminates the layout flashing behavior
2315         that prompted the original bug report. The FloatPolygon::contains()
2316         method now respoects the polygon's fillRule and the PolygonShape code
2317         used to find shape-inside intervals for the top and bottom of a line
2318         now also handles fillRule correctly.
2319
2320         Tests: fast/shapes/shape-inside/shape-inside-complex-polygon-001.html
2321                fast/shapes/shape-inside/shape-inside-complex-polygon-002.html
2322                fast/shapes/shape-inside/shape-inside-complex-polygon-003.html
2323                fast/shapes/shape-inside/shape-inside-complex-polygon-004.html
2324
2325         * platform/graphics/FloatPolygon.cpp:
2326         (WebCore::FloatPolygon::containsEvenOdd):
2327         (WebCore::FloatPolygon::containsNonZero):
2328         (WebCore::FloatPolygon::contains):
2329         * platform/graphics/FloatPolygon.h:
2330         * rendering/shapes/PolygonShape.cpp:
2331         (WebCore::computeXIntersections):
2332
2333 2013-09-16  Andreas Kling  <akling@apple.com>
2334
2335         AXObjectCache::m_document should be a reference.
2336         <https://webkit.org/b/121425>
2337
2338         Reviewed by Antti Koivisto.
2339
2340         AXObjectCache is always owned by a Document so remove the uncertainty
2341         by turning its m_document into a Document&.
2342
2343 2013-09-16  Commit Queue  <commit-queue@webkit.org>
2344
2345         Unreviewed, rolling out r155851.
2346         http://trac.webkit.org/changeset/155851
2347         https://bugs.webkit.org/show_bug.cgi?id=121429
2348
2349         checkbox states should be exposed through AtkState, not
2350         AtkValue (Requested by msanchez on #webkit).
2351
2352         * accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
2353         (webkitAccessibleValueGetCurrentValue):
2354         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2355         (getInterfaceMaskFromObject):
2356
2357 2013-09-16  Krzysztof Czech  <k.czech@samsung.com>
2358
2359         [ATK] Extends atk value interface to return proper checkbox states
2360         https://bugs.webkit.org/show_bug.cgi?id=121413
2361
2362         Reviewed by Mario Sanchez Prada.
2363
2364         Tests: accessibility/mixed-checkbox.html
2365                accessibility/native-vs-nonnative-checkboxes.html
2366
2367         * accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
2368         (webkitAccessibleValueValueForAccessibilityObject):
2369         (webkitAccessibleValueGetCurrentValue):
2370         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2371         (getInterfaceMaskFromObject):
2372
2373 2013-09-16  Carlos Garcia Campos  <cgarcia@igalia.com>
2374
2375         [GTK] Check DOM bindings API compatibility while building
2376         https://bugs.webkit.org/show_bug.cgi?id=101224
2377
2378         Reviewed by Gustavo Noronha Silva.
2379
2380         A .symbols file is now generated for every DOM binding public API
2381         object. It contains the signature of all public methods. We keep a
2382         single file with the signature of all public methods in the source
2383         tree. When DOM bindings are generated, a new symbols file is
2384         created concatenating all .symbols files generated and it's
2385         compared with the symbols file in the source tree using a script
2386         that checks if the changes are API compatible or not. In case of
2387         API break the build finishes showing the differences found in the
2388         symbol files. If API compatible changes are found, the diff is
2389         shown in stdout, suggesting to run the gobject-run-api-break-test
2390         with the --reset-results option to update the symbols file, and
2391         the build continues. If there aren't API changes the build
2392         continues silently.
2393
2394         * GNUmakefile.am:
2395         * bindings/gobject/GNUmakefile.am:
2396         * bindings/gobject/WebKitDOMCustom.symbols: Added.
2397         * bindings/gobject/WebKitDOMEventTarget.symbols: Added.
2398         * bindings/gobject/WebKitDOMObject.symbols: Added.
2399         * bindings/gobject/webkitdom.symbols: Added.
2400         * bindings/scripts/CodeGeneratorGObject.pm:
2401         (GenerateFunction):
2402         (WriteData):
2403         * bindings/scripts/gobject-run-api-break-test: Added.
2404         (check_api):
2405
2406 2013-09-16  Andreas Kling  <akling@apple.com>
2407
2408         Devirtualize Document::detach().
2409         <https://webkit.org/b/121418>
2410
2411         Reviewed by Antti Koivisto.
2412
2413         The only override was in PluginDocument which needs to decouple itself
2414         from the plugin element at the start of detach.
2415
2416         Added PluginDocument::detachFromPluginElement() and call it from detach().
2417
2418 2013-09-15  Andreas Kling  <akling@apple.com>
2419
2420         CTTE: RenderCombineText always has a Text node.
2421         <https://webkit.org/b/121411>
2422
2423         Reviewed by Antti Koivisto.
2424
2425         This renderer is never anonymous and always has a corresponding Text node.
2426         Replaced node() with a textNode() reference getter.
2427
2428 2013-09-15  Andreas Kling  <akling@apple.com>
2429
2430         CTTE: RenderSVGInlineText always has a Text node.
2431         <https://webkit.org/b/121409>
2432
2433         Reviewed by Antti Koivisto.
2434
2435         This renderer is never anonymous and always has a corresponding Text node.
2436         Replaced node() with a textNode() reference getter.
2437
2438         Only one null check was harmed in the making of this patch.
2439
2440 2013-09-15  Darin Adler  <darin@apple.com>
2441
2442         Try to fix the Windows build.
2443
2444         * dom/make_names.pl: The static_cast here was running into const-correctness
2445         issues, so for now change it back to a C-style cast.
2446
2447 2013-09-15  Santosh Mahto  <santosh.ma@samsung.com>
2448
2449         Adding "explicit" keyword in rendering related constructors
2450         https://bugs.webkit.org/show_bug.cgi?id=121398
2451
2452         Reviewed by Andreas Kling.
2453
2454         Adding explicit in below constructor.
2455         All files belong to Source/WebCore/rendering/ path.
2456
2457         * rendering/AutoTableLayout.h:
2458         * rendering/ClipPathOperation.h:
2459         (WebCore::ClipPathOperation::ClipPathOperation):
2460         (WebCore::ShapeClipPathOperation::ShapeClipPathOperation):
2461         * rendering/FixedTableLayout.h:
2462         * rendering/FloatingObjects.h:
2463         (WebCore::FloatingObject::FloatingObject):
2464         * rendering/FlowThreadController.h:
2465         * rendering/HitTestResult.h:
2466         * rendering/ImageQualityController.h:
2467         * rendering/InlineBox.h:
2468         (WebCore::InlineBox::InlineBox):
2469         (WebCore::InlineBox::InlineBoxBitfields::InlineBoxBitfields):
2470         * rendering/InlineFlowBox.h:
2471         (WebCore::InlineFlowBox::InlineFlowBox):
2472         * rendering/InlineTextBox.h:
2473         (WebCore::InlineTextBox::InlineTextBox):
2474         * rendering/LayoutState.h:
2475         * rendering/LogicalSelectionOffsetCaches.h:
2476         (WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches):
2477         * rendering/RenderBoxModelObject.h:
2478         * rendering/RenderFlexibleBox.h:
2479         * rendering/RenderFrameSet.h:
2480         (WebCore::FrameEdgeInfo::FrameEdgeInfo):
2481         * rendering/RenderGeometryMap.h:
2482         * rendering/RenderImage.h:
2483         * rendering/RenderImageResourceStyleImage.h:
2484         * rendering/RenderLayerFilterInfo.h:
2485         * rendering/RenderMultiColumnSet.h:
2486         * rendering/RenderNamedFlowThread.h:
2487         * rendering/RenderReplaced.h:
2488         * rendering/RenderSearchField.h:
2489         * rendering/RenderSelectionInfo.h:
2490         (WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase):
2491         (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
2492         * rendering/RenderTableSection.h:
2493         * rendering/RenderTextControl.h:
2494         * rendering/RenderTextControlSingleLine.h:
2495         * rendering/TrailingFloatsRootInlineBox.h:
2496
2497 2013-09-15  Gustavo Noronha Silva  <gns@gnome.org>
2498
2499         Unreviewed make distcheck fix.
2500
2501         * GNUmakefile.am:
2502         * GNUmakefile.list.am:
2503
2504 2013-09-15  Patrick Gansterer  <paroga@webkit.org>
2505
2506         [WIN] Fix build without precompiled header after r154146.
2507
2508         * platform/win/WebCoreBundleWin.h:
2509
2510 2013-09-15  Andreas Kling  <akling@apple.com>
2511
2512         CTTE: EllipsisBox owner renderer is always a RenderBlock.
2513         <https://webkit.org/b/121402>
2514
2515         Reviewed by Antti Koivisto.
2516
2517         Let the constructor reflect this. Also out-of-line it because reasons.
2518
2519 2013-09-15  Sam Weinig  <sam@webkit.org>
2520
2521         CTTE: RenderObject's createAnonymous() and setDocumentForAnonymous() should take Document references
2522         https://bugs.webkit.org/show_bug.cgi?id=121400
2523
2524         Reviewed by Andreas Kling.
2525
2526         The Document used for anonymous renderers is never null.
2527
2528         * dom/Document.cpp:
2529         * page/FrameView.cpp:
2530         * rendering/FlowThreadController.cpp:
2531         * rendering/RenderBlock.cpp:
2532         * rendering/RenderBlock.h:
2533         * rendering/RenderFlexibleBox.cpp:
2534         * rendering/RenderFlexibleBox.h:
2535         * rendering/RenderFullScreen.cpp:
2536         * rendering/RenderFullScreen.h:
2537         * rendering/RenderImage.cpp:
2538         * rendering/RenderInline.cpp:
2539         * rendering/RenderInline.h:
2540         * rendering/RenderLayer.cpp:
2541         * rendering/RenderListMarker.cpp:
2542         * rendering/RenderMultiColumnBlock.cpp:
2543         * rendering/RenderMultiColumnFlowThread.cpp:
2544         * rendering/RenderMultiColumnFlowThread.h:
2545         * rendering/RenderMultiColumnSet.cpp:
2546         * rendering/RenderMultiColumnSet.h:
2547         * rendering/RenderNamedFlowThread.cpp:
2548         * rendering/RenderNamedFlowThread.h:
2549         * rendering/RenderObject.h:
2550         * rendering/RenderReplica.cpp:
2551         * rendering/RenderReplica.h:
2552         * rendering/RenderRuby.cpp:
2553         * rendering/RenderRubyBase.cpp:
2554         * rendering/RenderRubyBase.h:
2555         * rendering/RenderRubyRun.cpp:
2556         * rendering/RenderScrollbar.cpp:
2557         * rendering/RenderScrollbarPart.cpp:
2558         * rendering/RenderScrollbarPart.h:
2559         * rendering/RenderTable.cpp:
2560         * rendering/RenderTableCell.cpp:
2561         * rendering/RenderTableCell.h:
2562         * rendering/RenderTableRow.cpp:
2563         * rendering/RenderTableRow.h:
2564         * rendering/RenderTableSection.cpp:
2565         * rendering/RenderText.cpp:
2566         * rendering/RenderView.cpp:
2567         * rendering/RenderView.h:
2568         * rendering/mathml/RenderMathMLBlock.cpp:
2569         * rendering/mathml/RenderMathMLRow.cpp:
2570         * rendering/mathml/RenderMathMLScripts.cpp:
2571
2572 2013-09-15  Sam Weinig  <sam@webkit.org>
2573
2574         CTTE: ContentData::createRenderer() should take references
2575         https://bugs.webkit.org/show_bug.cgi?id=121399
2576
2577         Reviewed by Andreas Kling.
2578
2579         - Convert createRenderer(Document*, RenderStyle*) to createRenderer(Document&, RenderStyle&)
2580         - Do a drive by final-ing of ContentData derived classes.
2581
2582         * dom/PseudoElement.cpp:
2583         (WebCore::PseudoElement::didAttachRenderers):
2584         * rendering/RenderImage.cpp:
2585         (WebCore::RenderImage::createAnonymous):
2586         * rendering/RenderImage.h:
2587         * rendering/style/ContentData.cpp:
2588         (WebCore::ImageContentData::createRenderer):
2589         (WebCore::TextContentData::createRenderer):
2590         (WebCore::CounterContentData::createRenderer):
2591         (WebCore::QuoteContentData::createRenderer):
2592         * rendering/style/ContentData.h:
2593
2594 2013-09-15  Andreas Kling  <akling@apple.com>
2595
2596         CTTE: RenderFrameSet is never anonymous.
2597         <https://webkit.org/b/121396>
2598
2599         Reviewed by Antti Koivisto.
2600
2601         This renderer is never anonymous, and always has a corresponding HTMLFrameSetElement.
2602         Replaced element() with a frameSetElement().
2603
2604 2013-09-15  Sam Weinig  <sam@webkit.org>
2605
2606         CTTE: Node subclasses should take a Document by reference in their constructor (Part 10)
2607         https://bugs.webkit.org/show_bug.cgi?id=121397
2608
2609         Reviewed by Andreas Kling.
2610
2611         Convert the bindings code to pass a Document reference for named constructors.
2612
2613         * bindings/js/JSImageConstructor.cpp:
2614         (WebCore::constructImage):
2615         * bindings/scripts/CodeGeneratorJS.pm:
2616         (GenerateConstructorDefinition):
2617         * html/HTMLAudioElement.cpp:
2618         (WebCore::HTMLAudioElement::createForJSConstructor):
2619         * html/HTMLAudioElement.h:
2620         * html/HTMLImageElement.cpp:
2621         (WebCore::HTMLImageElement::createForJSConstructor):
2622         * html/HTMLImageElement.h:
2623         * html/HTMLOptionElement.cpp:
2624         (WebCore::HTMLOptionElement::createForJSConstructor):
2625         * html/HTMLOptionElement.h:
2626
2627 2013-09-15  Sam Weinig  <sam@webkit.org>
2628
2629         CTTE: Node subclasses should take a Document by reference in their constructor (Part 9)
2630         https://bugs.webkit.org/show_bug.cgi?id=121394
2631
2632         Reviewed by Andreas Kling.
2633
2634         Remove the 'constructorTakesDocumentReference' property. It is the default now.
2635
2636         * dom/make_names.pl:
2637         Always use a Document reference.
2638
2639         * html/HTMLTagNames.in:
2640         * mathml/mathtags.in:
2641         * svg/svgtags.in:
2642         Remove the 'constructorTakesDocumentReference' property.
2643
2644 2013-09-15  Andreas Kling  <akling@apple.com>
2645
2646         RenderWidget doesn't need to cache a FrameView pointer.
2647         <https://webkit.org/b/121158>
2648
2649         Reviewed by Antti Koivisto.
2650
2651         The FrameView can be found through RenderObject::view().frameView().
2652         This way also gets you a reference, so no need for null-checking.
2653
2654 2013-09-15  Sam Weinig  <sam@webkit.org>
2655
2656         CTTE: Node subclasses should take a Document by reference in their constructor (Part 8)
2657         https://bugs.webkit.org/show_bug.cgi?id=121393
2658
2659         Reviewed by Andreas Kling.
2660
2661         Converts the following to take a Document reference:
2662             - All of SVG
2663
2664 2013-09-15  Sam Weinig  <sam@webkit.org>
2665
2666         [CTTE] Node subclasses should take a Document by reference in their constructor (Part 7)
2667         https://bugs.webkit.org/show_bug.cgi?id=121389
2668
2669         Reviewed by Andreas Kling.
2670
2671         Converts the following to take a Document reference:
2672             - Element
2673             - MathMLElement
2674             - MathMLInlineContainerElement
2675             - MathMLMathElement
2676             - MathMLTextElement
2677
2678 2013-09-15  Andreas Kling  <akling@apple.com>
2679
2680         CTTE: RenderMedia and RenderVideo are never anonymous.
2681         <https://webkit.org/b/121388>
2682
2683         Reviewed by Sam Weinig.
2684
2685         Codify the following:
2686
2687         - RenderMedia always has an HTMLMediaElement.
2688         - RenderVideo always has an HTMLVideoElement.
2689
2690         None of these renderers are ever anonymous, so delete element() and provide
2691         strongly typed reference getters instead.
2692
2693 2013-09-15  Andreas Kling  <akling@apple.com>
2694
2695         Unreviewed, rolling out r155809.
2696         http://trac.webkit.org/changeset/155809
2697         https://bugs.webkit.org/show_bug.cgi?id=121388
2698
2699         Accidentally removed files, let's redo this.
2700
2701 2013-09-15  Andreas Kling  <akling@apple.com>
2702
2703         CTTE: RenderMedia and RenderVideo are never anonymous.
2704         <https://webkit.org/b/121388>
2705
2706         Reviewed by Sam Weinig.
2707
2708         Codify the following:
2709
2710         - RenderMedia always has an HTMLMediaElement.
2711         - RenderVideo always has an HTMLVideoElement.
2712
2713         None of these renderers are ever anonymous, so delete element() and provide
2714         strongly typed reference getters instead.
2715
2716 2013-09-15  Sam Weinig  <sam@webkit.org>
2717
2718         [CTTE] Node subclasses should take a Document by reference in their constructor (Part 6)
2719         https://bugs.webkit.org/show_bug.cgi?id=121387
2720
2721         Reviewed by Andreas Kling.
2722
2723         Converts the following to take a Document reference:
2724             - Attr
2725             - CDATASection
2726             - CharacterData
2727             - Comment
2728             - DOMImplementation
2729             - DocumentFragment
2730             - DocumentType
2731             - EntityReference
2732             - Notation
2733             - ProcessingInstruction
2734             - ShadowRoot
2735             - TemplateContentDocumentFragment
2736             - Text
2737
2738 2013-09-15  Andreas Kling  <akling@apple.com>
2739
2740         Remove RenderObject::clearNode().
2741         <https://webkit.org/b/121386>
2742
2743         Reviewed by Anders Carlsson.
2744
2745         This was used by ref-counted RenderWidgets after getting removed from their
2746         parent renderer but kept alive by an external ref. We have no need for this
2747         awkward state anymore, so remove clearNode().
2748
2749 2013-09-15  Andreas Kling  <akling@apple.com>
2750
2751         CTTE: RenderWidgets are never anonymous.
2752         <https://webkit.org/b/121385>
2753
2754         Reviewed by Anders Carlsson.
2755
2756         Codify the following:
2757
2758         - RenderWidget always has an HTMLFrameOwnerElement.
2759         - RenderEmbeddedObject always has an HTMLFrameOwnerElement.
2760         - RenderSnapshottedPlugIn always has an HTMLPlugInImageElement.
2761         - RenderFrame always has an HTMLFrameElement.
2762         - RenderIFrame always has an HTMLIFrameElement.
2763
2764         None of these renderers are ever anonymous, so delete element() and provide
2765         strongly typed reference getters instead.
2766
2767 2013-09-14  Darin Adler  <darin@apple.com>
2768
2769         Use FINAL instead of virtualChildren trick in render tree classes
2770         https://bugs.webkit.org/show_bug.cgi?id=121373
2771
2772         Reviewed by Andreas Kling.
2773
2774         * rendering/RenderBlock.cpp:
2775         (WebCore::RenderBlock::updateFirstLetterStyle): Use children instead of
2776         virtualChildren.
2777         * rendering/RenderBox.cpp:
2778         (WebCore::RenderBox::splitAnonymousBoxesAroundChild): Ditto.
2779         * rendering/RenderBoxModelObject.cpp:
2780         (WebCore::RenderBoxModelObject::moveChildTo): Ditto.
2781         * rendering/RenderObject.cpp:
2782         (WebCore::RenderObject::addChild): Ditto.
2783         (WebCore::RenderObject::removeChild): Ditto.
2784         (WebCore::RenderObject::handleDynamicFloatPositionChange): Ditto.
2785         (WebCore::RenderObject::willBeDestroyed): Ditto.
2786         (WebCore::RenderObject::removeFromRenderFlowThreadRecursive): Ditto.
2787
2788         * rendering/RenderBlock.h: Changed firstChild and lastChild to use
2789         m_children directly instead of a function. Made the children function
2790         a final virtual override. Deleted the virtualChildren override. Added
2791         override keywords to other virtual functions.
2792         * rendering/RenderEmbeddedObject.h: Ditto.
2793         * rendering/RenderFrameSet.h: Ditto.
2794         * rendering/RenderInline.h: Ditto.
2795         * rendering/RenderMedia.h: Ditto.
2796         * rendering/RenderTableCol.h: Ditto.
2797         * rendering/RenderTableRow.h: Ditto.
2798         * rendering/RenderTableSection.h: Ditto.
2799         * rendering/svg/RenderSVGContainer.h: Ditto.
2800         * rendering/svg/RenderSVGRoot.h: Ditto.
2801
2802         * rendering/RenderObject.h:
2803         (WebCore::RenderObject::firstChild): Use children instead of virtualChildren.
2804         (WebCore::RenderObject::lastChild): Ditto.
2805         (WebCore::RenderObject::children): Renamed from virtualChildren.
2806         (WebCore::RenderObject::canHaveChildren): Use children instead of virtualChildren.
2807
2808 2013-09-15  Darin Adler  <darin@apple.com>
2809
2810         Shrink factory functions
2811         https://bugs.webkit.org/show_bug.cgi?id=121378
2812
2813         Reviewed by Andreas Kling.
2814
2815         This makes the functions that builds four different types of per-element tables
2816         all have smaller code size.
2817
2818         * DerivedSources.make: Tweaked how HTML and SVG wrapper factories are made a bit.
2819         It was OK, but a little sloppy.
2820
2821         * dom/Document.cpp:
2822         (WebCore::Document::createElement): Changed to call the createElement functions
2823         in the factories. Also did some style improvement.
2824
2825         * dom/make_names.pl:
2826         (printConstructorSignature): Make constructors take a Document& instead of
2827         a Document*.
2828         (printConstructorInterior): Updated for Document& instead of Document*.
2829         (printFunctionTable): Renamed from printFunctionInits, because this now
2830         creates table entries. The actual code to add each function is now done
2831         in a loop instead.
2832         (printNamesHeaderFile): Made the table const.
2833         (printNamesCppFile): Made the table const.
2834         (printDefinitions): Generate a table, table entries, and a loop that calls
2835         createQualifiedName, rather than an "unrolled loop".
2836         (printFactoryCppFile): Tweaked indentation. Updated to take Document& instead
2837         of Document*. Generate a table, table entries, and a loop that builds a map,
2838         rather than an "unrolled" loop.
2839         (printFactoryHeaderFile): Eliminated the unused createElement member function
2840         that was part of a dream of factory objects in a namespace registry, giving
2841         the name createElement to the static member function so it would be less
2842         redundant. Also made the function takes a Document& instead of Document*.
2843         Also made the default "not created by parser", since the parser is the simpler
2844         use case, outnumbered by the non-parser uses, at least at the moment. Also,
2845         use nullptr instead of 0.
2846         (printWrapperFactoryCppFile): Generate a table, table entries, and a loop
2847         that builds a map rather than an "unrolled" loop.
2848
2849         * editing/htmlediting.cpp:
2850         (WebCore::createHTMLElement): Put the null check here that used to be in
2851         HTMLElementFactory::createElement, and call with a reference instead of a
2852         pointer. Also don't need to pass "0, false" since "not created by the parser"
2853         is now the default.
2854         * html/HTMLDocument.cpp:
2855         (WebCore::HTMLDocument::createElement): Ditto.
2856
2857         * html/HTMLElement.cpp:
2858         (WebCore::populateEventNameForAttributeLocalNameMap): Changed to use an
2859         AtomicStringImpl* as the key instead of AtomicString, since all the strings
2860         come from the local names of tags, and so don't need to be ref'd. This saves
2861         a bit of reference count churn when building the map and is the same pattern
2862         used in some maps in the make_names.pl script above.
2863         (WebCore::HTMLElement::parseAttribute): Updated for change above.
2864
2865         * html/HTMLObjectElement.cpp:
2866         (WebCore::isRecognizedTagName): More const.
2867
2868         * html/parser/HTMLConstructionSite.cpp:
2869         (WebCore::HTMLConstructionSite::createHTMLElement): Changed to call the
2870         HTMLElementFactory::createElement function under its new name with a reference
2871         rather than a pointer.
2872
2873         * html/parser/HTMLIdentifier.cpp:
2874         (WebCore::nameForIndex): More const.
2875         (WebCore::HTMLIdentifier::addNames): More const.
2876
2877         * html/parser/HTMLTreeBuilder.cpp:
2878         (WebCore::mapLoweredLocalNameToName): More const.
2879         (WebCore::adjustSVGTagNameCase): Eliminated local variable so we would not have
2880         to utter type with more const.
2881         (WebCore::adjustAttributes): Ditto.
2882         (WebCore::addNamesWithPrefix): More const. Also tweaked to use a bit more reference,
2883         and a bit less pointer. Also used array instead of pointer for argument since they
2884         are synonyms and this use is more array-like and const array is slightly easier to
2885         understand than the double const pointer.
2886         (WebCore::adjustForeignAttributes): Eliminated local variable so we would not have
2887         to utter type with more const.
2888
2889         * html/track/TextTrackCue.cpp:
2890         (WebCore::TextTrackCue::copyWebVTTNodeToDOMTree): Pass a reference to
2891         WebVTTElement::createEquivalentHTMLElement.
2892
2893         * html/track/WebVTTElement.cpp:
2894         (WebCore::WebVTTElement::WebVTTElement): Take a reference instead of a pointer.
2895         (WebCore::WebVTTElement::create): Ditto.
2896         (WebCore::WebVTTElement::cloneElementWithoutAttributesAndChildren): Pass a
2897         reference instead of a pointer to create.
2898         (WebCore::WebVTTElement::createEquivalentHTMLElement): Take a reference instead
2899         of a pointer, and update uses of HTMLElementFactory::createElement. Also made
2900         this return null when a bad node type is passed in, which should never happen.
2901
2902         * html/track/WebVTTElement.h: Use Document& instead of Document*. Removed unused
2903         and undefined create/constructor overloads.
2904
2905         * html/track/WebVTTParser.cpp:
2906         (WebCore::WebVTTParser::constructTreeFromToken): Pass document reference rather than
2907         pointer to WebVTTElement::create.
2908
2909 2013-09-15  Andreas Kling  <akling@apple.com>
2910
2911         Get rid of ref-counting on RenderArena.
2912         <https://webkit.org/b/121379>
2913
2914         Reviewed by Darin Adler.
2915
2916         This was used to guard the arena during ref-counted RenderWidget teardown.
2917
2918 2013-09-15  Darin Adler  <darin@apple.com>
2919
2920         Fix Qt build.
2921
2922         * css/CSSSelector.cpp:
2923         (WebCore::populatePseudoTypeByNameMap): Removed stray line that was breaking
2924         the build for any platform with !ENABLE(VIDEO_TRACK).
2925
2926 2013-09-15  Andreas Kling  <akling@apple.com>
2927
2928         Restore two-pass mechanism for FrameView::updateEmbeddedObjects().
2929         <https://webkit.org/b/121380>
2930
2931         Reviewed by Darin Adler.
2932
2933         Restore the code to make a second pass over the embedded objects needing
2934         an update in case more objects were added to the set during the first pass.
2935
2936 2013-09-15  Frédéric Wang  <fred.wang@free.fr>
2937
2938         Implement the mmultiscripts tag
2939         https://bugs.webkit.org/show_bug.cgi?id=99618
2940
2941         Reviewed by Chris Fleizach.
2942
2943         Tests: mathml/invalid-scripts-crash.html
2944                mathml/presentation/multiscripts-equivalence.html
2945                mathml/presentation/multiscripts-noscripts.html
2946                mathml/presentation/multiscripts-positions.html
2947                mathml/presentation/scripts-base-alignment.html
2948                mathml/presentation/scripts-horizontal-alignment.html
2949                mathml/presentation/scripts-vertical-alignment.html
2950                mathml/scripts-addChild.html
2951                mathml/scripts-removeChild.html
2952
2953         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.
2954
2955         * CMakeLists.txt:
2956         * GNUmakefile.list.am:
2957         * Target.pri:
2958         * WebCore.vcxproj/WebCore.vcxproj:
2959         * WebCore.vcxproj/WebCore.vcxproj.filters:
2960         * WebCore.xcodeproj/project.pbxproj:
2961         * accessibility/AccessibilityRenderObject.cpp:
2962         (WebCore::AccessibilityRenderObject::isMathSubscriptSuperscript):
2963         (WebCore::AccessibilityRenderObject::mathSuperscriptObject):
2964         * css/mathml.css:
2965         (mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot):
2966         (mover > :last-child, munderover > :last-child):
2967         (msub > * + *, msup > * + *, msubsup > * + *, mmultiscripts > * + *, munder > * + *, mover > * + *, munderover > * + *):
2968         (merror, msub > * + * + *, msup > * + * + *, msubsup > * + * + * + *, msub > mprescripts, msup > mprescripts, msubsup > mprescripts, msub > none, msup > none, msubsup > none, mmultiscripts > mprescripts ~ mprescripts, mmultiscripts > mprescripts ~ mprescripts ~ *):
2969         * mathml/MathMLInlineContainerElement.cpp:
2970         (WebCore::MathMLInlineContainerElement::createRenderer):
2971         * mathml/mathtags.in:
2972         * rendering/mathml/RenderMathMLBlock.h:
2973         (WebCore::RenderMathMLBlock::isRenderMathMLScripts):
2974         (WebCore::RenderMathMLBlock::isRenderMathMLScriptsWrapper):
2975         * rendering/mathml/RenderMathMLScripts.cpp: Added.
2976         (WebCore::isMPrescripts):
2977         (WebCore::RenderMathMLScripts::RenderMathMLScripts):
2978         (WebCore::RenderMathMLScripts::base):
2979         (WebCore::RenderMathMLScripts::fixAnonymousStyleForSubSupPair):
2980         (WebCore::RenderMathMLScripts::fixAnonymousStyles):
2981         (WebCore::RenderMathMLScripts::addChildInternal):
2982         (WebCore::RenderMathMLScripts::removeChildInternal):
2983         (WebCore::RenderMathMLScripts::addChild):
2984         (WebCore::RenderMathMLScripts::removeChild):
2985         (WebCore::RenderMathMLScripts::styleDidChange):
2986         (WebCore::RenderMathMLScripts::unembellishedOperator):
2987         (WebCore::RenderMathMLScripts::layout):
2988         (WebCore::RenderMathMLScripts::firstLineBoxBaseline):
2989         (WebCore::RenderMathMLScriptsWrapper::createAnonymousWrapper):
2990         (WebCore::RenderMathMLScriptsWrapper::addChildInternal):
2991         (WebCore::RenderMathMLScriptsWrapper::addChild):
2992         (WebCore::RenderMathMLScriptsWrapper::removeChildInternal):
2993         (WebCore::RenderMathMLScriptsWrapper::removeChild):
2994         * rendering/mathml/RenderMathMLScripts.h: Added.
2995         (WebCore::RenderMathMLScriptsWrapper::RenderMathMLScriptsWrapper):
2996         (WebCore::RenderMathMLScriptsWrapper::renderName):
2997         (WebCore::RenderMathMLScriptsWrapper::isRenderMathMLScriptsWrapper):
2998         (WebCore::toRenderMathMLScriptsWrapper):
2999         (WebCore::RenderMathMLScripts::isRenderMathMLScripts):
3000         (WebCore::RenderMathMLScripts::renderName):
3001         (WebCore::toRenderMathMLScripts):
3002         * rendering/mathml/RenderMathMLSubSup.cpp: Removed.
3003         * rendering/mathml/RenderMathMLSubSup.h: Removed.
3004
3005 2013-09-15  Andreas Kling  <akling@apple.com>
3006
3007         Get rid of ref-counting on RenderWidget.
3008         <https://webkit.org/b/121357>
3009
3010         Reviewed by Darin Adler.
3011
3012         Instead of RenderView tracking RenderWidgets, have FrameView track Widgets
3013         that are currently in the render tree.
3014
3015         To protect ourselves during NPAPI tomfoolery, we now let RenderWidget hand
3016         out weak pointers through a createWeakPtr() method so call sites can monitor
3017         the renderer for deletion without having to take shared ownership.
3018
3019         This works out quite nicely since instead of keeping a limping object alive
3020         for a little longer just so we can call methods on it (to accomplish nothing),
3021         we're forced to check right away if it's gone, and take immediate action.
3022
3023         De-virtualized RenderObject::destroy() since it's no longer needed for
3024         RenderWidget to defer destruction.
3025
3026         * page/FrameView.cpp:
3027         (WebCore::FrameView::layout):
3028         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
3029
3030             Call updateWidgetPositions() on FrameView instead of RenderView.
3031
3032         (WebCore::FrameView::updateEmbeddedObject):
3033
3034             Turn null checking of embedded object's element backpointer into an
3035             assertion. This will eventually go away completely once that renderer
3036             can return a HTMLFrameOwnerElement&.
3037
3038             Use WeakPtr to check for renderer destruction following the call out
3039             to updateWidget().
3040
3041         (WebCore::FrameView::updateEmbeddedObjects):
3042
3043             Slap a WidgetHierarchyUpdatesSuspensionScope guard on this function
3044             to defer Widget updates until all the updateEmbeddedObject calls are
3045             done. This avoids RenderWidget::setWidget() having to handle 'this'
3046             disappearing from underneath.
3047
3048             Also use a ListHashSet with a null sentinel to avoid looping forever.
3049
3050         (WebCore::FrameView::performPostLayoutTasks):
3051
3052             Only call updateEmbeddedObjects() once since that function no longer
3053             operates in chunks.
3054
3055         (WebCore::FrameView::notifyWidgetsInAllFrames):
3056
3057             Call notifyWidgets() on FrameView instead of RenderView.
3058
3059         (WebCore::FrameView::didAddWidgetToRenderTree):
3060         (WebCore::FrameView::willRemoveWidgetFromRenderTree):
3061
3062             Added. These are called by RenderWidget when a Widget is being
3063             added or removed from a RenderWidget.
3064
3065         (WebCore::collectWidgets):
3066
3067             Helper to collect raw Widget pointers into a Vector and ref them.
3068
3069         (WebCore::FrameView::updateWidgetPositions):
3070
3071             Moved here from RenderView. This function holds a ref on all the
3072             attached Widgets and calls RenderWidget::updateWidgetPosition() on
3073             their corresponding renderers.
3074
3075         (WebCore::FrameView::notifyWidgets):
3076
3077             Moved here from RenderView. Holds a ref on all the widgets while
3078             calling Widget::notifyWidget() on each one.
3079
3080         * rendering/RenderLayer.cpp:
3081         (WebCore::RenderLayer::scrollTo):
3082
3083             Call updateWidgetPositions() on FrameView instead of RenderView.
3084
3085         * rendering/RenderObject.h:
3086
3087             De-virtualized destroy().
3088
3089         * rendering/RenderView.cpp:
3090         * rendering/RenderView.h:
3091
3092             Moved a bunch of things to FrameView. Made protected section private
3093             since nothing inherits from RenderView.
3094
3095         * rendering/RenderWidget.h:
3096         (WebCore::RenderWidget::createWeakPtr):
3097
3098             Added a WeakPtr factory for clients that want to monitor this object
3099             for destruction.
3100             
3101         * rendering/RenderWidget.cpp:
3102         (WebCore::RenderWidget::RenderWidget):
3103         (WebCore::RenderWidget::willBeDestroyed):
3104         (WebCore::RenderWidget::~RenderWidget):
3105
3106             Removed ref counting.
3107             Removed registration with RenderView in ctor/willBeDestroyed.
3108
3109         (WebCore::RenderWidget::setWidgetGeometry):
3110
3111             Monitor the RenderWidget itself through a WeakPtr and check on it
3112             after each step that we're still alive. In that case just bail out.
3113
3114         (WebCore::RenderWidget::setWidget):
3115
3116             Register the incoming/outgoing Widget with the FrameView.
3117             Use a WeakPtr to check on 'this' after updateWidgetGeometry().
3118
3119         (WebCore::RenderWidget::updateWidgetPosition):
3120
3121             Use a WeakPtr to check on 'this' after updateWidgetGeometry().
3122
3123         * GNUmakefile.list.am:
3124         * rendering/RenderWidgetProtector.h:
3125
3126             Removed.
3127
3128
3129 2013-09-14  Sam Weinig  <sam@webkit.org>
3130
3131         [CTTE] Node subclasses should take a Document by reference in their constructor (Part 5)
3132         https://bugs.webkit.org/show_bug.cgi?id=121375
3133
3134         Reviewed by Andreas Kling.
3135
3136         * dom/make_names.pl:
3137         Add support for a top level 'constructorTakesDocumentReference' property to
3138         force using a Document reference for the whole factory.
3139
3140         * html/HTMLTagNames.in:
3141         Replace per-tag 'constructorTakesDocumentReference' with a top level declaration
3142         now that all of the HTML tag names are supported.
3143
3144         Converts the following to take a Document reference:
3145             - HTMLContentElement
3146             - HTMLElement
3147             - HTMLFrameElementBase
3148             - HTMLFrameOwnerElement
3149             - HTMLPlugInElement
3150             - HTMLPlugInImageElement
3151             - HTMLUnknownElement
3152             - InsertionPoint
3153             - StyledElement
3154             - TextTrackCueBox
3155             - TextTrackCueGenericBoxElement
3156
3157 2013-09-14  Eric Carlson  <eric.carlson@apple.com>
3158
3159         MediaStream API: Update RTCDataChannel
3160         https://bugs.webkit.org/show_bug.cgi?id=121102
3161
3162         Reviewed by Sam Weinig.
3163
3164         Based on https://chromium.googlesource.com/chromium/blink/+/c6975c41956acded7cf0363012d7d6b69d0c6d96,
3165         and https://chromium.googlesource.com/chromium/blink/+/214dab0bd6385f573c918ba5ce58a5aa206ce186.
3166
3167         No new tests, existing tests updated.
3168
3169         * Modules/mediastream/RTCDataChannel.cpp:
3170         (WebCore::RTCDataChannel::create): Take an options Dictionary.
3171         (WebCore::RTCDataChannel::didChangeReadyState): String -> AtomicString. Early return if the
3172             state hasn't changed.
3173         (WebCore::RTCDataChannel::binaryType): String -> AtomicString.
3174         (WebCore::RTCDataChannel::setBinaryType): String -> AtomicString.
3175         * Modules/mediastream/RTCDataChannel.h:
3176         * Modules/mediastream/RTCDataChannel.idl:
3177
3178         * Modules/mediastream/RTCPeerConnection.cpp:
3179         (WebCore::RTCPeerConnection::createDataChannel): Take an options struct.
3180         * platform/mediastream/RTCDataChannelHandler.h:
3181
3182         * platform/mediastream/RTCPeerConnectionHandler.h:
3183         (WebCore::RTCDataChannelInit::RTCDataChannelInit): Take an options struct.
3184
3185 2013-09-14  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3186
3187         MediaStream API: Update RTCDataChannel to match the specification
3188         https://bugs.webkit.org/show_bug.cgi?id=120889
3189
3190         Reviewed by Eric Carlson
3191
3192         Merged from https://chromium.googlesource.com/chromium/blink/+/c3862b0a83e20fc8b1f770c7e4a886a7cceb80d2
3193         by Tommy Widenflycht.
3194
3195         According to WebRTC specification, RTCDataChannel must have the following new attributes:
3196         boolean ordered
3197         unsigned short maxRetransmitTime
3198         unsigned short maxRetransmits
3199         DOMString protocol
3200         boolean negotiated
3201         unsigned short id
3202
3203         and the following one was deprecated:
3204         boolean reliable
3205
3206         Test updates will be landed with https://webkit.org/b/121102.
3207
3208         * Modules/mediastream/RTCDataChannel.cpp:
3209         (WebCore::RTCDataChannel::ordered):
3210         (WebCore::RTCDataChannel::maxRetransmitTime):
3211         (WebCore::RTCDataChannel::maxRetransmits):
3212         (WebCore::RTCDataChannel::protocol):
3213         (WebCore::RTCDataChannel::negotiated):
3214         (WebCore::RTCDataChannel::id):
3215         * Modules/mediastream/RTCDataChannel.h:
3216         * Modules/mediastream/RTCDataChannel.idl:
3217         * platform/mediastream/RTCDataChannelHandler.h:
3218
3219 2013-09-14  Sam Weinig  <sam@webkit.org>
3220
3221         [CTTE] Node subclasses should take a Document by reference in their constructor (Part 4)
3222         https://bugs.webkit.org/show_bug.cgi?id=121372
3223
3224         Reviewed by Eric Carlson.
3225
3226         Converts the following to take a Document reference:
3227             - HTMLFormControlElement
3228             - HTMLFormControlElementWithState
3229             - HTMLMapElement
3230             - HTMLMarqueeElement
3231             - HTMLMediaElement
3232             - HTMLMenuElement
3233             - HTMLMetaElement
3234             - HTMLMeterElement
3235             - HTMLOListElement
3236             - HTMLObjectElement
3237             - HTMLOptGroupElement
3238             - HTMLOptionElement
3239             - HTMLOutputElement
3240             - HTMLParagraphElement
3241             - HTMLParamElement
3242             - HTMLProgressElement
3243             - HTMLScriptElement
3244             - HTMLSelectElement
3245             - HTMLSourceElement
3246             - HTMLSpanElement
3247             - HTMLStyleElement
3248             - HTMLSummaryElement
3249             - HTMLTableCellElement
3250             - HTMLTableElement
3251             - HTMLTableRowElement
3252             - HTMLTableSectionElement
3253             - HTMLTemplateElement
3254             - HTMLTextAreaElement
3255             - HTMLTextFormControlElement
3256             - HTMLTitleElement
3257             - HTMLTrackElement
3258             - HTMLUListElement
3259             - InlineStyleSheetOwner
3260             - LabelableElement
3261             - All the MediaControl elements
3262
3263 2013-09-14  Joseph Pecoraro  <pecoraro@apple.com>
3264
3265         XMLViewer_js and XMLViewer_css should be minified
3266         https://bugs.webkit.org/show_bug.cgi?id=121334
3267
3268         Reviewed by Timothy Hatcher.
3269
3270         * CMakeLists.txt:
3271         * DerivedSources.make:
3272         * DerivedSources.pri:
3273         * GNUmakefile.am:
3274         * xml/XMLViewer.css:
3275         * xml/XMLViewer.js:
3276
3277 2013-09-14  Eric Carlson  <eric.carlson@apple.com>
3278
3279         [MediaStream] remove MediaStream.label
3280         https://bugs.webkit.org/show_bug.cgi?id=121337
3281
3282         Reviewed by Sam Weinig.
3283
3284         No new tests or modified tests, this attribute was apparently never tested.
3285
3286         * Modules/mediastream/MediaStream.h:
3287         * Modules/mediastream/MediaStream.idl:
3288
3289 2013-09-14  Sam Weinig  <sam@webkit.org>
3290
3291         [CTTE] Node subclasses should take a Document by reference in their constructor (Part 3)
3292         https://bugs.webkit.org/show_bug.cgi?id=121368
3293
3294         Reviewed by Darin Adler.
3295
3296         Converts the following to take a Document reference:
3297             - DeleteButton
3298             - DetailsContentElement
3299             - DetailsMarkerControl
3300             - DetailsSummaryElement
3301             - HTMLBDIElement
3302             - HTMLBRElement
3303             - HTMLBaseElement
3304             - HTMLBaseFontElement
3305             - HTMLButtonElement
3306             - HTMLCanvasElement
3307             - HTMLDListElement
3308             - HTMLDataListElement
3309             - HTMLDetailsElement
3310             - HTMLDirectoryElement
3311             - HTMLDivElement
3312             - HTMLEmbedElement
3313             - HTMLFieldSetElement
3314             - HTMLFontElement
3315             - HTMLFormElement
3316             - HTMLFrameElement
3317             - HTMLFrameSetElement
3318             - HTMLHRElement
3319             - HTMLHeadElement
3320             - HTMLHeadingElement
3321             - HTMLHtmlElement
3322             - HTMLIFrameElement
3323             - HTMLImageElement
3324             - HTMLInputElement
3325             - HTMLKeygenElement
3326             - HTMLLIElement
3327             - HTMLLabelElement
3328             - HTMLLegendElement
3329             - HTMLLinkElement
3330             - HTMLModElement
3331             - HTMLPreElement
3332             - HTMLQuoteElement
3333             - HTMLTableCaptionElement
3334             - HTMLTableColElement
3335             - ImageDocumentElement
3336             - KeygenSelectElement
3337             - SummaryContentElement
3338             - UploadButtonElement
3339
3340
3341 2013-09-14  Zan Dobersek  <zdobersek@igalia.com>
3342
3343         REGRESSION(r155228): Call to DragData::asFragment() nullifies PassRefPtr<Range> in documentFragmentFromDragData
3344         https://bugs.webkit.org/show_bug.cgi?id=121359
3345
3346         Reviewed by Darin Adler.
3347
3348         * page/DragController.cpp:
3349         (WebCore::documentFragmentFromDragData): Pass the naked pointer as the PassRefPtr<Range> argument to the DragData::asFragment()
3350         call. The naked pointer will get wrapped and protected by a new PassRefPtr. Passing the original PassRefPtr will also create
3351         a new PassRefPtr, but will leak the reference of the original one, leaving its pointer nullified.
3352
3353 2013-09-14  Zan Dobersek  <zdobersek@igalia.com>
3354
3355         Unreviewed GTK build fix after r155774.
3356
3357         * bindings/scripts/CodeGeneratorGObject.pm:
3358         (SkipFunction): Temporarily skip generation of bindings for the Console::profile() and Console::profileEnd() methods
3359         as they're not correctly generated for the moment.
3360
3361 2013-09-14  Darin Adler  <darin@apple.com>
3362
3363         Shrink the nameToPseudoTypeMap function
3364         https://bugs.webkit.org/show_bug.cgi?id=121367
3365
3366         Reviewed by Andreas Kling.
3367
3368         * css/CSSSelector.cpp:
3369         (WebCore::populatePseudoTypeByNameMap): Replaces the old nameToPseudoTypeMap
3370         function. Use a table instead of lots of globals and unrolled code to set up
3371         the map.
3372         (WebCore::CSSSelector::parsePseudoType): Updated to use the code above, and
3373         also use a different style that's tighter.
3374
3375 2013-09-14  Darin Adler  <darin@apple.com>
3376
3377         Shrink the listMarkerText function
3378         https://bugs.webkit.org/show_bug.cgi?id=121364
3379
3380         Reviewed by Andreas Kling.
3381
3382         Changed code to use StringBuilder, which is a better fit for what we are
3383         doing here. But mainly, inlining was out of hand, so hit that with the
3384         NEVER_INLINE stick. Might be worth revisiting this to optimize further for
3385         speed by making StringBuilder better at this.
3386
3387         * rendering/RenderListMarker.cpp:
3388         (WebCore::toRoman): NEVER_INLINE and use StringBuilder.
3389         (WebCore::toAlphabeticOrNumeric): Use StringBuilder.
3390         (WebCore::toSymbolic): NEVER_INLINE and use StringBuilder.
3391         (WebCore::toAlphabetic): Ditto.
3392         (WebCore::toNumeric): Ditto.
3393         (WebCore::toHebrewUnder1000): NEVER_INLINE.
3394         (WebCore::toHebrew): NEVER_INLINE and use StringBuilder.
3395         (WebCore::toArmenianUnder10000): NEVER_INLINE.
3396         (WebCore::toArmenian): NEVER_INLINE and use StringBuilder.
3397         (WebCore::toGeorgian): NEVER_INLINE and use StringBuilder.
3398         (WebCore::toCJKIdeographic): NEVER_INLINE and use StringBuilder.
3399         (WebCore::listMarkerText): Use StringBuilder.
3400
3401 2013-09-14  Sam Weinig  <sam@webkit.org>
3402
3403         [CTTE] Node subclasses should take a Document by reference in their 
3404         constructor (HTMLAnchorElement, HTMLAppletElement, HTMLAreaElement, HTMLAudioElement)
3405         https://bugs.webkit.org/show_bug.cgi?id=121365
3406
3407         Reviewed by Andreas Kling.
3408
3409         * editing/CreateLinkCommand.cpp:
3410         (WebCore::CreateLinkCommand::doApply):
3411         * editing/UnlinkCommand.cpp:
3412         (WebCore::UnlinkCommand::doApply):
3413         * html/HTMLAnchorElement.cpp:
3414         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
3415         (WebCore::HTMLAnchorElement::create):
3416         * html/HTMLAnchorElement.h:
3417         * html/HTMLAppletElement.cpp:
3418         (WebCore::HTMLAppletElement::HTMLAppletElement):
3419         (WebCore::HTMLAppletElement::create):
3420         * html/HTMLAppletElement.h:
3421         * html/HTMLAreaElement.cpp:
3422         (WebCore::HTMLAreaElement::HTMLAreaElement):
3423         (WebCore::HTMLAreaElement::create):
3424         * html/HTMLAreaElement.h:
3425         * html/HTMLAudioElement.cpp:
3426         (WebCore::HTMLAudioElement::HTMLAudioElement):
3427         (WebCore::HTMLAudioElement::create):
3428         (WebCore::HTMLAudioElement::createForJSConstructor):
3429         * html/HTMLAudioElement.h:
3430         * html/HTMLTagNames.in:
3431         * html/HTMLViewSourceDocument.cpp:
3432         (WebCore::HTMLViewSourceDocument::addLink):
3433         * page/DragController.cpp:
3434         (WebCore::documentFragmentFromDragData):
3435
3436 2013-09-14  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3437
3438         Get INPUT_SPEECH compiling for Nix, EFL and GTK
3439         https://bugs.webkit.org/show_bug.cgi?id=121362
3440
3441         r154257 was not applied completely in HTMLInputElement.cpp and there was a wrong method signature
3442         in TextControlInnerElements.
3443         Also adding the files needed to build INPUT_SPEECH to each build system files.
3444
3445         Reviewed by Andreas Kling.
3446
3447         No new tests needed.
3448
3449         * CMakeLists.txt:
3450         * GNUmakefile.list.am:
3451         * html/HTMLInputElement.cpp:
3452         (WebCore::HTMLInputElement::parseAttribute):
3453         * html/shadow/TextControlInnerElements.h:
3454
3455 2013-09-14  Alberto Garcia  <berto@igalia.com>
3456
3457         Missing  allow-none introspection annotation for DomDocument.evaluate method
3458         https://bugs.webkit.org/show_bug.cgi?id=118310
3459
3460         Reviewed by Martin Robinson.
3461
3462         Add (allow-none) introspection annotation to parameters that can
3463         be NULL.
3464
3465         * bindings/scripts/CodeGeneratorGObject.pm:
3466         (GenerateFunction):
3467
3468 2013-09-14  Sam Weinig  <sam@webkit.org>
3469
3470         [CTTE] Node subclasses should take a Document by reference in their constructor (HTMLBodyElement)
3471         https://bugs.webkit.org/show_bug.cgi?id=121363
3472
3473         Reviewed by Andreas Kling.
3474
3475         * dom/make_names.pl:
3476         (defaultTagPropertyHash):
3477         (printConstructorInterior):
3478         Add a new property, 'constructorTakesDocumentReference', to indicate that the class
3479         has been converted to take a Document by reference. Once all classes are converted, this
3480         will go away.
3481
3482         * html/HTMLTagNames.in:
3483         Add the 'constructorTakesDocumentReference' property to the <body> tag as an initial
3484         step.
3485
3486         * html/HTMLBodyElement.cpp:
3487         (WebCore::HTMLBodyElement::HTMLBodyElement):
3488         (WebCore::HTMLBodyElement::create):
3489         * html/HTMLBodyElement.h:
3490         Modify the constructor and create functions of HTMLBodyElement to take a Document reference.
3491
3492         * editing/markup.cpp:
3493         (WebCore::createFragmentFromMarkup):
3494         (WebCore::createFragmentForTransformToFragment):
3495         * html/HTMLViewSourceDocument.cpp:
3496         (WebCore::HTMLViewSourceDocument::createContainingTable):
3497         Update callers of HTMLBodyElement::create() to pass a Document reference.
3498
3499 2013-09-14  Darin Adler  <darin@apple.com>
3500
3501         * rendering/RenderListMarker.cpp: Roll out accidentally-checked-in-code.
3502
3503 2013-09-14  Darin Adler  <darin@apple.com>
3504
3505         Add NeverDestroyed::get
3506         https://bugs.webkit.org/show_bug.cgi?id=121358
3507
3508         Reviewed by Anders Carlsson.
3509
3510         * html/HTMLElement.cpp:
3511         (WebCore::HTMLElement::parseAttribute): Use auto and the new get
3512         function to make this code less repetitive.
3513
3514 2013-09-14  Sam Weinig  <sam@webkit.org>
3515
3516         There is no need for any custom bindings for Console
3517         https://bugs.webkit.org/show_bug.cgi?id=121338
3518
3519         Reviewed by Timothy Hatcher.
3520
3521         * GNUmakefile.list.am:
3522         * Target.pri:
3523         * UseJSC.cmake:
3524         * WebCore.vcxproj/WebCore.vcxproj:
3525         * WebCore.vcxproj/WebCore.vcxproj.filters:
3526         * WebCore.xcodeproj/project.pbxproj:
3527         * bindings/js/JSBindingsAllInOne.cpp:
3528         Remove JSConsoleCustom.cpp from project files.
3529
3530         * bindings/js/JSConsoleCustom.cpp:
3531         Removed.
3532
3533         * page/Console.cpp:
3534         (WebCore::Console::profile):
3535         (WebCore::Console::profileEnd):
3536         * page/Console.h:
3537         Swap the order of the arguments to appease the bindings generator.
3538
3539         * page/Console.idl:
3540         Add the [CallWith=ScriptState] attribute to pass the ExecState
3541         and [TreatNullAs=NullString, TreatUndefinedAs=NullString] to get
3542         the right stringification.
3543
3544 2013-09-14  Anders Carlsson  <andersca@apple.com>
3545
3546         AnimationBase::m_animation is never null
3547         https://bugs.webkit.org/show_bug.cgi?id=121360
3548
3549         Reviewed by Darin Adler.
3550
3551         Enforce this by using references instead of pointers.
3552
3553         * page/animation/AnimationBase.cpp:
3554         * page/animation/AnimationBase.h:
3555         * page/animation/CompositeAnimation.cpp:
3556         * page/animation/ImplicitAnimation.cpp:
3557         * page/animation/ImplicitAnimation.h:
3558         * page/animation/KeyframeAnimation.cpp:
3559         * page/animation/KeyframeAnimation.h:
3560
3561 2013-09-14  Darin Adler  <darin@apple.com>
3562
3563         Shrink the function that builds the event listener attribute name map
3564         https://bugs.webkit.org/show_bug.cgi?id=121354
3565
3566         Reviewed by Andreas Kling.
3567
3568         * html/HTMLElement.cpp:
3569         (WebCore::populateEventNameForAttributeLocalNameMap): Added. Uses a
3570         table to populate the map.
3571         (WebCore::eventNameForAttributeLocalNameMap): Added. Uses NeverDestroyed
3572         to allocate a map, but does not initialize it.
3573         (WebCore::HTMLElement::parseAttribute): Put code to use map in here.
3574
3575         * html/HTMLElement.h: Removed eventNameForAttributeName, no longer
3576         a member function.
3577
3578 2013-09-14  Alberto Garcia  <berto@igalia.com>
3579
3580         [GTK] WebKitGTK+ is linking against libxslt in too many places
3581         https://bugs.webkit.org/show_bug.cgi?id=121356
3582
3583         Reviewed by Martin Robinson.
3584
3585         Don't use LIBXSLT_CFLAGS when compiling libWebCorePlatform and
3586         libWebCoreGtk, no source files use libxslt there.
3587
3588         * GNUmakefile.am:
3589
3590 2013-09-14  Joseph Pecoraro  <pecoraro@apple.com>
3591
3592         Web Inspector: InjectedScriptSource_js and InjectedScriptCanvasModuleSource_js should be minified
3593         https://bugs.webkit.org/show_bug.cgi?id=121183
3594
3595         Reviewed by Timothy Hatcher.
3596
3597         * CMakeLists.txt:
3598         * DerivedSources.make:
3599         * DerivedSources.pri:
3600         * GNUmakefile.am:
3601         Minify files at build time before running xxd.pl.
3602
3603         * WebCore.xcodeproj/project.pbxproj:
3604         * inspector/InjectedScriptCanvasModuleSource.js:
3605         * inspector/InjectedScriptSource.js:
3606         Strip trailing whitespace (touching the files so the derived sources are regenerated).
3607
3608         * inspector/InspectorOverlayPage.css: Added.
3609         * inspector/InspectorOverlayPage.html:
3610         * inspector/InspectorOverlayPage.js: Copied from Source/WebCore/inspector/InspectorOverlayPage.html.
3611         Move JS and CSS to external files. They are inlined and minified at build time.
3612
3613         * inspector/Scripts/cssmin.py: Added.
3614         * inspector/Scripts/jsmin.py: Added.
3615         Copied from WebInspectorUI/Scripts.
3616
3617         * inspector/Scripts/inline-and-minify-stylesheets-and-scripts.py: Added.
3618         Add a script that can inline stylesheets and scripts. For minifying InspectorOverlayPage.html.
3619
3620 2013-09-14  Zan Dobersek  <zdobersek@igalia.com>
3621
3622         Unreviewed, fixing debug GTK builds after r155709.
3623
3624         * platform/gtk/PasteboardGtk.cpp:
3625         (WebCore::Pasteboard::write): Assert that the PasteboardURL's URL is not empty.
3626
3627 2013-09-14  Andreas Kling  <akling@apple.com>
3628
3629         CTTE: RenderDetailsMarker is never anonymous.
3630         <https://webkit.org/b/121355>
3631
3632         Reviewed by Darin Adler.
3633
3634         This renderer is never anonymous, and always has a corresponding DetailsMarkerControl.
3635         Couldn't resist cleaning up the class a little bit, adding OVERRIDE and making
3636         toRenderDetailsMarker() into a reference version.
3637
3638 2013-09-14  Andreas Kling  <akling@apple.com>
3639
3640         CTTE: RenderRubyAs{Block,Inline} are never anonymous.
3641         <https://webkit.org/b/121353>
3642
3643         Reviewed by Darin Adler.
3644
3645         Replace element() with existingElement() and spam class with OVERRIDE.
3646         Removed bogus removeLeftoverAnonymousBlock() override in RenderRubyAsInline
3647         since it didn't override anything from a parent class.
3648
3649 2013-09-14  Andreas Kling  <akling@apple.com>
3650
3651         CTTE: RenderRubyText is never anonymous.
3652         <https://webkit.org/b/121352>
3653
3654         Reviewed by Darin Adler.
3655
3656         Replace element() with existingElement() and spam class with OVERRIDE.
3657
3658 2013-09-14  Andreas Kling  <akling@apple.com>
3659
3660         CTTE: RenderSVGBlock renderers are never anonymous.
3661         <https://webkit.org/b/121351>
3662
3663         Reviewed by Antti Koivisto.
3664
3665         RenderSVGBlock inherits from RenderBlockFlow, so needs separate treatment
3666         from RenderSVGModelObject.
3667
3668         But like RSMO, these renderers are never anonymous, so add strongly typed
3669         reference getters and do away with some magical type casts.
3670
3671 2013-09-14  Andreas Kling  <akling@apple.com>
3672
3673         CTTE: RenderSVGModelObject renderers are never anonymous.
3674         <https://webkit.org/b/121350>
3675
3676         Reviewed by Darin Adler.
3677
3678         Flip the switch, turning RenderSVGModelObject::element() into a reference.
3679
3680 2013-09-13  Andreas Kling  <akling@apple.com>
3681
3682         CTTE: RenderSVGResourceClipper always has an SVGClipPathElement.
3683         <https://webkit.org/b/121349>
3684
3685         Reviewed by Darin Adler.
3686
3687         This renderer is never anonymous. Tighten things up with a clipPathElement()
3688         reference getter. Removed some unnecessary null checks and type casts.
3689
3690 2013-09-13  Andreas Kling  <akling@apple.com>
3691
3692         CTTE: RenderSVGResourceFilter always has an SVGFilterElement.
3693         <https://webkit.org/b/121348>
3694
3695         Reviewed by Darin Adler.
3696
3697         This renderer is never anonymous. Tighten things up with a filterElement()
3698         reference getter. Removed some unnecessary null checks and type casts.
3699
3700 2013-09-13  Darin Adler  <darin@apple.com>
3701
3702         Use a better name than m_invertibleCTM
3703         https://bugs.webkit.org/show_bug.cgi?id=121341
3704
3705         Reviewed by Andreas Kling.
3706
3707         Rename isTransformInvertible to hasInvertibleTransform, and
3708         m_invertibleCTM to m_hasInvertibleTransform.
3709
3710         * html/canvas/CanvasPathMethods.cpp:
3711         (WebCore::CanvasPathMethods::moveTo):
3712         (WebCore::CanvasPathMethods::lineTo):
3713         (WebCore::CanvasPathMethods::quadraticCurveTo):
3714         (WebCore::CanvasPathMethods::bezierCurveTo):
3715         (WebCore::CanvasPathMethods::arcTo):
3716         (WebCore::CanvasPathMethods::arc):
3717         (WebCore::CanvasPathMethods::rect):
3718         Updated for name change. Not really sure the name is good here,
3719         because DOMPath doesn't have a transform at all; should switch
3720         to a better name some day.
3721
3722         * html/canvas/CanvasPathMethods.h: Renamed, added a new constructor,
3723         and made the virtual function private.
3724
3725         * html/canvas/CanvasRenderingContext2D.cpp:
3726         (WebCore::CanvasRenderingContext2D::State::State):
3727         (WebCore::CanvasRenderingContext2D::State::operator=):
3728         (WebCore::CanvasRenderingContext2D::scale):
3729         (WebCore::CanvasRenderingContext2D::rotate):
3730         (WebCore::CanvasRenderingContext2D::translate):
3731         (WebCore::CanvasRenderingContext2D::transform):
3732         (WebCore::CanvasRenderingContext2D::setTransform):
3733         (WebCore::CanvasRenderingContext2D::fill):
3734         (WebCore::CanvasRenderingContext2D::stroke):
3735         (WebCore::CanvasRenderingContext2D::clip):
3736         (WebCore::CanvasRenderingContext2D::isPointInPath):
3737         (WebCore::CanvasRenderingContext2D::isPointInStroke):
3738         (WebCore::CanvasRenderingContext2D::clearRect):
3739         (WebCore::CanvasRenderingContext2D::fillRect):
3740         (WebCore::CanvasRenderingContext2D::strokeRect):
3741         (WebCore::CanvasRenderingContext2D::drawImage):
3742         (WebCore::CanvasRenderingContext2D::didDraw):
3743         (WebCore::CanvasRenderingContext2D::drawTextInternal):
3744         Updated for name change.
3745
3746         * html/canvas/CanvasRenderingContext2D.h: Updated for name change.
3747         Also got rid of unneeded conditional around forward class declaration.
3748
3749         * html/canvas/DOMPath.h: Moved SVG-specific include into a
3750         separate paragraph. Removed unneeded invocation  of WTF_MAKE_NONCOPYABLE,
3751         which is already true since we inherit from RefCounted. Changed create
3752         function argument to be a const*. Eliminated extra constructors that were
3753         unneeded. Made the path-parsing create function SVG-only, rather than
3754         compiling a useless empty one when compiling without SVG.
3755
3756 2013-09-13  Andreas Kling  <akling@apple.com>
3757
3758         CTTE: Tighter element types for RenderSVGResourceGradient and subclasses.
3759         <https://webkit.org/b/121346>
3760
3761         Reviewed by Darin Adler
3762
3763         Codify the following:
3764
3765         - RenderSVGResourceGradient always has an SVGGradientElement.
3766         - RenderSVGResourceLinearGradient always has an SVGLinearGradientElement.
3767         - RenderSVGResourceRadialGradient always has an SVGRadialGradientElement.
3768
3769         None of these renderers are ever anonymous, so delete element() and provide
3770         strongly typed reference getters instead.
3771
3772         Also made RenderSVGResourceGradient constructor protected since it should
3773         never be instantiated directly.
3774
3775 2013-09-13  Andreas Kling  <akling@apple.com>
3776
3777         CTTE: RenderSVGResourceMarker always has an SVGMarkerElement.
3778         <https://webkit.org/b/121345>
3779
3780         Reviewed by Brent Fulgham.
3781
3782         This renderer is never anonymous. Tighten things up with a maskElement()
3783         reference getter. Removed some unnecessary type casts and assertions.
3784
3785 2013-09-13  Andreas Kling  <akling@apple.com>
3786
3787         CTTE: RenderSVGResourceMasker always has an SVGMaskElement.
3788         <https://webkit.org/b/121344>
3789
3790         Reviewed by Brent Fulgham.
3791
3792         This renderer is never anonymous. Tighten things up with a maskElement()
3793         reference getter. Removed some unnecessary null checks and assertions.
3794
3795 2013-09-13  Commit Queue  <commit-queue@webkit.org>
3796
3797         Unreviewed, rolling out r155738.
3798         http://trac.webkit.org/changeset/155738
3799         https://bugs.webkit.org/show_bug.cgi?id=121342
3800
3801         Broke many tests (Requested by ap on #webkit).
3802
3803         * GNUmakefile.list.am:
3804         * Target.pri:
3805         * UseJSC.cmake:
3806         * WebCore.vcxproj/WebCore.vcxproj:
3807         * WebCore.vcxproj/WebCore.vcxproj.filters:
3808         * WebCore.xcodeproj/project.pbxproj:
3809         * bindings/js/JSBindingsAllInOne.cpp:
3810         * bindings/js/JSConsoleCustom.cpp: Added.
3811         (WebCore::JSConsole::profile):
3812         (WebCore::JSConsole::profileEnd):
3813         * bindings/js/ScriptState.h:
3814         * page/Console.cpp:
3815         (WebCore::Console::profile):
3816         (WebCore::Console::profileEnd):
3817         * page/Console.h:
3818         * page/Console.idl:
3819
3820 2013-09-12  Ryosuke Niwa  <rniwa@webkit.org>
3821
3822         CSSPropertyAnimation::ensurePropertyMap() is large
3823         https://bugs.webkit.org/show_bug.cgi?id=121199
3824
3825         Reviewed by Darin Adler.
3826
3827         The bug was caused by repeated calls to Vector::append. Avoid it by storing pointers in a local array
3828         and then adding them as we traverse them through to fill m_propertyToIdMap. Also reserve the full
3829         initial capacity at once to avoid repeated calls to FastMalloc and FastFree.
3830
3831         * page/animation/CSSPropertyAnimation.cpp:
3832         (WebCore::CSSPropertyAnimationWrapperMap::instance):
3833         (WebCore::CSSPropertyAnimationWrapperMap::wrapperForProperty):
3834         (WebCore::CSSPropertyAnimationWrapperMap::wrapperForIndex):
3835         (WebCore::CSSPropertyAnimationWrapperMap::indexFromPropertyID):
3836         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Renamed from ensurePropertyMap.
3837         Also merged addShorthandProperties into it since they have to access local variables of the other.
3838
3839 2013-09-13  Ryuan Choi  <ryuan.choi@samsung.com>
3840
3841         Unreviewed build fix for EFL port.
3842
3843         * editing/efl/EditorEfl.cpp:
3844         * platform/efl/PasteboardEfl.cpp:
3845         (WebCore::Pasteboard::read):
3846         (WebCore::Pasteboard::write):
3847
3848 2013-09-13  Sam Weinig  <sam@webkit.org>
3849
3850         Fix a few lingering ScriptStates.
3851
3852         Reviewed by Andy Estes.
3853
3854         * Modules/indexeddb/IDBCursor.cpp:
3855         (WebCore::IDBCursor::update):
3856         * Modules/indexeddb/IDBObjectStore.cpp:
3857         (WebCore::IDBObjectStore::add):
3858         (WebCore::IDBObjectStore::put):
3859         * bindings/cpp/WebNativeNodeFilterCondition.cpp:
3860         (WebNativeNodeFilterCondition::acceptNode):
3861         * bindings/cpp/WebNativeNodeFilterCondition.h:
3862         * dom/CustomElementConstructor.cpp:
3863         (WebCore::CustomElementConstructor::create):
3864         * dom/CustomElementConstructor.h:
3865         * dom/CustomElementRegistry.cpp:
3866         (WebCore::CustomElementRegistry::registerElement):
3867         * dom/CustomElementRegistry.h:
3868         * plugins/PluginView.cpp:
3869         (WebCore::PluginView::performRequest):
3870
3871 2013-09-13  Darin Adler  <darin@apple.com>
3872
3873         Rename confusingly named "runtimeObject" functions
3874         https://bugs.webkit.org/show_bug.cgi?id=121339
3875
3876         Also CTTE: HTMLElement.
3877
3878         Reviewed by Sam Weinig.
3879
3880         * bindings/js/JSHTMLAppletElementCustom.cpp:
3881         (WebCore::JSHTMLAppletElement::putDelegate): Renamed.
3882         (WebCore::JSHTMLAppletElement::getCallData): Renamed.
3883         * bindings/js/JSHTMLEmbedElementCustom.cpp:
3884         (WebCore::JSHTMLEmbedElement::putDelegate): Renamed.
3885         (WebCore::JSHTMLEmbedElement::getCallData): Renamed.
3886         * bindings/js/JSHTMLObjectElementCustom.cpp:
3887         (WebCore::JSHTMLObjectElement::putDelegate): Renamed.
3888         (WebCore::JSHTMLObjectElement::getCallData): Renamed.
3889
3890         * bindings/js/JSPluginElementFunctions.cpp:
3891         (WebCore::isPluginElement): Changed to take HTMLElement&.
3892         (WebCore::pluginInstance): Ditto.
3893         (WebCore::pluginScriptObjectFromPluginViewBase): Updated for name and type change.
3894         (WebCore::pluginScriptObject): Ditto.
3895         (WebCore::pluginElementPropertyGetter): Ditto.
3896         (WebCore::pluginElementCustomGetOwnPropertySlot): Ditto.
3897         (WebCore::pluginElementCustomPut): Ditto.
3898         (WebCore::pluginElementGetCallData): Ditto.
3899
3900         * bindings/js/JSPluginElementFunctions.h: Updated names and types.
3901
3902         * bindings/objc/WebScriptObject.mm:
3903         (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
3904         Updated for type change.
3905         * bridge/runtime_method.cpp:
3906         (JSC::callRuntimeMethod): Ditto.
3907
3908 2013-09-13  Sam Weinig  <sam@webkit.org>
3909
3910         There is no need for any custom bindings for Console
3911         https://bugs.webkit.org/show_bug.cgi?id=121338
3912
3913         Reviewed by Joseph Pecoraro.
3914
3915         * GNUmakefile.list.am:
3916         * Target.pri:
3917         * UseJSC.cmake:
3918         * WebCore.vcxproj/WebCore.vcxproj:
3919         * WebCore.vcxproj/WebCore.vcxproj.filters:
3920         * WebCore.xcodeproj/project.pbxproj:
3921         * bindings/js/JSBindingsAllInOne.cpp:
3922         Remove JSConsoleCustom.cpp from project files.
3923
3924         * bindings/js/JSConsoleCustom.cpp:
3925         Removed.
3926
3927         * page/Console.cpp:
3928         (WebCore::Console::profile):
3929         (WebCore::Console::profileEnd):
3930         * page/Console.h:
3931         Swap the order of the arguments to appease the bindings generator.
3932
3933         * page/Console.idl:
3934         Add the [CallWith=ScriptState] attribute to pass the ExecState
3935         and [TreatNullAs=NullString, TreatUndefinedAs=NullString] to get
3936         the right stringification.
3937
3938 2013-09-13  Sam Weinig  <sam@webkit.org>
3939
3940         Part 2 of Replace ScriptState with JSC::ExecState
3941         https://bugs.webkit.org/show_bug.cgi?id=121336
3942
3943         * dom/Document.h:
3944         There is no WebCore::JSC namespace!
3945
3946 2013-09-13  Sam Weinig  <sam@webkit.org>
3947
3948         Replace ScriptState with JSC::ExecState
3949         https://bugs.webkit.org/show_bug.cgi?id=121336
3950
3951         Reviewed by Darin Adler.
3952
3953         * Modules/indexeddb/IDBCursor.h:
3954         * Modules/indexeddb/IDBObjectStore.h:
3955         * bindings/js/JSInjectedScriptHostCustom.cpp:
3956         * bindings/js/JSInjectedScriptManager.cpp:
3957         * bindings/js/JSNodeCustom.cpp:
3958         * bindings/js/JSNodeFilterCondition.h:
3959         * bindings/js/ScriptController.cpp:
3960         * bindings/js/ScriptDebugServer.cpp:
3961         * bindings/js/ScriptDebugServer.h:
3962         * bindings/js/ScriptEventListener.cpp:
3963         * bindings/js/ScriptEventListener.h:
3964         * bindings/js/ScriptFunctionCall.cpp:
3965         * bindings/js/ScriptFunctionCall.h:
3966         * bindings/js/ScriptObject.cpp:
3967         * bindings/js/ScriptObject.h:
3968         * bindings/js/ScriptProfiler.cpp:
3969         * bindings/js/ScriptProfiler.h:
3970         * bindings/js/ScriptState.cpp:
3971         * bindings/js/ScriptState.h:
3972         * bindings/js/ScriptValue.cpp:
3973         * bindings/js/ScriptValue.h:
3974         * bindings/js/SerializedScriptValue.cpp:
3975         * bindings/js/SerializedScriptValue.h:
3976         * dom/Document.cpp:
3977         * dom/Document.h:
3978         * dom/NodeFilter.cpp:
3979         * dom/NodeFilter.h:
3980         * dom/NodeFilterCondition.cpp:
3981         * dom/NodeFilterCondition.h:
3982         * dom/NodeIterator.cpp:
3983         * dom/NodeIterator.h:
3984         * dom/ScriptExecutionContext.cpp:
3985         * dom/ScriptExecutionContext.h:
3986         * dom/Traversal.cpp:
3987         * dom/Traversal.h:
3988         * dom/TreeWalker.cpp:
3989         * dom/TreeWalker.h:
3990         * inspector/ConsoleMessage.cpp:
3991         * inspector/ConsoleMessage.h:
3992         * inspector/InjectedScript.h:
3993         * inspector/InjectedScriptBase.cpp:
3994         * inspector/InjectedScriptBase.h:
3995         * inspector/InjectedScriptCanvasModule.cpp:
3996         * inspector/InjectedScriptCanvasModule.h:
3997         * inspector/InjectedScriptHost.cpp:
3998         * inspector/InjectedScriptHost.h:
3999         * inspector/InjectedScriptManager.cpp:
4000         * inspector/InjectedScriptManager.h:
4001         * inspector/InjectedScriptModule.cpp:
4002         * inspector/InjectedScriptModule.h:
4003         * inspector/InspectorAgent.cpp:
4004         * inspector/InspectorCanvasAgent.cpp:
4005         * inspector/InspectorCanvasAgent.h:
4006         * inspector/InspectorConsoleAgent.cpp:
4007         * inspector/InspectorConsoleAgent.h:
4008         * inspector/InspectorConsoleInstrumentation.h:
4009         * inspector/InspectorDOMAgent.cpp:
4010         * inspector/InspectorDebuggerAgent.cpp:
4011         * inspector/InspectorDebuggerAgent.h:
4012         * inspector/InspectorFrontendClientLocal.cpp:
4013         * inspector/InspectorFrontendHost.cpp:
4014         * inspector/InspectorIndexedDBAgent.cpp:
4015         * inspector/InspectorInstrumentation.cpp:
4016         * inspector/InspectorInstrumentation.h:
4017         * inspector/PageConsoleAgent.cpp:
4018         * inspector/PageDebuggerAgent.cpp:
4019         * inspector/PageRuntimeAgent.cpp:
4020         * inspector/PageRuntimeAgent.h:
4021         * inspector/ScriptArguments.cpp:
4022         * inspector/ScriptArguments.h:
4023         * inspector/ScriptDebugListener.h:
4024         * inspector/WorkerDebuggerAgent.cpp:
4025         * inspector/WorkerRuntimeAgent.cpp:
4026         * page/Console.cpp:
4027         * page/Console.h:
4028         * page/ContentSecurityPolicy.cpp:
4029         * page/ContentSecurityPolicy.h:
4030         * page/PageConsole.cpp:
4031         * page/PageConsole.h:
4032         * workers/WorkerGlobalScope.cpp:
4033         * workers/WorkerGlobalScope.h:
4034
4035 2013-09-13  Sam Weinig  <sam@webkit.org>
4036
4037         Chrome, DragController and FocusController should hold onto a Page&
4038         https://bugs.webkit.org/show_bug.cgi?id=121325
4039
4040         Reviewed by Anders Carlsson.
4041
4042         * editing/FrameSelection.cpp:
4043         * editing/FrameSelection.h:
4044         * page/Chrome.cpp:
4045         (WebCore::Chrome::Chrome):
4046         (WebCore::Chrome::scroll):
4047         (WebCore::Chrome::createWindow):
4048         (WebCore::canRunModalIfDuringPageDismissal):
4049         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
4050         (WebCore::Chrome::runJavaScriptAlert):
4051         (WebCore::Chrome::runJavaScriptConfirm):
4052         (WebCore::Chrome::runJavaScriptPrompt):
4053         (WebCore::Chrome::mouseDidMoveOverElement):
4054         (WebCore::Chrome::setToolTip):
4055         (WebCore::Chrome::windowScreenDidChange):
4056         * page/Chrome.h:
4057         * page/DragController.cpp:
4058         * page/DragController.h:
4059         * page/mac/DragControllerMac.mm:
4060         * page/FocusController.cpp:
4061         * page/FocusController.h:
4062         * page/Page.cpp:
4063         (WebCore::Page::Page):
4064         * page/PageGroupLoadDeferrer.cpp:
4065         * page/PageGroupLoadDeferrer.h:
4066         Take references where possible.
4067
4068 2013-09-13  Anders Carlsson  <andersca@apple.com>
4069
4070         Use nullptr instead of 0 in calls to HashMap::add
4071         https://bugs.webkit.org/show_bug.cgi?id=121322
4072
4073         Reviewed by Sam Weinig.
4074
4075         * bridge/IdentifierRep.cpp:
4