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