[css-grid] Refactor cachedGridCoordinate() to cachedGridSpan()
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2015-11-09  Manuel Rego Casasnovas  <rego@igalia.com>
2
3         [css-grid] Refactor cachedGridCoordinate() to cachedGridSpan()
4         https://bugs.webkit.org/show_bug.cgi?id=151017
5
6         Reviewed by Sergio Villar Senin.
7
8         We were using cachedGridCoordinate() in lots of places and checking the
9         direction just in the next line. Creating a generic function to do this.
10
11         No new tests, no behavior change.
12
13         * rendering/RenderGrid.cpp:
14         (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
15         (WebCore::GridItemWithSpan::GridItemWithSpan):
16         (WebCore::GridItemWithSpan::span):
17         (WebCore::GridItemWithSpan::operator<):
18         (WebCore::RenderGrid::spanningItemCrossesFlexibleSizedTracks):
19         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
20         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForNonSpanningItems):
21         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
22         (WebCore::RenderGrid::cachedGridSpan):
23         (WebCore::RenderGrid::gridAreaBreadthForChild):
24         (WebCore::RenderGrid::gridAreaBreadthForChildIncludingAlignmentOffsets):
25         (WebCore::RenderGrid::columnAxisOffsetForChild):
26         (WebCore::RenderGrid::rowAxisOffsetForChild):
27         (WebCore::GridItemWithSpan::gridItem): Deleted.
28         (WebCore::RenderGrid::populateGridPositions): Deleted.
29         * rendering/RenderGrid.h:
30
31 2015-11-09  Youenn Fablet  <youenn.fablet@crf.canon.fr>
32
33         JS Built-ins functions should be able to assert
34         https://bugs.webkit.org/show_bug.cgi?id=150333
35
36         Reviewed by Yusuke Suzuki.
37
38         * Modules/streams/ReadableStreamInternals.js:
39         (privateInitializeReadableStreamReader): Activating an @assert.
40
41 2015-11-02  Sergio Villar Senin  <svillar@igalia.com>
42
43         [css-grid] Improve grid container sizing with size constraints and intrinsic sizes
44         https://bugs.webkit.org/show_bug.cgi?id=150679
45
46         Reviewed by Darin Adler.
47
48         The grid container stores from now on its min-content and
49         max-content block sizes in order to be able to properly
50         compute its intrinsic size. It has to redefine
51         computeIntrinsicLogicalContentHeightUsing() because the
52         behavior of grid is different to "normal" blocks:
53
54         - the min-content size is the sum of the grid container's
55         track sizes in the appropiate axis when the grid is sized
56         under a min-content constraint.
57         - the max-content size is the sum of the grid container's
58         track sizes in the appropiate axis when the grid is sized
59         under a max-content constraint.
60         - the auto block size is the max-content size.
61
62         A nice side effect is that we can now properly detect whether
63         the grid has a definite size on a given axis or not.
64
65         Tests: fast/css-grid-layout/absolute-positioning-definite-sizes.html
66                fast/css-grid-layout/flex-and-intrinsic-sizes.html
67                fast/css-grid-layout/maximize-tracks-definite-indefinite-height.html
68                fast/css-grid-layout/maximize-tracks-definite-indefinite-width.html
69
70         * rendering/RenderBox.h: made
71         computeIntrinsicLogicalContentHeightUsing() virtual.
72         * rendering/RenderGrid.cpp:
73         (WebCore::RenderGrid::GridSizingData::GridSizingData):
74         (WebCore::RenderGrid::GridSizingData::freeSpaceForDirection):
75         (WebCore::RenderGrid::GridSizingData::setFreeSpaceForDirection):
76         (WebCore::RenderGrid::computeTrackBasedLogicalHeight):
77         (WebCore::RenderGrid::computeTrackSizesForDirection):
78         (WebCore::RenderGrid::layoutBlock):
79         (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
80         (WebCore::RenderGrid::computeIntrinsicLogicalHeight):
81         (WebCore::RenderGrid::computeIntrinsicLogicalContentHeightUsing):
82         (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
83         (WebCore::RenderGrid::distributeSpaceToTracks):
84         (WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
85         (WebCore::RenderGrid::applyStretchAlignmentToTracksIfNeeded):
86         (WebCore::RenderGrid::layoutGridItems):
87         (WebCore::RenderGrid::populateGridPositions):
88         (WebCore::RenderGrid::gridElementIsShrinkToFit): Deleted.
89         * rendering/RenderGrid.h:
90
91 2015-11-05  Sergio Villar Senin  <svillar@igalia.com>
92
93         [css-grid] Grid placement conflict handling
94         https://bugs.webkit.org/show_bug.cgi?id=150891
95
96         Reviewed by Darin Adler.
97
98         If the placement for a grid item contains two lines, and the
99         start line is further end-ward than the end line, swap the two
100         lines. If the start line is equal to the end line, remove the
101         end line.
102
103         Test: fast/css-grid-layout/swap-lines-if-start-is-further-endward-than-end-line.html
104
105         * rendering/style/GridResolvedPosition.cpp:
106         (WebCore::resolveNamedGridLinePositionFromStyle):
107         (WebCore::resolveGridPositionFromStyle):
108         (WebCore::GridResolvedPosition::GridResolvedPosition):
109         (WebCore::GridResolvedPosition::resolveGridPositionsFromStyle):
110         (WebCore::adjustGridPositionForSide): Deleted.
111         * rendering/style/GridResolvedPosition.h:
112         (WebCore::GridResolvedPosition::prev):
113
114 2015-11-08  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
115
116         [EFL] Add UserAgentEFl.cpp|h
117         https://bugs.webkit.org/show_bug.cgi?id=151007
118
119         Reviewed by Darin Adler.
120
121         As other ports EFL port starts to have UserAgentEfl class in order to support more detailed
122         UA.
123
124         No new tests, no behavior change.
125
126         * PlatformEfl.cmake:
127         * platform/efl/UserAgentEfl.cpp: Added.
128         (WebCore::platformForUAString):
129         (WebCore::platformVersionForUAString):
130         (WebCore::versionForUAString):
131         (WebCore::standardUserAgent):
132         * platform/efl/UserAgentEfl.h: Added.
133
134 2015-11-08  David Kilzer  <ddkilzer@apple.com>
135
136         REGRESSION (r192140): Windows build broke after removing ColorSpace argument to all drawing calls
137         <http://webkit.org/b/150967>
138
139         Unreviewed attempt to fix the Windows build.
140
141         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
142         (PlatformCALayerWin::drawTextAtPoint):
143         * platform/graphics/win/ImageCGWin.cpp:
144         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
145         * rendering/RenderThemeWin.cpp:
146         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
147         (WebCore::RenderThemeWin::paintSearchFieldResultsDecorationPart):
148         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
149
150 2015-11-08  Youenn Fablet  <youenn.fablet@crf.canon.fr>
151
152         generate-js-builtins.js should support @internal annotation
153         https://bugs.webkit.org/show_bug.cgi?id=150929
154
155         Reviewed by Darin Adler.
156
157         No change in behavior.
158
159         * Modules/streams/ReadableStreamInternals.js: Renamed @internals to @internal.
160         * Modules/streams/StreamInternals.js: Ditto.
161         * Modules/streams/WritableStreamInternals.js: Ditto.
162
163 2015-11-07  Simon Fraser  <simon.fraser@apple.com>
164
165         Remove ColorSpace argument to all the drawing calls
166         https://bugs.webkit.org/show_bug.cgi?id=150967
167
168         Reviewed by Darin Adler.
169
170         Since the -webkit-color-correction CSS property was removed in r188202, and ColorSpaceDeviceRGB
171         and ColorSpaceSRGB are functionally equivalent, we can remove all the ColorSpace arguments passed
172         to drawing functions, and remove RenderStyle::colorSpace(), which was hardcoded to return ColorSpaceSRGB.
173         
174         Fill and stroke ColorSpaces are also remove from graphics state, simplifying color save/restore.
175         
176         * bindings/scripts/CodeGeneratorObjC.pm:
177         (GenerateImplementation):
178         * css/CSSFilterImageValue.cpp:
179         (WebCore::CSSFilterImageValue::image):
180         * editing/FrameSelection.cpp:
181         (WebCore::CaretBase::paintCaret):
182         * editing/cocoa/HTMLConverter.mm:
183         (_platformColor):
184         * html/HTMLCanvasElement.cpp:
185         (WebCore::HTMLCanvasElement::paint):
186         * html/canvas/CanvasRenderingContext2D.cpp:
187         (WebCore::CanvasRenderingContext2D::clearRect):
188         (WebCore::CanvasRenderingContext2D::applyShadow):
189         (WebCore::CanvasRenderingContext2D::drawImage):
190         (WebCore::CanvasRenderingContext2D::compositeBuffer):
191         (WebCore::drawImageToContext):
192         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
193         (WebCore::CanvasRenderingContext2D::drawTextInternal):
194         * html/canvas/CanvasRenderingContext2D.h:
195         * html/canvas/CanvasStyle.cpp:
196         (WebCore::CanvasStyle::applyStrokeColor):
197         (WebCore::CanvasStyle::applyFillColor):
198         * html/canvas/WebGLRenderingContextBase.cpp:
199         (WebCore::WebGLRenderingContextBase::drawImageIntoBuffer):
200         * page/DebugPageOverlays.cpp:
201         (WebCore::RegionOverlay::drawRect):
202         * page/FrameView.cpp:
203         (WebCore::FrameView::paintScrollCorner):
204         (WebCore::FrameView::paintScrollbar):
205         (WebCore::FrameView::paintContents):
206         * page/PrintContext.cpp:
207         (WebCore::PrintContext::spoolAllPagesWithBoundaries):
208         * platform/ScrollView.cpp:
209         (WebCore::ScrollView::paintPanScrollIcon):
210         * platform/ScrollbarTheme.h:
211         (WebCore::ScrollbarTheme::defaultPaintScrollCorner):
212         * platform/ScrollbarThemeComposite.cpp:
213         (WebCore::ScrollbarThemeComposite::paintScrollCorner):
214         (WebCore::ScrollbarThemeComposite::paintOverhangAreas):
215         * platform/Theme.cpp:
216         (WebCore::Theme::drawNamedImage):
217         * platform/cocoa/ThemeCocoa.cpp:
218         (WebCore::ThemeCocoa::drawNamedImage):
219         * platform/graphics/BitmapImage.cpp:
220         (WebCore::BitmapImage::drawPattern):
221         * platform/graphics/BitmapImage.h:
222         * platform/graphics/Color.h:
223         * platform/graphics/CrossfadeGeneratedImage.cpp:
224         (WebCore::drawCrossfadeSubimage):
225         (WebCore::CrossfadeGeneratedImage::draw):
226         (WebCore::CrossfadeGeneratedImage::drawPattern):
227         * platform/graphics/CrossfadeGeneratedImage.h:
228         * platform/graphics/GeneratedImage.h:
229         * platform/graphics/GradientImage.cpp:
230         (WebCore::GradientImage::draw):
231         (WebCore::GradientImage::drawPattern):
232         * platform/graphics/GradientImage.h:
233         * platform/graphics/GraphicsContext.cpp:
234         (WebCore::GraphicsContext::drawRaisedEllipse):
235         (WebCore::GraphicsContext::setStrokeColor):
236         (WebCore::GraphicsContext::setShadow):
237         (WebCore::GraphicsContext::setLegacyShadow):
238         (WebCore::GraphicsContext::getShadow):
239         (WebCore::GraphicsContext::setFillColor):
240         (WebCore::GraphicsContext::drawImage):
241         (WebCore::GraphicsContext::drawTiledImage):
242         (WebCore::GraphicsContext::drawImageBuffer):
243         (WebCore::GraphicsContext::fillRect):
244         (WebCore::GraphicsContext::fillRoundedRect):
245         (WebCore::GraphicsContext::fillRectWithRoundedHole):
246         (WebCore::GraphicsContext::clearShadow): Deleted.
247         * platform/graphics/GraphicsContext.h:
248         (WebCore::GraphicsContext::strokeColorSpace): Deleted.
249         (WebCore::GraphicsContext::fillColorSpace): Deleted.
250         * platform/graphics/Image.cpp:
251         (WebCore::Image::fillWithSolidColor):
252         (WebCore::Image::drawTiled):
253         * platform/graphics/Image.h:
254         (WebCore::Image::drawFrameMatchingSourceSize):
255         * platform/graphics/ImageBuffer.h:
256         (WebCore::ImageBuffer::create):
257         * platform/graphics/NamedImageGeneratedImage.cpp:
258         (WebCore::NamedImageGeneratedImage::draw):
259         (WebCore::NamedImageGeneratedImage::drawPattern):
260         * platform/graphics/NamedImageGeneratedImage.h:
261         * platform/graphics/ShadowBlur.cpp:
262         (WebCore::ScratchBuffer::setCachedShadowValues):
263         (WebCore::ScratchBuffer::setCachedInsetShadowValues):
264         (WebCore::ShadowBlur::ShadowBlur):
265         (WebCore::ShadowBlur::setShadowValues):
266         (WebCore::ShadowBlur::drawShadowBuffer):
267         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
268         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
269         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
270         (WebCore::ShadowBlur::drawRectShadowWithTiling):
271         (WebCore::ShadowBlur::drawLayerPieces):
272         (WebCore::ShadowBlur::blurAndColorShadowBuffer):
273         (WebCore::ShadowBlur::beginShadowLayer):
274         (WebCore::ShadowBlur::endShadowLayer):
275         * platform/graphics/ShadowBlur.h:
276         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
277         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
278         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
279         * platform/graphics/ca/GraphicsLayerCA.cpp:
280         (WebCore::GraphicsLayerCA::setContentsToImage): Deleted.
281         * platform/graphics/ca/TileGrid.cpp:
282         (WebCore::TileGrid::platformCALayerPaintContents):
283         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
284         (PlatformCALayerWinInternal::drawRepaintCounters):
285         * platform/graphics/cairo/BitmapImageCairo.cpp:
286         (WebCore::BitmapImage::draw):
287         * platform/graphics/cairo/GraphicsContextCairo.cpp:
288         (WebCore::GraphicsContext::fillRect):
289         (WebCore::GraphicsContext::setPlatformFillColor):
290         (WebCore::GraphicsContext::setPlatformStrokeColor):
291         (WebCore::GraphicsContext::setPlatformShadow):
292         (WebCore::GraphicsContext::platformFillRoundedRect):
293         (WebCore::GraphicsContext::fillRectWithRoundedHole):
294         (WebCore::GraphicsContext::drawPattern):
295         * platform/graphics/cairo/ImageBufferCairo.cpp:
296         (WebCore::ImageBuffer::draw):
297         (WebCore::ImageBuffer::drawPattern):
298         * platform/graphics/cairo/ImageCairo.cpp:
299         (WebCore::Image::drawPattern):
300         * platform/graphics/cg/BitmapImageCG.cpp:
301         (WebCore::BitmapImage::draw):
302         * platform/graphics/cg/ColorCG.cpp:
303         (WebCore::leakCGColor):
304         (WebCore::cachedCGColor):
305         * platform/graphics/cg/GraphicsContext3DCG.cpp:
306         (WebCore::GraphicsContext3D::paintToCanvas):
307         * platform/graphics/cg/GraphicsContextCG.cpp:
308         (WebCore::setCGFillColor):
309         (WebCore::setCGStrokeColor):
310         (WebCore::GraphicsContext::platformInit):
311         (WebCore::GraphicsContext::drawNativeImage):
312         (WebCore::GraphicsContext::drawPattern):
313         (WebCore::GraphicsContext::drawRect):
314         (WebCore::GraphicsContext::drawLine):
315         (WebCore::GraphicsContext::applyFillPattern):
316         (WebCore::GraphicsContext::fillRect):
317         (WebCore::GraphicsContext::platformFillRoundedRect):
318         (WebCore::GraphicsContext::fillRectWithRoundedHole):
319         (WebCore::GraphicsContext::setPlatformShadow):
320         (WebCore::GraphicsContext::drawLinesForText):
321         (WebCore::GraphicsContext::setPlatformStrokeColor):
322         (WebCore::GraphicsContext::setPlatformFillColor):
323         (WebCore::sRGBColorSpaceRef): Deleted.
324         * platform/graphics/cg/ImageBufferCG.cpp:
325         (WebCore::ImageBuffer::copyImage):
326         (WebCore::ImageBuffer::draw):
327         (WebCore::ImageBuffer::drawPattern):
328         * platform/graphics/cg/ImageCG.cpp:
329         (WebCore::Image::drawPattern):
330         (WebCore::Image::imageWithColorSpace): Deleted.
331         * platform/graphics/cg/PDFDocumentImage.cpp:
332         (WebCore::PDFDocumentImage::draw):
333         * platform/graphics/cg/PDFDocumentImage.h:
334         * platform/graphics/cocoa/FontCascadeCocoa.mm:
335         (WebCore::FontCascade::drawGlyphs):
336         * platform/graphics/filters/FEBlend.cpp:
337         (WebCore::FEBlend::platformApplySoftware):
338         * platform/graphics/filters/FEColorMatrix.cpp:
339         (WebCore::FEColorMatrix::platformApplySoftware):
340         * platform/graphics/filters/FEComposite.cpp:
341         (WebCore::FEComposite::platformApplySoftware):
342         * platform/graphics/filters/FEDropShadow.cpp:
343         (WebCore::FEDropShadow::platformApplySoftware):
344         * platform/graphics/filters/FEFlood.cpp:
345         (WebCore::FEFlood::platformApplySoftware):
346         * platform/graphics/filters/FEMerge.cpp:
347         (WebCore::FEMerge::platformApplySoftware):
348         * platform/graphics/filters/FEOffset.cpp:
349         (WebCore::FEOffset::platformApplySoftware):
350         * platform/graphics/filters/FETile.cpp:
351         (WebCore::FETile::platformApplySoftware):
352         * platform/graphics/filters/SourceAlpha.cpp:
353         (WebCore::SourceAlpha::platformApplySoftware):
354         * platform/graphics/filters/SourceGraphic.cpp:
355         (WebCore::SourceGraphic::platformApplySoftware):
356         * platform/graphics/ios/IconIOS.mm:
357         (WebCore::Icon::paint):
358         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
359         * platform/graphics/texmap/coordinated/UpdateAtlas.cpp:
360         * platform/graphics/win/FontCGWin.cpp:
361         (WebCore::FontCascade::drawGlyphs):
362         * platform/graphics/win/GraphicsContextCGWin.cpp:
363         (WebCore::GraphicsContext::drawFocusRing):
364         * platform/graphics/win/ImageCGWin.cpp:
365         (WebCore::BitmapImage::getHBITMAPOfSize):
366         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
367         * platform/graphics/win/ImageCairoWin.cpp:
368         (WebCore::BitmapImage::getHBITMAPOfSize):
369         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
370         * platform/ios/LegacyTileCache.mm:
371         (WebCore::LegacyTileCache::drawLayer):
372         * platform/ios/LegacyTileGridTile.mm:
373         (WebCore::LegacyTileGridTile::showBorder):
374         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
375         (WebVideoFullscreenControllerContext::didSetupFullscreen):
376         * platform/mac/DragImageMac.mm:
377         (WebCore::drawAtPoint):
378         * platform/mac/ScrollbarThemeMac.mm:
379         (WebCore::ScrollbarThemeMac::setUpOverhangAreaBackground):
380         * platform/mac/ThemeMac.mm:
381         (WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext):
382         * platform/mediastream/MediaStreamPrivate.cpp:
383         (WebCore::MediaStreamPrivate::paintCurrentFrameInContext):
384         * platform/mock/ScrollbarThemeMock.cpp:
385         (WebCore::ScrollbarThemeMock::paintTrackBackground):
386         (WebCore::ScrollbarThemeMock::paintThumb):
387         * platform/win/DragImageWin.cpp:
388         (WebCore::createDragImageForLink):
389         * platform/win/PopupMenuWin.cpp:
390         (WebCore::PopupMenuWin::paint):
391         * platform/win/WebCoreTextRenderer.cpp:
392         (WebCore::doDrawTextAtPoint):
393         * rendering/EllipsisBox.cpp:
394         (WebCore::EllipsisBox::paint):
395         (WebCore::EllipsisBox::paintSelection):
396         * rendering/FilterEffectRenderer.cpp:
397         (WebCore::FilterEffectRendererHelper::applyFilterEffect):
398         * rendering/InlineTextBox.cpp:
399         (WebCore::InlineTextBox::paintSelection):
400         (WebCore::InlineTextBox::paintCompositionBackground):
401         (WebCore::InlineTextBox::paintDecoration):
402         (WebCore::InlineTextBox::paintTextMatchMarker):
403         (WebCore::InlineTextBox::paintCompositionUnderline):
404         * rendering/RenderBlock.cpp:
405         (WebCore::RenderBlock::blockSelectionGap):
406         (WebCore::RenderBlock::logicalLeftSelectionGap):
407         (WebCore::RenderBlock::logicalRightSelectionGap):
408         * rendering/RenderBox.cpp:
409         (WebCore::RenderBox::paintClippingMask):
410         * rendering/RenderBoxModelObject.cpp:
411         (WebCore::applyBoxShadowForBackground):
412         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
413         (WebCore::RenderBoxModelObject::paintBorder):
414         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
415         (WebCore::RenderBoxModelObject::paintBoxShadow):
416         * rendering/RenderDetailsMarker.cpp:
417         (WebCore::RenderDetailsMarker::paint):
418         * rendering/RenderElement.cpp:
419         (WebCore::RenderElement::drawLineForBoxSide):
420         (WebCore::RenderElement::paintOutline):
421         * rendering/RenderEmbeddedObject.cpp:
422         (WebCore::RenderEmbeddedObject::paintSnapshotImage):
423         (WebCore::RenderEmbeddedObject::paintReplaced):
424         * rendering/RenderFileUploadControl.cpp:
425         (WebCore::RenderFileUploadControl::paintObject):
426         * rendering/RenderFrameSet.cpp:
427         (WebCore::RenderFrameSet::paintColumnBorder):
428         (WebCore::RenderFrameSet::paintRowBorder):
429         * rendering/RenderImage.cpp:
430         (WebCore::RenderImage::paintReplaced):
431         (WebCore::RenderImage::paintIntoRect):
432         * rendering/RenderLayer.cpp:
433         (WebCore::RenderLayer::beginTransparencyLayers):
434         (WebCore::RenderLayer::paintScrollCorner):
435         (WebCore::RenderLayer::drawPlatformResizerImage):
436         (WebCore::RenderLayer::paintResizer):
437         * rendering/RenderListBox.cpp:
438         (WebCore::RenderListBox::paintItemForeground):
439         (WebCore::RenderListBox::paintItemBackground):
440         * rendering/RenderListMarker.cpp:
441         (WebCore::RenderListMarker::paint):
442         * rendering/RenderReplaced.cpp:
443         (WebCore::RenderReplaced::paint):
444         * rendering/RenderScrollbarTheme.cpp:
445         (WebCore::RenderScrollbarTheme::paintScrollCorner):
446         * rendering/RenderSnapshottedPlugIn.cpp:
447         (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
448         * rendering/RenderTheme.cpp:
449         (WebCore::RenderTheme::paintSliderTicks):
450         * rendering/RenderThemeIOS.mm:
451         (WebCore::drawAxialGradient):
452         (WebCore::drawRadialGradient):
453         (WebCore::RenderThemeIOS::paintCheckboxDecorations):
454         (WebCore::RenderThemeIOS::paintRadioDecorations):
455         (WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
456         (WebCore::RenderThemeIOS::paintSliderTrack):
457         (WebCore::RenderThemeIOS::paintProgressBar):
458         (WebCore::RenderThemeIOS::paintFileUploadIconDecorations):
459         * rendering/RenderThemeMac.mm:
460         (WebCore::RenderThemeMac::paintProgressBar):
461         (WebCore::RenderThemeMac::paintMenuListButtonDecorations):
462         (WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
463         (WebCore::titleTextColorForAttachment):
464         (WebCore::AttachmentLayout::layOutSubtitle):
465         (WebCore::paintAttachmentIconBackground):
466         (WebCore::paintAttachmentTitleBackground):
467         (WebCore::paintAttachmentProgress):
468         * rendering/RenderView.cpp:
469         (WebCore::RenderView::paint):
470         (WebCore::RenderView::paintBoxDecorations):
471         * rendering/RenderWidget.cpp:
472         (WebCore::RenderWidget::paint):
473         * rendering/RootInlineBox.cpp:
474         (WebCore::RootInlineBox::lineSelectionGap):
475         * rendering/SimpleLineLayoutFunctions.cpp:
476         (WebCore::SimpleLineLayout::paintDebugBorders):
477         * rendering/TextPaintStyle.cpp:
478         (WebCore::TextPaintStyle::TextPaintStyle):
479         (WebCore::adjustColorForVisibilityOnBackground):
480         (WebCore::computeTextPaintStyle):
481         (WebCore::updateGraphicsContext):
482         * rendering/TextPaintStyle.h:
483         (WebCore::TextPaintStyle::TextPaintStyle):
484         * rendering/TextPainter.cpp:
485         (WebCore::ShadowApplier::ShadowApplier):
486         (WebCore::paintTextWithShadows):
487         * rendering/mathml/RenderMathMLBlock.cpp:
488         (WebCore::RenderMathMLBlock::paint):
489         * rendering/mathml/RenderMathMLFraction.cpp:
490         (WebCore::RenderMathMLFraction::paint):
491         * rendering/mathml/RenderMathMLMenclose.cpp:
492         (WebCore::RenderMathMLMenclose::paint):
493         * rendering/mathml/RenderMathMLOperator.cpp:
494         (WebCore::RenderMathMLOperator::paint):
495         * rendering/mathml/RenderMathMLRadicalOperator.cpp:
496         (WebCore::RenderMathMLRadicalOperator::paint):
497         * rendering/mathml/RenderMathMLRoot.cpp:
498         (WebCore::RenderMathMLRoot::paint):
499         * rendering/shapes/Shape.cpp:
500         (WebCore::Shape::createRasterShape):
501         * rendering/style/NinePieceImage.cpp:
502         (WebCore::NinePieceImage::paint):
503         * rendering/style/RenderStyle.h:
504         * rendering/svg/RenderSVGImage.cpp:
505         (WebCore::RenderSVGImage::paintForeground):
506         * rendering/svg/RenderSVGPath.cpp:
507         (WebCore::useStrokeStyleToFill):
508         * rendering/svg/RenderSVGResourceFilter.cpp:
509         (WebCore::RenderSVGResourceFilter::postApplyResource):
510         * rendering/svg/RenderSVGResourceSolidColor.cpp:
511         (WebCore::RenderSVGResourceSolidColor::applyResource):
512         * rendering/svg/SVGInlineTextBox.cpp:
513         (WebCore::SVGInlineTextBox::paintSelectionBackground):
514         * rendering/svg/SVGRenderingContext.cpp:
515         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
516         (WebCore::SVGRenderingContext::bufferForeground):
517         * svg/SVGAnimatedColor.cpp:
518         (WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
519         * svg/graphics/SVGImage.cpp:
520         (WebCore::SVGImage::drawForContainer):
521         (WebCore::SVGImage::nativeImageForCurrentFrame):
522         (WebCore::SVGImage::drawPatternForContainer):
523         (WebCore::SVGImage::draw):
524         * svg/graphics/SVGImage.h:
525         * svg/graphics/SVGImageForContainer.cpp:
526         (WebCore::SVGImageForContainer::draw):
527         (WebCore::SVGImageForContainer::drawPattern):
528         * svg/graphics/SVGImageForContainer.h:
529         * svg/graphics/filters/SVGFEImage.cpp:
530         (WebCore::FEImage::platformApplySoftware):
531         * testing/MockPageOverlayClient.cpp:
532         (WebCore::MockPageOverlayClient::drawRect):
533
534 2015-11-07  Simon Fraser  <simon.fraser@apple.com>
535
536         Use ColorSpaceSRGB for image buffers everywhere
537         https://bugs.webkit.org/show_bug.cgi?id=150990
538
539         Reviewed by Zalan Bujtas.
540
541         ColorSpaceSRGB and ColorSpaceDeviceRGB are equivalent now, so convert
542         code that creates image buffers tagged with ColorSpaceDeviceRGB to use ColorSpaceSRGB.
543
544         * platform/graphics/GraphicsContext.cpp:
545         (WebCore::GraphicsContext::createCompatibleBuffer):
546         * platform/graphics/ImageBuffer.h:
547         (WebCore::ImageBuffer::create):
548         * platform/graphics/cg/BitmapImageCG.cpp:
549         (WebCore::BitmapImage::checkForSolidColor):
550         * platform/graphics/cg/ColorCG.cpp:
551         (WebCore::Color::Color):
552         * platform/graphics/cg/GraphicsContextCG.cpp:
553         (WebCore::sRGBColorSpaceRef): Deleted.
554         * platform/graphics/cg/ImageBufferCG.cpp:
555         (WebCore::ImageBuffer::putByteArray):
556         * platform/graphics/cocoa/IOSurface.mm:
557         (IOSurface::createFromImage):
558         * platform/graphics/filters/FEFlood.h:
559         * platform/graphics/filters/FETile.cpp:
560         (WebCore::FETile::platformApplySoftware):
561         * platform/graphics/filters/FilterEffect.cpp:
562         (WebCore::FilterEffect::FilterEffect):
563         * platform/graphics/filters/SourceGraphic.h:
564         (WebCore::SourceGraphic::SourceGraphic):
565         * rendering/FilterEffectRenderer.cpp:
566         (WebCore::FilterEffectRenderer::build):
567         (WebCore::FilterEffectRenderer::apply):
568         * rendering/RenderThemeMac.mm:
569         (WebCore::RenderThemeMac::paintProgressBar):
570         * rendering/svg/RenderSVGResourceClipper.cpp:
571         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
572         * rendering/svg/RenderSVGResourceFilter.cpp:
573         (WebCore::RenderSVGResourceFilter::buildPrimitives):
574         * rendering/svg/RenderSVGResourceGradient.cpp:
575         (WebCore::createMaskAndSwapContextForTextGradient):
576         * rendering/svg/RenderSVGResourceMasker.cpp:
577         (WebCore::RenderSVGResourceMasker::applyResource):
578         * rendering/svg/RenderSVGResourcePattern.cpp:
579         (WebCore::RenderSVGResourcePattern::createTileImage):
580         * svg/graphics/SVGImage.cpp:
581         (WebCore::SVGImage::drawPatternForContainer):
582         * svg/graphics/filters/SVGFEImage.cpp:
583         (WebCore::FEImage::platformApplySoftware):
584
585 2015-11-07  Zalan Bujtas  <zalan@apple.com>
586
587         Crash when subtree layout is set on FrameView while auto size mode is enabled.
588         https://bugs.webkit.org/show_bug.cgi?id=150995
589         rdar://problem/22785262
590
591         Reviewed by Beth Dakin.
592
593         Autosizing initiates multiple synchronous layouts to calculate preferred view width for current content.
594         FrameView::autoSizeIfEnabled() is called from FrameView::layout() while we are in InPreLayout state.
595         It is safe to do during full layout.
596         However, since we setup the subtree state just before the autoSizeIfEnabled() call, reentering it with
597         a newly issued layout confuses SubtreeLayoutStateMaintainer.
598
599         This patch reverses the order of autoSizeIfEnabled() call and the subtree layout state setup.
600         It also ensures that the first layout requested by autoSizeIfEnabled() always runs on the whole tree.  
601
602         Test: fast/dynamic/crash-subtree-layout-when-auto-size-enabled.html
603
604         * page/FrameView.cpp:
605         (WebCore::FrameView::layout):
606         (WebCore::FrameView::convertSubtreeLayoutToFullLayout):
607         (WebCore::FrameView::scheduleRelayout):
608         (WebCore::FrameView::scheduleRelayoutOfSubtree):
609         (WebCore::FrameView::autoSizeIfEnabled):
610         * page/FrameView.h:
611         * testing/Internals.cpp:
612         (WebCore::Internals::enableAutoSizeMode):
613         * testing/Internals.h:
614         * testing/Internals.idl:
615
616 2015-11-07  Chris Dumez  <cdumez@apple.com>
617
618         embed element without src and type attributes should represent nothing
619         https://bugs.webkit.org/show_bug.cgi?id=148853
620         <rdar://problem/22588235>
621
622         Reviewed by Zalan Bujtas.
623
624         As per the HTML specification, an embed element without src and type
625         attributes should represent nothing:
626         https://html.spec.whatwg.org/multipage/embedded-content.html#the-embed-element
627
628         This patch fixes the issue by making sure we don't construct a
629         renderer for such embed elements.
630
631         The new behavior is consistent with Firefox but differs from Chrome.
632
633         No new tests, already covered by existing tests.
634
635         * html/HTMLEmbedElement.cpp:
636         (WebCore::HTMLEmbedElement::rendererIsNeeded):
637
638 2015-11-07  Michael Catanzaro  <mcatanzaro@igalia.com>
639
640         Node.h:392:12: warning: 'this' pointer cannot be null in well-defined C++ code
641         https://bugs.webkit.org/show_bug.cgi?id=150996
642
643         Reviewed by Andreas Kling.
644
645         Remove ASSERT(this) statement that is triggering hundreds of warnings from Clang.
646
647         * dom/Node.h:
648         (WebCore::Node::document):
649
650 2015-11-07  Michael Catanzaro  <mcatanzaro@igalia.com>
651
652         Unreviewed, fix GTK build after r191981
653
654         * html/HTMLFormControlElement.cpp:
655
656 2015-11-06  Scott Valentine  <svalentine@ikayzo.com>
657
658         Allow an optional hash algorithm to be passed to generateKey for RSA keys.
659         https://bugs.webkit.org/show_bug.cgi?id=144938
660
661         Reviewed by Alexey Proskuryakov.
662
663         Test: crypto/subtle/rsa-export-generated-keys.html
664
665         This changeset allows an optional hash parameter to be passed to the generate
666         key function for RSA type keys. Previously, there was no way to export generated
667         keys, as no hash function could be associated with the key (required for JWK).
668
669         The current WebCrypto API draft requires the hash function to be specified in the
670         algorithm object passed to generateKey (http://www.w3.org/TR/WebCryptoAPI 20.4),
671         however, they were made optional in this implementation to maintain compatiblity.
672
673         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
674         (WebCore::getHashAlgorithm):
675         (WebCore::createHmacParams):
676         (WebCore::createHmacKeyParams):
677         (WebCore::createRsaKeyGenParams):
678         (WebCore::createRsaOaepParams):
679         (WebCore::createRsaSsaParams):
680         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey): Deleted.
681         * bindings/js/SerializedScriptValue.cpp:
682         (WebCore::CloneDeserializer::readRSAKey):
683         * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
684         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):
685         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):
686         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
687         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):
688         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
689         * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
690         (WebCore::CryptoAlgorithmRSA_OAEP::generateKey):
691         (WebCore::CryptoAlgorithmRSA_OAEP::importKey):
692         * crypto/gnutls/CryptoKeyRSAGnuTLS.cpp:
693         (WebCore::CryptoKeyRSA::CryptoKeyRSA):
694         (WebCore::CryptoKeyRSA::create):
695         (WebCore::CryptoKeyRSA::generatePair):
696         (WebCore::CryptoKeyRSA::restrictToHash): Deleted.
697         * crypto/keys/CryptoKeyRSA.h:
698         * crypto/mac/CryptoKeyRSAMac.cpp:
699         (WebCore::CryptoKeyRSA::CryptoKeyRSA):
700         (WebCore::CryptoKeyRSA::create):
701         (WebCore::CryptoKeyRSA::generatePair):
702         (WebCore::CryptoKeyRSA::restrictToHash): Deleted.
703         * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:
704
705 2015-11-06  Wenson Hsieh  <wenson_hsieh@apple.com>
706
707         Scrolling iframe inside scrollable div does not work with trackpad
708         https://bugs.webkit.org/show_bug.cgi?id=150168
709         <rdar://problem/23143931>
710
711         Reviewed by Brent Fulgham.
712
713         When scrolling in an iframe nested under an overflow scrolling region, EventHandler::platformPrepareForWheelEvents
714         fails to compute the correct scrollableArea, using the overflow div's scrollable area instead of the iframe's view.
715         This causes the latching algorithm to bail out of handling the wheel event. To avoid this, we special-case the
716         decision to compute the scrollableArea from the scrollableContainer if we are attempting to scroll in an iframe.
717
718         Test: fast/scrolling/latching/scroll-iframe-in-overflow.html
719
720         * page/mac/EventHandlerMac.mm:
721         (WebCore::EventHandler::platformPrepareForWheelEvents):
722
723 2015-11-06  Brady Eidson  <beidson@apple.com>
724
725         Modern IDB: Make the result data for a "get" request be an IDBGetResult.
726         https://bugs.webkit.org/show_bug.cgi?id=150985
727
728         Reviewed by Alex Christensen.
729
730         No new tests (Refactor, no change in behavior).
731
732         * Modules/indexeddb/IDBGetResult.h:
733         (WebCore::IDBGetResult::IDBGetResult):
734         (WebCore::IDBGetResult::dataFromBuffer):
735         (WebCore::IDBGetResult::isolatedCopy):
736         
737         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
738         (WebCore::IDBClient::IDBTransaction::didGetRecordOnServer):
739         
740         * Modules/indexeddb/legacy/IDBTransactionBackendOperations.cpp:
741         (WebCore::GetOperation::perform):
742         
743         * Modules/indexeddb/server/IDBBackingStore.h:
744         
745         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
746         (WebCore::IDBServer::MemoryIDBBackingStore::getIndexRecord):
747         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
748         
749         * Modules/indexeddb/server/MemoryIndex.cpp:
750         (WebCore::IDBServer::MemoryIndex::valueForKeyRange):
751         * Modules/indexeddb/server/MemoryIndex.h:
752         
753         * Modules/indexeddb/server/MemoryObjectStore.cpp:
754         (WebCore::IDBServer::MemoryObjectStore::indexValueForKeyRange):
755         * Modules/indexeddb/server/MemoryObjectStore.h:
756         
757         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
758         (WebCore::IDBServer::UniqueIDBDatabase::storeCallback):
759         (WebCore::IDBServer::UniqueIDBDatabase::getRecord):
760         (WebCore::IDBServer::UniqueIDBDatabase::performGetIndexRecord):
761         (WebCore::IDBServer::UniqueIDBDatabase::didPerformGetRecord):
762         (WebCore::IDBServer::UniqueIDBDatabase::performGetResultCallback):
763         (WebCore::IDBServer::UniqueIDBDatabase::performValueDataCallback): Deleted.
764         * Modules/indexeddb/server/UniqueIDBDatabase.h:
765         
766         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
767         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
768         
769         * Modules/indexeddb/shared/IDBResultData.cpp:
770         (WebCore::IDBResultData::IDBResultData):
771         (WebCore::IDBResultData::getRecordSuccess):
772         (WebCore::IDBResultData::getResult):
773         * Modules/indexeddb/shared/IDBResultData.h:
774         (WebCore::IDBResultData::resultData): Deleted.
775
776 2015-11-06  Chris Dumez  <cdumez@apple.com>
777
778         Remove unused HTMLFormControlsCollection::namedItem()
779         https://bugs.webkit.org/show_bug.cgi?id=150975
780
781         Reviewed by Andreas Kling.
782
783         Remove unused HTMLFormControlsCollection::namedItem().
784         JSHTMLFormControlsCollection::namedItem() calls namedItems() on the
785         implementation object, not namedItem() because it returns a
786         RadioNodeList when there are several matches.
787
788         * html/HTMLFormControlsCollection.cpp:
789         (WebCore::firstNamedItem): Deleted.
790         (WebCore::HTMLFormControlsCollection::namedItem): Deleted.
791         * html/HTMLFormControlsCollection.h:
792
793 2015-11-06  Myles C. Maxfield  <mmaxfield@apple.com>
794
795         REGRESSION(r182286): Tatechuyoko following ruby is drawn too far to the right
796         https://bugs.webkit.org/show_bug.cgi?id=150923
797
798         Reviewed by Zalan Bujtas.
799
800         Ever since r182286, expansion opportunities in justified ruby were moved to their neighboring
801         elements (thereby forbidding trailing nor leading expansions inside ruby). However, when the
802         neighboring element is tatechuyoko, we will erroneously honor the expansion opportunity inside
803         the tatechuyoko, thereby moving it horizontally.
804
805         Tatechuyoko should never have expansion opportunities inside it.
806
807         Test: fast/text/ruby-justify-tatechuyoko.html
808
809         * rendering/RenderBlockLineLayout.cpp:
810         (WebCore::expansionBehaviorForInlineTextBox):
811
812 2015-11-06  Mario Sanchez Prada  <mario@endlessm.com>
813
814         Layout Test accessibility/win/linked-elements.html is crashing on win debug
815         https://bugs.webkit.org/show_bug.cgi?id=150944
816
817         Reviewed by Chris Fleizach.
818
819         Be more precise ASSERTing on textUnderElement, only checking that the render
820         tree is stable before using TextIteraror when in 'IncludeAllChildren' mode.
821
822         * accessibility/AccessibilityRenderObject.cpp:
823         (WebCore::AccessibilityRenderObject::textUnderElement):
824
825 2015-11-06  Carlos Garcia Campos  <cgarcia@igalia.com>
826
827         [GStreamer] Use MainThreadNotifier to send notifications to main thread in WebKitWebSourceGStreamer
828         https://bugs.webkit.org/show_bug.cgi?id=150890
829
830         Reviewed by Žan Doberšek.
831
832         Instead of the GThreadSafeMainLoopSources.
833
834         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
835         (webKitWebSrcStop):
836         (webKitWebSrcChangeState):
837         (webKitWebSrcNeedData):
838         (webKitWebSrcEnoughData):
839         (webKitWebSrcSeek):
840         (StreamingClient::handleResponseReceived):
841         (StreamingClient::handleDataReceived):
842         (StreamingClient::handleNotifyFinished):
843         (webKitWebSrcFinalize): Deleted.
844         (webKitWebSrcSetProperty): Deleted.
845         (webKitWebSrcGetProperty): Deleted.
846         (webKitWebSrcSetExtraHeader): Deleted.
847         (webKitWebSrcStart): Deleted.
848         (webKitWebSrcGetProtocols): Deleted.
849         (webKitWebSrcGetUri): Deleted.
850         (webKitWebSrcSetUri): Deleted.
851         (webKitWebSrcUriHandlerInit): Deleted.
852
853 2015-11-06  Carlos Garcia Campos  <cgarcia@igalia.com>
854
855         [GStreamer] Use MainThreadNotifier to send notifications to main thread in TrackPrivateGStreamer
856         https://bugs.webkit.org/show_bug.cgi?id=150889
857
858         Reviewed by Žan Doberšek.
859
860         Instead of the GThreadSafeMainLoopSources.
861
862         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
863         (WebCore::InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer):
864         (WebCore::InbandTextTrackPrivateGStreamer::handleSample):
865         (WebCore::InbandTextTrackPrivateGStreamer::streamChanged):
866         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
867         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
868         (WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer):
869         (WebCore::TrackPrivateBaseGStreamer::disconnect):
870         (WebCore::TrackPrivateBaseGStreamer::activeChangedCallback):
871         (WebCore::TrackPrivateBaseGStreamer::tagsChangedCallback):
872         (WebCore::TrackPrivateBaseGStreamer::tagsChanged):
873         (WebCore::TrackPrivateBaseGStreamer::~TrackPrivateBaseGStreamer): Deleted.
874         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfActiveChanged): Deleted.
875         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
876
877 2015-11-06  Csaba Osztrogonác  <ossy@webkit.org>
878
879         Suppress deprecated-declarations warning in WebCore/platform/URL.cpp
880         https://bugs.webkit.org/show_bug.cgi?id=150803
881
882         Reviewed by Alexey Proskuryakov.
883
884         * platform/URL.cpp:
885         (WebCore::appendEncodedHostname):
886
887 2015-11-06  Carlos Garcia Campos  <cgarcia@igalia.com>
888
889         [GStreamer] Do not use GThreadSafeMainLoopSource to send notifications to the main thread in MediaPlayerPrivateGStreamer
890         https://bugs.webkit.org/show_bug.cgi?id=150888
891
892         Reviewed by Žan Doberšek.
893
894         Analyzing how the main loop sources were used in GST code I've
895         noticed that in most of the cases they are used to send
896         notifications to the main thread. The way it works in those cases
897         is that some state is updated in whatever thread and we notify the
898         main thread to use the new state. There's no data passed to the
899         main thread, they are just notifications. I've also noticed that
900         we are not doing this exactly as expected in several of those
901         cases. GThreadSafeMainLoopSource cancels the current source when a
902         new one is scheduled, and that was done this way because previous
903         code in GST using GSources directly did it that way. But that's
904         not what we want, if there's a notification pending, since the
905         state is updated, we can just wait for it to happen instead of
906         cancelling and scheduling a new one. I've also noticed that in
907         most of the cases where we schedule notifications to the main
908         thread, we can be already in the main thread, so we could avoid
909         the schedule entirely.
910         We can use RunLoop::dispatch() to send notifications to the main
911         thread, but there's no way to cancel those tasks. This patch adds
912         a new helper class MainThreadNotifier that uses an enum of flags to
913         handle different kind of notifications. It uses
914         RunLoop::dispatch() to send notifications to the main thread, but
915         only if there isn't one pending for the given type.
916         This patch also makes signal callbacks static members to be able
917         to make the private methods actually private.
918
919         * platform/graphics/gstreamer/MainThreadNotifier.h: Added.
920         (WebCore::MainThreadNotifier::MainThreadNotifier):
921         (WebCore::MainThreadNotifier::notify):
922         (WebCore::MainThreadNotifier::cancelPendingNotifications):
923         (WebCore::MainThreadNotifier::addPendingNotification):
924         (WebCore::MainThreadNotifier::removePendingNotification):
925         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
926         (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamPropertiesCallback):
927         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
928         (WebCore::MediaPlayerPrivateGStreamer::videoChangedCallback):
929         (WebCore::MediaPlayerPrivateGStreamer::videoSinkCapsChangedCallback):
930         (WebCore::MediaPlayerPrivateGStreamer::audioChangedCallback):
931         (WebCore::MediaPlayerPrivateGStreamer::textChangedCallback):
932         (WebCore::MediaPlayerPrivateGStreamer::newTextSampleCallback):
933         (WebCore::MediaPlayerPrivateGStreamer::sourceChangedCallback):
934         (WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
935         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
936         (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties): Deleted.
937         (WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine): Deleted.
938         (WebCore::initializeGStreamerAndRegisterWebKitElements): Deleted.
939         (WebCore::MediaPlayerPrivateGStreamer::load): Deleted.
940         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): Deleted.
941         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio): Deleted.
942         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText): Deleted.
943         (WebCore::MediaPlayerPrivateGStreamer::canSaveMediaData): Deleted.
944         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
945         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
946         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
947         (WebCore::MediaPlayerPrivateGStreamerBase::volumeChangedCallback):
948         (WebCore::MediaPlayerPrivateGStreamerBase::muteChangedCallback):
949         (WebCore::MediaPlayerPrivateGStreamerBase::repaintCallback):
950         (WebCore::MediaPlayerPrivateGStreamerBase::drawCallback):
951         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
952         (WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement):
953         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase): Deleted.
954         (WebCore::MediaPlayerPrivateGStreamerBase::setPipeline): Deleted.
955         (WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage): Deleted.
956         (WebCore::MediaPlayerPrivateGStreamerBase::muted): Deleted.
957         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Deleted.
958         (WebCore::MediaPlayerPrivateGStreamerBase::droppedFrameCount): Deleted.
959         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
960         (WebCore::MediaPlayerPrivateGStreamerBase::setVisible): Deleted.
961
962 2015-11-06  Yoav Weiss  <yoav@yoav.ws>
963
964         Expose HTMLImageElement sizes attribute in IDL
965         https://bugs.webkit.org/show_bug.cgi?id=150230
966
967         Reviewed by Darin Adler.
968
969         No new tests, but fixed test expectations for exposed interfaces.
970
971         * html/HTMLImageElement.idl: Make sure that `sizes` is exposed as an IDL attribute, to ensure proper feature detection of sizes support.
972
973 2015-11-05  Carlos Garcia Campos  <cgarcia@igalia.com>
974
975         [GStreamer] Use RunLoop::Timer instead of GMainLoopSource in video sink
976         https://bugs.webkit.org/show_bug.cgi?id=150807
977
978         Reviewed by Žan Doberšek.
979
980         Since we always wait until the sample is actually rendered we
981         don't really need either a thread safe main loop source, nor
982         cancelling if already requested and other things GMainLoopSource does.
983         This adds a helper class VideoRenderRequestScheduler to use the
984         RunLoop::Timer. All the logic to syncronize between threads has
985         been moved to this helper class too.
986
987         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
988         (VideoRenderRequestScheduler::VideoRenderRequestScheduler):
989         (VideoRenderRequestScheduler::start):
990         (VideoRenderRequestScheduler::stop):
991         (VideoRenderRequestScheduler::requestRender):
992         (VideoRenderRequestScheduler::isUnlocked):
993         (VideoRenderRequestScheduler::render):
994         (_WebKitVideoSinkPrivate::_WebKitVideoSinkPrivate):
995         (webkitVideoSinkRepaintRequested):
996         (webkitVideoSinkRender):
997         (webkitVideoSinkUnlock):
998         (webkitVideoSinkUnlockStop):
999         (webkitVideoSinkStop):
1000         (webkitVideoSinkStart):
1001         (_WebKitVideoSinkPrivate::~_WebKitVideoSinkPrivate): Deleted.
1002         (webkitVideoSinkTimeoutCallback): Deleted.
1003         (unlockSampleMutex): Deleted.
1004
1005 2015-11-05  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>
1006
1007         Add runtime and compile time flags for enabling Web Animations API and model.
1008         https://bugs.webkit.org/show_bug.cgi?id=150914
1009
1010         Reviewed by Benjamin Poulain.
1011
1012         Add ENABLE_WEB_ANIMATIONS compile time flag, runtime flag webAnimationsEnabled and Expose WK2 preference for runtime flag.
1013
1014         * Configurations/FeatureDefines.xcconfig:
1015         * bindings/generic/RuntimeEnabledFeatures.cpp:
1016         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
1017         * bindings/generic/RuntimeEnabledFeatures.h:
1018         (WebCore::RuntimeEnabledFeatures::setWebAnimationsEnabled):
1019         (WebCore::RuntimeEnabledFeatures::webAnimationsEnabled):
1020
1021 2015-11-05  Commit Queue  <commit-queue@webkit.org>
1022
1023         Unreviewed, rolling out r192089.
1024         https://bugs.webkit.org/show_bug.cgi?id=150966
1025
1026         This change broke an existing layout test on Yosemite and
1027         Mavericks (Requested by ryanhaddad on #webkit).
1028
1029         Reverted changeset:
1030
1031         "Preview on apple.com/contact with all text selected shows a
1032         map"
1033         https://bugs.webkit.org/show_bug.cgi?id=150963
1034         http://trac.webkit.org/changeset/192089
1035
1036 2015-11-05  Tim Horton  <timothy_horton@apple.com>
1037
1038         Preview on apple.com/contact with all text selected shows a map
1039         https://bugs.webkit.org/show_bug.cgi?id=150963
1040         <rdar://problem/23421750>
1041
1042         Reviewed by Beth Dakin.
1043
1044         * editing/mac/DictionaryLookup.h:
1045         * editing/mac/DictionaryLookup.mm:
1046         (WebCore::DictionaryLookup::rangeForSelection):
1047         If the range that Lookup decides to use doesn't intersect the hit point,
1048         just ignore Lookup.
1049
1050         (WebCore::DictionaryLookup::rangeAtHitTestResult):
1051         If the selection-based Lookup fails to find a usable result, fall back
1052         to looking around the hit point.
1053
1054 2015-11-05  Brady Eidson  <beidson@apple.com>
1055
1056         Modern IDB: Implement IDBIndex get/getKey/count requests.
1057         https://bugs.webkit.org/show_bug.cgi?id=150910
1058
1059         Reviewed by Alex Christensen.
1060
1061         Tests: storage/indexeddb/modern/index-get-count-basic.html
1062                storage/indexeddb/modern/index-get-count-failures.html
1063
1064         * Modules/indexeddb/IndexedDB.h:
1065
1066         * Modules/indexeddb/client/IDBAnyImpl.cpp:
1067         (WebCore::IDBClient::IDBAny::IDBAny):
1068         (WebCore::IDBClient::IDBAny::modernIDBIndex):
1069         * Modules/indexeddb/client/IDBAnyImpl.h:
1070         (WebCore::IDBClient::IDBAny::create):
1071         (WebCore::IDBClient::IDBAny::createUndefined):
1072
1073         * Modules/indexeddb/client/IDBIndexImpl.cpp:
1074         (WebCore::IDBClient::IDBIndex::count):
1075         (WebCore::IDBClient::IDBIndex::doCount):
1076         (WebCore::IDBClient::IDBIndex::get):
1077         (WebCore::IDBClient::IDBIndex::doGet):
1078         (WebCore::IDBClient::IDBIndex::getKey):
1079         (WebCore::IDBClient::IDBIndex::doGetKey):
1080         * Modules/indexeddb/client/IDBIndexImpl.h:
1081         (WebCore::IDBClient::IDBIndex::info):
1082         
1083         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
1084         (WebCore::IDBClient::IDBObjectStore::isDeleted):
1085         (WebCore::IDBClient::IDBObjectStore::modernTransaction):
1086         
1087         * Modules/indexeddb/client/IDBRequestImpl.cpp:
1088         (WebCore::IDBClient::IDBRequest::createCount):
1089         (WebCore::IDBClient::IDBRequest::createGet):
1090         (WebCore::IDBClient::IDBRequest::IDBRequest):
1091         (WebCore::IDBClient::IDBRequest::sourceObjectStoreIdentifier):
1092         (WebCore::IDBClient::IDBRequest::sourceIndexIdentifier):
1093         (WebCore::IDBClient::IDBRequest::requestedIndexRecordType):
1094         (WebCore::IDBClient::IDBRequest::setResultToUndefined):
1095         * Modules/indexeddb/client/IDBRequestImpl.h:
1096         
1097         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
1098         (WebCore::IDBClient::IDBTransaction::requestGetValue):
1099         (WebCore::IDBClient::IDBTransaction::requestGetKey):
1100         (WebCore::IDBClient::IDBTransaction::didGetRecordOnServer):
1101         (WebCore::IDBClient::IDBTransaction::requestCount):
1102         * Modules/indexeddb/client/IDBTransactionImpl.h:
1103         
1104         * Modules/indexeddb/client/TransactionOperation.cpp:
1105         (WebCore::IDBClient::TransactionOperation::TransactionOperation):
1106         * Modules/indexeddb/client/TransactionOperation.h:
1107         (WebCore::IDBClient::TransactionOperation::indexIdentifier):
1108         (WebCore::IDBClient::TransactionOperation::indexRecordType):
1109         
1110         * Modules/indexeddb/server/IDBBackingStore.h:
1111         
1112         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
1113         (WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
1114         (WebCore::IDBServer::MemoryIDBBackingStore::getIndexRecord):
1115         (WebCore::IDBServer::MemoryIDBBackingStore::getCount):
1116         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
1117         
1118         * Modules/indexeddb/server/MemoryIndex.cpp:
1119         (WebCore::IDBServer::MemoryIndex::valueForKeyRange):
1120         (WebCore::IDBServer::MemoryIndex::countForKeyRange):
1121         * Modules/indexeddb/server/MemoryIndex.h:
1122         
1123         * Modules/indexeddb/server/MemoryObjectStore.cpp:
1124         (WebCore::IDBServer::MemoryObjectStore::createIndex):
1125         (WebCore::IDBServer::MemoryObjectStore::countForKeyRange):
1126         (WebCore::IDBServer::MemoryObjectStore::indexValueForKeyRange):
1127         * Modules/indexeddb/server/MemoryObjectStore.h:
1128         
1129         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
1130         (WebCore::IDBServer::UniqueIDBDatabase::getRecord):
1131         (WebCore::IDBServer::UniqueIDBDatabase::performGetIndexRecord):
1132         (WebCore::IDBServer::UniqueIDBDatabase::getCount):
1133         (WebCore::IDBServer::UniqueIDBDatabase::performGetCount):
1134         (WebCore::IDBServer::UniqueIDBDatabase::performGetRecord): Deleted.
1135         * Modules/indexeddb/server/UniqueIDBDatabase.h:
1136         
1137         * Modules/indexeddb/shared/IDBRequestData.cpp:
1138         (WebCore::IDBRequestData::IDBRequestData):
1139         (WebCore::IDBRequestData::objectStoreIdentifier):
1140         (WebCore::IDBRequestData::indexIdentifier):
1141         (WebCore::IDBRequestData::indexRecordType):
1142         * Modules/indexeddb/shared/IDBRequestData.h:
1143
1144 2015-11-05  Zhuo Li  <zachli@apple.com>
1145
1146         Rename the variable to avoid conflict between the variable and the parameter.
1147         https://bugs.webkit.org/show_bug.cgi?id=150019.
1148
1149         Reviewed by Dan Bernstein.
1150
1151         * platform/cocoa/SearchPopupMenuCocoa.mm:
1152         (WebCore::typeCheckedRecentSearchesRemovingRecentSearchesAddedAfterDate): Rename `date`
1153         to `dateAdded` so that it does not have the same name as the parameter passed in.
1154
1155 2015-11-05  Joseph Pecoraro  <pecoraro@apple.com>
1156
1157         Web Inspector: Clean up InjectedScript uses
1158         https://bugs.webkit.org/show_bug.cgi?id=150921
1159
1160         Reviewed by Timothy Hatcher.
1161
1162         * inspector/CommandLineAPIModule.cpp:
1163         (WebCore::CommandLineAPIModule::injectIfNeeded):
1164         (WebCore::CommandLineAPIModule::CommandLineAPIModule):
1165         * inspector/CommandLineAPIModule.h:
1166         * inspector/WebInjectedScriptManager.cpp:
1167         (WebCore::WebInjectedScriptManager::didCreateInjectedScript):
1168         * inspector/WebInjectedScriptManager.h:
1169
1170 2015-11-05  Joseph Pecoraro  <pecoraro@apple.com>
1171
1172         Web Inspector: Put ScriptDebugServer into InspectorEnvironment and cleanup duplicate references
1173         https://bugs.webkit.org/show_bug.cgi?id=150869
1174
1175         Reviewed by Brian Burg.
1176
1177         Refactoring covered by existing tests.
1178
1179         * WebCore.xcodeproj/project.pbxproj:
1180         Privately export PageScriptDebuggerAgent.h due to InspectorController.h needing it.
1181
1182         * inspector/InspectorController.h:
1183         * inspector/InspectorController.cpp:
1184         (WebCore::InspectorController::InspectorController):
1185         (WebCore::InspectorController::scriptDebugServer):
1186         Own the PageScriptDebugServer.
1187
1188         * inspector/WorkerInspectorController.h:
1189         * inspector/WorkerInspectorController.cpp:
1190         (WebCore::WorkerInspectorController::WorkerInspectorController):
1191         (WebCore::WorkerInspectorController::scriptDebugServer):
1192         Own the WorkerScriptDebugServer.
1193
1194         (WebCore::WorkerInspectorController::vm):
1195         Use the VM accessed through the worker global object.
1196
1197         * inspector/InspectorWebAgentBase.h:
1198         (WebCore::InspectorAgentBase::InspectorAgentBase):
1199         Given Web agents a m_environment convenience to access the InspectorEnvironment.
1200
1201         * inspector/InspectorNetworkAgent.cpp:
1202         (WebCore::InspectorNetworkAgent::timestamp):
1203         * inspector/InspectorPageAgent.cpp:
1204         (WebCore::InspectorPageAgent::timestamp):
1205         (WebCore::InspectorPageAgent::enable):
1206         (WebCore::InspectorPageAgent::frameStartedLoading):
1207         * inspector/InspectorTimelineAgent.cpp:
1208         (WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
1209         (WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
1210         (WebCore::InspectorTimelineAgent::internalStart):
1211         (WebCore::InspectorTimelineAgent::internalStop):
1212         (WebCore::InspectorTimelineAgent::timestamp):
1213         (WebCore::InspectorTimelineAgent::startFromConsole):
1214         (WebCore::InspectorTimelineAgent::willCallFunction):
1215         (WebCore::InspectorTimelineAgent::willEvaluateScript):
1216         (WebCore::InspectorTimelineAgent::setPageScriptDebugServer): Deleted.
1217         * inspector/InspectorTimelineAgent.h:
1218         Use the InspectorEnvironment for VM / ScriptDebugServer.
1219
1220         * inspector/PageDebuggerAgent.cpp:
1221         (WebCore::PageDebuggerAgent::PageDebuggerAgent): Deleted.
1222         (WebCore::PageDebuggerAgent::scriptDebugServer): Deleted.
1223         * inspector/PageDebuggerAgent.h:
1224         * inspector/PageRuntimeAgent.cpp:
1225         (WebCore::PageRuntimeAgent::globalVM): Deleted.
1226         * inspector/PageRuntimeAgent.h:
1227         * inspector/WorkerDebuggerAgent.h:
1228         * inspector/WorkerRuntimeAgent.cpp:
1229         (WebCore::WorkerRuntimeAgent::globalVM): Deleted.
1230         * inspector/WorkerRuntimeAgent.h:
1231         * inspector/WorkerDebuggerAgent.cpp:
1232         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent): Deleted.
1233         (WebCore::WorkerDebuggerAgent::scriptDebugServer): Deleted.
1234         Remove now unnecessary subclass code.
1235
1236         (WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands):
1237         One more special case for accessing Worker properties from the ScriptDebugServer.
1238
1239 2015-11-05  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1240
1241         [Streams API] Shield implementation from user mangling Promise.reject and resolve methods
1242         https://bugs.webkit.org/show_bug.cgi?id=150895
1243
1244         Reviewed by Youenn Fablet.
1245
1246         Replace all calls to @Promise.resolve and @Promise.reject with their internal slot counterparts. This way we
1247         ensure that if the user replaces those constructor methods, our implementation still works.
1248
1249         Test: streams/streams-promises.html.
1250
1251         * Modules/streams/ReadableStream.js:
1252         (initializeReadableStream):
1253         (cancel):
1254         * Modules/streams/ReadableStreamInternals.js:
1255         (privateInitializeReadableStreamReader):
1256         (cancelReadableStream):
1257         (readFromReadableStreamReader):
1258         * Modules/streams/ReadableStreamReader.js:
1259         (cancel):
1260         (read):
1261         (closed):
1262         * Modules/streams/StreamInternals.js:
1263         (promiseInvokeOrNoop):
1264         (promiseInvokeOrFallbackOrNoop):
1265         * Modules/streams/WritableStream.js:
1266         (initializeWritableStream):
1267         (abort):
1268         (close):
1269         (write):
1270         (closed):
1271         (ready):
1272
1273 2015-11-05  Andreas Kling  <akling@apple.com>
1274
1275         Give ResourceUsageOverlay a stacked chart for dirty memory per category.
1276         <https://webkit.org/b/150905>
1277
1278         Reviewed by Antti Koivisto.
1279
1280         Refactored the data gathering to operate on "memory categories", a memory category is at
1281         the top level a VM tag, e.g the VM tag for our bmalloc allocator. It can in turn have
1282         sub-categories, e.g one for the GC heap, which allocates all of its blocks through bmalloc
1283         and thus end up in the same tag.
1284
1285         Each category also has a hard-coded color, which is used consistently in labels and charts.
1286
1287         Also went back to drawing everything with CGContext directly instead of GraphicsContext
1288         since the latter is not thread safe.
1289
1290         * page/ResourceUsageOverlay.h:
1291         * page/cocoa/ResourceUsageOverlayCocoa.mm:
1292         (-[WebOverlayLayer drawInContext:]):
1293         (WebCore::RingBuffer::last):
1294         (WebCore::MemoryCategoryInfo::MemoryCategoryInfo):
1295         (WebCore::ResourceUsageData::ResourceUsageData):
1296         (WebCore::showText):
1297         (WebCore::drawGraphLabel):
1298         (WebCore::drawCpuHistory):
1299         (WebCore::drawGCHistory):
1300         (WebCore::drawMemHistory):
1301         (WebCore::drawSlice):
1302         (WebCore::drawMemoryPie):
1303         (WebCore::ResourceUsageOverlay::platformDraw):
1304         (WebCore::categoryForVMTag):
1305         (WebCore::runSamplerThread):
1306         (WebCore::drawPlate): Deleted.
1307         (WebCore::fontCascade): Deleted.
1308         (WebCore::ResourceUsageOverlay::draw): Deleted.
1309
1310 2015-11-05  Simon Fraser  <simon.fraser@apple.com>
1311
1312         Having page overlays causes iframe to get composited
1313         https://bugs.webkit.org/show_bug.cgi?id=150920
1314
1315         Reviewed by Tim Horton.
1316         
1317         When deciding whether to enable compositing for a subframe, don't consult the
1318         main frame's overlay count. Only do that for the main frame.
1319
1320         (WebCore::RenderLayerCompositor::updateCompositingLayers):
1321
1322 2015-11-05  Manuel Rego Casasnovas  <rego@igalia.com>
1323
1324         [css-grid] Support positioned grid children
1325         https://bugs.webkit.org/show_bug.cgi?id=150837
1326
1327         Reviewed by Darin Adler.
1328
1329         According to the spec positioned grid children have
1330         a special behavior described at:
1331         https://drafts.csswg.org/css-grid/#abspos
1332
1333         The idea is that for positioned children the containing block will
1334         correspond to the padding edges of the grid container, unless the
1335         grid placement properties are defined.
1336         This not only affects to positioned grid items (direct children) but
1337         also to any descendant where the containing block is the grid container.
1338
1339         In order to manage this special behavior, the patch is overriding
1340         RenderBlock::layoutPositionedObject() to calculate the position and size
1341         depending on the grid-placement properties.
1342
1343         RenderBox class has some changes to calculate the containing block width
1344         and height for positioned objects (using the override value). And also
1345         to compute their static position.
1346
1347         Finally, the positioned items are not taken into account in all the
1348         different grid methods, in order that they do not interfere the layout
1349         of the grid as stated in the spec.
1350
1351         Tests: fast/css-grid-layout/absolute-positioning-grid-container-containing-block.html
1352                fast/css-grid-layout/absolute-positioning-grid-container-parent.html
1353                fast/css-grid-layout/grid-positioned-items-background.html
1354                fast/css-grid-layout/grid-positioned-items-implicit-grid-line.html
1355                fast/css-grid-layout/grid-positioned-items-implicit-grid.html
1356                fast/css-grid-layout/grid-positioned-items-unknown-named-grid-line.html
1357                fast/css-grid-layout/grid-sizing-positioned-items.html
1358                fast/css-grid-layout/positioned-grid-items-should-not-create-implicit-tracks.html
1359                fast/css-grid-layout/positioned-grid-items-should-not-take-up-space.html
1360
1361         * rendering/OrderIterator.cpp:
1362         (WebCore::OrderIterator::next): Fix method to avoid issues if no items
1363         are added to the iterator.
1364         * rendering/RenderBlock.h: Mark layoutPositionedObject() as virtual.
1365         * rendering/RenderBox.cpp: Add new maps for inline/block extra offsets.
1366         (WebCore::RenderBox::~RenderBox): Clear the new maps.
1367         (WebCore::RenderBox::extraInlineOffset): Extra offset that we need to
1368         apply to positioned grid children due to the grid placement properties.
1369         (WebCore::RenderBox::extraBlockOffset): Ditto.
1370         (WebCore::RenderBox::setExtraInlineOffset):
1371         (WebCore::RenderBox::setExtraBlockOffset):
1372         (WebCore::RenderBox::clearExtraInlineAndBlockOffests):
1373         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned): Use the
1374         override containing block if any.
1375         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned): Ditto.
1376         (WebCore::RenderBox::computePositionedLogicalWidth): Add the extra
1377         offset if it's a positioned element.
1378         (WebCore::RenderBox::computePositionedLogicalHeight): Ditto.
1379         * rendering/RenderBox.h:
1380         (WebCore::RenderBox::scrollbarLogicalWidth): Add utility method.
1381         * rendering/RenderGrid.cpp:
1382         (WebCore::RenderGrid::layoutBlock): Clear grid after layout positioned
1383         objects instead of at the end of layoutGridItems().
1384         (WebCore::RenderGrid::placeItemsOnGrid): Ignore positioned items.
1385         (WebCore::RenderGrid::populateExplicitGridAndOrderIterator): Ditto.
1386         (WebCore::RenderGrid::layoutGridItems): Ditto.
1387         (WebCore::RenderGrid::prepareChildForPositionedLayout): Set static
1388         position for positioned items.
1389         (WebCore::RenderGrid::layoutPositionedObject): Calculate position and
1390         size for positioned children.
1391         (WebCore::RenderGrid::offsetAndBreadthForPositionedChild): Calculate
1392         extra offset and breadth for positioned children.
1393         * rendering/RenderGrid.h:
1394         * rendering/style/GridResolvedPosition.cpp:
1395         (WebCore::GridResolvedPosition::isNonExistentNamedLineOrArea): Make it a
1396         public static method.
1397         (WebCore::GridUnresolvedSpan::adjustGridPositionsFromStyle): Fix calls
1398         to isNonExistentNamedLineOrArea().
1399         (WebCore::resolveGridPositionFromStyle): Ditto.
1400         * rendering/style/GridResolvedPosition.h: Make
1401         isNonExistentNamedLineOrArea() public.
1402
1403 2015-11-04  Jiewen Tan  <jiewen_tan@apple.com>
1404
1405         Null dereference loading Blink layout test editing/execCommand/delete-hidden-crash.html
1406         https://bugs.webkit.org/show_bug.cgi?id=149289
1407         <rdar://problem/22746352>
1408
1409         Reviewed by Enrica Casucci.
1410
1411         This is a merge of Blink r176497:
1412         https://codereview.chromium.org/340713003
1413
1414         It ensures the start & end positions in DeleteSelectionCommand::initializePositionData
1415         are editable.
1416
1417         Test: editing/execCommand/delete-hidden-crash.html
1418
1419         * editing/DeleteSelectionCommand.cpp:
1420         (WebCore::DeleteSelectionCommand::initializePositionData):
1421         * editing/Editor.cpp:
1422         (WebCore::Editor::advanceToNextMisspelling):
1423         * editing/htmlediting.cpp:
1424         (WebCore::firstEditablePositionAfterPositionInRoot):
1425         (WebCore::lastEditablePositionBeforePositionInRoot):
1426         These two functions don't make any sense to return VisiblePosition. Change them
1427         to return Position instead. Since there is a viable conversion from Position to
1428         VisiblePosition. It should not change the behavior of any other components depending
1429         on it.
1430         * editing/htmlediting.h:
1431
1432 2015-11-03  Myles C. Maxfield  <mmaxfield@apple.com>
1433
1434         Ruby base ending in tatechuyoko forces a line break before the tatechuyoko
1435         https://bugs.webkit.org/show_bug.cgi?id=150883
1436
1437         Reviewed by Darin Adler.
1438
1439         Asking the width of a 0-length tatechuyoko should return 0.
1440
1441         Test: fast/text/ruby-tatechuyoko.html
1442
1443         * rendering/RenderCombineText.cpp:
1444         (WebCore::RenderCombineText::width):
1445
1446 2015-11-04  Tim Horton  <timothy_horton@apple.com>
1447
1448         Update the name of a Mail class that we hardcode
1449         https://bugs.webkit.org/show_bug.cgi?id=150879
1450         <rdar://problem/23384627>
1451
1452         Reviewed by Alexey Proskuryakov.
1453
1454         * editing/cocoa/HTMLConverter.mm:
1455         (_WebMessageDocumentClass):
1456
1457 2015-11-04  Eric Carlson  <eric.carlson@apple.com>
1458
1459         [MediaStream] A RealtimeMediaSource should begin producing data automatically
1460         https://bugs.webkit.org/show_bug.cgi?id=150851
1461         rdar://problem/23380636
1462
1463         A RealtimeMediaSource should be producing data unless it is muted, which is not under the 
1464         control of the application, so a local source should begin producing data as soon as it
1465         is added to a stream. Remove "producing data" and "enabled" observer callbacks because 
1466         they don't provide anything that the "muted" callback already provides.
1467         
1468         Reviewed by Jer Noble.
1469
1470         * Modules/mediastream/MediaStreamTrack.cpp:
1471         (WebCore::MediaStreamTrack::trackProducingDataChanged): Deleted.
1472         * Modules/mediastream/MediaStreamTrack.h:
1473
1474         * Modules/mediastream/UserMediaRequest.cpp:
1475         (WebCore::UserMediaRequest::didCreateStream): Tell sources to begin producing data.
1476
1477         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
1478         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Don't call stream->startProducingData,
1479           it isn't necessary.
1480         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setReadyState): Call characteristicsChanged 
1481           when the readyState changes.
1482
1483         * platform/mediastream/MediaStreamPrivate.cpp:
1484         (WebCore::MediaStreamPrivate::trackProducingDataChanged): Deleted.
1485         * platform/mediastream/MediaStreamPrivate.h:
1486
1487         * platform/mediastream/MediaStreamTrackPrivate.cpp:
1488         (WebCore::MediaStreamTrackPrivate::sourceProducingDataChanged): Deleted.
1489         (WebCore::MediaStreamTrackPrivate::sourceEnabledChanged): Deleted.
1490         * platform/mediastream/MediaStreamTrackPrivate.h:
1491
1492         * platform/mediastream/RealtimeMediaSource.cpp:
1493         (WebCore::RealtimeMediaSource::isProducingDataDidChange): Deleted.
1494         (WebCore::RealtimeMediaSource::setEnabled): Deleted.
1495         * platform/mediastream/RealtimeMediaSource.h:
1496
1497         * platform/mediastream/mac/AVAudioCaptureSource.mm:
1498         (WebCore::AVAudioCaptureSource::captureOutputDidOutputSampleBufferFromConnection): !enabled() -> muted().
1499
1500         * platform/mediastream/mac/AVMediaCaptureSource.mm:
1501         (WebCore::AVMediaCaptureSource::captureSessionIsRunningDidChange): Don't call isProducingDataDidChange..
1502
1503         * platform/mediastream/mac/AVVideoCaptureSource.mm:
1504         (WebCore::AVVideoCaptureSource::processNewFrame): !enabled() -> muted().
1505
1506 2015-11-04  Jer Noble  <jer.noble@apple.com>
1507
1508         [iOS] <video> elements without audio tracks should not interrupt music
1509         https://bugs.webkit.org/show_bug.cgi?id=149888
1510
1511         Reviewed by Eric Carlson.
1512
1513         Tests: TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm
1514
1515         Only set the AVAudioSession category to "playback" when the video element in question has an
1516         audio track.
1517
1518         Add a new PlatformMediaSessionClient method called canProduceAudio(), overridden in HTMLMediaElement
1519         and AudioContext, which is checked when updating the AudioSession category in 
1520         PlatformMediaSessionManager::updateSessionState().
1521
1522         * Modules/webaudio/AudioContext.h:
1523         * html/HTMLMediaElement.cpp:
1524         (WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):
1525         * html/HTMLMediaElement.h:
1526         * platform/audio/PlatformMediaSession.cpp:
1527         (WebCore::PlatformMediaSession::activeAudioSessionRequired):
1528         (WebCore::PlatformMediaSession::setCanProduceAudio):
1529         * platform/audio/PlatformMediaSession.h:
1530         (WebCore::PlatformMediaSession::canProduceAudio):
1531         * platform/audio/PlatformMediaSessionManager.cpp:
1532         (WebCore::PlatformMediaSessionManager::canProduceAudio):
1533         (WebCore::PlatformMediaSessionManager::sessionCanProduceAudioChanged):
1534         (WebCore::PlatformMediaSessionManager::activeAudioSessionRequired):
1535         (WebCore::PlatformMediaSessionManager::sessionWillBeginPlayback):
1536         * platform/audio/PlatformMediaSessionManager.h:
1537         * platform/audio/mac/MediaSessionManagerMac.cpp:
1538         (PlatformMediaSessionManager::updateSessionState):
1539
1540 2015-11-03  Dean Jackson  <dino@apple.com>
1541
1542         Accept 8 and 4 value hex colors (#RRGGBBAA)
1543         https://bugs.webkit.org/show_bug.cgi?id=150853
1544         <rdar://problem/23380930>
1545
1546         Reviewed by Simon Fraser.
1547
1548         CSS Color Level 4 allows #RGBA and #RRGGBBAA values
1549         for colors.
1550
1551         Test: fast/css/hex-colors.html
1552
1553         * platform/graphics/Color.cpp:
1554         (WebCore::parseHexColorInternal): Update the color parsing for
1555         the new syntax.
1556
1557 2015-11-04  Mario Sanchez Prada  <mario@webkit.org>
1558
1559         [AX] WebProcess from WebKitGtk+ 2.10.0 compiled in Debug mode hits ASSERT on textUnderElement
1560         https://bugs.webkit.org/show_bug.cgi?id=150670
1561
1562         Reviewed by Chris Fleizach.
1563
1564         Move the ASSERTs stating that the render tree is stable before using the
1565         TextIterator to their right place, in AccessibilityRenderObject, so that
1566         we don't crash in debug builds in cases when this condition is irrelevant.
1567
1568         Test: accessibility/gtk/list-item-with-pseudo-element-crash.html
1569
1570         * accessibility/AccessibilityNodeObject.cpp:
1571         (WebCore::AccessibilityNodeObject::textUnderElement): Removed ASSERTs.
1572         * accessibility/AccessibilityRenderObject.cpp:
1573         (WebCore::AccessibilityRenderObject::textUnderElement): Added ASSERTs, but
1574         only before calling plainText and using the right document for the node.
1575
1576 2015-11-04  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1577
1578         [Streams API] Shield streams against user replacing the Promise constructor
1579         https://bugs.webkit.org/show_bug.cgi?id=150887
1580
1581         Reviewed by Youenn Fablet.
1582
1583         With this rework, we shield the Streams implementation against the user doing something like "Promise =
1584         function() { /* do garbage */ };".
1585
1586         Test: streams/streams-promises.html.
1587
1588         * Modules/streams/ReadableStream.js:
1589         (initializeReadableStream):
1590         (cancel):
1591         * Modules/streams/ReadableStreamInternals.js:
1592         (privateInitializeReadableStreamReader):
1593         (cancelReadableStream):
1594         (readFromReadableStreamReader):
1595         * Modules/streams/ReadableStreamReader.js:
1596         (cancel):
1597         (read):
1598         (closed):
1599         * Modules/streams/StreamInternals.js:
1600         (promiseInvokeOrNoop):
1601         (promiseInvokeOrFallbackOrNoop):
1602         * Modules/streams/WritableStream.js:
1603         (initializeWritableStream):
1604         (abort):
1605         (close):
1606         (write):
1607         (closed):
1608         (ready):
1609         * Modules/streams/WritableStreamInternals.js:
1610         (syncWritableStreamStateWithQueue):
1611
1612 2015-11-04  Antoine Quint  <graouts@apple.com>
1613
1614         SVG: hit testing region for <text> elements is incorrect
1615         https://bugs.webkit.org/show_bug.cgi?id=150838
1616
1617         Reviewed by Dean Jackson.
1618
1619         Hit testing for SVG <text> elements was using the same code as hit testing
1620         for CSS-rendered elements. However, in SVG, text elements should only hit
1621         test based on their character cells, not the rectangular bounds of the
1622         element, see section 16.6 of the SVG 1.1 specification:
1623         
1624         http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty
1625         
1626         So we now hit test each SVGTextFragment of each SVGInlineTextBox
1627         that is a child of an SVGRootInlineBox to correctly find whether the
1628         provided HitTestLocation is contained within a character cell. 
1629
1630         Tests: svg/hittest/text-dominant-baseline-hanging.svg
1631                svg/hittest/text-multiple-dx-values.svg
1632                svg/hittest/text-with-multiple-tspans.svg
1633                svg/hittest/text-with-text-node-and-content-elements.svg
1634                svg/hittest/text-with-text-node-only.svg
1635                svg/hittest/text-with-text-path.svg
1636
1637         * rendering/RootInlineBox.h:
1638         Remove the final keyword since nodeAtPoint() may now be subclassed as
1639         implemented in SVGRootInlineBox.
1640  
1641         * rendering/svg/SVGInlineTextBox.cpp:
1642         (WebCore::SVGInlineTextBox::nodeAtPoint):
1643         Iterate over the SVGTextFragments to look for a fragment containing the
1644         provided HitTestLocation.
1645  
1646         * rendering/svg/SVGRootInlineBox.cpp:
1647         (WebCore::SVGRootInlineBox::nodeAtPoint):
1648         * rendering/svg/SVGRootInlineBox.h:
1649         Override RootInlineBox::nodeAtPoint() to delegate hit testing to the
1650         children inline boxes.
1651
1652 2015-11-04  Carlos Garcia Campos  <cgarcia@igalia.com>
1653
1654         [GStreamer] Use RunLoop::Timer for ready state timer in MediaPlayerPrivateGStreamer
1655         https://bugs.webkit.org/show_bug.cgi?id=150836
1656
1657         Reviewed by Philippe Normand.
1658
1659         We don't really need a GThreadSafeMainLoopSource for this simple timer.
1660
1661         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1662         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
1663         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
1664         (WebCore::MediaPlayerPrivateGStreamer::readyTimerFired):
1665         (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
1666         (WebCore::MediaPlayerPrivateGStreamer::loadingFailed):
1667         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1668
1669 2015-11-04  Frederic Wang  <fred.wang@free.fr>
1670
1671         Add support for the USE_TYPO_METRICS flag on iOS
1672         https://bugs.webkit.org/show_bug.cgi?id=131839
1673
1674         Reviewed by Darin Adler.
1675
1676         Make the iOS Font service use the typo metrics for fonts with a MATH table when the OS/2 USE_TYPO_METRICS flag is set.
1677         The code shared by iOS, OS X and AppleWin is moved into a separate OpenTypeCG module.
1678
1679         No new tests because this is already tested by fonts/use-typo-metrics-1.html
1680
1681         * PlatformAppleWin.cmake: Add OpenTypeCG files.
1682         * PlatformMac.cmake: ditto.
1683         * WebCore.vcxproj/WebCore.vcxproj: ditto.
1684         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
1685         * WebCore.xcodeproj/project.pbxproj: ditto.
1686         * platform/graphics/cocoa/FontCocoa.mm:
1687         (WebCore::Font::platformInit): Use functions from OpenTypeCG.
1688         (WebCore::fontHasMathTable): Deleted.
1689         * platform/graphics/ios/FontServicesIOS.mm:
1690         (WebCore::FontServicesIOS::FontServicesIOS): Use the typo metrics for fonts with a MATH table when the OS/2 USE_TYPO_METRICS flag is set.
1691         * platform/graphics/opentype/OpenTypeCG.h: Added.
1692         * platform/graphics/opentype/OpenTypeCG.cpp: Added.
1693         (WebCore::OpenType::fontHasMathTable): Move this code from FontCocoa.mm.
1694         (WebCore::OpenType::readShortFromTable): Inline function to read a 16-bit big endian integer from the OS/2 table and to cast it into a short integer.
1695         (WebCore::OpenType::tryGetTypoMetrics): Move this code from FontCocoa.mm.
1696         * platform/graphics/opentype/OpenTypeTypes.h: Add missing Glyph.h header needed by TableWithCoverage::getCoverageIndex.
1697         * platform/graphics/win/SimpleFontDataCGWin.cpp:
1698         (WebCore::Font::platformInit): Use functions from OpenTypeCG.
1699
1700 2015-11-04  Chris Dumez  <cdumez@apple.com>
1701
1702         Regression(r191652): Colloquy doesn’t render any chat content
1703         https://bugs.webkit.org/show_bug.cgi?id=150861
1704         <rdar://problem/23381007>
1705
1706         Reviewed by Antti Koivisto.
1707
1708         Do a partial revert of r191652 as this web-exposed behavior change
1709         broke Colloquy app. This only reverts the code change, the tests
1710         are left as is so that they don't rely of the frame ID setting the
1711         Window name.
1712
1713         * html/HTMLFrameElementBase.cpp:
1714         (WebCore::HTMLFrameElementBase::parseAttribute):
1715         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
1716
1717 2015-11-03  Brady Eidson  <beidson@apple.com>
1718
1719         Modern IDB: Fill out IDBIndex, create MemoryIndex in backing store.
1720         https://bugs.webkit.org/show_bug.cgi?id=150868
1721
1722         Reviewed by Alex Christensen.
1723
1724         Tests: storage/indexeddb/modern/create-index-failures.html
1725                storage/indexeddb/modern/get-index-failures.html
1726                storage/indexeddb/modern/idbindex-properties-basic.html
1727
1728         Note: The MemoryIndex in the backing store doesn't actually do anything yet.
1729         
1730         That's coming next.
1731     
1732         * CMakeLists.txt:
1733         * WebCore.xcodeproj/project.pbxproj:
1734
1735         * Modules/indexeddb/IDBIndex.h:
1736
1737         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
1738         (WebCore::IDBClient::IDBConnectionToServer::createIndex):
1739         (WebCore::IDBClient::IDBConnectionToServer::didCreateIndex):
1740         * Modules/indexeddb/client/IDBConnectionToServer.h:
1741         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
1742
1743         * Modules/indexeddb/client/IDBCursorWithValueImpl.h:
1744
1745         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
1746         (WebCore::IDBClient::IDBDatabase::didCreateIndexInfo):
1747         * Modules/indexeddb/client/IDBDatabaseImpl.h:
1748
1749         * Modules/indexeddb/client/IDBIndexImpl.cpp:
1750         (WebCore::IDBClient::IDBIndex::create):
1751         (WebCore::IDBClient::IDBIndex::IDBIndex):
1752         (WebCore::IDBClient::IDBIndex::objectStore):
1753         (WebCore::IDBClient::IDBIndex::keyPathAny):
1754         (WebCore::IDBClient::IDBIndex::openCursor):
1755         (WebCore::IDBClient::IDBIndex::count):
1756         (WebCore::IDBClient::IDBIndex::openKeyCursor):
1757         (WebCore::IDBClient::IDBIndex::get):
1758         (WebCore::IDBClient::IDBIndex::getKey):
1759         * Modules/indexeddb/client/IDBIndexImpl.h:
1760
1761         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
1762         (WebCore::IDBClient::IDBObjectStore::createIndex):
1763         (WebCore::IDBClient::IDBObjectStore::index):
1764         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
1765
1766         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
1767         (WebCore::IDBClient::IDBTransaction::createObjectStore):
1768         (WebCore::IDBClient::IDBTransaction::createIndex):
1769         (WebCore::IDBClient::IDBTransaction::createIndexOnServer):
1770         (WebCore::IDBClient::IDBTransaction::didCreateIndexOnServer):
1771         * Modules/indexeddb/client/IDBTransactionImpl.h:
1772
1773         * Modules/indexeddb/legacy/LegacyIndex.h:
1774
1775         * Modules/indexeddb/server/IDBBackingStore.h:
1776
1777         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
1778         (WebCore::IDBServer::IDBConnectionToClient::didCreateIndex):
1779         * Modules/indexeddb/server/IDBConnectionToClient.h:
1780         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
1781
1782         * Modules/indexeddb/server/IDBServer.cpp:
1783         (WebCore::IDBServer::IDBServer::createIndex):
1784         * Modules/indexeddb/server/IDBServer.h:
1785
1786         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
1787         (WebCore::IDBServer::MemoryBackingStoreTransaction::addNewIndex):
1788         (WebCore::IDBServer::MemoryBackingStoreTransaction::addExistingIndex):
1789         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
1790
1791         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
1792         (WebCore::IDBServer::MemoryIDBBackingStore::createIndex):
1793         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
1794
1795         * Modules/indexeddb/server/MemoryIndex.cpp: Added.
1796         (WebCore::IDBServer::MemoryIndex::create):
1797         (WebCore::IDBServer::MemoryIndex::MemoryIndex):
1798         (WebCore::IDBServer::MemoryIndex::~MemoryIndex):
1799         * Modules/indexeddb/server/MemoryIndex.h: Added.
1800         (WebCore::IDBServer::MemoryIndex::info):
1801
1802         * Modules/indexeddb/server/MemoryObjectStore.cpp:
1803         (WebCore::IDBServer::MemoryObjectStore::createIndex):
1804         (WebCore::IDBServer::MemoryObjectStore::registerIndex):
1805         (WebCore::IDBServer::MemoryObjectStore::unregisterIndex):
1806         * Modules/indexeddb/server/MemoryObjectStore.h:
1807
1808         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
1809         (WebCore::IDBServer::UniqueIDBDatabase::createIndex):
1810         (WebCore::IDBServer::UniqueIDBDatabase::performCreateIndex):
1811         (WebCore::IDBServer::UniqueIDBDatabase::didPerformCreateIndex):
1812         * Modules/indexeddb/server/UniqueIDBDatabase.h:
1813
1814         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
1815         (WebCore::IDBServer::UniqueIDBDatabaseConnection::didCreateIndex):
1816         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
1817
1818         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
1819         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::createIndex):
1820         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
1821
1822         * Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
1823         (WebCore::IDBDatabaseInfo::getInfoForExistingObjectStore):
1824         (WebCore::IDBDatabaseInfo::infoForExistingObjectStore):
1825         * Modules/indexeddb/shared/IDBDatabaseInfo.h:
1826
1827         * Modules/indexeddb/shared/IDBIndexInfo.cpp:
1828         (WebCore::IDBIndexInfo::IDBIndexInfo):
1829         (WebCore::IDBIndexInfo::isolatedCopy):
1830         * Modules/indexeddb/shared/IDBIndexInfo.h:
1831         (WebCore::IDBIndexInfo::identifier):
1832         (WebCore::IDBIndexInfo::objectStoreIdentifier):
1833
1834         * Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:
1835         (WebCore::IDBObjectStoreInfo::createNewIndex):
1836         (WebCore::IDBObjectStoreInfo::addExistingIndex):
1837         (WebCore::IDBObjectStoreInfo::hasIndex):
1838         (WebCore::IDBObjectStoreInfo::infoForExistingIndex):
1839         (WebCore::IDBObjectStoreInfo::isolatedCopy):
1840         * Modules/indexeddb/shared/IDBObjectStoreInfo.h:
1841
1842         * Modules/indexeddb/shared/IDBResultData.cpp:
1843         (WebCore::IDBResultData::createIndexSuccess):
1844         * Modules/indexeddb/shared/IDBResultData.h:
1845
1846         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
1847         (WebCore::InProcessIDBServer::didCreateIndex):
1848         (WebCore::InProcessIDBServer::createIndex):
1849         * Modules/indexeddb/shared/InProcessIDBServer.h:
1850
1851         * bindings/js/JSIDBObjectStoreCustom.cpp:
1852         (WebCore::JSIDBObjectStore::createIndex):
1853
1854         * platform/CrossThreadCopier.cpp:
1855         (WebCore::IDBIndexInfo>::copy):
1856         * platform/CrossThreadCopier.h:
1857
1858 2015-11-03  Andy Estes  <aestes@apple.com>
1859
1860         [Cocoa] Only query for kMGQDeviceName on iOS
1861         https://bugs.webkit.org/show_bug.cgi?id=150858
1862
1863         Reviewed by Brent Fulgham.
1864
1865         * platform/ios/Device.cpp:
1866         (WebCore::deviceName): On non-iOS platorms, just return "iPhone" as the device name.
1867
1868 2015-11-03  Geoffrey Garen  <ggaren@apple.com>
1869
1870         Provide a way to turn off const in WebKit2.
1871
1872         Reviewed by Sam Weinig.
1873
1874         * bindings/js/JSDOMWindowBase.cpp:
1875         (WebCore::JSDOMWindowBase::commonVM):
1876         * page/Settings.h:
1877         (WebCore::Settings::shouldUseHighResolutionTimers):
1878         (WebCore::Settings::shouldRewriteConstAsVar):
1879         (WebCore::Settings::setShouldRewriteConstAsVar):
1880         (WebCore::Settings::backgroundShouldExtendBeyondPage):
1881
1882 2015-11-03  Joseph Pecoraro  <pecoraro@apple.com>
1883
1884         Web Inspector: Remove duplication among ScriptDebugServer subclasses
1885         https://bugs.webkit.org/show_bug.cgi?id=150860
1886
1887         Reviewed by Timothy Hatcher.
1888
1889         Refactoring covered by existing tests.
1890
1891         * bindings/js/WorkerScriptDebugServer.cpp:
1892         (WebCore::WorkerScriptDebugServer::attachDebugger):
1893         (WebCore::WorkerScriptDebugServer::detachDebugger):
1894         (WebCore::WorkerScriptDebugServer::addListener): Deleted.
1895         (WebCore::WorkerScriptDebugServer::removeListener): Deleted.
1896         * bindings/js/WorkerScriptDebugServer.h:
1897         * inspector/PageDebuggerAgent.cpp:
1898         (WebCore::PageDebuggerAgent::startListeningScriptDebugServer): Deleted.
1899         (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer): Deleted.
1900         * inspector/PageDebuggerAgent.h:
1901         * inspector/PageScriptDebugServer.cpp:
1902         (WebCore::PageScriptDebugServer::attachDebugger):
1903         (WebCore::PageScriptDebugServer::detachDebugger):
1904         (WebCore::PageScriptDebugServer::addListener): Deleted.
1905         (WebCore::PageScriptDebugServer::removeListener): Deleted.
1906         * inspector/PageScriptDebugServer.h:
1907         * inspector/WorkerDebuggerAgent.cpp:
1908         (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer): Deleted.
1909         (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer): Deleted.
1910         * inspector/WorkerDebuggerAgent.h:
1911
1912 2015-11-03  Jiewen Tan  <jiewen_tan@apple.com>
1913
1914         Null dereference loading Blink layout test scrollbars/custom-scrollbar-appearance-property.html
1915         https://bugs.webkit.org/show_bug.cgi?id=149312
1916         <rdar://problem/22748910>
1917
1918         Reviewed by Darin Adler.
1919
1920         This is a merge from Blink r167503:
1921         https://codereview.chromium.org/173433002
1922
1923         Test: scrollbars/custom-scrollbar-appearance-property.html
1924
1925         * rendering/RenderThemeMac.mm:
1926         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
1927         (WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):
1928
1929 2015-11-03  Andreas Kling  <akling@apple.com>
1930
1931         ResourceUsageOverlay should show GC-owned malloc memory.
1932         <https://webkit.org/b/150846>
1933
1934         Reviewed by Anders Carlsson.
1935
1936         Add a memory category for GC-owned malloc memory. This carves a significant chunk off of
1937         the gigantic "bmalloc" mystery slice.
1938
1939         * page/ResourceUsageOverlay.h:
1940         * page/cocoa/ResourceUsageOverlayCocoa.mm:
1941         (WebCore::drawMemoryPie):
1942         (WebCore::ResourceUsageOverlay::draw):
1943         (WebCore::runSamplerThread):
1944
1945 2015-11-03  Saam barati  <sbarati@apple.com>
1946
1947         Rewrite "const" as "var" for iTunes/iBooks on the Mac
1948         https://bugs.webkit.org/show_bug.cgi?id=150852
1949
1950         Reviewed by Geoffrey Garen.
1951
1952         * bindings/js/JSDOMWindowBase.cpp:
1953         (WebCore::JSDOMWindowBase::commonVM):
1954
1955 2015-10-30  Jon Honeycutt  <jhoneycutt@apple.com>
1956
1957         Implement support for the autocomplete attribute
1958         https://bugs.webkit.org/show_bug.cgi?id=150731
1959         rdar://problem/21078968
1960
1961         The autocomplete attribute is defined by
1962         https://html.spec.whatwg.org/multipage/forms.html#autofill.
1963
1964         Reviewed by Brent Fulgham.
1965
1966         Test: fast/forms/autocomplete-tokens.html
1967
1968         * html/HTMLFormControlElement.cpp:
1969         (WebCore::isContactToken):
1970         Return true if this is a contact token.
1971         (WebCore::categoryForAutofillFieldToken):
1972         Adds all of the autofill field tokens to a map, and returns the
1973         category for a given token.
1974         (WebCore::maxTokensForAutofillFieldCategory):
1975         Return the maximum number of tokens an autofill category supports.
1976         (WebCore::HTMLFormControlElement::parseAutocompleteAttribute):
1977         Implement the processing model defined in
1978         https://html.spec.whatwg.org/multipage/forms.html#processing-model-3
1979         with respect to the IDL-exposed autofill value.
1980         (WebCore::HTMLFormControlElement::setAutocomplete):
1981         Set the autocomplete attribute to the given string.
1982
1983         * html/HTMLFormControlElement.h:
1984         Declare setAutocomplete() and autocomplete().
1985
1986         * html/HTMLInputElement.idl:
1987         Remove the Reflect attribute. We now have custom processing for getting
1988         this attribute.
1989
1990         * html/HTMLSelectElement.idl:
1991         Declare the autocomplete attribute.
1992
1993         * html/HTMLTextAreaElement.idl:
1994         Ditto.
1995
1996 2015-11-03  Brady Eidson  <beidson@apple.com>
1997
1998         Modern IDB: Land empty IDBCursor/Index IDL implementations.
1999         https://bugs.webkit.org/show_bug.cgi?id=150839
2000
2001         Reviewed by Alex Christensen.
2002
2003         No new tests (No change in behavior).
2004
2005         * CMakeLists.txt:
2006         * WebCore.xcodeproj/project.pbxproj:
2007
2008         * Modules/indexeddb/IDBIndex.h:
2009         
2010         * Modules/indexeddb/client/IDBCursorImpl.cpp: Added.
2011         (WebCore::IDBClient::IDBCursor::~IDBCursor):
2012         (WebCore::IDBClient::IDBCursor::direction):
2013         (WebCore::IDBClient::IDBCursor::key):
2014         (WebCore::IDBClient::IDBCursor::primaryKey):
2015         (WebCore::IDBClient::IDBCursor::value):
2016         (WebCore::IDBClient::IDBCursor::source):
2017         (WebCore::IDBClient::IDBCursor::update):
2018         (WebCore::IDBClient::IDBCursor::advance):
2019         (WebCore::IDBClient::IDBCursor::continueFunction):
2020         (WebCore::IDBClient::IDBCursor::deleteFunction):
2021         * Modules/indexeddb/client/IDBCursorImpl.h: Added.
2022         
2023         * Modules/indexeddb/client/IDBCursorWithValueImpl.cpp: Added.
2024         * Modules/indexeddb/client/IDBCursorWithValueImpl.h: Added.
2025         
2026         * Modules/indexeddb/client/IDBIndexImpl.cpp: Added.
2027         (WebCore::IDBClient::IDBIndex::~IDBIndex):
2028         (WebCore::IDBClient::IDBIndex::name):
2029         (WebCore::IDBClient::IDBIndex::objectStore):
2030         (WebCore::IDBClient::IDBIndex::keyPathAny):
2031         (WebCore::IDBClient::IDBIndex::keyPath):
2032         (WebCore::IDBClient::IDBIndex::unique):
2033         (WebCore::IDBClient::IDBIndex::multiEntry):
2034         (WebCore::IDBClient::IDBIndex::openCursor):
2035         (WebCore::IDBClient::IDBIndex::count):
2036         (WebCore::IDBClient::IDBIndex::openKeyCursor):
2037         (WebCore::IDBClient::IDBIndex::get):
2038         (WebCore::IDBClient::IDBIndex::getKey):
2039         * Modules/indexeddb/client/IDBIndexImpl.h: Copied from Source/WebCore/Modules/indexeddb/IDBIndex.h.
2040         
2041         * Modules/indexeddb/legacy/LegacyIndex.h:
2042         (WebCore::LegacyIndex::id):
2043         
2044         * Modules/indexeddb/shared/IDBIndexInfo.cpp: Added.
2045         * Modules/indexeddb/shared/IDBIndexInfo.h: Added.
2046         (WebCore::IDBIndexInfo::name):
2047         (WebCore::IDBIndexInfo::keyPath):
2048         (WebCore::IDBIndexInfo::unique):
2049         (WebCore::IDBIndexInfo::multiEntry):
2050
2051 2015-11-03  Myles C. Maxfield  <mmaxfield@apple.com>
2052
2053         Addressing post-review comments on r191934.
2054
2055         Unreviewed.
2056
2057         * platform/graphics/mac/FontCustomPlatformData.cpp:
2058         (WebCore::FontCustomPlatformData::supportsFormat):
2059
2060 2015-11-03  Joseph Pecoraro  <pecoraro@apple.com>
2061
2062         Web Inspector: Move ScriptDebugServer::Task to WorkerScriptDebugServer where it is actually used
2063         https://bugs.webkit.org/show_bug.cgi?id=150847
2064
2065         Reviewed by Timothy Hatcher.
2066
2067         * bindings/js/WorkerScriptDebugServer.cpp:
2068         (WebCore::WorkerScriptDebugServer::interruptAndRunTask):
2069         * bindings/js/WorkerScriptDebugServer.h:
2070         * inspector/WorkerDebuggerAgent.cpp:
2071
2072 2015-11-03  Tim Horton  <timothy_horton@apple.com>
2073
2074         Fix the build.
2075
2076         * platform/Widget.h:
2077         (WebCore::Widget::boundsRect):
2078         (WebCore::Widget::resize):
2079
2080 2015-11-03  Myles C. Maxfield  <mmaxfield@apple.com>
2081
2082         font-variant-* properties in @font-face declarations should be honored
2083         https://bugs.webkit.org/show_bug.cgi?id=149771
2084
2085         Reviewed by Simon Fraser.
2086
2087         According to the CSS Fonts Level 3 spec, web authors are allowed to put
2088         font-feature-settings / font-variant-* inside @font-face blocks. These
2089         properties are supposed to be applied at a specific time during the
2090         font selection algorithm.
2091
2092         This patch gives a FontFeatureSettings object and a FontVariantSettings
2093         object to CSSFontFace, and moves common parsing logic from
2094         StyleBuilderCustom to a shared location. Then, once the two properties
2095         are parsed from the @font-face block, the relevant data structures are
2096         passed down into the font selection algorithm. This algorithm then
2097         consults with these values at the correct time (inside
2098         preparePlatformFont()).
2099
2100         Tests: css3/font-feature-settings-font-face-rendering.html
2101                css3/font-variant-font-face-all.html
2102                css3/font-variant-font-face-override.html
2103
2104         * WebCore.xcodeproj/project.pbxproj: Add a header for the common
2105         location of parsing font-variant-ligatures, font-variant-numeric,
2106         and font-variant-east-asian.
2107         * css/CSSFontFace.cpp:
2108         (WebCore::CSSFontFace::font): Pass the relevant data structures
2109         into the font selection algorithm.
2110         * css/CSSFontFace.h: Add FontFeatureSettings and FontVariantSettings
2111         member variables.
2112         (WebCore::CSSFontFace::insertFeature):
2113         (WebCore::CSSFontFace::setVariantCommonLigatures):
2114         (WebCore::CSSFontFace::setVariantDiscretionaryLigatures):
2115         (WebCore::CSSFontFace::setVariantHistoricalLigatures):
2116         (WebCore::CSSFontFace::setVariantContextualAlternates):
2117         (WebCore::CSSFontFace::setVariantPosition):
2118         (WebCore::CSSFontFace::setVariantCaps):
2119         (WebCore::CSSFontFace::setVariantNumericFigure):
2120         (WebCore::CSSFontFace::setVariantNumericSpacing):
2121         (WebCore::CSSFontFace::setVariantNumericFraction):
2122         (WebCore::CSSFontFace::setVariantNumericOrdinal):
2123         (WebCore::CSSFontFace::setVariantNumericSlashedZero):
2124         (WebCore::CSSFontFace::setVariantAlternates):
2125         (WebCore::CSSFontFace::setVariantEastAsianVariant):
2126         (WebCore::CSSFontFace::setVariantEastAsianWidth):
2127         (WebCore::CSSFontFace::setVariantEastAsianRuby):
2128         * css/CSSFontFaceSource.cpp:
2129         (WebCore::CSSFontFaceSource::font): Pass the relevant data
2130         structures into the font selection algorithm.
2131         * css/CSSFontFaceSource.h: Ditto.
2132         * css/CSSFontSelector.cpp:
2133         (WebCore::CSSFontSelector::addFontFaceRule): Call the shared
2134         parsing logic to populate the FontFeatureSettings and
2135         FontVariantSettings members.
2136         * css/FontVariantBuilder.h: Added. Destination for shared parsing
2137         logic.
2138         (WebCore::applyValueFontVariantLigatures):
2139         (WebCore::applyValueFontVariantNumeric):
2140         (WebCore::applyValueFontVariantEastAsian):
2141         * css/StyleBuilderCustom.h: Source for shared parsing logic.
2142         (WebCore::StyleBuilderCustom::applyValueFontVariantLigatures):
2143         (WebCore::StyleBuilderCustom::applyValueFontVariantNumeric):
2144         (WebCore::StyleBuilderCustom::applyValueFontVariantEastAsian):
2145         * loader/cache/CachedFont.cpp: Pass the relevant data structures
2146         into the font selection algorithm.
2147         (WebCore::CachedFont::createFont):
2148         (WebCore::CachedFont::platformDataFromCustomData):
2149         * loader/cache/CachedFont.h: Ditto.
2150         * loader/cache/CachedSVGFont.cpp: Ditto.
2151         (WebCore::CachedSVGFont::createFont):
2152         (WebCore::CachedSVGFont::platformDataFromCustomData):
2153         * loader/cache/CachedSVGFont.h: Ditto.
2154         * platform/graphics/FontCache.h: Ditto.
2155         * platform/graphics/FontCascade.cpp:
2156         (WebCore::FontCascade::codePath): Adjust comment.
2157         * platform/graphics/cocoa/FontCacheCoreText.cpp:
2158         (WebCore::preparePlatformFont): Consult with the newly parsed values.
2159         (WebCore::fontWithFamily): Pass the relevant data structures into the
2160         font selection algorithm.
2161         (WebCore::FontCache::systemFallbackForCharacters): Ditto.
2162         * platform/graphics/mac/FontCustomPlatformData.cpp:
2163         (WebCore::FontCustomPlatformData::fontPlatformData): Ditto.
2164         * platform/graphics/mac/FontCustomPlatformData.h: Ditto.
2165
2166 2015-11-03  Joseph Pecoraro  <pecoraro@apple.com>
2167
2168         Web Inspector: Handle or Remove ParseHTML Timeline Event Records
2169         https://bugs.webkit.org/show_bug.cgi?id=150689
2170
2171         Reviewed by Timothy Hatcher.
2172
2173         Remove ParseHTML nesting recordings. We were not using them
2174         and for most pages their self-time is very small in comparison
2175         to other events. We may consider adding it back later for
2176         UI purposes but for now the frontend doesn't use the records
2177         so lets remove it.
2178
2179         * html/parser/HTMLDocumentParser.cpp:
2180         (WebCore::HTMLDocumentParser::pumpTokenizer): Deleted.
2181         * inspector/InspectorInstrumentation.cpp:
2182         (WebCore::InspectorInstrumentation::willWriteHTMLImpl): Deleted.
2183         (WebCore::InspectorInstrumentation::didWriteHTMLImpl): Deleted.
2184         * inspector/InspectorInstrumentation.h:
2185         (WebCore::InspectorInstrumentation::willWriteHTML): Deleted.
2186         (WebCore::InspectorInstrumentation::didWriteHTML): Deleted.
2187         * inspector/InspectorTimelineAgent.cpp:
2188         (WebCore::InspectorTimelineAgent::willWriteHTML): Deleted.
2189         (WebCore::InspectorTimelineAgent::didWriteHTML): Deleted.
2190         (WebCore::toProtocol): Deleted.
2191         * inspector/InspectorTimelineAgent.h:
2192         * inspector/TimelineRecordFactory.cpp:
2193         (WebCore::TimelineRecordFactory::createParseHTMLData): Deleted.
2194         * inspector/TimelineRecordFactory.h:
2195
2196 2015-11-03  Keith Rollin  <krollin@apple.com>
2197
2198         HTMLOptionElement.text should never return the value of label
2199         https://bugs.webkit.org/show_bug.cgi?id=148862
2200         rdar://problem/22589226
2201
2202         Reviewed by Darin Adler.
2203
2204         According to the HTML spec, `option` elements should have the
2205         following behavior:
2206
2207             - the `text` property should return text contents of element
2208             - the `label` property should return value of label attribute if
2209               it exists, else return text property
2210             - the UI should display label property
2211
2212         12 years ago, in order to be compatibile with browsers of the time, we
2213         diverged from this behavior: the text property behaved like the label
2214         property, and the text property was used for display. This resulted in
2215         our UI incidentally conforming to the spec, but also in the text
2216         property *not* conforming to the spec. See <rdar://problem/3532519>
2217         for discussion on this change.
2218
2219         The behavior of the browsers we were conforming to has changed. In
2220         particular, the text property in Firefox now conforms to the spec
2221         instead of behaving as we did. Therefore, it's less important to
2222         retain our old behavior for the sake of compatibility. This check-in
2223         brings us into conformance with the spec. The result is that the UI
2224         stays the same, but the text property will return different values than
2225         it used to if the option element has a label attribute that used to
2226         hide it.
2227
2228         Updated tests:
2229         - fast/dom/HTMLOptionElement/option-text.html:
2230         - fast/forms/HTMLOptionElement_label01.html:
2231         - fast/forms/HTMLOptionElement_label02.html:
2232         - fast/forms/HTMLOptionElement_label03.html:
2233         - fast/forms/HTMLOptionElement_label04.html:
2234         - fast/forms/HTMLOptionElement_label05.html:
2235         - fast/forms/HTMLOptionElement_label06.html:
2236         - fast/forms/HTMLOptionElement_label07.html:
2237         - fast/forms/option-value-and-label.html:
2238
2239         * accessibility/AccessibilityListBoxOption.cpp:
2240         (WebCore::AccessibilityListBoxOption::stringValue):
2241         * accessibility/AccessibilityMenuListOption.cpp:
2242         (WebCore::AccessibilityMenuListOption::stringValue):
2243         * html/HTMLOptionElement.cpp:
2244         (WebCore::HTMLOptionElement::text):
2245         (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
2246
2247 2015-11-03  Andreas Kling  <akling@apple.com>
2248
2249         ResourceUsageOverlay should draw itself using WebCore::GraphicsContext.
2250         <https://webkit.org/b/150841>
2251
2252         Reviewed by Antti Koivisto.
2253
2254         Use WebCore text drawing primitives instead of poking at the CGContext directly.
2255         And stop using deprecated CoreGraphics APIs, too.
2256
2257         * page/cocoa/ResourceUsageOverlayCocoa.mm:
2258         (WebCore::drawCpuHistory):
2259         (WebCore::drawGCHistory):
2260
2261             Adjust for unflipped Y axis.
2262
2263         (WebCore::fontCascade):
2264         (WebCore::showText):
2265
2266             Draw using WebCore text drawing primitives.
2267
2268         (WebCore::ResourceUsageOverlay::draw):
2269
2270             Remove CGContext calls and stop flipping the Y axis.
2271
2272 2015-11-03  Youenn Fablet  <youenn.fablet@crf.canon.fr>
2273
2274         [Streams API] Vended promise capabilities should not need @resolve/@reject fields
2275         https://bugs.webkit.org/show_bug.cgi?id=150835
2276
2277         Reviewed by Darin Adler.
2278
2279         No change in behavior, covered by existing tests.
2280
2281         * Modules/streams/ReadableStreamInternals.js:
2282         (privateInitializeReadableStreamReader): Removed @resolve/@reject fields from resolved/rejected @closedPromiseCapability.
2283         * Modules/streams/WritableStream.js:
2284         (initializeWritableStream): Removed @resolve/@reject fields from resolved readyPromiseCapability.
2285         * Modules/streams/WritableStreamInternals.js:
2286         (syncWritableStreamStateWithQueue): Updated code to be closer to spec and removing the need to resolve an already resolved promise.
2287
2288 2015-11-03  Hunseop Jeong  <hs85.jeong@samsung.com>
2289
2290         Replace 0 and NULL with nullptr in WebCore/dom.
2291         https://bugs.webkit.org/show_bug.cgi?id=150788
2292
2293         Reviewed by Darin Adler.
2294
2295         No new tests because there is no behavior change.
2296
2297         * dom/Attr.cpp:
2298         (WebCore::Attr::Attr):
2299         (WebCore::Attr::detachFromElementWithValue):
2300         (WebCore::Attr::attachToElement):
2301         * dom/Attr.h:
2302         * dom/CheckedRadioButtons.cpp:
2303         (WebCore::RadioButtonGroup::updateCheckedState):
2304         (WebCore::CheckedRadioButtons::checkedButtonForGroup):
2305         (WebCore::CheckedRadioButtons::isInRequiredGroup):
2306         * dom/ChildListMutationScope.cpp:
2307         (WebCore::ChildListMutationAccumulator::enqueueMutationRecord):
2308         * dom/ContainerNode.cpp:
2309         (WebCore::ContainerNode::removeBetween):
2310         * dom/ContainerNode.h:
2311         (WebCore::ContainerNode::ContainerNode):
2312         * dom/ContainerNodeAlgorithms.cpp:
2313         (WebCore::notifyNodeRemovedFromDocument):
2314         * dom/Document.h:
2315         (WebCore::Document::wellFormed):
2316         (WebCore::Document::scriptRunner):
2317         (WebCore::Document::moduleLoader):
2318         (WebCore::Document::currentScript):
2319         (WebCore::Document::webkitFullscreenElement):
2320         * dom/DocumentOrderedMap.h:
2321         (WebCore::DocumentOrderedMap::MapEntry::MapEntry):
2322         * dom/DocumentParser.cpp:
2323         (WebCore::DocumentParser::detach):
2324         (WebCore::DocumentParser::suspendScheduledTasks):
2325         * dom/Element.cpp:
2326         (WebCore::Element::setAttributeInternal):
2327         (WebCore::Element::shadowRoot):
2328         (WebCore::Element::blur):
2329         (WebCore::Element::beforePseudoElement):
2330         (WebCore::Element::afterPseudoElement):
2331         (WebCore::Element::setBeforePseudoElement):
2332         * dom/Event.cpp:
2333         (WebCore::Event::Event):
2334         * dom/Event.h:
2335         (WebCore::Event::legacyReturnValue):
2336         (WebCore::Event::setLegacyReturnValue):
2337         (WebCore::Event::clipboardData):
2338         * dom/EventContext.cpp:
2339         (WebCore::MouseOrFocusEventContext::MouseOrFocusEventContext):
2340         * dom/EventDispatcher.cpp:
2341         (WebCore::EventPath::lastContextIfExists):
2342         (WebCore::EventDispatcher::dispatchEvent):
2343         * dom/EventListenerMap.cpp:
2344         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
2345         (WebCore::EventListenerIterator::EventListenerIterator):
2346         * dom/EventListenerMap.h:
2347         * dom/EventTarget.cpp:
2348         (WebCore::EventTarget::fireEventListeners):
2349         * dom/FocusEvent.cpp:
2350         (WebCore::FocusEventInit::FocusEventInit):
2351         * dom/GenericEventQueue.cpp:
2352         (WebCore::GenericEventQueue::enqueueEvent):
2353         * dom/IdTargetObserverRegistry.h:
2354         (WebCore::IdTargetObserverRegistry::IdTargetObserverRegistry):
2355         (WebCore::IdTargetObserverRegistry::notifyObservers):
2356         * dom/IgnoreDestructiveWriteCountIncrementer.h:
2357         (WebCore::IgnoreDestructiveWriteCountIncrementer::IgnoreDestructiveWriteCountIncrementer):
2358         * dom/MessageEvent.cpp:
2359         (WebCore::MessageEvent::MessageEvent):
2360         * dom/MessageEvent.h:
2361         * dom/MessagePort.cpp:
2362         (WebCore::MessagePort::contextDestroyed):
2363         (WebCore::MessagePort::dispatchMessages):
2364         (WebCore::MessagePort::locallyEntangledPort):
2365         (WebCore::MessagePort::disentanglePorts):
2366         * dom/MouseEvent.cpp:
2367         (WebCore::MouseEventInit::MouseEventInit):
2368         (WebCore::MouseEvent::cloneFor):
2369         * dom/MouseEvent.h:
2370         (WebCore::MouseEvent::dataTransfer):
2371         * dom/MouseRelatedEvent.cpp:
2372         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
2373         (WebCore::MouseRelatedEvent::computeRelativePosition):
2374         * dom/MutationEvent.h:
2375         * dom/Node.cpp:
2376         (WebCore::Node::nodeLists):
2377         (WebCore::Node::clearNodeLists):
2378         (WebCore::Node::nonShadowBoundaryParentNode):
2379         (WebCore::Node::parentOrShadowHostElement):
2380         * dom/Node.h:
2381         * dom/NodeRareData.h:
2382         (WebCore::NodeListsNodeData::removeCachedCollection):
2383         (WebCore::NodeListsNodeData::isEmpty):
2384         * dom/PendingScript.cpp:
2385         (WebCore::PendingScript::releaseElementAndClear):
2386         * dom/PopStateEvent.cpp:
2387         (WebCore::PopStateEvent::PopStateEvent):
2388         * dom/Position.h:
2389         (WebCore::Position::deprecatedNode):
2390         (WebCore::Position::document):
2391         (WebCore::Position::rootEditableElement):
2392         * dom/PositionIterator.cpp:
2393         (WebCore::PositionIterator::decrement):
2394         * dom/PositionIterator.h:
2395         (WebCore::PositionIterator::PositionIterator):
2396         * dom/ProcessingInstruction.cpp:
2397         (WebCore::ProcessingInstruction::ProcessingInstruction):
2398         (WebCore::ProcessingInstruction::checkStyleSheet):
2399         (WebCore::ProcessingInstruction::parseStyleSheet):
2400         * dom/ProcessingInstruction.h:
2401         * dom/RangeBoundaryPoint.h:
2402         (WebCore::RangeBoundaryPoint::RangeBoundaryPoint):
2403         * dom/ScriptElement.cpp:
2404         (WebCore::ScriptElement::ScriptElement):
2405         (WebCore::ScriptElement::stopLoadRequest):
2406         (WebCore::ScriptElement::notifyFinished):
2407         (WebCore::ScriptElement::ignoresLoadRequest):
2408         * dom/ScriptedAnimationController.h:
2409         (WebCore::ScriptedAnimationController::create):
2410         (WebCore::ScriptedAnimationController::clearDocumentPointer):
2411         * dom/StyledElement.cpp:
2412         (WebCore::PresentationAttributeCacheKey::PresentationAttributeCacheKey):
2413         (WebCore::StyledElement::addSubresourceAttributeURLs):
2414         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
2415         * dom/StyledElement.h:
2416         (WebCore::StyledElement::additionalPresentationAttributeStyle):
2417         (WebCore::StyledElement::inlineStyle):
2418         * dom/TemplateContentDocumentFragment.h:
2419         * dom/TextEvent.cpp:
2420         (WebCore::TextEvent::TextEvent):
2421         * dom/UIEvent.cpp:
2422         (WebCore::UIEventInit::UIEventInit):
2423         * dom/UserTypingGestureIndicator.cpp:
2424         (WebCore::UserTypingGestureIndicator::UserTypingGestureIndicator):
2425         (WebCore::UserTypingGestureIndicator::~UserTypingGestureIndicator):
2426         * dom/ViewportArguments.cpp:
2427         (WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable):
2428         (WebCore::numericPrefix):
2429         * dom/default/PlatformMessagePortChannel.cpp:
2430         (WebCore::MessagePortChannel::disentangle):
2431         (WebCore::MessagePortChannel::postMessageToRemote):
2432         (WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
2433         * dom/default/PlatformMessagePortChannel.h:
2434
2435 2015-11-02  Wenson Hsieh  <wenson_hsieh@apple.com>
2436
2437         Tapping *below* some <input>s can focus them in Mobile Safari
2438         https://bugs.webkit.org/show_bug.cgi?id=146244
2439         <rdar://problem/21509310>
2440
2441         Reviewed by Darin Adler.
2442
2443         Removes iOS-specific logic in positionForPointRespectingEditingBoundaries that was causing us to focus inputs by
2444         tapping on the document element. We believe this logic, which causes VisiblePosition finding to recurse from a non-
2445         editable element to an editable child, is not necessary to focus editable elements underneath non-editable elements,
2446         since hit-testing will already have selected the contentEditable element prior to searching for a suitable
2447         VisiblePosition. Further investigation shows that this logic was added to fix <rdar://problem/5545799>, in which the
2448         first character in a Notes document could not be selected. However, I have not been able to reproduce this bug after
2449         removing this logic.
2450
2451         As a result of this change, we can also enable a WK1 test, editing/selection/click-outside-editable-div.html, that
2452         had also been marked as failing due to positionForPointRespectingEditingBoundaries recursing into a contentEditable
2453         div.
2454
2455         Test: fast/events/ios/clicking-document-should-not-trigger-focus.html
2456
2457         * rendering/RenderBlock.cpp:
2458         (WebCore::positionForPointRespectingEditingBoundaries): Deleted.
2459
2460 2015-11-03  Myles C. Maxfield  <mmaxfield@apple.com>
2461
2462         Update to match text-orientation spec
2463         https://bugs.webkit.org/show_bug.cgi?id=150765
2464
2465         Reviewed by Darin Adler.
2466
2467         The CSS spec has removed the "sideways-right" value of text-orientation in favor
2468         of "sideways." This patch makes the parser treat "sideways-right" the same as
2469         "sideways."
2470
2471         Test: fast/text/orientation-sideways-right.html
2472
2473         * css/CSSPrimitiveValueMappings.h:
2474         (WebCore::CSSPrimitiveValue::operator TextOrientation):
2475         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Deleted.
2476         * rendering/style/RenderStyle.cpp:
2477         (WebCore::RenderStyle::fontAndGlyphOrientation): Deleted.
2478         * rendering/style/RenderStyleConstants.h:
2479
2480 2015-11-03  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2481
2482         [Streams API] Rework promises to use @newPromiseCapability
2483         https://bugs.webkit.org/show_bug.cgi?id=150627
2484
2485         Reviewed by Youenn Fablet.
2486
2487         We are removing the stream promises functions in favor of @newPromiseCapabity which basically provides the same
2488         functionality (keeping the resolve and reject functions without external slots). Slots and variables were
2489         renamed as *PromiseCapability to show that they no longer hold just a promise, but a promise capability.
2490
2491         Internal rework, no new tests needed.
2492
2493         * Modules/streams/ReadableStreamInternals.js:
2494         (privateInitializeReadableStreamReader.this.closedPromiseCapability.resolve):
2495         (privateInitializeReadableStreamReader.this.closedPromiseCapability.reject):
2496         (privateInitializeReadableStreamReader):
2497         (teeReadableStream):
2498         (teeReadableStreamBranch2CancelFunction):
2499         (errorReadableStream):
2500         (closeReadableStreamReader):
2501         (enqueueInReadableStream):
2502         (readFromReadableStreamReader):
2503         * Modules/streams/ReadableStreamReader.js:
2504         (closed):
2505         * Modules/streams/StreamInternals.js:
2506         (createNewStreamsPromise): Deleted.
2507         (resolveStreamsPromise): Deleted.
2508         (rejectStreamsPromise): Deleted.
2509         * Modules/streams/WritableStream.js:
2510         (this.readyPromiseCapability.resolve):
2511         (this.readyPromiseCapability.reject):
2512         (initializeWritableStream):
2513         (close):
2514         (write):
2515         (closed):
2516         (ready):
2517         * Modules/streams/WritableStreamInternals.js:
2518         (syncWritableStreamStateWithQueue):
2519         (errorWritableStream):
2520         * bindings/js/WebCoreBuiltinNames.h:
2521
2522 2015-11-03  Youenn Fablet  <youenn.fablet@crf.canon.fr>
2523
2524         Move webkitGetUserMedia to JS Builtin
2525         https://bugs.webkit.org/show_bug.cgi?id=149499
2526
2527         Reviewed by Darin Adler.
2528
2529         Implemented webkitGetUserMedia as a JSBuiltin wrapper around navigator.mediaDevices.getUserMedia.
2530
2531         Removed cpp based version.
2532
2533         The js builting implementation checks for argument but does not raise exception when the request is not supported.
2534         The error callback is called instead, in an asynchronous fashion.
2535         The js builtin implementation does not check first that it is called on navigator, contrary to the cpp implementation.
2536         This is done afterwards when calling navigator.MediaDevices.@getUserMedia.
2537
2538         Covered by existing and modified tests.
2539
2540         * CMakeLists.txt: Adding NavigatorUserMedia.js as built-in JS file.
2541         * DerivedSources.make: Ditto.
2542         * Modules/mediastream/NavigatorUserMedia.idl: Making webkitGetUserMedia JSBuiltin
2543         * Modules/mediastream/NavigatorUserMedia.js:
2544         (webkitGetUserMedia):
2545         * Modules/mediastream/NavigatorUserMediaErrorCallback.h: Removed.
2546         * Modules/mediastream/NavigatorUserMediaErrorCallback.idl: Removed.
2547         * Modules/mediastream/NavigatorUserMediaSuccessCallback.h: Removed.
2548         * Modules/mediastream/NavigatorUserMediaSuccessCallback.idl: Removed.
2549         * Modules/mediastream/UserMediaRequest.cpp:
2550         * Modules/mediastream/UserMediaRequest.h:
2551         * WebCore.xcodeproj/project.pbxproj:
2552         * bindings/js/JSDOMWindowBase.cpp:
2553         (WebCore::JSDOMWindowBase::finishCreation): Style modifications.
2554         * bindings/js/JSNavigatorCustom.cpp: Removed.
2555         * bindings/js/WebCoreJSBuiltins.cpp: Adding support for NavigatorUserMedia.js built-in JS file.
2556         * bindings/js/WebCoreJSBuiltins.h: Ditto.
2557         (WebCore::JSBuiltinFunctions::JSBuiltinFunctions):
2558         (WebCore::JSBuiltinFunctions::navigatorUserMediaBuiltins):
2559
2560 2015-11-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2561
2562         [GStreamer] Use GstBus sync message handler and schedule tasks to the main thread with RunLoop::dispatch
2563         https://bugs.webkit.org/show_bug.cgi?id=150800
2564
2565         Reviewed by Philippe Normand.
2566
2567         This way we would avoid all the GScource + polling mechanism that
2568         GST uses internally to handle messages asynchronously in the main thread.
2569
2570         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
2571         (WTF::adoptGRef):
2572         (WTF::refGPtr<GstMessage>):
2573         (WTF::derefGPtr<GstMessage>):
2574         * platform/graphics/gstreamer/GRefPtrGStreamer.h:
2575         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2576         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
2577         Initialize the WeakPtr factory.
2578         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
2579         reset the GstBus sync handler.
2580         (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Make it void.
2581         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Add a
2582         GstBus sync message handler and schedule the messages to the main
2583         thread with RunLoop::main().dispatch().
2584         (WebCore::mediaPlayerPrivateMessageCallback): Deleted.
2585         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2586         (WebCore::MediaPlayerPrivateGStreamer::createWeakPtr): Create a WeakPtr.
2587         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2588         (WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
2589         Handle the need context message that needs to be handled in the
2590         caller thread.
2591         (WebCore::mediaPlayerPrivateNeedContextMessageCallback): Deleted.
2592         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
2593         (WebCore::MediaPlayerPrivateGStreamerBase::setPipeline): Do not
2594         connect to sync-message signal, handleSyncMessage() will be called
2595         to handled messages synchronously.
2596         (WebCore::MediaPlayerPrivateGStreamerBase::handleNeedContextMessage): Deleted.
2597         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
2598
2599 2015-11-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2600
2601         [GStreamer] Cleanup the iradio properties
2602         https://bugs.webkit.org/show_bug.cgi?id=148522
2603
2604         Reviewed by Philippe Normand.
2605
2606         Remove unused icecast code.
2607
2608         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2609         (StreamingClient::handleResponseReceived):
2610         (webKitWebSrcGetProperty): Deleted.
2611         (webKitWebSrcStop): Deleted.
2612
2613 2015-11-02  Keith Rollin  <krollin@apple.com>
2614
2615         input[type=number] does not increment/decrement integers with trailing decimal characters
2616         https://bugs.webkit.org/show_bug.cgi?id=148867
2617         rdar://problem/22589693
2618
2619         Reviewed by Chris Dumez.
2620
2621         Support input[type=number].value attributes of the form "###." (that
2622         is, leading digits with a decimal but no trailing digits). This form
2623         was supported in the setting of the attribute, but not when changing
2624         it through stepUp/Down.
2625
2626         Testing turned up similarly incorrect processing of -.###, so
2627         addressed that, too.
2628
2629         Test: fast/forms/range/input-appearance-range-decimals.html
2630
2631         Updated the following tests:
2632         - fast/forms/number/number-stepup-stepdown-from-renderer.html
2633         - fast/forms/number/number-stepup-stepdown.html
2634         - fast/forms/range/range-stepup-stepdown-from-renderer.html
2635         - fast/forms/range/range-stepup-stepdown.html
2636
2637         * html/InputType.cpp:
2638         (WebCore::InputType::stepUpFromRenderer):
2639         * platform/Decimal.cpp:
2640         (WebCore::Decimal::fromString):
2641
2642 2015-11-02  Jiewen Tan  <jiewen_tan@apple.com>
2643
2644         Null dereference loading Blink layout test fast/css/background-repeat-null-y-crash.html
2645         https://bugs.webkit.org/show_bug.cgi?id=150211
2646         <rdar://problem/23137321>
2647
2648         Reviewed by Alex Christensen.
2649
2650         This is a merge of Blink r188842:
2651         https://codereview.chromium.org/846933002
2652
2653         By setting the backgroundRepeatY property to null it can
2654         happen that accessing that CSS value returns a null pointer.
2655         In that case simply bail out early.
2656
2657         Test: fast/css/background-repeat-null-y-crash.html
2658
2659         * css/StyleProperties.cpp:
2660         (WebCore::StyleProperties::getLayeredShorthandValue):
2661
2662 2015-11-02  Myles C. Maxfield  <mmaxfield@apple.com>
2663
2664         [Vertical Writing Mode] Rename "vertical-right" CSS value to match spec
2665         https://bugs.webkit.org/show_bug.cgi?id=150766
2666
2667         Reviewed by Darin Adler.
2668
2669         The spec has changed the initial value of text-orientation from "vertical-right"
2670         to "mixed." This patch follows this movement, but also keeps the existing
2671         property working (the parser will treat both values the same).
2672
2673         Test: fast/text/vertical-mixed.html
2674
2675         * css/CSSParser.cpp:
2676         (WebCore::CSSParser::parseValue):
2677         * css/CSSPrimitiveValueMappings.h:
2678         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2679         (WebCore::CSSPrimitiveValue::operator TextOrientation):
2680         * css/CSSValueKeywords.in:
2681         * css/StyleResolver.cpp:
2682         (WebCore::checkForOrientationChange):
2683         * platform/graphics/FontCascadeFonts.cpp:
2684         (WebCore::glyphDataForNonCJKCharacterWithGlyphOrientation):
2685         * platform/graphics/FontDescription.cpp:
2686         (WebCore::FontDescription::FontDescription):
2687         * platform/graphics/cocoa/FontCascadeCocoa.mm:
2688         (WebCore::FontCascade::fontForCombiningCharacterSequence):
2689         * platform/text/TextFlags.h:
2690         * rendering/style/RenderStyle.cpp:
2691         (WebCore::RenderStyle::getFontAndGlyphOrientation):
2692         * rendering/style/RenderStyle.h:
2693         * rendering/style/RenderStyleConstants.h:
2694         * rendering/style/StyleRareInheritedData.cpp:
2695         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2696         * style/StyleResolveForDocument.cpp:
2697         (WebCore::Style::resolveForDocument):
2698
2699 2015-11-02  Myles C. Maxfield  <mmaxfield@apple.com>
2700
2701         [Cocoa] Support WOFF2
2702         https://bugs.webkit.org/show_bug.cgi?id=150830
2703
2704         Reviewed by Zalan Bujtas.
2705
2706         On platforms which support it, WebKit only needs to recognize WOFF2.
2707
2708         Test: fast/text/woff2.html
2709
2710         * platform/graphics/mac/FontCustomPlatformData.cpp:
2711         (WebCore::FontCustomPlatformData::supportsFormat):
2712
2713 2015-11-02  Nan Wang  <n_wang@apple.com>
2714
2715         AX: Add support for ARIA 1.1 attribute 'aria-modal' for dialog and alertdialog
2716         https://bugs.webkit.org/show_bug.cgi?id=138566
2717
2718         Reviewed by Chris Fleizach.
2719
2720         Added support for aria-modal attribute on dialog/alertdialog roles.
2721         When modal dialog is displayed, all other contents will be unaccessible.
2722
2723         Tests: accessibility/aria-modal-multiple-dialogs.html
2724                accessibility/aria-modal.html
2725
2726         * accessibility/AXObjectCache.cpp:
2727         (WebCore::AXObjectCache::AXObjectCache):
2728         (WebCore::AXObjectCache::~AXObjectCache):
2729         (WebCore::AXObjectCache::findAriaModalNodes):
2730         (WebCore::AXObjectCache::updateCurrentAriaModalNode):
2731         (WebCore::AXObjectCache::isNodeVisible):
2732         (WebCore::AXObjectCache::ariaModalNode):
2733         (WebCore::AXObjectCache::focusedImageMapUIElement):
2734         (WebCore::AXObjectCache::remove):
2735         (WebCore::AXObjectCache::handleAttributeChanged):
2736         (WebCore::AXObjectCache::handleAriaModalChange):
2737         (WebCore::AXObjectCache::labelChanged):
2738         * accessibility/AXObjectCache.h:
2739         (WebCore::AXObjectCache::handleActiveDescendantChanged):
2740         (WebCore::AXObjectCache::handleAriaExpandedChange):
2741         (WebCore::AXObjectCache::handleAriaRoleChanged):
2742         (WebCore::AXObjectCache::handleAriaModalChange):
2743         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2744         (WebCore::AXObjectCache::handleScrollbarUpdate):
2745         (WebCore::AXObjectCache::handleAttributeChanged):
2746         * accessibility/AccessibilityObject.cpp:
2747         (WebCore::AccessibilityObject::ariaCurrentState):
2748         (WebCore::AccessibilityObject::isAriaModalDescendant):
2749         (WebCore::AccessibilityObject::ignoredFromARIAModalPresence):
2750         (WebCore::AccessibilityObject::hasTagName):
2751         (WebCore::AccessibilityObject::defaultObjectInclusion):
2752         * accessibility/AccessibilityObject.h:
2753         * html/HTMLAttributeNames.in:
2754
2755 2015-11-02  Brady Eidson  <beidson@apple.com>
2756
2757         Modern IDB: IBDObjectStore.delete() support.
2758         https://bugs.webkit.org/show_bug.cgi?id=150784
2759
2760         Reviewed by Alex Christensen.
2761
2762         Tests: storage/indexeddb/modern/idbobjectstore-delete-1.html
2763                storage/indexeddb/modern/idbobjectstore-delete-2.html
2764                storage/indexeddb/modern/idbobjectstore-delete-failures.html
2765
2766         * Modules/indexeddb/IDBKeyRangeData.cpp:
2767         (WebCore::IDBKeyRangeData::isValid):
2768         * Modules/indexeddb/IDBKeyRangeData.h:
2769         
2770         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
2771         (WebCore::IDBClient::IDBConnectionToServer::deleteRecord):
2772         (WebCore::IDBClient::IDBConnectionToServer::didDeleteRecord):
2773         * Modules/indexeddb/client/IDBConnectionToServer.h:
2774         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
2775         
2776         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
2777         (WebCore::IDBClient::IDBObjectStore::get):
2778         (WebCore::IDBClient::IDBObjectStore::deleteFunction):
2779         
2780         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
2781         (WebCore::IDBClient::IDBTransaction::requestDeleteRecord):
2782         (WebCore::IDBClient::IDBTransaction::deleteRecordOnServer):
2783         (WebCore::IDBClient::IDBTransaction::didDeleteRecordOnServer):
2784         * Modules/indexeddb/client/IDBTransactionImpl.h:
2785         
2786         * Modules/indexeddb/server/IDBBackingStore.h:
2787         
2788         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
2789         (WebCore::IDBServer::IDBConnectionToClient::didDeleteRecord):
2790         * Modules/indexeddb/server/IDBConnectionToClient.h:
2791         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
2792         
2793         * Modules/indexeddb/server/IDBServer.cpp:
2794         (WebCore::IDBServer::IDBServer::deleteRecord):
2795         * Modules/indexeddb/server/IDBServer.h:
2796         
2797         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
2798         (WebCore::IDBServer::MemoryIDBBackingStore::deleteRange):
2799         (WebCore::IDBServer::MemoryIDBBackingStore::deleteRecord): Deleted.
2800         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
2801         
2802         * Modules/indexeddb/server/MemoryObjectStore.cpp:
2803         (WebCore::IDBServer::MemoryObjectStore::deleteRange):
2804         * Modules/indexeddb/server/MemoryObjectStore.h:
2805         
2806         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2807         (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
2808         (WebCore::IDBServer::UniqueIDBDatabase::deleteRecord):
2809         (WebCore::IDBServer::UniqueIDBDatabase::performDeleteRecord):
2810         (WebCore::IDBServer::UniqueIDBDatabase::didPerformDeleteRecord):
2811         * Modules/indexeddb/server/UniqueIDBDatabase.h:
2812         
2813         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
2814         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount):
2815         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteRecord):
2816         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
2817         
2818         * Modules/indexeddb/shared/IDBResultData.cpp:
2819         (WebCore::IDBResultData::deleteRecordSuccess):
2820         * Modules/indexeddb/shared/IDBResultData.h:
2821         
2822         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
2823         (WebCore::InProcessIDBServer::didDeleteRecord):
2824         (WebCore::InProcessIDBServer::deleteRecord):
2825         * Modules/indexeddb/shared/InProcessIDBServer.h:
2826
2827 2015-11-02  Andy Estes  <aestes@apple.com>
2828
2829         Fix the iOS build again.
2830
2831         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: supportsPictureInPicture() needs to be declared even when
2832         AVKit is disabled.
2833
2834 2015-11-02  Tim Horton  <timothy_horton@apple.com>
2835
2836         PDFPlugin should take advantage of threaded scrolling
2837         https://bugs.webkit.org/show_bug.cgi?id=150037
2838
2839         Reviewed by Anders Carlsson.
2840
2841         * page/PageOverlay.cpp:
2842         (WebCore::PageOverlay::PageOverlay):
2843         (WebCore::PageOverlay::setNeedsDisplay):
2844         Don't reset the overlay layer's opacity if we're not animating,
2845         because it's possible the client wants to manage it.
2846
2847         * page/PageOverlayController.cpp:
2848         (WebCore::PageOverlayController::updateForceSynchronousScrollLayerPositionUpdates):
2849         Let the overlay itself determine whether it needes synchronous scrolling,
2850         and let PageOverlay clients override the default.
2851
2852         * platform/Widget.h:
2853         (WebCore::Widget::boundsRect):
2854         Export a few useful things.
2855
2856 2015-11-02  Chris Dumez  <cdumez@apple.com>
2857
2858         Regression(r191673): Crash in RunLoopTimer::schedule()
2859         https://bugs.webkit.org/show_bug.cgi?id=150816
2860         <rdar://problem/23335285>
2861
2862         Reviewed by Anders Carlsson.
2863
2864         The crash was happening when the RunLoopTimer would fire during the
2865         call to RunLoopTimer::schedule(), which can happen because we are
2866         calling schedule() from a background thread. In such case, the
2867         timerFired() callback execution would cause |this| to get destroyed.
2868
2869         To avoid this issue, DecodingResultDispatcher is now ref-counted. The
2870         object is ref'd while calling startTimer() so that the object cannot go
2871         away during the execution of this method. Also, we explicitly ref the
2872         object when starting the timer to keep the object alive until the
2873         RunLoopTimer has fired, at which point we explicitely de-ref.
2874
2875         This should handle correctly the cases where the RunLoopTimer fires
2876         during AND after the execution of startTimer().
2877
2878         * platform/network/DataURLDecoder.cpp:
2879         (WebCore::DataURLDecoder::DecodingResultDispatcher::dispatch):
2880         (WebCore::DataURLDecoder::DecodingResultDispatcher::startTimer):
2881         (WebCore::DataURLDecoder::DecodingResultDispatcher::timerFired):
2882
2883 2015-11-02  Andy Estes  <aestes@apple.com>
2884
2885         [Cocoa] Add tvOS and watchOS to SUPPORTED_PLATFORMS
2886         https://bugs.webkit.org/show_bug.cgi?id=150819
2887
2888         Reviewed by Dan Bernstein.
2889
2890         This tells Xcode to include these platforms in its Devices dropdown, making it possible to build in the IDE.
2891
2892         * Configurations/Base.xcconfig:
2893
2894 2015-11-02  Brent Fulgham  <bfulgham@apple.com>
2895
2896         [Win] MiniBrowser unable to use WebInspector
2897         https://bugs.webkit.org/show_bug.cgi?id=150810
2898         <rdar://problem/23358514>
2899
2900         Reviewed by Timothy Hatcher.
2901
2902         The CMakeList rule for creating the InjectedScriptSource.min.js was improperly including
2903         the quote characters in the text prepended to InjectedScriptSource.min.js. This caused a
2904         parsing error in the JS file.
2905         
2906         The solution was to switch from using "COMMAND echo" to use the more cross-platform
2907         compatible command "COMMAND ${CMAKE_COMMAND} -E echo ...", which handles the string
2908         escaping properly on all platforms.
2909
2910         * CMakeLists.txt: Switch the 'echo' command syntax to be more cross-platform.
2911
2912 2015-11-02  Zalan Bujtas  <zalan@apple.com>
2913
2914         hasOverflowClip() does not necessarily mean valid layer().
2915         https://bugs.webkit.org/show_bug.cgi?id=150814
2916
2917         Reviewed by Simon Fraser.
2918
2919         Certain RenderLayerModelObject derived classes simply return false for ::requiresLayer(), which means
2920         that we end up not creating a layer for the overflow clipped content.   
2921
2922         No change in functionality.
2923
2924         * rendering/RenderBlock.cpp:
2925         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
2926         (WebCore::RenderBlock::paint):
2927         * rendering/RenderBox.cpp:
2928         (WebCore::RenderBox::styleDidChange):
2929         (WebCore::RenderBox::scrollWidth):
2930         (WebCore::RenderBox::scrollHeight):
2931         (WebCore::RenderBox::scrollLeft):
2932         (WebCore::RenderBox::scrollTop):
2933         (WebCore::RenderBox::setScrollLeft):
2934         (WebCore::RenderBox::setScrollTop):
2935         (WebCore::RenderBox::includeVerticalScrollbarSize):
2936         (WebCore::RenderBox::includeHorizontalScrollbarSize):
2937         (WebCore::RenderBox::intrinsicScrollbarLogicalWidth):
2938         (WebCore::RenderBox::usesCompositedScrolling):
2939
2940 2015-11-02  Alex Christensen  <achristensen@webkit.org>
2941
2942         Fix Mac CMake build after r191904.
2943
2944         * PlatformMac.cmake:
2945         Move SettingsMac.mm to SettingsCocoa.mm.
2946
2947 2015-11-02  Eric Carlson  <eric.carlson@apple.com>
2948
2949         Add HTMLMediaElement behavior and attribute value restrictions for MediaStream
2950         https://bugs.webkit.org/show_bug.cgi?id=146853
2951
2952         Reviewed by Jer Noble.
2953
2954         * Modules/mediastream/MediaStream.cpp:
2955         (WebCore::MediaStream::scheduleActiveStateChange): Do nothing if the active state hasn't changed.
2956         (WebCore::MediaStream::activityEventTimerFired): Remove FIXME.
2957
2958         * Modules/mediastream/MediaStreamTrack.cpp:
2959         (WebCore::MediaStreamTrack::stopProducingData): Add comments. Notify observers that the track ended.
2960         (WebCore::MediaStreamTrack::trackEnded): Don't dispatch events after having been stopped.
2961         (WebCore::MediaStreamTrack::trackMutedChanged): Ditto.
2962
2963         * html/HTMLMediaElement.cpp:
2964         (WebCore::HTMLMediaElement::defaultPlaybackRate): Always return 1 when using a MediaStream.
2965         (WebCore::HTMLMediaElement::setDefaultPlaybackRate): Do nothing when using a MediaStream.
2966         (WebCore::HTMLMediaElement::playbackRate): Always return 1 when using a MediaStream.
2967         (WebCore::HTMLMediaElement::setPlaybackRate): Do nothing when using a MediaStream.
2968         (WebCore::HTMLMediaElement::ended): Ask the media engine when using a MediaStream.
2969         (WebCore::HTMLMediaElement::preload): Always return "none" when using a MediaStream.
2970         (WebCore::HTMLMediaElement::setPreload): Do nothing when using a MediaStream.
2971         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Avoid unnecessary comparisons when the duration
2972           is not definite. Send ended event when MediaStream says stream has ended.
2973
2974         * platform/graphics/MediaPlayer.cpp:
2975         (WebCore::MediaPlayer::ended): New, passthrough to engine.
2976         * platform/graphics/MediaPlayer.h:
2977         * platform/graphics/MediaPlayerPrivate.h:
2978
2979         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
2980         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
2981         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Set m_ended from stream.
2982         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::cancelLoad): Pause the stream if necessary.
2983         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::play): Return early if ended or already playing.
2984         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pause): Return early if ended or already paused.
2985         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentReadyState): Cleanup. Try to grab a paused
2986           image if the stream isn't active.
2987         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateReadyState): New.
2988         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::activeStatusChanged): Call updateReadyState.
2989         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::characteristicsChanged): Ditto.
2990
2991         * platform/mediastream/MediaStreamPrivate.cpp:
2992         (WebCore::MediaStreamPrivate::trackEnabledChanged): Call updateActiveState so the state will
2993           be updated if necessary.
2994
2995         * platform/mediastream/RealtimeMediaSource.cpp:
2996         (WebCore::RealtimeMediaSource::stop): Don't call reset, there is no need to tear everything down.
2997
2998 2015-10-31  Andy Estes  <aestes@apple.com>
2999
3000         Replace iOS-only WebKitSystemInterface calls with SPI
3001         https://bugs.webkit.org/show_bug.cgi?id=150763
3002
3003         Reviewed by Darin Adler.
3004
3005         * WebCore.xcodeproj/project.pbxproj:
3006         * config.h: Removed WEBCORE_NAVIGATOR_PLATFORM and WEBCORE_NAVIGATOR_VENDOR.
3007         * css/MediaQueryEvaluator.cpp:
3008         (WebCore::isRunningOnIPhoneOrIPod): Used deviceClass() instead of iosDeviceClass().
3009         * html/HTMLMediaElement.cpp:
3010         (WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
3011         * html/HTMLObjectElement.cpp:
3012         (WebCore::shouldNotPerformURLAdjustment): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
3013         * html/HTMLVideoElement.cpp:
3014         (WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
3015         * page/NavigatorBase.cpp:
3016         * page/Settings.h:
3017         * page/ViewportConfiguration.cpp:
3018         (WebCore::ViewportConfiguration::textDocumentParameters): Used screenSize() instead of wkGetScreenSize().
3019         * page/ios/UserAgentIOS.mm:
3020         (WebCore::isClassic): Added to return -[UIApplication _isClassic].
3021         (WebCore::osNameForUserAgent): Upstreamed the implementation of WKGetOSNameForUserAgent() from WebKitSystemInterface.
3022         (WebCore::deviceName): Ditto for wkGetDeviceName().
3023         (WebCore::standardUserAgentWithApplicationName): Called deviceName() and osNameForUserAgent().
3024         * page/mac/SettingsCocoa.mm: Renamed from Source/WebCore/page/mac/SettingsMac.mm.
3025         (WebCore::Settings::defaultMinimumZoomFontSize): Upstreamed the implementation of WKGetMinimumZoomFontSize() from WebKitSystemInterface.
3026         * platform/PlatformScreen.h:
3027         * platform/ios/Device.cpp: Added functions that answer queries about the iOS device from MobileGestalt.
3028         (WebCore::deviceClass):
3029         (WebCore::deviceName):
3030         (WebCore::deviceHasIPadCapability):
3031         * platform/ios/Device.h:
3032         * platform/ios/PlatformScreenIOS.mm:
3033         (WebCore::screenPPIFactor): Used MGGetSInt32Answer() and MGGetFloat32Answer() instead of mobileGestaltFloatValue().
3034         (WebCore::screenSize): Upstreamed the implementation of WKGetScreenSize() from WebKitSystemInterface.
3035         (WebCore::availableScreenSize): Ditto for WKGetAvailableScreenSize().
3036         (WebCore::screenScaleFactor): Ditto for WKGetScreenScaleFactor() and WKGetScaleFactorForScreen().
3037         (WebCore::mobileGestaltFloatValue): Deleted.
3038         * platform/ios/WebCoreSystemInterfaceIOS.h: Removed.
3039         (iosExecutableWasLinkedOnOrAfterVersion): Deleted.
3040         (iosDeviceClass): Deleted.
3041         * platform/ios/WebCoreSystemInterfaceIOS.mm:
3042         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
3043         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
3044         (WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoPictureInPicture): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
3045         (WebCore::supportsPictureInPicture): Upstreamed the implementation of WKIsOptimizedFullscreenSupported() from WebKitSystemInterface.
3046         * platform/ios/wak/WAKWindow.mm:
3047         (-[WAKWindow initWithLayer:]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().
3048         (-[WAKWindow initWithFrame:]): Ditto.
3049         * platform/ios/wak/WKGraphics.mm:
3050         (WKGraphicsCreateImageFromBundleWithName): Ditto.
3051         (WKDrawPatternBitmap): Ditto.
3052         * platform/mac/WebCoreSystemInterface.h:
3053         * platform/spi/cocoa/DynamicLinkerSPI.h: Defined additional DYLD_IOS_VERSION macros.
3054         * platform/spi/ios/MobileGestaltSPI.h: Defined additional MobileGestalt queries, enum MGDeviceClass, MGGetSInt32Answer, and MGGetFloat32Answer.
3055         * platform/spi/ios/UIKitSPI.h: Copied from Source/WebCore/platform/spi/ios/UIColorSPI.h, and added SPI declarations for UIApplication and UIScreen.
3056         * rendering/RenderThemeIOS.mm: Included UIKitSPI.h instead of UIColorSPI.h, and removed unnecessary forward declarations for the iOS public SDK build.
3057
3058 2015-11-02  Commit Queue  <commit-queue@webkit.org>
3059
3060         Unreviewed, rolling out r191902.
3061         https://bugs.webkit.org/show_bug.cgi?id=150811
3062
3063         This change broke iOS builders (Requested by ryanhaddad on
3064         #webkit).
3065
3066         Reverted changeset:
3067
3068         "Replace iOS-only WebKitSystemInterface calls with SPI"
3069         https://bugs.webkit.org/show_bug.cgi?id=150763
3070         http://trac.webkit.org/changeset/191902
3071
3072 2015-10-31  Andy Estes  <aestes@apple.com>
3073
3074         Replace iOS-only WebKitSystemInterface calls with SPI
3075         https://bugs.webkit.org/show_bug.cgi?id=150763
3076
3077         Reviewed by Darin Adler.
3078
3079         * WebCore.xcodeproj/project.pbxproj:
3080         * config.h: Removed WEBCORE_NAVIGATOR_PLATFORM and WEBCORE_NAVIGATOR_VENDOR.
3081         * css/MediaQueryEvaluator.cpp:
3082         (WebCore::isRunningOnIPhoneOrIPod): Used deviceClass() instead of iosDeviceClass().
3083         * html/HTMLMediaElement.cpp:
3084         (WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
3085         * html/HTMLObjectElement.cpp:
3086         (WebCore::shouldNotPerformURLAdjustment): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
3087         * html/HTMLVideoElement.cpp:
3088         (WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
3089         * page/NavigatorBase.cpp:
3090         * page/Settings.h:
3091         * page/ViewportConfiguration.cpp:
3092         (WebCore::ViewportConfiguration::textDocumentParameters): Used screenSize() instead of wkGetScreenSize().
3093         * page/ios/UserAgentIOS.mm:
3094         (WebCore::isClassic): Added to return -[UIApplication _isClassic].
3095         (WebCore::osNameForUserAgent): Upstreamed the implementation of WKGetOSNameForUserAgent() from WebKitSystemInterface.
3096         (WebCore::deviceName): Ditto for wkGetDeviceName().
3097         (WebCore::standardUserAgentWithApplicationName): Called deviceName() and osNameForUserAgent().
3098         * page/mac/SettingsCocoa.mm: Renamed from Source/WebCore/page/mac/SettingsMac.mm.
3099         (WebCore::Settings::defaultMinimumZoomFontSize): Upstreamed the implementation of WKGetMinimumZoomFontSize() from WebKitSystemInterface.
3100         * platform/PlatformScreen.h:
3101         * platform/ios/Device.cpp: Added functions that answer queries about the iOS device from MobileGestalt.
3102         (WebCore::deviceClass):
3103         (WebCore::deviceName):
3104         (WebCore::deviceHasIPadCapability):
3105         * platform/ios/Device.h:
3106         * platform/ios/PlatformScreenIOS.mm:
3107         (WebCore::screenPPIFactor): Used MGGetSInt32Answer() and MGGetFloat32Answer() instead of mobileGestaltFloatValue().
3108         (WebCore::screenSize): Upstreamed the implementation of WKGetScreenSize() from WebKitSystemInterface.
3109         (WebCore::availableScreenSize): Ditto for WKGetAvailableScreenSize().
3110         (WebCore::screenScaleFactor): Ditto for WKGetScreenScaleFactor() and WKGetScaleFactorForScreen().
3111         (WebCore::mobileGestaltFloatValue): Deleted.
3112         * platform/ios/WebCoreSystemInterfaceIOS.h: Removed.
3113         (iosExecutableWasLinkedOnOrAfterVersion): Deleted.
3114         (iosDeviceClass): Deleted.
3115         * platform/ios/WebCoreSystemInterfaceIOS.mm:
3116         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
3117         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
3118         (WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoPictureInPicture): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
3119         (WebCore::supportsPictureInPicture): Upstreamed the implementation of WKIsOptimizedFullscreenSupported() from WebKitSystemInterface.
3120         * platform/ios/wak/WAKWindow.mm:
3121         (-[WAKWindow initWithLayer:]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().
3122         (-[WAKWindow initWithFrame:]): Ditto.
3123         * platform/ios/wak/WKGraphics.mm:
3124         (WKGraphicsCreateImageFromBundleWithName): Ditto.
3125         (WKDrawPatternBitmap): Ditto.
3126         * platform/mac/WebCoreSystemInterface.h:
3127         * platform/spi/cocoa/DynamicLinkerSPI.h: Defined additional DYLD_IOS_VERSION macros.
3128         * platform/spi/ios/MobileGestaltSPI.h: Defined additional MobileGestalt queries, enum MGDeviceClass, MGGetSInt32Answer, and MGGetFloat32Answer.
3129         * platform/spi/ios/UIKitSPI.h: Copied from Source/WebCore/platform/spi/ios/UIColorSPI.h, and added SPI declarations for UIApplication and UIScreen.
3130         * rendering/RenderThemeIOS.mm:
3131
3132 2015-11-02  Frederic Wang  <fred.wang@free.fr>
3133
3134         [Win] Add support for the USE_TYPO_METRICS flag
3135         https://bugs.webkit.org/show_bug.cgi?id=150451
3136
3137         Reviewed by Darin Adler.
3138
3139         Make the Windows backend use the typo metrics when the OS/2 USE_TYPO_METRICS flag is set.
3140
3141         No new tests because this is already tested by fonts/use-typo-metrics-1.html
3142
3143         * platform/graphics/win/SimpleFontDataCGWin.cpp:
3144         (WebCore::Font::platformInit):
3145         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
3146         (WebCore::Font::platformInit):
3147         * platform/graphics/win/SimpleFontDataWin.cpp:
3148         (WebCore::Font::initGDIFont):
3149
3150 2015-11-02  Hyunduk Kim  <hyunduk.kim@samsung.com>
3151
3152         Enable MediaSource::isTypeSupported() to handle the upper-cased MIME type & Codec
3153         https://bugs.webkit.org/show_bug.cgi?id=150436
3154
3155         Reviewed by Darin Adler.
3156
3157         Got the new test case from
3158         https://github.com/w3c/web-platform-tests/blob/master/media-source/mediasource-is-type-supported.html 
3159         Tests: http\tests\media\media-source\mediasource-is-type-supported.html
3160
3161         * Modules/mediasource/MediaSource.cpp:
3162         (WebCore::MediaSource::isTypeSupported):
3163
3164 2015-11-02  Youenn Fablet  <youenn.fablet@crf.canon.fr>
3165
3166         Rename JSDOMWrapper.impl to JSDOMWrapper.wrapped
3167         https://bugs.webkit.org/show_bug.cgi?id=150613
3168
3169         Reviewed by Darin Adler.
3170
3171         Renaming impl to wrapped in classes and binding generated classes.
3172         No change in behavior.
3173
3174         * Modules/plugins/QuickTimePluginReplacement.mm:
3175         (WebCore::JSQuickTimePluginReplacement::timedMetaData):
3176         (WebCore::JSQuickTimePluginReplacement::accessLog):
3177         (WebCore::JSQuickTimePluginReplacement::errorLog):
3178         * bindings/js/JSAttrCustom.cpp:
3179         (WebCore::JSAttr::visitAdditionalChildren):
3180         * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
3181         (WebCore::JSAudioBufferSourceNode::setBuffer):
3182         * bindings/js/JSAudioTrackCustom.cpp:
3183         (WebCore::JSAudioTrack::visitAdditionalChildren):
3184         (WebCore::JSAudioTrack::setKind):
3185         (WebCore::JSAudioTrack::setLanguage):
3186         * bindings/js/JSAudioTrackListCustom.cpp:
3187         (WebCore::JSAudioTrackList::visitAdditionalChildren):
3188         * bindings/js/JSBiquadFilterNodeCustom.cpp:
3189         (WebCore::JSBiquadFilterNode::setType):
3190         * bindings/js/JSCSSRuleCustom.cpp:
3191         (WebCore::JSCSSRule::visitAdditionalChildren):
3192         * bindings/js/JSCSSRuleListCustom.cpp:
3193         (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
3194         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3195         (WebCore::JSCSSStyleDeclaration::visitAdditionalChildren):
3196         (WebCore::getPropertyValueFallback):
3197         (WebCore::cssPropertyGetterPixelOrPosPrefix):
3198         (WebCore::cssPropertyGetter):
3199         (WebCore::JSCSSStyleDeclaration::putDelegate):
3200         (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
3201         (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):
3202         * bindings/js/JSCSSValueCustom.cpp:
3203         (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
3204         (WebCore::JSCSSValueOwner::finalize):
3205         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3206         (WebCore::toHTMLCanvasStyle):
3207         (WebCore::JSCanvasRenderingContext2D::strokeStyle):
3208         (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
3209         (WebCore::JSCanvasRenderingContext2D::fillStyle):
3210         (WebCore::JSCanvasRenderingContext2D::setFillStyle):
3211         (WebCore::JSCanvasRenderingContext2D::webkitLineDash):
3212         (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
3213         * bindings/js/JSCanvasRenderingContextCustom.cpp:
3214         (WebCore::JSCanvasRenderingContext::visitAdditionalChildren):
3215         * bindings/js/JSCharacterDataCustom.cpp:
3216         (WebCore::JSCharacterData::before):
3217         (WebCore::JSCharacterData::after):
3218         (WebCore::JSCharacterData::replaceWith):
3219         * bindings/js/JSCommandLineAPIHostCustom.cpp:
3220         (WebCore::JSCommandLineAPIHost::inspectedObject):
3221         (WebCore::JSCommandLineAPIHost::getEventListeners):
3222         (WebCore::JSCommandLineAPIHost::inspect):
3223         (WebCore::JSCommandLineAPIHost::databaseId):
3224         (WebCore::JSCommandLineAPIHost::storageId):
3225         * bindings/js/JSCryptoCustom.cpp:
3226         (WebCore::JSCrypto::getRandomValues):
3227         * bindings/js/JSCryptoKeyCustom.cpp:
3228         (WebCore::JSCryptoKey::algorithm):
3229         * bindings/js/JSCryptoKeyPairCustom.cpp:
3230         (WebCore::JSCryptoKeyPair::visitAdditionalChildren):
3231         * bindings/js/JSCustomEventCustom.cpp:
3232         (WebCore::JSCustomEvent::detail):
3233         * bindings/js/JSCustomXPathNSResolver.cpp:
3234         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3235         * bindings/js/JSDOMBinding.cpp:
3236         (WebCore::reportException):
3237         (WebCore::activeDOMWindow):
3238         (WebCore::firstDOMWindow):
3239         * bindings/js/JSDOMFormDataCustom.cpp:
3240         (WebCore::toHTMLFormElementOrNull):
3241         (WebCore::JSDOMFormData::append):
3242         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
3243         (WebCore::JSDOMMimeTypeArray::nameGetter):
3244         * bindings/js/JSDOMNamedFlowCollectionCustom.cpp:
3245         (WebCore::JSDOMNamedFlowCollection::nameGetter):
3246         * bindings/js/JSDOMPluginArrayCustom.cpp:
3247         (WebCore::JSDOMPluginArray::nameGetter):
3248         * bindings/js/JSDOMPluginCustom.cpp:
3249         (WebCore::JSDOMPlugin::nameGetter):
3250         * bindings/js/JSDOMStringListCustom.cpp:
3251         (WebCore::JSDOMStringList::toWrapped):
3252         * bindings/js/JSDOMStringMapCustom.cpp:
3253         (WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):
3254         (WebCore::JSDOMStringMap::getOwnPropertyNames):
3255         (WebCore::JSDOMStringMap::deleteProperty):
3256         (WebCore::JSDOMStringMap::putDelegate):
3257         * bindings/js/JSDOMTokenListCustom.cpp:
3258         (WebCore::JSDOMTokenList::toggle):
3259         * bindings/js/JSDOMWindowBase.cpp:
3260         (WebCore::shouldAllowAccessFrom):
3261         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3262         (WebCore::JSDOMWindowBase::updateDocument):
3263         (WebCore::JSDOMWindowBase::scriptExecutionContext):
3264         (WebCore::JSDOMWindowBase::printErrorMessage):
3265         (WebCore::JSDOMWindowBase::supportsProfiling):
3266         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
3267         (WebCore::JSDOMWindowBase::shouldInterruptScript):
3268         (WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
3269         (WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
3270         (WebCore::JSDOMWindowBase::moduleLoaderResolve):
3271         (WebCore::JSDOMWindowBase::moduleLoaderFetch):
3272         (WebCore::JSDOMWindowBase::moduleLoaderEvaluate):
3273         * bindings/js/JSDOMWindowBase.h:
3274         * bindings/js/JSDOMWindowCustom.cpp:
3275         (WebCore::JSDOMWindow::visitAdditionalChildren):
3276         (WebCore::childFrameGetter):
3277         (WebCore::namedItemGetter):
3278         (WebCore::jsDOMWindowWebKit):
3279         (WebCore::jsDOMWindowIndexedDB):
3280         (WebCore::JSDOMWindow::getOwnPropertySlot):
3281         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
3282         (WebCore::JSDOMWindow::put):
3283         (WebCore::JSDOMWindow::putByIndex):
3284         (WebCore::JSDOMWindow::deleteProperty):
3285         (WebCore::JSDOMWindow::deletePropertyByIndex):
3286         (WebCore::JSDOMWindow::getEnumerableLength):
3287         (WebCore::JSDOMWindow::getStructurePropertyNames):
3288         (WebCore::JSDOMWindow::getGenericPropertyNames):
3289         (WebCore::JSDOMWindow::getPropertyNames):
3290         (WebCore::JSDOMWindow::getOwnPropertyNames):
3291         (WebCore::JSDOMWindow::defineOwnProperty):
3292         (WebCore::JSDOMWindow::setLocation):
3293         (WebCore::JSDOMWindow::open):
3294         (WebCore::JSDOMWindow::showModalDialog):
3295         (WebCore::JSDOMWindow::postMessage):
3296         (WebCore::JSDOMWindow::setTimeout):
3297         (WebCore::JSDOMWindow::setInterval):
3298         (WebCore::JSDOMWindow::addEventListener):
3299         (WebCore::JSDOMWindow::removeEventListener):
3300         (WebCore::JSDOMWindow::toWrapped):
3301         * bindings/js/JSDOMWindowShell.cpp:
3302         (WebCore::JSDOMWindowShell::setWindow):
3303         (WebCore::JSDOMWindowShell::wrapped):
3304         * bindings/js/JSDOMWindowShell.h:
3305         * bindings/js/JSDOMWrapper.h:
3306         (WebCore::JSDOMWrapper::wrapped):
3307         (WebCore::JSDOMWrapper::JSDOMWrapper):
3308         * bindings/js/JSDataCueCustom.cpp:
3309         (WebCore::JSDataCue::value):
3310         (WebCore::JSDataCue::setValue):
3311         * bindings/js/JSDataTransferCustom.cpp:
3312         (WebCore::JSDataTransfer::types):
3313         * bindings/js/JSDedicatedWorkerGlobalScopeCustom.cpp:
3314         (WebCore::JSDedicatedWorkerGlobalScope::postMessage):
3315         * bindings/js/JSDeviceMotionEventCustom.cpp:
3316         (WebCore::JSDeviceMotionEvent::acceleration):
3317         (WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
3318         (WebCore::JSDeviceMotionEvent::rotationRate):
3319         (WebCore::JSDeviceMotionEvent::interval):
3320         (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
3321         * bindings/js/JSDeviceOrientationEventCustom.cpp:
3322         (WebCore::JSDeviceOrientationEvent::alpha):
3323         (WebCore::JSDeviceOrientationEvent::beta):
3324         (WebCore::JSDeviceOrientationEvent::gamma):
3325         (WebCore::JSDeviceOrientationEvent::webkitCompassHeading):
3326         (WebCore::JSDeviceOrientationEvent::webkitCompassAccuracy):
3327         (WebCore::JSDeviceOrientationEvent::absolute):
3328         (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
3329         * bindings/js/JSDocumentCustom.cpp:
3330         (WebCore::JSDocument::prepend):
3331         (WebCore::JSDocument::append):
3332         * bindings/js/JSDocumentFragmentCustom.cpp:
3333         (WebCore::JSDocumentFragment::prepend):
3334         (WebCore::JSDocumentFragment::append):
3335         * bindings/js/JSDocumentTypeCustom.cpp:
3336         (WebCore::JSDocumentType::before):
3337         (WebCore::JSDocumentType::after):
3338         (WebCore::JSDocumentType::replaceWith):
3339         * bindings/js/JSElementCustom.cpp:
3340         (WebCore::JSElement::before):
3341         (WebCore::JSElement::after):
3342         (WebCore::JSElement::replaceWith):
3343         (WebCore::JSElement::prepend):
3344         (WebCore::JSElement::append):
3345         * bindings/js/JSEventCustom.cpp:
3346         (WebCore::JSEvent::clipboardData):
3347         * bindings/js/JSEventListener.cpp:
3348         (WebCore::JSEventListener::handleEvent):
3349         * bindings/js/JSEventTargetCustom.cpp:
3350         * bindings/js/JSFileReaderCustom.cpp:
3351         (WebCore::JSFileReader::result):
3352         * bindings/js/JSGeolocationCustom.cpp:
3353         (WebCore::JSGeolocation::getCurrentPosition):
3354         (WebCore::JSGeolocation::watchPosition):
3355         * bindings/js/JSHTMLAllCollectionCustom.cpp:
3356         (WebCore::namedItems):
3357         (WebCore::callHTMLAllCollection):
3358         (WebCore::JSHTMLAllCollection::item):
3359         * bindings/js/JSHTMLCanvasElementCustom.cpp:
3360         (WebCore::JSHTMLCanvasElement::getContext):
3361         (WebCore::JSHTMLCanvasElement::probablySupportsContext):
3362         (WebCore::JSHTMLCanvasElement::toDataURL):
3363         * bindings/js/JSHTMLCollectionCustom.cpp:
3364         (WebCore::JSHTMLCollection::nameGetter):
3365         * bindings/js/JSHTMLDocumentCustom.cpp:
3366         (WebCore::JSHTMLDocument::nameGetter):
3367         (WebCore::JSHTMLDocument::all):
3368         (WebCore::findCallingDocument):
3369         (WebCore::JSHTMLDocument::open):
3370         (WebCore::documentWrite):
3371         * bindings/js/JSHTMLElementCustom.cpp:
3372         (WebCore::JSHTMLElement::pushEventHandlerScope):
3373         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
3374         (WebCore::namedItems):
3375         * bindings/js/JSHTMLFormElementCustom.cpp:
3376         (WebCore::JSHTMLFormElement::nameGetter):
3377         * bindings/js/JSHTMLFrameElementCustom.cpp:
3378         (WebCore::JSHTMLFrameElement::setLocation):
3379         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
3380         (WebCore::JSHTMLFrameSetElement::nameGetter):
3381         * bindings/js/JSHTMLInputElementCustom.cpp:
3382         (WebCore::JSHTMLInputElement::selectionStart):
3383         (WebCore::JSHTMLInputElement::setSelectionStart):
3384         (WebCore::JSHTMLInputElement::selectionEnd):
3385         (WebCore::JSHTMLInputElement::setSelectionEnd):
3386         (WebCore::JSHTMLInputElement::selectionDirection):
3387         (WebCore::JSHTMLInputElement::setSelectionDirection):
3388         (WebCore::JSHTMLInputElement::setSelectionRange):
3389         * bindings/js/JSHTMLMediaElementCustom.cpp:
3390         (WebCore::JSHTMLMediaElement::setController):
3391         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
3392         (WebCore::JSHTMLOptionsCollection::nameGetter):
3393         (WebCore::JSHTMLOptionsCollection::setLength):
3394         (WebCore::JSHTMLOptionsCollection::indexSetter):
3395         (WebCore::JSHTMLOptionsCollection::remove):
3396         * bindings/js/JSHTMLSelectElementCustom.cpp:
3397         (WebCore::JSHTMLSelectElement::remove):
3398         (WebCore::JSHTMLSelectElement::indexSetter):
3399         * bindings/js/JSHTMLTemplateElementCustom.cpp:
3400         (WebCore::JSHTMLTemplateElement::content):
3401         * bindings/js/JSHistoryCustom.cpp:
3402         (WebCore::JSHistory::getOwnPropertySlotDelegate):
3403         (WebCore::JSHistory::putDelegate):
3404         (WebCore::JSHistory::deleteProperty):
3405         (WebCore::JSHistory::deletePropertyByIndex):
3406         (WebCore::JSHistory::getOwnPropertyNames):
3407         (WebCore::JSHistory::state):
3408         (WebCore::JSHistory::pushState):
3409         (WebCore::JSHistory::replaceState):
3410         * bindings/js/JSIDBDatabaseCustom.cpp:
3411         (WebCore::JSIDBDatabase::createObjectStore):
3412         * bindings/js/JSIDBObjectStoreCustom.cpp:
3413         (WebCore::JSIDBObjectStore::createIndex):
3414         * bindings/js/JSInspectorFrontendHostCustom.cpp:
3415         (WebCore::JSInspectorFrontendHost::showContextMenu):
3416         * bindings/js/JSLocationCustom.cpp:
3417         (WebCore::JSLocation::getOwnPropertySlotDelegate):
3418         (WebCore::JSLocation::putDelegate):
3419         (WebCore::JSLocation::deleteProperty):
3420         (WebCore::JSLocation::deletePropertyByIndex):
3421         (WebCore::JSLocation::getOwnPropertyNames):
3422         (WebCore::JSLocation::toStringFunction):
3423         * bindings/js/JSMediaSourceStatesCustom.cpp:
3424         (WebCore::JSMediaSourceStates::width):
3425         (WebCore::JSMediaSourceStates::height):
3426         (WebCore::JSMediaSourceStates::frameRate):
3427         (WebCore::JSMediaSourceStates::aspectRatio):
3428         (WebCore::JSMediaSourceStates::facingMode):
3429         (WebCore::JSMediaSourceStates::volume):
3430         * bindings/js/JSMessageChannelCustom.cpp:
3431         (WebCore::JSMessageChannel::visitAdditionalChildren):
3432         * bindings/js/JSMessageEventCustom.cpp:
3433         (WebCore::JSMessageEvent::data):
3434