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