⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Nov 9, 2020:

11:42 PM Changeset in webkit [269616] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebCore

Exceptions under PlatformCALayerCocoa::drawLayerContents with DisplayList-backed layers
https://bugs.webkit.org/show_bug.cgi?id=218731

Reviewed by Simon Fraser.

No new tests; all tests will cover this once GPU Process for DOM rendering lands.

  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

(WebCore::PlatformCALayer::drawLayerContents):
Refactor this function to use three state savers, all released by scope instead of explicitly.
This fixes the bug in the title, which was that we would call +restoreGraphicsState on NSGraphicsContext
regardless of whether we have a platform context or not (while we'd only save if we /did/ have one).

  • platform/graphics/ios/FontAntialiasingStateSaver.h:

(WebCore::FontAntialiasingStateSaver::~FontAntialiasingStateSaver):
(WebCore::FontAntialiasingStateSaver::restore): Deleted.
Make FontAntialiasingStateSaver behave like all of the other -StateSavers, performing "restore"
in its destructor.

  • platform/ios/LegacyTileCache.mm:

(WebCore::LegacyTileCache::drawWindowContent):
We don't have to restore explicitly anymore.

8:58 PM Changeset in webkit [269615] by Lauro Moura
  • 2 edits in trunk/WebDriverTests

[WebDriver] Gardening some WPE failures

Unreviewed test gardening.

7:14 PM Changeset in webkit [269614] by Said Abou-Hallawa
  • 134 edits
    1 copy
    1 move in trunk/Source

[GPU Process] Control the life cycle of the platform image by a new class named NativeImage
https://bugs.webkit.org/show_bug.cgi?id=218427

Reviewed by Simon Fraser.

Source/WebCore:

This adds a new level of indirection around NativeImagePtr which is now
renamed PlatformImagePtr. The goal is to control the life cycle of the
PlatfromImagePtr in WebKit regardless if it is retained outside WebKit
or not. In future patches, deleting the NativeImage will be observed by
RemoteResoureCache such that it will be removed from the GPUP cache when
the object is destroyed in WebP.

The new structural hierarchy of the bitmap image is the following:

  • CachedImage (responsible of receiving the encoded image data)
    • BitmapImage (responsible of decoding the image data)
      • NativeImage (represents an image frame and controls the life cycle of PlatformImagePtr in WebKit)
        • PlatformImagePtr (represents a platform image and it is the result of ImageDecoder)
  • Headers.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::nativeImageForCurrentTime):

  • html/HTMLVideoElement.h:
  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::drawImage):

  • page/mac/TextIndicatorWindow.mm:

(-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]):
(createContentCrossfadeAnimation):

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::BitmapImage):
(WebCore::BitmapImage::frameImageAtIndexCacheIfNeeded):
(WebCore::BitmapImage::nativeImage):
(WebCore::BitmapImage::nativeImageForCurrentFrame):
(WebCore::BitmapImage::preTransformedNativeImageForCurrentFrame):
(WebCore::BitmapImage::nativeImageOfSize):
(WebCore::BitmapImage::framesNativeImages):
(WebCore::drawNativeImage):
(WebCore::BitmapImage::draw):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/ConcreteImageBuffer.h:
  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawNativeImage):

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::drawPlatformImage):

  • platform/graphics/GraphicsContextGLImageExtractor.h:
  • platform/graphics/GraphicsContextImpl.h:
  • platform/graphics/Icon.h:
  • platform/graphics/Image.h:

(WebCore::Image::nativeImage):
(WebCore::Image::nativeImageForCurrentFrame):
(WebCore::Image::preTransformedNativeImageForCurrentFrame):
(WebCore::Image::nativeImageOfSize):

  • platform/graphics/ImageBackingStore.h:
  • platform/graphics/ImageBuffer.cpp:

(WebCore::ImageBuffer::sinkIntoNativeImage):

  • platform/graphics/ImageBuffer.h:
  • platform/graphics/ImageBufferBackend.cpp:

(WebCore::ImageBufferBackend::sinkIntoNativeImage):

  • platform/graphics/ImageBufferBackend.h:
  • platform/graphics/ImageDecoder.h:
  • platform/graphics/ImageFrame.cpp:

(WebCore::ImageFrame::clearImage):
(WebCore::ImageFrame::singlePixelSolidColor const):

  • platform/graphics/ImageFrame.h:

(WebCore::ImageFrame::nativeImage const):

  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::ImageSource):
(WebCore::ImageSource::setNativeImage):
(WebCore::ImageSource::cacheMetadataAtIndex):
(WebCore::ImageSource::cachePlatformImageAtIndex):
(WebCore::ImageSource::cachePlatformImageAtIndexAsync):
(WebCore::ImageSource::startAsyncDecodingQueue):
(WebCore::ImageSource::frameAtIndexCacheIfNeeded):
(WebCore::ImageSource::createFrameImageAtIndex):
(WebCore::ImageSource::frameImageAtIndex):
(WebCore::ImageSource::frameImageAtIndexCacheIfNeeded):
(WebCore::ImageSource::cacheNativeImageAtIndex): Deleted.
(WebCore::ImageSource::cacheNativeImageAtIndexAsync): Deleted.

  • platform/graphics/ImageSource.h:

(WebCore::ImageSource::create):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::nativeImageForCurrentTime):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::nativeImageForCurrentTime):

  • platform/graphics/NativeImage.cpp: Copied from Source/WebCore/platform/graphics/NativeImagePtr.h.

(WebCore::NativeImage::create):
(WebCore::NativeImage::NativeImage):

  • platform/graphics/NativeImage.h:

(WebCore::NativeImage::platformImage const):

  • platform/graphics/PlatformImage.h: Renamed from Source/WebCore/platform/graphics/NativeImagePtr.h.
  • platform/graphics/VideoLayerManager.h:
  • platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h:
  • platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:

(WebCore::ImageDecoderAVFObjC::createFrameImageAtIndex):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoFullscreenInlineImage):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastImage):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::nativeImageForCurrentTime):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::nativeImageForCurrentTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateLastImage):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paintCurrentFrameInContext):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setVideoFullscreenLayer):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setVideoFullscreenLayer):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateCurrentFrameImage):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::paintCurrentFrameInContext):

  • platform/graphics/avfoundation/objc/VideoLayerManagerObjC.h:
  • platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm:

(WebCore::VideoLayerManagerObjC::setVideoFullscreenLayer):
(WebCore::VideoLayerManagerObjC::updateVideoFullscreenInlineImage):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateContentsImage):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/cairo/CairoOperations.cpp:

(WebCore::Cairo::drawShadowLayerBuffer):
(WebCore::Cairo::drawShadowImage):
(WebCore::Cairo::fillShadowBuffer):
(WebCore::Cairo::drawPlatformImage):
(WebCore::Cairo::drawNativeImage): Deleted.

  • platform/graphics/cairo/CairoOperations.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::drawPlatformImage):
(WebCore::GraphicsContext::clipToImageBuffer):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::platformDrawNativeImage): Deleted.

  • platform/graphics/cairo/GraphicsContextGLCairo.cpp:

(WebCore::GraphicsContextGLImageExtractor::extractImage):

  • platform/graphics/cairo/GraphicsContextImplCairo.cpp:

(WebCore::GraphicsContextImplCairo::drawImageBuffer):
(WebCore::GraphicsContextImplCairo::drawNativeImage):
(WebCore::GraphicsContextImplCairo::drawPattern):
(WebCore::GraphicsContextImplCairo::clipToImageBuffer):

  • platform/graphics/cairo/GraphicsContextImplCairo.h:
  • platform/graphics/cairo/ImageBufferCairoBackend.cpp:

(WebCore::ImageBufferCairoBackend::draw):
(WebCore::ImageBufferCairoBackend::drawPattern):

  • platform/graphics/cairo/ImageBufferCairoSurfaceBackend.cpp:

(WebCore::ImageBufferCairoSurfaceBackend::copyNativeImage const):
(WebCore::ImageBufferCairoSurfaceBackend::cairoSurfaceCoerceToImage const):
(WebCore::ImageBufferCairoSurfaceBackend::toBGRAData const):

  • platform/graphics/cairo/ImageBufferCairoSurfaceBackend.h:
  • platform/graphics/cairo/NativeImageCairo.cpp:

(WebCore::NativeImage::size const):
(WebCore::NativeImage::hasAlpha const):
(WebCore::NativeImage::singlePixelSolidColor const):
(WebCore::NativeImage::clearSubimages):
(WebCore::nativeImageSize): Deleted.
(WebCore::nativeImageHasAlpha): Deleted.
(WebCore::nativeImageSinglePixelSolidColor): Deleted.
(WebCore::drawNativeImage): Deleted.
(WebCore::clearNativeImageSubimages): Deleted.

  • platform/graphics/cairo/PatternCairo.cpp:

(WebCore::Pattern::createPlatformPattern const):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::drawPlatformImage):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::clipToImageBuffer):
(WebCore::GraphicsContext::platformDrawNativeImage): Deleted.

  • platform/graphics/cg/GraphicsContextGLCG.cpp:

(WebCore::GraphicsContextGLImageExtractor::extractImage):
(WebCore::GraphicsContextGLOpenGL::paintToCanvas):

  • platform/graphics/cg/ImageBufferCGBackend.cpp:

(WebCore::createBitmapImageAfterScalingIfNeeded):
(WebCore::ImageBufferCGBackend::copyImage const):
(WebCore::ImageBufferCGBackend::draw):
(WebCore::ImageBufferCGBackend::toCFData const):

  • platform/graphics/cg/ImageBufferCGBitmapBackend.cpp:

(WebCore::ImageBufferCGBitmapBackend::copyNativeImage const):

  • platform/graphics/cg/ImageBufferCGBitmapBackend.h:
  • platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:

(WebCore::ImageBufferIOSurfaceBackend::copyNativeImage const):
(WebCore::ImageBufferIOSurfaceBackend::sinkIntoNativeImage):
(WebCore::ImageBufferIOSurfaceBackend::drawConsuming):

  • platform/graphics/cg/ImageBufferIOSurfaceBackend.h:
  • platform/graphics/cg/ImageDecoderCG.cpp:

(WebCore::ImageDecoderCG::createFrameImageAtIndex):

  • platform/graphics/cg/ImageDecoderCG.h:
  • platform/graphics/cg/NativeImageCG.cpp:

(WebCore::NativeImage::size const):
(WebCore::NativeImage::hasAlpha const):
(WebCore::NativeImage::singlePixelSolidColor const):
(WebCore::NativeImage::clearSubimages):
(WebCore::nativeImageSize): Deleted.
(WebCore::nativeImageHasAlpha): Deleted.
(WebCore::nativeImageSinglePixelSolidColor): Deleted.
(WebCore::clearNativeImageSubimages): Deleted.

  • platform/graphics/cg/PatternCG.cpp:

(WebCore::Pattern::createPlatformPattern const):

  • platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:

(WebCore::FilterEffectRendererCoreImage::imageForSourceGraphic):

  • platform/graphics/displaylists/DisplayListItems.cpp:

(WebCore::DisplayList::DrawNativeImage::DrawNativeImage):

  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::DrawNativeImage::decode):

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::drawNativeImage):

  • platform/graphics/displaylists/DisplayListRecorder.h:
  • platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:

(WebCore::ImageDecoderGStreamer::createFrameImageAtIndex):

  • platform/graphics/gstreamer/ImageDecoderGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::nativeImageForCurrentTime):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gtk/ImageGtk.cpp:

(WebCore::BitmapImage::getGdkPixbuf):
(WebCore::BitmapImage::gdkTexture):

  • platform/graphics/ios/IconIOS.mm:

(WebCore::Icon::Icon):
(WebCore::Icon::createIconForImage):
(WebCore::Icon::paint):

  • platform/graphics/mac/ImageMac.mm:

(WebCore::BitmapImage::tiffRepresentation):
(WebCore::BitmapImage::snapshotNSImage):

  • platform/graphics/nicosia/NicosiaImageBufferPipe.cpp:

(Nicosia::NicosiaImageBufferPipeSource::handle):

  • platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:

(Nicosia::CairoOperationRecorder::drawNativeImage):
(Nicosia::CairoOperationRecorder::drawPattern):
(Nicosia::CairoOperationRecorder::clipToImageBuffer):

  • platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
  • platform/graphics/texmap/BitmapTextureGL.cpp:

(WebCore::BitmapTextureGL::updateContents):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::setContentsToImage):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setContentsToImage):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
  • platform/graphics/win/Direct2DOperations.cpp:

(WebCore::Direct2D::drawPlatformImage):
(WebCore::Direct2D::drawNativeImage): Deleted.

  • platform/graphics/win/Direct2DOperations.h:
  • platform/graphics/win/GraphicsContextDirect2D.cpp:

(WebCore::GraphicsContext::drawPlatformImage):
(WebCore::GraphicsContext::platformDrawNativeImage): Deleted.

  • platform/graphics/win/GraphicsContextImplDirect2D.cpp:

(WebCore::GraphicsContextImplDirect2D::drawNativeImage):

  • platform/graphics/win/GraphicsContextImplDirect2D.h:
  • platform/graphics/win/ImageBufferDirect2DBackend.cpp:

(WebCore::ImageBufferDirect2DBackend::create):
(WebCore::ImageBufferDirect2DBackend::ImageBufferDirect2DBackend):
(WebCore::ImageBufferDirect2DBackend::copyNativeImage const):
(WebCore::createCroppedImageIfNecessary):
(WebCore::ImageBufferDirect2DBackend::copyImage const):
(WebCore::ImageBufferDirect2DBackend::sinkIntoImage):
(WebCore::ImageBufferDirect2DBackend::compatibleBitmap):

  • platform/graphics/win/ImageBufferDirect2DBackend.h:
  • platform/graphics/win/ImageCGWin.cpp:

(WebCore::BitmapImage::create):
(WebCore::BitmapImage::drawFrameMatchingSourceSize):

  • platform/graphics/win/ImageCairoWin.cpp:

(WebCore::BitmapImage::drawFrameMatchingSourceSize):

  • platform/graphics/win/ImageDecoderDirect2D.cpp:

(WebCore::ImageDecoderDirect2D::createFrameImageAtIndex):

  • platform/graphics/win/ImageDecoderDirect2D.h:
  • platform/graphics/win/NativeImageDirect2D.cpp:

(WebCore::NativeImage::size const):
(WebCore::NativeImage::hasAlpha const):
(WebCore::NativeImage::singlePixelSolidColor const):
(WebCore::NativeImage::clearSubimages):
(WebCore::nativeImageSize): Deleted.
(WebCore::nativeImageHasAlpha): Deleted.
(WebCore::nativeImageSinglePixelSolidColor): Deleted.
(WebCore::drawNativeImage): Deleted.
(WebCore::clearNativeImageSubimages): Deleted.

  • platform/gtk/CursorGtk.cpp:

(WebCore::createCustomCursor):

  • platform/gtk/DragImageGtk.cpp:

(WebCore::createDragImageFromImage):

  • platform/image-decoders/ScalableImageDecoder.cpp:

(WebCore::ScalableImageDecoder::createFrameImageAtIndex):

  • platform/image-decoders/ScalableImageDecoder.h:
  • platform/image-decoders/cairo/ImageBackingStoreCairo.cpp:

(WebCore::ImageBackingStore::image const):

  • platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp:

(WebCore::DisplayCaptureSourceCocoa::emitFrame):

  • platform/mediastream/mac/DisplayCaptureSourceCocoa.h:
  • platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:

(WebCore::MockRealtimeVideoSourceMac::updateSampleBuffer):

  • platform/win/DragImageCGWin.cpp:

(WebCore::createDragImageFromImage):

  • platform/win/DragImageCairoWin.cpp:

(WebCore::createDragImageFromImage):

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintSystemPreviewBadge):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::nativeImageForCurrentFrame):
(WebCore::SVGImage::nativeImage):

  • svg/graphics/SVGImage.h:
  • svg/graphics/SVGImageForContainer.cpp:

(WebCore::SVGImageForContainer::nativeImageForCurrentFrame):

  • svg/graphics/SVGImageForContainer.h:

Source/WebKit:

  • Scripts/webkit/messages.py:
  • Shared/API/c/cg/WKImageCG.cpp:

(WKImageCreateFromCGImage):

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<Ref<NativeImage>>::encode):
(IPC::ArgumentCoder<Ref<NativeImage>>::decode):
(IPC::encodeNativeImage): Deleted.
(IPC::decodeNativeImage): Deleted.
(IPC::encodeOptionalNativeImage): Deleted.
(IPC::decodeOptionalNativeImage): Deleted.
(IPC::ArgumentCoder<NativeImagePtr>::encode): Deleted.
(IPC::ArgumentCoder<NativeImagePtr>::decode): Deleted.

  • Shared/WebCoreArgumentCoders.h:
  • Shared/cg/ShareableBitmapCG.cpp:

(WebKit::ShareableBitmap::createImage):

  • Shared/win/ShareableBitmapDirect2D.cpp:

(WebKit::ShareableBitmap::paint):

  • UIProcess/API/glib/IconDatabase.cpp:

(WebKit::IconDatabase::loadIconForPageURL):
(WebKit::IconDatabase::setIconForPageURL):

  • UIProcess/API/glib/IconDatabase.h:
  • UIProcess/ios/DragDropInteractionState.mm:

(WebKit::uiImageForImage):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _deliverDelayedDropPreviewIfPossible:]):
(uiImageForImage):
(-[WKContentView _handleDropByInsertingImagePlaceholders:session:]):
(-[WKContentView _presentationSnapshotForPreviewItemController:]):

  • WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:

(WebKit::ImageBufferShareableBitmapBackend::copyNativeImage const):

  • WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::nativeImageForCurrentTime):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::isAlmostSolidColor):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didChooseFilesForOpenPanelWithDisplayStringAndIcon):

Source/WebKitLegacy/mac:

  • DOM/DOM.mm:

(-[DOMNode getPreviewSnapshotImage:andRects:]):

  • Misc/WebCache.mm:

(+[WebCache imageForURL:]):

  • WebView/WebView.mm:

(-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]):

5:25 PM Changeset in webkit [269613] by Alan Coon
  • 8 edits in branches/safari-610.3.7.1-branch/Source

Versioning.

WebKit-7610.3.7.1.3

4:29 PM Changeset in webkit [269612] by Chris Dumez
  • 70 edits
    78 deletes in trunk

Unexpose obsolete HTMLAppletElement interface
https://bugs.webkit.org/show_bug.cgi?id=218677

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that more checks are passing.

  • web-platform-tests/dom/nodes/getElementsByClassName-30-expected.txt:
  • web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-03-expected.txt:
  • web-platform-tests/html/dom/historical-expected.txt:
  • web-platform-tests/html/semantics/interfaces-expected.txt:

Source/WebCore:

Drop support for HTMLAppletElement. This feature is obsolete and has been removed from
the HTML specification. The <applet> element was removed in Gecko 56 and Chrome 47
already.

No new tests, rebaselined existing tests.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Headers.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSPluginElementFunctions.cpp:
  • bindings/js/JSPluginElementFunctions.h:
  • html/CachedHTMLCollection.h:

(WebCore::nameShouldBeVisibleInDocumentAll):

  • html/GenericCachedHTMLCollection.cpp:

(WebCore::GenericCachedHTMLCollection<traversalType>::elementMatches const):

  • html/HTMLAppletElement.cpp: Removed.
  • html/HTMLAppletElement.h: Removed.
  • html/HTMLAppletElement.idl: Removed.
  • html/HTMLNameCollection.cpp:

(WebCore::WindowNameCollection::elementMatchesIfNameAttributeMatch):
(WebCore::DocumentNameCollection::elementMatchesIfIdAttributeMatch):
(WebCore::DocumentNameCollection::elementMatchesIfNameAttributeMatch):

  • html/HTMLPlugInImageElement.h:
  • html/HTMLTagNames.in:
  • loader/EmptyClients.cpp:
  • loader/EmptyFrameLoaderClient.h:
  • loader/FrameLoaderClient.h:
  • loader/SubframeLoader.cpp:
  • loader/SubframeLoader.h:
  • rendering/RenderEmbeddedObject.cpp:
  • rendering/RenderEmbeddedObject.h:

Source/WebKit:

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElement.cpp:

(webkit_dom_html_applet_element_dispatch_event):
(webkit_dom_html_applet_element_add_event_listener):
(webkit_dom_html_applet_element_remove_event_listener):
(webkit_dom_html_applet_element_get_align):
(webkit_dom_html_applet_element_set_align):
(webkit_dom_html_applet_element_get_alt):
(webkit_dom_html_applet_element_set_alt):
(webkit_dom_html_applet_element_get_archive):
(webkit_dom_html_applet_element_set_archive):
(webkit_dom_html_applet_element_get_code):
(webkit_dom_html_applet_element_set_code):
(webkit_dom_html_applet_element_get_code_base):
(webkit_dom_html_applet_element_set_code_base):
(webkit_dom_html_applet_element_get_height):
(webkit_dom_html_applet_element_set_height):
(webkit_dom_html_applet_element_get_hspace):
(webkit_dom_html_applet_element_set_hspace):
(webkit_dom_html_applet_element_get_name):
(webkit_dom_html_applet_element_set_name):
(webkit_dom_html_applet_element_get_object):
(webkit_dom_html_applet_element_set_object):
(webkit_dom_html_applet_element_get_vspace):
(webkit_dom_html_applet_element_set_vspace):
(webkit_dom_html_applet_element_get_width):
(webkit_dom_html_applet_element_set_width):

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPrivate.cpp:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKitLegacy/mac:

  • DOM/DOMHTMLAppletElement.mm:

(-[DOMHTMLAppletElement align]):
(-[DOMHTMLAppletElement setAlign:]):
(-[DOMHTMLAppletElement alt]):
(-[DOMHTMLAppletElement setAlt:]):
(-[DOMHTMLAppletElement archive]):
(-[DOMHTMLAppletElement setArchive:]):
(-[DOMHTMLAppletElement code]):
(-[DOMHTMLAppletElement setCode:]):
(-[DOMHTMLAppletElement codeBase]):
(-[DOMHTMLAppletElement setCodeBase:]):
(-[DOMHTMLAppletElement height]):
(-[DOMHTMLAppletElement setHeight:]):
(-[DOMHTMLAppletElement hspace]):
(-[DOMHTMLAppletElement setHspace:]):
(-[DOMHTMLAppletElement name]):
(-[DOMHTMLAppletElement setName:]):
(-[DOMHTMLAppletElement object]):
(-[DOMHTMLAppletElement setObject:]):
(-[DOMHTMLAppletElement vspace]):
(-[DOMHTMLAppletElement setVspace:]):
(-[DOMHTMLAppletElement width]):
(-[DOMHTMLAppletElement setWidth:]):

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::redirectDataToPlugin):

Source/WebKitLegacy/win:

  • WebCoreSupport/WebFrameLoaderClient.cpp:
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebFrame.cpp:

LayoutTests:

  • dom/html/level2/html/HTMLAppletElement01-expected.txt: Removed.
  • dom/html/level2/html/HTMLAppletElement01.html: Removed.
  • dom/html/level2/html/HTMLAppletElement01.js: Removed.
  • dom/html/level2/html/HTMLAppletElement02-expected.txt: Removed.
  • dom/html/level2/html/HTMLAppletElement02.html: Removed.
  • dom/html/level2/html/HTMLAppletElement02.js: Removed.
  • dom/html/level2/html/HTMLAppletElement03-expected.txt: Removed.
  • dom/html/level2/html/HTMLAppletElement03.html: Removed.
  • dom/html/level2/html/HTMLAppletElement03.js: Removed.
  • dom/html/level2/html/HTMLAppletElement04-expected.txt: Removed.
  • dom/html/level2/html/HTMLAppletElement04.html: Removed.
  • dom/html/level2/html/HTMLAppletElement04.js: Removed.
  • dom/html/level2/html/HTMLAppletElement06-expected.txt: Removed.
  • dom/html/level2/html/HTMLAppletElement06.html: Removed.
  • dom/html/level2/html/HTMLAppletElement06.js: Removed.
  • dom/html/level2/html/HTMLAppletElement07-expected.txt: Removed.
  • dom/html/level2/html/HTMLAppletElement07.html: Removed.
  • dom/html/level2/html/HTMLAppletElement07.js: Removed.
  • dom/html/level2/html/HTMLAppletElement08-expected.txt: Removed.
  • dom/html/level2/html/HTMLAppletElement08.html: Removed.
  • dom/html/level2/html/HTMLAppletElement08.js: Removed.
  • dom/html/level2/html/HTMLAppletElement09-expected.txt: Removed.
  • dom/html/level2/html/HTMLAppletElement09.html: Removed.
  • dom/html/level2/html/HTMLAppletElement09.js: Removed.
  • dom/html/level2/html/HTMLAppletElement10-expected.txt: Removed.
  • dom/html/level2/html/HTMLAppletElement10.html: Removed.
  • dom/html/level2/html/HTMLAppletElement10.js: Removed.
  • dom/html/level2/html/HTMLDocument08.html: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement01-expected.txt: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement01.js: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement01.xhtml: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement02-expected.txt: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement02.js: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement02.xhtml: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement03-expected.txt: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement03.js: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement03.xhtml: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement04-expected.txt: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement04.js: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement04.xhtml: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement06-expected.txt: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement06.js: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement06.xhtml: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement07-expected.txt: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement07.js: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement07.xhtml: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement08-expected.txt: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement08.js: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement08.xhtml: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement09-expected.txt: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement09.js: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement09.xhtml: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement10-expected.txt: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement10.js: Removed.
  • dom/xhtml/level2/html/HTMLAppletElement10.xhtml: Removed.
  • dom/xhtml/level2/html/HTMLDocument08.xhtml: Removed.

Drop outdated tests.

  • fast/dom/HTMLDocument/document-special-properties-expected.txt:
  • fast/dom/Window/element-constructors-on-window-expected.txt:
  • fast/dom/Window/get-set-properties-expected.txt:
  • fast/dom/Window/get-set-properties.html:
  • fast/dom/Window/resources/window-properties.js:
  • fast/dom/Window/window-lookup-precedence-expected.txt:
  • fast/dom/Window/window-special-properties-expected.txt:
  • fast/dom/document-all-expected.txt:
  • fast/dom/document-all.html:
  • fast/dom/dom-constructors-expected.txt:
  • fast/dom/dom-constructors.html:
  • fast/dom/element-attribute-js-null-expected.txt:
  • fast/dom/element-attribute-js-null.html:
  • fast/dom/html-collections-named-getter-expected.txt:
  • fast/dom/html-collections-named-getter.html:
  • fast/dom/htmlcollection-non-html-expected.txt:
  • fast/dom/htmlcollection-non-html.html:
  • fast/dom/plugin-attributes-enumeration-expected.txt:
  • fast/dom/wrapper-classes-expected.txt:
  • fast/dom/wrapper-classes.html:
  • fast/frames/sandboxed-iframe-plugins-expected.txt:
  • fast/frames/sandboxed-iframe-plugins.html:
  • fast/text/text-combine-crash-expected.txt:
  • http/tests/security/cross-frame-access-put-expected.txt:
  • platform/mac-wk2/fast/dom/Window/window-lookup-precedence-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt:

Update / rebaseline existing tests to reflect behavior change.

  • platform/wk2/TestExpectations:

Drop outdated tests.

3:49 PM Changeset in webkit [269611] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] Do not print master environment variables in build steps
https://bugs.webkit.org/show_bug.cgi?id=218711

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/steps.py:

(TransferToS3.init): Set logEnviron to False for newer buildbot.
(ExtractTestResults.init): Ditto.

3:48 PM Changeset in webkit [269610] by Peng Liu
  • 2 edits in trunk/Source/WebKit

REGRESSION (r269557): ASSERTION FAILED: Completion handler should always be called under WebCore::HTMLMediaElement::exitFullscreen
https://bugs.webkit.org/show_bug.cgi?id=218722

Reviewed by Eric Carlson.

No new tests, covered by an existing test that is crashing on the bots.

  • WebProcess/cocoa/VideoFullscreenManager.mm:

(WebKit::VideoFullscreenManager::exitVideoFullscreenForVideoElement):

3:47 PM Changeset in webkit [269609] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Null dereference in CompositeEditCommand::splitTreeToNode() due to not checking for top of DOM tree
https://bugs.webkit.org/show_bug.cgi?id=218215

Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2020-11-09
Reviewed by Ryosuke Niwa.

Source/WebCore:

Add a check for a non-existent parent node when splitting a tree, and fix up
a caller to not pass a node without a parent node.

Test: editing/inserting/insert-list-in-iframe-in-list.html

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::moveParagraphs):

  • editing/InsertListCommand.cpp:

(WebCore::InsertListCommand::unlistifyParagraph):

LayoutTests:

Add layout test that catches crash during insertion of a list inside an iframe
(that itself is inside of a list).

  • editing/inserting/insert-list-in-iframe-in-list-expected.txt: Added.
  • editing/inserting/insert-list-in-iframe-in-list.html: Added.
3:40 PM Changeset in webkit [269608] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[JSC] Enable bytecode cache testing in stress tests for Linux
https://bugs.webkit.org/show_bug.cgi?id=218072

Patch by Xan López <Xan Lopez> on 2020-11-09
Reviewed by Yusuke Suzuki.

We only need to tweak how we define the temporary dir for the
bytecode cache in order for stress tests to support bytecode cache
testing on Linux.

This is skipped on Linux/MIPS for now, since the bots are already
slow enough and we have one blocker bug with incorrect parameter
quoting on some tests. See bug #218703.

  • Scripts/jsc-stress-test-helpers/bytecode-cache-test-helper.sh:

receive the temporary dir template as an argument. Also tweak the
script a bit so that it does not use arrays, that way it will work
in any POSIX shell.

  • Scripts/run-jsc-stress-tests: pass a different temporary dir

template for Darwin and Linux, since mktemp works differently
there.

3:27 PM Changeset in webkit [269607] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mac ] media/video-buffering-allowed.html is flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=217621

Unreviewed test gardening.

  • platform/mac/TestExpectationsRosetta:
3:11 PM Changeset in webkit [269606] by Wenson Hsieh
  • 10 edits in trunk/Source

Rename ImageBuffer::flushDisplayList to ImageBuffer::submitDisplayList
https://bugs.webkit.org/show_bug.cgi?id=218720

Reviewed by Tim Horton.

Source/WebCore:

Rename flushDisplayList to submitDisplayList, to better capture the fact that it's only responsible for
applying the contents of the given display list rather than performing a context flush, or applying and clearing
out the contents of the given display list.

No change in behavior.

  • platform/graphics/ImageBuffer.h:

(WebCore::ImageBuffer::submitDisplayList):
(WebCore::ImageBuffer::flushDisplayList): Deleted.

Source/WebKit:

See Source/WebCore/ChangeLog for more details.

  • GPUProcess/graphics/RemoteImageBuffer.h:
  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::applyDisplayList):
(WebKit::RemoteRenderingBackend::submitDisplayList):
(WebKit::RemoteRenderingBackend::flushDisplayList): Deleted.

Additionally rename flushDisplayList on RemoteRenderingBackend, since this IPC message doesn't actually
perform a context flush.

  • GPUProcess/graphics/RemoteRenderingBackend.h:
  • GPUProcess/graphics/RemoteRenderingBackend.messages.in:
  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::submitDisplayList):
(WebKit::RemoteRenderingBackendProxy::flushDisplayList): Deleted.

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
2:54 PM Changeset in webkit [269605] by Alan Bujtas
  • 39 edits
    1 add
    1 delete in trunk

Unreviewed, reverting r269603.

Needs Safari patch

Reverted changeset:

"Show legacy line layout visual coverage instead of "simple
line" layout."
https://bugs.webkit.org/show_bug.cgi?id=218695
https://trac.webkit.org/changeset/269603

2:49 PM Changeset in webkit [269604] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[Mac] inspector/debugger/tail-deleted-frames/tail-deleted-frames-intermediate-frames.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=218725

Unreviewed test gardening.

  • platform/mac/TestExpectationsRosetta:
2:28 PM Changeset in webkit [269603] by Alan Bujtas
  • 39 edits
    1 copy
    1 delete in trunk

Show legacy line layout visual coverage instead of "simple line" layout.
https://bugs.webkit.org/show_bug.cgi?id=218695

Reviewed by Antti Koivisto.

Source/WebCore:

Paint legacy line layout content with the debug shadow instead of the modern one (and use red instead of blue).

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::paint):
(WebCore::LayoutIntegration::LineLayout::debugTextShadow): Deleted.

  • layout/integration/LayoutIntegrationLineLayout.h:
  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintMarkedTextForeground):
(WebCore::InlineTextBox::debugTextShadow):

  • rendering/InlineTextBox.h:

Source/WebKit:

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetLegacyLineLayoutVisualCoverageEnabled):
(WKPreferencesGetLegacyLineLayoutVisualCoverageEnabled):
(WKPreferencesSetSimpleLineLayoutDebugBordersEnabled): Deleted.
(WKPreferencesGetSimpleLineLayoutDebugBordersEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _legacyLineLayoutVisualCoverageEnabled]):
(-[WKPreferences _setLegacyLineLayoutVisualCoverageEnabled:]):
(-[WKPreferences _simpleLineLayoutDebugBordersEnabled]): Deleted.
(-[WKPreferences _setSimpleLineLayoutDebugBordersEnabled:]): Deleted.

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Source/WebKitLegacy/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(-[WebPreferences legacyLineLayoutVisualCoverageEnabled]):
(-[WebPreferences setLegacyLineLayoutVisualCoverageEnabled:]):
(-[WebPreferences simpleLineLayoutDebugBordersEnabled]): Deleted.
(-[WebPreferences setSimpleLineLayoutDebugBordersEnabled:]): Deleted.

  • WebView/WebPreferencesPrivate.h:

Source/WTF:

  • Scripts/Preferences/WebPreferencesDebug.yaml:

Tools:

  • MiniBrowser/mac/SettingsController.h:
  • MiniBrowser/mac/SettingsController.m:

(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleLegacyLineLayoutVisualCoverageEnabled:]):
(-[SettingsController legacyLineLayoutVisualCoverageEnabled]):
(-[SettingsController toggleSimpleLineLayoutDebugBordersEnabled:]): Deleted.
(-[SettingsController simpleLineLayoutDebugBordersEnabled]): Deleted.

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController didChangeSettings]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController didChangeSettings]):

LayoutTests:

  • fast/inline/simple-line-layout-16bit-content-expected-mismatch.html: Removed.
  • fast/inline/simple-line-layout-16bit-content.html:
  • fast/text/simple-line-layout-do-not-support-unicode-range-expected.html:
  • fast/text/simple-line-layout-do-not-support-unicode-range.html:
  • fast/text/simple-line-layout-line-box-contain-glyphs-expected.html:
  • fast/text/simple-line-layout-line-box-contain-glyphs.html:
  • fast/text/simple-line-layout-no-surrogate-pairs-expected.html:
  • fast/text/simple-line-layout-no-surrogate-pairs.html:
  • fast/text/simple-line-layout-simple-text-but-complex-font-path-expected.html:
  • fast/text/simple-line-layout-simple-text-but-complex-font-path.html:
  • fast/text/simple-line-layout-with-text-underline-position-expected.html:
  • fast/text/simple-line-layout-with-text-underline-position.html:
  • fast/text/simple-lines-float-expected.html:
  • fast/text/simple-lines-float.html:
  • fast/text/simple-lines-hover-expected.html:
  • fast/text/simple-lines-hover.html:
  • fast/text/simple-lines-multiple-renderers-expected.html:
  • fast/text/simple-lines-multiple-renderers.html:
2:27 PM Changeset in webkit [269602] by Diego Pino Garcia
  • 2 edits in trunk/Tools

[webkitpy] When platform is GTK or WPE, make lint-test-expectations lint GLIB too
https://bugs.webkit.org/show_bug.cgi?id=218691

Reviewed by Carlos Alberto Lopez Perez.

In the test expectations hierarchy, both GTK and WPE share a common
root, GLIB. It's not possible to lint GLIB test expectations as it's
not a platform with a builder associated. Thus, make lint-test-expectations
lint GLIB test expectations when linting GLIB or WPE.

  • Scripts/webkitpy/layout_tests/lint_test_expectations.py:

(lint):

1:54 PM Changeset in webkit [269601] by Simon Fraser
  • 8 edits in trunk/Source/WebCore

[LFC Display] Implement background bleed avoidance, and border-radius clipping of backgrounds
https://bugs.webkit.org/show_bug.cgi?id=218713

Reviewed by Zalan Bujtas.

Make BoxDecorationPainter into a class so it can hold references to the box, rounded rect
etc, and settle on a policy of passing PaintingContext as an argument to all the painting
functions.

Add code to compute the BackgroundBleedAvoidance policy, and implement the various policies
following rendering code.

  • display/css/DisplayBoxDecorationData.cpp:

(WebCore::Display::BorderEdge::obscuresBackgroundEdge const):
(WebCore::Display::BoxDecorationData::hasBorder const):
(WebCore::Display::BoxDecorationData::hasBorderRadius const):
(WebCore::Display::BoxDecorationData::borderObscuresBackground const):
(WebCore::Display::BoxDecorationData::borderObscuresBackgroundEdge const):

  • display/css/DisplayBoxDecorationData.h:

(WebCore::Display::borderWidths):

  • display/css/DisplayBoxDecorationPainter.cpp:

(WebCore::Display::BorderPainter::BorderPainter):
(WebCore::Display::roundedRectWithIncludedRadii):
(WebCore::Display::roundedInsetBorderForRect):
(WebCore::Display::BorderPainter::drawBoxSideFromPath const):
(WebCore::Display::BorderPainter::clipBorderSidePolygon const):
(WebCore::Display::BorderPainter::drawLineForBoxSide const):
(WebCore::Display::BorderPainter::paintOneBorderSide const):
(WebCore::Display::BorderPainter::paintBorderSides const):
(WebCore::Display::BorderPainter::paintTranslucentBorderSides const):
(WebCore::Display::shrinkRectByOneDevicePixel):
(WebCore::Display::BorderPainter::borderInnerRectAdjustedForBleedAvoidance const):
(WebCore::Display::BorderPainter::paintBorders const):
(WebCore::Display::BoxDecorationPainter::paintBorders const):
(WebCore::Display::BoxDecorationPainter::paintFillLayer const):
(WebCore::Display::BoxDecorationPainter::BoxDecorationPainter):
(WebCore::Display::BoxDecorationPainter::computeBorderRect):
(WebCore::Display::BoxDecorationPainter::paintBackgroundImages const):
(WebCore::Display::BoxDecorationPainter::backgroundRoundedRectAdjustedForBleedAvoidance const):
(WebCore::Display::BoxDecorationPainter::paintBackground const):
(WebCore::Display::BoxDecorationPainter::determineBackgroundBleedAvoidance):
(WebCore::Display::BoxDecorationPainter::paintBackgroundAndBorders const):
(): Deleted.
(WebCore::Display::BorderPainter::roundedBorderForRect const): Deleted.
(WebCore::Display::BorderPainter::roundedInsetBorderForRect const): Deleted.
(WebCore::Display::BoxDecorationPainter::paintBorders): Deleted.
(WebCore::Display::paintFillLayer): Deleted.
(WebCore::Display::BoxDecorationPainter::paintBackgroundImages): Deleted.
(WebCore::Display::BoxDecorationPainter::paintBackground): Deleted.
(WebCore::Display::BoxDecorationPainter::paintBackgroundAndBorders): Deleted.

  • display/css/DisplayBoxDecorationPainter.h:

(WebCore::Display::BoxDecorationPainter::borderRoundedRect const):
(WebCore::Display::BoxDecorationPainter::includeLeftEdge const):
(WebCore::Display::BoxDecorationPainter::includeRightEdge const):

  • display/css/DisplayBoxPainter.cpp:

(WebCore::Display::BoxPainter::paintBoxDecorations):

  • display/css/DisplayStyle.cpp:

(WebCore::Display::Style::backgroundHasOpaqueTopLayer const):

  • display/css/DisplayStyle.h:
1:41 PM Changeset in webkit [269600] by Alan Bujtas
  • 62 edits in trunk

[LFC][Integration] Enable inline image support
https://bugs.webkit.org/show_bug.cgi?id=217874

Source/WebCore:

Reviewed by Antti Koivisto.

  • layout/integration/LayoutIntegrationCoverage.cpp:

LayoutTests:

Combination of different issues:

  1. Do not retain the whitespace (new line) after the replaced content.
  2. Do not treat images+text as unbreakable content (neither FF nor Chrome does)
  3. Rounding differences.

Reviewed by Antti Koivisto.

1:28 PM Changeset in webkit [269599] by Fujii Hironori
  • 4 edits in trunk

[TextureMapper] backdrop-filter should use the identity transform to render the root layer
https://bugs.webkit.org/show_bug.cgi?id=218699

Reviewed by Don Olmstead.

Source/WebCore:

Even thouth CSS reflections mirror the content, backdrop-filter in
the reflection doesn't. It sees through the background.
css3/filters/backdrop/backdrop-filter-with-reflection.html is the
test case.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
(WebCore::TextureMapperLayer::paintIntoSurface):
(WebCore::TextureMapperLayer::paintWithIntermediateSurface):
Removed TextureMapperPaintOptions::isReplica.

LayoutTests:

  • platform/glib/TestExpectations: Unmarked

css3/filters/backdrop/{backdrop-filter-with-reflection-add-backdrop.html,
backdrop-filter-with-reflection-value-change.html,backdrop-filter-with-reflection.html}

1:23 PM Changeset in webkit [269598] by Chris Dumez
  • 154 edits
    5 copies
    207 adds
    8 deletes in trunk/LayoutTests

Resync web-platform-tests/html tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=218670

Reviewed by Sam Weinig.

