Timeline
May 17, 2021:
- 11:34 PM Changeset in webkit [277643] by
-
- 3 edits in trunk/Source/WebCore
Drop unused SQLiteStatement::returnsAtLeastOneResult()
https://bugs.webkit.org/show_bug.cgi?id=225901
Reviewed by Darin Adler.
- platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::returnsAtLeastOneResult): Deleted.
- platform/sql/SQLiteStatement.h:
- 10:36 PM Changeset in webkit [277642] by
-
- 4 edits in trunk/Source/WebCore
Drop SQLiteStatement::return*Results() functions
https://bugs.webkit.org/show_bug.cgi?id=225899
Reviewed by Alex Christensen.
Drop SQLiteStatement::return*Results() functions. All of them are unused
except for returnTextResults(), which is used only once in SQLiteDatabase.
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::clearAllTables):
- platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::returnTextResults): Deleted.
(WebCore::SQLiteStatement::returnIntResults): Deleted.
(WebCore::SQLiteStatement::returnInt64Results): Deleted.
(WebCore::SQLiteStatement::returnDoubleResults): Deleted.
- platform/sql/SQLiteStatement.h:
- 10:15 PM Changeset in webkit [277641] by
-
- 6 edits in trunk/Source/WebKit
Enabling IPC testing API should prevent WebContent process from getting terminated in more cases
https://bugs.webkit.org/show_bug.cgi?id=225906
Reviewed by Wenson Hsieh.
Avoid hitting debug assertions in WebContent process when a dispatched message isn't processed
in a message receivers and don't kill WebContent process in GPU processs when RemoteRenderingBackend
receives a bad IPC message.
Also fixed a typo in encodeSharedMemory where we were exiting early when the protection was ReadWrite
instead of when it was not ReadWrite or ReadOnly.
These fixes are needed to land tests for recent GPU process fixes.
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
- Scripts/webkit/messages.py:
(generate_message_handler):
- WebProcess/WebPage/IPCTestingAPI.cpp:
(WebKit::IPCTestingAPI::encodeSharedMemory):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::ensureGPUProcessConnection):
- 9:26 PM Changeset in webkit [277640] by
-
- 3 edits1 copy5 deletes in trunk/LayoutTests
[GLIB] Garden a few tests and unify some expectations
Unreviewed test gardening.
Removed some deprecated WPE baselines, moving expectations from GTK to
Glib.
- platform/glib/TestExpectations:
- platform/glib/security/block-test-expected.txt: Renamed from LayoutTests/platform/gtk/security/block-test-expected.txt.
- platform/gtk/TestExpectations:
- platform/wpe/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-case.any-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-case.any.worker-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/fetch/content-type/script.window-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/mimesniff/mime-types/charset-parameter.window-expected.txt: Removed.
- platform/wpe/security/block-test-expected.txt: Removed.
- 9:13 PM Changeset in webkit [277639] by
-
- 2 edits in branches/safari-611-branch/Source/WebKit
Apply patch. rdar://problem/78137134
- 9:10 PM Changeset in webkit [277638] by
-
- 8 edits in branches/safari-611-branch/Source
Versioning.
WebKit-7611.3.4
- 8:52 PM Changeset in webkit [277637] by
-
- 1 copy in tags/Safari-611.2.7.0.4
Tag Safari-611.2.7.0.4.
- 8:49 PM Changeset in webkit [277636] by
-
- 2 edits in branches/safari-611.2.7.0-branch/Source/WebKit
Apply patch. rdar://problem/78125245
- 8:45 PM Changeset in webkit [277635] by
-
- 8 edits in branches/safari-611.2.7.0-branch/Source
Versioning.
WebKit-7611.2.7.0.4
- 8:39 PM Changeset in webkit [277634] by
-
- 4 edits in trunk/Source/WebCore
Remove SQLiteStatement::isColumnNull and its use
https://bugs.webkit.org/show_bug.cgi?id=225892
Reviewed by Chris Dumez.
SQLiteStatement::isColumnNull is only used in SQLiteIDBBackingStore and it is actually not needed, because
SQLiteIDBBackingStore can use getColumnText to evaluate the statement and get the result. So the check is
redundant.
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::extractExistingDatabaseInfo):
- platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::isColumnNull): Deleted.
- platform/sql/SQLiteStatement.h:
- 7:35 PM Changeset in webkit [277633] by
-
- 4 edits in trunk/Source
Enable JS to emit sign posts and trace points under Options::exposeProfilersOnGlobalObject
https://bugs.webkit.org/show_bug.cgi?id=225895
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- runtime/JSGlobalObject.cpp:
(JSC::asTracePointInt):
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::asSignpostString):
(JSC::JSGlobalObject::init):
Source/WTF:
- wtf/SystemTracing.h:
- 7:34 PM Changeset in webkit [277632] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Unreviewed test gardening. imported/w3c/web-platform-tests/eventsource/eventsource-close.htm is crashing since r277601.
- platform/gtk/TestExpectations:
- 7:33 PM Changeset in webkit [277631] by
-
- 8 edits in trunk
[GPU Process] Object identifiers with the deleted value should cause MESSAGE_CHECKs
https://bugs.webkit.org/show_bug.cgi?id=225886
rdar://78114708
Reviewed by Chris Dumez.
Source/WebCore:
Implement some stricter validation around object identifiers in when decoding display list items in the GPU
Process. Currently, we only check for the empty value (i.e. raw identifier value of 0) when iterating over these
items, but treat an identifier with the deleted value as valid; instead, we should be treating items with either
empty or deleted identifiers as invalid.
To address this, we introduce a new helper method,
ObjectIdentifier::isValid, and turn existing checks for
!!identifierintoidentifier.isValid().
Test: DisplayListTests.InlineItemValidationFailure
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::ClipToImageBuffer::isValid const):
(WebCore::DisplayList::DrawImageBuffer::isValid const):
(WebCore::DisplayList::DrawNativeImage::isValid const):
(WebCore::DisplayList::DrawPattern::isValid const):
(WebCore::DisplayList::PaintFrameForMedia::isValid const):
(WebCore::DisplayList::FlushContext::isValid const):
(WebCore::DisplayList::MetaCommandChangeItemBuffer::isValid const):
(WebCore::DisplayList::MetaCommandChangeDestinationImageBuffer::isValid const):
Source/WebKit:
See WebCore/ChangeLog for more details. Use
ObjectIdentifier::isValid()instead of just checking for the empty
value, when determining whether an object identifier should trigger a message check to the web process.
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists):
Source/WTF:
See WebCore/ChangeLog for more details. Add a helper method on
ObjectIdentifierthat returns true only if it
is the empty value or deleted value.
- wtf/ObjectIdentifier.h:
(WTF::ObjectIdentifier::isValid const):
Tools:
Adjust an existing API test to verify that the deleted object identifier value triggers an inline item decoding
failure.
- TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST):
- 7:19 PM Changeset in webkit [277630] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Unreviewed test gardening. imported/w3c/web-platform-tests/resource-timing/resource_connection_reuse_mixed_content.html is failing.
- platform/glib/TestExpectations:
- 7:14 PM Changeset in webkit [277629] by
-
- 3 edits in trunk/Source/WebCore
[Win] Unreviewed debug build fix for r277601.
https://bugs.webkit.org/show_bug.cgi?id=225855
<rdar://problem/78116715>
- platform/network/curl/CookieJarDB.cpp:
(WebCore::CookieJarDB::executeSQLStatement):
- platform/win/SearchPopupMenuDB.cpp:
(WebCore::SearchPopupMenuDB::executeSQLStatement):
Removed the undefined variables from debug messages.
- 6:52 PM Changeset in webkit [277628] by
-
- 5 edits1 add in trunk
WebFrameLoaderClient::dispatchWillSendRequest sometimes resets app-bound value
https://bugs.webkit.org/show_bug.cgi?id=225829
<rdar://problem/78034595>
Reviewed by Alex Christensen.
Source/WebKit:
webPage->injectedBundleResourceLoadClient().willSendRequestForFrame
can sometimes return a completely new request. We should make sure the
app-bound value is kept when this happens.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
Tools:
API test coverage.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
- TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacyPlugIn.mm: Added.
(-[InAppBrowserPrivacyPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[InAppBrowserPrivacyPlugIn webProcessPlugInBrowserContextController:frame:willSendRequestForResource:request:redirectResponse:]):
- 6:33 PM Changeset in webkit [277627] by
-
- 14 edits9 copies in trunk
Unreviewed, reverting r277605.
Broke iOS tests
Reverted changeset:
"Remove _WKUserContentFilter and _WKUserContentExtensionStore"
https://bugs.webkit.org/show_bug.cgi?id=224391
https://commits.webkit.org/r277605
- 6:15 PM Changeset in webkit [277626] by
-
- 1 edit10 adds in trunk/LayoutTests
[GLIB] Unreviewed test gardening. Reintroduce platform specific baselines removed in r277577 that are still needed.
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/mathml/relations/css-styling/lengths-2-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Added.
- 6:06 PM Changeset in webkit [277625] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r277116): [ macOS Release wk2 ] media/modern-media-controls/pip-support/pip-support-enabled.html (layout-test) is a flaky text failure
https://bugs.webkit.org/show_bug.cgi?id=225521
Unreviewed test gardening.
Updating expectations to Pass Failure while test is reviewed.
- platform/mac-wk2/TestExpectations:
- 5:56 PM Changeset in webkit [277624] by
-
- 2 edits in branches/safari-612.1.15.0-branch/Source/WebCore
Cherry-pick r277600. rdar://problem/78130123
REGRESSION(r277425): Crash in FrameSelection::selectFrameElementInParentIfFullySelected
https://bugs.webkit.org/show_bug.cgi?id=225795
Patch by Frederic Wang <fwang@igalia.com> on 2021-05-17
Reviewed by Ryosuke Niwa.
r277425 claimed that in FrameSelection::setSelectionWithoutUpdatingAppearance,
!m_document->frame() was equivalent to !selectionEndpointsBelongToMultipleDocuments &&
!selectionIsInAnotherDocument && selectionIsInDetachedDocument, but it misses the case when
newSelection.document() is null. So this patch adds back this particular case to the
original "if" block. This patch also adds an ASSERT on m_document->frame().
No new tests.
- editing/FrameSelection.cpp: (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance): Add back the case !m_document->frame() && !newSelection.document() to the first sanity check and ASSERT on m_document->frame() after the second sanity check.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:44 PM Changeset in webkit [277623] by
-
- 2 edits in branches/safari-612.1.15.1-branch/Source/WebCore
Cherry-pick r277603. rdar://problem/78130222
Null check m_resource in SubresourceLoader::didReceiveResponse
https://bugs.webkit.org/show_bug.cgi?id=225879
Reviewed by Chris Dumez.
Add ASSERT_NOT_REACHED and RELEASE_LOG_FAULT if m_resource is null.
This will help us notice this invalid state in debug builds and diagnose strange loading failures in simulated crash logs.
On further investigation, the crash fixed in r277594 was likely already fixed by something else, but that made it more robust.
- loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::didReceiveResponse):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277603 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:44 PM Changeset in webkit [277622] by
-
- 2 edits in branches/safari-612.1.15.1-branch/Source/WebCore
Cherry-pick r277600. rdar://problem/78130132
REGRESSION(r277425): Crash in FrameSelection::selectFrameElementInParentIfFullySelected
https://bugs.webkit.org/show_bug.cgi?id=225795
Patch by Frederic Wang <fwang@igalia.com> on 2021-05-17
Reviewed by Ryosuke Niwa.
r277425 claimed that in FrameSelection::setSelectionWithoutUpdatingAppearance,
!m_document->frame() was equivalent to !selectionEndpointsBelongToMultipleDocuments &&
!selectionIsInAnotherDocument && selectionIsInDetachedDocument, but it misses the case when
newSelection.document() is null. So this patch adds back this particular case to the
original "if" block. This patch also adds an ASSERT on m_document->frame().
No new tests.
- editing/FrameSelection.cpp: (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance): Add back the case !m_document->frame() && !newSelection.document() to the first sanity check and ASSERT on m_document->frame() after the second sanity check.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:44 PM Changeset in webkit [277621] by
-
- 2 edits in branches/safari-612.1.15.1-branch/Source/WebCore
Cherry-pick r277594. rdar://problem/78130222
Null check m_resource in SubresourceLoader::didReceiveResponse
https://bugs.webkit.org/show_bug.cgi?id=225879
<rdar://78084804>
Reviewed by Chris Dumez.
- loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::didReceiveResponse):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277594 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:41 PM Changeset in webkit [277620] by
-
- 4 edits in trunk/Source/JavaScriptCore
StructureRareData::m_replacementWatchpointSets should not be a pointer to a pointer
https://bugs.webkit.org/show_bug.cgi?id=225840
Reviewed by Mark Lam.
HashMap is already just one pointer. Making it a pointer to a pointer
causes heap fragmentation. Worth about 1MB on GMail.
- runtime/Structure.cpp:
(JSC::Structure::ensurePropertyReplacementWatchpointSet):
- runtime/StructureInlines.h:
(JSC::Structure::didReplaceProperty):
(JSC::Structure::propertyReplacementWatchpointSet):
- runtime/StructureRareData.h:
- 5:26 PM Changeset in webkit [277619] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, fix the internal macOS build
Add a missing
WebCore::namespace beforeTranslationContextMenuInfo.
This error was likely masked by ausing namespace WebCore;present in an earlier unified source.
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::handleContextMenuTranslation):
- 5:11 PM Changeset in webkit [277618] by
-
- 6 edits in trunk/Source/WebCore
Drop unnecessary SQLiteDatabase::updateLastChangesCount()
https://bugs.webkit.org/show_bug.cgi?id=225885
Reviewed by Alex Christensen.
Drop unnecessary SQLiteDatabase::updateLastChangesCount() and have SQLiteDatabase::lastChanges()
rely on sqlite3_changes() instead of sqlite3_total_changes(). We started using updateLastChangesCount()
+ sqlite3_total_changes() in https://commits.webkit.org/r130891 to address an issue in WebSQL
SQLResultSet.rowsAffected would not be 0 for SELECT statement. This patch reverts r130891 and instead
sets SQLResultSet.rowsAffected when the statement is not a read-only statement.
This is covered by storage/websql/execute-sql-rowsAffected.html which is still passing after
this change.
- Modules/webdatabase/SQLStatement.cpp:
(WebCore::SQLStatement::execute):
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::lastChanges):
(WebCore::SQLiteDatabase::updateLastChangesCount): Deleted.
- platform/sql/SQLiteDatabase.h:
- platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::step):
(WebCore::SQLiteStatement::isReadOnly):
- platform/sql/SQLiteStatement.h:
- 5:09 PM Changeset in webkit [277617] by
-
- 2 edits in trunk/Source/WebCore
Fix Windows debug build.
https://bugs.webkit.org/show_bug.cgi?id=225855
- platform/network/curl/CookieJarDB.cpp:
(WebCore::CookieJarDB::executeSQLStatement):
- 5:09 PM Changeset in webkit [277616] by
-
- 10 edits in trunk
[Modern Media Controls] promote submenus items if there is only one
https://bugs.webkit.org/show_bug.cgi?id=225883
Reviewed by Eric Carlson.
Source/WebCore:
As an example, if a
<video>only has subtitles and not any other languages, the "Subtitles"
submenu should really be top-level (i.e. have "Subtitles" be the title of the entire
contextmenu instead of being a submenu of a title-less contextmenu) in the contextmenu shown
when tapping the tracks button.
Tests: media/modern-media-controls/tracks-support/auto-text-track.html
media/modern-media-controls/tracks-support/click-track-in-contextmenu.html
media/modern-media-controls/tracks-support/hidden-tracks.html
media/modern-media-controls/tracks-support/off-text-track.html
media/modern-media-controls/tracks-support/text-track-selected-via-media-api.html
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::showMediaControlsContextMenu):
Source/WebKit:
As an example, if a
<video>only has subtitles and not any other languages, the "Subtitles"
submenu should really be top-level (i.e. have "Subtitles" be the title of the entire
contextmenu instead of being a submenu of a title-less contextmenu) in the contextmenu shown
when tapping the tracks button.
- UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant showMediaControlsContextMenu:items:completionHandler:]):
LayoutTests:
- media/modern-media-controls/tracks-support/auto-text-track.html:
- media/modern-media-controls/tracks-support/click-track-in-contextmenu.html:
- media/modern-media-controls/tracks-support/hidden-tracks.html:
- media/modern-media-controls/tracks-support/off-text-track.html:
- media/modern-media-controls/tracks-support/text-track-selected-via-media-api.html:
- 4:45 PM Changeset in webkit [277615] by
-
- 6 edits in trunk/Tools
[webkitscmpy] Support testing on machines without svn installed
https://bugs.webkit.org/show_bug.cgi?id=225891
<rdar://problem/78126369>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py:
- Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.executable): Ensure whichcraft import support mock.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.enter): Mock git executable location.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
(Svn.enter): Mock svn executable location.
- 4:24 PM Changeset in webkit [277614] by
-
- 20 edits3 deletes in trunk
Remove API::Object::Type::BundlePageGroup
https://bugs.webkit.org/show_bug.cgi?id=225611
Reviewed by Brady Eidson.
Source/WebKit:
Its last use was removed in rdar://77775952
- Shared/API/APIObject.h:
- Shared/API/APIPageGroupHandle.cpp: Removed.
- Shared/API/APIPageGroupHandle.h: Removed.
- Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
- Shared/Cocoa/SharedRingBufferStorage.cpp:
(WebKit::SharedRingBufferStorage::setStorage):
(WebKit::SharedRingBufferStorage::allocate):
- Shared/UserData.cpp:
(WebKit::UserData::encode):
(WebKit::UserData::decode):
- Shared/mac/MediaFormatReader/MediaSampleCursor.h:
- Sources.txt:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::transformHandlesToObjects):
(WebKit::WebProcessProxy::transformObjectsToHandles):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.mm:
(-[WKWebProcessPlugInPageGroup identifier]): Deleted.
(-[WKWebProcessPlugInPageGroup dealloc]): Deleted.
(-[WKWebProcessPlugInPageGroup _apiObject]): Deleted.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroupInternal.h: Removed.
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController pageGroup]): Deleted.
- WebProcess/WebPage/WebPageGroupProxy.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::transformHandlesToObjects):
(WebKit::WebProcess::transformObjectsToHandles):
Tools:
Some tests were trying to encode a page group, but it was unused so I just removed them.
- TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit/DocumentStartUserScriptAlertCrash.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit/InjectedBundleDisableOverrideBuiltinsBehavior.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit/InjectedBundleMakeAllShadowRootsOpen.cpp:
(TestWebKitAPI::TEST):
- 4:20 PM Changeset in webkit [277613] by
-
- 5 edits1 add in trunk
REGRESSION (r271119): Object methods defined with shorthand notation cannot access "caller" in non-strict mode
https://bugs.webkit.org/show_bug.cgi?id=225277
Reviewed by Darin Adler.
JSTests:
- stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js: Now covers #157461 and #157863.
- stress/function-caller-cross-realm-via-call-apply.js: Added, coverage for #34553.
- stress/function-hidden-as-caller.js: Also adds test case for #102276.
Source/JavaScriptCore:
This patch loosens
function.callerto allow non-strict getters, setters, arrow functions,
and ES6 methods to be returned as callers, fixing web compatibility.
The intent of r230662 is preserved: generator / async functions are never exposed. There is
no good way to acquire wrapper function from the internal body one, nor from its arguments.
Also, this behavior is on standards track [1] (seems to be considered desirable).
[1]: https://github.com/claudepache/es-legacy-function-reflection/blob/master/spec.md#get-functionprototypecaller (step 14)
- runtime/JSFunction.cpp:
(JSC::JSC_DEFINE_CUSTOM_GETTER):
- 4:12 PM Changeset in webkit [277612] by
-
- 7 edits1 add in trunk/Tools
Style checker should check for non-inclusive terminology
https://bugs.webkit.org/show_bug.cgi?id=213088
Reviewed by Jonathan Bedard.
Style checker should check for non-inclusive terminology so that we can avoid unintentional addition
of non-inclusive terminology in our codebase.
- Scripts/webkitpy/style/checkers/inclusive_language.py: Added inclusive language checker.
(InclusiveLanguageChecker):
(InclusiveLanguageChecker.check):
- Scripts/webkitpy/style/checkers/changelog.py: Check for inclusive language.
- Scripts/webkitpy/style/checkers/cpp.py: Ditto.
- Scripts/webkitpy/style/checkers/js.py: Ditto.
- Scripts/webkitpy/style/checkers/python.py: Ditto.
- Scripts/webkitpy/style/checkers/text.py: Ditto.
- Scripts/report-non-inclusive-language: Ignore the newly added inclusive_language.py file.
- 4:03 PM Changeset in webkit [277611] by
-
- 8 edits in branches/safari-612.1.12-branch/Source
Versioning.
WebKit-7612.1.12.10
- 4:00 PM Changeset in webkit [277610] by
-
- 1 copy in tags/Safari-612.1.12.9
Tag Safari-612.1.12.9.
- 3:55 PM Changeset in webkit [277609] by
-
- 2 edits in trunk/Source/WebCore
[GTK] [2.33.1] Fails to build when HAVE_OPENGL_ES_3 is on
https://bugs.webkit.org/show_bug.cgi?id=225867
Reviewed by Adrian Perez de Castro.
Include GLES3/gl3.h if HAVE_OPENGL_ES_3 is set.
- platform/graphics/opengl/ExtensionsGLOpenGLES.h:
- 3:11 PM Changeset in webkit [277608] by
-
- 2 edits in trunk/Tools
Fix clean build after r277606
https://bugs.webkit.org/show_bug.cgi?id=223658
- TestWebKitAPI/Tests/WebKitCocoa/ContentSecurityPolicy.mm:
(TEST):
Use API instead of removed API.
Why EWS didn't find this, we may never know.
- 2:26 PM Changeset in webkit [277607] by
-
- 8 edits in trunk/Source
Use kAudioObjectPropertyElementMain where available
https://bugs.webkit.org/show_bug.cgi?id=224635
Patch by Alex Christensen <achristensen@webkit.org> on 2021-05-17
Reviewed by Eric Carlson.
Source/WebCore:
- platform/audio/mac/AudioHardwareListenerMac.cpp:
(WebCore::isAudioHardwareProcessRunning):
(WebCore::currentDeviceSupportedBufferSizes):
(WebCore::processIsRunningPropertyDescriptor):
(WebCore::outputDevicePropertyDescriptor):
- platform/audio/mac/AudioSessionMac.mm:
(WebCore::defaultDevice):
(WebCore::defaultDeviceTransportIsBluetooth):
(WebCore::AudioSessionPrivate::addSampleRateObserverIfNeeded):
(WebCore::AudioSessionPrivate::addBufferSizeObserverIfNeeded):
(WebCore::AudioSession::sampleRate const):
(WebCore::AudioSession::bufferSize const):
(WebCore::AudioSession::maximumNumberOfOutputChannels const):
(WebCore::AudioSession::setPreferredBufferSize):
(WebCore::AudioSession::isMuted const):
(WebCore::AudioSession::addMutedStateObserver):
(WebCore::AudioSession::removeMutedStateObserver):
- platform/mediastream/mac/CoreAudioCaptureDevice.cpp:
(WebCore::getDeviceInfo):
(WebCore::CoreAudioCaptureDevice::CoreAudioCaptureDevice):
(WebCore::CoreAudioCaptureDevice::relatedAudioDeviceIDs):
- platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:
(WebCore::deviceHasInputStreams):
(WebCore::deviceHasOutputStreams):
(WebCore::isValidCaptureDevice):
(WebCore::CoreAudioCaptureDeviceManager::coreAudioCaptureDevices):
(WebCore::computeAudioDeviceList):
- platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioSharedUnit::defaultOutputDevice):
Source/WTF:
- wtf/PlatformHave.h:
- 2:21 PM Changeset in webkit [277606] by
-
- 5 edits in trunk
[Cocoa] Remove prototype loadSimulatedRequest methods
https://bugs.webkit.org/show_bug.cgi?id=223658
Patch by Alex Christensen <achristensen@webkit.org> on 2021-05-17
Reviewed by Geoffrey Garen.
Source/WebKit:
Now that rdar://75892301 is fixed we can remove the original API.
- UIProcess/API/Cocoa/WKWebView.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadSimulatedRequest:withResponse:responseData:]): Deleted.
(-[WKWebView loadSimulatedRequest:withResponseHTMLString:]): Deleted.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewLoadAPIs.mm:
(TEST):
- 2:13 PM Changeset in webkit [277605] by
-
- 14 edits9 deletes in trunk
Remove _WKUserContentFilter and _WKUserContentExtensionStore
https://bugs.webkit.org/show_bug.cgi?id=224391
Patch by Alex Christensen <achristensen@webkit.org> on 2021-05-17
Reviewed by Darin Adler.
Source/WebKit:
I removed their use in rdar://75889414
They were replaced by WKContentRuleList and WKContentRuleListStore.
- UIProcess/API/Cocoa/WKUserContentController.mm:
(-[WKUserContentController _addUserContentFilter:]):
(-[WKUserContentController _removeAllUserContentFilters]):
- UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
- UIProcess/API/Cocoa/_WKUserContentExtensionStore.h:
- UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm:
(+[_WKUserContentExtensionStore defaultStore]):
(+[_WKUserContentExtensionStore storeWithURL:]):
(-[_WKUserContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]):
(-[_WKUserContentExtensionStore lookupContentExtensionForIdentifier:completionHandler:]):
(-[_WKUserContentExtensionStore removeContentExtensionForIdentifier:completionHandler:]):
(toUserContentRuleListStoreError): Deleted.
(-[_WKUserContentExtensionStore _apiObject]): Deleted.
(-[_WKUserContentExtensionStore _removeAllContentExtensions]): Deleted.
(-[_WKUserContentExtensionStore _invalidateContentExtensionVersionForIdentifier:]): Deleted.
(-[_WKUserContentExtensionStore _initWithWKContentRuleListStore:]): Deleted.
(-[_WKUserContentExtensionStore _contentRuleListStore]): Deleted.
- UIProcess/API/Cocoa/_WKUserContentExtensionStoreInternal.h: Removed.
- UIProcess/API/Cocoa/_WKUserContentExtensionStorePrivate.h: Removed.
- UIProcess/API/Cocoa/_WKUserContentFilter.h:
- UIProcess/API/Cocoa/_WKUserContentFilter.mm:
(-[_WKUserContentFilter _initWithWKContentRuleList:]):
(-[_WKUserContentFilter _apiObject]): Deleted.
- UIProcess/API/Cocoa/_WKUserContentFilterInternal.h: Removed.
- UIProcess/API/Cocoa/_WKUserContentFilterPrivate.h: Removed.
- UIProcess/WebProcessPool.h:
- WebKit.xcodeproj/project.pbxproj:
Tools:
- MiniBrowser/mac/ExtensionManagerWindowController.m:
(-[ExtensionManagerWindowController init]):
(-[ExtensionManagerWindowController add:]):
(-[ExtensionManagerWindowController remove:]):
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/_WKUserContentExtensionStore.mm: Removed.
These tests had already been copied to a version that uses WKContentRuleList.
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::resetContentExtensions):
- WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::configureContentExtensionForTest):
- 1:51 PM Changeset in webkit [277604] by
-
- 2 edits in trunk/LayoutTests
[ Mac ] imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-process-frozen-array.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=225882
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 1:27 PM Changeset in webkit [277603] by
-
- 2 edits in trunk/Source/WebCore
Null check m_resource in SubresourceLoader::didReceiveResponse
https://bugs.webkit.org/show_bug.cgi?id=225879
Reviewed by Chris Dumez.
Add ASSERT_NOT_REACHED and RELEASE_LOG_FAULT if m_resource is null.
This will help us notice this invalid state in debug builds and diagnose strange loading failures in simulated crash logs.
On further investigation, the crash fixed in r277594 was likely already fixed by something else, but that made it more robust.
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didReceiveResponse):
- 12:42 PM Changeset in webkit [277602] by
-
- 3 edits in trunk/Source/WebCore
[GPU Process] Validate DocumentMarkerLineStyle::Mode when decoding DrawDotsForDocumentMarker
https://bugs.webkit.org/show_bug.cgi?id=225874
rdar://77885775
Reviewed by Simon Fraser.
Add validation around the style mode enum in
DrawDotsForDocumentMarker'sDocumentMarkerLineStyle. To ensure
that these enum values are safely decoded when deserializingDrawDotsForDocumentMarkeritems from arbitrary
data, we store and read the style mode asDocumentMarkerLineStyle::Mode's underlying type: auint8_t. Upon
item validation, we'll then returnfalsefromisValid()in the case where the underlying value is not a
validDocumentMarkerLineStyle::Mode.
This is necessary because copying invalid enum class types triggers undefined behavior in C++, so we need to
avoid copying the enum value as aDocumentMarkerLineStyle::Modeprior to validation.
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::operator<<):
(WebCore::DisplayList::DrawDotsForDocumentMarker::isValid const):
- platform/graphics/displaylists/DisplayListItems.h:
- 12:26 PM Changeset in webkit [277601] by
-
- 24 edits in trunk/Source
Avoid more String creations when preparing SQLite statements
https://bugs.webkit.org/show_bug.cgi?id=225855
Reviewed by Alex Christensen.
Avoid more String creations when preparing SQLite statements by using ASCIILiteral. Also rename the
Source/WebCore:
SQLiteDatabase::prepareStatement() / SQLiteDatabase::executeCommand() overloads that take in a
String to make sure they are not called by mistake.
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::v3RecordsTableSchema):
(WebCore::IDBServer::v3RecordsTableSchemaAlternate):
(WebCore::IDBServer::v3IndexRecordsTableSchema):
(WebCore::IDBServer::v3IndexRecordsTableSchemaAlternate):
(WebCore::IDBServer::blobRecordsTableSchema):
(WebCore::IDBServer::blobRecordsTableSchemaAlternate):
(WebCore::IDBServer::blobFilesTableSchema):
(WebCore::IDBServer::blobFilesTableSchemaAlternate):
(WebCore::IDBServer::createOrMigrateRecordsTableIfNecessary):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidRecordsTable):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsTable):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::createAndPopulateInitialDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidObjectStoreInfoTable):
(WebCore::IDBServer::SQLiteIDBBackingStore::migrateIndexInfoTableForIDUpdate):
(WebCore::IDBServer::SQLiteIDBBackingStore::migrateIndexRecordsTableForIDUpdate):
- Modules/indexeddb/server/SQLiteIDBCursor.cpp:
(WebCore::IDBServer::SQLiteIDBCursor::createSQLiteStatement):
(WebCore::IDBServer::SQLiteIDBCursor::resetAndRebindPreIndexStatementIfNecessary):
- Modules/webdatabase/Database.cpp:
(WebCore::setTextValueInDatabase):
(WebCore::retrieveTextResultFromDatabase):
(WebCore::Database::performOpenAndVerify):
- Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::openTrackerDatabase):
(WebCore::DatabaseTracker::deleteDatabaseFileIfEmpty):
- Modules/webdatabase/SQLStatement.cpp:
(WebCore::SQLStatement::execute):
- loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::executeSQLCommand):
(WebCore::ApplicationCacheStorage::verifySchemaVersion):
(WebCore::ApplicationCacheStorage::openDatabase):
(WebCore::ApplicationCacheStorage::empty):
(WebCore::ApplicationCacheStorage::checkForDeletedResources):
- loader/appcache/ApplicationCacheStorage.h:
- platform/network/curl/CookieJarDB.cpp:
(WebCore::CookieJarDB::verifySchemaVersion):
(WebCore::CookieJarDB::createPrepareStatement):
(WebCore::executeSQLStatement):
(WebCore::CookieJarDB::executeSqlSlow):
(WebCore::CookieJarDB::executeSql):
- platform/network/curl/CookieJarDB.h:
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::setMaximumSize):
(WebCore::SQLiteDatabase::setSynchronous):
(WebCore::SQLiteDatabase::executeCommandSlow):
(WebCore::SQLiteDatabase::tableExists):
(WebCore::SQLiteDatabase::clearAllTables):
(WebCore::SQLiteDatabase::prepareStatementSlow):
(WebCore::SQLiteDatabase::prepareHeapStatementSlow):
- platform/sql/SQLiteDatabase.h:
- platform/sql/SQLiteTransaction.cpp:
(WebCore::SQLiteTransaction::begin):
(WebCore::SQLiteTransaction::commit):
(WebCore::SQLiteTransaction::rollback):
- platform/win/SearchPopupMenuDB.cpp:
(WebCore::SearchPopupMenuDB::verifySchemaVersion):
(WebCore::executeSQLStatement):
(WebCore::SearchPopupMenuDB::executeSimpleSql):
- platform/win/SearchPopupMenuDB.h:
Source/WebKit:
SQLiteDatabase::prepareStatement() / SQLiteDatabase::executeCommand() overloads that take in a
String to make sure they are not called by mistake.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::currentTableAndIndexQueries):
(WebKit::insertDistinctValuesInTableStatement):
(WebKit::ResourceLoadStatisticsDatabaseStore::migrateDataToNewTablesIfNecessary):
(WebKit::ResourceLoadStatisticsDatabaseStore::columnsForTable):
(WebKit::ResourceLoadStatisticsDatabaseStore::addMissingColumnsToTable):
(WebKit::ResourceLoadStatisticsDatabaseStore::renameColumnInTable):
(WebKit::ResourceLoadStatisticsDatabaseStore::insertDomainRelationshipList):
(WebKit::joinSubStatisticsForSorting):
(WebKit::ResourceLoadStatisticsDatabaseStore::aggregatedThirdPartyData const):
(WebKit::ResourceLoadStatisticsDatabaseStore::incrementRecordsDeletedCountForDomains):
(WebKit::ResourceLoadStatisticsDatabaseStore::markAsPrevalentIfHasRedirectedToPrevalent):
(WebKit::ResourceLoadStatisticsDatabaseStore::findNotVeryPrevalentResources):
(WebKit::ResourceLoadStatisticsDatabaseStore::grandfatherDataForDomains):
(WebKit::ResourceLoadStatisticsDatabaseStore::setDomainsAsPrevalent):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearGrandfathering):
(WebKit::ResourceLoadStatisticsDatabaseStore::pruneStatisticsIfNeeded):
(WebKit::ResourceLoadStatisticsDatabaseStore::getSubStatisticStatement const):
(WebKit::ResourceLoadStatisticsDatabaseStore::appendSubStatisticList const):
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- NetworkProcess/WebStorage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::openDatabase):
(WebKit::LocalStorageDatabase::migrateItemTableIfNeeded):
- UIProcess/API/glib/IconDatabase.cpp:
(WebKit::IconDatabase::createTablesIfNeeded):
(WebKit::IconDatabase::populatePageURLToIconURLMap):
Source/WebKitLegacy:
SQLiteDatabase::prepareStatement() / SQLiteDatabase::executeCommand() overloads that take in a
String to make sure they are not called by mistake.
- Storage/StorageAreaSync.cpp:
(WebKit::StorageAreaSync::openDatabase):
(WebKit::StorageAreaSync::migrateItemTableIfNeeded):
- Storage/StorageTracker.cpp:
(WebKit::StorageTracker::openTrackerDatabase):
- 12:09 PM Changeset in webkit [277600] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r277425): Crash in FrameSelection::selectFrameElementInParentIfFullySelected
https://bugs.webkit.org/show_bug.cgi?id=225795
Patch by Frederic Wang <fwang@igalia.com> on 2021-05-17
Reviewed by Ryosuke Niwa.
r277425 claimed that in FrameSelection::setSelectionWithoutUpdatingAppearance,
!m_document->frame() was equivalent to !selectionEndpointsBelongToMultipleDocuments &&
!selectionIsInAnotherDocument && selectionIsInDetachedDocument, but it misses the case when
newSelection.document() is null. So this patch adds back this particular case to the
original "if" block. This patch also adds an ASSERT on m_document->frame().
No new tests.
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance): Add back the case
!m_document->frame() && !newSelection.document() to the first sanity check and ASSERT on
m_document->frame() after the second sanity check.
- 12:07 PM Changeset in webkit [277599] by
-
- 2 edits in trunk/LayoutTests
Skip WebXR tests again. They are flakey.
- 11:54 AM Changeset in webkit [277598] by
-
- 29 edits1 add1 delete in branches/safari-612.1.15.1-branch
Cherry-pick r277505. rdar://problem/78110796
Promote
-[WKWebView _pageExtendedBackgroundColor]SPI to-[WKWebView underPageBackgroundColor]API
https://bugs.webkit.org/show_bug.cgi?id=225615
<rdar://problem/76568094>
Reviewed by Wenson Hsieh.
Source/WebCore:
underPageBackgroundColoris anull_resettableproperty that will return (in order of validity)
- the most recent non-null value provided
- the CSS
background-colorof the<body>and/or<html>(this is the current value of_pageExtendedBackgroundColor) - the underlying platform view's background color
Modifications to this property will not have any effect until control is returned to the runloop.
Tests: WKWebViewUnderPageBackgroundColor.OnLoad
WKWebViewUnderPageBackgroundColor.SingleSolidColor
WKWebViewUnderPageBackgroundColor.SingleBlendedColor
WKWebViewUnderPageBackgroundColor.MultipleSolidColors
WKWebViewUnderPageBackgroundColor.MultipleBlendedColors
WKWebViewUnderPageBackgroundColor.KVO
WKWebViewUnderPageBackgroundColor.MatchesScrollView
- page/Page.h: (WebCore::Page::underPageBackgroundColorOverride const): Added.
- page/Page.cpp:
(WebCore::Page::setUnderPageBackgroundColorOverride): Added.
Hold the client-overriden value for
underPageBackgroundColorso that it can be used when drawing the overscroll layer.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateLayerForOverhangAreasBackgroundColor):
Remove the experimental settings
UseSampledPageTopColorForScrollAreaBackgroundColorandUseThemeColorForScrollAreaBackgroundColornow that clients can override the default overscroll area background color using-[WKWebView setUnderPageBackgroundColor:].
- dom/Document.cpp:
(WebCore::Document::themeColorChanged):
It's no longer necessary to force the overscroll area to redraw since that'll be handled by
a client calling
-[WKWebView setUnderPageBackgroundColor:](possibly in response to a-[WKWebView themeColor]KVO notification).
Source/WebKit:
underPageBackgroundColoris anull_resettableproperty that will return (in order of validity)
- the most recent non-null value provided
- the CSS
background-colorof the<body>and/or<html>(this is the current value of_pageExtendedBackgroundColor) - the underlying platform view's background color
Modifications to this property will not have any effect until control is returned to the runloop.
- UIProcess/API/Cocoa/WKWebView.h:
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView underPageBackgroundColor]): Added. (-[WKWebView setUnderPageBackgroundColor:]): Added. (+[WKWebView automaticallyNotifiesObserversOfUnderPageBackgroundColor]): Added.
- UIProcess/API/ios/WKWebViewIOS.mm:
(baseScrollViewBackgroundColor):
(scrollViewBackgroundColor):
Remove the experimental settings
UseSampledPageTopColorForScrollAreaBackgroundColorandUseThemeColorForScrollAreaBackgroundColornow that clients can override the default overscroll area background color using-[WKWebView setUnderPageBackgroundColor:].
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::underPageBackgroundColor const): Added. (WebKit::WebPageProxy::setUnderPageBackgroundColorOverride): Added. (WebKit::WebPageProxy::pageExtendedBackgroundColorDidChange): (WebKit::WebPageProxy::platformUnderPageBackgroundColor const): Added. (WebKit::WebPageProxy::scrollAreaBackgroundColor const): Deleted.
- UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::platformUnderPageBackgroundColor const): Added.
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::platformUnderPageBackgroundColor const): Added.
Store the client-overriden value for
underPageBackgroundColorand manage state changes.
- UIProcess/PageClient.h: (WebKit::PageClient::underPageBackgroundColorWillChange): Added. (WebKit::PageClient::underPageBackgroundColorDidChange): Added.
- UIProcess/Cocoa/PageClientImplCocoa.h:
- UIProcess/Cocoa/PageClientImplCocoa.mm:
(WebKit::PageClientImplCocoa::underPageBackgroundColorWillChange): Added.
(WebKit::PageClientImplCocoa::underPageBackgroundColorDidChange): Added.
Add ObjC KVO support for
-[WKWebView underPageBackgroundColor].
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::contentViewBackgroundColor): Added.
Provide a way to get the
backgroundColorof theWKContentView. This is needed on iOS becausescrollViewBackgroundColor(nowWebPageProxy::platformUnderPageBackgroundColor) would use this value before falling back to the underlying platform view's background color.
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setUnderPageBackgroundColorOverride): Added.
Pass the client-overriden value for
underPageBackgroundColorto the WebProcess so that it can be used when drawing the overscroll layer.
- UIProcess/ViewSnapshotStore.cpp:
(WebKit::ViewSnapshotStore::recordSnapshot):
Go back to using the
pageExtendedBackgroundColor(before r273083).
Source/WTF:
underPageBackgroundColoris anull_resettableproperty that will return (in order of validity)
- the most recent non-null value provided
- the CSS
background-colorof the<body>and/or<html>(this is the current value of_pageExtendedBackgroundColor) - the underlying platform view's background color
Modifications to this property will not have any effect until control is returned to the runloop.
- Scripts/Preferences/WebPreferencesInternal.yaml:
Remove the experimental settings
UseSampledPageTopColorForScrollAreaBackgroundColorandUseThemeColorForScrollAreaBackgroundColornow that clients can override the default overscroll area background color using-[WKWebView setUnderPageBackgroundColor:].
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewUnderPageBackgroundColor.mm: Renamed from PageExtendedBackgroundColor.mm. (defaultBackgroundColor): Added. (TEST.WKWebViewUnderPageBackgroundColor.OnLoad): (TEST.WKWebViewUnderPageBackgroundColor.SingleSolidColor): Added. (TEST.WKWebViewUnderPageBackgroundColor.SingleBlendedColor): Added. (TEST.WKWebViewUnderPageBackgroundColor.MultipleSolidColors): Added. (TEST.WKWebViewUnderPageBackgroundColor.MultipleBlendedColors): Added. (-[WKWebViewUnderPageBackgroundColorObserver initWithWebView:]): Added. (-[WKWebViewUnderPageBackgroundColorObserver observeValueForKeyPath:ofObject:change:context:]): Added. (TEST.WKWebViewUnderPageBackgroundColor.KVO): (TEST.WKWebViewUnderPageBackgroundColor.MatchesScrollView): Added. (TEST.WKWebViewUnderPageBackgroundColor.MultipleStyles): Deleted. (-[WKWebViewPageExtendedBackgroundColorObserver initWithWebView:]): Deleted. (-[WKWebViewPageExtendedBackgroundColorObserver observeValueForKeyPath:ofObject:change:context:]): Deleted.
- TestWebKitAPI/Tests/WebKitCocoa/SampledPageTopColor.mm: (createWebViewWithSampledPageTopColorMaxDifference): (TEST.SampledPageTopColor.ExperimentalUseSampledPageTopColorForScrollAreaBackgroundColor): Deleted.
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewThemeColor.mm:
(createWebView): Deleted.
(TEST.WKWebView.ExperimentalUseThemeColorForScrollAreaBackgroundColor): Deleted.
Remove the experimental settings
UseSampledPageTopColorForScrollAreaBackgroundColorandUseThemeColorForScrollAreaBackgroundColornow that clients can override the default overscroll area background color using-[WKWebView setUnderPageBackgroundColor:].
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277505 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:54 AM Changeset in webkit [277597] by
-
- 2 edits in branches/safari-612.1.15.1-branch/Source/WebCore
Cherry-pick r277459. rdar://problem/78110796
[macOS] experimental "Use theme color for scroll area background" isn't working
https://bugs.webkit.org/show_bug.cgi?id=225726
<rdar://problem/77933000>
Reviewed by Tim Horton.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateLayerForOverhangAreasBackgroundColor):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
Fix last remaining
m_layerForOverhangAreas->setBackgroundColorto use the helper functionRenderLayerCompositor::updateLayerForOverhangAreasBackgroundColorinstead so that all paths that update the overscroll area color check the experimental settings too.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277459 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:54 AM Changeset in webkit [277596] by
-
- 2 edits in branches/safari-612.1.15.1-branch/Source/WebKit
Cherry-pick r277528. rdar://problem/78109685
REGRESSION (r269824): Random tile corruption when scrolling/zooming in macCatalyst
https://bugs.webkit.org/show_bug.cgi?id=225837
<rdar://problem/75053997>
Reviewed by Simon Fraser.
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: (WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer): Mark the newly front buffer non-volatile before painting into it. This was lost in r269824. Oddly, this caused less trouble than one might expect, except on some particular hardware.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277528 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:54 AM Changeset in webkit [277595] by
-
- 35 edits in branches/safari-612.1.15.1-branch/Source
Cherry-pick r277453. rdar://problem/78108967
Add textIndicator bounce for AppHighlights on scroll.
https://bugs.webkit.org/show_bug.cgi?id=225727
Reviewed by Tim Horton.
- Modules/highlight/AppHighlightStorage.cpp: (WebCore::AppHighlightStorage::attemptToRestoreHighlightAndScroll):
- loader/EmptyClients.cpp: (WebCore::EmptyChromeClient::setTextIndicator const):
- loader/EmptyClients.h:
- page/ChromeClient.h:
- page/TextIndicator.h:
- page/cocoa/WebTextIndicatorLayer.h:
- page/cocoa/WebTextIndicatorLayer.mm: (-[WebTextIndicatorLayer initWithFrame:textIndicator:margin:offset:]): (createBounceAnimation): (-[WebTextIndicatorLayer _animationDuration]):
- page/mac/TextIndicatorWindow.h:
- page/mac/TextIndicatorWindow.mm: (WebCore::TextIndicatorWindow::~TextIndicatorWindow): (WebCore::TextIndicatorWindow::clearTextIndicator): (WebCore::TextIndicatorWindow::setTextIndicator):
Use factored out textIndicator code to add a bounce to an appHighlight
when it is scrolled to.
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm: (-[WKWindowVisibilityObserver _dictionaryLookupPopoverWillClose:]): (WebKit::WebViewImpl::setTextIndicator): (WebKit::WebViewImpl::clearTextIndicatorWithAnimation): (WebKit::WebViewImpl::dismissContentRelativeChildWindowsWithAnimationFromViewOnly): (WebKit::WebViewImpl::dismissContentRelativeChildWindowsFromViewOnly):
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setTextIndicator): (WebKit::WebPageProxy::clearTextIndicator):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::setTextIndicator): (WebKit::PageClientImpl::clearTextIndicator): (WebKit::PageClientImpl::setTextIndicatorAnimationProgress):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView setUpTextIndicator:]): (-[WKContentView clearTextIndicator:]): (-[WKContentView setTextIndicatorAnimationProgress:]): (-[WKContentView teardownTextIndicatorLayer]): (-[WKContentView startFadeOut]):
- UIProcess/mac/PageClientImplMac.h:
- UIProcess/mac/PageClientImplMac.mm: (WebKit::PageClientImpl::setTextIndicator): (WebKit::PageClientImpl::clearTextIndicator): (WebKit::PageClientImpl::didPerformDictionaryLookup):
- UIProcess/mac/WKImmediateActionController.mm: (-[WKImmediateActionController _animationControllerForText]):
- WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::setTextIndicator const):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/FindController.cpp: (WebKit::FindController::updateFindIndicator):
- WebCoreSupport/WebChromeClient.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:44 AM Changeset in webkit [277594] by
-
- 2 edits in trunk/Source/WebCore
Null check m_resource in SubresourceLoader::didReceiveResponse
https://bugs.webkit.org/show_bug.cgi?id=225879
<rdar://78084804>
Reviewed by Chris Dumez.
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didReceiveResponse):
- 11:42 AM Changeset in webkit [277593] by
-
- 8 edits in branches/safari-612.1.15.1-branch/Source
Versioning.
WebKit-7612.1.15.1.1
- 11:35 AM Changeset in webkit [277592] by
-
- 35 edits in branches/safari-612.1.15.0-branch/Source
Cherry-pick r277453. rdar://problem/78112386
Add textIndicator bounce for AppHighlights on scroll.
https://bugs.webkit.org/show_bug.cgi?id=225727
Reviewed by Tim Horton.
- Modules/highlight/AppHighlightStorage.cpp: (WebCore::AppHighlightStorage::attemptToRestoreHighlightAndScroll):
- loader/EmptyClients.cpp: (WebCore::EmptyChromeClient::setTextIndicator const):
- loader/EmptyClients.h:
- page/ChromeClient.h:
- page/TextIndicator.h:
- page/cocoa/WebTextIndicatorLayer.h:
- page/cocoa/WebTextIndicatorLayer.mm: (-[WebTextIndicatorLayer initWithFrame:textIndicator:margin:offset:]): (createBounceAnimation): (-[WebTextIndicatorLayer _animationDuration]):
- page/mac/TextIndicatorWindow.h:
- page/mac/TextIndicatorWindow.mm: (WebCore::TextIndicatorWindow::~TextIndicatorWindow): (WebCore::TextIndicatorWindow::clearTextIndicator): (WebCore::TextIndicatorWindow::setTextIndicator):
Use factored out textIndicator code to add a bounce to an appHighlight
when it is scrolled to.
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm: (-[WKWindowVisibilityObserver _dictionaryLookupPopoverWillClose:]): (WebKit::WebViewImpl::setTextIndicator): (WebKit::WebViewImpl::clearTextIndicatorWithAnimation): (WebKit::WebViewImpl::dismissContentRelativeChildWindowsWithAnimationFromViewOnly): (WebKit::WebViewImpl::dismissContentRelativeChildWindowsFromViewOnly):
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setTextIndicator): (WebKit::WebPageProxy::clearTextIndicator):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::setTextIndicator): (WebKit::PageClientImpl::clearTextIndicator): (WebKit::PageClientImpl::setTextIndicatorAnimationProgress):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView setUpTextIndicator:]): (-[WKContentView clearTextIndicator:]): (-[WKContentView setTextIndicatorAnimationProgress:]): (-[WKContentView teardownTextIndicatorLayer]): (-[WKContentView startFadeOut]):
- UIProcess/mac/PageClientImplMac.h:
- UIProcess/mac/PageClientImplMac.mm: (WebKit::PageClientImpl::setTextIndicator): (WebKit::PageClientImpl::clearTextIndicator): (WebKit::PageClientImpl::didPerformDictionaryLookup):
- UIProcess/mac/WKImmediateActionController.mm: (-[WKImmediateActionController _animationControllerForText]):
- WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::setTextIndicator const):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/FindController.cpp: (WebKit::FindController::updateFindIndicator):
- WebCoreSupport/WebChromeClient.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:35 AM Changeset in webkit [277591] by
-
- 5 edits2 adds in branches/safari-612.1.15.0-branch
Cherry-pick r277452. rdar://problem/78109565
REGRESSION (r276945): [iOS] Focus rings are too large
https://bugs.webkit.org/show_bug.cgi?id=225778
<rdar://problem/77858341>
Reviewed by Tim Horton.
Source/WebCore:
r276945 updated scaling logic to ensure that the scale of the base CTM
matches the device scale factor. The change itself makes our base CTM
more correct, but exposed a longstanding bug with our focus ring
implementation.
Focus rings are drawn using CoreGraphics, using CGFocusRingStyle. On
macOS, the style is initialized using NSInitializeCGFocusRingStyleForTime.
However, on iOS, we initialize the style ourselves, using UIKit constants.
Currently, the focus ring's style's radius is set to
+[UIFocusRingStyle cornerRadius], a constant of 8. This is the longstanding
issue. CGFocusRingStyle's radius is not a corner radius, but is the
width of the focus ring. In UIKit, this width is represented by
+[UIFocusRingStyle borderThickness], a constant of 3. WebKit has always
intended to match this width, as evidenced by the default outline-width
of 3px in the UA style sheet.
Considering the large disparity between the existing and expected radius
value, it may be surprising that this mistake has gone unnoticed since
2019, when focus rings were first introduced on iOS. This is where r276945
comes into play. Prior to r276945, the scale of the base CTM did not match
the device scale factor. This meant that CG scaled down the constant of 8
to 4 CSS pixels (1 (base CTM) / 2 (device scale factor)). After r276945,
the two scales are equal and the focus ring is drawn as 8 CSS pixels, much
larger than the expected 3px.
Test: fast/forms/ios/focus-ring-size.html
- platform/graphics/cocoa/GraphicsContextCocoa.mm: (WebCore::drawFocusRingAtTime):
To fix, use the correct SPI to get the focus ring width,
+[UIFocusRingStyle borderThickness]. This ensures that focus rings have
the right width, following r276945.
The change also fixes focus ring repaint issues that arose from the
fact that the outline-width was 3px, but the painted width was 4px.
Source/WebCore/PAL:
- pal/spi/ios/UIKitSPI.h:
LayoutTests:
Added a regression test to verify the size of the focus ring on iOS.
The test works by drawing an overlay on top of an input element, that
is just large enough to obscure the focus ring. If the focus ring is
too large, the ring will not obscured, leading to a mismatch failure.
- fast/forms/ios/focus-ring-size-expected.html: Added.
- fast/forms/ios/focus-ring-size.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:28 AM Changeset in webkit [277590] by
-
- 8 edits in branches/safari-612.1.15.0-branch/Source
Versioning.
WebKit-7612.1.15.0.1
- 11:19 AM Changeset in webkit [277589] by
-
- 5 edits3 adds in trunk
[ BigSur Debug wk2 ARM64 ] imported/w3c/web-platform-tests/webrtc-encoded-transform/sframe-transform-readable.html is flaky crashing
https://bugs.webkit.org/show_bug.cgi?id=225534
<rdar://problem/77679466>
Reviewed by Eric Carlson.
Source/WebCore:
In case the transform is stopped, the pipeTo operation will propagate the error/closure to the ReadableStream.
In that case, we need to stop enqueuing or we end up hitting the assert.
Handle this by adding a boolean which is set to true when SimpleReadableStreamSource::doCancel is called.
Make close and enqueue as no-op if that boolean is true.
Covered by test no longer crashing.
In addition, make sure to skip frames for which the array buffer is null as it might trigger debug asserts in libwebrtc.
Add a test to cover that case.
Test: http/wpt/webrtc/video-script-transform-keyframe-only.html
- Modules/mediastream/RTCRtpScriptTransformer.cpp:
(WebCore::RTCRtpScriptTransformer::writable):
- Modules/streams/ReadableStreamSource.cpp:
(WebCore::SimpleReadableStreamSource::doCancel):
(WebCore::SimpleReadableStreamSource::close):
(WebCore::SimpleReadableStreamSource::enqueue):
- Modules/streams/ReadableStreamSource.h:
LayoutTests:
- http/wpt/webrtc/video-script-transform-keyframe-only-expected.txt: Added.
- http/wpt/webrtc/video-script-transform-keyframe-only-worker.js: Added.
- http/wpt/webrtc/video-script-transform-keyframe-only.html: Added.
- 11:12 AM Changeset in webkit [277588] by
-
- 3 edits2 adds in trunk
MediaSession action handlers aren't treated as having a user gesture
https://bugs.webkit.org/show_bug.cgi?id=225875
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/media-session/user-gesture-action-handlers.html
We treat remote control commands as having a user gesture, but not when firing
a MediaSession action handler; we should treat them the same.
- Modules/mediasession/MediaSession.cpp:
(WebCore::MediaSession::callActionHandler):
LayoutTests:
- media/media-session/user-gesture-action-handlers-expected.txt: Added.
- media/media-session/user-gesture-action-handlers.html: Added.
- 10:59 AM Changeset in webkit [277587] by
-
- 5 edits in trunk/Source/WebKit
Allow wheel events to be coalesced during scroll deceleration
https://bugs.webkit.org/show_bug.cgi?id=225834
<rdar://70402512>
Reviewed by Tim Horton.
When scrolling slows down towards the tail end of a momentum scroll, we can reduce our
commit frequency to save power, but we only want to do this on displays whose refresh rate
is higher than the default "update rendering" frequency.
We do this by leveraging the existing WebWheelEventCoalescer, which coalesces events
in the UI process. It tracks time since previous event, and coalesces when the
instantaneous velocity is less than 320 points per second (matching other frameworks
on the system).
WebWheelEventCoalescer needs to know when to enable coalescing, which it computes
on creation, and when the window is moved to a different screen with potentially
a different refresh rate.
- Shared/WebWheelEventCoalescer.cpp:
(WebKit::WebWheelEventCoalescer::isInMomentumPhase):
(WebKit::WebWheelEventCoalescer::shouldDispatchEvent):
- Shared/WebWheelEventCoalescer.h:
(WebKit::WebWheelEventCoalescer::shouldCoalesceEventsDuringDeceleration const):
(WebKit::WebWheelEventCoalescer::setShouldCoalesceEventsDuringDeceleration):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::wheelEventCoalescer):
(WebKit::WebPageProxy::shouldCoalesceWheelEventsDuringDeceleration const):
(WebKit::WebPageProxy::windowScreenDidChange):
- UIProcess/WebPageProxy.h:
- 9:53 AM Changeset in webkit [277586] by
-
- 11 edits in trunk/Source/WebCore
Move more logic from AudioDestinationNode to its subclasses
https://bugs.webkit.org/show_bug.cgi?id=225849
Reviewed by Sam Weinig.
Move more logic from AudioDestinationNode to its subclasses. In particular, AudioDestinationNode
contains a lot of things that are specific to real-time audio rendering and those should go to
DefaultAudioDestinationNode.
This allows us to move isPlayingAudioDidChange() from BaseAudioContext to AudioContext also.
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::isPlayingAudioDidChange):
- Modules/webaudio/AudioContext.h:
- Modules/webaudio/AudioDestinationNode.cpp:
(WebCore::AudioDestinationNode::renderQuantum):
- Modules/webaudio/AudioDestinationNode.h:
- Modules/webaudio/BaseAudioContext.cpp:
- Modules/webaudio/BaseAudioContext.h:
- Modules/webaudio/DefaultAudioDestinationNode.cpp:
(WebCore::DefaultAudioDestinationNode::createDestination):
(WebCore::DefaultAudioDestinationNode::framesPerBuffer const):
(WebCore::DefaultAudioDestinationNode::render):
(WebCore::DefaultAudioDestinationNode::setIsSilent):
(WebCore::DefaultAudioDestinationNode::isPlayingDidChange):
(WebCore::DefaultAudioDestinationNode::updateIsEffectivelyPlayingAudio):
- Modules/webaudio/DefaultAudioDestinationNode.h:
- Modules/webaudio/OfflineAudioDestinationNode.cpp:
(WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
(WebCore::OfflineAudioDestinationNode::startRendering):
(WebCore::OfflineAudioDestinationNode::renderOnAudioThread):
- Modules/webaudio/OfflineAudioDestinationNode.h:
- 9:31 AM Changeset in webkit [277585] by
-
- 1 copy in branches/safari-612.1.15.1-branch
New branch.
- 9:31 AM Changeset in webkit [277584] by
-
- 27 edits in trunk/Source
[GPUP] WebContent process should not pull audio session category from the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=225826
Reviewed by Darin Adler.
Source/WebCore:
Change AudioSession::Category to be an enum class.
- platform/audio/AudioSession.cpp:
(WebCore::AudioSession::categoryOverride const):
(WebCore::AudioSession::category const):
- platform/audio/AudioSession.h:
- platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(WebCore::MediaSessionManagerCocoa::updateSessionState):
- platform/audio/ios/AudioSessionIOS.mm:
(WebCore::AudioSessionPrivate::AudioSessionPrivate):
(WebCore::AudioSession::setCategory):
(WebCore::AudioSession::category const):
- platform/audio/mac/AudioSessionMac.mm:
(WebCore::AudioSession::setCategory):
- platform/audio/mac/SharedRoutingArbitrator.h:
- platform/audio/mac/SharedRoutingArbitrator.mm:
(WebCore::SharedRoutingArbitrator::beginRoutingArbitrationForToken):
- platform/mediastream/mac/BaseAudioSharedUnit.cpp:
(WebCore::BaseAudioSharedUnit::startUnit):
- platform/mock/MockRealtimeAudioSource.cpp:
(WebCore::MockRealtimeAudioSource::startProducingData):
- testing/Internals.cpp:
(WebCore::Internals::audioSessionCategory const):
Source/WebKit:
Remove
categoryandrouteSharingPolicyfromRemoteAudioSessionConfiguration
because we should not pull these properties from the GPU process.
Remove IPC message
RemoteAudioSession::ConfigurationChangedbecause it is not used.
- GPUProcess/mac/LocalAudioSessionRoutingArbitrator.h:
- GPUProcess/media/RemoteAudioSessionProxy.cpp:
(WebKit::RemoteAudioSessionProxy::configuration):
- GPUProcess/media/RemoteAudioSessionProxy.h:
- GPUProcess/media/RemoteAudioSessionProxyManager.cpp:
(WebKit::categoryCanMixWithOthers):
(WebKit::RemoteAudioSessionProxyManager::updateCategory):
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
- UIProcess/Media/AudioSessionRoutingArbitratorProxy.h:
- WebProcess/GPU/media/RemoteAudioSession.cpp:
(WebKit::RemoteAudioSession::setCategory):
(WebKit::RemoteAudioSession::category const):
(WebKit::RemoteAudioSession::configurationChanged): Deleted.
- WebProcess/GPU/media/RemoteAudioSession.h:
- WebProcess/GPU/media/RemoteAudioSession.messages.in:
- WebProcess/GPU/media/RemoteAudioSessionConfiguration.h:
(WebKit::RemoteAudioSessionConfiguration::encode const):
(WebKit::RemoteAudioSessionConfiguration::decode):
- WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp:
Source/WebKitLegacy/mac:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setAudioSessionCategoryOverride:]):
- 9:31 AM Changeset in webkit [277583] by
-
- 1 copy in branches/safari-612.1.15.0-branch
New branch.
- 8:30 AM Changeset in webkit [277582] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Unreviewed test gardening. Several OffscreenCanvas tests are failing since r277543.
- platform/glib/TestExpectations:
- 8:18 AM Changeset in webkit [277581] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Unreviewed test gardening. Skip tests requiring support for 'display-p3'.
- platform/glib/TestExpectations:
- 6:32 AM Changeset in webkit [277580] by
-
- 5 edits in trunk
will-change: contain should create a containing block
https://bugs.webkit.org/show_bug.cgi?id=225442
Patch by Rob Buis <rbuis@igalia.com> on 2021-05-17
Reviewed by Antti Koivisto.
Source/WebCore:
Make will-change: contain cause the element to be a containing block for both
position: fixed and position: absolute cases as well as create a CSS stacking
context for the element.
Tests: imported/w3c/web-platform-tests/css/css-contain/contain-paint-stacking-context-001b.html
imported/w3c/web-platform-tests/css/css-will-change/will-change-fixpos-cb-contain-1.html
- rendering/style/WillChangeData.cpp:
(WebCore::WillChangeData::createsContainingBlockForOutOfFlowPositioned const):
(WebCore::WillChangeData::propertyCreatesStackingContext):
- style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyValueWillChange):
LayoutTests:
Tests contain-paint-stacking-context-001b.html (testing
that will-change: contain creates a containing block) and
contain-paint-stacking-context-001b.html (which tests that
will-change: contain creates a CSS stacking context) now
pass, so no longer mark them as image failures.
- 3:09 AM Changeset in webkit [277579] by
-
- 6 edits in trunk
will-change: position should not create a containing block for position: fixed elements
https://bugs.webkit.org/show_bug.cgi?id=225443
Reviewed by Antti Koivisto.
This partially undoes r276627 which made will-change: position create a CB for all out-of-flow elements:
- Removed CSSPropertyPosition from createsContainingBlockForOutOfFlowPositioned() to not create a containing block
for position: fixed; children.
- Added createsContainingBlockForAbsolutelyPositioned() with CSSPropertyPosition to still create a containing block
for position: absolute; children.
Enabled WPT (which covers both cases): css/css-will-change/will-change-fixpos-cb-position-1.html
Source/WebCore:
- rendering/RenderElement.h:
(WebCore::RenderElement::canContainAbsolutelyPositionedObjects const):
- rendering/style/WillChangeData.cpp:
(WebCore::WillChangeData::createsContainingBlockForAbsolutelyPositioned const):
(WebCore::WillChangeData::createsContainingBlockForOutOfFlowPositioned const):
- rendering/style/WillChangeData.h:
LayoutTests:
- 1:56 AM Changeset in webkit [277578] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION(r277560): conditional attribute typos in IDLs for OffscreenCanvas, OffscreenCanvasRenderingContext2D
https://bugs.webkit.org/show_bug.cgi?id=225858
Unreviewed. Tweaking the for-worker conditional attribute values for the
OffscreenCanvas and OffscreenCanvasRenderingContext2D interfaces after
the r277560 refactoring. The mismatch in the conditional values left the
two interfaces outside any worker global space.
Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-05-17
- html/OffscreenCanvas.idl:
- html/canvas/OffscreenCanvasRenderingContext2D.idl:
May 16, 2021:
- 10:22 PM Changeset in webkit [277577] by
-
- 90 edits4 copies35 moves2 adds115 deletes in trunk/LayoutTests
Make MathML WPTs wait for all font loads
https://bugs.webkit.org/show_bug.cgi?id=225728
Reviewed by Darin Adler.
With current interop issues around font loading, there's no guarantee
that waiting on the document.fonts.ready promise in the load event will
catch font loads initiated by content. Since these tests are not
explicitly testing font loading behavior, change to wait explicitly for
all fonts to load.
LayoutTests/imported/w3c:
- web-platform-tests/mathml/presentation-markup/fractions/frac-1-expected.txt:
- web-platform-tests/mathml/presentation-markup/fractions/frac-1.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-bar-001.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-bar-002.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-002-expected.txt:
- web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-002.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-1.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-2.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-3-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-3-expected.txt.
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-3.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-001-expected.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-001.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-002-expected.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-002.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-003-expected.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-003.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-004-expected.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-004.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-005-expected.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-005.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-006-expected.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-006.html:
- web-platform-tests/mathml/presentation-markup/mrow/inferred-mrow-stretchy-expected.txt:
- web-platform-tests/mathml/presentation-markup/mrow/inferred-mrow-stretchy.html:
- web-platform-tests/mathml/presentation-markup/mrow/no-spacing-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/no-spacing-expected.txt.
- web-platform-tests/mathml/presentation-markup/mrow/no-spacing.html:
- web-platform-tests/mathml/presentation-markup/mrow/spacing-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/spacing-expected.txt.
- web-platform-tests/mathml/presentation-markup/mrow/spacing.html:
- web-platform-tests/mathml/presentation-markup/operators/mo-axis-height-1.html:
- web-platform-tests/mathml/presentation-markup/operators/mo-font-relative-lengths-001-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-font-relative-lengths-001-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/mo-font-relative-lengths-001.html:
- web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001.html:
- web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Renamed from LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-001-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-001-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-001.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-002-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-002-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-002.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-003-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-003-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-003.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-004-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-004-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-004.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-005-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-005-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-005.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-006-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-006-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-006.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-001-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-001-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-001.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-002-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-002-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-002.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-003-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-003-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-003.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-005-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-005-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-005.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-001-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-001-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-001.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-002-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-002-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-002.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-003-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-003-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-003.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-004-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-004-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-004.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-005-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-005-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-005.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-006-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-006-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-006.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Renamed from LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt: Renamed from LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt: Renamed from LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-004-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-004-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-004.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-005-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-005-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-005.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-006-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-006-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-006.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt: Renamed from LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-002-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-002-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-002.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-003-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-003-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-003.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-004-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-004-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-004.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005.html:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt: Renamed from LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt.
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006.html:
- web-platform-tests/mathml/presentation-markup/radicals/dynamic-radical-paint-invalidation-001.html:
- web-platform-tests/mathml/presentation-markup/radicals/root-parameters-1.html:
- web-platform-tests/mathml/presentation-markup/radicals/root-parameters-2-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/radicals/root-parameters-2-expected.txt.
- web-platform-tests/mathml/presentation-markup/radicals/root-parameters-2.html:
- web-platform-tests/mathml/presentation-markup/scripts/cramped-001-expected.txt:
- web-platform-tests/mathml/presentation-markup/scripts/cramped-001.html:
- web-platform-tests/mathml/presentation-markup/scripts/empty-underover-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/empty-underover-expected.txt.
- web-platform-tests/mathml/presentation-markup/scripts/empty-underover.html:
- web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-1.html:
- web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-2-expected.txt:
- web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-2.html:
- web-platform-tests/mathml/presentation-markup/scripts/underover-1.html:
- web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-1.html:
- web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-2.html:
- web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3-expected.txt:
- web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3.html:
- web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-4.tentative-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-4.tentative-expected.txt.
- web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-4.tentative.html:
- web-platform-tests/mathml/presentation-markup/tables/table-axis-height.html:
- web-platform-tests/mathml/relations/css-styling/color-005.html:
- web-platform-tests/mathml/relations/css-styling/displaystyle-013.html:
- web-platform-tests/mathml/relations/css-styling/displaystyle-014.html:
- web-platform-tests/mathml/relations/css-styling/displaystyle-1.html:
- web-platform-tests/mathml/relations/css-styling/displaystyle-2.html:
- web-platform-tests/mathml/relations/css-styling/displaystyle-3.html:
- web-platform-tests/mathml/relations/css-styling/lengths-2.html:
- web-platform-tests/mathml/relations/css-styling/visibility-005.html:
- web-platform-tests/mathml/support/fonts.js: Added.
(loadAllFonts):
LayoutTests:
Many of these tests were flaky due to this, and so we now no longer
need platform specific expectations.
- TestExpectations:
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-1-expected.txt: Removed.
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-002-expected.txt: Removed.
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Removed.
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt: Removed.
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt: Removed.
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt: Removed.
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt: Removed.
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/cramped-001-expected.txt: Removed.
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-2-expected.txt: Removed.
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3-expected.txt: Removed.
- platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Removed.
- platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/lengths-2-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-1-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-002-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-3-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/no-spacing-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/spacing-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-font-relative-lengths-001-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-001-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-002-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-003-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-004-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-005-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-006-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-001-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-002-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-003-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-005-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-001-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-002-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-003-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-004-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-005-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-006-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-004-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-005-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-006-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-002-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-003-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-004-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/radicals/root-parameters-2-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/cramped-001-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/empty-underover-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-2-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-4.tentative-expected.txt: Removed.
- platform/mac-catalina/imported/w3c/web-platform-tests/mathml/relations/css-styling/ignored-properties-001-expected.txt: Removed.
- platform/mac-catalina/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-002-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-1-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-002-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-3-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/inferred-mrow-stretchy-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/no-spacing-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/spacing-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-font-relative-lengths-001-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-001-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-002-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-003-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-004-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-005-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-006-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-001-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-002-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-003-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-005-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-001-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-002-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-003-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-004-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-005-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-006-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-004-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-005-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-006-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-002-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-003-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-004-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/radicals/root-parameters-2-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/empty-underover-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-2-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3-expected.txt: Removed.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-4.tentative-expected.txt: Removed.
- platform/mac-wk2/TestExpectations:
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-1-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-002-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-3-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/no-spacing-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/spacing-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-font-relative-lengths-001-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-001-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-002-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-003-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-004-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-005-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-006-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-001-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-002-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-003-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-005-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-001-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-002-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-003-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-004-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-005-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-006-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-004-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-005-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-006-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-002-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-003-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-004-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/radicals/root-parameters-2-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/empty-underover-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-2-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3-expected.txt: Removed.
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-4.tentative-expected.txt: Removed.
- platform/mac/TestExpectations:
- platform/mac/imported/w3c/web-platform-tests/mathml/relations/css-styling/ignored-properties-001-expected.txt:
- platform/mac/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-002-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Removed.
- 9:20 PM Changeset in webkit [277576] by
-
- 10 edits in trunk/Source/JavaScriptCore
Implement baseline op_enter, op_ret, op_check_traps, op_throw using JIT thunks.
https://bugs.webkit.org/show_bug.cgi?id=225846
Reviewed by Filip Pizlo.
op_enter, op_ret, op_check_traps are 3 of the most common opcodes. Throwing in
op_throw because it's easy.
In this patch, the following changes were also made:
- Renamed copyCalleeSavesFromFrameOrRegisterToEntryFrameCalleeSavesBuffer() to copyLLIntBaselineCalleeSavesFromFrameOrRegisterToEntryFrameCalleeSavesBuffer().
It is only used by the baseline JIT. Changed it to always operate on
RegisterAtOffsetList::llintBaselineCalleeSaveRegisters(). This removes the
dependency on a current codeBlock being compiled, and allows us to use it
for a JIT thunk.
- Added JIT::emitNakedNearJump() to make it easy to emit direct jumps to JIT thunks.
Currently, it is only used by op_ret and op_throw.
- Changed some thunks to use emitNonPatchableExceptionCheck() instead emitExceptionCheck() to make it explicit that these are not intended to be patchable.
With this patch, --dumpLinkBufferStats shows the following changes in emitted
JIT code size (using a single run of the CLI version of JetStream2 on AS Mac)
comparing to current tip of tree:
Base New Diff
BaselineJIT: 77429400 (73.842430 MB) 72407904 (69.053558 MB) 0.94x (reduction)
DFG: 36160880 (34.485703 MB) 36622176 (34.925629 MB) 1.01x
Thunk: 23159024 (22.086166 MB) 23295448 (22.216270 MB) 1.01x
InlineCache: 22068348 (21.046017 MB) 22157236 (21.130787 MB) 1.00x
FTL: 6004736 (5.726562 MB) 6030536 (5.751167 MB) 1.00x
Wasm: 2429204 (2.316669 MB) 2300872 (2.194283 MB) 0.95x (probably noise)
YarrJIT: 1522488 (1.451958 MB) 1522616 (1.452080 MB) 1.00x
CSSJIT: 0 0
Uncategorized: 0 0
Cumulative diff since the start of this effort to put more code in JIT thunks:
Base New Diff
BaselineJIT: 89089964 (84.962811 MB) 72407904 (69.053558 MB) 0.81x (reduction)
DFG: 39117360 (37.305222 MB) 36622176 (34.925629 MB) 0.94x (reduction)
Thunk: 23230968 (22.154778 MB) 23295448 (22.216270 MB) 1.00x
InlineCache: 22027416 (21.006981 MB) 22157236 (21.130787 MB) 1.01x
FTL: 6575772 (6.271145 MB) 6030536 (5.751167 MB) 0.92x (reduction)
Wasm: 2302724 (2.196049 MB) 2300872 (2.194283 MB) 1.00x
YarrJIT: 1538956 (1.467663 MB) 1522616 (1.452080 MB) 0.99x
CSSJIT: 0 0
Uncategorized: 0 0
- assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::sub64):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitRestoreCalleeSavesFor):
(JSC::AssemblyHelpers::copyLLIntBaselineCalleeSavesFromFrameOrRegisterToEntryFrameCalleeSavesBuffer):
(JSC::AssemblyHelpers::copyCalleeSavesFromFrameOrRegisterToEntryFrameCalleeSavesBuffer): Deleted.
- jit/JIT.cpp:
(JSC::JIT::emitEnterOptimizationCheck):
(JSC::JIT::link):
- jit/JIT.h:
(JSC::NearJumpRecord::NearJumpRecord):
- jit/JITInlines.h:
(JSC::JIT::emitNakedNearJump):
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_ret):
(JSC::JIT::op_ret_handlerGenerator):
(JSC::JIT::emit_op_throw):
(JSC::JIT::op_throw_handlerGenerator):
(JSC::JIT::emit_op_enter):
(JSC::JIT::op_enter_handlerGenerator):
(JSC::JIT::emitSlow_op_loop_hint):
(JSC::JIT::emitSlow_op_check_traps):
(JSC::JIT::op_check_traps_handlerGenerator):
- jit/JITPropertyAccess.cpp:
(JSC::JIT::slow_op_get_from_scopeGenerator):
(JSC::JIT::slow_op_put_to_scopeGenerator):
- jit/JITThunks.cpp:
(JSC::JITThunks::preinitializeExtraCTIThunks):
- jit/SlowPathCall.cpp:
(JSC::JITSlowPathCall::generateThunk):
- 3:42 PM Changeset in webkit [277575] by
-
- 7 edits in branches/safari-612.1.12-branch/Source/WebCore
Apply patch. rdar://problem/78084125
- 3:00 PM Changeset in webkit [277574] by
-
- 8 edits2 adds in trunk
Support serializing ImageData object colorSpace property in SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=225854
Reviewed by Chris Dumez.
Source/WebCore:
Test: storage/indexeddb/structured-clone-image-data-display-p3.html
Update SerializedScriptValue schema to version 8 and add serialization
of the colorSpace property.
- bindings/js/SerializedScriptValue.cpp:
(WebCore::PredefinedColorSpaceTag):
Add copy of the PredefinedColorSpace values that are guaranteed to
stay consistent forever.
(WebCore::CloneSerializer::dumpIfTerminal):
Add encoding of the colorSpace when serializing ImageData.
(WebCore::CloneSerializer::write):
(WebCore::CloneDeserializer::read):
Add coders for PredefinedColorSpaceTag.
(WebCore::CloneDeserializer::getJSValue):
Replace multiple overloads with one perfect forwarding overload which does
what we want and works with r-values.
(WebCore::CloneDeserializer::readImageBitmap):
Use auto in two places.
(WebCore::CloneDeserializer::readTerminal):
Add decoding of the colorSpace when deserializing ImageData. For prior versions,
the colorSpace defaults to sRGB, which was the only color space supported.
LayoutTests:
Updates existing tests for new serialization version (version 8) and support
for serializing color space in ImageData.
To avoid multiple result files due to lack of support for display-p3, testing
that the display-p3 color space is serialized correctly was put into its own
test that is skipped on non-supporting platforms.
- platform/glib/TestExpectations:
- platform/win/TestExpectations:
Skip structured-clone-image-data-display-p3.html on platforms that don't support
display-p3 color spaces.
- fast/storage/serialized-script-value.html:
Bump version to version 8.
- storage/indexeddb/resources/structured-clone.js:
- storage/indexeddb/structured-clone-expected.txt:
Add tests for ImageData colorSpace round tripping.
- storage/indexeddb/structured-clone-image-data-display-p3-expected.txt: Added.
- storage/indexeddb/structured-clone-image-data-display-p3.html: Added.
Add test for ImageData display-p3 colorSpace round tripping as its own test
to allow targetted skipping by non-supporting platforms.
- 1:32 PM Changeset in webkit [277573] by
-
- 29 edits in trunk
MediaSessionCoordinator survives page reload/navigation
https://bugs.webkit.org/show_bug.cgi?id=225822
Reviewed by Eric Carlson.
Source/WebCore:
Because the MediaSessionCoordinator is created and owned by Page, it will survive
a reload (as Page is not re-created), and the same MediaSessionCoordinator object
will be added to MediaSession when the new Navigator is created.
Rather than have Page own the coordinator itself, it can instead own the
MediaSessionCoordinatorPrivate used to create the coordinator. When the MediaSession
is created, it will query the Page to ask for a MediaSessionCoordinatorPrivate to
use to create the coordinator, guaranteeing a new object is created.
The session itself should be left when the document is put into Back/Forward
Cache, or closed when the document is stopped entirely.
A few drive-by fixes:
The direction of coordinatorStateChanged() is now reversed; it flows down from the
UIProcess to update the state of the MediaSessionCoordinator. This allows the coordinator
to react when it's private implementation changes state.
Add a new upward notification when the trackIdentifier in MediaMetadata changes.
- Modules/mediasession/MediaSession.cpp:
(WebCore::MediaSession::MediaSession):
(WebCore::MediaSession::suspend):
(WebCore::MediaSession::stop):
(WebCore::MediaSession::createCoordinator):
(WebCore::MediaSession::setCoordinator): Deleted.
- Modules/mediasession/MediaSession.h:
- Modules/mediasession/MediaSessionCoordinator.cpp:
(WebCore::MediaSessionCoordinator::join):
(WebCore::MediaSessionCoordinator::leave):
(WebCore::MediaSessionCoordinator::close):
(WebCore::MediaSessionCoordinator::metadataChanged):
(WebCore::MediaSessionCoordinator::positionStateChanged):
(WebCore::MediaSessionCoordinator::playbackStateChanged):
(WebCore::MediaSessionCoordinator::readyStateChanged):
(WebCore::MediaSessionCoordinator::seekSessionToTime):
(WebCore::MediaSessionCoordinator::pauseSession):
(WebCore::MediaSessionCoordinator::coordinatorStateChanged):
- Modules/mediasession/MediaSessionCoordinator.h:
- Modules/mediasession/MediaSessionCoordinatorPrivate.h:
(WebCore::MediaSessionCoordinatorClient::coordinatorStateChanged):
- page/Page.cpp:
(WebCore::Page::setMediaSessionCoordinator):
(WebCore::Page::invalidateMediaSessionCoordinator):
- page/Page.h:
(WebCore::Page::mediaSessionCoordinator):
- testing/Internals.cpp:
(WebCore::Internals::registerMockMediaSessionCoordinator):
- testing/Internals.h:
- testing/MockMediaSessionCoordinator.cpp:
(WebCore::MockMediaSessionCoordinator::trackIdentifierChanged):
(WebCore::MockMediaSessionCoordinator::coordinatorStateChanged): Deleted.
- testing/MockMediaSessionCoordinator.h:
Source/WebKit:
Update the classes affected by virtual function changes in MediaSessionCoordinator. Update
the creation mechanism inside WebPage/Proxy.
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _createMediaSessionCoordinatorForTesting:completionHandler:]):
- UIProcess/Media/MediaSessionCoordinatorProxyPrivate.h:
- UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp:
(WebKit::RemoteMediaSessionCoordinatorProxy::trackIdentifierChanged):
(WebKit::RemoteMediaSessionCoordinatorProxy::coordinatorStateChanged):
- UIProcess/Media/RemoteMediaSessionCoordinatorProxy.h:
- UIProcess/Media/RemoteMediaSessionCoordinatorProxy.messages.in:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::createMediaSessionCoordinator):
- WebProcess/MediaSession/RemoteMediaSessionCoordinator.cpp:
(WebKit::RemoteMediaSessionCoordinator::trackIdentifierChanged):
(WebKit::RemoteMediaSessionCoordinator::coordinatorStateChanged):
- WebProcess/MediaSession/RemoteMediaSessionCoordinator.h:
- WebProcess/MediaSession/RemoteMediaSessionCoordinator.messages.in:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createMediaSessionCoordinator):
(WebKit::WebPage::invalidateMediaSessionCoordinator):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
- TestWebKitAPI/Tests/WebKit/MediaSessionCoordinatorTest.mm:
(-[_WKMockMediaSessionCoordinator trackIdentifierChanged:]):
- 10:46 AM Changeset in webkit [277572] by
-
- 3 edits in trunk/Source/JavaScriptCore
IsoAlignedMemoryAllocator should use BitVector
https://bugs.webkit.org/show_bug.cgi?id=225852
Reviewed by Mark Lam.
Right now IsoAlignedMemoryAllocator uses FastBitVector, which does
not have inline storage for small sizes. However, it's not
uncommon for IsoAlignedMemoryAllocator to be holding onto only a
few blocks. Those blocks may exist for a long time, which some
data indicates causes IsoAlignedMemoryAllocator's FastBitVector to
pin a full physical page for one 8 byte allocation. Since
accessing the commited blocks list is not a particularly hot
operation, we should just use a BitVector instead.
This seems to be perf neutral on benchmarks.
- heap/IsoAlignedMemoryAllocator.cpp:
(JSC::IsoAlignedMemoryAllocator::~IsoAlignedMemoryAllocator):
(JSC::IsoAlignedMemoryAllocator::tryAllocateAlignedMemory):
(JSC::IsoAlignedMemoryAllocator::freeAlignedMemory):
- heap/IsoAlignedMemoryAllocator.h:
- 10:18 AM Changeset in webkit [277571] by
-
- 29 edits in trunk
Modernize / Optimize SQLiteStatement creation and preparation
https://bugs.webkit.org/show_bug.cgi?id=225791
Reviewed by Sam Weinig.
Source/WebCore:
Modernize / Optimize SQLiteStatement creation and preparation:
- The SQLiteStatement constructor is now private so that we never have a SQLiteStatement that has not been "prepared". Only the SQLiteDatabase can now construct SQLiteStatement objects. We already needed to pass a SQLiteDatabase reference when constructing the SQLiteStatement anyway.
- The construct AND prepare a SQLiteStatement, we now call SQLiteDatabase::prepareStatement() to get a stack object or SQLiteDatabase::prepareHeapStatement() to get a heap one. These functions return an Expected<> type so they will either return a "prepared" SQLiteStatement or an unexpected SQLite error code.
- The prepare*Statement() functions now avoid String allocations in most cases thanks to overloads taking in the query as an ASCIILiteral.
- Drop finalize() function on SQLiteStatement so SQLiteStatement objects are always valid. It simplifies the implementation of SQLiteStatement member functions. The SQLiteStatement destructor "finalizes" the statement so users can simply destroy the SQLiteStatement if they need the object to be finalize at a certain point (e.g. before closing a database).
- Drop the prepare() & prepareAndStep() SQLiteStatement member functions now that SQLiteStatement are always prepared.
- Stop storing the SQL query as a String data member in SQLiteStatement class. This is no longer needed now that they is no separe prepare step after the construction. This makes the SQLiteStatement a bit smaller.
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::createOrMigrateRecordsTableIfNecessary):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidBlobTables):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsTable):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsRecordIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::createAndPopulateInitialDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidObjectStoreInfoTable):
(WebCore::IDBServer::SQLiteIDBBackingStore::migrateIndexInfoTableForIDUpdate):
(WebCore::IDBServer::SQLiteIDBBackingStore::migrateIndexRecordsTableForIDUpdate):
(WebCore::IDBServer::SQLiteIDBBackingStore::extractExistingDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::databaseNameAndVersionFromFile):
(WebCore::IDBServer::SQLiteIDBBackingStore::beginTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteBackingStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::cachedStatement):
- Modules/indexeddb/server/SQLiteIDBCursor.cpp:
(WebCore::IDBServer::SQLiteIDBCursor::createSQLiteStatement):
(WebCore::IDBServer::SQLiteIDBCursor::resetAndRebindPreIndexStatementIfNecessary):
(WebCore::IDBServer::SQLiteIDBCursor::internalFetchNextRecord):
- Modules/webdatabase/Database.cpp:
(WebCore::setTextValueInDatabase):
(WebCore::retrieveTextResultFromDatabase):
(WebCore::Database::performGetTableNames):
- Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::hasEntryForOriginNoLock):
(WebCore::DatabaseTracker::hasEntryForDatabase):
(WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
(WebCore::DatabaseTracker::origins):
(WebCore::DatabaseTracker::databaseNamesNoLock):
(WebCore::DatabaseTracker::detailsForNameAndOrigin):
(WebCore::DatabaseTracker::setDatabaseDetails):
(WebCore::DatabaseTracker::quotaNoLock):
(WebCore::DatabaseTracker::setQuota):
(WebCore::DatabaseTracker::addDatabase):
(WebCore::DatabaseTracker::deleteOrigin):
(WebCore::DatabaseTracker::deleteDatabase):
(WebCore::DatabaseTracker::removeDeletedOpenedDatabases):
(WebCore::DatabaseTracker::deleteDatabaseFileIfEmpty):
- Modules/webdatabase/SQLStatement.cpp:
(WebCore::SQLStatement::execute):
- loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::loadCacheGroup):
(WebCore::ApplicationCacheStorage::loadManifestHostHashes):
(WebCore::ApplicationCacheStorage::cacheGroupForURL):
(WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
(WebCore::ApplicationCacheStorage::calculateQuotaForOrigin):
(WebCore::ApplicationCacheStorage::calculateUsageForOrigin):
(WebCore::ApplicationCacheStorage::calculateRemainingSizeForOriginExcludingCache):
(WebCore::ApplicationCacheStorage::storeUpdatedQuotaForOrigin):
(WebCore::ApplicationCacheStorage::verifySchemaVersion):
(WebCore::ApplicationCacheStorage::executeStatement):
(WebCore::ApplicationCacheStorage::store):
(WebCore::ApplicationCacheStorage::storeUpdatedType):
(WebCore::ApplicationCacheStorage::ensureOriginRecord):
(WebCore::ApplicationCacheStorage::storeNewestCache):
(WebCore::ApplicationCacheStorage::loadCache):
(WebCore::ApplicationCacheStorage::remove):
(WebCore::ApplicationCacheStorage::manifestURLs):
(WebCore::ApplicationCacheStorage::deleteCacheGroupRecord):
(WebCore::ApplicationCacheStorage::checkForDeletedResources):
(WebCore::ApplicationCacheStorage::flatFileAreaSize):
- platform/network/curl/CookieJarDB.cpp:
(WebCore::CookieJarDB::verifySchemaVersion):
(WebCore::CookieJarDB::checkDatabaseValidity):
(WebCore::CookieJarDB::searchCookies):
(WebCore::CookieJarDB::getAllCookies):
(WebCore::CookieJarDB::allDomains):
(WebCore::CookieJarDB::createPrepareStatement):
(WebCore::CookieJarDB::executeSql):
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::open):
(WebCore::SQLiteDatabase::useWALJournalMode):
(WebCore::SQLiteDatabase::maximumSize):
(WebCore::SQLiteDatabase::setMaximumSize):
(WebCore::SQLiteDatabase::pageSize):
(WebCore::SQLiteDatabase::freeSpaceSize):
(WebCore::SQLiteDatabase::totalSize):
(WebCore::SQLiteDatabase::executeCommand):
(WebCore::SQLiteDatabase::returnsAtLeastOneResult):
(WebCore::SQLiteDatabase::tableExists):
(WebCore::SQLiteDatabase::clearAllTables):
(WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum):
(WebCore::constructAndPrepareStatement):
(WebCore::SQLiteDatabase::prepareStatement):
(WebCore::SQLiteDatabase::prepareHeapStatement):
- platform/sql/SQLiteDatabase.h:
- platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::SQLiteStatement):
(WebCore::SQLiteStatement::~SQLiteStatement):
(WebCore::SQLiteStatement::step):
(WebCore::SQLiteStatement::reset):
(WebCore::SQLiteStatement::executeCommand):
(WebCore::SQLiteStatement::returnsAtLeastOneResult):
(WebCore::SQLiteStatement::bindBlob):
(WebCore::SQLiteStatement::bindText):
(WebCore::SQLiteStatement::bindInt):
(WebCore::SQLiteStatement::bindInt64):
(WebCore::SQLiteStatement::bindDouble):
(WebCore::SQLiteStatement::bindNull):
(WebCore::SQLiteStatement::bindParameterCount const):
(WebCore::SQLiteStatement::columnCount):
(WebCore::SQLiteStatement::isColumnNull):
(WebCore::SQLiteStatement::isColumnDeclaredAsBlob):
(WebCore::SQLiteStatement::getColumnName):
(WebCore::SQLiteStatement::getColumnValue):
(WebCore::SQLiteStatement::getColumnText):
(WebCore::SQLiteStatement::getColumnDouble):
(WebCore::SQLiteStatement::getColumnInt):
(WebCore::SQLiteStatement::getColumnInt64):
(WebCore::SQLiteStatement::getColumnBlobAsString):
(WebCore::SQLiteStatement::getColumnBlobAsVector):
(WebCore::SQLiteStatement::returnTextResults):
(WebCore::SQLiteStatement::returnIntResults):
(WebCore::SQLiteStatement::returnInt64Results):
(WebCore::SQLiteStatement::returnDoubleResults):
- platform/sql/SQLiteStatement.h:
- platform/win/SearchPopupMenuDB.cpp:
(WebCore::SearchPopupMenuDB::checkDatabaseValidity):
(WebCore::SearchPopupMenuDB::verifySchemaVersion):
(WebCore::SearchPopupMenuDB::executeSimpleSql):
(WebCore::SearchPopupMenuDB::createPreparedStatement):
- workers/service/server/RegistrationDatabase.cpp:
(WebCore::RegistrationDatabase::ensureValidRecordsTable):
(WebCore::RegistrationDatabase::doPushChanges):
(WebCore::RegistrationDatabase::importRecords):
Source/WebKit:
Update code base now that the SQLiteDatabase & SQLiteStatement API has changed.
Also use more ASCIILiterals.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::openITPDatabase):
(WebKit::ResourceLoadStatisticsDatabaseStore::checkForMissingTablesInSchema):
(WebKit::ResourceLoadStatisticsDatabaseStore::enableForeignKeys):
(WebKit::ResourceLoadStatisticsDatabaseStore::currentTableAndIndexQueries):
(WebKit::ResourceLoadStatisticsDatabaseStore::missingUniqueIndices):
(WebKit::ResourceLoadStatisticsDatabaseStore::migrateDataToNewTablesIfNecessary):
(WebKit::ResourceLoadStatisticsDatabaseStore::columnsForTable):
(WebKit::ResourceLoadStatisticsDatabaseStore::addMissingColumnsToTable):
(WebKit::ResourceLoadStatisticsDatabaseStore::renameColumnInTable):
(WebKit::ResourceLoadStatisticsDatabaseStore::openAndUpdateSchemaIfNecessary):
(WebKit::ResourceLoadStatisticsDatabaseStore::scopedStatement const):
(WebKit::ResourceLoadStatisticsDatabaseStore::insertDomainRelationshipList):
(WebKit::ResourceLoadStatisticsDatabaseStore::aggregatedThirdPartyData const):
(WebKit::ResourceLoadStatisticsDatabaseStore::incrementRecordsDeletedCountForDomains):
(WebKit::ResourceLoadStatisticsDatabaseStore::recursivelyFindNonPrevalentDomainsThatRedirectedToThisDomain):
(WebKit::ResourceLoadStatisticsDatabaseStore::markAsPrevalentIfHasRedirectedToPrevalent):
(WebKit::ResourceLoadStatisticsDatabaseStore::findNotVeryPrevalentResources):
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::grandfatherDataForDomains):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearTopFrameUniqueRedirectsToSinceSameSiteStrictEnforcement):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearUserInteraction):
(WebKit::ResourceLoadStatisticsDatabaseStore::setDomainsAsPrevalent):
(WebKit::ResourceLoadStatisticsDatabaseStore::cookieAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::hasUserGrantedStorageAccessThroughPrompt):
(WebKit::ResourceLoadStatisticsDatabaseStore::domainsToBlockAndDeleteCookiesFor const):
(WebKit::ResourceLoadStatisticsDatabaseStore::domainsToBlockButKeepCookiesFor const):
(WebKit::ResourceLoadStatisticsDatabaseStore::domainsWithUserInteractionAsFirstParty const):
(WebKit::ResourceLoadStatisticsDatabaseStore::domainsWithStorageAccess const):
(WebKit::ResourceLoadStatisticsDatabaseStore::domains const):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearGrandfathering):
(WebKit::ResourceLoadStatisticsDatabaseStore::pruneStatisticsIfNeeded):
(WebKit::ResourceLoadStatisticsDatabaseStore::isCorrectSubStatisticsCount):
(WebKit::ResourceLoadStatisticsDatabaseStore::appendSubStatisticList const):
(WebKit::ResourceLoadStatisticsDatabaseStore::updateOperatingDatesParameters):
(WebKit::ResourceLoadStatisticsDatabaseStore::includeTodayAsOperatingDateIfNecessary):
(WebKit::ResourceLoadStatisticsDatabaseStore::insertExpiredStatisticForTesting):
(WebKit::ResourceLoadStatisticsDatabaseStore::insertPrivateClickMeasurement):
(WebKit::ResourceLoadStatisticsDatabaseStore::privateClickMeasurementToString):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearSentAttribution):
(WebKit::ResourceLoadStatisticsDatabaseStore::markAttributedPrivateClickMeasurementsAsExpiredForTesting):
- NetworkProcess/WebStorage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::migrateItemTableIfNeeded):
(WebKit::LocalStorageDatabase::databaseIsEmpty const):
(WebKit::LocalStorageDatabase::scopedStatement const):
- NetworkProcess/WebStorage/LocalStorageDatabase.h:
- UIProcess/API/glib/IconDatabase.cpp:
(WebKit::IconDatabase::IconDatabase):
(WebKit::IconDatabase::populatePageURLToIconURLMap):
(WebKit::IconDatabase::pruneTimerFired):
(WebKit::IconDatabase::iconIDForIconURL):
(WebKit::IconDatabase::setIconIDForPageURL):
(WebKit::IconDatabase::iconData):
(WebKit::IconDatabase::addIcon):
(WebKit::IconDatabase::updateIconTimestamp):
(WebKit::IconDatabase::deleteIcon):
Source/WebKitLegacy:
Update code base now that the SQLiteDatabase & SQLiteStatement API has changed.
Also use more ASCIILiterals.
- Storage/StorageAreaSync.cpp:
(WebKit::StorageAreaSync::migrateItemTableIfNeeded):
(WebKit::StorageAreaSync::performImport):
(WebKit::StorageAreaSync::sync):
(WebKit::StorageAreaSync::deleteEmptyDatabase):
- Storage/StorageTracker.cpp:
(WebKit::StorageTracker::syncImportOriginIdentifiers):
(WebKit::StorageTracker::syncSetOriginDetails):
(WebKit::StorageTracker::syncDeleteAllOrigins):
(WebKit::StorageTracker::syncDeleteOrigin):
(WebKit::StorageTracker::databasePathForOrigin):
Source/WTF:
Allow constructing a UniqueRef<> from a C++ reference. std::unique_ptr<>() can be constructed
using a raw pointer and we can construct a UniqueRef<> from a std::unique_ptr<>() so I see
no reason not to allow that.
The reason I needed this is that I want to prevent call sites from allocating SQLiteStatement
without going through the SQLiteDatabase. As a result, I made the SQLiteStatement constructor
private and marked SQLiteDatabase as a friend class. SQLiteDatabase has to heap-allocate
a SQLiteStatement via new and then construct a UniqueRef<> for it. SQLiteDatabase cannot use
makeUniqueRef() because the SQLiteStatement constructor is private. I also cannot mark
makeUniqueRef() as a friend function of SQLiteStatement or anybody could heap allocate a
SQLiteStatement via makeUniqueRef (not just the SQLiteDatabase).
- wtf/UniqueRef.h:
(WTF::UniqueRef::UniqueRef):
Tools:
Update code base now that the SQLiteDatabase & SQLiteStatement API has changed.
Also use more ASCIILiterals.
- TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
(TestWebKitAPI::addToDatabasesTable):
- 8:57 AM Changeset in webkit [277570] by
-
- 18 edits in trunk/Source/WebCore
[LFC] Cleanup FormattingContext class
https://bugs.webkit.org/show_bug.cgi?id=225744
Reviewed by Antti Koivisto.
This final patch makes the FormattingContext interface uncluttered.
- WebCore.xcodeproj/project.pbxproj:
- layout/FormattingState.h:
(WebCore::Layout::FormattingState::setIntrinsicWidthConstraints):
(WebCore::Layout::FormattingState::intrinsicWidthConstraints const):
(WebCore::Layout::FormattingState::setIntrinsicWidthConstraintsForBox):
(WebCore::Layout::FormattingState::intrinsicWidthConstraintsForBox const):
- layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::layoutFormattingContextSubtree):
- layout/LayoutUnits.h:
(WebCore::Layout::IntrinsicWidthConstraints::expand):
(WebCore::Layout::IntrinsicWidthConstraints::operator+=):
(WebCore::Layout::IntrinsicWidthConstraints::operator-=):
- layout/formattingContexts/FormattingContext.cpp:
- layout/formattingContexts/FormattingContext.h:
(WebCore::Layout::FormattingContext::root const):
(WebCore::Layout::FormattingContext::formattingState const):
(WebCore::Layout::FormattingContext::isBlockFormattingContext const):
(WebCore::Layout::FormattingContext::isInlineFormattingContext const):
(WebCore::Layout::FormattingContext::isTableFormattingContext const):
(WebCore::Layout::FormattingContext::isTableWrapperBlockFormattingContext const):
(WebCore::Layout::FormattingContext::isFlexFormattingContext const):
(WebCore::Layout::FormattingContext::IntrinsicWidthConstraints::expand): Deleted.
(WebCore::Layout::FormattingContext::IntrinsicWidthConstraints::operator+=): Deleted.
(WebCore::Layout::FormattingContext::IntrinsicWidthConstraints::operator-=): Deleted.
- layout/formattingContexts/FormattingGeometry.cpp:
(WebCore::Layout::FormattingGeometry::computedWidthValue):
(WebCore::Layout::FormattingGeometry::shrinkToFitWidth):
(WebCore::Layout::FormattingGeometry::constrainByMinMaxWidth const):
(WebCore::Layout::FormattingGeometry::constraintsForOutOfFlowContent):
(WebCore::Layout::FormattingGeometry::constraintsForInFlowContent const):
- layout/formattingContexts/FormattingGeometry.h:
- layout/formattingContexts/block/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computedIntrinsicWidthConstraints):
- layout/formattingContexts/block/BlockFormattingGeometry.cpp:
(WebCore::Layout::BlockFormattingGeometry::intrinsicWidthConstraints):
- layout/formattingContexts/block/BlockFormattingGeometry.h:
- layout/formattingContexts/block/BlockMarginCollapse.cpp:
- layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::computedIntrinsicWidthConstraints):
- layout/formattingContexts/flex/FlexFormattingGeometry.cpp:
(WebCore::Layout::FlexFormattingGeometry::intrinsicWidthConstraints):
- layout/formattingContexts/flex/FlexFormattingGeometry.h:
- layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints):
- layout/formattingContexts/table/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::TableFormattingContext::computedPreferredWidthForColumns):
- layout/formattingContexts/table/TableFormattingGeometry.cpp:
(WebCore::Layout::TableFormattingGeometry::intrinsicWidthConstraintsForCell):
- layout/formattingContexts/table/TableFormattingGeometry.h:
- layout/formattingContexts/table/TableGrid.h:
(WebCore::Layout::TableGrid::setWidthConstraints):
(WebCore::Layout::TableGrid::widthConstraints const):
(WebCore::Layout::TableGrid::Slot::widthConstraints const):
(WebCore::Layout::TableGrid::Slot::setWidthConstraints):
- 8:21 AM Changeset in webkit [277569] by
-
- 37 edits2 copies2 adds in trunk
Add support for creating/accessing/setting non-sRGB ImageData via canvas
https://bugs.webkit.org/show_bug.cgi?id=225841
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.to.p3-expected.txt:
Update result to passing.
Source/WebCore:
Test: fast/canvas/canvas-color-space-display-p3-ImageData.html
Add support for accessing non-sRGB (only DisplayP3 for now due
to the specification, but the support is general) pixel data in
HTML canvas.
Updates ImageData constructors and CanvasImageData operations to
take optional ImageDataSettings dictionaries, which contain an
optional color space (otherwise defaulting back to sRGB).
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/ImageDataSettings.h: Added.
- html/ImageDataSettings.idl: Added.
Add new ImageDataSettings.idl and related files.
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readImageBitmap):
Fixes FIXME and uses PixelBuffer directly rather than allocating
an unnecessary ImageData. This was done now since the relevent
ImageData constructor has gone away.
- html/ImageData.cpp:
(WebCore::computeDataSize):
(WebCore::ImageData::computeColorSpace):
(WebCore::ImageData::create):
(WebCore::ImageData::createUninitialized):
(WebCore::ImageData::ImageData):
(WebCore::ImageData::pixelBuffer const):
(WebCore::ImageData::dataSize): Deleted.
(WebCore::ImageData::deepClone const): Deleted.
- html/ImageData.h:
(WebCore::ImageData::size const):
(WebCore::ImageData::width const):
(WebCore::ImageData::height const):
(WebCore::ImageData::data const):
(WebCore::ImageData::colorSpace const):
(WebCore::ImageData::pixelBuffer const): Deleted.
- Reworked ImageData to no longer store a PixelBuffer, which has extraneous information in it, but rather to store just what it needs IntSize, Ref<JSC::Uint8ClampedArray>, and now PredefinedColorSpace.
- Updates create functions for new optional ImageDataSettings.
- Adds createUninitialized which follows spec language for ImageData creation and is used by CanvasRenderingContext2D to create ImageData objects of with the right color spaces, allowing for fallback to the canvas' own color space when no ImageDataSettings color space is provided. It is uninitialized and therefore requires the client to initialize the data to allow for support for no alpha support in the future, which requires a non-zero initialization pattern.
- html/ImageData.idl:
Add optional ImageDataSettings parameters and the new colorSpace attribute.
- html/canvas/CanvasImageData.idl:
Add optional ImageDataSettings parameters.
- html/canvas/CanvasRenderingContext2DBase.h:
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::initializeEmptyImageData):
Add helper to initialize the ImageData buffer. Right now it always calls
zeroFill(), but in the future it will need to do more.
(WebCore::CanvasRenderingContext2DBase::createImageData const):
Update to account for this function being able to throw an exception (when
out of memory) and use the new createUninitialized/initializeEmptyImageData
to create a correctly color spaced ImageData.
(WebCore::CanvasRenderingContext2DBase::createImageData const):
Update for new optional ImageDataSettings and use the new createUninitialized
initializeEmptyImageData to create a correctly color spaced ImageData.
(WebCore::CanvasRenderingContext2DBase::getImageData const):
Moves parameter checks to the begining to match the spec, and uses new
createUninitialized/initializeEmptyImageData to create a correctly color
spaced ImageData. Also, use the ImageData's color space when getting
the pixel buffer to actually return the right data!
- html/canvas/PredefinedColorSpace.cpp:
(WebCore::toPredefinedColorSpace):
- html/canvas/PredefinedColorSpace.h:
Add conversion function from DestinationColorSpace to PredefinedColorSpace.
Since DestinationColorSpace is a superset of PredefinedColorSpace, this can
fail, so this conversion returns an Optional.
- inspector/InspectorCanvas.cpp:
- inspector/InspectorCanvasCallTracer.cpp:
- inspector/InspectorCanvasCallTracer.h:
Stub out inspector support for ImageDataSettings.
- platform/graphics/ImageBufferBackend.cpp:
(WebCore::ImageBufferBackend::getPixelBuffer const):
Use the ImageBuffer's actual color space as the source color space
rather than hard coding sRGB. This allows the color space conversion
to take place. Also remove some unnecessary temporary variables.
(WebCore::ImageBufferBackend::putPixelBuffer):
Use the ImageBuffer's actual color space as the destination color space
rather than hard coding sRGB. This allows the color space conversion
to take place. Also remove some unnecessary temporary variables.
- platform/graphics/PixelBuffer.cpp:
(WebCore::PixelBuffer::tryCreate):
(WebCore::PixelBuffer::PixelBuffer):
- platform/graphics/PixelBuffer.h:
(WebCore::PixelBuffer::takeData):
Add a few helpers to allow creationg to/from PixelBuffer
a bit easier.
- platform/graphics/PixelBufferConversion.cpp:
(WebCore::convertImagePixelsAccelerated):
Fix incorrect assertion. We want to assert that there is no error, not that
there is one.
- platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::convertImageBufferToColorSpace):
(WebCore::FilterEffect::copyUnmultipliedResult):
(WebCore::FilterEffect::copyPremultipliedResult):
(WebCore::FilterEffect::createUnmultipliedImageResult):
(WebCore::FilterEffect::createPremultipliedImageResult):
Stop hard coding SRGB for PixelBuffer color spaces and use the appropriate
color space for the task. We still do color space conversion through ImageBuffer
so we should come back and simplify code here to not always require that.
- testing/Internals.cpp:
(WebCore::Internals::videoSampleAvailable):
(WebCore::Internals::loadArtworkImage):
Update to specify a color space to maintain existing behavior.
Source/WebKitLegacy/win:
Add support for tests enabling the CanvasColorSpaceEnabled preference.
- WebPreferences.cpp:
(WebPreferences::canvasColorSpaceEnabled):
- WebPreferences.h:
- WebView.cpp:
(WebView::notifyPreferencesChanged):
LayoutTests:
Remove wide-gamut-canvas now that they should pass.
- fast/canvas/canvas-color-space-display-p3-ImageData-expected.txt: Added.
- fast/canvas/canvas-color-space-display-p3-ImageData.html: Added.
Add new test exercising getImageData and putImageData with non-sRGB canvases
and non-sRGB ImageData.
- fast/canvas/canvas-imageData-expected.txt:
Update results for updated error messages, which are a bit worse due additional
ambiguity in signatures.
- platform/glib/TestExpectations:
Mark new test as failing on glib due to lack of display-p3 support.
- platform/win/TestExpectations:
Mark new test as failing on Windows due to lack of display-p3 support.
Unskip CanvasRenderingContext2DSettings-colorSpace-enabled.html which
should now pass due to adding manual preferences support in WebKitLegacy/win.
- storage/indexeddb/modern/objectstore-autoincrement-types-expected.txt:
Update results due to new attribute in ImageData that is auto printed.
- 8:00 AM Changeset in webkit [277568] by
-
- 11 edits in trunk/Source/WebCore
[LFC] Cleanup margin collapsing class
https://bugs.webkit.org/show_bug.cgi?id=225745
Reviewed by Antti Koivisto.
BlockMarginCollapse needs LayoutState and BlockFormattingState only.
- layout/MarginTypes.h:
- layout/formattingContexts/FormattingGeometry.cpp:
(WebCore::Layout::FormattingGeometry::constraintsForInFlowContent const):
(WebCore::Layout::FormattingGeometry::constraintsForInFlowContent): Deleted.
- layout/formattingContexts/FormattingGeometry.h:
- layout/formattingContexts/block/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::precomputeVerticalPositionForBoxAndAncestors):
(WebCore::Layout::BlockFormattingContext::geometry const):
(WebCore::Layout::BlockFormattingContext::marginCollapse const):
- layout/formattingContexts/block/BlockFormattingGeometry.cpp:
(WebCore::Layout::BlockFormattingGeometry::inFlowNonReplacedContentHeightAndMargin):
- layout/formattingContexts/block/BlockFormattingQuirks.cpp:
(WebCore::Layout::BlockFormattingQuirks::stretchedInFlowHeightIfApplicable const):
- layout/formattingContexts/block/BlockFormattingQuirks.h:
- layout/formattingContexts/block/BlockMarginCollapse.cpp:
(WebCore::Layout::BlockMarginCollapse::BlockMarginCollapse):
(WebCore::Layout::BlockMarginCollapse::hasClearance const):
(WebCore::Layout::BlockMarginCollapse::marginBeforeCollapsesWithParentMarginBefore const):
(WebCore::Layout::BlockMarginCollapse::marginAfterCollapsesWithParentMarginAfter const):
(WebCore::Layout::BlockMarginCollapse::marginAfterCollapsesWithLastInFlowChildMarginAfter const):
(WebCore::Layout::BlockMarginCollapse::positiveNegativeValues const):
(WebCore::Layout::BlockMarginCollapse::positiveNegativeMarginBefore const):
- layout/formattingContexts/block/BlockMarginCollapse.h:
(WebCore::Layout::BlockMarginCollapse::inQuirksMode const):
(WebCore::Layout::BlockMarginCollapse::layoutState const):
(WebCore::Layout::BlockMarginCollapse::formattingState const):
(WebCore::Layout::BlockMarginCollapse::layoutState): Deleted.
(WebCore::Layout::BlockMarginCollapse::formattingContext const): Deleted.
- layout/formattingContexts/block/PrecomputedBlockMarginCollapse.cpp:
(WebCore::Layout::BlockMarginCollapse::precomputedPositiveNegativeValues const):
(WebCore::Layout::BlockMarginCollapse::precomputedPositiveNegativeMarginBefore const):
(WebCore::Layout::BlockMarginCollapse::precomputedMarginBefore):
- 6:50 AM Changeset in webkit [277567] by
-
- 27 edits in trunk/Source/WebCore
[LFC] Cleanup FormattingQuirk classes
https://bugs.webkit.org/show_bug.cgi?id=225746
Reviewed by Antti Koivisto.
Quirk functions should only be called when not in standards mode.
- layout/formattingContexts/FormattingQuirks.cpp:
(WebCore::Layout::FormattingQuirks::heightValueOfNearestContainingBlockWithFixedHeight const):
(WebCore::Layout::FormattingQuirks::heightValueOfNearestContainingBlockWithFixedHeight): Deleted.
- layout/formattingContexts/FormattingQuirks.h:
(WebCore::Layout::FormattingQuirks::layoutState const):
(WebCore::Layout::FormattingQuirks::layoutState): Deleted.
- layout/formattingContexts/block/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::quirks const): Deleted.
- layout/formattingContexts/block/BlockFormattingContext.h:
- layout/formattingContexts/block/BlockFormattingGeometry.cpp:
(WebCore::Layout::BlockFormattingGeometry::inFlowContentHeightAndMargin):
- layout/formattingContexts/block/BlockFormattingQuirks.cpp:
(WebCore::Layout::BlockFormattingQuirks::BlockFormattingQuirks):
(WebCore::Layout::needsStretching):
(WebCore::Layout::BlockFormattingQuirks::stretchedInFlowHeightIfApplicable const):
(WebCore::Layout::BlockFormattingQuirks::shouldIgnoreCollapsedQuirkMargin):
(WebCore::Layout::BlockFormattingQuirks::shouldCollapseMarginBeforeWithParentMarginBefore):
(WebCore::Layout::BlockFormattingQuirks::shouldCollapseMarginAfterWithParentMarginAfter):
(WebCore::Layout::BlockFormattingQuirks::needsStretching const): Deleted.
(WebCore::Layout::BlockFormattingQuirks::stretchedInFlowHeight): Deleted.
(WebCore::Layout::BlockFormattingQuirks::shouldIgnoreCollapsedQuirkMargin const): Deleted.
(WebCore::Layout::BlockFormattingQuirks::shouldCollapseMarginBeforeWithParentMarginBefore const): Deleted.
(WebCore::Layout::BlockFormattingQuirks::shouldCollapseMarginAfterWithParentMarginAfter const): Deleted.
- layout/formattingContexts/block/BlockFormattingQuirks.h:
(WebCore::Layout::BlockFormattingQuirks::formattingContext const): Deleted.
- layout/formattingContexts/block/BlockMarginCollapse.cpp:
(WebCore::Layout::BlockMarginCollapse::marginBeforeCollapsesWithParentMarginBefore const):
(WebCore::Layout::BlockMarginCollapse::marginAfterCollapsesWithParentMarginAfter const):
(WebCore::Layout::BlockMarginCollapse::marginAfterCollapsesWithLastInFlowChildMarginAfter const):
(WebCore::Layout::BlockMarginCollapse::positiveNegativeMarginBefore const):
(WebCore::Layout::BlockMarginCollapse::quirks const): Deleted.
- layout/formattingContexts/block/BlockMarginCollapse.h:
- layout/formattingContexts/block/PrecomputedBlockMarginCollapse.cpp:
(WebCore::Layout::BlockMarginCollapse::precomputedPositiveNegativeMarginBefore const):
- layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingContext.cpp:
(WebCore::Layout::TableWrapperBlockFormattingContext::computeHeightAndMarginForTableBox):
(WebCore::Layout::TableWrapperBlockFormattingContext::quirks const): Deleted.
- layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingContext.h:
- layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingQuirks.cpp:
(WebCore::Layout::TableWrapperQuirks::TableWrapperQuirks):
(WebCore::Layout::TableWrapperQuirks::overriddenTableHeight const):
- layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingQuirks.h:
- layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::quirks const): Deleted.
- layout/formattingContexts/inline/InlineFormattingContext.h:
- layout/formattingContexts/inline/InlineFormattingGeometry.cpp:
(WebCore::Layout::InlineFormattingGeometry::inlineLevelBoxAffectsLineBox const):
- layout/formattingContexts/inline/InlineFormattingGeometry.h:
- layout/formattingContexts/inline/InlineFormattingQuirks.cpp:
(WebCore::Layout::InlineFormattingQuirks::initialLineHeight const):
(WebCore::Layout::InlineFormattingQuirks::inlineLevelBoxAffectsLineBox const):
- layout/formattingContexts/inline/InlineFormattingQuirks.h:
(WebCore::Layout::InlineFormattingQuirks::formattingContext const): Deleted.
- layout/formattingContexts/table/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::quirks const): Deleted.
- layout/formattingContexts/table/TableFormattingContext.h:
- layout/formattingContexts/table/TableFormattingGeometry.cpp:
(WebCore::Layout::TableFormattingGeometry::cellHeigh const):
- layout/formattingContexts/table/TableFormattingQuirks.cpp:
(WebCore::Layout::TableFormattingQuirks::TableFormattingQuirks):
(WebCore::Layout::TableFormattingQuirks::shouldIgnoreChildContentVerticalMargin):
(WebCore::Layout::TableFormattingQuirks::shouldIgnoreChildContentVerticalMargin const): Deleted.
- layout/formattingContexts/table/TableFormattingQuirks.h:
(WebCore::Layout::TableFormattingQuirks::formattingContext const): Deleted.
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayNonRootInlineBoxes const):
- 1:30 AM Changeset in webkit [277566] by
-
- 4 edits in trunk
Make will-change: transform-style create a containing block
https://bugs.webkit.org/show_bug.cgi?id=225441
Reviewed by Simon Fraser.
Marked relevant WPT as pass.
Source/WebCore:
- rendering/style/WillChangeData.cpp:
(WebCore::WillChangeData::createsContainingBlockForOutOfFlowPositioned const):
LayoutTests:
- 12:30 AM Changeset in webkit [277565] by
-
- 3 edits1 add in trunk
DFGVarargsForwardingPhase shouldn't consult Flush
https://bugs.webkit.org/show_bug.cgi?id=225824
Reviewed by Filip Pizlo and Yusuke Suzuki.
JSTests:
- microbenchmarks/tail-call-forward-arguments-arguments-elimination.js: Added.
Source/JavaScriptCore:
In the Varargs Forwarding Phase, we were treating Flush as if it
were any other form of node that interferes with an argument
via clobbering a stack location.
This isn't how Flush works though. It doesn't have execution
semantics at the node's graph location. Instead, Flush means that
any variable it's linked to in CPS should be flushed to the stack
between it and the Flush.
The semantics of arguments is that they're already flushed to the
stack, and they've always been. Seeing a Flush node doesn't prevent
arguments elimination, we already know the arguments are on the stack,
and all we're searching for is if there is an interference operation
that says it'll clobber that stack slot. Flush isn't an interference operation.
This is a 0.5% Speedometer progression.
- dfg/DFGVarargsForwardingPhase.cpp: