Timeline
Feb 7, 2021:
- 8:18 PM Changeset in webkit [272479] by
-
- 4 edits in trunk
REGRESSION(r272379) [WPE] imported/w3c/web-platform-tests/mathml/relations/css-styling/mathvariant tests are Image Failing
https://bugs.webkit.org/show_bug.cgi?id=221523
Reviewed by Adrian Perez de Castro.
Source/WebCore:
Covered by existing tests.
This change makes the mathml tests pass again, but still does not
fixes fast/text/multi-code-unit-simple-path.html, which is still not
mismatching on both GTK/WPE.
- platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advanceInternal): Avoid inserting the
trailing zero for GLIB.
LayoutTests:
- platform/wpe/TestExpectations: Remove expected failures
- 6:11 PM Changeset in webkit [272478] by
-
- 3 edits2 adds in trunk
[LFC][IFC] ASSERT(constraints.left->x <= constraints.right->x) when left and right floats run out of space
https://bugs.webkit.org/show_bug.cgi?id=220963
<rdar://problem/73861675>
Reviewed by Simon Fraser.
Source/WebCore:
Remove the incorrect assert. It's valid to have "horizontally overlapping" floats here since
we probe for a vertical range (not just a point) and vertical ranges can have
multiple left and right floats where they simply "overlap" each other when only x is taken into account.
When two floats (left and right) line up like this:
_
| LF |
|_|
_
| RF |
|_|
and as we try to find space for the inline content, we may end up with a vertical range (candidate line position + line height)
where we find both LF and RF. In this range the float boxes do overlap horizontally.
It simply means that at that vertical position there's no available space for the inline content.
Test: fast/inline/intrusive-left-right-floats-assert.html
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::floatConstraints const):
LayoutTests:
- fast/inline/intrusive-left-right-floats-assert-expected.txt: Added.
- fast/inline/intrusive-left-right-floats-assert.html: Added.
- 2:10 PM Changeset in webkit [272477] by
-
- 4 edits in trunk/Source/WebCore
Remove a duplicate implementation of EventHandler::mouseDownMayStartSelect()
https://bugs.webkit.org/show_bug.cgi?id=221531
Reviewed by Tim Horton.
Remove the current
bool mouseDownMayStartSelect() constmethod which just returnsm_mouseDownMayStartSelect,
and make the current non-constversion of the methodconstinstead. SincemouseDownMayStartSelect()was
only invoked from non-const methods, the formerconstversion was unused.
No change in behavior.
- page/EventHandler.cpp:
(WebCore::EventHandler::mouseDownMayStartSelect const):
(WebCore::EventHandler::mouseDownMayStartSelect): Deleted.
- page/EventHandler.h:
(WebCore::EventHandler::mouseDownMayStartSelect const): Deleted.
- page/Page.h:
(WebCore::Page::textInteractionEnabled const):
Make this getter
const, so that we can call it inmouseDownMayStartSelect() const.
(WebCore::Page::textInteractionEnabled): Deleted.
- 12:25 PM Changeset in webkit [272476] by
-
- 2 edits in trunk/Source/WebKit
[CoordinatedGraphics] The whole content is unnecessarily repainted by animations in non-AC mode pages
https://bugs.webkit.org/show_bug.cgi?id=221391
Reviewed by Carlos Garcia Campos.
When triggerRenderingUpdate was called back, it added the whole
view area into the dirty region to repaint in non-AC mode pages.
This caused a problem that the whole content was unnecessarily
repainted by animations in non-AC mode pages
If triggerRenderingUpdate is called back,
DrawingAreaCoordinatedGraphics::display should be called to ensure
WebPage::updateRendering() called even if m_dirtyRegion is empty.
- WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
(WebKit::DrawingAreaCoordinatedGraphics::triggerRenderingUpdate):
Call scheduleDisplay() instead of setNeedsDisplay().
(WebKit::DrawingAreaCoordinatedGraphics::scheduleDisplay): Don't
return early even if m_dirtyRegion is empty.
(WebKit::DrawingAreaCoordinatedGraphics::display()): Ditto.
(WebKit::DrawingAreaCoordinatedGraphics::display(UpdateInfo&)):
Return early if m_dirtyRegion is empty.
- 11:27 AM Changeset in webkit [272475] by
-
- 75 edits in trunk/Source
Differentiate between color spaces used to tag colors and color spaces used to tag destinations
https://bugs.webkit.org/show_bug.cgi?id=221520
Reviewed by Antti Koivisto.
Source/WebCore:
Replace use of the ColorSpace enum in destination contexts (ImageBuffer, Filters, etc.)
with a new DestinationColorSpace enum that is just the limited set of color spaces
supported in that context, just SRGB and LinearSRGB. We may need to expand this to
other supported destination color spaces in the future, but currently only those two
are actually used, and color space information for higher gamut spaces like DisplayP3
are communicated differently.
This will allow us to more clearly see these two concepts as different and ensure we
we support all cases for each, without having to know to ignore some color spaces in
the destination contexts.
While changing a bunch of names, also take the oppertunity to rename ColorSpace::LinearRGB
to ColorSpace::LinearSRGB to match ColorSpace::SRGB (also done for the new
DestinationColorSpace::LinearSRGB).
- html/CustomPaintCanvas.cpp:
(WebCore::CustomPaintCanvas::copiedImage const):
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createImageBuffer const):
- html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::createBufferForPainting const):
- html/ImageBitmap.cpp:
(WebCore::ImageBitmap::createImageBuffer):
- html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::commitToPlaceholderCanvas):
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::drawImage):
(WebCore::CanvasRenderingContext2DBase::drawTextUnchecked):
- page/Chrome.cpp:
(WebCore::Chrome::createImageBuffer const):
- page/Chrome.h:
- page/ChromeClient.h:
(WebCore::ChromeClient::createImageBuffer const):
- page/cocoa/ResourceUsageOverlayCocoa.mm:
(WebCore::createColor):
- platform/HostWindow.h:
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::drawPattern):
- platform/graphics/ColorSerialization.cpp:
(WebCore::serialization):
- platform/graphics/ColorSpace.cpp:
(WebCore::operator<<):
- platform/graphics/ColorSpace.h:
(WebCore::callWithColorType):
- platform/graphics/ConcreteImageBuffer.h:
(WebCore::ConcreteImageBuffer::create):
- platform/graphics/CustomPaintImage.cpp:
(WebCore::CustomPaintImage::drawPattern):
- platform/graphics/GradientImage.cpp:
(WebCore::GradientImage::drawPattern):
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::clipToDrawingCommands):
- platform/graphics/GraphicsContext.h:
- platform/graphics/GraphicsContextImpl.h:
- platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::create):
(WebCore::ImageBuffer::createCompatibleBuffer):
(WebCore::ImageBuffer::copyRectToBuffer):
- platform/graphics/ImageBuffer.h:
- platform/graphics/ImageBufferBackend.h:
(WebCore::ImageBufferBackend::transformColorSpace):
(WebCore::ImageBufferBackend::colorSpace const):
- platform/graphics/cairo/GraphicsContextImplCairo.h:
- platform/graphics/cairo/ImageBufferCairoBackend.cpp:
(WebCore::ImageBufferCairoBackend::transformColorSpace):
- platform/graphics/cairo/ImageBufferCairoBackend.h:
- platform/graphics/cg/ColorSpaceCG.h:
(WebCore::cachedCGColorSpace):
- platform/graphics/displaylists/DisplayListImageBuffer.h:
(WebCore::DisplayList::ImageBuffer::create):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::ClipToDrawingCommands::ClipToDrawingCommands):
(WebCore::DisplayList::ClipToDrawingCommands::colorSpace const):
(WebCore::DisplayList::ClipToDrawingCommands::decode):
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::clipToDrawingCommands):
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/filters/FEDisplacementMap.cpp:
(WebCore::FEDisplacementMap::setResultColorSpace):
- platform/graphics/filters/FEDisplacementMap.h:
- platform/graphics/filters/FEFlood.h:
- platform/graphics/filters/FELighting.cpp:
(WebCore::FELighting::drawLighting):
- platform/graphics/filters/FETile.cpp:
(WebCore::FETile::platformApplySoftware):
- platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::unmultipliedResult):
(WebCore::FilterEffect::premultipliedResult):
(WebCore::FilterEffect::convertImageDataToColorSpace):
(WebCore::FilterEffect::convertImageBufferToColorSpace):
(WebCore::FilterEffect::copyConvertedImageBufferToDestination):
(WebCore::FilterEffect::copyConvertedImageDataToDestination):
(WebCore::FilterEffect::copyUnmultipliedResult):
(WebCore::FilterEffect::copyPremultipliedResult):
(WebCore::FilterEffect::requiresImageDataColorSpaceConversion):
(WebCore::FilterEffect::transformResultColorSpace):
- platform/graphics/filters/FilterEffect.h:
(WebCore::FilterEffect::operatingColorSpace const):
(WebCore::FilterEffect::setOperatingColorSpace):
(WebCore::FilterEffect::resultColorSpace const):
(WebCore::FilterEffect::setResultColorSpace):
- platform/graphics/filters/SourceGraphic.h:
(WebCore::SourceGraphic::SourceGraphic):
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::clipToDrawingCommands):
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
- platform/graphics/win/GraphicsContextImplDirect2D.cpp:
- platform/graphics/win/GraphicsContextImplDirect2D.h:
- platform/graphics/win/ImageBufferDirect2DBackend.cpp:
(WebCore::ImageBufferDirect2DBackend::create):
(WebCore::ImageBufferDirect2DBackend::ImageBufferDirect2DBackend):
- platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext):
- rendering/CSSFilter.cpp:
(WebCore::CSSFilter::buildReferenceFilter):
(WebCore::CSSFilter::build):
(WebCore::CSSFilter::apply):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
- rendering/RenderLayerBacking.cpp:
(WebCore::patternForDescription):
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintProgressBar):
- rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyClippingToContext):
- rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::buildPrimitives const):
(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::postApplyResource):
- rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient):
- rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource):
(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
- rendering/svg/RenderSVGResourceMasker.h:
- rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::createTileImage const):
- rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::createImageBuffer):
(WebCore::SVGRenderingContext::bufferForeground):
- rendering/svg/SVGRenderingContext.h:
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawPatternForContainer):
- svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::platformApplySoftware):
Source/WebKit:
- Scripts/webkit/messages.py:
- Shared/WebCoreArgumentCoders.h:
Coder implementation of EnumTraits for color space types is now
in WebCore.
- GPUProcess/graphics/RemoteImageBuffer.h:
(WebKit::RemoteImageBuffer::create):
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::createImageBuffer):
- GPUProcess/graphics/RemoteRenderingBackend.h:
- GPUProcess/graphics/RemoteRenderingBackend.messages.in:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
- WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
(WebKit::RemoteImageBufferProxy::create):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::createImageBuffer):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createImageBuffer const):
- WebProcess/WebCoreSupport/WebChromeClient.h:
Update to use DestinationColorSpace rather than ColorSpace.
- 11:22 AM Changeset in webkit [272474] by
-
- 23 edits in trunk
Remove more special cases from color conversion
https://bugs.webkit.org/show_bug.cgi?id=221519
Reviewed by Antti Koivisto.
Source/WebCore:
- Remove specialized convertTo<> function which only did component type conversion with the fully general convertColor<> function.
- Make ColorComponents a bit more ready for non-4 component colors by reworking member functionality based on a new mapColorComponents function which maps a function F over all the components of a set of ColorComponents. e.g.
auto colorComponentsC = mapColorComponents([] (auto a, auto b) { return a + b; }, colorComponentsA, colorComponentsB);
will create a new ColorComponents where each component is the sum of the
corresponding components in colorComponentsA and colorComponentsB. It's
variadic so it can take any number of ColorComponents. This allows rewriting
all of the members to be size invariant and a little less verbose.
- Replace special case for the identity conversion in the fallback color conversion code path, and move it into it's own partial specialization of ColorConversion.
- Replace special case for chromatic adaptation conversions and have them just use specializations of ColorConversion like all other conversions.
- platform/graphics/ColorComponents.h:
(WebCore::mapColorComponents):
(WebCore::ColorComponents<T>::map const):
(WebCore::ColorComponents<T>::operator const):
(WebCore::ColorComponents<T>::abs const):
(WebCore::perComponentMax):
(WebCore::perComponentMin):
Add map and mapColorComponents and re-implement existing
functionality in terms of them.
- platform/graphics/ColorConversion.cpp:
(WebCore::WhitePoint::D50>>::convert):
(WebCore::WhitePoint::D65>>::convert):
(WebCore::SRGBA<uint8_t>>::convert):
(WebCore::SRGBA<float>>::convert):
(WebCore::SRGBA<uint8_t>::ReferenceXYZ>::convert):
(WebCore::convertFromD50WhitePointToD65WhitePoint): Deleted.
(WebCore::convertFromD65WhitePointToD50WhitePoint): Deleted.
- platform/graphics/ColorConversion.h:
(WebCore::ColorConversion::convert):
(WebCore::performChomaticAdapatation): Deleted.
Use ColorConversion specializations for the identity conversion, chomatic
adapatation, and component type conversions, rather than hard coding them
in the fallback conversion.
- platform/graphics/ColorUtilities.h:
(WebCore::convertTo): Deleted.
Remove convertTo<>, which is now superseded by the general convertColor<>.
- accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(webkitAccessibleTextGetText):
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityColorStringValue]):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::setShadow):
- html/canvas/CanvasStyle.cpp:
(WebCore::CanvasStyle::CanvasStyle):
(WebCore::CanvasStyle::isEquivalent const):
- platform/graphics/Color.cpp:
(WebCore::Color::lightened const):
(WebCore::Color::darkened const):
(WebCore::Color::colorSpaceAndComponents const):
- platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::makeSimpleColorFromARGBCFArray):
- platform/graphics/filters/FilterOperations.cpp:
(WebCore::FilterOperations::transformColor const):
(WebCore::FilterOperations::inverseTransformColor const):
- platform/graphics/gtk/ColorGtk.cpp:
(WebCore::Color::Color):
- platform/graphics/mac/ColorMac.mm:
(WebCore::makeSimpleColorFromNSColor):
- platform/graphics/win/ColorDirect2D.cpp:
(WebCore::Color::Color):
- platform/graphics/win/PlatformContextDirect2D.cpp:
(WebCore::PlatformContextDirect2D::brushWithColor):
- platform/ios/ColorIOS.mm:
(WebCore::colorFromUIColor):
Adopt convertColor<> to replace convertTo<>.
Source/WebKit:
- UIProcess/API/wpe/WebKitColor.cpp:
(webkitColorToWebCoreColor):
Replace convertTo<> component type conversion to general convertColor<>.
Tools:
- TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
Replace convertTo<> component type conversion to general convertColor<>.
- 11:03 AM Changeset in webkit [272473] by
-
- 3 edits in trunk/Source/WebCore
[LFC][Integration] Fix http/wpt/css/css-highlight-api/ tests with inlines enabled
https://bugs.webkit.org/show_bug.cgi?id=221529
Reviewed by Zalan Bujtas.
Highlight painting code is currently tied to legacy line boxes. Disallow LFC.
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):
- layout/integration/LayoutIntegrationCoverage.h:
- 7:33 AM Changeset in webkit [272472] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] A line with no content should always take the fast vertical alignment path
https://bugs.webkit.org/show_bug.cgi?id=221524
Reviewed by Antti Koivisto.
- layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::computeLineBoxHeightAndAlignInlineLevelBoxesVertically):
- 3:13 AM Changeset in webkit [272471] by
-
- 17 edits in trunk/Source/JavaScriptCore
[JSC] Replace toInteger with toIntegerOrInfinity
https://bugs.webkit.org/show_bug.cgi?id=218642
Reviewed by Alexey Shvayka.
In ECMA262 spec, ToInteger abstract operation is replaced with ToIntegerOrInfinity.
This patch renames toInteger to toIntegerOrInfinity in JSC.
- builtins/ArrayPrototype.js:
(fill):
(includes):
(copyWithin):
(flat):
(at):
- builtins/FunctionPrototype.js:
(bind):
- builtins/GlobalOperations.js:
(globalPrivate.toIntegerOrInfinity):
(globalPrivate.toLength):
(globalPrivate.toInteger): Deleted.
- builtins/RegExpPrototype.js:
(overriddenName.string_appeared_here.replace):
- builtins/StringPrototype.js:
(repeat):
(at):
- builtins/TypedArrayPrototype.js:
(subarray):
(at):
- inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::weakMapEntries):
(Inspector::JSInjectedScriptHost::weakSetEntries):
(Inspector::JSInjectedScriptHost::iteratorEntries):
- runtime/ArrayPrototype.cpp:
(JSC::argumentClampedIndexFromStartOrEnd):
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/IntlSegments.cpp:
(JSC::IntlSegments::containing):
- runtime/JSCJSValue.cpp:
(JSC::JSValue::toIntegerOrInfinity const):
(JSC::JSValue::toLength const):
(JSC::JSValue::toInteger const): Deleted.
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::argumentClampedIndexFromStartOrEnd):
(JSC::genericTypedArrayViewProtoFuncSet):
(JSC::genericTypedArrayViewProtoFuncLastIndexOf):
- runtime/NumberPrototype.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::extractToStringRadixArgument):
- runtime/RegExpObjectInlines.h:
(JSC::getRegExpObjectLastIndexAsUnsigned):
- runtime/StringPrototype.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::stringIndexOfImpl):
(JSC::stringIncludesImpl):
Feb 6, 2021:
- 10:08 PM Changeset in webkit [272470] by
-
- 4 edits in trunk/Source/WebKit
[macOS] Add support for accessibility image extraction
https://bugs.webkit.org/show_bug.cgi?id=221262
<rdar://problem/70744978>
Reviewed by Devin Rousso.
Add WebKitAdditions support for image extraction.
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::requestImageExtraction): Deleted.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::requestImageExtraction):
- 10:02 PM Changeset in webkit [272469] by
-
- 33 edits in trunk
Non-special URLs should have an opaque origin
https://bugs.webkit.org/show_bug.cgi?id=162254
Patch by Alex Christensen <achristensen@webkit.org> on 2021-02-06
Reviewed by Geoff Garen.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-origin-expected.txt:
- web-platform-tests/url/a-element-origin-xhtml-expected.txt:
- web-platform-tests/url/url-origin-expected.txt:
Source/WebCore:
This matches the behavior of Chrome, Firefox, and the URL specification.
In order to maintain compatibility with existing apps, we do a linkedOnOrAfter check for the new behavior.
In order to allow things like web extensions to continue to work, we allow non-null origins for schemes
for which a WKURLSchemeHandler has been registered. We learned this lesson 4 years ago when we tried this change.
This also makes sense conceptually because those schemes will be handled by the containing application,
so they can be an "origin" for a page.
- page/SecurityOrigin.cpp:
(WebCore::shouldTreatAsUniqueOrigin):
- platform/LegacySchemeRegistry.cpp:
(WebCore::schemesHandledBySchemeHandler):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsHandledBySchemeHandler):
(WebCore::LegacySchemeRegistry::schemeIsHandledBySchemeHandler):
- platform/LegacySchemeRegistry.h:
- platform/cocoa/VersionChecks.h:
Source/WebInspectorUI:
- UserInterface/Base/URLUtilities.js:
(parseURL):
Source/WebKit:
I needed to change API::SecurityOrigin from wrapping a WebCore::SecurityOrigin to wrapping a WebCore::SecurityOriginData,
otherwise it would often be null and we want it to be not null in the UI process.
- Shared/API/APISecurityOrigin.h:
(API::SecurityOrigin::createFromString):
(API::SecurityOrigin::create):
(API::SecurityOrigin::securityOrigin const):
(API::SecurityOrigin::SecurityOrigin):
- Shared/API/c/WKSecurityOriginRef.cpp:
(WKSecurityOriginCopyDatabaseIdentifier):
(WKSecurityOriginCopyProtocol):
(WKSecurityOriginCopyHost):
(WKSecurityOriginGetPort):
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreRemoveFetchCacheForOrigin):
- UIProcess/API/Cocoa/WKSecurityOrigin.mm:
(-[WKSecurityOrigin protocol]):
(-[WKSecurityOrigin host]):
(-[WKSecurityOrigin port]):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::registerURLSchemeHandler):
Source/WTF:
- wtf/URL.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
- 9:08 PM Changeset in webkit [272468] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Incorrect line box height when line-height is set on an empty root inline box
https://bugs.webkit.org/show_bug.cgi?id=221522
Reviewed by Antti Koivisto.
The root inline box with non-initial line height value stretches the line box even when root has no content.
e.g. <div style="line-height: 100px;"><span>content</span></div>
This content produces a ~100px tall line box.
- layout/inlineformatting/InlineFormattingContextQuirks.cpp:
(WebCore::Layout::InlineFormattingContext::Quirks::inlineLevelBoxAffectsLineBox const):
- 7:28 PM Changeset in webkit [272467] by
-
- 10 edits1 add in trunk/Source/WebCore
Introduce image overlays and add UA shadow root support for image extraction
https://bugs.webkit.org/show_bug.cgi?id=221236
Reviewed by Ryosuke Niwa.
This patch restores some of the logic previously introduced in r164457 (and removed with r272117) to render
service button cells over images, and additionally renames and repurposes it for image extraction, a new
accessibility feature. See comments below for more details.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLElement.cpp:
(WebCore::imageOverlayElementIdentifier):
(WebCore::HTMLElement::hasImageOverlay const):
Add a helper to determine whether or not an element's UA shadow root has an image overlay element. This is
consulted in the constructor ofRenderImage.
(WebCore::HTMLElement::updateWithImageExtractionResult):
Add a helper method to install image extraction content in the shadow root of an element, given an
ImageExtractionResult. This consists of an image overlay container (a relatively positioneddiv), which then
contains some number of absolutely positioned childdivelements. Additionally load the image overlay
stylesheet as text within a style element when creating the UA shadow root.
- html/HTMLElement.h:
- html/shadow/imageOverlay.css: Added.
(div#image-overlay):
(div.image-overlay-text):
Add a new UA stylesheet for the image overlay shadow DOM subtree. The overlay contains a number of absolutely
positoneddivelements, which are positioned inside the overlay element using using CSS transforms.
- rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::canHaveChildren const):
Return
trueif we require children in the shadow root (for either media controls, or this new image overlay).
(WebCore::RenderImage::layout):
(WebCore::RenderImage::layoutShadowContent):
(WebCore::RenderImage::layoutShadowControls): Deleted.
Rename
layoutShadowControlstolayoutShadowContent, and allow it to support both the "shadow controls" case
(i.e.RenderMedia) and the "image extraction content" case. Additonally, remove the check for
shadowControlsNeedCustomLayoutMetrics()when setting child renderer width/height. This is currently only used
for laying out media controls inRenderMedia, but we'll need it now for allRenderImages.
- rendering/RenderImage.h:
(WebCore::RenderImage::setHasImageOverlay):
(WebCore::RenderImage::hasShadowContent const):
Add a helper method to return whether or not the
RenderImageshould expect shadow root content. This is true
for both media controls (m_hasShadowControls) and for the new image overlay content (m_hasImageOverlay).
(WebCore::RenderImage::shadowControlsNeedCustomLayoutMetrics const): Deleted.
- rendering/RenderMedia.h:
See
RenderImage::layoutShadowControlsabove.
- 7:13 PM Changeset in webkit [272466] by
-
- 4 edits1 add in trunk
REGRESSION (r264574): Unchecked JS exception in validateAndApplyPropertyDescriptor()
https://bugs.webkit.org/show_bug.cgi?id=221494
Reviewed by Yusuke Suzuki.
JSTests:
- stress/redefine-property-same-value-exception-check.js: Added.
Source/JavaScriptCore:
This patch brings back exception check after sameValue(), which was accidentally
removed in r264574. sameValue() may throw OOM when comparing rope strings.
Even though this case was unreachable because of PropertyDescriptor::equalTo()
fast path, we should maintain consistent exception checks.
For the same reason, sameValue() in protoFuncFinalizationRegistryRegister() is
replaced with pointer comparison, which is safe & unobservable becausetarget
is a known JSObject.
- runtime/FinalizationRegistryPrototype.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/JSObject.cpp:
(JSC::validateAndApplyPropertyDescriptor):
- 6:02 PM Changeset in webkit [272465] by
-
- 2 edits in trunk/LayoutTests
[WPE] Gardening mathml failures
Unreviewed test gardening.
- platform/wpe/TestExpectations:
- 4:10 PM Changeset in webkit [272464] by
-
- 2 edits in trunk/Tools
[build.webkit.org] Switch bot watchers dashboard to use new buildbot
https://bugs.webkit.org/show_bug.cgi?id=221493
Reviewed by Alexey Proskuryakov.
- CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
- 10:01 AM Changeset in webkit [272463] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Continuation pre and post block inline boxes should not have both the start and end decorations of the original inline box
https://bugs.webkit.org/show_bug.cgi?id=221502
Reviewed by Antti Koivisto.
The generated inline boxes inside the pre/post block containers of a continuation "inherit" all the original styles e.g.
<span style="margin-left: 10px"><div></div></span>
We turn this into a continuation by constructing a set of pre and a post block containers.
(pre)Block container (anonymous)
Inline container (<span>)
Block container (<div></div>)
(post)Block container (anonymous)
Inline container (</span>)
Now the border box of the inline container inside the post block container should not have a 1px margin offset. Only the inline container in the pre block should "inherit" the left margin from the original <span>.
Legacy line layout solves this issue by calling hasInlineDirectionBordersPaddingOrMargin() during layout to decide which side of the decorations to apply,
but these inline boxes should not have those start/end values the first place.
(see fast/inline/inline-with-empty-inline-continuations.html)
- layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::buildTree):
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::updateInlineBoxDimensions):
- 8:01 AM Changeset in webkit [272462] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC][Quirk] Keep the root inline box baseline anchored at 0
https://bugs.webkit.org/show_bug.cgi?id=221517
Reviewed by Antti Koivisto.
In quirks mode when the root inline box has no content, a negative baseline value should not push the root baseline upwards.
e.g.
<div><span style="vertical-align: -300px">this text should be ~300px while the root baseline is at 0px</span></div>
However an inline box with negative ascent (e.g. large enough negative margin-top value) can pull the root inline box up.
- layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::LineBoxBuilder::computeLineBoxHeightAndAlignInlineLevelBoxesVertically):
- 7:22 AM Changeset in webkit [272461] by
-
- 2 edits in trunk/Source/WebCore
ASSERT NOT REACHED in WebCore::Layout::LineBuilder::candidateContentForLine
https://bugs.webkit.org/show_bug.cgi?id=221492
<rdar://problem/74032439>
Reviewed by Antti Koivisto.
Floats are not part of the inline content and they should be ignored while checking if the continuous candidate content ends in a wrap opportunity.
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::candidateContentForLine):