Timeline
Feb 15, 2022:
- 10:53 PM Changeset in webkit [289879] by
-
- 2 edits in trunk/Source/WTF
Constructing untaken LOG(Channel, ...) arguments slow debug binaries down
https://bugs.webkit.org/show_bug.cgi?id=235562
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-15
Reviewed by Simon Fraser.
Speed up debug build binary LOG(Channel, ...) by checking the
channel (and level) before constructing the log arguments.
This is consistent with how RELEASE_LOG() works.
If the arguments are slow to create, call sites end up implementing
this at the call site and risk subtle bugs which make existing logging unreliable.
Fixes a bug with LOG_WITH_STREAM where ChannelState::OnWithAccumulation channels would not log.
- wtf/Assertions.h:
- 10:48 PM Changeset in webkit [289878] by
-
- 20 edits1 add in trunk
Migrate IndexedDB and LocalStorage data to GeneralStorageDirectory
https://bugs.webkit.org/show_bug.cgi?id=236611
Reviewed by Chris Dumez.
Source/WebKit:
Reviewed by Chris Dumez.
Add a new parameter shouldUseCustomStoragePaths on WebsiteDataStoreConfiguration to specify whether WebKit
should use custom storage paths. If the value is true, WebKit will keep using the custom localStorageDirectory
and indexedDBDatabaseDirectory paths as it is now. If the value is false, WebKit will migrate data from
localStorageDirectory and indexedDBDatabaseDirectory to new paths set by WebKit under generalStorageDirectory.
API test: WebKit.MigrateLocalStorageDataToGeneralStorageDirectory
WebKit.MigrateIndexedDBDataToGeneralStorageDirectory
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::addWebsiteDataStore):
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::addStorageManagerSession):
- NetworkProcess/NetworkSession.h:
- NetworkProcess/storage/LocalStorageManager.cpp:
(WebKit::LocalStorageManager::localStorageFilePath):
- NetworkProcess/storage/LocalStorageManager.h:
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::create):
(WebKit::NetworkStorageManager::NetworkStorageManager):
(WebKit::originDirectoryPath):
(WebKit::originFilePath):
(WebKit::NetworkStorageManager::localOriginStorageManager):
- NetworkProcess/storage/NetworkStorageManager.h:
- NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::StorageBucket::StorageBucket):
(WebKit::OriginStorageManager::StorageBucket::localStorageManager):
(WebKit::OriginStorageManager::StorageBucket::idbStorageManager):
(WebKit::OriginStorageManager::StorageBucket::isEmpty):
(WebKit::OriginStorageManager::StorageBucket::moveData):
(WebKit::OriginStorageManager::StorageBucket::resolvedIDBStoragePath):
(WebKit::OriginStorageManager::StorageBucket::fetchDataTypesInListFromDisk):
(WebKit::OriginStorageManager::StorageBucket::deleteLocalStorageData):
(WebKit::OriginStorageManager::StorageBucket::deleteIDBStorageData):
(WebKit::OriginStorageManager::StorageBucket::resolvedLocalStoragePath):
(WebKit::OriginStorageManager::originFileIdentifier):
(WebKit::OriginStorageManager::OriginStorageManager):
(WebKit::OriginStorageManager::defaultBucket):
(WebKit::OriginStorageManager::quotaManager):
(WebKit::OriginStorageManager::StorageBucket::isEmpty const): Deleted.
- NetworkProcess/storage/OriginStorageManager.h:
- Shared/WebsiteDataStoreParameters.cpp:
(WebKit::WebsiteDataStoreParameters::encode const):
(WebKit::WebsiteDataStoreParameters::decode):
- Shared/WebsiteDataStoreParameters.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:
(-[_WKWebsiteDataStoreConfiguration shouldUseCustomStoragePaths]):
(-[_WKWebsiteDataStoreConfiguration setShouldUseCustomStoragePaths:]):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::parameters):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
(WebKit::WebsiteDataStoreConfiguration::copy const):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:
(WebKit::WebsiteDataStoreConfiguration::shouldUseCustomStoragePaths const):
(WebKit::WebsiteDataStoreConfiguration::setShouldUseCustomStoragePaths):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/general-storage-directory.salt: Added.
- 10:12 PM Changeset in webkit [289877] by
-
- 3 edits2 adds in trunk
Defer TerminationsExceptions while in operationMaterializeObjectInOSR.
https://bugs.webkit.org/show_bug.cgi?id=236686
rdar://81337114
Reviewed by Saam Barati.
JSTests:
These tests are identical except that they are customized with different watchdog
timeout periods for a Debug / Release build. This is a necessary condition in
order for the test to manifest this issue if the code is regressed.
- stress/termination-exception-in-operationMaterializeObjectInOSR-debug.js: Added.
- stress/termination-exception-in-operationMaterializeObjectInOSR-release.js: Added.
Source/JavaScriptCore:
operationMaterializeObjectInOSR expects to always succeed. It is difficult (and
not worth the effort) to make it be able to handle interruptions by the
TerminationException. Since operationMaterializeObjectInOSR is guaranteed to
finish running in some finite time, it is reasonable to just defer handling a
pending TerminationException until the function returns.
- ftl/FTLOperations.cpp:
(JSC::FTL::JSC_DEFINE_JIT_OPERATION):
- 9:27 PM Changeset in webkit [289876] by
-
- 16 edits in trunk
Implement parsing and animation support for offset shorthand
https://bugs.webkit.org/show_bug.cgi?id=233109
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
- web-platform-tests/css/motion/animation/offset-interpolation-expected.txt:
- web-platform-tests/css/motion/parsing/offset-parsing-valid-expected.txt:
- web-platform-tests/css/motion/parsing/offset-parsing-valid.html:
- web-platform-tests/css/motion/parsing/offset-shorthand-expected.txt:
Source/WebCore:
This patch implements support for the offset shorthand for css motion path. This involves
adding the offset property to CSSProperties.json, the introduction of consumeOffset() to
parse the set offset, and serialization of the offset values.
- animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::CSSPropertyIDToIDLAttributeName):
(WebCore::IDLAttributeNameToAnimationPropertyName):
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForOffsetShorthand):
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSOffsetRotateValue.cpp:
(WebCore::CSSOffsetRotateValue::initialValue):
(WebCore::CSSOffsetRotateValue::isInitialValue const):
- css/CSSOffsetRotateValue.h:
- css/CSSProperties.json:
- css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue const):
(WebCore::StyleProperties::offsetValue const):
- css/StyleProperties.h:
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeBasicShapeOrBox):
(WebCore::CSSPropertyParser::consumeOffset):
(WebCore::CSSPropertyParser::parseShorthand):
- css/parser/CSSPropertyParser.h:
- 9:20 PM Changeset in webkit [289875] by
-
- 4 edits in trunk/Source/WebKit
Web Inspector: [Cocoa] Reentrancy in WebKit::WebInspectorUIProxy::open
https://bugs.webkit.org/show_bug.cgi?id=236672
Reviewed by Devin Rousso.
Speculative fix for non-reproducible reentrancy. Because
WebInspectorUIProxy::opencalls
WebInspectorUIProxy::platformBringToFront, which under some conditions can callWebInspectorUIProxy::open,
there was an opportunity for recurssion. This appears to happen when the window of the inspector view does not
match the window of the inspected web view, which in general should not be possible for a newly opened
inspector. My suspicion is that the web view is not actually attached to a window at the time the inspector is
being opened. This patch adds a fail-safe that will detach the inspector view into its own window when these
conditions are met while we are in middle of opening the inspector, and also adds logging to indicate if the
inspected web view was actually in a window. This should both prevent the crash from the re-entry as well as
provide more context when the issue does occur.
- UIProcess/Inspector/WebInspectorUIProxy.cpp:
(WebKit::WebInspectorUIProxy::open):
- UIProcess/Inspector/WebInspectorUIProxy.h:
- UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm:
(WebKit::WebInspectorUIProxy::platformBringToFront):
- 8:11 PM Changeset in webkit [289874] by
-
- 1 copy in tags/Safari-614.1.3.2
Tag Safari-614.1.3.2.
- 8:09 PM Changeset in webkit [289873] by
-
- 9 edits in branches/safari-614.1.3-branch/Source
Versioning.
WebKit-7614.1.3.2
- 8:05 PM Changeset in webkit [289872] by
-
- 34 edits2 copies3 adds1 delete in trunk/Source
Do preliminary work to pass domain names to CoreLocation
https://bugs.webkit.org/show_bug.cgi?id=236566
<rdar://88761413>
Reviewed by Darin Adler.
Source/WebCore:
Do preliminary work to pass domain names to CoreLocation when using the Geolocation API.
This pipes the domain names all the way from the Geolocation API to the CoreLocation calls
but doesn't yet pass the domain to CoreLocation due to <rdar://88834301>. I will follow-up
once <rdar://88834301> is fixed.
- Modules/geolocation/GeolocationClient.h:
- Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::didNavigatePage):
(WebCore::GeolocationController::addObserver):
(WebCore::GeolocationController::removeObserver):
(WebCore::GeolocationController::activityStateDidChange):
(WebCore::GeolocationController::startUpdatingIfNecessary):
(WebCore::GeolocationController::stopUpdatingIfNecessary):
- Modules/geolocation/GeolocationController.h:
(WebCore::GeolocationController::needsHighAccuracy const):
- Modules/geolocation/GeolocationPositionData.h:
- Modules/geolocation/ios/GeolocationPositionDataIOS.mm:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- page/Page.cpp:
(WebCore::Page::didCommitLoad):
- platform/cocoa/CoreLocationGeolocationProvider.h: Copied from Source/WebCore/Modules/geolocation/GeolocationClient.h.
- platform/cocoa/CoreLocationGeolocationProvider.mm: Added.
(isAuthorizationGranted):
(-[WebCLLocationManager initWithWebsiteIdentifier:client:]):
(-[WebCLLocationManager dealloc]):
(-[WebCLLocationManager start]):
(-[WebCLLocationManager stop]):
(-[WebCLLocationManager setEnableHighAccuracy:]):
(-[WebCLLocationManager requestGeolocationAuthorization]):
(-[WebCLLocationManager locationManagerDidChangeAuthorization:]):
(-[WebCLLocationManager locationManager:didUpdateLocations:]):
(-[WebCLLocationManager locationManager:didFailWithError:]):
(WebCore::CoreLocationGeolocationProvider::CoreLocationGeolocationProvider):
(WebCore::CoreLocationGeolocationProvider::~CoreLocationGeolocationProvider):
(WebCore::CoreLocationGeolocationProvider::start):
(WebCore::CoreLocationGeolocationProvider::stop):
(WebCore::CoreLocationGeolocationProvider::setEnableHighAccuracy):
(WebCore::CoreLocationGeolocationProvider::requestAuthorization):
- platform/mock/GeolocationClientMock.cpp:
(WebCore::GeolocationClientMock::startUpdating):
- platform/mock/GeolocationClientMock.h:
Source/WebKit:
Do preliminary work to pass domain names to CoreLocation when using the Geolocation API.
This pipes the domain names all the way from the Geolocation API to the CoreLocation calls
but doesn't yet pass the domain to CoreLocation due to <rdar://88834301>. I will follow-up
once <rdar://88834301> is fixed.
- SourcesCocoa.txt:
- UIProcess/API/C/WKGeolocationManager.cpp:
(WKGeolocationManagerSetProvider):
- UIProcess/Cocoa/WebGeolocationManagerProxyCocoa.cpp: Added.
(WebKit::WebGeolocationManagerProxy::positionChanged):
(WebKit::WebGeolocationManagerProxy::errorOccurred):
(WebKit::WebGeolocationManagerProxy::resetGeolocation):
(WebKit::WebGeolocationManagerProxy::isUpdating const):
(WebKit::WebGeolocationManagerProxy::isHighAccuracyEnabled const):
(WebKit::WebGeolocationManagerProxy::providerStartUpdating):
(WebKit::WebGeolocationManagerProxy::providerStopUpdating):
(WebKit::WebGeolocationManagerProxy::providerSetEnabledHighAccuracy):
- UIProcess/WebGeolocationManagerProxy.cpp:
(WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
(WebKit::WebGeolocationManagerProxy::processPoolDestroyed):
(WebKit::WebGeolocationManagerProxy::processDidClose):
(WebKit::WebGeolocationManagerProxy::providerDidChangePosition):
(WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):
(WebKit::WebGeolocationManagerProxy::startUpdating):
(WebKit::WebGeolocationManagerProxy::stopUpdating):
(WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy):
(WebKit::WebGeolocationManagerProxy::setProvider):
(WebKit::WebGeolocationManagerProxy::isUpdating const):
(WebKit::WebGeolocationManagerProxy::isHighAccuracyEnabled const):
(WebKit::WebGeolocationManagerProxy::providerStartUpdating):
(WebKit::WebGeolocationManagerProxy::providerStopUpdating):
(WebKit::WebGeolocationManagerProxy::providerSetEnabledHighAccuracy):
(WebKit::WebGeolocationManagerProxy::resetPermissions): Deleted.
(WebKit::WebGeolocationManagerProxy::removeRequester): Deleted.
- UIProcess/WebGeolocationManagerProxy.h:
(WebKit::WebGeolocationManagerProxy::lastPosition const): Deleted.
(WebKit::WebGeolocationManagerProxy::isUpdating const): Deleted.
(WebKit::WebGeolocationManagerProxy::isHighAccuracyEnabled const): Deleted.
- UIProcess/WebGeolocationManagerProxy.messages.in:
- UIProcess/ios/WKGeolocationProviderIOS.mm:
(-[WKGeolocationProviderIOS _startUpdating]):
(-[WKGeolocationProviderIOS _stopUpdating]):
(-[WKGeolocationProviderIOS _setEnableHighAccuracy:]):
(-[WKGeolocationProviderIOS initWithProcessPool:]):
(-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:completionHandler:view:]):
(-[WKGeolocationProviderIOS geolocationAuthorizationGranted]):
(-[WKGeolocationProviderIOS positionChanged:]):
(-[WKGeolocationProviderIOS errorOccurred:]):
(-[WKGeolocationProviderIOS resetGeolocation]):
(startUpdatingCallback): Deleted.
(stopUpdatingCallback): Deleted.
(setEnableHighAccuracy): Deleted.
(-[WKLegacyCoreLocationProvider setListener:]): Deleted.
(-[WKLegacyCoreLocationProvider requestGeolocationAuthorization]): Deleted.
(-[WKLegacyCoreLocationProvider start]): Deleted.
(-[WKLegacyCoreLocationProvider stop]): Deleted.
(-[WKLegacyCoreLocationProvider setEnableHighAccuracy:]): Deleted.
(-[WKLegacyCoreLocationProvider geolocationAuthorizationGranted]): Deleted.
(-[WKLegacyCoreLocationProvider geolocationAuthorizationDenied]): Deleted.
(-[WKLegacyCoreLocationProvider positionChanged:]): Deleted.
(-[WKLegacyCoreLocationProvider errorOccurred:]): Deleted.
(-[WKLegacyCoreLocationProvider resetGeolocation]): Deleted.
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::registrableDomainForPage):
(WebKit::WebGeolocationManager::registerWebPage):
(WebKit::WebGeolocationManager::unregisterWebPage):
(WebKit::WebGeolocationManager::setEnableHighAccuracyForPage):
(WebKit::WebGeolocationManager::didChangePosition):
(WebKit::WebGeolocationManager::didFailToDeterminePosition):
(WebKit::WebGeolocationManager::resetPermissions):
(WebKit::WebGeolocationManager::isUpdating const): Deleted.
(WebKit::WebGeolocationManager::isHighAccuracyEnabled const): Deleted.
- WebProcess/Geolocation/WebGeolocationManager.h:
- WebProcess/Geolocation/WebGeolocationManager.messages.in:
- WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
(WebKit::WebGeolocationClient::startUpdating):
- WebProcess/WebCoreSupport/WebGeolocationClient.h:
(WebKit::WebGeolocationClient::WebGeolocationClient): Deleted.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::resetAllGeolocationPermissions): Deleted.
- WebProcess/WebProcess.h:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebGeolocationClient.h:
- WebCoreSupport/WebGeolocationClient.mm:
(WebGeolocationClient::startUpdating):
Source/WebKitLegacy/win:
- WebCoreSupport/WebGeolocationClient.cpp:
(WebGeolocationClient::startUpdating):
- WebCoreSupport/WebGeolocationClient.h:
Source/WTF:
Add build time flag for passing website identifiers to CoreLocation.
- wtf/PlatformHave.h:
- 5:55 PM Changeset in webkit [289871] by
-
- 2 edits in trunk/LayoutTests
http/tests/history/back-with-fragment-change.php fails.
https://bugs.webkit.org/show_bug.cgi?id=68278
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-15
- platform/mac-wk2/TestExpectations: Remarking flaky expectation.
- 5:47 PM Changeset in webkit [289870] by
-
- 2 edits in trunk/Source/WebCore
Add a new rule to decide if a font is used only for icons
https://bugs.webkit.org/show_bug.cgi?id=236660
rdar://84829499
Reviewed by Wenson Hsieh.
Add check for more characters to avoid incorrectly tagging certain fonts as symbol-only.
- platform/graphics/coretext/FontCoreText.cpp:
(WebCore::hasGlyphsForCharacterRange):
(WebCore::Font::isProbablyOnlyUsedToRenderIcons const):
- 5:40 PM Changeset in webkit [289869] by
-
- 7 edits in trunk/LayoutTests
[ iOS ] fast/text/ch-unit-synthetic-bold.html is failing constantly on iOS
https://bugs.webkit.org/show_bug.cgi?id=236610
Turns out iOS doesn't have Monaco. It's fine though; we can use local() to create
a font that doesn't have a bold family member.
Unreviewed.
- fast/text/ch-unit-synthetic-bold-expected.html:
- fast/text/ch-unit-synthetic-bold.html:
- fast/text/tab-width-synthetic-bold-complex-expected.html:
- fast/text/tab-width-synthetic-bold-complex.html:
- fast/text/tab-width-synthetic-bold-expected.html:
- fast/text/tab-width-synthetic-bold.html:
- 5:35 PM Changeset in webkit [289868] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening.
- css3/masking/clip-path-inset-corners.html: Add fuzzy data.
- 5:34 PM Changeset in webkit [289867] by
-
- 2 edits in trunk/Websites/webkit.org
Fix WordPress wpautop to account for the Dialog element.
https://bugs.webkit.org/show_bug.cgi?id=236320
Reviewed by Darin Adler.
- wp-content/themes/webkit/functions.php:
- 5:25 PM Changeset in webkit [289866] by
-
- 7 edits2 adds in trunk
Implement ServiceWorkerRegistration.getNotifications().
https://bugs.webkit.org/show_bug.cgi?id=236545
Reviewed by Alex Christensen.
Source/WebCore:
Test: http/tests/workers/service/getnotifications.html
Until we figure out just how "persistent" we want persistent notifications from service workers to be,
this is an impementation of getNotifications() that works for the current running of the user agent.
- Modules/notifications/Notification.cpp:
(WebCore::Notification::Notification):
(WebCore::Notification::~Notification):
(WebCore::Notification::copyForGetNotifications const):
(WebCore::Notification::contextDestroyed):
(WebCore::Notification::close):
- Modules/notifications/Notification.h:
- workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::getNotifications):
(WebCore::ServiceWorkerRegistration::addNotificationToList):
(WebCore::ServiceWorkerRegistration::removeNotificationFromList):
(WebCore::ServiceWorkerRegistration::filteredNotificationList):
- workers/service/ServiceWorkerRegistration.h:
LayoutTests:
- http/tests/workers/service/getnotifications-expected.txt: Added.
- http/tests/workers/service/getnotifications.html: Added.
- http/tests/workers/service/resources/shownotification-worker.js:
(async tryShow):
(async getNotes):
(async event):
- 4:51 PM Changeset in webkit [289865] by
-
- 2 edits in trunk/LayoutTests
fast/filter-image/filter-image-svg.html is failing to load the image due to a wrong path
https://bugs.webkit.org/show_bug.cgi?id=236632
Reviewed by Simon Fraser.
This test case had the following CSS.
background-image: filter(url(image.svg), url(#filter));
However, 'image.svg' doesn't exist. DRT and WTR unexpectedly
loaded the missing image icon and applied the filter. It should be
'resources/image.svg'.
- fast/filter-image/filter-image-svg.html:
- 4:44 PM Changeset in webkit [289864] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r289495): [ Monterey arm64 ] model-element/model-element-ready.html is a flaky assertion failure.
https://bugs.webkit.org/show_bug.cgi?id=236678
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-15
- platform/mac-wk2/TestExpectations:
- 4:42 PM Changeset in webkit [289863] by
-
- 13 edits in trunk
Make HeapType an enum class.
https://bugs.webkit.org/show_bug.cgi?id=236667
<rdar://problem/88984607>
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- dynbench.cpp:
- heap/Heap.cpp:
- heap/Heap.h:
- jsc.cpp:
(runJSC):
- runtime/VM.cpp:
(JSC::VM::sharedInstance):
- runtime/VM.h:
- testRegExp.cpp:
(realMain):
Source/WebCore:
- bindings/js/CommonVM.cpp:
(WebCore::commonVMSlow):
Tools:
- TestWebKitAPI/Tests/JavaScriptCore/DisallowVMEntry.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/JavaScriptCore/PropertySlot.cpp:
(TestWebKitAPI::TEST):
- 4:26 PM Changeset in webkit [289862] by
-
- 7 edits in trunk
[css-transforms] properly handle interpolation of non-invertible matrices
https://bugs.webkit.org/show_bug.cgi?id=236480
Reviewed by Martin Robinson.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt:
- web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:
Source/WebCore:
All composition types should fall back to discrete animation behavior when
interpolating non-invertible matrices. Need to segment progress value
depending on either side of 0.5.
- platform/graphics/transforms/TransformOperations.cpp:
(WebCore::TransformOperations::shouldFallbackToDiscreteAnimation const):
(WebCore::TransformOperations::blendByMatchingOperations const):
(WebCore::TransformOperations::blendByUsingMatrixInterpolation const):
- platform/graphics/transforms/TransformOperations.h:
(WebCore::TransformOperations::hasMatrixOperation const):
- platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::blend):
- 4:26 PM Changeset in webkit [289861] by
-
- 1 copy in tags/Safari-613.1.17.0.3
Tag Safari-613.1.17.0.3.
- 4:04 PM Changeset in webkit [289860] by
-
- 17 edits in trunk/Source
Fixes for build-webkit --minimal
https://bugs.webkit.org/show_bug.cgi?id=229780
Patch by Philip Chimento <pchimento@igalia.com> on 2022-02-15
Reviewed by Don Olmstead.
Source/WebCore:
Covered by existing tests.
Missing headers that didn't get included by other headers if certain
options were disabled; missing ifdef guards around usage of features.
- html/ColorInputType.cpp: Missing include
- page/DOMWindow.cpp: Missing include; fix pre-existing include order issue flagged by check-style
- platform/UserAgentQuirks.cpp: Missing ENABLE(PUBLIC_SUFFIX_LIST) and slight rewrite of code for the #else case
(WebCore::UserAgentQuirks::quirksForURL):
- platform/network/soup/NetworkStorageSessionSoup.cpp: Missing ENABLE(INTELLIGENT_TRACKING_PREVENTION)
(WebCore::NetworkStorageSession::setCookieAcceptPolicy):
- rendering/RenderLayerCompositor.cpp: Missing ENABLE(ASYNC_SCROLLING)
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
Source/WebKit:
Missing headers that didn't get included by other headers if certain
options were disabled; missing ifdef guards around usage of features.
- NetworkProcess/soup/NetworkDataTaskSoup.cpp: Missing ENABLE(PUBLIC_SUFFIX_LIST), duplicate line in order to avoid semicolon by itself on a line which check-style doesn't like
(WebKit::NetworkDataTaskSoup::shouldAllowHSTSPolicySetting const):
- Shared/API/glib/WebKitContextMenuActions.cpp: Missing include
- UIProcess/API/gtk/WebKitWebViewBase.cpp: Missing ENABLE(FULLSCREEN_API)
(webkitWebViewBaseDispose):
- UIProcess/gtk/PointerLockManagerWayland.cpp: Missing include
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp: Missing ENABLE(USER_MESSAGE_HANDLERS)
(webkit_dom_dom_window_webkit_message_handlers_post_message):
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentGtk.cpp: Several instances of missing ENABLE(FULLSCREEN_API). The public API methods just do nothing if not compiled with fullscreen support.
(webkit_dom_document_webkit_cancel_fullscreen):
(webkit_dom_document_webkit_exit_fullscreen):
(webkit_dom_document_get_webkit_is_fullscreen):
(webkit_dom_document_get_webkit_fullscreen_keyboard_input_allowed):
(webkit_dom_document_get_webkit_current_fullscreen_element):
(webkit_dom_document_get_webkit_fullscreen_enabled):
(webkit_dom_document_get_webkit_fullscreen_element):
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElementGtk.cpp: Missing ENABLE(FULLSCREEN_API)
(webkit_dom_element_webkit_request_fullscreen):
- WebProcess/WebPage/EventDispatcher.cpp: Two instances of missing ENABLE(ASYNC_SCROLLING)
(WebKit::EventDispatcher::wheelEvent):
(WebKit::EventDispatcher::notifyScrollingTreesDisplayWasRefreshed):
- WebProcess/WebPage/EventDispatcher.h: Missing ENABLE(ASYNC_SCROLLING)
- WebProcess/WebPage/glib/WebPageGLib.cpp: Missing ENABLE(AUTOCAPITALIZE)
(WebKit::inputMethodSateForElement):
- 3:59 PM Changeset in webkit [289859] by
-
- 2 edits in trunk/Source/WebCore
Skip positioned objects and line break boxes as they have no affect on width
https://bugs.webkit.org/show_bug.cgi?id=236514
Patch by Brandon Stewart <Brandon> on 2022-02-15
Reviewed by Myles C. Maxfield.
Align computeInlineDirectionPositionsForSegment() and computeExpansionForJustifiedText() logic.
Skipping positioned objects and line break boxes as they will not affect the width.
- rendering/LegacyLineLayout.cpp:
(WebCore::LegacyLineLayout::computeExpansionForJustifiedText):
- 3:56 PM Changeset in webkit [289858] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Add access to mach service in the Networking process for all users
https://bugs.webkit.org/show_bug.cgi?id=236653
<rdar://88787266>
Reviewed by Brent Fulgham.
We currently allow access to "com.apple.trustd" for the root user. Access to this service is needed for all users.
This issue was introduced in https://trac.webkit.org/changeset/283012/webkit, and this patch also reverts this
change for older versions of macOS.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- 3:09 PM Changeset in webkit [289857] by
-
- 1 copy in tags/Safari-613.1.17.1.3
Tag Safari-613.1.17.1.3.
- 3:09 PM Changeset in webkit [289856] by
-
- 12 edits in trunk/Tools
[webkitscmpy] Support draft pull-requests
https://bugs.webkit.org/show_bug.cgi?id=235721
<rdar://problem/88139678>
Rubber-stamped by Aakash Jain.
GitHub has the concept of a "draft" pull request. Our tooling should allow users
to request that the pull request they are updating or creating be converted to a draft.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py:
(GitHub.request): Handle "draft" in upload.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.parser): Add --draft option.
(PullRequest.main): When creating or uploading a pull-request, set draft state.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/pull_request.py:
(PullRequest.init): Pass draft state.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/bitbucket.py:
(BitBucket.PRGenerator.PullRequest): Pass draft state to PullRequest object.
(BitBucket.PRGenerator.create): Accept draft flag.
(BitBucket.PRGenerator.update): Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.PRGenerator): Draft pull requests are a GitHub idea.
(GitHub.PRGenerator.PullRequest): Pass draft state to PullRequest object.
(GitHub.PRGenerator.create): Accept draft flag.
(GitHub.PRGenerator.update): Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/scm.py:
(Scm.PRGenerator): Draft pull requests are a GitHub idea.
(Scm.PRGenerator.create): Accept draft flag.
(Scm.PRGenerator.update): Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/checkout_unittest.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
Canonical link: https://commits.webkit.org/247298@main
- 3:05 PM Changeset in webkit [289855] by
-
- 5 edits1 add in trunk
[TextureMapperGL] drop-shadow filter with blur-radius doesn't work as expected if it is the last filter
https://bugs.webkit.org/show_bug.cgi?id=236407
Reviewed by Don Olmstead.
Source/WebCore:
BitmapTextureGL::applyFilters doesn't actually apply the last filter
and returns a texture by saving the last filter information in
m_filterInfo. Then, TextureMapperGL::drawTexture will actually apply
the last filter while drawing the texture.
TextureMapperGL::drawTexture shouldn't use
TextureMapperShaderProgram::TextureRGB option if the BitmapTextureGL
has m_filterInfo.
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::drawTexture):
- platform/graphics/texmap/TextureMapperShaderProgram.cpp:
AlphaBlur and ContentTexture filters should be applied before Opacity filter.
LayoutTests:
- platform/wincairo/css3/filters/effect-drop-shadow-hw-expected.png: Added.
- platform/wincairo/css3/filters/effect-drop-shadow-hw-expected.txt:
- 2:51 PM Changeset in webkit [289854] by
-
- 2 edits in trunk/Tools
[EWS] Support PRs when sending build failure emails (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=235926
<rdar://problem/88302122>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(GitHub.email_for_owners): Return error string.
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Log error
from email_from_owners to buildbot stdio.
Canonical link: https://commits.webkit.org/247296@main
- 2:46 PM Changeset in webkit [289853] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r287249): [ Monterey wk2 ] media/media-source/media-webm-vorbis-partial.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=236656
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-15
- platform/mac-wk2/TestExpectations:
- 2:00 PM Changeset in webkit [289852] by
-
- 2 edits in trunk/Tools
Unreviewed build fix after r288478.
https://bugs.webkit.org/show_bug.cgi?id=235542
rdar://72567903
- TestWebKitAPI/Tests/WebKitCocoa/SessionStorage.mm:
- 1:57 PM Changeset in webkit [289851] by
-
- 23 edits in trunk
[macOS] Add a context menu item to "Copy Cropped Image"
https://bugs.webkit.org/show_bug.cgi?id=236602
rdar://88924479
Reviewed by Megan Gardner.
Source/WebCore:
Add ContextMenuItemTagCopyCroppedImage, and handle it in various context menu codepaths throughout WebCore.
- loader/EmptyClients.cpp:
- page/ContextMenuClient.h:
Add a client hook to allow us to disable this item in WebKitLegacy, but enable it in the modern WebKit port.
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):
Insert this new item, adjacent to the existing "Copy Image" item.
(WebCore::ContextMenuController::checkOrEnableIfNeeded const):
- platform/ContextMenuItem.cpp:
(WebCore::isValidContextMenuAction):
- platform/ContextMenuItem.h:
Add a new context menu item tag for ContextMenuItemTagCopyCroppedImage; additionally, add a new special tag,
ContextMenuItemLastNonCustomTag, that will always point to the last non-custom (engine-supported) context menu
item in this enumeration. This makes it so that we can stop fiddling with the API test
WebCore.ContextMenuAction_IsValidEnumevery time we add a new context menu type, as long as we update the
ContextMenuItemLastNonCustomTag.
- platform/LocalizedStrings.h:
- platform/cocoa/LocalizedStringsCocoa.mm:
Pull the localized string for "Copy Cropped Image" out into a separate localized string helper function.
(WebCore::contextMenuItemTagCopyCroppedImage):
Source/WebKit:
Add support for a new context menu item that invokes markup when copying an image. See below for more details.
- Shared/API/c/WKContextMenuItemTypes.h:
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
(WebKit::toImpl):
Handle the new context menu enum tag.
- Shared/WebHitTestResultData.cpp:
(WebKit::WebHitTestResultData::WebHitTestResultData):
(WebKit::WebHitTestResultData::encode const):
(WebKit::WebHitTestResultData::decode):
- Shared/WebHitTestResultData.h:
Add a new
sourceImageMIMETypemember that provides the original MIME type of the source image corresponding to
the image bitmap in WebHitTestResultData. We use this below, inhandleContextMenuCopyCroppedImage.
- UIProcess/API/Cocoa/_WKElementAction.mm:
(+[_WKElementAction _elementActionWithType:customTitle:assistant:]):
Replace the localized string macro with a call to the new localized string helper function.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::contextMenuItemSelected):
- UIProcess/WebPageProxy.h:
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::handleContextMenuCopyCroppedImage):
Handle the new context menu item action by calling into
requestImageAnalysisMarkupand writing the result
to the pasteboard (transcoding back to the MIME type of the source image, if possible).
- WebProcess/WebCoreSupport/WebContextMenuClient.h:
Source/WebKitLegacy/mac:
See WebCore and WebKit ChangeLogs for more details.
- WebCoreSupport/WebContextMenuClient.h:
- WebView/WebHTMLView.mm:
(toTag):
Tools:
Adjust an existing API test to account for the fact that ContextMenuItemTagTranslate is no longer the last non-
custom context menu item tag.
- TestWebKitAPI/Tests/WebCore/ContextMenuAction.cpp:
(TestWebKitAPI::TEST):
- 1:51 PM Changeset in webkit [289850] by
-
- 3 edits in trunk/Source/WebCore
Copy PDF.js in WebCore.framework bundle at build-time
https://bugs.webkit.org/show_bug.cgi?id=235981
Reviewed by Alexey Proskuryakov.
This adds the Source/ThirdParty/pdfjs folder as a folder resource. Adds a installsrc step in the
WebCore makefile to make sure XCode finds the folder in production builds.
- Makefile:
- WebCore.xcodeproj/project.pbxproj:
- 1:43 PM Changeset in webkit [289849] by
-
- 3 edits2 deletes in branches/safari-613.1.17.0-branch
Revert r289828. rdar://problem/88656665
- 1:43 PM Changeset in webkit [289848] by
-
- 2 edits in trunk/Source/WebKit
[WinCairo][WK2] animations/background-position.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=236630
Reviewed by Don Olmstead.
WKPageForceRepaint didn't call back if the page had active
animations.
- WebProcess/WebPage/wc/DrawingAreaWC.cpp:
(WebKit::DrawingAreaWC::didUpdate): Call
m_forceRepaintCompletionHandler even if
m_hasDeferredRenderingUpdate is true.
- 1:25 PM Changeset in webkit [289847] by
-
- 3 edits in trunk/Tools
[EWS] Use EWS as committer when rebasing
https://bugs.webkit.org/show_bug.cgi?id=236650
<rdar://problem/88967428>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(CheckOutPullRequest): Use 'EWS <ews@webkit.org>' as the committer.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247290@main
- 1:14 PM Changeset in webkit [289846] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288667. rdar://problem/88893789
REGRESSION(r287684) speedtest.net uses many GB of memory
https://bugs.webkit.org/show_bug.cgi?id=235615
rdar://87830583
Reviewed by Youenn Fablet.
The regression was introduced with r286937 and is a good example of
errors introduced when attempting to optimise things too early.
CachedRawResource::updateBuffer does a search in the accumulating
resource's SharedBuffer, search that was taking O(log(n)+1) prior r286937
where n is the number of DataView segments in the SharedBuffer.
This was simplified as a O(1) operation by using the combined contiguous
SharedBuffer instead.
However, that caused every single intermediary accumulated buffers to be
kept referenced by the XMLHttpRequest SharedBufferBuilder leading to
massive memory use.
In other words:
For each update, we did the following steps:
- Set m_data to a new big continuous chunk of data that stores all received data
- Create a view of the new data as a SharedBuffer. This SharedBuffer references the big continuous chunk above
- XHR stores a ref to the view, hence keep the big chunk alive.
Each XHR chunk, although small in data that can be accessed, is actually keeping in memory all temporary created m_data chunks.
Following this change, XHR will now only keeps a reference to the new DataSegment added since the last run rather than the entire previous content.
Fly-by: add some comments describing the running of the method.
- loader/cache/CachedRawResource.cpp: (WebCore::CachedRawResource::updateBuffer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:14 PM Changeset in webkit [289845] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r289776. rdar://problem/88656665
Fix crash with deeply nested async overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=236599
Source/WebCore:
rdar://88656665
Reviewed by Alan Bujtas.
mergeClippingScopesRecursive() already does the append of the rects; doing so
before calling recursing triggers double appends, hence exponentially growing
rect lists.
Test: compositing/layer-creation/clipping-scope/deeply-nested-overflow.html
- rendering/LayerOverlapMap.cpp: (WebCore::OverlapMapContainer::mergeClippingScopesRecursive):
LayoutTests:
Reviewed by Alan Bujtas.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow-expected.txt: Added.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:14 PM Changeset in webkit [289844] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r289762. rdar://problem/88786989
REGRESSION(r286560): MediaElement's getStartDate returning an incorrect time
https://bugs.webkit.org/show_bug.cgi?id=236360
<rdar://problem/88786989>
Reviewed by Eric Carlson.
r286560 changed IDL
Dateto useWallTimeinstead of a rawdouble, meaning that
HTMLMediaElement::getStartDatenow did extra processing of theMediaTimereturned by
MediaPlayer::getStartDate.
Unfortunately,
MediaPlayerPrivateAVFoundationObjC::getStartDatereturned aMediaTime
represented in milliseconds (due to two* 1000), even thoughMediaTimeis supposed to be
seconds-based.
As a result, the changes in r286560 inadvertently caused two
* 1000on the same time value.
Covered by existing test (
LayoutTests/http/tests/media/hls/video-controller-getStartDate.html).
Note that the test was marked as[Pass Failure]before r286560.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::getStartDate const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:14 PM Changeset in webkit [289843] by
-
- 40 edits1 delete in branches/safari-613-branch/Source
Revert r289340. rdar://problem/88629773
- 1:14 PM Changeset in webkit [289842] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Revert r289343. rdar://problem/88629773
- 1:13 PM Changeset in webkit [289841] by
-
- 4 edits in trunk/Tools
[git-webkit] --update should be synonomous with --rebase
https://bugs.webkit.org/show_bug.cgi?id=236658
<rdar://problem/88979674>
Reviewed by Ryan Haddad.
When working on a branch,
updateandrebasemean approximately
the same thing.git-webkit prshould support both.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.parser):
Canonical link: https://commits.webkit.org/247289@main
- 1:06 PM Changeset in webkit [289840] by
-
- 4 edits2 adds in trunk
Redirect shadow realm console output to page's ConsoleClient
https://bugs.webkit.org/show_bug.cgi?id=236518
Patch by Joseph Griego <jgriego@igalia.com> on 2022-02-15
Reviewed by Devin Rousso.
Source/WebCore:
Test: inspector/shadow-realm-console.html
Without this patch, the newly-created shadow realm global object would
not have a console client; we want the console output from the shadow
realm's context to go to the inspector, too.
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::deriveShadowRealmGlobalObject): Copy console client from source JSDOMGlobalObject to new shadow realm's global object.
LayoutTests:
Add tests to verify that (nested) shadow realm contexts still output to
the parent page's inspector; fix one changed test.
- inspector/shadow-realm-console-expected.txt: Added.
- inspector/shadow-realm-console.html: Added.
- js/ShadowRealm-importValue-expected.txt: Added console line that had previously been blackholed
- 12:47 PM Changeset in webkit [289839] by
-
- 7 edits in trunk/Source/WebCore
Refactor logic for writing selected text in image overlays to the pasteboard
https://bugs.webkit.org/show_bug.cgi?id=236546
rdar://83173693
Reviewed by Megan Gardner.
Refactor logic for copying text in image overlays to use
Editor::writeSelection, as opposed to extracting a
string from the current selection range and directly writing it to the pasteboard as plain text. See below for
more details.
- dom/ImageOverlay.cpp:
Add a couple of new ImageOverlay-namespaced helper functions.
(WebCore::ImageOverlay::characterRange):
Add a function to return the character range for the given selection inside an image overlay (or
std::nullopt
if the selection is not inside of an image overlay).
(WebCore::ImageOverlay::isInsideOverlay):
Add a function to determine whether or not the given selection is inside of an image overlay.
- dom/ImageOverlay.h:
- editing/Editor.cpp:
(WebCore::Editor::performCutOrCopy):
Refactor this to use
writeSelectionToPasteboard()when the current selection is inside an image overlay.
- editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::selectionInHTMLFormat):
Intentionally return the null string for image overlays.
(WebCore::selectionInImageOverlayAsAttributedString):
(WebCore::selectionAsAttributedString):
Add a special codepath when serializing selected text in image overlays such that we consult the image element's
TextRecognitionResult for the attributed string to write to the pasteboard, given the selected CharacterRange in
the image overlay.
(WebCore::Editor::selectionInWebArchiveFormat):
Intentionally return null for image overlays.
- page/Page.cpp:
(WebCore::Page::cachedTextRecognitionResult const):
Add a helper method to retrieve a cached TextRecognitionResult, given a host image element.
- page/Page.h:
- 11:14 AM Changeset in webkit [289838] by
-
- 17 edits1 copy in trunk
[CSS Container Queries] Support all size features
https://bugs.webkit.org/show_bug.cgi?id=236640
Reviewed by Tim Nguyen and Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt:
- web-platform-tests/css/css-contain/container-queries/query-content-box-expected.txt:
- web-platform-tests/css/css-contain/container-queries/size-feature-evaluation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/unsupported-axis-expected.txt:
Source/WebCore:
Support inline-size, block-size, aspect-ratio and orientation in addition to the currently
supported width and height.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/ContainerQuery.cpp: Copied from Source/WebCore/css/ContainerQuery.h.
(WebCore::CQ::FeatureNames::width):
(WebCore::CQ::FeatureNames::height):
(WebCore::CQ::FeatureNames::inlineSize):
(WebCore::CQ::FeatureNames::blockSize):
(WebCore::CQ::FeatureNames::aspectRatio):
(WebCore::CQ::FeatureNames::orientation):
- css/ContainerQuery.h:
- css/ContainerQueryParser.cpp:
(WebCore::ContainerQueryParser::consumeSizeFeature):
Parse the new features.
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeAspectRatio):
Use the new consumeAspectRatioValue helper.
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeAspectRatioValue):
- css/parser/CSSPropertyParserHelpers.h:
- style/ContainerQueryEvaluator.cpp:
(WebCore::Style::computeSize):
(WebCore::Style::ContainerQueryEvaluator::evaluateSizeFeature const):
LayoutTests:
- 11:04 AM Changeset in webkit [289837] by
-
- 3 edits in trunk/Tools
REGRESSION(r289147): Two API tests are failing
https://bugs.webkit.org/show_bug.cgi?id=236376
<rdar://88586730>
Reviewed by Alexey Proskuryakov.
After r289147, the WebContent process can no longer consume sandbox extensions to the CF preference daemon.
Update the test expectations.
- TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm:
(TEST):
- TestWebKitAPI/Tests/WebKit/GrantAccessToPreferencesService.mm:
(TEST):
- 11:02 AM Changeset in webkit [289836] by
-
- 2 edits in trunk/Source/WebCore/PAL
Fix internal Big Sur build
- pal/spi/mac/HIToolboxSPI.h:
- 11:00 AM Changeset in webkit [289835] by
-
- 12 edits in trunk/Tools
git-webkit setup should verify the credentials before saving them
https://bugs.webkit.org/show_bug.cgi?id=235298
<rdar://problem/87988794>
Reviewed by Dewei Zhu.
- Tools/Scripts/libraries/webkitbugspy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: Ditto.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py:
(Tracker.credentials): Pass validater into webkitscmpy.credentials if caller requests validation.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:
(Tracker.credentials): Pass validater into webkitscmpy.credentials if caller requests validation.
- Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py:
(credentials): Allow caller to provide a callback which will validate credentials to ensure
they work, re-prompt user if credentials fail validation.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.git): Request validation of GitHub credentials.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.credentials): Pass validation flag.
- 10:49 AM Changeset in webkit [289834] by
-
- 2 edits1 copy1 add in trunk/LayoutTests
Rebaslining fonts/monospace.html for Monterey.
https://bugs.webkit.org/show_bug.cgi?id=236619
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-15
- platform/mac-catalina/fonts/monospace-expected.txt: Copied from LayoutTests/platform/mac/fonts/monospace-expected.txt.
- platform/mac/fonts/monospace-expected.txt:
- 10:45 AM Changeset in webkit [289833] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebCore
Cherry-pick r288667. rdar://problem/88893789
REGRESSION(r287684) speedtest.net uses many GB of memory
https://bugs.webkit.org/show_bug.cgi?id=235615
rdar://87830583
Reviewed by Youenn Fablet.
The regression was introduced with r286937 and is a good example of
errors introduced when attempting to optimise things too early.
CachedRawResource::updateBuffer does a search in the accumulating
resource's SharedBuffer, search that was taking O(log(n)+1) prior r286937
where n is the number of DataView segments in the SharedBuffer.
This was simplified as a O(1) operation by using the combined contiguous
SharedBuffer instead.
However, that caused every single intermediary accumulated buffers to be
kept referenced by the XMLHttpRequest SharedBufferBuilder leading to
massive memory use.
In other words:
For each update, we did the following steps:
- Set m_data to a new big continuous chunk of data that stores all received data
- Create a view of the new data as a SharedBuffer. This SharedBuffer references the big continuous chunk above
- XHR stores a ref to the view, hence keep the big chunk alive.
Each XHR chunk, although small in data that can be accessed, is actually keeping in memory all temporary created m_data chunks.
Following this change, XHR will now only keeps a reference to the new DataSegment added since the last run rather than the entire previous content.
Fly-by: add some comments describing the running of the method.
- loader/cache/CachedRawResource.cpp: (WebCore::CachedRawResource::updateBuffer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [289832] by
-
- 3 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289776. rdar://problem/88656665
Fix crash with deeply nested async overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=236599
Source/WebCore:
rdar://88656665
Reviewed by Alan Bujtas.
mergeClippingScopesRecursive() already does the append of the rects; doing so
before calling recursing triggers double appends, hence exponentially growing
rect lists.
Test: compositing/layer-creation/clipping-scope/deeply-nested-overflow.html
- rendering/LayerOverlapMap.cpp: (WebCore::OverlapMapContainer::mergeClippingScopesRecursive):
LayoutTests:
Reviewed by Alan Bujtas.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow-expected.txt: Added.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [289831] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebCore
Cherry-pick r289762. rdar://problem/88786989
REGRESSION(r286560): MediaElement's getStartDate returning an incorrect time
https://bugs.webkit.org/show_bug.cgi?id=236360
<rdar://problem/88786989>
Reviewed by Eric Carlson.
r286560 changed IDL
Dateto useWallTimeinstead of a rawdouble, meaning that
HTMLMediaElement::getStartDatenow did extra processing of theMediaTimereturned by
MediaPlayer::getStartDate.
Unfortunately,
MediaPlayerPrivateAVFoundationObjC::getStartDatereturned aMediaTime
represented in milliseconds (due to two* 1000), even thoughMediaTimeis supposed to be
seconds-based.
As a result, the changes in r286560 inadvertently caused two
* 1000on the same time value.
Covered by existing test (
LayoutTests/http/tests/media/hls/video-controller-getStartDate.html).
Note that the test was marked as[Pass Failure]before r286560.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::getStartDate const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [289830] by
-
- 2 edits in branches/safari-613.1.17.0-branch/Source/WebCore
Cherry-pick r288667. rdar://problem/88893789
REGRESSION(r287684) speedtest.net uses many GB of memory
https://bugs.webkit.org/show_bug.cgi?id=235615
rdar://87830583
Reviewed by Youenn Fablet.
The regression was introduced with r286937 and is a good example of
errors introduced when attempting to optimise things too early.
CachedRawResource::updateBuffer does a search in the accumulating
resource's SharedBuffer, search that was taking O(log(n)+1) prior r286937
where n is the number of DataView segments in the SharedBuffer.
This was simplified as a O(1) operation by using the combined contiguous
SharedBuffer instead.
However, that caused every single intermediary accumulated buffers to be
kept referenced by the XMLHttpRequest SharedBufferBuilder leading to
massive memory use.
In other words:
For each update, we did the following steps:
- Set m_data to a new big continuous chunk of data that stores all received data
- Create a view of the new data as a SharedBuffer. This SharedBuffer references the big continuous chunk above
- XHR stores a ref to the view, hence keep the big chunk alive.
Each XHR chunk, although small in data that can be accessed, is actually keeping in memory all temporary created m_data chunks.
Following this change, XHR will now only keeps a reference to the new DataSegment added since the last run rather than the entire previous content.
Fly-by: add some comments describing the running of the method.
- loader/cache/CachedRawResource.cpp: (WebCore::CachedRawResource::updateBuffer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [289829] by
-
- 40 edits1 delete in branches/safari-613.1.17.1-branch/Source
Revert r289340. rdar://problem/88629773
- 10:45 AM Changeset in webkit [289828] by
-
- 3 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289776. rdar://problem/88656665
Fix crash with deeply nested async overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=236599
Source/WebCore:
rdar://88656665
Reviewed by Alan Bujtas.
mergeClippingScopesRecursive() already does the append of the rects; doing so
before calling recursing triggers double appends, hence exponentially growing
rect lists.
Test: compositing/layer-creation/clipping-scope/deeply-nested-overflow.html
- rendering/LayerOverlapMap.cpp: (WebCore::OverlapMapContainer::mergeClippingScopesRecursive):
LayoutTests:
Reviewed by Alan Bujtas.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow-expected.txt: Added.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [289827] by
-
- 2 edits in branches/safari-613.1.17.0-branch/Source/WebCore
Cherry-pick r289762. rdar://problem/88786989
REGRESSION(r286560): MediaElement's getStartDate returning an incorrect time
https://bugs.webkit.org/show_bug.cgi?id=236360
<rdar://problem/88786989>
Reviewed by Eric Carlson.
r286560 changed IDL
Dateto useWallTimeinstead of a rawdouble, meaning that
HTMLMediaElement::getStartDatenow did extra processing of theMediaTimereturned by
MediaPlayer::getStartDate.
Unfortunately,
MediaPlayerPrivateAVFoundationObjC::getStartDatereturned aMediaTime
represented in milliseconds (due to two* 1000), even thoughMediaTimeis supposed to be
seconds-based.
As a result, the changes in r286560 inadvertently caused two
* 1000on the same time value.
Covered by existing test (
LayoutTests/http/tests/media/hls/video-controller-getStartDate.html).
Note that the test was marked as[Pass Failure]before r286560.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::getStartDate const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [289826] by
-
- 40 edits1 delete in branches/safari-613.1.17.0-branch/Source
Revert r289340. rdar://problem/88629773
- 10:45 AM Changeset in webkit [289825] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebKit
Revert r289343. rdar://problem/88629773
- 10:45 AM Changeset in webkit [289824] by
-
- 2 edits in branches/safari-613.1.17.0-branch/Source/WebKit
Revert r289343. rdar://problem/88629773
- 10:33 AM Changeset in webkit [289823] by
-
- 3 edits in trunk/Source/JavaScriptCore
[Xcode] Remove "Make libWTF.a Symbolic Link" script phase
https://bugs.webkit.org/show_bug.cgi?id=236613
Reviewed by Alexey Proskuryakov.
We pass the absolute path to libWTF.a to ld's -force_load argument. The path was being
computed at build time by a script, but can be expressed in build settings. Change
OTHER_LDFLAGS such that engineering builds libWTF.a from build products, and production
builds use libWTF.a from their SDK.
- Configurations/JavaScriptCore.xcconfig: Set OTHER_LDFLAGS.
- JavaScriptCore.xcodeproj/project.pbxproj: Remove build phase.
- 10:29 AM Changeset in webkit [289822] by
-
- 1 copy in tags/Safari-614.1.3.1
Tag Safari-614.1.3.1.
- 10:28 AM Changeset in webkit [289821] by
-
- 9 edits in branches/safari-613.1.17.1-branch/Source
Versioning.
WebKit-7613.1.17.1.3
- 10:26 AM Changeset in webkit [289820] by
-
- 9 edits in branches/safari-613.1.17.0-branch/Source
Versioning.
WebKit-7613.1.17.0.3
- 10:23 AM Changeset in webkit [289819] by
-
- 4 edits in trunk
[CMake] Checks uses of execute_process() for correct command splitting
https://bugs.webkit.org/show_bug.cgi?id=236366
Reviewed by Don Olmstead.
.:
- Source/cmake/FindGObjectIntrospection.cmake: Remove macro _GIR_GET_PKGCONFIG_VAR, which used
execute_process(), in favor of pkg_get_variable(), which has been supported since CMake 3.4
Source/JavaScriptCore:
- CMakeLists.txt: string(TIMESTAMP var "%s") has been supported since CMake 3.6, and given
that 3.12 is required we can use it instead of shelling out to run the "date" program.
- 10:05 AM Changeset in webkit [289818] by
-
- 15 edits1 add in trunk/Source
Source/WebCore:
Implement additional Reveal methods.
https://bugs.webkit.org/show_bug.cgi?id=236627
Reviewed by Tim Horton.
Respond to protocol methods that instantiate a selection and request RVItems for a menu.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- editing/EditingBehavior.h:
(WebCore::EditingBehavior::shouldSelectBasedOnDictionaryLookup const):
- editing/cocoa/DictionaryLookup.mm:
(WebCore::canCreateRevealItems):
(WebCore::showPopupOrCreateAnimationController):
- page/EventHandler.cpp:
(WebCore::EventHandler::selectClosestContextualWordFromHitTestResult):
(WebCore::EventHandler::selectClosestContextualWordOrLinkFromHitTestResult):
(WebCore::EventHandler::handleMousePressEventDoubleClick):
(WebCore::EventHandler::sendContextMenuEvent):
(WebCore::EventHandler::selectClosestWordFromMouseEvent): Deleted.
(WebCore::EventHandler::selectClosestContextualWordFromMouseEvent): Deleted.
(WebCore::EventHandler::selectClosestContextualWordOrLinkFromMouseEvent): Deleted.
- page/EventHandler.h:
- page/cocoa/EventHandlerCocoa.mm: Added.
(WebCore::EventHandler::selectClosestWordFromHitTestResultBasedOnLookup):
Source/WebKit:
Implement additional Reveeal methods.
https://bugs.webkit.org/show_bug.cgi?id=236627
Reviewed by Tim Horton.
Respond to protocol methods that instantiate a selection and request RVItems for a menu.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView prepareSelectionForContextMenuWithLocationInView:completionHandler:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::prepareSelectionForContextMenuWithLocationInView):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestDictationContext):
(WebKit::WebPage::rvItemForCurrentSelection):
(WebKit::WebPage::requestRVItemInCurrentSelectedRange):
(WebKit::WebPage::prepareSelectionForContextMenuWithLocationInView):
- 9:03 AM Changeset in webkit [289817] by
-
- 3 edits in trunk/Source/WebKit
Modify getAllLocalAuthenticatorCredentials according to internal requirements
https://bugs.webkit.org/show_bug.cgi?id=236364
rdar://88585418
Reviewed by Brent Fulgham.
This patch modifies the getAllLocalAuthenticatorCredentials SPI to return additional
fields according to internal needs.
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(updateCredentialIfNessesary):
(getAllLocalAuthenticatorCredentialsImpl):
- 8:03 AM Changeset in webkit [289816] by
-
- 4 edits in trunk/Source/WebKit
[GTK][WPE] Move WebPage::platformInitialize and WebPage::platformDetach() to WebPageGLib.cpp
https://bugs.webkit.org/show_bug.cgi?id=236646
Reviewed by Adrian Perez de Castro.
It's duplicated code related to accessibility.
- WebProcess/WebPage/glib/WebPageGLib.cpp:
(WebKit::WebPage::platformInitialize):
(WebKit::WebPage::platformDetach):
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize): Deleted.
(WebKit::WebPage::platformDetach): Deleted.
- WebProcess/WebPage/wpe/WebPageWPE.cpp:
(WebKit::WebPage::platformInitialize): Deleted.
(WebKit::WebPage::platformDetach): Deleted.
- 7:45 AM Changeset in webkit [289815] by
-
- 3 edits in trunk/Tools
[EWS] Need /bin/sh equivalent on wincairo
https://bugs.webkit.org/show_bug.cgi?id=236608
<rdar://problem/88926062>
Reviewed by Don Olmstead.
- Tools/CISupport/ews-build/steps.py:
(ShellMixin.shell_command): Invoke provided command with
the system shell (either /bin/sh or cmd)
(ShellMixin.shell_exit_0): Trailing shell command ensuring
a 0 exit code regardless of the outcome of previous commands.
(ApplyPatch.start): Invoke command with cmd or /bin/sh/.
(CheckOutPullRequest.run): Ditto.
(CleanGitRepo.run): Ditto.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247276@main
- 7:42 AM Changeset in webkit [289814] by
-
- 5 edits in trunk/Source/WebCore
Do not update the fragmented flow state while internally mutating the render tree
https://bugs.webkit.org/show_bug.cgi?id=230896
Reviewed by Darin Adler.
RenderTree mutations (like those happening when creating/destroying anonymous blocks)
should not affect the fragment state of any renderer. This means that we should not have
to deal with things like creating/restoring placeholders/spanners while doing that.
There is already a IsInternalMove flag that is being used for that. Expand its usage
to a couple more methods to improve correctness.
- rendering/LegacyRootInlineBox.cpp:
(WebCore::LegacyRootInlineBox::~LegacyRootInlineBox): Do not remove the inline box from
the ContainingFragmentMap if we're deleting the tree. It was causing ASSERTs trying to
retrieve the enclosing fragmented flow in some cases.
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::attachToRenderElementInternal): Use the RenderTreeBuilder's
m_internalTreeBuilding instead of the argument.
(WebCore::RenderTreeBuilder::move): Replace passing the IsInternalMove argument by a
scope where we don't update the fragmented flow state.
(WebCore::RenderTreeBuilder::detachFromRenderElement): Use the RenderTreeBuilder's
m_internalMovesType instead of the argument.
- rendering/updating/RenderTreeBuilder.h:
- rendering/updating/RenderTreeBuilderInline.cpp:
(WebCore::RenderTreeBuilder::Inline::splitInlines): Wrap the method by a scope in which
fragmented flow state is not updated because we consider those operations internal arrangements
of the tree.
- 7:22 AM Changeset in webkit [289813] by
-
- 16 edits1 copy6 adds in trunk
[Forms] the select() method returns should be in line with specs
https://bugs.webkit.org/show_bug.cgi?id=236435
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt:
Source/WebCore:
This CL is to correct the returns for select() method to be in line
with specs at
https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#dom-textarea%2Finput-select
It updates the expectations for a few WPT tests as more sub-tests are now passing.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::selectionStartForBindings const):
(WebCore::HTMLInputElement::setSelectionStartForBindings):
(WebCore::HTMLInputElement::selectionEndForBindings const):
(WebCore::HTMLInputElement::setSelectionEndForBindings):
(WebCore::HTMLInputElement::selectionDirectionForBindings const):
(WebCore::HTMLInputElement::setSelectionDirectionForBindings):
(WebCore::HTMLInputElement::setSelectionRangeForBindings):
- html/HTMLInputElement.h:
- html/HTMLInputElement.idl:
LayoutTests:
- fast/forms/selection-functions-expected.txt:
- fast/forms/selection-wrongtype-expected.txt:
- fast/forms/selection-wrongtype.html:
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt.
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
- 7:20 AM Changeset in webkit [289812] by
-
- 4 edits in trunk
[Forms] Make sure the element's dirty checkedness flag is set to true when setting checked
https://bugs.webkit.org/show_bug.cgi?id=236497
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Update the test expectations as the tests are now passing.
- web-platform-tests/html/semantics/forms/the-input-element/cloning-steps-expected.txt:
Source/WebCore:
As per spec
https://html.spec.whatwg.org/multipage/input.html#the-input-element%3Aconcept-node-clone-ext,
"The checked IDL attribute allows scripts to manipulate the checkedness of an input element.
... on setting, it must set the element's checkedness to the new value and set the element's
dirty checkedness flag to true." This CL is to make sure this flag is set to true.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setChecked):
- 7:10 AM Changeset in webkit [289811] by
-
- 2 edits in trunk/Tools
[JSC] Speed up getStatusMap and increase robustness
https://bugs.webkit.org/show_bug.cgi?id=236559
Reviewed by Adrian Perez de Castro.
Collect test results in parallel. Also, ignore ssh errors during
collection (e.g. because the remote host is down) -- the main retry
loop will take care of that for us.
This should both avoid needless failures like
https://build.webkit.org/#/builders/31/builds/2432 and reduce the
latency when there are multiple remotes (e.g. for MIPS).
- Scripts/run-jsc-stress-tests:
- 6:53 AM Changeset in webkit [289810] by
-
- 4 edits in trunk
Scrolling while focusing an element should take into account scroll margin
https://bugs.webkit.org/show_bug.cgi?id=235432
Reviewed by Simon Fraser.
Source/WebCore:
No new tests. This is covered by existing WPT tests.
- page/FrameView.cpp:
(WebCore::FrameView::scrollToFocusedElementInternal): Respect the scroll margin
when focusing an element.
LayoutTests:
- TestExpectations: Mark two tests as passing.
- 6:45 AM WebKitGTK/2.34.x edited by
- (diff)
- 6:44 AM Changeset in webkit [289809] by
-
- 3 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Merge r289620 - [GTK] WebKit browser scrollbars not always correctly displayed if overlay scrollbars are disabled
https://bugs.webkit.org/show_bug.cgi?id=234874
Patch by Michael Catanzaro <Michael Catanzaro> on 2022-02-11
Reviewed by Carlos Garcia Campos.
If overlay scrollbars are disabled, and there is not enough content for the page to be
scrollable, and scrollbars are forced using overflow:scroll, then we currently fail to
paint the scrollbars properly. At minimum, we need to paint the scrollbar background, which
is what the macOS port does. Do so.
In the future, we might want to additionally paint the rest of the scrollbars, similar to
the GTK_POLICY_ALWAYS scrollbar policy type, but this would require more work.
- platform/adwaita/ScrollbarThemeAdwaita.cpp:
(WebCore::ScrollbarThemeAdwaita::paint):
- platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::paint):
- 6:30 AM Changeset in webkit [289808] by
-
- 4 edits in releases/WebKitGTK/webkit-2.34/Source
Merge r289804 - [GTK] D-Bus crash atk-bridge
https://bugs.webkit.org/show_bug.cgi?id=236208
Reviewed by Adrian Perez de Castro.
Source/WebCore:
When a root is unregistered, check first if the registration is still pending to just complete and remove it.
- accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::unregisterRoot):
Source/WebKit:
It seems that for some reason we might end up with an empty string as plug ID which ATK doesn't handle right. We
should not send the BindAccessibilityTree message if the plug ID is not valid. In the case of ATSPI we can just
check it's not empty, since we know we always build a valid ID when we have a connection. In the case of ATK we
should check it's a valid unique name and object path.
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize):
- 6:23 AM WebKitGTK/2.34.x edited by
- (diff)
- 6:23 AM Changeset in webkit [289807] by
-
- 5 edits in releases/WebKitGTK/webkit-2.34/Source
Merge r289795 - [GTK][WPE] Inclusion of OpenGLShims.h should not depend on USE(GLX)
https://bugs.webkit.org/show_bug.cgi?id=236593
Reviewed by Michael Catanzaro.
Source/WebCore:
No new tests needed.
- platform/graphics/GLContext.cpp: Remove inclusion of OpenGLShims.h guarded by USE(GLX).
- platform/graphics/GLContext.h: Include OpenGLShims.h as fallback option when neither
USE(LIBEPOXY) nor USE(OPENGL_ES) are into effect.
Source/WebKit:
- UIProcess/API/glib/WebKitProtocolHandler.cpp: Move inclusion of GL/glx.h under a
PLATFORM(X11) guard, and inclusion of WebCore/OpenGLShims.h into a chain of guards
which picks it if USE(LIBEPOXY) and USE(OPENGL_ES) are both false, which is the same
checks done in other parts of the code where these are needed.
- 6:22 AM Changeset in webkit [289806] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r289216): Crash in DocumentTimeline::animationCanBeRemoved
https://bugs.webkit.org/show_bug.cgi?id=236615
<rdar://problem/88943156>
Reviewed by Michael Catanzaro.
Use the default style if we can't obtain one from the target's renderer.
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::animationCanBeRemoved):
- 6:20 AM Changeset in webkit [289805] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34/Source/WTF
Merge r289761 - [Linux/aarch64] Move page size ceiling to 16k
https://bugs.webkit.org/show_bug.cgi?id=236564
Patch by Gustavo Noronha Silva <gustavo@noronha.dev.br> on 2022-02-14
Reviewed by Yusuke Suzuki.
On Apple Silicon, Linux needs to use 16k pages to be as fast as possible. This change has no
visible impact on binary size for release builds, so apply it to all of aarch64 Linux.
- wtf/PageBlock.h:
- 6:07 AM Changeset in webkit [289804] by
-
- 4 edits in trunk/Source
[GTK] D-Bus crash atk-bridge
https://bugs.webkit.org/show_bug.cgi?id=236208
Reviewed by Adrian Perez de Castro.
Source/WebCore:
When a root is unregistered, check first if the registration is still pending to just complete and remove it.
- accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::unregisterRoot):
Source/WebKit:
It seems that for some reason we might end up with an empty string as plug ID which ATK doesn't handle right. We
should not send the BindAccessibilityTree message if the plug ID is not valid. In the case of ATSPI we can just
check it's not empty, since we know we always build a valid ID when we have a connection. In the case of ATK we
should check it's a valid unique name and object path.
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize):
- 6:06 AM Changeset in webkit [289803] by
-
- 2 edits in trunk/Source/WebKit
Memory for messages wrapped for testing is freed before use
https://bugs.webkit.org/show_bug.cgi?id=236590
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-15
Reviewed by Antti Koivisto.
Wrapped messages are such that the data is wrapped inside a synchronous message.
These are sent by certain test objects.
In case the wrapped message was sent to another thread, the wrappee would be
destroyed before the wrapped message was read.
This is a regression from "Support in-process testing of IPC messages"
where the Decoder constructor with deallocator parameter was changed to
unconditionally mean that the Decoder owns the passed in data.
This call-site was missed, and it uses the constructor to pass nullptr
deallocator. Previously this used to mean that the constructor should
copy the data.
Fix by using the copying Decoder constructor.
Add assertion to the ownership-transfer decoder that the deallocation
function is non-null to notice the potential misuse. Currently passing
globally owned data, e.g. non-deallocated data is not useful.
Remove pessimizing WTFMove of a local variabl from a return position.
No new tests, caught by fast/events/gesture/wheel-from-gesture.html with ASAN.
- Platform/IPC/Decoder.cpp:
(IPC::Decoder::create):
(IPC::Decoder::unwrapForTesting):
- 5:10 AM Changeset in webkit [289802] by
-
- 2 edits in trunk/Source/WebKit
GPUP WebGL: WTF::RefCountedBase::applyRefDerefThreadingCheck() fails due to RemoteGraphicsContextGL::paintPixelBufferToImageBuffer
https://bugs.webkit.org/show_bug.cgi?id=236501
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-15
Reviewed by Antti Koivisto.
No new tests, tested by existing WebGL conformance tests which fail from time to time with the assertion.
Avoid assertion about cross-thread deref on ArrayBufferView owned by PixelBuffer. The PixelBuffer
is passed to RemoteRenderingBackend thread for drawing and then deallocated there. In this use-case
no other referneces to the ArrayBufferView exist and the PixelBuffer is moved, so it is safe to
disable the cross-thread deref assertion.
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer):
- 4:35 AM WebKitGTK/2.34.x edited by
- (diff)
- 4:31 AM Changeset in webkit [289801] by
-
- 2 edits1 add in trunk/Tools/buildstream
[Flatpak SDK] Add mold linker
https://bugs.webkit.org/show_bug.cgi?id=236362
Reviewed by Philippe Normand.
The Mold linker claims to be faster than Gold and LLD, and while it does not support LTO
at the moment, it has reachd a reasonable level of maturity and can be used for projects
as complex as WebKit already.
Mold can be used in combination with the Clang compiler driver or GCC 12+ by passing
-fuse-ld=mold as a linker flag, for example as follows:
% LDFLAGS=-fuse-ld=mold Tools/Scripts/build-webkit [...]
% LDFLAGS=-fuse-ld=mold CC=clang CXX=clang++ Tools/Scripts/build-webkit [...]
As GCC 11 and older, the -fuse-ld=mold option is not supported. It is still possible to
use -B to instruct the compiler driver to try a different path first for helper programs,
and a wrapper for Mold called "ld" is available as well:
% LDFLAGS=-B/usr/libexec/mold Tools/Scripts/build-webkit [...]
- elements/sdk-platform.bst: List sdk/mold.bst as part of the SDK.
- elements/sdk/mold.bst: Added.
- 4:01 AM Changeset in webkit [289800] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer][MSE] Let MSE set natural video size when using holepunch
https://bugs.webkit.org/show_bug.cgi?id=236453
Reviewed by Xabier Rodriguez-Calvar.
Currently the holepunch implementation completely overrides the video size to a hardcoded
value. It would be desirable to let the m_videoSize value set by
MediaPlayerPrivateGStreamerMSE::setInitialVideoSize() take precedence over the hardcoded value.
This is a fix for media element events test case from YTS:
https://ytlr-cert.appspot.com/2021/main.html?tests=18
This patch is authored by Eugene Mutavchi <Ievgen_Mutavchi@comcast.com>
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/775
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::naturalSize const): Return m_videoSize when set.
- 3:25 AM WebKitGTK/2.34.x edited by
- (diff)
- 1:37 AM Changeset in webkit [289799] by
-
- 5 edits6 adds1 delete in trunk/Source
[WGSL] Implement enough of the lexer for the simplest shaders
https://bugs.webkit.org/show_bug.cgi?id=233276
<rdar://problem/85732675>
Reviewed by Myles Maxfield.
Source/WebGPU:
There is just enough of the lexer in this patch to pass the unit tests (also added by the patch).
The lexer is templated by the character size, following the code from JSC's lexer.
I did not use a lexer generator like lex for a few reasons:
- It would have made the build system(s) even more of a nightmare
- It would have made it harder to give accurate and customized error messages
- If we ever decide to do anything exotic to the grammar of the language, it could have made it much harder
The lexing of floating point literals is a bit hacky, and probably has some precision issues in corner cases, but it passed all simple unit tests,
so for now I just left it as is with a FIXME, to be fixed once we can run the full CTS.
The TokenType includes an
Invalidvalue. I could instead have used std::optional<Token> everywhere.
I made this choice for two reasons:
- space efficiency: we don't use an extra word of memory for the variant's tag
- (although this part could be solved by using https://github.com/akrzemi1/markable)
- ease of use and time efficiency: everywhere that we check for a given TokenType, we would have to first check that the Token is not nullopt, and then check the TokenType.
- Configurations/WGSLUnitTests.xcconfig:
- WGSL/Lexer.cpp: Added.
(WGSL::Lexer<T>::lex):
(WGSL::Lexer<T>::shift):
(WGSL::Lexer<T>::peek):
(WGSL::Lexer<T>::skipWhitespace):
(WGSL::Lexer<T>::isAtEndOfFile const):
(WGSL::Lexer<T>::parseDecimalInteger):
(WGSL::Lexer<T>::parseDecimalFloatExponent):
(WGSL::Lexer<T>::parseIntegerLiteralSuffix):
(WGSL::Lexer<LChar>::isWhiteSpace):
(WGSL::Lexer<LChar>::isIdentifierStart):
(WGSL::Lexer<LChar>::isValidIdentifierCharacter):
(WGSL::Lexer<LChar>::isDecimal):
(WGSL::Lexer<LChar>::isHexadecimal):
(WGSL::Lexer<LChar>::readDecimal):
(WGSL::Lexer<LChar>::readHexadecimal):
(WGSL::Lexer<UChar>::isWhiteSpace):
(WGSL::Lexer<UChar>::isIdentifierStart):
(WGSL::Lexer<UChar>::isValidIdentifierCharacter):
(WGSL::Lexer<UChar>::isDecimal):
(WGSL::Lexer<UChar>::isHexadecimal):
(WGSL::Lexer<UChar>::readDecimal):
(WGSL::Lexer<UChar>::readHexadecimal):
- WGSL/Lexer.h: Added.
(WGSL::Lexer::Lexer):
(WGSL::Lexer::currentPosition const):
(WGSL::Lexer::currentOffset const):
(WGSL::Lexer::currentTokenLength const):
(WGSL::Lexer::makeToken):
(WGSL::Lexer::makeLiteralToken):
(WGSL::Lexer::makeIdentifierToken):
- WGSL/SourceSpan.h: Added.
(WGSL::SourceSpan::SourceSpan):
- WGSL/Token.cpp: Added.
(WGSL::toString):
- WGSL/Token.h: Added.
(WGSL::Token::Token):
(WGSL::Token::operator=):
(WGSL::Token::~Token):
- WGSL/WGSL.cpp:
(WGSL::staticCheck):
- WGSLUnitTests/WGSLLexerTests.mm: Added.
(-[WGSLLexerTests testLexerOnSingleTokens]):
(-[WGSLLexerTests testLexerOnComputeShader]):
(-[WGSLLexerTests testLexerOnGraphicsShader]):
- WGSLUnitTests/WGSLUnitTests.mm: Removed.
(-[WGSLUnitTests testExample]): Deleted.
- WebGPU.xcodeproj/project.pbxproj:
Source/WTF:
Add WTF::Unicode::formFeed and WTF::Unicode::verticalTabulation.
- wtf/unicode/CharacterNames.h:
- 1:23 AM Changeset in webkit [289798] by
-
- 2 edits1 add in trunk/Tools/buildstream
[Flatpak SDK] Include sparkle-cdm library
https://bugs.webkit.org/show_bug.cgi?id=236562
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-15
Reviewed by Martin Robinson.
This new recipe ships the Sparkle-CDM library, providing an alternative to Thunder. A
ClearKey plugin is provided as well, it will be used later on by the Thunder decryptor,
instead of the dedicated decryptor maintained in WebCore. The goals are to reduce GStreamer
decryptors maintenance here and to dog-food the Thunder code paths using the clearkey layout
tests.
- elements/sdk-platform.bst:
- elements/sdk/sparkle-cdm.bst: Added.
- 1:20 AM Changeset in webkit [289797] by
-
- 2 edits1 add in trunk/Tools/buildstream
[Flatpak SDK] Include a GStreamer DTLS transport bug fix
https://bugs.webkit.org/show_bug.cgi?id=236591
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-15
Reviewed by Martin Robinson.
This patch is needed for the GstWebRTC backend.
- elements/sdk/gst-plugins-bad.bst:
- patches/gstreamer-0001-dtlstransport-Notify-ICE-transport-property-changes.patch: Added.
- 1:18 AM Changeset in webkit [289796] by
-
- 2 edits1 add in trunk/Tools/buildstream
[Flatpak SDK] Update to libnice development snapshot
https://bugs.webkit.org/show_bug.cgi?id=236537
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-15
Reviewed by Martin Robinson.
Until there is 0.1.19 release, rely on development branch.
- elements/freedesktop-sdk.bst:
- patches/fdo-0001-Bump-libnice-to-current-git-master-HEAD.patch: Added.
- 1:07 AM Changeset in webkit [289795] by
-
- 5 edits in trunk/Source
[GTK][WPE] Inclusion of OpenGLShims.h should not depend on USE(GLX)
https://bugs.webkit.org/show_bug.cgi?id=236593
Reviewed by Michael Catanzaro.
Source/WebCore:
No new tests needed.
- platform/graphics/GLContext.cpp: Remove inclusion of OpenGLShims.h guarded by USE(GLX).
- platform/graphics/GLContext.h: Include OpenGLShims.h as fallback option when neither
USE(LIBEPOXY) nor USE(OPENGL_ES) are into effect.
Source/WebKit:
- UIProcess/API/glib/WebKitProtocolHandler.cpp: Move inclusion of GL/glx.h under a
PLATFORM(X11) guard, and inclusion of WebCore/OpenGLShims.h into a chain of guards
which picks it if USE(LIBEPOXY) and USE(OPENGL_ES) are both false, which is the same
checks done in other parts of the code where these are needed.
- 1:04 AM Changeset in webkit [289794] by
-
- 3 edits2 adds in trunk
null ptr deref in WebCore::HTMLModelElement::enterFullscreen()
https://bugs.webkit.org/show_bug.cgi?id=236409
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-15
Reviewed by Darin Adler.
Source/WebCore:
m_modelPlayer is a RefPtr that can become nullptr, so it needs a check before
dereferencing in HTMLModelElement::enterFullscreen(), as is done in other parts of
this class.
Also added a similar check missing in HTMLModelElement::platformLayer(), which was identified via code inspection.
Test: model-element/model-element-enter-fullscreen-crash.html
- Modules/model-element/HTMLModelElement.cpp:
(WebCore::HTMLModelElement::platformLayer const):
(WebCore::HTMLModelElement::enterFullscreen):
LayoutTests:
- model-element/model-element-enter-fullscreen-crash-expected.txt: Added.
- model-element/model-element-enter-fullscreen-crash.html: Added.
- 12:36 AM Changeset in webkit [289793] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
l10n: Updated Hebrew translation of WebKitGTK
https://bugs.webkit.org/show_bug.cgi?id=236603
Patch by Yosef Or Boczko <yoseforb@gmail.com> on 2022-02-15
Rubber-stamped by Carlos Garcia Campos.
- he.po:
- 12:34 AM Changeset in webkit [289792] by
-
- 6 edits1 copy in trunk
REGRESSION(r195447): [GTK] document.activeElement not set on mouse click
https://bugs.webkit.org/show_bug.cgi?id=236217
Reviewed by Michael Catanzaro.
Source/WebCore:
Bring back the behavior before r195447 and focus the links on click which is consistent with other browser in
Linux and ensures active element is the expected one on a click event listener.
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::isMouseFocusable const):
LayoutTests:
- fast/events/click-focus-anchor-expected.txt:
- fast/events/click-focus-anchor.html:
- platform/glib/TestExpectations: Mark imported/blink/fast/events/click-focus-keydown-no-ring.html as failure.
- platform/glib/fast/events/click-focus-anchor-expected.txt: Copied from LayoutTests/fast/events/click-focus-anchor-expected.txt.
- 12:26 AM Changeset in webkit [289791] by
-
- 2 edits in trunk/JSTests
[JSC] Reduce iterations for getter-richards.js on MIPS
https://bugs.webkit.org/show_bug.cgi?id=236594
Patch by Xan Lopez <Xan Lopez> on 2022-02-15
Reviewed by Adrian Perez de Castro.
- typeProfiler/getter-richards.js: do 50 iterations on MIPS.
Feb 14, 2022:
- 11:34 PM Changeset in webkit [289790] by
-
- 87 edits3 deletes in trunk
ExtensionsGL is not useful class, it should be removed
https://bugs.webkit.org/show_bug.cgi?id=236490
Source/WebCore:
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-14
Reviewed by Dean Jackson.
Remove ExtensionsGL. It is not a useful class, it does not abstract anything.
It has similar functions to GraphicsContextGL subclass, and needs and uses GraphicsContextGL subclass
underneath.
It is a problematic class as it is obtained through a virtual function, but that
virtual function override is being called during construction of the GraphicsContextGL subclass
instance.
Also the ExtensionsGL will neccessarily call back to GraphicsContextGL subclass instance being
constructed.
Current getExtensions() virtual function override calls are expected to go
where the C++ defines them going during construction.
Current calls back to the GraphicsContextGL subclass instance during construction *should*
access state that is already initialized, but it is quite error-prone and hard to
analyze.
Move ExtensionsGL functions to GraphicsContextGL. Make call-sites call the context instead of the
extension helper. Rename the functions with pattern "isSupported" -> "isExtensionSupported".
Remove GraphicsContextGL::getExtensions() virtual function call.
For legacy contexts GraphicsContextGLOpenGL, GraphicsContextGLOpenGLES preserve their
ExtensionGLCommon subclasses. Accessing it happens from a normal function from legacy call sites
that know that they're calling GraphicsContextGLOpenGL.
For GraphicsContextGLANGLE, move context initialization code to GraphicsContextGLANGLE::initialize()
instead of the constructor. This way the initialization code can call virtual functions and the calls
are delivered normally to the last overrider.
RemoteGraphicsContextGLProxyBase can now be removed, as it is unneeded anyway and its added virtual
functions would cause inconvenient naming duplication.
No new tests, a refactor.
- CMakeLists.txt:
- Headers.cmake:
- Modules/webxr/WebXROpaqueFramebuffer.cpp:
(WebCore::WebXROpaqueFramebuffer::startFrame):
(WebCore::WebXROpaqueFramebuffer::setupFramebuffer):
- Sources.txt:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/canvas/ANGLEInstancedArrays.cpp:
(WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
(WebCore::ANGLEInstancedArrays::supported):
- html/canvas/ANGLEInstancedArrays.h:
- html/canvas/EXTColorBufferFloat.cpp:
(WebCore::EXTColorBufferFloat::EXTColorBufferFloat):
(WebCore::EXTColorBufferFloat::supported):
- html/canvas/EXTColorBufferFloat.h:
- html/canvas/EXTColorBufferHalfFloat.cpp:
(WebCore::EXTColorBufferHalfFloat::EXTColorBufferHalfFloat):
(WebCore::EXTColorBufferHalfFloat::supported):
- html/canvas/EXTColorBufferHalfFloat.h:
- html/canvas/EXTFloatBlend.cpp:
(WebCore::EXTFloatBlend::EXTFloatBlend):
(WebCore::EXTFloatBlend::supported):
- html/canvas/EXTFloatBlend.h:
- html/canvas/EXTTextureCompressionRGTC.cpp:
(WebCore::EXTTextureCompressionRGTC::EXTTextureCompressionRGTC):
- html/canvas/KHRParallelShaderCompile.cpp:
(WebCore::KHRParallelShaderCompile::KHRParallelShaderCompile):
(WebCore::KHRParallelShaderCompile::supported):
- html/canvas/KHRParallelShaderCompile.h:
- html/canvas/OESFBORenderMipmap.cpp:
(WebCore::OESFBORenderMipmap::OESFBORenderMipmap):
(WebCore::OESFBORenderMipmap::supported):
- html/canvas/OESFBORenderMipmap.h:
- html/canvas/OESTextureFloat.cpp:
(WebCore::OESTextureFloat::OESTextureFloat):
(WebCore::OESTextureFloat::supported):
- html/canvas/OESTextureFloat.h:
- html/canvas/OESTextureHalfFloat.cpp:
(WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
(WebCore::OESTextureHalfFloat::supported):
- html/canvas/OESTextureHalfFloat.h:
- html/canvas/OESVertexArrayObject.cpp:
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::initializeShaderExtensions):
(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):
- html/canvas/WebGLColorBufferFloat.cpp:
(WebCore::WebGLColorBufferFloat::WebGLColorBufferFloat):
(WebCore::WebGLColorBufferFloat::supported):
- html/canvas/WebGLColorBufferFloat.h:
- html/canvas/WebGLCompressedTextureASTC.cpp:
(WebCore::WebGLCompressedTextureASTC::WebGLCompressedTextureASTC):
(WebCore::WebGLCompressedTextureASTC::supported):
- html/canvas/WebGLCompressedTextureASTC.h:
- html/canvas/WebGLCompressedTextureATC.cpp:
(WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC):
(WebCore::WebGLCompressedTextureATC::supported):
- html/canvas/WebGLCompressedTextureATC.h:
- html/canvas/WebGLCompressedTextureETC.cpp:
(WebCore::WebGLCompressedTextureETC::WebGLCompressedTextureETC):
(WebCore::WebGLCompressedTextureETC::supported):
- html/canvas/WebGLCompressedTextureETC.h:
- html/canvas/WebGLCompressedTextureETC1.cpp:
(WebCore::WebGLCompressedTextureETC1::WebGLCompressedTextureETC1):
(WebCore::WebGLCompressedTextureETC1::supported):
- html/canvas/WebGLCompressedTextureETC1.h:
- html/canvas/WebGLCompressedTexturePVRTC.cpp:
(WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC):
(WebCore::WebGLCompressedTexturePVRTC::supported):
- html/canvas/WebGLCompressedTexturePVRTC.h:
- html/canvas/WebGLCompressedTextureS3TC.cpp:
(WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
(WebCore::WebGLCompressedTextureS3TC::supported):
- html/canvas/WebGLCompressedTextureS3TC.h:
- html/canvas/WebGLCompressedTextureS3TCsRGB.cpp:
(WebCore::WebGLCompressedTextureS3TCsRGB::WebGLCompressedTextureS3TCsRGB):
(WebCore::WebGLCompressedTextureS3TCsRGB::supported):
- html/canvas/WebGLCompressedTextureS3TCsRGB.h:
- html/canvas/WebGLDebugShaders.cpp:
(WebCore::WebGLDebugShaders::WebGLDebugShaders):
(WebCore::WebGLDebugShaders::getTranslatedShaderSource):
- html/canvas/WebGLDepthTexture.cpp:
(WebCore::WebGLDepthTexture::WebGLDepthTexture):
(WebCore::WebGLDepthTexture::supported):
- html/canvas/WebGLDrawBuffers.cpp:
(WebCore::WebGLDrawBuffers::WebGLDrawBuffers):
(WebCore::WebGLDrawBuffers::supported):
(WebCore::WebGLDrawBuffers::drawBuffersWEBGL):
(WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):
- html/canvas/WebGLFramebuffer.cpp:
(WebCore::getClearBitsByAttachmentType):
(WebCore::getClearBitsByFormat):
(WebCore::WebGLFramebuffer::checkStatus const):
(WebCore::WebGLFramebuffer::drawBuffersIfNecessary):
(WebCore::WebGLFramebuffer::getDrawBuffer):
- html/canvas/WebGLMultiDraw.cpp:
(WebCore::WebGLMultiDraw::WebGLMultiDraw):
(WebCore::WebGLMultiDraw::supported):
- html/canvas/WebGLMultiDraw.h:
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGLRenderingContext::getMaxDrawBuffers):
(WebCore::WebGLRenderingContext::getMaxColorAttachments):
(WebCore::WebGLRenderingContext::validateBlendEquation):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::getChannelBitsByFormat):
(WebCore::possibleFormatAndTypeForInternalFormat):
(WebCore::WebGLRenderingContextBase::setupFlags):
(WebCore::WebGLRenderingContextBase::getParameter):
(WebCore::WebGLRenderingContextBase::getProgramParameter):
(WebCore::WebGLRenderingContextBase::getShaderParameter):
(WebCore::WebGLRenderingContextBase::getTexParameter):
(WebCore::WebGLRenderingContextBase::getUniform):
(WebCore::WebGLRenderingContextBase::hint):
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::renderbufferStorageImpl):
(WebCore::WebGLRenderingContextBase::validateTexFuncFormatAndType):
(WebCore::WebGLRenderingContextBase::texParameter):
(WebCore::WebGLRenderingContextBase::loseContextImpl):
(WebCore::WebGLRenderingContextBase::validateCompressedTexFuncData):
(WebCore::WebGLRenderingContextBase::validateCompressedTexDimensions):
(WebCore::WebGLRenderingContextBase::validateCompressedTexSubDimensions):
(WebCore::WebGLRenderingContextBase::maybeRestoreContext):
(WebCore::WebGLRenderingContextBase::getMaxDrawBuffers):
(WebCore::WebGLRenderingContextBase::getMaxColorAttachments):
(WebCore::WebGLRenderingContextBase::enableSupportedExtension):
- html/canvas/WebGLVertexArrayObjectOES.cpp:
- loader/FrameLoaderClient.h:
- platform/graphics/ExtensionsGL.h: Removed.
- platform/graphics/GraphicsContextGL.cpp:
(WebCore::GraphicsContextGL::computeFormatAndTypeParameters):
- platform/graphics/GraphicsContextGL.h:
- platform/graphics/RemoteGraphicsContextGLProxyBase.cpp:
- platform/graphics/RemoteGraphicsContextGLProxyBase.h:
- platform/graphics/angle/ExtensionsGLANGLE.cpp: Removed.
- platform/graphics/angle/ExtensionsGLANGLE.h: Removed.
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::initialize):
(WebCore::GraphicsContextGLANGLE::platformInitializeContext):
(WebCore::GraphicsContextGLANGLE::platformInitialize):
(WebCore::GraphicsContextGLANGLE::texImage2D):
(WebCore::GraphicsContextGLANGLE::validateDepthStencil):
(WebCore::GraphicsContextGLANGLE::supportsExtension):
(WebCore::GraphicsContextGLANGLE::ensureExtensionEnabled):
(WebCore::GraphicsContextGLANGLE::isExtensionEnabled):
(WebCore::GraphicsContextGLANGLE::getGraphicsResetStatusARB):
(WebCore::GraphicsContextGLANGLE::getTranslatedShaderSourceANGLE):
(WebCore::GraphicsContextGLANGLE::drawBuffersEXT):
(WebCore::GraphicsContextGLANGLE::adjustWebGL1TextureInternalFormat):
- platform/graphics/angle/GraphicsContextGLANGLE.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
- platform/graphics/cocoa/GraphicsContextGLCocoa.h:
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLCocoa::create):
(WebCore::GraphicsContextGLCocoa::GraphicsContextGLCocoa):
(WebCore::GraphicsContextGLANGLE::GraphicsContextGLANGLE):
(WebCore::GraphicsContextGLCocoa::platformInitializeContext):
(WebCore::GraphicsContextGLCocoa::platformInitialize):
(WebCore::GraphicsContextGLCocoa::reshapeDisplayBufferBacking):
(WebCore::GraphicsContextGLCocoa::allocateAndBindDisplayBufferBacking):
(WebCore::GraphicsContextGLCocoa::bindDisplayBufferBacking):
(WebCore::GraphicsContextGLCocoa::prepareForDisplay):
- platform/graphics/cocoa/WebProcessGraphicsContextGLCocoa.mm:
(WebCore::createWebProcessGraphicsContextGL):
- platform/graphics/opengl/ExtensionsGLOpenGL.cpp:
(WebCore::ExtensionsGLOpenGL::platformSupportsExtension):
- platform/graphics/opengl/ExtensionsGLOpenGL.h:
- platform/graphics/opengl/ExtensionsGLOpenGLCommon.cpp:
(WebCore::ExtensionsGLOpenGLCommon::supports):
(WebCore::ExtensionsGLOpenGLCommon::ensureEnabled):
- platform/graphics/opengl/ExtensionsGLOpenGLCommon.h:
- platform/graphics/opengl/ExtensionsGLOpenGLES.cpp:
(WebCore::ExtensionsGLOpenGLES::isEnabled):
(WebCore::ExtensionsGLOpenGLES::getGraphicsResetStatusARB):
(WebCore::ExtensionsGLOpenGLES::platformSupportsExtension):
- platform/graphics/opengl/ExtensionsGLOpenGLES.h:
- platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:
(WebCore::GraphicsContextGLOpenGL::getExtensions):
(WebCore::GraphicsContextGLOpenGL::validateDepthStencil):
(WebCore::GraphicsContextGLOpenGL::supportsExtension):
(WebCore::GraphicsContextGLOpenGL::ensureExtensionEnabled):
(WebCore::GraphicsContextGLOpenGL::isExtensionEnabled):
(WebCore::GraphicsContextGLOpenGL::getGraphicsResetStatusARB):
(WebCore::GraphicsContextGLOpenGL::drawBuffersEXT):
(WebCore::GraphicsContextGLOpenGL::getTranslatedShaderSourceANGLE):
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp:
(WebCore::GraphicsContextGLOpenGL::texImage2D):
(WebCore::GraphicsContextGLOpenGL::getExtensions):
- platform/graphics/opengl/GraphicsContextGLOpenGLES.cpp:
(WebCore::GraphicsContextGLOpenGL::reshapeFBOs):
(WebCore::GraphicsContextGLOpenGL::validateAttributes):
(WebCore::GraphicsContextGLOpenGL::getExtensions):
- platform/graphics/texmap/BitmapTextureGL.cpp:
- platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:
(WebCore::GraphicsContextGLTextureMapper::create):
(WebCore::createWebProcessGraphicsContextGL):
- platform/graphics/texmap/GraphicsContextGLTextureMapper.h:
- platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::GraphicsContextGLANGLE):
(WebCore::GraphicsContextGLTextureMapper::prepareForDisplay):
(WebCore::GraphicsContextGLTextureMapper::reshapeDisplayBufferBacking):
- platform/graphics/texmap/TextureMapperGL.cpp:
Source/WebKit:
Move the RemoteGraphicsContextGLProxyBase functions to
RemoteGraphicsContextGL. The ..Base can now be removed
as ExtensionGL is removed.
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-14
Reviewed by Dean Jackson.
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::workQueueInitialize):
(WebKit::RemoteGraphicsContextGL::ensureExtensionEnabled):
(WebKit::RemoteGraphicsContextGL::markContextChanged):
- GPUProcess/graphics/RemoteGraphicsContextGL.h:
- GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
- GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h:
(getGraphicsResetStatusARB):
(getTranslatedShaderSourceANGLE):
(drawBuffersEXT):
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::RemoteGraphicsContextGLProxy):
(WebKit::RemoteGraphicsContextGLProxy::setContextVisibility):
(WebKit::RemoteGraphicsContextGLProxy::isGLES2Compliant const):
(WebKit::RemoteGraphicsContextGLProxy::markContextChanged):
(WebKit::RemoteGraphicsContextGLProxy::supportsExtension):
(WebKit::RemoteGraphicsContextGLProxy::ensureExtensionEnabled):
(WebKit::RemoteGraphicsContextGLProxy::isExtensionEnabled):
(WebKit::RemoteGraphicsContextGLProxy::initialize):
(WebKit::RemoteGraphicsContextGLProxy::reshape):
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
Tools:
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-14
Reviewed by Dean Jackson.
Update manually implemented functions.
- Scripts/generate-gpup-webgl:
- TestWebKitAPI/Tests/WebCore/cocoa/TestGraphicsContextGLCocoa.mm:
- 10:29 PM Changeset in webkit [289789] by
-
- 8 edits in trunk
[CSS Container Queries] Support range operators in size queries
https://bugs.webkit.org/show_bug.cgi?id=236600
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/size-feature-evaluation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/unsupported-axis-expected.txt:
Source/WebCore:
Support (width > 100px) and similar.
- css/ContainerQueryParser.cpp:
(WebCore::ContainerQueryParser::consumeSizeQuery):
(WebCore::ContainerQueryParser::consumeSizeFeature):
Factor into a function.
Add operator support. No reverse (100px < width) or full range (10px < width < 100px) yet.
The evaluator supports these already.
- css/ContainerQueryParser.h:
LayoutTests:
- 7:55 PM Changeset in webkit [289788] by
-
- 3 edits in trunk/Source/bmalloc
[libpas] compact pointers should load payload via memcpy
https://bugs.webkit.org/show_bug.cgi?id=236621
Reviewed by Mark Lam.
ASan found that we are loading 8 bytes which can potentially be overflowed.
For example, we load this from a pointer to stack variable, which means that
we could cause stack overflow. Instead we should use memcpy.
Currently, we only support little endian code, but it is OK since libpas is not
enabled in non little endian architectures.
- libpas/src/libpas/pas_compact_ptr.h:
- libpas/src/libpas/pas_compact_tagged_ptr.h:
- 6:16 PM Changeset in webkit [289787] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r288804): fast/forms/visual-hebrew-text-field.html is failing
https://bugs.webkit.org/show_bug.cgi?id=236325
Reviewed by Dean Jackson.
The test failure is caused by pre-existing inter-test dependencies.
Workaround whatever the underlying cause for the test failure by forcing
the use of ephemeral session for now.
- fast/forms/visual-hebrew-text-field.html:
- 5:47 PM Changeset in webkit [289786] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening.
Expand pixel range.
- css3/color-filters/color-filter-color-text-decorations.html:
- 5:34 PM Changeset in webkit [289785] by
-
- 2 edits in trunk/Source/WebKit
Direct touches don't trigger other gesture recognizers if WKMouseGestureRecognizer sees them first
https://bugs.webkit.org/show_bug.cgi?id=236617
Reviewed by Wenson Hsieh.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizer:shouldReceiveTouch:]):
WKMouseGestureRecognizer should only completely steal touches of type
UITouchTypeIndirectPointer. Other touch types (e.g. synthetic direct touches)
still need to trigger other WKContentViewInteraction gesture recognizers
(like long-press and double-tap) despite WKMouseGestureRecognizer
seeing their touches. So, check the touch type before early-returning.
- 5:05 PM Changeset in webkit [289784] by
-
- 2 edits in trunk/Tools
[EWS] Support PRs when sending build failure emails
https://bugs.webkit.org/show_bug.cgi?id=235926
<rdar://problem/88302122>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(GitHub.email_for_owners): Convert list of owners to an email address.
(GitHubMixin.should_send_email_for_pr): Check if the tested sha is outdated.
(BugzillaMixin.should_send_email_for_patch): Renamed from should_send_email.
(BugzillaMixin.should_send_email): Renamed to should_send_email_for_patch.
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Draft different
email for failed patch than failed pull request build.
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures):
Canonical link: https://commits.webkit.org/247249@main
- 5:00 PM Changeset in webkit [289783] by
-
- 1 copy in tags/Safari-613.1.17.0.2
Tag Safari-613.1.17.0.2.
- 4:59 PM Changeset in webkit [289782] by
-
- 1 copy in tags/Safari-613.1.17.1.2
Tag Safari-613.1.17.1.2.
- 4:14 PM Changeset in webkit [289781] by
-
- 6 edits in branches/safari-614.1.3-branch/Source
Cherry-pick r289592. rdar://problem/88323950
tryReserveUncommittedAligned should explicitly take the alignment requested
https://bugs.webkit.org/show_bug.cgi?id=236460
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
When reducing the size of VA space reserved for Structures, we
didn't take care to ensure the alignment matched the required
alignment for our bit mask. To fix this we need to pass the
original alignment to the allocator as a new parameter.
- heap/StructureAlignedMemoryAllocator.cpp: (JSC::StructureMemoryManager::StructureMemoryManager):
Source/WTF:
This patch adds a new ifdef for Unix flavors that support the
MAP_ALIGNED macro/parameter to mmap.
Also, fix a bug where on windows we wouldn't request enough
space to guarantee that allocation is aligned.
- wtf/OSAllocator.h:
- wtf/posix/OSAllocatorPOSIX.cpp: (WTF::OSAllocator::tryReserveUncommittedAligned):
- wtf/win/OSAllocatorWin.cpp: (WTF::OSAllocator::tryReserveUncommittedAligned):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289592 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:14 PM Changeset in webkit [289780] by
-
- 3 edits1 add in trunk
Array#{ groupBy, groupByToMap }should throw aTypeErrorwhenthisisnullorundefined
https://bugs.webkit.org/show_bug.cgi?id=236541
Reviewed by Alexey Shvayka.
JSTests:
- stress/array-group-by-null-or-undefined.js: Added.
(shouldThrow):
Source/JavaScriptCore:
While we are correctly using @toObject, these functions missed "use strict", which enforces a function
to change a non object |this| to an object (in this case, global object). This patch adds "use strict",
to make these function strict code.
- builtins/ArrayPrototype.js:
(groupBy):
(groupByToMap):
- 4:09 PM Changeset in webkit [289779] by
-
- 4 edits in trunk/Source/JavaScriptCore
[CMake] Remove uses of add_definitions in JavaScriptCore build
https://bugs.webkit.org/show_bug.cgi?id=236605
Reviewed by Michael Catanzaro.
Use target specific definitions when building JavaScriptCore. In the current cases the
definitions don't need to propagate to targets using JavaScriptCore so
JavaScriptCore_PRIVATE_DEFINITIONS is used.
- PlatformGTK.cmake:
- PlatformPlayStation.cmake:
- PlatformWPE.cmake:
- 4:05 PM Changeset in webkit [289778] by
-
- 2 edits in trunk/Source/WebCore
Move PDFDocument.cpp/h in correct position in WebCore.xcodeproj
https://bugs.webkit.org/show_bug.cgi?id=236529
Patch by Dan Glastonbury <djg@apple.com> on 2022-02-14
Reviewed by Tim Nguyen.
- WebCore.xcodeproj/project.pbxproj:
- 3:59 PM Changeset in webkit [289777] by
-
- 2 edits in trunk/Source/WebCore
Consistenly use hasTagName instead of is<> in HTMLStackItem testing functions
https://bugs.webkit.org/show_bug.cgi?id=236571
Reviewed by Sam Weinig.
No reason to use is<> for a couple of element names but hasTagName for
all others.
- html/parser/HTMLElementStack.cpp:
(WebCore::HTMLNames::isScopeMarker):
(WebCore::HTMLNames::isTableScopeMarker):
(WebCore::HTMLNames::isSelectScopeMarker):
- 3:33 PM Changeset in webkit [289776] by
-
- 3 edits2 adds in trunk
Fix crash with deeply nested async overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=236599
Source/WebCore:
rdar://88656665
Reviewed by Alan Bujtas.
mergeClippingScopesRecursive() already does the append of the rects; doing so
before calling recursing triggers double appends, hence exponentially growing
rect lists.
Test: compositing/layer-creation/clipping-scope/deeply-nested-overflow.html
- rendering/LayerOverlapMap.cpp:
(WebCore::OverlapMapContainer::mergeClippingScopesRecursive):
LayoutTests:
Reviewed by Alan Bujtas.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow-expected.txt: Added.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow.html: Added.
- 3:33 PM Changeset in webkit [289775] by
-
- 3 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Merge r288539 - Expand RefPtr / Ref use in FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=235551
rdar://87986840
Reviewed by Mark Lam.
Apply Ref / RefPtr instead of taking SerializedScriptValue*.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadInSameDocument):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
- loader/FrameLoader.h:
- 3:26 PM Changeset in webkit [289774] by
-
- 1 copy in tags/Safari-614.1.2.2
Tag Safari-614.1.2.2.
- 3:19 PM Changeset in webkit [289773] by
-
- 17 edits in trunk/Tools/Scripts
Update shebang for run-benchmark scripts.
Reviewed by Jonathan Bedard.
Use python3 in shebang for run-benchmark.
Remove shebang from modules in benchmark_runner.
- Tools/Scripts/run-benchmark:
- Tools/Scripts/webkitpy/benchmark_runner/benchmark_builder.py:
- Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
- Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
- Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py:
- Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
- Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
- Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
- Tools/Scripts/webkitpy/benchmark_runner/generic_factory.py:
- Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py:
- Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py:
- Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver_factory.py:
- Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
- Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py:
- Tools/Scripts/webkitpy/benchmark_runner/utils.py:
- Tools/Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py:
- Tools/Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
Canonical link: https://commits.webkit.org/247243@main
- 3:13 PM Changeset in webkit [289772] by
-
- 6 edits in branches/safari-614.1.2-branch/Source
Cherry-pick r289592. rdar://problem/88323950
tryReserveUncommittedAligned should explicitly take the alignment requested
https://bugs.webkit.org/show_bug.cgi?id=236460
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
When reducing the size of VA space reserved for Structures, we
didn't take care to ensure the alignment matched the required
alignment for our bit mask. To fix this we need to pass the
original alignment to the allocator as a new parameter.
- heap/StructureAlignedMemoryAllocator.cpp: (JSC::StructureMemoryManager::StructureMemoryManager):
Source/WTF:
This patch adds a new ifdef for Unix flavors that support the
MAP_ALIGNED macro/parameter to mmap.
Also, fix a bug where on windows we wouldn't request enough
space to guarantee that allocation is aligned.
- wtf/OSAllocator.h:
- wtf/posix/OSAllocatorPOSIX.cpp: (WTF::OSAllocator::tryReserveUncommittedAligned):
- wtf/win/OSAllocatorWin.cpp: (WTF::OSAllocator::tryReserveUncommittedAligned):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289592 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:12 PM Changeset in webkit [289771] by
-
- 9 edits in branches/safari-614.1.2-branch/Source
Versioning.
WebKit-7614.1.2.2
- 2:59 PM Changeset in webkit [289770] by
-
- 4 edits in trunk
Enable accelerated drawing in the iOS simulator
https://bugs.webkit.org/show_bug.cgi?id=231828
rdar://problem/84315491
Reviewed by Simon Fraser.
Tools:
- WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
LayoutTests:
- platform/ios/compositing/canvas/accelerated-canvas-compositing-size-limit-expected.txt:
- 2:59 PM Changeset in webkit [289769] by
-
- 6 edits2 adds in trunk/Source/WebCore
Web Inspector: Element tooltips in overlays should use same encodable/decodable Label type as grid overlays
https://bugs.webkit.org/show_bug.cgi?id=235422
Reviewed by Devin Rousso.
The tooltip for elements previously used its own slightly different labels from those used for grid overlays,
which are implemented in such a way to support being sent to the UI process for iOS overlay support. This patch
adds support for the setting different colors for different runs of text along with multi-line labels to allow
the same label to be used for both Grid overlays as well as element tooltips.
The existing
WebCore::InspectorOverlay::Highlight::GridHighlightOverlay::Labelwas moved to
WebCore::InspectorOverlayLabelas it is no longer exclusively used for grids.
With that support, we can now use InspectorOverlayLabel for element tooltips without needing duplicated layout
and drawing code. Additionally, the font used in the tooltip is now consistent with grid labels, where as
previously we used different font families for the grid and element labels.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::drawElementTitle):
(WebCore::InspectorOverlay::drawGridOverlay):
(WebCore::InspectorOverlay::buildGridOverlay):
(WebCore::fontForLayoutLabel): Moved to InspectorOverlayLabel.cpp assystemFont.
(WebCore::backgroundPathForLayoutLabel): Moved to InspectorOverlayLabel.cpp asbackgroundPath.
(WebCore::expectedSizeForLayoutLabel): Moved to InspectorOverlayLabel.cpp asexpectedSize.
(WebCore::drawLayoutLabel): Moved to InspectorOverlayLabel.cpp asdraw.
(WebCore::buildLabel): Deleted.
- inspector/InspectorOverlay.h:
(WebCore::InspectorOverlay::Highlight::GridHighlightOverlay::Label::encode const): Deleted.
(WebCore::InspectorOverlay::Highlight::GridHighlightOverlay::Label::decode): Deleted.
- inspector/InspectorOverlayLabel.cpp: Added.
(WebCore::InspectorOverlayLabel::InspectorOverlayLabel):
(WebCore::systemFont):
(WebCore::backgroundPath):
(WebCore::InspectorOverlayLabel::draw):
- Updated logic to handle multiple strings, including strings containing newlines. Strings are now each
converted to a TextRun, or multiple text runs for multi-line text, each of which is measured to determine the
overall height and width of the label, as well as to later in the drawing code give us the information necessary
to actually draw these strings in the proper locations.
- Use the width of the longest line for drawing the background of the label.
- Iterate through the computed TextRuns and draw the moving to the next line for each index that we had
previously computed to be the start of a new line.
(WebCore::InspectorOverlayLabel::expectedSize):
- Similar to
InspectorOverlayLabel::drawwe need to take in to account multi-line strings, but do not need to
keep the computed TextRuns or their widths, only the width of the longest line and the total number of lines, to
compute the expected size of the contents in a label.
- inspector/InspectorOverlayLabel.h: Added.
(WebCore::InspectorOverlayLabel::Arrow::Arrow):
(WebCore::InspectorOverlayLabel::encode const):
(WebCore::InspectorOverlayLabel::decode):
(WebCore::InspectorOverlayLabel::Arrow::encode const):
(WebCore::InspectorOverlayLabel::Arrow::decode):
(WebCore::InspectorOverlayLabel::Content::encode const):
(WebCore::InspectorOverlayLabel::Content::decode):
- 2:56 PM Changeset in webkit [289768] by
-
- 2 edits in trunk/Source/WebCore
[macOS] Check feature flag before using screen/window picker
https://bugs.webkit.org/show_bug.cgi?id=236596
<rdar://problem/88909015>
Reviewed by Jer Noble.
Tested manually.
- platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm:
(WebCore::screenCaptureKitPickerFeatureEnabled): Check feature flag.
(WebCore::ScreenCaptureKitSharingSessionManager::isAvailable):
- 2:48 PM Changeset in webkit [289767] by
-
- 4 edits in trunk/Source/WebCore
[GPU Process] Implement GraphicsContext::drawLineForText() in terms of GraphicsContext::drawLinesForText()
https://bugs.webkit.org/show_bug.cgi?id=236464
Reviewed by Simon Fraser.
Make GraphicsContext::drawLineForText() non virtual and delete all the
super classes' implementations for this function since it calls the virtual
function drawLinesForText().
- platform/graphics/GraphicsContext.h:
- platform/graphics/NullGraphicsContext.h:
- platform/graphics/displaylists/DisplayListRecorder.h:
- 2:46 PM Changeset in webkit [289766] by
-
- 2 edits in trunk/Source/WebKit
[GPU Process] RemoteImageBufferProxy should not sink itself to an Image or a NativeImage though its backend
https://bugs.webkit.org/show_bug.cgi?id=236484
Reviewed by Simon Fraser.
The purpose of sinkIntoImage() and sinkIntoNativeImage() is to reuse the
pixels of an ImageBuffer to be a NativeImage or an Image which encapsulates
a NativeImage.
But for RemoteImageBufferProxy these functions are meaningless because
the pixels (or the backend) can't be accessed in WebProcess.
So to keep the code in WebCore untouched, these two functions will be
overridden by RemoteImageBufferProxy to call the 'copy' methods. The
'copy' methods use the IPC messages to get a NativeImage from GPUProcess.
- WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
- 2:22 PM Changeset in webkit [289765] by
-
- 2 edits in trunk/LayoutTests
Mark imported/w3c/web-platform-tests/xhr/send-timeout-events.htm as failing on iOS aftet the changes in r289540
https://bugs.webkit.org/show_bug.cgi?id=231337
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 2:22 PM WebKitGTK/2.34.x edited by
- Propose 16k pages for the stable branch (diff)
- 2:18 PM Changeset in webkit [289764] by
-
- 9 edits in trunk/Source
Versioning.
WebKit-7614.1.5
- 2:15 PM Changeset in webkit [289763] by
-
- 12 edits1 copy in trunk/Source
[Live Text] Plumb platform image analysis objects to the web process
https://bugs.webkit.org/show_bug.cgi?id=236535
rdar://88845367
Reviewed by Devin Rousso.
Source/WebCore:
Add a
platformDatamember to TextRecognitionResult, which (whenENABLE(IMAGE_ANALYSIS_ENHANCEMENTS)is
enabled) contains a pointer to VKCImageAnalysis. See WebKit/ChangeLog for more details.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/TextRecognitionResult.h:
Also add new WebKitAdditions extension points around TextRecognitionResult.
(WebCore::TextRecognitionResult::encode const):
(WebCore::TextRecognitionResult::decode):
- platform/cocoa/TextRecognitionResultCocoa.mm:
Source/WebCore/PAL:
Add soft-linking support for VKCImageAnalysis. See WebCore and WebKit ChangeLogs for more detail.
- pal/cocoa/AVFoundationSoftLink.h:
Avoid a build error after shifting around Cocoa unified sources, by removing an unused definition of
AVOutputContextOutputDevicesDidChangeNotification. This definition causes the unified build to break downstream,
when other media-related source files end up importing AVKit headers that try to reference this symbol
(AVOutputContextOutputDevicesDidChangeNotification) but end up expanding the WebKit soft-linking macro instead.
- pal/cocoa/VisionKitCoreSoftLink.h:
- pal/cocoa/VisionKitCoreSoftLink.mm:
Source/WebKit:
Plumb the platform text recognition results object (VKCImageAnalysis) through TextRecognitionResults to the
web process when computing text recognition results for Live Text, and add a few new WebKitAdditions extension
points. In a subsequent patch, we'll use this VKCImageAnalysis on TextRecognitionResults to refactor how we
write Live Text to the system pasteboard when copying.
- Platform/cocoa/TextRecognitionUtilities.mm:
(WebKit::makeTextRecognitionResult):
Set
platformData.
- Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<RetainPtr<VKCImageAnalysis>>::encode):
(IPC::ArgumentCoder<RetainPtr<VKCImageAnalysis>>::decode):
- Shared/WebCoreArgumentCoders.h:
- 1:51 PM Changeset in webkit [289762] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r286560): MediaElement's getStartDate returning an incorrect time
https://bugs.webkit.org/show_bug.cgi?id=236360
<rdar://problem/88786989>
Reviewed by Eric Carlson.
r286560 changed IDL
Dateto useWallTimeinstead of a rawdouble, meaning that
HTMLMediaElement::getStartDatenow did extra processing of theMediaTimereturned by
MediaPlayer::getStartDate.
Unfortunately,
MediaPlayerPrivateAVFoundationObjC::getStartDatereturned aMediaTime
represented in milliseconds (due to two* 1000), even thoughMediaTimeis supposed to be
seconds-based.
As a result, the changes in r286560 inadvertently caused two
* 1000on the same time value.
Covered by existing test (
LayoutTests/http/tests/media/hls/video-controller-getStartDate.html).
Note that the test was marked as[Pass Failure]before r286560.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::getStartDate const):
- 1:12 PM Changeset in webkit [289761] by
-
- 2 edits in trunk/Source/WTF
[Linux/aarch64] Move page size ceiling to 16k
https://bugs.webkit.org/show_bug.cgi?id=236564
Patch by Gustavo Noronha Silva <gustavo@noronha.dev.br> on 2022-02-14
Reviewed by Yusuke Suzuki.
On Apple Silicon, Linux needs to use 16k pages to be as fast as possible. This change has no
visible impact on binary size for release builds, so apply it to all of aarch64 Linux.
- wtf/PageBlock.h:
- 1:10 PM Changeset in webkit [289760] by
-
- 7 edits in trunk
[WebAuthn] Access group not set in add query for importLocalAuthenticatorCredential
https://bugs.webkit.org/show_bug.cgi?id=236469
rdar://problem/88783447
Reviewed by Brent Fulgham.
Source/WebKit:
In Bug 236311 we added support setting accessGroup, but did not properly set it
on the addQuery. This patch fixes that.
Updated API test to use non-standard accessGroup.
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(+[_WKWebAuthenticationPanel importLocalAuthenticatorWithAccessGroup:credential:error:]):
Tools:
Updated API test to use non-standard access group.
- TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements:
- TestWebKitAPI/Configurations/TestWebKitAPI-macOS-internal.entitlements:
- TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements:
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
- 1:09 PM Changeset in webkit [289759] by
-
- 9 edits in branches/safari-614.1.3-branch/Source
Versioning.
WebKit-7614.1.3.1
- 1:09 PM Changeset in webkit [289758] by
-
- 4 edits3 copies1 move8 adds1 delete in trunk/LayoutTests
[GLIB] Update test expectations and baselines. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=236597
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2022-02-14
- platform/glib/TestExpectations:
- platform/glib/imported/w3c/web-platform-tests/css/css-contain/container-queries/counters-flex-circular-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/css/filter-effects/feimage-circular-reference-foreign-object-crash-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/css/filter-effects/feimage-reference-foreign-object-crash-expected.txt: Added.
- platform/gtk/TestExpectations:
- platform/gtk/fast/text/international/bidi-layout-across-linebreak-expected.txt: Copied from LayoutTests/platform/glib/fast/text/international/bidi-layout-across-linebreak-expected.txt.
- platform/gtk/fast/text/international/bidi-override-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt: Copied from LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt.
- platform/wpe/fast/text/international/bidi-layout-across-linebreak-expected.txt: Renamed from LayoutTests/platform/glib/fast/text/international/bidi-layout-across-linebreak-expected.txt.
- platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt.
- 1:05 PM Changeset in webkit [289757] by
-
- 5 edits1 copy2 moves1 add in trunk/Source/WebInspectorUI
Web Inspector: [Flexbox] List flex containers in Layout sidebar
https://bugs.webkit.org/show_bug.cgi?id=235647
<rdar://87886241>
Reviewed by Patrick Angle.
The representation in the Layout details sidebar of the list of flex containers on the page is very similar to the one for grid containers:
a list of nodes identified by selector, with adjacent checkboxes that synchronize state with the visibility of a page overlay, interactive
color swatches to decorate the corresponding overlay, and a button to jump to the node in the DOM Tree view.
Therefore, it makes sense to generalize the code for CSS Grid and reuse it for Flexbox.
This patch extracts a generic
WI.NodeOverlayListSectionfromWI.CSSGridNodeOverlayListSection.
This is subclassed byWI.CSSGridNodeOverlayListSectionandWI.CSSFlexboxSection.
The two rely on the abstract implementations to show/hide overlays, get/set overlay colors, interrogate overlay visibility, and listen to generic overlay show events.
Which particular type of overlay is the target of each panel is determined in
WI.OverlayManager
by the value ofWI.DomNode.layoutContextType, either "flex" or "grid". A node cannot have more than one layout context type.
Where the subclasses differ:
- each section has its own label (obviously).
- the layout for
WI.CSSGridNodeOverlayListSectionincludes a section with settings for the CSS Grid overlay.
- Localizations/en.lproj/localizedStrings.js:
We've received feedback that the latter is more common in web developers' vocabulary when
refering to CSS grids. Adopted the same for the flexbox section empty message.
- UserInterface/Main.html:
- UserInterface/Views/CSSFlexNodeOverlayListSection.js: Added.
(WI.CSSFlexNodeOverlayListSection.prototype.get sectionLabel):
(WI.CSSFlexNodeOverlayListSection):
- UserInterface/Views/CSSGridNodeOverlayListSection.js: Renamed from Source/WebInspectorUI/UserInterface/Views/CSSGridSection.js.
(WI.CSSGridNodeOverlayListSection.prototype.get sectionLabel):
(WI.CSSGridNodeOverlayListSection.prototype.initialLayout):
(WI.CSSGridNodeOverlayListSection):
The layout ofWI.CSSFlexNodeOverlayListSectionincludes a set of options to configure the CSS Grid overlay.
- UserInterface/Views/LayoutDetailsSidebarPanel.css:
(.details-section:is(.layout-css-flexbox, .layout-css-grid):not(.collapsed) > .content,):
(.details-section.layout-css-grid > .content > .group > .row > .css-grid-section): Deleted.
(.details-section.layout-css-grid:not(.collapsed) > .content,): Deleted.
- UserInterface/Views/LayoutDetailsSidebarPanel.js:
(WI.LayoutDetailsSidebarPanel):
(WI.LayoutDetailsSidebarPanel.prototype.attached):
(WI.LayoutDetailsSidebarPanel.prototype.initialLayout):
(WI.LayoutDetailsSidebarPanel.prototype.layout):
(WI.LayoutDetailsSidebarPanel.prototype._handleLayoutContextTypeChanged):
(WI.LayoutDetailsSidebarPanel.prototype._refreshNodeSets):
(WI.LayoutDetailsSidebarPanel.prototype._refreshGridNodeSet): Deleted.
Added Flexbox section to Layout details sidebar.
- UserInterface/Views/NodeOverlayListSection.css: Renamed from Source/WebInspectorUI/UserInterface/Views/CSSGridSection.css.
(.node-overlay-list-section):
(.node-overlay-list-section > .node-overlay-list):
(.node-overlay-list-section > .node-overlay-list > li > .node-overlay-list-item-container):
(.node-overlay-list-section > .node-overlay-list > li > .node-overlay-list-item-container > label):
(.node-overlay-list-section > .node-overlay-list > li > .node-overlay-list-item-container > label > .node-display-name):
(.node-overlay-list-section > .node-overlay-list > li > .node-overlay-list-item-container > :is(.go-to-arrow, .inline-swatch)):
(.node-overlay-list-section > .node-overlay-list > li > .node-overlay-list-item-container:not(:hover) > .go-to-arrow):
(.node-overlay-list-section > .heading,):
(.node-overlay-list-section > .heading > label > .toggle-all):
(.node-overlay-list-section :is(.setting-editor, .node-overlay-list-item-container, .heading) input[type="checkbox"]):
A full-on replacement of.css-grid-sectionwith.node-overlay-list-sectionsince the two sections share the same styles.
- UserInterface/Views/NodeOverlayListSection.js: Copied from Source/WebInspectorUI/UserInterface/Views/CSSGridSection.js.
(WI.NodeOverlayListSection):
(WI.NodeOverlayListSection.prototype.set nodeSet):
(WI.NodeOverlayListSection.prototype.get sectionLabel):
(WI.NodeOverlayListSection.prototype.attached):
(WI.NodeOverlayListSection.prototype.detached):
(WI.NodeOverlayListSection.prototype.initialLayout):
(WI.NodeOverlayListSection.prototype.layout):
(WI.NodeOverlayListSection.prototype._handleOverlayStateChanged):
(WI.NodeOverlayListSection.prototype._handleToggleAllCheckboxChanged):
(WI.NodeOverlayListSection.prototype._updateToggleAllCheckbox):
Removed all the specific implementations for CSS Grid after generalizing them intoWI.NodeOverlayListSection.
- 12:57 PM Changeset in webkit [289756] by
-
- 3 edits in trunk/Tools
[EWS] Rebase PRs on tip of branch (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=236389
<rdar://problem/88705147>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(CleanGitRepo.run): Squash
git rebase --aborterrors.
- CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247229@main
- 12:49 PM Changeset in webkit [289755] by
-
- 4 edits2 adds in branches/safari-613-branch
Cherry-pick r289686. rdar://problem/88689388
contain:contentbreaks fullscreen
https://bugs.webkit.org/show_bug.cgi?id=236470
<rdar://88689388>
Reviewed by Simon Fraser.
Source/WebCore:
Paint/layout containment forms a containing block for fixed positioned block boxes. It makes all fixed
positioned descendants anchored (contained) to this layout container.
This patch enables fullscreen boxes break out of this non-ICB based layout scope (this is similar to what we
do for other, "layout scope changing" properties, see canContainFixedPositionObjects).
Test: fullscreen/fullscreen-prevented-by-containment.html
- css/fullscreen.css: (:-webkit-full-screen-ancestor:not(iframe)):
- css/parser/CSSParserContext.cpp: (WebCore::CSSParserContext::CSSParserContext):
LayoutTests:
- fullscreen/fullscreen-prevented-by-containment-expected.txt: Added.
- fullscreen/fullscreen-prevented-by-containment.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:49 PM Changeset in webkit [289754] by
-
- 5 edits4 deletes in branches/safari-613-branch
Cherry-pick r289682. rdar://problem/88843567
Unreviewed, reverting r289498.
https://bugs.webkit.org/show_bug.cgi?id=236534
Speedometer2 2% regression
Reverted changeset:
"Dialog element only animates once"
https://bugs.webkit.org/show_bug.cgi?id=236274
https://commits.webkit.org/r289498
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:49 PM Changeset in webkit [289753] by
-
- 5 edits in branches/safari-613-branch/Source
Cherry-pick r289658. rdar://problem/88678598
Regression(r287684) Microsoft teams meeting URLs fail to open the app
https://bugs.webkit.org/show_bug.cgi?id=236516
<rdar://88678598>
Reviewed by Geoffrey Garen.
Add a quirk for Microsoft teams.
Source/WebCore:
- page/Quirks.cpp: (WebCore::Quirks::shouldAllowNavigationToCustomProtocolWithoutUserGesture):
- page/Quirks.h:
Source/WebKit:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::decidePolicyForNavigationAction):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:29 PM Changeset in webkit [289752] by
-
- 2 edits in trunk/Tools
run-jsc-stress-tests reports "in `<module:URI>': uninitialized class variable @@schemes in URI (NameError)" with Ruby 3.1
https://bugs.webkit.org/show_bug.cgi?id=236281
Reviewed by Yusuke Suzuki.
Ruby 3.1.0 removed @@schemes and added URI.register_scheme.
- Scripts/run-jsc-stress-tests: Added
register_schemeclass
method if not exists. Use the register_scheme method for ssh.
- 12:12 PM Changeset in webkit [289751] by
-
- 2 edits in trunk/Source/WebCore
Add a centerControlsBar in InlineMediaControls
https://bugs.webkit.org/show_bug.cgi?id=236575
Reviewed by Jer Noble.
When a subclass of
InlineMediaControlsimplements_centerContainerButtons()
to return a list of elements, a control bar will be added as a child of the
media-controls element.
No behavior change so far.
- Modules/modern-media-controls/controls/inline-media-controls.js:
(InlineMediaControls):
(InlineMediaControls.prototype.layout):
(InlineMediaControls.prototype._centerContainerButtons):
- 11:57 AM Changeset in webkit [289750] by
-
- 5 edits4 deletes in branches/safari-613.1.17.1-branch
Cherry-pick r289682. rdar://problem/88843567
Unreviewed, reverting r289498.
https://bugs.webkit.org/show_bug.cgi?id=236534
Speedometer2 2% regression
Reverted changeset:
"Dialog element only animates once"
https://bugs.webkit.org/show_bug.cgi?id=236274
https://commits.webkit.org/r289498
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:57 AM Changeset in webkit [289749] by
-
- 4 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289686. rdar://problem/88689388
contain:contentbreaks fullscreen
https://bugs.webkit.org/show_bug.cgi?id=236470
<rdar://88689388>
Reviewed by Simon Fraser.
Source/WebCore:
Paint/layout containment forms a containing block for fixed positioned block boxes. It makes all fixed
positioned descendants anchored (contained) to this layout container.
This patch enables fullscreen boxes break out of this non-ICB based layout scope (this is similar to what we
do for other, "layout scope changing" properties, see canContainFixedPositionObjects).
Test: fullscreen/fullscreen-prevented-by-containment.html
- css/fullscreen.css: (:-webkit-full-screen-ancestor:not(iframe)):
- css/parser/CSSParserContext.cpp: (WebCore::CSSParserContext::CSSParserContext):
LayoutTests:
- fullscreen/fullscreen-prevented-by-containment-expected.txt: Added.
- fullscreen/fullscreen-prevented-by-containment.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:57 AM Changeset in webkit [289748] by
-
- 5 edits4 deletes in branches/safari-613.1.17.0-branch
Cherry-pick r289682. rdar://problem/88843567
Unreviewed, reverting r289498.
https://bugs.webkit.org/show_bug.cgi?id=236534
Speedometer2 2% regression
Reverted changeset:
"Dialog element only animates once"
https://bugs.webkit.org/show_bug.cgi?id=236274
https://commits.webkit.org/r289498
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:57 AM Changeset in webkit [289747] by
-
- 5 edits in branches/safari-613.1.17.1-branch/Source
Cherry-pick r289658. rdar://problem/88678598
Regression(r287684) Microsoft teams meeting URLs fail to open the app
https://bugs.webkit.org/show_bug.cgi?id=236516
<rdar://88678598>
Reviewed by Geoffrey Garen.
Add a quirk for Microsoft teams.
Source/WebCore:
- page/Quirks.cpp: (WebCore::Quirks::shouldAllowNavigationToCustomProtocolWithoutUserGesture):
- page/Quirks.h:
Source/WebKit:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::decidePolicyForNavigationAction):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:57 AM Changeset in webkit [289746] by
-
- 4 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289686. rdar://problem/88689388
contain:contentbreaks fullscreen
https://bugs.webkit.org/show_bug.cgi?id=236470
<rdar://88689388>
Reviewed by Simon Fraser.
Source/WebCore:
Paint/layout containment forms a containing block for fixed positioned block boxes. It makes all fixed
positioned descendants anchored (contained) to this layout container.
This patch enables fullscreen boxes break out of this non-ICB based layout scope (this is similar to what we
do for other, "layout scope changing" properties, see canContainFixedPositionObjects).
Test: fullscreen/fullscreen-prevented-by-containment.html
- css/fullscreen.css: (:-webkit-full-screen-ancestor:not(iframe)):
- css/parser/CSSParserContext.cpp: (WebCore::CSSParserContext::CSSParserContext):
LayoutTests:
- fullscreen/fullscreen-prevented-by-containment-expected.txt: Added.
- fullscreen/fullscreen-prevented-by-containment.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:57 AM Changeset in webkit [289745] by
-
- 5 edits in branches/safari-613.1.17.0-branch/Source
Cherry-pick r289658. rdar://problem/88678598
Regression(r287684) Microsoft teams meeting URLs fail to open the app
https://bugs.webkit.org/show_bug.cgi?id=236516
<rdar://88678598>
Reviewed by Geoffrey Garen.
Add a quirk for Microsoft teams.
Source/WebCore:
- page/Quirks.cpp: (WebCore::Quirks::shouldAllowNavigationToCustomProtocolWithoutUserGesture):
- page/Quirks.h:
Source/WebKit:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::decidePolicyForNavigationAction):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:48 AM Changeset in webkit [289744] by
-
- 9 edits in branches/safari-613.1.17.1-branch/Source
Versioning.
WebKit-7613.1.17.1.2
- 11:29 AM Changeset in webkit [289743] by
-
- 9 edits in branches/safari-613.1.17.0-branch/Source
Versioning.
WebKit-7613.1.17.0.2
- 11:05 AM Changeset in webkit [289742] by
-
- 16 edits1 copy1 add in trunk
[CSS Container Queries] Implement full query parser and evaluator
https://bugs.webkit.org/show_bug.cgi?id=236580
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-for-shadow-dom.tentative-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-type-invalidation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/query-evaluation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/size-feature-evaluation-expected.txt:
Source/WebCore:
So far we have been using the media query parser to parse container queries.
It does not support nesting and other necessary features. Also the produced data
structures are awkward to evaluate.
https://drafts.csswg.org/css-contain-3/#container-rule
This patch supports size queries but not style queries. It supports both the current spec
size query syntax "size(foo)" (used in WPTs), and the non-function POR syntax from
https://github.com/w3c/csswg-drafts/issues/6870#issuecomment-1022430911.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/ContainerQuery.h:
- css/ContainerQueryParser.cpp: Added.
(WebCore::ContainerQueryParser::parse):
(WebCore::ContainerQueryParser::consumeContainerQuery):
(WebCore::ContainerQueryParser::consumeCondition):
(WebCore::ContainerQueryParser::consumeSizeQuery):
No support for range operators ('<' etc) yet.
- css/ContainerQueryParser.h: Copied from Source/WebCore/css/ContainerQuery.h.
(WebCore::ContainerQueryParser::ContainerQueryParser):
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeContainerRule):
- style/ContainerQueryEvaluator.cpp:
(WebCore::Style::computeSize):
(WebCore::Style::ContainerQueryEvaluator::evaluate const):
(WebCore::Style::ContainerQueryEvaluator::evaluateQuery const):
(WebCore::Style::ContainerQueryEvaluator::evaluateCondition const):
(WebCore::Style::ContainerQueryEvaluator::evaluateSizeFeature const):
Just 'width' and 'height' for now, no new size features yet.
- style/ContainerQueryEvaluator.h:
LayoutTests:
- 10:47 AM Changeset in webkit [289741] by
-
- 1 copy in branches/safari-614.1.4-branch
New branch.
- 10:39 AM Changeset in webkit [289740] by
-
- 3 edits in trunk/Source/JavaScriptCore
CallLinkInfo::emitFastPathImpl() should avoid external scratch register use on RISCV64
https://bugs.webkit.org/show_bug.cgi?id=236064
Patch by Zan Dobersek <zdobersek@igalia.com> on 2022-02-14
Reviewed by Yusuke Suzuki.
Avoid external scratch register usage in CallLinkInfo::emitFastPathImpl()
for RISCV64 since the scratch register ends up having to be used in the
branchTestPtr implementation of RISCV64's MacroAssembler.
The RISCV64-specific alternative is to suffer resolving and loading from
the callee address for both branching operations. Other platforms
continue to operate with the external scratch register as they either
use a wider set of scratch registers or don't even have to use scratch
registers for the load and branching operations used here.
- assembler/CPU.h: Add isRISCV64(). Also impose a more sensible order.
(JSC::isMIPS):
(JSC::isRISCV64):
- bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::emitFastPathImpl):
- 9:58 AM Changeset in webkit [289739] by
-
- 7 edits in trunk/Source
[WebAuthn] Modify _WKWebAuthenticationAssertionResponse according to internal needs
https://bugs.webkit.org/show_bug.cgi?id=236369
rdar://88585811
Reviewed by Brent Fulgham.
Source/WebCore:
This patch modifies AuthenticatorAssertionResponse with additional
fields and populates them according to internal needs.
- Modules/webauthn/AuthenticatorAssertionResponse.h:
(WebCore::AuthenticatorAssertionResponse::group const):
(WebCore::AuthenticatorAssertionResponse::synchronizable const):
(WebCore::AuthenticatorAssertionResponse::setGroup):
(WebCore::AuthenticatorAssertionResponse::setSynchronizable):
Source/WebKit:
This patch modifies the _WKWebAuthenticationAssertionResponse API object with additional
fields and populates them according to internal needs.
- UIProcess/API/APIWebAuthenticationAssertionResponse.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.mm:
(-[_WKWebAuthenticationAssertionResponse synchronizable]):
(-[_WKWebAuthenticationAssertionResponse group]):
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(groupForAttributes):
(WebKit::LocalAuthenticatorInternal::getExistingCredentials):
- 9:07 AM Changeset in webkit [289738] by
-
- 7 edits in trunk
Don't perform layout in WKBundlePagePostSynchronousMessageForTesting
https://bugs.webkit.org/show_bug.cgi?id=236579
Reviewed by Brady Eidson.
This turned out to be a problem for bug 22722, which introduced the WithLayout::No workaround.
r188793 introduced this layoutIfNeeded call specifically for UI event messages, so only perform the
layout in that specific case. Also remove the workaround introduced in bug 22722.
Source/WebKit:
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePagePostSynchronousMessageForTesting):
(WKBundlePageLayoutIfNeeded):
(WKBundlePagePostSynchronousMessageForTestingWithoutLayout): Deleted.
- WebProcess/InjectedBundle/API/c/WKBundlePage.h:
Tools:
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- WebKitTestRunner/InjectedBundle/InjectedBundle.h:
(WTR::postSynchronousPageMessage):
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::postSynchronousPageMessageWithReturnValue):
(WTR::TestRunner::grantWebNotificationPermission):
(WTR::TestRunner::denyWebNotificationPermission):
- 7:28 AM Changeset in webkit [289737] by
-
- 3 edits in trunk/Tools
[EWS] Re-enable build retry for PRs
https://bugs.webkit.org/show_bug.cgi?id=236300
<rdar://problem/88628832>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.analyzeResults): Enable retry for PRs with failing builds.
(CleanGitRepo.run): Abort any failed rebases.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247222@main
- 7:19 AM Changeset in webkit [289736] by
-
- 3 edits2 adds in trunk
Nullptr crash in CompositeEditCommand::splitTreeToNode via InsertParagraphSeparatorCommand::doApply
https://bugs.webkit.org/show_bug.cgi?id=229283
Patch by Frédéric Wang <fwang@igalia.com> on 2022-02-14
Reviewed by Ryosuke Niwa.
Source/WebCore:
Position::upstream handles edge cases like tables specially which can lead to
InsertParagraphSeparatorCommand::doApply incorrectly expecting a next sibling after a text
node at last position in order to perform a split. This patch works around that by ignoring
the split in that case.
Test: editing/inserting/insert-paragraph-separator-with-inline-table-bold-crash.html
- editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply): Only try and remove remaining nodes if
splitTo is not null. moveRemainingSiblingsToNewParent will be a no-op when n is null. Also
switch from raw pointers to RefPtr<Node>.
LayoutTests:
Add regression test.
- editing/inserting/insert-paragraph-separator-with-inline-table-bold-crash-expected.txt: Added.
- editing/inserting/insert-paragraph-separator-with-inline-table-bold-crash.html: Added.
- 6:42 AM Changeset in webkit [289735] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Fix fast/inline/hidpi-outline-auto-with-border-radius-vertical-rtl.html
https://bugs.webkit.org/show_bug.cgi?id=236572
Reviewed by Antti Koivisto.
adjustVisualGeometryForDisplayBox needs the line's logical top (which is turned into visual inside
at (lineBoxLogicalTop + logicalRect.top())).
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.h:
- 6:37 AM Changeset in webkit [289734] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Fix fast/block/float/float-with-fractional-height-vertical-lr.html
https://bugs.webkit.org/show_bug.cgi?id=236576
Reviewed by Antti Koivisto.
Let's translate the incoming float boxes' visual coordinates to logical for line layout.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::prepareFloatingState):
- 6:06 AM Changeset in webkit [289733] by
-
- 4 edits2 adds in trunk/LayoutTests
[model] refactor model document tests to use a shared testing function
https://bugs.webkit.org/show_bug.cgi?id=236578
Reviewed by Dean Jackson.
Add a new model_document_test function that both model document tests can use
to get the document loaded inside the iframe.
- http/tests/model/model-document-interactive-expected.txt:
- http/tests/model/model-document-interactive.html:
- http/tests/model/model-document.html:
- http/tests/model/resources/model-document.js: Added.
(const.model_document_test):
- 6:03 AM Changeset in webkit [289732] by
-
- 13 edits in trunk
Animation from "scale()" to "scale() translate()" does not yield the expected result
https://bugs.webkit.org/show_bug.cgi?id=222595
<rdar://problem/74926700>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-transforms/animation/list-interpolation-expected.txt: Mark tests as passing.
- web-platform-tests/css/css-transforms/animation/transform-interpolation-001-expected.txt:
- web-platform-tests/css/css-transforms/animation/transform-interpolation-003-expected.txt:
Source/WebCore:
No new tests. This is covered by existing WPT tests.
When blending two transform lists, where one list is longer than the other, extending the
shorter list with identity transform functions. This is the behavior specified in the
CSS Transforms Module Level 2 specification.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::checkForMatchingTransformFunctionLists): Instead of checking each frame
against the first keyframe, collect a list of shared transform primitives and check that each
list has the same number of compatible primitives or a prefix of compatible primitives and is
shorter.
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::getSharedPrimitivesForTransformKeyframes): When the transform operation
lists have different sizes, don't always return false. Instead check that the parts that do exist
have matching primitives.
- platform/graphics/transforms/TransformOperations.cpp:
(WebCore::TransformOperations::operationsMatch const): Only check the transformations in
the shared list size.
(WebCore::TransformOperations::blendByMatchingOperations const): Properly handle when one of the
two operations is null instead of just the toOperation.
LayoutTests:
- compositing/layer-creation/multiple-keyframes-animation-overlap-expected.txt:
- compositing/layer-creation/translate-scale-animation-overlap-expected.txt:
- 5:04 AM Changeset in webkit [289731] by
-
- 2 edits in trunk/Source/WebCore
[GTK][WPE] Avoid mapping attributes when the vector is empty in createImage
https://bugs.webkit.org/show_bug.cgi?id=236521
Patch by Alejandro G. Castro <alex@igalia.com> on 2022-02-14
Reviewed by Žan Doberšek.
We are just refactoring the function to avoid calling the map of
the original vector in case it is empty. Also we changed a double
negative in the isEmpty condition to make it clearer.
No new tests, there are tests checking this code.
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::createImage const):
- 4:20 AM Changeset in webkit [289730] by
-
- 2 edits in trunk/Source/WebCore
Don't throw exception when controls are removed
https://bugs.webkit.org/show_bug.cgi?id=236456
Reviewed by Xabier Rodriguez-Calvar.
In mediaControlsBase.js, when media controls are removed, calling controlsAreHidden() can cause
an exception because the panel has no parentElement.
This patch is authored by Eugene Mutavchi <Ievgen_Mutavchi@comcast.com>
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/775
- Modules/mediacontrols/mediaControlsBase.js: Return false if there's no parent.
- 3:29 AM Changeset in webkit [289729] by
-
- 4 edits in trunk/Source/WebCore
[GTK] [WPE] Fix problem when the buffer object is released before we try to send it to the compositor
https://bugs.webkit.org/show_bug.cgi?id=236520
Patch by Alejandro G. Castro <alex@igalia.com> on 2022-02-14
Reviewed by Žan Doberšek.
There is a layout test failing because the buffer object was
released before the swap buffers method was called and we were
calling the construction of the TextureMapperPlatformLayerDmabuf
with wrong data.
Fixes webgl/1.0.3/conformance/context/context-release-with-workers.html.
- platform/graphics/angle/GraphicsContextGLANGLE.h: Add the
isReleased function to the EGLImageBacking class.
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp: Ditto.
(Nicosia::GCGLANGLELayer::swapBuffersIfNeeded):
- platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::isReleased):
Bail out when the image backing was released.
- 3:20 AM Changeset in webkit [289728] by
-
- 3 edits in trunk/Source/WebCore
[ATSPI] Reduce the size of dbus objects Vectors
https://bugs.webkit.org/show_bug.cgi?id=236581
Reviewed by Adrian Perez de Castro.
Use 3 for root, 1 for hyperlink and 7 for object.
- accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::registerObject):
- accessibility/atspi/AccessibilityAtspi.h: