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