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