Timeline
Mar 24, 2022:
- 10:02 PM Changeset in webkit [291849] by
-
- 11 edits in trunk/Source
Non-unified build fixes, late March 2022 edition
https://bugs.webkit.org/show_bug.cgi?id=238358
Unreviewed non-unified build fixes.
Source/JavaScriptCore:
- bytecode/ExitKind.cpp:
- bytecode/ExitKind.h:
- heap/RootMarkReason.cpp:
- heap/RootMarkReason.h:
- runtime/CallData.h:
Source/WebCore:
- html/HTMLInputElement.cpp:
Source/WebKit:
- GPUProcess/GPUProcess.cpp:
- WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
- 9:21 PM Changeset in webkit [291848] by
-
- 7 edits in trunk/Source
String::split() should take in a StringView instead of a String
https://bugs.webkit.org/show_bug.cgi?id=238355
Reviewed by Geoffrey Garen.
Source/WebCore:
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::classList const):
Call the more efficient split(UChar) overload instead.
Source/WebKit:
- UIProcess/Inspector/socket/RemoteInspectorProtocolHandler.cpp:
Optimize by calling StringView::split() instead of String::split().
Source/WTF:
String::split() should take in a StringView instead of a String, to avoid unnecessary construction
of Strings in some instances.
- wtf/text/WTFString.cpp:
(WTF::String::splitInternal const):
(WTF::String::split const):
(WTF::String::splitAllowingEmptyEntries const):
- wtf/text/WTFString.h:
- 9:14 PM Changeset in webkit [291847] by
-
- 1 edit1 add in trunk/JSTests
Add additional reported regression tests to ensure multiline token's column offset is reset
https://bugs.webkit.org/show_bug.cgi?id=221548
Reviewed by Alexey Shvayka.
The bug is fixed and tested in https://github.com/WebKit/WebKit/commit/6d1e5d9498f24805988ad81ca3228588dd000a51.
But let's add reported regression tests to ensure that they will not reproduce.
- stress/multiline-token-error-column.js: Added.
(shouldBe):
(throw.new.Error):
- 9:08 PM Changeset in webkit [291846] by
-
- 15 edits2 adds in trunk
[Cocoa] REGRESSION(r281291): When accessibility bold is enabled, font-family:system-ui is supposed to be bold
https://bugs.webkit.org/show_bug.cgi?id=237817
<rdar://problem/88249241>
Reviewed by Alan Bujtas.
Source/WebCore:
Accessibility bold is supposed to cause the system font to be rendered as bold, even if the
value of the font-weight property is normal.
The way this is originally supposed to work is that, when accessibility bold is enabled and
software asks for the system font, the font reports to not be bold, but the metrics/contours
end up visually bold to the user. Font variations, however, are a lower-level interface to
the font, and don't abide by the facade. So, before r281291, we weren't applying font variations
to the system font, so the facade was maintained, but r281291 started applying variations to the
system font, thereby breaking this accessibility bold setting.
The solution is to re-implement accessibility bold when we apply font variations. At the point
where we apply the weight variation, we should determine if accessibility bold is in effect, and
if it is, artificially increase the weight of the created font according to the platform's
inflation amount. There are a few SPI functions which aid in this endeavor.
Test: fast/text/accessibility-bold.html
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::fontIsSystemFont):
(WebCore::normalizeGXWeight):
(WebCore::normalizeCTWeight):
(WebCore::denormalizeGXWeight):
(WebCore::denormalizeCTWeight):
(WebCore::overrideEnhanceTextLegibility):
(WebCore::setOverrideEnhanceTextLegibility):
(WebCore::shouldEnhanceTextLegibility):
(WebCore::preparePlatformFont):
(WebCore::fontCacheRegisteredFontsChangedNotificationCallback):
(WebCore::FontCache::platformInit):
(WebCore::variationCapabilitiesForFontDescriptor):
(WebCore::normalizeWeight): Deleted.
(WebCore::denormalizeWeight): Deleted.
- platform/graphics/cocoa/FontCacheCoreText.h:
- testing/Internals.cpp:
(WebCore::Internals::setOverrideEnhanceTextLegibility):
- testing/Internals.h:
- testing/Internals.idl:
Source/WebCore/PAL:
- pal/spi/cf/CoreTextSPI.h:
- pal/spi/cocoa/AccessibilitySupportSPI.h:
LayoutTests:
This test has <!-- webkit-test-runner [ runSingly=true ] --> so the testing
infrastructure for accessibility bold can be web-process-global.
- fast/text/accessibility-bold-expected-mismatch.html: Added.
- fast/text/accessibility-bold.html: Added.
- platform/mac/TestExpectations: Because this test relies on a webkit-test-runner
header, skip it on WK1.
- platform/ios/TestExpectations: Ditto.
- platform/mac-wk2/TestExpectations: Mark as PASS.
- platform/ios-wk2/TestExpectations: Ditto.
- 7:51 PM Changeset in webkit [291845] by
-
- 9 edits in branches/safari-613.1.17.1-branch/Source
Versioning.
WebKit-7613.1.17.1.13
- 7:40 PM Changeset in webkit [291844] by
-
- 1 copy in tags/Safari-613.1.17.1.12
Tag Safari-613.1.17.1.12.
- 7:07 PM Changeset in webkit [291843] by
-
- 2 edits in trunk/Source/WebKit
Require click-to-play for media in Captive Portals
https://bugs.webkit.org/show_bug.cgi?id=238353
<rdar://90575996>
Reviewed by Chris Dumez.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::adjustSettingsForCaptivePortal): Disable auto-play for media for
Captive Portals.
- 7:05 PM Changeset in webkit [291842] by
-
- 31 edits in trunk
FileSystem::pathByAppendingComponent() should take in StringViews instead of Strings
https://bugs.webkit.org/show_bug.cgi?id=238344
Reviewed by Geoff Garen.
Source/JavaScriptCore:
- jsc.cpp:
Source/WebCore:
- Modules/indexeddb/IDBDatabaseIdentifier.cpp:
(WebCore::IDBDatabaseIdentifier::databaseDirectoryRelativeToRoot const):
(WebCore::IDBDatabaseIdentifier::databaseDirectoryRelativeToRoot):
- Modules/indexeddb/IDBDatabaseIdentifier.h:
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::getAllDatabaseNamesAndVersions):
(WebCore::IDBServer::IDBServer::diskUsage):
(WebCore::IDBServer::IDBServer::upgradedDatabaseDirectory):
- Modules/webdatabase/OriginLock.cpp:
(WebCore::lockFileNameForPath):
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::setStorageDirectory):
- platform/network/curl/CurlCacheManager.cpp:
(WebCore::CurlCacheManager::loadIndex):
Source/WebKit:
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::ResourceLoadStatisticsDatabaseStore):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.cpp:
(WebKit::PCM::Database::Database):
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::storagePath):
(WebKit::CacheStorage::Engine::initialize):
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::cachesListFilename):
(WebKit::CacheStorage::cachesOriginFilename):
(WebKit::CacheStorage::Caches::cachesSizeFilename):
- NetworkProcess/cache/NetworkCacheBlobStorage.cpp:
(WebKit::NetworkCache::BlobStorage::blobPathForHash const):
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::makeCachePath):
- NetworkProcess/storage/IDBStorageManager.cpp:
(WebKit::IDBStorageManager::idbStorageOriginDirectory):
- UIProcess/Inspector/win/InspectorResourceURLSchemeHandler.cpp:
(WebKit::InspectorResourceURLSchemeHandler::platformStartTask):
Source/WebKitLegacy/mac:
- Storage/WebDatabaseProvider.mm:
(WebDatabaseProvider::indexedDatabaseDirectoryPath):
- WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
Source/WTF:
FileSystem::pathByAppendingComponent() should take in StringViews instead of Strings, to avoid
unnecessary String constructor in many instances.
- wtf/FileSystem.cpp:
(WTF::FileSystemImpl::pathByAppendingComponent):
- wtf/FileSystem.h:
- wtf/posix/FileSystemPOSIX.cpp:
(WTF::FileSystemImpl::pathByAppendingComponent):
Tools:
- TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
- 6:03 PM Changeset in webkit [291841] by
-
- 5 edits in trunk
calc(): Handle finite value with infinite step in round()
https://bugs.webkit.org/show_bug.cgi?id=238231
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-values/round-function-expected.txt:
Source/WebCore:
Add handling for finite value with infinite step in round().
- css/calc/CSSCalcOperationNode.cpp:
(WebCore::CSSCalcOperationNode::evaluateOperator):
- css/calc/CSSCalcPrimitiveValueNode.cpp:
(WebCore::CSSCalcPrimitiveValueNode::invert):
- 5:50 PM Changeset in webkit [291840] by
-
- 1 edit in branches/safari-613-branch/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm
Apply patch. rdar://problem/90792723
- 5:41 PM Changeset in webkit [291839] by
-
- 1 copy in tags/Safari-614.1.7
Tag Safari-614.1.7.
- 5:15 PM Changeset in webkit [291838] by
-
- 1 copy in tags/Safari-614.1.5.17
Tag Safari-614.1.5.17.
- 5:13 PM Changeset in webkit [291837] by
-
- 29 edits in trunk
String's startsWith() / endsWith() / replace() should take in a StringView instead of a String
https://bugs.webkit.org/show_bug.cgi?id=238333
Reviewed by Geoff Garen.
Source/JavaScriptCore:
- runtime/FileBasedFuzzerAgent.cpp:
(JSC::FileBasedFuzzerAgent::getPredictionInternal):
- runtime/IntlRelativeTimeFormat.cpp:
(JSC::singularUnit):
- runtime/TemporalObject.cpp:
(JSC::singularUnit):
Source/WebCore:
- Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::shouldIgnoreIceCandidate):
- css/CSSImageValue.cpp:
(WebCore::ResolvedURL::isLocalURL const):
- page/PageConsoleClient.cpp:
(WebCore::PageConsoleClient::screenshot):
- page/csp/ContentSecurityPolicySource.cpp:
(WebCore::ContentSecurityPolicySource::pathMatches const):
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::getUnmangledInfoLog):
- platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
(WebCore::CDMFactoryFairPlayStreaming::supportsKeySystem):
- platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:
(WebCore::ImageDecoderGStreamer::supportsContainerType):
(WebCore::ImageDecoderGStreamer::canDecodeType):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::supportsType):
- platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:
(WebCore::GraphicsContextGLOpenGL::checkVaryingsPacking const):
- platform/network/ParsedRequestRange.cpp:
(WebCore::ParsedRequestRange::parse):
- platform/network/curl/CookieJarDB.cpp:
(WebCore::checkSecureCookie):
Source/WebKitLegacy/mac:
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::handleAcceptedCandidateWithSoftSpaces):
Source/WTF:
String's startsWith() / endsWith() / replace() should take in a StringView instead of a String,
to avoid unnecessary String creation in many instances.
- wtf/text/AtomString.h:
- wtf/text/StringCommon.h:
(WTF::startsWith): Deleted.
(WTF::startsWithIgnoringASCIICase): Deleted.
(WTF::endsWith): Deleted.
(WTF::endsWithIgnoringASCIICase): Deleted.
- wtf/text/StringImpl.cpp:
(WTF::equalInner):
(WTF::StringImpl::startsWith const):
(WTF::StringImpl::startsWithIgnoringASCIICase const):
(WTF::StringImpl::hasInfixStartingAt const):
(WTF::StringImpl::endsWith):
(WTF::StringImpl::endsWithIgnoringASCIICase const):
(WTF::StringImpl::hasInfixEndingAt const):
(WTF::StringImpl::replace):
- wtf/text/StringImpl.h:
(WTF::StringImpl::startsWith const): Deleted.
(WTF::StringImpl::endsWith const): Deleted.
- wtf/text/StringView.h:
(WTF::startsWith):
(WTF::startsWithIgnoringASCIICase):
(WTF::endsWith):
(WTF::endsWithIgnoringASCIICase):
(WTF::String::replace):
(WTF::String::startsWith const):
(WTF::String::startsWithIgnoringASCIICase const):
(WTF::String::endsWith const):
(WTF::String::endsWithIgnoringASCIICase const):
(WTF::String::hasInfixStartingAt const):
(WTF::String::hasInfixEndingAt const):
(WTF::AtomString::startsWith const):
(WTF::AtomString::startsWithIgnoringASCIICase const):
(WTF::AtomString::endsWith const):
(WTF::AtomString::endsWithIgnoringASCIICase const):
- wtf/text/WTFString.h:
- 5:13 PM Changeset in webkit [291836] by
-
- 2 edits in branches/safari-614.1.5-branch/Source/WebKit
Cherry-pick r291828. rdar://problem/90794287
After r291814, we need to create the INSTALL_PATH for the iOS sandbox files
https://bugs.webkit.org/show_bug.cgi?id=238351
Reviewed by Saam Barati.
We need to create the $(INSTALL_PATH) for the preprocessed iOS sandbox files.
Before r291814, the built-in Xcode copy step used ditto when copying the .sb
files thus creating $(INSTALL_PATH) and its intermediate directories.
That change set made it so that all WebKit iOS sandbox profile files are preprocessed
thus eliminating the Xcode copy step.
- WebKit.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291828 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:08 PM Changeset in webkit [291835] by
-
- 6 edits in trunk/Source
[GLib] Add user directories to WTF::FileSystem
https://bugs.webkit.org/show_bug.cgi?id=238348
Reviewed by Adrian Perez de Castro.
Source/WebKit:
Use the new FileSystem APIs instead of calling glib directly.
- UIProcess/Inspector/gtk/WebInspectorUIProxyGtk.cpp:
(WebKit::inspectorWebsiteDataStore):
- UIProcess/glib/WebsiteDataStoreGLib.cpp:
(WebKit::WebsiteDataStore::cacheDirectoryFileSystemRepresentation):
(WebKit::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
Source/WTF:
Add FileSystem::userCacheDirectory and FileSystem::userDataDirectory which call into
g_get_user_cache_dir and g_get_user_data_dir respectively.
- wtf/FileSystem.h:
- wtf/glib/FileSystemGlib.cpp:
(WTF::FileSystemImpl::userCacheDirectory):
(WTF::FileSystemImpl::userDataDirectory):
- 5:01 PM Changeset in webkit [291834] by
-
- 1 copy in tags/Safari-614.1.5.5.2
Tag Safari-614.1.5.5.2.
- 4:59 PM Changeset in webkit [291833] by
-
- 2 edits in branches/safari-614.1.5.5-branch/Source/WebKit
Cherry-pick r291828. rdar://problem/90794287
After r291814, we need to create the INSTALL_PATH for the iOS sandbox files
https://bugs.webkit.org/show_bug.cgi?id=238351
Reviewed by Saam Barati.
We need to create the $(INSTALL_PATH) for the preprocessed iOS sandbox files.
Before r291814, the built-in Xcode copy step used ditto when copying the .sb
files thus creating $(INSTALL_PATH) and its intermediate directories.
That change set made it so that all WebKit iOS sandbox profile files are preprocessed
thus eliminating the Xcode copy step.
- WebKit.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291828 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:57 PM Changeset in webkit [291832] by
-
- 6 edits in trunk/Source
[iOS] make
WKMouseGestureRecognizerofficially conform to_UIHoverEventRespondable
https://bugs.webkit.org/show_bug.cgi?id=238242
<rdar://problem/88828903>
Reviewed by Tim Horton.
Source/WebKit:
- UIProcess/ios/WKMouseGestureRecognizer.h:
- UIProcess/ios/WKMouseGestureRecognizer.mm:
- Platform/spi/ios/UIKitSPI.h:
Source/WTF:
- wtf/PlatformHave.h:
- 4:56 PM Changeset in webkit [291831] by
-
- 9 edits in branches/safari-614.1.5.5-branch/Source
Versioning.
WebKit-7614.1.5.5.2
- 4:53 PM Changeset in webkit [291830] by
-
- 8 edits in trunk
Fix serialization of nan, infinity, -infinity for calc()
https://bugs.webkit.org/show_bug.cgi?id=238288
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt:
- web-platform-tests/css/css-values/calc-infinity-nan-serialize-angle-expected.txt:
- web-platform-tests/css/css-values/calc-infinity-nan-serialize-length-expected.txt:
- web-platform-tests/css/css-values/calc-infinity-nan-serialize-time-expected.txt:
Source/WebCore:
Update serializing of nan, infinity, -infinity to be in line with step 2 of:
https://drafts.csswg.org/css-values/#calc-serialize.
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::formatNumberValue const):
(WebCore::CSSPrimitiveValue::formatIntegerValue const):
- 4:48 PM Changeset in webkit [291829] by
-
- 10 edits4 moves in branches/safari-614.1.5-branch/Source/WebKit
Cherry-pick r291814. rdar://problem/90343926
Update Sandbox profiles for system content path
https://bugs.webkit.org/show_bug.cgi?id=238255
Reviewed by Per Arne Vollan.
Updated WebKit sandbox profiles to include system content path rule files when building with the system content path.
Changed the iOS profiles to be preprocessed to make these changes.
- DerivedSources-input.xcfilelist
- DerivedSources-output.xcfilelist
- DerivedSources.make:
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb: Removed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: Removed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb: Removed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb: Removed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.
- Shared/Sandbox/preferences.sb:
- WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291814 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:38 PM Changeset in webkit [291828] by
-
- 2 edits in trunk/Source/WebKit
After r291814, we need to create the INSTALL_PATH for the iOS sandbox files
https://bugs.webkit.org/show_bug.cgi?id=238351
Reviewed by Saam Barati.
We need to create the $(INSTALL_PATH) for the preprocessed iOS sandbox files.
Before r291814, the built-in Xcode copy step used ditto when copying the .sb
files thus creating $(INSTALL_PATH) and its intermediate directories.
That change set made it so that all WebKit iOS sandbox profile files are preprocessed
thus eliminating the Xcode copy step.
- WebKit.xcodeproj/project.pbxproj:
- 4:38 PM Changeset in webkit [291827] by
-
- 1 copy in tags/Safari-614.1.5.5.1
Tag Safari-614.1.5.5.1.
- 4:37 PM Changeset in webkit [291826] by
-
- 10 edits4 moves in branches/safari-614.1.5.5-branch/Source/WebKit
Cherry-pick r291814. rdar://problem/90343926
Update Sandbox profiles for system content path
https://bugs.webkit.org/show_bug.cgi?id=238255
Reviewed by Per Arne Vollan.
Updated WebKit sandbox profiles to include system content path rule files when building with the system content path.
Changed the iOS profiles to be preprocessed to make these changes.
- DerivedSources-input.xcfilelist
- DerivedSources-output.xcfilelist
- DerivedSources.make:
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb: Removed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: Removed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb: Removed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb: Removed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.
- Shared/Sandbox/preferences.sb:
- WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291814 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:37 PM Changeset in webkit [291825] by
-
- 2 edits in trunk/Tools
[ews] Set bug_title property appropriately
https://bugs.webkit.org/show_bug.cgi?id=238342
Reviewed by Ryan Haddad.
- CISupport/ews-build/steps.py:
(BugzillaMixin._is_bug_closed):
- 4:29 PM Changeset in webkit [291824] by
-
- 4 edits in trunk/Source/WebCore
Web Inspector: Blank inspector in a page with container queries
https://bugs.webkit.org/show_bug.cgi?id=238338
Reviewed by Devin Rousso.
Because there is no CSSOM implementation for container queries, we are unable to inspect them currently.
However, we should be resilient to the absence of that implementation and expect that not all rules have a
matching CSSOM implementation, instead of just crashing when it happens. This patch only resolves crashes as the
result of the presence of container queries, and followup work will be done to actually plumb the correct
information to Web Inspector to show these rules.
- inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::collectFlatRules):
- inspector/agents/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::collectStyleSheets):
- style/InspectorCSSOMWrappers.cpp:
(WebCore::Style::InspectorCSSOMWrappers::collect):
- 4:23 PM Changeset in webkit [291823] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(STP142): "A JavaScript exception occured: Can't find variable: utils" from SafariDriver
https://bugs.webkit.org/show_bug.cgi?id=238335
Reviewed by Devin Rousso.
Following r289467, we can't just copy the WebDriver atom scripts to the build products, since they now need to
haveutils.jsin any script that uses theutilsnamespace. TheWebKit.frameworkcopy of these scripts are
later used while building safaridriver, so they need to include the scripts as well.
- WebKit.xcodeproj/project.pbxproj:
- 4:22 PM Changeset in webkit [291822] by
-
- 9 edits in branches/safari-614.1.5.5-branch/Source
Versioning.
WebKit-7614.1.5.5.1
- 4:14 PM Changeset in webkit [291821] by
-
- 6 edits in trunk/Source/WebKit
REGRESSION(r286590): Links with URL schemes are not clickable in Mail
https://bugs.webkit.org/show_bug.cgi?id=238262
<rdar://89145552>
Reviewed by Geoffrey Garen.
This feature requires access to the Launch Services daemon in Mail and other apps on iOS.
This patch is a partial revert of r286590.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::nonBrowserServices):
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 4:09 PM Changeset in webkit [291820] by
-
- 1 copy in branches/safari-614.1.5.5-branch
New branch.
- 3:57 PM Changeset in webkit [291819] by
-
- 9 edits in branches/safari-614.1.5-branch/Source
Versioning.
WebKit-7614.1.5.17
- 3:43 PM Changeset in webkit [291818] by
-
- 4 edits in trunk
Disable RTCRtpScriptTransform in CaptivePortal mode
https://bugs.webkit.org/show_bug.cgi?id=238340
<rdar://87821636>
Reviewed by Chris Dumez.
Source/WebKit:
When displaying content in a captive portal, we should make sure we disable
WebRTCEncodedTransform.
Tests: TestWebKitAPI
- WebProcess/WebPage/WebPage.cpp:
(WebKit::adjustSettingsForCaptivePortal): Disable WebRTCEncodedTransform.
Tools:
Add a test that RTCRtpScriptTransform is properly disabled in
CaptivePortal mode.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- 3:27 PM Changeset in webkit [291817] by
-
- 15 edits3 adds in trunk
DOM GPUP: paintSystemPreviewBadge (AR QuickLook element badge)
https://bugs.webkit.org/show_bug.cgi?id=238295
rdar://83580608
Reviewed by Dean Jackson.
Source/WebCore:
Add a new SystemImage subclass to deal with the ARKit badge, moving the custom drawing code under
RenderThemeIOS::paintSystemPreviewBadge() to ARKitBadgeSystemImage::draw().
To facilitate this, we must also have ARKitBadgeSystemImage wrap the input Image provided to
RenderThemeIOS::paintSystemPreviewBadge() so that the CoreImage filters are applied correctly.
Finally, we remove some use of
using namespace WebCorein WebSpeechRecognizerTask and
WebSpeechRecognizerTaskMock since it caused some unified build failures.
- Headers.cmake:
- Modules/speech/cocoa/WebSpeechRecognizerTask.mm:
(-[WebSpeechRecognizerTaskImpl initWithIdentifier:locale:doMultipleRecognitions:reportInterimResults:maxAlternatives:delegateCallback:]):
(-[WebSpeechRecognizerTaskImpl callbackWithTranscriptions:isFinal:]):
(-[WebSpeechRecognizerTaskImpl sendSpeechStartIfNeeded]):
(-[WebSpeechRecognizerTaskImpl sendSpeechEndIfNeeded]):
(-[WebSpeechRecognizerTaskImpl sendEndIfNeeded]):
(-[WebSpeechRecognizerTaskImpl speechRecognizer:availabilityDidChange:]):
(-[WebSpeechRecognizerTaskImpl speechRecognitionTask:didFinishSuccessfully:]):
(-[WebSpeechRecognizerTask initWithIdentifier:locale:doMultipleRecognitions:reportInterimResults:maxAlternatives:delegateCallback:]):
- Modules/speech/cocoa/WebSpeechRecognizerTaskMock.mm:
(-[WebSpeechRecognizerTaskMock initWithIdentifier:locale:doMultipleRecognitions:reportInterimResults:maxAlternatives:delegateCallback:]):
(-[WebSpeechRecognizerTaskMock audioSamplesAvailable:]):
(-[WebSpeechRecognizerTaskMock abort]):
- Modules/system-preview/ARKitBadgeSystemImage.h: Added.
(WebCore::ARKitBadgeSystemImage::encode const):
(WebCore::ARKitBadgeSystemImage::decode):
(isType):
- Modules/system-preview/ARKitBadgeSystemImage.mm: Added.
(WebCore::arKitBundle):
(WebCore::loadARKitPDFPage):
(WebCore::systemPreviewLogo):
(WebCore::ARKitBadgeSystemImage::draw const):
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/SystemImage.h:
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::drawSystemImage):
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintSystemPreviewBadge):
(WebCore::arKitBundle): Deleted.
(WebCore::loadARKitPDFPage): Deleted.
(WebCore::systemPreviewLogo): Deleted.
Source/WebKit:
Make sure we restore the Image on the ARKitBadgeSystemImage before we attempt to draw it.
- GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
(WebKit::RemoteDisplayListRecorder::drawSystemImage):
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<Ref<SystemImage>>::encode):
(IPC::ArgumentCoder<Ref<SystemImage>>::decode):
LayoutTests:
The system-preview/badge.html test now passes reliably with DOM GPUP enabled,
which incidentally fixes bug 236922.
- platform/ios-wk2/TestExpectations:
- 3:22 PM Changeset in webkit [291816] by
-
- 3 edits2 adds in trunk
REGRESSION (Safari 15.4): Nonce from link isn't used when loading style sheet
https://bugs.webkit.org/show_bug.cgi?id=238014
<rdar://problem/90599352>
Reviewed by Brent Fulgham.
Source/WebCore:
In https://bugs.webkit.org/show_bug.cgi?id=179728 we implemented
nonce hiding from the DOM. It seems we missed once location
where we need to reference the element.nonce() instead of the
nonce attribute.
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
LayoutTests:
- http/tests/security/contentSecurityPolicy/stylesheet-allowed-with-nonce-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/stylesheet-allowed-with-nonce.py: Added.
- 2:55 PM WebKitGTK/2.36.x edited by
- (diff)
- 2:41 PM Changeset in webkit [291815] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] JSRemoteFunction thunk should materialize code-pointer
https://bugs.webkit.org/show_bug.cgi?id=238313
Reviewed by Mark Lam.
When invoking a JSRemoteFunction, we must first wrap the arguments passed to it.
The wrapping operation may trigger a GC, and GC can jettison JIT code. As a result,
even though we know that the target JSFunction has JIT code that we want to execute,
the JIT code may be jettisoned (while wrapping the arguments for it) before we get
to the call. This resulted in occasional crashes on the JSTests/stress/shadow-realm-evaluate.js test.
This patch fixes this by doing a null check on the JIT code just before calling it,
and if null (i.e. the JIT code has been jettisoned), re-materializing the JIT code
first before making the call.
- jit/JITOperations.cpp:
(JSC::JSC_DEFINE_JIT_OPERATION):
- jit/JITOperations.h:
- jit/ThunkGenerators.cpp:
(JSC::remoteFunctionCallGenerator):
- 2:39 PM Changeset in webkit [291814] by
-
- 10 edits4 moves in trunk/Source/WebKit
Update Sandbox profiles for system content path
https://bugs.webkit.org/show_bug.cgi?id=238255
Reviewed by Per Arne Vollan.
Updated WebKit sandbox profiles to include system content path rule files when building with the system content path.
Changed the iOS profiles to be preprocessed to make these changes.
- DerivedSources-input.xcfilelist
- DerivedSources-output.xcfilelist
- DerivedSources.make:
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb: Removed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: Removed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb: Removed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb: Removed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.in: Copied from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.
- Shared/Sandbox/preferences.sb:
- WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/com.apple.WebProcess.sb.in:
- 1:59 PM WebKitGTK/2.36.x edited by
- (diff)
- 1:50 PM Changeset in webkit [291813] by
-
- 5 edits4 adds in trunk
Safari can't play video completely at bilibili.com
https://bugs.webkit.org/show_bug.cgi?id=236440
rdar://88761053
Reviewed by Jer Noble.
Source/WebCore:
Video frames were incorrectly evicted during a call to appendBuffer
as the Source Buffer incorrectly assumed a discontinuity was present.
When appending data to a source buffer, the MSE specs describe a method
to detect discontinuities in the Coded Frame Processing algorithm
(https://www.w3.org/TR/media-source/#sourcebuffer-coded-frame-processing)
step 6:
"
- If last decode timestamp for track buffer is set and decode timestamp is less than last decode timestamp:
OR
- If last decode timestamp for track buffer is set and the difference between decode timestamp and last decode timestamp is greater than 2 times last frame duration.
"
The issue being what defines the last frame duration.
Is it the frame last seen in the coded frame processing loop or the frame
whose presentation timestamp is just before the one we are currently
processing.
H264 and HEVC have a concept of b-frames: that is a frame that depends
on a future frame to be decoded.
Those frames are found in the container and can be identified by their
presentation timestamp higher than the frame following in decode order.
Those present a challenge as the frame prior the current one in
presentation order, may actually only be found several frames back in
decode order.
Bug 181891 attempted to fix a similar issue, and used the longest
"decode duration" as a workaround to detect discontinuity in the content.
It mentioned adopting the same technique as in Mozilla's MSE
implementation, but Mozilla also skip discontinuity detection within a
media segment (https://www.w3.org/TR/media-source/#media-segment which for
fMP4 is a single moof box) an approach that can't be achieved with
CoreMedia's AVStreamDataParser.
As mentioned in bug 181891, CoreMedia ignore the decode timestamps' delta
and juggles with the sample's duration so that there's no discontinuity
in the demuxed samples' presentation time, causing false positive in the
gap detection algorithm.
Bilibili uses HEVC content, and uses an encoding that generate lots
of b-frames, with a very wide sliding window (seen up to 12 frames).
By using the longest frame duration found in either presentation or
decode duration as threshold to identify a discontinuity, we can
properly parse the content and not incorrectly evict appended frames.
(As a side note, the use of HEVC with B-Frames is peculiar as not all
hardware support it.)
It is difficult to identify here if the issue is within the bilibili's
content or CoreMedia's output, though the responsibility more than
likely lies with bilibili.
Test: media/media-source/media-mp4-hevc-bframes.html
- platform/graphics/SourceBufferPrivate.cpp:
(WebCore::SourceBufferPrivate::TrackBuffer::TrackBuffer):
(WebCore::SourceBufferPrivate::resetTrackBuffers):
(WebCore::SourceBufferPrivate::didReceiveSample):
- platform/graphics/SourceBufferPrivate.h:
LayoutTests:
- media/media-source/content/test-bframes-hevc-manifest.json: Added.
- media/media-source/content/test-bframes-hevc.mp4: Added.
- media/media-source/media-mp4-hevc-bframes-expected.txt: Added.
- media/media-source/media-mp4-hevc-bframes.html: Added.
- 12:53 PM Changeset in webkit [291812] by
-
- 2 edits in trunk/Source/WebKit
[WinCairo] WCTileGrid should create tiles only for the inside of layer area
https://bugs.webkit.org/show_bug.cgi?id=238317
Reviewed by Don Olmstead.
The coverage rect returned by computeVisibleAndCoverageRect may be
bigger than the layer rect. Tiles should be paved only for the
intersection of the coverage rect and the layer rect.
- WebProcess/WebPage/wc/WCTileGrid.cpp:
(WebKit::WCTileGrid::tileRectFromPixelRect): Take the intersection
with the layer rect. Return an empty rect if the intersection is
empty.
- 12:39 PM Changeset in webkit [291811] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Remove slow codepath matching arithmetics in FontCascade::widthForSimpleText
https://bugs.webkit.org/show_bug.cgi?id=238306
Reviewed by Antti Koivisto.
By now if we measure some text using the fast codepath, we usually stay on this codepath for the rest
of the layout (i.e. preferred width computation uses the same fast codepath, and we also don't dynamically switch between modern and legacy).
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::widthForSimpleText const):
- 12:36 PM Changeset in webkit [291810] by
-
- 6 edits in trunk/Source/WebKit
[iOS] Disable unneeded code when content filtering is running in the Network process
https://bugs.webkit.org/show_bug.cgi?id=238332
Reviewed by Geoffrey Garen.
- Shared/Cocoa/LoadParametersCocoa.mm:
(WebKit::LoadParameters::platformEncode const):
(WebKit::LoadParameters::platformDecode):
- Shared/LoadParameters.h:
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::addPlatformLoadParameters):
- UIProcess/WebProcessProxy.h:
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::platformDidReceiveLoadParameters):
- 11:52 AM Changeset in webkit [291809] by
-
- 6 edits1 add2 deletes in trunk/Source/WebKit
[XCBuild] WebKit: Use native headers + build rules for migrated headers
https://bugs.webkit.org/show_bug.cgi?id=238213
<rdar://problem/90172142>
Reviewed by Alexey Proskuryakov.
Replace the Make-based header migration script phase with a native project-based
representation in WebKit.xcodeproj.
The project now contains a 'Migrated Headers' group which lists the headers from
WebKitLegacy and WebCore that are copied to WebKit.framework during the build process. This
group must be kept in sync with the actual headers in WebKitLegacy, but since new headers
shouldn't really be added to WebKitLegacy this will be low-friction.
The preexisting postprocess-header-rule build rule is refactored to handle the
transformations needed for Migrated headers, which previous came from WebKitLegacy's
postprocess-header-rulescript or from one of the MigrateHeaders*.make files.
- Configurations/WebKit.xcconfig: Use EXCLUDED_SOURCE_FILE_NAMES to customize migrated
headers on mac vs. non-mac platforms.
- Scripts/postprocess-header-rule: Refactored to incorporate WebKitLegacy's postprocessing
steps, and to do less disk I/O, now that it's always invoked as a build rule and can do less
in-place editing. Local testing shows a ~15% speedup.
- Shared/API/Cocoa/WebKitLegacy.h: Added. Xcode's header maps forbid a header's name from
changing during the copy process, so we have to duplicate WebKitLegacy's umbrella header
instead of renaming it WebKit.h -> WebKitLegacy.h during the build.
- WebKit.xcodeproj/project.pbxproj: Added 'Migrated Headers' group and build rule.
Configured headers to always copy using XCBuild. Removed legacy-only header script phases.
- WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm: This file used unqualified
<HEADER.h> imports, which are not supported by Xcode's headermaps. Replaced with "HEADER.h".
- mac/MigrateHeadersFromWebKitLegacy.make: Removed, logic now lives in
mingrate-headers-rule.sh.
- mac/postprocess-framework-headers.sh: Removed.
- mac/replace-webkit-additions-includes.py: Refactored to use stdin and stdout rather than
editing in-place. Corresponds to refactors in postprocess-header-rule.
- 11:50 AM Changeset in webkit [291808] by
-
- 3 edits in trunk/Source/WebCore
FormDataConsumer callback happens more than once with an exception
https://bugs.webkit.org/show_bug.cgi?id=238091
In case of an error, it is not expected for the FormDataConsumer callback to happen
more than once with an exception. To avoid this, we introduce FormDataConsumer::didFail
which cancels/clears everything after reporting an error.
Reviewed by Youenn Fablet.
- Modules/fetch/FormDataConsumer.cpp:
(WebCore::FormDataConsumer::read):
(WebCore::FormDataConsumer::consumeFile):
(WebCore::FormDataConsumer::consumeBlob):
(WebCore::FormDataConsumer::didFail):
(WebCore::FormDataConsumer::cancel):
- Modules/fetch/FormDataConsumer.h:
(WebCore::FormDataConsumer::isCancelled):
- 11:16 AM Changeset in webkit [291807] by
-
- 36 edits4 deletes in trunk
Unreviewed, reverting r291789.
This revision caused 65+ new API failures on iOS debug
Reverted changeset:
"Release assert in Document::updateLayout() via
HTMLTextAreaElement::childrenChanged"
https://bugs.webkit.org/show_bug.cgi?id=224471
https://commits.webkit.org/r291789
- 11:15 AM Changeset in webkit [291806] by
-
- 3 edits in trunk/Source/WebKit
[macOS] Remove reports for some sandbox violations on process launch
https://bugs.webkit.org/show_bug.cgi?id=238324
Reviewed by Geoffrey Garen.
Remove reports for some sandbox violations on process launch on macOS. These violations are not critical,
and are slowing down process launch. This patch also adds access to a mach syscall observed being in use.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- WebProcess/com.apple.WebProcess.sb.in:
- 11:08 AM Changeset in webkit [291805] by
-
- 2 edits in trunk/Source/WebGPU
[WebGPU] Fix the watchOS build
https://bugs.webkit.org/show_bug.cgi?id=238337
Unreviewed.
- WebGPU/Texture.mm:
(WebGPU::Device::createTexture):
- 10:57 AM Changeset in webkit [291804] by
-
- 9 edits2 adds in trunk/Tools
[git-webkit] Install git-lfs
https://bugs.webkit.org/show_bug.cgi?id=238270
<rdar://problem/90708032>
Reviewed by Aakash Jain and Wenson Hsieh.
- Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/requests_.py:
(Response.init): Accept binary content or text.
(Response.text): Decode binary content.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git): Add git lfs mocks.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py:
(GitHub.init): Mock project release binaries.
(GitHub.request): Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/init.py: Add InstallGitLFS.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/install_git_lfs.py: Added.
(InstallGitLFS):
(InstallGitLFS.url): Return URL specific to the current platform.
(InstallGitLFS.install): Installgit lfsglobally on this machine.
(InstallGitLFS.parser): Installgit lfseven if it is already installed.
(InstallGitLFS.main): Checkgit lfsversion, install it if needed, and then rungit lfs install.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/install_git_lfs_unittest.py: Added.
(TestInstallGitLFS):
(TestInstallGitLFS.setUp):
(TestInstallGitLFS.test_svn):
(TestInstallGitLFS.test_remote_git):
(TestInstallGitLFS.test_url):
(TestInstallGitLFS.test_install):
(TestInstallGitLFS.test_configure):
(TestInstallGitLFS.test_no_op):
Canonical link: https://commits.webkit.org/248831@main
- 10:30 AM Changeset in webkit [291803] by
-
- 1 edit in branches/safari-613-branch/Source/WebCore/PAL/pal/spi/cocoa/AVFoundationSPI.h
Unreviewed build fix. rdar://problem/89972004
- 10:20 AM Changeset in webkit [291802] by
-
- 5 edits in trunk
PushAPI.firePushEventWithNoPagesTimeout fails in debug builds
https://bugs.webkit.org/show_bug.cgi?id=238309
Reviewed by Youenn Fablet.
Source/WebCore:
Export RegistrationDatabase::schemaVersion for tests to use.
- workers/service/server/RegistrationDatabase.cpp:
(WebCore::databaseFilename):
(WebCore::cleanOldDatabases):
- workers/service/server/RegistrationDatabase.h:
Tools:
This test was dying on an assertion in debug builds because we were calling
terminateNetworkProcessWhileRegistrationIsStored with a brand new WKWebsiteDataStore, which
wasn't associated with an active NetworkProcess connection since it was a brand new object.
Fix this by using the existing data store object instead.
Additionally, terminateNetworkProcessWhileRegistrationIsStored was waiting on the wrong
filename, so I changed the test to reference the correct filename.
- TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm:
- 10:18 AM Changeset in webkit [291801] by
-
- 4 edits in trunk/LayoutTests
Unreviewed gardening.
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 9:55 AM Changeset in webkit [291800] by
-
- 36 edits in trunk
String's find() / reverseFind() / replace() should take in a StringView instead of a String
https://bugs.webkit.org/show_bug.cgi?id=238287
Reviewed by Darin Adler.
Source/WebCore:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::decodeDatabaseName):
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::setValueCommon):
- page/UserContentURLPattern.cpp:
(WebCore::UserContentURLPattern::parse):
- platform/mediastream/CaptureDevice.h:
(WebCore::CaptureDevice::label const):
Source/WebKit:
- WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
(WebKit::WebContextMenuClient::searchWithGoogle):
Source/WebKitLegacy/win:
- WebCoreSupport/WebContextMenuClient.cpp:
(WebContextMenuClient::searchWithGoogle):
Source/WTF:
String's find() / reverseFind() / replace() should take in a StringView instead of a String
to avoid unnecessary String construction in many cases. We should probably do the same for
more String functions where we don't really need a String parameter, but those will be
addressed separately.
- wtf/text/AtomString.h:
- wtf/text/StringCommon.h:
(WTF::findCommon): Deleted.
- wtf/text/StringImpl.cpp:
(WTF::StringImpl::find):
(WTF::StringImpl::findIgnoringASCIICase const):
(WTF::StringImpl::reverseFind):
(WTF::StringImpl::replace):
- wtf/text/StringImpl.h:
- wtf/text/StringView.h:
(WTF::findCommon):
(WTF::findIgnoringASCIICase):
(WTF::String::find const):
(WTF::String::findIgnoringASCIICase const):
(WTF::String::reverseFind const):
(WTF::String::contains const):
(WTF::String::containsIgnoringASCIICase const):
(WTF::String::replace):
(WTF::AtomString::find const):
(WTF::AtomString::findIgnoringASCIICase const):
(WTF::AtomString::contains const):
(WTF::AtomString::containsIgnoringASCIICase const):
- wtf/text/WTFString.h:
- 8:55 AM Changeset in webkit [291799] by
-
- 4 edits in trunk/Source/WebCore
[LFC][IFC] Do not construct a TextRun for measuring a single whitespace when simplified content measuring can be used
https://bugs.webkit.org/show_bug.cgi?id=238228
Reviewed by Antti Koivisto.
- layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::computeInlineTextItemWidths): Just simply call TextUtil::width
- layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::spaceWidth):
(WebCore::Layout::TextUtil::width):
(WebCore::Layout::TextUtil::spaceWidth): Deleted.
- layout/formattingContexts/inline/text/TextUtil.h:
- 8:53 AM Changeset in webkit [291798] by
-
- 7 edits in trunk/Source/WebCore
AX: Remove firstChild, lastChild, previousSibling, nextSibling, nextSiblingUnignored, and previousSiblingUnignored from the AXCoreObject interface
https://bugs.webkit.org/show_bug.cgi?id=238267
Reviewed by Andres Gonzalez.
All of these except nextSibling and previousSibling are ASSERT_NOT_REACHED no-ops
in AXIsolatedObject. We do compute next and previous sibling for isolated objects,
but they're only used in one place (appendChildrenToArray). Usage of these functions
in appendChildrenToArray doesn't make sense for isolated objects, as it would require
the isolated object to be ignored for them to be called, and we should never have created an
isolated object from an ignored live object.
Dovetailing from that, this patch also removes AXPropertyName::IsAccessibilityIgnored,
since this should always be false for isolated objects. ASSERTs have been added in a
few places to assure this is the case.
- accessibility/AccessibilityObject.cpp:
(WebCore::Accessibility::appendChildrenToArray):
- accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::firstChild const):
(WebCore::AccessibilityObject::lastChild const):
(WebCore::AccessibilityObject::previousSibling const):
(WebCore::AccessibilityObject::nextSibling const):
- accessibility/AccessibilityObjectInterface.h:
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):
(WebCore::AXIsolatedObject::firstChild const): Deleted.
(WebCore::AXIsolatedObject::lastChild const): Deleted.
(WebCore::AXIsolatedObject::nextSiblingUnignored const): Deleted.
(WebCore::AXIsolatedObject::previousSiblingUnignored const): Deleted.
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/isolatedtree/AXIsolatedTree.h:
Remove AXPropertyName::NextSibling, AXPropertyName::PreviousSibling,
AXPropertyName::IsAccessibilityIgnored.
- 8:50 AM Changeset in webkit [291797] by
-
- 16 edits2 copies40 adds in trunk/LayoutTests
Update css/css-sizing/contain-intrinsic-size tests from WPT
https://bugs.webkit.org/show_bug.cgi?id=238312
Reviewed by Rob Buis.
LayoutTests/imported/w3c:
Update the contain-intrinsic-size tests to wpt commit: 7c61a4594a95682531367b6956d1c37f8b8fd486
- resources/import-expectations.json:
- resources/resource-files.json:
- web-platform-tests/css/css-sizing/contain-intrinsic-size/animation/contain-intrinsic-size-interpolation-expected.txt:
- web-platform-tests/css/css-sizing/contain-intrinsic-size/animation/contain-intrinsic-size-interpolation.html:
- web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-001-expected.txt: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-001.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-002-expected.txt: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-002.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-003-expected.txt: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-003.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-004-expected.txt: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-004.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-005-expected.txt: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-005.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-001-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-002-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-003-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-004-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-005-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-006-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-007-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-008-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-010-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-011-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-012-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-013-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-014-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-015-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-016-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-017-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-018-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-019-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-020-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-021-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-022-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-023-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-024-ref.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-025-expected.html:
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-025-ref.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-025-expected.html.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-026-expected.html:
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-026-ref.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-026-expected.html.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-027-expected.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-027.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-logical-001-expected.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-logical-001.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-logical-002-expected.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-logical-002.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-computed-expected.txt:
- web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-computed.html:
- web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-invalid-expected.txt:
- web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-invalid.html:
- web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-valid-expected.txt:
- web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-valid.html:
- web-platform-tests/css/css-sizing/contain-intrinsic-size/w3c-import.log:
LayoutTests:
- 8:29 AM Changeset in webkit [291796] by
-
- 2 edits in trunk/Source/WebCore
MatchedDeclarationCache key is already hashed
https://bugs.webkit.org/show_bug.cgi?id=238321
Reviewed by Alan Bujtas.
- style/MatchedDeclarationsCache.h:
- 8:03 AM Changeset in webkit [291795] by
-
- 2 edits in trunk/Tools
Unreviewed, update outdated comment after r291787.
- TestWebKitAPI/Tests/WTF/StringImpl.cpp:
(TestWebKitAPI::TEST):
- 7:15 AM Changeset in webkit [291794] by
-
- 3 edits in trunk/Source/WebCore
[IFC][Integration] RenderText::computeCanUseSimplifiedTextMeasuring should take first-line style into account
https://bugs.webkit.org/show_bug.cgi?id=238243
Reviewed by Antti Koivisto.
This is in preparation for using the fast text measuring codepath for legacy line layout content.
- layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::buildTree):
- rendering/RenderText.cpp:
(WebCore::RenderText::computeCanUseSimplifiedTextMeasuring const):
- 6:47 AM Changeset in webkit [291793] by
-
- 5 edits in trunk/Source/WebCore
Devirtualize RenderText::width
https://bugs.webkit.org/show_bug.cgi?id=238285
Reviewed by Antti Koivisto.
RenderCombineText handling is moved to RenderText (we already handle combine text in RenderText::widthFromCache).
- rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::combineTextIfNeeded): These are all non-text-combine callsites.
(WebCore::RenderCombineText::width const): Deleted.
- rendering/RenderCombineText.h:
- rendering/RenderText.cpp:
(WebCore::combineTextWidth): RenderCombineText::combinedTextWidth returns the same value as RenderCombineText::width.
(WebCore::RenderText::widthFromCache const):
(WebCore::RenderText::width const):
- rendering/RenderText.h:
- 6:04 AM Changeset in webkit [291792] by
-
- 4 edits in trunk/Source/WebKit
[GTK] REGRESSION(r291613): Build broken with USE_GTK4 + ENABLE_ACCESSIBILITY
https://bugs.webkit.org/show_bug.cgi?id=238320
Reviewed by Carlos Garcia Campos.
Guard remaning uses of ATK when building with GTK4, where ATK is not used at all.
- UIProcess/API/glib/WebKitWebViewAccessible.cpp:
- UIProcess/API/glib/WebKitWebViewAccessible.h:
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDispose):
- 5:44 AM Changeset in webkit [291791] by
-
- 4 edits in trunk
REGRESSION (r287807): WEBGL_multi_draw validation rejecting valid arguments
https://bugs.webkit.org/show_bug.cgi?id=238239
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-03-24
Reviewed by Darin Adler.
Source/WebCore:
Fix off-by-one error causing full buffer multidraws to be
marked as invalid.
Enable the newer WebGL conformance tests that test this.
- html/canvas/WebGLMultiDraw.cpp:
(WebCore::WebGLMultiDraw::validateOffset):
LayoutTests:
Enable the newer WebGL conformance tests that test this, marked
Slow as they take a while to run.
- 5:18 AM Changeset in webkit [291790] by
-
- 5 edits in trunk/Source/WebCore
Allow styles with appearance in matched declaration cache
https://bugs.webkit.org/show_bug.cgi?id=238247
Reviewed by Antoine Quint.
Improve cache efficiency by allowing styles with appearance (typically form controls) to be cached.
In Speedometer this improves the cache hit rate ~75% -> 94%.
- style/MatchedDeclarationsCache.cpp:
(WebCore::Style::MatchedDeclarationsCache::isCacheable):
Remove appearance check.
(WebCore::Style::MatchedDeclarationsCache::add):
Also cache the UA style for styles with appearance.
(WebCore::Style::MatchedDeclarationsCache::remove):
- style/MatchedDeclarationsCache.h:
- style/StyleResolver.cpp:
(WebCore::Style::Resolver::applyMatchedProperties):
Also simplify the case where inherited properties affect resolution of other properties by
kicking out the existing entry. This also makes the second attempt cacheable.
- style/StyleResolver.h:
- 1:33 AM Changeset in webkit [291789] by
-
- 36 edits1 copy4 adds in trunk
Release assert in Document::updateLayout() via HTMLTextAreaElement::childrenChanged
https://bugs.webkit.org/show_bug.cgi?id=224471
Reviewed by Ryosuke Niwa.
Source/WebCore:
Executing some editing commands in a text area might force the recomputation of things
like caret or the visible selection position and extent. Under some circumstances (like
when the text area has no content and children) we might end up trying to update layout
when it is not safe as a side effect of updating the caret.
In order to fix that, we can switch to a model in which we update the selection asynchronously
in the case of having a non-user triggered change. That way we don't do it inside
a restricted layout scope.
The App Highlight restoration code had to be tuned as well (when restoring and scrolling to reveal
a Quick Note on iOS MacOS). It uses TemporarySelectionChange to select and scroll to reveal the highlight
range; the code assumed that this scrolling happens synchronously, since it reverts the selection to
the original range at the end ofAppHighlightStorage::attemptToRestoreHighlightAndScrollwhen the
TemporarySelectionChange falls out of scope. That is however no longer the case. Actually no scrolling
happened after this patch because we end up only scheduling the appearance update timer before setting
the selection back to the original state withSelectionRevealMode::DoNotReveal. Since this only happens
when the user interacts in the Notes app, it seems sensible to consider it as a user triggered event.
- Modules/highlight/AppHighlightStorage.cpp:
(WebCore::AppHighlightStorage::attemptToRestoreHighlightAndScroll): Consider the selection change
as user triggered so scrolling actually happens.
- editing/Editor.cpp:
(WebCore::TemporarySelectionChange::setSelection): Check the UserTriggered flags for default options.
- editing/Editor.h: Added a new UserTriggered flag.
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelection): Call scheduleAppearanceUpdateAfterStyleChange() for
IsUserTriggered changes.
(WebCore::FrameSelection::updateSelectionAppearanceNow): Renamed from updateSelectionByUpdatingLayoutOrStyle.
It does not need the Document& attribute because it was always called with m_document.
(WebCore::FrameSelection::absoluteCaretBounds): Replaced updateSelectionByUpdatingLayoutOrStyle with
updateSelectionAppearanceNow().
(WebCore::FrameSelection::setCaretVisibility): Ditto.
(WebCore::FrameSelection::selectionBounds const): Ditto.
(WebCore::FrameSelection::revealSelection): Call updateSelectionAppearanceNow().
(WebCore::FrameSelection::updateAppearanceIfRevealingSelectionIsNeeded): New method.
(WebCore::updateSelectionByUpdatingLayoutOrStyle): Deleted.
- editing/FrameSelection.h:
- page/EventHandler.cpp:
(WebCore::setSelectionIfNeeded): Set the UserTriggered flag for calling setSelection().
- page/Page.cpp:
(WebCore::Page::doAfterUpdateRendering): Call updateAppearanceAfterLayout().
LayoutTests:
Moved some tests out of the text-based-repaint.js model because selection is now updated
and revealed asynchronously in the case of non-user triggered changes. The problem is that
by the time the repaint rects are queried the update has not happened yet. That's why
the tests were modified so that we wait until the repaint happens.
Same situation for other tests that do not involve repaint rects but trigger accesibility
tree updates. We must ensure that we let the notification be thrown before checking whether or
not has been emited. As it's done asynchronously we must let the main thread run before checking.
Last but not least, some of the tests are using setTimeout() instead of requestAnimationFrame()
because the results with the latter were not as reliable under stress/debug conditions.
- accessibility/mac/selection-boundary-userinfo.html:
- accessibility/mac/selection-change-userinfo.html:
- accessibility/mac/selection-value-changes-for-aria-textbox.html:
- editing/selection-with-absolute-positioned-empty-content.html:
- fast/forms/textarea-scrolled-endline-caret.html:
- fast/repaint/selection-gap-absolute-child-expected.txt:
- fast/repaint/selection-gap-absolute-child.html:
- fast/repaint/selection-gap-flipped-absolute-child-expected.txt:
- fast/repaint/selection-gap-flipped-absolute-child.html:
- fast/repaint/selection-gap-transformed-absolute-child-expected.txt:
- fast/repaint/selection-gap-transformed-absolute-child.html:
- fast/repaint/selection-gap-transformed-fixed-child-expected.txt:
- fast/repaint/selection-gap-transformed-fixed-child.html:
- fast/repaint/selection-paint-invalidation-expected.txt:
- fast/repaint/selection-ruby-rl-expected.txt:
- fast/repaint/selection-ruby-rl.html:
- fast/repaint/text-selection-overflow-hidden-expected.txt:
- fast/repaint/text-selection-overflow-hidden.html:
- platform/gtk/TestExpectations:
- platform/gtk/fast/repaint/selection-ruby-rl-expected.txt: Copied from LayoutTests/fast/repaint/selection-ruby-rl-expected.txt.
- platform/gtk/fast/repaint/text-selection-overflow-hidden-expected.txt:
- platform/mac-catalina-wk1/fast/repaint/focus-setting-selection-syncronizing-not-clearing-expected.txt: Added.
- platform/mac-wk1/TestExpectations:
- platform/mac-wk1/fast/repaint/4776765-expected.txt: Added.
- platform/mac-wk1/accessibility/mac/focus-setting-selection-syncronizing-not-clearing-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-005-expected.txt:
- platform/mac/TestExpectations:
- platform/win/fast/repaint/4776765-expected.txt: Added.
- platform/win/fast/repaint/selection-gap-fixed-child-expected.txt:
- platform/win/fast/repaint/selection-ruby-rl-expected.txt:
- platform/win/fast/repaint/text-selection-overflow-hidden-expected.txt:
Mar 23, 2022:
- 11:32 PM Changeset in webkit [291788] by
-
- 48 edits in trunk/Source/WebCore
setNeedsLayout() should not be called when changing the SVG properties
https://bugs.webkit.org/show_bug.cgi?id=230296
Patch by Rob Buis <rbuis@igalia.com> on 2022-03-23
Reviewed by Said Abou-Hallawa.
Make SVG not call setNeedsLayout() from outside RenderTreeUpdater::updateRenderTree() when an attribute changes.
This ensures there will not be a dirty rendering tree immediately after updating it.
The patch also tries to avoid invalidate wording since this is quite generic.
Based on the initial patch by Said Abou-Hallawa.
- dom/ElementData.h:
(WebCore::ElementData::svgResourcesInAncestorChainAreDirty const):
(WebCore::ElementData::setSVGResourcesInAncestorChainAreDirty const):
- rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateRenderTree):
- svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::applyResultsToTarget):
- svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::svgAttributeChanged):
(WebCore::SVGClipPathElement::childrenChanged):
- svg/SVGComponentTransferFunctionElement.cpp:
(WebCore::SVGComponentTransferFunctionElement::svgAttributeChanged):
- svg/SVGElement.cpp:
(WebCore::SVGElement::setSVGResourcesInAncestorChainAreDirty):
(WebCore::SVGElement::invalidateSVGResourcesInAncestorChainIfNeeded):
- svg/SVGElement.h:
- svg/SVGElementInlines.h:
(WebCore::SVGElement::setPresentationalHintStyleIsDirty):
- svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::svgAttributeChanged):
- svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::svgAttributeChanged):
- svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::svgAttributeChanged):
- svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::setOrder):
(WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength):
(WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
- svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
- svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
- svg/SVGFEDropShadowElement.cpp:
(WebCore::SVGFEDropShadowElement::setStdDeviation):
(WebCore::SVGFEDropShadowElement::svgAttributeChanged):
- svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::setStdDeviation):
(WebCore::SVGFEGaussianBlurElement::svgAttributeChanged):
- svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::buildPendingResource):
(WebCore::SVGFEImageElement::svgAttributeChanged):
- svg/SVGFELightElement.cpp:
(WebCore::SVGFELightElement::childrenChanged):
- svg/SVGFEMergeNodeElement.cpp:
(WebCore::SVGFEMergeNodeElement::svgAttributeChanged):
- svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::setRadius):
(WebCore::SVGFEMorphologyElement::svgAttributeChanged):
- svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::svgAttributeChanged):
- svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::svgAttributeChanged):
- svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::svgAttributeChanged):
- svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::svgAttributeChanged):
(WebCore::SVGFilterElement::childrenChanged):
- svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
(WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
(WebCore::SVGFilterPrimitiveStandardAttributes::invalidateFilterPrimitiveParent):
(WebCore::invalidateFilterPrimitiveParent): Deleted.
- svg/SVGFilterPrimitiveStandardAttributes.h:
(WebCore::SVGFilterPrimitiveStandardAttributes::invalidate): Deleted.
- svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::svgAttributeChanged):
- svg/SVGGeometryElement.cpp:
(WebCore::SVGGeometryElement::svgAttributeChanged):
- svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::svgAttributeChanged):
(WebCore::SVGGradientElement::childrenChanged):
- svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::svgAttributeChanged):
- svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::svgAttributeChanged):
- svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::svgAttributeChanged):
- svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::svgAttributeChanged):
- svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::svgAttributeChanged):
(WebCore::SVGMarkerElement::childrenChanged):
- svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::svgAttributeChanged):
(WebCore::SVGMaskElement::childrenChanged):
- svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::svgAttributeChanged):
- svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::svgAttributeChanged):
(WebCore::SVGPatternElement::childrenChanged):
- svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::svgAttributeChanged):
- svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::svgAttributeChanged):
- svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::updateCurrentTranslate):
(WebCore::SVGSVGElement::svgAttributeChanged):
- svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::svgAttributeChanged):
- svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::svgAttributeChanged):
- svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::svgAttributeChanged):
- svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::svgAttributeChanged):
- svg/SVGTextPositioningElement.cpp:
(WebCore::SVGTextPositioningElement::svgAttributeChanged):
- svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::svgAttributeChanged):
- svg/SVGViewElement.cpp:
(WebCore::SVGViewElement::svgAttributeChanged):
- 11:27 PM Changeset in webkit [291787] by
-
- 10 edits in trunk
Inline String(ASCIILiteral) constructor so the compiler can optimize out strlen()
https://bugs.webkit.org/show_bug.cgi?id=238162
Reviewed by Geoffrey Garen.
I have verified using a profiler that strlen() is no longer called under String::String(WTF::ASCIILiteral)
or StringImpl::createFromLiteral(WTF::ASCIILiteral) when running Speedometer.
- wtf/text/StringImpl.cpp:
- wtf/text/StringImpl.h:
(WTF::StringImpl::createFromLiteral):
- wtf/text/WTFString.cpp:
- wtf/text/WTFString.h:
(WTF::String::String):
- 11:25 PM Changeset in webkit [291786] by
-
- 7 edits in trunk/Source
Add logging for LocalStorage and IndexedDB data migration
https://bugs.webkit.org/show_bug.cgi?id=238169
Reviewed by Chris Dumez.
Source/WebCore:
- platform/sql/SQLiteFileSystem.cpp:
(WebCore::SQLiteFileSystem::moveDatabaseFile):
- platform/sql/SQLiteFileSystem.h:
Source/WebKit:
- NetworkProcess/storage/IDBStorageManager.cpp:
(WebKit::migrateOriginDataImpl):
(WebKit::IDBStorageManager::migrateOriginData):
- NetworkProcess/storage/IDBStorageManager.h:
- NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::StorageBucket::resolvedLocalStoragePath):
(WebKit::OriginStorageManager::StorageBucket::resolvedIDBStoragePath):
- 10:33 PM Changeset in webkit [291785] by
-
- 4 edits in trunk
[JSC] Fix remoteFunctionCallGenerator on MIPS
https://bugs.webkit.org/show_bug.cgi?id=238274
Patch by Geza Lore <Geza Lore> on 2022-03-23
Reviewed by Yusuke Suzuki.
JSTests:
- stress/shadow-realm-evaluate.js:
Source/JavaScriptCore:
Eliminate register conflict (nonArgGPR0 == regT4, which is used in
valueRegs)
- jit/ThunkGenerators.cpp:
(JSC::remoteFunctionCallGenerator):
- 9:35 PM Changeset in webkit [291784] by
-
- 16 edits in trunk
Have MiniBrowser shows the GPU Process pid in its title bar
https://bugs.webkit.org/show_bug.cgi?id=238286
Reviewed by Tim Horton.
Source/WebKit:
Expose _gpuProcessIdentifier on WKWebView as SPI. In order to support KVO for this, we need
to pass gpuProcessDidFinishLaunching() all the way from
GPUProcessProxy::didFinishLaunching() to PageClientImplCocoa. This KVO isn't accurate (the
"willChange" fires after the new pid is available) but for SPI it's good enough.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _gpuProcessIdentifier]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/Cocoa/PageClientImplCocoa.h:
- UIProcess/Cocoa/PageClientImplCocoa.mm:
(WebKit::PageClientImplCocoa::gpuProcessDidFinishLaunching):
(WebKit::PageClientImplCocoa::gpuProcessDidExit):
- UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::didFinishLaunching):
- UIProcess/PageClient.h:
(WebKit::PageClient::gpuProcessDidFinishLaunching):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::gpuProcessIdentifier const):
(WebKit::WebPageProxy::gpuProcessDidFinishLaunching):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::gpuProcessDidFinishLaunching):
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::gpuProcessDidFinishLaunching):
- UIProcess/WebProcessProxy.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::gpuProcessDidExit):
Tools:
KVO-observe the WKWebView's _gpuProcessIdentifier property and include it in the
window title.
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController dealloc]):
(-[WK2BrowserWindowController updateTitle:]):
(-[WK2BrowserWindowController observeValueForKeyPath:ofObject:change:context:]):
- 9:17 PM Changeset in webkit [291783] by
-
- 2 edits in trunk/LayoutTests/imported/w3c
Bump up fuzzy tolerance on css-backgrounds/background-gradient-subpixel-fills-area.html
https://bugs.webkit.org/show_bug.cgi?id=238307
Unreviewed test gardening.
- web-platform-tests/css/css-backgrounds/background-gradient-subpixel-fills-area.html:
- 8:45 PM Changeset in webkit [291782] by
-
- 6 edits in trunk
Add off-by-default experimental feature for app store attribution
https://bugs.webkit.org/show_bug.cgi?id=238294
Patch by Alex Christensen <achristensen@webkit.org> on 2022-03-23
Reviewed by John Wilander.
Source/WebCore:
In r291735 I landed a way to give SKAdNetwork a way to private report app purchase attribution
which isn't implemented yet. Turn it off in WebKit until the time is right.
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parsePrivateClickMeasurementForSKAdNetwork const):
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::TEST):
- 7:48 PM Changeset in webkit [291781] by
-
- 2 edits in trunk/Source/WebGPU
[WebGPU] Fix the non-macOS build
https://bugs.webkit.org/show_bug.cgi?id=238304
Unreviewed.
Some texture formats are only available on macOS.
- WebGPU/Texture.mm:
(WebGPU::pixelFormat):
- 7:28 PM Changeset in webkit [291780] by
-
- 4 edits in trunk/Source/WebKit
REGRESSION (248692@main?): [iOS] ASSERTION FAILED: m_layer->owner()->platformCALayerDelegatesDisplay(m_layer) in WebKit::RemoteLayerBackingStore::paintContents()
https://bugs.webkit.org/show_bug.cgi?id=238277
<rdar://problem/90715046>
Reviewed by Tim Horton.
Empty backing store (height or width of zero) never need display; ImageBuffer allocation
with empty sizes always returns null anyway.
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::needsDisplay const):
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::backingStoreNeedsDisplay):
- Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.mm:
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::backingStoreNeedsDisplay):
- 6:40 PM Changeset in webkit [291779] by
-
- 453 edits in trunk/Source
Prepare JSC for making the String(const char*) constructor explicit
https://bugs.webkit.org/show_bug.cgi?id=238264
Reviewed by Geoff Garen.
Source/JavaScriptCore:
Prepare JSC for making the String(const char*) constructor explicit. Making this constructor
explicit helps catch many instances where we're constructing a String from a literal but we
are missing the ""_s suffix.
- API/JSAPIGlobalObject.cpp:
- API/JSAPIGlobalObject.mm:
(JSC::computeValidImportSpecifier):
(JSC::JSAPIGlobalObject::moduleLoaderFetch):
- API/JSAPIValueWrapper.cpp:
- API/JSAPIWrapperObject.mm:
- API/JSCallbackConstructor.cpp:
- API/JSCallbackFunction.cpp:
- API/JSCallbackObject.cpp:
- API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::getOwnPropertySlot):
- API/JSScript.mm:
(-[JSScript readCache]):
- API/JSTypedArray.cpp:
(JSObjectMakeTypedArrayWithArrayBuffer):
(JSObjectMakeTypedArrayWithArrayBufferAndOffset):
- API/JSValue.mm:
(createStructHandlerMap):
(handerForStructTag):
- API/JSWrapperMap.mm:
(allocateConstructorForCustomClass):
- API/ObjCCallbackFunction.mm:
(JSC::ObjCCallbackFunctionImpl::name):
- API/glib/JSAPIWrapperGlobalObject.cpp:
- API/glib/JSAPIWrapperObjectGLib.cpp:
- API/glib/JSCCallbackFunction.cpp:
- API/tests/JSONParseTest.cpp:
(testJSONParse):
- bindings/ScriptFunctionCall.cpp:
(Deprecated::ScriptCallArgumentHandler::appendArgument):
- bytecode/CodeBlock.cpp:
- bytecode/EvalCodeBlock.cpp:
- bytecode/ExecutableToCodeBlockEdge.cpp:
- bytecode/ExitKind.cpp:
(JSC::exitKindToString):
- bytecode/ExitKind.h:
- bytecode/FunctionCodeBlock.cpp:
- bytecode/ModuleProgramCodeBlock.cpp:
- bytecode/ProgramCodeBlock.cpp:
- bytecode/UnlinkedCodeBlock.cpp:
- bytecode/UnlinkedEvalCodeBlock.cpp:
- bytecode/UnlinkedFunctionCodeBlock.cpp:
- bytecode/UnlinkedFunctionExecutable.cpp:
- bytecode/UnlinkedModuleProgramCodeBlock.cpp:
- bytecode/UnlinkedProgramCodeBlock.cpp:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitHasPrivateBrand):
(JSC::BytecodeGenerator::emitCheckPrivateBrand):
(JSC::BytecodeGenerator::emitReturn):
- bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitSaveComputedFieldName):
(JSC::BaseDotNode::emitGetPropertyValue):
(JSC::BaseDotNode::emitPutProperty):
(JSC::PostfixNode::emitDot):
(JSC::DeleteBracketNode::emitBytecode):
(JSC::DeleteDotNode::emitBytecode):
(JSC::PrefixNode::emitDot):
(JSC::InstanceOfNode::emitBytecode):
- debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::functionName const):
- debugger/DebuggerScope.cpp:
- heap/HeapSnapshotBuilder.cpp:
(JSC::HeapSnapshotBuilder::json):
- heap/RootMarkReason.cpp:
(JSC::rootMarkReasonDescription):
- heap/RootMarkReason.h:
- inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::appendAPIBacktrace):
- inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::getInternalProperties):
- inspector/JSInjectedScriptHostPrototype.cpp:
- inspector/JSJavaScriptCallFrame.cpp:
- inspector/JSJavaScriptCallFramePrototype.cpp:
- inspector/agents/InspectorAuditAgent.cpp:
(Inspector::InspectorAuditAgent::run):
- inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::getScriptSource):
- inspector/agents/InspectorDebuggerAgent.h:
- inspector/agents/InspectorHeapAgent.cpp:
(Inspector::InspectorHeapAgent::getRemoteObject):
- jit/ExecutableAllocator.cpp:
(JSC::dumpJITMemory):
- jit/JITCode.cpp:
(JSC::JITCode::typeName):
- jit/JITCode.h:
- jit/JITOperations.cpp:
(JSC::getWrappedValue):
- jsc.cpp:
(toCString):
(JSC_DEFINE_HOST_FUNCTION):
(runWithOptions):
(CommandLine::parseArguments):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::handleVarargsCheckpoint):
- parser/Lexer.cpp:
(JSC::Lexer<T>::scanRegExp):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parsePrimaryExpression):
- runtime/AbstractModuleRecord.cpp:
- runtime/AggregateErrorConstructor.cpp:
- runtime/ArrayConstructor.cpp:
- runtime/ArrayIteratorPrototype.cpp:
- runtime/ArrayPrototype.cpp:
- runtime/AsyncFromSyncIteratorPrototype.cpp:
- runtime/AsyncFunctionConstructor.cpp:
- runtime/AsyncFunctionPrototype.cpp:
- runtime/AsyncGeneratorFunctionConstructor.cpp:
- runtime/AsyncGeneratorFunctionPrototype.cpp:
- runtime/AsyncGeneratorPrototype.cpp:
- runtime/AsyncIteratorPrototype.cpp:
- runtime/AtomicsObject.cpp:
- runtime/BigIntConstructor.cpp:
- runtime/BigIntObject.cpp:
- runtime/BigIntPrototype.cpp:
- runtime/BooleanConstructor.cpp:
- runtime/BooleanObject.cpp:
- runtime/BooleanPrototype.cpp:
- runtime/BytecodeCacheError.cpp:
(JSC::BytecodeCacheError::StandardError::message const):
- runtime/CallData.cpp:
(JSC::call):
- runtime/CallData.h:
- runtime/ClassInfo.h:
- runtime/ClonedArguments.cpp:
- runtime/CodeCache.cpp:
(JSC::CodeCache::getUnlinkedGlobalFunctionExecutable):
- runtime/Completion.cpp:
(JSC::checkModuleSyntax):
(JSC::createSymbolForEntryPointModule):
- runtime/ConsoleObject.cpp:
- runtime/ConstructData.cpp:
(JSC::construct):
- runtime/ConstructData.h:
- runtime/CustomGetterSetter.cpp:
- runtime/DOMAttributeGetterSetter.cpp:
- runtime/DateConstructor.cpp:
- runtime/DateInstance.cpp:
- runtime/DatePrototype.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/DirectArguments.cpp:
- runtime/Error.h:
(JSC::throwVMError):
- runtime/ErrorConstructor.cpp:
- runtime/ErrorInstance.cpp:
- runtime/ErrorPrototype.cpp:
- runtime/EvalExecutable.cpp:
- runtime/Exception.cpp:
- runtime/ExceptionHelpers.cpp:
(JSC::notAFunctionSourceAppender):
(JSC::invalidParameterInSourceAppender):
(JSC::invalidParameterInstanceofSourceAppender):
(JSC::invalidPrototypeSourceAppender):
(JSC::createTDZError):
(JSC::createInvalidPrivateNameError):
(JSC::createRedefinedPrivateNameError):
(JSC::createPrivateMethodAccessError):
(JSC::createReinstallPrivateMethodError):
- runtime/ExecutableBase.cpp:
- runtime/FinalizationRegistryConstructor.cpp:
- runtime/FinalizationRegistryPrototype.cpp:
- runtime/FunctionConstructor.cpp:
- runtime/FunctionExecutable.cpp:
(JSC::FunctionExecutable::toStringSlow):
- runtime/FunctionPrototype.cpp:
- runtime/FunctionRareData.cpp:
- runtime/GeneratorFunctionConstructor.cpp:
- runtime/GeneratorFunctionPrototype.cpp:
- runtime/GeneratorPrototype.cpp:
- runtime/GetterSetter.cpp:
- runtime/GlobalExecutable.cpp:
- runtime/HashMapImpl.cpp:
- runtime/InternalFunction.cpp:
- runtime/IntlCollator.cpp:
(JSC::IntlCollator::initializeCollator):
- runtime/IntlCollatorConstructor.cpp:
- runtime/IntlCollatorPrototype.cpp:
- runtime/IntlDateTimeFormat.cpp:
(JSC::IntlDateTimeFormat::initializeDateTimeFormat):
- runtime/IntlDateTimeFormatConstructor.cpp:
- runtime/IntlDateTimeFormatPrototype.cpp:
- runtime/IntlDisplayNames.cpp:
- runtime/IntlDisplayNamesConstructor.cpp:
- runtime/IntlDisplayNamesPrototype.cpp:
- runtime/IntlListFormat.cpp:
- runtime/IntlListFormatConstructor.cpp:
- runtime/IntlListFormatPrototype.cpp:
- runtime/IntlLocale.cpp:
(JSC::IntlLocale::initializeLocale):
- runtime/IntlLocaleConstructor.cpp:
- runtime/IntlLocalePrototype.cpp:
- runtime/IntlNumberFormat.cpp:
(JSC::IntlNumberFormat::initializeNumberFormat):
- runtime/IntlNumberFormatConstructor.cpp:
- runtime/IntlNumberFormatPrototype.cpp:
- runtime/IntlObject.cpp:
(JSC::intlStringOption):
- runtime/IntlObject.h:
- runtime/IntlPluralRules.cpp:
- runtime/IntlPluralRulesConstructor.cpp:
- runtime/IntlPluralRulesPrototype.cpp:
- runtime/IntlRelativeTimeFormat.cpp:
(JSC::IntlRelativeTimeFormat::initializeRelativeTimeFormat):
- runtime/IntlRelativeTimeFormatConstructor.cpp:
- runtime/IntlRelativeTimeFormatPrototype.cpp:
- runtime/IntlSegmentIterator.cpp:
- runtime/IntlSegmentIteratorPrototype.cpp:
- runtime/IntlSegmenter.cpp:
- runtime/IntlSegmenterConstructor.cpp:
- runtime/IntlSegmenterPrototype.cpp:
- runtime/IntlSegments.cpp:
- runtime/IntlSegmentsPrototype.cpp:
- runtime/IteratorPrototype.cpp:
- runtime/JSArray.cpp:
(JSC::JSArray::tryCreateUninitializedRestricted):
- runtime/JSArrayBuffer.cpp:
- runtime/JSArrayBufferConstructor.cpp:
- runtime/JSArrayBufferPrototype.cpp:
- runtime/JSArrayBufferView.cpp:
- runtime/JSArrayIterator.cpp:
- runtime/JSAsyncFunction.cpp:
- runtime/JSAsyncGenerator.cpp:
- runtime/JSAsyncGeneratorFunction.cpp:
- runtime/JSBigInt.cpp:
(JSC::JSBigInt::parseInt):
- runtime/JSBoundFunction.cpp:
- runtime/JSCallee.cpp:
- runtime/JSCell.cpp:
(JSC::JSCell::dumpToStream):
(JSC::JSCell::className const):
- runtime/JSCell.h:
- runtime/JSCustomGetterFunction.cpp:
- runtime/JSCustomSetterFunction.cpp:
- runtime/JSDataView.cpp:
- runtime/JSDataViewPrototype.cpp:
(JSC::JSC_DEFINE_CUSTOM_GETTER):
- runtime/JSFinalizationRegistry.cpp:
(JSC::JSFinalizationRegistry::runFinalizationCleanup):
- runtime/JSFunction.cpp:
- runtime/JSGenerator.cpp:
- runtime/JSGeneratorFunction.cpp:
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::create):
(JSC::JSGenericTypedArrayView<Adaptor>::validateRange):
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::speciesConstruct):
(JSC::genericTypedArrayViewProtoFuncSet):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):
- runtime/JSGlobalLexicalEnvironment.cpp:
- runtime/JSGlobalObject.cpp:
- runtime/JSImmutableButterfly.cpp:
- runtime/JSInternalPromise.cpp:
- runtime/JSInternalPromiseConstructor.cpp:
- runtime/JSInternalPromisePrototype.cpp:
- runtime/JSLexicalEnvironment.cpp:
- runtime/JSMap.cpp:
- runtime/JSMapIterator.cpp:
- runtime/JSModuleEnvironment.cpp:
- runtime/JSModuleLoader.cpp:
- runtime/JSModuleNamespaceObject.cpp:
- runtime/JSModuleRecord.cpp:
- runtime/JSNativeStdFunction.cpp:
- runtime/JSONObject.cpp:
- runtime/JSObject.cpp:
(JSC::JSObject::markAuxiliaryAndVisitOutOfLineProperties):
- runtime/JSPromise.cpp:
- runtime/JSPromiseConstructor.cpp:
- runtime/JSPromisePrototype.cpp:
- runtime/JSPropertyNameEnumerator.cpp:
- runtime/JSProxy.cpp:
- runtime/JSRemoteFunction.cpp:
(JSC::wrapArgument):
(JSC::wrapReturnValue):
(JSC::JSRemoteFunction::finishCreation):
- runtime/JSScope.cpp:
- runtime/JSScriptFetchParameters.cpp:
- runtime/JSScriptFetcher.cpp:
- runtime/JSSegmentedVariableObject.cpp:
- runtime/JSSet.cpp:
- runtime/JSSetIterator.cpp:
- runtime/JSSourceCode.cpp:
- runtime/JSString.cpp:
(JSC::JSString::dumpToStream):
- runtime/JSStringIterator.cpp:
- runtime/JSSymbolTableObject.cpp:
- runtime/JSTemplateObjectDescriptor.cpp:
- runtime/JSTypedArrayConstructors.cpp:
- runtime/JSTypedArrayPrototypes.cpp:
- runtime/JSTypedArrayViewConstructor.cpp:
- runtime/JSTypedArrayViewPrototype.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/JSTypedArrays.cpp:
- runtime/JSWeakMap.cpp:
- runtime/JSWeakObjectRef.cpp:
- runtime/JSWeakSet.cpp:
- runtime/JSWithScope.cpp:
- runtime/LiteralParser.cpp:
(JSC::LiteralParser<CharType>::parsePrimitiveValue):
- runtime/MapConstructor.cpp:
- runtime/MapIteratorPrototype.cpp:
- runtime/MapPrototype.cpp:
- runtime/MathObject.cpp:
- runtime/ModuleProgramExecutable.cpp:
- runtime/NativeErrorConstructor.cpp:
- runtime/NativeExecutable.cpp:
- runtime/NullGetterFunction.cpp:
- runtime/NullSetterFunction.cpp:
- runtime/NumberConstructor.cpp:
- runtime/NumberObject.cpp:
- runtime/NumberPrototype.cpp:
(JSC::toStringWithRadix):
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::numberToStringInternal):
(JSC::int52ToString):
- runtime/ObjectConstructor.cpp:
- runtime/ObjectPrototype.cpp:
- runtime/Operations.h:
(JSC::arithmeticBinaryOp):
(JSC::shift):
(JSC::bitwiseBinaryOp):
- runtime/ProgramExecutable.cpp:
- runtime/PropertyTable.cpp:
- runtime/ProxyConstructor.cpp:
(JSC::ProxyConstructor::finishCreation):
- runtime/ProxyObject.cpp:
- runtime/ProxyRevoke.cpp:
- runtime/ReflectObject.cpp:
- runtime/RegExp.cpp:
- runtime/RegExpCache.cpp:
(JSC::RegExpCache::ensureEmptyRegExpSlow):
- runtime/RegExpConstructor.cpp:
- runtime/RegExpObject.cpp:
- runtime/RegExpPrototype.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/RegExpStringIteratorPrototype.cpp:
- runtime/ScopedArguments.cpp:
- runtime/ScopedArgumentsTable.cpp:
- runtime/ScriptExecutable.cpp:
- runtime/SetConstructor.cpp:
- runtime/SetIteratorPrototype.cpp:
- runtime/SetPrototype.cpp:
- runtime/ShadowRealmConstructor.cpp:
- runtime/ShadowRealmObject.cpp:
- runtime/ShadowRealmPrototype.cpp:
- runtime/SparseArrayValueMap.cpp:
- runtime/StrictEvalActivation.cpp:
- runtime/StringConstructor.cpp:
- runtime/StringIteratorPrototype.cpp:
- runtime/StringObject.cpp:
- runtime/StringPrototype.cpp:
(JSC::toLocaleCase):
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/Structure.cpp:
- runtime/StructureChain.cpp:
- runtime/StructureRareData.cpp:
- runtime/Symbol.cpp:
- runtime/SymbolConstructor.cpp:
- runtime/SymbolObject.cpp:
- runtime/SymbolPrototype.cpp:
- runtime/SymbolTable.cpp:
- runtime/TemporalCalendar.cpp:
- runtime/TemporalCalendarConstructor.cpp:
- runtime/TemporalCalendarPrototype.cpp:
- runtime/TemporalDuration.cpp:
(JSC::TemporalDuration::total const):
- runtime/TemporalDurationConstructor.cpp:
- runtime/TemporalDurationPrototype.cpp:
- runtime/TemporalInstant.cpp:
- runtime/TemporalInstantConstructor.cpp:
- runtime/TemporalInstantPrototype.cpp:
- runtime/TemporalNow.cpp:
- runtime/TemporalObject.cpp:
(JSC::temporalLargestUnit):
(JSC::temporalSmallestUnit):
- runtime/TemporalPlainDate.cpp:
- runtime/TemporalPlainDateConstructor.cpp:
- runtime/TemporalPlainDatePrototype.cpp:
- runtime/TemporalPlainTime.cpp:
- runtime/TemporalPlainTimeConstructor.cpp:
- runtime/TemporalPlainTimePrototype.cpp:
- runtime/TemporalTimeZone.cpp:
- runtime/TemporalTimeZoneConstructor.cpp:
- runtime/TemporalTimeZonePrototype.cpp:
- runtime/TypeProfiler.cpp:
(JSC::TypeProfiler::logTypesForTypeLocation):
- runtime/TypeSet.cpp:
(JSC::StructureShape::propertyHash):
- runtime/WeakMapConstructor.cpp:
- runtime/WeakMapPrototype.cpp:
(JSC::WeakMapPrototype::finishCreation):
- runtime/WeakObjectRefConstructor.cpp:
- runtime/WeakObjectRefPrototype.cpp:
- runtime/WeakSetConstructor.cpp:
- runtime/WeakSetPrototype.cpp:
(JSC::WeakSetPrototype::finishCreation):
- testRegExp.cpp:
- tools/FunctionAllowlist.cpp:
(JSC::FunctionAllowlist::FunctionAllowlist):
- tools/FunctionOverrides.cpp:
(JSC::initializeOverrideInfo):
- tools/JSDollarVM.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::JSC_DEFINE_HOST_FUNCTION_WITH_ATTRIBUTES):
- tools/SigillCrashAnalyzer.cpp:
(JSC::SigillCrashAnalyzer::analyze):
- tools/VMInspector.cpp:
(JSC::VMInspector::dumpRegisters):
(JSC::VMInspector::dumpCellMemoryToStream):
- wasm/WasmExceptionType.h:
(JSC::Wasm::errorMessageForExceptionType):
- wasm/WasmFormat.h:
(JSC::Wasm::typeToString):
- wasm/WasmGlobal.cpp:
(JSC::Wasm::Global::set):
- wasm/WasmLLIntPlan.cpp:
(JSC::Wasm::LLIntPlan::didCompleteCompilation):
- wasm/WasmOperations.cpp:
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
- wasm/js/JSToWasmICCallee.cpp:
- wasm/js/JSWebAssembly.cpp:
- wasm/js/JSWebAssemblyException.cpp:
- wasm/js/JSWebAssemblyGlobal.cpp:
(JSC::JSWebAssemblyGlobal::type):
- wasm/js/JSWebAssemblyHelpers.h:
(JSC::fromJSValue):
- wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::createPrivateModuleKey):
(JSC::JSWebAssemblyInstance::tryCreate):
- wasm/js/JSWebAssemblyMemory.cpp:
- wasm/js/JSWebAssemblyModule.cpp:
- wasm/js/JSWebAssemblyTable.cpp:
(JSC::JSWebAssemblyTable::type):
- wasm/js/JSWebAssemblyTag.cpp:
- wasm/js/WebAssemblyCompileErrorConstructor.cpp:
- wasm/js/WebAssemblyCompileErrorPrototype.cpp:
- wasm/js/WebAssemblyExceptionConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- wasm/js/WebAssemblyExceptionPrototype.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- wasm/js/WebAssemblyFunction.cpp:
- wasm/js/WebAssemblyFunctionBase.cpp:
- wasm/js/WebAssemblyGlobalConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- wasm/js/WebAssemblyGlobalPrototype.cpp:
- wasm/js/WebAssemblyInstanceConstructor.cpp:
- wasm/js/WebAssemblyInstancePrototype.cpp:
- wasm/js/WebAssemblyLinkErrorConstructor.cpp:
- wasm/js/WebAssemblyLinkErrorPrototype.cpp:
- wasm/js/WebAssemblyMemoryConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- wasm/js/WebAssemblyMemoryPrototype.cpp:
- wasm/js/WebAssemblyModuleConstructor.cpp:
- wasm/js/WebAssemblyModulePrototype.cpp:
- wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::initializeExports):
- wasm/js/WebAssemblyRuntimeErrorConstructor.cpp:
- wasm/js/WebAssemblyRuntimeErrorPrototype.cpp:
- wasm/js/WebAssemblyTableConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- wasm/js/WebAssemblyTablePrototype.cpp:
- wasm/js/WebAssemblyTagConstructor.cpp:
- wasm/js/WebAssemblyTagPrototype.cpp:
- wasm/js/WebAssemblyWrapperFunction.cpp:
(JSC::WebAssemblyWrapperFunction::create):
- yarr/RegularExpression.cpp:
(JSC::Yarr::RegularExpression::Private::compile):
- yarr/YarrErrorCode.cpp:
(JSC::Yarr::errorMessage):
- yarr/YarrErrorCode.h:
Source/WebCore:
- bindings/js/JSDOMGlobalObject.cpp:
- bindings/js/JSDOMWindowBase.cpp:
- bindings/js/JSDOMWindowProperties.cpp:
- bindings/js/JSFileSystemDirectoryHandleIterator.cpp:
- bindings/js/JSIDBSerializationGlobalObject.cpp:
- bindings/js/JSRemoteDOMWindowBase.cpp:
- bindings/js/JSShadowRealmGlobalScopeBase.cpp:
- bindings/js/JSWindowProxy.cpp:
- bindings/js/JSWorkerGlobalScopeBase.cpp:
- bindings/js/JSWorkletGlobalScopeBase.cpp:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- bridge/objc/ObjCRuntimeObject.mm:
- bridge/objc/objc_instance.mm:
(JSC::Bindings::ObjcInstance::getMethod):
- bridge/objc/objc_runtime.mm:
- bridge/runtime_array.cpp:
- bridge/runtime_method.cpp:
- bridge/runtime_object.cpp:
Source/WTF:
- wtf/ResourceUsage.h:
- wtf/cocoa/ResourceUsageCocoa.cpp:
(WTF::displayNameForVMTag):
- wtf/text/WTFString.cpp:
(WTF::String::numberToStringFixedPrecision):
(WTF::String::number):
(WTF::String::numberToStringFixedWidth):
- wtf/text/WTFString.h:
- 6:25 PM Changeset in webkit [291778] by
-
- 10 edits in trunk/Source/WebKit
[ BigSur+ Debug wk2 EWS ] imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/quirks.window.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=237165
<rdar://problem/89443602>
Reviewed by Chris Dumez.
The test is hitting an assertion in StorageAreaBase::addListener. The assertion is used to verify that one
connection will not be added to a StorageArea twice, i.e. one web process will not have two StorageAreaMaps
pointing to the same StorageArea in network process. With our current implementation, there is an edge case that
we load a.com, navigate to b.com and go back to a.com. In this case, we would create a StorageAreaMap for a.com,
destroy it on navigation, and create another StorageAreaMap for a.com on going back. Because we don't remove
listener during destruction of StorageAreaMap (we do it when web process receives reply from network process),
the assertion is hit for two StorageAreaMaps from one connection pointing to the same StorageArea. We can fix
it by sending a cancelConnectToStorage message to remove listener during destruction.
The edge case is a bit hard to reproduce with auto test since we need to ensure web process sends the second
ConnectionToStorageArea message before receiving the reply of the first ConnectionToStorageArea message, so I
manually tested it by adding delay in NetworkStorageManager::connectToStorageArea.
- NetworkProcess/storage/LocalStorageManager.cpp:
(WebKit::LocalStorageManager::cancelConnectToLocalStorageArea):
(WebKit::LocalStorageManager::cancelConnectToTransientLocalStorageArea):
- NetworkProcess/storage/LocalStorageManager.h:
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::cancelConnectToStorageArea):
- NetworkProcess/storage/NetworkStorageManager.h:
- NetworkProcess/storage/NetworkStorageManager.messages.in:
- NetworkProcess/storage/SessionStorageManager.cpp:
(WebKit::SessionStorageManager::cancelConnectToSessionStorageArea):
- NetworkProcess/storage/SessionStorageManager.h:
- WebProcess/WebStorage/StorageAreaMap.cpp:
(WebKit::StorageAreaMap::computeStorageType const):
(WebKit::StorageAreaMap::clientOrigin const):
(WebKit::StorageAreaMap::sendConnectMessage):
(WebKit::StorageAreaMap::didConnect):
(WebKit::StorageAreaMap::disconnect):
- WebProcess/WebStorage/StorageAreaMap.h:
- 6:03 PM Changeset in webkit [291777] by
-
- 6 edits in trunk
[WebGPU] Implement Device::createTexture() according to the spec
https://bugs.webkit.org/show_bug.cgi?id=238251
Reviewed by Darin Adler.
Source/WebGPU:
Simply type in the spec into the computer, in C++ form.
All functionality has links to the spec to describe its origins.
Test: api/validation/createTexture.spec.ts
- WebGPU/Device.h:
- WebGPU/Texture.h:
(WebGPU::Texture::create):
(WebGPU::Texture::descriptor const):
- WebGPU/Texture.mm:
(WebGPU::featureRequirementForFormat):
(WebGPU::isCompressedFormat):
(WebGPU::isDepthOrStencilFormat):
(WebGPU::texelBlockWidth):
(WebGPU::texelBlockHeight):
(WebGPU::isRenderableFormat):
(WebGPU::supportsMultisampling):
(WebGPU::maximumMiplevelCount):
(WebGPU::hasStorageBindingCapability):
(WebGPU::Device::validateCreateTexture):
(WebGPU::usage):
(WebGPU::pixelFormat):
(WebGPU::storageMode):
(WebGPU::Device::createTexture):
(WebGPU::Texture::Texture):
Tools:
Document the behavior of fastLog2().
- TestWebKitAPI/Tests/WTF/MathExtras.cpp:
(TestWebKitAPI::TEST):
- 5:32 PM Changeset in webkit [291776] by
-
- 9 edits in branches/safari-613.1.17.1-branch/Source
Versioning.
WebKit-7613.1.17.1.12
- 5:22 PM Changeset in webkit [291775] by
-
- 6 edits in trunk/Source
[Cocoa] Adopt new AVCapture SPI
https://bugs.webkit.org/show_bug.cgi?id=238289
rdar://90576101
Reviewed by Jer Noble.
Source/WebCore/PAL:
- pal/spi/cocoa/AVFoundationSPI.h:
Source/WebKit:
Call AVCapture SPI once the GPU process sandbox has been expanded to allow capture.
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::updateSandboxAccess):
- GPUProcess/GPUProcess.h:
- GPUProcess/cocoa/GPUProcessCocoa.mm:
(WebKit::GPUProcess::dispatchSimulatedNotificationsForPreferenceChange):
(WebKit::GPUProcess::sandboxWasUpatedForCapture):
- 5:11 PM Changeset in webkit [291774] by
-
- 2 edits in branches/safari-613-branch/Tools
Cherry-pick r291773. rdar://problem/90716064
[Cocoa] Make IPCTestingAPI.CGColorInNSSecureCoding more robust
https://bugs.webkit.org/show_bug.cgi?id=238300
<rdar://problem/90124325>
Unreviewed test gardening.
Round-tripping a CGColor through CFData on iOS can turn extended sRGB color spaces
into regular sRGB color spaces, if the color is common to both.
- TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291773 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:03 PM Changeset in webkit [291773] by
-
- 2 edits in trunk/Tools
[Cocoa] Make IPCTestingAPI.CGColorInNSSecureCoding more robust
https://bugs.webkit.org/show_bug.cgi?id=238300
<rdar://problem/90124325>
Unreviewed test gardening.
Round-tripping a CGColor through CFData on iOS can turn extended sRGB color spaces
into regular sRGB color spaces, if the color is common to both.
- TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
- 4:07 PM Changeset in webkit [291772] by
-
- 16 edits in trunk/Tools
[commits.webkit.org] Sync tags
https://bugs.webkit.org/show_bug.cgi?id=238144
<rdar://problem/90594915>
Reviewed by Dewei Zhu.
- Tools/Scripts/libraries/reporelaypy/reporelaypy/init.py: Bump version.
- Tools/Scripts/libraries/reporelaypy/reporelaypy/checkout.py:
(Checkout): Make 'origin' a global variable.
(Checkout.init): Ditto.
(Checkout.is_updated): Ditto.
(Checkout.push_update): Support pushing a tag.
(Checkout.fetch): Fetch a specific remote.
(Checkout.update_for): Make 'origin' a global variable.
(Checkout.update_all): Add tag syncing.
- Tools/Scripts/libraries/reporelaypy/reporelaypy/hooks.py:
(HookProcessor):
(HookProcessor.process_worker_hook): Update tags as well as branches.
- Tools/Scripts/libraries/reporelaypy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.tags): List tags for remote.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.tags): Remove @property tag.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.init): List tags for remote.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/bitbucket.py:
(BitBucket.tags): Remove @property tag.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.tags): Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn.tags): Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py:
(ScmBase.tags): Ditto.
(ScmBase.find): tags is a function instead of a property.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_tags):
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestLocalSvn.test_tags):
(TestRemoteSvn.test_tags):
Canonical link: https://commits.webkit.org/248802@main
- 3:50 PM Changeset in webkit [291771] by
-
- 4 edits in trunk/Source/WebCore
[GPU Process] Ensure DisplayList::Recorder and its base class are initialized with the same GraphicsContextState
https://bugs.webkit.org/show_bug.cgi?id=238278
rdar://84602660
Reviewed by Simon Fraser.
DisplayList::RecorderImpl passes the initial GraphicsContextState to its
base class DisplayList::Recorder which pushes it on its stack. But
DisplayList::Recorder does not pass this initial GraphicsContextState to
its base class which is GraphicsContext. So DisplayList::Recorder ends up
having the initial state but the GraphicsContext ends up having the default
state.
DisplayList::Recorder::drawGlyphs() calls DrawGlyphsRecorder::drawGlyphs()
which stores the original fillBrush, strokeBrush and dropShadow. It uses
these original values to restore the owner GraphicsContext when it finishes.
The problem is DrawGlyphsRecorder::drawGlyphs() stores the values in the
state of the GraphicsContext which are the default. So in some cases we
may restore the default state to the drawing GraphicsContext.
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::GraphicsContext):
- platform/graphics/GraphicsContext.h:
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::Recorder):
- 3:07 PM Changeset in webkit [291770] by
-
- 6 edits in trunk
[iOS] Mail compose web view no longer scrolls to reveal selection upon showing the keyboard
https://bugs.webkit.org/show_bug.cgi?id=238271
rdar://89821087
Reviewed by Tim Horton.
Source/WebKit:
When a certain UIKit feature is enabled on certain builds of iOS, Mail compose no longer scrolls to reveal the
selection range or caret. This is because we have logic to defer scrolling/zooming to reveal the selection after
focusing the body element, for reasons outlined in trac.webkit.org/r288178. However, when the feature flag is
enabled, UIKeyboardWillShowNotification is no longer fired synchronously underneath the call to
-reloadInputViews, which means thatisKeyboardAnimatingIn()will (most of the time) return false upon
calling-_zoomToRevealFocusedElementwhen receiving the next post-layout editor state update.
To mitigate this, add a new boolean flag,
_waitingForKeyboardToStartAnimatingInAfterElementFocus, that's set
right before we reload input views when focusing an element that requires the keyboard (either software or
hardware), and unset when we observe the "WillShow" notification. In addition to checking
_page->isKeyboardAnimatingIn()when determining whether to defer zooming, we check this new flag as well.
Covered by an existing layout test (which currently fails when the aforementioned UIKit feature is enabled):
editing/selection/ios/scroll-to-reveal-selection-with-keyboard-avoidance-disabled.html
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _keyboardWillShow:]):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView cleanUpInteraction]):
(-[WKContentView _keyboardWillShow]):
(-[WKContentView _zoomToRevealFocusedElement]):
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:]):
(-[WKContentView _elementDidBlur]):
LayoutTests:
While I'm here, adjust the test to ensure that the keyboard is hidden afterwards. When running this test back to
back with the relevant UIKit feature flag enabled, it sometimes fails without this adjustment, due to keyboard
disappearance notifications triggered from prior test invocations being fired in subsequent test invocations.
- editing/selection/ios/scroll-to-reveal-selection-with-keyboard-avoidance-disabled.html:
- 2:57 PM Changeset in webkit [291769] by
-
- 4 edits in trunk/Source/WebCore
ITM: Lazy caching of HelpText property that results in a call to textUnderElement().
https://bugs.webkit.org/show_bug.cgi?id=237923
<rdar://problem/90332779>
Reviewed by Chris Fleizach.
Caching HelpText in the initialization of an IsolatedObject properties
for all objects often results in a call to AXRenderObject::textUnderElement,
which can be expensive and makes the creation and update of the isolated
tree costly. With this patch we cache HelpText on first request.
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::getOrRetrievePropertyValue):
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm:
(WebCore::AXIsolatedObject::initializePlatformProperties):
(WebCore::AXIsolatedObject::helpTextAttributeValue const):
- 2:55 PM Changeset in webkit [291768] by
-
- 6 edits in trunk/LayoutTests
ITM: Fix for accessibility/table-attributes.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=238258
<rdar://problem/90707533>
Reviewed by Chris Fleizach.
- Modified this test to build the output in memory and log it at the end
in one call. This makes the test to run faster and not timeout in
isolated tree mode. In addition, we now retrieve the table element by
ID instead of setting focus to the body and getting the first child of
the focused element, which is not ITM friendly.
- Added the axDebug helper function which unlike debug causes minimum
side effects by modifying the innerText of the console element instead
of adding span children to it. Adding children to the console element
causes event notifications that affect the behavior of the test in both
ITM on and off.
- accessibility/table-attributes-expected.txt:
- accessibility/table-attributes.html:
- platform/glib/accessibility/table-attributes-expected.txt:
- resources/accessibility-helper.js:
(axDebug): Added.
- resources/js-test.js:
(getOrCreate): Exposes this function.
- 2:27 PM Changeset in webkit [291767] by
-
- 19 edits in trunk/LayoutTests
Unreviewed fuzzy gardening.
LayoutTests/imported/mozilla:
- svg/filters/feImage-1.svg:
- svg/text/simple-fill-gradient.svg:
LayoutTests/imported/w3c:
- web-platform-tests/css/css-backgrounds/background-gradient-subpixel-fills-area.html:
- web-platform-tests/css/css-backgrounds/background-repeat-space-6.html:
- web-platform-tests/css/css-backgrounds/background-rounded-image-clip.html:
- web-platform-tests/css/css-backgrounds/border-bottom-right-radius-005.xht:
- web-platform-tests/css/css-backgrounds/border-top-left-radius-005.xht:
- web-platform-tests/css/css-backgrounds/border-top-right-radius-005.xht:
- web-platform-tests/css/css-backgrounds/css-box-shadow-001.html:
- web-platform-tests/css/css-transforms/2d-rotate-001.html:
- web-platform-tests/css/css-transforms/css-skew-002.html:
LayoutTests:
- fast/multicol/columns-on-body.html:
- http/tests/images/draw-pattern-slow-load-large-image.html:
- imported/blink/fast/gradients/gradient-transparency.html:
- imported/blink/fast/text/international/rtl-space-in-ltr-element.html:
- svg/custom/hidpi-masking-clipping.svg:
- 2:21 PM Changeset in webkit [291766] by
-
- 2 edits4 adds in trunk/Tools/Scripts/libraries/resultsdbpy/resultsdbpy
[results.webkit.org] Add file bugzilla button
https://bugs.webkit.org/show_bug.cgi?id=237802
Reviewed by Jonathan Bedard.
- Tools/Scripts/libraries/resultsdbpy/resultsdbpy/bug_trackers/init.py: Added.
- Tools/Scripts/libraries/resultsdbpy/resultsdbpy/bug_trackers/bug_description.py: Added.
(translate_selected_dots_to_bug_title_and_description):
- Tools/Scripts/libraries/resultsdbpy/resultsdbpy/bug_trackers/bugzilla.py: Added.
(Bugzilla):
(Bugzilla.init):
(Bugzilla.create_bug):
- Tools/Scripts/libraries/resultsdbpy/resultsdbpy/controller/api_routes.py:
(APIRoutes.init):
- Tools/Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(TimelineFromEndpoint.prototype._renderSelectedDotsButtonGroup):
(TimelineFromEndpoint):
Canonical link: https://commits.webkit.org/248796@main
- 1:26 PM Changeset in webkit [291765] by
-
- 2 edits in trunk/LayoutTests
[ iOS EWS ] editing/deleting/insert-in-orphaned-selection-crash.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=238282
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 1:23 PM Changeset in webkit [291764] by
-
- 2 edits in trunk/LayoutTests
[ EWS iOS ] editing/spelling/spellcheck-async-remove-frame.html is a crash
https://bugs.webkit.org/show_bug.cgi?id=238284
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 1:20 PM Changeset in webkit [291763] by
-
- 3 edits in trunk/LayoutTests
Make fast/text/emoji-num-glyphs.html more robust
https://bugs.webkit.org/show_bug.cgi?id=238283
<rdar://problem/88842010>
Unreviewed test gardening.
Remove the U+26F9 PERSON WITH BALL without the U+FE0F emoji variation selector.
- fast/text/emoji-num-glyphs-expected.txt:
- fast/text/emoji-num-glyphs.html:
- 1:01 PM Changeset in webkit [291762] by
-
- 6 edits in trunk
[Cocoa] MSE-backed videos fail to play in Captive Portal mode
https://bugs.webkit.org/show_bug.cgi?id=237787
<rdar://89318047>
Reviewed by Eric Carlson.
Source/WebCore:
Updated test: media/media-source/media-source-allowed-codecs.html
When generating the "codecs" string for a given MSE track, we were previously casting
the FourCC code (a uint32) to a string, and passing that across the GPU process boundary,
and reconstituting the string on the WebContent process side. This caused the codec entry
to be "reversed", (e.g., 'aac ' turned into ' caa'), and fail codec validation.
Instead, use the FourCharCode class to properly create a string from the codec ID.
- platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm:
LayoutTests:
- media/media-source/media-source-allowed-codecs-expected.txt:
- media/media-source/media-source-allowed-codecs.html:
- 12:24 PM Changeset in webkit [291761] by
-
- 2 edits in trunk/Source/WebKit
[WebAuthn] Specify correct ASCPublicKeyCredentialKind in configureAssertionOptions
https://bugs.webkit.org/show_bug.cgi?id=238272
rdar://problem/90710080
Reviewed by Brent Fulgham.
There was a typo when refactoring code into this method. The kind passed to the function
should be used, instead of always ASCPublicKeyCredentialKindPlatform.
- UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::configureAssertionOptions):
- 12:22 PM Changeset in webkit [291760] by
-
- 6 edits in branches/safari-614.1.7-branch/Source/WebKit
Cherry-pick r291691. rdar://problem/90654598
Prefer WK_EXTERN to WK_EXPORT in Cocoa API headers
https://bugs.webkit.org/show_bug.cgi?id=238129
Reviewed by Wenson Hsieh.
- UIProcess/API/Cocoa/WKBrowsingContextPolicyDelegate.h:
- UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
- UIProcess/API/Cocoa/_WKElementAction.h:
- UIProcess/API/Cocoa/_WKErrorRecoveryAttempting.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h: WK_EXPORT comes from WKDeclarationSpecifiers.h, which is a legacy C SPI header. WK_EXTERN comes from WKFoundation.h, part of the modern public API. We should prefer the modern version in Cocoa-only headers (even in private headers).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291691 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:21 PM Changeset in webkit [291759] by
-
- 16 edits2 adds in trunk
[iOS] WebKit app is sometimes not "Now Playing" during initial playback
https://bugs.webkit.org/show_bug.cgi?id=236993
<rdar://88827167>
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/audio-session-category-at-most-recent-playback.html
Recently, we have added the concept of "preparingToPlay" to PlatformMediaSession to allow
the correct category to be set if updateSessionState() is called after playback is allowed
by the MediaSessionManager, but before playback is actually started by the media element.
However, this depends on updateSessionState() being called synchronously during playback.
We disabled this synchronous update in r269077 due to the large runtime cost when a large
number of media elements are created (but not used) at once.
Relax this asynchronous update in the case where the state is moving to "Playing", which
ensures that the correct AudioSessionCategory is set before playback starts, rather than
immediately afterward.
To support testing that the category was correctly set before playback started, add an
ivar to HTMLMediaElement that is set to the current AudioSessionCategory immediately before
the media element instructs the MediaPlayer to start playback. Expose this ivar to Internals.
Drive-by fixes: AudioSession::CategoryType cannot be forward declared, as it is a public
member of a class. Allow the enum to be forward declared by moving the declaration outside
the class, but allow current uses of the enum to continue by typedefing it inside the class
to the original enum name. Add an IDL enumeration matching the AudioSession one in Interals.idl
and convert the existing audioSessionCategory() call to use the new enumeration.
(Unforunately in the case where USE_AUDIO_SESSION is not set, the enumeration must be re-
declared. This can be removed and the entire implementation wrapped in a USE() check, once
the bindings generator is extended to allow "Conditional="-style attributes for USE checks.)
The added test is flakey due to a previous change which would keep the MediaSession category
in "MediaPlayback" for up to 2s after playback ends. To counteract this flakiness, reset the
state of the PlatformMediaSessionManager between tests.
- html/HTMLMediaElement.cpp:
(WebCore::m_categoryAtMostRecentPlayback):
(WebCore::HTMLMediaElement::playPlayer):
(WebCore::m_logIdentifier): Deleted.
- html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::categoryAtMostRecentPlayback const):
- platform/audio/AudioSession.h:
- platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::sessionStateChanged):
- platform/audio/PlatformMediaSessionManager.h:
(WebCore::PlatformMediaSessionManager::resetSessionState):
- platform/audio/cocoa/MediaSessionManagerCocoa.h:
- platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(WebCore::MediaSessionManagerCocoa::resetSessionState):
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
- testing/Internals.cpp:
(WebCore::Internals::audioSessionCategory const):
(WebCore::Internals::categoryAtMostRecentPlayback const):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Fix the audio-session-category test. Creating the oscilator actually does change the
AudioSession category to "Ambient", but (previously) only in the next run loop, so a
synchronous test that the AudioSession category is "None" succeeds. Now that starting
playback (as happens when creating an audio node) changes the AudioSession synchronously,
the test begins failing.
- media/audio-session-category-at-most-recent-playback-expected.txt: Added.
- media/audio-session-category-at-most-recent-playback.html: Added.
- media/audio-session-category-expected.txt:
- media/audio-session-category.html:
- 11:58 AM Changeset in webkit [291758] by
-
- 2 edits in trunk/Source/WebGPU
[WebGPU] Clean up implementation of Device::createSampler()
https://bugs.webkit.org/show_bug.cgi?id=238250
Reviewed by Darin Adler.
Refactor repeated code into reusable functions.
- WebGPU/Sampler.mm:
(WebGPU::addressMode):
(WebGPU::minMagFilter):
(WebGPU::mipFilter):
(WebGPU::compareFunction):
(WebGPU::Device::createSampler):
- 11:53 AM Changeset in webkit [291757] by
-
- 303 edits8 adds4 deletes in trunk/Source/ThirdParty/ANGLE
Roll ANGLE to 2022-03-22 (e7f29440f02514126f30350dcd7132b68f7954d7)
https://bugs.webkit.org/show_bug.cgi?id=238171
Large autogenerated ChangeLog elided.
Tested locally with Minibrowser on M1, with test cases from the
following recent bugs:
https://bugs.webkit.org/show_bug.cgi?id=237006
https://bugs.webkit.org/show_bug.cgi?id=237906
https://bugs.webkit.org/show_bug.cgi?id=238022
and confirmed all render correctly.
Patch by Kenneth Russell <kbr@chromium.org> on 2022-03-23
Reviewed by Kimmo Kinnunen.
- 11:47 AM Changeset in webkit [291756] by
-
- 6 edits in trunk/Source/JavaScriptCore
[JSC][MSVC] custom getter creation needs to include classInfo since MSVC ICF is not "safe" variant
https://bugs.webkit.org/show_bug.cgi?id=238030
Reviewed by Alexey Shvayka.
MSVC performs very aggressive ICF (identical code folding) and it even merges the identical two functions
into one even though a pointer to this function is used. This means MSVC's ICF is not "safe"[1], and custom
function weakmap is broken on MSVC since it is assuming function pointers are different for different functions.
Unfortunately, it seems that there is no attribute / annotation to prevent this behavior, so we need to workaround it.
Since JSCustomGetterFunction does separate thing based on attached DOMAttribute, we need to include const ClassInfo*
into a key of JSCustomGetterFunction weakmap to ensure that two identical functions with different const ClassInfo*
do not get the same JSCustomGetterFunction.
[1]: https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/36912.pdf
- runtime/JSCustomGetterFunction.h:
- runtime/JSCustomSetterFunction.h:
- runtime/JSGlobalObject.h:
- runtime/JSGlobalObjectInlines.h:
(JSC::JSGlobalObject::WeakCustomGetterOrSetterHash<T>::hash):
- runtime/JSObject.cpp:
(JSC::WeakCustomGetterOrSetterHashTranslator::hash):
(JSC::WeakCustomGetterOrSetterHashTranslator::equal):
(JSC::createCustomGetterFunction):
(JSC::createCustomSetterFunction):
- 11:37 AM Changeset in webkit [291755] by
-
- 2 edits in trunk/Source/JavaScriptCore
Avoid unnecessary String constructor under FunctionExecutable::toStringSlow()
https://bugs.webkit.org/show_bug.cgi?id=238263
Reviewed by Darin Adler.
- runtime/FunctionExecutable.cpp:
(JSC::FunctionExecutable::toStringSlow):
- 11:31 AM Changeset in webkit [291754] by
-
- 2 edits in trunk/Source/WebCore
WBR element should set Clear property to None
https://bugs.webkit.org/show_bug.cgi?id=238275
Reviewed by Alan Bujtas.
WBR elements need to have their Clear property automatically set to None.
BR elements do not need this change.
- layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::buildTree):
- 11:17 AM Changeset in webkit [291753] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, reverting r291721.
Bug has been fixed
Reverted changeset:
"[ EWS iOS ] fast/text/emoji-num-glyphs.html is a flaky text
failure"
https://bugs.webkit.org/show_bug.cgi?id=238233
https://commits.webkit.org/r291721
- 10:58 AM Changeset in webkit [291752] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix DataIC's slowPathJump handling
https://bugs.webkit.org/show_bug.cgi?id=231224
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileInById):
- 10:56 AM Changeset in webkit [291751] by
-
- 5 edits in trunk
Turn DOM in GPU Process on by default on iOS layout tests
https://bugs.webkit.org/show_bug.cgi?id=236547
rdar://88863036
Reviewed by Geoffrey Garen.
Tools:
- WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
LayoutTests:
- gpu-process/TestExpectations: Transfer expectations.
- platform/ios-wk2/TestExpectations:
- 10:39 AM Changeset in webkit [291750] by
-
- 2 edits in branches/safari-614.1.7-branch/Source/WebCore
Cherry-pick r291566. rdar://problem/90346629
Accessing WebGL content crashes in macOS Recovery OS
https://bugs.webkit.org/show_bug.cgi?id=238139
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-03-21
Reviewed by Antti Koivisto.
Add a quick fix trying to circumvent a Recovery OS crash.
Parts of this will be reverted once the true source is found.
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm: (WebCore::platformSupportsMetal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291566 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:12 AM Changeset in webkit [291749] by
-
- 10 edits in trunk
After losing context due to too many contexts, getError() does not return CONTEXT_LOST_WEBGL
https://bugs.webkit.org/show_bug.cgi?id=236965
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-03-23
Reviewed by Kenneth Russell.
Source/WebCore:
After generating context lost, getError() is specified to return:
- CONTEXT_LOST_WEBGL for first call
- NO_ERROR for all the next calls.
WEBGL_lose_context is specified to add INVALID_OPERATION errors
even after context lost.
Change the code so that CONTEXT_LOST_WEBGL and WEBGL_lose_context induced
INVALID_OPERATION errors go to error vector in context lost -specific state.
Previously, these errors went into the m_context error vector. This is problematic
especially in the case where context loss happens where the m_context gets destroyed --
the error vector would be gone. This kind of loss happens for example when contexts
get lost due to the process having too many active contexts (least active context is "recycled").
Previously, any synthetized error was potentially obtainable after context lost. This is problematic
as it is not as specified. As mentioned above, only errors allowed after context lost is
- CONTEXT_LOST_WEBGL first after context lost
- WEBGL_lose_context.loseContext() and WEBGL_lose_context.restoreContext() induced INVALID_OPERATIONs
Changes the behavior to not report INVALID_OPERATION error in the theoretical case where we fail to
instantiate a new context. This is not allowed by the spec. Instead, just print an error to the console.
No new tests, updates the expectations of old ones with less failures.
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::initializeNewContext):
(WebCore::WebGLRenderingContextBase::getError):
(WebCore::WebGLRenderingContextBase::isContextLost const):
(WebCore::WebGLRenderingContextBase::isContextLostOrPending):
(WebCore::WebGLRenderingContextBase::forceLostContext):
(WebCore::WebGLRenderingContextBase::loseContextImpl):
(WebCore::WebGLRenderingContextBase::forceRestoreContext):
(WebCore::WebGLRenderingContextBase::isContextUnrecoverablyLost const):
(WebCore::WebGLRenderingContextBase::scheduleTaskToDispatchContextLostEvent):
(WebCore::WebGLRenderingContextBase::maybeRestoreContext):
(WebCore::WebGLRenderingContextBase::synthesizeGLError):
(WebCore::WebGLRenderingContextBase::synthesizeLostContextGLError):
- html/canvas/WebGLRenderingContextBase.h:
(WebCore::WebGLRenderingContextBase::ContextLostState::ContextLostState):
Source/WebKit:
Remove recording of synthetic webgl context lost error from the proxy.
This is now recorded in the WebGLRenderingContextBase.
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::synthesizeGLError):
(WebKit::RemoteGraphicsContextGLProxy::getError):
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
LayoutTests:
- fast/canvas/webgl/lose-context-on-status-failure-expected.txt:
- webgl/lose-context-after-context-lost-expected.txt:
- webgl/max-active-contexts-webglcontextlost-prevent-default-expected.txt:
- 10:05 AM Changeset in webkit [291748] by
-
- 8 edits in trunk
Context2D drawImage(img, x, y, w, h) should not throw IndexSizeError when width == 0 or height == 0
https://bugs.webkit.org/show_bug.cgi?id=238195
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-03-23
Reviewed by Simon Fraser.
Source/WebCore:
When drawing HTMLImageElement with width == 0 or height==0, do nothing as per spec.
When drawing HTMLCanvasElement with source rectangle width == 0 or height == 0,
do nothing as per spec.
Previously these would throw IndexSizeError. The CanvasDrawImage methods do not throw these.
Spec:
HTML Living Standard — Last Updated 17 March 2022
https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-drawimage
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::drawImage):
LayoutTests:
- fast/canvas/canvas-overloads-drawImage-expected.txt:
- fast/canvas/canvas-overloads-drawImage.html:
- fast/canvas/drawImage-with-invalid-args-expected.txt:
- fast/canvas/drawImage-with-invalid-args.html:
- 10:00 AM Changeset in webkit [291747] by
-
- 8 edits3 adds in trunk
AccessibilityRenderObject::nextSibling should allow parent differences in the presence of display: contents
https://bugs.webkit.org/show_bug.cgi?id=238184
Reviewed by Andres Gonzalez.
Source/WebCore:
AccessibilityRenderObject::nextSibling currently has this logic to
return nullptr if the computed sibling has a parent different fromthis:
auto* nextObject = objectCache->getOrCreate(nextSibling);
if (nextObject && nextObject->parentObject() != this->parentObject())
return nullptr;
This is problematic in the presence of display: contents since we expect
parent object differences due to the way this property affects the render tree.
Concretely, this breaks the firstChild(), nextSibling() iteration we do throughout
WebKit (e.g. in AccessibilityRenderObject::addChildren), as when we get to an element
with display: contents we get a parent mismatch and iteration stops unnecessarily.
This patch fixes the issue by allowing a parent mismatch when either
object has display: contents, as we account for this difference in the
appropriate places (e.g. AccessibilityObject::insertChild).
Test: accessibility/display-contents-search-traversal.html
- accessibility/AXLogger.cpp:
(WebCore::operator<<):
Log when an object has display: contents. This property affects the
render tree and AX tree, so it's useful to log.
- accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::hasDisplayContents const): Added.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::nextSibling const):
LayoutTests:
- accessibility/display-contents-search-traversal-expected.txt: Added.
- accessibility/display-contents-search-traversal.html: Added.
- platform/glib/TestExpectations: Skip new test.
- platform/ios/TestExpectations: Enable new test.
- platform/ios/accessibility/display-contents-search-traversal-expected.txt: Added.
- platform/win/TestExpectations: Skip new test.
- 9:40 AM Changeset in webkit [291746] by
-
- 7 edits2 adds in trunk
No breakpoints hit on github.com, and some are invalid
https://bugs.webkit.org/show_bug.cgi?id=235607
Reviewed by Yusuke Suzuki.
JSTests:
Add test for multi-line parsing errors.
- stress/regress-88440831.js: Added.
Source/JavaScriptCore:
New test: JSTests/stress/regress-88440831.js
Added test case in: inspector/debugger/breakpoints/resolved-dump-all-pause-locations.html
Previously not all line terminations resulted in setting the
m_lineStartto the current m_code, which meant
that the location for pause-able locations and stack traces were inaccurate when they were on a line that
terminated multi-line comments, strings, or template strings. We now always update m_lineStart when shifting for
a line terminator, instead of only when the terminator appears outside a string or comment.
- debugger/Breakpoint.cpp:
(JSC::Breakpoint::resolve):
- The existing assertions were somewhat in conflict with each other. If we permit the line number to increase,
there is no guarantee that the column number will remain the same or increase, which can now more easily occur
with multi-line strings. Instead, we should make sure that the overall offset has increased.
- parser/Lexer.cpp:
(JSC::Lexer<T>::shiftLineTerminator):
(JSC::Lexer<T>::lexWithoutClearingLineTerminator):
(JSC::Lexer<T>::scanTemplateString):
LayoutTests:
Add test cases for resolving breakpoints on lines that begin with the end of multi-line strings, comments, and
template strings.
- inspector/debugger/breakpoints/resolved-dump-all-pause-locations-expected.txt:
- inspector/debugger/breakpoints/resolved-dump-all-pause-locations.html:
- inspector/debugger/breakpoints/resources/dump-multiline.js: Added.
(test):
- 7:12 AM Changeset in webkit [291745] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] Add DoNotHaveTagRegisters mode to unboxDouble
https://bugs.webkit.org/show_bug.cgi?id=238018
Patch by Xan Lopez <Xan Lopez> on 2022-03-23
Reviewed by Yusuke Suzuki.
Wasm cannot use unboxDouble as-is because
GPRInfo::numberTagRegister is not available. Add a
DoNotHaveTagRegister mode so we can get rid of some duplicated
code.
- assembler/MacroAssembler.h:
(JSC::MacroAssembler::add64):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::unboxDoubleWithoutAssertions):
(JSC::AssemblyHelpers::unboxDouble):
- wasm/js/WasmToJS.cpp:
(JSC::Wasm::wasmToJS):
- 6:54 AM Changeset in webkit [291744] by
-
- 11 edits1 add in trunk/Source/WebCore
VideoFrame does not need to inherit from MediaSample
https://bugs.webkit.org/show_bug.cgi?id=238071
Reviewed by Eric Carlson.
Update MediaSample, MediaSampleAVFObjC and VideoFrame according the separation.
This is a refactoring, covered by existing tests.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/MediaSample.h:
- platform/VideoFrame.cpp:
- platform/VideoFrame.h:
- platform/VideoFrame.mm: Added.
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
- platform/graphics/gstreamer/VideoFrameGStreamer.cpp:
- platform/graphics/gstreamer/VideoFrameGStreamer.h:
- 6:10 AM Changeset in webkit [291743] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION(r291611): Fix GTK/WPE build
https://bugs.webkit.org/show_bug.cgi?id=238248
Unreviewed build fix.
- platform/mediastream/libwebrtc/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.cpp:
(WebCore::RealtimeIncomingVideoSourceLibWebRTC::OnFrame):
- platform/mediastream/libwebrtc/gstreamer/RealtimeOutgoingVideoSourceLibWebRTC.cpp:
(WebCore::RealtimeOutgoingVideoSourceLibWebRTC::videoFrameAvailable):
- 4:52 AM Changeset in webkit [291742] by
-
- 18 edits1 copy in trunk
[InputElement] Add HTMLInputElement::showPicker() method
https://bugs.webkit.org/show_bug.cgi?id=237192
LayoutTests/imported/w3c:
Reviewed by Darin Adler.
Update test expectations as more tests are now passing.
- web-platform-tests/html/dom/idlharness.https-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/show-picker-cross-origin-iframe-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/show-picker-expected.txt:
Source/WebCore:
Reviewed by Darin Adler.
At https://github.com/whatwg/html/issues/6909, it proposes to add a
new HTMLInputElement::showPicker() method to show a brower picker for
temporal, color and file input elements.
Chromium has introduced this feature at
https://bugs.chromium.org/p/chromium/issues/detail?id=939561.
This CL imports the changes from Chromium CLs at
https://chromium-review.googlesource.com/c/chromium/src/+/3056920
and
https://chromium-review.googlesource.com/c/chromium/src/+/3310677
The support for temporal input element is not included in this CL. We might
need a bit more investigation on it and hopefully will addess at a later stage.
- html/ColorInputType.cpp:
(WebCore::ColorInputType::handleDOMActivateEvent):
(WebCore::ColorInputType::showPicker):
(WebCore::ColorInputType::allowsShowPickerAcrossFrames):
- html/ColorInputType.h:
- html/FileInputType.cpp:
(WebCore::FileInputType::handleDOMActivateEvent):
(WebCore::FileInputType::showPicker):
(WebCore::FileInputType::allowsShowPickerAcrossFrames):
- html/FileInputType.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::showPicker):
- html/HTMLInputElement.h:
- html/HTMLInputElement.idl:
- html/InputType.cpp:
(WebCore::InputType::allowsShowPickerAcrossFrames):
(WebCore::InputType::showPicker):
- html/InputType.h:
LayoutTests:
Reviewed by Darin Adler .
- platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/show-picker-cross-origin-iframe-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/show-picker-cross-origin-iframe-expected.txt.
- 2:04 AM Changeset in webkit [291741] by
-
- 6 edits5 adds in trunk
Computation of Document siteForCookies is buggy in case document is created by window.open
https://bugs.webkit.org/show_bug.cgi?id=238202
<rdar://88979099>
Reviewed by John Wilander.
Source/WebCore:
For top level navigations, we need to use the security origin to compute siteForCookies as the document
may have the opener security origin.
Add a Document routine to handle this case.
Tests: http/tests/cookies/same-site/popup-from-iframe-same-site-with-post-form.html
http/tests/cookies/same-site/popup-same-site-with-post-form.html
- dom/Document.cpp:
- dom/Document.h:
- loader/FrameLoader.cpp:
LayoutTests:
- http/tests/cookies/resources/testharness-helpers.js:
- http/tests/cookies/same-site/popup-from-iframe-same-site-with-post-form-expected.txt: Added.
- http/tests/cookies/same-site/popup-from-iframe-same-site-with-post-form.html: Added.
- http/tests/cookies/same-site/popup-same-site-with-post-form-expected.txt: Added.
- http/tests/cookies/same-site/popup-same-site-with-post-form.html: Added.
- http/tests/cookies/same-site/resources/popup-iframe.html: Added.
- 1:40 AM Changeset in webkit [291740] by
-
- 5 edits in trunk
Web Inspector: Styles panel: Unwanted extra dash when autocompleting CSS variable names
https://bugs.webkit.org/show_bug.cgi?id=237676
Reviewed by Patrick Angle.
Source/WebInspectorUI:
The CSS-mode tokenizer provided by CodeMirror and used in Web Inspector matches strictly conforming
CSS variable names, i.e. prefixed with two dahses,--.
An identifier like
-namegets split into two tokens-andname.
The token at the cursor position becomes justname.
This token's value is used as a query string for autocompletion.
When a completion suggestion is picked, the query string gets replaced with the suggestion text in
WI.SpreadsheetTextField._updatePendingValueWithCompletionText().
But because it was split from the query, the dash ends up prepended to the replaced string.
This patch adds a special case in
WI.CSSKeywordCompletions.forPartialPropertyValue()
to account for this aspect of the tokenizer.
- UserInterface/Models/CSSKeywordCompletions.js:
LayoutTests:
Add tests for special cases of matching incomplete CSS variable names in autocompletion.
- inspector/unit-tests/css-keyword-completions-expected.txt:
- inspector/unit-tests/css-keyword-completions.html:
- 1:09 AM Changeset in webkit [291739] by
-
- 2 edits in trunk/Source/WebKit
[WinCairo] Unreviewed build fix after r291733
- WebProcess/GPU/graphics/PrepareBackingStoreBuffersData.h:
- 1:02 AM Changeset in webkit [291738] by
-
- 1 edit8 adds in trunk/LayoutTests/imported/w3c
Import calc() infinite/nan tests
https://bugs.webkit.org/show_bug.cgi?id=238237
Unreviewed, test import.
- web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt: Added.
- web-platform-tests/css/css-values/calc-catch-divide-by-0.html: Added.
- web-platform-tests/css/css-values/calc-infinity-nan-serialize-angle-expected.txt: Added.
- web-platform-tests/css/css-values/calc-infinity-nan-serialize-angle.html: Added.
- web-platform-tests/css/css-values/calc-infinity-nan-serialize-length-expected.txt: Added.
- web-platform-tests/css/css-values/calc-infinity-nan-serialize-length.html: Added.
- web-platform-tests/css/css-values/calc-infinity-nan-serialize-time-expected.txt: Added.
- web-platform-tests/css/css-values/calc-infinity-nan-serialize-time.html: Added.