Timeline
Dec 19, 2021:
- 9:03 PM Changeset in webkit [287253] by
-
- 20 edits6 copies in trunk/Source
Stub out NotificationEvent and related
https://bugs.webkit.org/show_bug.cgi?id=234420
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (Disabled for now, no behavior change)
This patch adds stubs for NotificationEvent and the related classes/functions that use it.
Enabling just the stubs throws LayoutTests into a chaotic state that is not useful to manage with
test expectations files. So this also puts the related changes behind a disabled-by-default runtime switch.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- Modules/notifications/Notification.h:
- Modules/notifications/Notification.idl:
- Modules/notifications/NotificationDirection.idl: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
- Modules/notifications/NotificationEvent.cpp: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
(WebCore::NotificationEvent::~NotificationEvent):
- Modules/notifications/NotificationEvent.h: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
- Modules/notifications/NotificationEvent.idl: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
- Modules/notifications/NotificationOptions.h: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
- Modules/notifications/NotificationOptions.idl: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
- bindings/js/WebCoreBuiltinNames.h:
- dom/EventNames.h:
- dom/EventNames.in:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setNotificationEventEnabled):
(WebCore::RuntimeEnabledFeatures::notificationEventEnabled const):
- workers/service/ServiceWorkerGlobalScope.idl:
- workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::showNotification):
(WebCore::ServiceWorkerRegistration::getNotifications):
- workers/service/ServiceWorkerRegistration.h:
- workers/service/ServiceWorkerRegistration.idl:
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
- wtf/PlatformEnable.h:
- 7:37 PM Changeset in webkit [287252] by
-
- 2 edits in trunk/Source/WebCore
Minor cleanup in aisle EventHandler::handleWheelEventInAppropriateEnclosingBox()
https://bugs.webkit.org/show_bug.cgi?id=234493
Reviewed by Wenson Hsieh.
Remove a confusing RenderListBox special case, which simply existed because the loop
below didn't know how to get a ScrollableArea for a RenderListBox.
Also rename didScrollInScrollableArea() to scrollViaNonPlatformEvent() because
the past tense in the name was inaccurate.
- page/EventHandler.cpp:
(WebCore::scrollViaNonPlatformEvent):
(WebCore::EventHandler::handleWheelEventInAppropriateEnclosingBox):
(WebCore::didScrollInScrollableArea): Deleted.
- 7:22 PM Changeset in webkit [287251] by
-
- 3 edits in trunk/Source/WebCore
Remove EventHandler::scrollDistance()
https://bugs.webkit.org/show_bug.cgi?id=234494
Reviewed by Wenson Hsieh.
This function is unused.
- page/EventHandler.cpp:
(WebCore::EventHandler::scrollDistance): Deleted.
- page/EventHandler.h:
- 5:12 PM Changeset in webkit [287250] by
-
- 2 edits in trunk/Source/WebCore
Use character names instead of hex codes in FontCascade.h
https://bugs.webkit.org/show_bug.cgi?id=234451
Reviewed by Dean Jackson.
Saying something like "c == zeroWidthNonJoiner" is much more clear than "c == 0x200c".
No new tests because there is no behavior change.
- platform/graphics/FontCascade.h:
(WebCore::FontCascade::treatAsSpace):
(WebCore::FontCascade::treatAsZeroWidthSpace):
(WebCore::FontCascade::treatAsZeroWidthSpaceInComplexScript):
- 4:03 PM Changeset in webkit [287249] by
-
- 3 edits in trunk/Source/WebCore
Don't pack audio samples with discontinuity together
https://bugs.webkit.org/show_bug.cgi?id=234458
rdar://86659914
Reviewed by Eric Carlson.
Some webm content may have a data gap between frames. Normally audio frames
are packed in 2s block. When we pack the samples with discontinuities, those
discontinuities would all be accumulated at the 2s boundary which makes them
much more audible.
The CMSampleBufferCreateReady API should allow us to pack samples with
discontinuities as we can give a vector of CMSampleTimingInfo with the
exact information for all packets.
However, this data appears to be ignored and the discontinuities is still
heard at the 2s boundary.
So we no longer pack samples with discontinuities so that the frame
timestamps will be more accurate and no audible artefacts are heard on
small gaps.
Manually tested and verified manually. This is getting around an issue
in CoreMedia that inserts very audible artifacts when there's a gap between
samples.
- platform/graphics/cocoa/SourceBufferParserWebM.cpp:
(WebCore::SourceBufferParserWebM::AudioTrackData::resetCompleted):
(WebCore::SourceBufferParserWebM::AudioTrackData::consumeFrameData):
(WebCore::SourceBufferParserWebM::AudioTrackData::createSampleBuffer):
- platform/graphics/cocoa/SourceBufferParserWebM.h:
- 3:55 PM Changeset in webkit [287248] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Add support for RTL text-indent
https://bugs.webkit.org/show_bug.cgi?id=234461
Reviewed by Antti Koivisto.
See https://drafts.csswg.org/css-text/#text-indent-property
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::build):
- 12:43 PM Changeset in webkit [287247] by
-
- 19 edits1 add in trunk/Source
Add client layer plumbing for classifying modal container controls
https://bugs.webkit.org/show_bug.cgi?id=234320
Reviewed by Dean Jackson.
Source/WebCore:
Add a chrome client method to asynchronously classify text inside modal container controls as one of { Neutral,
Positive, Negative or Other }. While currently unimplemented, the next patch will add support for a singleton
ModalContainerControlClassifier in WebKit2, and use it to implement this client hook.
- Headers.cmake:
- WebCore.xcodeproj/project.pbxproj:
- loader/EmptyClients.cpp:
(WebCore::EmptyChromeClient::classifyModalContainerControls):
- loader/EmptyClients.h:
- page/ChromeClient.h:
- page/ModalContainerControlType.h: Added.
Source/WebKit:
See WebCore/ChangeLog for more details.
- Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::classifyModalContainerControls):
Add a method stub with a comment for now. The next patch in the sequence will implement this method hook on
Cocoa platforms.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::requestCookieConsent):
Drive-by fix: remove an unnecessary WebCore:: prefix.
(WebKit::WebChromeClient::classifyModalContainerControls):
- WebProcess/WebCoreSupport/WebChromeClient.h:
Source/WebKitLegacy/mac:
See WebCore/ChangeLog for more details.
- WebCoreSupport/WebChromeClient.h:
- WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::classifyModalContainerControls):
Source/WebKitLegacy/win:
See WebCore/ChangeLog for more details.
- WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::classifyModalContainerControls):
- WebCoreSupport/WebChromeClient.h:
- 12:34 PM Changeset in webkit [287246] by
-
- 98 edits in trunk/Source/bmalloc
[libpas] Add macros to disable bmalloc core so that libpas can be enabled on 64-bit watchOS
https://bugs.webkit.org/show_bug.cgi?id=234481
Reviewed by David Kilzer.
This patch re-enables libpas for watchOS by disabling compilation of bmalloc core when libpas
is enabled.
Also we found that size of libbmalloc.a is misleading: it is just collection of object
files, thus it includes a lot of duplicate inline functions, which is deduped when linking
it to JavaScriptCore.framework. Thus, that size does not directly reflect the final size of
JavaScriptCore.framework.
Before and after this patch, we see 2.4MB size reduction in total.
- JavaScriptCore.framework increases by 363KB.
Before: 32452544 JavaScriptCore.framework/JavaScriptCore
After: 32825088 JavaScriptCore.framework/JavaScriptCore
Most part of libbmalloc.a archive file is just many duplicate inline functions, which is deduped
in JavaScriptCore.framework (archive file v.s. framework). After deduping and after removing bmalloc
core in this patch, it only increases 363KB. Removing bmalloc core code is contributing to 70KB reduction.
- WebCore.framework decreases by 2.75MB
Before: 72591584 WebCore.framework/WebCore
After: 69702240 WebCore.framework/WebCore
We can get 2.75MB size reduction if we enable libpas on WebCore. This is because how IsoHeap is
implemented in bmalloc v.s. libpas. In bmalloc, we use extensive amount of distinct template-based
IsoHeap code, which bloats code size. Plus, it uses very long function name strings to fix per-process
singleton linking issue happening for C++ template. Compared to that, libpas is just using very small
C structure and functions that can be much smaller than the bmalloc's IsoHeap's code which even duplicate
slow path code. As a result, switching to libpas offers 2.75MB size deduction.
- bmalloc/Algorithm.h:
- bmalloc/AllIsoHeaps.cpp:
- bmalloc/AllIsoHeaps.h:
- bmalloc/AllIsoHeapsInlines.h:
- bmalloc/Allocator.cpp:
- bmalloc/Allocator.h:
- bmalloc/BInline.h:
- bmalloc/BPlatform.h:
- bmalloc/Bits.h:
- bmalloc/BulkDecommit.h:
- bmalloc/BumpAllocator.h:
- bmalloc/BumpRange.h:
- bmalloc/Cache.cpp:
- bmalloc/Cache.h:
- bmalloc/Chunk.h:
- bmalloc/Deallocator.cpp:
- bmalloc/Deallocator.h:
- bmalloc/DeferredDecommit.h:
- bmalloc/DeferredDecommitInlines.h:
- bmalloc/DeferredTrigger.h:
- bmalloc/DeferredTriggerInlines.h:
- bmalloc/EligibilityResult.h:
- bmalloc/EligibilityResultInlines.h:
- bmalloc/Environment.h:
- bmalloc/FixedVector.h:
- bmalloc/FreeList.cpp:
- bmalloc/FreeList.h:
- bmalloc/FreeListInlines.h:
- bmalloc/Heap.cpp:
- bmalloc/Heap.h:
- bmalloc/HeapConstants.cpp:
- bmalloc/HeapConstants.h:
- bmalloc/IsoAllocator.h:
- bmalloc/IsoAllocatorInlines.h:
- bmalloc/IsoConfig.h:
- bmalloc/IsoDeallocator.h:
- bmalloc/IsoDeallocatorInlines.h:
- bmalloc/IsoDirectory.h:
- bmalloc/IsoDirectoryInlines.h:
- bmalloc/IsoDirectoryPage.h:
- bmalloc/IsoDirectoryPageInlines.h:
- bmalloc/IsoHeapImpl.cpp:
- bmalloc/IsoHeapImpl.h:
- bmalloc/IsoHeapImplInlines.h:
- bmalloc/IsoMallocFallback.h:
- bmalloc/IsoPage.cpp:
- bmalloc/IsoPage.h:
- bmalloc/IsoPageInlines.h:
- bmalloc/IsoPageTrigger.h:
- bmalloc/IsoSharedConfig.h:
- bmalloc/IsoSharedHeap.cpp:
- bmalloc/IsoSharedHeap.h:
- bmalloc/IsoSharedHeapInlines.h:
- bmalloc/IsoSharedPage.cpp:
- bmalloc/IsoSharedPage.h:
- bmalloc/IsoSharedPageInlines.h:
- bmalloc/IsoTLS.cpp:
- bmalloc/IsoTLS.h:
- bmalloc/IsoTLSAllocatorEntry.h:
- bmalloc/IsoTLSAllocatorEntryInlines.h:
- bmalloc/IsoTLSDeallocatorEntry.h:
- bmalloc/IsoTLSDeallocatorEntryInlines.h:
- bmalloc/IsoTLSEntry.cpp:
- bmalloc/IsoTLSEntry.h:
- bmalloc/IsoTLSEntryInlines.h:
- bmalloc/IsoTLSInlines.h:
- bmalloc/IsoTLSLayout.cpp:
- bmalloc/IsoTLSLayout.h:
- bmalloc/LargeMap.cpp:
- bmalloc/LargeMap.h:
- bmalloc/LargeRange.h:
- bmalloc/LineMetadata.h:
- bmalloc/List.h:
- bmalloc/Map.h:
- bmalloc/Object.h:
- bmalloc/ObjectType.cpp:
- bmalloc/ObjectType.h:
- bmalloc/ObjectTypeTable.cpp:
- bmalloc/ObjectTypeTable.h:
- bmalloc/Packed.h:
- bmalloc/PerHeapKind.h:
- bmalloc/PerProcess.cpp:
- bmalloc/PerProcess.h:
- bmalloc/PerThread.h:
- bmalloc/PhysicalPageMap.h:
- bmalloc/Range.h:
- bmalloc/Scavenger.cpp:
- bmalloc/Scavenger.h:
- bmalloc/Sizes.h:
- bmalloc/SmallLine.h:
- bmalloc/SmallPage.h:
- bmalloc/StdLibExtras.h:
- bmalloc/Syscall.h:
- bmalloc/VMAllocate.h:
- bmalloc/Vector.h:
- bmalloc/Zone.cpp:
- bmalloc/Zone.h:
- 12:24 PM Changeset in webkit [287245] by
-
- 3 edits in trunk/Source/WebCore
Add a basic heuristic for collecting and extracting text from controls in ModalContainerObserver
https://bugs.webkit.org/show_bug.cgi?id=234299
Reviewed by Dean Jackson.
Introduce a heuristic for extracting clickable controls from modal containers, that are unlikely to be links
(i.e. trigger navigation when clicked). See below for more details.
- page/ModalContainerObserver.cpp:
(WebCore::ModalContainerObserver::ModalContainerObserver):
(WebCore::ModalContainerObserver::updateModalContainerIfNeeded):
Once a modal container has been detected, schedule a short timer to traverse the modal container's subtree in
search for clickable controls. In a future patch, we may need to lengthen this delay or even introduce a
mechanism for restarting the timer periodically if no clickable controls are discovered in the modal container.
(WebCore::accessibilityRole):
(WebCore::isClickableControl):
(WebCore::removeParentOrChildElements):
(WebCore::removeElementsWithEmptyBounds):
(WebCore::textForControl):
(WebCore::ModalContainerObserver::scheduleClickableElementCollection):
(WebCore::ModalContainerObserver::collectClickableElementsTimerFired):
(WebCore::ModalContainerObserver::collectClickableElements):
This contains the main logic for collecting clickable elements inside modal containers. This heuristic consists
mostly of three phases:
- We initially scan the modal container subtree in search of any elements that seem like they could be
clickable buttons or links that don't trigger navigation, and build a list of
classifiableControls.
- We then filter the list of
classifiableControlsby removing any elements in the list that either contain or
are contained by other elements (using a heuristic to decide whether to remove each parent or child); in this
filtering step, we additionally remove all elements that are effectively unclickable due to having an empty
client bounding rect.
- In the final phase, we iterate over all of the controls in the filtered list, and attempt to extract text for
each control (looking at attributes such as
titleandaria-label,alttext for images, and finally falling
back toouterText()). If this raw text description is not empty and also not too long (exceeding an
arbitrarily chosen threshold of 100 characters), we add it to the final list of controls and control text
descriptions to send to the client layer for classification.
(WebCore::ModalContainerObserver::shouldHide):
Augment this to
return falsein the case where we're inside the scope ofm_collectingClickableElements. This
allows us to run heuristics over the modal container without an adjusteddisplay: none;style on the container
element.
- page/ModalContainerObserver.h:
- 11:44 AM Changeset in webkit [287244] by
-
- 4 edits in trunk/Source/WebCore
[LFC][IFC] text-indent is treated as a margin applied to the start edge of the line box.
https://bugs.webkit.org/show_bug.cgi?id=234460
Reviewed by Antti Koivisto.
See https://drafts.csswg.org/css-text/#text-indent-property
This is also in preparation for adjusting the display line geometry when the inline axis direction is rtl.
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::layoutInlineContent):
(WebCore::Layout::LineBuilder::initialize):
(WebCore::Layout::LineBuilder::initialConstraintsForLine const):
- layout/formattingContexts/inline/InlineLineBuilder.h:
- layout/formattingContexts/inline/InlineRect.h:
(WebCore::Layout::InlineRect::moveLeftBy):
- 10:52 AM Changeset in webkit [287243] by
-
- 1 copy in releases/WPE WebKit/webkit-2.34.3
WPE WebKit 2.34.3
- 10:52 AM Changeset in webkit [287242] by
-
- 4 edits in releases/WebKitGTK/webkit-2.34
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.34.3 release
.:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
Source/WebKit:
- wpe/NEWS: Add release notes for 2.34.3.
- 10:43 AM Changeset in webkit [287241] by
-
- 4 edits2 adds in trunk
Keyboard shortcut to scroll to top when already at the top of the page moves to the bottom
https://bugs.webkit.org/show_bug.cgi?id=234483
<rdar://86628260>
Reviewed by Dean Jackson.
Source/WebCore:
If the page was scrolled to the top and an "up" keyboard scroll happened,
ScrollAnimator::singleAxisScroll() would trigger an unclamped scroll with a negative delta,
which fed into ScrollAnimationSmooth::startAnimatedScrollToDestination() and would result in
an animation with a zero duration, which resulted in NaNs in animateScroll().
Fix by doing clamping in ScrollAnimator::singleAxisScroll() and protecting against
animations with zero delay in ScrollAnimationSmooth.
Test: fast/scrolling/keyboard-scrolling-home.html
- platform/ScrollAnimationSmooth.cpp:
(WebCore::ScrollAnimationSmooth::startAnimatedScrollToDestination):
(WebCore::ScrollAnimationSmooth::retargetActiveAnimation):
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::singleAxisScroll):
LayoutTests:
- fast/scrolling/keyboard-scrolling-home-expected.txt: Added.
- fast/scrolling/keyboard-scrolling-home.html: Added.
- 4:58 AM Changeset in webkit [287240] by
-
- 2 edits in trunk/Source/WebCore
Fix pointer to blob data in BlobResourceHandle::readDataSync()
<https://webkit.org/b/234459>
<rdar://86026618>
Reviewed by Chris Dumez.
- platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::readDataSync):
- 2:03 AM Changeset in webkit [287239] by
-
- 10 edits in trunk
[GTK][WPE][VTT] tests media/track/track-webvtt-* fail on GTK and WPE
https://bugs.webkit.org/show_bug.cgi?id=234083
Patch by Philippe Normand <pnormand@igalia.com> on 2021-12-19
Reviewed by Eric Carlson.
Source/WebCore:
Remove ENABLE(AVF_CAPTIONS) from cross-platform call sites. This is needed only in the
AVFoundation player. The Adwaita media controls also now properly render
-webkit-media-text-track-display-backdrop as required for media/track tests and as done in
the Apple media controls.
- Modules/mediacontrols/mediaControlsAdwaita.css:
(video::-webkit-media-text-track-display-backdrop):
(video::-webkit-media-text-track-container b):
(video::-webkit-media-text-track-container u):
(video::-webkit-media-text-track-container i):
(video::-webkit-media-text-track-container .hidden,):
- html/HTMLMediaElement.cpp:
- html/HTMLMediaElement.h:
- platform/graphics/MediaPlayer.cpp:
- platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::outOfBandTrackSources):
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::notifyTrackModeChanged):
- platform/graphics/PlatformTextTrack.h:
LayoutTests:
- platform/glib/TestExpectations:
- 1:40 AM Changeset in webkit [287238] by
-
- 2 edits in trunk/Source/WebCore
Lazily allocate HistoricUsageData
https://bugs.webkit.org/show_bug.cgi?id=212878
Reviewed by Saam Barati.
This is only used when resource-overlay is enabled. We should allocate it lazily instead of putting this in DATA.
This also reduces binary size by 19KB.
- page/cocoa/ResourceUsageOverlayCocoa.mm:
(WebCore::historicUsageData):
- 12:43 AM Changeset in webkit [287237] by
-
- 13 edits in trunk/LayoutTests
Garden tests that are passing iOS but marked failure.
https://bugs.webkit.org/show_bug.cgi?id=234464
Reviewed by Simon Fraser.
An attempt to garden the tests that are marked failing but are now passing.
These were cross-checked against bot history.
- TestExpectations:
- platform/ios-14/TestExpectations:
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-simulator/TestExpectations:
- platform/ios-wk1/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- platform/win/TestExpectations:
- platform/wk2/TestExpectations:
- 12:33 AM Changeset in webkit [287236] by
-
- 8 edits2 adds in trunk
[JSC] OpPow should have a "small int exponent" fast path at lower tiers
https://bugs.webkit.org/show_bug.cgi?id=234408
Reviewed by Yusuke Suzuki.
JSTests:
- microbenchmarks/pow-double-int.js: Added.
- microbenchmarks/pow-int-int.js: Added.
Source/JavaScriptCore:
DFG has an ArithPow fast path which just multiplies in a loop when the exponent is an int between 0 and 1000;
this can be done at lower tiers too.
Implementing this at LLInt gives the following speedup with JIT disabled:
Before After
pow-int-int 193.7180+-0.4897 100.3569+-1.9804 definitely 1.9303x faster
pow-double-int 194.0744+-0.7998 100.0346+-0.8655 definitely 1.9401x faster
<geometric> 193.8824+-0.4667 100.0964+-0.9922 definitely 1.9370x faster
Implementing this at Baseline gives similar results with DFG disabled:
Before After
pow-int-int 195.6251+-0.9577 99.9627+-0.3307 definitely 1.9570x faster
pow-double-int 196.1975+-0.9307 101.0056+-0.3124 definitely 1.9424x faster
<geometric> 195.8786+-0.5883 100.4767+-0.2333 definitely 1.9495x faster
Results are neutral otherwise.
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
- jit/JIT.h:
- jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_pow):
(JSC::JIT::emitSlow_op_pow):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
Dec 18, 2021:
- 10:30 PM Changeset in webkit [287235] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC][32bit] Fix undefined behavior causing miscompilation with clang 13 on ARM
https://bugs.webkit.org/show_bug.cgi?id=234399
Reviewed by Yusuke Suzuki.
Compiling JSC with clang 13 on ARMv7 on linux was broken because clang
was marking the constant Infinity as poison during constant folding, if
either -O2 or -O3 were used, causing the constant to not being
initialized.
This patch removes the undefined behaviour by preventing the
static_cast to int32_t if the double is either inf or NaN.
- runtime/MathCommon.h:
(JSC::canBeInt32):
(JSC::canBeStrictInt32):
- 7:38 PM Changeset in webkit [287234] by
-
- 8 edits in trunk/Tools
[Monterey] TestWebKitAPI.PrivateClickMeasurement.Daemon* tests timing out: Failed to connect to mach service org.webkit.pcmtestdaemon.service
https://bugs.webkit.org/show_bug.cgi?id=232890
Patch by Alex Christensen <achristensen@webkit.org> on 2021-12-18
Reviewed by Brady Eidson.
Using OSLaunchdJob on macOS works, but it requires a private entitlement which the public SDK can't sign with.
Just continue using launchctl instead. Also, do the NSDictionary -> xpc dictionary conversion at runtime to reduce duplicate code.
- TestWebKitAPI/Configurations/TestWebKitAPI-macOS-internal.entitlements:
- TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements:
- TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::testDaemonPList):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
(TestWebKitAPI::testWebPushDaemonPList):
(TestWebKitAPI::setUpTestWebPushD):
- TestWebKitAPI/cocoa/DaemonTestUtilities.h:
- TestWebKitAPI/cocoa/DaemonTestUtilities.mm:
(TestWebKitAPI::convertArrayToXPC):
(TestWebKitAPI::convertDictionaryToXPC):
(TestWebKitAPI::registerPlistWithLaunchD):
- 4:21 PM Changeset in webkit [287233] by
-
- 2 edits in trunk/Source/bmalloc
[libpas] Do not compile libpas for 64-bit watchOS to save ~6 MB per architecture
<https://webkit.org/b/234478>
<rdar://problem/85620647>
Reviewed by Yusuke Suzuki.
- bmalloc/BPlatform.h:
(BENABLE_LIBPAS):
- Disable libpas on 64-bit watchOS.
- 3:57 PM Changeset in webkit [287232] by
-
- 30 edits in trunk/Source
Hash tables, read/write, and heap memory are used unnecessarily, which may hurt performance
https://bugs.webkit.org/show_bug.cgi?id=234438
Reviewed by Anders Carlsson.
Source/WebCore:
- Modules/mediacapabilities/MediaCapabilities.cpp:
(WebCore::bucketMIMETypes): Deleted.
(WebCore::isValidMediaMIMEType): Moved the code from bucketMIMETypes in here.
Use a SortedArraySet for bucketMIMETypes, which should be similar in performance
and uses no heap or read/write memory.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::popupValue const): Use a loop to check the 5 valid
values here instead of making a HashSet. Should be similar in performance and
use no heap or read/write memory. Also removes call to convertToASCIILowercase,
which will also help performance and memory use a tiny bit in some cases.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::inheritsPresentationalRole const): Use
decltype to make this declaration simpler and shorter.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateForEachEventHandlerContentAttribute): Use decltype and references
instead of pointers to make the function a little cleaner.
- dom/Element.cpp:
(WebCore::canAttachAuthorShadowRoot): Use constexpr so the tag list here does
not use any read/write memory.
- dom/make_names.pl:
(printFactoryCppFile): Removed the unnecessary constructors for the MapEntry
structs. Use decltype so we can make the tables constexpr so they do not use
any read/write memory.
(printWrapperFactoryCppFile): Ditto.
- editing/ReplaceSelectionCommand.cpp:
(WebCore::isProhibitedParagraphChild): Added a reserveInitialCapacity, which
could make the hash table here use a little less memory.
- html/Autofill.cpp:
(WebCore::fieldNameMap): Deleted. Replaced with a SortedArrayMap, which is
entirely made out of constexpr objcts so does not use heap or read/write memory.
(WebCore::toAutofillFieldName): Updated to use SortedArrayMap functions.
(WebCore::AutofillData::createFromHTMLFormControlElement): Ditto.
- html/HTMLDocument.cpp:
(WebCore::HTMLDocument::isCaseSensitiveAttribute): Added a reserveInitialCapacity,
which could make the hash table here use a little less memory.
- html/HTMLObjectElement.cpp:
(WebCore::preventsParentObjectFromExposure): Ditto.
- page/DebugPageOverlays.cpp:
(WebCore::touchEventRegionColors): Deleted.
(WebCore::NonFastScrollableRegionOverlay::drawRect): Use SortedArrayMap and
some lambdas to make this code tighter and easier to read.
- page/PerformanceUserTiming.cpp:
(WebCore::restrictedMarkNamesToNavigationTimingFunctionMap): Deleted. Use
a SortedArrayMap instead, which should be similar in performance and uses no heap
or read/write memory.
(WebCore::restrictedMarkFunction): Deleted.
(WebCore::isRestrictedMarkNameNonMainThread): Deleted. This is now safe to do on
any thread.
(WebCore::PerformanceUserTiming::isRestrictedMarkName): Use the SortedArrayMap,
which has the benefit of relaxing the thread restrictions; this is now safe to
call on any thread.
(WebCore::PerformanceUserTiming::convertMarkToTimestamp const): Updated to use
the SortedArrayMap. There may be some additional simplification possible now
that the mark functions map can be used in any thread, but I wasn't sure.
- platform/cocoa/RemoteCommandListenerCocoa.mm:
(WebCore::mediaRemoteCommandForPlatformCommand): Use makeOptionalFromPointer.
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::hasValidAverageCharWidth const): Use a SortedArraySet,
which should be similar in performance and uses no heap or read/write memory
- platform/graphics/FontPlatformData.cpp:
(WebCore::makeOptionalFromPointer): Deleted. Moved to SortedArrayMap.h.
- platform/graphics/HEVCUtilities.cpp:
(WebCore::makeOptionalFromPointer): Deleted. Moved to SortedArrayMap.h.
- platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.mm:
(WebCore::AVAssetMIMETypeCache::initializeCache): Updated for function name change.
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
Tweaked use of UNUSED_PARAM a bit across the file, relying on omitted names instead.
- platform/graphics/cg/UTIRegistry.cpp:
(WebCore::defaultSupportedImageTypes): Use a constexpr array rather than HashSet,
on something just iterating this, not using it as a set.
- platform/graphics/cocoa/SourceBufferParserWebM.cpp:
(WebCore::SourceBufferParserWebM::supportedMIMETypes): Renamed from webmMIMETypes,
changed to return a Span so we don't have to allocate a HashSet, since callers
simply iterate this, and don't do set operations.
(WebCore::SourceBufferParserWebM::isSupportedVideoCodec): Replaced the
supportedVideoCodecs with this. We don't need a HashSet to check for two values,
and this should be faster and use less memory.
(WebCore::SourceBufferParserWebM::isSupportedAudioCodec): Ditto.
- platform/graphics/cocoa/SourceBufferParserWebM.h: Updated for the changes above.
- rendering/svg/SVGResources.cpp:
(WebCore::tagSet): Added this helper to make the code in the functions below less
repetitive.
(WebCore::clipperFilterMaskerTags): Use a constexpr array instead of many separate
calls to HashSet::add to construct the set.
(WebCore::markerTags): Ditto.
(WebCore::fillAndStrokeTags): Ditto.
(WebCore::chainableResourceTags): Ditto.
Source/WebKit:
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::sortedTables): Simplify unnecessarily complicated
expression to initialize the Span.
- Shared/Cocoa/DefaultWebBrowserChecks.h: Return a Span instead of an optional Vector.
- Shared/Cocoa/DefaultWebBrowserChecks.mm:
(WebKit::appBoundDomainsForTesting): Renamed from getAppBoundDomainsTesting to fit WebKit
coding style a bit better, and be a little more grammatical. Removed an un-needed HashMap
that had only a single entry, used a NeverDestroyed std::array rather than a Vector so we
don't use any heap or read/write memory.
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::addTestDomains const): Rewrite to use the function above.
Fewer special cases needed since we are just using an empty Span, which efficiently
does nothing, so no need to have a distinct null value.
Source/WTF:
- wtf/SortedArrayMap.h:
(WTF::SortedArrayMap<ArrayType>::contains const): Added. More elegant than calling tryGet and
treating the pointer as a boolean.
(WTF::makeOptionalFromPointer): Moved here so it can be reused. Might rename later, since it's
only used in a few places.
- 2:50 PM Changeset in webkit [287231] by
-
- 3 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Unreviewed non-unified build fixes.
- loader/DocumentWriter.cpp: Add missing DocumentLoader.h header.
- page/PerformanceNavigationTiming.cpp: Remove "#pragma once" from non-header file.
- 1:34 PM Changeset in webkit [287230] by
-
- 3 edits in trunk/Source/WebCore
Use smart pointers for WebCoreNSURLSessionDataTask ObjC members
https://bugs.webkit.org/show_bug.cgi?id=234477
<rdar://79224869>
Patch by Alex Christensen <achristensen@webkit.org> on 2021-12-18
Reviewed by Brady Eidson.
Seems like a smart thing to do.
- platform/network/cocoa/WebCoreNSURLSession.h:
- platform/network/cocoa/WebCoreNSURLSession.mm:
(-[WebCoreNSURLSessionDataTask originalRequest]):
(-[WebCoreNSURLSessionDataTask setOriginalRequest:]):
(-[WebCoreNSURLSessionDataTask currentRequest]):
(-[WebCoreNSURLSessionDataTask setCurrentRequest:]):
(-[WebCoreNSURLSessionDataTask error]):
(-[WebCoreNSURLSessionDataTask setError:]):
(-[WebCoreNSURLSessionDataTask taskDescription]):
(-[WebCoreNSURLSessionDataTask setTaskDescription:]):
(-[WebCoreNSURLSessionDataTask dealloc]):
- 12:30 PM Changeset in webkit [287229] by
-
- 12 edits in trunk/Source/WebKit
Move CacheStorage engines from NetworkProcess to NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=234448
Reviewed by Alex Christensen.
Move CacheStorage engines from NetworkProcess to NetworkSession, as they are per-session.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::destroySession):
(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):
(WebKit::NetworkProcess::registrableDomainsWithWebsiteData):
(WebKit::NetworkProcess::~NetworkProcess): Deleted.
(WebKit::NetworkProcess::findCacheEngine): Deleted.
(WebKit::NetworkProcess::ensureCacheEngine): Deleted.
(WebKit::NetworkProcess::removeCacheEngine): Deleted.
(WebKit::NetworkProcess::cacheStorageRootPath): Deleted.
(WebKit::NetworkProcess::setCacheStorageParameters): Deleted.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::invalidateAndCancel):
(WebKit::NetworkSession::ensureCacheEngine):
(WebKit::NetworkSession::clearCacheEngine):
- NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::cacheEngine):
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::create):
(WebKit::CacheStorage::Engine::fetchEntries):
(WebKit::CacheStorage::Engine::open):
(WebKit::CacheStorage::Engine::remove):
(WebKit::CacheStorage::Engine::retrieveCaches):
(WebKit::CacheStorage::Engine::retrieveRecords):
(WebKit::CacheStorage::Engine::putRecords):
(WebKit::CacheStorage::Engine::deleteMatchingRecords):
(WebKit::CacheStorage::Engine::lock):
(WebKit::CacheStorage::Engine::unlock):
(WebKit::CacheStorage::Engine::clearMemoryRepresentation):
(WebKit::CacheStorage::Engine::representation):
(WebKit::CacheStorage::Engine::clearAllCaches):
(WebKit::CacheStorage::Engine::clearCachesForOrigin):
(WebKit::CacheStorage::Engine::Engine):
(WebKit::CacheStorage::Engine::from): Deleted.
(WebKit::CacheStorage::Engine::destroyEngine): Deleted.
- NetworkProcess/cache/CacheStorageEngine.h:
- NetworkProcess/cache/CacheStorageEngineConnection.cpp:
(WebKit::CacheStorageEngineConnection::~CacheStorageEngineConnection):
(WebKit::CacheStorageEngineConnection::open):
(WebKit::CacheStorageEngineConnection::remove):
(WebKit::CacheStorageEngineConnection::caches):
(WebKit::CacheStorageEngineConnection::retrieveRecords):
(WebKit::CacheStorageEngineConnection::deleteMatchingRecords):
(WebKit::CacheStorageEngineConnection::putRecords):
(WebKit::CacheStorageEngineConnection::reference):
(WebKit::CacheStorageEngineConnection::dereference):
(WebKit::CacheStorageEngineConnection::clearMemoryRepresentation):
(WebKit::CacheStorageEngineConnection::engineRepresentation):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::retrieveCacheStorageParameters):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- 12:11 PM Changeset in webkit [287228] by
-
- 26 edits in trunk
Read the default value of the ScrollAnimatorEnabled setting from NSUserDefaults
https://bugs.webkit.org/show_bug.cgi?id=234456
Reviewed by Tim Horton.
Source/WebCore:
It's impossible for a test to run with an animated keyboard scroll because platformAllowsScrollAnimation(),
which reads from NSUserDefaults, always trumps the Setting.
Fix by initializing the setting from NSUserDefaults and removing the platformAllowsScrollAnimation()
check. This allows for a WebKitTestRunner test override the setting. Remove the WTR code
that sets @"NSScrollAnimationEnabled" to @NO.
Unfortunately in WebKitLegacy AppKit code consults the @"NSScrollAnimationEnabled" key, so
DumpRenderTree has to continue to initialize this NSUserDefault to @NO and tests that
try to change the Setting will fail.
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::singleAxisScroll):
(WebCore::ScrollAnimator::scrollAnimationEnabled const):
- platform/ScrollAnimator.h:
(WebCore::ScrollAnimator::platformAllowsScrollAnimation const): Deleted.
- platform/mac/ScrollAnimatorMac.h:
- platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::platformAllowsScrollAnimation const): Deleted.
Source/WebKit:
It's impossible for a test to run with an animated keyboard scroll because platformAllowsScrollAnimation(),
which reads from NSUserDefaults, always trumps the Setting.
Fix by initializing the setting from NSUserDefaults and removing the platformAllowsScrollAnimation()
check. This allows for a WebKitTestRunner test override the setting. Remove the WTR code
that sets @"NSScrollAnimationEnabled" to @NO.
Unfortunately in WebKitLegacy AppKit code consults the @"NSScrollAnimationEnabled" key, so
DumpRenderTree has to continue to initialize this NSUserDefault to @NO and tests that
try to change the Setting will fail.
- Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm:
(WebKit::defaultScrollAnimatorEnabled):
- Shared/WebPreferencesDefaultValues.h:
Source/WebKitLegacy/mac:
It's impossible for a test to run with an animated keyboard scroll because platformAllowsScrollAnimation(),
which reads from NSUserDefaults, always trumps the Setting.
Fix by initializing the setting from NSUserDefaults and removing the platformAllowsScrollAnimation()
check. This allows for a WebKitTestRunner test override the setting.
Unfortunately in WebKitLegacy AppKit code consults the @"NSScrollAnimationEnabled" key, so
DumpRenderTree has to continue to initialize this NSUserDefault to @NO and tests that
try to change the Setting will fail.
- WebView/WebPreferencesDefaultValues.h:
- WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultScrollAnimatorEnabled):
Source/WTF:
It's impossible for a test to run with an animated keyboard scroll because platformAllowsScrollAnimation(),
which reads from NSUserDefaults, always trumps the Setting.
Fix by initializing the setting from NSUserDefaults and removing the platformAllowsScrollAnimation()
check. This allows for a WebKitTestRunner test override the setting. Remove the WTR code
that sets @"NSScrollAnimationEnabled" to @NO.
Unfortunately in WebKitLegacy AppKit code consults the @"NSScrollAnimationEnabled" key, so
DumpRenderTree has to continue to initialize this NSUserDefault to @NO and tests that
try to change the Setting will fail.
- Scripts/Preferences/WebPreferences.yaml:
Tools:
It's impossible for a test to run with an animated keyboard scroll because platformAllowsScrollAnimation(),
which reads from NSUserDefaults, always trumps the Setting.
Fix by initializing the setting from NSUserDefaults and removing the platformAllowsScrollAnimation()
check. This allows for a WebKitTestRunner test override the setting.
Unfortunately in WebKitLegacy AppKit code consults the @"NSScrollAnimationEnabled" key, so
DumpRenderTree has to continue to initialize this NSUserDefault to @NO and tests that
try to change the Setting will fail.
- WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
(WTR::InjectedBundle::platformInitialize):
- WebKitTestRunner/mac/main.mm:
(setDefaultsToConsistentValuesForTesting):
LayoutTests:
Now that ScrollAnimatorEnabled is true by default, turn it off for these tests.
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal-with-keyboard-scaled.html:
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal-with-keyboard.html:
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-with-keyboard-scaled.html:
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-with-keyboard.html:
- tiled-drawing/scrolling/scroll-snap/scroll-snap-proximity-mainframe-horizontal-with-keyboard.html:
- tiled-drawing/scrolling/scroll-snap/scroll-snap-proximity-mainframe-vertical-with-keyboard.html:
- 11:04 AM Changeset in webkit [287227] by
-
- 23 edits in trunk
Rename MockScrollAnimatorEnabled to MockScrollbarsControllerEnabled
https://bugs.webkit.org/show_bug.cgi?id=234452
Reviewed by Anders Carlsson.
The class formerly known as MockScrollAnimatorEnabled is used for logging when scrollbars
get events, so fix the name. It's a subclass of ScrollbarsController.
Source/WebCore:
- page/FrameView.cpp:
(WebCore::FrameView::mockScrollbarsControllerEnabled const):
(WebCore::FrameView::logMockScrollbarsControllerMessage const):
(WebCore::FrameView::mockScrollAnimatorEnabled const): Deleted.
(WebCore::FrameView::logMockScrollAnimatorMessage const): Deleted.
- page/FrameView.h:
- platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::scrollbarsController const):
- platform/ScrollableArea.h:
(WebCore::ScrollableArea::mockScrollbarsControllerEnabled const):
(WebCore::ScrollableArea::logMockScrollbarsControllerMessage const):
(WebCore::ScrollableArea::mockScrollAnimatorEnabled const): Deleted.
(WebCore::ScrollableArea::logMockScrollAnimatorMessage const): Deleted.
- platform/mock/ScrollbarsControllerMock.h:
- rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::mockScrollbarsControllerEnabled const):
(WebCore::RenderLayerScrollableArea::logMockScrollbarsControllerMessage const):
(WebCore::RenderLayerScrollableArea::mockScrollAnimatorEnabled const): Deleted.
(WebCore::RenderLayerScrollableArea::logMockScrollAnimatorMessage const): Deleted.
- rendering/RenderLayerScrollableArea.h:
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::mockScrollbarsControllerEnabled const):
(WebCore::RenderListBox::logMockScrollbarsControllerMessage const):
(WebCore::RenderListBox::mockScrollAnimatorEnabled const): Deleted.
(WebCore::RenderListBox::logMockScrollAnimatorMessage const): Deleted.
- rendering/RenderListBox.h:
Source/WTF:
- Scripts/Preferences/WebPreferences.yaml:
Tools:
- DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
- WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
LayoutTests:
- fast/scrolling/scroll-animator-basic-events.html:
- fast/scrolling/scroll-animator-overlay-scrollbars-clicked.html:
- fast/scrolling/scroll-animator-overlay-scrollbars-hovered.html:
- fast/scrolling/scroll-animator-select-list-events.html:
- 10:06 AM Changeset in webkit [287226] by
-
- 1 copy in tags/Safari-613.1.12.1
Tag Safari-613.1.12.1.
- 10:03 AM Changeset in webkit [287225] by
-
- 9 edits in branches/safari-613.1.12-branch/Source
Versioning.
WebKit-7613.1.12.1
- 9:46 AM Changeset in webkit [287224] by
-
- 39 edits in trunk/Source
Convert ProtectionSpace enums into enum classes
https://bugs.webkit.org/show_bug.cgi?id=234455
Reviewed by Alex Christensen.
Source/WebCore:
- platform/network/CredentialStorage.cpp:
(WebCore::CredentialStorage::set):
(WebCore::CredentialStorage::removeCredentialsWithOrigin):
(WebCore::CredentialStorage::originsWithCredentials const):
- platform/network/ProtectionSpace.h:
(WebCore::ProtectionSpace::ProtectionSpace):
- platform/network/ProtectionSpaceBase.cpp:
(WebCore::ProtectionSpaceBase::ProtectionSpaceBase):
(WebCore::ProtectionSpaceBase::isProxy const):
(WebCore::ProtectionSpaceBase::receivesCredentialSecurely const):
(WebCore::ProtectionSpaceBase::isPasswordBased const):
- platform/network/ProtectionSpaceBase.h:
(WebCore::ProtectionSpaceBase::serverType const):
(WebCore::ProtectionSpaceBase::authenticationScheme const):
- platform/network/cf/AuthenticationCF.cpp:
(WebCore::createCF):
(WebCore::core):
- platform/network/cf/ProtectionSpaceCFNet.h:
(WebCore::ProtectionSpace::ProtectionSpace):
- platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::receivedCredential):
- platform/network/cf/SocketStreamHandleImplCFNet.cpp:
(WebCore::authenticationSchemeFromAuthenticationMethod):
- platform/network/cocoa/ProtectionSpaceCocoa.h:
(WebCore::ProtectionSpace::ProtectionSpace):
- platform/network/cocoa/ProtectionSpaceCocoa.mm:
(WebCore::type):
(WebCore::scheme):
(WebCore::ProtectionSpace::nsSpace const):
- platform/network/curl/AuthenticationChallenge.h:
- platform/network/curl/AuthenticationChallengeCurl.cpp:
(WebCore::AuthenticationChallenge::protectionSpaceServerTypeFromURI):
(WebCore::AuthenticationChallenge::protectionSpaceForServerTrust):
(WebCore::AuthenticationChallenge::authenticationSchemeFromCurlAuth):
- platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::setAuthenticationScheme):
- platform/network/curl/CurlRequest.h:
- platform/network/curl/ProtectionSpaceCurl.h:
(WebCore::ProtectionSpace::ProtectionSpace):
- platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::receivedCredential):
- platform/network/soup/AuthenticationChallengeSoup.cpp:
(WebCore::protectionSpaceServerTypeFromURL):
(WebCore::protectionSpaceFromSoupAuthAndURL):
(WebCore::protectionSpaceForClientCertificate):
(WebCore::protectionSpaceForClientCertificatePassword):
- platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::schemeFromProtectionSpaceServerType):
(WebCore::authTypeFromProtectionSpaceAuthenticationScheme):
Source/WebKit:
- NetworkProcess/NetworkCORSPreflightChecker.cpp:
(WebKit::NetworkCORSPreflightChecker::didReceiveChallenge):
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::didReceiveChallenge):
- NetworkProcess/PingLoad.cpp:
(WebKit::PingLoad::didReceiveChallenge):
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::allowsSpecificHTTPSCertificateForHost):
- NetworkProcess/curl/NetworkDataTaskCurl.cpp:
(WebKit::NetworkDataTaskCurl::NetworkDataTaskCurl):
(WebKit::NetworkDataTaskCurl::willPerformHTTPRedirection):
(WebKit::NetworkDataTaskCurl::restartWithCredential):
- NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::completeAuthentication):
(WebKit::NetworkDataTaskSoup::cancelAuthentication):
- Shared/Authentication/AuthenticationManager.cpp:
(WebKit::canCoalesceChallenge):
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ProtectionSpace>::decode):
- Shared/curl/WebCoreArgumentCodersCurl.cpp:
(IPC::ArgumentCoder<ProtectionSpace>::decodePlatformData):
- UIProcess/API/C/WKAPICast.h:
(WebKit::toAPI):
- UIProcess/API/glib/WebKitAuthenticationRequest.cpp:
(webkit_authentication_request_get_security_origin):
- UIProcess/Authentication/WebProtectionSpace.cpp:
(WebKit::WebProtectionSpace::serverType const):
(WebKit::WebProtectionSpace::authenticationScheme const):
- UIProcess/Authentication/WebProtectionSpace.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::processAuthenticationChallenge):
(WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge):
Source/WebKitLegacy/mac:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
Source/WebKitLegacy/win:
- WebURLProtectionSpace.cpp:
(WebURLProtectionSpace::authenticationMethod):
(coreScheme):
(WebURLProtectionSpace::initWithHost):
(WebURLProtectionSpace::initWithProxyHost):
- 9:18 AM Changeset in webkit [287223] by
-
- 8 edits1 delete in trunk/Tools
Drop ServiceWorkerTCPServer and use HTTPServer instead
https://bugs.webkit.org/show_bug.cgi?id=234443
<rdar://86646140>
Reviewed by Alex Christensen.
Drop ServiceWorkerTCPServer and use HTTPServer instead. ServiceWorkerTCPServer relies on TCPServer which is
known to cause flakiness and sometimes hang in its destruction.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/AppPrivacyReport.mm:
- TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerTCPServer.h: Removed.
(): Deleted.
(ServiceWorkerTCPServer::ServiceWorkerTCPServer): Deleted.
(ServiceWorkerTCPServer::request): Deleted.
(ServiceWorkerTCPServer::requestWithLocalhost): Deleted.
(ServiceWorkerTCPServer::requestWithFragment): Deleted.
(ServiceWorkerTCPServer::userAgentsChecked const): Deleted.
(ServiceWorkerTCPServer::respondToRequests): Deleted.
(ServiceWorkerTCPServer::requestWithURLString): Deleted.
- TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:
- TestWebKitAPI/cocoa/HTTPServer.h:
- TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::scheme const):
(TestWebKitAPI::HTTPServer::request const):
(TestWebKitAPI::HTTPServer::requestWithLocalhost const):
- 7:11 AM Changeset in webkit [287222] by
-
- 10 edits in trunk/Source/WebCore
Remove unused :-internal-direct-focus pseudo-class
https://bugs.webkit.org/show_bug.cgi?id=234431
Reviewed by Alexey Shvayka.
It was replaced by :focus-visible on the user-agent stylesheet.
- css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText const):
- css/CSSSelector.h:
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne const):
- css/SelectorCheckerTestFunctions.h:
(WebCore::matchesLegacyDirectFocusPseudoClass):
(WebCore::matchesFocusVisiblePseudoClass):
(WebCore::matchesDirectFocusPseudoClass): Deleted.
- css/SelectorPseudoClassAndCompatibilityElementMap.in:
- css/parser/CSSSelectorParser.cpp:
(WebCore::CSSSelectorParser::consumePseudo):
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
- dom/Element.cpp:
(WebCore::Element::setFocus):
- style/RuleSet.cpp:
(WebCore::Style::RuleSet::addRule):
- 3:19 AM Changeset in webkit [287221] by
-
- 8 edits in trunk/Source/JavaScriptCore
[JSC] Do not allocate m_bbqCallee and m_omgCallee until it becomes necessary
https://bugs.webkit.org/show_bug.cgi?id=234457
Reviewed by Saam Barati.
WebAssembly memory import will require initializing both Wasm::CalleeGroup.
So, we should shrink memory size of Wasm::CalleeGroup as much as possible
to avoid memory regression. This patch allocates m_bbqCallee and m_omgCallee
only when it becomes available.
- wasm/WasmBBQPlan.cpp:
(JSC::Wasm::BBQPlan::work):
- wasm/WasmCalleeGroup.cpp:
(JSC::Wasm::CalleeGroup::CalleeGroup):
- wasm/WasmCalleeGroup.h:
(JSC::Wasm::CalleeGroup::compilationFinished): Deleted.
(JSC::Wasm::CalleeGroup::runnable): Deleted.
(JSC::Wasm::CalleeGroup::errorMessage): Deleted.
(JSC::Wasm::CalleeGroup::functionImportCount const): Deleted.
(JSC::Wasm::CalleeGroup::embedderEntrypointCalleeFromFunctionIndexSpace): Deleted.
(JSC::Wasm::CalleeGroup::wasmEntrypointCalleeFromFunctionIndexSpace): Deleted.
(JSC::Wasm::CalleeGroup::wasmBBQCalleeFromFunctionIndexSpace): Deleted.
(JSC::Wasm::CalleeGroup::entrypointLoadLocationFromFunctionIndexSpace): Deleted.
(JSC::Wasm::CalleeGroup::wasmToWasmExitStub): Deleted.
(JSC::Wasm::CalleeGroup::mode const): Deleted.
- wasm/WasmOMGForOSREntryPlan.cpp:
(JSC::Wasm::OMGForOSREntryPlan::work):
- wasm/WasmOMGPlan.cpp:
(JSC::Wasm::OMGPlan::work):
- wasm/WasmPlan.cpp:
(JSC::Wasm::Plan::updateCallSitesToCallUs):
- wasm/WasmPlan.h:
- 2:17 AM Changeset in webkit [287220] by
-
- 21 edits5 adds in trunk
[WTF] Introduce TrailingArray
https://bugs.webkit.org/show_bug.cgi?id=234201
Reviewed by Darin Adler.
Source/JavaScriptCore:
Use ThreadSafeRefCountedFixedVector in ObjectPropertyConditionSet and Wasm::LLIntCallees.
- bytecode/CodeBlock.h:
(JSC::CodeBlock::baselineJITConstantPool):
- bytecode/ObjectPropertyConditionSet.cpp:
(JSC::ObjectPropertyConditionSet::mergedWith const):
(JSC::ObjectPropertyConditionSet::dumpInContext const):
(JSC::ObjectPropertyConditionSet::isValidAndWatchable const):
- bytecode/ObjectPropertyConditionSet.h:
(JSC::ObjectPropertyConditionSet::invalid):
(JSC::ObjectPropertyConditionSet::create):
(JSC::ObjectPropertyConditionSet::isValid const):
(JSC::ObjectPropertyConditionSet::size const):
(JSC::ObjectPropertyConditionSet::begin const):
(JSC::ObjectPropertyConditionSet::end const):
(JSC::ObjectPropertyConditionSet::ObjectPropertyConditionSet): Deleted.
(JSC::ObjectPropertyConditionSet::releaseRawPointer): Deleted.
(JSC::ObjectPropertyConditionSet::adoptRawPointer): Deleted.
(JSC::ObjectPropertyConditionSet::fromRawPointer): Deleted.
(JSC::ObjectPropertyConditionSet::Data::Data): Deleted.
- jit/JIT.cpp:
(JSC::JIT::compileAndLinkWithoutFinalizing):
- jit/JITInlines.h:
(JSC::JIT::loadConstant):
- llint/LLIntOffsetsExtractor.cpp:
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- wasm/WasmCallee.h:
(JSC::Wasm::LLIntCallees::create): Deleted.
(JSC::Wasm::LLIntCallees::at const): Deleted.
(JSC::Wasm::LLIntCallees::data const): Deleted.
(JSC::Wasm::LLIntCallees::LLIntCallees): Deleted.
- wasm/WasmCodeBlock.cpp:
(JSC::Wasm::CodeBlock::create):
(JSC::Wasm::CodeBlock::CodeBlock):
- wasm/WasmCodeBlock.h:
- wasm/WasmModule.cpp:
(JSC::Wasm::Module::Module):
(JSC::Wasm::Module::getOrCreateCodeBlock):
- wasm/WasmModule.h:
Source/WTF:
This patch implements TrailingArray<Derived, T>, which allows us to implement class
with trailing array easily. By using this, we implement EmbeddedFixedVector and RefCountedFixedVector.
Plus, we replace underlying implementation of FixedVector from RefCountedArray to EmbeddedFixedVector
since ref-counting is not necessary. This is great for swapping: while RefCountedArray will decrease ref
and touching memory when destryoing, EmbeddedFixedVector does not, so we can keep memory untouched if
EmbeddedFixedVector's T is POD when destroying.
In a subsequent patch, we will remove RefCountedArray and use RefCountedFixedVector since RefCountedFixedVector
is following normal Ref / RefPtr protocol, so easy to understand the semantics.
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/EmbeddedFixedVector.h: Added.
- wtf/FixedVector.h:
(WTF::FixedVector::FixedVector):
(WTF::FixedVector::operator=):
(WTF::FixedVector::size const):
(WTF::FixedVector::isEmpty const):
(WTF::FixedVector::byteSize const):
(WTF::FixedVector::data):
(WTF::FixedVector::begin):
(WTF::FixedVector::end):
(WTF::FixedVector::rbegin):
(WTF::FixedVector::rend):
(WTF::FixedVector::rbegin const):
(WTF::FixedVector::rend const):
(WTF::FixedVector::at):
(WTF::FixedVector::at const):
(WTF::FixedVector::operator[]):
(WTF::FixedVector::operator[] const):
(WTF::FixedVector::fill):
(WTF::FixedVector::operator!= const):
(WTF::FixedVector::operator== const):
(WTF::FixedVector::swap):
(WTF::FixedVector::getStorage):
- wtf/RefCountedFixedVector.h: Added.
- wtf/TrailingArray.h: Added.
(WTF::TrailingArray::TrailingArray):
(WTF::TrailingArray::~TrailingArray):
(WTF::TrailingArray::allocationSize):
(WTF::TrailingArray::size const):
(WTF::TrailingArray::isEmpty const):
(WTF::TrailingArray::byteSize const):
(WTF::TrailingArray::data):
(WTF::TrailingArray::data const):
(WTF::TrailingArray::begin):
(WTF::TrailingArray::end):
(WTF::TrailingArray::begin const):
(WTF::TrailingArray::end const):
(WTF::TrailingArray::cbegin const):
(WTF::TrailingArray::cend const):
(WTF::TrailingArray::rbegin):
(WTF::TrailingArray::rend):
(WTF::TrailingArray::rbegin const):
(WTF::TrailingArray::rend const):
(WTF::TrailingArray::crbegin const):
(WTF::TrailingArray::crend const):
(WTF::TrailingArray::at):
(WTF::TrailingArray::at const):
(WTF::TrailingArray::operator[]):
(WTF::TrailingArray::operator[] const):
(WTF::TrailingArray::first):
(WTF::TrailingArray::first const):
(WTF::TrailingArray::last):
(WTF::TrailingArray::last const):
(WTF::TrailingArray::fill):
(WTF::TrailingArray::offsetOfSize):
(WTF::TrailingArray::offsetOfData):
Tools:
- TestWebKitAPI/CMakeLists.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WTF/EmbeddedFixedVector.cpp: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::DestructorObserver::DestructorObserver):
(TestWebKitAPI::DestructorObserver::~DestructorObserver):
(TestWebKitAPI::DestructorObserver::operator=):
- TestWebKitAPI/Tests/WTF/FixedVector.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/RefCountedFixedVector.cpp: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::DestructorObserver::DestructorObserver):
(TestWebKitAPI::DestructorObserver::~DestructorObserver):
(TestWebKitAPI::DestructorObserver::operator=):