[css shapes] layout for new ellipse syntax
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-12-03  Rob Buis  <rob.buis@samsung.com>
2
3         [css shapes] layout for new ellipse syntax
4         https://bugs.webkit.org/show_bug.cgi?id=124621
5
6         Reviewed by Dirk Schulze.
7
8         Implement support for doing layout with the new ellipse shape syntax,
9         including basic animation support.
10
11         Test: fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-000.html
12
13         * rendering/shapes/Shape.cpp:
14         (WebCore::Shape::createShape): Convert new ellipse to a layout shape.
15         * rendering/style/BasicShapes.cpp:
16         (WebCore::BasicShape::canBlend): Ignore ellipses with values that
17             cannot be interpolated.
18         (WebCore::BasicShapeEllipse::floatValueForRadiusInBox): Helper function to calculate
19             either radiusX or radiusY, shared by clip-path and shape code paths.
20         (WebCore::BasicShapeEllipse::path):
21         * rendering/style/BasicShapes.h:
22
23 2013-12-03  Frédéric Wang  <fred.wang@free.fr>
24
25         Add an MathMLSelectElement class to implement <maction> and <semantics>.
26         <https://webkit.org/b/120058>
27
28         Reviewed by Chris Fleizach.
29
30         Tests: mathml/presentation/maction-dynamic.html
31                mathml/presentation/maction.html
32                mathml/presentation/semantics.html
33
34         This adds a new MathMLSelectElement class to prepare the implementation
35         of the <maction> and <semantics> elements, for which only one "selected"
36         child is visible. We now simply display the first child of the
37         <semantics> element instead of hiding the annotations and this allows to
38         handle the use case of SVG-in-MathML as generated by Instiki when
39         bug 124128 is fixed ; Gecko's selection algorithm will be implemented
40         later (bug 100626). We now also rely on the @actiontype and @selection
41         attributes to select the visible <maction> child ; It remains to deal
42         with the user interaction (bug 85734).
43
44         * CMakeLists.txt: add the new files.
45         * GNUmakefile.list.am: ditto
46         * Target.pri: ditto
47         * WebCore.vcxproj/WebCore.vcxproj: ditto
48         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto
49         * WebCore.xcodeproj/project.pbxproj: ditto
50         * css/mathml.css: remove the CSS rule for annotation/annotation-xml.
51         * mathml/MathMLAllInOne.cpp: add the new cpp file.
52         * mathml/MathMLSelectElement.cpp: Added.
53         (WebCore::MathMLSelectElement::MathMLSelectElement):
54         (WebCore::MathMLSelectElement::create):
55         (WebCore::MathMLSelectElement::createRenderer):
56         (WebCore::MathMLSelectElement::childShouldCreateRenderer):
57         (WebCore::MathMLSelectElement::finishParsingChildren):
58         (WebCore::MathMLSelectElement::childrenChanged):
59         (WebCore::MathMLSelectElement::attributeChanged):
60         (WebCore::MathMLSelectElement::updateSelectedChild): basic implementation for maction, semantics, maction@actiontype and maction@selection.
61         * mathml/MathMLSelectElement.h: Added.
62         * mathml/mathattrs.in: add actiontype and selection attributes.
63         * mathml/mathtags.in: set element classes for maction, semantics, annotation and annotation-xml.
64
65 2013-12-03  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
66
67         Nix Upstream: Adding missing nix new files to WebCore
68         https://bugs.webkit.org/show_bug.cgi?id=124987
69
70         Reviewed by Benjamin Poulain.
71
72         No new tests needed.
73
74         * PlatformNix.cmake:
75         * platform/nix/ErrorsNix.cpp: Added.
76         * platform/nix/ErrorsNix.h: Added.
77         * platform/nix/FileSystemNix.cpp: Added.
78         * platform/nix/MIMETypeRegistryNix.cpp: Added.
79         * platform/nix/SharedTimerNix.cpp: Added.
80         * platform/nix/TemporaryLinkStubs.cpp: Added.
81
82 2013-12-03  Tamas Gergely  <gertom@inf.u-szeged.hu>
83
84         Correct broken build on efl port with --no-netscape-plugin-api
85         configuration.
86         https://bugs.webkit.org/show_bug.cgi?id=123997
87
88         Reviewed by Zoltan Herczeg.
89
90         Build failed on efl port with --no-netscape-plugin-api configuration
91         as ld did not found some methods. The configuration uses a minimal
92         empty implementation of the class, which is now extended with empty
93         method implementations.
94
95         * plugins/PluginPackageNone.cpp:
96         (WebCore::PluginPackage::createPackage):
97           Returns NULL pointer.
98         (WebCore::PluginPackage::hash):
99           Returns 0.
100         (WebCore::PluginPackage::equal):
101           Returns true (equals).
102         (WebCore::PluginPackage::compare):
103           Returns 0 (equals).
104         (WebCore::PluginPackage::~PluginPackage):
105           Do nothing.
106
107 2013-12-02  Andreas Kling  <akling@apple.com>
108
109         Avoid setting style twice for generated image content.
110         <https://webkit.org/b/125128>
111
112         Take care of a FIXME I added in r158097 and avoid redundant work in
113         ImageContentData::createRenderer().
114
115         I changed the inheritance helper RenderImage::setPseudoStyle() into
116         a new createStyleInheritingFromPseudoStyle() function instead so it
117         can be used from both PseudoElement and ImageContentData.
118
119         Reviewed by Antti Koivisto.
120
121 2013-12-02  Samuel White  <samuel_white@apple.com>
122
123         AX: Add AXUIElementCountForSearchPredicate parameterized attribute.
124         https://bugs.webkit.org/show_bug.cgi?id=124561
125
126         Reviewed by Chris Fleizach.
127
128         Added ability to fetch the number of elements that match a specific criteria. This will enable VoiceOver
129         to interface with WebKit much more dynamically. We can now get an idea of how many interesting elements
130         exist on a page, and then fetch them in chunks as needed.
131
132         Test: platform/mac/accessibility/search-predicate-element-count.html
133
134         * accessibility/AccessibilityObject.cpp:
135         (WebCore::AccessibilityObject::isAccessibilityTextSearchMatch):
136         * accessibility/AccessibilityObject.h:
137         (WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
138         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
139         (accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute):
140         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
141         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
142
143 2013-12-02  Bem Jones-Bey  <bjonesbe@adobe.com>
144
145         [css shapes] Layout support for new circle shape syntax
146         https://bugs.webkit.org/show_bug.cgi?id=124619
147
148         Reviewed by Dirk Schulze.
149
150         Implement support for doing layout with the new circle shape syntax,
151         inclduing basic animation support.
152
153         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-circle-000.html
154                fast/shapes/shape-outside-floats/shape-outside-floats-circle-001.html
155                fast/shapes/shape-outside-floats/shape-outside-floats-circle-002.html
156                fast/shapes/shape-outside-floats/shape-outside-floats-circle-003.html
157                fast/shapes/shape-outside-floats/shape-outside-floats-circle-004.html
158                fast/shapes/shape-outside-floats/shape-outside-floats-circle-005.html
159
160         * css/BasicShapeFunctions.cpp:
161         (WebCore::floatValueForCenterCoordinate): Used by both the CSS Shapes
162             layout code and the clip path code.
163         * css/BasicShapeFunctions.h:
164         * css/CSSBasicShapes.cpp:
165         (WebCore::buildCircleString): Update to use appendLiteral, and remove
166             call to reserveCapacity - if we find that it's actually slow when
167             doing performance tests, we can hopefully do something smarter and
168             less ugly than that.
169         * css/CSSParser.cpp:
170         (WebCore::CSSParser::parseShapeRadius): Fix a logic error that caused
171             the radius keywords not to work properly.
172         * rendering/shapes/Shape.cpp:
173         (WebCore::Shape::createShape): Convert new circle to a layout shape.
174         * rendering/style/BasicShapes.cpp:
175         (WebCore::BasicShape::canBlend): Ignore circles with values that
176             cannot be interpolated.
177         (WebCore::BasicShapeCircle::floatValueForRadiusInBox): Convert circle
178             radius keywords to a float value.
179         (WebCore::BasicShapeCircle::path):
180         (WebCore::BasicShapeCircle::blend):
181         * rendering/style/BasicShapes.h:
182         (WebCore::BasicShapeCenterCoordinate::canBlend):
183         (WebCore::BasicShapeRadius::canBlend):
184
185 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
186
187         WebCrypto HMAC doesn't check key algorithm's hash
188         https://bugs.webkit.org/show_bug.cgi?id=125114
189
190         Reviewed by Anders Carlsson.
191
192         Test: crypto/subtle/hmac-check-algorithm.html
193
194         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
195         (WebCore::CryptoAlgorithmHMAC::keyAlgorithmMatches): Check it.
196
197 2013-12-02  Brady Eidson  <beidson@apple.com>
198
199         Possible crash in ProgressTracker::progressHeartbeatTimerFired(Timer<ProgressTracker>*)
200         https://bugs.webkit.org/show_bug.cgi?id=125110
201
202         Reviewed by Darin Adler.
203
204         FrameLoader::loadProgressingStatusChanged() might be called while the Frame has a null FrameView.
205
206         It’s unclear how to reproduce, but there’s no harm in a null check.
207
208         * loader/FrameLoader.cpp:
209         (WebCore::FrameLoader::loadProgressingStatusChanged):
210
211 2013-12-02  Brady Eidson  <beidson@apple.com>
212
213         Possible crash in ProgressTracker::progressHeartbeatTimerFired(Timer<ProgressTracker>*)
214         https://bugs.webkit.org/show_bug.cgi?id=125110
215
216         Reviewed by Darin Adler.
217
218         It’s possible to have a null m_originatingProgressFrame when the heartbeat timer fires.
219
220         On the surface this seems impossible because the only time m_originatingProgressFrame is cleared
221         out the heartbeat timer is also stopped.
222
223         But there’s likely still a race condition in multi-threaded environments.
224
225         There’s no harm in null-checking m_originatingProgressFrame before accessing its loader.
226
227         * loader/ProgressTracker.cpp:
228         (WebCore::ProgressTracker::progressHeartbeatTimerFired):
229
230 2013-12-02  Brady Eidson  <beidson@apple.com>
231
232         Add more CachedPage null checks
233         https://bugs.webkit.org/show_bug.cgi?id=125106
234
235         Reviewed by Sam Weinig.
236
237         Only some functions in PageCache.cpp null-check the CachedPages in HistoryItems.
238
239         Every part that manipulates the CachedPage should.
240
241         * history/PageCache.cpp:
242         (WebCore::PageCache::markPagesForVistedLinkStyleRecalc):
243         (WebCore::PageCache::markPagesForFullStyleRecalc):
244         (WebCore::PageCache::markPagesForDeviceScaleChanged):
245         (WebCore::PageCache::markPagesForCaptionPreferencesChanged):
246
247 2013-12-02  Zoltan Horvath  <zoltan@webkit.org>
248
249         [CSS Shapes] Support inset parsing
250         https://bugs.webkit.org/show_bug.cgi?id=124903
251
252         Reviewed by David Hyatt.
253
254         In this patch I added support for inset shape parsing for CSS Shapes. Inset is defined
255         by CSS Shapes Level 1 (http://dev.w3.org/csswg/css-shapes-1/#supported-basic-shapes).
256         Inset is going to be used by shape-outside (bug #124905), and eventually by shape-inside.
257
258         No new tests, I updated existing tests to cover the changes.
259
260         * css/BasicShapeFunctions.cpp:
261         (WebCore::valueForBasicShape): Add support for inset.
262         (WebCore::basicShapeForValue): Add support for inset.
263         * css/CSSBasicShapes.cpp:
264         (WebCore::buildInsetString): Create inset css string.
265         (WebCore::CSSBasicShapeInset::cssText): Convert inset shape to a CSS string.
266         (WebCore::CSSBasicShapeInset::equals): Compare two inset rectangles.
267         (WebCore::CSSBasicShapeInset::serializeResolvingVariables): Create an inset string, with CSS variables resolved.
268         (WebCore::CSSBasicShapeInset::hasVariableReference): Determine if this inset has any CSS Variable references.
269         * css/CSSBasicShapes.h: Add inset class.
270         (WebCore::CSSBasicShapeInset::create):
271         (WebCore::CSSBasicShapeInset::top):
272         (WebCore::CSSBasicShapeInset::right):
273         (WebCore::CSSBasicShapeInset::bottom):
274         (WebCore::CSSBasicShapeInset::left):
275         (WebCore::CSSBasicShapeInset::topLeftRadius):
276         (WebCore::CSSBasicShapeInset::topRightRadius):
277         (WebCore::CSSBasicShapeInset::bottomRightRadius):
278         (WebCore::CSSBasicShapeInset::bottomLeftRadius):
279         (WebCore::CSSBasicShapeInset::setTop):
280         (WebCore::CSSBasicShapeInset::setRight):
281         (WebCore::CSSBasicShapeInset::setBottom):
282         (WebCore::CSSBasicShapeInset::setLeft):
283         (WebCore::CSSBasicShapeInset::setTopLeftRadius):
284         (WebCore::CSSBasicShapeInset::setTopRightRadius):
285         (WebCore::CSSBasicShapeInset::setBottomRightRadius):
286         (WebCore::CSSBasicShapeInset::setBottomLeftRadius):
287         (WebCore::CSSBasicShapeInset::CSSBasicShapeInset):
288         * css/CSSParser.cpp:
289         (WebCore::completeBorderRadii): Move static function before parseInsetBorderRadius.
290         (WebCore::CSSParser::parseInsetRoundedCorners): I added this helper function for parsing the rounded corners
291         (WebCore::CSSParser::parseBasicShapeInset): Parse inset.
292         (WebCore::CSSParser::parseBasicShape): Add call to parse inset.
293         * css/CSSParser.h:
294         * css/CSSPrimitiveValue.cpp:
295         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add constructor for LengthSize.
296         (WebCore::CSSPrimitiveValue::init): Initialize LengthSize.
297         * css/CSSPrimitiveValue.h:
298         (WebCore::CSSPrimitiveValue::create): Add support for creating PrimitiveValue from LengthSize.
299         * css/CSSValuePool.h:
300         (WebCore::CSSValuePool::createValue): Add support for LengthSize.
301         * platform/LengthSize.h:
302         (WebCore::LengthSize::blend): Add blend for LengthSize.
303         * rendering/shapes/ShapeInsideInfo.cpp:
304         (WebCore::ShapeInsideInfo::isEnabledFor): Keep inset disabled for shape-inside now.
305         * rendering/style/BasicShapes.cpp:
306         (WebCore::BasicShapeInset::path): Calculate path for an inset.
307         (WebCore::BasicShapeInset::blend): Blend two insets.
308         * rendering/style/BasicShapes.h: Add higher level inset.
309         (WebCore::BasicShapeInset::create):
310         (WebCore::BasicShapeInset::top):
311         (WebCore::BasicShapeInset::right):
312         (WebCore::BasicShapeInset::bottom):
313         (WebCore::BasicShapeInset::left):
314         (WebCore::BasicShapeInset::topLeftRadius):
315         (WebCore::BasicShapeInset::topRightRadius):
316         (WebCore::BasicShapeInset::bottomRightRadius):
317         (WebCore::BasicShapeInset::bottomLeftRadius):
318         (WebCore::BasicShapeInset::setTop):
319         (WebCore::BasicShapeInset::setRight):
320         (WebCore::BasicShapeInset::setBottom):
321         (WebCore::BasicShapeInset::setLeft):
322         (WebCore::BasicShapeInset::setTopLeftRadius):
323         (WebCore::BasicShapeInset::setTopRightRadius):
324         (WebCore::BasicShapeInset::setBottomRightRadius):
325         (WebCore::BasicShapeInset::setBottomLeftRadius):
326         (WebCore::BasicShapeInset::BasicShapeInset):
327
328 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
329
330         Support WebCrypto AES-KW
331         https://bugs.webkit.org/show_bug.cgi?id=125105
332
333         Reviewed by Sam Weinig.
334
335         Tests: crypto/subtle/aes-kw-key-manipulation.html
336                crypto/subtle/aes-kw-wrap-unwrap-aes.html
337
338         * WebCore.xcodeproj/project.pbxproj: Added new files.
339
340         * crypto/CryptoAlgorithmIdentifier.h: (WebCore::CryptoAlgorithmIdentifier): Added AES-KW.
341         It's not standardized yet, but there appears to be a consensus that it will be specified.
342
343         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
344         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
345         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
346         (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
347         (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
348         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
349         (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
350         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
351         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
352         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
353         (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
354         Added AES-KW cases everywhere.
355
356         * bindings/js/JSCryptoKeySerializationJWK.cpp:
357         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
358         (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
359         (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
360         Support importing/exporting AES-KW keys in JWK.
361
362         * bindings/js/JSSubtleCryptoCustom.cpp:
363         (WebCore::JSSubtleCrypto::importKey):
364         (WebCore::JSSubtleCrypto::exportKey):
365         (WebCore::JSSubtleCrypto::wrapKey):
366         (WebCore::JSSubtleCrypto::unwrapKey):
367         Added some accidentally forgotten std::moves.
368
369         * crypto/algorithms/CryptoAlgorithmAES_KW.cpp: Added.
370         * crypto/algorithms/CryptoAlgorithmAES_KW.h: Added.
371         * crypto/mac/CryptoAlgorithmAES_KWMac.cpp: Added.
372
373         * crypto/keys/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::CryptoKeyAES): Allow AES-KW
374         as valid algorithm for AES keys.
375
376         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
377         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register AES-KW.
378
379 2013-12-02  Beth Dakin  <bdakin@apple.com>
380
381         Add a setting to opt into a mode where the background extends and fixed elements 
382         don't move on rubber-band
383         https://bugs.webkit.org/show_bug.cgi?id=124745
384
385         Reviewed by Tim Horton.
386
387         New setting backgroundShouldExtendBeyondPage() will cause the tile cache to have a 
388         margin, and it will also cause fixed elements and backgrounds to stick to the 
389         viewport on scroll instead of sticking to the document. 
390
391         * WebCore.exp.in:
392         * page/FrameView.cpp:
393         (WebCore::FrameView::scrollBehaviorForFixedElements):
394         * page/Settings.in:
395         * rendering/RenderLayerBacking.cpp:
396         (WebCore::RenderLayerBacking::RenderLayerBacking):
397
398 2013-12-02  Roger Zanoni  <rogerzanoni@gmail.com>
399
400         [MediaStream] Use iterator-based loops instead of index-based loops
401         https://bugs.webkit.org/show_bug.cgi?id=125021
402
403         Reviewed by Eric Carlson.
404
405         Also, changing iterator variable names from iter to it and
406         initializing an 'end' variable in each loop instead of evaluating
407         'collection.end()' multiple times.
408
409         No new tests, covered by existing ones.
410
411         * Modules/mediastream/MediaStream.cpp:
412         (WebCore::MediaStream::cloneMediaStreamTrackVector):
413         (WebCore::MediaStream::haveTrackWithSource):
414         (WebCore::MediaStream::getTrackById):
415         (WebCore::MediaStream::trackDidEnd):
416         (WebCore::MediaStream::scheduledEventTimerFired):
417
418 2013-12-02  Rob Buis  <rob.buis@samsung.com>
419
420         [css shapes] Parse new ellipse shape syntax
421         https://bugs.webkit.org/show_bug.cgi?id=124620
422
423         Reviewed by Dirk Schulze.
424
425         Implement parsing of the new ellipse shape syntax. This closely follows the patch
426         for the new circle syntax (https://bugs.webkit.org/show_bug.cgi?id=124618), with
427         some refactoring of functionality shared by both.
428
429         Updated existing parsing tests to cover this.
430
431         * css/BasicShapeFunctions.cpp:
432         (WebCore::BasicShapeRadiusToCSSValue):
433         (WebCore::valueForBasicShape):
434         (WebCore::CSSValueToBasicShapeRadius):
435         (WebCore::basicShapeForValue):
436         * css/CSSBasicShapes.cpp:
437         (WebCore::buildEllipseString):
438         (WebCore::CSSBasicShapeEllipse::cssText):
439         (WebCore::CSSBasicShapeEllipse::equals):
440         (WebCore::buildDeprecatedEllipseString):
441         (WebCore::CSSDeprecatedBasicShapeEllipse::cssText):
442         (WebCore::CSSDeprecatedBasicShapeEllipse::equals):
443         * css/CSSBasicShapes.h:
444         (WebCore::CSSDeprecatedBasicShapeEllipse::create):
445         (WebCore::CSSDeprecatedBasicShapeEllipse::centerX):
446         (WebCore::CSSDeprecatedBasicShapeEllipse::centerY):
447         (WebCore::CSSDeprecatedBasicShapeEllipse::radiusX):
448         (WebCore::CSSDeprecatedBasicShapeEllipse::radiusY):
449         (WebCore::CSSDeprecatedBasicShapeEllipse::setCenterX):
450         (WebCore::CSSDeprecatedBasicShapeEllipse::setCenterY):
451         (WebCore::CSSDeprecatedBasicShapeEllipse::setRadiusX):
452         (WebCore::CSSDeprecatedBasicShapeEllipse::setRadiusY):
453         (WebCore::CSSDeprecatedBasicShapeEllipse::CSSDeprecatedBasicShapeEllipse):
454         * css/CSSParser.cpp:
455         (WebCore::CSSParser::parseBasicShapeEllipse):
456         (WebCore::CSSParser::parseDeprecatedBasicShapeEllipse):
457         (WebCore::CSSParser::parseBasicShape):
458         * css/CSSParser.h:
459         * rendering/shapes/Shape.cpp:
460         (WebCore::Shape::createShape):
461         * rendering/style/BasicShapes.cpp:
462         (WebCore::DeprecatedBasicShapeEllipse::path):
463         (WebCore::DeprecatedBasicShapeEllipse::blend):
464         (WebCore::BasicShapeEllipse::path):
465         (WebCore::BasicShapeEllipse::blend):
466         * rendering/style/BasicShapes.h:
467         (WebCore::BasicShapeEllipse::centerX):
468         (WebCore::BasicShapeEllipse::centerY):
469         (WebCore::BasicShapeEllipse::radiusX):
470         (WebCore::BasicShapeEllipse::radiusY):
471         (WebCore::BasicShapeEllipse::setCenterX):
472         (WebCore::BasicShapeEllipse::setCenterY):
473         (WebCore::BasicShapeEllipse::setRadiusX):
474         (WebCore::BasicShapeEllipse::setRadiusY):
475         (WebCore::BasicShapeEllipse::BasicShapeEllipse):
476         (WebCore::DeprecatedBasicShapeEllipse::create):
477         (WebCore::DeprecatedBasicShapeEllipse::DeprecatedBasicShapeEllipse):
478
479 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
480
481         Add support for WebCrypto RSA-OAEP
482         https://bugs.webkit.org/show_bug.cgi?id=125084
483
484         Build fix.
485
486         * crypto/CommonCryptoUtilities.h:
487         * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
488         * crypto/mac/CryptoKeyRSAMac.cpp:
489
490 2013-12-02  Brendan Long  <b.long@cablelabs.com>
491
492         Use GenericEventQueue in TrackListBase and reduce code duplication with scheduleTrackEvent()
493         https://bugs.webkit.org/show_bug.cgi?id=124811
494
495         Reviewed by Eric Carlson.
496
497         No new tests because this is just refactoring.
498
499         * html/track/TrackListBase.cpp:
500         (TrackListBase::TrackListBase): Replace event code with a GenericEventQueue.
501         (TrackListBase::scheduleTrackEvent): Factor out duplicate code in schedule{Add,Remove}TrackEvent functions.
502         (TrackListBase::scheduleAddTrackEvent): Same.
503         (TrackListBase::scheduleRemoveTrackEvent): Same.
504         (TrackListBase::scheduleChangeEvent): Use GenericEventQueue.
505         * html/track/TrackListBase.h: Replace event code with GenericEventQueue.
506
507 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
508
509         Add support for WebCrypto RSA-OAEP
510         https://bugs.webkit.org/show_bug.cgi?id=125084
511
512         Build fix.
513
514         * WebCore.xcodeproj/project.pbxproj: Fix an automatic merge failure by re-adding
515         CryptoAlgorithmRsaOaepParams.h.
516
517 2013-12-02  Victor Jaquez  <vjaquez@igalia.com>
518
519         [Gstreamer] update webkitvideosink metadata
520         https://bugs.webkit.org/show_bug.cgi?id=125082
521
522         Reviewed by Philippe Normand.
523
524         No new tests, no behavior changes.
525
526         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
527         (webkit_video_sink_class_init):
528
529 2013-12-02  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
530
531         Simplify MediaPlayerPrivateGStreamerBase::createVideoSink()
532         https://bugs.webkit.org/show_bug.cgi?id=125077
533
534         Remove the method's unused parameter.
535         Remove the GStreamer 0.10.22 run-time validation, since we are using
536         GStreamer 1.0 officially.
537         Remove the creation of a spurious Bin for the video sink, since
538         either the fpssink or the webkitsink are valid sink elements.
539         Change fpsink to a GRefPtr.
540
541         Now, createVideoSink() returns a simple pointer to the created sink
542         element.
543
544         Reviewed by Philippe Normand.
545
546         No new tests, no behavior changes.
547
548         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
549         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
550         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
551         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
552         (WebCore::MediaPlayerPrivateGStreamerBase::decodedFrameCount):
553         (WebCore::MediaPlayerPrivateGStreamerBase::droppedFrameCount):
554         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
555
556 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
557
558         Add support for WebCrypto RSA-OAEP
559         https://bugs.webkit.org/show_bug.cgi?id=125084
560
561         Reviewed by Sam Weinig.
562
563         Tests: crypto/subtle/rsa-oaep-key-manipulation.html
564                crypto/subtle/rsa-oaep-plaintext-length.html
565                crypto/subtle/rsa-oaep-wrap-unwrap-aes.html
566
567         * WebCore.xcodeproj/project.pbxproj: Added new files.
568
569         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
570         (WebCore::createRsaOaepParams):
571         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
572         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
573         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
574         Added RSA-OAEP parameters.
575
576         * bindings/js/JSCryptoKeySerializationJWK.cpp:
577         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
578         (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
579         (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
580         Support RSA-OAEP in JWK. It is more limited than general WebCrypto, as JWK only
581         allows SHA-1 as hash.
582
583         * crypto/CommonCryptoUtilities.cpp: Added. (WebCore::getCommonCryptoDigestAlgorithm):
584         * crypto/CommonCryptoUtilities.h: Added.
585         Extracted some shared code and forward declarations for CommonCrypto.
586
587         * crypto/CryptoAlgorithmParameters.h: (WebCore::CryptoAlgorithmParameters::Class):
588         * crypto/parameters/CryptoAlgorithmRsaOaepParams.h: Added.
589         Added RsaOaepParams.
590
591         * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp: Added.
592         * crypto/algorithms/CryptoAlgorithmRSA_OAEP.h: Added.
593         * crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp: Added.
594
595         * crypto/mac/CryptoAlgorithmHMACMac.cpp:
596         (WebCore::getCommonCryptoHMACAlgorithm):
597         (WebCore::CryptoAlgorithmHMAC::platformSign):
598         (WebCore::CryptoAlgorithmHMAC::platformVerify):
599         * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
600         * crypto/mac/CryptoKeyMac.cpp:
601         * crypto/mac/CryptoKeyRSAMac.cpp:
602         Use CommonCryptoUtilities.
603
604         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
605         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register RSA-OAEP.
606
607 2013-12-02  Andres Gomez  <agomez@igalia.com>
608
609         [GTK] Fails to build with freetype 2.5.1
610         https://bugs.webkit.org/show_bug.cgi?id=125074
611
612         Reviewed by Carlos Garcia Campos.
613
614         FreeType specifies a canonical way of including their own
615         headers. Now, we are following this recommendation so the
616         compilation won't be broken again due to an upgrade in FeeType's
617         including paths.
618
619         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
620         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
621         * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
622
623 2013-12-02  Chris Fleizach  <cfleizach@apple.com>
624
625         AX: Crash at WebCore::commonTreeScope
626         https://bugs.webkit.org/show_bug.cgi?id=125042
627
628         Reviewed by Mario Sanchez Prada.
629
630         When an AX text marker that references a node in a detached document is used to create a text marker range, a crash occurs
631         because the method to determine commonTreeScopes does not account for when there are no common tree scopes.
632
633         Test: platform/mac/accessibility/ordered-textmarker-crash.html
634
635         * accessibility/AccessibilityObject.cpp:
636         (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions):
637         * dom/TreeScope.cpp:
638         (WebCore::commonTreeScope):
639
640 2013-12-02  Nick Diego Yamane  <nick.yamane@openbossa.org>
641
642         Fix a crash in the webaudio source provider when the audio track is going away.
643         https://bugs.webkit.org/show_bug.cgi?id=124975
644
645         Reviewed by Philippe Normand.
646
647         Merged https://chromium.googlesource.com/chromium/blink/+/b21838b32bf11b1a972dfc449ddde71115490c23
648
649         Before this patch, it was hitting a use-after-free crash  when the audio
650         track in the media stream is going away and the webaudio mediastreamsourcenode
651         is still running.
652
653         * Modules/webaudio/AudioContext.cpp:
654         (WebCore::AudioContext::createMediaStreamSource): Passing audio track
655         pointer to MediaStreamAudioSourceNode constructor.
656         * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
657         (WebCore::MediaStreamAudioSourceNode::create):
658         (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
659         * Modules/webaudio/MediaStreamAudioSourceNode.h: Added
660         MediaStreamTrack class variable and change the constructor to receive
661         it as parameter.
662
663 2013-12-02  Andrzej Badowski  <a.badowski@samsung.com>
664
665         [ATK] Support active state for listbox elements.
666         https://bugs.webkit.org/show_bug.cgi?id=125009
667
668         Reviewed by Chris Fleizach.
669
670         Added support for ATK_STATE_ACTIVE for listbox elements.
671
672         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
673         (setAtkStateSetFromCoreObject):
674
675 2013-12-02  Seokju Kwon  <seokju@webkit.org>
676
677         Web Inspector: Remove unused functions from InspectorAgent
678         https://bugs.webkit.org/show_bug.cgi?id=125061
679
680         Reviewed by Antoine Quint.
681
682         Get rid of unused functions, redundant inclusion and forward declaration.
683
684         No new tests, no behavior changes.
685
686         * inspector/InspectorAgent.cpp:
687         * inspector/InspectorAgent.h:
688
689 2013-12-02  Tibor Meszaros  <mtibor@inf.u-szeged.hu>
690
691         Fix build warning in EventHandler.cpp
692         https://bugs.webkit.org/show_bug.cgi?id=125010
693
694         Reviewed by Csaba Osztrogonác.
695
696         * page/EventHandler.cpp:
697         (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
698
699 2013-12-02  Attila Dusnoki  <adusnoki@inf.u-szeged.hu>
700
701         HTML5 required attribute validation messages implemented.
702         https://bugs.webkit.org/show_bug.cgi?id=125003
703
704         Reviewed by Gyuyoung Kim.
705
706         * platform/efl/LocalizedStringsEfl.cpp:
707         (WebCore::validationMessagePatternMismatchText):
708         (WebCore::validationMessageValueMissingText):
709         (WebCore::validationMessageValueMissingForCheckboxText):
710         (WebCore::validationMessageValueMissingForFileText):
711         (WebCore::validationMessageValueMissingForMultipleFileText):
712         (WebCore::validationMessageValueMissingForRadioText):
713         (WebCore::validationMessageValueMissingForSelectText):
714         (WebCore::validationMessageBadInputForNumberText):
715
716 2013-12-01  Andreas Kling  <akling@apple.com>
717
718         SVG: Intersection/enclosure checks should use RenderElement.
719         <https://webkit.org/b/125058>
720
721         Make RenderSVGModelObject's checkIntersection() and checkEnclosure()
722         take RenderElement* instead of RenderObject*. They are only ever
723         called with SVGElement's renderers.
724
725         Reviewed by Sam Weinig.
726
727 2013-12-01  Andreas Kling  <akling@apple.com>
728
729         Remove unreachable labels for -webkit-margin-*-collapse properties.
730         <https://webkit.org/b/125057>
731
732         The following properties are implemented in DeprecatedStyleBuilder
733         and should not have case labels in the applyProperty() switch:
734
735             -webkit-margin-before-collapse
736             -webkit-margin-top-collapse
737             -webkit-margin-after-collapse
738             -webkit-margin-bottom-collapse
739
740         This seems counter-intuitive, but they are actually *not* like other
741         directional properties. In this case, before/after are only aliases
742         for top/bottom, and do not depend on writing-mode or text-direction.
743         See also r68561, where the aliases were originally added.
744
745         Reviewed by Anders Carlsson.
746
747 2013-12-01  Andreas Kling  <akling@apple.com>
748
749         CSSFunctionValue constructors should return PassRef.
750         <https://webkit.org/b/125054>
751
752         Make CSSFunctionValue::create() helpers return PassRef instead of
753         PassRefPtr since they will never return null.
754
755         Reviewed by Anders Carlsson.
756
757 2013-12-01  Commit Queue  <commit-queue@webkit.org>
758
759         Unreviewed, rolling out r159764.
760         http://trac.webkit.org/changeset/159764
761         https://bugs.webkit.org/show_bug.cgi?id=125055
762
763         appears to hurt html5-full-render times (Requested by kling on
764         #webkit).
765
766         * html/parser/HTMLConstructionSite.cpp:
767         (WebCore::HTMLConstructionSite::insertTextNode):
768         * html/parser/HTMLConstructionSite.h:
769
770 2013-12-01  Andreas Kling  <akling@apple.com>
771
772         Make more computed style helpers return PassRef.
773         <https://webkit.org/b/125043>
774
775         Reduce branchiness in computed style code by making more of the
776         file-local helpers return PassRef instead of PassRefPtr.
777
778         Reviewed by Anders Carlsson.
779
780 2013-11-30  Ryuan Choi  <ryuan.choi@samsung.com>
781
782         [EFL] Implement scrollbarThickness for opaque scrollbar
783         https://bugs.webkit.org/show_bug.cgi?id=125034
784
785         Reviewed by Gyuyoung Kim.
786
787         Implemented scrollbarThickness to support opaque scrollbar.
788         Now, edj can decide whether to support opaque scrollbar by adding scrollbar.thickness.
789         In addition, added OVERRIDE/FINAL keyword and removed unnecessary destructor
790         in ScrollbarThemeEfl.cpp.
791
792         No new tests, no behavior changes with default theme.
793
794         * platform/efl/RenderThemeEfl.cpp:
795         (WebCore::RenderThemeEfl::loadTheme):
796         Update thickness of scrollbar when theme was loaded.
797         * platform/efl/ScrollbarThemeEfl.cpp:
798         * platform/efl/ScrollbarThemeEfl.h:
799         (WebCore::ScrollbarThemeEfl::setScrollbarThickness):
800         (WebCore::ScrollbarThemeEfl::scrollbarThickness):
801         (WebCore::ScrollbarThemeEfl::registerScrollbar):
802         (WebCore::ScrollbarThemeEfl::unregisterScrollbar):
803
804 2013-11-29  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
805
806         Remove Symbian specific code.
807         https://bugs.webkit.org/show_bug.cgi?id=124939
808
809         Reviewed by Zoltan Herczeg.
810
811         Symbian is not supported, remove leftover code.
812
813         * plugins/npapi.h:
814
815 2013-11-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
816
817         Rename InlineIterator::m_obj and make it private
818         https://bugs.webkit.org/show_bug.cgi?id=124837
819
820         Reviewed by Antti Koivisto.
821
822         InlineIterator has been exported m_obj as public though there is a getter function.
823         Besides *object* name isn't ambigious. So, changed it with m_renderer and renderer().
824         Additionally, setRenderer() is added as well.
825
826         No new tests, no behavior changes.
827
828         * rendering/InlineIterator.h:
829         (WebCore::InlineIterator::setObject):
830         (WebCore::operator==):
831         (WebCore::operator!=):
832         (WebCore::InlineBidiResolver::appendRun):
833         * rendering/RenderBlockLineLayout.cpp:
834         (WebCore::RenderBlockFlow::appendRunsForObject):
835         (WebCore::constructBidiRunsForLine):
836         (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns):
837         (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
838         (WebCore::RenderBlockFlow::matchedEndLine):
839         * rendering/line/BreakingContextInlineHeaders.h:
840         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
841         (WebCore::BreakingContext::BreakingContext):
842         (WebCore::BreakingContext::currentObject):
843         (WebCore::BreakingContext::initializeForCurrentObject):
844         (WebCore::BreakingContext::handleBR):
845         (WebCore::BreakingContext::handleOutOfFlowPositioned):
846         (WebCore::BreakingContext::handleFloat):
847         (WebCore::BreakingContext::handleEmptyInline):
848         (WebCore::BreakingContext::handleReplaced):
849         (WebCore::iteratorIsBeyondEndOfRenderCombineText):
850         (WebCore::ensureCharacterGetsLineBox):
851         (WebCore::BreakingContext::handleText):
852         (WebCore::BreakingContext::canBreakAtThisPosition):
853         (WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
854         (WebCore::checkMidpoints):
855         (WebCore::BreakingContext::handleEndOfLine):
856         * rendering/line/LineBreaker.cpp:
857         (WebCore::LineBreaker::skipTrailingWhitespace):
858         (WebCore::LineBreaker::skipLeadingWhitespace):
859         * rendering/line/LineInlineHeaders.h:
860         (WebCore::skipNonBreakingSpace):
861         (WebCore::requiresLineBox):
862
863 2013-11-28  Antti Koivisto  <antti@apple.com>
864
865         Rename StylePropertySet to StyleProperties
866         https://bugs.webkit.org/show_bug.cgi?id=124990
867         
868         Reviewed by Andreas Kling.
869
870         "Set" does not add useful information here. Use less clunky plural name.
871
872 2013-11-28  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
873
874         Nix Upstream: Adding EditorNix to WebCore
875         https://bugs.webkit.org/show_bug.cgi?id=124984
876
877         Reviewed by Csaba Osztrogonác.
878
879         No new tests needed.
880
881         * PlatformNix.cmake:
882         * editing/nix/EditorNix.cpp: Added.
883
884 2013-11-28  Zoltan Horvath  <zoltan@webkit.org>
885
886         [Win] Update vcxproj.filters, since LineInfo.h and LineLayoutState.h have been moved to rendering/line
887         https://bugs.webkit.org/show_bug.cgi?id=124959
888
889         Reviewed by Brent Fulgham.
890
891         Update WebCore.vcxproj.filters, since LineInfo.h (r155628) and LineLayoutState.h (158121) have been moved to rendering/line.
892
893         No new tests, no behavior change.
894
895         * WebCore.vcxproj/WebCore.vcxproj.filters:
896
897 2013-11-28  Laszlo Vidacs  <lac@inf.u-szeged.hu>
898
899         RenderTableSection Blink merge asserting
900         https://bugs.webkit.org/show_bug.cgi?id=124857
901
902         Reviewed by Csaba Osztrogonác.
903
904         Use border spacing at the end of all sections.
905
906         * rendering/RenderTableSection.cpp:
907         (WebCore::RenderTableSection::calcRowLogicalHeight):
908
909 2013-11-28  Antti Koivisto  <antti@apple.com>
910
911         Remove feature: CSS variables
912         https://bugs.webkit.org/show_bug.cgi?id=114119
913
914         Reviewed by Andreas Kling.
915         
916         The feature is unmaintained and it is getting in the way of refactoring. Code quality is not up to
917         WebKit standards either.
918
919         * Configurations/FeatureDefines.xcconfig:
920         * GNUmakefile.list.am:
921         * WebCore.xcodeproj/project.pbxproj:
922         * css/CSSBasicShapes.cpp:
923         * css/CSSBasicShapes.h:
924         * css/CSSCalculationValue.cpp:
925         (WebCore::unitCategory):
926         (WebCore::hasDoubleValue):
927         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
928         (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
929         (WebCore::determineCategory):
930         (WebCore::CSSCalcBinaryOperation::primitiveType):
931         * css/CSSCalculationValue.h:
932         * css/CSSComputedStyleDeclaration.cpp:
933         (WebCore::ComputedStyleExtractor::propertyValue):
934         * css/CSSGrammar.y.in:
935         * css/CSSParser.cpp:
936         (WebCore::CSSParserContext::CSSParserContext):
937         (WebCore::operator==):
938         (WebCore::filterProperties):
939         (WebCore::CSSParser::createStylePropertySet):
940         (WebCore::CSSParser::addProperty):
941         (WebCore::CSSParser::validCalculationUnit):
942         (WebCore::CSSParser::validUnit):
943         (WebCore::CSSParser::createPrimitiveNumericValue):
944         (WebCore::CSSParser::parseValidPrimitive):
945         (WebCore::CSSParser::parseValue):
946         (WebCore::CSSParser::parseReflect):
947         (WebCore::CSSParser::detectDashToken):
948         (WebCore::CSSParser::realLex):
949         * css/CSSParser.h:
950         * css/CSSParserMode.h:
951         * css/CSSParserValues.cpp:
952         (WebCore::CSSParserValue::createCSSValue):
953         * css/CSSParserValues.h:
954         * css/CSSPrimitiveValue.cpp:
955         (WebCore::isValidCSSUnitTypeForDoubleConversion):
956         (WebCore::CSSPrimitiveValue::primitiveType):
957         (WebCore::CSSPrimitiveValue::cleanup):
958         (WebCore::CSSPrimitiveValue::getStringValue):
959         (WebCore::CSSPrimitiveValue::customCSSText):
960         (WebCore::CSSPrimitiveValue::equals):
961         * css/CSSPrimitiveValue.h:
962         * css/CSSPrimitiveValueMappings.h:
963         (WebCore::CSSPrimitiveValue::convertToLength):
964         * css/CSSProperty.cpp:
965         * css/CSSProperty.h:
966         (WebCore::CSSProperty::CSSProperty):
967         * css/CSSReflectValue.cpp:
968         * css/CSSReflectValue.h:
969         * css/CSSValue.cpp:
970         (WebCore::CSSValue::equals):
971         (WebCore::CSSValue::cssText):
972         (WebCore::CSSValue::destroy):
973         * css/CSSValue.h:
974         (WebCore::CSSValue::setCssText):
975         * css/CSSValueList.cpp:
976         * css/CSSValueList.h:
977         * css/CSSVariableValue.h: Removed.
978         * css/Pair.h:
979         * css/Rect.h:
980         * css/StylePropertySet.cpp:
981         (WebCore::StylePropertySet::asText):
982         (WebCore::StylePropertySet::PropertyReference::cssName):
983         * css/StyleResolver.cpp:
984         (WebCore::StyleResolver::styleForPage):
985         (WebCore::StyleResolver::applyProperties):
986         (WebCore::StyleResolver::applyMatchedProperties):
987         (WebCore::StyleResolver::applyProperty):
988         * css/StyleResolver.h:
989         * css/WebKitCSSTransformValue.cpp:
990         * css/WebKitCSSTransformValue.h:
991         (WebCore::WebKitCSSTransformValue::equals):
992         * css/makeprop.pl:
993         * page/Settings.cpp:
994         (WebCore::Settings::Settings):
995         * page/Settings.h:
996         * rendering/style/RenderStyle.h:
997         * rendering/style/StyleRareInheritedData.cpp:
998         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
999         (WebCore::StyleRareInheritedData::operator==):
1000         * rendering/style/StyleRareInheritedData.h:
1001         * rendering/style/StyleVariableData.h: Removed.
1002         * testing/InternalSettings.cpp:
1003         (WebCore::InternalSettings::Backup::Backup):
1004         (WebCore::InternalSettings::Backup::restoreTo):
1005         * testing/InternalSettings.h:
1006         * testing/InternalSettings.idl:
1007
1008 2013-11-28  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1009
1010         Updating RTCPeerConnectionHandlerMock after r159769
1011         https://bugs.webkit.org/show_bug.cgi?id=124947
1012
1013         Reviewed by Philippe Normand.
1014
1015         Adding its create function back, in order to run RTCPeerConnection LayoutTests.
1016
1017         No new tests needed.
1018
1019         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
1020         (WebCore::RTCPeerConnectionHandlerMock::create):
1021         * platform/mock/RTCPeerConnectionHandlerMock.h:
1022
1023 2013-11-27  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
1024
1025         [GTK] Support custom types for drag and drop data
1026         https://bugs.webkit.org/show_bug.cgi?id=124659
1027
1028         Reviewed by Martin Robinson.
1029
1030         Covered by fast/events/drag-customData.html.
1031
1032         * platform/gtk/DataObjectGtk.cpp:
1033         (WebCore::DataObjectGtk::unknownTypes): returns a hash map with all custom types set.
1034         (WebCore::DataObjectGtk::clearAllExceptFilenames): clear custom types.
1035         * platform/gtk/DataObjectGtk.h:
1036         (WebCore::DataObjectGtk::hasUnknownTypeData): returns whether custom types are set.
1037         (WebCore::DataObjectGtk::unknownTypeData): returns the data for a custom type.
1038         (WebCore::DataObjectGtk::setUnknownTypeData): sets the data for a custom type.
1039         * platform/gtk/PasteboardGtk.cpp:
1040         (WebCore::Pasteboard::writeString): handle unknown types as custom.
1041         (WebCore::Pasteboard::writePasteboard): ditto.
1042         (WebCore::Pasteboard::hasData): also check for custom types.
1043         (WebCore::Pasteboard::types): also obtain the list of custom types.
1044         (WebCore::Pasteboard::readString): handle unknown types as custom.
1045         * platform/gtk/PasteboardHelper.cpp:
1046         (WebCore::initGdkAtoms): new unknown atom.
1047         (WebCore::PasteboardHelper::PasteboardHelper): add custom type to the list of targets.
1048         (WebCore::PasteboardHelper::fillSelectionData): turns any custom types' data into a GVariant, which
1049         is in turn serialized to a single string for GtkSelectionData to hold.
1050         (WebCore::PasteboardHelper::targetListForDataObject): add custom data to the target list if any is
1051         set.
1052         (WebCore::PasteboardHelper::fillDataObjectFromDropData): retrieve the custom types and their data
1053         from the serialized GVariant string held by GtkSelectionData.
1054         (WebCore::PasteboardHelper::dropAtomsForContext): handle custom types.
1055
1056 2013-11-27  Eric Carlson  <eric.carlson@apple.com>
1057
1058         Allow the QuickTime plug-in to be replaced by script in an isolated word
1059         https://bugs.webkit.org/show_bug.cgi?id=124900
1060
1061         Reviewed by Dean Jackson.
1062
1063         Test: plugins/quicktime-plugin-replacement.html
1064
1065         * CMakeLists.txt: Add new Modules path.
1066         * DerivedSources.make: Add new files.
1067         * GNUmakefile.am: Add new Modules path.
1068         * GNUmakefile.list.am: Add new header.
1069         * WebCore.vcxproj/WebCore.vcxproj: Add new header.
1070         * WebCore.vcxproj/WebCoreCommon.props: Add new Modules path.
1071         * WebCore.xcodeproj/project.pbxproj: Add new files.
1072
1073         * Modules/plugins: Added.
1074         * Modules/plugins/PluginReplacement.h: Added. Defines the interface for a plug-in replacement.
1075
1076         Create a replacement for the QuickTime plug-in.
1077         * Modules/plugins/QuickTimePluginReplacement.cpp: Added.
1078         * Modules/plugins/QuickTimePluginReplacement.css: Added.
1079         * Modules/plugins/QuickTimePluginReplacement.h: Added.
1080         * Modules/plugins/QuickTimePluginReplacement.idl: Added.
1081         * Modules/plugins/QuickTimePluginReplacement.js: Added.
1082
1083         Allow plug-in replacement to be enabled at runtime.
1084         * bindings/generic/RuntimeEnabledFeatures.h:
1085         (WebCore::RuntimeEnabledFeatures::setPluginReplacementEnabled):
1086         (WebCore::RuntimeEnabledFeatures::pluginReplacementEnabled):
1087
1088         * bindings/js/JSDOMBinding.h:
1089         (WebCore::toJS): Add toJS(... const String& ...).
1090
1091         * bindings/js/JSPluginElementFunctions.cpp:
1092         (WebCore::pluginScriptObject): Give a plug-in replacement a first shot at defining the
1093             script interface.
1094
1095         * html/HTMLEmbedElement.cpp:
1096         (WebCore::HTMLEmbedElement::updateWidget): Call base class requestObject.
1097
1098         * html/HTMLMediaElement.cpp:
1099         (HTMLMediaElement::fileSize): New, passthrough to media engine.
1100         * html/HTMLMediaElement.h:
1101
1102         * html/HTMLObjectElement.cpp:
1103         (WebCore::HTMLObjectElement::updateWidget): Call base class requestObject.
1104
1105         Moved some logic that was previously used only for creating a plug-in snapshot to the base
1106         class so it can be shared by a plug-in replacement.
1107         * html/HTMLPlugInElement.cpp:
1108         (WebCore::HTMLPlugInElement::HTMLPlugInElement): Initialize timer used to swap renderers.
1109         (WebCore::HTMLPlugInElement::createRenderer): Allow plug-in replacement to create the renderer.
1110         (WebCore::HTMLPlugInElement::swapRendererTimerFired): Create a shadow root.
1111         (WebCore::HTMLPlugInElement::setDisplayState): Set the new state, prime the swap renderer 
1112             timer if necessary.
1113         (WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot): Tell the plug-in replacement to
1114             install itself in the new shadow DOM.
1115         (WebCore::registeredPluginReplacements): Return vector of all registered plug-in replacements.
1116         (WebCore::registerPluginReplacement): Add a plug-in replacement.
1117         (WebCore::pluginReplacementForType): Find a plug-in replacement for a MIME type.
1118         (WebCore::HTMLPlugInElement::requestObject): If there is a plug-in replacement for the MIME type,
1119             create it and set the display state.
1120         (WebCore::HTMLPlugInElement::scriptObjectForPluginReplacement): Return the script object for 
1121             the current plug-in replacement, if any.
1122         * html/HTMLPlugInElement.h:
1123
1124         Move some plug-in snapshot code into the base class.
1125         * html/HTMLPlugInImageElement.cpp:
1126         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): No need to initialize timer.
1127         (WebCore::HTMLPlugInImageElement::setDisplayState): Call base class.
1128         (WebCore::HTMLPlugInImageElement::createRenderer): Ditto.
1129         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Ditto.
1130         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Remove unnecessary class name.
1131         (WebCore::HTMLPlugInImageElement::requestObject): New.
1132         * html/HTMLPlugInImageElement.h:
1133
1134         * html/HTMLVideoElement.h: Make createRenderer public so the QuickTime plug-in replacement can
1135             call it.
1136
1137         * platform/graphics/MediaPlayer.cpp:
1138         (WebCore::MediaPlayer::fileSize): New.
1139         * platform/graphics/MediaPlayer.h:
1140         * platform/graphics/MediaPlayerPrivate.h:
1141
1142         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1143         (WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost): totalBytes returns an unsigned long long.
1144         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1145         (WebCore::MediaPlayerPrivateAVFoundation::fileSize):
1146
1147         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1148         (WebCore::MediaPlayerPrivateAVFoundationCF::totalBytes): Return an unsigned long long.
1149         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
1150
1151         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1152         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1153         (WebCore::MediaPlayerPrivateAVFoundationObjC::totalBytes): Ditto.
1154
1155         * testing/InternalSettings.cpp:
1156         (WebCore::InternalSettings::Backup::Backup): Backup the plug-in replacement runtime setting.
1157         (WebCore::InternalSettings::Backup::restoreTo): Restore it.
1158         (WebCore::InternalSettings::setPluginReplacementEnabled): Set it.
1159         * testing/InternalSettings.h:
1160         * testing/InternalSettings.idl:
1161
1162 2013-11-27  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1163
1164         Adding MediaConstraintsMock class
1165         https://bugs.webkit.org/show_bug.cgi?id=124902
1166
1167         Reviewed by Eric Carlson.
1168
1169         Validate constraints used in RTCPeerConnection LayoutTests
1170
1171         Existing test was updated.
1172
1173         * CMakeLists.txt:
1174         * GNUmakefile.list.am:
1175         * platform/mock/MediaConstraintsMock.cpp: Added.
1176         * platform/mock/MediaConstraintsMock.h: Added.
1177         * platform/mock/MockMediaStreamCenter.cpp:
1178         (WebCore::MockMediaStreamCenter::validateRequestConstraints): Now using MediaConstraintsMock
1179         (WebCore::MockMediaStreamCenter::createMediaStream): Ditto.
1180         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
1181         (WebCore::RTCPeerConnectionHandlerMock::initialize): Ditto.
1182
1183 2013-11-27  Bear Travis  <betravis@adobe.com>
1184
1185         [CSS Shapes] Shape-Inside Should Default to 'auto'
1186         https://bugs.webkit.org/show_bug.cgi?id=124851
1187
1188         Reviewed by Alexandru Chiculita.
1189
1190         The current shape-inside specification has the property default to the 'auto'
1191         value, not 'outside-shape'.
1192
1193         Updated tests are under fast/shapes.
1194
1195         * rendering/style/RenderStyle.cpp:
1196         * rendering/style/RenderStyle.h:
1197
1198 2013-11-27  Hans Muller  <hmuller@adobe.com>
1199
1200         [CSS Shapes] shape-inside rectangle layout can fail
1201         https://bugs.webkit.org/show_bug.cgi?id=124784
1202
1203         Reviewed by Andreas Kling.
1204
1205         Apply LayoutUnit::fromFloatCeil() consistently in RectangleShape::firstIncludedIntervalLogicalTop().
1206
1207         Test: fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top.html
1208
1209         * rendering/shapes/RectangleShape.cpp:
1210         (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
1211
1212 2013-11-27  Nick Diego Yamane  <nick.yamane@openbossa.org>
1213
1214         Remove Qt-specific .qrc files
1215         https://bugs.webkit.org/show_bug.cgi?id=124944
1216
1217         Reviewed by Andreas Kling.
1218
1219         No new tests needed.
1220
1221         * WebCore.qrc: Removed.
1222
1223 2013-11-27  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1224
1225         [GStreamer] Invalid command line error when visiting www.chessbase.com
1226         https://bugs.webkit.org/show_bug.cgi?id=124715
1227
1228         Reviewed by Philippe Normand.
1229
1230         We were not handling the HTTP errors in the WebKit GStreamer
1231         source and therefore the 404 error page was being 'decoded'. As no
1232         decoder could be found (for obvious reasons), playback failed, but
1233         it should be failing for the source not being found instead of the
1234         decoding problem.
1235
1236         Test: http/tests/media/video-error-does-not-exist.html
1237
1238         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1239         (StreamingClient::handleResponseReceived): Handle HTTP errors in
1240         the source and raise a GStreamer error to the pipeline.
1241
1242 2013-11-14  Sergio Villar Senin  <svillar@igalia.com>
1243
1244         [CSS Grid Layout] Fix positioning of grid items with margins
1245         https://bugs.webkit.org/show_bug.cgi?id=124345
1246
1247         Reviewed by David Hyatt.
1248
1249         From Blink r157925 and r158041 by <jchaffraix@chromium.org>
1250
1251         Test: fast/css-grid-layout/grid-item-margin-resolution.html
1252
1253         Adds margin start/before to the positions of grid items (removing
1254         several FIXME's in the current code). This means calling
1255         findChildLogicalPosition() after the layout in order to have the
1256         right values for the margins.
1257
1258         In order to match flexbox and author's intents we're also
1259         including the margins of grid items in the intrinsic size of the
1260         grid. That's why flexbox's marginLogicalPositionForChild() is
1261         moved up to RenderBlock in order to share it with RenderGrid.
1262
1263         * rendering/RenderBlock.cpp:
1264         (WebCore::RenderBlock::marginIntrinsicLogicalWidthForChild): Moved
1265         from RenderFlexibleBox::marginLogicalWidthForChild().
1266         * rendering/RenderBlock.h:
1267         * rendering/RenderFlexibleBox.cpp:
1268         (WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths):
1269         * rendering/RenderGrid.cpp:
1270         (WebCore::RenderGrid::computePreferredTrackWidth):
1271         (WebCore::RenderGrid::layoutGridItems):
1272         (WebCore::RenderGrid::findChildLogicalPosition):
1273
1274 2013-11-26  Sergio Villar Senin  <svillar@igalia.com>
1275
1276         [CSS Grid Layout] Support grid-definition-{rows|columns} repeat() syntax
1277         https://bugs.webkit.org/show_bug.cgi?id=103312
1278
1279         Reviewed by Andreas Kling.
1280
1281         Added support for the repeat() syntax inside
1282         grid-definition-{rows|columns} by just adding the repeated values
1283         to our list of column|row definitions.
1284
1285         The parsing of <track-name> was refactored in a new function as
1286         it's used now in three different places. The <track-size> parsing
1287         was also refactored to share it with the repeat() parsing.
1288
1289         Test: fast/css-grid-layout/grid-element-repeat-get-set.html
1290
1291         * css/CSSParser.cpp:
1292         (WebCore::CSSParser::parseValue):
1293         (WebCore::CSSParser::parseGridTrackNames):
1294         (WebCore::CSSParser::parseGridTrackList):
1295         (WebCore::CSSParser::parseGridTrackRepeatFunction):
1296         (WebCore::CSSParser::parseGridTrackSize):
1297         * css/CSSParser.h:
1298
1299 2013-11-26  Marcelo Lira  <marcelo.lira@openbossa.org>
1300
1301         Nix upstreaming - Adding build files and supporting scripts
1302         https://bugs.webkit.org/show_bug.cgi?id=118367
1303
1304         Reviewed by Ryosuke Niwa.
1305
1306         No new tests needed.
1307
1308         * CMakeLists.txt:
1309         * PlatformNix.cmake: Added.
1310
1311 2013-11-26  Tim Horton  <timothy_horton@apple.com>
1312
1313         Don't parent the TileController root layer in two places
1314         https://bugs.webkit.org/show_bug.cgi?id=124873
1315
1316         Reviewed by Brent Fulgham.
1317
1318         * platform/graphics/ca/mac/TileController.mm:
1319         (WebCore::TileController::TileController):
1320         The TileController's layer is already parented by callers of
1321         TileController::create, and in a special way. TileController
1322         shouldn't parent itself, anyway...
1323
1324 2013-11-26  Nick Diego Yamane  <nick.yamane@openbossa.org>
1325
1326         [MediaStream API] HTMLMediaElement should be able to use MediaStream as source
1327         https://bugs.webkit.org/show_bug.cgi?id=121943
1328
1329         Reviewed by Eric Carlson.
1330
1331         Implement MediaStream direct assignment to Media Elements using the new 'srcObject'
1332         attribute: http://www.w3.org/TR/mediacapture-streams/#direct-assignment-to-media-elements
1333
1334         Test: fast/mediastream/MediaStream-MediaElement-srcObject.html
1335
1336         * CMakeLists.txt: Added new HTMLMediaElementMediaStream.h and .cpp to cmake build.
1337         * DerivedSources.make: Added HTMLMediaElementMediaStream.idl.
1338         * GNUmakefile.list.am: Added new HTMLMediaElementMediaStream* to autotools build.
1339         * WebCore.xcodeproj/project.pbxproj: Added new files.
1340         * Modules/mediastream/HTMLMediaElementMediaStream.cpp: Added.
1341         (WebCore::HTMLMediaElementMediaStream::srcObject): implements srcObject getter.
1342         (WebCore::HTMLMediaElementMediaStream::setSrcObject): implements srcObject setter.
1343         * Modules/mediastream/HTMLMediaElementMediaStream.h: Added.
1344         * Modules/mediastream/HTMLMediaElementMediaStream.idl: Added.
1345         * html/HTMLMediaElement.cpp:
1346         (WebCore::HTMLMediaElement::setSrcObject): This is an initial implementation, and
1347         is still incomplete, that will be addressed in a separate bug: https://webkit.org/b/124896
1348         * html/HTMLMediaElement.h: Added m_mediaStreamSrcObject class variable
1349         and its corresponding getter.
1350
1351 2013-11-26  Andreas Kling  <akling@apple.com>
1352
1353         Use child iterator to find operators in RenderMathMLRow::layout().
1354         <https://webkit.org/b/124108>
1355
1356         Replace manual children walk with childrenOfType<RenderMathMLBlock>.
1357         Minor update to fix build.
1358
1359         Reviewed by Martin Robinson.
1360
1361 2013-11-26  Andreas Kling  <akling@apple.com>
1362
1363         RenderObject: Inline isBody() and isHR().
1364         <https://webkit.org/b/124901>
1365
1366         Together these account for ~0.3% of samples on HTML5-8266.
1367         Almost all of it is call overhead.
1368
1369         Reviewed by Anders Carlsson.
1370
1371 2013-11-26  Bear Travis  <betravis@adobe.com>
1372
1373         [CSS Shapes] Layout using [<box> || <shape>] value
1374         https://bugs.webkit.org/show_bug.cgi?id=124428
1375
1376         Reviewed by David Hyatt.
1377
1378         When a box value is supplied, use it to size and position the shape. Otherwise,
1379         use a default value (content-box for shape-inside, margin-box for shape-outside).
1380         This patch extends the sizing and positioning code used for the box patch (Bug 124227)
1381         to also apply to shapes. With this patch, we also no longer use the box-sizing
1382         property to size and position shapes.
1383
1384         Tests: fast/shapes/shape-outside-floats/shape-outside-shape-boxes-001.html
1385                fast/shapes/shape-outside-floats/shape-outside-shape-boxes-002.html
1386                fast/shapes/shape-outside-floats/shape-outside-shape-boxes-003.html
1387
1388         * css/CSSComputedStyleDeclaration.cpp:
1389         (WebCore::ComputedStyleExtractor::propertyValue): Adjust for ShapeValues storing
1390         BasicShape::ReferenceBox as their box value, rather than a CSSValueID.
1391         * css/DeprecatedStyleBuilder.cpp:
1392         (WebCore::ApplyPropertyShape::applyValue): Ditto.
1393         * rendering/shapes/ShapeInfo.h:
1394         (WebCore::ShapeInfo::setShapeSize): Adjust for BasicShapes with reference boxes
1395         as well as plain box values. Also, remove old box-sizing code.
1396         (WebCore::ShapeInfo::logicalTopOffset): Ditto.
1397         (WebCore::ShapeInfo::logicalLeftOffset): Ditto.
1398         * rendering/shapes/ShapeInsideInfo.h:
1399         * rendering/shapes/ShapeOutsideInfo.h:
1400         * rendering/style/ShapeValue.h:
1401         (WebCore::ShapeValue::createBoxValue): Adjust for boxes being stored as
1402         BasicShape::ReferenceBoxes.
1403         (WebCore::ShapeValue::box): Ditto.
1404         (WebCore::ShapeValue::ShapeValue): Ditto.
1405
1406 2013-11-26  Brian J. Burg  <burg@cs.washington.edu>
1407
1408         ImageBuffer::create should return a std::unique_ptr instead of OwnPtr.
1409         https://bugs.webkit.org/show_bug.cgi?id=124822
1410
1411         Reviewed by Andreas Kling.
1412
1413         Replace all uses of OwnPtr<ImageBuffer> and PassOwnPtr<ImageBuffer> with
1414         std::unique_ptr<ImageBuffer>. Replace calls to OwnPtr::clear() and
1415         OwnPtr::release() with reset() and std::move(). Remove unnecessary includes.
1416
1417         No new tests. This is a mechanical refactoring.
1418
1419         * css/CSSFilterImageValue.cpp:
1420         (WebCore::CSSFilterImageValue::image):
1421         * html/HTMLCanvasElement.cpp:
1422         (WebCore::HTMLCanvasElement::setSurfaceSize):
1423         * html/HTMLCanvasElement.h:
1424         * html/canvas/CanvasRenderingContext2D.cpp:
1425         (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
1426         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
1427         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
1428         (WebCore::CanvasRenderingContext2D::drawTextInternal):
1429         * html/canvas/CanvasRenderingContext2D.h:
1430         * html/canvas/WebGLRenderingContext.cpp:
1431         (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache):
1432         (WebCore::WebGLRenderingContext::LRUImageBufferCache::imageBuffer):
1433         * html/canvas/WebGLRenderingContext.h:
1434         * html/shadow/MediaControlElements.cpp:
1435         (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
1436         * page/Frame.cpp:
1437         (WebCore::Frame::nodeImage):
1438         (WebCore::Frame::dragImageForSelection):
1439         * platform/graphics/BitmapImage.cpp:
1440         (WebCore::BitmapImage::drawPattern):
1441         * platform/graphics/CrossfadeGeneratedImage.cpp:
1442         (WebCore::CrossfadeGeneratedImage::drawPattern):
1443         * platform/graphics/GradientImage.h:
1444         * platform/graphics/GraphicsContext.cpp:
1445         (WebCore::GraphicsContext::createCompatibleBuffer):
1446         * platform/graphics/GraphicsContext.h:
1447         * platform/graphics/ImageBuffer.cpp:
1448         (WebCore::ImageBuffer::createCompatibleBuffer):
1449         * platform/graphics/ImageBuffer.h:
1450         (WebCore::ImageBuffer::create):
1451         * platform/graphics/ShadowBlur.cpp:
1452         * platform/graphics/cg/ImageBufferCG.cpp:
1453         (WebCore::ImageBuffer::putByteArray):
1454         * platform/graphics/cg/PDFDocumentImage.h:
1455         * platform/graphics/filters/FETile.cpp:
1456         (WebCore::FETile::platformApplySoftware):
1457         * platform/graphics/filters/Filter.h:
1458         (WebCore::Filter::setSourceImage):
1459         * platform/graphics/filters/FilterEffect.cpp:
1460         (WebCore::FilterEffect::clearResult):
1461         * platform/graphics/filters/FilterEffect.h:
1462         * platform/graphics/texmap/TextureMapper.cpp:
1463         (WebCore::BitmapTexture::updateContents):
1464         * platform/graphics/texmap/TextureMapperImageBuffer.h:
1465         * rendering/InlineTextBox.cpp:
1466         (WebCore::InlineTextBox::paintDecoration):
1467         * rendering/RenderBoxModelObject.cpp:
1468         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1469         * rendering/RenderThemeMac.mm:
1470         (WebCore::RenderThemeMac::paintProgressBar):
1471         * rendering/shapes/Shape.cpp:
1472         (WebCore::Shape::createShape):
1473         * rendering/svg/RenderSVGImage.cpp:
1474         (WebCore::RenderSVGImage::invalidateBufferedForeground):
1475         * rendering/svg/RenderSVGImage.h:
1476         * rendering/svg/RenderSVGResourceClipper.cpp:
1477         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1478         * rendering/svg/RenderSVGResourceClipper.h:
1479         * rendering/svg/RenderSVGResourceFilter.cpp:
1480         (WebCore::RenderSVGResourceFilter::applyResource):
1481         (WebCore::RenderSVGResourceFilter::postApplyResource):
1482         * rendering/svg/RenderSVGResourceFilter.h:
1483         * rendering/svg/RenderSVGResourceGradient.cpp: Remove method parameter wrapping/indentation.
1484         (WebCore::createMaskAndSwapContextForTextGradient):
1485         (WebCore::clipToTextMask):
1486         (WebCore::RenderSVGResourceGradient::applyResource):
1487         * rendering/svg/RenderSVGResourceGradient.h:
1488         * rendering/svg/RenderSVGResourceMasker.cpp:
1489         (WebCore::RenderSVGResourceMasker::applyResource):
1490         * rendering/svg/RenderSVGResourceMasker.h:
1491         * rendering/svg/RenderSVGResourcePattern.cpp: Remove method parameter wrapping/indentation.
1492         (WebCore::RenderSVGResourcePattern::buildPattern):
1493         (WebCore::RenderSVGResourcePattern::createTileImage):
1494         * rendering/svg/RenderSVGResourcePattern.h: Remove method parameter wrapping/indentation.
1495         * rendering/svg/SVGRenderingContext.cpp:
1496         (WebCore::SVGRenderingContext::createImageBuffer):
1497         (WebCore::SVGRenderingContext::createImageBufferForPattern):
1498         (WebCore::SVGRenderingContext::clipToImageBuffer):
1499         (WebCore::SVGRenderingContext::bufferForeground):
1500         * rendering/svg/SVGRenderingContext.h:
1501         * svg/graphics/SVGImage.cpp:
1502         (WebCore::SVGImage::nativeImageForCurrentFrame):
1503         (WebCore::SVGImage::drawPatternForContainer):
1504
1505 2013-11-26  Eric Carlson  <eric.carlson@apple.com>
1506
1507         video.currentSrc should return empty when no resource is loaded
1508         https://bugs.webkit.org/show_bug.cgi?id=124898
1509
1510         Reviewed by Dan Bernstein.
1511
1512         Test: media/video-currentsrc-cleared.html
1513
1514         * html/HTMLMediaElement.cpp:
1515         (WebCore::HTMLMediaElement::prepareForLoad): Set m_currentSrc to empty in 
1516             preparation for attempting to load a new url.
1517
1518 2013-11-26  Hans Muller  <hmuller@adobe.com>
1519
1520         [CSS Shapes] Support for shape-margin in BoxShape
1521         https://bugs.webkit.org/show_bug.cgi?id=124788
1522
1523         Reviewed by Andreas Kling.
1524
1525         Corrected BoxShape's internal shape-margin/padding bounds FloatRoundedRect
1526         initialization. Tests for the padding bounds will be added when the rest of
1527         shape-padding for box shapes implementation is ready.
1528
1529         Tests: fast/shapes/shape-outside-floats/shape-outside-margin-boxes-001.html
1530                fast/shapes/shape-outside-floats/shape-outside-margin-boxes-002.html
1531
1532         * rendering/shapes/BoxShape.cpp: Use constructor shape-margin,shape-padding parameters.
1533         (WebCore::BoxShape::BoxShape):
1534         * rendering/shapes/BoxShape.h:
1535         * rendering/shapes/Shape.cpp:
1536         (WebCore::createBoxShape): Pass the shape-margin and shape-padding values along to the BoxShape constructor.
1537         (WebCore::Shape::createShape): Ditto.
1538
1539 2013-11-26  Nick Diego Yamane  <nick.yamane@openbossa.org>
1540
1541         Remove unnecessary webaudio include from MediaStreamSource header
1542         https://bugs.webkit.org/show_bug.cgi?id=124897
1543
1544         Reviewed by Eric Carlson.
1545
1546         AudioDestinationConsumer.h is included but not used anywhere in
1547         MediaStreamSource implementation.
1548
1549         * platform/mediastream/MediaStreamSource.h:
1550
1551 2013-11-26  Andreas Kling  <akling@apple.com>
1552
1553         Avoid unnecessary copy-on-write in FillLayer style application.
1554         <https://webkit.org/b/124878>
1555
1556         We ended up with a lot of cloned StyleBackgroundData objects on
1557         HTML5-8266. This happened because we always forced a copy-on-write
1558         when applying background-image:inherit / background-image:initial.
1559
1560         This patch adds early returns to both functions. In the "inherit"
1561         case, we bail early if the target style already has the same fill
1562         layer data as its parent style.
1563
1564         In the "initial" case, we optimize for the single-FillLayer case
1565         and add an early return if the relevant value is either unset or
1566         equal to the templatized initial value.
1567
1568         2.46 MB progression on HTML5-8266 locally.
1569
1570         Reviewed by Antti Koivisto.
1571
1572 2013-11-26  Antoine Quint  <graouts@apple.com>
1573
1574         Web Inspector: Allow showing a context menu on all mouse events.
1575         https://bugs.webkit.org/show_bug.cgi?id=124747
1576
1577         Reviewed by Joseph Pecoraro.
1578
1579         Add a new InspectorFrontendHost::dispatchEventAsContextMenuEvent(Event*) method
1580         to let the inspector front-end dispatch a native contextmenu event that will allow
1581         for a context menu to be shown from within a non-contextmenu event handler.
1582
1583         * inspector/InspectorFrontendHost.cpp:
1584         (WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):
1585         Check that we're dealing with a mouse event, get the frame for the event target
1586         and the event's location to call ContextMenuController::showContextMenuAt()
1587         which will handle the new contextmenu event dispatch to the original event target.
1588
1589         * inspector/InspectorFrontendHost.h:
1590         * inspector/InspectorFrontendHost.idl:
1591
1592 2013-11-25  Sam Weinig  <sam@webkit.org>
1593
1594         Convert some Shape code to use references
1595         https://bugs.webkit.org/show_bug.cgi?id=124876
1596
1597         Reviewed by Andreas Kling.
1598
1599         * inspector/InspectorOverlay.cpp:
1600         * rendering/FloatingObjects.cpp:
1601         * rendering/LayoutState.cpp:
1602         * rendering/RenderBlock.cpp:
1603         * rendering/RenderBlock.h:
1604         * rendering/RenderBlockLineLayout.cpp:
1605         * rendering/RenderBox.cpp:
1606         * rendering/RenderBox.h:
1607         * rendering/line/BreakingContextInlineHeaders.h:
1608         * rendering/line/LineWidth.cpp:
1609         * rendering/shapes/ShapeInfo.cpp:
1610         * rendering/shapes/ShapeInfo.h:
1611         * rendering/shapes/ShapeInsideInfo.cpp:
1612         * rendering/shapes/ShapeInsideInfo.h:
1613         * rendering/shapes/ShapeOutsideInfo.cpp:
1614         * rendering/shapes/ShapeOutsideInfo.h:
1615         Replace yet more pointers with references.
1616
1617 2013-11-25  Simon Pena  <simon.pena@samsung.com>
1618
1619         [EFL] X11Helper::createPixmap doesn't initialise out value handleId
1620         https://bugs.webkit.org/show_bug.cgi?id=124722
1621
1622         Reviewed by Gyuyoung Kim.
1623
1624         The overloaded functions X11Helper::createPixmap don't initialise out
1625         value handleId, and they do early returns on error situations. Since
1626         the functions are void and they don't communicate their failure in any
1627         way, returning an out value without initialising it could make the
1628         error go farther unnoticed. With the variable being initialised, it can
1629         be reliably checked for errors when the function returns.
1630
1631         * platform/graphics/surfaces/glx/X11Helper.cpp:
1632         (WebCore::X11Helper::createPixmap): Initialise handleId to 0.
1633
1634 2013-11-25  Nick Diego Yamane  <nick.yamane@openbossa.org>
1635
1636         Mark URLRegistry's lookup() as const and its child classes as final
1637         https://bugs.webkit.org/show_bug.cgi?id=124865
1638
1639         Reviewed by Eric Carlson.
1640
1641         No new tests needed. No behavior changes.
1642
1643         * Modules/mediasource/MediaSourceRegistry.cpp:
1644         (WebCore::MediaSourceRegistry::lookup): marked as const.
1645         * Modules/mediasource/MediaSourceRegistry.h: MediaSourceRegistry
1646         marked as final.
1647         * Modules/mediastream/MediaStreamRegistry.cpp:
1648         (WebCore::MediaStreamRegistry::lookup): marked as const.
1649         * Modules/mediastream/MediaStreamRegistry.h: MediaStreamRegistry
1650         marked as final.
1651         * fileapi/Blob.cpp:
1652         * html/URLRegistry.h: lookup() marked as const.
1653         (WebCore::URLRegistry::lookup): marked as const.
1654
1655 2013-11-25  Sergio Correia  <sergio.correia@openbossa.org>
1656
1657         [MediaStream] Use std::unique_ptr instead of OwnPtr/PassOwnPtr
1658         https://bugs.webkit.org/show_bug.cgi?id=124858
1659
1660         Reviewed by Eric Carlson.
1661
1662         Another step of the OwnPtr/PassOwnPtr => std::unique_ptr conversion,
1663         now targeting mediastream-related code.
1664
1665         No new tests, covered by existing ones.
1666
1667         * Modules/mediastream/RTCDTMFSender.cpp:
1668         * Modules/mediastream/RTCDTMFSender.h:
1669         * Modules/mediastream/RTCDataChannel.cpp:
1670         * Modules/mediastream/RTCDataChannel.h:
1671         * Modules/mediastream/RTCPeerConnection.cpp:
1672         * Modules/mediastream/RTCPeerConnection.h:
1673         * platform/mediastream/MediaStreamSource.cpp:
1674         * platform/mediastream/RTCPeerConnectionHandler.cpp:
1675         * platform/mediastream/RTCPeerConnectionHandler.h:
1676         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
1677         * platform/mock/RTCNotifiersMock.cpp:
1678         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
1679         * platform/mock/RTCPeerConnectionHandlerMock.h:
1680
1681 2013-11-25  Nick Diego Yamane  <nick.yamane@openbossa.org>
1682
1683         MediaStreamRegistry should store MediaStreams instead of MediaStreamPrivates
1684         https://bugs.webkit.org/show_bug.cgi?id=124860
1685
1686         Reviewed by Eric Carlson.
1687
1688         MediaStreamRegistry::lookup() should return a MediaStream instead of MediaStreamPrivate.
1689
1690         No new tests needed. No behavior changes.
1691
1692         * Modules/mediastream/MediaStreamRegistry.cpp:
1693         (WebCore::MediaStreamRegistry::registerURL): m_privateStreams -> m_mediaStreams
1694         (WebCore::MediaStreamRegistry::unregisterURL): Ditto.
1695         (WebCore::MediaStreamRegistry::lookup): Override URLRegistry::lookup() instead of add a
1696         new method MediaStream::lookupMediaStreamPrivate().
1697         * Modules/mediastream/MediaStreamRegistry.h:
1698         * html/HTMLMediaElement.cpp:
1699         (HTMLMediaElement::loadResource): call lookup() instead of lookupMediaStreamPrivate()
1700
1701 2013-11-25  peavo@outlook.com  <peavo@outlook.com>
1702
1703         [WinCairo] Compile fails when GSTREAMER is not used.
1704         https://bugs.webkit.org/show_bug.cgi?id=124853
1705
1706         Reviewed by Philippe Normand.
1707
1708         * platform/graphics/gstreamer/GStreamerUtilities.cpp: Don't include GStreamerUtilities.h when GSTREAMER is not used.
1709
1710 2013-11-25  Andreas Kling  <akling@apple.com>
1711
1712         Deduplicate shortish Text node strings during tree construction.
1713         <https://webkit.org/b/124855>
1714
1715         Let HTMLConstructionSite keep a hash set of already seen strings over
1716         its lifetime. Use this to deduplicate the strings inside Text nodes
1717         for any string up to 64 characters of length.
1718
1719         This optimization already sort-of existed for whitespace-only Texts,
1720         but those are laundered in the AtomicString table which we definitely
1721         don't want to pollute with every single Text. It might be a good idea
1722         to stop using the AtomicString table for all-whitespace Text too.
1723
1724         3.82 MB progression on HTML5-8266 locally.
1725
1726         Reviewed by Anders Carlsson.
1727
1728 2013-11-25  Nick Diego Yamane  <nick.yamane@openbossa.org>
1729
1730         Remove unnecessary MediaStreamTrackDescriptor forward declaration
1731         https://bugs.webkit.org/show_bug.cgi?id=124854
1732
1733         Reviewed by Eric Carlson.
1734
1735         No new tests needed. No behavior changed.
1736
1737         * Modules/mediastream/VideoStreamTrack.h:
1738
1739 2013-11-25  Robert Hogan  <robert@webkit.org>
1740
1741         Remove code now unnecessary after r159575
1742         https://bugs.webkit.org/show_bug.cgi?id=124809
1743
1744         Reviewed by Antti Koivisto.
1745
1746         Covered by existing tests fast/block/margin-collapse/self-collapsing-block-with-float*
1747
1748         * rendering/line/LineBreaker.cpp:
1749         (WebCore::LineBreaker::skipLeadingWhitespace):
1750
1751 2013-11-25  Laszlo Vidacs  <lac@inf.u-szeged.hu>
1752
1753         Vertical border spacing is doubled between table row groups
1754         https://bugs.webkit.org/show_bug.cgi?id=20040
1755
1756         Reviewed by Csaba Osztrogonác.
1757
1758         Based on Chromium fix https://chromium.googlesource.com/chromium/blink/+/eb615069267f895c59bc576f9d65b3fa5add41e9
1759
1760         Rebaseline needed for table related tests (100+).
1761
1762         * rendering/RenderTableSection.cpp:
1763         (WebCore::RenderTableSection::calcRowLogicalHeight):
1764
1765 2013-11-25  Andres Gomez  <agomez@igalia.com>
1766
1767         [GStreamer] Seeking fails on media content provided by servers not supporting Range requests
1768         https://bugs.webkit.org/show_bug.cgi?id=85994
1769
1770         Reviewed by Philippe Normand.
1771
1772         Based on the patch written by Andre Moreira Magalhaes.
1773
1774         When the GStreamer web source was doing a "Range" request we were
1775         expecting to receive a 206 status reply with the "Content-Range"
1776         header and just the requested data. Supporting "Range" requests is
1777         not mandatory so, for the servers not supporting it they will be
1778         replying with a 200 status and the whole content of the media
1779         element. Now, we are properly handling these replies too.
1780
1781         Test: http/tests/media/media-seeking-no-ranges-server.html
1782
1783         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1784         (StreamingClient::handleResponseReceived): Do not fail when
1785         receiving 200 as response for HTTP range requests.
1786         (StreamingClient::handleDataReceived): Manually seek on stream
1787         when receiving the full data after a seek.
1788
1789 2013-11-25  Radu Stavila  <stavila@adobe.com>
1790
1791         Removed obsolete FIXME after the landing of visual overflow patch (https://bugs.webkit.org/show_bug.cgi?id=118665).
1792         https://bugs.webkit.org/show_bug.cgi?id=124833
1793
1794         Reviewed by Mihnea Ovidenie.
1795
1796         * rendering/RenderRegion.cpp:
1797         (WebCore::RenderRegion::layoutBlock):
1798
1799 2013-11-18  Sergio Villar Senin  <svillar@igalia.com>
1800
1801         [CSS Grid Layout] Cache several vectors to avoid malloc/free churn
1802         https://bugs.webkit.org/show_bug.cgi?id=123995
1803
1804         Reviewed by Dean Jackson.
1805
1806         From Blink r158228 by <jchaffraix@chromium.org>
1807
1808         Laying-out the grid items means a lot of calls to
1809         distributeSpaceToTracks() and
1810         resolveContentBasedTrackSizingFunctionsForItems() as they're
1811         called in a loop. This means that there is a lot of malloc/free
1812         going on there. By moving the vectors used by these methods to a
1813         new class which is kept during the whole layout process we save a
1814         lot of those calls.
1815
1816         This obviously mean that the price we pay for a significant
1817         perfomance improvement is that we keep the maximum allocation till
1818         the end of each layout, but it's an amount of memory that we have
1819         to allocate anyway. The improvement in the
1820         auto-grid-lots-of-data.html perf test is ~24% (165 runs/s vs 207
1821         runs/s).
1822
1823         No new tests required as we're just refactoring code to a new
1824         helper class. Nevertheless the performance improvement is backed
1825         by the perf test mentioned above.
1826
1827         * rendering/RenderGrid.cpp:
1828         (WebCore::RenderGrid::GridSizingData::GridSizingData):
1829         (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
1830         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
1831         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
1832         (WebCore::RenderGrid::distributeSpaceToTracks):
1833         (WebCore::RenderGrid::layoutGridItems):
1834         (WebCore::RenderGrid::findChildLogicalPosition):
1835         * rendering/RenderGrid.h:
1836
1837 2013-11-24  Brady Eidson  <beidson@apple.com>
1838
1839         DatabaseProcess: Add "UniqueIDBDatabase" that multiple WebProcesses can connect to
1840         https://bugs.webkit.org/show_bug.cgi?id=124819
1841
1842         Reviewed by Dan Bernstein.
1843
1844         * Modules/indexeddb/IDBDatabaseBackend.cpp:
1845         (WebCore::IDBDatabaseBackend::~IDBDatabaseBackend): Unregister from the IDBFactory.
1846
1847 2013-11-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1848
1849         Generate toHTMLMarquee|OListElement() to cleanup static_cast<>
1850         https://bugs.webkit.org/show_bug.cgi?id=124707
1851
1852         Reviewed by Darin Adler.
1853
1854         As a step to use toFoo(), we need to generate toHTMLMarquee|OListElement().
1855         Besides this patch cleans up remaining static_cast<> usage.
1856
1857         No new tests, no behavior changes.
1858
1859         * css/StyleResolver.cpp:
1860         (WebCore::StyleResolver::State::initElement):
1861         (WebCore::StyleResolver::locateCousinList):
1862         (WebCore::StyleResolver::findSiblingForStyleSharing):
1863         * dom/Attr.cpp:
1864         (WebCore::Attr::style):
1865         * dom/Element.cpp:
1866         (WebCore::Element::removeAttribute):
1867         * editing/ApplyStyleCommand.cpp:
1868         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
1869         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
1870         * editing/EditingStyle.cpp:
1871         (WebCore::EditingStyle::wrappingStyleForSerialization):
1872         * editing/Editor.cpp:
1873         (WebCore::Editor::applyEditingStyleToElement):
1874         * editing/ReplaceSelectionCommand.cpp:
1875         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
1876         * html/HTMLMarqueeElement.h:
1877         * html/HTMLOListElement.h:
1878         * html/HTMLTagNames.in:
1879         * inspector/InspectorCSSAgent.cpp:
1880         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
1881         * inspector/InspectorOverlay.cpp:
1882         (WebCore::buildObjectForElementInfo):
1883         * page/PageSerializer.cpp:
1884         (WebCore::PageSerializer::serializeFrame):
1885         * rendering/RenderCounter.cpp:
1886         (WebCore::planCounter):
1887         * rendering/RenderLayer.cpp:
1888         (WebCore::RenderLayer::resize):
1889         * rendering/RenderListItem.cpp:
1890         (WebCore::RenderListItem::calcValue):
1891         (WebCore::RenderListItem::updateListMarkerNumbers):
1892         * rendering/RenderMarquee.cpp:
1893         (WebCore::RenderMarquee::marqueeSpeed):
1894
1895 2013-11-24  Tim Horton  <timothy_horton@apple.com>
1896
1897         REGRESSION (r156291): TileController tiles don't always repaint when they resize
1898         https://bugs.webkit.org/show_bug.cgi?id=124796
1899
1900         Reviewed by Simon Fraser.
1901
1902         In removing platformCALayerDidCreateTiles, r156291 also removed
1903         the call to setNeedsDisplay when tiles are resized, without
1904         putting it somewhere else.
1905
1906         * platform/graphics/ca/mac/TileController.mm:
1907         (WebCore::TileController::setNeedsDisplay):
1908         Use hasStaleContent when invalidating a whole tile, just
1909         like we do for partial tile repaints.
1910
1911         (WebCore::TileController::setTileNeedsDisplayInRect):
1912         Mark hasStaleContent for any unparented layers, so they'll be painted
1913         when they are reparented.
1914
1915         (WebCore::TileController::ensureTilesForRect):
1916         Invalidate the whole tile when it changes size.
1917
1918 2013-11-23  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1919
1920         [GStreamer] Remove 0.10 codepath
1921         https://bugs.webkit.org/show_bug.cgi?id=124534
1922
1923         Reviewed by Philippe Normand.
1924
1925         All GStreamer ports are using 1.0 now so we remove the 0.10
1926         codepath.
1927
1928         * GNUmakefile.list.am:
1929         * PlatformEfl.cmake:
1930         * PlatformGTK.cmake:
1931         * WebCore.vcxproj/WebCore.vcxproj:
1932         * WebCore.vcxproj/WebCore.vcxproj.filters: Removed
1933         GStreamerVersioning.
1934         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
1935         (onGStreamerWavparsePadAddedCallback): Removed.
1936         (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
1937         Replaced webkitGstPipelineGetBus and removed 0.10 codepath.
1938         (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
1939         Replaced webkitGstPipelineGetBus.
1940         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1941         (WebCore::copyGstreamerBuffersToAudioChannel):
1942         (WebCore::onAppsinkPullRequiredCallback): Removed 0.10 codepath.
1943         (WebCore::AudioFileReader::~AudioFileReader): Replaced
1944         webkitGstPipelineGetBus and removed 0.10 codepath.
1945         (WebCore::AudioFileReader::handleSample): Left as only codepath.
1946         (WebCore::AudioFileReader::handleBuffer): Removed.
1947         (WebCore::AudioFileReader::handleNewDeinterleavePad): Removed 0.10
1948         codepath.
1949         (WebCore::AudioFileReader::plugDeinterleave): Replaced
1950         getGstAudioCaps.
1951         (WebCore::AudioFileReader::decodeAudioForBusCreation): Replaced
1952         webkitGstPipelineGetBus.
1953         (WebCore::AudioFileReader::createBus): Removed 0.10 codepath.
1954         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
1955         (getGStreamerMonoAudioCaps):
1956         (webKitWebAudioGStreamerChannelPosition): Removed 0.10 codepath.
1957         (webkit_web_audio_src_class_init): Replaced
1958         setGstElementClassMetadata.
1959         (webkit_web_audio_src_init):
1960         (webKitWebAudioSrcConstructed):
1961         (webKitWebAudioSrcFinalize):
1962         (webKitWebAudioSrcLoop): Removed 0.10 codepath.
1963         * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:
1964         * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h:
1965         Removed checks for 1.0 as it is the only codepath now.
1966         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
1967         (WTF::GstElement):
1968         (WTF::GstPad):
1969         (WTF::GstPadTemplate):
1970         (WTF::GstTask):
1971         (WTF::GstBus):
1972         (WTF::GstElementFactory):
1973         (WTF::adoptGRef): Replaced gstObjectIsFloating.
1974         (WTF::refGRef): Replaced webkitGstObjectRefSink.
1975         (WTF::GstTagList):
1976         (WTF::GstSample): Removed checks for 1.0 as it is the only
1977         codepath now.
1978         * platform/graphics/gstreamer/GRefPtrGStreamer.h: Removed checks
1979         for 1.0 as it is the only codepath now.
1980         * platform/graphics/gstreamer/GStreamerUtilities.cpp:
1981         (WebCore::webkitGstGhostPadFromStaticTemplate):
1982         (WebCore::getVideoSizeAndFormatFromCaps):
1983         (WebCore::createGstBuffer):
1984         (WebCore::createGstBufferForData):
1985         (WebCore::getGstBufferDataPointer):
1986         (WebCore::mapGstBuffer):
1987         (WebCore::unmapGstBuffer): Moved here from GstVersioning and added
1988         to WebCore namespace.
1989         * platform/graphics/gstreamer/GStreamerUtilities.h:
1990         (WebCore::webkitGstCheckVersion): Moved here from GstVersioning
1991         and added to WebCore namespace.
1992         * platform/graphics/gstreamer/GStreamerVersioning.cpp: Removed.
1993         * platform/graphics/gstreamer/GStreamerVersioning.h: Removed.
1994         * platform/graphics/gstreamer/ImageGStreamer.h: Removed checks for
1995         1.0 as it is the only codepath now.
1996         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
1997         (ImageGStreamer::ImageGStreamer): Removed 0.10 codepath.
1998         (ImageGStreamer::~ImageGStreamer): Removed checks for 1.0 as it is
1999         the only codepath now.
2000         * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:
2001         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
2002         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
2003         Removed checks for 1.0 as it is the only codepath now.
2004         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2005         (WebCore::setAudioStreamPropertiesCallback): Removed 0.10 codepath.
2006         (WebCore::mediaPlayerPrivateTextChangedCallback): Removed checks
2007         for 1.0 as it is the only codepath now.
2008         (WebCore::MediaPlayerPrivateGStreamer::isAvailable): Replaced
2009         gPlaybinName.
2010         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
2011         Removed checks for 1.0 and replaced webkitGstPipelineGetBus.
2012         (WebCore::MediaPlayerPrivateGStreamer::duration): Removed 0.10
2013         codepath.
2014         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
2015         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
2016         (WebCore::MediaPlayerPrivateGStreamer::textChanged):
2017         Removed checks for 1.0 as it is the only codepath now.
2018         (WebCore::MediaPlayerPrivateGStreamer::buffered): Replaced
2019         gPercentMax.
2020         (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Removed
2021         0.10 codepath.
2022         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContents):
2023         Removed checks for 1.0 as it is the only codepath now.
2024         (WebCore::MediaPlayerPrivateGStreamer::totalBytes): Removed 0.10
2025         codepath.
2026         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Replaced
2027         gPlaybinName and webkitGstPipelineGetBus and removed checks for
2028         1.0.
2029         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2030         Removed checks for 1.0 as it is the only codepath now.
2031         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2032         (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
2033         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
2034         (WebCore::MediaPlayerPrivateGStreamerBase::paint): Removed 0.10
2035         codepath.
2036         * platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
2037         * platform/graphics/gstreamer/TextCombinerGStreamer.h:
2038         * platform/graphics/gstreamer/TextSinkGStreamer.cpp:
2039         * platform/graphics/gstreamer/TextSinkGStreamer.h:
2040         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
2041         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Removed
2042         checks for 1.0 as it is the only codepath now.
2043         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
2044         (webkitVideoSinkRender): Removed 0.10 codepath and added WebCore
2045         as createGstBuffer namespace.
2046         (webkitVideoSinkSetCaps): Removed 0.10 codepath.
2047         (webkitVideoSinkProposeAllocation): Removed checks for 1.0 as it
2048         is the only codepath now.
2049         (webkitVideoSinkMarshalVoidAndMiniObject): Removed as it was 0.10.
2050         (webkit_video_sink_class_init): Removed 0.10 codepath and replaced
2051         setGstElementClassMetadata.
2052         * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp:
2053         * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h:
2054         Removed checks for 1.0 as it is the only codepath now.
2055         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
2056         (webkit_media_src_class_init): Replaced
2057         setGstElementClassMetadata.
2058         (webKitMediaSrcAddSrc): Added WebCore namespace to
2059         webkitGstGhostPadFromStaticTemplate.
2060         (MediaSourceClientGstreamer::didReceiveData): Added WebCore
2061         namespace to createGstBufferForData.
2062         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2063         Removed 0.10 codepath.
2064         (webKitWebSrcQuery): Removed as it was 0.10 only.
2065         (void webkit_web_src_class_init): Replaced setGstElementClassMetadata.
2066         (webkit_web_src_init): Removed haveAppSrc27 private attribute and
2067         0.10 codepath.
2068         (webKitWebSrcStop): Removed checks for 1.0 as it is the only
2069         codepath now.
2070         (webKitWebSrcSetProperty):
2071         (webKitWebSrcUriGetType):
2072         (webKitWebSrcGetProtocols):
2073         (webKitWebSrcGetUri):
2074         (webKitWebSrcSetUri): Removed 0.10 codepath.
2075         (StreamingClient::createReadBuffer): Removed checks for 1.0 and
2076         replaced getGstBufferSize.
2077         (StreamingClient::handleResponseReceived): Removed 0.10 codepath
2078         and replaced notifyGstTagsOnPad.
2079         (StreamingClient::handleDataReceived): Removed 0.10 codepath and
2080         replaced setGstBufferSize and gst_buffer_get_size.
2081
2082 2013-11-22  Jer Noble  <jer.noble@apple.com>
2083
2084         [Mac] Can't drag full-screen video to another monitor
2085         https://bugs.webkit.org/show_bug.cgi?id=124798
2086
2087         Reviewed by Geoffrey Garen.
2088
2089         Make full screen windows movable by default. Previously, we wanted non-movable full screen
2090         windows since they were in the same space and were just placed atop non-full screen windows.
2091         Now that all our supported Mac platforms have explicit full screen support, we can remove this
2092         non-movable restriction.
2093
2094         * platform/mac/WebCoreFullScreenWindow.mm:
2095         (-[WebCoreFullScreenWindow initWithContentRect:styleMask:backing:defer:]):
2096
2097 2013-11-22  Brent Fulgham  <bfulgham@apple.com>
2098
2099         [Win] Clean up ColorSpace handling in Windows code
2100         https://bugs.webkit.org/show_bug.cgi?id=124795
2101
2102         Reviewed by Tim Horton.
2103
2104         Functionality covered by existing fast/css/color test suite.
2105
2106         * platform/graphics/cg/GraphicsContextCG.cpp:
2107         (WebCore::safeRGBColorSpaceRef): Handle case of Windows CG implementation not
2108         handling sRGB correctly.
2109         (WebCore::sRGBColorSpaceRef): Use new helper function.
2110         * platform/graphics/win/FontCGWin.cpp:
2111         (WebCore::Font::drawGlyphs): Pass correct color space to fill functions.
2112         * platform/graphics/win/GraphicsContextCGWin.cpp:
2113         (WebCore::GraphicsContext::platformInit): Initialize color space to value passed
2114         via the style to the constructor.
2115
2116 2013-11-22  Alexey Proskuryakov  <ap@apple.com>
2117
2118         WebCrypto algorithms should check that key algorithm matches
2119         https://bugs.webkit.org/show_bug.cgi?id=123628
2120
2121         Reviewed by Anders Carlsson.
2122
2123         No change in behavior yet, because we have one algorithm per key class.
2124         Will be tested once more algorithms are added.
2125
2126         * WebCore.xcodeproj/project.pbxproj: Updated for file renames.
2127
2128         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
2129         (WebCore::createRsaKeyParamsWithHash):
2130         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
2131         * bindings/js/JSCryptoKeySerializationJWK.cpp:
2132         (WebCore::createRSAKeyParametersWithHash):
2133         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
2134         * crypto/CryptoAlgorithmParameters.h:
2135         (WebCore::CryptoAlgorithmParameters::ENUM_CLASS):
2136         * crypto/parameters/CryptoAlgorithmRsaKeyParamsWithHash.h: Copied from Source/WebCore/crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h.
2137         * crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h: Removed.
2138         Renamed RsaSsaKeyParams to RsaKeyParamsWithHash, because other algorithms (like RSA-OAEP)
2139         are in the same boat. Depending on where the spec goes, we might need to introduce
2140         algorithm specific RSA parameter classes later, but let's reduce copy/pasted code at
2141         least for now.
2142
2143         * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Moved to the correct directory.
2144         * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Copied from Source/WebCore/crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp.
2145         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign): Factored out Mac specific
2146         code, leaving type casting to cross-platform files.
2147         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify): Ditto.
2148
2149         * crypto/CryptoAlgorithmRegistry.h:
2150         (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
2151         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
2152         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
2153         Reduce copy/pasting in registration code.
2154
2155         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
2156         (WebCore::CryptoAlgorithmAES_CBC::keyAlgorithmMatches): Check key type and algorithm.
2157         (WebCore::CryptoAlgorithmAES_CBC::encrypt): Cross platform type casting code.
2158         Maybe we'll find a way to autogenerate or eliminate it one day.
2159         (WebCore::CryptoAlgorithmAES_CBC::decrypt): Ditto.
2160
2161         * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
2162         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
2163         (WebCore::CryptoAlgorithmHMAC::keyAlgorithmMatches):
2164         (WebCore::CryptoAlgorithmHMAC::sign):
2165         (WebCore::CryptoAlgorithmHMAC::verify):
2166         * crypto/algorithms/CryptoAlgorithmHMAC.h:
2167         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
2168         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::keyAlgorithmMatches):
2169         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
2170         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
2171         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
2172         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
2173         * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
2174         (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
2175         (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
2176         * crypto/mac/CryptoAlgorithmHMACMac.cpp:
2177         (WebCore::CryptoAlgorithmHMAC::platformSign):
2178         (WebCore::CryptoAlgorithmHMAC::platformVerify):
2179         Same changes for all algorithms that have keys.
2180
2181 2013-11-22  Brendan Long  <b.long@cablelabs.com>
2182
2183         Fire "change" event on TextTrackList when a TextTrack's mode changes
2184         https://bugs.webkit.org/show_bug.cgi?id=124789
2185
2186         Reviewed by Eric Carlson.
2187
2188         Since AudioTrackList and VideoTrackList already have this event, the
2189         interesting bits are in TrackListBase::scheduleChangeEvent(), and we
2190         just need to call it for TextTrackList changes.
2191
2192         Test: media/track/track-change-event.html
2193
2194         * html/HTMLMediaElement.cpp:
2195         (HTMLMediaElement::textTrackModeChanged): Call TrackListBase::scheduleChangeEvent().
2196         * html/track/TextTrackList.idl: Add onchange event listener.
2197
2198 2013-11-22  Brendan Long  <b.long@cablelabs.com>
2199
2200         Add TextTrackList::getTrackById().
2201         https://bugs.webkit.org/show_bug.cgi?id=124785
2202
2203         Reviewed by Eric Carlson.
2204
2205         Test: media/track/track-id.html
2206
2207         * html/track/TextTrackList.cpp: Add getTrackById()
2208         (TextTrackList::getTrackById):
2209         * html/track/TextTrackList.h: Same.
2210         * html/track/TextTrackList.idl: Same.
2211
2212 2013-11-22  Hans Muller  <hmuller@adobe.com>
2213
2214         [CSS Shapes] When the <box> value is set, derive radii from border-radius
2215         https://bugs.webkit.org/show_bug.cgi?id=124228
2216
2217         Reviewed by Dean Jackson.
2218
2219         Add support for BoxShape elliptical corners.
2220
2221         Tests: fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-001.html
2222                fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-002.html
2223
2224         * platform/graphics/FloatRoundedRect.h:
2225         (WebCore::FloatRoundedRect::bottomLeftCorner): Corrected a copy-and-pasteO.
2226         * rendering/shapes/BoxShape.cpp:
2227         (WebCore::BoxShape::getExcludedIntervals): Returned interval now depends on the top and bottom of the line.
2228         * rendering/shapes/Shape.cpp:
2229         (WebCore::Shape::createShape): Rounded rect parameters are now specified with a RoundedRect parameter.
2230         * rendering/shapes/Shape.h:
2231         * rendering/shapes/ShapeInfo.cpp:
2232         (WebCore::::computedShape): Pass style's rounded border to createShape().
2233
2234 2013-11-22  Andres Gomez  <agomez@igalia.com>
2235
2236         Several missing/incorrect guards for LOG_DISABLED=0 against Release build (Mac)
2237         https://bugs.webkit.org/show_bug.cgi?id=78735
2238
2239         Reviewed by Mario Sanchez Prada.
2240
2241         In a "Debug" build the CString.h header comes from another
2242         indirect dependency. Now, we explicitly add this missing include.
2243
2244         * page/CaptionUserPreferencesMediaAF.cpp: Explicitly adding
2245         missing include.
2246
2247 2013-11-22  Robert Sipka  <sipka@inf.u-szeged.hu>
2248
2249         [curl] Fix of SSL certificate chain storage
2250         https://bugs.webkit.org/show_bug.cgi?id=124768
2251
2252         Reviewed by Brent Fulgham.
2253
2254         Change the certificates storage type into ListHashSet
2255         from HashSet to keep the chain order in each case.
2256         This ensures that there is no difference between the stored
2257         and the recieved certificate chain.
2258
2259         * platform/network/curl/SSLHandle.cpp:
2260         (WebCore::allowsAnyHTTPSCertificateHosts):
2261         (WebCore::sslIgnoreHTTPSCertificate):
2262         (WebCore::pemData):
2263         (WebCore::certVerifyCallback):
2264
2265 2013-11-22  Brent Fulgham  <bfulgham@apple.com>
2266
2267         [Win] Avoid deadlock when interacting with some AVFoundationCF content
2268         <rdar://problem/15482977> and https://bugs.webkit.org/show_bug.cgi?id=124752
2269
2270         Prevent deadlock caused by conflict over the "mapLock" mutex. Notification handling in the file,
2271         which modify assets and make other changes, are required to happen on the main thread. This
2272         patch enforces this requirement.
2273
2274         Reviewed by Eric Carlson.
2275
2276         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2277         (WebCore::NotificationCallbackData::NotificationCallbackData): Added
2278         (WebCore::AVFWrapper::processNotification): Moved logic from 'notificationCallback', which was
2279         sometimes happening on a background thread.
2280         (WebCore::AVFWrapper::notificationCallback): Dispatch calls to main thread.
2281
2282 2013-11-22  peavo@outlook.com  <peavo@outlook.com>
2283
2284         [WinCairo] Compile error when ACCELERATED_COMPOSITING is not used.
2285         https://bugs.webkit.org/show_bug.cgi?id=124773
2286
2287         Reviewed by Brent Fulgham.
2288
2289         * rendering/RenderView.cpp:
2290         (WebCore::RenderView::paintBoxDecorations): Added USE(ACCELERATED_COMPOSITING) guard.
2291
2292 2013-11-18  Sergio Villar Senin  <svillar@igalia.com>
2293
2294         [CSS Grid Layout] Improve content-sized track layout
2295         https://bugs.webkit.org/show_bug.cgi?id=124408
2296
2297         Reviewed by Dean Jackson.
2298
2299         Test: fast/css-grid-layout/grid-item-with-percent-min-max-height-dynamic.html
2300
2301         From Blink r156122 & r157633 by <jchaffraix@chromium.org>
2302
2303         Added a couple of optimizations to speed up the layout of content
2304         based tracks. The idea is to narrow down the conditions for
2305         relayouting when the height of a grid area changes. We basically
2306         just need to layout tracks with percentage heights as they're the
2307         only ones that change.
2308
2309         A new performance test is attached to demonstrate the effect of
2310         these optimizations. We get a ~1000% improvement on a i7 M620
2311         going from 14.5 runs/s to 165 runs/s.
2312
2313         * rendering/RenderGrid.cpp:
2314         (WebCore::RenderGrid::logicalContentHeightForChild):
2315         (WebCore::RenderGrid::layoutGridItems):
2316
2317 2013-11-08  Sergio Villar Senin  <svillar@igalia.com>
2318
2319         [CSS Grid Layout] Run the content-sized tracks sizing algorithm only when required
2320         https://bugs.webkit.org/show_bug.cgi?id=124039
2321
2322         Reviewed by Dean Jackson.
2323
2324         The current code runs the content sized track sizing algorithm all
2325         the time, which forces a layout even when the track is not
2326         content-sized. This change improves the situation by applying two
2327         optimizations. In the first one, we bail out the algorithm if we
2328         detect that we don't need to run it. And by the second one we
2329         reduce the amount of recomputations by only iterating over the
2330         content sized tracks instead of all of them. Both changes follow
2331         the ideas introduced in Blink r156028 and r156168 by
2332         <jchaffraix@chromium.org>.
2333
2334         As we changed the way we iterate over children (we use the
2335         GridIterator now) the way they're stored in the RenderGrid changes
2336         too. If a item spans through several "cells" inside the grid, we
2337         will have a reference to it on each of them.
2338
2339         These two changes account for a ~3200% improvement on a i7 M620 in
2340         the test that accompanies this change (15.5 vs 520 run/s).
2341
2342         New perf test: PerformanceTests/Layout/fixed-grid-lots-of-data.html
2343
2344         * rendering/RenderGrid.cpp:
2345         (WebCore::RenderGrid::computedUsedBreadthOfGridTracks): Keep track
2346         of content sized tracks and only iterate over them.
2347         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
2348         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
2349         Early return if there are no tracks to pass to the algorithm.
2350         * rendering/RenderGrid.h:
2351         * rendering/style/GridLength.h:
2352         (WebCore::GridLength::isContentSized):
2353         * rendering/style/GridTrackSize.h:
2354         (WebCore::GridTrackSize::isContentSized):
2355
2356 2013-11-22  Manuel Rego Casasnovas  <rego@igalia.com>
2357
2358         [CSS Regions] Move code after early break in RenderRegion::repaintFlowThreadContentRectangle
2359         https://bugs.webkit.org/show_bug.cgi?id=124743
2360
2361         Reviewed by Mihnea Ovidenie.
2362
2363         No new tests, covered by existing tests.
2364
2365         * rendering/RenderRegion.cpp:
2366         (WebCore::RenderRegion::repaintFlowThreadContentRectangle): Variable
2367         flippedFlowThreadPortionRect is not used before the early break, so we
2368         can move it after and save some unneeded operations.
2369
2370 2013-11-22  Manuel Rego Casasnovas  <rego@igalia.com>
2371
2372         [CSS Regions] Use hasOverflowClip() in RenderRegion
2373         https://bugs.webkit.org/show_bug.cgi?id=124746
2374
2375         Reviewed by Mihnea Ovidenie.
2376
2377         Implement the suggested FIXME in RenderRegion using hasOverflowClip().
2378
2379         No new tests, covered by existing tests.
2380
2381         * rendering/RenderRegion.cpp:
2382         (WebCore::RenderRegion::overflowRectForFlowThreadPortion): Use
2383         hasOverflowClip().
2384         (WebCore::RenderRegion::rectFlowPortionForBox): Ditto.
2385
2386 2013-11-21  Frédéric Wang  <fred.wang@free.fr>
2387
2388         Map the dir attribute to the CSS direction property.
2389         https://bugs.webkit.org/show_bug.cgi?id=124572.
2390
2391         Reviewed by Darin Adler.
2392
2393         Test: mathml/presentation/mstyle-css-attributes.html
2394
2395         * mathml/MathMLElement.cpp:
2396         (WebCore::MathMLElement::isPresentationAttribute): reorder attributes
2397         (WebCore::MathMLElement::collectStyleForPresentationAttribute): reorder tags that accept dir
2398         (WebCore::MathMLElement::isMathMLToken): add an inline function to test that a tag corresponds to a MathML Token Element.
2399         * mathml/MathMLElement.h:
2400
2401         Follow-up work to address Darin's comments.
2402
2403 2013-11-21  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
2404
2405         Remove ENABLE_WORKERS
2406         https://bugs.webkit.org/show_bug.cgi?id=105784
2407
2408         Reviewed by Darin Adler.
2409
2410 2013-11-21  Alex Christensen  <achristensen@webkit.org>
2411
2412         [Win] Unreviewed build fix after r159632.
2413
2414         * platform/network/curl/SSLHandle.cpp:
2415         (WebCore::certVerifyCallback):
2416         Fixed template syntax.
2417
2418 2013-11-21  Bear Travis  <betravis@adobe.com>
2419
2420         Web Inspector: [CSS Shapes] Refactor highlighting code to decrease Shapes API surface
2421         https://bugs.webkit.org/show_bug.cgi?id=124737
2422
2423         Reviewed by Timothy Hatcher.
2424
2425         Add a virtual method to Shapes, buildPath, that can be used to build the
2426         path (in the Shape coordinate system) for display in the Inspector. This allows us
2427         to remove methods such as type(), polygon(), and logicalRx/Ry() which exposed the
2428         inner workings of the Shapes classes. Also covers the addition of the BoxShape type.
2429
2430         Refactoring, existing test is inspector-protocol/model/highlight-shape-outside.html.
2431
2432         * inspector/InspectorOverlay.cpp:
2433         (WebCore::appendPathCommandAndPoints): Points need to be translated from shape space
2434         to renderer space using ShapeInfo.
2435         (WebCore::buildObjectForShapeOutside): Add the ShapeOutsideInfo to the path info struct.
2436         * rendering/shapes/BoxShape.cpp:
2437         (WebCore::BoxShape::buildPath): Build the path for a BoxShape.
2438         * rendering/shapes/BoxShape.h:
2439         * rendering/shapes/PolygonShape.cpp:
2440         (WebCore::PolygonShape::buildPath): Build the path for a PolygonShape.
2441         * rendering/shapes/PolygonShape.h:
2442         * rendering/shapes/RasterShape.h:
2443         * rendering/shapes/RectangleShape.cpp:
2444         (WebCore::RectangleShape::buildPath): Build the path for a RectangleShape.
2445         * rendering/shapes/RectangleShape.h:
2446         * rendering/shapes/Shape.h:
2447
2448 2013-11-21  Mark Rowe  <mrowe@apple.com>
2449
2450         <https://webkit.org/b/124702> Stop overriding VALID_ARCHS.
2451
2452         All modern versions of Xcode set it appropriately for our needs.
2453
2454         Reviewed by Alexey Proskuryakov.
2455
2456         * Configurations/Base.xcconfig:
2457
2458 2013-11-21  Gwang Yoon Hwang  <ryumiel@company100.net>
2459
2460         [GTK] Unreviewed buildfix after r159614 and r159656.
2461
2462         * bindings/gobject/WebKitDOMCustom.cpp: Add missing header
2463
2464 2013-11-21  Laszlo Vidacs  <lac@inf.u-szeged.hu>
2465
2466         Fix WinCairo unreachable code warnings in SimpleLineLayout.cpp
2467         https://bugs.webkit.org/show_bug.cgi?id=124704
2468
2469         Reviewed by Antti Koivisto.
2470
2471         Fix unreachable code warnings using conditional directives.
2472
2473         * rendering/SimpleLineLayout.cpp:
2474         (WebCore::SimpleLineLayout::canUseFor):
2475
2476 2013-11-21  Mark Rowe  <mrowe@apple.com>
2477
2478         <https://webkit.org/b/124701> Fix an error in a few Xcode configuration setting files.
2479
2480         Reviewed by Alexey Proskuryakov.
2481
2482         * Configurations/Base.xcconfig:
2483
2484 2013-11-21  Mark Rowe  <mrowe@apple.com>
2485
2486         <https://webkit.org/b/124700> Fix some deprecation warnings.
2487
2488         Reviewed by Anders Carlsson.
2489
2490         * platform/mac/HTMLConverter.mm:
2491         (fileWrapperForURL): Move off a deprecated NSFileWrapper method.
2492
2493 2013-11-21  Daniel Bates  <dabates@apple.com>
2494
2495         [iOS] Build fix; export symbol for WebCore::provideDeviceOrientationTo()
2496
2497         Add the symbol __ZN7WebCore26provideDeviceOrientationToEPNS_4PageEPNS_23DeviceOrientationClientE.
2498
2499         * WebCore.exp.in:
2500
2501 2013-11-21  Daniel Bates  <dabates@apple.com>
2502
2503         Add !USE(NETWORK_CFDATA_ARRAY_CALLBACK)-guard
2504         https://bugs.webkit.org/show_bug.cgi?id=124741
2505
2506         Reviewed by Alexey Proskuryakov.
2507
2508         Add !USE(NETWORK_CFDATA_ARRAY_CALLBACK)-guard around code that is unused
2509         when building with feature NETWORK_CFDATA_ARRAY_CALLBACK.
2510
2511         Additionally, add a declaration for allocateSegment() with attribute WARN_UNUSED_RETURN
2512         to have the compiler warn when the return value of this function is unused. Together with
2513         warnings treated as errors this change will prevent a memory leak.
2514
2515         * platform/SharedBuffer.cpp:
2516
2517 2013-11-21  Daniel Bates  <dabates@apple.com>
2518
2519         Remove unused functions from WebCore and WebKit2
2520         https://bugs.webkit.org/show_bug.cgi?id=124739
2521
2522         Reviewed by Alexey Proskuryakov.
2523
2524         * editing/markup.cpp: Remove unused functions isHTMLBlockElement and
2525         ancestorToRetainStructureAndAppearanceWithNoRenderer.
2526         * rendering/InlineElementBox.cpp: Append newline to the end of the file.
2527
2528 2013-11-21  Daniel Bates  <dabates@apple.com>
2529
2530         Only generate isObservable() when IDL specifies GenerateIsReachable
2531         https://bugs.webkit.org/show_bug.cgi?id=124729
2532
2533         Reviewed by Geoffrey Garen.
2534
2535         We should only generate the static inline function isObservable() when the IDL
2536         specifies GenerateIsReachable. Otherwise, this function is unused.
2537
2538         Added a new test IDL TestGenerateIsReachable.idl and expected results to test that
2539         we generate isObservable() when an IDL specifies GenerateIsReachable. Additionally,
2540         rebased existing test results.
2541
2542         * bindings/scripts/CodeGeneratorJS.pm:
2543         (GenerateImplementation):
2544         * bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.cpp: Added.
2545         * bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.h: Added.
2546         * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachable.cpp: Added.
2547         * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachable.h: Added.
2548         * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachablePrivate.h: Added.
2549         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Removed unused function isObservable().
2550         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
2551         * bindings/scripts/test/JS/JSTestEventConstructor.cpp: Ditto.
2552         * bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.
2553         * bindings/scripts/test/JS/JSTestException.cpp: Ditto.
2554         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: Added.
2555         * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: Added.
2556         * bindings/scripts/test/JS/JSTestInterface.cpp: Removed unused function isObservable().
2557         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
2558         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
2559         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
2560         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: Ditto.
2561         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
2562         * bindings/scripts/test/JS/JSTestTypedefs.cpp: Ditto.
2563         * bindings/scripts/test/JS/JSattribute.cpp: Ditto.
2564         * bindings/scripts/test/JS/JSreadonly.cpp: Ditto.
2565         * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h: Added.
2566         * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.mm: Added.
2567         * bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h: Added.
2568         * bindings/scripts/test/TestGenerateIsReachable.idl: Added.
2569
2570 2013-11-21  Beth Dakin  <bdakin@apple.com>
2571
2572         Add a new mode to extend the tile cache beyond the page
2573         https://bugs.webkit.org/show_bug.cgi?id=124216
2574
2575         Reviewed by Simon Fraser.
2576
2577         This patch makes it possible to give the tile cache a margin of tiles. If there is 
2578         a margin of tiles, this patch paints those tiles with the background color. Note 
2579         that this patch does not actually give the tile cache a margin at this time.
2580
2581         You opt into a margined tiled cache by called setTileMargins() with number of 
2582         pixels that the margin on that side should be. 
2583         * platform/graphics/TiledBacking.h:
2584         * platform/graphics/ca/mac/TileController.h:
2585         * platform/graphics/ca/mac/TileController.mm:
2586         (WebCore::TileController::TileController):
2587         (WebCore::TileController::tilesWouldChangeForVisibleRect):
2588
2589         TileController::bounds() now computes the bounds INCLUDING the margin.
2590         (WebCore::TileController::bounds):
2591
2592         adjustRectAtTileIndexForMargin() is a new function that is required to get the 
2593         rect size for tiles in the margin right. rectForTileIndex() assumes all tiles 
2594         strive to be the size of m_tileSize, but now margin tiles will be whatever the 
2595         margin sizes were set to.
2596         (WebCore::TileController::adjustRectAtTileIndexForMargin):
2597         (WebCore::TileController::rectForTileIndex):
2598
2599         This is another instance where m_tileSize is not always the right size to use.
2600         (WebCore::TileController::getTileIndexRangeForRect):
2601
2602         The tile coverage rect now might include the margin tiles. Only include them in 
2603         slow-scrolling mode if the current position is within one tile of the edge.
2604         (WebCore::TileController::computeTileCoverageRect):
2605
2606         tileSizeForCoverageRect() does not make sense in a world where the coverage rect 
2607         will include margin. Instead, this patch implements the current strategy more 
2608         explicitly by returning the visibleRect in the slow scrolling case, and in the 
2609         process this patch also re-names tileSizeForCoverageRect() to computeTileSize() 
2610         since it no longer takes a coverageRect.
2611         (WebCore::TileController::computeTileSize):
2612         (WebCore::TileController::revalidateTiles):
2613
2614         New setters and getters for the tile margins on each side.
2615         (WebCore::TileController::setTileMargins):
2616         (WebCore::TileController::hasMargins):
2617         (WebCore::TileController::topMarginHeight):
2618         (WebCore::TileController::bottomMarginHeight):
2619         (WebCore::TileController::leftMarginWidth):
2620         (WebCore::TileController::rightMarginWidth):
2621
2622         New function to add margin onto the composited bounds if there is one.
2623         * rendering/RenderLayerBacking.cpp:
2624         (WebCore::RenderLayerBacking::tiledBackingHasMargin):
2625         (WebCore::RenderLayerBacking::paintContents):
2626         (WebCore::RenderLayerBacking::compositedBoundsIncludingMargin):
2627         * rendering/RenderLayerBacking.h:
2628
2629         Do not set masks to bounds if there is a margin on the root layer.
2630         * rendering/RenderLayerCompositor.cpp:
2631         (WebCore::RenderLayerCompositor::updateBacking):
2632         (WebCore::RenderLayerCompositor::mainFrameBackingIsTiledWithMargin):
2633         * rendering/RenderLayerCompositor.h:
2634
2635         Allow background color to paint into the margin tiles.
2636         * rendering/RenderView.cpp:
2637         (WebCore::RenderView::paintBoxDecorations):
2638
2639 2013-11-21  Alexey Proskuryakov  <ap@apple.com>
2640
2641         Implement WebCrypto wrapKey
2642         https://bugs.webkit.org/show_bug.cgi?id=124738
2643
2644         Reviewed by Anders Carlsson.
2645
2646         Tests: crypto/subtle/aes-cbc-wrap-rsa-non-extractable.html
2647                crypto/subtle/aes-cbc-wrap-rsa.html
2648
2649         * bindings/js/JSSubtleCryptoCustom.cpp:
2650         (WebCore::exportKey): Factored out the actual operation that can be chained with
2651         encryption for wrapKey.
2652         (WebCore::JSSubtleCrypto::exportKey):
2653         (WebCore::JSSubtleCrypto::wrapKey):
2654         (WebCore::JSSubtleCrypto::unwrapKey): Fixed a memory leak in failure code path.
2655
2656         * crypto/SubtleCrypto.idl: Added wrapKey.
2657
2658 2013-11-21  Alexey Proskuryakov  <ap@apple.com>
2659
2660         Implement WebCrypto unwrapKey
2661         https://bugs.webkit.org/show_bug.cgi?id=124725
2662
2663         Reviewed by Anders Carlsson.
2664
2665         Tests: crypto/subtle/aes-cbc-unwrap-failure.html
2666                crypto/subtle/aes-cbc-unwrap-rsa.html
2667
2668         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
2669         * bindings/js/JSCryptoAlgorithmDictionary.h:
2670         Removed calls for wrap/unwrap parameter parsing, these are just the same as encrypt/decrypt.
2671
2672         * bindings/js/JSCryptoOperationData.cpp:
2673         (WebCore::cryptoOperationDataFromJSValue):
2674         * bindings/js/JSCryptoOperationData.h:
2675         * crypto/CryptoKeySerialization.h:
2676         More Vector<char> elimination.
2677
2678         * bindings/js/JSDOMPromise.cpp:
2679         * bindings/js/JSDOMPromise.h:
2680         Removed unneccessary copy constructor and assignment operator, they are no diffdrent
2681         than compiler generated ones.
2682
2683         * bindings/js/JSSubtleCryptoCustom.cpp:
2684         (WebCore::cryptoKeyUsagesFromJSValue): Minor style fixes.
2685         (WebCore::JSSubtleCrypto::encrypt): Ditto.
2686         (WebCore::JSSubtleCrypto::decrypt): Ditto.
2687         (WebCore::JSSubtleCrypto::sign): Ditto.
2688         (WebCore::JSSubtleCrypto::verify): Ditto.
2689         (WebCore::JSSubtleCrypto::generateKey): Ditto.
2690         (WebCore::importKey): Separated actual import operation and the parts that read
2691         arguments from ExecState, and call the promise. Logically, this should be outside
2692         of bindings code even, but JWK makes that quite challenging.
2693         (WebCore::JSSubtleCrypto::importKey): This only does the more mundane arguments
2694         and return parts now.
2695         (WebCore::JSSubtleCrypto::exportKey): Minor style fixes.
2696         (WebCore::JSSubtleCrypto::unwrapKey): Chain decrypt and import.
2697
2698         * crypto/CryptoAlgorithm.cpp:
2699         (WebCore::CryptoAlgorithm::encryptForWrapKey):
2700         (WebCore::CryptoAlgorithm::decryptForUnwrapKey):
2701         * crypto/CryptoAlgorithm.h:
2702         There are algorithms that expose wrap/unwrap, but not encrypt/decrypt. These will
2703         override these new functions, and leave encrypt/decrypt to raise NOT_SUPPORTED_ERR.
2704
2705         * crypto/SubtleCrypto.idl: Added unwrapKey.
2706
2707 2013-11-21  Robert Sipka  <sipka@inf.u-szeged.hu>
2708
2709         [curl]Improve ssl certificate storage and check
2710         https://bugs.webkit.org/show_bug.cgi?id=124569
2711
2712         Reviewed by Brent Fulgham.
2713
2714         Storage and check the whole certificate chain, not just the root certificate.
2715
2716         * platform/network/curl/SSLHandle.cpp:
2717         (WebCore::allowsAnyHTTPSCertificateHosts):
2718         (WebCore::sslIgnoreHTTPSCertificate):
2719         (WebCore::pemData):
2720         (WebCore::certVerifyCallback):
2721
2722 2013-11-21  Mihai Maerean  <mmaerean@adobe.com>
2723
2724         Fix hover area for divs with css transforms
2725         https://bugs.webkit.org/show_bug.cgi?id=124647
2726
2727         Reviewed by Allan Sandfeld Jensen.
2728
2729         Non transformed layers are now being hit last, not through or in-between transformed layers.
2730         The paint order says that the divs creating stacking contexts (including transforms) are painted after the
2731         other siblings so they should be hit tested in the reverse order. Also, a rotated div in a non-rotated parent
2732         should be hit in its entire area, not hit its parent's background, even if the z-coordinate is negative where
2733         the mouse is located.
2734
2735         Test: transforms/3d/hit-testing/hover-rotated-negative-z.html
2736
2737         * rendering/RenderLayer.cpp:
2738         (WebCore::computeZOffset):
2739
2740 2013-11-21  Andres Gomez  <agomez@igalia.com>
2741
2742         [GTK] Release compilation fails when defining "LOG_DISABLED=0"
2743         https://bugs.webkit.org/show_bug.cgi?id=124661
2744
2745         Reviewed by Mario Sanchez Prada.
2746
2747         In a "Debug" build the CString.h header comes from another
2748         indirect dependency. Now, we explicitly add this missing include.
2749
2750         * html/HTMLTrackElement.cpp: Explicitly adding missing include.
2751
2752 2013-11-21  Ryosuke Niwa  <rniwa@webkit.org>
2753
2754         Fix Range.insertNode when the inserted node is in the same container as the Range
2755         https://bugs.webkit.org/show_bug.cgi?id=123957
2756
2757         Reviewed by Antti Koivisto.
2758
2759         Inspired by https://chromium.googlesource.com/chromium/blink/+/fb6ca1f488703e8d4f20ce6449cc8ea210be6edb
2760
2761         When a node from the same container is inserted, we can't simply adjust m_end with the offset.
2762         Compute m_start and m_end from the inserted nodes instead.
2763
2764         Also, don't adjust m_start and m_end to nodes outside of the document if the inserted nodes had been
2765         removed by mutation events.
2766
2767         Test: fast/dom/Range/range-insertNode-same-container.html
2768
2769         * dom/Range.cpp:
2770         (WebCore::Range::insertNode):
2771
2772 2013-11-21  Ryosuke Niwa  <rniwa@webkit.org>
2773
2774         nextBoundary and previousBoundary are very slow when there is a password field
2775         https://bugs.webkit.org/show_bug.cgi?id=123973
2776
2777         Reviewed by Antti Koivisto.
2778
2779         Merge https://chromium.googlesource.com/chromium/blink/+/57366eec5e3edea54062d4e74c0e047f8681dbad
2780
2781         When iterating through DOM nodes nextBoundary and previousBoundary convert the contents of nodes using
2782         text security to a sequence of 'x' characters. The SimplifiedBackwardsTextIterator and TextIterator
2783         may iterate past node boundaries. Before this patch, the transformation was done looking at the starting
2784         node rather than the current node. In some situations, this replaced all boundaries with 'x' and caused
2785         the text iterator to continue iterating and transforming until the extent of the document.
2786
2787         Test: editing/deleting/password-delete-performance.html
2788
2789         * editing/TextIterator.h:
2790         (WebCore::SimplifiedBackwardsTextIterator::node):
2791         * editing/VisibleUnits.cpp:
2792         (WebCore::previousBoundary):
2793         (WebCore::nextBoundary):
2794
2795 2013-11-21  Ryosuke Niwa  <rniwa@webkit.org>
2796
2797         HTML parser should not associate elements inside templates with forms
2798         https://bugs.webkit.org/show_bug.cgi?id=117779
2799
2800         Reviewed by Antti Koivisto.
2801
2802         Merge https://chromium.googlesource.com/chromium/blink/+/45aadf7ee7ee010327eb692066cf013315ef3ed7
2803
2804         When parsing <form><template><input>, the previous behavior was to associate the <input> with the <form>,
2805         even though they're not in the same tree (or even the same document).
2806
2807         This patch changes that by checking, prior to creating a form control element, whether the element to be
2808         created lives in a document with a browsing context.
2809
2810         We don't update m_form as needed to faithfully match the HTML5 specification's form element pointer
2811         http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#form-element-pointer
2812         and its algorithm for creating and inserting nodes:
2813         http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#creating-and-inserting-nodes
2814
2815         While this leaves isindex's reference to form element pointer stale:
2816         http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#isindex
2817         The HTML5 specification matches the behaviors of Chrome and Firefox so we leave it as is.
2818
2819         Test: fast/dom/HTMLTemplateElement/no-form-association.html
2820
2821         * html/parser/HTMLConstructionSite.cpp:
2822         (WebCore::HTMLConstructionSite::createHTMLElement):
2823
2824 2013-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2825
2826         [GTK] Cannot scroll in option menu when it larger than the screen
2827         https://bugs.webkit.org/show_bug.cgi?id=124671
2828
2829         Reviewed by Martin Robinson.
2830
2831         The problem is that the popup menu is not resized to fit in the
2832         screen, so it doesn't scroll and some of the items are offscreen
2833         so they can't be selected either. GTK+ automatically resizes the
2834         popup menus to fit in the work area, but only when the menu is
2835         already positioned.
2836
2837         * platform/gtk/GtkPopupMenu.cpp:
2838         (WebCore::GtkPopupMenu::popUp): Schedule a resize of the popup
2839         menu right after showing it once it has a position.
2840
2841 2013-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2842
2843         [GTK] Mark all deprecated symbols in GObject DOM bindings
2844         https://bugs.webkit.org/show_bug.cgi?id=124406
2845
2846         Reviewed by Gustavo Noronha Silva.
2847
2848         Move deprecated API from WebKitDOMCustom to a new file
2849         WebKitDOMDeprecated leaving in WebKitDOMCustom only the
2850         non-deprecated API that is not autogenerated. Also added the
2851         deprecation decorations and tags in the documentation.
2852
2853         * bindings/gobject/GNUmakefile.am:
2854         * bindings/gobject/WebKitDOMCustom.cpp:
2855         * bindings/gobject/WebKitDOMCustom.h:
2856         * bindings/gobject/WebKitDOMCustom.symbols:
2857         * bindings/gobject/WebKitDOMDeprecated.cpp: Copied from Source/WebCore/bindings/gobject/WebKitDOMCustom.cpp.
2858         (webkit_dom_blob_webkit_slice):
2859         (webkit_dom_html_element_get_id):
2860         (webkit_dom_html_element_set_id):
2861         (webkit_dom_html_element_get_class_name):
2862         (webkit_dom_html_element_set_class_name):
2863         (webkit_dom_html_element_get_class_list):
2864         (webkit_dom_html_form_element_dispatch_form_change):
2865         (webkit_dom_html_form_element_dispatch_form_input):
2866         (webkit_dom_webkit_named_flow_get_overflow):
2867         (webkit_dom_element_get_webkit_region_overflow):
2868         (webkit_dom_webkit_named_flow_get_content_nodes):
2869         (webkit_dom_webkit_named_flow_get_regions_by_content_node):
2870         (webkit_dom_bar_info_get_property):
2871         (webkit_dom_bar_info_class_init):
2872         (webkit_dom_bar_info_init):
2873         (webkit_dom_bar_info_get_visible):
2874         (webkit_dom_console_get_memory):
2875         (webkit_dom_css_style_declaration_get_property_css_value):
2876         (webkit_dom_document_get_webkit_hidden):
2877         (webkit_dom_document_get_webkit_visibility_state):
2878         (webkit_dom_html_document_open):
2879         (webkit_dom_html_element_set_item_id):
2880         (webkit_dom_html_element_get_item_id):
2881         (webkit_dom_html_element_get_item_ref):
2882         (webkit_dom_html_element_get_item_prop):
2883         (webkit_dom_html_element_set_item_scope):
2884         (webkit_dom_html_element_get_item_scope):
2885         (webkit_dom_html_element_get_item_type):
2886         (webkit_dom_html_style_element_set_scoped):
2887         (webkit_dom_html_style_element_get_scoped):
2888         (webkit_dom_html_properties_collection_get_property):
2889         (webkit_dom_html_properties_collection_class_init):
2890         (webkit_dom_html_properties_collection_init):
2891         (webkit_dom_html_properties_collection_item):
2892         (webkit_dom_html_properties_collection_named_item):
2893         (webkit_dom_html_properties_collection_get_length):
2894         (webkit_dom_html_properties_collection_get_names):
2895         (webkit_dom_node_get_attributes):
2896         (webkit_dom_node_has_attributes):
2897         (webkit_dom_memory_info_get_property):
2898         (webkit_dom_memory_info_class_init):
2899         (webkit_dom_memory_info_init):
2900         (webkit_dom_memory_info_get_total_js_heap_size):
2901         (webkit_dom_memory_info_get_used_js_heap_size):
2902         (webkit_dom_memory_info_get_js_heap_size_limit):
2903         (webkit_dom_micro_data_item_value_class_init):
2904         (webkit_dom_micro_data_item_value_init):
2905         (webkit_dom_performance_get_memory):
2906         (webkit_dom_property_node_list_get_property):
2907         (webkit_dom_property_node_list_class_init):
2908         (webkit_dom_property_node_list_init):
2909         (webkit_dom_property_node_list_item):
2910         (webkit_dom_property_node_list_get_length):
2911         (webkit_dom_html_media_element_get_start_time):
2912         (webkit_dom_html_media_element_get_initial_time):
2913         (webkit_dom_html_head_element_get_profile):
2914         (webkit_dom_html_head_element_set_profile):
2915         (webkit_dom_processing_instruction_get_data):
2916         (webkit_dom_processing_instruction_set_data):
2917         * bindings/gobject/WebKitDOMDeprecated.h: Copied from Source/WebCore/bindings/gobject/WebKitDOMCustom.h.
2918         * bindings/gobject/WebKitDOMDeprecated.symbols: Copied from Source/WebCore/bindings/gobject/WebKitDOMCustom.symbols.
2919         * bindings/scripts/CodeGeneratorGObject.pm:
2920         (GenerateFunction): Do not include deprecation guards in the cpp file.
2921         * bindings/scripts/gobject-generate-headers.pl: Do not create
2922         fordward declarations for non-existent classes like Custom and
2923         Deprecated.
2924         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
2925         (webkit_dom_test_event_target_dispatch_event):
2926
2927 2013-11-20  Jae Hyun Park  <jae.park@company100.net>
2928
2929         [CoordinatedGraphics] Use std::unique_ptrs rather than OwnPtrs
2930         https://bugs.webkit.org/show_bug.cgi?id=124692
2931
2932         Reviewed by Noam Rosenthal.
2933
2934         No new tests, covered by existing ones.
2935
2936         * platform/graphics/TiledBackingStore.cpp:
2937         (WebCore::TiledBackingStore::TiledBackingStore):
2938         * platform/graphics/TiledBackingStore.h:
2939         * platform/graphics/TiledBackingStoreBackend.h:
2940         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2941         (WebCore::CoordinatedGraphicsLayer::createBackingStore):
2942         * platform/graphics/texmap/coordinated/CoordinatedTile.h:
2943
2944 2013-11-20  Brady Eidson  <beidson@apple.com>
2945
2946         Add more infrastructure for ServerConnection communication between Web and Database processes
2947         https://bugs.webkit.org/show_bug.cgi?id=124693
2948
2949         Reviewed by Anders Carlsson.
2950
2951         * WebCore.exp.in:
2952
2953 2013-11-20  Ryosuke Niwa  <rniwa@webkit.org>
2954
2955         Hoist <template> to head when found between </head> and <body> for consistency with <script>
2956         https://bugs.webkit.org/show_bug.cgi?id=123949
2957
2958         Reviewed by Antti Koivisto.
2959
2960         Merge https://chromium.googlesource.com/chromium/blink/+/835fb468fd211054a920fb7612a6dc5043662495
2961
2962         Move template elements between head and body elements into the head to be consistent with script elements.
2963         The HTML5 specification was changed in http://html5.org/tools/web-apps-tracker?from=8217&to=8218.
2964
2965         Inline comments below are cited from https://www.w3.org/Bugs/Public/show_bug.cgi?id=23002
2966         and https://codereview.chromium.org/25900003 for clarity.
2967
2968         * html/parser/HTMLTreeBuilder.cpp:
2969         (WebCore::HTMLTreeBuilder::processStartTag): Add the template element to the list of elements to be hoisted into
2970         the head element.
2971         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
2972
2973         Replace the assertion that isParsingFragment is true when item->node() == m_tree.openElements()->rootNode() since,
2974         with this change, we can now invoke resetInsertionMode when parsing a normal document (not fragment) and there is
2975         only the html element on the stack of open elements.
2976
2977         For the second change, consider: <head></head><template>
2978
2979         This example breaks in the old HTML parser because the template element is handled by "after head" state which
2980         pushes the head element back on, processes the template element for "in head", then pops the head element off.
2981         EOF is reached, which processes a fake close tag for the template element, which pops the template element off
2982         and resets the insertion mode appropriately
2983
2984         The problem here is that "reset the insertion mode" is going to inspect the bottom-most element on the stack which
2985         is now the html element and it will set the mode to "before head". Nothing good happens after this.
2986
2987         We fix this problem by having the reset algorithm check if the head element pointer is set, and if so, go to after
2988         head instead of before head.
2989
2990 2013-11-20  Radu Stavila  <stavila@adobe.com>
2991
2992         [CSS Regions] Implement visual overflow for first & last regions
2993         https://bugs.webkit.org/show_bug.cgi?id=118665
2994
2995         In order to properly propagate the visual overflow of elements flowed inside regions, 
2996         the responsiblity of painting and hit-testing content inside flow threads has been
2997         moved to the flow thread layer's level.
2998         Each region keeps the associated overflow with each box in the RenderBoxRegionInfo
2999         structure, including one for the flow thread itself. This data is used during
3000         painting and hit-testing.
3001
3002         Reviewed by David Hyatt.
3003
3004         Tests: fast/regions/overflow-first-and-last-regions-in-container-hidden.html
3005                fast/regions/overflow-first-and-last-regions.html
3006                fast/regions/overflow-nested-regions.html
3007                fast/regions/overflow-region-float.html
3008                fast/regions/overflow-region-inline.html
3009                fast/regions/overflow-region-transform.html
3010
3011         * rendering/InlineFlowBox.cpp:
3012         (WebCore::InlineFlowBox::setLayoutOverflow):
3013         (WebCore::InlineFlowBox::setVisualOverflow):
3014         * rendering/InlineFlowBox.h:
3015         * rendering/RenderBlock.cpp:
3016         (WebCore::RenderBlock::addOverflowFromChildren):
3017         (WebCore::RenderBlock::paint):
3018         (WebCore::RenderBlock::paintObject):
3019         (WebCore::RenderBlock::estimateRegionRangeForBoxChild):
3020         (WebCore::RenderBlock::updateRegionRangeForBoxChild):
3021         * rendering/RenderBlockFlow.cpp:
3022         (WebCore::RenderBlockFlow::hasNextPage):
3023         (WebCore::RenderBlockFlow::relayoutForPagination):
3024         * rendering/RenderBlockLineLayout.cpp:
3025         (WebCore::RenderBlockFlow::positionNewFloatOnLine):
3026         * rendering/RenderBox.cpp:
3027         (WebCore::RenderBox::borderBoxRectInRegion):
3028         (WebCore::RenderBox::computeRectForRepaint):
3029         (WebCore::RenderBox::addLayoutOverflow):
3030         (WebCore::RenderBox::addVisualOverflow):
3031         (WebCore::RenderBox::isUnsplittableForPagination):
3032         (WebCore::RenderBox::overflowRectForPaintRejection):
3033         * rendering/RenderBox.h:
3034         (WebCore::RenderBox::canHaveOutsideRegionRange):
3035         * rendering/RenderBoxModelObject.cpp:
3036         (WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
3037         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3038         * rendering/RenderBoxModelObject.h:
3039         * rendering/RenderBoxRegionInfo.h:
3040         (WebCore::RenderBoxRegionInfo::createOverflow):
3041         * rendering/RenderFlowThread.cpp:
3042         (WebCore::RenderFlowThread::objectShouldPaintInFlowRegion):
3043         (WebCore::RenderFlowThread::mapFromLocalToFlowThread):
3044         (WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
3045         (WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
3046         (WebCore::RenderFlowThread::flipForWritingModeLocalCoordinates):
3047         (WebCore::RenderFlowThread::addRegionsOverflowFromChild):
3048         (WebCore::RenderFlowThread::addRegionsVisualOverflow):
3049         (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
3050         * rendering/RenderFlowThread.h:
3051         * rendering/RenderLayer.cpp:
3052         (WebCore::RenderLayer::updateLayerPositions):
3053         (WebCore::expandClipRectForRegionAndReflection):
3054         (WebCore::expandClipRectForDescendantsAndReflection):
3055         (WebCore::RenderLayer::paintLayer):
3056         (WebCore::RenderLayer::paintLayerContents):
3057         (WebCore::RenderLayer::updatePaintingInfoForFragments):
3058         (WebCore::RenderLayer::paintForegroundForFragments):
3059         (WebCore::RenderLayer::hitTest):
3060         (WebCore::RenderLayer::hitTestLayer):
3061         (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
3062         (WebCore::RenderLayer::calculateClipRects):
3063         (WebCore::RenderLayer::parentClipRects):
3064         (WebCore::RenderLayer::calculateRects):
3065         (WebCore::RenderLayer::intersectsDamageRect):
3066         (WebCore::RenderLayer::updateDescendantsLayerListsIfNeeded):
3067         (WebCore::RenderLayer::repaintIncludingDescendants):
3068         (WebCore::RenderLayer::paintNamedFlowThreadInsideRegion):
3069         (WebCore::RenderLayer::paintFlowThreadIfRegion):
3070         (WebCore::RenderLayer::hitTestFlowThreadIfRegion):
3071         * rendering/RenderLayer.h:
3072         (WebCore::ClipRect::inflateX):
3073         (WebCore::ClipRect::inflateY):
3074         (WebCore::ClipRect::inflate):
3075         * rendering/RenderLayerCompositor.cpp:
3076         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
3077         * rendering/RenderListItem.cpp:
3078         (WebCore::RenderListItem::addOverflowFromChildren):
3079         * rendering/RenderMultiColumnSet.cpp:
3080         (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
3081         (WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
3082         * rendering/RenderMultiColumnSet.h:
3083         * rendering/RenderNamedFlowFragment.cpp:
3084         (WebCore::RenderNamedFlowFragment::createStyle):
3085         (WebCore::RenderNamedFlowFragment::namedFlowThread):
3086         * rendering/RenderNamedFlowFragment.h:
3087         * rendering/RenderOverflow.h:
3088         * rendering/RenderRegion.cpp:
3089         (WebCore::RenderRegion::flowThreadPortionOverflowRect):
3090         (WebCore::RenderRegion::flowThreadPortionLocation):
3091         (WebCore::RenderRegion::regionContainerLayer):
3092         (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
3093         (WebCore::RenderRegion::computeOverflowFromFlowThread):
3094         (WebCore::RenderRegion::repaintFlowThreadContent):
3095         (WebCore::RenderRegion::repaintFlowThreadContentRectangle):
3096         (WebCore::RenderRegion::insertedIntoTree):
3097         (WebCore::RenderRegion::ensureOverflowForBox):
3098         (WebCore::RenderRegion::rectFlowPortionForBox):
3099         (WebCore::RenderRegion::addLayoutOverflowForBox):
3100         (WebCore::RenderRegion::addVisualOverflowForBox):
3101         (WebCore::RenderRegion::layoutOverflowRectForBox):
3102         (WebCore::RenderRegion::visualOverflowRectForBox):
3103         (WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):
3104         * rendering/RenderRegion.h:
3105         * rendering/RenderReplaced.cpp:
3106         (WebCore::RenderReplaced::shouldPaint):
3107         * rendering/RootInlineBox.cpp:
3108         (WebCore::RootInlineBox::paint):
3109
3110 2013-11-20  Ryosuke Niwa  <rniwa@webkit.org>
3111
3112         [HTML parser] reset insertion mode appropriate must check for "in select in table" mode
3113         https://bugs.webkit.org/show_bug.cgi?id=123850
3114
3115         Reviewed by Antti Koivisto.
3116
3117         Merge https://chromium.googlesource.com/chromium/blink/+/2cb7523df57dfb48111f6aa16b7138cd54024ba7
3118
3119         The HTML specification has been updated to detect encountering a template element inside of a select element,
3120         which in turn is inside of a table element. In this case, the select element will cause the parser to be in
3121         "InSelectInTable" mode. Thus when the template element closes, it should return to that mode.
3122
3123         The fix here is that resetInsertionModeAppropriately must continue looking up the stack if the first node is
3124         select element to see whether the select element is inside of a table element.
3125
3126         See also: http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#reset-the-insertion-mode-appropriately
3127
3128         Test: html5lib/resources/template.dat
3129
3130         * html/parser/HTMLTreeBuilder.cpp:
3131         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
3132
3133 2013-11-20  Mark Lam  <mark.lam@apple.com>
3134
3135         Build fix for last commit.
3136         https://bugs.webkit.org/show_bug.cgi?id=124634.
3137
3138         Not reviewed.
3139
3140         No new tests.
3141
3142         * bindings/js/JSCryptoAlgorithmBuilder.cpp:
3143
3144 2013-11-20  Mark Lam  <mark.lam@apple.com>
3145
3146         Introducing VMEntryScope to update the VM stack limit.
3147         https://bugs.webkit.org/show_bug.cgi?id=124634.
3148
3149         Reviewed by Geoffrey Garen.
3150
3151         No new tests.
3152
3153         Renamed dynamicGlobalObject() to vmEntryGlobalObject().
3154         Replaced uses of DynamicGlobalObjectScope with VMEntryScope.
3155
3156         * ForwardingHeaders/runtime/VMEntryScope.h: Added.
3157         * WebCore.vcxproj/WebCore.vcxproj:
3158         * WebCore.vcxproj/WebCore.vcxproj.filters:
3159         * bindings/js/JSCryptoAlgorithmBuilder.cpp:
3160         (WebCore::JSCryptoAlgorithmBuilder::add):
3161         * bindings/js/JSCustomXPathNSResolver.cpp:
3162         (WebCore::JSCustomXPathNSResolver::create):
3163         * bindings/js/JSDOMBinding.cpp:
3164         (WebCore::firstDOMWindow):
3165         * bindings/js/JSErrorHandler.cpp:
3166         (WebCore::JSErrorHandler::handleEvent):
3167         * bindings/js/JSEventListener.cpp:
3168         (WebCore::JSEventListener::handleEvent):
3169         * bindings/js/JavaScriptCallFrame.h:
3170         (WebCore::JavaScriptCallFrame::vmEntryGlobalObject):
3171         * bindings/js/PageScriptDebugServer.cpp:
3172         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
3173         * bindings/js/ScriptDebugServer.cpp:
3174         (WebCore::ScriptDebugServer::evaluateBreakpointAction):
3175         (WebCore::ScriptDebugServer::handlePause):
3176         * bindings/js/WorkerScriptDebugServer.cpp:
3177         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
3178         * bindings/objc/WebScriptObject.mm:
3179         (WebCore::addExceptionToConsole):
3180         * bridge/c/c_utility.cpp:
3181         (JSC::Bindings::convertValueToNPVariant):
3182         * bridge/objc/objc_instance.mm:
3183         (ObjcInstance::moveGlobalExceptionToExecState):
3184         * bridge/objc/objc_runtime.mm:
3185         (JSC::Bindings::convertValueToObjcObject):
3186         * bridge/objc/objc_utility.mm:
3187         (JSC::Bindings::convertValueToObjcValue):
3188
3189 2013-11-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3190
3191         Generate toHTMLFooElement() to clean up static_cast<>
3192         https://bugs.webkit.org/show_bug.cgi?id=124571
3193
3194         Reviewed by Ryosuke Niwa.
3195
3196         Though there are a lot of clean up commits before, there are still
3197         use of static_cast<HTMLFooElement*>. To clean up them, we need to generate
3198         toHTMLDetails|Meta|Summary|TableCaptionElement().
3199
3200         Additionally, other static_cast<> are removed as well.
3201
3202         No new tests, no behavior changes.
3203
3204         * html/HTMLDetailsElement.h:
3205         * html/HTMLMediaElement.cpp:
3206         (HTMLMediaElement::selectNextSourceChild):
3207         * html/HTMLMetaElement.h:
3208         * html/HTMLObjectElement.cpp:
3209         (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):
3210         * html/HTMLOptionElement.cpp:
3211         (WebCore::HTMLOptionElement::isDisabledFormControl):
3212         * html/HTMLPlugInImageElement.cpp:
3213         (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
3214         * html/HTMLSummaryElement.cpp:
3215         (WebCore::HTMLSummaryElement::detailsElement):
3216         * html/HTMLSummaryElement.h:
3217         * html/HTMLTableCaptionElement.h:
3218         * html/HTMLTableElement.cpp:
3219         (WebCore::HTMLTableElement::caption):
3220         * html/HTMLTagNames.in:
3221         * html/MediaDocument.cpp:
3222         (WebCore::MediaDocumentParser::createDocumentStructure):
3223         * html/shadow/DetailsMarkerControl.cpp:
3224         (WebCore::DetailsMarkerControl::summaryElement):
3225         * loader/FrameLoader.cpp:
3226         (WebCore::FrameLoader::handleFallbackContent):
3227         * loader/ImageLoader.cpp:
3228         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
3229         * page/DragController.cpp:
3230         (WebCore::DragController::canProcessDrag):
3231         * page/Frame.cpp:
3232         (WebCore::Frame::searchForLabelsBeforeElement):
3233         * page/SpatialNavigation.cpp:
3234         (WebCore::frameOwnerElement):
3235
3236 2013-11-20  Ryosuke Niwa  <rniwa@webkit.org>
3237
3238         Clear TemplateContentDocumentFragment::m_host when HTMLTemplateElement is destroyed
3239         https://bugs.webkit.org/show_bug.cgi?id=122806
3240
3241         Reviewed by Antti Koivisto.
3242
3243         Merge https://chromium.googlesource.com/chromium/blink/+/858ed5f6341de9d900768c1f4668fcfce870c52e
3244
3245         The document fragment of a template element outlives the element itself.
3246         Clear the host property on the document fragment when that happens.
3247
3248         Test: fast/dom/HTMLTemplateElement/content-outlives-template-crash.html
3249
3250         * dom/TemplateContentDocumentFragment.h:
3251         * html/HTMLTemplateElement.cpp:
3252         (WebCore::HTMLTemplateElement::~HTMLTemplateElement):
3253         * html/HTMLTemplateElement.h:
3254
3255 2013-11-20  Chris Fleizach  <cfleizach@apple.com>
3256
3257         AX: Implement CSS -webkit-alt property (text alternative for generated content pseudo-elements ::before and ::after)
3258         https://bugs.webkit.org/show_bug.cgi?id=120188
3259
3260         Reviewed by Dean Jackson.
3261
3262         Add a -webkit-alt CSS property that can be used to label Image content or Text content for accessibility clients.
3263
3264         To accomplish this, it sets the string in the RenderStyle. Then when the ContentData creates an anonymous renderer,
3265         it sets that string on the TextFragment or RenderImage, which can be queried by accessibility code.
3266
3267         Test: platform/mac/accessibility/webkit-alt-for-css-content.html
3268
3269         * accessibility/AccessibilityNodeObject.cpp:
3270         (WebCore::AccessibilityNodeObject::alternativeText):
3271         * accessibility/AccessibilityRenderObject.cpp:
3272         (WebCore::AccessibilityRenderObject::textUnderElement):
3273         (WebCore::objectInclusionFromAltText):
3274         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
3275         * css/CSSComputedStyleDeclaration.cpp:
3276         (WebCore::altTextToCSSValue):
3277         (WebCore::ComputedStyleExtractor::propertyValue):
3278         * css/CSSParser.cpp:
3279         (WebCore::CSSParser::parseValue):
3280         (WebCore::CSSParser::parseAlt):
3281         * css/CSSParser.h:
3282         * css/CSSPropertyNames.in:
3283         * css/StyleResolver.cpp:
3284         (WebCore::StyleResolver::applyProperty):
3285         * rendering/RenderImage.h:
3286         (WebCore::RenderImage::altText):
3287         (WebCore::RenderImage::setAltText):
3288         * rendering/RenderTextFragment.h:
3289         * rendering/style/ContentData.cpp:
3290         (WebCore::ImageContentData::createRenderer):
3291         (WebCore::TextContentData::createRenderer):
3292         * rendering/style/ContentData.h:
3293         (WebCore::ContentData::setAltText):
3294         (WebCore::ContentData::altText):
3295         * rendering/style/RenderStyle.cpp:
3296         (WebCore::RenderStyle::setContent):
3297         (WebCore::RenderStyle::setContentAltText):
3298         (WebCore::RenderStyle::contentAltText):
3299         * rendering/style/RenderStyle.h:
3300         * rendering/style/StyleRareNonInheritedData.h:
3301
3302 2013-11-20  Roger Fong  <roger_fong@apple.com>
3303
3304         Use compile flag SH_UNFOLD_SHORT_CIRCUIT when compiling shaders.
3305         https://bugs.webkit.org/show_bug.cgi?id=124684.
3306
3307         Reviewed by Brent Fulgham.
3308
3309         Existing test webgl/1.0.2/conformance/glsl/misc/shader-with-short-circuiting-operators.html
3310
3311         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
3312         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
3313
3314 2013-11-20  Robert Sipka  <sipka@inf.u-szeged.hu>
3315
3316         [curl] Improve detecting and handling of SSL related errors
3317         https://bugs.webkit.org/show_bug.cgi?id=119436
3318
3319         Reviewed by Brent Fulgham.
3320
3321         Set the exact SSL verification error on CURL
3322         and store the enabled domain with certificate.
3323
3324         * WebCore.vcxproj/WebCore.vcxproj:
3325         * WebCore.vcxproj/WebCore.vcxproj.filters:
3326         * platform/network/ResourceHandle.h:
3327         * platform/network/ResourceHandleInternal.h:
3328         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3329         * platform/network/curl/ResourceError.h:
3330         (WebCore::ResourceError::ResourceError):
3331         (WebCore::ResourceError::sslErrors):
3332         (WebCore::ResourceError::setSSLErrors):
3333         * platform/network/curl/ResourceHandleCurl.cpp:
3334         (WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate):
3335         * platform/network/curl/ResourceHandleManager.cpp:
3336         (WebCore::ResourceHandleManager::downloadTimerCallback):
3337         (WebCore::ResourceHandleManager::initializeHandle):
3338         * platform/network/curl/SSLHandle.cpp: Added.
3339         (WebCore::allowsAnyHTTPSCertificateHosts):
3340         (WebCore::sslIgnoreHTTPSCertificate):
3341         (WebCore::sslCertificateFlag):
3342         (WebCore::pemData):
3343         (WebCore::certVerifyCallback):
3344         (WebCore::sslctxfun):
3345         (WebCore::setSSLVerifyOptions):
3346         * platform/network/curl/SSLHandle.h: Added.
3347
3348 2013-11-20  Bem Jones-Bey  <bjonesbe@adobe.com>
3349
3350         [css shapes] Parse new circle shape syntax
3351         https://bugs.webkit.org/show_bug.cgi?id=124618
3352
3353         Reviewed by Antti Koivisto.
3354
3355         Implement parsing of the new cicle shape syntax. The implementation of
3356         the old syntax has been move aside as deprecated, and will be removed
3357         once the new syntax is stable.
3358
3359         Updated existing parsing tests to cover this.
3360
3361         * css/BasicShapeFunctions.cpp:
3362         (WebCore::valueForCenterCoordinate): Create a CSSPrimitiveValue from a
3363             BasicShapeCenterCoordinate.
3364         (WebCore::valueForBasicShape): Convert new basic shape and rename old
3365             one.
3366         (WebCore::convertToCenterCoordinate): Create a
3367             BasicShapeCenterCoordinate from a CSSPrimitiveValue.
3368         (WebCore::basicShapeForValue): Convert new shape value and rename old
3369             one.
3370         * css/CSSBasicShapes.cpp:
3371         (WebCore::buildCircleString): Build a new circle string.
3372         (WebCore::CSSBasicShapeCircle::cssText): Serialize the new circle
3373             shape.
3374         (WebCore::CSSBasicShapeCircle::equals): Compare new circle shapes.
3375         (WebCore::CSSBasicShapeCircle::serializeResolvingVariables):
3376         * css/CSSBasicShapes.h:
3377         (WebCore::CSSBasicShapeCircle::CSSBasicShapeCircle): Add class for new
3378             circle shape.
3379         (WebCore::CSSDeprecatedBasicShapeCircle::create): Renamed to move out
3380             of the way of the new circle implementation.
3381         (WebCore::CSSDeprecatedBasicShapeCircle::centerX): Ditto.
3382         (WebCore::CSSDeprecatedBasicShapeCircle::centerY): Ditto.
3383         (WebCore::CSSDeprecatedBasicShapeCircle::radius): Ditto.
3384         (WebCore::CSSDeprecatedBasicShapeCircle::setCenterX): Ditto.
3385         (WebCore::CSSDeprecatedBasicShapeCircle::setCenterY): Ditto.
3386         (WebCore::CSSDeprecatedBasicShapeCircle::setRadius): Ditto.
3387         (WebCore::CSSDeprecatedBasicShapeCircle::CSSDeprecatedBasicShapeCircle): Ditto.
3388         * css/CSSParser.cpp:
3389         (WebCore::CSSParser::parseShapeRadius): Parse the radius for the new
3390             circle syntax. Will also be used by the new ellipse syntax.
3391         (WebCore::CSSParser::parseBasicShapeCircle): Parse the new circle
3392             syntax.
3393         (WebCore::CSSParser::parseDeprecatedBasicShapeCircle): Rename to make
3394             way for the new implementation.
3395         (WebCore::isDeprecatedBasicShape): Check if we have a new circle or an
3396             old circle.
3397         (WebCore::CSSParser::parseBasicShape): Update to parse the new circle
3398             syntax.
3399         * css/CSSParser.h:
3400         * css/CSSValueKeywords.in: Add support for the new circle keywords.
3401         * rendering/shapes/Shape.cpp:
3402         (WebCore::Shape::createShape): 
3403         * rendering/style/BasicShapes.cpp: Deprecate old circle and add stub
3404             for layout code.
3405         (WebCore::DeprecatedBasicShapeCircle::path): Rename to make way for
3406             the new implementation.
3407         (WebCore::DeprecatedBasicShapeCircle::blend): Rename to make way for
3408             the new implementation.
3409         (WebCore::BasicShapeCircle::path): Create path for new circle shape.
3410         (WebCore::BasicShapeCircle::blend): Interpolate the new circle shape.
3411         * rendering/style/BasicShapes.h:
3412         (WebCore::BasicShapeCenterCoordinate::BasicShapeCenterCoordinate):
3413             Represent an x or y coordinate for the center of a new circle,
3414             since it can be either a keyword along with an offset that cannot
3415             be resolved until layout time or an ordinary Length. This will
3416             also be used by the new ellipse implementation.
3417         (WebCore::BasicShapeCenterCoordinate::keyword):
3418         (WebCore::BasicShapeCenterCoordinate::length):
3419         (WebCore::BasicShapeCenterCoordinate::blend): Interpolate.
3420         (WebCore::BasicShapeRadius::BasicShapeRadius): Represent the radius of
3421             a new circle shape since it can either be a straightforward Length or
3422             a keyword that cannot be resolved until layout time.
3423         (WebCore::BasicShapeRadius::value):
3424         (WebCore::BasicShapeRadius::type):
3425         (WebCore::BasicShapeRadius::blend): Interpolate.
3426         (WebCore::BasicShapeCircle::centerX):
3427         (WebCore::BasicShapeCircle::centerY):
3428         (WebCore::BasicShapeCircle::radius):
3429         (WebCore::BasicShapeCircle::setCenterX):
3430         (WebCore::BasicShapeCircle::setCenterY):
3431         (WebCore::BasicShapeCircle::setRadius):
3432         (WebCore::BasicShapeCircle::BasicShapeCircle): New circle class.
3433         (WebCore::DeprecatedBasicShapeCircle::create): Rename to make room for
3434             new circle implementation.
3435         (WebCore::DeprecatedBasicShapeCircle::DeprecatedBasicShapeCircle): Ditto.
3436
3437 2013-11-20  Hans Muller  <hmuller@adobe.com>
3438
3439         [CSS Shapes] Add BoxShape and FloatRoundingRect classes
3440         https://bugs.webkit.org/show_bug.cgi?id=124368
3441
3442         Reviewed by Dean Jackson.
3443
3444         Added the BoxShape class. It's now used to represent shape-outside box
3445         values: [margin/border/padding/content]-box. BoxShape depends on a new
3446         FloatRoundedRect class, which is a float analog of the existing (int)
3447         RoundedRect class. The FloatRoundedRect class contains the same basic
3448         methods and accessors as BorderRect and adds a set of four methods,
3449         for example topLeftCorner(), that return a FloatRect that represents the
3450         bounds of one elliptical corner. I also added a method, xInterceptsAtY()
3451         that returns two X coor