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