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