Timeline
Aug 28, 2021:
- 6:48 PM Changeset in webkit [281737] by
-
- 15 edits in trunk/Source
Miscellaneous typo fixes
https://bugs.webkit.org/show_bug.cgi?id=229642
Reviewed by Fujii Hironori.
Source/JavaScriptCore:
- API/JSValue.h:
- runtime/RegExp.cpp:
(JSC::RegExp::matchCompareWithInterpreter):
Source/WebCore:
- platform/MIMETypeRegistry.cpp:
(WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
- platform/graphics/cpu/arm/filters/FELightingNEON.cpp:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::computeClipPath const):
- rendering/style/RenderStyle.cpp:
(WebCore::rareNonInheritedDataChangeRequiresLayout):
Source/WebKit:
- Platform/IPC/HandleMessage.h:
(IPC::callMemberFunction):
- Shared/Cocoa/ArgumentCodersCocoa.mm:
(IPC::encodeArrayInternal):
- Shared/cf/ArgumentCodersCF.cpp:
(IPC::ArgumentCoder<CFArrayRef>::encode):
Source/WTF:
- wtf/CrossThreadTask.h:
(WTF::callMemberFunctionForCrossThreadTask):
- wtf/text/StringImpl.h:
(WTF::StringImpl::createSubstringSharingImpl):
- 6:31 PM Changeset in webkit [281736] by
-
- 5 edits6 adds in trunk
Zooming browser does not properly scale SVG clip paths
https://bugs.webkit.org/show_bug.cgi?id=224795
Reviewed by Tim Horton.
Source/WebCore:
Clip-path and Command+ zooming were fixed in r268138, but that change didn't address
reference clip paths.
Fix by having effectiveZoom scale the clip in the two codepaths; the "clip via a path"
path, and the "clip by painting a mask" path that we fall into for more complex clips.
We only need to fix the userSpaceOnUse code path, since with objectBoundingBox clips
the input bounds has already been scaled.
Tests use the non-standard "zoom" property, so can't be WPT tests.
Tests: css3/masking/clip-path-reference-painted-mask-zoom.html
css3/masking/clip-path-reference-zoom-objectBoundingBox.html
css3/masking/clip-path-reference-zoom.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupClipPath):
- rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyResource):
(WebCore::RenderSVGResourceClipper::pathOnlyClipping):
(WebCore::RenderSVGResourceClipper::applyClippingToContext):
(WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
- rendering/svg/RenderSVGResourceClipper.h:
LayoutTests:
Tests for various clipping configurations which use the 'zoom' property which
has the same impact as Command+ zooming.
- css3/masking/clip-path-reference-painted-mask-zoom-expected.html: Added.
- css3/masking/clip-path-reference-painted-mask-zoom.html: Added.
- css3/masking/clip-path-reference-zoom-expected.html: Added.
- css3/masking/clip-path-reference-zoom-objectBoundingBox-expected.html: Added.
- css3/masking/clip-path-reference-zoom-objectBoundingBox.html: Added.
- css3/masking/clip-path-reference-zoom.html: Added.
- 9:48 AM Changeset in webkit [281735] by
-
- 3 edits in trunk/Source/WTF
[WTF] Fix static analyzer warnings about nullptr derefs in StringImpl::copyCharacters() and tryMakeStringFromAdapters()
<https://webkit.org/b/229461>
<rdar://problem/82303279>
Reviewed by Darin Adler.
- wtf/text/StringConcatenate.h:
(WTF::tryMakeStringFromAdapters):
- Add nullptr checks for
buffersince it makes no sense to call stringTypeAdapterAccumulator() with a nullptr argument, and it fixes static analyzer warnings about dereferencing nullptr. - wtf/text/StringImpl.h:
(WTF::StringImpl::copyCharacters):
- Add
ASSERT(destination || !numCharacters)statement to describe an invariant when calling this method. This stops the static analyzer from emitting false positive warnings aboutdestinationbeing nullptr.
- 6:15 AM Changeset in webkit [281734] by
-
- 14 edits1 copy1 add in trunk
[LFC][IFC] Move content builder functionality to a dedicated class
https://bugs.webkit.org/show_bug.cgi?id=229631
Reviewed by Antti Koivisto.
Source/WebCore:
Let's use a dedicated class for constructing the final line runs. This is also going to be used
for computing overflow and other "display" type of value once it's merged with LayoutIntegration::InlineContentBuilder.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- layout/LayoutUnits.h:
- layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp: Added.
(WebCore::Layout::InlineDisplayContentBuilder::InlineDisplayContentBuilder):
(WebCore::Layout::InlineDisplayContentBuilder::build):
(WebCore::Layout::InlineDisplayContentBuilder::createRunsAndUpdateGeometryForLineContent):
(WebCore::Layout::InlineDisplayContentBuilder::createRunsAndUpdateGeometryForLineSpanningInlineBoxes):
- layout/formattingContexts/inline/InlineDisplayContentBuilder.h: Copied from Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.h.
(WebCore::Layout::InlineDisplayContentBuilder::root const):
(WebCore::Layout::InlineDisplayContentBuilder::formattingState const):
- layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
- layout/formattingContexts/inline/InlineFormattingContext.h:
- layout/formattingContexts/inline/InlineLevelBox.h:
(WebCore::Layout::InlineLevelBox::isInlineBox const):
(WebCore::Layout::InlineLevelBox::isLineSpanningInlineBox const):
(WebCore::Layout::InlineLevelBox::createInlineBox):
- layout/formattingContexts/inline/InlineLine.h:
(WebCore::Layout::Line::Run::type const):
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes):
- layout/formattingContexts/inline/InlineLineBoxBuilder.h:
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::lineOverflowWidth):
- layout/integration/LayoutIntegrationRun.h:
LayoutTests:
Aug 27, 2021:
- 11:53 PM Changeset in webkit [281733] by
-
- 2 edits in trunk/Tools
[GTK] Simplify run-gtk-tests handling of the a11y service
https://bugs.webkit.org/show_bug.cgi?id=229620
Reviewed by Carlos Garcia Campos.
The service is DBusActivatable so it doesn't make sense to manually
find and start every binary ourselves and then wait for the
service to appear. We can simply call it and let the system
manage the service as it normally would in the environment it
normally would.
- Scripts/run-gtk-tests:
(GtkTestRunner.init):
(GtkTestRunner):
(GtkTestRunner._ensure_accessibility_service_is_running):
(GtkTestRunner._setup_testing_environment):
- 11:04 PM Changeset in webkit [281732] by
-
- 3 edits in trunk/Source/WebKit
Fix std::optional<> stripping in MessageArgumentDescriptions.cpp generator
https://bugs.webkit.org/show_bug.cgi?id=229636
<rdar://problem/82461615>
Reviewed by Darin Adler.
- Scripts/webkit/messages.py:
(generate_js_argument_descriptions):
- Scripts/webkit/tests/MessageArgumentDescriptions.cpp:
(IPC::messageReplyArgumentDescriptions):
- 8:20 PM Changeset in webkit [281731] by
-
- 11 edits2 adds1 delete in trunk
The simple text codepath does not handle unpaired surrogates
https://bugs.webkit.org/show_bug.cgi?id=229392
Reviewed by Alan Bujtas.
Source/WebCore:
The simple text codepath was taking an early return if it encountered an unpaired surrogate.
This essentially ends up being data loss, because everything after that surrogate is just gone.
The other browsers render the unpaired surrogate, and the text after it too.
Removing the early return uncovered a preexisting bug, where word-break: break-all would cause
both RenderText::computePreferredLogicalWidths() and BreakingContext::handleText() to try to
break in between two adjacent joining surrogates.
Because both fixes depend on each other to be observable, this patch does both together.
Test: fast/text/unpaired-surrogate.html
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- WebCore.xcodeproj/xcshareddata/xcschemes/WebCore.xcscheme:
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::getEmphasisMarkGlyphData const):
- platform/graphics/SurrogatePairAwareTextIterator.cpp: Removed.
- platform/graphics/SurrogatePairAwareTextIterator.h:
(WebCore::SurrogatePairAwareTextIterator::SurrogatePairAwareTextIterator):
(WebCore::SurrogatePairAwareTextIterator::consume):
(WebCore::SurrogatePairAwareTextIterator::currentIndex const):
(WebCore::SurrogatePairAwareTextIterator::characters const): Deleted.
- platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advanceInternal):
- platform/graphics/freetype/SimpleFontDataFreeType.cpp:
- rendering/InlineIterator.h:
(WebCore::InlineIterator::incrementByCodePointInTextNode):
- rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):
- rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleText):
LayoutTests:
- fast/text/unpaired-surrogate-expected-mismatch.html: Added.
- fast/text/unpaired-surrogate.html: Added.
- 7:09 PM Changeset in webkit [281730] by
-
- 6 edits in trunk
[PlayStation][CMake] Add control over whether JavaScriptCore should be shared
https://bugs.webkit.org/show_bug.cgi?id=229591
.:
Add option for controlling whether to build a shared JavaScriptCore and
set build type for that appropriately.
Reviewed by Don Olmstead.
- Source/cmake/OptionsPlayStation.cmake:
Source/JavaScriptCore:
Reviewed by Don Olmstead.
Make LowLevelInterpreterLib objects get added via _PRIVATE_LIBRARIES when
using JavaScriptCore as an object library in order to propogate them
correctly.
- CMakeLists.txt:
Tools:
Reviewed by Don Olmstead.
Add frameworks to test applications to build with an object library version
of JavaScriptCore.
- TestWebKitAPI/CMakeLists.txt:
- 5:57 PM Changeset in webkit [281729] by
-
- 2 edits in trunk/Source/WebKit
Address post-landing feedback on r281728.
Move a line inside the #ifdef.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::platformWillPerformEditingCommand):
- 5:25 PM Changeset in webkit [281728] by
-
- 19 edits in trunk/Source
Define ENABLE_CONTENT_CHANGE_OBSERVER for IOS_FAMILY and use it to wrap content observation code
https://bugs.webkit.org/show_bug.cgi?id=229624
Reviewed by Alan Bujtas.
Source/WebCore:
Deploy ENABLE(CONTENT_CHANGE_OBSERVER).
- dom/Document.cpp:
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::willDetachPage):
(WebCore::Document::platformSuspendOrStopActiveDOMObjects):
- dom/Document.h:
- dom/Node.cpp:
(WebCore::Node::defaultEventHandler):
- page/DOMTimer.cpp:
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::removeById):
(WebCore::DOMTimer::fired):
- page/EventHandler.cpp:
(WebCore::EventHandler::internalKeyEvent):
- page/ios/ContentChangeObserver.cpp:
- page/ios/ContentChangeObserver.h:
- page/ios/DOMTimerHoldingTank.cpp:
- page/ios/DOMTimerHoldingTank.h:
- page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::mouseMoved):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::willBeDestroyed):
- rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateElementRenderer):
Source/WebKit:
Deploy ENABLE(CONTENT_CHANGE_OBSERVER).
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::platformWillPerformEditingCommand):
Source/WTF:
Deploy ENABLE(CONTENT_CHANGE_OBSERVER).
- Scripts/Preferences/WebPreferences.yaml:
- wtf/PlatformEnable.h:
- wtf/PlatformEnableCocoa.h:
- 4:48 PM Changeset in webkit [281727] by
-
- 9 edits in trunk
[ Catalina EWS ] media/track/track-disabled-addcue.html is flaky crashing
https://bugs.webkit.org/show_bug.cgi?id=229462
<rdar://problem/82302915>
Reviewed by Darin Adler.
Source/WebCore:
Use
queueTaskKeepingObjectAliveinstead of a timer when scheduling text track
loading.
- html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::HTMLTrackElement):
(WebCore::HTMLTrackElement::scheduleLoad):
(WebCore::HTMLTrackElement::scheduleTask):
(WebCore::HTMLTrackElement::loadTimerFired): Deleted.
- html/HTMLTrackElement.h:
- html/track/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::LoadableTextTrack):
(WebCore::LoadableTextTrack::scheduleLoad):
(WebCore::LoadableTextTrack::element):
(WebCore::LoadableTextTrack::loadTimerFired): Deleted.
- html/track/LoadableTextTrack.h:
Source/WTF:
- wtf/SetForScope.h:
(WTF::SetForScope::SetForScope): Add a constructor that takes the value to set
on scope exit.
LayoutTests:
- platform/mac-wk1/TestExpectations:
- 4:45 PM Changeset in webkit [281726] by
-
- 2 edits in trunk/Tools
[EWS] Do not notify Apple bot watchers about failures seen on Igalia bots
https://bugs.webkit.org/show_bug.cgi?id=229630
Reviewed by Aakash Jain.
- CISupport/ews-build/send_email.py:
(send_email_to_bot_watchers):
- 2:50 PM Changeset in webkit [281725] by
-
- 14 edits in trunk
.:
Land Windows build fixes from safari-612.1.29.14-branch.
https://bugs.webkit.org/show_bug.cgi?id=229627
Reviewed by Per Arne Vollan.
- Source/Makefile:
- Source/cmake/WinTools.make:
Source/JavaScriptCore:
Land Windows build fixes from safari-612.1.29.14-branch.
https://bugs.webkit.org/show_bug.cgi?id=229627.
Reviewed by Per Arne Vollan.
- JavaScriptCore.vcxproj/JavaScriptCore.proj:
Source/WebCore:
Land Windows build fixes from safari-612.1.29.14-branch.
https://bugs.webkit.org/show_bug.cgi?id=229627.
Reviewed by Per Arne Vollan.
- WebCore.vcxproj/WebCore.proj:
Source/WebInspectorUI:
Land Windows build fixes from safari-612.1.29.14-branch.
https://bugs.webkit.org/show_bug.cgi?id=229627
Reviewed by Per Arne Vollan.
- WebInspectorUI.vcxproj/WebInspectorUI.make:
- WebInspectorUI.vcxproj/WebInspectorUI.proj:
Source/WebKitLegacy:
Land Windows build fixes from safari-612.1.29.14-branch.
https://bugs.webkit.org/show_bug.cgi?id=229627.
Reviewed by Per Arne Vollan.
- WebKitLegacy.vcxproj/WebKitLegacy.proj:
Source/WTF:
Land Windows build fixes from safari-612.1.29.14-branch
https://bugs.webkit.org/show_bug.cgi?id=229627
Reviewed by Per Arne Vollan.
- WTF.vcxproj/WTF.proj:
- 2:30 PM Changeset in webkit [281724] by
-
- 102 edits2 adds in trunk
[CSS3 Backgrounds and Borders] The border image area should be empty if border-style is none and border-image-width is not set
https://bugs.webkit.org/show_bug.cgi?id=99922
Reviewed by Alan Bujtas.
Source/WebCore:
Per CSS WG discussion[1] and https://drafts.csswg.org/css-backgrounds/#border-image-area
border images do not affect layout; border-width does, and only then if border-style is not
"none".
Even with zero-width borders, border-image can paint (thus triggering visual overflow) if
border-image-width is specified.
Patch based on Adenilson Cavalcanti's patch, with a fix to not bail early from
RenderBoxModelObject::paintBorder().
Replace RenderStyle::hasBorderFill() with hasBorderImage(); there is no border-fill
property; this was referring to the "fill" keyword for border-image
[1] https://lists.w3.org/Archives/Public/www-style/2015Nov/0258.html
Test: fast/borders/border-image-should-not-display.html
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintBorder):
- rendering/style/BorderData.h:
(WebCore::BorderData::hasBorder const): Remove special-casing for border-image.
(WebCore::BorderData::hasVisibleBorder const): Ditto.
(WebCore::BorderData::hasBorderImage const):
(WebCore::BorderData::borderLeftWidth const):
(WebCore::BorderData::borderRightWidth const):
(WebCore::BorderData::borderTopWidth const):
(WebCore::BorderData::borderBottomWidth const):
(WebCore::BorderData::hasFill const): Deleted.
- rendering/style/BorderValue.h:
(WebCore::BorderValue::nonZero const):
(WebCore::BorderValue::isVisible const):
- rendering/style/NinePieceImage.h:
(WebCore::NinePieceImage::computeOutset): Rename parameters for clarity.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::hasBorderImage const):
(WebCore::RenderStyle::hasVisibleBorderDecoration const):
(WebCore::RenderStyle::hasBorderFill const): Deleted.
LayoutTests:
Rebaselines for "solid" in output, and border-image no longer affecting layout.
Fix tests to add "border-style: solid" when the old behavior was expected.
- fast/borders/border-image-01.html:
- fast/borders/border-image-border-radius.html:
- fast/borders/border-image-fill-no-intrinsic-size.html:
- fast/borders/border-image-longhand.html:
- fast/borders/border-image-massive-scale.html:
- fast/borders/border-image-omit-right-slice.html:
- fast/borders/border-image-outset-in-shorthand.html:
- fast/borders/border-image-outset-split-inline-vertical-lr.html:
- fast/borders/border-image-outset-split-inline.html:
- fast/borders/border-image-outset.html:
- fast/borders/border-image-repeat.html:
- fast/borders/border-image-rotate-transform.html:
- fast/borders/border-image-scale-transform.html:
- fast/borders/border-image-scaled.html:
- fast/borders/border-image-scrambled.html:
- fast/borders/border-image-should-not-display-expected.html: Added.
- fast/borders/border-image-should-not-display.html: Added.
- fast/borders/border-image-side-reduction.html:
- fast/borders/border-image-slice-constrained.html:
- fast/borders/border-image-slice-missing-right.html:
- fast/borders/border-image-slices.html:
- fast/borders/border-image-source.html:
- fast/borders/border-image-trumps-radius-expected.txt:
- fast/borders/border-image-trumps-radius.html:
- fast/borders/hidpi-border-image-gradient-on-subpixels.html:
- fast/borders/scaled-border-image.html:
- fast/gradients/border-image-gradient-expected.txt:
- fast/gradients/border-image-gradient.html:
- fast/hidpi/image-set-border-image-comparison.html:
- fast/hidpi/image-set-border-image-dynamic.html:
- fast/hidpi/image-set-border-image-simple.html:
- fast/writing-mode/border-image-horizontal-bt.html:
- fast/writing-mode/border-image-vertical-lr.html:
- fast/writing-mode/border-image-vertical-rl.html:
- platform/ios/fast/borders/border-image-01-expected.txt:
- platform/ios/fast/borders/border-image-border-radius-expected.txt:
- platform/ios/fast/borders/border-image-longhand-expected.txt:
- platform/ios/fast/borders/border-image-massive-scale-expected.txt:
- platform/ios/fast/borders/border-image-omit-right-slice-expected.txt:
- platform/ios/fast/borders/border-image-outset-expected.txt:
- platform/ios/fast/borders/border-image-outset-in-shorthand-expected.txt:
- platform/ios/fast/borders/border-image-outset-split-inline-expected.txt:
- platform/ios/fast/borders/border-image-outset-split-inline-vertical-lr-expected.txt:
- platform/ios/fast/borders/border-image-repeat-expected.txt:
- platform/ios/fast/borders/border-image-rotate-transform-expected.txt:
- platform/ios/fast/borders/border-image-scale-transform-expected.txt:
- platform/ios/fast/borders/border-image-scaled-expected.txt:
- platform/ios/fast/borders/border-image-scrambled-expected.txt:
- platform/ios/fast/borders/border-image-side-reduction-expected.txt:
- platform/ios/fast/borders/border-image-slice-constrained-expected.txt:
- platform/ios/fast/borders/border-image-slices-expected.txt:
- platform/ios/fast/borders/border-image-source-expected.txt:
- platform/ios/fast/borders/scaled-border-image-expected.txt:
- platform/ios/fast/hidpi/image-set-border-image-comparison-expected.txt:
- platform/ios/fast/hidpi/image-set-border-image-dynamic-expected.txt:
- platform/ios/fast/hidpi/image-set-border-image-simple-expected.txt:
- platform/ios/fast/writing-mode/border-image-horizontal-bt-expected.txt:
- platform/ios/fast/writing-mode/border-image-vertical-lr-expected.txt:
- platform/ios/fast/writing-mode/border-image-vertical-rl-expected.txt:
- platform/ios/svg/as-border-image/svg-as-border-image-2-expected.txt:
- platform/ios/svg/as-border-image/svg-as-border-image-expected.txt:
- platform/mac/fast/borders/border-image-01-expected.txt:
- platform/mac/fast/borders/border-image-border-radius-expected.txt:
- platform/mac/fast/borders/border-image-longhand-expected.txt:
- platform/mac/fast/borders/border-image-massive-scale-expected.txt:
- platform/mac/fast/borders/border-image-omit-right-slice-expected.txt:
- platform/mac/fast/borders/border-image-outset-expected.txt:
- platform/mac/fast/borders/border-image-outset-in-shorthand-expected.txt:
- platform/mac/fast/borders/border-image-outset-split-inline-expected.txt:
- platform/mac/fast/borders/border-image-outset-split-inline-vertical-lr-expected.txt:
- platform/mac/fast/borders/border-image-repeat-expected.txt:
- platform/mac/fast/borders/border-image-rotate-transform-expected.txt:
- platform/mac/fast/borders/border-image-scale-transform-expected.txt:
- platform/mac/fast/borders/border-image-scaled-expected.txt:
- platform/mac/fast/borders/border-image-scrambled-expected.txt:
- platform/mac/fast/borders/border-image-side-reduction-expected.txt:
- platform/mac/fast/borders/border-image-slice-constrained-expected.txt:
- platform/mac/fast/borders/border-image-slices-expected.txt:
- platform/mac/fast/borders/border-image-source-expected.txt:
- platform/mac/fast/borders/scaled-border-image-expected.txt:
- platform/mac/fast/hidpi/image-set-border-image-comparison-expected.txt:
- platform/mac/fast/hidpi/image-set-border-image-dynamic-expected.txt:
- platform/mac/fast/hidpi/image-set-border-image-simple-expected.txt:
- platform/mac/fast/writing-mode/border-image-horizontal-bt-expected.txt:
- platform/mac/fast/writing-mode/border-image-vertical-lr-expected.txt:
- platform/mac/fast/writing-mode/border-image-vertical-rl-expected.txt:
- platform/mac/svg/as-border-image/svg-as-border-image-2-expected.txt:
- platform/mac/svg/as-border-image/svg-as-border-image-expected.txt:
- svg/as-border-image/svg-as-border-image-2.html:
- svg/as-border-image/svg-as-border-image.html:
- 2:26 PM Changeset in webkit [281723] by
-
- 5 edits in trunk
Add UIEventAttribution SPI that uses PrivateClickMeasurementAttributionEphemeral::Yes
https://bugs.webkit.org/show_bug.cgi?id=229623
Reviewed by John Wilander.
Source/WebKit:
This will be used by rdar://80806283.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _setEphemeralUIEventAttribution:]):
(-[WKWebView _ephemeralUIEventAttribution]):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::TEST):
- 2:24 PM Changeset in webkit [281722] by
-
- 2 edits in trunk/Tools
Add a new email address to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=229628
Unreviewed.
- Scripts/webkitpy/common/config/contributors.json:
- 2:22 PM Changeset in webkit [281721] by
-
- 37 edits9 adds in trunk
Separate PrivateClickMeasurement database from ResourceLoadStatistics database and add SPI to set its location
https://bugs.webkit.org/show_bug.cgi?id=229527
Reviewed by Kate Cheney.
Source/WebCore:
- loader/PrivateClickMeasurement.cpp:
(WebCore::PrivateClickMeasurement::SourceSecretToken::isolatedCopy const):
(WebCore::PrivateClickMeasurement::EphemeralSourceNonce::isolatedCopy const):
(WebCore::PrivateClickMeasurement::SourceUnlinkableToken::isolatedCopy const):
(WebCore::PrivateClickMeasurement::isolatedCopy const):
- loader/PrivateClickMeasurement.h:
Source/WebKit:
This will be used by rdar://80806283
In order to do this, I moved common code to DatabaseUtilities and moved the PCM logic from ResourceLoadStatisticsDatabaseStore
to a new class. It puts the data in a different file in the same directory unless SPI tells it to put it in a different directory.
The biggest functional change I needed to do was to make a PCMObservedDomains table in the new DB instead of an ObservedDomains table,
which contained more information than I needed. I need just an index and a list of domains.
Another slight implementation change is that instead of checking isEphemeral in WebResourceLoadStatisticsStore, I just pass an empty
String to the Store if it's ephemeral, which causes no DB to be created, which causes equivalent behavior.
I also moved the debug message broadcasting to PrivateClickMeasurementManager::attribute in order to make the Database object not
need to know about the NetworkProcess and not need to keep state of whether debug mode is enabled. Database::attributePrivateClickMeasurement
now returns a DebugInfo object and PrivateClickMeasurementManager::attribute checks whether debug mode is enabled and broadcasts the messages.
I added a few calls to PrivateClickMeasurement::isolatedCopy when moving an PrivateClickMeasurement object to another thread.
I added a CompletionHandler to clearPrivateClickMeasurement and clearPrivateClickMeasurementForRegistrableDomain
so that clearing website data doesn't say it's done until it's done.
An even smaller change is I added a "ForTesting" suffix on some function names of functions that are only used in tests.
The rest of this patch just moves code from one location to another.
I still need to implement migrating data from the old DB to the new DB. I'll do that in another patch soon.
- CMakeLists.txt:
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::expectedTableAndIndexQueries):
(WebKit::ResourceLoadStatisticsDatabaseStore::ResourceLoadStatisticsDatabaseStore):
(WebKit::ResourceLoadStatisticsDatabaseStore::openITPDatabase):
(WebKit::ResourceLoadStatisticsDatabaseStore::needsUpdatedSchema):
(WebKit::insertDistinctValuesInTableStatement):
(WebKit::ResourceLoadStatisticsDatabaseStore::openAndUpdateSchemaIfNecessary):
(WebKit::ResourceLoadStatisticsDatabaseStore::interruptAllDatabases):
(WebKit::ResourceLoadStatisticsDatabaseStore::createUniqueIndices):
(WebKit::ResourceLoadStatisticsDatabaseStore::createSchema):
(WebKit::ResourceLoadStatisticsDatabaseStore::destroyStatements):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearDatabaseContents):
(WebKit::expectedUnattributedColumns): Deleted.
(WebKit::expectedAttributedColumns): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::close): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::enableForeignKeys): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::needsUpdatedPrivateClickMeasurementSchema): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::addMissingColumnsToTable): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::addMissingColumnsIfNecessary): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::renameColumnInTable): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::renameColumnsIfNecessary): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::scopedStatement const): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::interrupt): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::buildPrivateClickMeasurementFromDatabase): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::findPrivateClickMeasurement): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::insertPrivateClickMeasurement): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::markAllUnattributedPrivateClickMeasurementAsExpiredForTesting): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::removeUnattributed): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::attributePrivateClickMeasurement): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::allAttributedPrivateClickMeasurement): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::clearPrivateClickMeasurement): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::clearExpiredPrivateClickMeasurement): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::attributionToString): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::privateClickMeasurementToString): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::earliestTimesToSend): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::markReportAsSentToSource): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::markReportAsSentToDestination): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::clearSentAttribution): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::markAttributedPrivateClickMeasurementsAsExpiredForTesting): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::beginTransactionIfNecessary): Deleted.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::pcmStoreDirectory):
(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
(WebKit::WebResourceLoadStatisticsStore::create):
(WebKit::WebResourceLoadStatisticsStore::didDestroyNetworkSession):
(WebKit::WebResourceLoadStatisticsStore::suspend):
(WebKit::WebResourceLoadStatisticsStore::insertPrivateClickMeasurement): Deleted.
(WebKit::WebResourceLoadStatisticsStore::markAllUnattributedPrivateClickMeasurementAsExpiredForTesting): Deleted.
(WebKit::WebResourceLoadStatisticsStore::attributePrivateClickMeasurement): Deleted.
(WebKit::WebResourceLoadStatisticsStore::allAttributedPrivateClickMeasurement): Deleted.
(WebKit::WebResourceLoadStatisticsStore::clearPrivateClickMeasurement): Deleted.
(WebKit::WebResourceLoadStatisticsStore::clearPrivateClickMeasurementForRegistrableDomain): Deleted.
(WebKit::WebResourceLoadStatisticsStore::clearExpiredPrivateClickMeasurement): Deleted.
(WebKit::WebResourceLoadStatisticsStore::privateClickMeasurementToString): Deleted.
(WebKit::WebResourceLoadStatisticsStore::clearSentAttribution): Deleted.
(WebKit::WebResourceLoadStatisticsStore::markAttributedPrivateClickMeasurementsAsExpiredForTesting): Deleted.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
- NetworkProcess/DatabaseUtilities.cpp: Added.
(WebKit::DatabaseUtilities::DatabaseUtilities):
(WebKit::DatabaseUtilities::~DatabaseUtilities):
(WebKit::DatabaseUtilities::scopedStatement const):
(WebKit::DatabaseUtilities::beginTransactionIfNecessary):
(WebKit::DatabaseUtilities::openDatabaseAndCreateSchemaIfNecessary):
(WebKit::DatabaseUtilities::enableForeignKeys):
(WebKit::DatabaseUtilities::close):
(WebKit::DatabaseUtilities::interrupt):
- NetworkProcess/DatabaseUtilities.h: Copied from Source/WebKit/NetworkProcess/webrtc/NetworkRTCResolver.h.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::prepareToSuspend):
(WebKit::NetworkProcess::resume):
(WebKit::NetworkProcess::clearPrivateClickMeasurement):
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
(WebKit::NetworkResourceLoader::continueWillSendRedirectedRequest):
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::NetworkSession):
(WebKit::NetworkSession::setResourceLoadStatisticsEnabled):
(WebKit::NetworkSession::recreateResourceLoadStatisticStore):
(WebKit::NetworkSession::dumpPrivateClickMeasurement):
(WebKit::NetworkSession::clearPrivateClickMeasurement):
(WebKit::NetworkSession::clearPrivateClickMeasurementForRegistrableDomain):
- NetworkProcess/NetworkSession.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.cpp: Added.
(WebKit::PCM::Database::Database):
(WebKit::PCM::Database::~Database):
(WebKit::PCM::Database::interruptAllDatabases):
(WebKit::PCM::Database::createSchema):
(WebKit::PCM::Database::insertPrivateClickMeasurement):
(WebKit::PCM::Database::markAllUnattributedPrivateClickMeasurementAsExpiredForTesting):
(WebKit::PCM::Database::findPrivateClickMeasurement):
(WebKit::PCM::Database::attributePrivateClickMeasurement):
(WebKit::PCM::Database::buildPrivateClickMeasurementFromDatabase):
(WebKit::PCM::Database::removeUnattributed):
(WebKit::PCM::Database::allAttributedPrivateClickMeasurement):
(WebKit::PCM::Database::privateClickMeasurementToStringForTesting):
(WebKit::PCM::Database::attributionToStringForTesting):
(WebKit::PCM::Database::markAttributedPrivateClickMeasurementsAsExpiredForTesting):
(WebKit::PCM::Database::clearPrivateClickMeasurement):
(WebKit::PCM::Database::clearExpiredPrivateClickMeasurement):
(WebKit::PCM::Database::clearSentAttribution):
(WebKit::PCM::Database::markReportAsSentToDestination):
(WebKit::PCM::Database::markReportAsSentToSource):
(WebKit::PCM::Database::earliestTimesToSend):
(WebKit::PCM::Database::domainID):
(WebKit::PCM::Database::getDomainStringFromDomainID):
(WebKit::PCM::Database::ensureDomainID):
(WebKit::PCM::Database::destroyStatements):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.h: Added.
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDebugInfo.cpp: Copied from Source/WebKit/NetworkProcess/webrtc/NetworkRTCResolver.h.
(WebKit::PCM::DebugInfo::isolatedCopy const):
(WebKit::PCM::DebugInfo::Message::isolatedCopy const):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDebugInfo.h: Copied from Source/WebKit/NetworkProcess/webrtc/NetworkRTCResolver.h.
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementStore.cpp: Added.
(WebKit::PCM::sharedWorkQueue):
(WebKit::PCM::Store::prepareForProcessToSuspend):
(WebKit::PCM::Store::processDidResume):
(WebKit::PCM::Store::Store):
(WebKit::PCM::Store::postTask):
(WebKit::PCM::Store::postTaskReply):
(WebKit::PCM::Store::insertPrivateClickMeasurement):
(WebKit::PCM::Store::markAllUnattributedPrivateClickMeasurementAsExpiredForTesting):
(WebKit::PCM::Store::attributePrivateClickMeasurement):
(WebKit::PCM::Store::privateClickMeasurementToStringForTesting):
(WebKit::PCM::Store::allAttributedPrivateClickMeasurement):
(WebKit::PCM::Store::markAttributedPrivateClickMeasurementsAsExpiredForTesting):
(WebKit::PCM::Store::clearPrivateClickMeasurement):
(WebKit::PCM::Store::clearPrivateClickMeasurementForRegistrableDomain):
(WebKit::PCM::Store::clearExpiredPrivateClickMeasurement):
(WebKit::PCM::Store::clearSentAttribution):
(WebKit::PCM::Store::close):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementStore.h: Added.
(WebKit::PCM::Store::create):
- NetworkProcess/PrivateClickMeasurementManager.cpp:
(WebKit::PrivateClickMeasurementManager::insertPrivateClickMeasurement):
(WebKit::PrivateClickMeasurementManager::attribute):
(WebKit::PrivateClickMeasurementManager::clearSentAttribution):
(WebKit::PrivateClickMeasurementManager::firePendingAttributionRequests):
(WebKit::PrivateClickMeasurementManager::clear):
(WebKit::PrivateClickMeasurementManager::clearForRegistrableDomain):
(WebKit::PrivateClickMeasurementManager::clearExpired):
(WebKit::PrivateClickMeasurementManager::toStringForTesting const):
(WebKit::PrivateClickMeasurementManager::markAllUnattributedAsExpiredForTesting):
(WebKit::PrivateClickMeasurementManager::markAttributedPrivateClickMeasurementsAsExpiredForTesting):
(WebKit::PrivateClickMeasurementManager::toString const): Deleted.
- NetworkProcess/PrivateClickMeasurementManager.h:
- NetworkProcess/PrivateClickMeasurementNetworkLoader.cpp:
(WebKit::PrivateClickMeasurementNetworkLoader::~PrivateClickMeasurementNetworkLoader):
(WebKit::PrivateClickMeasurementNetworkLoader::cancel):
(WebKit::PrivateClickMeasurementNetworkLoader::willSendRedirectedRequest):
- NetworkProcess/PrivateClickMeasurementNetworkLoader.h:
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
- NetworkProcess/webrtc/NetworkRTCResolver.h:
- NetworkProcess/webrtc/NetworkRTCResolverCocoa.cpp:
(WebKit::resolvedName):
- Shared/ResourceLoadStatisticsParameters.h:
(WebKit::ResourceLoadStatisticsParameters::encode const):
(WebKit::ResourceLoadStatisticsParameters::decode):
- Sources.txt:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(+[WKWebsiteDataStore _setNetworkProcessSuspensionAllowedForTesting:]):
(+[WKWebsiteDataStore _preventNetworkProcessSuspensionForTesting]): Deleted.
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:
(-[_WKWebsiteDataStoreConfiguration privateClickMeasurementStorageDirectory]):
(-[_WKWebsiteDataStoreConfiguration setPrivateClickMeasurementStorageDirectory:]):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::setSuspensionAllowedForTesting):
(WebKit::NetworkProcessProxy::sendPrepareToSuspend):
(WebKit::NetworkProcessProxy::preventSuspensionForTesting): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
(WebKit::WebsiteDataStore::parameters):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
(WebKit::WebsiteDataStoreConfiguration::copy const):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:
(WebKit::WebsiteDataStoreConfiguration::privateClickMeasurementStorageDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setPrivateClickMeasurementStorageDirectory):
- WebKit.xcodeproj/project.pbxproj:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::runBasicEventAttributionTest):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/PrivateClickMeasurement.mm:
(TEST):
- 2:16 PM Changeset in webkit [281720] by
-
- 2 edits in trunk/Source/JavaScriptCore
Changed ARM64 probe trampoline to do ptr auth the standard way.
https://bugs.webkit.org/show_bug.cgi?id=229629
rdar://problem/82453220
Reviewed by Saam Barati.
Also fix a comment, and add back 2 lines that I accidentally deleted in r281718.
- assembler/MacroAssemblerARM64.cpp:
- 2:00 PM Changeset in webkit [281719] by
-
- 2 edits in trunk/LayoutTests
[ Win EWS ] 2 js/dfg-* tests are flaky crashing.
https://bugs.webkit.org/show_bug.cgi?id=229626
Unreviewed test gardening.
- platform/win/TestExpectations:
- 1:49 PM Changeset in webkit [281718] by
-
- 8 edits in trunk/Source/JavaScriptCore
Make ARM64 and X86_64 probe code a little bit more efficient.
https://bugs.webkit.org/show_bug.cgi?id=229618
rdar://82445743
Reviewed by Yusuke Suzuki.
We were using an unnecessary indirect call to call Probe::executeProbe() when we
can be using a direct call, which emits less JIT code. This patch changes the
ARM64 and X86_64 ports to use a direct call now.
Also rename executeProbe to executeJSCJITProbe to make it more unique since we're
switching to extern "C" linkage for this function now.
For MacroAssemblerX86Common.cpp, we left the X86 and MSVC implementations unchanged.
For X86, I don't know the stack alignment requirements (if any) plus we might want
to delete this code eventually since we're not supporting the X86 JIT anymore.
For MSVC, I don't know the way to express a direct call in MSVC assembly, and have
no way to test it. Will leave that as an exercise for folks working on the Windows
ports if they are interested.
Also remove JITProbeExecutorPtrTag since it's no longer needed.
- assembler/MacroAssemblerARM64.cpp:
(JSC::MacroAssembler::probe):
- assembler/MacroAssemblerARMv7.cpp:
(JSC::MacroAssembler::probe):
- assembler/MacroAssemblerMIPS.cpp:
(JSC::MacroAssembler::probe):
- assembler/MacroAssemblerX86Common.cpp:
(JSC::ctiMasmProbeTrampoline):
(JSC::MacroAssembler::probe):
- assembler/ProbeContext.cpp:
(JSC::Probe::executeJSCJITProbe):
(JSC::Probe::executeProbe): Deleted.
- assembler/ProbeContext.h:
- runtime/JSCPtrTag.h:
- 12:53 PM Changeset in webkit [281717] by
-
- 3 edits in trunk/Source/JavaScriptCore
Update ARM64EHash
https://bugs.webkit.org/show_bug.cgi?id=228962
<rdar://79883337>
Reviewed by Mark Lam.
- assembler/AssemblerBuffer.h:
(JSC::ARM64EHash::ARM64EHash):
(JSC::ARM64EHash::update):
(JSC::ARM64EHash::makeDiversifier):
(JSC::ARM64EHash::nextValue):
(JSC::ARM64EHash::bitsForDiversifier):
(JSC::ARM64EHash::currentHash):
(JSC::ARM64EHash::setUpdatedHash):
(JSC::AssemblerBuffer::AssemblerBuffer):
(JSC::AssemblerBuffer::putIntegralUnchecked):
- assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::copyCompactAndLinkCode):
- 12:38 PM Changeset in webkit [281716] by
-
- 1 edit in branches/safari-612.1.29.14-branch/Source/JavaScriptCore/assembler/AssemblerBuffer.h
Apply patch. rdar://problem/82450034
- 12:37 PM Changeset in webkit [281715] by
-
- 8 edits in branches/safari-612.1.29.14-branch/Source
Versioning.
WebKit-7612.1.29.14.5
- 12:32 PM Changeset in webkit [281714] by
-
- 6 edits2 copies in trunk/Source/WebCore
[LFC][IFC] Move LineBoxBuilder to its own file
https://bugs.webkit.org/show_bug.cgi?id=229616
Reviewed by Antti Koivisto.
This is in preparation for supporting incremental line layout.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
- layout/formattingContexts/inline/InlineFormattingGeometry.cpp:
(WebCore::Layout::LineBoxBuilder::formattingContext const): Deleted.
(WebCore::Layout::LineBoxBuilder::rootBox const): Deleted.
(WebCore::Layout::LineBoxBuilder::layoutState const): Deleted.
(WebCore::Layout::LineBoxBuilder::isRootLayoutBox const): Deleted.
(WebCore::Layout::hangingGlyphWidth): Deleted.
(WebCore::Layout::horizontalAlignmentOffset): Deleted.
(WebCore::Layout::LineBoxBuilder::LineBoxBuilder): Deleted.
(WebCore::Layout::LineBoxBuilder::build): Deleted.
(WebCore::Layout::LineBoxBuilder::setVerticalGeometryForInlineBox const): Deleted.
(WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes): Deleted.
(WebCore::Layout::InlineFormattingGeometry::lineBoxForLineContent const): Deleted.
- layout/formattingContexts/inline/InlineFormattingGeometry.h:
- 12:31 PM Changeset in webkit [281713] by
-
- 1 edit in branches/safari-612.1.29-branch/Source/JavaScriptCore/assembler/AssemblerBuffer.h
Apply patch. rdar://problem/82449728
- 12:30 PM Changeset in webkit [281712] by
-
- 1 edit in branches/safari-612-branch/Source/JavaScriptCore/assembler/AssemblerBuffer.h
Apply patch. rdar://problem/82449747
- 12:13 PM Changeset in webkit [281711] by
-
- 4 edits in trunk/Source/WebCore
[IFC][Integration] Generate runs for the root inlinebox
https://bugs.webkit.org/show_bug.cgi?id=229599
Reviewed by Antti Koivisto.
This is in preparation for using runs only for all the boxes.
- layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLineRuns const):
- 11:53 AM Changeset in webkit [281710] by
-
- 2 edits in trunk/LayoutTests
[ BigSur EWS] webrtc/video-mediastreamtrack-stats.html is a flaky crash / failing.
https://bugs.webkit.org/show_bug.cgi?id=229614
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 11:44 AM Changeset in webkit [281709] by
-
- 2 edits in trunk/Tools
Extend API test coverage to make sure didFailProvisionalLoad is not called upon COOP process swap
https://bugs.webkit.org/show_bug.cgi?id=229610
Reviewed by Alex Christensen.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- 11:41 AM Changeset in webkit [281708] by
-
- 9 edits in trunk
[CMake] ICU 61.2 is required to build WebKit since r281375
https://bugs.webkit.org/show_bug.cgi?id=229608
Reviewed by Yusuke Suzuki.
Raise the minimum version required for ICU.
- Source/cmake/OptionsAppleWin.cmake:
- Source/cmake/OptionsFTW.cmake:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsJSCOnly.cmake:
- Source/cmake/OptionsMac.cmake:
- Source/cmake/OptionsPlayStation.cmake:
- Source/cmake/OptionsWPE.cmake:
- Source/cmake/OptionsWinCairo.cmake:
- 11:20 AM Changeset in webkit [281707] by
-
- 1 copy in tags/Safari-612.1.29.14.4
Tag Safari-612.1.29.14.4.
- 11:08 AM Changeset in webkit [281706] by
-
- 28 edits4 adds in trunk
[WK2] Reuse the same network load when process-swapping on resource response due to COOP
https://bugs.webkit.org/show_bug.cgi?id=229465
<rdar://problem/82307611>
Reviewed by Alex Christensen.
Source/WebKit:
r281516 added support for process-swapping based on Cross-Origin-Opener-Policy header
in HTTP responses. However, on process-swap, we would abort the existing network load
that was started by the original WebProcess and start a fresh network load in the new
WebProcess. This was suboptimal and could lead to issues with resources that provide
one-time behaviors. This patch addresses the issue by transferring the network load
in the network process from the old WebProcess to the new WebProcess when process
swapping.
When the UIProcess decides to process-swap on response policy decision, it first
sends IPC to the network process to ask it to prepare the NetworkResourceLoader
for ownership transfer. The network process takes the NetworkResourceLoader
from its NetworkConnectionToWebProcess and stores it in a temporary cache, then
responds to the UIProcess with the NetworkResourceLoadIdentifier of the loader.
Upon receiving the response, the UIProcess proceeds with the process-swap, it
rejects response processing in the old process and does a loadRequest in a new
WebProcess. When starting sending the LoadRequest IPC to the new WebProcess, it
passes along the NetworkResourceLoadIdentifier of the cached loader in the network
process. When the WebProcess ends up scheduling the load with the network process,
it passes again the NetworkResourceLoadIdentifier. Upon receiving the load request,
the network process checks if a NetworkResourceLoadIdentifier is provided for
continuing a load. If none is provided, we use the regular code path and actually
construct a new NetworkResourceLoader. However, if a NetworkResourceLoadIdentifier
is provided, we take the corresponding NetworkResourceLoader from the cache,
transfer it to the new NetworkConnectionToWebProcess and have it send the
DidReceiveResponse IPC to the WebProcess to continue the load with the new
WebProcess.
Test: http/wpt/cross-origin-opener-policy/single-request-to-server.html
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didCleanupResourceLoader):
(WebKit::NetworkConnectionToWebProcess::transferKeptAliveLoad):
(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
(WebKit::NetworkConnectionToWebProcess::takeNetworkResourceLoader):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::CachedNetworkResourceLoader::CachedNetworkResourceLoader):
(WebKit::NetworkProcess::CachedNetworkResourceLoader::takeLoader):
(WebKit::NetworkProcess::CachedNetworkResourceLoader::expirationTimerFired):
(WebKit::NetworkProcess::takeLoaderAwaitingWebProcessTransfer):
(WebKit::NetworkProcess::prepareLoadForWebProcessTransfer):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::transferToNewWebProcess):
(WebKit::NetworkResourceLoader::shouldInterruptLoadForXFrameOptions):
(WebKit::NetworkResourceLoader::shouldInterruptLoadForCSPFrameAncestorsOrXFrameOptions):
(WebKit::NetworkResourceLoader::shouldInterruptNavigationForCrossOriginEmbedderPolicy):
(WebKit::NetworkResourceLoader::shouldInterruptWorkerLoadForCrossOriginEmbedderPolicy):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFailLoading):
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
(WebKit::NetworkResourceLoader::logCookieInformation const):
(WebKit::NetworkResourceLoader::addConsoleMessage):
(WebKit::NetworkResourceLoader::serviceWorkerDidNotHandle):
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
(WebKit::ServiceWorkerFetchTask::sendToClient):
(WebKit::ServiceWorkerFetchTask::didReceiveResponse):
- Shared/LoadParameters.cpp:
(WebKit::LoadParameters::encode const):
(WebKit::LoadParameters::decode):
- Shared/LoadParameters.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::prepareLoadForWebProcessTransfer):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::loadRequest):
(WebKit::ProvisionalPageProxy::decidePolicyForResponse):
- UIProcess/ProvisionalPageProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadRequestWithNavigationShared):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::decidePolicyForResponseShared):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
- WebProcess/Network/WebLoaderStrategy.h:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadRequest):
- WebProcess/WebPage/WebPage.h:
LayoutTests:
Add layout test coverage.
- http/wpt/cross-origin-opener-policy/resources/single-request-to-server-popup.py: Added.
(main):
- http/wpt/cross-origin-opener-policy/single-request-to-server-expected.txt: Added.
- http/wpt/cross-origin-opener-policy/single-request-to-server.html: Added.
- 11:07 AM Changeset in webkit [281705] by
-
- 8 edits in branches/safari-612.1.29.14-branch/Source
Versioning.
WebKit-7612.1.29.14.4
- 11:02 AM Changeset in webkit [281704] by
-
- 1 edit in branches/safari-612.1.29.14-branch/Source/WebCore/Configurations/WebCoreTestSupport.xcconfig
Cherry-pick r281250. rdar://problem/82445892
Build fix after r281245.
Link with Metal.framework.
- Configurations/WebCoreTestSupport.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281250 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:02 AM Changeset in webkit [281703] by
-
- 7 edits4 adds in branches/safari-612.1.29.14-branch
Cherry-pick r281245. rdar://problem/82445892
WebGL via Metal experimental feature does not correctly toggle metal backend
https://bugs.webkit.org/show_bug.cgi?id=229267
<rdar://81855735>
Source/WebCore:
Patch by Kyle Piddington <Kyle Piddington> on 2021-08-19
Reviewed by Dean Jackson.
GraphicsContextGLAttributes defines 'useMetal' as 'true' by default.
Since this branch was only checking if Metal was enabled via the
setting, rather than checking the status of the flag, the metal backend
was never disabled, even when requested.
Tests: webgl/webgl-metal-disabled.html
webgl/webgl-metal-enabled.html
- WebCore.xcodeproj/project.pbxproj:
- html/canvas/WebGLRenderingContextBase.cpp: (WebCore::WebGLRenderingContextBase::create):
- testing/Internals.cpp: (WebCore::Internals::requestedMetal):
- testing/Internals.h:
- testing/Internals.idl:
- testing/Internals.mm: (WebCore::Internals::platformSupportsMetal):
LayoutTests:
Add tests to verify WebGL feature flag works as intended.
Patch by Kyle Piddington <Kyle Piddington> on 2021-08-19
Reviewed by Dean Jackson.
- webgl/webgl-metal-disabled-expected.txt: Added.
- webgl/webgl-metal-disabled.html: Added.
- webgl/webgl-metal-enabled-expected.txt: Added.
- webgl/webgl-metal-enabled.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:53 AM Changeset in webkit [281702] by
-
- 4 edits in trunk/LayoutTests
Update test expectations for webrtc/datachannel/multiple-connections.html.
https://bugs.webkit.org/show_bug.cgi?id=209878.
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 10:43 AM Changeset in webkit [281701] by
-
- 19 edits in trunk
[CSS Cascade Layers] Initial support
https://bugs.webkit.org/show_bug.cgi?id=229542
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-cascade/layer-basic-expected.txt:
Source/WebCore:
https://www.w3.org/TR/css-cascade-5/#cascade-layers
This patch adds initial support for @layer rules, including both the block and the statement syntax.
No support for @import or CSSOM yet but basic functionality mostly works.
The feature is disabled by default.
- css/StyleRule.cpp:
(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleBase::copy const):
(WebCore::StyleRuleBase::createCSSOMWrapper const):
(WebCore::StyleRuleLayer::StyleRuleLayer):
(WebCore::m_nameVariant):
(WebCore::StyleRuleLayer::create):
- css/StyleRule.h:
(WebCore::StyleRuleBase::isGroupRule const):
Add support for casting to StyleRuleGroup.
(WebCore::StyleRuleBase::isLayerRule const):
(isType):
- css/StyleRuleType.h:
Add subclass for layer.
- css/StyleSheetContents.cpp:
(WebCore::traverseRulesInVector):
(WebCore::StyleSheetContents::traverseSubresources const):
Traversal support. Also cover other missing group rules.
- css/parser/CSSAtRuleID.cpp:
(WebCore::cssAtRuleID):
- css/parser/CSSAtRuleID.h:
- css/parser/CSSParserContext.cpp:
Enable bit.
(WebCore::operator==):
(WebCore::add):
- css/parser/CSSParserContext.h:
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeAtRule):
(WebCore::CSSParserImpl::consumeLayerRule):
Parsing support.
- css/parser/CSSParserImpl.h:
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::addMatchedRule):
(WebCore::Style::ElementRuleCollector::collectMatchingRulesForList):
Save the layer order to MatchResult.
(WebCore::Style::compareRules):
Layer order has higher priority than specificity but lower than scope.
- style/ElementRuleCollector.h:
- style/RuleSet.cpp:
(WebCore::Style::RuleSet::addRule):
(WebCore::Style::RuleSet::addChildRules):
(WebCore::Style::RuleSet::pushCascadeLayer):
(WebCore::Style::RuleSet::popCascadeLayer):
Compute layer order when adding the rules to RuleSet.
- style/RuleSet.h:
(WebCore::Style::RuleSet::cascadeLayerOrderFor const):
Resolved order is kept in a side vector to avoid bloating RuleSet. The vector is initialized
only if cascade layers are being used.
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 10:12 AM Changeset in webkit [281700] by
-
- 3 edits2 adds in trunk
REGRESSION (r276882): Shadow trees may use stale style information after inline stylesheet is mutated via CSSOM
https://bugs.webkit.org/show_bug.cgi?id=228917
rdar://81483998
Reviewed by Alan Bujtas.
Source/WebCore:
If a stylesheet in a shadow tree is mutated via CSSOM we fail to remove cached style resolver for the mutated sheet
and may end up with stale style.
Test: fast/shadow-dom/shadow-stylesheet-mutation.html
- style/StyleScope.cpp:
(WebCore::Style::Scope::unshareShadowTreeResolverBeforeMutation):
Remove an assert relevant to the previous call site only.
(WebCore::Style::Scope::scheduleUpdate):
Unshare shadow tree resolver immeditaly when stylesheet contents or interpretation changes.
LayoutTests:
Original reduction by Thomas Ladd.
- fast/shadow-dom/shadow-stylesheet-mutation-expected.html: Added.
- fast/shadow-dom/shadow-stylesheet-mutation.html: Added.
- 10:02 AM Changeset in webkit [281699] by
-
- 6 edits in trunk
REGRESSION (r281516): imported/w3c/web-platform-tests/IndexedDB/serialize-sharedarraybuffer-throws.https.html is failing
https://bugs.webkit.org/show_bug.cgi?id=229501
<rdar://problem/82346152>
Reviewed by Darin Adler.
Tools:
In case of a COOP process-swap, the old process gets a didFailProvisionalLoadWithErrorForFrame delegate call. We want to ignore
this call in WKTR's injected bundle since it causes the test to dump its output too eagerly, before the test has had a chance
to run in the new process.
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::didFailProvisionalLoadWithErrorForFrame):
(WTR::InjectedBundlePage::didCommitLoadForFrame):
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
LayoutTests:
Unskip tests now that they should no longer be flaky.
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- 9:50 AM Changeset in webkit [281698] by
-
- 4 edits in trunk/LayoutTests
[css-position-sticky] createIndicatorForStickyElements testing function races with font loading
https://bugs.webkit.org/show_bug.cgi?id=229602
Reviewed by Žan Doberšek.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-position/resources/ref-rectangle.js:
(createIndicatorForStickyElements): Wait to read the size of the target div until
all web fonts have loaded. This ensures that this executes after Ahem has loaded
for the failing test.
LayoutTests:
- TestExpectations: Mark a test as newly passing.
- 9:30 AM Changeset in webkit [281697] by
-
- 2 edits in trunk/Tools
PrivateClickMeasurementManager::firePendingAttributionRequests() is crashing in debug
https://bugs.webkit.org/show_bug.cgi?id=229551
Reviewed by John Wilander.
We pre-fill the PCM database with data for this test but don't clear
it once the test is over. This causes crashes in other tests.
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
- 9:28 AM Changeset in webkit [281696] by
-
- 2 edits in trunk/LayoutTests
[Mac wk2] http/tests/media/hls/hls-webvtt-seek-backwards.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=228189
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 8:16 AM Changeset in webkit [281695] by
-
- 11 edits1 add in trunk/Tools
[git-webkit] Add pull-request command (Part 6)
https://bugs.webkit.org/show_bug.cgi?id=229089
<rdar://problem/81908751>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.init): Add commit, add and push commands.
(Git.commit): Create new commit from staged files.
(Git.add): Stage modified files.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/bitbucket.py:
(BitBucket.init): Add pull_requests.
(BitBucket.request): Add ability to list and edit pull requets.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py:
(GitHub.init): Add pull_requests.
(GitHub.request): Add ability to list and edit pull requets.
- Scripts/libraries/webkitscmpy/webkitscmpy/program/init.py: Add PullRequest.
- Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.parser): Add '--add' and '--no-add' to allow user to specify how modified files
are incorperated into the pull-request.
(PullRequest.create_commit): Based on currently modified files, either create a new commit or
add those files to an existing commit.
(PullRequest.branch_point): Determine when this branch diverged from a production branch.
(PullRequest.main): Create branch, create commit on branch, push branch and either create or
update a pull-request.
- Scripts/libraries/webkitscmpy/webkitscmpy/remote/bitbucket.py:
(BitBucket.PRGenerator.find):
(BitBucket.PRGenerator.create):
(BitBucket.PRGenerator.update):
(BitBucket.init): Add pull_request generator.
- Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.PRGenerator.find):
(GitHub.PRGenerator.create):
(GitHub.PRGenerator.update):
(GitHub.init): Add pull_request generator.
- Scripts/libraries/webkitscmpy/webkitscmpy/remote/scm.py:
(Scm.PRGenerator.init):
(Scm.PRGenerator.find):
(Scm.PRGenerator.create):
(Scm.PRGenerator.update):
- Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
(TestDoPullRequest.setUp):
(TestDoPullRequest.test_svn):
(TestDoPullRequest.test_no_modified):
(TestDoPullRequest.test_staged):
(TestDoPullRequest.test_modified):
(TestDoPullRequest.test_github):
(TestDoPullRequest.test_github_update):
(TestDoPullRequest.test_stash):
(TestDoPullRequest.test_stash_update):
- 7:51 AM Changeset in webkit [281694] by
-
- 5 edits in trunk/Source
Avoid increasing required alignment of target type warning on ARM 32 bits
https://bugs.webkit.org/show_bug.cgi?id=229151
Patch by Mikhail R. Gadelha <Mikhail R. Gadelha> on 2021-08-27
Reviewed by Mark Lam.
Same approach as https://bugs.webkit.org/show_bug.cgi?id=38045
cast pointers to void* to bypass warning about increasing pointer
alingment. reinterpret_cast_ptr has custom behaviour only on ARM and
MIPS 32 bits, and doesn't change the behaviour in 64 bits archs
(reinterpret_cast_ptr is preprocessed to reinterpret_cast in 64 bits
archs)
Source/JavaScriptCore:
- bytecode/Instruction.h:
(JSC::BaseInstruction::asKnownWidth const):
- llint/LLIntCommon.h:
Source/WTF:
- wtf/BloomFilter.h:
(WTF::BloomFilter<keyBits>::keysFromHash):
- wtf/FileSystem.cpp:
(WTF::FileSystemImpl::makeSalt):
- 7:48 AM Changeset in webkit [281693] by
-
- 8 edits in trunk/Source/JavaScriptCore
Unreviewed, reverting r281587.
https://bugs.webkit.org/show_bug.cgi?id=229609
stress test failed on ARM64
Reverted changeset:
"[ARM64] Fix pre-index address mode"
https://bugs.webkit.org/show_bug.cgi?id=229175
https://commits.webkit.org/r281587
- 6:21 AM Changeset in webkit [281692] by
-
- 5 edits2 adds in trunk
Don't forget about the outer selector when matching ::slotted().
https://bugs.webkit.org/show_bug.cgi?id=229438
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-scoping/slotted-specificity-002-expected.html: Added.
- web-platform-tests/css/css-scoping/slotted-specificity-002.html: Added.
- web-platform-tests/css/css-scoping/w3c-import.log:
Source/WebCore:
Test: imported/w3c/web-platform-tests/css/css-scoping/slotted-specificity-002.html
- css/CSSSelector.cpp:
(WebCore::simpleSelectorSpecificityInternal):
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::ruleMatches):
- 3:54 AM Changeset in webkit [281691] by
-
- 9 edits2 adds in trunk
Make AXCoreObject::setSelectedVisiblePositionRange work in native text controls on MacOS.
https://bugs.webkit.org/show_bug.cgi?id=229529
Reviewed by Chris Fleizach.
Source/WebCore:
Test: accessibility/mac/native-text-control-set-selected-textmarker-range.html
Trying to set the selection in native text controls using the atribute
AXSelectedTextMarkerRange didn't work for MacOS AX clients. This patch
implements this functionality by properly handling native text controls
in AccessibilityRenderObject::setSelectedVisiblePositionRange.
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityObjectInterface.h:
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::documentBasedSelectedTextRange const):
(WebCore::AccessibilityRenderObject::selectedVisiblePositionRange const): Added.
(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange const):
- accessibility/AccessibilityRenderObject.h:
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::selectedVisiblePositionRange const):
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper textMarkerRangeForSelection]): Renamed selectedTextMarkerRange for consistency.
LayoutTests:
- accessibility/mac/native-text-control-set-selected-textmarker-range-expected.txt: Added.
- accessibility/mac/native-text-control-set-selected-textmarker-range.html: Added.
- 2:40 AM Changeset in webkit [281690] by
-
- 3 edits in trunk/Tools
[run-webkit-tests] Use Python 3 (Part 3)
https://bugs.webkit.org/show_bug.cgi?id=226658
<rdar://problem/78882016>
Reviewed by Ryan Haddad.
- CISupport/ews-build/steps.py:
(RunWebKitTests): Change invocation to Python 3.
- CISupport/ews-build/steps_unittest.py:
(test_success): Change invocation to Python 3.
(test_warnings): Ditto.
- 12:38 AM Changeset in webkit [281689] by
-
- 45 edits in trunk/LayoutTests
[css-position-sticky] Update WPT position:sticky tests
https://bugs.webkit.org/show_bug.cgi?id=229555
Reviewed by Sergio Villar Senin.
LayoutTests/imported/w3c:
- resources/import-expectations.json:
- web-platform-tests/css/css-position/sticky/position-sticky-change-top-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-change-top.html:
- web-platform-tests/css/css-position/sticky/position-sticky-flexbox-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-flexbox.html:
- web-platform-tests/css/css-position/sticky/position-sticky-grid-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-grid.html:
- web-platform-tests/css/css-position/sticky/position-sticky-hyperlink-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-hyperlink.html:
- web-platform-tests/css/css-position/sticky/position-sticky-inline-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-inline.html:
- web-platform-tests/css/css-position/sticky/position-sticky-nested-inline-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-nested-inline.html:
- web-platform-tests/css/css-position/sticky/position-sticky-nested-table-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-nested-table.html:
- web-platform-tests/css/css-position/sticky/position-sticky-nested-thead-th-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-nested-thead-th.html:
- web-platform-tests/css/css-position/sticky/position-sticky-rendering-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-rendering.html:
- web-platform-tests/css/css-position/sticky/position-sticky-stacking-context-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-stacking-context.html:
- web-platform-tests/css/css-position/sticky/position-sticky-table-parts-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-table-parts.html:
- web-platform-tests/css/css-position/sticky/position-sticky-table-tfoot-bottom-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-table-tfoot-bottom.html:
- web-platform-tests/css/css-position/sticky/position-sticky-table-th-bottom-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-table-th-bottom.html:
- web-platform-tests/css/css-position/sticky/position-sticky-table-th-left-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-table-th-left.html:
- web-platform-tests/css/css-position/sticky/position-sticky-table-th-right-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-table-th-right.html:
- web-platform-tests/css/css-position/sticky/position-sticky-table-th-top-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-table-th-top.html:
- web-platform-tests/css/css-position/sticky/position-sticky-table-thead-top-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-table-thead-top.html:
- web-platform-tests/css/css-position/sticky/position-sticky-table-tr-bottom-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-table-tr-bottom.html:
- web-platform-tests/css/css-position/sticky/position-sticky-table-tr-top-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-table-tr-top.html:
- web-platform-tests/css/css-position/sticky/position-sticky-writing-modes-expected.html:
- web-platform-tests/css/css-position/sticky/position-sticky-writing-modes.html:
- web-platform-tests/css/css-position/sticky/w3c-import.log:
LayoutTests:
- TestExpectations: Unskip newly passing tests.
- 12:15 AM Changeset in webkit [281688] by
-
- 5 edits1 add in trunk
Intl.DateTimeFormat incorrectly parses patterns with 'h' literal
https://bugs.webkit.org/show_bug.cgi?id=229313
rdar://82414310
Reviewed by Ross Kirsling.
JSTests:
- stress/intl-date-pattern-includes-literal-text.js: Added.
(shouldBe):
Source/JavaScriptCore:
While DateTimeFormat pattern and skeleton can include single-quoted literal texts,
we are not respecting that when parsing them to extract information. As a result,
we are incorrectly extracting hour-cycle information for "fr" locale since it can
include "HH 'h'" pattern text. This patch fixes that by skipping literal text
correctly.
- runtime/IntlDateTimeFormat.cpp:
(JSC::skipLiteralText):
(JSC::IntlDateTimeFormat::setFormatsFromPattern):
(JSC::IntlDateTimeFormat::hourCycleFromPattern):
(JSC::IntlDateTimeFormat::replaceHourCycleInSkeleton):
(JSC::IntlDateTimeFormat::replaceHourCycleInPattern):
- runtime/IntlDateTimeFormat.h:
- runtime/IntlLocale.cpp:
(JSC::IntlLocale::hourCycles):