Timeline
Feb 4, 2022:
- 11:26 PM Changeset in webkit [289152] by
-
- 9 edits in trunk
WeakRef deref can return null instead of undefined
https://bugs.webkit.org/show_bug.cgi?id=235880
Reviewed by Sam Weinig and Alexey Shvayka.
JSTests:
- stress/v8-finalizationregistry-and-weakref.js:
(setTimeout):
Source/JavaScriptCore:
WeakRef#deref should return undefined[1] when a wrapped object is collected.
[1]: https://tc39.es/ecma262/#sec-weakrefderef
- runtime/WeakObjectRefPrototype.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
LayoutTests:
- js/script-tests/weakref-async-is-collected.js:
(async test):
- js/script-tests/weakref-eventually-collects-values.js:
(let.weakRefs.async test):
- js/script-tests/weakref-finalizationregistry.js:
(async test):
- js/script-tests/weakref-microtasks-dont-collect.js:
(async test):
- 10:38 PM Changeset in webkit [289151] by
-
- 5 edits2 adds in trunk
ch unit fallback size doesn't match the spec
https://bugs.webkit.org/show_bug.cgi?id=236073
<rdar://problem/88513297>
Reviewed by Cameron McCormack.
Source/WebCore:
The spec (https://drafts.csswg.org/css-values-4/#ch) says:
In the cases where it is impossible or impractical to determine the measure of the â0â glyph, it must be assumed to be 0.5em wide
Test: fast/text/ch-unit-without-zero-glyph.html
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeUnzoomedNonCalcLengthDouble):
(WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble):
- platform/graphics/Font.cpp:
(WebCore::Font::platformGlyphInit):
- platform/graphics/FontMetrics.h:
(WebCore::FontMetrics::zeroWidth const):
(WebCore::FontMetrics::reset):
LayoutTests:
This can't be a WPT test because it uses an SVG font which we're the only browser to support.
- fast/text/ch-unit-without-zero-glyph-expected.html: Added.
- fast/text/ch-unit-without-zero-glyph.html: Added.
- 10:11 PM Changeset in webkit [289150] by
-
- 2 edits in trunk/Source/WebKit
Don't use adattributiond on iOS
https://bugs.webkit.org/show_bug.cgi?id=236157
Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-04
Reviewed by John Wilander.
It is still having configuration issues such as rdar://88334217
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
(WebKit::WebsiteDataStoreConfiguration::WebsiteDataStoreConfiguration):
- 9:32 PM Changeset in webkit [289149] by
-
- 9 edits in trunk/Source/WebCore
Update MediaStreamTrack understanding of source type
https://bugs.webkit.org/show_bug.cgi?id=236165
<rdar://problem/88513632>
Reviewed by Jer Noble.
Before bug 235838, RealtimeMediaSource::Type was either Audio or Video. That bug
added new types for screen, window, and system audio capture, but MediaStreamTrack
wasn't updated to account for them. Instead of checking a source's type, use the new
hasAudioand 'hasVideo` methods.
No new tests, covered by existing tests.
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::getAudioTracks const):
(WebCore::MediaStream::getVideoTracks const):
(WebCore::MediaStream::filteredTracks const):
(WebCore::MediaStream::trackVectorForType const): Deleted.
- Modules/mediastream/MediaStream.h:
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::MediaStreamTrack):
(WebCore::MediaStreamTrack::~MediaStreamTrack):
(WebCore::MediaStreamTrack::kind const):
(WebCore::MediaStreamTrack::setContentHint):
(WebCore::MediaStreamTrack::trackEnded):
(WebCore::MediaStreamTrack::isCapturingAudio const):
- Modules/mediastream/MediaStreamTrack.h:
(WebCore::MediaStreamTrack::hasVideo const):
(WebCore::MediaStreamTrack::hasAudio const):
- platform/mediastream/MediaStreamTrackPrivate.h:
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::setType):
- platform/mediastream/RealtimeMediaSource.h:
- platform/mediastream/cocoa/DisplayCaptureSourceCocoa.cpp:
(WebCore::sourceTypeForDevice):
(WebCore::DisplayCaptureSourceCocoa::DisplayCaptureSourceCocoa): Set the correct
source type.
- 8:04 PM Changeset in webkit [289148] by
-
- 2 edits in trunk/Source/WTF
Make isNaNConstExpr actually constexpr
https://bugs.webkit.org/show_bug.cgi?id=236162
Reviewed by Darin Adler.
- wtf/MathExtras.h:
(WTF::isNaNConstExpr): Add missing constexpr.
- 7:30 PM Changeset in webkit [289147] by
-
- 7 edits in trunk/Source/WebKit
[AX] Stop creating sandbox extensions for preference services
https://bugs.webkit.org/show_bug.cgi?id=232956
<rdar://problem/85260698>
Reviewed by Geoffrey Garen.
Stop creating sandbox extensions for preference services when AX is enabled. There have been many code changes
related to updating AX preferences in the WebContent process, which is why we think this is not needed anymore.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::registerNotificationObservers):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- WebProcess/com.apple.WebProcess.sb.in:
- 6:54 PM Changeset in webkit [289146] by
-
- 9 edits in trunk/Source/WebKit
Lay the groundwork for markLayersVolatileImmediatelyIfPossible() being an asynchronous operation
https://bugs.webkit.org/show_bug.cgi?id=236034
Reviewed by Tim Horton.
With DOM rendering in the GPU Process, markLayersVolatileImmediatelyIfPossible() will need
to do IPC to mark surfaces volatile, and we want that to be async IPC. So change the plumbing from
WebPage to RemoteLayerBackingStoreCollection to be callback-based, with a completion handler.
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::tryMarkAllBackingStoreVolatile):
(WebKit::RemoteLayerBackingStoreCollection::markAllBackingStoreVolatileImmediatelyIfPossible): Deleted.
- WebProcess/WebPage/DrawingArea.cpp:
(WebKit::DrawingArea::tryMarkLayersVolatile):
- WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::markLayersVolatileImmediatelyIfPossible): Deleted.
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::tryMarkLayersVolatile):
(WebKit::RemoteLayerTreeDrawingArea::markLayersVolatileImmediatelyIfPossible): Deleted.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::tryMarkLayersVolatile):
(WebKit::WebPage::layerVolatilityTimerFired):
(WebKit::WebPage::markLayersVolatile):
(WebKit::WebPage::markLayersVolatileOrRetry):
(WebKit::WebPage::tryMarkLayersVolatileCompletionHandler):
(WebKit::WebPage::markLayersVolatileImmediatelyIfPossible): Deleted.
- WebProcess/WebPage/WebPage.h:
- 5:55 PM Changeset in webkit [289145] by
-
- 2 edits in trunk/Source/bmalloc
[libpas] Use os_unfair_lock instead of spinlock
https://bugs.webkit.org/show_bug.cgi?id=236158
Reviewed by Geoffrey Garen.
os_unfair_lock is very fast while it can properly suspend threads.
A/B test result was neutral on Speedometer2 and JetStream2. So, to
reduce unnecessary CPU spins, let's replace spinlock with os_unfair_lock
if it is supported (if OS is Darwin).
- libpas/src/libpas/pas_config.h:
- 4:51 PM Changeset in webkit [289144] by
-
- 4 edits in trunk/Source/bmalloc
[libpas] allocation failure crash should be PAS_NEVER_INLINE
https://bugs.webkit.org/show_bug.cgi?id=236164
Reviewed by Saam Barati.
We introduce pas_allocation_result_crash_on_error function which can leave OOM crash
information in the crash log. To keep this non-inlined, we annotate it PAS_NEVER_INLINE.
- libpas/src/libpas/pas_allocation_result.h:
(pas_allocation_result_crash_on_error):
- libpas/src/libpas/pas_utils.c:
(pas_panic_on_out_of_memory_error):
- libpas/src/libpas/pas_utils.h:
- 4:48 PM Changeset in webkit [289143] by
-
- 2 edits in trunk/Tools
Add test for the fix in https://bugs.webkit.org/show_bug.cgi?id=235928
https://bugs.webkit.org/show_bug.cgi?id=236152
Patch by Matt Gilligan <matthew_gilligan@apple.com> on 2022-02-04
Reviewed by Tim Horton.
- TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(TestWebKitAPI::TEST):
- 4:28 PM Changeset in webkit [289142] by
-
- 2 edits in trunk/Source/WebCore
[macOS] ScreenCaptureKitCaptureSource only outputs one frame
https://bugs.webkit.org/show_bug.cgi?id=236161
<rdar://problem/88510634>
Reviewed by Jer Noble.
Don't WTFMove() a lambda-captured variable if the lambda will be called again.
- platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:
(WebCore::ScreenCaptureKitCaptureSource::frameAvailableHandler):
- 4:05 PM Changeset in webkit [289141] by
-
- 65 edits in trunk/LayoutTests/imported/w3c
Unreviewed, land missing baseline for Shared Worker test.
Patch by Chris Dumez <Chris Dumez> on 2022-02-04
- web-platform-tests/service-workers/service-worker/claim-shared-worker-fetch.https-expected.txt: Added.
- 3:39 PM Changeset in webkit [289140] by
-
- 19 edits in trunk
REGRESSION(r280077): [GTK] It caused 155 new test failures
https://bugs.webkit.org/show_bug.cgi?id=228153
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2022-02-04
Reviewed by Michael Catanzaro.
Source/WebKit:
Pass the GTKSettingsState in the WebProcessCreationParameters rather
than the WebPageCreationParameters, to ensure the correct GTK settings
are always applied in a new WebProcess.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
- UIProcess/glib/WebProcessPoolGLib.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_appHighlightsVisible):
(WebKit::WebPage::reinitializeWebPage):
- WebProcess/glib/WebProcessGLib.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
Tools:
Move initializeGtkSettings() from the InjectedBundle to the test runner,
since GTK settings are automatically propagated from the UI process to
the web processes.
- WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
(WTR::activateFonts):
(WTR::initializeGtkSettings): Deleted.
- WebKitTestRunner/gtk/main.cpp:
(initializeGtkSettings):
(main):
LayoutTests:
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations: Garden tests that no longer fail.
- platform/gtk/css1/font_properties/font-expected.txt:
- platform/gtk/css1/pseudo/multiple_pseudo_elements-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/css/css-fonts/animations/system-fonts-expected.txt:
- platform/wpe/TestExpectations:
- 3:21 PM Changeset in webkit [289139] by
-
- 9 edits3 adds in trunk
Add PushDatabase
https://bugs.webkit.org/show_bug.cgi?id=234194
Reviewed by Brady Eidson.
Source/WebCore:
This adds a persistence layer for push subscriptions stored in webpushd. The operations
that we support for now are:
- inserting a record (used when subscribing)
- removing a record (used when unsubscribing)
- retrieving a record (used when receiving a push)
- enumerating all records by wake state (used to provide the push service the list of all topics that we are subscribed to by wake state)
There are two basic data types in this data model:
- Subscriptions, which are uniquely identified by (bundleID, serviceWorkerScope). This stores data that is unique to each subscription, e.g. encryption keys and the HTTP endpoint used by the server to send pushes to this subscription.
- SubscriptionSets, which encompass one or more Subscriptions, and are uniquely identified by (bundleID, securityOrigin). This stores state this common to multiple subscriptions, e.g. whether or not all pushes sent by a particular origin should be non-waking.
For instance, suppose webkit.org in Safari has two service worker registrations scoped to
webkit.org/foo and webkit.org/bar. Each registration has successfully registered for push.
This would result in three rows in the database:
- Subscription row identified by (bundleID=safari, scope=webkit.org/foo)
- Subscription row identified by (bundleID=safari, scope=webkit.org/bar)
- SubscriptionSet row identified by (bundleID=safari, securityOrigin=webkit.org)
Both subscriptions (1) and (2) are part of the subscription set (3).
Covered by new API tests.
- Headers.cmake:
- Modules/push-api/PushDatabase.cpp: Added.
(WebCore::PushRecord::isolatedCopy const):
(WebCore::PushRecord::isolatedCopy):
(WebCore::openAndMigrateDatabaseImpl):
(WebCore::openAndMigrateDatabase):
(WebCore::PushDatabase::create):
(WebCore::PushDatabase::PushDatabase):
(WebCore::PushDatabase::~PushDatabase):
(WebCore::PushDatabase::dispatchOnWorkQueue):
(WebCore::PushDatabase::cachedStatementOnQueue):
(WebCore::bindExpirationTime):
(WebCore::expirationTimeFromValue):
(WebCore::completeOnMainQueue):
(WebCore::PushDatabase::insertRecord):
(WebCore::PushDatabase::removeRecordByIdentifier):
(WebCore::makePushRecordFromRow):
(WebCore::PushDatabase::getRecordByTopic):
(WebCore::PushDatabase::getRecordByBundleIdentifierAndScope):
(WebCore::PushDatabase::getIdentifiers):
(WebCore::PushDatabase::getTopicsByWakeState):
- Modules/push-api/PushDatabase.h: Added.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/Logging.h:
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::inMemoryPath):
(WebCore::SQLiteDatabase::open):
- platform/sql/SQLiteDatabase.h:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/PushDatabase.cpp: Added.
(TestWebKitAPI::getTopicsByWakeStateSync):
(TestWebKitAPI::PushDatabaseTest::insertRecord):
(TestWebKitAPI::PushDatabaseTest::removeRecordByRowIdentifier):
(TestWebKitAPI::PushDatabaseTest::getRecordByTopic):
(TestWebKitAPI::PushDatabaseTest::getRecordByBundleIdentifierAndScope):
(TestWebKitAPI::PushDatabaseTest::getRowIdentifiers):
(TestWebKitAPI::PushDatabaseTest::getTopicsByWakeState):
(TestWebKitAPI::operator==):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::makeTemporaryDatabasePath):
(TestWebKitAPI::TEST):
- 2:49 PM Changeset in webkit [289138] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, reverting r289124.
https://bugs.webkit.org/show_bug.cgi?id=236160
Introduced crash
Reverted changeset:
"[macOS][WP] Add telemetry for syscalls used during launch"
https://bugs.webkit.org/show_bug.cgi?id=235865
https://commits.webkit.org/r289124
- 2:17 PM Changeset in webkit [289137] by
-
- 2 edits in trunk/Source/WebKit
[iOS][WP] Block access to syscalls that are only used during launch
https://bugs.webkit.org/show_bug.cgi?id=236102
<rdar://problem/88454893>
Reviewed by Brent Fulgham.
On iOS, block access to 12 Unix syscalls and 4 Mach syscalls after the WebContent process has finished launching.
These syscalls are only used during launch.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- 1:34 PM Changeset in webkit [289136] by
-
- 1 copy in tags/Safari-614.1.2
Tag Safari-614.1.2.
- 1:29 PM Changeset in webkit [289135] by
-
- 6 edits2 deletes in trunk
Unreviewed, reverting r289098.
https://bugs.webkit.org/show_bug.cgi?id=236154
caused some unexpected crashes
Reverted changeset:
"[RenderTreeBuilder] Clean up column spanners when style
change affects containing block"
https://bugs.webkit.org/show_bug.cgi?id=236042
https://commits.webkit.org/r289098
- 11:50 AM Changeset in webkit [289134] by
-
- 19 edits in trunk/Source
Remember whether cached main resources used private relay when considering whether to call _setPrivacyProxyFailClosed
https://bugs.webkit.org/show_bug.cgi?id=236125
Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-04
Reviewed by Geoffrey Garen.
Source/WebCore:
Use an unused bit on disk to remember whether the response was originally received over private relay.
Also, instead of remembering on the main frame's DocumentLoader, remember on the WebProcess.
This makes it so if you enter the same URL twice, which loads from the MemoryCache from different WebCore::Pages, it still remembers.
If you load a different domain, it will load in a different WebProcess anyways, at which point you will not be using the same MemoryCache.
- loader/DocumentLoader.h:
(WebCore::DocumentLoader::setMainResourceWasPrivateRelayed): Deleted.
(WebCore::DocumentLoader::mainResourceWasPrivateRelayed const): Deleted.
Source/WebKit:
- NetworkProcess/NetworkLoadParameters.h:
- NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::retrieveCacheEntry):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::tryStoreAsCacheEntry):
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::makeEntry):
(WebKit::NetworkCache::Cache::store):
(WebKit::NetworkCache::Cache::update):
- NetworkProcess/cache/NetworkCache.h:
- NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::Entry):
(WebKit::NetworkCache::Entry::encodeAsStorageRecord const):
(WebKit::NetworkCache::Entry::decodeStorageRecord):
- NetworkProcess/cache/NetworkCacheEntry.h:
(WebKit::NetworkCache::Entry::privateRelayed const):
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::didReceiveResponse):
(WebKit::NetworkCache::SpeculativeLoad::didFinishLoading):
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
- NetworkProcess/cache/PrefetchCache.cpp:
(WebKit::PrefetchCache::Entry::Entry):
(WebKit::PrefetchCache::store):
- NetworkProcess/cache/PrefetchCache.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::addParametersShared):
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveResponse):
- WebProcess/WebProcess.h:
(WebKit::WebProcess::setHadMainFrameMainResourcePrivateRelayed):
(WebKit::WebProcess::hadMainFrameMainResourcePrivateRelayed const):
- 11:46 AM Changeset in webkit [289133] by
-
- 2 edits in trunk/Tools
Unreviewed, reverting r289067.
https://bugs.webkit.org/show_bug.cgi?id=236149
Broke WinCairo LayoutTests
Reverted changeset:
"REGRESSION(r288878)
webkitpy.layout_tests.controllers.layout_test_finder_legacy_unittest.LayoutTestFinderTests
tests are failing with Windows Python"
https://bugs.webkit.org/show_bug.cgi?id=236043
https://commits.webkit.org/r289067
- 11:36 AM Changeset in webkit [289132] by
-
- 2 edits in trunk/Source/WebCore
[LFC][Integration] Input geometry to layout (BoxGeometry) should be all logical
https://bugs.webkit.org/show_bug.cgi?id=236120
Reviewed by Antti Koivisto.
Now (after adding support for inline base direction), it's clear that BoxGeometry, as input to inline line layout,
should hold logical values only (this is somewhat of a revert of r269818).
It also fixes ~40 tests under imported/w3c/web-platform-tests/css/css-writing-modes.
(WebCore::LayoutIntegration::LineLayout::updateLayoutBoxDimensions): We need logical vs. visual flip based on
in what writing direction the box lives in and not what it establishes for its descendants.
- 11:19 AM Changeset in webkit [289131] by
-
- 4 edits in trunk/Source/WebCore
Cache some expensive AXIsolatedObject properties lazily.
https://bugs.webkit.org/show_bug.cgi?id=236115
<rdar://problem/88467667>
Reviewed by Chris Fleizach.
Some properties can be very expensive to compute for every object, and
may not even be used by the clients. Furthermore
descriptionAttributeValue() and titleAttributeValue() call
textUnderElement() which may crash if it is called in the middle of a
layout. This is the actual cause of
https://bugs.webkit.org/show_bug.cgi?id=220446.
In this patch, we delay the computation and caching of these two
properties until they are first requested. This solves both the wasteful
computation if these properties are not used, and more importantly the
crash in the above mentioned bug.
This is a follow up change to:
https://bugs.webkit.org/show_bug.cgi?id=236053
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::getOrRetrieveStringPropertyValue):
New method to lazily retrieve and cache any String property.
(WebCore::AXIsolatedObject::innerHTML const): Uses getOrRetrieveStringPropertyValue.
(WebCore::AXIsolatedObject::outerHTML const): Dito.
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm:
(WebCore::AXIsolatedObject::initializePlatformProperties):
No longer caches the above mentioned properties.
(WebCore::AXIsolatedObject::descriptionAttributeValue const): Uses getOrRetrieveStringPropertyValue.
(WebCore::AXIsolatedObject::titleAttributeValue const): Dito.
- 10:58 AM Changeset in webkit [289130] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, reverting r289069.
https://bugs.webkit.org/show_bug.cgi?id=236146
Introduced sandbox violation
Reverted changeset:
"[iOS][WP] Enable sandbox state rules for Mach messages"
https://bugs.webkit.org/show_bug.cgi?id=236027
https://commits.webkit.org/r289069
- 10:53 AM Changeset in webkit [289129] by
-
- 14 edits in trunk
[GTK] Crash when starting DND on touchscreen
https://bugs.webkit.org/show_bug.cgi?id=235694
Reviewed by Adrian Perez de Castro.
Source/WebCore:
- page/DragController.cpp:
(WebCore::DragController::startDrag):
Skip drags for touch events on GTK.
- platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::isTouchEvent const):
Source/WebKit:
Drag-n-drop on touch has never worked correctly in GTK, and is usually
just disabled. Do the same thing and ignore it for synthesized mouse
events.
- Shared/NativeWebMouseEvent.h:
- Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
- Shared/WebMouseEvent.cpp:
(WebKit::WebMouseEvent::WebMouseEvent):
(WebKit::WebMouseEvent::encode const):
(WebKit::WebMouseEvent::decode):
- Shared/WebMouseEvent.h:
(WebKit::WebMouseEvent::isTouchEvent const):
- Shared/gtk/NativeWebMouseEventGtk.cpp:
(WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseTouchRelease):
(webkitWebViewBaseTouchDragUpdate):
(webkitWebViewBaseTouchDragEnd):
(webkitWebViewBaseSynthesizeMouseEvent):
- UIProcess/API/gtk/WebKitWebViewBaseInternal.h:
- UIProcess/gtk/PointerLockManager.cpp:
(WebKit::PointerLockManager::handleMotion):
Tools:
- TestWebKitAPI/glib/CMakeLists.txt: Define BUILDING_TestWebKit
- 10:50 AM Changeset in webkit [289128] by
-
- 6 edits in trunk/Source
Revert some structured binding workarounds with Clang
https://bugs.webkit.org/show_bug.cgi?id=236098
Reviewed by Sam Weinig.
Revert structured bindings workarounds made in r288309, r261572, r249524 now that this is fixed in clang.
Source/WebCore:
- Modules/indexeddb/server/MemoryObjectStore.cpp:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
- inspector/agents/InspectorNetworkAgent.cpp:
Source/WebKit:
- NetworkProcess/storage/StorageAreaBase.cpp:
- 10:42 AM Changeset in webkit [289127] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, reverting r289125.
https://bugs.webkit.org/show_bug.cgi?id=236145
Introduced sandbox violation
Reverted changeset:
"[iOS][WP] Block access to syscalls that are only used during
launch"
https://bugs.webkit.org/show_bug.cgi?id=236102
https://commits.webkit.org/r289125
- 10:23 AM Changeset in webkit [289126] by
-
- 1 edit5 adds in trunk/Websites/webkit.org
Add <dialog> element demos for blog post
https://bugs.webkit.org/show_bug.cgi?id=236143
Reviewed by Simon Fraser.
- demos/dialog-element/confirmation-dialog-basic.html: Added.
- demos/dialog-element/confirmation-dialog-form.html: Added.
- demos/dialog-element/dark-theme.css: Added.
(body):
(@media (prefers-color-scheme: dark) dialog):
- demos/dialog-element/styled-dialog.html: Added.
- 10:21 AM Changeset in webkit [289125] by
-
- 2 edits in trunk/Source/WebKit
[iOS][WP] Block access to syscalls that are only used during launch
https://bugs.webkit.org/show_bug.cgi?id=236102
<rdar://problem/88454893>
Reviewed by Brent Fulgham.
On iOS, block access to 12 Unix syscalls and 4 Mach syscalls after the WebContent process has finished launching.
These syscalls are only used during launch.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- 10:19 AM Changeset in webkit [289124] by
-
- 2 edits in trunk/Source/WebKit
[macOS][WP] Add telemetry for syscalls used during launch
https://bugs.webkit.org/show_bug.cgi?id=235865
<rdar://problem/88228583>
Reviewed by Brent Fulgham.
Add telemetry in the WebContent process' sandbox on macOS to determine which syscalls are used only during launch.
- WebProcess/com.apple.WebProcess.sb.in:
- 10:17 AM Changeset in webkit [289123] by
-
- 4 edits in trunk/Source/WebKit
[iOS][macOS] Adjust sysctl sandbox access
https://bugs.webkit.org/show_bug.cgi?id=236082
<rdar://problem/88436174>
Reviewed by Brent Fulgham.
Adjust sysctl sandbox access based on telemetry.
- GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
- 9:26 AM Changeset in webkit [289122] by
-
- 9 edits2 adds in trunk
Gradients don't correctly interpolate missing/none color components correctly
https://bugs.webkit.org/show_bug.cgi?id=236025
Reviewed by Simon Fraser.
Source/WebCore:
Test: fast/gradients/gradient-with-missing-components.html
- platform/graphics/Color.cpp:
(WebCore::Color::anyComponentIsNone const):
- platform/graphics/Color.h:
Add helper to check if any component is 'none'.
- platform/graphics/ColorComponents.h:
(WebCore::operator==):
Update operator== for ColorComponents to be none-aware and treat
two components that are both none as equal.
- platform/graphics/ColorTypes.h:
(WebCore::assertInRange):
(WebCore::constexprIsNaN): Deleted.
Adopt shared version of the constexpr isnan.
- platform/graphics/cg/GradientRendererCG.cpp:
(WebCore::anyComponentIsNone):
(WebCore::GradientRendererCG::pickStrategy const):
(WebCore::GradientRendererCG::makeShading const):
Use the CGShaderRef strategy if any component of any stop is none, as it
is the only one that currently supports it correctly. Ensure none is preserved
by utilizing the unresolved component values. This can be optimized in the
future by preprocessing the color stops to pre-resolve the none components,
even allowing the CGGradientRef path to be used for supported cases.
Source/WTF:
Move isNaNConstExpr to MathExtras.h from WebCore so it can used in multiple places.
- wtf/MathExtras.h:
(WTF::isNaNConstExpr):
LayoutTests:
Add tests of gradients with explicit 'none' components in some of the colors.
- fast/gradients/gradient-with-missing-components-expected.html: Added.
- fast/gradients/gradient-with-missing-components.html: Added.
- 9:06 AM Changeset in webkit [289121] by
-
- 5 edits5 adds in trunk
Fix App Privacy Report redirect attribution
https://bugs.webkit.org/show_bug.cgi?id=236111
Reviewed by Brent Fulgham.
Source/WebCore:
Test: http/tests/app-privacy-report/user-attribution-redirect.html
Test: http/tests/app-privacy-report/app-attribution-redirect.html
- platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
Source/WebKit:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
LayoutTests:
- http/tests/app-privacy-report/resources/redirect.js: Added.
- http/tests/app-privacy-report/app-attribution-redirect-expected.txt: Added.
- http/tests/app-privacy-report/app-attribution-redirect.html: Added.
- http/tests/app-privacy-report/user-attribution-redirect-expected.txt: Added.
- http/tests/app-privacy-report/user-attribution-redirect.html: Added.
- 9:04 AM Changeset in webkit [289120] by
-
- 1 edit1 add in trunk/LayoutTests/imported/w3c
Unreviewed, land missing baseline for Shared Worker test.
- web-platform-tests/service-workers/service-worker/claim-shared-worker-fetch.https-expected.txt: Added.
- 9:02 AM Changeset in webkit [289119] by
-
- 12 edits2 adds in trunk/LayoutTests
Unreviewed, unskip more Shared Worker layout tests on WK2.
LayoutTests/imported/w3c:
- web-platform-tests/content-security-policy/connect-src/shared-worker-connect-src-allowed.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/connect-src/shared-worker-connect-src-blocked.sub-expected.txt: Added.
- web-platform-tests/eventsource/shared-worker/eventsource-close-expected.txt:
- web-platform-tests/eventsource/shared-worker/eventsource-constructor-non-same-origin-expected.txt:
- web-platform-tests/eventsource/shared-worker/eventsource-eventtarget-expected.txt:
- web-platform-tests/eventsource/shared-worker/eventsource-onmessage-expected.txt:
- web-platform-tests/eventsource/shared-worker/eventsource-onopen-expected.txt:
- web-platform-tests/eventsource/shared-worker/eventsource-prototype-expected.txt:
- web-platform-tests/eventsource/shared-worker/eventsource-url-expected.txt:
LayoutTests:
- TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/win/TestExpectations:
- 8:50 AM Changeset in webkit [289118] by
-
- 3 edits in trunk/Tools/buildstream
[Flatpak SDK] Extension points for the Flatpak Sparkle-CDM extension
https://bugs.webkit.org/show_bug.cgi?id=235490
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-04
Reviewed by Adrian Perez de Castro.
Allow Sparkle-CDM extension in Sdk/Platform runtimes. A follow-up patch will add support for
the extension installation.
- elements/flatpak/platform.bst:
- elements/flatpak/sdk.bst:
- 8:41 AM Changeset in webkit [289117] by
-
- 145 edits in trunk/Source/WebCore
[WebIDL] Rename Document / ScriptExecutionContext / GlobalObject values of [*CallWith] to include "Current"
https://bugs.webkit.org/show_bug.cgi?id=236137
Reviewed by Chris Dumez.
Before this change, _current_ realm was kinda an implicit default, which didn't
match all newer standards that use _relevant_ per recommendation for spec authors [1].
Making _relevant_ a default isn't feasible either: there are plenty usages of
[CallWith=GlobalObject] for converting JS values to WebIDL, which are correct,
and some older specs like IndexedDB require it.
Since there is no way for static operations / attributes to acquire a _relevant_
realm, this patch asserts that Relevant* values aren't used with them.
That could probably be expanded for constructors, given their "prototype"s are
unforgeable, yet before doing that we should investigate how other vendors are
handling cross-realm NewTarget.
[1] https://html.spec.whatwg.org/multipage/webappapis.html#realms-settings-objects-global-objects:concept-relevant-everything-2
No new tests, no behavior change.
- Modules/WebGPU/GPUAdapter.idl:
- Modules/applepay/ApplePaySession.idl:
- Modules/applepay/ApplePaySetup.idl:
- Modules/beacon/Navigator+Beacon.idl:
- Modules/cache/WindowOrWorkerGlobalScope+Caches.idl:
- Modules/encryptedmedia/MediaKeyStatusMap.idl:
- Modules/encryptedmedia/MediaKeySystemAccess.idl:
- Modules/encryptedmedia/MediaKeys.idl:
- Modules/encryptedmedia/Navigator+EME.idl:
- Modules/encryptedmedia/legacy/WebKitMediaKeys.idl:
- Modules/entriesapi/DOMFileSystem.idl:
- Modules/entriesapi/FileSystemDirectoryEntry.idl:
- Modules/entriesapi/FileSystemDirectoryReader.idl:
- Modules/entriesapi/FileSystemEntry.idl:
- Modules/entriesapi/FileSystemFileEntry.idl:
- Modules/entriesapi/HTMLInputElement+EntriesAPI.idl:
- Modules/fetch/FetchBody.idl:
- Modules/fetch/FetchRequest.idl:
- Modules/fetch/FetchResponse.idl:
- Modules/indexeddb/IDBCursor.idl:
- Modules/indexeddb/IDBFactory.idl:
- Modules/indexeddb/IDBIndex.idl:
- Modules/indexeddb/IDBKeyRange.idl:
- Modules/indexeddb/IDBObjectStore.idl:
- Modules/mediacapabilities/MediaCapabilities.idl:
- Modules/mediarecorder/MediaRecorder.idl:
- Modules/mediasession/MediaMetadata.idl:
- Modules/mediasession/MediaSessionPlaylistMixin.idl:
- Modules/mediasource/DOMURL+MediaSource.idl:
- Modules/mediasource/MediaSource.idl:
- Modules/mediastream/MediaStream.idl:
- Modules/mediastream/RTCPeerConnection.idl:
- Modules/mediastream/RTCRtpReceiver.idl:
- Modules/mediastream/RTCRtpSFrameTransform.idl:
- Modules/mediastream/RTCRtpScriptTransform.idl:
- Modules/mediastream/RTCRtpScriptTransformer.idl:
- Modules/mediastream/RTCRtpSender.idl:
- Modules/notifications/Notification.idl:
- Modules/paymentrequest/MerchantValidationEvent.idl:
- Modules/paymentrequest/PaymentRequest.idl:
- Modules/paymentrequest/PaymentResponse.idl:
- Modules/push-api/PushManager.idl:
- Modules/push-api/PushMessageData.idl:
- Modules/push-api/PushSubscription.idl:
- Modules/speech/SpeechRecognition.idl:
- Modules/speech/SpeechSynthesisUtterance.idl:
- Modules/streams/WritableStream.idl:
- Modules/streams/WritableStreamSink.idl:
- Modules/webaudio/AudioBuffer.idl:
- Modules/webaudio/AudioContext.idl:
- Modules/webaudio/AudioWorkletNode.idl:
- Modules/webaudio/AudioWorkletProcessor.idl:
- Modules/webaudio/BaseAudioContext.idl:
- Modules/webaudio/IIRFilterNode.idl:
- Modules/webaudio/OfflineAudioContext.idl:
- Modules/webauthn/PublicKeyCredential.idl:
- Modules/websockets/WebSocket.idl:
- Modules/webxr/WebXRFrame.idl:
- Modules/webxr/WebXRSystem.idl:
- animation/Animatable.idl:
- animation/DocumentTimeline.idl:
- animation/KeyframeEffect.idl:
- bindings/scripts/CodeGenerator.pm:
(ExtendedAttributeContains):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateAttributeGetterBodyDefinition):
(GenerateCallWith):
(GenerateParametersCheck):
- bindings/scripts/IDLAttributes.json:
- bindings/scripts/test/JS/*: Updated.
- bindings/scripts/test/TestInterface.idl:
- bindings/scripts/test/TestLegacyFactoryFunction.idl:
- bindings/scripts/test/TestMixinInterface.idl:
- bindings/scripts/test/TestObj.idl:
- bindings/scripts/test/TestPromiseRejectionEvent.idl:
- bindings/scripts/test/TestSupplemental.idl:
- crypto/SubtleCrypto.idl:
- css/DOMCSSNamespace+CSSPainting.idl:
- css/DOMCSSNamespace+CSSPropertiesandValues.idl:
- css/DOMCSSNamespace.idl:
- css/DOMMatrix.idl:
- css/DOMMatrixReadOnly.idl:
- css/FontFace.idl:
- css/FontFaceSet.idl:
- dom/AbortController.idl:
- dom/AbortSignal.idl:
- dom/BroadcastChannel.idl:
- dom/Comment.idl:
- dom/DataTransfer.idl:
- dom/DataTransferItem.idl:
- dom/DeviceMotionEvent.idl:
- dom/DeviceOrientationEvent.idl:
- dom/Document.idl:
- dom/DocumentFragment.idl:
- dom/Element.idl:
- dom/ErrorEvent.idl:
- dom/EventTarget.idl:
- dom/MessageChannel.idl:
- dom/MessagePort.idl:
- dom/MouseEvent.idl:
- dom/Range.idl:
- dom/Text.idl:
- fileapi/Blob.idl:
- fileapi/File.idl:
- fileapi/FileReader.idl:
- fileapi/FileReaderSync.idl:
- html/DOMURL.idl:
- html/HTMLAudioElement.idl:
- html/HTMLCanvasElement.idl:
- html/HTMLFrameElement.idl:
- html/HTMLImageElement.idl:
- html/HTMLOptionElement.idl:
- html/HTMLOutputElement.idl:
- html/MediaController.idl:
- html/OffscreenCanvas.idl:
- html/track/DataCue.idl:
- html/track/TextTrackCue.idl:
- html/track/VTTCue.idl:
- html/track/VTTRegion.idl:
- inspector/CommandLineAPIHost.idl:
- inspector/InspectorAuditAccessibilityObject.idl:
- inspector/InspectorAuditResourcesObject.idl:
- page/DOMWindow.idl:
- page/EventSource.idl:
- page/IntersectionObserver.idl:
- page/NavigatorServiceWorker.idl:
- page/NavigatorShare.idl:
- page/Performance+UserTiming.idl:
- page/PerformanceMark.idl:
- page/PerformanceMeasure.idl:
- page/PerformanceObserver.idl:
- page/RemoteDOMWindow.idl:
- page/ResizeObserver.idl:
- page/WindowOrWorkerGlobalScope.idl:
- testing/Internals.idl:
- testing/ServiceWorkerInternals.idl:
- testing/WebXRTest.idl:
- workers/DedicatedWorkerGlobalScope.idl:
- workers/Worker.idl:
- workers/service/FetchEvent.idl:
- workers/service/ServiceWorker.idl:
- workers/service/ServiceWorkerClient.idl:
- workers/service/ServiceWorkerClients.idl:
- workers/service/ServiceWorkerRegistration.idl:
- workers/shared/SharedWorker.idl:
- worklets/PaintWorkletGlobalScope.idl:
- xml/DOMParser.idl:
- xml/XMLHttpRequest.idl:
- 8:35 AM Changeset in webkit [289116] by
-
- 48 edits32 copies11 moves46 adds22 deletes in trunk
Fix WPT test importer and resync web-platform-tests/workers from upstream
https://bugs.webkit.org/show_bug.cgi?id=236101
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Resync web-platform-tests/workers from upstream a9f3552a2b771569201879ef1.
- resources/import-expectations.json:
- resources/resource-files.json:
- web-platform-tests/workers: Updated.
Tools:
Fix WPT test importer because:
- It wasn't creating tests with sharedworker.html suffix for .js tests with:
- META: global=sharedworker
- META: global=worker
- It was wrongly creating tests with a serviceworker.html suffix for .js tests with:
- META: global=dedicatedworker
- META without a global (upstream WPT only generates a .html and .worker.html in such case)
- Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.init):
(TestImporter.readEnvironmentsForTemplateTest):
LayoutTests:
- 8:20 AM Changeset in webkit [289115] by
-
- 2 edits3 deletes in trunk/LayoutTests
Unreviewed, drop badly imported test due to WPT importer bug getting fixed in Bug 236101.
LayoutTests/imported/w3c:
- web-platform-tests/css/filter-effects/idlharness.any.serviceworker-expected.txt: Removed.
- web-platform-tests/css/filter-effects/idlharness.any.serviceworker.html: Removed.
LayoutTests:
- platform/ios-wk2/imported/w3c/web-platform-tests/css/filter-effects/idlharness.any.serviceworker-expected.txt: Removed.
- 8:06 AM Changeset in webkit [289114] by
-
- 2 edits7 adds in trunk/Source/WebKit
Import APSConnection-related SPI
https://bugs.webkit.org/show_bug.cgi?id=235856
Reviewed Youenn Fablet.
This imports the SPI declarations necessary to build against ApplePushService in WebKit. It
also includes a PushServiceConnection interface that can sit in front of APSConnection, and
a fake interface that will be fleshed out for testing purposes.
- Platform/spi/Cocoa/ApplePushServiceSPI.h: Added.
- WebKit.xcodeproj/project.pbxproj:
- webpushd/ApplePushServiceConnection.h: Added.
- webpushd/ApplePushServiceConnection.mm: Added.
(-[_WKAPSConnectionDelegate initWithConnection:]):
(-[_WKAPSConnectionDelegate connection:didReceivePublicToken:]):
(-[_WKAPSConnectionDelegate connection:didReceiveIncomingMessage:]):
(WebPushD::ApplePushServiceConnection::ApplePushServiceConnection):
(WebPushD::makeTokenInfo):
(WebPushD::ApplePushServiceConnection::subscribe):
(WebPushD::ApplePushServiceConnection::unsubscribe):
(WebPushD::ApplePushServiceConnection::enabledTopics):
(WebPushD::ApplePushServiceConnection::ignoredTopics):
(WebPushD::ApplePushServiceConnection::opportunisticTopics):
(WebPushD::ApplePushServiceConnection::nonWakingTopics):
(WebPushD::ApplePushServiceConnection::setEnabledTopics):
(WebPushD::ApplePushServiceConnection::setIgnoredTopics):
(WebPushD::ApplePushServiceConnection::setOpportunisticTopics):
(WebPushD::ApplePushServiceConnection::setNonWakingTopics):
(WebPushD::ApplePushServiceConnection::setTopicLists):
- webpushd/MockPushServiceConnection.h: Added.
- webpushd/MockPushServiceConnection.mm: Added.
(WebPushD::MockPushServiceConnection::MockPushServiceConnection):
(WebPushD::MockPushServiceConnection::subscribe):
(WebPushD::MockPushServiceConnection::unsubscribe):
(WebPushD::MockPushServiceConnection::enabledTopics):
(WebPushD::MockPushServiceConnection::ignoredTopics):
(WebPushD::MockPushServiceConnection::opportunisticTopics):
(WebPushD::MockPushServiceConnection::nonWakingTopics):
(WebPushD::MockPushServiceConnection::setEnabledTopics):
(WebPushD::MockPushServiceConnection::setIgnoredTopics):
(WebPushD::MockPushServiceConnection::setOpportunisticTopics):
(WebPushD::MockPushServiceConnection::setNonWakingTopics):
(WebPushD::MockPushServiceConnection::setTopicLists):
- webpushd/PushServiceConnection.h: Added.
- webpushd/PushServiceConnection.mm: Added.
(WebPushD::PushServiceConnection::startListeningForPushMessages):
(WebPushD::PushServiceConnection::didReceivePushMessage):
- 8:05 AM Changeset in webkit [289113] by
-
- 3 edits in trunk/Source/WebKit
[iOS][macOS] Adjust sandbox access to system-fcntl
https://bugs.webkit.org/show_bug.cgi?id=236095
<rdar://problem/88448068>
Reviewed by Brent Fulgham.
Adjust sandbox access in the WebContent process to system-fcntl based on telemetry.
This patch is blocking access to some unused fcntl commands, as well as blocking
access to fcntl commands that are only used when AppCache is enabled. This is
achieved by using sandbox state variables.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- WebProcess/com.apple.WebProcess.sb.in:
- 7:47 AM Changeset in webkit [289112] by
-
- 6 edits1 delete in trunk
Unreviewed, reverting r288996.
https://bugs.webkit.org/show_bug.cgi?id=236141
Causing debug asserts
Reverted changeset:
"No breakpoints hit on github.com, and some are invalid"
https://bugs.webkit.org/show_bug.cgi?id=235607
https://commits.webkit.org/r288996
- 6:56 AM Changeset in webkit [289111] by
-
- 3 edits in trunk/Tools
[EWS] Rename CompileJSCWithoutPatch
https://bugs.webkit.org/show_bug.cgi?id=236104
<rdar://problem/88455463>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(CompileWebKit.evaluateCommand):
(AnalyzeCompileWebKitResults.analyzeResults):
(CompileJSCWithoutChange): Renamed from CompileJSCWithoutPatch.
(CompileJSCWithoutPatch): Rename to CompileJSCWithoutChange.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/246808@main
- 6:50 AM Changeset in webkit [289110] by
-
- 3 edits in trunk/Tools
[EWS] Rename RunWebKitTestsWithoutPatch
https://bugs.webkit.org/show_bug.cgi?id=236107
<rdar://problem/88459194>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(ReRunWebKitTests.evaluateCommand):
(RunWebKitTestsWithoutChange): Renamed from RunWebKitTestsWithoutPatch.
(RunWebKitTestsWithoutPatch): Renamed to RunWebKitTestsWithoutChange.
(RunWebKitTestsWithoutChangeRedTree): Renamed from RunWebKitTestsWithoutPatchRedTree.
(RunWebKitTestsWithoutPatchRedTree): Renamed to RunWebKitTestsWithoutChangeRedTree.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/246807@main
- 5:52 AM Changeset in webkit [289109] by
-
- 5 edits in trunk/Source/WebCore
[GTK][WPE] Use a Vector when defining the EGLImage attributes in the createImage
https://bugs.webkit.org/show_bug.cgi?id=236133
Patch by Alejandro G. Castro <alex@igalia.com> on 2022-02-04
Reviewed by Žan Doberšek.
No new tests, no change in behaviour
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::createImage const): Replace the parameter
of createImage with a Vector, and use map to transform in case we
have to use the extension function.
- platform/graphics/egl/GLContextEGL.h: Ditto.
- platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp:
(WebCore::TextureMapperPlatformLayerBuffer::TextureMapperPlatformLayerBuffer):
Fix a warning caused by the order of the parameter initialization.
- platform/graphics/texmap/TextureMapperPlatformLayerDmabuf.cpp:
(WebCore::TextureMapperPlatformLayerDmabuf::validateTexture):
Replace the C array with a Vector object.
- 3:58 AM Changeset in webkit [289108] by
-
- 6 edits in trunk
HTMLMediaElement should dispatch the resize event asynchronously
https://bugs.webkit.org/show_bug.cgi?id=230895
Reviewed by Darin Adler.
Source/WebCore:
The HTMLMediaElement is currently queueing a task to dispatch the resize event in the post layout phase.
There is no need to run it synchronously and we could move it to another queue were it will be run
asynchronously as it was done for other similar tasks in the past.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::layoutSizeChanged):
LayoutTests:
- media/modern-media-controls/media-controller/media-controller-resize.html: Remove the event
listener to avoid an extra notification.
- platform/mac/TestExpectations: Unskipped tests that pass now.
- platform/wincairo/TestExpectations: Ditto.
- 12:14 AM Changeset in webkit [289107] by
-
- 2 edits in trunk/Source/WebCore
Fix for non-unified builds after r286821 (245056@main)
https://bugs.webkit.org/show_bug.cgi?id=236129
Unreviewed, fixes missing header.
- workers/shared/SharedWorkerScriptLoader.h:
Feb 3, 2022:
- 11:16 PM Changeset in webkit [289106] by
-
- 15 edits5 adds in trunk/Source/WebCore
[GTK][WPE] Use dmabuf when possible to transfer ANGLE rendering to the compositor
https://bugs.webkit.org/show_bug.cgi?id=235946
Reviewed by Žan Doberšek.
Use dmabuf when available to transfer ANGLE WebGL rendering contents
to the compositor.
No new tests, no change in behaviour.
- PlatformGTK.cmake:
- PlatformWPE.cmake:
- SourcesGTK.txt:
- SourcesWPE.txt:
- platform/TextureMapper.cmake:
- platform/graphics/OpenGLShims.cpp:
(WebCore::initializeOpenGLShims):
- platform/graphics/OpenGLShims.h:
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::prepareTextureImpl):
- platform/graphics/angle/GraphicsContextGLANGLE.h:
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::GLContextEGL):
(WebCore::GLContextEGL::createImage const):
(WebCore::GLContextEGL::destroyImage const):
- platform/graphics/egl/GLContextEGL.h:
- platform/graphics/gbm/GBMDevice.cpp: Added.
(WebCore::threadSpecificDevice):
(WebCore::GBMDevice::get):
(WebCore::GBMDevice::GBMDevice):
(WebCore::GBMDevice::~GBMDevice):
- platform/graphics/gbm/GBMDevice.h: Added.
(WebCore::GBMDevice::device const):
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLEPipe.cpp:
(Nicosia::GCGLANGLEPipeSource::swapBuffersIfNeeded):
- platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::GraphicsContextGLANGLE):
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::EGLImageBacking):
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::~EGLImageBacking):
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::format const):
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::stride const):
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::releaseResources):
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::reset):
(WebCore::GraphicsContextGLANGLE::~GraphicsContextGLANGLE):
(WebCore::GraphicsContextGLANGLE::reshapeDisplayBufferBacking):
- platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h:
(WebCore::TextureMapperPlatformLayerBuffer::textureVariant const):
(WebCore::TextureMapperPlatformLayerBuffer::size const):
(WebCore::TextureMapperPlatformLayerBuffer::textureVariant): Deleted.
- platform/graphics/texmap/TextureMapperPlatformLayerDmabuf.cpp: Added.
(WebCore::createFourCC):
(WebCore::fourCCToGLFormat):
(WebCore::formatHasAlpha):
(WebCore::TextureMapperPlatformLayerDmabuf::TextureMapperPlatformLayerDmabuf):
(WebCore::m_fd):
(WebCore::TextureMapperPlatformLayerDmabuf::~TextureMapperPlatformLayerDmabuf):
(WebCore::TextureMapperPlatformLayerDmabuf::validateTexture):
(WebCore::TextureMapperPlatformLayerDmabuf::paintToTextureMapper):
(WebCore::TextureMapperPlatformLayerDmabuf::clone):
- platform/graphics/texmap/TextureMapperPlatformLayerDmabuf.h: Added.
- 10:58 PM Changeset in webkit [289105] by
-
- 16 edits in trunk/LayoutTests/imported/w3c
Pull selective WPT tests in preparation of https://bugs.webkit.org/show_bug.cgi?id=235685
These remove the empty <meta name="flags">.
- web-platform-tests/css/css-flexbox/align-content-001.htm:
- web-platform-tests/css/css-flexbox/align-content-002.htm:
- web-platform-tests/css/css-flexbox/align-content-003.htm:
- web-platform-tests/css/css-flexbox/align-content-004.htm:
- web-platform-tests/css/css-flexbox/align-content-005.htm:
- web-platform-tests/css/css-flexbox/align-items-001.htm:
- web-platform-tests/css/css-flexbox/align-items-002.htm:
- web-platform-tests/css/css-flexbox/align-items-003.htm:
- web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-017.html:
- web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-018.html:
- web-platform-tests/css/css-values/angle-units-002.html:
- web-platform-tests/css/css-values/angle-units-003.html:
- web-platform-tests/css/css-values/angle-units-004.html:
- web-platform-tests/css/css-values/angle-units-005.html:
Convert tabs to spaces.
- web-platform-tests/css/css-variables/vars-background-shorthand-001.html:
- 10:37 PM Changeset in webkit [289104] by
-
- 14 edits in trunk/Source
Delete SelectionAcrossShadowBoundariesEnabled
https://bugs.webkit.org/show_bug.cgi?id=235993
Reviewed by Darin Adler.
Source/WebCore:
Delete this runtime flag which has always been enabled for a while.
- editing/Editor.cpp:
(WebCore::Editor::selectedText const):
(WebCore::Editor::selectedTextForDataTransfer const):
- editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
- editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::selectionInHTMLFormat):
- editing/gtk/EditorGtk.cpp:
(WebCore::Editor::writeSelectionToPasteboard):
- editing/libwpe/EditorLibWPE.cpp:
(WebCore::Editor::writeSelectionToPasteboard):
- editing/mac/EditorMac.mm:
(WebCore::Editor::writeImageToPasteboard):
- loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createFromSelection):
Source/WebKitLegacy/mac:
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(-[WebPreferences keygenElementEnabled]):
(-[WebPreferences selectionAcrossShadowBoundariesEnabled]):
(-[WebPreferences setSelectionAcrossShadowBoundariesEnabled:]):
(-[WebPreferences isXSSAuditorEnabled]):
- WebView/WebPreferencesPrivate.h:
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
- 10:35 PM Changeset in webkit [289103] by
-
- 4 edits in trunk/Source/WebKit
Plumb pointer type though native to web events.
https://bugs.webkit.org/show_bug.cgi?id=236118
Reviewed by Tim Horton.
- Shared/NativeWebMouseEvent.h:
- Shared/ios/NativeWebMouseEventIOS.mm:
(WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
- UIProcess/ios/WKMouseGestureRecognizer.mm:
(-[WKMouseGestureRecognizer createMouseEventWithType:wasCancelled:]):
- 7:13 PM Changeset in webkit [289102] by
-
- 2 edits in trunk/Source/WebCore
Add pen type for HitTestRequest.
https://bugs.webkit.org/show_bug.cgi?id=236112
Reviewed by Tim Horton.
- rendering/HitTestRequest.h:
(WebCore::HitTestRequest::mouseEvent const):
(WebCore::HitTestRequest::penEvent const):
- 6:53 PM Changeset in webkit [289101] by
-
- 5 edits7 adds in trunk
Two bopomofo tone marks are not moved to the correct place in vertical text with a particular bopomofo font
https://bugs.webkit.org/show_bug.cgi?id=235257
<rdar://problem/87625596>
Reviewed by Darin Adler.
.:
Thank you so much to Bobby Tung and But Ko for reporting this bug and providing a test font for it!!!
- metadata/contributors.json:
Source/WebCore:
Turns out one of our character data tables was missing some characters.
I really dislike these kinds of fixes, because it's just perpetuating the fact that WebKit has big tables of characters
in its source code. A long-term fix would be a systemic replacement of this entire table with either Unicode property
lookup, or more ideally, removing the need for it in the first place. Unfortunately, at this point in the release cycle,
this fix probably needs to be smaller and more targetted.
Tests: fast/text/bopomofo-tone-marks-2.html
fast/text/bopomofo-tone-marks.html
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::isCJKIdeographOrSymbol):
LayoutTests:
This can't be a WPT test because we only have permission to add the test font to the WebKit repository.
Thank you so much to Bobby Tung and But Ko for reporting this bug and providing a test font for it!!!
- fast/text/bopomofo-tone-marks-2-expected-mismatch.html: Added.
- fast/text/bopomofo-tone-marks-2.html: Added.
- fast/text/bopomofo-tone-marks-expected-mismatch.html: Added.
- fast/text/bopomofo-tone-marks.html: Added.
- fast/text/resources/BopomofoGposSubset-Regular/BopomofoGposSubset-Regular.ttf: Added.
- fast/text/resources/BopomofoGposSubset-Regular/LICENSE: Added.
- 6:45 PM Changeset in webkit [289100] by
-
- 12 edits in trunk/Source
Teach VideoFullscreenInterface to keep track of its corresponding MediaPlayer's MediaPlayerIdentifier
https://bugs.webkit.org/show_bug.cgi?id=236090
Reviewed by Eric Carlson.
Source/WebCore:
Add plumbing for an optional MediaPlayerIdentifier through the video fullscreen model. This identifier is
invalidated uponloadstart, and updated once we observeloadedmetadata, which ensures that if the media
engine (and media player) changes out from underneath the video fullscreen model, we still keep the new player
ID up to date.
See WebKit/ChangeLog for more details.
- platform/cocoa/VideoFullscreenModel.h:
(WebCore::VideoFullscreenModelClient::setPlayerIdentifier):
- platform/cocoa/VideoFullscreenModelVideoElement.h:
- platform/cocoa/VideoFullscreenModelVideoElement.mm:
(WebCore::VideoFullscreenModelVideoElement::updateForEventName):
(WebCore::VideoFullscreenModelVideoElement::observedEventNames):
Additionally listen for
loadstartEventandloadedmetadataEvent(see above).
(WebCore::VideoFullscreenModelVideoElement::setPlayerIdentifier):
- platform/ios/VideoFullscreenInterfaceAVKit.h:
- platform/mac/VideoFullscreenInterfaceMac.h:
(WebCore::VideoFullscreenInterfaceMac::playerIdentifier const):
Source/WebKit:
Add an IPC message between VideoFullscreenManager and VideoFullscreenManagerProxy to update the media player ID
corresponding to a given PlaybackSessionContextIdentifier. This is sent if the underlying media player changes
(and subsequently firesloadstartandloadedmetadataevents), and also sent upon entering fullscreen video.
In a future patch, this mechanism will be used to teach VideoFullscreenManagerProxy to grab an image bitmap from
the GPU process for a given PlaybackSessionContextIdentifier.
- UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
- UIProcess/Cocoa/VideoFullscreenManagerProxy.messages.in:
- UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenManagerProxy::setPlayerIdentifier):
- WebProcess/cocoa/VideoFullscreenManager.h:
- WebProcess/cocoa/VideoFullscreenManager.mm:
(WebKit::VideoFullscreenInterfaceContext::setPlayerIdentifier):
(WebKit::VideoFullscreenManager::enterVideoFullscreenForVideoElement):
(WebKit::VideoFullscreenManager::setPlayerIdentifier):
- 6:26 PM Changeset in webkit [289099] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, reverting r289096.
https://bugs.webkit.org/show_bug.cgi?id=236114
will break build
Reverted changeset:
"[WebAuthn] Remove misspelled constant
"LocalAuthenticatiorAccessGroup""
https://bugs.webkit.org/show_bug.cgi?id=235894
https://commits.webkit.org/r289096
- 6:24 PM Changeset in webkit [289098] by
-
- 6 edits2 adds in trunk
[RenderTreeBuilder] Clean up column spanners when style change affects containing block
https://bugs.webkit.org/show_bug.cgi?id=236042
<rdar://83975391>
Reviewed by Antti Koivisto.
Source/WebCore:
In addition to removing the leftover spanners after style change, this patch also expands on the type of style changes that may affect the subtree state inside a multicolumn flow.
Test: fast/multicol/leftover-spanner-on-style-change-crash.html
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleDidChange):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::setStyle):
(WebCore::RenderElement::adjustFragmentedFlowStateOnContainingBlockChangeIfNeeded):
- rendering/RenderElement.h:
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange):
LayoutTests:
- fast/multicol/leftover-spanner-on-style-change-crash-expected.txt: Added.
- fast/multicol/leftover-spanner-on-style-change-crash.html: Added.
- 6:22 PM Changeset in webkit [289097] by
-
- 3 edits in trunk/Source/WebCore
AXIsolatedTree::updateChildren removes subtrees that should instead be moved
https://bugs.webkit.org/show_bug.cgi?id=236057
Reviewed by Andres Gonzalez.
In AXIsolatedTree::updateChildren, we can sometimes remove subtrees from the nodemap that are
queued to be added somewhere else in the tree. Specifically, this can happen when:
- Object 123 is considered to be a new child based on the live AX tree, and we collect node changes for it.
- Object 123 is currently a member of a subtree of some other object in oldChildrenIDs.
- Because of 2, Object 123 is removed from the node map in removeSubtreeFromNodeMap
- We try to queue the addition of this node somewhere in tree in queueChange, but ASSERT because Object 123 is not in the nodemap anymore.
This causes us to hit ASSERT(m_nodeMap.contains(objectID) in AXIsolatedTree::queueChange(const NodeChange&).
This patch fixes this problem by keeping track of the IDs we are queuing for addition
to the tree and making sure we don't remove those IDs.
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::queueChange):
(WebCore::AXIsolatedTree::collectNodeChangesForSubtree):
(WebCore::AXIsolatedTree::nodeAncestryChanges):
Keep track of IDs we are queueing changes for.
(WebCore::AXIsolatedTree::updateChildren):
Keep track of IDs we are queueing changes for and don't remove them,
even if they are part of oldChildrenIDs.
(WebCore::AXIsolatedTree::removeSubtreeFromNodeMap):
- accessibility/isolatedtree/AXIsolatedTree.h:
(WebCore::AXIsolatedTree::removeSubtreeFromNodeMap):
Accept another paramter listing IDs to keep.
(WebCore::AXIsolatedTree::collectNodeChangesForSubtree):
Keep track of IDs we are queueing changes for.
- 6:09 PM Changeset in webkit [289096] by
-
- 2 edits in trunk/Source/WebCore
[WebAuthn] Remove misspelled constant "LocalAuthenticatiorAccessGroup"
https://bugs.webkit.org/show_bug.cgi?id=235894
rdar://88104045
Reviewed by Darin Adler.
This change removes a constant with a misspelled variable name after all
downstream usage is removed.
- Modules/webauthn/WebAuthenticationConstants.h:
- 5:41 PM Changeset in webkit [289095] by
-
- 1 copy in tags/Safari-613.1.14.5.8
Tag Safari-613.1.14.5.8.
- 5:40 PM Changeset in webkit [289094] by
-
- 20 edits in branches/safari-613.1.14.5-branch/Source
Cherry-pick r289091. rdar://problem/88387438
WebKit projects have incorrect install name for the frameworks for Catalyst builds with the system content path
https://bugs.webkit.org/show_bug.cgi?id=236105
Reviewed by Saam Barati.
Source/JavaScriptCore:
Updated DYLIB_INSTALL_NAME_BASE for Catalyst builds to use JAVASCRIPTCORE_FRAMEWORKS_DIR, which doesn't have the
system content path prefix.
- Configurations/JavaScriptCore.xcconfig:
Source/ThirdParty/ANGLE:
Updated DYLIB_INSTALL_NAME_BASE for Catalyst builds to not use the system content path prefix.
- Configurations/ANGLE-dynamic.xcconfig:
Source/ThirdParty/libwebrtc:
Updated DYLIB_INSTALL_NAME_BASE for Catalyst builds to not use the system content path prefix.
- Configurations/libwebrtc.xcconfig:
Source/WebCore:
Added WK_USE_ALTERNATE_FRAMEWORKS_DIR based computation to the WEBCORE_FRAMEWORKS_DIR production.
This allowed the simplification of NORMAL_PRODUCTION_FRAMEWORKS_DIR.
Changed DYLIB_INSTALL_NAME_BASE_PLATFORM for Catalyst builds to use WEBCORE_FRAMEWORKS_DIR.
- Configurations/WebCore.xcconfig:
Source/WebKit:
Refactored build variable computation so that WEBKIT_FRAMEWORKS_DIR doesn't have the system content path
prepended. This refactoring includes:
- Created INSTALL_PATH_PREFIX to have the system content path when in use.
- Changed WEBKIT_FRAMEWORKS_DIR computation to eliminate the inclusion the SYSTEM_CONTENT_PATH.
- Added INSTALL_PATH_PREFIX to the various INSTALL_PATH computations.
- Changed the various DYLIB_INSTALL_NAME_BASE computations for Catalyst builds to use WEBKIT_FRAMEWORKS_DIR.
- Configurations/Base.xcconfig:
- Configurations/BaseTarget.xcconfig:
- Configurations/BaseXPCService.xcconfig:
- Configurations/Shim.xcconfig:
- Configurations/WebKit.xcconfig:
- Configurations/WebKitSwift.xcconfig:
- Configurations/adattributiond.xcconfig:
- Configurations/webpushd.xcconfig:
Source/WebKitLegacy/mac:
Refactored build variable computation so that WEBKIT_LEGACY_FRAMEWORKS_DIR doesn't have the system content path
prepended. This refactoring includes:
- Created INSTALL_PATH_PREFIX to have the system content path when in use.
- Changed WEBKIT_LEGACY_FRAMEWORKS_DIR computation to eliminate the inclusion the SYSTEM_CONTENT_PATH.
- Reworked INSTALL_PATH to use INSTALL_PATH_PREFIX in the main productions instead of each of variants.
- Changed DYLIB_INSTALL_NAME_BASE computation for Catalyst builds to use WEBKIT_LEGACY_FRAMEWORKS_DIR.
- Configurations/Base.xcconfig:
- Configurations/WebKitLegacy.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289091 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:32 PM Changeset in webkit [289093] by
-
- 7 edits in trunk/Tools
[XCBuild] Add headers-only dependencies to projects in Tools/
https://bugs.webkit.org/show_bug.cgi?id=235751
Reviewed by Alexey Proskuryakov.
Many projects in Tools/ depend on WebKit.framework or other products which are upstream in
the build graph. In Make-based sequential builds, WebKit and friends would always build
before Tools; in workspaces, the targets may build in any order.
Add "product dependencies" build phases to targets which do not express
their dependencies through linker options, in the same manner as
https://commits.webkit.org/246026@main.
The legacy build system doesn't understand the "Product Dependencies" phase and thinks we're
trying to copy our own build products, so add an EXCLUDED_SOURCE_FILE_NAMES setting as a
workaround.
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Add product dependencies.
- DumpRenderTree/mac/Configurations/Base.xcconfig: Add WK_WHICH_BUILD_SYSTEM.
- DumpRenderTree/mac/Configurations/DumpRenderTreeLibrary.xcconfig: Legacy support.
- TestWebKitAPI/Configurations/Base.xcconfig: Legacy support.
- TestWebKitAPI/Configurations/TestWTFLibrary.xcconfig: Add WK_WHICH_BUILD_SYSTEM.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add product dependencies.
- 5:27 PM Changeset in webkit [289092] by
-
- 9 edits in branches/safari-613.1.14.5-branch/Source
Versioning.
WebKit-7613.1.14.5.8
- 5:16 PM Changeset in webkit [289091] by
-
- 20 edits in trunk/Source
WebKit projects have incorrect install name for the frameworks for Catalyst builds with the system content path
https://bugs.webkit.org/show_bug.cgi?id=236105
Reviewed by Saam Barati.
Source/JavaScriptCore:
Updated DYLIB_INSTALL_NAME_BASE for Catalyst builds to use JAVASCRIPTCORE_FRAMEWORKS_DIR, which doesn't have the
system content path prefix.
- Configurations/JavaScriptCore.xcconfig:
Source/ThirdParty/ANGLE:
Updated DYLIB_INSTALL_NAME_BASE for Catalyst builds to not use the system content path prefix.
- Configurations/ANGLE-dynamic.xcconfig:
Source/ThirdParty/libwebrtc:
Updated DYLIB_INSTALL_NAME_BASE for Catalyst builds to not use the system content path prefix.
- Configurations/libwebrtc.xcconfig:
Source/WebCore:
Added WK_USE_ALTERNATE_FRAMEWORKS_DIR based computation to the WEBCORE_FRAMEWORKS_DIR production.
This allowed the simplification of NORMAL_PRODUCTION_FRAMEWORKS_DIR.
Changed DYLIB_INSTALL_NAME_BASE_PLATFORM for Catalyst builds to use WEBCORE_FRAMEWORKS_DIR.
- Configurations/WebCore.xcconfig:
Source/WebKit:
Refactored build variable computation so that WEBKIT_FRAMEWORKS_DIR doesn't have the system content path
prepended. This refactoring includes:
- Created INSTALL_PATH_PREFIX to have the system content path when in use.
- Changed WEBKIT_FRAMEWORKS_DIR computation to eliminate the inclusion the SYSTEM_CONTENT_PATH.
- Added INSTALL_PATH_PREFIX to the various INSTALL_PATH computations.
- Changed the various DYLIB_INSTALL_NAME_BASE computations for Catalyst builds to use WEBKIT_FRAMEWORKS_DIR.
- Configurations/Base.xcconfig:
- Configurations/BaseTarget.xcconfig:
- Configurations/BaseXPCService.xcconfig:
- Configurations/Shim.xcconfig:
- Configurations/WebKit.xcconfig:
- Configurations/WebKitSwift.xcconfig:
- Configurations/adattributiond.xcconfig:
- Configurations/webpushd.xcconfig:
Source/WebKitLegacy/mac:
Refactored build variable computation so that WEBKIT_LEGACY_FRAMEWORKS_DIR doesn't have the system content path
prepended. This refactoring includes:
- Created INSTALL_PATH_PREFIX to have the system content path when in use.
- Changed WEBKIT_LEGACY_FRAMEWORKS_DIR computation to eliminate the inclusion the SYSTEM_CONTENT_PATH.
- Reworked INSTALL_PATH to use INSTALL_PATH_PREFIX in the main productions instead of each of variants.
- Changed DYLIB_INSTALL_NAME_BASE computation for Catalyst builds to use WEBKIT_LEGACY_FRAMEWORKS_DIR.
- Configurations/Base.xcconfig:
- Configurations/WebKitLegacy.xcconfig:
- 5:06 PM Changeset in webkit [289090] by
-
- 9 edits1 move in trunk/Source/WebKit
Add plumbing to inform WebPageProxy when videos play, pause, seek, and enter or exit fullscreen
https://bugs.webkit.org/show_bug.cgi?id=236083
Reviewed by Eric Carlson.
Add several methods on WebPageProxy which are called from both VideoFullscreenManagerProxy as well as
PlaybackSessionManagerProxy; in future patches, these will be used to detect when a fullscreen video has been
paused for at least 250 ms, and call out to the page client to perform "video frame extraction".
No change in behavior (yet).
- Shared/Cocoa/PlaybackSessionContextIdentifier.h: Renamed from Source/WebKit/WebProcess/cocoa/PlaybackSessionContextIdentifier.h.
Move this from Source/WebKit/WebProcess/cocoa to Shared/Cocoa. This enum type is passed around in media code in
both the UI and web processes, so it should be in the Shared folder instead of the WebProcess folder.
- UIProcess/Cocoa/PlaybackSessionManagerProxy.h:
- UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:
(WebKit::PlaybackSessionManagerProxy::currentTimeChanged):
(WebKit::PlaybackSessionManagerProxy::rateChanged):
(WebKit::PlaybackSessionManagerProxy::isPaused const):
Add a helper method to return whether or not the session for a given PlaybackSessionContextIdentifier is paused
(that is, neither playing nor stalled).
- UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
Drive-by fix: remove an unused member variable.
- UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenManagerProxy::didExitFullscreen):
(WebKit::VideoFullscreenManagerProxy::didEnterFullscreen):
Add another version of these methods that includes the session context ID as an argument.
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::didChangePlaybackRate):
(WebKit::WebPageProxy::didChangeCurrentTime):
(WebKit::WebPageProxy::updateFullscreenVideoExtraction):
(WebKit::WebPageProxy::fullscreenVideoExtractionTimerFired):
- UIProcess/WebPageProxy.cpp:
(WebKit::m_fullscreenVideoExtractionTimer):
(WebKit::WebPageProxy::didEnterFullscreen):
(WebKit::WebPageProxy::didExitFullscreen):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
(WebKit::m_notificationManagerMessageHandler): Deleted.
- UIProcess/WebPageProxy.h:
- WebKit.xcodeproj/project.pbxproj:
- 4:35 PM WebKitGTK/2.34.x edited by
- (diff)
- 4:22 PM Changeset in webkit [289089] by
-
- 3 edits in trunk/Tools
[EWS] Rename RunJSCTestsWithoutPatch
https://bugs.webkit.org/show_bug.cgi?id=236106
<rdar://problem/88457767>
Reviewed by Alexey Proskuryakov.
- Tools/CISupport/ews-build/steps.py:
(RunJavaScriptCoreTests.evaluateCommand):
(RunJSCTestsWithoutChange): Renamed from RunJSCTestsWithoutPatch.
(RunJSCTestsWithoutPatch): Renamed to RunJSCTestsWithoutChange.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/246789@main
- 3:47 PM Changeset in webkit [289088] by
-
- 26 edits in releases/WebKitGTK/webkit-2.34
Merge r286094 - Report the initiating url instead of the redirected one
https://bugs.webkit.org/show_bug.cgi?id=233037
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-11-20
Reviewed by Brent Fulgham.
LayoutTests/imported/w3c:
- web-platform-tests/content-security-policy/securitypolicyviolation/img-src-redirect.sub-expected.txt:
Source/WebCore:
As per the spec, blockedURI should use the requested URL of original request instead of redirected location.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::isAllowedByContentSecurityPolicy):
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequestInternal):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::allowedByContentSecurityPolicy const):
(WebCore::CachedResourceLoader::canRequestAfterRedirection const):
(WebCore::CachedResourceLoader::updateRequestAfterRedirection):
- loader/cache/CachedResourceLoader.h:
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::allowChildContextFromSource const):
(WebCore::ContentSecurityPolicy::allowScriptFromSource const):
(WebCore::ContentSecurityPolicy::allowImageFromSource const):
(WebCore::ContentSecurityPolicy::allowStyleFromSource const):
(WebCore::ContentSecurityPolicy::allowFontFromSource const):
(WebCore::ContentSecurityPolicy::allowManifestFromSource const):
(WebCore::ContentSecurityPolicy::allowMediaFromSource const):
- page/csp/ContentSecurityPolicy.h:
Source/WebKit:
Pass pre-redirect URL to allowChildContextFromSource() and allowScriptFromSource().
- NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::isAllowedByContentSecurityPolicy):
LayoutTests:
- TestExpectations: Unskip imported/w3c/web-platform-tests/content-security-policy/securitypolicyviolation/img-src-redirect.sub.html
- http/tests/security/contentSecurityPolicy/1.1/child-src/worker-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/audio-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/font-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/image-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/script-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/stylesheet-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/svg-font-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/svg-image-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/track-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/video-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/worker-csp-importScripts-redirect-cross-origin-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/xsl-redirect-blocked-expected.txt:
- 3:46 PM Changeset in webkit [289087] by
-
- 8 edits2 adds in releases/WebKitGTK/webkit-2.34
Merge r285320 - Form action with a redirect should report correct blocked URI
https://bugs.webkit.org/show_bug.cgi?id=232660
<rdar://problem/84969024>
Patch by Kate Cheney <Kate Cheney> on 2021-11-04
Reviewed by Brent Fulgham.
Source/WebCore:
We currently report the blocked URI as the target of a redirect, per
the spec it should actually be the initiating url.
Test: http/tests/security/contentSecurityPolicy/form-action-redirect-with-correct-blocked-uri.html
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::willSendRequest):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkIfFormActionAllowedByCSP const):
- loader/FrameLoader.h:
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::allowResourceFromSource const):
(WebCore::ContentSecurityPolicy::allowFormAction const):
- page/csp/ContentSecurityPolicy.h:
LayoutTests:
- http/tests/security/contentSecurityPolicy/form-action-redirect-with-correct-blocked-uri-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/form-action-redirect-with-correct-blocked-uri.html: Added.
- http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked-expected.txt:
Update console logging to report the correct URL.
- 3:45 PM Changeset in webkit [289086] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening.
- gpu-process/TestExpectations: Tests are no longer crashing.
- 3:27 PM Changeset in webkit [289085] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] MultiDeleteByOffset should not define value
https://bugs.webkit.org/show_bug.cgi?id=236103
Reviewed by Saam Barati.
MultiDeleteByOffset should not define any values in clobberizing.
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- 3:21 PM Changeset in webkit [289084] by
-
- 2 edits in trunk
Add Elliott Williams to contributors.json
- 3:14 PM WebKitGTK/2.34.x edited by
- (diff)
- 3:14 PM Changeset in webkit [289083] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34/Source/WebKit
Merge r288809 - REGRESSION(r288644): [GTK4] Criticals when using pinch zoom
https://bugs.webkit.org/show_bug.cgi?id=235883
Reviewed by Carlos Garcia Campos.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseZoomBegin):
Only cancel the click gesture on GTK3. We don't use g_object_set_data() on GTK4.
- 3:13 PM WebKitGTK/2.34.x edited by
- (diff)
- 3:13 PM Changeset in webkit [289082] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34/Source/WebKit
Merge r288644 - [GTK3] Pinch zooming from a link activates it
https://bugs.webkit.org/show_bug.cgi?id=235639
Reviewed by Carlos Garcia Campos.
Turns out gestures behave differently between GTK3 and 4. On GTK4 it works
fine, but on GTK3 starting a pinch zoom triggers the multipress gesture
when one finger is down, and completes it when the second finger is down.
This results in a bogus click, with no way to prevent it as it happens
before any of the zoom callbacks are called. Since we can't know if there
will be a zoom afterwards or not, we can't do anything about it.
However, what we can do is reorder these gestures. In GTK3 the order the
gestures are processed in depends on which order they were created in.
At that point, there's a problem with the fact the gestures are grouped.
Grouping means that these 2 gestures are triggered at the same time. While
somehow the press gesture is still triggered without grouping with the
original order, they become properly decoupled in reverse order and
ungrouped.
At that point, we can safely cancel the press gesture when the zoom gesture
starts, and fix the issue.
This seems to still work fine for GTK4.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseZoomBegin):
(webkitWebViewBaseConstructed):
- 3:09 PM Changeset in webkit [289081] by
-
- 5 edits in trunk/Source
Delay writing origin file in NetworkStorageManager
https://bugs.webkit.org/show_bug.cgi?id=235897
rdar://87163253
Reviewed by Geoffrey Garen.
Revert r288924 that delays writing origin file to when OriginStorageManager is destroyed, and take a different
approach that schedules a async task to write origin file. PLT results show that the new approach can also make
up for PLT regresion caused by r286936, where network process started to write origin file before replying sync
storage message from web process.
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::localOriginStorageManager):
- NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::OriginStorageManager):
(WebKit::OriginStorageManager::~OriginStorageManager): Deleted.
- NetworkProcess/storage/OriginStorageManager.h:
- 3:09 PM WebKitGTK/2.34.x edited by
- (diff)
- 2:27 PM Changeset in webkit [289080] by
-
- 9 edits in releases/WebKitGTK/webkit-2.34
Merge r288609 - [GTK] REGRESSION: Touch scrolling is broken
https://bugs.webkit.org/show_bug.cgi?id=235436
Reviewed by Chris Lord.
Source/WebKit:
Remove webkitWebViewBaseSetWheelHasPreciseDeltas(), instead add a parameter
to webkitWebViewBaseSynthesizeWheelEvent() that specifies whether the event
should have precise deltas or not.
Correct the touch swipe velocity, since it won't get multiplied by
pixelsPerLineStep().
- UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::navigationGestureDidBegin):
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseZoomBegin):
(webkitWebViewBaseTouchDragBegin):
(webkitWebViewBaseTouchDragUpdate):
(webkitWebViewBaseTouchSwipe):
(webkitWebViewBaseSynthesizeWheelEvent):
(webkitWebViewBaseSetWheelHasPreciseDeltas): Deleted.
- UIProcess/API/gtk/WebKitWebViewBaseInternal.h:
- UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
- UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:
(WebKit::WebAutomationSession::platformSimulateWheelInteraction):
Tools:
Stop using webkitWebViewBaseSetWheelHasPreciseDeltas(), instead pass the correct parameter into
webkitWebViewBaseSynthesizeWheelEvent().
- WebKitTestRunner/EventSenderProxy.h:
- WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::~EventSenderProxy):
(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::continuousMouseScrollBy):
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):
(WTR::EventSenderProxy::setWheelHasPreciseDeltas):
- 2:27 PM Changeset in webkit [289079] by
-
- 12 edits in releases/WebKitGTK/webkit-2.34
Merge r282952 - [GTK] Allow sending precise mouse wheel events in LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=230541
Reviewed by Tim Horton.
Source/WebKit:
Add code to be able to send precise synthetic mouse-wheel events in GTK.
- Shared/NativeWebWheelEvent.h:
- Shared/gtk/NativeWebWheelEventGtk.cpp:
(WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSynthesizeWheelEvent):
(webkitWebViewBaseSetWheelHasPreciseDeltas):
- UIProcess/API/gtk/WebKitWebViewBaseInternal.h:
Tools:
Add API to be able to send precise mouse-wheel events in EventSender.
- WebKitTestRunner/EventSenderProxy.h:
- WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
- WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::EventSendingController::setWheelHasPreciseDeltas):
- WebKitTestRunner/InjectedBundle/EventSendingController.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveMessageFromInjectedBundle):
- WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::toWebKitGLibAPI):
(WTR::EventSenderProxy::~EventSenderProxy):
(WTR::EventSenderProxy::setWheelHasPreciseDeltas):
- 2:12 PM Changeset in webkit [289078] by
-
- 2 edits in trunk/Source/WebCore
LocalStorage values should be 8-bit strings in memory if possible
https://bugs.webkit.org/show_bug.cgi?id=235484
Reviewed by Chris Dumez.
LocalStorage values are stored into a SQLite column as 16-bit strings and are deserialized
back into memory as 16-bit strings. To save memory, this makes it so that we deserialize the
string into an 8-bit string in memory if possible.
Estimated win of ~3MB on Membuster5.
- platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::columnBlobAsString):
- 1:47 PM Changeset in webkit [289077] by
-
- 15 edits1 add in trunk
[git-webkit] Configure default branch management
https://bugs.webkit.org/show_bug.cgi?id=235378
<rdar://problem/87989533>
Reviewed by Dewei Zhu.
- Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/decorators.py:
(hybridmethod.get): Forward certain attributes, namely those used by Memoize.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git):
(Git.config): Add project config to fall back on.
(Git.url): Move memoize to config.
(Git.checkout): Clear Git.config, since that owns memoization.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.parser): Add --overwrite and --append flags.
(PullRequest.create_commit): Either amend an existing commit or create a new one,
depending on the repository settings and arguments passed.
(PullRequest.main): Only keep track of branch history if the user explicitly requests
it or we're using an overwrite workflow with a user owned fork. If repository settings
indicate such branches should never be created, return an error if the user attempts to do so.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.git): Add project config to repository config, prompt the user about their prefered
history retention strategy if the project is using an overwrite workflow.
(Setup.parser): Use the project's default merge behavior.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py:
Canonical link: https://commits.webkit.org/246783@main
- 1:42 PM Changeset in webkit [289076] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, remove UnlinkedMetadataTable::offsetInMetadataTable since it is no longer used
https://bugs.webkit.org/show_bug.cgi?id=236063
Follow-up after Saam's comment.
- bytecode/UnlinkedMetadataTable.h:
(JSC::UnlinkedMetadataTable::offsetInMetadataTable): Deleted.
- 1:34 PM Changeset in webkit [289075] by
-
- 24 edits2 copies in trunk
[Forms] Value doesn't change for stepUp()/stepDown() with out of range values
https://bugs.webkit.org/show_bug.cgi?id=235509
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/forms/the-input-element/input-stepdown-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/input-stepup-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/range-expected.txt:
Source/WebCore:
For input type number, WebKit throws "invalid state" Error when the value is greater than
max when calling stepUp() or less than min when calling stepDown(). According to section 10
in https://html.spec.whatwg.org/multipage/input.html#dom-input-stepup,
we should do "return", which indicates that value doesn't change.
- html/InputType.cpp:
(WebCore::InputType::applyStep):
LayoutTests:
Update expectation files.
- fast/forms/date/date-stepup-stepdown-expected.txt:
- fast/forms/date/date-stepup-stepdown.html:
- fast/forms/datetimelocal/datetimelocal-stepup-stepdown-expected.txt:
- fast/forms/datetimelocal/datetimelocal-stepup-stepdown.html:
- fast/forms/month/month-stepup-stepdown-expected.txt:
- fast/forms/month/month-stepup-stepdown.html:
- fast/forms/number/number-stepup-stepdown-expected.txt:
- fast/forms/number/number-stepup-stepdown.html:
- fast/forms/range/range-stepup-stepdown-expected.txt:
- fast/forms/range/range-stepup-stepdown.html:
- fast/forms/time/time-stepup-stepdown-expected.txt:
- fast/forms/time/time-stepup-stepdown.html:
- fast/forms/week/week-stepup-stepdown-expected.txt:
- fast/forms/week/week-stepup-stepdown.html:
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/input-stepdown-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/input-stepdown-expected.txt.
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/input-stepup-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/input-stepup-expected.txt.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-expected.txt:
- 1:32 PM Changeset in webkit [289074] by
-
- 15 edits8 adds in trunk
Implement CSS overscroll-behavior for synchronous scroll
https://bugs.webkit.org/show_bug.cgi?id=222968
Reviewed by Simon Fraser.
Source/WebCore:
Tests: fast/scrolling/sync-scroll-overscroll-behavior-element.html
fast/scrolling/sync-scroll-overscroll-behavior-iframe.html
fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-element.html
fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-iframe.html
Split up patch by Cathie Chen and Frederic Wang. Add function for blocking scroll chaining
and filtering scroll delta depending on the values of overscroll behavior for a scrollable
area. This patch is for synchronous scrolling only.
- page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEventInternal):
(WebCore::scrollViaNonPlatformEvent):
(WebCore::EventHandler::handleWheelEventInAppropriateEnclosingBox):
(WebCore::EventHandler::scrollableAreaCanHandleEvent):
- page/EventHandler.h:
- page/mac/EventHandlerMac.mm:
(WebCore::findEnclosingScrollableContainer):
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::eventForPropagation const):
- platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::deltaForPropagation const):
(WebCore::ScrollableArea::shouldBlockScrollPropagation const):
- platform/ScrollableArea.h:
(WebCore::ScrollableArea::horizontalOverscrollBehaviorPreventsPropagation const):
(WebCore::ScrollableArea::verticalOverscrollBehaviorPreventsPropagation const):
- platform/ScrollingEffectsController.h:
- platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::allowsVerticalStretching const):
(WebCore::ScrollAnimatorMac::allowsHorizontalStretching const):
- platform/mac/ScrollingEffectsController.mm:
(WebCore::ScrollingEffectsController::wheelDeltaBiasingTowardsVertical):
LayoutTests:
- fast/scrolling/sync-scroll-overscroll-behavior-element-expected.txt: Added.
- fast/scrolling/sync-scroll-overscroll-behavior-element.html: Added.
- fast/scrolling/sync-scroll-overscroll-behavior-iframe-expected.txt: Added.
- fast/scrolling/sync-scroll-overscroll-behavior-iframe.html: Added.
- fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-element-expected.txt: Added.
- fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-element.html: Added.
- fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-iframe-expected.txt: Added.
- fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-iframe.html: Added.
- platform/mac-wk1/TestExpectations:
- platform/win/TestExpectations:
- 1:30 PM Changeset in webkit [289073] by
-
- 6 edits8 deletes in trunk
Unreviewed, reverting r288902.
Broke compile-webkit for iOS-15-Simulator
Reverted changeset:
"Import APSConnection-related SPI"
https://bugs.webkit.org/show_bug.cgi?id=235856
https://commits.webkit.org/r288902
- 1:23 PM Changeset in webkit [289072] by
-
- 2 edits in trunk/Source/WebKit
[iOS][WP] Add access to required syscalls
https://bugs.webkit.org/show_bug.cgi?id=236087
<rdar://problem/88439656>
Reviewed by Brent Fulgham.
Add access to required syscalls which are rarely used. This is based on recent telemetry.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- 1:06 PM Changeset in webkit [289071] by
-
- 5 edits5 adds in trunk
ANGLE Metal and ANGLE OpenGL cannot be initialised one after the other
https://bugs.webkit.org/show_bug.cgi?id=236030
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-03
Reviewed by Dean Jackson.
Source/WebCore:
Test: webgl/pending/conformance2/misc/webgl2-after-webgl1-bug.html
Remove the power-preference specific native displays.
Add a native display for opengl, and use the default
one for Metal.
After the recent ANGLE roll, ANGLE uses (native display, power preference)
as the key to look up EGLDisplays.
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::releaseThreadResources):
- platform/graphics/angle/GraphicsContextGLANGLE.h:
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::initializeEGLDisplay):
LayoutTests:
- webgl/pending/conformance2/misc/webgl2-after-webgl1-bug-expected.txt: Added.
- webgl/pending/conformance2/misc/webgl2-after-webgl1-bug.html: Added.
- webgl/resources/pending_webgl_test_files/conformance2/misc/webgl2-after-webgl1-bug.html: Added.
- 1:05 PM Changeset in webkit [289070] by
-
- 9 edits in releases/WebKitGTK/webkit-2.34/Source/JavaScriptCore
Merge r287421 - Make DeferredWorkTimer::addPendingWork() return a Ticket.
https://bugs.webkit.org/show_bug.cgi?id=234628
rdar://84260429
Reviewed by Yusuke Suzuki.
- Make Ticket a unique token instead of the JSObject* target object. The Ticket is now a pointer to the TicketData in the pending work list.
- Instead of taking a Ticket argument, DeferredWorkTimer::addPendingWork() now
takes a JSObject*
targetargument explicitly, and returns the Ticket for the added TicketData instead.
All the relevant DeferredWorkTimer APIS already take a Ticket as an argument.
This ensures that addPendingWork() is called before we start doing work with
these APIs (especially scheduleWorkSoon()).
- Previously, addPendingWork() will only save one instance of TicketData for a given JSObject* key. With this patch, we'll register a new TicketData instance for every call to addPendingWork(), and return a unique Ticket for it.
This is needed because it may be possible for 2 different clients to call
addPendingWork() and scheduleWorkSoon() with the same target JSObject* but with
different sets of dependencies.
Secondly, even is the both sets of dependencies are identical, a client may
call addPendingWork() and scheduleWorkSoon() with the same JSObject* target
more than once because it intended to schedule more than 1 task to run.
Note that DeferredWorkTimer::doWork() consumes the corresponding TicketData
(i.e. removes it from the m_pendingTickets list) for each task as it is run.
To ensure that the dependencies for each task is protected, we'll either need
to ref count the TicketData for the same target object (and hold off on removing
it from the list), or we'll need to register a different TicketData instance
for each task. Ref counting can solve the second issue above, but does not
solve the first. So, this patch goes with the more generic solution to allow
each task to have its own TicketData instance (and, its own unique Ticket).
- Previously, if the client cancels pending work, we would remove the TicketData immediately from the m_pendingTickets list. This opens up an opportunity for the same TicketData memory to be re-allocated by another client. This, in turn, would make the Ticket token not unique and potentially allow a cancelled ticket to be reused before DeferredWorkTimer::doWork() is called.
This patch changes DeferredWorkTimer::cancelPendingWork() to only clear the
contents of the TicketData instead. TicketData::scriptExecutionOwner being
null is used as an indication that the ticket has been cancelled. Since the
TicketData itself is not "freed" yet, all TicketData will remain unique until
DeferredWorkTimer::doWork().
Consequently, DeferredWorkTimer::doWork() will now check for cancelled tickets
and remove them from the m_pendingTickets list.
- JSFinalizationRegistry was previously calling DeferredWorkTimer::hasPendingWork() to check if it has already scheduled a task, so as not to reschedule again until after the previously scheduled task has been run. This does not play nice with the new Ticket API, because this hasPendingWork() check needs to be done before calling addPendingWork(), and hence, the Ticket is not available yet.
Fortunately, JSFinalizationRegistry should know if it has already scheduled
a task itself. This patch adds a m_hasAlreadyScheduledWork flag to
JSFinalizationRegistry that can be used for this check instead.
- jsc.cpp:
(JSC_DEFINE_HOST_FUNCTION):
- runtime/DeferredWorkTimer.cpp:
(JSC::DeferredWorkTimer::TicketData::TicketData):
(JSC::DeferredWorkTimer::TicketData::vm):
(JSC::DeferredWorkTimer::TicketData::cancel):
(JSC::DeferredWorkTimer::doWork):
(JSC::DeferredWorkTimer::addPendingWork):
(JSC::DeferredWorkTimer::hasPendingWork):
(JSC::DeferredWorkTimer::hasDependancyInPendingWork):
(JSC::DeferredWorkTimer::cancelPendingWork):
- runtime/DeferredWorkTimer.h:
(JSC::DeferredWorkTimer::TicketData::target):
- runtime/JSFinalizationRegistry.cpp:
(JSC::JSFinalizationRegistry::finalizeUnconditionally):
- runtime/JSFinalizationRegistry.h:
- wasm/WasmStreamingCompiler.cpp:
(JSC::Wasm::StreamingCompiler::StreamingCompiler):
(JSC::Wasm::StreamingCompiler::~StreamingCompiler):
(JSC::Wasm::StreamingCompiler::didComplete):
(JSC::Wasm::StreamingCompiler::fail):
(JSC::Wasm::StreamingCompiler::cancel):
- wasm/WasmStreamingCompiler.h:
- wasm/js/JSWebAssembly.cpp:
(JSC::JSWebAssembly::webAssemblyModuleValidateAsync):
(JSC::instantiate):
(JSC::compileAndInstantiate):
(JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync):
- 12:50 PM Changeset in webkit [289069] by
-
- 2 edits in trunk/Source/WebKit
[iOS][WP] Enable sandbox state rules for Mach messages
https://bugs.webkit.org/show_bug.cgi?id=236027
<rdar://problem/88387937>
Reviewed by Brent Fulgham.
After <rdar://85931614> has been fixed, we can enable sandbox state rules for Mach messages.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- 12:29 PM Changeset in webkit [289068] by
-
- 2 edits in trunk/LayoutTests
[Win] Update expectations for failing CSP test
https://bugs.webkit.org/show_bug.cgi?id=236093
Unreviewed expectations update.
- platform/win/TestExpectations:
- 12:15 PM Changeset in webkit [289067] by
-
- 2 edits in trunk/Tools
REGRESSION(r288878) webkitpy.layout_tests.controllers.layout_test_finder_legacy_unittest.LayoutTestFinderTests tests are failing with Windows Python
https://bugs.webkit.org/show_bug.cgi?id=236043
Reviewed by Jonathan Bedard.
- Scripts/webkitpy/port/base.py:
(Port.relative_test_filename): Normalize filename with
TEST_PATH_SEPARATOR before comparing with layout_tests_dir().
- 11:59 AM Changeset in webkit [289066] by
-
- 2 edits in trunk/Source/bmalloc
Fix BSD compilation after r289056
https://bugs.webkit.org/show_bug.cgi?id=236086
Unreviewed, fixes missing header in BSD systems.
The include is moved up so it is included in both UNIX and BSD systems,
as adding the include in both #if triggers a code style warning (header
included twice), even though the includes are guarded.
- bmalloc/AvailableMemory.cpp:
- 11:50 AM Changeset in webkit [289065] by
-
- 4 edits in trunk/Source/WebKit
Rename NetworkConnectionToWebProcess::serverToContextConnectionNoLongerNeeded()
https://bugs.webkit.org/show_bug.cgi?id=236088
Reviewed by Darin Adler.
Rename NetworkConnectionToWebProcess::serverToContextConnectionNoLongerNeeded() to make it clear it is for the
service worker connection, to avoid confusing with the shared workers.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::serviceWorkerServerToContextConnectionNoLongerNeeded):
(WebKit::NetworkConnectionToWebProcess::serverToContextConnectionNoLongerNeeded): Deleted.
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::connectionIsNoLongerNeeded):
- 11:46 AM Changeset in webkit [289064] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: [Flexbox] Add setting to guard Flexbox Inspector feature
https://bugs.webkit.org/show_bug.cgi?id=236091
<rdar://problem/88443529>
Reviewed by Patrick Angle.
- UserInterface/Base/Setting.js:
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createEngineeringSettingsView):
- 11:44 AM Changeset in webkit [289063] by
-
- 10 edits2 moves in trunk/Source/WebKit
Rename ServiceWorkerInitializationData / ServiceWorkerInformation so they can be reused by shared workers
https://bugs.webkit.org/show_bug.cgi?id=236089
Reviewed by Alex Christensen.
- Shared/RemoteWorkerInitializationData.cpp: Renamed from Source/WebKit/Shared/ServiceWorkerInitializationData.cpp.
(WebKit::RemoteWorkerInitializationData::encode const):
(WebKit::RemoteWorkerInitializationData::decode):
- Shared/RemoteWorkerInitializationData.h: Renamed from Source/WebKit/Shared/ServiceWorkerInitializationData.h.
- Sources.txt:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::enableServiceWorkers):
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::hasServiceWorkerPageProxy):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::WebSWContextManagerConnection):
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::establishServiceWorkerContextConnectionToNetworkProcess):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- 11:18 AM Changeset in webkit [289062] by
-
- 7 edits in trunk/Source
Crash at com.apple.WebKit: WebKit::RemoteLayerBackingStore::display
https://bugs.webkit.org/show_bug.cgi?id=236003
Source/WebCore:
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-03
Reviewed by Simon Fraser.
- platform/graphics/GraphicsLayerContentsDisplayDelegate.h:
Add a comment not to call PlatformCALayer::setBackingStoreAttached()
- platform/graphics/cocoa/WebProcessGraphicsContextGLCocoa.mm:
Clear the PlatformCALayer contents in more explicit way.
Source/WebKit:
<rdar://87617695>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-03
Reviewed by Simon Fraser.
Using UI-side compositing, following chain would be the cause a crash:
PlatformCALayerRemote::recursiveBuildTransaction
RemoteLayerBackingStore::display
PlatformCALayer::platformCALayerLayerDisplay
WebProcessGraphicsContextGLCocoa.mm DisplayBufferDisplayDelegate::display
PlatformCALayer::setContents(nullptr)
The nullptr contents happens when the WebGL context does not have
display buffer yet or when the display buffer creation would fail.
Setting empty layer contents would destroy the RemoteLayerBackingStore,
even though the callstack is in process of displaying the layer to the
backing store.
When setting PlatformCALayer contents "empty", clear the backing store instead
of removing the backing store.
Tested by LayoutTests/webgl (under ASAN, ios simulator)
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
- WebProcess/GPU/graphics/cocoa/RemoteGraphicsContextGLProxyCocoa.mm:
- WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::setContents):
- 11:01 AM Changeset in webkit [289061] by
-
- 7 edits in trunk/Source
Move and rename ServiceWorkerThreadProxy::setupPageForServiceWorker()
https://bugs.webkit.org/show_bug.cgi?id=236085
Reviewed by Darin Adler.
Move and rename ServiceWorkerThreadProxy::setupPageForServiceWorker() so that it can be reused for shared workers.
Source/WebCore:
- page/Page.cpp:
(WebCore::Page::setupForRemoteWorker):
- page/Page.h:
- workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::setupPageForServiceWorker): Deleted.
- workers/service/context/ServiceWorkerThreadProxy.h:
Source/WebKit:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::installServiceWorker):
- 10:46 AM Changeset in webkit [289060] by
-
- 3 edits2 adds in trunk
null ptr deref in RenderTreeBuilder::Block::attachIgnoringContinuation
https://bugs.webkit.org/show_bug.cgi?id=234170
Patch by Frédéric Wang <fwang@igalia.com> on 2022-02-03
Reviewed by Antti Koivisto.
Source/WebCore:
When an element with "display: contents" is put into the top layer, its computed style for
the display property becomes "block" [1]. However, RenderTreeUpdater::updateElementRenderer
does not manage well this transition. In particular, a null ptr deref happens for some
special configuration involving a <dialog style="display: contents">. To work around that
issue, always force tearing down renderers when updating an element in the top layer.
[1] https://fullscreen.spec.whatwg.org/#new-stacking-layer
Test: fast/layers/top-layer-display-contents-crash.html
- rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateElementRenderer): Always force tearing down renderers
for top layer element.
LayoutTests:
Add regression test.
- fast/css/top-layer-display-contents-crash-expected.txt: Added.
- fast/css/top-layer-display-contents-crash.html: Added.
- 10:01 AM Changeset in webkit [289059] by
-
- 4 edits in trunk
[WebAuthn] Allow use of hardware-fixed credentials while using alternate store
https://bugs.webkit.org/show_bug.cgi?id=235923
rdar://88102108
Reviewed by Brent Fulgham.
Source/WebKit:
This patch allows use of credentials created before a user started using
the alternate credential store by searching regardless of status when
querying credentials.
Added API test + tested manually.
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticatorInternal::getExistingCredentials):
(WebKit::LocalAuthenticator::continueGetAssertionAfterUserVerification):
Tools:
Add new test for querying credentials created both before and after enabling
alternative credential store.
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::WebCore::addKeyToKeychain):
(TestWebKitAPI::WebCore::cleanUpKeychain):
(TestWebKitAPI::TEST):
- 9:58 AM Changeset in webkit [289058] by
-
- 12 edits2 adds in trunk
Implement AbortSignal.timeout()
https://bugs.webkit.org/show_bug.cgi?id=236039
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Import AbortSignal.timeout() tests from upstream WPT.
- web-platform-tests/dom/abort/AbortSignal.any-expected.txt:
- web-platform-tests/dom/abort/AbortSignal.any.js:
(async_test.t.signal.onabort.t.step_func_done):
(async_test.t.string_appeared_here.signal.onabort.t.step_func):
- web-platform-tests/dom/abort/AbortSignal.any.worker-expected.txt:
- web-platform-tests/dom/abort/abort-signal-timeout-expected.txt: Added.
- web-platform-tests/dom/abort/abort-signal-timeout.html: Added.
- web-platform-tests/dom/abort/w3c-import.log:
Source/WebCore:
Implement the new AbortSignal.timeout() as per:
Test: imported/w3c/web-platform-tests/dom/abort/abort-signal-timeout.html
- bindings/js/JSAbortSignalCustom.cpp:
(WebCore::JSAbortSignalOwner::isReachableFromOpaqueRoots):
- dom/AbortSignal.cpp:
(WebCore::AbortSignal::timeout):
(WebCore::AbortSignal::eventListenersDidChange):
- dom/AbortSignal.h:
- dom/AbortSignal.idl:
- page/DOMTimer.cpp:
(WebCore::DOMTimer::DOMTimer):
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):
- page/DOMTimer.h:
- 8:38 AM Changeset in webkit [289057] by
-
- 5 edits in trunk/Source/WebCore
Flaky scope.assertNoException() assertion in ~JSExecState when running workers WPT tests
https://bugs.webkit.org/show_bug.cgi?id=235978
Reviewed by Yusuke Suzuki.
Because Web workers can be terminated at any point, it is possible for JSExecState::loadModule()
to get a termination exception, which would incorrectly cause it to assert and crash in debug.
This patch updates the code so that termination exceptions are properly dealt with instead of
crashing.
No new tests, covered by imported/w3c/web-platform-tests/workers that flakily crash in
debug.
- bindings/js/JSDOMExceptionHandling.cpp:
(WebCore::reportException):
- bindings/js/JSExecState.h:
(WebCore::JSExecState::call):
(WebCore::JSExecState::evaluate):
(WebCore::JSExecState::profiledCall):
(WebCore::JSExecState::profiledEvaluate):
(WebCore::JSExecState::linkAndEvaluateModule):
(WebCore::JSExecState::~JSExecState):
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluateInWorld):
- workers/WorkerOrWorkletScriptController.cpp:
(WebCore::WorkerOrWorkletScriptController::loadModuleSynchronously):
- 7:29 AM Changeset in webkit [289056] by
-
- 2 edits in trunk/Source/bmalloc
Fix undefined behavior when querying linux memory size
https://bugs.webkit.org/show_bug.cgi?id=228280
Reviewed by Mark Lam.
When running JSC compiled with the undefined behavior sanitizer enabled in a 32 bits machine:
../../Source/bmalloc/bmalloc/AvailableMemory.cpp:115:60: runtime error:
signed integer overflow: 32839056 * 4096 cannot be represented in type 'long int'
This patch slighly rewrites how the available memory is calculated to
use sysinfo (like it's done for FREEBSD).
- bmalloc/AvailableMemory.cpp:
(bmalloc::LinuxMemory::singleton):
(bmalloc::computeAvailableMemory):
(bmalloc::memoryStatus):
- 7:23 AM Changeset in webkit [289055] by
-
- 2 edits in trunk/Source/WebKit
[iOS][WP] Add file-ioctl telemetry
https://bugs.webkit.org/show_bug.cgi?id=236031
<rdar://88334007>
Reviewed by Darin Adler.
Add file-ioctl telemetry in the WebContent process on iOS.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- 7:21 AM Changeset in webkit [289054] by
-
- 16 edits8 copies21 adds in trunk
Start connecting SharedWorker to the WebKit2 layer
https://bugs.webkit.org/show_bug.cgi?id=236052
Reviewed by Darin Adler.
Source/WebCore:
Start connecting SharedWorker to the WebKit2 layer with a provider / connection, similarly to what is done
for service workers.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- workers/shared/SharedWorker.cpp:
(WebCore::mainThreadConnection):
(WebCore::SharedWorker::create):
- workers/shared/SharedWorkerManager.h:
- workers/shared/SharedWorkerObjectConnection.cpp: Copied from Source/WebCore/workers/shared/SharedWorkerManager.h.
- workers/shared/SharedWorkerObjectConnection.h: Copied from Source/WebCore/workers/shared/SharedWorkerManager.h.
- workers/shared/SharedWorkerProvider.cpp: Copied from Source/WebCore/workers/shared/SharedWorkerManager.h.
(WebCore::SharedWorkerProvider::singleton):
(WebCore::SharedWorkerProvider::setSharedProvider):
- workers/shared/SharedWorkerProvider.h: Copied from Source/WebCore/workers/shared/SharedWorkerManager.h.
(WebCore::SharedWorkerProvider::~SharedWorkerProvider):
- workers/shared/SharedWorkerScriptLoader.h:
Source/WebKit:
Start connecting SharedWorker to the WebKit2 layer with a provider / connection, similarly to what is done
for service workers.
- Sources.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::sharedWorkerConnection):
- WebProcess/Network/NetworkProcessConnection.h:
- WebProcess/Storage/WebSharedWorkerObjectConnection.cpp: Copied from Source/WebCore/workers/shared/SharedWorkerManager.h.
(WebKit::WebSharedWorkerObjectConnection::messageSenderConnection const):
(WebKit::WebSharedWorkerObjectConnection::requestSharedWorker):
- WebProcess/Storage/WebSharedWorkerObjectConnection.h: Copied from Source/WebCore/workers/shared/SharedWorkerManager.h.
- WebProcess/Storage/WebSharedWorkerProvider.cpp: Copied from Source/WebCore/workers/shared/SharedWorkerManager.h.
(WebKit::WebSharedWorkerProvider::singleton):
(WebKit::WebSharedWorkerProvider::sharedWorkerConnection):
- WebProcess/Storage/WebSharedWorkerProvider.h: Copied from Source/WebCore/workers/shared/SharedWorkerManager.h.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
LayoutTests:
Skip pure SharedWorkers tests on WK1 since we will only implement this for WebKit2 in the short term.
Land WK1-specific baselines for tests that use SharedWorkers but also cover other things.
- platform/mac-wk1/TestExpectations:
- platform/mac-wk1/imported/w3c/web-platform-tests/content-security-policy/script-src/worker-importscripts.sub-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/content-security-policy/script-src/worker-set-timeout.sub-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/offline/appcache/workers/appcache-worker.https-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-url-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/html/webappapis/the-windoworworkerglobalscope-mixin/Worker_Self_Origin-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/webmessaging/broadcastchannel/workers-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/workers/abrupt-completion-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/workers/semantics/multiple-workers/001-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/workers/semantics/run-a-worker/003-expected.txt: Added.
- platform/win/TestExpectations:
- 7:19 AM Changeset in webkit [289053] by
-
- 2 edits in trunk/Source/WebKit
[iOS][GPUP] Add access to sysctl property
https://bugs.webkit.org/show_bug.cgi?id=235973
<rdar://problem/88345212>
Reviewed by Darin Adler.
Add access to required sysctl property "hw.ncpu" in the GPU process on iOS.
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
- 7:14 AM Changeset in webkit [289052] by
-
- 3 edits in trunk/Source/WebKit
[GPUP] Add read access to sysctl properties
https://bugs.webkit.org/show_bug.cgi?id=236018
<rdar://problem/88382949>
Reviewed by Darin Adler.
Add read access to sysctl properties based on telemetry.
- GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
- 6:51 AM Changeset in webkit [289051] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] imported/w3c/web-platform-tests/css/css-writing-modes/text-align-vlr* tests are failing
https://bugs.webkit.org/show_bug.cgi?id=236059
Reviewed by Antti Koivisto.
Content (alignment) offset should be flipped for vertical writing mode.
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::processNonBidiContent):
(WebCore::Layout::InlineDisplayContentBuilder::flipLogicalRectToVisualForWritingMode):
(WebCore::Layout::InlineDisplayContentBuilder::movePointHorizontallyForWritingMode const):
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.h:
- 6:31 AM Changeset in webkit [289050] by
-
- 7 edits1 delete in trunk/Source/WebKit
MediaRecorderPrivate should not need to create IOSurfaces
https://bugs.webkit.org/show_bug.cgi?id=235953
Reviewed by Eric Carlson.
Make use of SharedVideoFrameReader and SharedVideoFrameWriter between SampleBufferDisplayLayer and RemoteSampleBufferDisplayLayer.
Covered by existing MediaRecorder tests.
- GPUProcess/webrtc/RemoteMediaRecorder.cpp:
(WebKit::RemoteMediaRecorder::videoSampleAvailable):
(WebKit::RemoteMediaRecorder::setSharedVideoFrameSemaphore):
(WebKit::RemoteMediaRecorder::setSharedVideoFrameMemory):
- GPUProcess/webrtc/RemoteMediaRecorder.h:
- GPUProcess/webrtc/RemoteMediaRecorder.messages.in:
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::videoSampleAvailable):
(WebKit::MediaRecorderPrivate::copySharedVideoFrame):
- WebProcess/GPU/webrtc/MediaRecorderPrivate.h:
- WebProcess/GPU/webrtc/MediaRecorderPrivate.mm: Removed.
- 6:07 AM Changeset in webkit [289049] by
-
- 3 edits2 adds in trunk
RealtimeIncomingVideoSourceCocoa should not need to create IOSurfaces
https://bugs.webkit.org/show_bug.cgi?id=235952
Reviewed by Eric Carlson.
Source/WebCore:
Test: webrtc/vp8-then-h264.html
- platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:
Instead of using an IOSurface-based buffer pool, we use a regular memory buffer pool.
A follow-up should probably remove the need to convert YUV420 webrtc video frames to NV12 CVPixelBuffers in RealtimeIncomingVideoSourceCocoa,
so as to leave that to when copying the webrtc video frames into shared memory buffers used for IPC.
LayoutTests:
- webrtc/vp8-then-h264-expected.txt: Added.
- webrtc/vp8-then-h264.html: Added.
- 6:02 AM Changeset in webkit [289048] by
-
- 6 edits in trunk
Incorrect KeyframesEffect generated for background
https://bugs.webkit.org/show_bug.cgi?id=229398
<rdar://problem/82516118>
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Mark WPT progressions.
- web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt:
- web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor-expected.txt:
- web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt:
Source/WebCore:
Our keyframe merging code when dealing with input from the Web Animations JS API was incorrect.
First, we would iterate over proprties on a keyframe based on the MutableStyleProperties object we
use instead of the HashMap<CSSPropertyID, String> map we use to keep track of the properties set
on the keyframe and its original string value (which we use to return the exact same string when
getKeyframes() is called).
This was incorrect because calling MutableStyleProperties::setProperty() expands shorthands into
longhands, so our property count wouldn't accurate.
Second, honestly I have no idea what I was thinking when I wrote this code as it only ever worked
with a single property on the kefyrame to merge. We now correctly merge all properties from the
keyframe-to-merge into the previous keyframe by using MutableStyleProperties::mergeAndOverrideOnConflict()
and then iterate over all known properties in the HashMap<CSSPropertyID, String> to merge the
properties and strings input.
- animation/KeyframeEffect.cpp:
(WebCore::processPropertyIndexedKeyframes):
- 5:45 AM Changeset in webkit [289047] by
-
- 1 edit1 add in trunk/WebDriverTests
Unreviewed. Add another missing file after r288871.
- imported/w3c/tools/webdriver/webdriver/bidi/error.py: Added.
- 5:43 AM Changeset in webkit [289046] by
-
- 2 edits in trunk/Source/WebCore
[GTK][a11y] Test /webkit/WebKitAccessibility/accessible/children-changed times out
https://bugs.webkit.org/show_bug.cgi?id=236070
Reviewed by Adrian Perez de Castro.
This happens because when the new node is added the a11y object children are not updated and the wrapper for the
new child is not created.
- accessibility/atspi/AXObjectCacheAtspi.cpp:
(WebCore::AXObjectCache::postPlatformNotification): Call updateChildrenIfNecessary on AXChildrenChanged.
- 5:42 AM Changeset in webkit [289045] by
-
- 2 edits in trunk/Source/WebCore
[GTK][WPE][a11y] Handle parameter of org.a11y.atspi.Text.RemoveSelection
https://bugs.webkit.org/show_bug.cgi?id=236079
Reviewed by Adrian Perez de Castro.
- accessibility/atspi/AccessibilityObjectTextAtspi.cpp:
- 5:23 AM Changeset in webkit [289044] by
-
- 2 edits in trunk/Source/WebCore
Crash in AXIsolatedObject::associatedAXObject.
https://bugs.webkit.org/show_bug.cgi?id=236053
<rdar://problem/88413232>
Reviewed by Darin Adler.
The crash occurs because we are using an axObject pointer after we call
updateBackingStore() which may destroy the object pointed to by axObject.
This was added as a fix for
https://bugs.webkit.org/show_bug.cgi?id=220446
So I will submit a follow up patch with the correct fix for that bug as well.
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::associatedAXObject const):
- 5:21 AM Changeset in webkit [289043] by
-
- 3 edits in trunk/Source/WebCore
Add specialize type traits to GLContext
https://bugs.webkit.org/show_bug.cgi?id=236076
Reviewed by Alejandro G. Castro.
Make GLContext downcastable.
No new tests, no change in behaviour.
- platform/graphics/GLContext.h:
- platform/graphics/egl/GLContextEGL.h:
- 5:11 AM Changeset in webkit [289042] by
-
- 2 edits in trunk/Tools
WebDriver: selenium tests are executed more than once
https://bugs.webkit.org/show_bug.cgi?id=236075
Reviewed by Darin Adler.
I think this happens since we updated the pytest version. Pytest is now collecting test files that don't
contain any test like init.py files. When that's given to the runner all the tests under the directory are
executed.
- Scripts/webkitpy/webdriver_tests/pytest_runner.py:
(CollectRecorder.pytest_collectreport): Do not include files with no tests.
- 5:06 AM Changeset in webkit [289041] by
-
- 15 edits in trunk/Source/WebCore
[atspi] missing-braces clang warnings
https://bugs.webkit.org/show_bug.cgi?id=236074
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-03
Reviewed by Darin Adler.
Wrap structure padding in braces.
- accessibility/atspi/AccessibilityAtspi.cpp:
- accessibility/atspi/AccessibilityObjectActionAtspi.cpp:
- accessibility/atspi/AccessibilityObjectAtspi.cpp:
- accessibility/atspi/AccessibilityObjectComponentAtspi.cpp:
- accessibility/atspi/AccessibilityObjectDocumentAtspi.cpp:
- accessibility/atspi/AccessibilityObjectHyperlinkAtspi.cpp:
- accessibility/atspi/AccessibilityObjectHypertextAtspi.cpp:
- accessibility/atspi/AccessibilityObjectImageAtspi.cpp:
- accessibility/atspi/AccessibilityObjectSelectionAtspi.cpp:
- accessibility/atspi/AccessibilityObjectTableAtspi.cpp:
- accessibility/atspi/AccessibilityObjectTableCellAtspi.cpp:
- accessibility/atspi/AccessibilityObjectTextAtspi.cpp:
- accessibility/atspi/AccessibilityObjectValueAtspi.cpp:
- accessibility/atspi/AccessibilityRootAtspi.cpp:
- 3:39 AM Changeset in webkit [289040] by
-
- 1 edit4 adds in trunk/WebDriverTests
Unreviewed. Add missing files after r283798.
- imported/selenium/py/selenium/webdriver/common/bidi/init.py: Added.
- imported/selenium/py/selenium/webdriver/common/bidi/cdp.py: Added.
- imported/selenium/py/selenium/webdriver/remote/script_key.py: Added.
- 3:30 AM Changeset in webkit [289039] by
-
- 1 edit2 adds in trunk/WebDriverTests
Unreviewed. Add missing file after r288871.
- imported/w3c/webdriver/tests/bidi/session_subscribe/subscribe.py: Added.
- 2:13 AM Changeset in webkit [289038] by
-
- 6 edits in trunk/Source/WebKit
SampleBufferDiplayLayer should not need to create IOSurfaces
https://bugs.webkit.org/show_bug.cgi?id=235954
Reviewed by Eric Carlson.
Make use of SharedVideoFrameReader and SharedVideoFrameWriter between SampleBufferDisplayLayer and RemoteSampleBufferDisplayLayer.
Manually tested.
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h:
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.messages.in:
- WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:
- WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h:
- 2:07 AM Changeset in webkit [289037] by
-
- 5 edits in trunk/Source/JavaScriptCore
[JSC] Use MetadataTable instead of UnlinkedMetadataTable
https://bugs.webkit.org/show_bug.cgi?id=236063
rdar://88269480
Reviewed by Robin Morisset.
Use MetadataTable from profiled CodeBlock instead of UnlinkedMetadataTable in concurrent JIT compiler.
- bytecode/MetadataTable.h:
(JSC::MetadataTable::offsetInMetadataTable):
- bytecode/UnlinkedMetadataTable.h:
(JSC::UnlinkedMetadataTable::offsetInMetadataTable):
- jit/JITInlines.h:
(JSC::JIT::emitValueProfilingSite):
(JSC::JIT::loadPtrFromMetadata):
(JSC::JIT::load32FromMetadata):
(JSC::JIT::load8FromMetadata):
(JSC::JIT::store8ToMetadata):
(JSC::JIT::store32ToMetadata):
(JSC::JIT::materializePointerIntoMetadata):
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emit_op_get_from_scope):
- 1:18 AM Changeset in webkit [289036] by
-
- 1 copy in releases/WebKitGTK/webkit-2.35.2
WebKitGTK 2.35.2
- 1:16 AM Changeset in webkit [289035] by
-
- 4 edits in trunk
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.35.2 release
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.35.2.
- 12:52 AM Changeset in webkit [289034] by
-
- 3 edits in trunk/Tools
Allow using STIX Two in layout tests
https://bugs.webkit.org/show_bug.cgi?id=236048
Reviewed by Darin Adler.
Add the fonts to the allow-list.
- DumpRenderTree/mac/DumpRenderTree.mm:
(allowedFontFamilySet):
- WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::allowedFontFamilySet):
- 12:41 AM Changeset in webkit [289033] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed. Fix GTK make distcheck
Move mac specific file from Sources.txt to SourcesCocoa.txt
- Sources.txt:
- SourcesCocoa.txt:
- 12:35 AM Changeset in webkit [289032] by
-
- 29 edits1 delete in trunk
Transform interpolation should blend between shared transform function primitives
https://bugs.webkit.org/show_bug.cgi?id=235311
<rdar://problem/88012700>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Mark some tests as newly passing.
- web-platform-tests/css/css-transforms/animation/list-interpolation-expected.txt:
- web-platform-tests/css/css-transforms/animation/matrix-interpolation-expected.txt:
- web-platform-tests/css/css-transforms/animation/transform-interpolation-001-expected.txt:
- web-platform-tests/css/css-transforms/animation/transform-interpolation-002-expected.txt:
- web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt:
- web-platform-tests/css/css-transforms/animation/transform-interpolation-verify-reftests-expected.txt:
- web-platform-tests/css/css-transforms/animation/transform-translate-composition-expected.txt:
Source/WebCore:
No new tests. This is covered by existing WPT tests.
Allow direct interpolation between mismatching transform functions that share a primitive.
This fixes many tests expecting a certain computed transformation matrix in WPT, but also
allows using hardware animations more often for the CoreAnimation backend.
Rotation, scale, and translate are the only functions that have shared primitives, so they
are the only ones in this change to allow for this new behavior.
When determining if a list of keyframes has shared compatible lists of transforms, return
the vector of primitives that can represent them. In addition code for calculating big
rotations has been removed, because it was unused.
- platform/graphics/GraphicsLayer.cpp:
(WebCore::gSharedPrimitivesForTransformKeyframe): Added.
(WebCore::GraphicsLayer::getSharedPrimitivesForTransformKeyframes): Added.
- platform/graphics/GraphicsLayer.h:
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Modified to take a vector of shared
primitive types instead of a pointer to an array of operations.
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
- platform/graphics/ca/GraphicsLayerCA.h:
- platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::addAnimation): Use new method.
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::addAnimation): Ditto.
- platform/graphics/transforms/Matrix3DTransformOperation.cpp:
(WebCore::Matrix3DTransformOperation::blend): Use the new sharedPrimitiveType method
to determine if the two operations can blend.
- platform/graphics/transforms/MatrixTransformOperation.cpp:
(WebCore::MatrixTransformOperation::blend): Ditto.
- platform/graphics/transforms/PerspectiveTransformOperation.cpp:
(WebCore::PerspectiveTransformOperation::blend): Ditto.
- platform/graphics/transforms/RotateTransformOperation.cpp:
(WebCore::RotateTransformOperation::blend): Ditto.
- platform/graphics/transforms/RotateTransformOperation.h:
- platform/graphics/transforms/ScaleTransformOperation.cpp:
(WebCore::ScaleTransformOperation::blend): Ditto.
- platform/graphics/transforms/ScaleTransformOperation.h:
- platform/graphics/transforms/SkewTransformOperation.cpp:
(WebCore::SkewTransformOperation::blend): Ditto.
- platform/graphics/transforms/TransformOperation.cpp:
(WebCore::TransformOperation::sharedPrimitiveType const):
- platform/graphics/transforms/TransformOperation.h:
(WebCore::TransformOperation::primitiveType const): Added this virtual function which
return the type for the base class. Rotation, scale, and translate specialize this to
return a compatible primitive type.
- platform/graphics/transforms/TransformOperations.cpp:
(WebCore::TransformOperations::operationsMatch const): Modified to check whether operations
share primitives.
- platform/graphics/transforms/TranslateTransformOperation.cpp:
(WebCore::TranslateTransformOperation::blend): Use the new sharedPrimitiveType method.
- platform/graphics/transforms/TranslateTransformOperation.h:
LayoutTests:
Remove a duplicated baseline.
- platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt: Removed.
- 12:15 AM Changeset in webkit [289031] by
-
- 6 edits2 adds in trunk/Source/WebCore
Create PDFDocument stub
https://bugs.webkit.org/show_bug.cgi?id=235970
Reviewed by Brent Fulgham.
Create an empty stub with an iframe where the viewer will be loaded.
Changing about:blank?file= to https://mozilla.github.io/pdf.js/web/viewer.html?file= is one way
to test the stub.
That stub is guarded behind the PDF.js viewer internal setting which is only enabled in captive portal mode.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
- dom/Document.h:
(WebCore::Document::isPDFDocument const):
- html/PDFDocument.cpp: Added.
(WebCore::PDFDocument::PDFDocument):
(WebCore::m_viewerRendered):
(WebCore::PDFDocumentParser::document const):
(WebCore::PDFDocumentParser::appendBytes):
(WebCore::PDFDocumentParser::finish):
(WebCore::PDFDocument::createParser):
(WebCore::PDFDocument::createDocumentStructure):
(WebCore::PDFDocument::updateDuringParsing):
(WebCore::PDFDocument::finishedParsing):
- html/PDFDocument.h: Added.
(isType):