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