Timeline
Nov 7, 2015:
- 11:17 PM Changeset in webkit [192140] by
-
- 160 edits in trunk/Source
Remove ColorSpace argument to all the drawing calls
https://bugs.webkit.org/show_bug.cgi?id=150967
Reviewed by Darin Adler.
Source/WebCore:
Since the -webkit-color-correction CSS property was removed in r188202, and ColorSpaceDeviceRGB
and ColorSpaceSRGB are functionally equivalent, we can remove all the ColorSpace arguments passed
to drawing functions, and remove RenderStyle::colorSpace(), which was hardcoded to return ColorSpaceSRGB.
Fill and stroke ColorSpaces are also remove from graphics state, simplifying color save/restore.
- bindings/scripts/CodeGeneratorObjC.pm:
(GenerateImplementation):
- css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::image):
- editing/FrameSelection.cpp:
(WebCore::CaretBase::paintCaret):
- editing/cocoa/HTMLConverter.mm:
(_platformColor):
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint):
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::clearRect):
(WebCore::CanvasRenderingContext2D::applyShadow):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::compositeBuffer):
(WebCore::drawImageToContext):
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
- html/canvas/CanvasRenderingContext2D.h:
- html/canvas/CanvasStyle.cpp:
(WebCore::CanvasStyle::applyStrokeColor):
(WebCore::CanvasStyle::applyFillColor):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::drawImageIntoBuffer):
- page/DebugPageOverlays.cpp:
(WebCore::RegionOverlay::drawRect):
- page/FrameView.cpp:
(WebCore::FrameView::paintScrollCorner):
(WebCore::FrameView::paintScrollbar):
(WebCore::FrameView::paintContents):
- page/PrintContext.cpp:
(WebCore::PrintContext::spoolAllPagesWithBoundaries):
- platform/ScrollView.cpp:
(WebCore::ScrollView::paintPanScrollIcon):
- platform/ScrollbarTheme.h:
(WebCore::ScrollbarTheme::defaultPaintScrollCorner):
- platform/ScrollbarThemeComposite.cpp:
(WebCore::ScrollbarThemeComposite::paintScrollCorner):
(WebCore::ScrollbarThemeComposite::paintOverhangAreas):
- platform/Theme.cpp:
(WebCore::Theme::drawNamedImage):
- platform/cocoa/ThemeCocoa.cpp:
(WebCore::ThemeCocoa::drawNamedImage):
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::drawPattern):
- platform/graphics/BitmapImage.h:
- platform/graphics/Color.h:
- platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::drawCrossfadeSubimage):
(WebCore::CrossfadeGeneratedImage::draw):
(WebCore::CrossfadeGeneratedImage::drawPattern):
- platform/graphics/CrossfadeGeneratedImage.h:
- platform/graphics/GeneratedImage.h:
- platform/graphics/GradientImage.cpp:
(WebCore::GradientImage::draw):
(WebCore::GradientImage::drawPattern):
- platform/graphics/GradientImage.h:
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawRaisedEllipse):
(WebCore::GraphicsContext::setStrokeColor):
(WebCore::GraphicsContext::setShadow):
(WebCore::GraphicsContext::setLegacyShadow):
(WebCore::GraphicsContext::getShadow):
(WebCore::GraphicsContext::setFillColor):
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::drawImageBuffer):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):
(WebCore::GraphicsContext::clearShadow): Deleted.
- platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::strokeColorSpace): Deleted.
(WebCore::GraphicsContext::fillColorSpace): Deleted.
- platform/graphics/Image.cpp:
(WebCore::Image::fillWithSolidColor):
(WebCore::Image::drawTiled):
- platform/graphics/Image.h:
(WebCore::Image::drawFrameMatchingSourceSize):
- platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::create):
- platform/graphics/NamedImageGeneratedImage.cpp:
(WebCore::NamedImageGeneratedImage::draw):
(WebCore::NamedImageGeneratedImage::drawPattern):
- platform/graphics/NamedImageGeneratedImage.h:
- platform/graphics/ShadowBlur.cpp:
(WebCore::ScratchBuffer::setCachedShadowValues):
(WebCore::ScratchBuffer::setCachedInsetShadowValues):
(WebCore::ShadowBlur::ShadowBlur):
(WebCore::ShadowBlur::setShadowValues):
(WebCore::ShadowBlur::drawShadowBuffer):
(WebCore::ShadowBlur::drawRectShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
(WebCore::ShadowBlur::drawLayerPieces):
(WebCore::ShadowBlur::blurAndColorShadowBuffer):
(WebCore::ShadowBlur::beginShadowLayer):
(WebCore::ShadowBlur::endShadowLayer):
- platform/graphics/ShadowBlur.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setContentsToImage): Deleted.
- platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::platformCALayerPaintContents):
- platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
(PlatformCALayerWinInternal::drawRepaintCounters):
- platform/graphics/cairo/BitmapImageCairo.cpp:
(WebCore::BitmapImage::draw):
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::setPlatformFillColor):
(WebCore::GraphicsContext::setPlatformStrokeColor):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::platformFillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):
(WebCore::GraphicsContext::drawPattern):
- platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::drawPattern):
- platform/graphics/cairo/ImageCairo.cpp:
(WebCore::Image::drawPattern):
- platform/graphics/cg/BitmapImageCG.cpp:
(WebCore::BitmapImage::draw):
- platform/graphics/cg/ColorCG.cpp:
(WebCore::leakCGColor):
(WebCore::cachedCGColor):
- platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::paintToCanvas):
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::setCGFillColor):
(WebCore::setCGStrokeColor):
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::applyFillPattern):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::platformFillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::drawLinesForText):
(WebCore::GraphicsContext::setPlatformStrokeColor):
(WebCore::GraphicsContext::setPlatformFillColor):
(WebCore::sRGBColorSpaceRef): Deleted.
- platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::copyImage):
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::drawPattern):
- platform/graphics/cg/ImageCG.cpp:
(WebCore::Image::drawPattern):
(WebCore::Image::imageWithColorSpace): Deleted.
- platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::draw):
- platform/graphics/cg/PDFDocumentImage.h:
- platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::FontCascade::drawGlyphs):
- platform/graphics/filters/FEBlend.cpp:
(WebCore::FEBlend::platformApplySoftware):
- platform/graphics/filters/FEColorMatrix.cpp:
(WebCore::FEColorMatrix::platformApplySoftware):
- platform/graphics/filters/FEComposite.cpp:
(WebCore::FEComposite::platformApplySoftware):
- platform/graphics/filters/FEDropShadow.cpp:
(WebCore::FEDropShadow::platformApplySoftware):
- platform/graphics/filters/FEFlood.cpp:
(WebCore::FEFlood::platformApplySoftware):
- platform/graphics/filters/FEMerge.cpp:
(WebCore::FEMerge::platformApplySoftware):
- platform/graphics/filters/FEOffset.cpp:
(WebCore::FEOffset::platformApplySoftware):
- platform/graphics/filters/FETile.cpp:
(WebCore::FETile::platformApplySoftware):
- platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::platformApplySoftware):
- platform/graphics/filters/SourceGraphic.cpp:
(WebCore::SourceGraphic::platformApplySoftware):
- platform/graphics/ios/IconIOS.mm:
(WebCore::Icon::paint):
- platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
- platform/graphics/texmap/coordinated/UpdateAtlas.cpp:
- platform/graphics/win/FontCGWin.cpp:
(WebCore::FontCascade::drawGlyphs):
- platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::GraphicsContext::drawFocusRing):
- platform/graphics/win/ImageCGWin.cpp:
(WebCore::BitmapImage::getHBITMAPOfSize):
(WebCore::BitmapImage::drawFrameMatchingSourceSize):
- platform/graphics/win/ImageCairoWin.cpp:
(WebCore::BitmapImage::getHBITMAPOfSize):
(WebCore::BitmapImage::drawFrameMatchingSourceSize):
- platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::drawLayer):
- platform/ios/LegacyTileGridTile.mm:
(WebCore::LegacyTileGridTile::showBorder):
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(WebVideoFullscreenControllerContext::didSetupFullscreen):
- platform/mac/DragImageMac.mm:
(WebCore::drawAtPoint):
- platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::setUpOverhangAreaBackground):
- platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext):
- platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::paintCurrentFrameInContext):
- platform/mock/ScrollbarThemeMock.cpp:
(WebCore::ScrollbarThemeMock::paintTrackBackground):
(WebCore::ScrollbarThemeMock::paintThumb):
- platform/win/DragImageWin.cpp:
(WebCore::createDragImageForLink):
- platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::paint):
- platform/win/WebCoreTextRenderer.cpp:
(WebCore::doDrawTextAtPoint):
- rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paint):
(WebCore::EllipsisBox::paintSelection):
- rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRendererHelper::applyFilterEffect):
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintDecoration):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::paintCompositionUnderline):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::blockSelectionGap):
(WebCore::RenderBlock::logicalLeftSelectionGap):
(WebCore::RenderBlock::logicalRightSelectionGap):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::paintClippingMask):
- rendering/RenderBoxModelObject.cpp:
(WebCore::applyBoxShadowForBackground):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
(WebCore::RenderBoxModelObject::paintBoxShadow):
- rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::paint):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::drawLineForBoxSide):
(WebCore::RenderElement::paintOutline):
- rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintSnapshotImage):
(WebCore::RenderEmbeddedObject::paintReplaced):
- rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
- rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::paintColumnBorder):
(WebCore::RenderFrameSet::paintRowBorder):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintIntoRect):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::paintScrollCorner):
(WebCore::RenderLayer::drawPlatformResizerImage):
(WebCore::RenderLayer::paintResizer):
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):
- rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
- rendering/RenderScrollbarTheme.cpp:
(WebCore::RenderScrollbarTheme::paintScrollCorner):
- rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::paintSnapshot):
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintSliderTicks):
- rendering/RenderThemeIOS.mm:
(WebCore::drawAxialGradient):
(WebCore::drawRadialGradient):
(WebCore::RenderThemeIOS::paintCheckboxDecorations):
(WebCore::RenderThemeIOS::paintRadioDecorations):
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
(WebCore::RenderThemeIOS::paintSliderTrack):
(WebCore::RenderThemeIOS::paintProgressBar):
(WebCore::RenderThemeIOS::paintFileUploadIconDecorations):
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintProgressBar):
(WebCore::RenderThemeMac::paintMenuListButtonDecorations):
(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
(WebCore::titleTextColorForAttachment):
(WebCore::AttachmentLayout::layOutSubtitle):
(WebCore::paintAttachmentIconBackground):
(WebCore::paintAttachmentTitleBackground):
(WebCore::paintAttachmentProgress):
- rendering/RenderView.cpp:
(WebCore::RenderView::paint):
(WebCore::RenderView::paintBoxDecorations):
- rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint):
- rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::lineSelectionGap):
- rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::paintDebugBorders):
- rendering/TextPaintStyle.cpp:
(WebCore::TextPaintStyle::TextPaintStyle):
(WebCore::adjustColorForVisibilityOnBackground):
(WebCore::computeTextPaintStyle):
(WebCore::updateGraphicsContext):
- rendering/TextPaintStyle.h:
(WebCore::TextPaintStyle::TextPaintStyle):
- rendering/TextPainter.cpp:
(WebCore::ShadowApplier::ShadowApplier):
(WebCore::paintTextWithShadows):
- rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::paint):
- rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::paint):
- rendering/mathml/RenderMathMLMenclose.cpp:
(WebCore::RenderMathMLMenclose::paint):
- rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::paint):
- rendering/mathml/RenderMathMLRadicalOperator.cpp:
(WebCore::RenderMathMLRadicalOperator::paint):
- rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::paint):
- rendering/shapes/Shape.cpp:
(WebCore::Shape::createRasterShape):
- rendering/style/NinePieceImage.cpp:
(WebCore::NinePieceImage::paint):
- rendering/style/RenderStyle.h:
- rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::paintForeground):
- rendering/svg/RenderSVGPath.cpp:
(WebCore::useStrokeStyleToFill):
- rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::postApplyResource):
- rendering/svg/RenderSVGResourceSolidColor.cpp:
(WebCore::RenderSVGResourceSolidColor::applyResource):
- rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::paintSelectionBackground):
- rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
(WebCore::SVGRenderingContext::bufferForeground):
- svg/SVGAnimatedColor.cpp:
(WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawForContainer):
(WebCore::SVGImage::nativeImageForCurrentFrame):
(WebCore::SVGImage::drawPatternForContainer):
(WebCore::SVGImage::draw):
- svg/graphics/SVGImage.h:
- svg/graphics/SVGImageForContainer.cpp:
(WebCore::SVGImageForContainer::draw):
(WebCore::SVGImageForContainer::drawPattern):
- svg/graphics/SVGImageForContainer.h:
- svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::platformApplySoftware):
- testing/MockPageOverlayClient.cpp:
(WebCore::MockPageOverlayClient::drawRect):
Source/WebKit/ios:
Since the -webkit-color-correction CSS property was removed in r188202, and ColorSpaceDeviceRGB
and ColorSpaceSRGB are functionally equivalent, we can remove all the ColorSpace arguments passed
to drawing functions, and remove RenderStyle::colorSpace(), which was hardcoded to return ColorSpaceSRGB.
- WebView/WebPDFViewIOS.mm:
(-[WebPDFView drawPage:]):
- WebView/WebPlainWhiteView.mm:
Source/WebKit/mac:
Since the -webkit-color-correction CSS property was removed in r188202, and ColorSpaceDeviceRGB
and ColorSpaceSRGB are functionally equivalent, we can remove all the ColorSpace arguments passed
to drawing functions, and remove RenderStyle::colorSpace(), which was hardcoded to return ColorSpaceSRGB.
- Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):
- WebInspector/WebNodeHighlightView.mm:
(-[WebNodeHighlightView _layoutForNodeHighlight:parent:]):
(-[WebNodeHighlightView _layoutForRectsHighlight:parent:]):
- WebView/WebFrame.mm:
(-[WebFrame _bodyBackgroundColor]):
- WebView/WebFrameView.mm:
(-[WebFrameView drawRect:]):
- WebView/WebIndicateLayer.mm:
Source/WebKit2:
- Shared/API/c/cg/WKImageCG.cpp:
(WKImageCreateFromCGImage):
- Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::ContextMenuContextData):
- Shared/WebCoreArgumentCoders.cpp:
(IPC::encodeImage):
- Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::drawInContext):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _updateScrollViewBackground]):
- UIProcess/WKInspectorHighlightView.mm:
(-[WKInspectorHighlightView _layoutForNodeHighlight:offset:]):
(-[WKInspectorHighlightView _layoutForRectsHighlight:]):
- UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _updateTapHighlight]):
- UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::drawRect):
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::createSelectionSnapshot):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::snapshotAtSize):
- WebProcess/WebPage/ios/FindControllerIOS.mm:
(WebKit::FindIndicatorOverlayClientIOS::drawRect):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPositionInformation):
- WebProcess/ios/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenManager::didSetupFullscreen):
- 10:57 PM Changeset in webkit [192139] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening, update fast/replaced/replaced-breaking.html
Update fast/replaced/replaced-breaking.html so that it outputs the
same result on all platforms.
- fast/replaced/replaced-breaking.html:
- 10:31 PM Changeset in webkit [192138] by
-
- 24 edits in trunk/Source
Use ColorSpaceSRGB for image buffers everywhere
https://bugs.webkit.org/show_bug.cgi?id=150990
Reviewed by Zalan Bujtas.
ColorSpaceSRGB and ColorSpaceDeviceRGB are equivalent now, so convert
code that creates image buffers tagged with ColorSpaceDeviceRGB to use ColorSpaceSRGB.
Source/WebCore:
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::createCompatibleBuffer):
- platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::create):
- platform/graphics/cg/BitmapImageCG.cpp:
(WebCore::BitmapImage::checkForSolidColor):
- platform/graphics/cg/ColorCG.cpp:
(WebCore::Color::Color):
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::sRGBColorSpaceRef): Deleted.
- platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::putByteArray):
- platform/graphics/cocoa/IOSurface.mm:
(IOSurface::createFromImage):
- platform/graphics/filters/FEFlood.h:
- platform/graphics/filters/FETile.cpp:
(WebCore::FETile::platformApplySoftware):
- platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::FilterEffect):
- platform/graphics/filters/SourceGraphic.h:
(WebCore::SourceGraphic::SourceGraphic):
- rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::build):
(WebCore::FilterEffectRenderer::apply):
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintProgressBar):
- rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyClippingToContext):
- rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::buildPrimitives):
- rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient):
- rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource):
- rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::createTileImage):
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawPatternForContainer):
- svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::platformApplySoftware):
Source/WebKit2:
- Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::decode):
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _takeViewSnapshot]):
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
- 8:04 PM Changeset in webkit [192137] by
-
- 2 edits in trunk/Tools
Attempt to fix the Windows EWS bot after r192087
(https://bugs.webkit.org/show_bug.cgi?id=150859)
Following r192087 Port._build_path() stores the computed root directory path in option
_cached_root instead of overwriting option root. We need to teach the Windows-specific
logic to make use of option _cached_root instead of option root when computing its adjusted
path and to cache its adjusted in _cached_root instead of root.
- Scripts/webkitpy/port/win.py:
(WinPort._build_path):
- 7:33 PM Changeset in webkit [192136] by
-
- 2 edits in trunk/LayoutTests
DRT does not reset the frame rect between 2 runs.
https://bugs.webkit.org/show_bug.cgi?id=151003
Set the min frame rect for 800*600 for now.
Unreviewed gardening.
- fast/dynamic/crash-subtree-layout-when-auto-size-enabled.html:
- 6:10 PM Changeset in webkit [192135] by
-
- 4 edits3 deletes in trunk/Source/JavaScriptCore
B3->Air lowering should do pattern matching the old fashioned way
https://bugs.webkit.org/show_bug.cgi?id=150994
Reviewed by Geoffrey Garen.
When I first wrote the B3->Air lowering prototype, I was convinced that the patterns would get
so gnarly that we'd want a pattern language to write them in. So I made one, and that's what
the lowering has used. But as we've worked with the IR, we've found that it's very easy to
pattern match in C++ using the B3 API, and we've also found that most of the patterns we wrote
using the pattern language were mostly trivial. So this change removes the pattern match code
generator and the patterns files, and redoes the lowering using good old fashioned switch
statements. This actually reduces the total code of the lowering.
I also took the opportunity to refactoring UnOp and BinOp lowering. We had a lot of repetetive
code for 32-vs-64-bit opcode selection, so I factored that out into a helper. This also saves a
lot of code.
- CMakeLists.txt:
- DerivedSources.make:
- b3/B3AddressMatcher.patterns: Removed.
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::LowerToAir):
(JSC::B3::Air::LowerToAir::run):
(JSC::B3::Air::LowerToAir::highBitsAreZero):
(JSC::B3::Air::LowerToAir::tmp):
(JSC::B3::Air::LowerToAir::canBeInternal):
(JSC::B3::Air::LowerToAir::commitInternal):
(JSC::B3::Air::LowerToAir::crossesInterference):
(JSC::B3::Air::LowerToAir::effectiveAddr):
(JSC::B3::Air::LowerToAir::addr):
(JSC::B3::Air::LowerToAir::loadPromise):
(JSC::B3::Air::LowerToAir::imm):
(JSC::B3::Air::LowerToAir::immForMove):
(JSC::B3::Air::LowerToAir::immOrTmpForMove):
(JSC::B3::Air::LowerToAir::tryOpcodeForType):
(JSC::B3::Air::LowerToAir::opcodeForType):
(JSC::B3::Air::LowerToAir::appendUnOp):
(JSC::B3::Air::LowerToAir::appendBinOp):
(JSC::B3::Air::LowerToAir::appendShift):
(JSC::B3::Air::LowerToAir::tryAppendStoreUnOp):
(JSC::B3::Air::LowerToAir::tryAppendStoreBinOp):
(JSC::B3::Air::LowerToAir::append):
(JSC::B3::Air::LowerToAir::ensureSpecial):
(JSC::B3::Air::LowerToAir::fillStackmap):
(JSC::B3::Air::LowerToAir::createGenericCompare):
(JSC::B3::Air::LowerToAir::createBranch):
(JSC::B3::Air::LowerToAir::createCompare):
(JSC::B3::Air::LowerToAir::lower):
(JSC::B3::Air::LowerToAir::immOrTmp): Deleted.
(JSC::B3::Air::LowerToAir::AddressSelector::AddressSelector): Deleted.
(JSC::B3::Air::LowerToAir::AddressSelector::acceptRoot): Deleted.
(JSC::B3::Air::LowerToAir::AddressSelector::acceptRootLate): Deleted.
(JSC::B3::Air::LowerToAir::AddressSelector::acceptInternals): Deleted.
(JSC::B3::Air::LowerToAir::AddressSelector::acceptInternalsLate): Deleted.
(JSC::B3::Air::LowerToAir::AddressSelector::acceptOperands): Deleted.
(JSC::B3::Air::LowerToAir::AddressSelector::acceptOperandsLate): Deleted.
(JSC::B3::Air::LowerToAir::AddressSelector::tryAddShift1): Deleted.
(JSC::B3::Air::LowerToAir::AddressSelector::tryAddShift2): Deleted.
(JSC::B3::Air::LowerToAir::AddressSelector::tryAdd): Deleted.
(JSC::B3::Air::LowerToAir::AddressSelector::tryFramePointer): Deleted.
(JSC::B3::Air::LowerToAir::AddressSelector::tryStackSlot): Deleted.
(JSC::B3::Air::LowerToAir::AddressSelector::tryDirect): Deleted.
(JSC::B3::Air::LowerToAir::acceptRoot): Deleted.
(JSC::B3::Air::LowerToAir::acceptRootLate): Deleted.
(JSC::B3::Air::LowerToAir::acceptInternals): Deleted.
(JSC::B3::Air::LowerToAir::acceptInternalsLate): Deleted.
(JSC::B3::Air::LowerToAir::acceptOperands): Deleted.
(JSC::B3::Air::LowerToAir::acceptOperandsLate): Deleted.
(JSC::B3::Air::LowerToAir::tryLoad): Deleted.
(JSC::B3::Air::LowerToAir::tryLoad8S): Deleted.
(JSC::B3::Air::LowerToAir::tryLoad8Z): Deleted.
(JSC::B3::Air::LowerToAir::tryLoad16S): Deleted.
(JSC::B3::Air::LowerToAir::tryLoad16Z): Deleted.
(JSC::B3::Air::LowerToAir::tryAdd): Deleted.
(JSC::B3::Air::LowerToAir::trySub): Deleted.
(JSC::B3::Air::LowerToAir::tryAnd): Deleted.
(JSC::B3::Air::LowerToAir::tryOr): Deleted.
(JSC::B3::Air::LowerToAir::tryXor): Deleted.
(JSC::B3::Air::LowerToAir::tryShl): Deleted.
(JSC::B3::Air::LowerToAir::trySShr): Deleted.
(JSC::B3::Air::LowerToAir::tryZShr): Deleted.
(JSC::B3::Air::LowerToAir::tryStoreAddLoad): Deleted.
(JSC::B3::Air::LowerToAir::tryStoreSubLoad): Deleted.
(JSC::B3::Air::LowerToAir::tryStoreAndLoad): Deleted.
(JSC::B3::Air::LowerToAir::tryStore): Deleted.
(JSC::B3::Air::LowerToAir::tryTrunc): Deleted.
(JSC::B3::Air::LowerToAir::tryZExt32): Deleted.
(JSC::B3::Air::LowerToAir::tryArgumentReg): Deleted.
(JSC::B3::Air::LowerToAir::tryConst32): Deleted.
(JSC::B3::Air::LowerToAir::tryConst64): Deleted.
(JSC::B3::Air::LowerToAir::tryFramePointer): Deleted.
(JSC::B3::Air::LowerToAir::tryStackSlot): Deleted.
(JSC::B3::Air::LowerToAir::tryEqual): Deleted.
(JSC::B3::Air::LowerToAir::tryNotEqual): Deleted.
(JSC::B3::Air::LowerToAir::tryLessThan): Deleted.
(JSC::B3::Air::LowerToAir::tryGreaterThan): Deleted.
(JSC::B3::Air::LowerToAir::tryLessEqual): Deleted.
(JSC::B3::Air::LowerToAir::tryGreaterEqual): Deleted.
(JSC::B3::Air::LowerToAir::tryAbove): Deleted.
(JSC::B3::Air::LowerToAir::tryBelow): Deleted.
(JSC::B3::Air::LowerToAir::tryAboveEqual): Deleted.
(JSC::B3::Air::LowerToAir::tryBelowEqual): Deleted.
(JSC::B3::Air::LowerToAir::tryPatchpoint): Deleted.
(JSC::B3::Air::LowerToAir::tryCheck): Deleted.
(JSC::B3::Air::LowerToAir::tryUpsilon): Deleted.
(JSC::B3::Air::LowerToAir::tryPhi): Deleted.
(JSC::B3::Air::LowerToAir::tryBranch): Deleted.
(JSC::B3::Air::LowerToAir::tryJump): Deleted.
(JSC::B3::Air::LowerToAir::tryIdentity): Deleted.
(JSC::B3::Air::LowerToAir::tryReturn): Deleted.
- b3/B3LoweringMatcher.patterns: Removed.
- b3/generate_pattern_matcher.rb: Removed.
- 5:29 PM Changeset in webkit [192134] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: [Regression] [Mavericks] Toolbar is too dark while docked
https://bugs.webkit.org/show_bug.cgi?id=150977
Set the toolbar color of the docked inspector to be the same as on OS X 10.10+.
Undocked toolbar color on Mavericks is unnaffected.
Reviewed by Timothy Hatcher.
- UserInterface/Views/Toolbar.css:
(body.mavericks.docked .toolbar):
(body:not(.mavericks) .toolbar): Added.
- 4:50 PM Changeset in webkit [192133] by
-
- 7 edits2 adds in trunk
Crash when subtree layout is set on FrameView while auto size mode is enabled.
https://bugs.webkit.org/show_bug.cgi?id=150995
rdar://problem/22785262
Reviewed by Beth Dakin.
Autosizing initiates multiple synchronous layouts to calculate preferred view width for current content.
FrameView::autoSizeIfEnabled() is called from FrameView::layout() while we are in InPreLayout state.
It is safe to do during full layout.
However, since we setup the subtree state just before the autoSizeIfEnabled() call, reentering it with
a newly issued layout confuses SubtreeLayoutStateMaintainer.
This patch reverses the order of autoSizeIfEnabled() call and the subtree layout state setup.
It also ensures that the first layout requested by autoSizeIfEnabled() always runs on the whole tree.
Source/WebCore:
Test: fast/dynamic/crash-subtree-layout-when-auto-size-enabled.html
- page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::convertSubtreeLayoutToFullLayout):
(WebCore::FrameView::scheduleRelayout):
(WebCore::FrameView::scheduleRelayoutOfSubtree):
(WebCore::FrameView::autoSizeIfEnabled):
- page/FrameView.h:
- testing/Internals.cpp:
(WebCore::Internals::enableAutoSizeMode):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- fast/dynamic/crash-subtree-layout-when-auto-size-enabled-expected.txt: Added.
- fast/dynamic/crash-subtree-layout-when-auto-size-enabled.html: Added.
- 3:48 PM Changeset in webkit [192132] by
-
- 19 edits in trunk
embed element without src and type attributes should represent nothing
https://bugs.webkit.org/show_bug.cgi?id=148853
<rdar://problem/22588235>
Reviewed by Zalan Bujtas.
LayoutTests/imported/w3c:
Rebaseline existing tests.
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-expected.txt:
- web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-05-expected.txt:
Source/WebCore:
As per the HTML specification, an embed element without src and type
attributes should represent nothing:
https://html.spec.whatwg.org/multipage/embedded-content.html#the-embed-element
This patch fixes the issue by making sure we don't construct a
renderer for such embed elements.
The new behavior is consistent with Firefox but differs from Chrome.
No new tests, already covered by existing tests.
- html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::rendererIsNeeded):
LayoutTests:
Unskip 2 ref-tests that were previously failing.
- accessibility/inline-block-assertion-expected.txt:
- editing/execCommand/crash-140261-expected.txt:
- fast/block/float/4145535Crash-expected.txt:
- fast/dom/HTMLDocument/document-plugins-expected.txt:
- fast/dom/insertedIntoDocument-child-expected.txt:
- fast/dom/insertedIntoDocument-sibling-expected.txt:
- fast/dom/plugin-attributes-enumeration-expected.txt:
- fast/replaced/percent-height-in-anonymous-block-widget.html:
- fast/replaced/replaced-breaking.html:
- fast/replaced/table-percent-height.html:
- fast/text/international/embed-bidi-style-in-isolate-crash-expected.txt:
- imported/blink/fast/css-grid-layout/grid-add-positioned-block-item-after-inline-item-expected.txt:
Rebaseline / update existing tests.
- 10:11 AM Changeset in webkit [192131] by
-
- 3 edits in trunk/Source/JavaScriptCore
Add conditional moves to the MacroAssembler
https://bugs.webkit.org/show_bug.cgi?id=150761
Reviewed by Filip Pizlo.
Added moveConditionally, moveConditionallyTest & moveConditionallyDouble to X86 macro assemblers.
Bench tested correct opcodes and operations on X86-64 and X86 for a select number of comparisons.
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::moveConditionally):
(JSC::MacroAssemblerX86Common::moveConditionallyTest):
(JSC::MacroAssemblerX86Common::moveConditionallyDouble):
- assembler/X86Assembler.h:
(JSC::X86Assembler::cmovcc):
(JSC::X86Assembler::cmovl_rr):
(JSC::X86Assembler::cmovl_mr):
(JSC::X86Assembler::cmovel_rr):
(JSC::X86Assembler::cmovnel_rr):
(JSC::X86Assembler::cmovpl_rr):
(JSC::X86Assembler::cmovnpl_rr):
(JSC::X86Assembler::cmovq_rr):
(JSC::X86Assembler::cmovq_mr):
(JSC::X86Assembler::cmoveq_rr):
(JSC::X86Assembler::cmovneq_rr):
(JSC::X86Assembler::cmovpq_rr):
(JSC::X86Assembler::cmovnpq_rr):
(JSC::X86Assembler::X86InstructionFormatter::twoByteOp64):
- 9:17 AM Changeset in webkit [192130] by
-
- 2 edits in trunk/Source/WebCore
Node.h:392:12: warning: 'this' pointer cannot be null in well-defined C++ code
https://bugs.webkit.org/show_bug.cgi?id=150996
Reviewed by Andreas Kling.
Remove ASSERT(this) statement that is triggering hundreds of warnings from Clang.
- dom/Node.h:
(WebCore::Node::document):
- 7:22 AM Changeset in webkit [192129] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix GTK build after r191981
- html/HTMLFormControlElement.cpp:
Nov 6, 2015:
- 9:23 PM Changeset in webkit [192128] by
-
- 2 edits in trunk
Fix up ChangeLog entries for r192126 (https://bugs.webkit.org/show_bug.cgi?id=144938) to reflect
that the change was reviewed by Alexey Proskuryakov.
- 9:14 PM Changeset in webkit [192127] by
-
- 2 edits in trunk/Tools
Do not build LayoutTestRelay when --root is specified to run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=150989
Reviewed by Alexey Proskuryakov.
The script run-webkit-tests should only check if LayoutTestRelay exists when invoked with
--root and exit with an error if it does not exist. That is, we should not build LayoutTestRelay
when it does not exist and an explicit directory of built executables was specified via --root.
This will make the criterion for building LayoutTestRelay match the criterion for building
DumpRenderTree/WebKitTestRunner.
- Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort._check_port_build): Moved logic from IOSSimulatorPort.{_check_build_relay, check_build} to here.
(IOSSimulatorPort._check_build_relay): Deleted.
(IOSSimulatorPort.check_build): Deleted.
- 8:44 PM Changeset in webkit [192126] by
-
- 12 edits2 adds in trunk
Source/WebCore:
Allow an optional hash algorithm to be passed to generateKey for RSA keys.
https://bugs.webkit.org/show_bug.cgi?id=144938
Unreviewed initial submission.
Test: crypto/subtle/rsa-export-generated-keys.html
This changeset allows an optional hash parameter to be passed to the generate
key function for RSA type keys. Previously, there was no way to export generated
keys, as no hash function could be associated with the key (required for JWK).
The current WebCrypto API draft requires the hash function to be specified in the
algorithm object passed to generateKey (http://www.w3.org/TR/WebCryptoAPI 20.4),
however, they were made optional in this implementation to maintain compatiblity.
Patch by Scott Valentine <svalentine@ikayzo.com> on 2015-11-06
- bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::getHashAlgorithm):
(WebCore::createHmacParams):
(WebCore::createHmacKeyParams):
(WebCore::createRsaKeyGenParams):
(WebCore::createRsaOaepParams):
(WebCore::createRsaSsaParams):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey): Deleted.
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readRSAKey):
- crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):
- crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
- crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
(WebCore::CryptoAlgorithmRSA_OAEP::generateKey):
(WebCore::CryptoAlgorithmRSA_OAEP::importKey):
- crypto/gnutls/CryptoKeyRSAGnuTLS.cpp:
(WebCore::CryptoKeyRSA::CryptoKeyRSA):
(WebCore::CryptoKeyRSA::create):
(WebCore::CryptoKeyRSA::generatePair):
(WebCore::CryptoKeyRSA::restrictToHash): Deleted.
- crypto/keys/CryptoKeyRSA.h:
- crypto/mac/CryptoKeyRSAMac.cpp:
(WebCore::CryptoKeyRSA::CryptoKeyRSA):
(WebCore::CryptoKeyRSA::create):
(WebCore::CryptoKeyRSA::generatePair):
(WebCore::CryptoKeyRSA::restrictToHash): Deleted.
- crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:
LayoutTests:
Adding new tests for exporting generated RSA keys.
https://bugs.webkit.org/show_bug.cgi?id=144938
Unreviewed initial submission.
Patch by Scott Valentine <svalentine@ikayzo.com> on 2015-11-06
- crypto/subtle/rsa-export-generated-keys-expected.txt: Added.
- crypto/subtle/rsa-export-generated-keys.html: Added.
- 7:18 PM Changeset in webkit [192125] by
-
- 14 edits1 add in trunk/Source/JavaScriptCore
Control Flow Profiler should keep execution counts of basic blocks
https://bugs.webkit.org/show_bug.cgi?id=146099
Reviewed by Mark Lam.
This patch changes the control flow profiler to now
keep track of execution counts for each basic block
instead of a boolean indicating if the basic block has
executed at all. This has the consequence of us having to
always compile all op_profile_control_flows in the baseline and DFG.
This patch adds a new "executionCount" field to the inspector protocol
corresponding to the execution of a basic block. This patch, for now,
still maintains the previous field of "hasExecuted" even though this is
redundant with "executionCount".
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::getBasicBlocks):
- inspector/protocol/Runtime.json:
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_profile_control_flow):
(JSC::JIT::emit_op_create_direct_arguments):
- jsc.cpp:
(GlobalObject::finishCreation):
(functionHasBasicBlockExecuted):
(functionBasicBlockExecutionCount):
(functionEnableExceptionFuzz):
(functionDrainMicrotasks):
(functionIs32BitPlatform):
(functionLoadWebAssembly):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/BasicBlockLocation.cpp:
(JSC::BasicBlockLocation::BasicBlockLocation):
(JSC::BasicBlockLocation::dumpData):
(JSC::BasicBlockLocation::emitExecuteCode):
- runtime/BasicBlockLocation.h:
(JSC::BasicBlockLocation::endOffset):
(JSC::BasicBlockLocation::setStartOffset):
(JSC::BasicBlockLocation::setEndOffset):
(JSC::BasicBlockLocation::hasExecuted):
(JSC::BasicBlockLocation::executionCount):
- runtime/ControlFlowProfiler.cpp:
(JSC::ControlFlowProfiler::getBasicBlocksForSourceID):
(JSC::findBasicBlockAtTextOffset):
(JSC::ControlFlowProfiler::hasBasicBlockAtTextOffsetBeenExecuted):
(JSC::ControlFlowProfiler::basicBlockExecutionCountAtTextOffset):
- runtime/ControlFlowProfiler.h:
(JSC::ControlFlowProfiler::dummyBasicBlock):
- tests/controlFlowProfiler/execution-count.js: Added.
(noop):
(foo):
(a):
(b):
(baz):
(jaz):
(testWhile):
(is32BitPlatform.testMax):
(is32BitPlatform):
- 6:32 PM Changeset in webkit [192124] by
-
- 3 edits2 adds in trunk
Scrolling iframe inside scrollable div does not work with trackpad
https://bugs.webkit.org/show_bug.cgi?id=150168
<rdar://problem/23143931>
Reviewed by Brent Fulgham.
Source/WebCore:
When scrolling in an iframe nested under an overflow scrolling region, EventHandler::platformPrepareForWheelEvents
fails to compute the correct scrollableArea, using the overflow div's scrollable area instead of the iframe's view.
This causes the latching algorithm to bail out of handling the wheel event. To avoid this, we special-case the
decision to compute the scrollableArea from the scrollableContainer if we are attempting to scroll in an iframe.
Test: fast/scrolling/latching/scroll-iframe-in-overflow.html
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::platformPrepareForWheelEvents):
LayoutTests:
Tests that an iframe nested under an overflow scrolling div can be scrolled.
- fast/scrolling/latching/scroll-iframe-in-overflow-expected.txt: Added.
- fast/scrolling/latching/scroll-iframe-in-overflow.html: Added.
- 5:12 PM Changeset in webkit [192123] by
-
- 18 edits in trunk/Source
Modern IDB: Make the result data for a "get" request be an IDBGetResult.
https://bugs.webkit.org/show_bug.cgi?id=150985
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (Refactor, no change in behavior).
- Modules/indexeddb/IDBGetResult.h:
(WebCore::IDBGetResult::IDBGetResult):
(WebCore::IDBGetResult::dataFromBuffer):
(WebCore::IDBGetResult::isolatedCopy):
- Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::didGetRecordOnServer):
- Modules/indexeddb/legacy/IDBTransactionBackendOperations.cpp:
(WebCore::GetOperation::perform):
- Modules/indexeddb/server/IDBBackingStore.h:
- Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::getIndexRecord):
- Modules/indexeddb/server/MemoryIDBBackingStore.h:
- Modules/indexeddb/server/MemoryIndex.cpp:
(WebCore::IDBServer::MemoryIndex::valueForKeyRange):
- Modules/indexeddb/server/MemoryIndex.h:
- Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::indexValueForKeyRange):
- Modules/indexeddb/server/MemoryObjectStore.h:
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::storeCallback):
(WebCore::IDBServer::UniqueIDBDatabase::getRecord):
(WebCore::IDBServer::UniqueIDBDatabase::performGetIndexRecord):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformGetRecord):
(WebCore::IDBServer::UniqueIDBDatabase::performGetResultCallback):
(WebCore::IDBServer::UniqueIDBDatabase::performValueDataCallback): Deleted.
- Modules/indexeddb/server/UniqueIDBDatabase.h:
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
- Modules/indexeddb/shared/IDBResultData.cpp:
(WebCore::IDBResultData::IDBResultData):
(WebCore::IDBResultData::getRecordSuccess):
(WebCore::IDBResultData::getResult):
- Modules/indexeddb/shared/IDBResultData.h:
(WebCore::IDBResultData::resultData): Deleted.
Source/WebKit2:
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<IDBGetResult>::encode):
(IPC::ArgumentCoder<IDBGetResult>::decode):
- 3:58 PM Changeset in webkit [192122] by
-
- 3 edits in trunk/Source/WebCore
Remove unused HTMLFormControlsCollection::namedItem()
https://bugs.webkit.org/show_bug.cgi?id=150975
Reviewed by Andreas Kling.
Remove unused HTMLFormControlsCollection::namedItem().
JSHTMLFormControlsCollection::namedItem() calls namedItems() on the
implementation object, not namedItem() because it returns a
RadioNodeList when there are several matches.
- html/HTMLFormControlsCollection.cpp:
(WebCore::firstNamedItem): Deleted.
(WebCore::HTMLFormControlsCollection::namedItem): Deleted.
- html/HTMLFormControlsCollection.h:
- 3:34 PM Changeset in webkit [192121] by
-
- 14 edits2 adds in trunk/Source/JavaScriptCore
B3 and Air should simplify CFGs
https://bugs.webkit.org/show_bug.cgi?id=150960
Reviewed by Geoffrey Garen.
This adds CFG simplification to both B3 and Air.
In B3, the simplification is done inside the B3::reduceStrength() fixpoint because we expect
that it will help to reveal more optimization opportunities. This is going to be particularly
true when we add Phi elimination.
In Air, the simplification is its own phase. We expect it to produce most of its benefits once
we have coalescing. Then, CFG simplification in Air will unbreak critial edges.
- JavaScriptCore.xcodeproj/project.pbxproj:
- assembler/AbortReason.h:
- assembler/MacroAssembler.h:
(JSC::MacroAssembler::oops): Reveal this as a method so that we can have an Oops instruction.
- b3/B3BasicBlock.h:
(JSC::B3::BasicBlock::predecessor):
(JSC::B3::BasicBlock::predecessors):
(JSC::B3::BasicBlock::containsPredecessor):
- b3/B3BasicBlockUtils.h: Bunch of fixes for blocks being killed.
(JSC::B3::replacePredecessor):
(JSC::B3::resetReachability):
- b3/B3ReduceStrength.cpp: Implement B3 CFG simplification.
- b3/B3ReduceStrength.h:
- b3/air/AirBasicBlock.h:
(JSC::B3::Air::BasicBlock::resize):
(JSC::B3::Air::BasicBlock::insts):
(JSC::B3::Air::BasicBlock::appendInst):
(JSC::B3::Air::BasicBlock::containsPredecessor):
- b3/air/AirGenerate.cpp:
(JSC::B3::Air::generate):
- b3/air/AirInst.cpp:
(JSC::B3::Air::Inst::hasArgEffects):
(JSC::B3::Air::Inst::dump):
- b3/air/AirInst.h:
- b3/air/AirLiveness.h:
(JSC::B3::Air::Liveness::Liveness): Fix for when blocks were killed.
- b3/air/AirOpcode.opcodes:
- b3/air/AirSimplifyCFG.cpp: Added.
(JSC::B3::Air::simplifyCFG):
- b3/air/AirSimplifyCFG.h: Added.
- 3:20 PM Changeset in webkit [192120] by
-
- 3 edits2 adds in trunk
REGRESSION(r182286): Tatechuyoko following ruby is drawn too far to the right
https://bugs.webkit.org/show_bug.cgi?id=150923
Reviewed by Zalan Bujtas.
Source/WebCore:
Ever since r182286, expansion opportunities in justified ruby were moved to their neighboring
elements (thereby forbidding trailing nor leading expansions inside ruby). However, when the
neighboring element is tatechuyoko, we will erroneously honor the expansion opportunity inside
the tatechuyoko, thereby moving it horizontally.
Tatechuyoko should never have expansion opportunities inside it.
Test: fast/text/ruby-justify-tatechuyoko.html
- rendering/RenderBlockLineLayout.cpp:
(WebCore::expansionBehaviorForInlineTextBox):
LayoutTests:
- fast/text/ruby-justify-tatechuyoko-expected.html: Added.
- fast/text/ruby-justify-tatechuyoko.html: Added.
- 12:58 PM Changeset in webkit [192119] by
-
- 2 edits in trunk/LayoutTests
Marking fast/canvas/webgl/oes-texture-half-float-linear.html as flaky on mac
https://bugs.webkit.org/show_bug.cgi?id=150978
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 12:12 PM Changeset in webkit [192118] by
-
- 5 edits in branches/safari-601.1.46-branch/Source
Versioning.
- 12:04 PM Changeset in webkit [192117] by
-
- 2 edits in trunk/LayoutTests
Marking streams/reference-implementation/count-queuing-strategy.html as flaky on Win debug
https://bugs.webkit.org/show_bug.cgi?id=150976
Unreviewed test gardening.
- platform/win/TestExpectations:
- 12:01 PM Changeset in webkit [192116] by
-
- 1 copy in tags/Safari-601.1.46.80
New tag.
- 11:58 AM Changeset in webkit [192115] by
-
- 4 edits in branches/safari-601.1.46-branch/Source/WebKit2
Merged r189753. rdar://problem/23420358
- 11:57 AM Changeset in webkit [192114] by
-
- 5 edits in branches/safari-601.1.46-branch/Source
Versioning.
- 11:54 AM WebKitGTK/2.10.x edited by
- (diff)
- 11:48 AM Changeset in webkit [192113] by
-
- 18 edits3 adds in trunk
Add preliminary (SPI) support for NSTextFinder on WKWebView
https://bugs.webkit.org/show_bug.cgi?id=150907
<rdar://problem/19171624>
Reviewed by Darin Adler.
New API test: WebKit2.FindInPage
- Platform/spi/mac/AppKitSPI.h:
Add some SPI.
- UIProcess/API/APIFindClient.h:
(API::FindClient::didFindString):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageFindClient):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFindString):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/Cocoa/FindClient.h:
- UIProcess/Cocoa/FindClient.mm:
(WebKit::FindClient::didFindString):
Make didFindString return the match rects like didFindStringMatches does.
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::updateFindUIAfterPageScroll):
(WebKit::FindController::findString):
Keep the most recent find match around for incremental find just like we do
for the non-incremental version. This way, getImageForFindMatch and selectFindMatch
will work for incremental find too!
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _ensureTextFinderClient]):
(-[WKWebView findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:]):
(-[WKWebView documentContainerView]):
(-[WKWebView getSelectedText:]):
(-[WKWebView selectFindMatch:completionHandler:]):
Implement NSTextFinder's async client protocol and forward to the new WKTextFinderClient.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
Privately note our conformance to the aformentioned protocol.
- UIProcess/mac/WKTextFinderClient.h: Added.
- UIProcess/mac/WKTextFinderClient.mm: Added.
(WebKit::TextFinderFindClient::TextFinderFindClient):
(-[WKTextFinderMatch initWithClient:view:index:rects:]):
(-[WKTextFinderMatch containingView]):
(-[WKTextFinderMatch textRects]):
(-[WKTextFinderMatch generateTextImage:]):
(-[WKTextFinderMatch index]):
(-[WKTextFinderClient initWithPage:view:]):
(-[WKTextFinderClient willDestroyView:]):
(-[WKTextFinderClient findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:]):
(-[WKTextFinderClient getSelectedText:]):
(-[WKTextFinderClient selectFindMatch:completionHandler:]):
(-[WKTextFinderClient didFindStringMatches:rects:index:]):
(-[WKTextFinderClient didGetImageForMatchResult:index:]):
(-[WKTextFinderClient didFindString:rects:index:]):
(-[WKTextFinderClient didFailToFindString:]):
(-[WKTextFinderClient getImageForMatchResult:completionHandler:]):
- WebKit2.xcodeproj/project.pbxproj:
Add WKTextFinderClient. It installs itself as the FindClient and FindMatchesClient,
so you can only use one mechanism or the other.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm: Added.
(-[FindInPageNavigationDelegate webView:didFinishNavigation:]):
(TEST):
Add an API test.
- WebEditingTester/WK1WebDocumentController.m:
- WebEditingTester/WK2WebDocumentController.m:
(-[WK2WebDocumentController awakeFromNib]):
(-[WK2WebDocumentController contentView]):
Use incremental find, and show the overlay/indicator.
- 11:41 AM Changeset in webkit [192112] by
-
- 5 edits in branches/safari-601.1.46-branch/Source
Versioning.
- 11:29 AM Changeset in webkit [192111] by
-
- 16 edits2 copies2 adds in trunk/Source/WebKit2
[WK2][SpeculativeRevalidation] Save to disk cache relationship between resources
https://bugs.webkit.org/show_bug.cgi?id=150951
<rdar://problem/23092196>
Reviewed by Darin Adler.
This patch is a first step towards speculative revalidation support in
the WebKit network cache. It maps sub-resources to the main resource
that caused them to be requested. We then write this information to the
network cache, as a list of subresource keys for each main resource,
even if the main resource is not cacheable.
To map sub-resources to main resources, we track the loads happening
in each frame and store the key of the main resource for the frame,
as well as the key of each sub-resource later loaded in the frame. We
use a HysteresisActivity to detect when loads settle down in each frame
(no loads happen for a while) and we then write the information to the
disk. If a new main resource is loaded in a frame where we were already
tracking a load, we save the data to disk before tracking the new load,
instead of waiting for the HysteresisActivity to detect the end of the
load.
The feature is currently behind a compile-time flag that is enabled on
Mac and iOS only. It is also behind a runtime flag (NSUserDefaults)
that is disabled by default.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::start):
Pass frameID in addition to the pageID. We need to globally identify
frames (using <pageID, frameID> pair) to be able to track loads in
each frame.
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::initialize):
Only initialize the SpeculativeLoader if the
enableNetworkCacheSpeculativeRevalidation run-time flag is set.
(WebKit::NetworkCache::Cache::retrieve):
Register the load with the SpeculativeLoader.
- NetworkProcess/cache/NetworkCacheKey.h:
(WebKit::NetworkCache::Key::Key):
(WebKit::NetworkCache::Key::isHashTableDeletedValue):
(WebKit::NetworkCache::Key::range):
(WTF::NetworkCacheKeyHash::hash):
(WTF::NetworkCacheKeyHash::equal):
(WTF::HashTraits<WebKit::NetworkCache::Key>::isEmptyValue):
Add needed HashTraits for NetworkCache::Key so it can be used as key in
HashMap / HashSet.
- NetworkProcess/cache/NetworkCacheSpeculativeLoader.cpp: Added.
- NetworkProcess/cache/NetworkCacheSpeculativeLoader.h: Added.
Add new NetworkCacheSpeculativeLoader class that takes care of tracking
loads in each frame to map subresources to main resources and then write
this information to the network disk cache. In the future, this class we
also take care of triggering speculative revalidations, thus the naming.
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
- Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):
- Shared/Network/NetworkProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
Add new NetworkProcess parameter to control at runtime if speculative loading
should be enabled or not. It is disabled by default.
- WebKit2.xcodeproj/project.pbxproj:
Add new files to XCode project.
- config.h:
Add ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION build flag for the new
feature that is enable by default on COCOA.
- 11:18 AM Changeset in webkit [192110] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Search Results tab causes jump to Resources tab on reload
https://bugs.webkit.org/show_bug.cgi?id=150817
Reviewed by Brian Burg.
Remove the "search on reload" behavior from the Search Results tab. It often didn't find everything
on large pages, since it only searched after 500ms of the main resource changing. The bug here
was caused by performSearch selecting the first result, even if it was a background tab. We now
avoid doing unnecessary search work in the background when the Search Results tab isn't visible.
- UserInterface/Views/SearchSidebarPanel.js:
(WebInspector.SearchSidebarPanel): Deleted.
(WebInspector.SearchSidebarPanel.prototype._mainResourceDidChange): Remove children from the
sidebar since performSearch isn't doing it now and ScriptTreeElements were not being removed.
ResourceTreeElements were already being removed by NavigationSidebarPanel's prune behavior.
Removed the call to performSearch and related code.
(WebInspector.SearchSidebarPanel.prototype._mainResourceDidChange.delayedWork): Deleted.
- 10:52 AM Changeset in webkit [192109] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed, remove empty #if block landed by mistake in r192038.
- NetworkProcess/NetworkLoad.cpp:
- 10:18 AM Changeset in webkit [192108] by
-
- 2 edits in trunk/Tools
iOS test results are not visible on the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=150884
Reviewed by Darin Adler.
One more change was needed for the minimal fix.
- TestResultServer/static-dashboards/flakiness_dashboard.js:
- 9:55 AM Changeset in webkit [192107] by
-
- 5 edits in trunk/PerformanceTests
Initialize the graphics benchmark's Kalman filter with estimated 60 FPS
https://bugs.webkit.org/show_bug.cgi?id=150965
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-11-06
Reviewed by Darin Adler.
This should give the benchmark more accurate reading at warmup time. And
hence we can safely reduce the test running time to be 10 seconds.
- Animometer/runner/animometer.html:
Add "defer" back when loading resources/animometer.js since this script
depends on many other scripts and we need to wait till the page is parsed.
Also change the default test interval to be 10 seconds.
- Animometer/runner/resources/graph.js:
(graph): Make the test results curves smoother.
- Animometer/tests/resources/main.js:
(Animator): Initialize the Kalman filter with 60 FPS which should be true
if the test page is empty.
(Animator.prototype.animate):
- Animometer/tests/resources/math.js:
(KalmanEstimator): Fix the initial value of _vecX_est.
_vecX_est[0] = current FPS (= 60FPS when the test page is empty)
_vecX_est[1] = first time derivative of FPS (=0; FPS has been constant).
_vecX_est[2] = second time derivative of FPS (=0; since _vecX_est[1]=0).
(KalmanEstimator.prototype.estimate): Add some comments.
- 8:58 AM Changeset in webkit [192106] by
-
- 4 edits in trunk
Teach Makefile to build LayoutTestRelay when building for iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=150849
Reviewed by Alexey Proskuryakov.
.:
Add support for overriding the user-provided arguments SDKROOT and ARCHS
on a per Makefile basis.
- Makefile.shared:
Tools:
Override the user-specified arguments SDKROOT and ARCHS to use the default SDK
and default ARCHS since LayoutTestRelay is a Mac command line tool.
- LayoutTestRelay/Makefile: Define OVERWRITE_SDKROOT and OVERWRITE_ARCHS.
- 8:47 AM Changeset in webkit [192105] by
-
- 2 edits in trunk/LayoutTests
Marking three sputnik/Conformance tests as flaky timeouts on win debug
https://bugs.webkit.org/show_bug.cgi?id=150973
Unreviewed test gardening.
- platform/win/TestExpectations:
- 8:41 AM Changeset in webkit [192104] by
-
- 2 edits in trunk/LayoutTests
Fixing typo in win TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=150949
Unreviewed test gardening.
- platform/win/TestExpectations:
- 8:25 AM Changeset in webkit [192103] by
-
- 4 edits in trunk
Layout Test accessibility/win/linked-elements.html is crashing on win debug
https://bugs.webkit.org/show_bug.cgi?id=150944
Reviewed by Chris Fleizach.
Source/WebCore:
Be more precise ASSERTing on textUnderElement, only checking that the render
tree is stable before using TextIteraror when in 'IncludeAllChildren' mode.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textUnderElement):
LayoutTests:
Removed accessibility/win/linked-elements.html crashing expectation.
- platform/win/TestExpectations: Removed crashing expectation.
- 8:22 AM WebKitGTK/2.10.x edited by
- (diff)
- 6:51 AM Changeset in webkit [192102] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Use MainThreadNotifier to send notifications to main thread in WebKitWebSourceGStreamer
https://bugs.webkit.org/show_bug.cgi?id=150890
Reviewed by Žan Doberšek.
Instead of the GThreadSafeMainLoopSources.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStop):
(webKitWebSrcChangeState):
(webKitWebSrcNeedData):
(webKitWebSrcEnoughData):
(webKitWebSrcSeek):
(StreamingClient::handleResponseReceived):
(StreamingClient::handleDataReceived):
(StreamingClient::handleNotifyFinished):
(webKitWebSrcFinalize): Deleted.
(webKitWebSrcSetProperty): Deleted.
(webKitWebSrcGetProperty): Deleted.
(webKitWebSrcSetExtraHeader): Deleted.
(webKitWebSrcStart): Deleted.
(webKitWebSrcGetProtocols): Deleted.
(webKitWebSrcGetUri): Deleted.
(webKitWebSrcSetUri): Deleted.
(webKitWebSrcUriHandlerInit): Deleted.
- 6:17 AM Changeset in webkit [192101] by
-
- 5 edits in trunk/Source/WebCore
[GStreamer] Use MainThreadNotifier to send notifications to main thread in TrackPrivateGStreamer
https://bugs.webkit.org/show_bug.cgi?id=150889
Reviewed by Žan Doberšek.
Instead of the GThreadSafeMainLoopSources.
- platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
(WebCore::InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer):
(WebCore::InbandTextTrackPrivateGStreamer::handleSample):
(WebCore::InbandTextTrackPrivateGStreamer::streamChanged):
- platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
- platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
(WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer):
(WebCore::TrackPrivateBaseGStreamer::disconnect):
(WebCore::TrackPrivateBaseGStreamer::activeChangedCallback):
(WebCore::TrackPrivateBaseGStreamer::tagsChangedCallback):
(WebCore::TrackPrivateBaseGStreamer::tagsChanged):
(WebCore::TrackPrivateBaseGStreamer::~TrackPrivateBaseGStreamer): Deleted.
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfActiveChanged): Deleted.
- platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
- 5:07 AM Changeset in webkit [192100] by
-
- 2 edits in trunk/Source/WebCore
Suppress deprecated-declarations warning in WebCore/platform/URL.cpp
https://bugs.webkit.org/show_bug.cgi?id=150803
Reviewed by Alexey Proskuryakov.
- platform/URL.cpp:
(WebCore::appendEncodedHostname):
- 4:56 AM Changeset in webkit [192099] by
-
- 5 edits1 add in trunk/Source/WebCore
[GStreamer] Do not use GThreadSafeMainLoopSource to send notifications to the main thread in MediaPlayerPrivateGStreamer
https://bugs.webkit.org/show_bug.cgi?id=150888
Reviewed by Žan Doberšek.
Analyzing how the main loop sources were used in GST code I've
noticed that in most of the cases they are used to send
notifications to the main thread. The way it works in those cases
is that some state is updated in whatever thread and we notify the
main thread to use the new state. There's no data passed to the
main thread, they are just notifications. I've also noticed that
we are not doing this exactly as expected in several of those
cases. GThreadSafeMainLoopSource cancels the current source when a
new one is scheduled, and that was done this way because previous
code in GST using GSources directly did it that way. But that's
not what we want, if there's a notification pending, since the
state is updated, we can just wait for it to happen instead of
cancelling and scheduling a new one. I've also noticed that in
most of the cases where we schedule notifications to the main
thread, we can be already in the main thread, so we could avoid
the schedule entirely.
We can use RunLoop::dispatch() to send notifications to the main
thread, but there's no way to cancel those tasks. This patch adds
a new helper class MainThreadNotifier that uses an enum of flags to
handle different kind of notifications. It uses
RunLoop::dispatch() to send notifications to the main thread, but
only if there isn't one pending for the given type.
This patch also makes signal callbacks static members to be able
to make the private methods actually private.
- platform/graphics/gstreamer/MainThreadNotifier.h: Added.
(WebCore::MainThreadNotifier::MainThreadNotifier):
(WebCore::MainThreadNotifier::notify):
(WebCore::MainThreadNotifier::cancelPendingNotifications):
(WebCore::MainThreadNotifier::addPendingNotification):
(WebCore::MainThreadNotifier::removePendingNotification):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamPropertiesCallback):
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::videoChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::videoSinkCapsChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::audioChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::textChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::newTextSampleCallback):
(WebCore::MediaPlayerPrivateGStreamer::sourceChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine): Deleted.
(WebCore::initializeGStreamerAndRegisterWebKitElements): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::load): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::canSaveMediaData): Deleted.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::volumeChangedCallback):
(WebCore::MediaPlayerPrivateGStreamerBase::muteChangedCallback):
(WebCore::MediaPlayerPrivateGStreamerBase::repaintCallback):
(WebCore::MediaPlayerPrivateGStreamerBase::drawCallback):
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
(WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement):
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::setPipeline): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::muted): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::droppedFrameCount): Deleted.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
(WebCore::MediaPlayerPrivateGStreamerBase::setVisible): Deleted.
- 3:05 AM Changeset in webkit [192098] by
-
- 3 edits in trunk
Expose HTMLImageElement sizes attribute in IDL
https://bugs.webkit.org/show_bug.cgi?id=150230
Reviewed by Darin Adler.
No new tests, but fixed test expectations for exposed interfaces.
- html/HTMLImageElement.idl: Make sure that
sizesis exposed as an IDL attribute, to ensure proper feature detection of sizes support.
- 3:00 AM Changeset in webkit [192097] by
-
- 2 edits in trunk
Unreviewed, GTK build fix after r192095.
- Source/cmake/FindGTK3.cmake:
- 1:48 AM Changeset in webkit [192096] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Fails to link libwebkit2gtkinjectedbundle.so on OSX
https://bugs.webkit.org/show_bug.cgi?id=144785
Patch by Philip Chimento <philip.chimento@gmail.com> on 2015-11-06
Reviewed by Philippe Normand.
- PlatformGTK.cmake: Add missing WebKit2 library to list of
libraries to link with. Required for OSX build.
- 1:39 AM Changeset in webkit [192095] by
-
- 3 edits in trunk
[GTK] Re-enable Quartz backend on cmake build system
https://bugs.webkit.org/show_bug.cgi?id=144561
Reviewed by Philippe Normand.
- Source/cmake/FindGTK3.cmake: Set GTK3_SUPPORTS_QUARTZ based on
the presence of of gtk+-quartz-3.0 module.
- Source/cmake/OptionsGTK.cmake: Reintroduce the
ENABLE_QUARTZ_TARGET option to the CMake build, for building the
GTK+ Quartz backend on OS X.