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