cf6453c6622afdabdccd2d94ca4969ed7c48a074
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-12-06  Lukasz Gajowy  <l.gajowy@samsung.com>
2
3         [ATK] Missing aria roles mappings
4         https://bugs.webkit.org/show_bug.cgi?id=117729
5
6         Reviewed by Mario Sanchez Prada.
7
8         Added a few mappings from ARIA roles to ATK roles.
9
10         Test: accessibility/aria-mappings.html
11
12         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
13         (atkRole):
14
15 2013-11-11  Philippe Normand  <pnormand@igalia.com>
16
17         [GStreamer] webkitwebaudiosrc element needs to emit stream-start, caps and segment events
18         https://bugs.webkit.org/show_bug.cgi?id=123015
19
20         Reviewed by Martin Robinson.
21
22         When the source element starts emitting buffers send along various
23         events to notify downstream elements.
24
25         No new tests, change covered by existing webaudio tests.
26
27         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
28         (webkit_web_audio_src_init): Initialize segment.
29         (webKitWebAudioSrcConstructed): Give an explicit name to each
30         queue added in front of the interleave element.
31         (webKitWebAudioSrcLoop): Before sending the first buffers push
32         stream-start, caps and segment events on each queue's sinkpad.
33
34 2013-12-05  Philippe Normand  <pnormand@igalia.com>
35
36         [GStreamer] Audio/Video sink management is incoherent
37         https://bugs.webkit.org/show_bug.cgi?id=125304
38
39         Reviewed by Gustavo Noronha Silva.
40
41         Allow subclasses of MediaPlayerPrivateGStreamerBase to create
42         custom audio/video sinks in a coherent manner using
43         create{Audio,Video}Sink methods. Convenience getters are also
44         available. Also removed some un-needed member variables in the
45         playbin-based player.
46
47         No new tests, existing media tests cover this change.
48
49         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
50         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
51         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
52         (WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
53         (WebCore::MediaPlayerPrivateGStreamer::audioSink):
54         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
55         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
56         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
57         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
58         (WebCore::MediaPlayerPrivateGStreamerBase::createAudioSink):
59
60 2013-12-05  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
61
62         Introduce IMAGE_TYPE_CASTS, and use it
63         https://bugs.webkit.org/show_bug.cgi?id=125330
64
65         Reviewed by Ryosuke Niwa.
66
67         As a step to use TYPE_CASTS_BASE, this cl introduce IMAGE_TYPE_CASTS.
68         BitmapImage and SVGImage can use it to generate toFoo() type case helper functions.
69
70         No new tests, no behavior changes.
71
72         * loader/cache/CachedImage.cpp:
73         (WebCore::CachedImage::imageSizeForRenderer):
74         (WebCore::CachedImage::resumeAnimatingImagesForLoader):
75         * platform/graphics/BitmapImage.h:
76         * platform/graphics/Image.h:
77         * platform/mac/DragImageMac.mm:
78         (WebCore::createDragImageFromImage):
79         * svg/graphics/SVGImage.h:
80
81 2013-12-05  Zoltan Horvath  <zoltan@webkit.org>
82
83         Clean up the forwarding headers of RenderBlock.h
84         https://bugs.webkit.org/show_bug.cgi?id=125323
85
86         Reviewed by Ryosuke Niwa.
87
88         In this patch, I removed the unnecessary forwarding headers from RenderBlock.h, and moved some to RenderBlockFlow.h.
89
90         No new tests, no behavior change.
91
92         * rendering/RenderBlock.h: Remove unnecessary forwarding headers.
93         * rendering/RenderBlockFlow.h: Moved some forwarding headers from RenderBlock.h
94
95 2013-12-04  Oliver Hunt  <oliver@apple.com>
96
97         Refactor static getter function prototype to include thisValue in addition to the base object
98         https://bugs.webkit.org/show_bug.cgi?id=124461
99
100         Reviewed by Geoffrey Garen.
101
102         Change bindings codegen to produce static getter functions
103         with the correct types.  Also update the many custom implementations
104         to the new type.
105
106         No change in behaviour.
107
108         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
109         (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
110         (WebCore::cssPropertyGetterCallback):
111         * bindings/js/JSDOMBinding.cpp:
112         (WebCore::objectToStringFunctionGetter):
113         * bindings/js/JSDOMBinding.h:
114         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
115         (WebCore::JSDOMMimeTypeArray::nameGetter):
116         * bindings/js/JSDOMPluginArrayCustom.cpp:
117         (WebCore::JSDOMPluginArray::nameGetter):
118         * bindings/js/JSDOMPluginCustom.cpp:
119         (WebCore::JSDOMPlugin::nameGetter):
120         * bindings/js/JSDOMStringMapCustom.cpp:
121         (WebCore::JSDOMStringMap::nameGetter):
122         * bindings/js/JSDOMWindowCustom.cpp:
123         (WebCore::nonCachingStaticFunctionGetter):
124         (WebCore::childFrameGetter):
125         (WebCore::indexGetter):
126         (WebCore::namedItemGetter):
127         * bindings/js/JSHTMLAllCollectionCustom.cpp:
128         (WebCore::JSHTMLAllCollection::nameGetter):
129         * bindings/js/JSHTMLCollectionCustom.cpp:
130         (WebCore::JSHTMLCollection::nameGetter):
131         * bindings/js/JSHTMLDocumentCustom.cpp:
132         (WebCore::JSHTMLDocument::nameGetter):
133         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
134         (WebCore::JSHTMLFormControlsCollection::nameGetter):
135         * bindings/js/JSHTMLFormElementCustom.cpp:
136         (WebCore::JSHTMLFormElement::nameGetter):
137         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
138         (WebCore::JSHTMLFrameSetElement::nameGetter):
139         * bindings/js/JSHistoryCustom.cpp:
140         (WebCore::nonCachingStaticBackFunctionGetter):
141         (WebCore::nonCachingStaticForwardFunctionGetter):
142         (WebCore::nonCachingStaticGoFunctionGetter):
143         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
144         (WebCore::JSJavaScriptCallFrame::scopeType):
145         * bindings/js/JSLocationCustom.cpp:
146         (WebCore::nonCachingStaticReplaceFunctionGetter):
147         (WebCore::nonCachingStaticReloadFunctionGetter):
148         (WebCore::nonCachingStaticAssignFunctionGetter):
149         * bindings/js/JSNamedNodeMapCustom.cpp:
150         (WebCore::JSNamedNodeMap::nameGetter):
151         * bindings/js/JSNodeListCustom.cpp:
152         (WebCore::JSNodeList::nameGetter):
153         * bindings/js/JSPluginElementFunctions.cpp:
154         (WebCore::pluginElementPropertyGetter):
155         * bindings/js/JSPluginElementFunctions.h:
156         * bindings/js/JSRTCStatsResponseCustom.cpp:
157         (WebCore::JSRTCStatsResponse::nameGetter):
158         * bindings/js/JSStorageCustom.cpp:
159         (WebCore::JSStorage::nameGetter):
160         * bindings/js/JSStyleSheetListCustom.cpp:
161         (WebCore::JSStyleSheetList::nameGetter):
162         * bindings/scripts/CodeGeneratorJS.pm:
163         (GenerateHeader):
164         (GenerateImplementation):
165         (GenerateParametersCheck):
166         * bridge/runtime_array.cpp:
167         (JSC::RuntimeArray::lengthGetter):
168         (JSC::RuntimeArray::indexGetter):
169         * bridge/runtime_array.h:
170         * bridge/runtime_method.cpp:
171         (JSC::RuntimeMethod::lengthGetter):
172         * bridge/runtime_method.h:
173         * bridge/runtime_object.cpp:
174         (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
175         (JSC::Bindings::RuntimeObject::fieldGetter):
176         (JSC::Bindings::RuntimeObject::methodGetter):
177         * bridge/runtime_object.h:
178
179 2013-12-05  Tim Horton  <timothy_horton@apple.com>
180
181         Remove Image::decodedSize()
182         https://bugs.webkit.org/show_bug.cgi?id=125327
183
184         Reviewed by Sam Weinig.
185
186         No new tests, just removing dead code.
187
188         * platform/graphics/BitmapImage.cpp:
189         (WebCore::BitmapImage::resetAnimation):
190         * platform/graphics/BitmapImage.h:
191         * platform/graphics/GeneratedImage.h:
192         * platform/graphics/Image.h:
193         * platform/graphics/cg/PDFDocumentImage.cpp:
194         * platform/graphics/cg/PDFDocumentImage.h:
195         * svg/graphics/SVGImage.h:
196         * svg/graphics/SVGImageForContainer.h:
197
198 2013-12-05  Commit Queue  <commit-queue@webkit.org>
199
200         Unreviewed, rolling out r160133.
201         http://trac.webkit.org/changeset/160133
202         https://bugs.webkit.org/show_bug.cgi?id=125325
203
204         broke bindings tests on all the bots (Requested by thorton on
205         #webkit).
206
207         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
208         (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
209         (WebCore::cssPropertyGetterCallback):
210         * bindings/js/JSDOMBinding.cpp:
211         (WebCore::objectToStringFunctionGetter):
212         * bindings/js/JSDOMBinding.h:
213         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
214         (WebCore::JSDOMMimeTypeArray::nameGetter):
215         * bindings/js/JSDOMPluginArrayCustom.cpp:
216         (WebCore::JSDOMPluginArray::nameGetter):
217         * bindings/js/JSDOMPluginCustom.cpp:
218         (WebCore::JSDOMPlugin::nameGetter):
219         * bindings/js/JSDOMStringMapCustom.cpp:
220         (WebCore::JSDOMStringMap::nameGetter):
221         * bindings/js/JSDOMWindowCustom.cpp:
222         (WebCore::nonCachingStaticFunctionGetter):
223         (WebCore::childFrameGetter):
224         (WebCore::indexGetter):
225         (WebCore::namedItemGetter):
226         * bindings/js/JSHTMLAllCollectionCustom.cpp:
227         (WebCore::JSHTMLAllCollection::nameGetter):
228         * bindings/js/JSHTMLCollectionCustom.cpp:
229         (WebCore::JSHTMLCollection::nameGetter):
230         * bindings/js/JSHTMLDocumentCustom.cpp:
231         (WebCore::JSHTMLDocument::nameGetter):
232         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
233         (WebCore::JSHTMLFormControlsCollection::nameGetter):
234         * bindings/js/JSHTMLFormElementCustom.cpp:
235         (WebCore::JSHTMLFormElement::nameGetter):
236         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
237         (WebCore::JSHTMLFrameSetElement::nameGetter):
238         * bindings/js/JSHistoryCustom.cpp:
239         (WebCore::nonCachingStaticBackFunctionGetter):
240         (WebCore::nonCachingStaticForwardFunctionGetter):
241         (WebCore::nonCachingStaticGoFunctionGetter):
242         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
243         (WebCore::JSJavaScriptCallFrame::scopeType):
244         * bindings/js/JSLocationCustom.cpp:
245         (WebCore::nonCachingStaticReplaceFunctionGetter):
246         (WebCore::nonCachingStaticReloadFunctionGetter):
247         (WebCore::nonCachingStaticAssignFunctionGetter):
248         * bindings/js/JSNamedNodeMapCustom.cpp:
249         (WebCore::JSNamedNodeMap::nameGetter):
250         * bindings/js/JSNodeListCustom.cpp:
251         (WebCore::JSNodeList::nameGetter):
252         * bindings/js/JSPluginElementFunctions.cpp:
253         (WebCore::pluginElementPropertyGetter):
254         * bindings/js/JSPluginElementFunctions.h:
255         * bindings/js/JSRTCStatsResponseCustom.cpp:
256         (WebCore::JSRTCStatsResponse::nameGetter):
257         * bindings/js/JSStorageCustom.cpp:
258         (WebCore::JSStorage::nameGetter):
259         * bindings/js/JSStyleSheetListCustom.cpp:
260         (WebCore::JSStyleSheetList::nameGetter):
261         * bindings/scripts/CodeGeneratorJS.pm:
262         (GenerateHeader):
263         (GenerateImplementation):
264         (GenerateParametersCheck):
265         * bridge/runtime_array.cpp:
266         (JSC::RuntimeArray::lengthGetter):
267         (JSC::RuntimeArray::indexGetter):
268         * bridge/runtime_array.h:
269         * bridge/runtime_method.cpp:
270         (JSC::RuntimeMethod::lengthGetter):
271         * bridge/runtime_method.h:
272         * bridge/runtime_object.cpp:
273         (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
274         (JSC::Bindings::RuntimeObject::fieldGetter):
275         (JSC::Bindings::RuntimeObject::methodGetter):
276         * bridge/runtime_object.h:
277
278 2013-12-05  Seokju Kwon  <seokju@webkit.org>
279
280         Web Inspector: Remove 'cookiesString' output from Page.getCookies
281         https://bugs.webkit.org/show_bug.cgi?id=125268
282
283         Reviewed by Timothy Hatcher.
284
285         Remove 'cookiesString' output from Page.getCookies protocol.
286         It is no longer meaningful because it is an unused parameter.
287
288         No new tests, no behavior change.
289
290         * inspector/InspectorPageAgent.cpp:
291         (WebCore::InspectorPageAgent::getCookies):
292         * inspector/InspectorPageAgent.h:
293         * inspector/protocol/Page.json:
294
295 2013-12-05  Brian J. Burg  <burg@cs.washington.edu>
296
297         Web Inspector: expose node and frame snapshot capabilities.
298         https://bugs.webkit.org/show_bug.cgi?id=124326
299
300         Reviewed by Joseph Pecoraro.
301
302         This adds snapshotRect() and snapshotNode() to the Page domain.
303         Both methods create snapshots using FrameSnapshotting APIs
304         and send images to the inspector frontend as a data URL.
305
306         Remove the unimplemented Page.captureScreenshot API.
307
308         * inspector/InspectorPageAgent.cpp:
309         (WebCore::InspectorPageAgent::snapshotNode): Added.
310         (WebCore::InspectorPageAgent::snapshotRect): Added.
311         * inspector/InspectorPageAgent.h:
312         * inspector/protocol/Page.json: Added new protocol APIs.
313
314 2013-12-04 Bear Travis <betravis@adobe.com>
315
316     [CSS Shapes] Enable CSS Shapes on Windows
317     https://bugs.webkit.org/show_bug.cgi?id=89957
318
319     Reviewed by Brent Fulgham.
320
321     * css/CSSPropertyNames.in: Tweak to ensure shapes properties are regenerated.
322
323 2013-12-05  Roger Fong  <roger_fong@apple.com>
324
325         [WebGL] Make sure we satisfy uniform and varying packing restrictions.
326         https://bugs.webkit.org/show_bug.cgi?id=125124.
327         <rdar://problem/15203291>
328
329         Reviewed by Brent Fulgham.
330
331         Tests covered by WebGL Khronos conformance tests:
332         webgl/1.0.2/conformance/glsl/misc/shader-uniform-packing-restrictions.html
333         webgl/1.0.2/conformance/glsl/misc/shader-varying-packing-restrictions.html
334
335         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
336         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
337
338 2013-12-05  Laszlo Vidacs  <lac@inf.u-szeged.hu>
339
340         32bit buildfix after r160151
341         https://bugs.webkit.org/show_bug.cgi?id=125298
342
343         Reviewed by Csaba Osztrogonác.
344
345         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
346         (StreamingClient::handleDataReceived):
347
348 2013-12-05  Myles C. Maxfield  <mmaxfield@apple.com>
349
350         Cropping and drawing ImageBuffers results in uninitialized data being shown
351         https://bugs.webkit.org/show_bug.cgi?id=125271
352
353         Reviewed by Simon Fraser.
354
355         createCroppedImageIfNecessary() crops to the bottom left of the ImageBuffer
356         backing store instead of the top left. In addition, ImageBuffer::draw()
357         draws the entire ImageBuffer's backing store instead of just the relevant
358         portion of it.
359
360         No new tests are necessary because the existing tests already test this
361         functionality
362
363         * platform/graphics/cg/ImageBufferCG.cpp:
364         (WebCore::createCroppedImageIfNecessary): Crop to the top left of the
365         backing store 
366         (WebCore::ImageBuffer::draw): Draw only the logical portion of the
367         backing store 
368
369 2013-12-05  Joseph Pecoraro  <pecoraro@apple.com>
370
371         Remove stale ScriptGlobalObject methods
372         https://bugs.webkit.org/show_bug.cgi?id=125276
373
374         Reviewed by Sam Weinig.
375
376         * bindings/js/ScriptObject.cpp:
377         (WebCore::ScriptGlobalObject::set):
378         * bindings/js/ScriptObject.h:
379
380 2013-12-04  Ryosuke Niwa  <rniwa@webkit.org>
381
382         Change how the form element pointer affects parsing template elements, to reduce weirdness in templates
383         https://bugs.webkit.org/show_bug.cgi?id=125279
384
385         Reviewed by Antti Koivisto.
386
387         Faithfully update the HTML5 parser after http://html5.org/tools/web-apps-tracker?from=8330&to=8331.
388
389         Test: fast/dom/HTMLTemplateElement/no-form-association-2.html
390
391         * html/parser/HTMLConstructionSite.cpp:
392         (WebCore::HTMLConstructionSite::insertHTMLFormElement): Don't the form element pointer if the context
393         element or its ancestor is a template element.
394         (WebCore::HTMLConstructionSite::insideTemplateElement): Added.
395         (WebCore::HTMLConstructionSite::createHTMLElement): Renamed openElementsContainTemplateElement to
396         insideTemplateElement to reflect the true semantics of the boolean.
397
398         * html/parser/HTMLConstructionSite.h:
399
400         * html/parser/HTMLTreeBuilder.cpp:
401         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): Ignore the form element pointer if there
402         is a template element on the stack of open elements. This faithfully reflects what's being said in the
403         specification. We should probably make isParsingTemplateContents more efficient by storing a boolean
404         and then wrap from() in some helper function but that should probbaly happen in a separate patch.
405         (WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
406         (WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
407         (WebCore::HTMLTreeBuilder::processEndTagForInBody): Don't unset or rely on the form element pointer
408         when there is a template element on the stack of open elements.
409
410         * html/parser/HTMLTreeBuilder.h:
411         (WebCore::HTMLTreeBuilder::isParsingTemplateContents): Added a trivial implementation for when
412         TEMPLATE_ELEMENT is disabled.
413         (WebCore::HTMLTreeBuilder::isParsingFragmentOrTemplateContents): Merged two implementations.
414
415 2013-12-05  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
416
417         [MediaStream] Firing negotiationneeded event upon track add/remove on MediaStream
418         https://bugs.webkit.org/show_bug.cgi?id=125243
419
420         Reviewed by Eric Carlson.
421
422         Spec states that: In particular, if an RTCPeerConnection object is consuming a MediaStream on which a track is
423         added, by, e.g., the addTrack() method being invoked, the RTCPeerConnection object must fire the
424         "negotiationneeded" event. Removal of media components must also trigger "negotiationneeded".
425
426         Existing tests updated.
427
428         * Modules/mediastream/MediaStream.cpp:
429         (WebCore::MediaStream::addTrack):
430         (WebCore::MediaStream::removeTrack):
431         (WebCore::MediaStream::addObserver):
432         (WebCore::MediaStream::removeObserver):
433         * Modules/mediastream/MediaStream.h:
434         * Modules/mediastream/RTCPeerConnection.cpp:
435         (WebCore::RTCPeerConnection::~RTCPeerConnection):
436         (WebCore::RTCPeerConnection::addStream):
437         (WebCore::RTCPeerConnection::removeStream):
438         (WebCore::RTCPeerConnection::didAddOrRemoveTrack):
439         * Modules/mediastream/RTCPeerConnection.h:
440         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
441         (WebCore::RTCPeerConnectionHandlerMock::addStream):
442
443 2013-12-05  Beth Dakin  <bdakin@apple.com>
444
445         Bad repaints on twitter when the tile cache has a margin
446         https://bugs.webkit.org/show_bug.cgi?id=125263
447         -and corresponding-
448         <rdar://problem/15576884>
449
450         Reviewed by Tim Horton.
451
452         When tiles that used to be margin tiles become real-content tiles, they need to be 
453         invalidated.
454
455         Two new helper functions will make it so that we don’t have to manually factor out 
456         the margin from the bounds in more than one place in the code.
457         * platform/graphics/ca/mac/TileController.h:
458         * platform/graphics/ca/mac/TileController.mm:
459         (WebCore::TileController::boundsWithoutMargin):
460         (WebCore::TileController::boundsAtLastRevalidateWithoutMargin):
461
462          Here is one existing place where we used to factor out the margin, but now we can 
463         call boundsWithoutMargin().
464         (WebCore::TileController::adjustRectAtTileIndexForMargin):
465
466         And here is where we invalidate the formerly-margin tiles.
467         (WebCore::TileController::revalidateTiles):
468
469 2013-12-05  Zoltan Horvath  <zoltan@webkit.org>
470
471         Remove the forward declaration of BidiContext class from RenderBlock.h
472         https://bugs.webkit.org/show_bug.cgi?id=125265
473
474         Reviewed by Csaba Osztrogonác.
475
476         No new tests, no behavior change.
477
478         * rendering/RenderBlock.h: BidiContext is not used in RenderBlock.h
479
480 2013-12-05  Aloisio Almeida Jr  <aloisio.almeida@openbossa.org>
481
482         [Cairo] Avoid extra copy when drawing images
483         https://bugs.webkit.org/show_bug.cgi?id=124209
484
485         Reviewed by Carlos Garcia Campos.
486
487         This commit applies some changes proposed after the original patch has
488         been landed. It fixes the logic to create the subsurface (as it was
489         inverted). It also remove an unnecessary RefPtr variable to hold the
490         subsurface.
491
492         No new tests. It's an enhancement. Already covered by existing tests.
493
494         * platform/graphics/cairo/PlatformContextCairo.cpp:
495         (WebCore::PlatformContextCairo::drawSurfaceToContext):
496
497 2013-12-05  Zoltan Horvath  <zoltan@webkit.org>
498
499         [CSS Shapes] Fix inset when only a subset of the arguments are defined
500         https://bugs.webkit.org/show_bug.cgi?id=125277
501
502         Reviewed by David Hyatt.
503
504        I thought Length's default value is fixed-0, but actually it's auto-0. For the optional arguments
505        of inset shape, we need to use fixed-0, so I updated the code and the tests to use that explicitly.
506
507         No new tests, I updated the old ones.
508
509         * css/BasicShapeFunctions.cpp:
510         (WebCore::basicShapeForValue):
511
512 2013-12-05  Carlos Garcia Campos  <cgarcia@igalia.com>
513
514         [GTK] Do not use deprecated gtk-doc 'Rename to' tag
515         https://bugs.webkit.org/show_bug.cgi?id=125303
516
517         Reviewed by Philippe Normand.
518
519         GObject introspection rename-to annotation is available in
520         since version 0.6.3 so we should use that instead.
521
522         * bindings/gobject/WebKitDOMEventTarget.h:
523
524 2013-12-05  Carlos Garcia Campos  <cgarcia@igalia.com>
525
526         [GTK] Add missing symbols to WebKitDOMDeprecated.symbols
527         https://bugs.webkit.org/show_bug.cgi?id=125300
528
529         Reviewed by Philippe Normand.
530
531         Add webkit_dom_html_element_get_id and
532         webkit_dom_html_element_set_id to the symbols files.
533
534         * bindings/gobject/WebKitDOMDeprecated.symbols:
535         * bindings/gobject/webkitdom.symbols:
536
537 2013-12-05  Carlos Garcia Campos  <cgarcia@igalia.com>
538
539         Unreviewed. Update GObject DOM bindings symbols file after r159711.
540
541         * bindings/gobject/webkitdom.symbols:
542
543 2013-12-05  Zan Dobersek  <zdobersek@igalia.com>
544
545         [GTK] Move platform sources free of layering violations under libPlatform
546         https://bugs.webkit.org/show_bug.cgi?id=117509
547
548         Reviewed by Carlos Garcia Campos.
549
550         * GNUmakefile.list.am: Move additional source files located in the platform layer under libPlatform.
551         All moved sources are free of layering violations and thus ready for the migration.
552
553 2013-12-05  László Langó  <lango@inf.u-szeged.hu>
554
555         Remove bridge/testqtbindings.cpp.
556         https://bugs.webkit.org/show_bug.cgi?id=125287
557
558         Reviewed by Alexey Proskuryakov.
559
560         * bridge/testqtbindings.cpp: Removed. There is no QT anymore.
561         We don't need this file.
562
563 2013-12-04  Gurpreet Kaur  <k.gurpreet@samsung.com>
564
565         % unit heights don't work if parent block height is set in vh
566         https://bugs.webkit.org/show_bug.cgi?id=118516
567
568         Reviewed by Simon Fraser.
569
570         From Blink r156449 by <srinivasa.ragavan.venkateswaran@intel.com>
571
572         An element having height as percentage needs to have the
573         containingblock's height or availableheight to calculate its
574         own height. The containing block having a height set in vh
575         unit was not being considered for calculating the child's
576         height.
577
578         Tests: fast/css/viewport-percentage-compute-box-height.html
579                fast/css/viewport-percentage-compute-box-width.html
580
581         * rendering/RenderBox.cpp:
582         (WebCore::RenderBox::computePercentageLogicalHeight):
583         Correct child's height(in pecentage) was not being calculated
584         incase of parent having height set in vh unit. Added condition
585         to calculate the containing block height in terms of viewport size.
586
587 2013-12-04  Roger Fong  <roger_fong@apple.com>
588
589         [Windows] Unreviewed build fix. Copy headers from rendering/line to build directory.
590
591         * WebCore.vcxproj/copyForwardingHeaders.cmd:
592
593 2013-12-04  Ryosuke Niwa  <rniwa@webkit.org>
594
595         bgColor, setBgColor, alinkColor, setAlinkColor, and etc... on HTMLBodyElement are useless
596         https://bugs.webkit.org/show_bug.cgi?id=125208
597
598         Rubber-stamped by Anders Carlsson.
599
600         Address Darin's comment to use fastGetAttribute instead of getAttribute.
601
602         * html/HTMLDocument.cpp:
603         (WebCore::HTMLDocument::bgColor):
604         (WebCore::HTMLDocument::fgColor):
605         (WebCore::HTMLDocument::alinkColor):
606         (WebCore::HTMLDocument::linkColor):
607         (WebCore::HTMLDocument::vlinkColor):
608
609 2013-12-04  Brian J. Burg  <burg@cs.washington.edu>
610
611         Consolidate various frame snapshot capabilities.
612         https://bugs.webkit.org/show_bug.cgi?id=124325
613
614         Reviewed by Darin Adler.
615
616         Various snapshot creation methods had duplicated code and were split
617         between Frame, DragImage, and platform-specific implementationss.
618         This patch puts WebCore snapshot methods into FrameSnapshotting
619         and removes platform implementations where possible.
620
621         DragImage methods reuse snapshot methods where possible. Inspector
622         will be able to take snapshots without using drag images.
623
624         No new tests, this is a refactoring.
625
626         * CMakeLists.txt:
627         * GNUmakefile.list.am:
628         * WebCore.exp.in:
629         * WebCore.vcxproj/WebCore.vcxproj:
630         * WebCore.vcxproj/WebCore.vcxproj.filters:
631         * WebCore.xcodeproj/project.pbxproj:
632         * bindings/objc/DOM.mm:
633         (-[DOMNode renderedImage]):
634         (-[DOMRange renderedImageForcingBlackText:]):
635         * dom/Clipboard.cpp:
636         (WebCore::Clipboard::createDragImage):
637         * dom/ClipboardMac.mm:
638         (WebCore::Clipboard::createDragImage):
639         * page/DragController.cpp:
640         (WebCore::DragController::startDrag):
641         * page/Frame.cpp:
642         * page/Frame.h:
643         * page/FrameSnapshotting.cpp: Added.
644         (WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
645         (WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
646         (WebCore::snapshotFrameRect): Move most buffer logic to here.
647         (WebCore::snapshotSelection): Moved from Frame.
648         (WebCore::snapshotNode): Moved from Frame.
649         * page/FrameSnapshotting.h: Added.
650         * page/mac/FrameMac.mm: Removed.
651         * page/mac/FrameSnapshottingMac.h: Removed.
652         * page/mac/FrameSnapshottingMac.mm: Removed.
653         * page/win/FrameWin.cpp: remove duplicate implementation.
654         * page/win/FrameWin.h: Fix an incorrect parameter name.
655         * platform/DragImage.cpp:
656         (WebCore::ScopedNodeDragState::ScopedNodeDragState):
657         (WebCore::ScopedNodeDragState::~ScopedNodeDragState):
658         (WebCore::createDragImageFromSnapshot): Boilerplate buffer conversion.
659         (WebCore::createDragImageForNode):
660         (WebCore::createDragImageForSelection):
661         (WebCore::ScopedFrameSelectionState::ScopedFrameSelectionState):
662         (WebCore::ScopedFrameSelectionState::~ScopedFrameSelectionState):
663         (WebCore::createDragImageForRange): Moved from Frame.
664         (WebCore::createDragImageForImage): Moved from FrameSnapshottingMac.
665         (WebCore::createDragImageForLink): use nullptr.
666
667 2013-12-04  Benjamin Poulain  <bpoulain@apple.com>
668
669         Remove spaces on a blank line to have ResourceHandleCFNet.cpp identical to iOS
670
671         Unreviewed.
672
673         * platform/network/cf/ResourceHandleCFNet.cpp:
674         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
675
676 2013-12-04  Antti Koivisto  <antti@apple.com>
677
678         Move pseudo element construction out from Element
679         https://bugs.webkit.org/show_bug.cgi?id=125257
680
681         Reviewed by Anders Carlsson.
682
683         This is logically part of the style resolve/render tree construction. This will make future
684         refactoring easier.
685
686         * dom/Element.cpp:
687         * dom/Element.h:
688         * style/StyleResolveTree.cpp:
689         (WebCore::Style::beforeOrAfterPseudoElement):
690         (WebCore::Style::setBeforeOrAfterPseudoElement):
691         (WebCore::Style::clearBeforeOrAfterPseudoElement):
692         (WebCore::Style::needsPseudeElement):
693         (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
694         (WebCore::Style::attachRenderTree):
695         (WebCore::Style::updateBeforeOrAfterPseudoElement):
696         (WebCore::Style::resolveTree):
697
698 2013-12-04  Zoltan Horvath  <zoltan@webkit.org>
699
700         Move TrailingObjects class into its own h/cpp
701         https://bugs.webkit.org/show_bug.cgi?id=124956
702
703         Reviewed by David Hyatt.
704
705         Since I moved space-ignoring inline functions into MidpointState in r160074,
706         I can nicely separate TrailingObjects class from BreakingContextInlineHeader.h.
707         This change improves the readability, and it's part of the RenderBlockLineLayout
708         refactoring campaign, which is tracked under bug #121261.
709
710         No new tests, no behavior change.
711
712         * CMakeLists.txt:
713         * GNUmakefile.list.am:
714         * WebCore.vcxproj/WebCore.vcxproj:
715         * WebCore.xcodeproj/project.pbxproj:
716         * rendering/RenderBlock.h:
717         * rendering/RenderBlockFlow.h:
718         * rendering/line/BreakingContextInlineHeaders.h:
719         * rendering/line/TrailingObjects.cpp: Added.
720         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
721         * rendering/line/TrailingObjects.h: Added.
722         (WebCore::TrailingObjects::TrailingObjects):
723         (WebCore::TrailingObjects::setTrailingWhitespace):
724         (WebCore::TrailingObjects::clear):
725         (WebCore::TrailingObjects::appendBoxIfNeeded):
726
727 2013-12-04  Oliver Hunt  <oliver@apple.com>
728
729         Refactor static getter function prototype to include thisValue in addition to the base object
730         https://bugs.webkit.org/show_bug.cgi?id=124461
731
732         Reviewed by Geoffrey Garen.
733
734         Change bindings codegen to produce static getter functions
735         with the correct types.  Also update the many custom implementations
736         to the new type.
737
738         No change in behaviour.
739
740         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
741         (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
742         (WebCore::cssPropertyGetterCallback):
743         * bindings/js/JSDOMBinding.cpp:
744         (WebCore::objectToStringFunctionGetter):
745         * bindings/js/JSDOMBinding.h:
746         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
747         (WebCore::JSDOMMimeTypeArray::nameGetter):
748         * bindings/js/JSDOMPluginArrayCustom.cpp:
749         (WebCore::JSDOMPluginArray::nameGetter):
750         * bindings/js/JSDOMPluginCustom.cpp:
751         (WebCore::JSDOMPlugin::nameGetter):
752         * bindings/js/JSDOMStringMapCustom.cpp:
753         (WebCore::JSDOMStringMap::nameGetter):
754         * bindings/js/JSDOMWindowCustom.cpp:
755         (WebCore::nonCachingStaticFunctionGetter):
756         (WebCore::childFrameGetter):
757         (WebCore::indexGetter):
758         (WebCore::namedItemGetter):
759         * bindings/js/JSHTMLAllCollectionCustom.cpp:
760         (WebCore::JSHTMLAllCollection::nameGetter):
761         * bindings/js/JSHTMLCollectionCustom.cpp:
762         (WebCore::JSHTMLCollection::nameGetter):
763         * bindings/js/JSHTMLDocumentCustom.cpp:
764         (WebCore::JSHTMLDocument::nameGetter):
765         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
766         (WebCore::JSHTMLFormControlsCollection::nameGetter):
767         * bindings/js/JSHTMLFormElementCustom.cpp:
768         (WebCore::JSHTMLFormElement::nameGetter):
769         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
770         (WebCore::JSHTMLFrameSetElement::nameGetter):
771         * bindings/js/JSHistoryCustom.cpp:
772         (WebCore::nonCachingStaticBackFunctionGetter):
773         (WebCore::nonCachingStaticForwardFunctionGetter):
774         (WebCore::nonCachingStaticGoFunctionGetter):
775         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
776         (WebCore::JSJavaScriptCallFrame::scopeType):
777         * bindings/js/JSLocationCustom.cpp:
778         (WebCore::nonCachingStaticReplaceFunctionGetter):
779         (WebCore::nonCachingStaticReloadFunctionGetter):
780         (WebCore::nonCachingStaticAssignFunctionGetter):
781         * bindings/js/JSNamedNodeMapCustom.cpp:
782         (WebCore::JSNamedNodeMap::nameGetter):
783         * bindings/js/JSNodeListCustom.cpp:
784         (WebCore::JSNodeList::nameGetter):
785         * bindings/js/JSPluginElementFunctions.cpp:
786         (WebCore::pluginElementPropertyGetter):
787         * bindings/js/JSPluginElementFunctions.h:
788         * bindings/js/JSRTCStatsResponseCustom.cpp:
789         (WebCore::JSRTCStatsResponse::nameGetter):
790         * bindings/js/JSStorageCustom.cpp:
791         (WebCore::JSStorage::nameGetter):
792         * bindings/js/JSStyleSheetListCustom.cpp:
793         (WebCore::JSStyleSheetList::nameGetter):
794         * bindings/scripts/CodeGeneratorJS.pm:
795         (GenerateHeader):
796         (GenerateImplementation):
797         (GenerateParametersCheck):
798         * bridge/runtime_array.cpp:
799         (JSC::RuntimeArray::lengthGetter):
800         (JSC::RuntimeArray::indexGetter):
801         * bridge/runtime_array.h:
802         * bridge/runtime_method.cpp:
803         (JSC::RuntimeMethod::lengthGetter):
804         * bridge/runtime_method.h:
805         * bridge/runtime_object.cpp:
806         (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
807         (JSC::Bindings::RuntimeObject::fieldGetter):
808         (JSC::Bindings::RuntimeObject::methodGetter):
809         * bridge/runtime_object.h:
810
811 2013-12-04  Zoltan Horvath  <zoltan@webkit.org>
812
813         [CSS Shapes] Support inset for shape-outside
814         <https://webkit.org/b/125112>
815
816         Reviewed by David Hyatt.
817
818         This patch adds inset support for shape-outside. Parsing has previously landed in r159968.
819         Specification: http://dev.w3.org/csswg/css-shapes/#supported-basic-shapes
820
821         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-left.html
822                fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-right.html
823                fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-left.html
824                fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-right.html
825                fast/shapes/shape-outside-floats/shape-outside-floats-inset.html
826
827         * platform/LengthSize.h:
828         (WebCore::LengthSize::floatSize): Add conversion to FloatSize.
829         * rendering/shapes/Shape.cpp:
830         (WebCore::Shape::createShape): Handle inset case.
831
832 2013-12-04  Bear Travis  <betravis@adobe.com>
833
834         Web Inspector: [CSS Shapes] Support raster shape visualizations
835         https://bugs.webkit.org/show_bug.cgi?id=124080
836
837         Reviewed by Joseph Pecoraro.
838
839         Create an inspector visualization for a shape created from an image.
840         The visualization takes each line of the image, combining where possible.
841
842         Test added to inspector-protocol/model/highlight-shape-outside.html
843
844         * rendering/shapes/RasterShape.cpp:
845         (WebCore::RasterShapeIntervals::buildBoundsPath): Create a path representing the
846         RasterShapeIntervals.
847         * rendering/shapes/RasterShape.h:
848
849 2013-12-04  Zoltan Horvath  <zoltan@webkit.org>
850
851         [CSS Shapes] Remove explicit numbering from BasicShape::Type and CSSBasicShape::Type enums
852         https://bugs.webkit.org/show_bug.cgi?id=125163
853
854         Reviewed by Rob Buis.
855
856         I don't see any reason to have explicit numbering for the Type enum in our [CSS]BasicShape classes.
857         I removed numbering, which will decrease for instance the merge conflicts on Type changes.
858
859         No new tests, no behavior change.
860
861         * css/CSSBasicShapes.h:
862         * rendering/style/BasicShapes.h:
863
864 2013-12-04  Myles C. Maxfield  <mmaxfield@apple.com>
865
866         Allow ImageBuffer to use an IOSurface that is larger than necessary
867         https://bugs.webkit.org/show_bug.cgi?id=124626
868
869         Reviewed by Simon Fraser.
870
871         Because creating ImageBuffer's backing store can be so expensive, it
872         would be beneficial to have a pool of pre-created backing stores
873         available. However, this means that ImageBuffer might have to use a
874         backing store that is larger than the exact dimensions that it needs.
875         This patch adds a field, m_backingStoreSize, to CG's ImageBufferData
876         class, and uses this new field when performing ImageBuffer operations
877         to allow for larger-than-necessary backing stores. Content is always
878         drawn in the top left corner of the backing store.
879
880         No new tests are necessary because there is no behavior change.
881
882         * platform/graphics/ImageBuffer.h:
883         (WebCore::ImageBuffer::baseTransform): The base transform has to put
884         content at the top left corner instead of bottom left
885         * platform/graphics/cg/ImageBufferCG.cpp:
886         (WebCore::createCroppedImageIfNecessary): Convenience function to figure out
887         the dimensions of the backing texture in user space
888         (WebCore::ImageBuffer::ImageBuffer): Set up new m_backingStoreSize member
889         (WebCore::maybeCropToBounds): Some ImageBuffer API functions require
890         outputting an image with logical size. This function performs the cropping
891         (WebCore::ImageBuffer::copyImage): Updated for larger-than-necessary
892         backing stores
893         (WebCore::ImageBuffer::copyNativeImage): Ditto
894         (WebCore::ImageBuffer::draw): Ditto
895         (WebCore::ImageBuffer::clip): Ditto
896         (WebCore::ImageBuffer::putByteArray): Ditto
897         (WebCore::ImageBuffer::toDataURL): Ditto
898         * platform/graphics/cg/ImageBufferDataCG.cpp:
899         (WebCore::ImageBufferData::getData): Ditto
900         (WebCore::ImageBufferData::putData): Ditto
901         * platform/graphics/cg/ImageBufferDataCG.h: New m_backingStoreSize field
902
903 2013-12-03  Dean Jackson  <dino@apple.com>
904
905         [WebGL] Support for texImage2D of type HALF_FLOAT_OES
906         https://bugs.webkit.org/show_bug.cgi?id=110936
907
908         Reviewed by Brent Fulgham.
909
910         Add support for the HALF_FLOAT_OES texture format from texImage2D
911         and texSubImage2D.
912
913         A lot of this patch comes from the original patch on the bug
914         by Nayan Kumar, and the Blink commit:
915         https://codereview.chromium.org/13842017
916
917         Tests: fast/canvas/webgl/oes-texture-half-float-with-canvas.html
918                fast/canvas/webgl/oes-texture-half-float-with-image.html
919                fast/canvas/webgl/oes-texture-half-float-with-video.html
920
921         * html/canvas/OESTextureHalfFloat.idl: New HALF_FLOAT_OES constant value.
922         * html/canvas/WebGLRenderingContext.cpp:
923         (WebCore::WebGLRenderingContext::validateTexFunc): Remove the code that
924         would bail if half-float values were used.
925         * platform/graphics/GraphicsContext3D.cpp:
926         - Return appropriate DataFormats for half floating point types.
927         - Copy the float -> half-float code from Blink
928         - New pack functions for half floats
929         * platform/graphics/GraphicsContext3D.h: New format types.
930         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
931         (WebCore::GraphicsContext3D::texSubImage2D): Use GL_HALF_FLOAT_ARB if we're passed
932         a HALF_FLOAT_OES.
933
934 2013-12-04  Daniel Bates  <dabates@apple.com>
935
936         Fix the Apple Windows build after <http://trac.webkit.org/changeset/160113>
937         (https://bugs.webkit.org/show_bug.cgi?id=125193)
938
939         * rendering/RenderThemeWin.cpp:
940         (WebCore::RenderThemeWin::paintMenuList): Substitute paintInfo for i.
941
942 2013-12-04  Daniel Bates  <dabates@apple.com>
943
944         Rename RenderTheme::paintMenuListButton()
945         https://bugs.webkit.org/show_bug.cgi?id=125193
946
947         Reviewed by Simon Fraser.
948
949         Towards upstreaming the iOS concept of render theme decorations we should rename
950         RenderTheme::paintMenuListButton() to RenderTheme::paintMenuListButtonDecorations()
951         to better describe its purpose.
952
953         Also, fix code style issues.
954
955         * platform/blackberry/RenderThemeBlackBerry.cpp:
956         (WebCore::RenderThemeBlackBerry::paintMenuListButtonDecorations):
957         * platform/blackberry/RenderThemeBlackBerry.h:
958         * platform/efl/RenderThemeEfl.cpp:
959         (WebCore::RenderThemeEfl::paintMenuListButtonDecorations):
960         * platform/efl/RenderThemeEfl.h:
961         * platform/gtk/RenderThemeGtk.cpp:
962         (WebCore::RenderThemeGtk::paintMenuListButtonDecorations):
963         * platform/gtk/RenderThemeGtk.h:
964         * platform/nix/RenderThemeNix.h:
965         * rendering/RenderTheme.cpp:
966         (WebCore::RenderTheme::paintDecorations): Rename argument o, r to renderer and rect, respectively.
967         * rendering/RenderTheme.h:
968         (WebCore::RenderTheme::paintMenuListButtonDecorations):
969         * rendering/RenderThemeMac.h:
970         * rendering/RenderThemeMac.mm:
971         (WebCore::RenderThemeMac::paintMenuListButtonDecorations): Rename argument o, r to renderer and rect,
972         respectively; also remove extraneous white space and substitute 1 for 1.0f.
973         * rendering/RenderThemeSafari.cpp:
974         (WebCore::RenderThemeSafari::paintMenuListButtonDecorations): Ditto.
975         * rendering/RenderThemeSafari.h:
976         * rendering/RenderThemeWin.cpp:
977         (WebCore::RenderThemeWin::paintMenuList): Rename argument o, i, r to renderer, paintInfo, and rect,
978         respectively.
979         (WebCore::RenderThemeWin::paintMenuListButtonDecorations): Ditto.
980         * rendering/RenderThemeWin.h:
981         * rendering/RenderThemeWinCE.cpp:
982         (WebCore::RenderThemeWinCE::paintMenuList): Ditto.
983         (WebCore::RenderThemeWinCE::paintMenuListButtonDecorations): Ditto. 
984         * rendering/RenderThemeWinCE.h:
985
986 2013-12-04  Andy Estes  <aestes@apple.com>
987
988         [iOS] Build projects with $(ARCHS_STANDARD_32_64_BIT)
989         https://bugs.webkit.org/show_bug.cgi?id=125236
990
991         Reviewed by Sam Weinig.
992
993         $(ARCHS_STANDARD_32_64_BIT) is what we want for both device and simulator builds.
994
995         * Configurations/DebugRelease.xcconfig:
996
997 2013-12-04  Joseph Pecoraro  <pecoraro@apple.com>
998
999         Unreviewed Windows build fix attempt after r160099.
1000
1001         * WebCore.vcxproj/WebCore.vcxproj.filters:
1002         * WebCore.vcxproj/copyForwardingHeaders.cmd:
1003
1004 2013-12-03  Joseph Pecoraro  <pecoraro@apple.com>
1005
1006         Web Inspector: Push Remote Inspector debugging connection management into JavaScriptCore
1007         https://bugs.webkit.org/show_bug.cgi?id=124613
1008
1009         Reviewed by Timothy Hatcher.
1010
1011         Make a WebCore::Page a "Web" Remote Debuggable.
1012
1013         * bindings/js/JSDOMGlobalObject.cpp:
1014         Disable JavaScript context inspection on JSGlobalObjects inside WebCore::Page's.
1015
1016         * page/Page.cpp:
1017         (WebCore::Page::Page):
1018         (WebCore::Page::remoteInspectionAllowed):
1019         (WebCore::Page::setRemoteInspectionAllowed):
1020         (WebCore::Page::remoteInspectorInformationDidChange):
1021         * page/Page.h:
1022         * page/PageDebuggable.h:
1023         * page/PageDebuggable.cpp: Added.
1024         (WebCore::PageDebuggable::PageDebuggable):
1025         (WebCore::PageDebuggable::name):
1026         (WebCore::PageDebuggable::url):
1027         (WebCore::PageDebuggable::hasLocalDebugger):
1028         (WebCore::PageDebuggable::connect):
1029         (WebCore::PageDebuggable::disconnect):
1030         (WebCore::PageDebuggable::dispatchMessageFromRemoteFrontend):
1031         (WebCore::PageDebuggable::setIndicating):
1032         Make a page a "Web" debuggable.
1033
1034         * GNUmakefile.list.am:
1035         * WebCore.exp.in:
1036         * WebCore.vcxproj/WebCore.vcxproj:
1037         * WebCore.vcxproj/WebCore.vcxproj.filters:
1038         * WebCore.xcodeproj/project.pbxproj:
1039         Misc.
1040
1041         * inspector/InspectorClient.h:
1042         (WebCore::InspectorClient::indicate):
1043         (WebCore::InspectorClient::hideIndicate):
1044         Forward indicate methods to WebKit clients.
1045
1046         * loader/FrameLoader.cpp:
1047         (WebCore::FrameLoader::didChangeTitle):
1048         (WebCore::FrameLoader::dispatchDidCommitLoad):
1049         Push updates when remote debuggable information like the Page's
1050         URL or title change.
1051
1052         * ForwardingHeaders/inspector/InspectorFrontendChannel.h:
1053         * inspector/InspectorForwarding.h:
1054         Re-export Inspector::InspectorFrontendChannel as WebCore::InspectorFrontendChannel
1055         to avoid needlessly updating code all over the place.
1056
1057         * inspector/CodeGeneratorInspectorStrings.py:
1058         * inspector/InspectorWorkerAgent.cpp:
1059         * inspector/WorkerInspectorController.cpp:
1060         * testing/Internals.cpp:
1061         Update include names.
1062
1063         * page/ContextMenuController.cpp:
1064         (WebCore::ContextMenuController::populate):
1065         Make the "Inspect Element" context menu work correctly when there is a
1066         remote inspector instead of a local inspector.
1067
1068 2013-12-03  Joseph Pecoraro  <pecoraro@apple.com>
1069
1070         Web Inspector: Add missing folders and files to Xcode project
1071         https://bugs.webkit.org/show_bug.cgi?id=124802
1072
1073         Reviewed by Timothy Hatcher.
1074
1075         * WebCore.xcodeproj/project.pbxproj:
1076
1077 2013-12-04  José Dapena Paz  <jdapena@igalia.com>
1078
1079         [texmap] Borders on rotating images are hidden/wrongly rendered with edge distance antialiasing
1080         https://bugs.webkit.org/show_bug.cgi?id=124653
1081
1082         Reviewed by Noam Rosenthal.
1083
1084         Texture mapper edge distance antialiasing texture sampling was causing
1085         borders to be shaded (and made them almost disappear in some cases).
1086         This was because calculation of sampling happened on vertex shader, so
1087         the border of the texture would go to the border of the inflation area.
1088
1089         What algorithm should do is sampling the border pixel for all the
1090         inflation area (it is the closest pixel to all the samples in
1091         inflation area), and then use the standard sampling for the other
1092         parts of the texture.
1093
1094         No new test because this is already covered by test
1095         transforms/3d/point-mapping/3d-point-mapping.html
1096
1097         * platform/graphics/texmap/TextureMapperShaderProgram.cpp: fix edge
1098         distance antialiasing texture sampling.
1099
1100 2013-12-04  László Langó  <lango@inf.u-szeged.hu>
1101
1102         Typo fix after r160074 to fix debug builds.
1103
1104         Reviewed by Csaba Osztrogonác.
1105
1106         * platform/text/BidiResolver.h:
1107         (WebCore::MidpointState::stopIgnoringSpaces):
1108
1109 2013-12-04  Zoltan Horvath  <zoltan@webkit.org>
1110
1111         Move space-ignoring inline functions into MidpointState
1112         <https://webkit.org/b/124957>
1113
1114         Reviewed by David Hyatt.
1115
1116         Since:
1117          - The following inline functions were used only with a mandatory LineMidpointState argument:
1118            startIgnoringSpaces, stopIgnoringSpaces, ensureLineBoxInsideIgnoredSpaces, deprecatedAddMidpoint.
1119          - TrailingObjects class uses these functions. Since they're inline in BreakingContextInlineHeaders.h,
1120            it's hard to separate TrailingObjects into it's own file. (blocks bug #124956)
1121          I made these functions as a member of LineMidpointState, and I also updated the call sites.
1122
1123         No new tests, no behavior change.
1124
1125         * platform/text/BidiResolver.h:
1126         (WebCore::MidpointState::startIgnoringSpaces):
1127         (WebCore::MidpointState::stopIgnoringSpaces):
1128         (WebCore::MidpointState::ensureLineBoxInsideIgnoredSpaces):
1129         (WebCore::MidpointState::deprecatedAddMidpoint):
1130         * rendering/RenderBlock.h:
1131         * rendering/line/BreakingContextInlineHeaders.h:
1132         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
1133         (WebCore::BreakingContext::handleBR):
1134         (WebCore::BreakingContext::handleOutOfFlowPositioned):
1135         (WebCore::shouldSkipWhitespaceAfterStartObject):
1136         (WebCore::BreakingContext::handleEmptyInline):
1137         (WebCore::BreakingContext::handleReplaced):
1138         (WebCore::ensureCharacterGetsLineBox):
1139         (WebCore::BreakingContext::handleText):
1140
1141 2013-12-03  Zoltan Horvath  <zoltan@webkit.org>
1142
1143         Remove BreakingContext's friendship from RenderBlockFlow
1144         <https://webkit.org/b/124958>
1145
1146         Reviewed by David Hyatt.
1147
1148         BreakingContext uses only 2 functions from RenderBlockFlow: insertFloatingObject/positionNewFloatOnLine. I added helper
1149         functions to LineBreaker, what is already a friend of RenderBlockFlow, so BreakingContext doesn't need to be anymore.
1150  
1151         No new tests, no behavior change.
1152
1153         * rendering/RenderBlockFlow.h:
1154         * rendering/line/BreakingContextInlineHeaders.h:
1155         (WebCore::BreakingContext::handleFloat):
1156         * rendering/line/LineBreaker.h:
1157         (WebCore::LineBreaker::insertFloatingObject):
1158         (WebCore::LineBreaker::positionNewFloatOnLine):
1159
1160 2013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
1161
1162         bgColor, setBgColor, alinkColor, setAlinkColor, and etc... on HTMLBodyElement are useless
1163         https://bugs.webkit.org/show_bug.cgi?id=125208
1164
1165         Reviewed by Antti Koivisto.
1166
1167         Merge https://chromium.googlesource.com/chromium/blink/+/49b1eeabbbf573d5271288c66d2b566cf33a09cf
1168
1169         These member functions of HTMLBodyElement were only used by corresponding functions in HTMLDocument
1170         since they had the Reflect option specified in HTMLBodyElement.idl.
1171
1172         Removed the functions and directly called getAttribute and setAttribute in relevant functions in
1173         HTMLDocument. The optimization to avoid assignment is no longer needed here since we've added that
1174         optimization to setAttributeInternal a while ago.
1175
1176         * html/HTMLBodyElement.cpp:
1177         * html/HTMLBodyElement.h:
1178         * html/HTMLDocument.cpp:
1179         (WebCore::HTMLDocument::bgColor):
1180         (WebCore::HTMLDocument::setBgColor):
1181         (WebCore::HTMLDocument::fgColor):
1182         (WebCore::HTMLDocument::setFgColor):
1183         (WebCore::HTMLDocument::alinkColor):
1184         (WebCore::HTMLDocument::setAlinkColor):
1185         (WebCore::HTMLDocument::linkColor):
1186         (WebCore::HTMLDocument::setLinkColor):
1187         (WebCore::HTMLDocument::vlinkColor):
1188         (WebCore::HTMLDocument::setVlinkColor):
1189         * html/HTMLDocument.h:
1190
1191 2013-12-03  Andreas Kling  <akling@apple.com>
1192
1193         Add a CSSProperty::isDirectionAwareProperty() helper.
1194         <https://webkit.org/b/125202>
1195
1196         Move the block of case labels for checking whether a CSS property ID
1197         is a directional property into a separate function. Also removed an
1198         outdated comment about CSS variables.
1199
1200         Reviewed by Antti Koivisto.
1201
1202 2013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
1203
1204         Revert the inadvertently committed change.
1205
1206         * html/HTMLElement.idl:
1207
1208 2013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
1209
1210         Remove nodeIsDetachedFromDocument and visualWordMovementEnabled in FrameSelection
1211         https://bugs.webkit.org/show_bug.cgi?id=125210
1212
1213         Reviewed by Antti Koivisto.
1214
1215         Inspired by https://chromium.googlesource.com/chromium/blink/+/92409870f0ff8fafe31217830db0838a9e1ffb98
1216
1217         Removed some unused code.
1218
1219         * editing/FrameSelection.cpp:
1220         (WebCore::FrameSelection::textWasReplaced):
1221         * editing/FrameSelection.h:
1222         * page/Settings.in:
1223
1224 2013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
1225
1226         Potential crash in RenderView::selectionBounds and RenderView::repaintSelection
1227         https://bugs.webkit.org/show_bug.cgi?id=125207
1228
1229         Reviewed by Simon Fraser.
1230         
1231         Merge https://chromium.googlesource.com/chromium/blink/+/f9e6e288a5aa959f05c374806121aaf0fc52d440
1232
1233         Update style in FrameSelection instead of RenderView's member functions. These are the last two
1234         member functions of RenderView that updates the style.
1235
1236         * editing/FrameSelection.cpp:
1237         (WebCore::FrameSelection::focusedOrActiveStateChanged):
1238         (WebCore::FrameSelection::bounds):
1239         * rendering/RenderView.cpp:
1240         (WebCore::RenderView::selectionBounds):
1241         (WebCore::RenderView::repaintSelection):
1242
1243 2013-12-03  Mark Rowe  <mrowe@apple.com>
1244
1245         <https://webkit.org/b/125143> Improve the formatting in the generated Objective-C headers.
1246
1247         Add a space between @property and any parenthesized attributes.
1248         Prefer strong over retain when specifying memory management semantics.
1249
1250         Reviewed by Darin Adler.
1251
1252         * bindings/objc/PublicDOMInterfaces.h:
1253         * bindings/scripts/CodeGeneratorObjC.pm:
1254         (GetPropertyAttributes): Generate strong instead of retain. Include a
1255         space before the parenthesis.
1256         * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
1257         * bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
1258         * bindings/scripts/test/ObjC/DOMTestException.h:
1259         * bindings/scripts/test/ObjC/DOMTestInterface.h:
1260         * bindings/scripts/test/ObjC/DOMTestObj.h:
1261         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
1262         * bindings/scripts/test/ObjC/DOMTestTypedefs.h:
1263         * bindings/scripts/test/ObjC/DOMattribute.h:
1264
1265 2013-12-03  Alexey Proskuryakov  <ap@apple.com>
1266
1267         Update WebCrypto JWK mapping to newer proposal
1268         https://bugs.webkit.org/show_bug.cgi?id=124218
1269
1270         Reviewed by Anders Carlsson.
1271
1272         Tests: crypto/subtle/jwk-export-use-values.html
1273                crypto/subtle/jwk-import-use-values.html
1274
1275         1. "extractable" renamed to "ext" in JWK.
1276         2. New values for "use" mapping, which can now be combined into comma separated lists,
1277         and cover all possible WebCrypto usages.
1278
1279         * bindings/js/JSCryptoKeySerializationJWK.cpp:
1280         (WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
1281         (WebCore::JSCryptoKeySerializationJWK::reconcileExtractable):
1282         (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
1283         (WebCore::processUseValue):
1284         (WebCore::JSCryptoKeySerializationJWK::addJWKUseToJSON):
1285         (WebCore::JSCryptoKeySerializationJWK::serialize):
1286
1287 2013-12-03  Simon Fraser  <simon.fraser@apple.com>
1288
1289         Remove some iOS-related documentScale code
1290         https://bugs.webkit.org/show_bug.cgi?id=125194
1291
1292         Reviewed by Enrica Casucci.
1293
1294         Remove exports of nonexistent documentScale-related functions on Frame.
1295
1296         * WebCore.exp.in:
1297
1298 2013-12-03  Eric Carlson  <eric.carlson@apple.com>
1299
1300         Fix regression caused by r158599
1301         https://bugs.webkit.org/show_bug.cgi?id=125188
1302
1303         Reviewed by Jer Noble.
1304
1305         * html/HTMLMediaElement.cpp:
1306         (HTMLMediaElement::clearMediaPlayer): Do not clear m_player when PLUGIN_PROXY_FOR_VIDEO
1307             is enabled.
1308
1309 2013-12-03  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1310
1311         Nix Upstream: Updating WebCore files
1312         https://bugs.webkit.org/show_bug.cgi?id=124981
1313
1314         Reviewed by Benjamin Poulain.
1315
1316         Just to sync our github repo files and the trunk, as part of the upstream process
1317
1318         No new tests needed.
1319
1320         * PlatformNix.cmake:
1321         * css/mediaControlsNix.css:
1322         (audio):
1323         (video::-webkit-media-controls):
1324         (audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure):
1325         (video::-webkit-media-controls-enclosure):
1326         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
1327         (video:-webkit-full-page-media):
1328         (audio:-webkit-full-page-media, video:-webkit-full-page-media):
1329         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
1330         (audio::-webkit-media-controls-overlay-play-button, video::-webkit-media-controls-overlay-play-button):
1331         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
1332         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
1333         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
1334         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
1335         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
1336         (input[type="range"]::-webkit-media-slider-container):
1337         (input[type="range"]::-webkit-media-slider-container > div):
1338         (input[type="range"]::-webkit-media-slider-thumb):
1339         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
1340         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
1341         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
1342         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
1343         (audio::-webkit-media-controls-fullscreen-volume-slider, video::-webkit-media-controls-fullscreen-volume-slider):
1344         (audio::-webkit-media-controls-fullscreen-volume-min-button, video::-webkit-media-controls-fullscreen-volume-min-button):
1345         (audio::-webkit-media-controls-fullscreen-volume-max-button, video::-webkit-media-controls-fullscreen-volume-max-button):
1346         (video::-webkit-media-text-track-container):
1347         (video::cue):
1348         (video::-webkit-media-text-track-region):
1349         (video::-webkit-media-text-track-region-container):
1350         (video::-webkit-media-text-track-region-container.scrolling):
1351         (video::-webkit-media-text-track-display):
1352         (video::cue(:future)):
1353         (video::-webkit-media-text-track-container b):
1354         (video::-webkit-media-text-track-container u):
1355         (video::-webkit-media-text-track-container i):
1356         * editing/Editor.cpp:
1357         (WebCore::Editor::cut):
1358         (WebCore::Editor::copy):
1359         (WebCore::Editor::copyImage):
1360         * editing/Editor.h:
1361         * html/HTMLCanvasElement.h:
1362         * platform/Cursor.h:
1363         * platform/audio/FFTFrame.h:
1364         * platform/audio/nix/AudioBusNix.cpp:
1365         (WebCore::AudioBus::loadPlatformResource):
1366         * platform/graphics/GLContext.h:
1367         * platform/nix/CursorNix.cpp:
1368         (WebCore::Cursor::ensurePlatformCursor):
1369         * platform/nix/GamepadsNix.cpp:
1370         (WebCore::sampleGamepads):
1371         * platform/nix/RenderThemeNix.cpp:
1372         (WebCore::toIntSize):
1373         (WebCore::toNixRect):
1374         (WebCore::RenderThemeNix::platformActiveSelectionBackgroundColor):
1375         (WebCore::RenderThemeNix::platformInactiveSelectionBackgroundColor):
1376         (WebCore::RenderThemeNix::platformActiveSelectionForegroundColor):
1377         (WebCore::RenderThemeNix::platformInactiveSelectionForegroundColor):
1378         (WebCore::RenderThemeNix::platformActiveListBoxSelectionBackgroundColor):
1379         (WebCore::RenderThemeNix::platformInactiveListBoxSelectionBackgroundColor):
1380         (WebCore::RenderThemeNix::platformActiveListBoxSelectionForegroundColor):
1381         (WebCore::RenderThemeNix::platformInactiveListBoxSelectionForegroundColor):
1382         (WebCore::RenderThemeNix::platformActiveTextSearchHighlightColor):
1383         (WebCore::RenderThemeNix::platformInactiveTextSearchHighlightColor):
1384         (WebCore::RenderThemeNix::platformFocusRingColor):
1385         (WebCore::RenderThemeNix::platformTapHighlightColor):
1386         (WebCore::RenderThemeNix::paintButton):
1387         (WebCore::RenderThemeNix::paintTextField):
1388         (WebCore::RenderThemeNix::paintCheckbox):
1389         (WebCore::RenderThemeNix::setCheckboxSize):
1390         (WebCore::RenderThemeNix::paintRadio):
1391         (WebCore::RenderThemeNix::setRadioSize):
1392         (WebCore::RenderThemeNix::paintMenuList):
1393         (WebCore::RenderThemeNix::paintProgressBar):
1394         (WebCore::RenderThemeNix::paintSliderTrack):
1395         (WebCore::RenderThemeNix::paintSliderThumb):
1396         (WebCore::RenderThemeNix::paintInnerSpinButton):
1397         (WebCore::RenderThemeNix::paintMeter):
1398         (WebCore::RenderThemeNix::extraMediaControlsStyleSheet):
1399         (WebCore::RenderThemeNix::paintMediaPlayButton):
1400         (WebCore::RenderThemeNix::paintMediaMuteButton):
1401         (WebCore::RenderThemeNix::paintMediaSeekBackButton):
1402         (WebCore::RenderThemeNix::paintMediaSeekForwardButton):
1403         (WebCore::RenderThemeNix::paintMediaSliderTrack):
1404         (WebCore::RenderThemeNix::paintMediaVolumeSliderContainer):
1405         (WebCore::RenderThemeNix::paintMediaVolumeSliderTrack):
1406         (WebCore::RenderThemeNix::paintMediaRewindButton):
1407         * platform/nix/RenderThemeNix.h:
1408         * rendering/SimpleLineLayout.cpp:
1409         (WebCore::SimpleLineLayout::canUseFor):
1410
1411 2013-12-03  Ralph Thomas  <ralpht@gmail.com>
1412
1413         Typo: FixedPositionConstaint -> FixedPositionConstraint
1414         https://bugs.webkit.org/show_bug.cgi?id=125171
1415
1416         Reviewed by Simon Fraser.
1417
1418         No new tests, no change in behavior.
1419
1420         * page/scrolling/ScrollingConstraints.h:
1421         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
1422         (WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):
1423         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1424         (WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):
1425
1426 2013-12-03  Samuel White  <samuel_white@apple.com>
1427
1428         AXPress event coordinates are always sent as (0, 0)
1429         https://bugs.webkit.org/show_bug.cgi?id=76677
1430
1431         Reviewed by Simon Fraser.
1432
1433         Set the coordinates of a simulated press equal to the center of the target
1434         element when the simulated press does not have a related mouse event.
1435
1436         Test: accessibility/press-targets-center-point.html
1437
1438         * dom/Element.cpp:
1439         (WebCore::Element::clientRect):
1440         (WebCore::Element::screenRect):
1441         * dom/Element.h:
1442         * dom/EventDispatcher.cpp:
1443         (WebCore::EventDispatcher::dispatchSimulatedClick):
1444         * dom/MouseEvent.cpp:
1445         (WebCore::SimulatedMouseEvent::create):
1446         (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
1447         * dom/MouseEvent.h:
1448
1449 2013-12-03  Dean Jackson  <dino@apple.com>
1450
1451         [WebGL] Implement OES texture float linear
1452         https://bugs.webkit.org/show_bug.cgi?id=124871
1453
1454         Reviewed by Brent Fulgham.
1455
1456         Implement the OES_texture_float_linear extension. Generally
1457         we'd also enable OES_texture_half_float_linear at the same
1458         time, but that's blocked on webkit.org/b/110936.
1459
1460         Test: fast/canvas/webgl/oes-texture-float-linear.html
1461
1462         * CMakeLists.txt: Add new files.
1463         * DerivedSources.cpp: Ditto.
1464         * DerivedSources.make: Generate new file from IDL.
1465         * GNUmakefile.list.am: Add new files.
1466         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
1467         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1468         * WebCore.xcodeproj/project.pbxproj: New files for OESTextureFloatLinear.
1469
1470         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1471         (WebCore::toJS): Map the new name into the appropriate type.
1472
1473         * html/canvas/OESTextureFloatLinear.cpp: Added. This is a very simple class
1474         that's mostly empty.
1475         (WebCore::OESTextureFloatLinear::OESTextureFloatLinear):
1476         (WebCore::OESTextureFloatLinear::~OESTextureFloatLinear):
1477         (WebCore::OESTextureFloatLinear::getName):
1478         (WebCore::OESTextureFloatLinear::create):
1479         * html/canvas/OESTextureFloatLinear.h: Added.
1480         * html/canvas/OESTextureFloatLinear.idl: Added.
1481
1482         * html/canvas/WebGLExtension.h: Declare the new name in the enum of extensions.
1483
1484         * html/canvas/WebGLRenderingContext.cpp:
1485         (WebCore::WebGLRenderingContext::drawArrays): Call new name.
1486         (WebCore::WebGLRenderingContext::drawElements): Call new name.
1487         (WebCore::WebGLRenderingContext::getExtension): Create the new extension if asked.
1488         (WebCore::WebGLRenderingContext::checkTextureCompleteness): Renamed from handleNPOTTextures. Now
1489         checks for the type of the texture too.
1490         * html/canvas/WebGLRenderingContext.h: Member variable for new extension.
1491
1492         * html/canvas/WebGLTexture.cpp:
1493         (WebCore::WebGLTexture::WebGLTexture):
1494         (WebCore::WebGLTexture::needToUseBlackTexture): Takes an extra parameter which indicates
1495         if it has an extension enabled.
1496         (WebCore::WebGLTexture::update): Note it is a float type when updating.
1497         * html/canvas/WebGLTexture.h: New flag to indicate float type.
1498
1499         * platform/graphics/Extensions3D.h: New flag type.
1500         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1501         (WebCore::Extensions3DOpenGL::supportsExtension): Add a comment about the extension.
1502
1503 2013-12-03  Alexey Proskuryakov  <ap@apple.com>
1504
1505         Support exporting private WebCrypto RSA keys
1506         https://bugs.webkit.org/show_bug.cgi?id=124483
1507
1508         Reviewed by Anders Carlsson.
1509
1510         Test: crypto/subtle/rsa-export-private-key.html
1511
1512         It might be better to have our own bignum implementation in WTF, but we currently
1513         don't, and the need for this computation is Common Crypto specific anyway.
1514
1515         * crypto/CommonCryptoUtilities.h:
1516         * crypto/CommonCryptoUtilities.cpp:
1517         (WebCore::CCBigNum::CCBigNum):
1518         (WebCore::CCBigNum::~CCBigNum):
1519         (WebCore::CCBigNum::operator=):
1520         (WebCore::CCBigNum::data):
1521         (WebCore::CCBigNum::operator-):
1522         (WebCore::CCBigNum::operator%):
1523         (WebCore::CCBigNum::inverse):
1524         Added a minimal wrapper around CommonCrypto BigNum.
1525
1526         * crypto/mac/CryptoKeyRSAMac.cpp:
1527         (WebCore::getPrivateKeyComponents): Compute missing parts using CCBigNum.
1528         (WebCore::CryptoKeyRSA::exportData): Implemented private key case.
1529
1530 2013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
1531
1532         XML fragment parsing algorithm doesn't use the context element's default namespace URI
1533         https://bugs.webkit.org/show_bug.cgi?id=125132
1534
1535         Reviewed by Darin Adler.
1536
1537         Always use the context element's namespace as the default namespace URI when one is not specified by xmlns.
1538
1539         The new behavior matches that of Internet Explorer and the specified behavior in HTML5:
1540         http://www.w3.org/TR/2013/CR-html5-20130806/the-xhtml-syntax.html#parsing-xhtml-fragments
1541
1542         "The default namespace is the namespace for which the DOM isDefaultNamespace() method on the element would
1543         return true."
1544
1545         Test: fast/parser/fragment-parsing-in-document-without-xmlns.html
1546
1547         * xml/parser/XMLDocumentParserLibxml2.cpp:
1548         (WebCore::XMLDocumentParser::XMLDocumentParser):
1549
1550 2013-12-03  Nick Diego Yamane  <nick.yamane@openbossa.org>
1551
1552         Remove some CSS Variables leftovers
1553         https://bugs.webkit.org/show_bug.cgi?id=125167
1554
1555         Reviewed by Darin Adler.
1556
1557         No new tests needed. Only removing leftover code.
1558
1559         * css/CSSBasicShapes.cpp:
1560         * css/CSSBasicShapes.h:
1561
1562 2013-12-03  Myles C. Maxfield  <mmaxfield@apple.com>
1563
1564         Checking second-to-last bit in address is a typo
1565         https://bugs.webkit.org/show_bug.cgi?id=125162
1566
1567         Reviewed by Darin Adler.
1568
1569         After talking with the original author of this line,
1570         is was a typo to make sure that the second-to-last bit
1571         in an address is 0. Instead, we want to make sure that
1572         the address is aligned to a 4-byte boundary
1573
1574         No behavior change, so no test is necessary
1575
1576         * platform/graphics/cg/ImageBufferCG.cpp:
1577         (WebCore::ImageBuffer::ImageBuffer):
1578
1579 2013-12-03  Radu Stavila  <stavila@adobe.com>
1580
1581         The overflow border of a relatively positioned element inside a region is not painted
1582         https://bugs.webkit.org/show_bug.cgi?id=124919
1583
1584         Relative positioned elements have self-painting layers that don't propagate the visual overflow
1585         so the layer's position should be used when determining the clipping rectangle for box decorations.
1586
1587         Reviewed by Mihnea Ovidenie.
1588
1589         Test: fast/regions/relative-borders-overflow.html
1590
1591         * rendering/RenderFlowThread.cpp:
1592         (WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
1593
1594 2013-12-03  Seokju Kwon  <seokju@webkit.org>
1595
1596         Web Inspector: Get rid of 'hasFrontend()' in InspectorController and WorkerInspectorController
1597         https://bugs.webkit.org/show_bug.cgi?id=125135
1598
1599         Reviewed by Darin Adler.
1600
1601         Remove 'hasFrontend()' from InspectorController and WorkerInspectorController
1602         as it's never called.
1603
1604         No new tests, no behavior changes.
1605
1606         * inspector/InspectorController.h:
1607         * inspector/WorkerInspectorController.h:
1608
1609 2013-12-03  Seokju Kwon  <seokju@webkit.org>
1610
1611         Web Inspector: webViewResized() is not used anywhere in WebInspectorUI
1612         https://bugs.webkit.org/show_bug.cgi?id=125137
1613
1614         Reviewed by Darin Adler.
1615
1616         Remove leftover code.
1617
1618         No new tests, no behavior changes.
1619
1620         * inspector/InspectorController.cpp:
1621         * inspector/InspectorController.h:
1622         * inspector/InspectorOverlay.cpp:
1623         * inspector/InspectorOverlay.h:
1624         * inspector/InspectorPageAgent.cpp:
1625         * inspector/InspectorPageAgent.h:
1626
1627 2013-12-03  László Langó  <lango@inf.u-szeged.hu>
1628
1629         ASSERTION FAILED: !value || (value->isPrimitiveValue()) in WebCore::StyleProperties::getLayeredShorthandValue.
1630         https://bugs.webkit.org/show_bug.cgi?id=125146
1631
1632         Reviewed by Darin Adler.
1633
1634         Do not presume that |yValue| is primitive if |value| is implicit in StylePropertySerializer.
1635         An implicit y-value can become explicit if specified as a separate longhand.
1636         At the same time, its new value can be non-primitive.
1637
1638         Backported from Blink:
1639         http://src.chromium.org/viewvc/blink?view=rev&rev=153678
1640
1641         Test: fast/css/webkit-mask-crash-implicit.html
1642
1643         * css/StyleProperties.cpp:
1644         (WebCore::StyleProperties::getLayeredShorthandValue):
1645
1646 2013-12-03  Rob Buis  <rob.buis@samsung.com>
1647
1648         Fix build break after r160007.
1649
1650         * rendering/style/BasicShapes.cpp:
1651         (WebCore::BasicShape::canBlend):
1652
1653 2013-12-03  Rob Buis  <rob.buis@samsung.com>
1654
1655         [css shapes] layout for new ellipse syntax
1656         https://bugs.webkit.org/show_bug.cgi?id=124621
1657
1658         Reviewed by Dirk Schulze.
1659
1660         Implement support for doing layout with the new ellipse shape syntax,
1661         including basic animation support.
1662
1663         Test: fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-000.html
1664
1665         * rendering/shapes/Shape.cpp:
1666         (WebCore::Shape::createShape): Convert new ellipse to a layout shape.
1667         * rendering/style/BasicShapes.cpp:
1668         (WebCore::BasicShape::canBlend): Ignore ellipses with values that
1669             cannot be interpolated.
1670         (WebCore::BasicShapeEllipse::floatValueForRadiusInBox): Helper function to calculate
1671             either radiusX or radiusY, shared by clip-path and shape code paths.
1672         (WebCore::BasicShapeEllipse::path):
1673         * rendering/style/BasicShapes.h:
1674
1675 2013-12-03  Frédéric Wang  <fred.wang@free.fr>
1676
1677         Add an MathMLSelectElement class to implement <maction> and <semantics>.
1678         <https://webkit.org/b/120058>
1679
1680         Reviewed by Chris Fleizach.
1681
1682         Tests: mathml/presentation/maction-dynamic.html
1683                mathml/presentation/maction.html
1684                mathml/presentation/semantics.html
1685
1686         This adds a new MathMLSelectElement class to prepare the implementation
1687         of the <maction> and <semantics> elements, for which only one "selected"
1688         child is visible. We now simply display the first child of the
1689         <semantics> element instead of hiding the annotations and this allows to
1690         handle the use case of SVG-in-MathML as generated by Instiki when
1691         bug 124128 is fixed ; Gecko's selection algorithm will be implemented
1692         later (bug 100626). We now also rely on the @actiontype and @selection
1693         attributes to select the visible <maction> child ; It remains to deal
1694         with the user interaction (bug 85734).
1695
1696         * CMakeLists.txt: add the new files.
1697         * GNUmakefile.list.am: ditto
1698         * Target.pri: ditto
1699         * WebCore.vcxproj/WebCore.vcxproj: ditto
1700         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto
1701         * WebCore.xcodeproj/project.pbxproj: ditto
1702         * css/mathml.css: remove the CSS rule for annotation/annotation-xml.
1703         * mathml/MathMLAllInOne.cpp: add the new cpp file.
1704         * mathml/MathMLSelectElement.cpp: Added.
1705         (WebCore::MathMLSelectElement::MathMLSelectElement):
1706         (WebCore::MathMLSelectElement::create):
1707         (WebCore::MathMLSelectElement::createRenderer):
1708         (WebCore::MathMLSelectElement::childShouldCreateRenderer):
1709         (WebCore::MathMLSelectElement::finishParsingChildren):
1710         (WebCore::MathMLSelectElement::childrenChanged):
1711         (WebCore::MathMLSelectElement::attributeChanged):
1712         (WebCore::MathMLSelectElement::updateSelectedChild): basic implementation for maction, semantics, maction@actiontype and maction@selection.
1713         * mathml/MathMLSelectElement.h: Added.
1714         * mathml/mathattrs.in: add actiontype and selection attributes.
1715         * mathml/mathtags.in: set element classes for maction, semantics, annotation and annotation-xml.
1716
1717 2013-12-03  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1718
1719         Nix Upstream: Adding missing nix new files to WebCore
1720         https://bugs.webkit.org/show_bug.cgi?id=124987
1721
1722         Reviewed by Benjamin Poulain.
1723
1724         No new tests needed.
1725
1726         * PlatformNix.cmake:
1727         * platform/nix/ErrorsNix.cpp: Added.
1728         * platform/nix/ErrorsNix.h: Added.
1729         * platform/nix/FileSystemNix.cpp: Added.
1730         * platform/nix/MIMETypeRegistryNix.cpp: Added.
1731         * platform/nix/SharedTimerNix.cpp: Added.
1732         * platform/nix/TemporaryLinkStubs.cpp: Added.
1733
1734 2013-12-03  Tamas Gergely  <gertom@inf.u-szeged.hu>
1735
1736         Correct broken build on efl port with --no-netscape-plugin-api
1737         configuration.
1738         https://bugs.webkit.org/show_bug.cgi?id=123997
1739
1740         Reviewed by Zoltan Herczeg.
1741
1742         Build failed on efl port with --no-netscape-plugin-api configuration
1743         as ld did not found some methods. The configuration uses a minimal
1744         empty implementation of the class, which is now extended with empty
1745         method implementations.
1746
1747         * plugins/PluginPackageNone.cpp:
1748         (WebCore::PluginPackage::createPackage):
1749           Returns NULL pointer.
1750         (WebCore::PluginPackage::hash):
1751           Returns 0.
1752         (WebCore::PluginPackage::equal):
1753           Returns true (equals).
1754         (WebCore::PluginPackage::compare):
1755           Returns 0 (equals).
1756         (WebCore::PluginPackage::~PluginPackage):
1757           Do nothing.
1758
1759 2013-12-02  Andreas Kling  <akling@apple.com>
1760
1761         Avoid setting style twice for generated image content.
1762         <https://webkit.org/b/125128>
1763
1764         Take care of a FIXME I added in r158097 and avoid redundant work in
1765         ImageContentData::createRenderer().
1766
1767         I changed the inheritance helper RenderImage::setPseudoStyle() into
1768         a new createStyleInheritingFromPseudoStyle() function instead so it
1769         can be used from both PseudoElement and ImageContentData.
1770
1771         Reviewed by Antti Koivisto.
1772
1773 2013-12-02  Samuel White  <samuel_white@apple.com>
1774
1775         AX: Add AXUIElementCountForSearchPredicate parameterized attribute.
1776         https://bugs.webkit.org/show_bug.cgi?id=124561
1777
1778         Reviewed by Chris Fleizach.
1779
1780         Added ability to fetch the number of elements that match a specific criteria. This will enable VoiceOver
1781         to interface with WebKit much more dynamically. We can now get an idea of how many interesting elements
1782         exist on a page, and then fetch them in chunks as needed.
1783
1784         Test: platform/mac/accessibility/search-predicate-element-count.html
1785
1786         * accessibility/AccessibilityObject.cpp:
1787         (WebCore::AccessibilityObject::isAccessibilityTextSearchMatch):
1788         * accessibility/AccessibilityObject.h:
1789         (WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
1790         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1791         (accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute):
1792         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
1793         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
1794
1795 2013-12-02  Bem Jones-Bey  <bjonesbe@adobe.com>
1796
1797         [css shapes] Layout support for new circle shape syntax
1798         https://bugs.webkit.org/show_bug.cgi?id=124619
1799
1800         Reviewed by Dirk Schulze.
1801
1802         Implement support for doing layout with the new circle shape syntax,
1803         inclduing basic animation support.
1804
1805         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-circle-000.html
1806                fast/shapes/shape-outside-floats/shape-outside-floats-circle-001.html
1807                fast/shapes/shape-outside-floats/shape-outside-floats-circle-002.html
1808                fast/shapes/shape-outside-floats/shape-outside-floats-circle-003.html
1809                fast/shapes/shape-outside-floats/shape-outside-floats-circle-004.html
1810                fast/shapes/shape-outside-floats/shape-outside-floats-circle-005.html
1811
1812         * css/BasicShapeFunctions.cpp:
1813         (WebCore::floatValueForCenterCoordinate): Used by both the CSS Shapes
1814             layout code and the clip path code.
1815         * css/BasicShapeFunctions.h:
1816         * css/CSSBasicShapes.cpp:
1817         (WebCore::buildCircleString): Update to use appendLiteral, and remove
1818             call to reserveCapacity - if we find that it's actually slow when
1819             doing performance tests, we can hopefully do something smarter and
1820             less ugly than that.
1821         * css/CSSParser.cpp:
1822         (WebCore::CSSParser::parseShapeRadius): Fix a logic error that caused
1823             the radius keywords not to work properly.
1824         * rendering/shapes/Shape.cpp:
1825         (WebCore::Shape::createShape): Convert new circle to a layout shape.
1826         * rendering/style/BasicShapes.cpp:
1827         (WebCore::BasicShape::canBlend): Ignore circles with values that
1828             cannot be interpolated.
1829         (WebCore::BasicShapeCircle::floatValueForRadiusInBox): Convert circle
1830             radius keywords to a float value.
1831         (WebCore::BasicShapeCircle::path):
1832         (WebCore::BasicShapeCircle::blend):
1833         * rendering/style/BasicShapes.h:
1834         (WebCore::BasicShapeCenterCoordinate::canBlend):
1835         (WebCore::BasicShapeRadius::canBlend):
1836
1837 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
1838
1839         WebCrypto HMAC doesn't check key algorithm's hash
1840         https://bugs.webkit.org/show_bug.cgi?id=125114
1841
1842         Reviewed by Anders Carlsson.
1843
1844         Test: crypto/subtle/hmac-check-algorithm.html
1845
1846         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
1847         (WebCore::CryptoAlgorithmHMAC::keyAlgorithmMatches): Check it.
1848
1849 2013-12-02  Brady Eidson  <beidson@apple.com>
1850
1851         Possible crash in ProgressTracker::progressHeartbeatTimerFired(Timer<ProgressTracker>*)
1852         https://bugs.webkit.org/show_bug.cgi?id=125110
1853
1854         Reviewed by Darin Adler.
1855
1856         FrameLoader::loadProgressingStatusChanged() might be called while the Frame has a null FrameView.
1857
1858         It’s unclear how to reproduce, but there’s no harm in a null check.
1859
1860         * loader/FrameLoader.cpp:
1861         (WebCore::FrameLoader::loadProgressingStatusChanged):
1862
1863 2013-12-02  Brady Eidson  <beidson@apple.com>
1864
1865         Possible crash in ProgressTracker::progressHeartbeatTimerFired(Timer<ProgressTracker>*)
1866         https://bugs.webkit.org/show_bug.cgi?id=125110
1867
1868         Reviewed by Darin Adler.
1869
1870         It’s possible to have a null m_originatingProgressFrame when the heartbeat timer fires.
1871
1872         On the surface this seems impossible because the only time m_originatingProgressFrame is cleared
1873         out the heartbeat timer is also stopped.
1874
1875         But there’s likely still a race condition in multi-threaded environments.
1876
1877         There’s no harm in null-checking m_originatingProgressFrame before accessing its loader.
1878
1879         * loader/ProgressTracker.cpp:
1880         (WebCore::ProgressTracker::progressHeartbeatTimerFired):
1881
1882 2013-12-02  Brady Eidson  <beidson@apple.com>
1883
1884         Add more CachedPage null checks
1885         https://bugs.webkit.org/show_bug.cgi?id=125106
1886
1887         Reviewed by Sam Weinig.
1888
1889         Only some functions in PageCache.cpp null-check the CachedPages in HistoryItems.
1890
1891         Every part that manipulates the CachedPage should.
1892
1893         * history/PageCache.cpp:
1894         (WebCore::PageCache::markPagesForVistedLinkStyleRecalc):
1895         (WebCore::PageCache::markPagesForFullStyleRecalc):
1896         (WebCore::PageCache::markPagesForDeviceScaleChanged):
1897         (WebCore::PageCache::markPagesForCaptionPreferencesChanged):
1898
1899 2013-12-02  Zoltan Horvath  <zoltan@webkit.org>
1900
1901         [CSS Shapes] Support inset parsing
1902         https://bugs.webkit.org/show_bug.cgi?id=124903
1903
1904         Reviewed by David Hyatt.
1905
1906         In this patch I added support for inset shape parsing for CSS Shapes. Inset is defined
1907         by CSS Shapes Level 1 (http://dev.w3.org/csswg/css-shapes-1/#supported-basic-shapes).
1908         Inset is going to be used by shape-outside (bug #124905), and eventually by shape-inside.
1909
1910         No new tests, I updated existing tests to cover the changes.
1911
1912         * css/BasicShapeFunctions.cpp:
1913         (WebCore::valueForBasicShape): Add support for inset.
1914         (WebCore::basicShapeForValue): Add support for inset.
1915         * css/CSSBasicShapes.cpp:
1916         (WebCore::buildInsetString): Create inset css string.
1917         (WebCore::CSSBasicShapeInset::cssText): Convert inset shape to a CSS string.
1918         (WebCore::CSSBasicShapeInset::equals): Compare two inset rectangles.
1919         (WebCore::CSSBasicShapeInset::serializeResolvingVariables): Create an inset string, with CSS variables resolved.
1920         (WebCore::CSSBasicShapeInset::hasVariableReference): Determine if this inset has any CSS Variable references.
1921         * css/CSSBasicShapes.h: Add inset class.
1922         (WebCore::CSSBasicShapeInset::create):
1923         (WebCore::CSSBasicShapeInset::top):
1924         (WebCore::CSSBasicShapeInset::right):
1925         (WebCore::CSSBasicShapeInset::bottom):
1926         (WebCore::CSSBasicShapeInset::left):
1927         (WebCore::CSSBasicShapeInset::topLeftRadius):
1928         (WebCore::CSSBasicShapeInset::topRightRadius):
1929         (WebCore::CSSBasicShapeInset::bottomRightRadius):
1930         (WebCore::CSSBasicShapeInset::bottomLeftRadius):
1931         (WebCore::CSSBasicShapeInset::setTop):
1932         (WebCore::CSSBasicShapeInset::setRight):
1933         (WebCore::CSSBasicShapeInset::setBottom):
1934         (WebCore::CSSBasicShapeInset::setLeft):
1935         (WebCore::CSSBasicShapeInset::setTopLeftRadius):
1936         (WebCore::CSSBasicShapeInset::setTopRightRadius):
1937         (WebCore::CSSBasicShapeInset::setBottomRightRadius):
1938         (WebCore::CSSBasicShapeInset::setBottomLeftRadius):
1939         (WebCore::CSSBasicShapeInset::CSSBasicShapeInset):
1940         * css/CSSParser.cpp:
1941         (WebCore::completeBorderRadii): Move static function before parseInsetBorderRadius.
1942         (WebCore::CSSParser::parseInsetRoundedCorners): I added this helper function for parsing the rounded corners
1943         (WebCore::CSSParser::parseBasicShapeInset): Parse inset.
1944         (WebCore::CSSParser::parseBasicShape): Add call to parse inset.
1945         * css/CSSParser.h:
1946         * css/CSSPrimitiveValue.cpp:
1947         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add constructor for LengthSize.
1948         (WebCore::CSSPrimitiveValue::init): Initialize LengthSize.
1949         * css/CSSPrimitiveValue.h:
1950         (WebCore::CSSPrimitiveValue::create): Add support for creating PrimitiveValue from LengthSize.
1951         * css/CSSValuePool.h:
1952         (WebCore::CSSValuePool::createValue): Add support for LengthSize.
1953         * platform/LengthSize.h:
1954         (WebCore::LengthSize::blend): Add blend for LengthSize.
1955         * rendering/shapes/ShapeInsideInfo.cpp:
1956         (WebCore::ShapeInsideInfo::isEnabledFor): Keep inset disabled for shape-inside now.
1957         * rendering/style/BasicShapes.cpp:
1958         (WebCore::BasicShapeInset::path): Calculate path for an inset.
1959         (WebCore::BasicShapeInset::blend): Blend two insets.
1960         * rendering/style/BasicShapes.h: Add higher level inset.
1961         (WebCore::BasicShapeInset::create):
1962         (WebCore::BasicShapeInset::top):
1963         (WebCore::BasicShapeInset::right):
1964         (WebCore::BasicShapeInset::bottom):
1965         (WebCore::BasicShapeInset::left):
1966         (WebCore::BasicShapeInset::topLeftRadius):
1967         (WebCore::BasicShapeInset::topRightRadius):
1968         (WebCore::BasicShapeInset::bottomRightRadius):
1969         (WebCore::BasicShapeInset::bottomLeftRadius):
1970         (WebCore::BasicShapeInset::setTop):
1971         (WebCore::BasicShapeInset::setRight):
1972         (WebCore::BasicShapeInset::setBottom):
1973         (WebCore::BasicShapeInset::setLeft):
1974         (WebCore::BasicShapeInset::setTopLeftRadius):
1975         (WebCore::BasicShapeInset::setTopRightRadius):
1976         (WebCore::BasicShapeInset::setBottomRightRadius):
1977         (WebCore::BasicShapeInset::setBottomLeftRadius):
1978         (WebCore::BasicShapeInset::BasicShapeInset):
1979
1980 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
1981
1982         Support WebCrypto AES-KW
1983         https://bugs.webkit.org/show_bug.cgi?id=125105
1984
1985         Reviewed by Sam Weinig.
1986
1987         Tests: crypto/subtle/aes-kw-key-manipulation.html
1988                crypto/subtle/aes-kw-wrap-unwrap-aes.html
1989
1990         * WebCore.xcodeproj/project.pbxproj: Added new files.
1991
1992         * crypto/CryptoAlgorithmIdentifier.h: (WebCore::CryptoAlgorithmIdentifier): Added AES-KW.
1993         It's not standardized yet, but there appears to be a consensus that it will be specified.
1994
1995         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
1996         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
1997         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
1998         (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
1999         (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
2000         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
2001         (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
2002         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
2003         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
2004         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
2005         (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
2006         Added AES-KW cases everywhere.
2007
2008         * bindings/js/JSCryptoKeySerializationJWK.cpp:
2009         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
2010         (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
2011         (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
2012         Support importing/exporting AES-KW keys in JWK.
2013
2014         * bindings/js/JSSubtleCryptoCustom.cpp:
2015         (WebCore::JSSubtleCrypto::importKey):
2016         (WebCore::JSSubtleCrypto::exportKey):
2017         (WebCore::JSSubtleCrypto::wrapKey):
2018         (WebCore::JSSubtleCrypto::unwrapKey):
2019         Added some accidentally forgotten std::moves.
2020
2021         * crypto/algorithms/CryptoAlgorithmAES_KW.cpp: Added.
2022         * crypto/algorithms/CryptoAlgorithmAES_KW.h: Added.
2023         * crypto/mac/CryptoAlgorithmAES_KWMac.cpp: Added.
2024
2025         * crypto/keys/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::CryptoKeyAES): Allow AES-KW
2026         as valid algorithm for AES keys.
2027
2028         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
2029         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register AES-KW.
2030
2031 2013-12-02  Beth Dakin  <bdakin@apple.com>
2032
2033         Add a setting to opt into a mode where the background extends and fixed elements 
2034         don't move on rubber-band
2035         https://bugs.webkit.org/show_bug.cgi?id=124745
2036
2037         Reviewed by Tim Horton.
2038
2039         New setting backgroundShouldExtendBeyondPage() will cause the tile cache to have a 
2040         margin, and it will also cause fixed elements and backgrounds to stick to the 
2041         viewport on scroll instead of sticking to the document. 
2042
2043         * WebCore.exp.in:
2044         * page/FrameView.cpp:
2045         (WebCore::FrameView::scrollBehaviorForFixedElements):
2046         * page/Settings.in:
2047         * rendering/RenderLayerBacking.cpp:
2048         (WebCore::RenderLayerBacking::RenderLayerBacking):
2049
2050 2013-12-02  Roger Zanoni  <rogerzanoni@gmail.com>
2051
2052         [MediaStream] Use iterator-based loops instead of index-based loops
2053         https://bugs.webkit.org/show_bug.cgi?id=125021
2054
2055         Reviewed by Eric Carlson.
2056
2057         Also, changing iterator variable names from iter to it and
2058         initializing an 'end' variable in each loop instead of evaluating
2059         'collection.end()' multiple times.
2060
2061         No new tests, covered by existing ones.
2062
2063         * Modules/mediastream/MediaStream.cpp:
2064         (WebCore::MediaStream::cloneMediaStreamTrackVector):
2065         (WebCore::MediaStream::haveTrackWithSource):
2066         (WebCore::MediaStream::getTrackById):
2067         (WebCore::MediaStream::trackDidEnd):
2068         (WebCore::MediaStream::scheduledEventTimerFired):
2069
2070 2013-12-02  Rob Buis  <rob.buis@samsung.com>
2071
2072         [css shapes] Parse new ellipse shape syntax
2073         https://bugs.webkit.org/show_bug.cgi?id=124620
2074
2075         Reviewed by Dirk Schulze.
2076
2077         Implement parsing of the new ellipse shape syntax. This closely follows the patch
2078         for the new circle syntax (https://bugs.webkit.org/show_bug.cgi?id=124618), with
2079         some refactoring of functionality shared by both.
2080
2081         Updated existing parsing tests to cover this.
2082
2083         * css/BasicShapeFunctions.cpp:
2084         (WebCore::BasicShapeRadiusToCSSValue):
2085         (WebCore::valueForBasicShape):
2086         (WebCore::CSSValueToBasicShapeRadius):
2087         (WebCore::basicShapeForValue):
2088         * css/CSSBasicShapes.cpp:
2089         (WebCore::buildEllipseString):
2090         (WebCore::CSSBasicShapeEllipse::cssText):
2091         (WebCore::CSSBasicShapeEllipse::equals):
2092         (WebCore::buildDeprecatedEllipseString):
2093         (WebCore::CSSDeprecatedBasicShapeEllipse::cssText):
2094         (WebCore::CSSDeprecatedBasicShapeEllipse::equals):
2095         * css/CSSBasicShapes.h:
2096         (WebCore::CSSDeprecatedBasicShapeEllipse::create):
2097         (WebCore::CSSDeprecatedBasicShapeEllipse::centerX):
2098         (WebCore::CSSDeprecatedBasicShapeEllipse::centerY):
2099         (WebCore::CSSDeprecatedBasicShapeEllipse::radiusX):
2100         (WebCore::CSSDeprecatedBasicShapeEllipse::radiusY):
2101         (WebCore::CSSDeprecatedBasicShapeEllipse::setCenterX):
2102         (WebCore::CSSDeprecatedBasicShapeEllipse::setCenterY):
2103         (WebCore::CSSDeprecatedBasicShapeEllipse::setRadiusX):
2104         (WebCore::CSSDeprecatedBasicShapeEllipse::setRadiusY):
2105         (WebCore::CSSDeprecatedBasicShapeEllipse::CSSDeprecatedBasicShapeEllipse):
2106         * css/CSSParser.cpp:
2107         (WebCore::CSSParser::parseBasicShapeEllipse):
2108         (WebCore::CSSParser::parseDeprecatedBasicShapeEllipse):
2109         (WebCore::CSSParser::parseBasicShape):
2110         * css/CSSParser.h:
2111         * rendering/shapes/Shape.cpp:
2112         (WebCore::Shape::createShape):
2113         * rendering/style/BasicShapes.cpp:
2114         (WebCore::DeprecatedBasicShapeEllipse::path):
2115         (WebCore::DeprecatedBasicShapeEllipse::blend):
2116         (WebCore::BasicShapeEllipse::path):
2117         (WebCore::BasicShapeEllipse::blend):
2118         * rendering/style/BasicShapes.h:
2119         (WebCore::BasicShapeEllipse::centerX):
2120         (WebCore::BasicShapeEllipse::centerY):
2121         (WebCore::BasicShapeEllipse::radiusX):
2122         (WebCore::BasicShapeEllipse::radiusY):
2123         (WebCore::BasicShapeEllipse::setCenterX):
2124         (WebCore::BasicShapeEllipse::setCenterY):
2125         (WebCore::BasicShapeEllipse::setRadiusX):
2126         (WebCore::BasicShapeEllipse::setRadiusY):
2127         (WebCore::BasicShapeEllipse::BasicShapeEllipse):
2128         (WebCore::DeprecatedBasicShapeEllipse::create):
2129         (WebCore::DeprecatedBasicShapeEllipse::DeprecatedBasicShapeEllipse):
2130
2131 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
2132
2133         Add support for WebCrypto RSA-OAEP
2134         https://bugs.webkit.org/show_bug.cgi?id=125084
2135
2136         Build fix.
2137
2138         * crypto/CommonCryptoUtilities.h:
2139         * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
2140         * crypto/mac/CryptoKeyRSAMac.cpp:
2141
2142 2013-12-02  Brendan Long  <b.long@cablelabs.com>
2143
2144         Use GenericEventQueue in TrackListBase and reduce code duplication with scheduleTrackEvent()
2145         https://bugs.webkit.org/show_bug.cgi?id=124811
2146
2147         Reviewed by Eric Carlson.
2148
2149         No new tests because this is just refactoring.
2150
2151         * html/track/TrackListBase.cpp:
2152         (TrackListBase::TrackListBase): Replace event code with a GenericEventQueue.
2153         (TrackListBase::scheduleTrackEvent): Factor out duplicate code in schedule{Add,Remove}TrackEvent functions.
2154         (TrackListBase::scheduleAddTrackEvent): Same.
2155         (TrackListBase::scheduleRemoveTrackEvent): Same.
2156         (TrackListBase::scheduleChangeEvent): Use GenericEventQueue.
2157         * html/track/TrackListBase.h: Replace event code with GenericEventQueue.
2158
2159 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
2160
2161         Add support for WebCrypto RSA-OAEP
2162         https://bugs.webkit.org/show_bug.cgi?id=125084
2163
2164         Build fix.
2165
2166         * WebCore.xcodeproj/project.pbxproj: Fix an automatic merge failure by re-adding
2167         CryptoAlgorithmRsaOaepParams.h.
2168
2169 2013-12-02  Victor Jaquez  <vjaquez@igalia.com>
2170
2171         [Gstreamer] update webkitvideosink metadata
2172         https://bugs.webkit.org/show_bug.cgi?id=125082
2173
2174         Reviewed by Philippe Normand.
2175
2176         No new tests, no behavior changes.
2177
2178         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
2179         (webkit_video_sink_class_init):
2180
2181 2013-12-02  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
2182
2183         Simplify MediaPlayerPrivateGStreamerBase::createVideoSink()
2184         https://bugs.webkit.org/show_bug.cgi?id=125077
2185
2186         Remove the method's unused parameter.
2187         Remove the GStreamer 0.10.22 run-time validation, since we are using
2188         GStreamer 1.0 officially.
2189         Remove the creation of a spurious Bin for the video sink, since
2190         either the fpssink or the webkitsink are valid sink elements.
2191         Change fpsink to a GRefPtr.
2192
2193         Now, createVideoSink() returns a simple pointer to the created sink
2194         element.
2195
2196         Reviewed by Philippe Normand.
2197
2198         No new tests, no behavior changes.
2199
2200         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2201         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
2202         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2203         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
2204         (WebCore::MediaPlayerPrivateGStreamerBase::decodedFrameCount):
2205         (WebCore::MediaPlayerPrivateGStreamerBase::droppedFrameCount):
2206         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
2207
2208 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
2209
2210         Add support for WebCrypto RSA-OAEP
2211         https://bugs.webkit.org/show_bug.cgi?id=125084
2212
2213         Reviewed by Sam Weinig.
2214
2215         Tests: crypto/subtle/rsa-oaep-key-manipulation.html
2216                crypto/subtle/rsa-oaep-plaintext-length.html
2217                crypto/subtle/rsa-oaep-wrap-unwrap-aes.html
2218
2219         * WebCore.xcodeproj/project.pbxproj: Added new files.
2220
2221         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
2222         (WebCore::createRsaOaepParams):
2223         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
2224         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
2225         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
2226         Added RSA-OAEP parameters.
2227
2228         * bindings/js/JSCryptoKeySerializationJWK.cpp:
2229         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
2230         (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
2231         (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
2232         Support RSA-OAEP in JWK. It is more limited than general WebCrypto, as JWK only
2233         allows SHA-1 as hash.
2234
2235         * crypto/CommonCryptoUtilities.cpp: Added. (WebCore::getCommonCryptoDigestAlgorithm):
2236         * crypto/CommonCryptoUtilities.h: Added.
2237         Extracted some shared code and forward declarations for CommonCrypto.
2238
2239         * crypto/CryptoAlgorithmParameters.h: (WebCore::CryptoAlgorithmParameters::Class):
2240         * crypto/parameters/CryptoAlgorithmRsaOaepParams.h: Added.
2241         Added RsaOaepParams.
2242
2243         * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp: Added.
2244         * crypto/algorithms/CryptoAlgorithmRSA_OAEP.h: Added.
2245         * crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp: Added.
2246
2247         * crypto/mac/CryptoAlgorithmHMACMac.cpp:
2248         (WebCore::getCommonCryptoHMACAlgorithm):
2249         (WebCore::CryptoAlgorithmHMAC::platformSign):
2250         (WebCore::CryptoAlgorithmHMAC::platformVerify):
2251         * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
2252         * crypto/mac/CryptoKeyMac.cpp:
2253         * crypto/mac/CryptoKeyRSAMac.cpp:
2254         Use CommonCryptoUtilities.
2255
2256         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
2257         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register RSA-OAEP.
2258
2259 2013-12-02  Andres Gomez  <agomez@igalia.com>
2260
2261         [GTK] Fails to build with freetype 2.5.1
2262         https://bugs.webkit.org/show_bug.cgi?id=125074
2263
2264         Reviewed by Carlos Garcia Campos.
2265
2266         FreeType specifies a canonical way of including their own
2267         headers. Now, we are following this recommendation so the
2268         compilation won't be broken again due to an upgrade in FeeType's
2269         including paths.
2270
2271         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
2272         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
2273         * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
2274
2275 2013-12-02  Chris Fleizach  <cfleizach@apple.com>
2276
2277         AX: Crash at WebCore::commonTreeScope
2278         https://bugs.webkit.org/show_bug.cgi?id=125042
2279
2280         Reviewed by Mario Sanchez Prada.
2281
2282         When an AX text marker that references a node in a detached document is used to create a text marker range, a crash occurs
2283         because the method to determine commonTreeScopes does not account for when there are no common tree scopes.
2284
2285         Test: platform/mac/accessibility/ordered-textmarker-crash.html
2286
2287         * accessibility/AccessibilityObject.cpp:
2288         (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions):
2289         * dom/TreeScope.cpp:
2290         (WebCore::commonTreeScope):
2291
2292 2013-12-02  Nick Diego Yamane  <nick.yamane@openbossa.org>
2293
2294         Fix a crash in the webaudio source provider when the audio track is going away.
2295         https://bugs.webkit.org/show_bug.cgi?id=124975
2296
2297         Reviewed by Philippe Normand.
2298
2299         Merged https://chromium.googlesource.com/chromium/blink/+/b21838b32bf11b1a972dfc449ddde71115490c23
2300
2301         Before this patch, it was hitting a use-after-free crash  when the audio
2302         track in the media stream is going away and the webaudio mediastreamsourcenode
2303         is still running.
2304
2305         * Modules/webaudio/AudioContext.cpp:
2306         (WebCore::AudioContext::createMediaStreamSource): Passing audio track
2307         pointer to MediaStreamAudioSourceNode constructor.
2308         * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
2309         (WebCore::MediaStreamAudioSourceNode::create):
2310         (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
2311         * Modules/webaudio/MediaStreamAudioSourceNode.h: Added
2312         MediaStreamTrack class variable and change the constructor to receive
2313         it as parameter.
2314
2315 2013-12-02  Andrzej Badowski  <a.badowski@samsung.com>
2316
2317         [ATK] Support active state for listbox elements.
2318         https://bugs.webkit.org/show_bug.cgi?id=125009
2319
2320         Reviewed by Chris Fleizach.
2321
2322         Added support for ATK_STATE_ACTIVE for listbox elements.
2323
2324         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2325         (setAtkStateSetFromCoreObject):
2326
2327 2013-12-02  Seokju Kwon  <seokju@webkit.org>
2328
2329         Web Inspector: Remove unused functions from InspectorAgent
2330         https://bugs.webkit.org/show_bug.cgi?id=125061
2331
2332         Reviewed by Antoine Quint.
2333
2334         Get rid of unused functions, redundant inclusion and forward declaration.
2335
2336         No new tests, no behavior changes.
2337
2338         * inspector/InspectorAgent.cpp:
2339         * inspector/InspectorAgent.h:
2340
2341 2013-12-02  Tibor Meszaros  <mtibor@inf.u-szeged.hu>
2342
2343         Fix build warning in EventHandler.cpp
2344         https://bugs.webkit.org/show_bug.cgi?id=125010
2345
2346         Reviewed by Csaba Osztrogonác.
2347
2348         * page/EventHandler.cpp:
2349         (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
2350
2351 2013-12-02  Attila Dusnoki  <adusnoki@inf.u-szeged.hu>
2352
2353         HTML5 required attribute validation messages implemented.
2354         https://bugs.webkit.org/show_bug.cgi?id=125003
2355
2356         Reviewed by Gyuyoung Kim.
2357
2358         * platform/efl/LocalizedStringsEfl.cpp:
2359         (WebCore::validationMessagePatternMismatchText):
2360         (WebCore::validationMessageValueMissingText):
2361         (WebCore::validationMessageValueMissingForCheckboxText):
2362         (WebCore::validationMessageValueMissingForFileText):
2363         (WebCore::validationMessageValueMissingForMultipleFileText):
2364         (WebCore::validationMessageValueMissingForRadioText):
2365         (WebCore::validationMessageValueMissingForSelectText):
2366         (WebCore::validationMessageBadInputForNumberText):
2367
2368 2013-12-01  Andreas Kling  <akling@apple.com>
2369
2370         SVG: Intersection/enclosure checks should use RenderElement.
2371         <https://webkit.org/b/125058>
2372
2373         Make RenderSVGModelObject's checkIntersection() and checkEnclosure()
2374         take RenderElement* instead of RenderObject*. They are only ever
2375         called with SVGElement's renderers.
2376
2377         Reviewed by Sam Weinig.
2378
2379 2013-12-01  Andreas Kling  <akling@apple.com>
2380
2381         Remove unreachable labels for -webkit-margin-*-collapse properties.
2382         <https://webkit.org/b/125057>
2383
2384         The following properties are implemented in DeprecatedStyleBuilder
2385         and should not have case labels in the applyProperty() switch:
2386
2387             -webkit-margin-before-collapse
2388             -webkit-margin-top-collapse
2389             -webkit-margin-after-collapse
2390             -webkit-margin-bottom-collapse
2391
2392         This seems counter-intuitive, but they are actually *not* like other
2393         directional properties. In this case, before/after are only aliases
2394         for top/bottom, and do not depend on writing-mode or text-direction.
2395         See also r68561, where the aliases were originally added.
2396
2397         Reviewed by Anders Carlsson.
2398
2399 2013-12-01  Andreas Kling  <akling@apple.com>
2400
2401         CSSFunctionValue constructors should return PassRef.
2402         <https://webkit.org/b/125054>
2403
2404         Make CSSFunctionValue::create() helpers return PassRef instead of
2405         PassRefPtr since they will never return null.
2406
2407         Reviewed by Anders Carlsson.
2408
2409 2013-12-01  Commit Queue  <commit-queue@webkit.org>
2410
2411         Unreviewed, rolling out r159764.
2412         http://trac.webkit.org/changeset/159764
2413         https://bugs.webkit.org/show_bug.cgi?id=125055
2414
2415         appears to hurt html5-full-render times (Requested by kling on
2416         #webkit).
2417
2418         * html/parser/HTMLConstructionSite.cpp:
2419         (WebCore::HTMLConstructionSite::insertTextNode):
2420         * html/parser/HTMLConstructionSite.h:
2421
2422 2013-12-01  Andreas Kling  <akling@apple.com>
2423
2424         Make more computed style helpers return PassRef.
2425         <https://webkit.org/b/125043>
2426
2427         Reduce branchiness in computed style code by making more of the
2428         file-local helpers return PassRef instead of PassRefPtr.
2429
2430         Reviewed by Anders Carlsson.
2431
2432 2013-11-30  Ryuan Choi  <ryuan.choi@samsung.com>
2433
2434         [EFL] Implement scrollbarThickness for opaque scrollbar
2435         https://bugs.webkit.org/show_bug.cgi?id=125034
2436
2437         Reviewed by Gyuyoung Kim.
2438
2439         Implemented scrollbarThickness to support opaque scrollbar.
2440         Now, edj can decide whether to support opaque scrollbar by adding scrollbar.thickness.
2441         In addition, added OVERRIDE/FINAL keyword and removed unnecessary destructor
2442         in ScrollbarThemeEfl.cpp.
2443
2444         No new tests, no behavior changes with default theme.
2445
2446         * platform/efl/RenderThemeEfl.cpp:
2447         (WebCore::RenderThemeEfl::loadTheme):
2448         Update thickness of scrollbar when theme was loaded.
2449         * platform/efl/ScrollbarThemeEfl.cpp:
2450         * platform/efl/ScrollbarThemeEfl.h:
2451         (WebCore::ScrollbarThemeEfl::setScrollbarThickness):
2452         (WebCore::ScrollbarThemeEfl::scrollbarThickness):
2453         (WebCore::ScrollbarThemeEfl::registerScrollbar):
2454         (WebCore::ScrollbarThemeEfl::unregisterScrollbar):
2455
2456 2013-11-29  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
2457
2458         Remove Symbian specific code.
2459         https://bugs.webkit.org/show_bug.cgi?id=124939
2460
2461         Reviewed by Zoltan Herczeg.
2462
2463         Symbian is not supported, remove leftover code.
2464
2465         * plugins/npapi.h:
2466
2467 2013-11-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2468
2469         Rename InlineIterator::m_obj and make it private
2470         https://bugs.webkit.org/show_bug.cgi?id=124837
2471
2472         Reviewed by Antti Koivisto.
2473
2474         InlineIterator has been exported m_obj as public though there is a getter function.
2475         Besides *object* name isn't ambigious. So, changed it with m_renderer and renderer().
2476         Additionally, setRenderer() is added as well.
2477
2478         No new tests, no behavior changes.
2479
2480         * rendering/InlineIterator.h:
2481         (WebCore::InlineIterator::setObject):
2482         (WebCore::operator==):
2483         (WebCore::operator!=):
2484         (WebCore::InlineBidiResolver::appendRun):
2485         * rendering/RenderBlockLineLayout.cpp:
2486         (WebCore::RenderBlockFlow::appendRunsForObject):
2487         (WebCore::constructBidiRunsForLine):
2488         (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns):
2489         (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
2490         (WebCore::RenderBlockFlow::matchedEndLine):
2491         * rendering/line/BreakingContextInlineHeaders.h:
2492         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
2493         (WebCore::BreakingContext::BreakingContext):
2494         (WebCore::BreakingContext::currentObject):
2495         (WebCore::BreakingContext::initializeForCurrentObject):
2496         (WebCore::BreakingContext::handleBR):
2497         (WebCore::BreakingContext::handleOutOfFlowPositioned):
2498         (WebCore::BreakingContext::handleFloat):
2499         (WebCore::BreakingContext::handleEmptyInline):
2500         (WebCore::BreakingContext::handleReplaced):
2501         (WebCore::iteratorIsBeyondEndOfRenderCombineText):
2502         (WebCore::ensureCharacterGetsLineBox):
2503         (WebCore::BreakingContext::handleText):
2504         (WebCore::BreakingContext::canBreakAtThisPosition):
2505         (WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
2506         (WebCore::checkMidpoints):
2507         (WebCore::BreakingContext::handleEndOfLine):
2508         * rendering/line/LineBreaker.cpp:
2509         (WebCore::LineBreaker::skipTrailingWhitespace):
2510         (WebCore::LineBreaker::skipLeadingWhitespace):
2511         * rendering/line/LineInlineHeaders.h:
2512         (WebCore::skipNonBreakingSpace):
2513         (WebCore::requiresLineBox):
2514
2515 2013-11-28  Antti Koivisto  <antti@apple.com>
2516
2517         Rename StylePropertySet to StyleProperties
2518         https://bugs.webkit.org/show_bug.cgi?id=124990
2519         
2520         Reviewed by Andreas Kling.
2521
2522         "Set" does not add useful information here. Use less clunky plural name.
2523
2524 2013-11-28  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2525
2526         Nix Upstream: Adding EditorNix to WebCore
2527         https://bugs.webkit.org/show_bug.cgi?id=124984
2528
2529         Reviewed by Csaba Osztrogonác.
2530
2531         No new tests needed.
2532
2533         * PlatformNix.cmake:
2534         * editing/nix/EditorNix.cpp: Added.
2535
2536 2013-11-28  Zoltan Horvath  <zoltan@webkit.org>
2537
2538         [Win] Update vcxproj.filters, since LineInfo.h and LineLayoutState.h have been moved to rendering/line
2539         https://bugs.webkit.org/show_bug.cgi?id=124959
2540
2541         Reviewed by Brent Fulgham.
2542
2543         Update WebCore.vcxproj.filters, since LineInfo.h (r155628) and LineLayoutState.h (158121) have been moved to rendering/line.
2544
2545         No new tests, no behavior change.
2546
2547         * WebCore.vcxproj/WebCore.vcxproj.filters:
2548
2549 2013-11-28  Laszlo Vidacs  <lac@inf.u-szeged.hu>
2550
2551         RenderTableSection Blink merge asserting
2552         https://bugs.webkit.org/show_bug.cgi?id=124857
2553
2554         Reviewed by Csaba Osztrogonác.
2555
2556         Use border spacing at the end of all sections.
2557
2558         * rendering/RenderTableSection.cpp:
2559         (WebCore::RenderTableSection::calcRowLogicalHeight):
2560
2561 2013-11-28  Antti Koivisto  <antti@apple.com>
2562
2563         Remove feature: CSS variables
2564         https://bugs.webkit.org/show_bug.cgi?id=114119
2565
2566         Reviewed by Andreas Kling.
2567         
2568         The feature is unmaintained and it is getting in the way of refactoring. Code quality is not up to
2569         WebKit standards either.
2570
2571         * Configurations/FeatureDefines.xcconfig:
2572         * GNUmakefile.list.am:
2573         * WebCore.xcodeproj/project.pbxproj:
2574         * css/CSSBasicShapes.cpp:
2575         * css/CSSBasicShapes.h:
2576         * css/CSSCalculationValue.cpp:
2577         (WebCore::unitCategory):
2578         (WebCore::hasDoubleValue):
2579         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
2580         (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
2581         (WebCore::determineCategory):
2582         (WebCore::CSSCalcBinaryOperation::primitiveType):
2583         * css/CSSCalculationValue.h:
2584         * css/CSSComputedStyleDeclaration.cpp:
2585         (WebCore::ComputedStyleExtractor::propertyValue):
2586         * css/CSSGrammar.y.in:
2587         * css/CSSParser.cpp:
2588         (WebCore::CSSParserContext::CSSParserContext):
2589         (WebCore::operator==):
2590         (WebCore::filterProperties):
2591         (WebCore::CSSParser::createStylePropertySet):
2592         (WebCore::CSSParser::addProperty):
2593         (WebCore::CSSParser::validCalculationUnit):
2594         (WebCore::CSSParser::validUnit):
2595         (WebCore::CSSParser::createPrimitiveNumericValue):
2596         (WebCore::CSSParser::parseValidPrimitive):
2597         (WebCore::CSSParser::parseValue):
2598         (WebCore::CSSParser::parseReflect):
2599         (WebCore::CSSParser::detectDashToken):
2600         (WebCore::CSSParser::realLex):
2601         * css/CSSParser.h:
2602         * css/CSSParserMode.h:
2603         * css/CSSParserValues.cpp:
2604         (WebCore::CSSParserValue::createCSSValue):
2605         * css/CSSParserValues.h:
2606         * css/CSSPrimitiveValue.cpp:
2607         (WebCore::isValidCSSUnitTypeForDoubleConversion):
2608         (WebCore::CSSPrimitiveValue::primitiveType):
2609         (WebCore::CSSPrimitiveValue::cleanup):
2610         (WebCore::CSSPrimitiveValue::getStringValue):
2611         (WebCore::CSSPrimitiveValue::customCSSText):
2612         (WebCore::CSSPrimitiveValue::equals):
2613         * css/CSSPrimitiveValue.h:
2614         * css/CSSPrimitiveValueMappings.h:
2615         (WebCore::CSSPrimitiveValue::convertToLength):
2616         * css/CSSProperty.cpp:
2617         * css/CSSProperty.h:
2618         (WebCore::CSSProperty::CSSProperty):
2619         * css/CSSReflectValue.cpp:
2620         * css/CSSReflectValue.h:
2621         * css/CSSValue.cpp:
2622         (WebCore::CSSValue::equals):
2623         (WebCore::CSSValue::cssText):
2624         (WebCore::CSSValue::destroy):
2625         * css/CSSValue.h:
2626         (WebCore::CSSValue::setCssText):
2627         * css/CSSValueList.cpp:
2628         * css/CSSValueList.h:
2629         * css/CSSVariableValue.h: Removed.
2630         * css/Pair.h:
2631         * css/Rect.h:
2632         * css/StylePropertySet.cpp:
2633         (WebCore::StylePropertySet::asText):
2634         (WebCore::StylePropertySet::PropertyReference::cssName):
2635         * css/StyleResolver.cpp:
2636         (WebCore::StyleResolver::styleForPage):
2637         (WebCore::StyleResolver::applyProperties):
2638         (WebCore::StyleResolver::applyMatchedProperties):
2639         (WebCore::StyleResolver::applyProperty):
2640         * css/StyleResolver.h:
2641         * css/WebKitCSSTransformValue.cpp:
2642         * css/WebKitCSSTransformValue.h:
2643         (WebCore::WebKitCSSTransformValue::equals):
2644         * css/makeprop.pl:
2645         * page/Settings.cpp:
2646         (WebCore::Settings::Settings):
2647         * page/Settings.h:
2648         * rendering/style/RenderStyle.h:
2649         * rendering/style/StyleRareInheritedData.cpp:
2650         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2651         (WebCore::StyleRareInheritedData::operator==):
2652         * rendering/style/StyleRareInheritedData.h:
2653         * rendering/style/StyleVariableData.h: Removed.
2654         * testing/InternalSettings.cpp:
2655         (WebCore::InternalSettings::Backup::Backup):
2656         (WebCore::InternalSettings::Backup::restoreTo):
2657         * testing/InternalSettings.h:
2658         * testing/InternalSettings.idl:
2659
2660 2013-11-28  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2661
2662         Updating RTCPeerConnectionHandlerMock after r159769
2663         https://bugs.webkit.org/show_bug.cgi?id=124947
2664
2665         Reviewed by Philippe Normand.
2666
2667         Adding its create function back, in order to run RTCPeerConnection LayoutTests.
2668
2669         No new tests needed.
2670
2671         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
2672         (WebCore::RTCPeerConnectionHandlerMock::create):
2673         * platform/mock/RTCPeerConnectionHandlerMock.h:
2674
2675 2013-11-27  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
2676
2677         [GTK] Support custom types for drag and drop data
2678         https://bugs.webkit.org/show_bug.cgi?id=124659
2679
2680         Reviewed by Martin Robinson.
2681
2682         Covered by fast/events/drag-customData.html.
2683
2684         * platform/gtk/DataObjectGtk.cpp:
2685         (WebCore::DataObjectGtk::unknownTypes): returns a hash map with all custom types set.
2686         (WebCore::DataObjectGtk::clearAllExceptFilenames): clear custom types.
2687         * platform/gtk/DataObjectGtk.h:
2688         (WebCore::DataObjectGtk::hasUnknownTypeData): returns whether custom types are set.
2689         (WebCore::DataObjectGtk::unknownTypeData): returns the data for a custom type.
2690         (WebCore::DataObjectGtk::setUnknownTypeData): sets the data for a custom type.
2691         * platform/gtk/PasteboardGtk.cpp:
2692         (WebCore::Pasteboard::writeString): handle unknown types as custom.
2693         (WebCore::Pasteboard::writePasteboard): ditto.
2694         (WebCore::Pasteboard::hasData): also check for custom types.
2695         (WebCore::Pasteboard::types): also obtain the list of custom types.
2696         (WebCore::Pasteboard::readString): handle unknown types as custom.
2697         * platform/gtk/PasteboardHelper.cpp:
2698         (WebCore::initGdkAtoms): new unknown atom.
2699         (WebCore::PasteboardHelper::PasteboardHelper): add custom type to the list of targets.
2700         (WebCore::PasteboardHelper::fillSelectionData): turns any custom types' data into a GVariant, which
2701         is in turn serialized to a single string for GtkSelectionData to hold.
2702         (WebCore::PasteboardHelper::targetListForDataObject): add custom data to the target list if any is
2703         set.
2704         (WebCore::PasteboardHelper::fillDataObjectFromDropData): retrieve the custom types and their data
2705         from the serialized GVariant string held by GtkSelectionData.
2706         (WebCore::PasteboardHelper::dropAtomsForContext): handle custom types.
2707
2708 2013-11-27  Eric Carlson  <eric.carlson@apple.com>
2709
2710         Allow the QuickTime plug-in to be replaced by script in an isolated word
2711         https://bugs.webkit.org/show_bug.cgi?id=124900
2712
2713         Reviewed by Dean Jackson.
2714
2715         Test: plugins/quicktime-plugin-replacement.html
2716
2717         * CMakeLists.txt: Add new Modules path.
2718         * DerivedSources.make: Add new files.
2719         * GNUmakefile.am: Add new Modules path.
2720         * GNUmakefile.list.am: Add new header.
2721         * WebCore.vcxproj/WebCore.vcxproj: Add new header.
2722         * WebCore.vcxproj/WebCoreCommon.props: Add new Modules path.
2723         * WebCore.xcodeproj/project.pbxproj: Add new files.
2724
2725         * Modules/plugins: Added.
2726         * Modules/plugins/PluginReplacement.h: Added. Defines the interface for a plug-in replacement.
2727
2728         Create a replacement for the QuickTime plug-in.
2729         * Modules/plugins/QuickTimePluginReplacement.cpp: Added.
2730         * Modules/plugins/QuickTimePluginReplacement.css: Added.
2731         * Modules/plugins/QuickTimePluginReplacement.h: Added.
2732         * Modules/plugins/QuickTimePluginReplacement.idl: Added.
2733         * Modules/plugins/QuickTimePluginReplacement.js: Added.
2734
2735         Allow plug-in replacement to be enabled at runtime.
2736         * bindings/generic/RuntimeEnabledFeatures.h:
2737         (WebCore::RuntimeEnabledFeatures::setPluginReplacementEnabled):
2738         (WebCore::RuntimeEnabledFeatures::pluginReplacementEnabled):
2739
2740         * bindings/js/JSDOMBinding.h:
2741         (WebCore::toJS): Add toJS(... const String& ...).
2742
2743         * bindings/js/JSPluginElementFunctions.cpp:
2744         (WebCore::pluginScriptObject): Give a plug-in replacement a first shot at defining the
2745             script interface.
2746
2747         * html/HTMLEmbedElement.cpp:
2748         (WebCore::HTMLEmbedElement::updateWidget): Call base class requestObject.
2749
2750         * html/HTMLMediaElement.cpp:
2751         (HTMLMediaElement::fileSize): New, passthrough to media engine.
2752         * html/HTMLMediaElement.h:
2753
2754         * html/HTMLObjectElement.cpp:
2755         (WebCore::HTMLObjectElement::updateWidget): Call base class requestObject.
2756
2757         Moved some logic that was previously used only for creating a plug-in snapshot to the base
2758         class so it can be shared by a plug-in replacement.
2759         * html/HTMLPlugInElement.cpp:
2760         (WebCore::HTMLPlugInElement::HTMLPlugInElement): Initialize timer used to swap renderers.
2761         (WebCore::HTMLPlugInElement::createRenderer): Allow plug-in replacement to create the renderer.
2762         (WebCore::HTMLPlugInElement::swapRendererTimerFired): Create a shadow root.
2763         (WebCore::HTMLPlugInElement::setDisplayState): Set the new state, prime the swap renderer 
2764             timer if necessary.
2765         (WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot): Tell the plug-in replacement to
2766             install itself in the new shadow DOM.
2767         (WebCore::registeredPluginReplacements): Return vector of all registered plug-in replacements.
2768         (WebCore::registerPluginReplacement): Add a plug-in replacement.
2769         (WebCore::pluginReplacementForType): Find a plug-in replacement for a MIME type.
2770         (WebCore::HTMLPlugInElement::requestObject): If there is a plug-in replacement for the MIME type,
2771             create it and set the display state.
2772         (WebCore::HTMLPlugInElement::scriptObjectForPluginReplacement): Return the script object for 
2773             the current plug-in replacement, if any.
2774         * html/HTMLPlugInElement.h:
2775
2776         Move some plug-in snapshot code into the base class.
2777         * html/HTMLPlugInImageElement.cpp:
2778         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): No need to initialize timer.
2779         (WebCore::HTMLPlugInImageElement::setDisplayState): Call base class.
2780         (WebCore::HTMLPlugInImageElement::createRenderer): Ditto.
2781         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Ditto.
2782         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Remove unnecessary class name.
2783         (WebCore::HTMLPlugInImageElement::requestObject): New.
2784         * html/HTMLPlugInImageElement.h:
2785
2786         * html/HTMLVideoElement.h: Make createRenderer public so the QuickTime plug-in replacement can
2787             call it.
2788
2789         * platform/graphics/MediaPlayer.cpp:
2790         (WebCore::MediaPlayer::fileSize): New.
2791         * platform/graphics/MediaPlayer.h:
2792         * platform/graphics/MediaPlayerPrivate.h:
2793
2794         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2795         (WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost): totalBytes returns an unsigned long long.
2796         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2797         (WebCore::MediaPlayerPrivateAVFoundation::fileSize):
2798
2799         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2800         (WebCore::MediaPlayerPrivateAVFoundationCF::totalBytes): Return an unsigned long long.
2801         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
2802
2803         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2804         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2805         (WebCore::MediaPlayerPrivateAVFoundationObjC::totalBytes): Ditto.
2806
2807         * testing/InternalSettings.cpp:
2808         (WebCore::InternalSettings::Backup::Backup): Backup the plug-in replacement runtime setting.
2809         (WebCore::InternalSettings::Backup::restoreTo): Restore it.
2810         (WebCore::InternalSettings::setPluginReplacementEnabled): Set it.
2811         * testing/InternalSettings.h:
2812         * testing/InternalSettings.idl:
2813
2814 2013-11-27  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2815
2816         Adding MediaConstraintsMock class
2817         https://bugs.webkit.org/show_bug.cgi?id=124902
2818
2819         Reviewed by Eric Carlson.
2820
2821         Validate constraints used in RTCPeerConnection LayoutTests
2822
2823         Existing test was updated.
2824
2825         * CMakeLists.txt:
2826         * GNUmakefile.list.am:
2827         * platform/mock/MediaConstraintsMock.cpp: Added.
2828         * platform/mock/MediaConstraintsMock.h: Added.
2829         * platform/mock/MockMediaStreamCenter.cpp:
2830         (WebCore::MockMediaStreamCenter::validateRequestConstraints): Now using MediaConstraintsMock
2831         (WebCore::MockMediaStreamCenter::createMediaStream): Ditto.
2832         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
2833         (WebCore::RTCPeerConnectionHandlerMock::initialize): Ditto.
2834
2835 2013-11-27  Bear Travis  <betravis@adobe.com>
2836
2837         [CSS Shapes] Shape-Inside Should Default to 'auto'
2838         https://bugs.webkit.org/show_bug.cgi?id=124851
2839
2840         Reviewed by Alexandru Chiculita.
2841
2842         The current shape-inside specification has the property default to the 'auto'
2843         value, not 'outside-shape'.
2844
2845         Updated tests are under fast/shapes.
2846
2847         * rendering/style/RenderStyle.cpp:
2848         * rendering/style/RenderStyle.h:
2849
2850 2013-11-27  Hans Muller  <hmuller@adobe.com>
2851
2852         [CSS Shapes] shape-inside rectangle layout can fail
2853         https://bugs.webkit.org/show_bug.cgi?id=124784
2854
2855         Reviewed by Andreas Kling.
2856
2857         Apply LayoutUnit::fromFloatCeil() consistently in RectangleShape::firstIncludedIntervalLogicalTop().
2858
2859         Test: fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top.html
2860
2861         * rendering/shapes/RectangleShape.cpp:
2862         (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
2863
2864 2013-11-27  Nick Diego Yamane  <nick.yamane@openbossa.org>
2865
2866         Remove Qt-specific .qrc files
2867         https://bugs.webkit.org/show_bug.cgi?id=124944
2868
2869         Reviewed by Andreas Kling.
2870
2871         No new tests needed.
2872
2873         * WebCore.qrc: Removed.
2874
2875 2013-11-27  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2876
2877         [GStreamer] Invalid command line error when visiting www.chessbase.com
2878         https://bugs.webkit.org/show_bug.cgi?id=124715
2879
2880         Reviewed by Philippe Normand.
2881
2882         We were not handling the HTTP errors in the WebKit GStreamer
2883         source and therefore the 404 error page was being 'decoded'. As no
2884         decoder could be found (for obvious reasons), playback failed, but
2885         it should be failing for the source not being found instead of the
2886         decoding problem.
2887
2888         Test: http/tests/media/video-error-does-not-exist.html
2889
2890         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2891         (StreamingClient::handleResponseReceived): Handle HTTP errors in
2892         the source and raise a GStreamer error to the pipeline.
2893
2894 2013-11-14  Sergio Villar Senin  <svillar@igalia.com>
2895
2896         [CSS Grid Layout] Fix positioning of grid items with margins
2897         https://bugs.webkit.org/show_bug.cgi?id=124345
2898
2899         Reviewed by David Hyatt.
2900
2901         From Blink r157925 and r158041 by <jchaffraix@chromium.org>
2902
2903         Test: fast/css-grid-layout/grid-item-margin-resolution.html
2904
2905         Adds margin start/before to the positions of grid items (removing
2906         several FIXME's in the current code). This means calling
2907         findChildLogicalPosition() after the layout in order to have the
2908         right values for the margins.
2909
2910         In order to match flexbox and author's intents we're also
2911         including the margins of grid items in the intrinsic size of the
2912         grid. That's why flexbox's marginLogicalPositionForChild() is
2913         moved up to RenderBlock in order to share it with RenderGrid.
2914
2915         * rendering/RenderBlock.cpp:
2916         (WebCore::RenderBlock::marginIntrinsicLogicalWidthForChild): Moved
2917         from RenderFlexibleBox::marginLogicalWidthForChild().
2918         * rendering/RenderBlock.h:
2919         * rendering/RenderFlexibleBox.cpp:
2920         (WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths):
2921         * rendering/RenderGrid.cpp:
2922         (WebCore::RenderGrid::computePreferredTrackWidth):
2923         (WebCore::RenderGrid::layoutGridItems):
2924         (WebCore::RenderGrid::findChildLogicalPosition):
2925
2926 2013-11-26  Sergio Villar Senin  <svillar@igalia.com>
2927
2928         [CSS Grid Layout] Support grid-definition-{rows|columns} repeat() syntax
2929         https://bugs.webkit.org/show_bug.cgi?id=103312
2930
2931         Reviewed by Andreas Kling.
2932
2933         Added support for the repeat() syntax inside
2934         grid-definition-{rows|columns} by just adding the repeated values
2935         to our list of column|row definitions.
2936
2937         The parsing of <track-name> was refactored in a new function as
2938         it's used now in three different places. The <track-size> parsing
2939         was also refactored to share it with the repeat() parsing.
2940
2941         Test: fast/css-grid-layout/grid-element-repeat-get-set.html
2942
2943         * css/CSSParser.cpp:
2944         (WebCore::CSSParser::parseValue):
2945         (WebCore::CSSParser::parseGridTrackNames):
2946         (WebCore::CSSParser::parseGridTrackList):
2947         (WebCore::CSSParser::parseGridTrackRepeatFunction):
2948         (WebCore::CSSParser::parseGridTrackSize):
2949         * css/CSSParser.h:
2950
2951 2013-11-26  Marcelo Lira  <marcelo.lira@openbossa.org>
2952
2953         Nix upstreaming - Adding build files and supporting scripts
2954         https://bugs.webkit.org/show_bug.cgi?id=118367
2955
2956         Reviewed by Ryosuke Niwa.
2957
2958         No new tests needed.
2959
2960         * CMakeLists.txt:
2961         * PlatformNix.cmake: Added.
2962
2963 2013-11-26  Tim Horton  <timothy_horton@apple.com>
2964
2965         Don't parent the TileController root layer in two places
2966         https://bugs.webkit.org/show_bug.cgi?id=124873
2967
2968         Reviewed by Brent Fulgham.
2969
2970         * platform/graphics/ca/mac/TileController.mm:
2971         (WebCore::TileController::TileController):
2972         The TileController's layer is already parented by callers of
2973         TileController::create, and in a special way. TileController
2974         shouldn't parent itself, anyway...
2975
2976 2013-11-26  Nick Diego Yamane  <nick.yamane@openbossa.org>
2977
2978         [MediaStream API] HTMLMediaElement should be able to use MediaStream as source
2979         https://bugs.webkit.org/show_bug.cgi?id=121943
2980
2981         Reviewed by Eric Carlson.
2982
2983         Implement MediaStream direct assignment to Media Elements using the new 'srcObject'
2984         attribute: http://www.w3.org/TR/mediacapture-streams/#direct-assignment-to-media-elements
2985
2986         Test: fast/mediastream/MediaStream-MediaElement-srcObject.html
2987
2988         * CMakeLists.txt: Added new HTMLMediaElementMediaStream.h and .cpp to cmake build.
2989         * DerivedSources.make: Added HTMLMediaElementMediaStream.idl.
2990         * GNUmakefile.list.am: Added new HTMLMediaElementMediaStream* to autotools build.
2991         * WebCore.xcodeproj/project.pbxproj: Added new files.
2992         * Modules/mediastream/HTMLMediaElementMediaStream.cpp: Added.
2993         (WebCore::HTMLMediaElementMediaStream::srcObject): implements srcObject getter.
2994         (WebCore::HTMLMediaElementMediaStream::setSrcObject): implements srcObject setter.
2995         * Modules/mediastream/HTMLMediaElementMediaStream.h: Added.
2996         * Modules/mediastream/HTMLMediaElementMediaStream.idl: Added.
2997         * html/HTMLMediaElement.cpp:
2998         (WebCore::HTMLMediaElement::setSrcObject): This is an initial implementation, and
2999         is still incomplete, that will be addressed in a separate bug: https://webkit.org/b/124896
3000         * html/HTMLMediaElement.h: Added m_mediaStreamSrcObject class variable
3001         and its corresponding getter.
3002
3003 2013-11-26  Andreas Kling  <akling@apple.com>
3004
3005         Use child iterator to find operators in RenderMathMLRow::layout().
3006         <https://webkit.org/b/124108>
3007
3008         Replace manual children walk with childrenOfType<RenderMathMLBlock>.
3009         Minor update to fix build.
3010
3011         Reviewed by Martin Robinson.
3012
3013 2013-11-26  Andreas Kling  <akling@apple.com>
3014
3015         RenderObject: Inline isBody() and isHR().
3016         <https://webkit.org/b/124901>
3017
3018         Together these account for ~0.3% of samples on HTML5-8266.
3019         Almost all of it is call overhead.
3020
3021         Reviewed by Anders Carlsson.
3022
3023 2013-11-26  Bear Travis  <betravis@adobe.com>
3024
3025         [CSS Shapes] Layout using [<box> || <shape>] value
3026         https://bugs.webkit.org/show_bug.cgi?id=124428
3027
3028         Reviewed by David Hyatt.
3029
3030         When a box value is supplied, use it to size and position the shape. Otherwise,
3031         use a default value (content-box for shape-inside, margin-box for shape-outside).
3032         This patch extends the sizing and positioning code used for the box patch (Bug 124227)
3033         to also apply to shapes. With this patch, we also no longer use the box-sizing
3034         property to size and position shapes.
3035
3036         Tests: fast/shapes/shape-outside-floats/shape-outside-shape-boxes-001.html
3037                fast/shapes/shape-outside-floats/shape-outside-shape-boxes-002.html
3038                fast/shapes/shape-outside-floats/shape-outside-shape-boxes-003.html
3039
3040         * css/CSSComputedStyleDeclaration.cpp:
3041         (WebCore::ComputedStyleExtractor::propertyValue): Adjust for ShapeValues storing
3042         BasicShape::ReferenceBox as their box value, rather than a CSSValueID.
3043         * css/DeprecatedStyleBuilder.cpp:
3044         (WebCore::ApplyPropertyShape::applyValue): Ditto.
3045         * rendering/shapes/ShapeInfo.h:
3046         (WebCore::ShapeInfo::setShapeSize): Adjust for BasicShapes with reference boxes
3047         as well as plain box values. Also, remove old box-sizing code.
3048         (WebCore::ShapeInfo::logicalTopOffset): Ditto.
3049         (WebCore::ShapeInfo::logicalLeftOffset): Ditto.
3050         * rendering/shapes/ShapeInsideInfo.h:
3051         * rendering/shapes/ShapeOutsideInfo.h:
3052         * rendering/style/ShapeValue.h:
3053         (WebCore::ShapeValue::createBoxValue): Adjust for boxes being stored as
3054         BasicShape::ReferenceBoxes.
3055         (WebCore::ShapeValue::box): Ditto.
3056         (WebCore::ShapeValue::ShapeValue): Ditto.
3057
3058 2013-11-26  Brian J. Burg  <burg@cs.washington.edu>
3059
3060         ImageBuffer::create should return a std::unique_ptr instead of OwnPtr.
3061         https://bugs.webkit.org/show_bug.cgi?id=124822
3062
3063         Reviewed by Andreas Kling.
3064
3065         Replace all uses of OwnPtr<ImageBuffer> and PassOwnPtr<ImageBuffer> with
3066         std::unique_ptr<ImageBuffer>. Replace calls to OwnPtr::clear() and
3067         OwnPtr::release() with reset() and std::move(). Remove unnecessary includes.
3068
3069         No new tests. This is a mechanical refactoring.
3070
3071         * css/CSSFilterImageValue.cpp:
3072         (WebCore::CSSFilterImageValue::image):
3073         * html/HTMLCanvasElement.cpp:
3074         (WebCore::HTMLCanvasElement::setSurfaceSize):
3075         * html/HTMLCanvasElement.h:
3076         * html/canvas/CanvasRenderingContext2D.cpp:
3077         (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
3078         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
3079         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
3080         (WebCore::CanvasRenderingContext2D::drawTextInternal):
3081         * html/canvas/CanvasRenderingContext2D.h:
3082         * html/canvas/WebGLRenderingContext.cpp:
3083         (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache):
3084         (WebCore::WebGLRenderingContext::LRUImageBufferCache::imageBuffer):
3085         * html/canvas/WebGLRenderingContext.h:
3086         * html/shadow/MediaControlElements.cpp:
3087         (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
3088         * page/Frame.cpp:
3089         (WebCore::Frame::nodeImage):
3090         (WebCore::Frame::dragImageForSelection):
3091         * platform/graphics/BitmapImage.cpp:
3092         (WebCore::BitmapImage::drawPattern):
3093         * platform/graphics/CrossfadeGeneratedImage.cpp:
3094         (WebCore::CrossfadeGeneratedImage::drawPattern):
3095         * platform/graphics/GradientImage.h:
3096         * platform/graphics/GraphicsContext.cpp:
3097         (WebCore::GraphicsContext::createCompatibleBuffer):
3098         * platform/graphics/GraphicsContext.h:
3099         * platform/graphics/ImageBuffer.cpp:
3100         (WebCore::ImageBuffer::createCompatibleBuffer):
3101         * platform/graphics/ImageBuffer.h:
3102         (WebCore::ImageBuffer::create):
3103         * platform/graphics/ShadowBlur.cpp:
3104         * platform/graphics/cg/ImageBufferCG.cpp:
3105         (WebCore::ImageBuffer::putByteArray):
3106         * platform/graphics/cg/PDFDocumentImage.h:
3107         * platform/graphics/filters/FETile.cpp:
3108         (WebCore::FETile::platformApplySoftware):
3109         * platform/graphics/filters/Filter.h:
3110         (WebCore::Filter::setSourceImage):
3111         * platform/graphics/filters/FilterEffect.cpp:
3112         (WebCore::FilterEffect::clearResult):
3113         * platform/graphics/filters/FilterEffect.h:
3114         * platform/graphics/texmap/TextureMapper.cpp:
3115         (WebCore::BitmapTexture::updateContents):
3116         * platform/graphics/texmap/TextureMapperImageBuffer.h:
3117         * rendering/InlineTextBox.cpp:
3118         (WebCore::InlineTextBox::paintDecoration):
3119         * rendering/RenderBoxModelObject.cpp:
3120         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3121         * rendering/RenderThemeMac.mm:
3122         (WebCore::RenderThemeMac::paintProgressBar):
3123         * rendering/shapes/Shape.cpp:
3124         (WebCore::Shape::createShape):
3125         * rendering/svg/RenderSVGImage.cpp:
3126         (WebCore::RenderSVGImage::invalidateBufferedForeground):
3127         * rendering/svg/RenderSVGImage.h:
3128         * rendering/svg/RenderSVGResourceClipper.cpp:
3129         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
3130         * rendering/svg/RenderSVGResourceClipper.h:
3131         * rendering/svg/RenderSVGResourceFilter.cpp:
3132         (WebCore::RenderSVGResourceFilter::applyResource):
3133         (WebCore::RenderSVGResourceFilter::postApplyResource):
3134         * rendering/svg/RenderSVGResourceFilter.h:
3135         * rendering/svg/RenderSVGResourceGradient.cpp: Remove method parameter wrapping/indentation.
3136         (WebCore::createMaskAndSwapContextForTextGradient):
3137         (WebCore::clipToTextMask):
3138         (WebCore::RenderSVGResourceGradient::applyResource):
3139         * rendering/svg/RenderSVGResourceGradient.h:
3140         * rendering/svg/RenderSVGResourceMasker.cpp:
3141         (WebCore::RenderSVGResourceMasker::applyResource):
3142         * rendering/svg/RenderSVGResourceMasker.h:
3143         * rendering/svg/RenderSVGResourcePattern.cpp: Remove method parameter wrapping/indentation.
3144         (WebCore::RenderSVGResourcePattern::buildPattern):
3145         (WebCore::RenderSVGResourcePattern::createTileImage):
3146         * rendering/svg/RenderSVGResourcePattern.h: Remove method parameter wrapping/indentation.
3147         * rendering/svg/SVGRenderingContext.cpp:
3148         (WebCore::SVGRenderingContext::createImageBuffer):
3149         (WebCore::SVGRenderingContext::createImageBufferForPattern):
3150         (WebCore::SVGRenderingContext::clipToImageBuffer):
3151         (WebCore::SVGRenderingContext::bufferForeground):
3152         * rendering/svg/SVGRenderingContext.h:
3153         * svg/graphics/SVGImage.cpp:
3154         (WebCore::SVGImage::nativeImageForCurrentFrame):
3155         (WebCore::SVGImage::drawPatternForContainer):
3156
3157 2013-11-26  Eric Carlson  <eric.carlson@apple.com>
3158
3159         video.currentSrc should return empty when no resource is loaded
3160         https://bugs.webkit.org/show_bug.cgi?id=124898
3161
3162         Reviewed by Dan Bernstein.
3163
3164         Test: media/video-currentsrc-cleared.html
3165
3166         * html/HTMLMediaElement.cpp:
3167         (WebCore::HTMLMediaElement::prepareForLoad): Set m_currentSrc to empty in 
3168             preparation for attempting to load a new url.
3169
3170 2013-11-26  Hans Muller  <hmuller@adobe.com>
3171
3172         [CSS Shapes] Support for shape-margin in BoxShape
3173         https://bugs.webkit.org/show_bug.cgi?id=124788
3174
3175         Reviewed by Andreas Kling.
3176
3177         Corrected BoxShape's internal shape-margin/padding bounds FloatRoundedRect
3178         initialization. Tests for the padding bounds will be added when the rest of
3179         shape-padding for box shapes implementation is ready.
3180
3181         Tests: fast/shapes/shape-outside-floats/shape-outside-margin-boxes-001.html
3182                fast/shapes/shape-outside-floats/shape-outside-margin-boxes-002.html
3183
3184         * rendering/shapes/BoxShape.cpp: Use constructor shape-margin,shape-padding parameters.
3185         (WebCore::BoxShape::BoxShape):
3186         * rendering/shapes/BoxShape.h:
3187         * rendering/shapes/Shape.cpp:
3188         (WebCore::createBoxShape): Pass the shape-margin and shape-padding values along to the BoxShape constructor.
3189         (WebCore::Shape::createShape): Ditto.
3190
3191 2013-11-26  Nick Diego Yamane  <nick.yamane@openbossa.org>
3192
3193         Remove unnecessary webaudio include from MediaStreamSource header
3194         https://bugs.webkit.org/show_bug.cgi?id=124897
3195
3196         Reviewed by Eric Carlson.
3197
3198         AudioDestinationConsumer.h is included but not used anywhere in
3199         MediaStreamSource implementation.
3200
3201         * platform/mediastream/MediaStreamSource.h:
3202
3203 2013-11-26  Andreas Kling  <akling@apple.com>
3204
3205         Avoid unnecessary copy-on-write in FillLayer style application.
3206         <https://webkit.org/b/124878>
3207
3208         We ended up with a lot of cloned StyleBackgroundData objects on
3209         HTML5-8266. This happened because we always forced a copy-on-write
3210         when applying background-image:inherit / background-image:initial.
3211
3212         This patch adds early returns to both functions. In the "inherit"
3213         case, we bail early if the target style already has the same fill
3214         layer data as its parent style.
3215
3216         In the "initial" case, we optimize for the single-FillLayer case
3217         and add an early return if the relevant value is either unset or
3218         equal to the templatized initial value.
3219
3220         2.46 MB progression on HTML5-8266 locally.
3221
3222         Reviewed by Antti Koivisto.
3223
3224 2013-11-26  Antoine Quint  <graouts@apple.com>
3225
3226         Web Inspector: Allow showing a context menu on all mouse events.
3227         https://bugs.webkit.org/show_bug.cgi?id=124747
3228
3229         Reviewed by Joseph Pecoraro.
3230
3231         Add a new InspectorFrontendHost::dispatchEventAsContextMenuEvent(Event*) method
3232         to let the inspector front-end dispatch a native contextmenu event that will allow
3233         for a context menu to be shown from within a non-contextmenu event handler.
3234
3235         * inspector/InspectorFrontendHost.cpp:
3236         (WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):
3237         Check that we're dealing with a mouse event, get the frame for the event target
3238         and the event's location to call ContextMenuController::showContextMenuAt()
3239         which will handle the new contextmenu event dispatch to the original event target.
3240
3241         * inspector/InspectorFrontendHost.h:
3242         * inspector/InspectorFrontendHost.idl:
3243
3244 2013-11-25  Sam Weinig  <sam@webkit.org>
3245
3246         Convert some Shape code to use references
3247         https://bugs.webkit.org/show_bug.cgi?id=124876
3248
3249         Reviewed by Andreas Kling.
3250
3251         * inspector/InspectorOverlay.cpp:
3252         * rendering/FloatingObjects.cpp:
3253         * rendering/LayoutState.cpp:
3254         * rendering/RenderBlock.cpp:
3255         * rendering/RenderBlock.h:
3256         * rendering/RenderBlockLineLayout.cpp:
3257         * rendering/RenderBox.cpp:
3258         * rendering/RenderBox.h:
3259         * rendering/line/BreakingContextInlineHeaders.h:
3260         * rendering/line/LineWidth.cpp:
3261         * rendering/shapes/ShapeInfo.cpp:
3262         * rendering/shapes/ShapeInfo.h:
3263         * rendering/shapes/ShapeInsideInfo.cpp:
3264         * rendering/shapes/ShapeInsideInfo.h:
3265         * rendering/shapes/ShapeOutsideInfo.cpp:
3266         * rendering/shapes/ShapeOutsideInfo.h:
3267         Replace yet more pointers with references.
3268
3269 2013-11-25  Simon Pena  <simon.pena@samsung.com>
3270
3271         [EFL] X11Helper::createPixmap doesn't initialise out value handleId
3272         https://bugs.webkit.org/show_bug.cgi?id=124722
3273
3274         Reviewed by Gyuyoung Kim.
3275
3276         The overloaded functions X11Helper::createPixmap don't initialise out
3277         value handleId, and they do early returns on error situations. Since
3278         the functions are void and they don't communicate their failure in any
3279         way, returning an out value without initialising it could make the
3280         error go farther unnoticed. With the variable being initialised, it can
3281         be reliably checked for errors when the function returns.
3282
3283         * platform/graphics/surfaces/glx/X11Helper.cpp:
3284         (WebCore::X11Helper::createPixmap): Initialise handleId to 0.
3285
3286 2013-11-25  Nick Diego Yamane  <nick.yamane@openbossa.org>
3287
3288         Mark URLRegistry's lookup() as const and its child classes as final
3289         https://bugs.webkit.org/show_bug.cgi?id=124865
3290
3291         Reviewed by Eric Carlson.
3292
3293         No new tests needed. No behavior changes.
3294
3295         * Modules/mediasource/MediaSourceRegistry.cpp:
3296         (WebCore::MediaSourceRegistry::lookup): marked as const.
3297         * Modules/mediasource/MediaSourceRegistry.h: MediaSourceRegistry
3298         marked as final.
3299         * Modules/mediastream/MediaStreamRegistry.cpp:
3300         (WebCore::MediaStreamRegistry::lookup): marked as const.
3301         * Modules/mediastream/MediaStreamRegistry.h: MediaStreamRegistry
3302         marked as final.
3303         * fileapi/Blob.cpp:
3304         * html/URLRegistry.h: lookup() marked as const.
3305         (WebCore::URLRegistry::lookup): marked as const.
3306
3307 2013-11-25  Sergio Correia  <sergio.correia@openbossa.org>
3308
3309         [MediaStream] Use std::unique_ptr instead of OwnPtr/PassOwnPtr
3310         https://bugs.webkit.org/show_bug.cgi?id=124858
3311
3312         Reviewed by Eric Carlson.
3313
3314         Another step of the OwnPtr/PassOwnPtr => std::unique_ptr conversion,
3315         now targeting mediastream-related code.
3316
3317         No new tests, covered by existing ones.
3318
3319         * Modules/mediastream/RTCDTMFSender.cpp:
3320         * Modules/mediastream/RTCDTMFSender.h:
3321         * Modules/mediastream/RTCDataChannel.cpp:
3322         * Modules/mediastream/RTCDataChannel.h:
3323         * Modules/mediastream/RTCPeerConnection.cpp:
3324         * Modules/mediastream/RTCPeerConnection.h:
3325         * platform/mediastream/MediaStreamSource.cpp:
3326         * platform/mediastream/RTCPeerConnectionHandler.cpp:
3327         * platform/mediastream/RTCPeerConnectionHandler.h:
3328         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
3329         * platform/mock/RTCNotifiersMock.cpp:
3330         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
3331         * platform/mock/RTCPeerConnectionHandlerMock.h:
3332
3333 2013-11-25  Nick Diego Yamane  <nick.yamane@openbossa.org>
3334
3335         MediaStreamRegistry should store MediaStreams instead of MediaStreamPrivates
3336         https://bugs.webkit.org/show_bug.cgi?id=124860
3337
3338         Reviewed by Eric Carlson.
3339
3340         MediaStreamRegistry::lookup() should return a MediaStream instead of MediaStreamPrivate.
3341
3342         No new tests needed. No behavior changes.
3343
3344         * Modules/mediastream/MediaStreamRegistry.cpp:
3345         (WebCore::MediaStreamRegistry::registerURL): m_privateStreams -> m_mediaStreams
3346         (WebCore::MediaStreamRegistry::unregisterURL): Ditto.
3347         (WebCore::MediaStreamRegistry::lookup): Override URLRegistry::lookup() instead of add a
3348         new method MediaStream::lookupMediaStreamPrivate().
3349         * Modules/mediastream/MediaStreamRegistry.h:
3350         * html/HTMLMediaElement.cpp:
3351         (HTMLMediaElement::loadResource): call lookup() instead of lookupMediaStreamPrivate()
3352
3353 2013-11-25  peavo@outlook.com  <peavo@outlook.com>
3354
3355         [WinCairo] Compile fails when GSTREAMER is not used.
3356         https://bugs.webkit.org/show_bug.cgi?id=124853
3357
3358         Reviewed by Philippe Normand.
3359
3360         * platform/graphics/gstreamer/GStreamerUtilities.cpp: Don't include GStreamerUtilities.h when GSTREAMER is not used.
3361
3362 2013-11-25  Andreas Kling  <akling@apple.com>
3363
3364         Deduplicate shortish Text node strings during tree construction.
3365         <https://webkit.org/b/124855>
3366
3367         Let HTMLConstructionSite keep a hash set of already seen strings over
3368         its lifetime. Use this to deduplicate the strings inside Text nodes
3369         for any string up to 64 characters of length.
3370
3371         This optimization already sort-of existed for whitespace-only Texts,
3372         but those are laundered in the AtomicString table which we definitely
3373         don't want to pollute with every single Text. It might be a good idea
3374         to stop using the AtomicString table for all-whitespace Text too.
3375
3376         3.82 MB progression on HTML5-8266 locally.
3377
3378         Reviewed by Anders Carlsson.
3379
3380 2013-11-25  Nick Diego Yamane  <nick.yamane@openbossa.org>
3381
3382         Remove unnecessary MediaStreamTrackDescriptor forward declaration
3383         https://bugs.webkit.org/show_bug.cgi?id=124854
3384
3385         Reviewed by Eric Carlson.
3386
3387         No new tests needed. No behavior changed.
3388
3389         * Modules/mediastream/VideoStreamTrack.h:
3390
3391 2013-11-25  Robert Hogan  <robert@webkit.org>
3392
3393         Remove code now unnecessary after r159575
3394         https://bugs.webkit.org/show_bug.cgi?id=124809
3395
3396         Reviewed by Antti Koivisto.
3397
3398         Covered by existing tests fast/block/margin-collapse/self-collapsing-block-with-float*
3399
3400         * rendering/line/LineBreaker.cpp:
3401         (WebCore::LineBreaker::skipLeadingWhitespace):
3402
3403 2013-11-25  Laszlo Vidacs  <lac@inf.u-szeged.hu>
3404
3405         Vertical border spacing is doubled between table row groups
3406         https://bugs.webkit.org/show_bug.cgi?id=20040
3407
3408         Reviewed by Csaba Osztrogonác.
3409
3410         Based on Chromium fix https://chromium.googlesource.com/chromium/blink/+/eb615069267f895c59bc576f9d65b3fa5add41e9
3411
3412         Rebaseline needed for table related tests (100+).
3413
3414         * rendering/RenderTableSection.cpp:
3415         (WebCore::RenderTableSection::calcRowLogicalHeight):
3416
3417 2013-11-25  Andres Gomez  <agomez@igalia.com>
3418
3419         [GStreamer] Seeking fails on media content provided by servers not supporting Range requests
3420         https://bugs.webkit.org/show_bug.cgi?id=85994
3421
3422         Reviewed by Philippe Normand.
3423
3424         Based on the patch written by Andre Moreira Magalhaes.
3425
3426         When the GStreamer web source was doing a "Range" request we were
3427         expecting to receive a 206 status reply with the "Content-Range"
3428         header and just the requested data. Supporting "Range" requests is
3429         not mandatory so, for the servers not supporting it they will be
3430         replying with a 200 status and the whole content of the media
3431         element. Now, we are properly handling these replies too.
3432
3433         Test: http/tests/media/media-seeking-no-ranges-server.html
3434
3435         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3436         (StreamingClient::handleResponseReceived): Do not fail when
3437         receiving 200 as response for HTTP range requests.
3438         (StreamingClient::handleDataReceived): Manually seek on stream
3439         when receiving the full data after a seek.
3440
3441 2013-11-25  Radu Stavila  <stavila@adobe.com>
3442
3443         Removed obsolete FIXME after the landing of visual overflow patch (https://bugs.webkit.org/show_bug.cgi?id=118665).
3444         https://bugs.webkit.org/show_bug.cgi?id=124833
3445
3446         Reviewed by Mihnea Ovidenie.
3447
3448         * rendering/RenderRegion.cpp:
3449         (WebCore::RenderRegion::layoutBlock):
3450
3451 2013-11-18  Sergio Villar Senin  <svillar@igalia.com>
3452
3453         [CSS Grid Layout] Cache several vectors to avoid malloc/free churn
3454         https://bugs.webkit.org/show_bug.cgi?id=123995
3455
3456         Reviewed by Dean Jackson.
3457
3458         From Blink r158228 by <jchaffraix@chromium.org>
3459
3460         Laying-out the grid items means a lot of calls to
3461         distributeSpaceToTracks() and
3462         resolveContentBasedTrackSizingFunctionsForItems() as they're
3463         called in a loop. This means that there is a lot of malloc/free
3464         going on there. By moving the vectors used by these methods to a
3465         new class which is kept during the whole layout process we save a
3466         lot of those calls.
3467
3468         This obviously mean that the price we pay for a significant
3469         perfomance improvement is that we keep the maximum allocation till
3470         the end of each layout, but it's an amount of memory that we have
3471         to allocate anyway. The improvement in the
3472         auto-grid-lots-of-data.html perf test is ~24% (165 runs/s vs 207
3473         runs/s).
3474
3475         No new tests required as we're just refactoring code to a new
3476         helper class. Nevertheless the performance improvement is backed
3477         by the perf test mentioned above.
3478
3479         * rendering/RenderGrid.cpp:
3480         (WebCore::RenderGrid::GridSizingData::GridSizingData):
3481         (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
3482         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
3483         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
3484         (WebCore::RenderGrid::distributeSpaceToTracks):
3485         (WebCore::RenderGrid::layoutGridItems):
3486         (WebCore::RenderGrid::findChildLogicalPosition):
3487         * rendering/RenderGrid.h:
3488
3489 2013-11-24  Brady Eidson  <beidson@apple.com>
3490
3491         DatabaseProcess: Add "UniqueIDBDatabase" that multiple WebProcesses can connect to
3492         https://bugs.webkit.org/show_bug.cgi?id=124819
3493
3494         Reviewed by Dan Bernstein.
3495
3496         * Modules/indexeddb/IDBDatabaseBackend.cpp:
3497         (WebCore::IDBDatabaseBackend::~IDBDatabaseBackend): Unregister from the IDBFactory.
3498
3499 2013-11-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3500
3501         Generate toHTMLMarquee|OListElement() to cleanup static_cast<>
3502         https://bugs.webkit.org/show_bug.cgi?id=124707
3503
3504         Reviewed by Darin Adler.
3505
3506         As a step to use toFoo(), we need to generate toHTMLMarquee|OListElement().
3507         Besides this patch cleans up remaining static_cast<> usage.
3508
3509         No new tests, no behavior changes.
3510
3511         * css/StyleResolver.cpp:
3512         (WebCore::StyleResolver::State::initElement):
3513         (WebCore::StyleResolver::locateCousinList):
3514         (WebCore::StyleResolver::findSiblingForStyleSharing):
3515         * dom/Attr.cpp:
3516         (WebCore::Attr::style):
3517         * dom/Element.cpp:
3518         (WebCore::Element::removeAttribute):
3519         * editing/ApplyStyleCommand.cpp:
3520         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
3521         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
3522         * editing/EditingStyle.cpp:
3523         (WebCore::EditingStyle::wrappingStyleForSerialization):
3524         * editing/Editor.cpp:
3525         (WebCore::Editor::applyEditingStyleToElement):
3526         * editing/ReplaceSelectionCommand.cpp:
3527         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
3528         * html/HTMLMarqueeElement.h:
3529         * html/HTMLOListElement.h:
3530         * html/HTMLTagNames.in:
3531         * inspector/InspectorCSSAgent.cpp:
3532         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
3533         * inspector/InspectorOverlay.cpp:
3534         (WebCore::buildObjectForElementInfo):
3535         * page/PageSerializer.cpp:
3536         (WebCore::PageSerializer::serializeFrame):
3537         * rendering/RenderCounter.cpp:
3538         (WebCore::planCounter):
3539         * rendering/RenderLayer.cpp:
3540         (WebCore::RenderLayer::resize):
3541         * rendering/RenderListItem.cpp:
3542         (WebCore::RenderListItem::calcValue):
3543         (WebCore::RenderListItem::updateListMarkerNumbers):
3544         * rendering/RenderMarquee.cpp:
3545         (WebCore::RenderMarquee::marqueeSpeed):
3546
3547 2013-11-24  Tim Horton  <timothy_horton@apple.com>
3548
3549         REGRESSION (r156291): TileController tiles don't always repaint when they resize
3550         https://bugs.webkit.org/show_bug.cgi?id=124796
3551
3552         Reviewed by Simon Fraser.
3553
3554         In removing platformCALayerDidCreateTiles, r156291 also removed
3555         the call to setNeedsDisplay when tiles are resized, without
3556         putting it somewhere else.
3557
3558         * platform/graphics/ca/mac/TileController.mm:
3559         (WebCore::TileController::setNeedsDisplay):
3560         Use hasStaleContent when invalidating a whole tile, just
3561         like we do for partial tile repaints.
3562
3563         (WebCore::TileController::setTileNeedsDisplayInRect):
3564         Mark hasStaleContent for any unparented layers, so they'll be painted
3565         when they are reparented.
3566
3567         (WebCore::TileController::ensureTilesForRect):
3568         Invalidate the whole tile when it changes size.
3569
3570 2013-11-23  Xabier Rodriguez Calvar  <calvaris@igalia.com>
3571
3572         [GStreamer] Remove 0.10 codepath
3573         https://bugs.webkit.org/show_bug.cgi?id=124534
3574
3575         Reviewed by Philippe Normand.
3576
3577         All GStreamer ports are using 1.0 now so we remove the 0.10
3578         codepath.
3579
3580         * GNUmakefile.list.am:
3581         * PlatformEfl.cmake:
3582         * PlatformGTK.cmake:
3583         * WebCore.vcxproj/WebCore.vcxproj:
3584         * WebCore.vcxproj/WebCore.vcxproj.filters: Removed
3585         GStreamerVersioning.
3586         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
3587         (onGStreamerWavparsePadAddedCallback): Removed.
3588         (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
3589         Replaced webkitGstPipelineGetBus and removed 0.10 codepath.
3590         (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
3591         Replaced webkitGstPipelineGetBus.
3592         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
3593         (WebCore::copyGstreamerBuffersToAudioChannel):
3594         (WebCore::onAppsinkPullRequiredCallback): Removed 0.10 codepath.
3595         (WebCore::AudioFileReader::~AudioFileReader): Replaced
3596         webkitGstPipelineGetBus and removed 0.10 codepath.
3597         (WebCore::AudioFileReader::handleSample): Left as only codepath.
3598         (WebCore::AudioFileReader::handleBuffer): Removed.
3599         (WebCore::AudioFileReader::handleNewDeinterleavePad): Removed 0.10
3600         codepath.
3601         (WebCore::AudioFileReader::plugDeinterleave): Replaced
3602         getGstAudioCaps.
3603         (WebCore::AudioFileReader::decodeAudioForBusCreation): Replaced
3604         webkitGstPipelineGetBus.
3605         (WebCore::AudioFileReader::createBus): Removed 0.10 codepath.
3606         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
3607         (getGStreamerMonoAudioCaps):
3608         (webKitWebAudioGStreamerChannelPosition): Removed 0.10 codepath.
3609         (webkit_web_audio_src_class_init): Replaced
3610         setGstElementClassMetadata.
3611         (webkit_web_audio_src_init):
3612         (webKitWebAudioSrcConstructed):
3613         (webKitWebAudioSrcFinalize):
3614         (webKitWebAudioSrcLoop): Removed 0.10 codepath.
3615         * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:
3616         * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h:
3617         Removed checks for 1.0 as it is the only codepath now.
3618         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
3619         (WTF::GstElement):
3620         (WTF::GstPad):
3621         (WTF::GstPadTemplate):
3622         (WTF::GstTask):
3623         (WTF::GstBus):
3624         (WTF::GstElementFactory):
3625         (WTF::adoptGRef): Replaced gstObjectIsFloating.
3626         (WTF::refGRef): Replaced webkitGstObjectRefSink.
3627         (WTF::GstTagList):
3628         (WTF::GstSample): Removed checks for 1.0 as it is the only
3629         codepath now.
3630         * platform/graphics/gstreamer/GRefPtrGStreamer.h: Removed checks
3631         for 1.0 as it is the only codepath now.
3632         * platform/graphics/gstreamer/GStreamerUtilities.cpp:
3633         (WebCore::webkitGstGhostPadFromStaticTemplate):
3634         (WebCore::getVideoSizeAndFormatFromCaps):
3635         (WebCore::createGstBuffer):
3636         (WebCore::createGstBufferForData):
3637         (WebCore::getGstBufferDataPointer):
3638         (WebCore::mapGstBuffer):
3639         (WebCore::unmapGstBuffer): Moved here from GstVersioning and added
3640         to WebCore namespace.
3641         * platform/graphics/gstreamer/GStreamerUtilities.h:
3642         (WebCore::webkitGstCheckVersion): Moved here from GstVersioning
3643         and added to WebCore namespace.
3644         * platform/graphics/gstreamer/GStreamerVersioning.cpp: Removed.
3645         * platform/graphics/gstreamer/GStreamerVersioning.h: Removed.
3646         * platform/graphics/gstreamer/ImageGStreamer.h: Removed checks for
3647         1.0 as it is the only codepath now.
3648         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
3649         (ImageGStreamer::ImageGStreamer): Removed 0.10 codepath.
3650         (ImageGStreamer::~ImageGStreamer): Removed checks for 1.0 as it is
3651         the only codepath now.
3652         * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:
3653         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
3654         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
3655         Removed checks for 1.0 as it is the only codepath now.
3656         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3657         (WebCore::setAudioStreamPropertiesCallback): Removed 0.10 codepath.
3658         (WebCore::mediaPlayerPrivateTextChangedCallback): Removed checks
3659         for 1.0 as it is the only codepath now.
3660         (WebCore::MediaPlayerPrivateGStreamer::isAvailable): Replaced
3661         gPlaybinName.
3662         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
3663         Removed checks for 1.0 and replaced webkitGstPipelineGetBus.
3664         (WebCore::MediaPlayerPrivateGStreamer::duration): Removed 0.10
3665         codepath.
3666         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
3667         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
3668         (WebCore::MediaPlayerPrivateGStreamer::textChanged):
3669         Removed checks for 1.0 as it is the only codepath now.
3670         (WebCore::MediaPlayerPrivateGStreamer::buffered): Replaced
3671         gPercentMax.
3672         (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Removed
3673         0.10 codepath.
3674         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContents):
3675         Removed checks for 1.0 as it is the only codepath now.
3676         (WebCore::MediaPlayerPrivateGStreamer::totalBytes): Removed 0.10
3677         codepath.
3678         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Replaced
3679         gPlaybinName and webkitGstPipelineGetBus and removed checks for
3680         1.0.
3681         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
3682         Removed checks for 1.0 as it is the only codepath now.
3683         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3684         (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
3685         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
3686         (WebCore::MediaPlayerPrivateGStreamerBase::paint): Removed 0.10
3687         codepath.
3688         * platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
3689         * platform/graphics/gstreamer/TextCombinerGStreamer.h:
3690         * platform/graphics/gstreamer/TextSinkGStreamer.cpp:
3691         * platform/graphics/gstreamer/TextSinkGStreamer.h:
3692         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
3693         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Removed
3694         checks for 1.0 as it is the only codepath now.
3695         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
3696         (webkitVideoSinkRender): Removed 0.10 codepath and added WebCore
3697         as createGstBuffer namespace.
3698         (webkitVideoSinkSetCaps): Removed 0.10 codepath.
3699         (webkitVideoSinkProposeAllocation): Removed checks for 1.0 as it
3700         is the only codepath now.
3701         (webkitVideoSinkMarshalVoidAndMiniObject): Removed as it was 0.10.
3702         (webkit_video_sink_class_init): Removed 0.10 codepath and replaced
3703         setGstElementClassMetadata.
3704         * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp:
3705         * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h:
3706         Removed checks for 1.0 as it is the only codepath now.
3707         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
3708         (webkit_media_src_class_init): Replaced
3709         setGstElementClassMetadata.
3710         (webKitMediaSrcAddSrc): Added WebCore namespace to
3711         webkitGstGhostPadFromStaticTemplate.
3712         (MediaSourceClientGstreamer::didReceiveData): Added WebCore
3713         namespace to createGstBufferForData.
3714         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3715         Removed 0.10 codepath.
3716         (webKitWebSrcQuery): Removed as it was 0.10 only.
3717         (void webkit_web_src_class_init): Replaced setGstElementClassMetadata.
3718         (webkit_web_src_init): Removed haveAppSrc27 private attribute and
3719         0.10 codepath.
3720         (webKitWebSrcStop): Removed checks for 1.0 as it is the only
3721         codepath now.
3722         (webKitWebSrcSetProperty):
3723         (webKitWebSrcUriGetType):
3724         (webKitWebSrcGetProtocols):
3725         (webKitWebSrcGetUri):
3726         (webKitWebSrcSetUri): Removed 0.10 codepath.
3727         (StreamingClient::createReadBuffer): Removed checks for 1.0 and
3728         replaced getGstBufferSize.
3729         (StreamingClient::handleResponseReceived): Removed 0.10 codepath
3730         and replaced notifyGstTagsOnPad.
3731         (StreamingClient::handleDataReceived): Removed 0.10 codepath and
3732         replaced setGstBufferSize and gst_buffer_get_size.
3733
3734 2013-11-22  Jer Noble  <jer.noble@apple.com>
3735
3736         [Mac] Can't drag full-screen video to another monitor
3737         https://bugs.webkit.org/show_bug.cgi?id=124798
3738
3739         Reviewed by Geoffrey Garen.
3740
3741         Make full screen windows movable by default. Previously, we wanted non-movable full screen
3742         windows since they were in the same space and were just placed atop non-full screen windows.
3743         Now that all our supported Mac platforms have explicit full screen support, we can remove this
3744         non-movable restriction.
3745
3746         * platform/mac/WebCoreFullScreenWindow.mm:
3747         (-[WebCoreFullScreenWindow initWithContentRect:styleMask:backing:defer:]):
3748
3749 2013-11-22  Brent Fulgham  <bfulgham@apple.com>
3750
3751         [Win] Clean up ColorSpace handling in Windows code
3752         https://bugs.webkit.org/show_bug.cgi?id=124795
3753
3754         Reviewed by Tim Horton.
3755
3756         Functionality covered by existing fast/css/color test suite.
3757
3758         * platform/graphics/cg/GraphicsContextCG.cpp:
3759         (WebCore::safeRGBColorSpaceRef): Handle case of Windows CG implementation not
3760         handling sRGB correctly.
3761         (WebCore::sRGBColorSpaceRef): Use new helper function.
3762         * platform/graphics/win/FontCGWin.cpp:
3763         (WebCore::Font::drawGlyphs): Pass correct color space to fill functions.
3764         * platform/graphics/win/GraphicsContextCGWin.cpp:
3765         (WebCore::GraphicsContext::platformInit): Initialize color space to value passed
3766         via the style to the constructor.
3767
3768 2013-11-22  Alexey Proskuryakov  <ap@apple.com>
3769
3770         WebCrypto algorithms should check that key algorithm matches
3771         https://bugs.webkit.org/show_bug.cgi?id=123628
3772
3773         Reviewed by Anders Carlsson.
3774
3775         No change in behavior yet, because we have one algorithm per key class.
3776         Will be tested once more algorithms are added.
3777
3778         * WebCore.xcodeproj/project.pbxproj: Updated for file renames.
3779
3780         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
3781         (WebCore::createRsaKeyParamsWithHash):
3782         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
3783         * bindings/js/JSCryptoKeySerializationJWK.cpp:
3784         (WebCore::createRSAKeyParametersWithHash):
3785         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
3786         * crypto/CryptoAlgorithmParameters.h:
3787         (WebCore::CryptoAlgorithmParameters::ENUM_CLASS):
3788         * crypto/parameters/CryptoAlgorithmRsaKeyParamsWithHash.h: Copied from Source/WebCore/crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h.
3789         * crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h: Removed.
3790         Renamed RsaSsaKeyParams to RsaKeyParamsWithHash, because other algorithms (like RSA-OAEP)
3791         are in the same boat. Depending on where the spec goes, we might need to introduce
3792         algorithm specific RSA parameter classes later, but let's reduce copy/pasted code at
3793         least for now.
3794
3795         * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Moved to the correct directory.
3796         * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Copied from Source/WebCore/crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp.
3797         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign): Factored out Mac specific
3798         code, leaving type casting to cross-platform files.
3799         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify): Ditto.
3800
3801         * crypto/CryptoAlgorithmRegistry.h:
3802         (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
3803         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
3804         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
3805         Reduce copy/pasting in registration code.
3806
3807         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
3808         (WebCore::CryptoAlgorithmAES_CBC::keyAlgorithmMatches): Check key type and algorithm.
3809         (WebCore::CryptoAlgorithmAES_CBC::encrypt): Cross platform type casting code.
3810         Maybe we'll find a way to autogenerate or eliminate it one day.
3811         (WebCore::CryptoAlgorithmAES_CBC::decrypt): Ditto.
3812
3813         * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
3814         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
3815         (WebCore::CryptoAlgorithmHMAC::keyAlgorithmMatches):
3816         (WebCore::CryptoAlgorithmHMAC::sign):
3817         (WebCore::CryptoAlgorithmHMAC::verify):
3818         * crypto/algorithms/CryptoAlgorithmHMAC.h:
3819         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
3820         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::keyAlgorithmMatches):
3821         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
3822         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
3823         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
3824         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
3825         * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
3826         (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
3827         (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
3828         * crypto/mac/CryptoAlgorithmHMACMac.cpp:
3829         (WebCore::CryptoAlgorithmHMAC::platformSign):
3830         (WebCore::CryptoAlgorithmHMAC::platformVerify):
3831         Same changes for all algorithms that have keys.
3832
3833 2013-11-22  Brendan Long  <b.long@cablelabs.com>
3834
3835         Fire "change" event on TextTrackList when a TextTrack's mode changes
3836         https://bugs.webkit.org/show_bug.cgi?id=124789
3837
3838         Reviewed by Eric Carlson.
3839
3840         Since AudioTrackList and VideoTrackList already have this event, the
3841         interesting bits are in TrackListBase::scheduleChangeEvent(), and we
3842         just need to call it for TextTrackList changes.
3843
3844         Test: media/track/track-change-event.html
3845
3846         * html/HTMLMediaElement.cpp:
3847         (HTMLMediaElement::textTrackModeChanged): Call TrackListBase::scheduleChangeEvent().
3848         * html/track/TextTrackList.idl: Add onchange event listener.
3849
3850 2013-11-22  Brendan Long  <b.long@cablelabs.com>
3851
3852         Add TextTrackList::getTrackById().
3853         https://bugs.webkit.org/show_bug.cgi?id=124785
3854
3855         Reviewed by Eric Carlson.
3856
3857         Test: media/track/track-id.html
3858
3859         * html/track/TextTrackList.cpp: Add getTrackById()
3860         (TextTrackList::getTrackById):
3861         * html/track/TextTrackList.h: Same.
3862         * html/track/TextTrackList.idl: Same.
3863
3864 2013-11-22  Hans Muller  <hmuller@adobe.com>
3865
3866         [CSS Shapes] When the <box> value is set, derive radii from border-radius
3867         https://bugs.webkit.org/show_bug.cgi?id=124228
3868
3869         Reviewed by Dean Jackson.
3870
3871         Add support for BoxShape elliptical corners.
3872
3873         Tests: fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-001.html
3874                fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-002.html
3875
3876         * platform/graphics/FloatRoundedRect.h:
3877         (WebCore::FloatRoundedRect::bottomLeftCorner): Corrected a copy-and-pasteO.
3878         * rendering/shapes/BoxShape.cpp:
3879         (WebCore::BoxShape::getExcludedIntervals): Returned interval now depends on the top and bottom of the line.
3880         * rendering/shapes/Shape.cpp:
3881         (WebCore::Shape::createShape): Rounded rect parameters are now specified with a RoundedRect parameter.
3882         * rendering/shapes/Shape.h:
3883         * rendering/shapes/ShapeInfo.cpp:
3884         (WebCore::::computedShape): Pass style's rounded border to createShape().
3885
3886 2013-11-22  Andres Gomez  <agomez@igalia.com>
3887
3888         Several missing/incorrect guards for LOG_DISABLED=0 against Release build (Mac)
3889         https://bugs.webkit.org/show_bug.cgi?id=78735
3890
3891         Reviewed by Mario Sanchez Prada.
3892
3893         In a "Debug" build the CString.h header comes from another
3894         indirect dependency. Now, we explicitly add this missing include.
3895
3896         * page/CaptionUserPreferencesMediaAF.cpp: Explicitly adding
3897         missing include.
3898
3899 2013-11-22  Robert Sipka  <sipka@inf.u-szeged.hu>
3900
3901         [curl] Fix of SSL certificate chain storage
3902         https://bugs.webkit.org/show_bug.cgi?id=124768
3903
3904         Reviewed by Brent Fulgham.
3905
3906         Change the certificates storage type into ListHashSet
3907         from HashSet to keep the chain order in each case.
3908         This ensures that there is no difference between the stored
3909         and the recieved certificate chain.
3910
3911         * platform/network/curl/SSLHandle.cpp:
3912         (WebCore::allowsAnyHTTPSCertificateHosts):
3913         (WebCore::sslIgnoreHTTPSCertificate):
3914         (WebCore::pemData):
3915         (WebCore::certVerifyCallback):
3916
3917 2013-11-22  Brent Fulgham  <bfulgham@apple.com>
3918
3919         [Win] Avoid deadlock when interacting with some AVFoundationCF content
3920         <rdar://problem/15482977> and https://bugs.webkit.org/show_bug.cgi?id=124752
3921
3922         Prevent deadlock caused by conflict over the "mapLock" mutex. Notification handling in the file,
3923         which modify assets and make other changes, are required to happen on the main thread. This
3924         patch enforces this requirement.
3925
3926         Reviewed by Eric Carlson.
3927
3928         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3929         (WebCore::NotificationCallbackData::NotificationCallbackData): Added
3930         (WebCore::AVFWrapper::processNotification): Moved logic from 'notificationCallback', which was
3931         sometimes happening on a background thread.
3932         (WebCore::AVFWrapper::notificationCallback): Dispatch calls to main thread.
3933
3934 2013-11-22  peavo@outlook.com  <peavo@outlook.com>
3935
3936         [WinCairo] Compile error when ACCELERATED_COMPOSITING is not used.
3937         https://bugs.webkit.org/show_bug.cgi?id=124773
3938
3939         Reviewed by Brent Fulgham.
3940
3941         * rendering/RenderView.cpp:
3942         (WebCore::RenderView::paintBoxDecorations): Added USE(ACCELERATED_COMPOSITING) guard.
3943
3944 2013-11-18  Sergio Villar Senin  <svillar@igalia.com>
3945
3946         [CSS Grid Layout] Improve content-sized track layout
3947         https://bugs.webkit.org/show_bug.cgi?id=124408
3948
3949         Reviewed by Dean Jackson.
3950
3951         Test: fast/css-grid-layout/grid-item-with-percent-min-max-height-dynamic.html
3952
3953         From Blink r156122 & r157633 by <jchaffraix@chromium.org>
3954
3955         Added a couple of optimizations to speed up the layout of content
3956         based tracks. The idea is to narrow down the conditions for
3957         relayouting when the height of a grid area changes. We basically
3958         just need to layout tracks with percentage heights as they're the
3959         only ones that change.
3960
3961         A new performance test is attached to demonstrate the effect of
3962         these optimizations. We get a ~1000% improvement on a i7 M620
3963         going from 14.5 runs/s to 165 runs/s.
3964
3965         * rendering/RenderGrid.cpp:
3966         (WebCore::RenderGrid::logicalContentHeightForChild):
3967         (WebCore::RenderGrid::layoutGridItems):
3968
3969 2013-11-08  Sergio Villar Senin  <svillar@igalia.com>
3970
3971         [CSS Grid Layout] Run the content-sized tracks sizing algorithm only when required
3972         https://bugs.webkit.org/show_bug.cgi?id=124039
3973
3974         Reviewed by Dean Jackson.
3975
3976         The current code runs the content sized track sizing algorithm all
3977         the time, which forces a layout even when the track is not
3978         content-sized. This change improves the situation by applying two
3979         optimizations. In the first one, we bail out the algorithm if we
3980         detect that we don't need to run it. And by the second one we
3981         reduce the amount of recomputations by only iterating over the
3982         content sized tracks instead of all of them. Both changes follow
3983         the ideas introduced in Blink r156028 and r156168 by
3984         <jchaffraix@chromium.org>.
3985
3986         As we changed the way we iterate over children (we use the
3987         GridIterator now) the way they're stored in the RenderGrid changes
3988         too. If a item spans through several "cells" inside the grid, we
3989         will have a reference to it on each of them.
3990
3991         These two changes account for a ~3200% improvement on a i7 M620 in
3992         the test that accompanies this change (15.5 vs 520 run/s).
3993
3994         New perf test: PerformanceTests/Layout/fixed-grid-lots-of-data.html
3995
3996         * rendering/RenderGrid.cpp:
3997         (WebCore::RenderGrid::computedUsedBreadthOfGridTracks): Keep track
3998         of content sized tracks and only iterate over them.
3999         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
4000         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
4001         Early return if there are no tracks to pass to the algorithm.
4002         * rendering/RenderGrid.h:
4003         * rendering/style/GridLength.h:
4004         (WebCore::GridLength::isContentSized):
4005         * rendering/style/GridTrackSize.h:
4006         (WebCore::GridTrackSize::isContentSized):
4007
4008 2013-11-22  Manuel Rego Casasnovas  <rego@igalia.com>
4009
4010         [CSS Regions] Move code after early break in RenderRegion::repaintFlowThreadContentRectangle
4011         https://bugs.webkit.org/show_bug.cgi?id=124743
4012
4013         Reviewed by Mihnea Ovidenie.
4014
4015         No new tests, covered by existing tests.
4016
4017         * rendering/RenderRegion.cpp:
4018         (WebCore::RenderRegion::repaintFlowThreadContentRectangle): Variable
4019         flippedFlowThreadPortionRect is not used before the early break, so we
4020         can move it after and save some unneeded operations.
4021
4022 2013-11-22  Manuel Rego Casasnovas  <rego@igalia.com>
4023
4024         [CSS Regions] Use hasOverflowClip() in RenderRegion
4025         https://bugs.webkit.org/show_bug.cgi?id=124746
4026
4027         Reviewed by Mihnea Ovidenie.
4028
4029         Implement the suggested FIXME in RenderRegion using hasOverflowClip().
4030
4031         No new tests, covered by existing tests.
4032
4033         * rendering/RenderRegion.cpp:
4034         (WebCore::RenderRegion::overflowRectForFlowThreadPortion): Use
4035         hasOverflowClip().
4036         (WebCore::RenderRegion::rectFlowPortionForBox): Ditto.
4037
4038 2013-11-21  Frédéric Wang  <fred.wang@free.fr>
4039
4040         Map the dir attribute to the CSS direction property.
4041         https://bugs.webkit.org/show_bug.cgi?id=124572.
4042
4043         Reviewed by Darin Adler.
4044
4045         Test: mathml/presentation/mstyle-css-attributes.html
4046
4047         * mathml/MathMLElement.cpp:
4048         (WebCore::MathMLElement::isPresentationAttribute): reorder attributes
4049         (WebCore::MathMLElement::collectStyleForPresentationAttribute): reorder tags that accept dir
4050         (WebCore::MathMLElement::isMathMLToken): add an inline function to test that a tag corresponds to a MathML Token Element.
4051         * mathml/MathMLElement.h:
4052
4053         Follow-up work to address Darin's comments.
4054
4055 2013-11-21  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
4056
4057         Remove ENABLE_WORKERS
4058         https://bugs.webkit.org/show_bug.cgi?id=105784
4059
4060         Reviewed by Darin Adler.
4061
4062 2013-11-21  Alex Christensen  <achristensen@webkit.org>
4063
4064         [Win] Unreviewed build fix after r159632.
4065
4066         * platform/network/curl/SSLHandle.cpp:
4067         (WebCore::certVerifyCallback):
4068         Fixed template syntax.
4069
4070 2013-11-21  Bear Travis  <betravis@adobe.com>
4071
4072         Web Inspector: [CSS Shapes] Refactor highlighting code to decrease Shapes API surface
4073         https://bugs.webkit.org/show_bug.cgi?id=124737
4074
4075         Reviewed by Timothy Hatcher.
4076
4077         Add a virtual method to Shapes, buildPath, that can be used to build the
4078         path (in the Shape coordinate system) for display in the Inspector. This allows us
4079         to remove methods such as type(), polygon(), and logicalRx/Ry() which exposed the
4080         inner workings of the Shapes classes. Also covers the addition of the BoxShape type.
4081
4082         Refactoring, existing test is inspector-protocol/model/highlight-shape-outside.html.
4083
4084         * inspector/InspectorOverlay.cpp:
4085         (WebCore::appendPathCommandAndPoints): Points need to be translated from shape space
4086         to renderer space using ShapeInfo.
4087         (WebCore::buildObjectForShapeOutside): Add the ShapeOutsid