Resync web-platform-tests/html tests from upstream 7a287c9e26fbc12.

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/html/*: Updated.
1:18 PM Changeset in webkit [269597] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Add total counts to sampling profiler dump
https://bugs.webkit.org/show_bug.cgi?id=218666

Reviewed by Yusuke Suzuki.

This is nice for computing the approximate percentage of total time in a function.

  • runtime/SamplingProfiler.cpp:

(JSC::SamplingProfiler::reportTopFunctions):
(JSC::SamplingProfiler::reportTopBytecodes):

12:53 PM Changeset in webkit [269596] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] Use workersrc instead of slavesrc for new Buildbot
https://bugs.webkit.org/show_bug.cgi?id=218717

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/steps.py:

(UploadBuiltProduct.init): Used workersrc instead of slavesrc.
(UploadTestResults.init): Ditto.
(Run32bitJSCTests.start): Drive-by fix to use workerEnvironment instead of slaveEnvironment.

12:25 PM Changeset in webkit [269595] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] remove unused imports from loadConfig.py
https://bugs.webkit.org/show_bug.cgi?id=218718

Reviewed by Dewei Zhu.

  • CISupport/build-webkit-org/loadConfig.py:
12:21 PM Changeset in webkit [269594] by Aditya Keerthi
  • 6 edits in trunk/LayoutTests

Remove experimental: and internal: prefixes from recently added tests
https://bugs.webkit.org/show_bug.cgi?id=218658

Reviewed by Devin Rousso.

The tests below were written before r269360. Since the experimental:
and internal: prefixes are no longer needed, they should be removed.

  • contact-picker/contacts-select-after-dismissing-picker.html:
  • contact-picker/contacts-select-while-presenting-picker.html:
  • contact-picker/contacts-select.html:
  • fast/scrolling/mac/overflow-scrollbars-toggle-dark-mode-expected.html:
  • fast/scrolling/mac/overflow-scrollbars-toggle-dark-mode.html:
12:20 PM Changeset in webkit [269593] by pvollan@apple.com
  • 21 edits
    6 adds in trunk

[macOS] System sounds should be played in the UI process
https://bugs.webkit.org/show_bug.cgi?id=218405
Source/WebCore:

<rdar://problem/70898846>

Reviewed by Darin Adler.

In preparation of blocking the system sound server in the WebContent process, system sounds should be played in the UI process.
This patch creates a system sound manager, which delegates the sound request if a delegate is present, otherwise the function
PAL::systemBeep will be called.

API test: WebKit.SystemBeep

  • Headers.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • editing/Editor.cpp:

(WebCore::Editor::cut):
(WebCore::Editor::copy):
(WebCore::Editor::performDelete):

  • editing/EditorCommand.cpp:

(WebCore::executeSelectToMark):
(WebCore::executeSwapWithMark):

  • editing/cocoa/EditorCocoa.mm:

(WebCore::Editor::takeFindStringFromSelection):

  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::beep):

  • platform/SystemSoundDelegate.h: Added.

(WebCore::SystemSoundDelegate::~SystemSoundDelegate):
(WebCore::SystemSoundDelegate::systemBeep):

  • platform/SystemSoundManager.cpp: Added.

(WebCore::SystemSoundManager::singleton):
(WebCore::SystemSoundManager::setSystemSoundDelegate):
(WebCore::SystemSoundManager::systemBeep):

  • platform/SystemSoundManager.h: Added.
  • platform/audio/StereoPanner.cpp:
  • testing/Internals.cpp:

(WebCore::Internals::systemBeep):

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

<rdar://problem/70898846>

Reviewed by Darin Adler.

Subclass SystemSoundDelegate, which will forward system sound requests to the UI process.

  • Sources.txt:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::systemBeep):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebSystemSoundDelegate.cpp: Added.

(WebKit::WebSystemSoundDelegate::systemBeep):

  • WebProcess/WebSystemSoundDelegate.h: Added.
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

Tools:

Reviewed by Darin Adler.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/SystemBeep.mm: Added.

(TEST):

12:19 PM Changeset in webkit [269592] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Add testcase for r269538
https://bugs.webkit.org/show_bug.cgi?id=218502

Patch by Rob Buis <rbuis@igalia.com> on 2020-11-09
Reviewed by Simon Fraser.

I forgot to add a testcase in r269538.

  • fast/css/marquee-with-layer-display-inline-crash-expected.txt: Added.
  • fast/css/marquee-with-layer-display-inline-crash.html: Added.
12:16 PM Changeset in webkit [269591] by Wenson Hsieh
  • 3 edits in trunk/Source/WebCore

Clean up some code after inline display list refactoring
https://bugs.webkit.org/show_bug.cgi?id=218714

Reviewed by Tim Horton.

See below for more details.

  • platform/graphics/displaylists/DisplayListItems.h:

Remove a couple of extraneous encode() and decode() method declarations.

  • platform/graphics/displaylists/DisplayListReplayer.cpp:

(WebCore::DisplayList::Replayer::replay):

Add a missing ++ for this counter variable.

12:10 PM Changeset in webkit [269590] by keith_miller@apple.com
  • 1 edit
    2 adds in trunk/JSTests

Add microbenchmark for FinalizationRegistry basic usage
https://bugs.webkit.org/show_bug.cgi?id=218667

Reviewed by Yusuke Suzuki.

The no unregister token benchmark runs in ~40ms and the unregister
token in ~25ms on my Mac Pro. Interestingly, it also shows that
using an unregister token make FinalizationRegistry ~4x slower
(total time is longer because the number of objects is 10x bigger
in the test). This is because we have to store all the data in a
HashMap<UnregisterToken, JSObject> rather than a Vector<JSObject>.

  • microbenchmarks/finalizationRegistryCleanup.js: Added.

(async callback):

  • microbenchmarks/finalizationRegistryCleanupWithUnregisterToken.js: Added.

(async callback):

11:31 AM Changeset in webkit [269589] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[Cocoa] Diagnostic service sandbox violation loading any webpage
https://bugs.webkit.org/show_bug.cgi?id=218710
<rdar://problem/71124931>

Reviewed by Alexey Proskuryakov.

Loading any Web page will cause a diagnostic service mach-lookup sandbox violation. Consume the extension to
the service as early as possible in WebProcess::platformInitializeWebProcess, since there are code paths in
this method which will try to access the diagnostic service.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

11:11 AM Changeset in webkit [269588] by Fujii Hironori
  • 4 edits
    2 adds in trunk

[TextureMapper] The top and left sides of drop-shadow are clipped
https://bugs.webkit.org/show_bug.cgi?id=218647

Reviewed by Don Olmstead.

Source/WebCore:

TextureMapperLayer::computeOverlapRegions incorrectly calculated
the local bounding rect for top and left of outsets.

The drop-shadow was incorrectly blended with the content.

Test: compositing/filters/drop-shadow.html

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::computeOverlapRegions): Stopped
using std::max for the left and top of outsets. Stopped taking the
unite with unfilteredTargetRect because outsets are always
positive.

  • platform/graphics/texmap/TextureMapperShaderProgram.cpp:

Fixed sourceOver().

LayoutTests:

  • compositing/filters/drop-shadow-expected.html: Added.
  • compositing/filters/drop-shadow.html: Added.
11:08 AM Changeset in webkit [269587] by Devin Rousso
  • 21 edits
    2 adds in trunk

autofocus of text input should not select text
https://bugs.webkit.org/show_bug.cgi?id=218585
<rdar://problem/60130704>

Reviewed by Wenson Hsieh.

Source/WebCore:

Test: fast/forms/input-text-autofocus.html

  • dom/Document.h:
  • history/CachedPage.cpp:

(WebCore::CachedPage::restore):

  • html/HTMLInputElement.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::updateFocusAppearance):
(WebCore::HTMLInputElement::setDefaultSelectionAfterFocus):
(WebCore::HTMLInputElement::runPostTypeUpdateTasks):
(WebCore::HTMLInputElement::didAttachRenderers):

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::updateFocusAppearance):

  • html/InputType.cpp:

(WebCore::InputType::accessKeyAction):

  • page/EventHandler.cpp:

(WebCore::EventHandler::dispatchMouseEvent):

  • page/FocusController.cpp:

(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::FocusController::advanceFocusDirectionallyInContainer):
Slightly rework SelectionRestorationMode to replace SetDefault with two new values:

  • PlaceCaretAtStart puts the caret at the start, regardless of any cached selection
  • SelectAll selects all text, regardless of any cached selection (existing behavior)

In order to preserve existing behavior, the default Restore will have the same effect as
SelectAll if there is no cached selection (and is renamed to RestoreOrSelectAll as such).

  • dom/Element.h:
  • dom/Element.cpp:

(WebCore::Element::focus):

  • html/HTMLLabelElement.h:
  • html/HTMLLabelElement.cpp:

(WebCore::HTMLLabelElement::focus):

  • html/HTMLLegendElement.h:
  • html/HTMLLegendElement.cpp:

(WebCore::HTMLLegendElement::focus):
Replace the bool restorePreviousSelection with SelectionRestorationMode since that's
what it's eventually used for anyways. This also allows for more flexibility in behavior,
such as callers using the new SelectionRestorationMode values.

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::didAttachRenderers):
Change to PlaceCaretAtStart to match other browsers.

Source/WebKit:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::restoreSelectionInFocusedEditableElement):
Slightly rework SelectionRestorationMode to replace SetDefault with two new values:

  • PlaceCaretAtStart puts the caret at the start, regardless of any cached selection
  • SelectAll selects all text, regardless of any cached selection (existing behavior)

In order to preserve existing behavior, the default Restore will have the same effect as
SelectAll if there is no cached selection (and is renamed to RestoreOrSelectAll as such).

LayoutTests:

  • fast/forms/input-text-autofocus.html: Added.
  • fast/forms/input-text-autofocus-expected.txt: Added.
  • fast/forms/input-first-letter-edit.html:
  • fast/forms/input-first-letter-edit-expected.html:
10:53 AM Changeset in webkit [269586] by commit-queue@webkit.org
  • 2 edits in trunk

Enable llint asm on aarch64 when USE(64KB_PAGE_BLOCK) is enabled
https://bugs.webkit.org/show_bug.cgi?id=218613

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-11-09
Reviewed by Carlos Alberto Lopez Perez.

Normally we fall back to cloop when JIT is not supported. But on aarch64, llint asm is well-
supported, so it is safe to use that here. This will only happen on aarch64, and only when
USE(64KB_PAGE_BLOCK) is enabled, which should probably only be used by RHEL and SUSE.
Everyone else should get the JIT.

  • Source/cmake/WebKitFeatures.cmake:
10:30 AM Changeset in webkit [269585] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

[LFC] Initialize border style correctly
https://bugs.webkit.org/show_bug.cgi?id=218712

Reviewed by Zalan Bujtas.

Tested by fast/events/drag-image-with-border-image.html with image integration enabled.

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::computedBorder const):

BorderValue::boxModelWidth() doesn't take non-color decorations into account.
Calling style.borderLeftWidth() and pals does the right thing.

  • rendering/style/BorderValue.h:

(WebCore::BorderValue::style const):
(WebCore::BorderValue::boxModelWidth const): Deleted.

Remove this unneeded helper.

10:00 AM Changeset in webkit [269584] by pvollan@apple.com
  • 13 edits
    3 copies
    4 adds in trunk

[macOS] Set preference for overridden languages in the WebContent process after entering the sandbox.
https://bugs.webkit.org/show_bug.cgi?id=218097
Source/WebKit:

<rdar://problem/70586545>

Reviewed by Alexey Proskuryakov.

Currently, the preference for overridden languages in the WebContent process is set before entering the sandbox,
which leaves behind an open connection to opendirectoryd. This preference should be set after entering the
sandbox to avoid this. This patch sets the preference after the initialization function has been executed.

API test: WebKit.OverrideAppleLanguagesPreference

  • Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:

(WebKit::setAppleLanguagesPreference):
(WebKit::XPCServiceEventHandler):
(WebKit::XPCServiceMain):

  • WebProcess/com.apple.WebProcess.sb.in:

Source/WTF:

Reviewed by Alexey Proskuryakov.

Disable CFPrefs direct mode for older versions of macOS. In practice, it was already disabled since a mach connection to cfprefsd
was established before entering the sandbox on older versions on macOS, but that is fixed in this patch.

  • wtf/PlatformEnableCocoa.h:

Tools:

Reviewed by Alexey Proskuryakov.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/AccessibilityReduceMotion.mm:
  • TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm:
  • TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm: Added.

(TEST):

  • TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:

LayoutTests:

Reviewed by Alexey Proskuryakov.

Add test for sandbox access to cfprefsd.daemon, and mark cfprefsd tests as failing for Mojave and Catalina, since CFPrefs
direct mode is not enabled on those versions of macOS.

  • fast/sandbox/mac/sandbox-mach-lookup-expected.txt:
  • fast/sandbox/mac/sandbox-mach-lookup.html:
  • platform/mac-catalina/fast/sandbox: Added.
  • platform/mac-catalina/fast/sandbox/mac: Added.
  • platform/mac-catalina/fast/sandbox/mac/sandbox-mach-lookup-expected.txt: Added.
  • platform/mac-mojave/fast/sandbox: Added.
  • platform/mac-mojave/fast/sandbox/mac: Added.
  • platform/mac-mojave/fast/sandbox/mac/sandbox-mach-lookup-expected.txt: Added.
9:55 AM Changeset in webkit [269583] by Chris Lord
  • 3 edits in trunk/Source/WebCore

[GTK] kinetic scroll speed should be cumulative
https://bugs.webkit.org/show_bug.cgi?id=203914

Reviewed by Carlos Garcia Campos.

Accumulate velocity in the same direction with ScrollAnimationKinetic.

  • platform/ScrollAnimationKinetic.cpp:

(WebCore::ScrollAnimationKinetic::stop):
(WebCore::ScrollAnimationKinetic::start):
(WebCore::ScrollAnimationKinetic::animationTimerFired):
(WebCore::ScrollAnimationKinetic::deltaToNextFrame):

  • platform/ScrollAnimationKinetic.h:
9:26 AM Changeset in webkit [269582] by Chris Dumez
  • 4 edits in trunk

Look at parents when event bubbles for input element activation behavior
https://bugs.webkit.org/show_bug.cgi?id=218660

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline WPT test that is now fully passing.

  • web-platform-tests/dom/events/Event-dispatch-click-expected.txt:

Source/WebCore:

When a click event is dispatched at a node that is not an HTMLInputElement, and if the
event bubbles, we should look up the tree to see if there is an HTMLInputElement that
we should trigger activation behavior for. Prevously, we were failing to do this.

The new behavior is consistent with Blink.

No new tests, rebaselined existing test.

  • dom/EventDispatcher.cpp:

(WebCore::findInputElementInEventPath):
(WebCore::EventDispatcher::dispatchEvent):

8:41 AM Changeset in webkit [269581] by aakash_jain@apple.com
  • 6 edits in trunk/Tools

[build.webkit.org] Add python 3 support - part 3
https://bugs.webkit.org/show_bug.cgi?id=218706

Reviewed by Jonathan Bedard.

  • CISupport/Shared/transfer-archive-to-s3: Updated print method to be both python 2 and 3 compatible.
  • CISupport/built-product-archive: Ditto.
  • CISupport/delete-stale-build-files: Ditto.
  • CISupport/build-webkit-org/loadConfig.py: Removed unnecessary filter method.
  • CISupport/ews-build/loadConfig.py: Ditto.
2:30 AM Changeset in webkit [269580] by jh718.park@samsung.com
  • 2 edits in trunk/Source/WebKit

Unreviewed. Fix the build warning below since r269525.
warning: control reaches end of non-void function [-Wreturn-type]

No new tests, no new behaviors.

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
2:20 AM Changeset in webkit [269579] by Chris Lord
  • 9 edits in trunk/Source/WebCore

[GTK][WPE] Scrolling with mouse wheel doesn't work on iframes with async scrolling enabled
https://bugs.webkit.org/show_bug.cgi?id=214179

Reviewed by Žan Doberšek.

Implement ScrollingTree::scrollingNodeForPoint in
ScrollingTreeNicosia. This fixes overflow and iframe scrolling when
async scrolling is enabled on WPE and GTK ports.

  • page/scrolling/ThreadedScrollingTree.h:
  • page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeFrameScrollingNodeNicosia::commitStateBeforeChildren):

  • page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.h:
  • page/scrolling/nicosia/ScrollingTreeNicosia.cpp:

(WebCore::collectDescendantLayersAtPoint):
(WebCore::ScrollingTreeNicosia::scrollingNodeForPoint):

  • page/scrolling/nicosia/ScrollingTreeNicosia.h:
  • page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::commitStateBeforeChildren):

  • page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.h:
  • platform/graphics/nicosia/NicosiaPlatformLayer.h:

(Nicosia::CompositionLayer::flushState):
(Nicosia::CompositionLayer::accessPending):

2:19 AM Changeset in webkit [269578] by Chris Lord
  • 4 edits in trunk

REGRESSION(r269503): [GTK][WPE] >200 tests are failing
https://bugs.webkit.org/show_bug.cgi?id=218654
<rdar://problem/71116949>

Reviewed by Žan Doberšek.

Source/WebCore:

Replace the NativeImagePtr calls with ImageBuffer::draw. With the
cairo implementation, in the cases where it's possible, it amounts to
the same thing, but the draw implementation also handles cases that
the previous patch didn't.

  • platform/graphics/cairo/GraphicsContextImplCairo.cpp:

(WebCore::GraphicsContextImplCairo::drawImageBuffer):

LayoutTests:

Mark 5 canvas tests as passing.

  • platform/glib/TestExpectations:
12:20 AM Changeset in webkit [269577] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebKit

[WPE] ScrollGestureController should only handle complete touch interactions
https://bugs.webkit.org/show_bug.cgi?id=218329

Reviewed by Carlos Garcia Campos.

ScrollGestureController's purpose is to handle otherwise-unhandled
touch events and translate those into a scrolling gesture.

Until now, it was possible for a touch motion event to trigger that
gesture even when the corresponding touch down event was not handled
by the ScrollGestureController, e.g. it was not produced due to the
touch interaction being started somewhere else, or the Web content
actually handled that event.

A flag is added to ScrollGestureController to track that an unhandled
touch down event was confronted, before allowing subsequent unhandled
touch motion events to trigger the scrolling gesture when conditions
are met. The flag is reset upon the touch up event.

  • UIProcess/API/wpe/ScrollGestureController.cpp:

(WebKit::ScrollGestureController::handleEvent):

  • UIProcess/API/wpe/ScrollGestureController.h:

Nov 8, 2020:

9:31 PM Changeset in webkit [269576] by ysuzuki@apple.com
  • 8 edits
    1 add in trunk

[JSC] Add TimeZone range cache over ICU TimeZone API
https://bugs.webkit.org/show_bug.cgi?id=218681

Reviewed by Ross Kirsling.

JSTests:

  • complex.yaml:
  • complex/timezone-range-cache-with-dst.js: Added.

(shouldBe):
(throw.new.Error):

Source/JavaScriptCore:

icu::TimeZone is more accurate and faster than localtime_r. But still, it is slower than returning cached data!
We saw 10% regression in JetStream2/date-format-xparb-SP with icu::TimeZone switching.
In this patch, we put one-depth timezone cache back over icu::TimeZone API, and recover the performance.
In addition, new version of timezone cache includes "start" side extension (while old one only extends "end" of the range).
The test covers all cases in the added cache.

  • runtime/JSDateMath.cpp:

(JSC::DateCache::calculateLocalTimeOffset):
(JSC::DateCache::localTimeOffset):
(JSC::DateCache::gregorianDateTimeToMS):
(JSC::DateCache::msToGregorianDateTime):
(JSC::DateCache::parseDate):
(JSC::DateCache::reset):
(JSC::localTimeOffset): Deleted.

  • runtime/JSDateMath.h:

(JSC::DateCache::timeZoneCache):

  • runtime/VM.h:

(JSC::LocalTimeOffsetCache::LocalTimeOffsetCache): Deleted.
(JSC::LocalTimeOffsetCache::reset): Deleted.

Source/WTF:

  • wtf/DateMath.h:
9:04 PM Changeset in webkit [269575] by Lauro Moura
  • 8 edits in trunk/LayoutTests

[GLIB] Rebaseline and gardening

Unreviewed test gardening.

  • platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: r269477
  • platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt: r269477
  • platform/wpe/TestExpectations: Add bug for imported/blink/fast/forms/textarea-placeholder-visibility-3.html
  • platform/wpe/fast/multicol/pagination/LeftToRight-tb-hittest-expected.txt: r269477
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: r269477
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt: r269477
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt: r269439-r269459
9:02 PM Changeset in webkit [269574] by ysuzuki@apple.com
  • 12 edits in trunk

[JSC] Support @@species in ArrayBuffer / SharedArrayBuffer slice
https://bugs.webkit.org/show_bug.cgi?id=218697

Reviewed by Ross Kirsling.

JSTests:

  • test262/expectations.yaml:

Source/JavaScriptCore:

This patch adds support for @@species in ArrayBuffer/SharedArrayBuffer.prototype.slice.
We leverage the mechanism similar to Array's @@species handling: adding fast path with watchpoint.
When we found that some of critical properties (e.g. %Prototype%.constructor, %Constructor%[@@species])
are modified, watchpoint is fired and we go to the slow path. Until that, we use fast path that is
basically the same to the code before this patch.

  • runtime/ArrayBuffer.cpp:

(JSC::ArrayBuffer::slice const):
(JSC::ArrayBuffer::sliceWithClampedIndex const):
(JSC::ArrayBuffer::sliceImpl const): Deleted.

  • runtime/ArrayBuffer.h:
  • runtime/ArrayBufferSharingMode.h:
  • runtime/ArrayPrototype.cpp:

(JSC::speciesWatchpointIsValid):

  • runtime/JSArrayBufferPrototype.cpp:

(JSC::speciesWatchpointIsValid):
(JSC::arrayBufferSlice):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
(JSC::JSGlobalObject::tryInstallSpeciesWatchpoint):
(JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint):
(JSC::JSGlobalObject::tryInstallArrayBufferSpeciesWatchpoint):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::arrayBufferSpeciesWatchpointSet):
(JSC::JSGlobalObject::arrayBufferPrototype const):
(JSC::JSGlobalObject::arrayBufferStructure const):
(JSC::JSGlobalObject::arrayBufferConstructor const):

Source/WTF:

Remove ENABLE(SHARED_ARRAY_BUFFER) flag. We use Options::useSharedArrayBuffer() runtime flag instead.

  • wtf/PlatformEnable.h:
8:26 PM Changeset in webkit [269573] by Lauro Moura
  • 4 edits in trunk

[GTK] REGRESSION(r267250) API test /webkit/WebKitWebView/usermedia-enumeratedevices-permission-check is crashing
https://bugs.webkit.org/show_bug.cgi?id=216727

Reviewed by Carlos Garcia Campos.

Source/WebKit:

Coverered by existing tests.

In some cases, like in TestWebKitAPI, a message can arrive to the
GeolocationProvider and it would try to access a WebGeolocationManager
that could already had been deleted.

  • UIProcess/API/glib/WebKitGeolocationManager.cpp:

(webkitGeolocationManagerDispose): Added. Removes the provider.
(webkit_geolocation_manager_class_init): Register dispose callback.

Tools:

  • TestWebKitAPI/glib/TestExpectations.json: Remove expectations
8:20 PM Changeset in webkit [269572] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[GLIB] Gardening canvas failures while patch is reviewed

Unreviewed test gardening.

  • platform/glib/TestExpectations:
12:05 PM Changeset in webkit [269571] by Alan Bujtas
  • 8 edits in trunk/Source/WebCore

[LFC][Integration] Cleanup LayoutIntegration::Line interface
https://bugs.webkit.org/show_bug.cgi?id=218690

Reviewed by Daniel Bates and Antti Koivisto.

LayoutIntegration::Line has the following set of geometries:

Line rect and line box size:

Line is always as tall as the line box is. However they may differ in width.
While line box encloses all the inline level boxes on the line horizontally,
the line itself may be shorter (and trigger horizontal overflow).

Enclosing content rect:

It encloses all inline level boxes both vertically and horizontally. In certain cases (see line-height property)
the line (and the line box) is not as tall as the inline level boxes on the line.

Scrollable overflow rect:

It's mainly the line box (encloses the inline level boxes horizontally) with some end padding adjustment for the caret (see legacy line layout).

Ink overflow rect:

Regular ink overflow e.g. stroke, letter spacing.

  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::InlineContentBuilder::constructDisplayLines const):

11:51 AM Changeset in webkit [269570] by Fujii Hironori
  • 4 edits
    2 adds in trunk

TextureMapperLayer::computeOverlapRegions: Accumulate nested replica transform matrices recursively
https://bugs.webkit.org/show_bug.cgi?id=218364

Reviewed by Don Olmstead.

Source/WebCore:

Transformed nested reflection layers were wrongly clipped because
computeOverlapRegions applied replica transform matrices
incorrectly.

Test: compositing/reflections/nested-reflection-opacity2.html

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::resolveOverlaps):
(WebCore::TextureMapperLayer::computeOverlapRegions):
(WebCore::TextureMapperLayer::paintUsingOverlapRegions):

  • platform/graphics/texmap/TextureMapperLayer.h:

LayoutTests:

  • compositing/reflections/nested-reflection-opacity2-expected.html: Added.
  • compositing/reflections/nested-reflection-opacity2.html: Added.
11:49 AM Changeset in webkit [269569] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[GraphicsLayerTextureMapper] reflection masks aren't applied
https://bugs.webkit.org/show_bug.cgi?id=218429

Reviewed by Don Olmstead.

The backing store of the mask layer of replica layers aren't
updated at all since r178111.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::updateBackingStoreIncludingSubLayers):
Use updateBackingStoreIncludingSubLayers for the replica layer to
update backing stores recursively instead of updating only one
layer by using updateBackingStoreIfNeeded.

11:41 AM Changeset in webkit [269568] by Darin Adler
  • 15 edits
    2 adds in trunk

Remove another function that implicitly uses the composed tree (documentOrder on nodes and boundary points)
https://bugs.webkit.org/show_bug.cgi?id=218673

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: fast/dom/treeOrderBoundaryPoint.html

  • accessibility/AXObjectCache.cpp:

(WebCore::characterOffsetsInOrder): Use treeOrder<ComposedTree>.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::misspellingRange const): Ditto.
(WebCore::AccessibilityObject::rangeOfStringClosestToRangeInDirection const): Ditto.

  • dom/BoundaryPoint.h: Removed documentOrder, added treeOrderForTesting.
  • dom/Node.cpp: Updated comment referring to documentOrder.
  • dom/Position.cpp:

(WebCore::documentOrder): Use treeOrder<ComposedTree>.

  • dom/SimpleRange.cpp:

(WebCore::treeOrderForTesting): Added.
(WebCore::documentOrder): Deleted.
(WebCore::compareByComposedTreeOrder): Renamed from compareByDocumentOrder and
use treeOrder<ComposedTree>.
(WebCore::unionRange): Use compareByComposedTreeOrder.
(WebCore::intersection): Ditto.

  • dom/SimpleRange.h: Removed documentOrder. Also removed some repeated function

and function template declarations that were left in here by accident.

  • editing/TextIterator.cpp:

(WebCore::characterCount): Use treeOrder<ComposedTree>.

  • testing/Internals.cpp:

(WebCore::Internals::treeOrderBoundaryPoints): Added.

  • testing/Internals.h: Ditto.
  • testing/Internals.idl: Ditto.

Tools:

  • TestWebKitAPI/Tests/WebCore/DocumentOrder.cpp: Removed BoundaryPointOffsetZero and

BoundaryPointOffsets tests, both replaced by a internals-based test.

LayoutTests:

  • fast/dom/treeOrderBoundaryPoint-expected.txt: Added.
  • fast/dom/treeOrderBoundaryPoint.html: Added.
12:31 AM Changeset in webkit [269567] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Add testcase for r269537
https://bugs.webkit.org/show_bug.cgi?id=218499

Patch by Rob Buis <rbuis@igalia.com> on 2020-11-08
Reviewed by Ryosuke Niwa.

I forgot to add a testcase in r269537.

  • fast/overflow/line-clamp-crash-expected.txt: Added.
  • fast/overflow/line-clamp-crash.html: Added.
Note: See TracTimeline for information about the timeline view.