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