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