Timeline
Aug 31, 2021:
- 10:24 PM Changeset in webkit [281838] by
-
- 14 edits9 adds in trunk
[JSC] Implement Temporal.Duration
https://bugs.webkit.org/show_bug.cgi?id=228532
Reviewed by Yusuke Suzuki.
JSTests:
- stress/temporal-duration.js: Added.
- test262/config.yaml: Enabled Duration tests.
Source/JavaScriptCore:
This patch implements the Duration class for the upcoming Temporal API (currently at stage 3 in TC39).
Spec: https://tc39.es/proposal-temporal/#sec-temporal-duration-objects
Docs: https://tc39.es/proposal-temporal/docs/duration.html
A Duration is ultimately an array of doubles (years, months, weeks, days, hours, minutes, seconds, ms, μs, ns)
which can be converted to and from an ISO string representation (e.g. "-P1Y2M3W4DT5H6M7.123456789S")
and which supports various calculations.
The spec is still in flux and certain issues were identified in the course of preparing this patch.
This code aims to be "as correct as possible" for the moment; small corrections are expected in the near future.
- CMakeLists.txt:
- DerivedSources.make:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- runtime/CommonIdentifiers.h:
- runtime/ISO8601.cpp: Added.
- runtime/ISO8601.h: Added.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildrenImpl):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::durationStructure):
- runtime/TemporalDuration.cpp: Added.
- runtime/TemporalDuration.h: Added.
- runtime/TemporalDurationConstructor.cpp: Added.
- runtime/TemporalDurationConstructor.h: Added.
- runtime/TemporalDurationPrototype.cpp: Added.
- runtime/TemporalDurationPrototype.h: Added.
- runtime/TemporalObject.cpp:
(JSC::createDurationConstructor):
(JSC::singularUnit):
(JSC::temporalUnitType):
(JSC::temporalLargestUnit):
(JSC::temporalSmallestUnit):
(JSC::temporalFractionalSecondDigits):
(JSC::secondsStringPrecision):
(JSC::maximumRoundingIncrement):
(JSC::temporalRoundingIncrement):
(JSC::roundNumberToIncrement):
- runtime/TemporalObject.h:
- runtime/VM.cpp:
- runtime/VM.h:
- 7:25 PM Changeset in webkit [281837] by
-
- 18 edits in trunk/Source
Non-unified build partial fixes, late late August 2021
https://bugs.webkit.org/show_bug.cgi?id=229741
Unreviewed non-unified build fixes.
Source/JavaScriptCore:
- bytecode/PutByStatus.cpp: Add missing header.
- bytecode/PutByVariant.h: Ditto.
- runtime/TemporalCalendar.cpp: Ditto.
- runtime/TemporalCalendarPrototype.cpp: Ditto.
Source/WebCore:
Still missing a strange WebCoreTestSupport.a-related link error.
- Modules/mediastream/RTCIceTransportBackend.h: Add missing header.
- Modules/mediastream/RTCPeerConnection.cpp: Ditto.
- Modules/mediastream/libwebrtc/LibWebRTCIceTransportBackend.cpp:
Ditto.
- html/FormController.cpp:
(WebCore::formSignature): Namespace HTMLNames.
- html/FormController.h: Add missing header.
- html/track/LoadableTextTrack.cpp: Add missing header.
- loader/PrivateClickMeasurement.cpp: Ditto.
- page/PageConfiguration.cpp: Ditto.
Source/WebKit:
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
Add missing header.
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.cpp:
Add missing header.
(WebKit::PCM::Database::attributePrivateClickMeasurement): Namespace
some names.
(WebKit::PCM::Database::removeUnattributed): Ditto.
(WebKit::PCM::Database::clearPrivateClickMeasurement): Ditto.
(WebKit::PCM::Database::clearSentAttribution): Ditto.
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.h:
Add missing header.
- 6:08 PM Changeset in webkit [281836] by
-
- 8 edits21 adds in trunk/LayoutTests
Import web-platform-tests/css/css-font-loading
https://bugs.webkit.org/show_bug.cgi?id=229729
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
% ./Tools/Scripts/import-w3c-tests css/css-font-loading -l -s /path/to/web-platform-tests -d imported/w3c/web-platform-tests
- resources/import-expectations.json:
- resources/resource-files.json:
- web-platform-tests/css/css-font-loading/fontface-override-descriptor-getter-setter.sub.html: Added.
- web-platform-tests/css/css-font-loading/fontface-override-descriptors-expected.html: Added.
- web-platform-tests/css/css-font-loading/fontface-override-descriptors.html: Added.
- web-platform-tests/css/css-font-loading/fontface-size-adjust-descriptor-expected.html: Added.
- web-platform-tests/css/css-font-loading/fontface-size-adjust-descriptor.html: Added.
- web-platform-tests/css/css-font-loading/fontfaceset-add-css-connected-expected.txt: Added.
- web-platform-tests/css/css-font-loading/fontfaceset-add-css-connected.html: Added.
- web-platform-tests/css/css-font-loading/fontfaceset-clear-css-connected-2-expected.html: Added.
- web-platform-tests/css/css-font-loading/fontfaceset-clear-css-connected-2.html: Added.
- web-platform-tests/css/css-font-loading/fontfaceset-clear-css-connected-expected.txt: Added.
- web-platform-tests/css/css-font-loading/fontfaceset-clear-css-connected.html: Added.
- web-platform-tests/css/css-font-loading/fontfaceset-delete-css-connected-2-expected.html: Added.
- web-platform-tests/css/css-font-loading/fontfaceset-delete-css-connected-2.html: Added.
- web-platform-tests/css/css-font-loading/fontfaceset-delete-css-connected-expected.txt: Added.
- web-platform-tests/css/css-font-loading/fontfaceset-delete-css-connected.html: Added.
- web-platform-tests/css/css-font-loading/fontfaceset-load-var.html: Added.
- web-platform-tests/css/css-font-loading/fontfaceset-update-after-stylesheet-change-expected.txt: Added.
- web-platform-tests/css/css-font-loading/fontfaceset-update-after-stylesheet-change.html: Added.
- web-platform-tests/css/css-font-loading/nonexistent-file-url-expected.txt: Added.
- web-platform-tests/css/css-font-loading/nonexistent-file-url.html: Added.
- web-platform-tests/css/css-font-loading/resources/Rochester.otf: Added.
- web-platform-tests/css/css-font-loading/resources/w3c-import.log:
- web-platform-tests/css/css-font-loading/w3c-import.log:
LayoutTests:
- TestExpectations:
- tests-options.json:
- 5:27 PM Changeset in webkit [281835] by
-
- 5 edits in trunk
[JSC] Enable Object.hasOwn
https://bugs.webkit.org/show_bug.cgi?id=229730
Reviewed by Saam Barati.
Source/JavaScriptCore:
Enable Object.hasOwn implementation. And cleaning up feature flag list.
- runtime/OptionsList.h:
LayoutTests:
- js/Object-getOwnPropertyNames-expected.txt:
- js/script-tests/Object-getOwnPropertyNames.js:
- 5:19 PM Changeset in webkit [281834] by
-
- 2 edits in trunk/LayoutTests
[ Monterey GuardMalloc ] accessibility/* tests are timing out.
<rdar://82147955>
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 5:11 PM Changeset in webkit [281833] by
-
- 2 edits in trunk/LayoutTests
[ iOS Release ] svg/W3C-SVG-1.1/struct-dom-06-b.svg is flaky text failing.
https://bugs.webkit.org/show_bug.cgi?id=229743
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 4:53 PM Changeset in webkit [281832] by
-
- 47 edits1 copy2 adds in trunk
Enable SharedArrayBuffer support when COOP/COEP headers are used
https://bugs.webkit.org/show_bug.cgi?id=229559
<rdar://problem/82391945>
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline a few web-platform-tests now that window.crossOriginIsolated properly returns
true when COOP+COEP are used.
Note that SharedArrayBuffer are already forcefully enabled by run-webkit-tests.py when running
the layout tests, which is why there are not more layout test results changes. At some point,
we should stop forcefully enabling SharedArrayBuffer when running web-platform-tests at least,
since WPT tests already make sure to use COOP+COEP when testing SharedArrayBuffer.
- web-platform-tests/IndexedDB/serialize-sharedarraybuffer-throws.https-expected.txt:
- web-platform-tests/html/cross-origin-embedder-policy/cross-origin-isolated-permission.https-expected.txt:
Note that some subtests are failing because we don't support the Permissions-Policy HTTP header:
- web-platform-tests/html/cross-origin-opener-policy/coep.https-expected.txt:
Source/WebCore:
Make sure window.crossOriginIsolated returns true when COOP=same-origin and
COEP=require-corp are used. Also make sure that cross-origin-isolates pages
are allowed to use SharedArrayBuffer.
Change is covered by rebaselined layout tests and new API tests.
- loader/DocumentLoader.cpp:
(WebCore::toNeedsBrowsingContextGroupSwitch):
(WebCore::DocumentLoader::responseReceived):
- loader/EmptyClients.cpp:
(WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForResponse):
- loader/EmptyFrameLoaderClient.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkContentPolicy):
- loader/FrameLoader.h:
- loader/FrameLoaderClient.h:
- loader/FrameLoaderTypes.h:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::crossOriginIsolated const):
- page/DOMWindow.idl:
Source/WebKit:
Make sure window.crossOriginIsolated returns true when COOP=same-origin and
COEP=require-corp are used. Also make sure that cross-origin-isolates pages
are allowed to use SharedArrayBuffer.
When the WebProcess determines it needs to switch browsing context group it
now sends a NeedsBrowsingContextGroupSwitch::YesWithoutCrossOriginIsolation /
NeedsBrowsingContextGroupSwitch::YesWithCrossOriginIsolation enum value to
the UIProcess with the DecidePolicyForResponse IPC instead of a simple
boolean. We send YesWithoutCrossOriginIsolation when the navigation
destination will be cross-origin-isolated due to COOP=same-origin and
COEP=require-corp. In the UIProcess, when YesWithCrossOriginIsolation is
received, we take care of launching a fresh WebProcess (never recycling an
existing WebProcess) and we make this WebProcess as cross-origin-isolated.
When a process is cross-origin-isolated, we pass it a XPC flag on launch
to allow the process to use SharedArrayBuffer. We use an XPC flag because
JSC Options need to be set before JSC::initialize() is called, which occurs
during XPC service initialization. When a WebProcess is marked as
cross-origin-isolated, we make sure to never cache it so it cannot be
recycled for a new navigation (given that it has special permission to use
SharedArrayBuffer).
- Scripts/webkit/messages.py:
(headers_for_type):
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h:
(WebKit::XPCServiceInitializer):
- UIProcess/Launcher/ProcessLauncher.h:
(WebKit::ProcessLauncher::Client::shouldEnableSharedArrayBuffer const):
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::ProcessLauncher::launchProcess):
- UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::decidePolicyForResponse):
- UIProcess/ProvisionalPageProxy.h:
- UIProcess/SuspendedPageProxy.cpp:
(WebKit::SuspendedPageProxy::findReusableSuspendedPageProcess):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::decidePolicyForResponseShared):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createNewWebProcess):
(WebKit::WebProcessPool::createWebPage):
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::create):
(WebKit::WebProcessProxy::createForServiceWorkers):
(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::canBeAddedToWebProcessCache const):
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::isCrossOriginIsolated const):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDecidePolicyForResponse):
Source/WebKitLegacy/win:
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchDecidePolicyForResponse):
- WebCoreSupport/WebFrameLoaderClient.h:
Tools:
Add API test coverage. SharedArrayBuffer support is currently forcefully enabled by
run-webkit-tests.py so it would not be practical to write layout tests for this at
the moment.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
(-[PSONScheme addMappingFromURLString:toData:withCOOPValue:withCOEPValue:]):
(-[PSONScheme webView:startURLSchemeTask:]):
- 4:10 PM Changeset in webkit [281831] by
-
- 6 edits in trunk
Use after move in ServiceWorkerThreadProxy
https://bugs.webkit.org/show_bug.cgi?id=229731
Reviewed by Chris Dumez.
Source/WebCore:
- workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):
Source/WebKit:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::installServiceWorker):
Tools:
While trying to test that this change did not cause regressions,
I found a bug in the test code from the mass renaming that happened
a few weeks ago. This patch fixes that.
- TestWebKitAPI/Tests/WebKitCocoa/AppPrivacyReport.mm:
- 4:07 PM Changeset in webkit [281830] by
-
- 12 edits1 add1 delete in trunk
[Payment Request] Calling PaymentRequest's show() should consume user activation
https://bugs.webkit.org/show_bug.cgi?id=217365
Patch by Marcos Caceres <Marcos Caceres> on 2021-08-31
Reviewed by Youenn Fablet and Devin Rousso.
LayoutTests/imported/w3c:
Re-import payment-request tests from WPT c0453ea15be63fc697bdbc141aa6837a1020b114.
- web-platform-tests/payment-request/payment-is-showing.https.html:
- web-platform-tests/payment-request/payment-request-canmakepayment-method.https-expected.txt:
- web-platform-tests/payment-request/payment-request-hasenrolledinstrument-method.tentative.https-expected.txt:
- web-platform-tests/payment-request/payment-request-show-method.https-expected.txt: Added.
- web-platform-tests/payment-request/payment-request-show-method.https.html:
- web-platform-tests/payment-request/rejects_if_not_active.https.html:
- web-platform-tests/payment-request/show-method-optional-promise-rejects.https-expected.txt:
Source/WebCore:
Tested by existing WPT tests.
- Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::PaymentRequest::show):
LayoutTests:
- http/tests/paymentrequest/payment-is-showing.https.html:
- http/tests/paymentrequest/payment-request-show-method.https.html:
- platform/ios-wk2/imported/w3c/web-platform-tests/payment-request/show-method-optional-promise-rejects.https-expected.txt: Removed.
- 3:59 PM Changeset in webkit [281829] by
-
- 1 copy in tags/Safari-612.2.3
Tag Safari-612.2.3.
- 3:57 PM Changeset in webkit [281828] by
-
- 3 edits in trunk/LayoutTests
Update test expectations for iOS14 fast/ tests.
https://bugs.webkit.org/show_bug.cgi?id=229656.
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/ipad/TestExpectations:
- 3:50 PM Changeset in webkit [281827] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Fix deadlock tearing down pipeline when using fallback sink
https://bugs.webkit.org/show_bug.cgi?id=229619
Patch by Thibault Saunier <tsaunier@igalia.com> on 2021-08-31
Reviewed by Xabier Rodriguez-Calvar.
Whenever GstGL is disabled for whatever reason the fallback sink might
be used and cancelling repaint need to be taken into account in any case.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::cancelRepaint):
- 3:46 PM Changeset in webkit [281826] by
-
- 2 edits in trunk/Source/JavaScriptCore
Baseline JIT's in_by_val and emitHasPrivate should load the property before branching on if the base is a cell
https://bugs.webkit.org/show_bug.cgi?id=229725
Reviewed by Keith Miller.
If the base isn't a cell, we're calling the slow path with a random value
in the property. This works, because the slow paths first branch on if
the base is a cell or not, and throw an exception. But we fix this for our
own sanity, since it's never a good idea to go to a slow path with a
JSValue argument containing unknown bits.
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_in_by_val):
(JSC::JIT::emitHasPrivate):
- 3:08 PM Changeset in webkit [281825] by
-
- 3 edits in trunk/Source/WebKit
[iOS] Move the implementation of -[WKWebView _dynamicUserInterfaceTraitDidChange] out of the testing category
https://bugs.webkit.org/show_bug.cgi?id=229735
Reviewed by Tim Horton.
r253465 incorrectly moved -[WKWebView _dynamicUserInterfaceTraitDidChange]
into the WKTestingIOS category. _dynamicUserInterfaceTraitDidChange is used
to respond to trait collection changes that affect dynamic colors, and is
not a testing only method. Consequently, the method should be implemented
in the WKViewInternalIOS category.
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _dynamicUserInterfaceTraitDidChange]):
- UIProcess/API/ios/WKWebViewTestingIOS.mm:
- 2:57 PM Changeset in webkit [281824] by
-
- 5 edits7 adds in trunk/LayoutTests
[GTK][WPE] Gardening of test failures
Unreviewed test gardening.
Report and mark new expected failures and rebase-line a few tests.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- platform/gtk/fast/forms/basic-textareas-expected.png:
- platform/gtk/fast/forms/basic-textareas-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/inert/inert-retargeting-iframe.tentative-expected.txt: Added.
- platform/wpe/fast/forms/basic-textareas-expected.png: Added.
- platform/wpe/fast/forms/basic-textareas-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/inert/inert-retargeting-iframe.tentative-expected.txt: Added.
- 2:15 PM Changeset in webkit [281823] by
-
- 2 edits in trunk/LayoutTests
[Big Sur wk2] fast/hidpi/image-srcset-svg-canvas-2x.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=229736.
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 1:57 PM Changeset in webkit [281822] by
-
- 2 edits in trunk/LayoutTests
Update test expectations for imported/w3c/web-platform-tests/webrtc/RTCRtpSender-encode-same-track-twice.https.html.
https://bugs.webkit.org/show_bug.cgi?id=226054.
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 1:42 PM Changeset in webkit [281821] by
-
- 9 edits in trunk/Tools
[git-webkit] Automatic rebasing or pull-requests
https://bugs.webkit.org/show_bug.cgi?id=229625
<rdar://problem/82451030>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.pull): Add rebase and branch arguments.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.init): Add pull.rebase = true in default config.
- Scripts/libraries/webkitscmpy/webkitscmpy/program/pull.py:
(Pull): Add 'up' and 'update' aliases.
(Pull.main): Update the source branch of a pull-request branches.
- Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.parser): Add --rebase/--no-rebase options.
(PullRequest.main): Update and rebase a pull-request on it's source branch.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
(TestPullRequest.test_staged):
(TestPullRequest.test_modified):
(TestPullRequest.test_github):
(TestPullRequest.test_github_update):
(TestPullRequest.test_bitbucket):
(TestPullRequest.test_bitbucket_update):
- Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_git_svn_unittest.py:
(TestSetupGitSvn.test_empty):
(TestSetupGitSvn.test_add):
- 1:40 PM Changeset in webkit [281820] by
-
- 1 copy in tags/Safari-612.1.29.4
Tag Safari-612.1.29.4.
- 1:38 PM Changeset in webkit [281819] by
-
- 8 edits in branches/safari-612.1.29-branch/Source
Versioning.
WebKit-7612.1.29.4
- 1:37 PM Changeset in webkit [281818] by
-
- 14 edits in trunk/Source
REGRESSION (r281771): ASSERTION FAILED: !m_deletionHasBegun under WebCore::Permissions::~Permissions()
https://bugs.webkit.org/show_bug.cgi?id=229714
<rdar://problem/82581552>
Reviewed by Chris Dumez.
Source/WebCore:
PageConfiguration should hold Ref<PermissionController> instead of UniqueRef.
- Modules/permissions/PermissionController.h:
- loader/EmptyClients.cpp:
(WebCore::pageConfigurationWithEmptyClients):
- page/Page.h:
- page/PageConfiguration.cpp:
(WebCore::PageConfiguration::PageConfiguration):
- page/PageConfiguration.h:
Source/WebKit:
- WebProcess/WebCoreSupport/WebPermissionController.cpp:
(WebKit::WebPermissionController::create):
- WebProcess/WebCoreSupport/WebPermissionController.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_appHighlightsVisible):
Source/WebKitLegacy/mac:
- WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
Source/WebKitLegacy/win:
- WebView.cpp:
(WebView::initWithFrame):
- 1:26 PM Changeset in webkit [281817] by
-
- 16 edits in trunk
Loads after session restore marked app initiated in Safari
https://bugs.webkit.org/show_bug.cgi?id=229721
<rdar://problem/82084236>
Reviewed by Brent Fulgham.
Source/WebCore:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadDifferentDocumentItem):
Set the proper app initiated value when creating a new request.
Source/WebKit:
Offer a way to set the app initiated value when restoring a session.
- Shared/SessionState.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _restoreSessionState:andNavigate:]):
- UIProcess/API/Cocoa/_WKSessionState.h:
- UIProcess/API/Cocoa/_WKSessionState.mm:
(-[_WKSessionState _sessionStateWithAppInitiatedValue]):
- UIProcess/API/Cocoa/_WKSessionStateInternal.h:
- UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::goToBackForwardItem):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::launchProcessForReload):
(WebKit::WebPageProxy::goToBackForwardItem):
(WebKit::WebPageProxy::restoreFromSessionState):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::goToBackForwardItem):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/AppPrivacyReport.mm:
- 1:23 PM Changeset in webkit [281816] by
-
- 2 edits in trunk/LayoutTests
[ BigSur EWS ] ASSERTION FAILED: reasonForSuspendingActiveDOMObjects() == ReasonForSuspension::PageWillBeSuspended.
https://bugs.webkit.org/show_bug.cgi?id=229723
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 1:06 PM Changeset in webkit [281815] by
-
- 5 edits6 moves in trunk/LayoutTests
EWS should run tests in fast/events/ios by default
https://bugs.webkit.org/show_bug.cgi?id=229691
Reviewed by Tim Horton.
Enable most of the tests in fast/events/ios in open source test runners, so that they can run in pre-commit
automation (EWS). We move a handful of tests that have explicit dependencies on touch events out of this
directory and into fast/events/touch/ios instead.
- fast/events/touch/ios/no-touch-events-when-stopping-momentum-scroll-in-mainframe-expected.txt: Renamed from LayoutTests/fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-mainframe-expected.txt.
- fast/events/touch/ios/no-touch-events-when-stopping-momentum-scroll-in-mainframe.html: Renamed from LayoutTests/fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-mainframe.html.
- fast/events/touch/ios/no-touch-events-when-stopping-momentum-scroll-in-overflow-expected.txt: Renamed from LayoutTests/fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-overflow-expected.txt.
- fast/events/touch/ios/no-touch-events-when-stopping-momentum-scroll-in-overflow.html: Renamed from LayoutTests/fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-overflow.html.
- fast/events/touch/ios/touch-events-during-scroll-deceleration-in-overflow-expected.txt: Renamed from LayoutTests/fast/events/ios/touch-events-during-scroll-deceleration-in-overflow-expected.txt.
- fast/events/touch/ios/touch-events-during-scroll-deceleration-in-overflow.html: Renamed from LayoutTests/fast/events/ios/touch-events-during-scroll-deceleration-in-overflow.html.
- platform/ios-14/TestExpectations:
- platform/ios-wk2/TestExpectations:
Mark tests in both fast/events/ios and fast/forms/ios as PASS by default, while skipping the "ipad" directories
that are underneath them. These ipad-specific test directories are then marked PASS by default below, in
platform/ipad/TestExpectations.
- platform/ios/TestExpectations:
- platform/ipad/TestExpectations:
- 12:11 PM Changeset in webkit [281814] by
-
- 11 edits8 adds in trunk/LayoutTests
Resync web-platform-tests/shadow-dom
https://bugs.webkit.org/show_bug.cgi?id=229698
Reviewed by Antti Koivisto.
Resync WPT tests for shadow DOM as of 62d977d3e3161a900aecd007ff3fc88b621fdc65.
- resources/resource-files.json:
- web-platform-tests/shadow-dom/declarative/declarative-shadow-dom-basic.tentative-expected.txt:
- web-platform-tests/shadow-dom/declarative/declarative-shadow-dom-basic.tentative.html:
- web-platform-tests/shadow-dom/focus/focus-pseudo-on-shadow-host-1-expected.xht: Added.
- web-platform-tests/shadow-dom/focus/focus-pseudo-on-shadow-host-1.html: Added.
- web-platform-tests/shadow-dom/focus/focus-pseudo-on-shadow-host-2-expected.xht: Added.
- web-platform-tests/shadow-dom/focus/focus-pseudo-on-shadow-host-2.html: Added.
- web-platform-tests/shadow-dom/focus/focus-pseudo-on-shadow-host-3-expected.xht: Added.
- web-platform-tests/shadow-dom/focus/focus-pseudo-on-shadow-host-3.html: Added.
- web-platform-tests/shadow-dom/focus/w3c-import.log:
- web-platform-tests/shadow-dom/imperative-slot-api-expected.txt:
- web-platform-tests/shadow-dom/imperative-slot-api-slotchange-expected.txt:
- web-platform-tests/shadow-dom/imperative-slot-api-slotchange.html:
- web-platform-tests/shadow-dom/imperative-slot-api.html:
- web-platform-tests/shadow-dom/imperative-slot-assign-not-slotable-crash-expected.txt: Added.
- web-platform-tests/shadow-dom/imperative-slot-assign-not-slotable-crash.html: Added.
- web-platform-tests/shadow-dom/w3c-import.log:
- 12:04 PM Changeset in webkit [281813] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r272900): wpt.fyi loading performance is very slow (regressed, and slower than other browsers)
https://bugs.webkit.org/show_bug.cgi?id=229680
<rdar://problem/82541045>
Reviewed by Darin Adler.
The page is inserting new children to shadow host and on each insertion we are traversing the composed
tree to tear down renderers, even though there are none.
- rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::tearDownRenderersAfterSlotChange):
If the host doesn't have a renderer or 'display:contents' there can't be any renderers left in the subtree.
- 11:47 AM Changeset in webkit [281812] by
-
- 3 edits in trunk/LayoutTests
[GLIB] Update test baselines after r281771
https://bugs.webkit.org/show_bug.cgi?id=229718
Unreviewed test gardening.
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-08-31
- platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt:
- platform/wpe/fast/dom/navigator-detached-no-crash-expected.txt:
- 11:35 AM Changeset in webkit [281811] by
-
- 3 edits in trunk/LayoutTests
ASSERTION FAILED: willBeComposited == needsToBeComposited(layer, queryData) on "youtube-plugin-replacement" & "quicktime-plugin-replacement tests".
https://bugs.webkit.org/show_bug.cgi?id=229505
Unreviewed test gardening.
- TestExpectations: Moved expectations from mac-wk2 so that the tests skip on all platforms
- platform/mac-wk2/TestExpectations:
- 11:34 AM Changeset in webkit [281810] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix for PlayStation following r241123.
- css/typedom/CSSStyleValue.h:
Add missing include.
- 10:49 AM Changeset in webkit [281809] by
-
- 2 edits in trunk/Source/WebCore
Addition of CSSUnparsedValue. (TypedOM)
https://bugs.webkit.org/show_bug.cgi?id=229069
Patch by Johnson Zhou <qiaosong_zhou@apple.com> on 2021-08-31
Reviewed by Darin Adler.
- css/typedom/CSSOMVariableReferenceValue.cpp:
- 9:52 AM Changeset in webkit [281808] by
-
- 32 edits1 copy2 moves6 adds in trunk
Implement self.structuredClone()
https://bugs.webkit.org/show_bug.cgi?id=228331
<rdar://problem/81468374>
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Import layout test coverage from WPT.
- web-platform-tests/html/webappapis/structured-clone/structured-clone.any-expected.txt: Added.
- web-platform-tests/html/webappapis/structured-clone/structured-clone.any.html: Added.
- web-platform-tests/html/webappapis/structured-clone/structured-clone.any.js: Added.
- web-platform-tests/html/webappapis/structured-clone/structured-clone.any.worker-expected.txt: Added.
- web-platform-tests/html/webappapis/structured-clone/structured-clone.any.worker.html: Added.
- web-platform-tests/html/webappapis/structured-clone/w3c-import.log:
Source/WebCore:
Implement self.structuredClone() as per:
Tests: imported/w3c/web-platform-tests/html/webappapis/structured-clone/structured-clone.any.html
imported/w3c/web-platform-tests/html/webappapis/structured-clone/structured-clone.any.worker.html
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/MessagePort.cpp:
(WebCore::MessagePort::postMessage):
- dom/MessagePort.h:
- dom/MessagePort.idl:
- page/Base64Utilities.h:
- page/DOMWindow.h:
(WebCore::WindowPostMessageOptions::WindowPostMessageOptions):
- page/DOMWindow.idl:
- page/StructuredSerializeOptions.h: Renamed from Source/WebCore/page/PostMessageOptions.h.
(WebCore::StructuredSerializeOptions::StructuredSerializeOptions):
- page/StructuredSerializeOptions.idl: Renamed from Source/WebCore/page/PostMessageOptions.idl.
- page/WindowOrWorkerGlobalScope.cpp: Copied from Source/WebCore/workers/service/ServiceWorkerClient.h.
(WebCore::WindowOrWorkerGlobalScope::reportError):
(WebCore::WindowOrWorkerGlobalScope::structuredClone):
- page/WindowOrWorkerGlobalScope.h: Copied from Source/WebCore/page/Base64Utilities.h.
(WebCore::WindowOrWorkerGlobalScope::structuredClone):
- page/WindowOrWorkerGlobalScope.idl:
- workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::postMessage):
- workers/DedicatedWorkerGlobalScope.h:
- workers/DedicatedWorkerGlobalScope.idl:
- workers/Worker.cpp:
(WebCore::Worker::postMessage):
- workers/Worker.h:
- workers/Worker.idl:
- workers/WorkerGlobalScope.h:
- workers/service/ServiceWorker.cpp:
(WebCore::ServiceWorker::postMessage):
- workers/service/ServiceWorker.h:
- workers/service/ServiceWorker.idl:
- workers/service/ServiceWorkerClient.cpp:
(WebCore::ServiceWorkerClient::postMessage):
- workers/service/ServiceWorkerClient.h:
- workers/service/ServiceWorkerClient.idl:
- 9:24 AM Changeset in webkit [281807] by
-
- 2 edits in trunk/LayoutTests
[ EWS Catalina Debug ] Fast/* tests are flaky with ASSERTION FAILED: !m_deletionHasBegun.
https://bugs.webkit.org/show_bug.cgi?id=229714
Unreveiwed test gardening.
- platform/mac-wk1/TestExpectations:
- 9:11 AM Changeset in webkit [281806] by
-
- 5 edits in trunk
[contributors.json] Replace class=bot with status=bot
https://bugs.webkit.org/show_bug.cgi?id=229712
<rdar://problem/82579767>
Reviewed by Aakash Jain.
Tools:
- Scripts/webkitpy/common/config/committers.py:
(Contributor.as_dict): bot is now a status, not a class.
(CommitterList.load_json): Ditto.
- Scripts/webkitpy/common/config/contributors.json: Replace class=bot with status=bot.
Websites/webkit.org:
- wp-content/themes/webkit/team.php: "bot" is now a status, not a class.
- 8:43 AM Changeset in webkit [281805] by
-
- 3 edits in trunk/Source/WebCore
[LFC][Integration] Remove unused LayoutIntegation::Run functions
https://bugs.webkit.org/show_bug.cgi?id=229711
Reviewed by Antti Koivisto.
- layout/integration/LayoutIntegrationRun.h:
(WebCore::LayoutIntegration::Run::image const): Deleted.
(WebCore::LayoutIntegration::Run::hasUnderlyingLayout const): Deleted.
- layout/integration/LayoutIntegrationRunIteratorModernPath.h:
(WebCore::LayoutIntegration::RunIteratorModernPath::atEnd const):
- 8:24 AM Changeset in webkit [281804] by
-
- 5 edits in trunk/Source/WebCore
[IFC][Integration] Move integral vertical position adjustment over to createDisplayLines
https://bugs.webkit.org/show_bug.cgi?id=229679
Reviewed by Antti Koivisto.
This is in preparation for not constructing text runs in InlineContentBuilder::createDisplayLineRuns.
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::build const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLineRuns const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
- layout/integration/LayoutIntegrationInlineContentBuilder.h:
- layout/integration/LayoutIntegrationLine.h:
(WebCore::LayoutIntegration::NonRootInlineBox::setVerticalPositionIntegral):
- layout/integration/LayoutIntegrationRun.h:
(WebCore::LayoutIntegration::Run::setVerticalPositionIntegral):
- 8:19 AM Changeset in webkit [281803] by
-
- 1 copy in tags/Safari-612.1.29.14.5
Tag Safari-612.1.29.14.5.
- 7:45 AM Changeset in webkit [281802] by
-
- 7 edits in trunk
[COOP] html/cross-origin-opener-policy/coop-same-origin-allow-popups-document-write.html WPT test is failing
https://bugs.webkit.org/show_bug.cgi?id=229692
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/html/cross-origin-opener-policy/coop-same-origin-allow-popups-document-write-expected.txt:
Rebaseline WPT test that is now passing.
- web-platform-tests/html/cross-origin-opener-policy/coop-same-origin-allow-popups-document-write.html:
Merge typo fix from https://github.com/web-platform-tests/wpt/commit/0adccdd2cd38e2217a11d3d6dd14260f32a8a0a6
Source/WebCore:
The test does the following:
- An opener document with
COOP=same-origin-allow-popupsopens a new window that shows the initial empty document. Note that the openee inheritsCOOP=same-origin-allow-popupsfrom its opener. - The opener document then calls document.write() on the openee. Note that, as per the HTML specification, this clears the 'is displaying initial empty document' flag.
- The openee is navigated cross-origin to a destination without COOP.
Normally,
COOP=same-origin-allow-popupswould allow the popup to be navigated cross-origin as per the logic here [1]:
"""
If all of the following are true:
- isInitialAboutBlank,
- activeDocumentCOOPValue's value is "same-origin-allow-popups".
- responseCOOPValue is "unsafe-none",
then return false (meaning, no context group switch).
"""
However, because of the document.write() call at step 2, the isInitialAboutBlank flag is no longer true
and the check should fail, thus causing a browsing context group switch.
[1] https://html.spec.whatwg.org/multipage/origin.html#check-browsing-context-group-switch-coop-value
No new tests, rebaselined existing test.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::maybeLoadEmpty):
Replace the bad check to committedFirstRealDocumentLoad (which stays true after calling document.write()
on the initial empty document) with a check to !isDisplayingInitialEmptyDocument, which matches the
specification text. isDisplayingInitialEmptyDocument correctly becomes false after calling document.write()
on the initial empty document.
- loader/DocumentLoader.h:
(WebCore::DocumentLoader::crossOriginOpenerPolicy const):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::didBeginDocument):
Fix didBeginDocument() so that it doesn't overwrite the document's cross-origin-opener-policy when the
DocumentLoader does not know what the policy is. When opening a popup, Document::initSecurityContext()
will set the popup's cross-origin-opener-policy to the one of its opener. When didBeginDocument()
gets called later for the initial empty document, we don't want to overwrite the inherited policy
with a new default cross-origin-opener-policy of unsafe-none. The reason the DocumentLoader does not
have a policy for us is because this is the initial empty document and DocumentLoader's
doCrossOriginOpenerHandlingOfResponse() was thus never called with an actual network response.
- 7:19 AM Changeset in webkit [281801] by
-
- 8 edits in trunk/Source
[SOUP] Assertion in startObservingCookieChanges()
https://bugs.webkit.org/show_bug.cgi?id=229708
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-08-31
Reviewed by Philippe Normand.
Source/WebCore:
Add an implementation for startObservingCookieChanges() and stopObservingCookieChanges() setting the cookies
observer callback on the given storage session.
- platform/network/CookieStorage.h:
- platform/network/cf/CookieStorageCFNet.cpp:
(WebCore::startObservingCookieChanges):
(WebCore::stopObservingCookieChanges):
- platform/network/curl/CookieStorageCurl.cpp:
(WebCore::startObservingCookieChanges):
(WebCore::stopObservingCookieChanges):
- platform/network/mac/CookieStorageMac.mm:
(WebCore::startObservingCookieChanges):
(WebCore::stopObservingCookieChanges):
- platform/network/soup/CookieStorageSoup.cpp:
(WebCore::startObservingCookieChanges):
(WebCore::stopObservingCookieChanges):
Source/WebKit:
Do not observe cookies changes unconditionally on session creation/destruction.
- NetworkProcess/soup/NetworkSessionSoup.cpp:
(WebKit::NetworkSessionSoup::NetworkSessionSoup):
(WebKit::NetworkSessionSoup::~NetworkSessionSoup):
- 6:47 AM Changeset in webkit [281800] by
-
- 21 edits in trunk/Source/WebCore
[LFC][Integration] Make naming more consistent across Layout::Run and Integration::Run structs
https://bugs.webkit.org/show_bug.cgi?id=229693
Reviewed by Antti Koivisto.
This is in preparation for merging these 2 structs.
- display/DisplayTreeBuilder.cpp:
(WebCore::Display::TreeBuilder::buildInlineDisplayTree):
- display/css/DisplayBoxFactory.cpp:
(WebCore::Display::BoxFactory::displayBoxForTextRun const):
- display/css/DisplayBoxFactory.h:
- display/css/DisplayTextBox.cpp:
(WebCore::Display::TextBox::TextBox):
- display/css/DisplayTextBox.h:
(WebCore::Display::TextBox::expansion const):
(WebCore::Display::TextBox::text const):
- layout/Verification.cpp:
(WebCore::Layout::checkForMatchingNonTextRuns):
(WebCore::Layout::checkForMatchingTextRuns):
(WebCore::Layout::outputMismatchingComplexLineInformationIfNeeded):
- layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::build):
(WebCore::Layout::InlineDisplayContentBuilder::createRunsAndUpdateGeometryForLineContent):
(WebCore::Layout::InlineDisplayContentBuilder::createRunsAndUpdateGeometryForLineSpanningInlineBoxes):
- layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::computeStaticPositionForOutOfFlowContent):
- layout/formattingContexts/inline/InlineFormattingState.h:
(WebCore::Layout::InlineFormattingState::runs const):
(WebCore::Layout::InlineFormattingState::runs):
(WebCore::Layout::InlineFormattingState::addRun):
(WebCore::Layout::InlineFormattingState::clearLineAndRuns):
(WebCore::Layout::InlineFormattingState::shrinkToFit):
(WebCore::Layout::InlineFormattingState::lineRuns const): Deleted.
(WebCore::Layout::InlineFormattingState::lineRuns): Deleted.
(WebCore::Layout::InlineFormattingState::addLineRun): Deleted.
- layout/formattingContexts/inline/InlineLine.h:
(WebCore::Layout::Line::Run::expansion const):
(WebCore::Layout::Line::Run::setExpansion):
- layout/formattingContexts/inline/InlineLineRun.h:
(WebCore::Layout::Run::style const):
(WebCore::Layout::Run::Run):
(WebCore::Layout::Run::Text::Text):
(WebCore::Layout::LineRun::Text::start const): Deleted.
(WebCore::Layout::LineRun::Text::end const): Deleted.
(WebCore::Layout::LineRun::Text::length const): Deleted.
(WebCore::Layout::LineRun::Text::originalContent const): Deleted.
(WebCore::Layout::LineRun::Text::renderedContent const): Deleted.
(WebCore::Layout::LineRun::Text::hasHyphen const): Deleted.
(WebCore::Layout::LineRun::isText const): Deleted.
(WebCore::Layout::LineRun::isSoftLineBreak const): Deleted.
(WebCore::Layout::LineRun::isLineBreakBox const): Deleted.
(WebCore::Layout::LineRun::isLineBreak const): Deleted.
(WebCore::Layout::LineRun::isAtomicInlineLevelBox const): Deleted.
(WebCore::Layout::LineRun::isInlineBox const): Deleted.
(WebCore::Layout::LineRun::isNonRootInlineBox const): Deleted.
(WebCore::Layout::LineRun::isRootInlineBox const): Deleted.
(WebCore::Layout::LineRun::isGenericInlineLevelBox const): Deleted.
(WebCore::Layout::LineRun::isInlineLevelBox const): Deleted.
(WebCore::Layout::LineRun::isNonRootInlineLevelBox const): Deleted.
(WebCore::Layout::LineRun::type const): Deleted.
(WebCore::Layout::LineRun::hasContent const): Deleted.
(WebCore::Layout::LineRun::isLineSpanning const): Deleted.
(WebCore::Layout::LineRun::logicalRect const): Deleted.
(WebCore::Layout::LineRun::inkOverflow const): Deleted.
(WebCore::Layout::LineRun::logicalTop const): Deleted.
(WebCore::Layout::LineRun::logicalBottom const): Deleted.
(WebCore::Layout::LineRun::logicalLeft const): Deleted.
(WebCore::Layout::LineRun::logicalRight const): Deleted.
(WebCore::Layout::LineRun::logicalWidth const): Deleted.
(WebCore::Layout::LineRun::logicalHeight const): Deleted.
(WebCore::Layout::LineRun::moveVertically): Deleted.
(WebCore::Layout::LineRun::text): Deleted.
(WebCore::Layout::LineRun::text const): Deleted.
(WebCore::Layout::LineRun::expansion const): Deleted.
(WebCore::Layout::LineRun::layoutBox const): Deleted.
(WebCore::Layout::LineRun::lineIndex const): Deleted.
(WebCore::Layout::LineRun::LineRun): Deleted.
(WebCore::Layout::LineRun::Text::Text): Deleted.
- layout/formattingContexts/table/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::setUsedGeometryForCells):
- layout/integration/LayoutIntegrationInlineContent.cpp:
(WebCore::LayoutIntegration::InlineContent::iteratorForTextRun const):
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::build const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayRuns const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLineRuns const): Deleted.
- layout/integration/LayoutIntegrationInlineContentBuilder.h:
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::paint):
(WebCore::LayoutIntegration::LineLayout::hitTest):
(WebCore::LayoutIntegration::LineLayout::paintTextRunUsingPhysicalCoordinates):
- layout/integration/LayoutIntegrationPagination.cpp:
(WebCore::LayoutIntegration::makeAdjustedContent):
- layout/integration/LayoutIntegrationRun.h:
(WebCore::LayoutIntegration::Run::logicalRect const):
(WebCore::LayoutIntegration::Run::text):
(WebCore::LayoutIntegration::Run::text const):
(WebCore::LayoutIntegration::Run::isLineBreak const):
(WebCore::LayoutIntegration::Run::Run):
(WebCore::LayoutIntegration::Run::Text::Text):
(WebCore::LayoutIntegration::Run::TextContent::start const): Deleted.
(WebCore::LayoutIntegration::Run::TextContent::end const): Deleted.
(WebCore::LayoutIntegration::Run::TextContent::length const): Deleted.
(WebCore::LayoutIntegration::Run::TextContent::originalContent const): Deleted.
(WebCore::LayoutIntegration::Run::TextContent::renderedContent const): Deleted.
(WebCore::LayoutIntegration::Run::TextContent::hasHyphen const): Deleted.
(WebCore::LayoutIntegration::Run::rect const): Deleted.
(WebCore::LayoutIntegration::Run::textContent): Deleted.
(WebCore::LayoutIntegration::Run::textContent const): Deleted.
(WebCore::LayoutIntegration::Run::TextContent::TextContent): Deleted.
- layout/integration/LayoutIntegrationRunIteratorModernPath.h:
(WebCore::LayoutIntegration::RunIteratorModernPath::isText const):
(WebCore::LayoutIntegration::RunIteratorModernPath::rect const):
(WebCore::LayoutIntegration::RunIteratorModernPath::hasHyphen const):
(WebCore::LayoutIntegration::RunIteratorModernPath::text const):
(WebCore::LayoutIntegration::RunIteratorModernPath::start const):
(WebCore::LayoutIntegration::RunIteratorModernPath::end const):
(WebCore::LayoutIntegration::RunIteratorModernPath::length const):
(WebCore::LayoutIntegration::RunIteratorModernPath::traverseNextTextRun):
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::showInlineTreeAndRuns):
- 5:48 AM Changeset in webkit [281799] by
-
- 9 edits in trunk
Implement Object.hasOwn()
https://bugs.webkit.org/show_bug.cgi?id=226291
Patch by Aditi Singh <asingh@igalia.com> on 2021-08-31
Reviewed by Alexey Shvayka.
This patch implements Object.hasOwn() method which is a stage 3 proposal. The method is disabled by default and can be enabled using the feature flag.
The proposal details can be found here: https://github.com/tc39/proposal-accessible-object-hasownproperty.
The patch also refines objectPrototypeHasOwnProperty() to accept JSObject* base rather than JSValue.
- dfg/DFGOperations.cpp:
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
- runtime/CommonIdentifiers.h:
- runtime/CommonSlowPaths.cpp:
(JSC::JSC_DEFINE_COMMON_SLOW_PATH):
- runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::finishCreation):
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/ObjectPrototype.cpp:
(JSC::objectPrototypeHasOwnProperty):
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/ObjectPrototype.h:
- runtime/OptionsList.h:
- 4:48 AM Changeset in webkit [281798] by
-
- 5 edits in trunk
[CSS Cascade Layers] Compute order correctly for late added sublayers
https://bugs.webkit.org/show_bug.cgi?id=229666
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-cascade/layer-basic-expected.txt:
Source/WebCore:
In cases like
@layer a.b { ... }
@layer c { ... }
@layer a.d { ... }
'c' should have higher priority than 'a.d'.
Replace the per-RuleData layer order vector with references (indexes) to layer entry vector.
These entries have order field that can be recomputed.
- style/RuleSet.cpp:
(WebCore::Style::RuleSet::addRule):
(WebCore::Style::RuleSet::Builder::addStyleRule):
(WebCore::Style::RuleSet::Builder::pushCascadeLayer):
Instead of computing order directly we just give each layer an identifier and add an entry for it to the layer vector.
(WebCore::Style::RuleSet::Builder::popCascadeLayer):
(WebCore::Style::RuleSet::Builder::~Builder):
Compute layer order after building for all layers.
(WebCore::Style::RuleSet::shrinkToFit):
- style/RuleSet.h:
(WebCore::Style::RuleSet::cascadeLayerForIdentifier):
(WebCore::Style::RuleSet::cascadeLayerForIdentifier const):
(WebCore::Style::RuleSet::cascadeLayerOrderFor const):
- 2:46 AM Changeset in webkit [281797] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, OpenXR build warning fix.
- platform/xr/openxr/OpenXRInputMappings.h:
- 2:07 AM Changeset in webkit [281796] by
-
- 20 edits2 copies1 add in trunk
Add support for RTCIceTransport
https://bugs.webkit.org/show_bug.cgi?id=229285
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- web-platform-tests/webrtc/idlharness.https.window-expected.txt:
- web-platform-tests/webrtc/protocol/bundle.https-expected.txt:
Source/WebCore:
Introduce RTCIceTransport as per spec.
Reuse the same model as RTCDtlsTransport with a backend and RTCPeerConnection be responsible to reuse or create transports as needed.
Covered by updated tests.
- Modules/mediastream/RTCDtlsTransport.cpp:
(WebCore::RTCDtlsTransport::RTCDtlsTransport):
- Modules/mediastream/RTCDtlsTransport.h:
- Modules/mediastream/RTCDtlsTransport.idl:
- Modules/mediastream/RTCDtlsTransportBackend.h:
- Modules/mediastream/RTCIceTransport.cpp:
(WebCore::RTCIceTransport::RTCIceTransport):
(WebCore::RTCIceTransport::~RTCIceTransport):
(WebCore::RTCIceTransport::stop):
(WebCore::RTCIceTransport::virtualHasPendingActivity const):
(WebCore::RTCIceTransport::onStateChanged):
(WebCore::RTCIceTransport::onGatheringStateChanged):
- Modules/mediastream/RTCIceTransport.h:
(WebCore::RTCIceTransport::create):
(WebCore::RTCIceTransport::state const):
(WebCore::RTCIceTransport::backend const):
- Modules/mediastream/RTCIceTransport.idl:
- Modules/mediastream/RTCIceTransportBackend.h: Added.
(WebCore::operator==):
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::computeConnectionState):
(WebCore::RTCPeerConnection::updateConnectionState):
(WebCore::isIceTransportUsedByTransceiver):
(WebCore::RTCPeerConnection::computeIceConnectionStateFromIceTransports):
(WebCore::RTCPeerConnection::processIceTransportStateChange):
(WebCore::RTCPeerConnection::getOrCreateIceTransport):
(WebCore::RTCPeerConnection::getOrCreateDtlsTransport):
- Modules/mediastream/RTCPeerConnection.h:
- Modules/mediastream/libwebrtc/LibWebRTCDtlsTransportBackend.cpp:
(WebCore::LibWebRTCDtlsTransportBackend::iceTransportBackend):
- Modules/mediastream/libwebrtc/LibWebRTCDtlsTransportBackend.h:
- Modules/mediastream/libwebrtc/LibWebRTCIceTransportBackend.cpp: Added.
(WebCore::toRTCIceTransportState):
(WebCore::toRTCIceGatheringState):
(WebCore::LibWebRTCIceTransportBackendObserver::LibWebRTCIceTransportBackendObserver):
(WebCore::LibWebRTCIceTransportBackendObserver::start):
(WebCore::LibWebRTCIceTransportBackendObserver::stop):
(WebCore::LibWebRTCIceTransportBackendObserver::onIceTransportStateChanged):
(WebCore::LibWebRTCIceTransportBackendObserver::onGatheringStateChanged):
(WebCore::LibWebRTCIceTransportBackend::LibWebRTCIceTransportBackend):
(WebCore::LibWebRTCIceTransportBackend::~LibWebRTCIceTransportBackend):
(WebCore::LibWebRTCIceTransportBackend::registerClient):
(WebCore::LibWebRTCIceTransportBackend::unregisterClient):
- Modules/mediastream/libwebrtc/LibWebRTCIceTransportBackend.h: Added.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::OnIceConnectionChange):
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/EventNames.h:
- dom/EventTargetFactory.in:
- 1:39 AM Changeset in webkit [281795] by
-
- 5 edits2 adds in trunk
Nullptr crash in TypingCommand::willAddTypingToOpenCommand via TypingCommand::deleteKeyPressed
https://bugs.webkit.org/show_bug.cgi?id=229277
Patch by Rob Buis <rbuis@igalia.com> on 2021-08-31
Reviewed by Ryosuke Niwa.
Source/WebCore:
Rewtite CompositeEditCommand::shouldBreakOutOfEmptyListItem() to return just VisibleSelection
and check that it is not none in TypingCommand::willAddTypingToOpenCommand.
Test: editing/deleting/delete-key-crash.html
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraphs):
- editing/CompositeEditCommand.h:
- editing/TypingCommand.cpp:
(WebCore::TypingCommand::deleteKeyPressed):
LayoutTests:
- editing/deleting/delete-key-crash-expected.txt: Added.
- editing/deleting/delete-key-crash.html: Added.
- 1:11 AM Changeset in webkit [281794] by
-
- 11 edits2 deletes in trunk
webgl/1.0.x/conformance/glsl/misc/fragcolor-fragdata-invariant.html fails
https://bugs.webkit.org/show_bug.cgi?id=223317
<rdar://problem/75772659>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-08-31
Reviewed by Kenneth Russell.
Source/ThirdParty/ANGLE:
The parser maintains invariance metadata for each input and output
with the help of the symbol table, during parsing.
Use this metadata through the collection phase done by CollectVariables
section of shader compilation.
Remove the manual tree rewrite section that collected the invariance
information. The implementation had following problems:
1) It would declare the variables present. This would fail the test case
fixed here, due to the test case using invariant declarations to both
FragColor and FragData, which would cause both to be present as outputs
to the MSL.
2) It would operate on rewritten variables. For example, FragCoord would
be replaced with different variable, causing the invariance be marked
based on the rewritten name but the later lookup intended to be done
with the original name.
Remove logic to mark FragCoord as invariant, as MSL specification explicitly
says that only the vertex position output can be marked as invariant.
As noted above, this never worked.
Fix cases where the tree rewriters assume that all variable references are
done within functions. The global qualifier declarations are now left
in the tree and as such can refer to variables but do not belong to any
function.
Fixes:
webgl/1.0.x/conformance/glsl/misc/fragcolor-fragdata-invariant.html
webgl/2.0.y/conformance/glsl/misc/fragcolor-fragdata-invariant.html
- ANGLE.xcodeproj/project.pbxproj:
- src/compiler/translator/TranslatorMetalDirect.cpp:
(sh::TranslatorMetalDirect::translateImpl):
- src/compiler/translator/TranslatorMetalDirect/DiscoverDependentFunctions.cpp:
- src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(GenMetalTraverser::GenMetalTraverser):
(GenMetalTraverser::emitPostQualifier):
(GenMetalTraverser::visitGlobalQualifierDeclaration):
(sh::EmitMetal):
- src/compiler/translator/TranslatorMetalDirect/EmitMetal.h:
- src/compiler/translator/TranslatorMetalDirect/RewriteGlobalQualifierDecls.cpp: Removed.
- src/compiler/translator/TranslatorMetalDirect/RewriteGlobalQualifierDecls.h: Removed.
- src/compiler/translator/TranslatorMetalDirect/RewritePipelines.cpp:
(sh::IsVariableInvariant):
(sh::GeneratePipelineStruct::Exec):
(sh::GeneratePipelineStruct::GeneratePipelineStruct):
(sh::GeneratePipelineStruct::createInternalPipelineStruct):
(sh::UpdatePipelineSymbols):
(sh::RewritePipeline):
(sh::RewritePipelines):
- src/compiler/translator/TranslatorMetalDirect/RewritePipelines.h:
- src/compiler/translator/TranslatorMetalDirect/SeparateCompoundExpressions.cpp:
LayoutTests:
Fixes tests:
webgl/1.0.x/conformance/glsl/misc/fragcolor-fragdata-invariant.html
webgl/2.0.y/conformance/glsl/misc/fragcolor-fragdata-invariant.html
Mark the skipped tests as Pass until all 1.0.x/2.0.y tests
are unskipped.
- 12:40 AM Changeset in webkit [281793] by
-
- 8 edits in trunk/Source/WebCore
Re-generalize top layer element concept
https://bugs.webkit.org/show_bug.cgi?id=229488
Reviewed by Antti Koivisto.
r281548 made the concept of top layer is confined to dialog element to eliminate the runtime cost
of making 5+ function calls and looking up the list hash set per removal of every element.
This patch re-generalize this concept for all elements by introducing a new node flag to avoid
the runtime cost so that we may use it in the future for the full screen element.
No new tests since there should be no observable behavior changes.
This patch also inverts the relationship between member functions in Element and Document
to reduce the number of function calls involved by 1.
- dom/Document.cpp:
(Document::removedLastRef): Make sure the list of top layer elements is empty.
(WebCore::Document::addTopLayerElement): Renamed from addToTopLayer. The code to update the layer
has been moved to Element::addToTopLayer. Also release-time assert that the element is connected
to this document.
(WebCore::Document::removeTopLayerElement): Ditto.
- dom/Document.h:
- dom/Element.cpp:
(WebCore::Element::removedFromAncestor): Call removeTopLayerElement if this element had a top layer.
(WebCore::renderLayerForElement): Added.
(WebCore::Element::addToTopLayer): Moved from Document. Set the node flag: IsInTopLayer.
(WebCore::Element::removeFromTopLayer): Ditto, clear the node flag.
(WebCore::Element::isInTopLayerWillChange): Deleted.
(WebCore::Element::isInTopLayerDidChange): Deleted.
- dom/Element.h:
(WebCore::Element::isInTopLayer const): Rewritten to make use of new node flag.
- dom/Node.h:
(WebCore::NodeFlag): Added a new node flag: IsInTopLayer.
- html/HTMLDialogElement.cpp:
(WebCore::HTMLDialogElement::showModal):
(WebCore::HTMLDialogElement::close):
(WebCore::HTMLDialogElement::removedFromAncestor): Deleted.
- html/HTMLDialogElement.h:
- 12:18 AM Changeset in webkit [281792] by
-
- 5 edits4 adds in trunk
[Cocoa] Drawing system fallback fonts to canvas causes a crash
https://bugs.webkit.org/show_bug.cgi?id=229633
<rdar://problem/81889036>
Reviewed by Wenson Hsieh.
Source/WebCore/PAL:
- pal/spi/cf/CoreTextSPI.h:
Source/WebKit:
Dot-prefixed font names don't survive the round-trip through
CTFontDescriptorCopyAttributes(CTFontCopyFontDescriptor(font)) unless you also
pass in the kCTFontOptionsSystemUIFont option.
Tests: fast/text/system-fallback-canvas.html
fast/text/draw-synthetic-system-bold-font-into-canvas.html
- Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::createCTFont):
(IPC::ArgumentCoder<Ref<WebCore::Font>>::decodePlatformData):
LayoutTests:
- fast/text/system-fallback-canvas-expected.txt: Added.
- fast/text/system-fallback-canvas.html: Added.
Aug 30, 2021:
- 8:43 PM Changeset in webkit [281791] by
-
- 35 edits in trunk/Source
Cut down on use of CFGetTypeID, using dynamic_cf_cast instead; related streamlining
https://bugs.webkit.org/show_bug.cgi?id=229414
Reviewed by Tim Horton.
Source/JavaScriptCore:
- inspector/remote/cocoa/RemoteInspectorXPCConnection.mm:
(Inspector::RemoteInspectorXPCConnection::deserializeMessage): Use
dynamic_cf_cast to check type instead of CFGetTypeID. Also do the
check at runtime rather than asserting. Not really sufficient to
assert correct type for something that comes over an XPC connection.
Source/WebCore:
- platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::makeSimpleColorFromARGBCFArray): Use dynamic_cf_cast.
(WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Ditto.
Also removed unnecessary type casts when comparing with kCFBooleanTrue.
- platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm:
Use dynamic_cf_cast.
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontCache::systemFontFamilies): Ditto.
(WebCore::isUserInstalledFont): Use kCFBooleanTrue.
- platform/graphics/cocoa/HEVCUtilitiesCocoa.mm:
(WebCore::validateHEVCParameters): Use dynamic_cf_cast and kCFBooleanTrue.
(WebCore::validateDoViParameters): Ditto.
- platform/graphics/cocoa/WebCoreDecompressionSession.mm:
(WebCore::WebCoreDecompressionSession::shouldDecodeSample):
Use kCFBooleanFalse.
- platform/graphics/coretext/FontPlatformDataCoreText.cpp:
(WebCore::FontPlatformData::objectForEqualityCheck): Use auto.
- platform/graphics/cv/GraphicsContextGLCVANGLE.cpp:
(WebCore::transferFunctionFromString): Removed type check, which caller
should do since the agument type is CFStringRef.
(WebCore::GraphicsContextGLCVANGLE::copyPixelBufferToTexture): Use
dynamic_cf_cast instead of an unchecked static_cast.
- platform/ios/UserAgentIOS.mm:
(WebCore::deviceNameForUserAgent): Improved efficiency by returning
a StringView instead of a String, no need to create and destroy a string
or churn the reference count each time this function is called.
(WebCore::standardUserAgentWithApplicationName): Improved efficiency
by using a better idiom for the space before the application name.
Use dynamic_cf_cast.
- platform/mediastream/mac/WindowDisplayCapturerMac.mm:
(WebCore::anyOfCGWindow): Use kCFBooleanFalse.
- platform/network/cf/ProxyServerCFNet.cpp:
(WebCore::processProxyServers): Use dynamic_cf_cast.
- platform/network/cf/ResourceRequestCFNet.cpp: Move
WTF_DECLARE_CF_TYPE_TRAIT for CFURLRef out of here.
- platform/network/cf/SocketStreamHandleImplCFNet.cpp:
(WebCore::SocketStreamHandleImpl::chooseProxyFromArray): Ditto.
- platform/network/ios/WebCoreURLResponseIOS.h: Tweaked a bit.
- platform/network/ios/WebCoreURLResponseIOS.mm:
(WebCore::createExtensionToMIMETypeMap): Deleted.
(WebCore::adjustMIMETypeIfNecessary): Simplified the code that maps ".mjs"
to "text/javascript" to make it much more efficient and not use a dictionary.
Refactored to share code with the Mac, via the WebCoreURLResponse.h/mm
files, which are not macOS-specific even though they are in a directory
named "mac". Fixed one place where we did adoptCF where it should be adoptNS.
Use CFSTR("application/octet-stream") directly instead of using
WebCore::defaultMIMEType().
- platform/network/mac/NetworkStateNotifierMac.cpp:
(WebCore::NetworkStateNotifier::updateStateWithoutNotifying): Use
dynamic_cf_cast.
- platform/network/mac/UTIUtilities.h: Renamed MIMETypeFromUTITree
to mimeTypeFromUTITree to make the style robot happy. Changed the
argument and return type to CFStringRef since that's what the callers
all want, and what the implementation uses, and there is no reason to
convert back and forth to WTF::String.
- platform/network/mac/UTIUtilities.mm:
(WebCore::mimeTypeFromUTITree): Use nullptr, not emptyString(), for the
value when there is no MIME type found. Use auto. Use dynamic_cf_cast.
Make recursion more efficient since we don't keep converting back and
forth between CFStringRef and WTF::String.
(WebCore::UTIFromTag): Removed unneeded explicit converstion to WTF::String.
- platform/network/mac/WebCoreURLResponse.h: Added helper functions
to the header, shared by WebCoreURLResponse.mm and WebCoreURLResponseIOS.mm.
Use CFSTR("application/octet-stream") directly instead of using
WebCore::defaultMIMEType().6
- platform/network/mac/WebCoreURLResponse.mm:
(WebCore::createExtensionToMIMETypeMap): Deleted.
(WebCore::adjustMIMETypeIfNecessary): Refactored to use a SortedArrayMap
instead of a CFDictionary, eliminating various type casts and conversions.
Refactored to use the new functions below. Use makeNeverDestroyed to
instead of RetainPtr::leakRef. Removed unnecessary check for equality
since this function only does work when CFURLResponseGetMIMEType is nullptr.
(WebCore::filePathExtension): Added. Refactored the code to get a path extension
from a CFURLResponseRef into a function since it's used in two places.
(WebCore::preferredMIMETypeForFileExtensionFromUTType): Added. Refactored
this logical operation, mapping a file extension to a MIME type, into a function.
This is used in two places. Also puts ALLOW_DEPRECATED_DECLARATIONS_BEGIN/END
pair into a single place, and this is where we'll switch to use newer UTType
machinery later on.
- testing/cocoa/WebArchiveDumpSupport.mm:
(WebCoreTestSupport::convertWebResourceResponseToDictionary): Use auto and
dynamic_cf_cast.
Source/WebCore/PAL:
- pal/system/mac/DefaultSearchProvider.cpp:
(PAL::defaultSearchProviderDisplayName): Use dynamic_cf_cast and removed an unneeded call to
CFStringCreateCopy, since the callers don't need an isolated copy.
Source/WebKit:
- Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::getPluginInfoFromPropertyLists): Use dynamic_cf_cast.
(WebKit::NetscapePluginModule::getPluginInfo): Ditto.
Source/WebKitLegacy/cf:
- WebCoreSupport/WebInspectorClientCF.cpp:
(loadSetting): Rename from populateSetting. Use dyanmic_cf_cast, kCFBooleanTrue, and
kCFBooleanFalse, also change to return value instead of a pointer-based out argument.
(WebInspectorClient::inspectorAttachDisabled): Update for change to loadSetting.
(WebInspectorClient::inspectorStartsAttached): Ditto.
(WebInspectorClient::createFrontendSettings): Ditto. Also use final instead of virtual.
Source/WebKitLegacy/mac:
- Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage bundleVersion]): Use dynamic_cf_cast.
Source/WTF:
- wtf/cf/TypeCastsCF.h: Added WTF_DECLARE_CF_TYPE_TRAIT(CFURL). Added a
dynamic_cf_cast overload that converts from one RetainPtr type to another
and avoids reference count churn. Tweaked comments.
- wtf/cocoa/Entitlements.mm:
(WTF::hasEntitlement): Use kCFBooleanTrue instead of CFBooleanGetValue.
- wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp:
(WTF::textBreakLocalePreference): Use dynamic_cf_cast.
- 8:02 PM Changeset in webkit [281790] by
-
- 21 edits in trunk/Source/JavaScriptCore
[JSC] Host functions and custom getters should be lowerCamelCase
https://bugs.webkit.org/show_bug.cgi?id=229695
Reviewed by Yusuke Suzuki.
For some reason, the host functions and custom getters for Intl (and JSONObject) were written in UpperCamelCase.
- runtime/IntlCollatorConstructor.cpp:
- runtime/IntlCollatorPrototype.cpp:
- runtime/IntlDateTimeFormatConstructor.cpp:
- runtime/IntlDateTimeFormatPrototype.cpp:
- runtime/IntlDisplayNamesConstructor.cpp:
- runtime/IntlDisplayNamesPrototype.cpp:
- runtime/IntlListFormatConstructor.cpp:
- runtime/IntlListFormatPrototype.cpp:
- runtime/IntlLocalePrototype.cpp:
- runtime/IntlNumberFormatConstructor.cpp:
- runtime/IntlNumberFormatPrototype.cpp:
- runtime/IntlPluralRulesConstructor.cpp:
- runtime/IntlPluralRulesPrototype.cpp:
- runtime/IntlRelativeTimeFormatConstructor.cpp:
- runtime/IntlRelativeTimeFormatPrototype.cpp:
- runtime/IntlSegmentIteratorPrototype.cpp:
- runtime/IntlSegmenterConstructor.cpp:
- runtime/IntlSegmenterPrototype.cpp:
- runtime/IntlSegmentsPrototype.cpp:
- runtime/JSONObject.cpp:
- 7:57 PM Changeset in webkit [281789] by
-
- 14 edits in trunk
[JSC][Intl] Errors for .call({}) are too verbose
https://bugs.webkit.org/show_bug.cgi?id=229694
Reviewed by Yusuke Suzuki.
JSTests:
- stress/intl-displaynames.js:
Source/JavaScriptCore:
- runtime/IntlCollatorPrototype.cpp:
- runtime/IntlDateTimeFormatPrototype.cpp:
- runtime/IntlDisplayNamesPrototype.cpp:
- runtime/IntlListFormatPrototype.cpp:
- runtime/IntlLocalePrototype.cpp:
- runtime/IntlNumberFormatPrototype.cpp:
- runtime/IntlPluralRulesPrototype.cpp:
- runtime/IntlRelativeTimeFormatPrototype.cpp:
- runtime/IntlSegmentIteratorPrototype.cpp:
- runtime/IntlSegmenterPrototype.cpp:
- runtime/IntlSegmentsPrototype.cpp:
- 6:56 PM Changeset in webkit [281788] by
-
- 20 edits7 adds in trunk
[JSC] Implement Temporal.Calendar
https://bugs.webkit.org/show_bug.cgi?id=229651
Reviewed by Ross Kirsling.
JSTests:
- stress/temporal-calendar.js: Added.
(shouldBe):
(shouldThrow):
(new.Temporal.Calendar):
Source/JavaScriptCore:
This patch implements Temporal.Calendar's simple part. Currently, we do not implement many part of Temporal.Calendar since
we do not have Temporal Date-like structures yet, but this patch implemented core part of Temporal.Calendar: keeping calendar
identifier.
We also defer implementing Temporal.Calendar.from's calendar ID parsing part since it requires full-fledged ISO 8601 parser,
which will be implemented in a separate patch.
We use
unsignedfor CalendarID, and this id corresponds to the array index of intlAvailableCalendars, which returns array
of String from ICU.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- runtime/CommonIdentifiers.h:
- runtime/IntlObject.cpp:
(JSC::intlAvailableCalendars):
(JSC::iso8601CalendarIDSlow):
(JSC::availableCalendars):
(JSC::createArrayFromStringVector): Deleted.
- runtime/IntlObject.h:
(JSC::iso8601CalendarID):
- runtime/IntlObjectInlines.h:
(JSC::createArrayFromStringVector):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildrenImpl):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::calendarStructure):
- runtime/TemporalCalendar.cpp: Added.
(JSC::TemporalCalendar::create):
(JSC::TemporalCalendar::createStructure):
(JSC::TemporalCalendar::TemporalCalendar):
(JSC::TemporalCalendar::isBuiltinCalendar):
(JSC::parseTemporalCalendarString):
(JSC::TemporalCalendar::from):
- runtime/TemporalCalendar.h: Added.
- runtime/TemporalCalendarConstructor.cpp: Added.
(JSC::TemporalCalendarConstructor::create):
(JSC::TemporalCalendarConstructor::createStructure):
(JSC::TemporalCalendarConstructor::TemporalCalendarConstructor):
(JSC::TemporalCalendarConstructor::finishCreation):
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/TemporalCalendarConstructor.h: Added.
- runtime/TemporalCalendarPrototype.cpp: Added.
(JSC::TemporalCalendarPrototype::create):
(JSC::TemporalCalendarPrototype::createStructure):
(JSC::TemporalCalendarPrototype::TemporalCalendarPrototype):
(JSC::TemporalCalendarPrototype::finishCreation):
(JSC::JSC_DEFINE_CUSTOM_GETTER):
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::defaultMergeFields):
- runtime/TemporalCalendarPrototype.h: Added.
- runtime/TemporalObject.cpp:
(JSC::createCalendarConstructor):
- runtime/VM.cpp:
- runtime/VM.h:
Source/WTF:
Add UChar version of createStaticStringImpl to make immortal thread-safe StringImpl with UChar.
- wtf/text/StringImpl.cpp:
(WTF::StringImpl::createStaticStringImpl):
- wtf/text/StringImpl.h:
(WTF::StringImpl::createStaticStringImpl):
- 6:41 PM Changeset in webkit [281787] by
-
- 7 edits in trunk/Source/WebCore
Web Inspector: Refactor
WorkerInspectorAgentto use weak pointers forWorkerInspectorProxys
https://bugs.webkit.org/show_bug.cgi?id=229632
Reviewed by Chris Dumez.
Covered by existing tests in LayoutTests/inspector/worker/*
Make
WorkerInspectorProxyreference counted, and useWeakPtrs to them inInspectorWorkerAgent.
- inspector/agents/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::initialized):
(WebCore::InspectorWorkerAgent::sendMessageToWorker):
(WebCore::InspectorWorkerAgent::connectToAllWorkerInspectorProxiesForPage):
(WebCore::InspectorWorkerAgent::disconnectFromAllWorkerInspectorProxies):
(WebCore::InspectorWorkerAgent::connectToWorkerInspectorProxy):
- inspector/agents/InspectorWorkerAgent.h:
- workers/WorkerInspectorProxy.cpp:
(WebCore::WorkerInspectorProxy::allWorkerInspectorProxies):
(WebCore::WorkerInspectorProxy::workerStarted):
(WebCore::WorkerInspectorProxy::workerTerminated):
- workers/WorkerInspectorProxy.h:
(WebCore::WorkerInspectorProxy::create):
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
- workers/WorkerMessagingProxy.h:
- 6:08 PM Changeset in webkit [281786] by
-
- 46 edits3 copies1 add in trunk
LayoutTests/imported/w3c:
Rebaseline for CSS Typed OM, CSSUnparsedValue partially implemented.
https://bugs.webkit.org/show_bug.cgi?id=229069
Patch by Johnson Zhou <qiaosong_zhou@apple.com> on 2021-08-30
Reviewed by Alex Christensen.
- web-platform-tests/css/css-typed-om/idlharness-expected.txt:
- web-platform-tests/css/css-typed-om/set-var-reference-thcrash-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-normalization/normalize-ident.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-normalization/normalize-image-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-normalization/normalize-numeric.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-normalization/normalize-tokens.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-objects/parse-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-objects/parse-invalid-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-objects/parseAll-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-objects/parseAll-invalid-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-serialization/cssKeywordValue.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-serialization/cssPositionValue-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-serialization/cssStyleValue-cssom-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-serialization/cssStyleValue-string-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-serialization/cssUnitValue.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-serialization/cssUnparsedValue-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssUnparsedValue-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssUnparsedValue-indexed-getter-setter-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssUnparsedValue-iterable-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssUnparsedValue-length-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssVariableReferenceValue-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssVariableReferenceValue-invalid-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssVariableReferenceValue-variable-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/parse.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/get-expected.txt:
Source/WebCore:
Addition of CSSUnparsedValue. (TypedOM)
https://bugs.webkit.org/show_bug.cgi?id=229069
Patch by Johnson Zhou <qiaosong_zhou@apple.com> on 2021-08-30
Reviewed by Alex Christensen.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSCSSStyleValueCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/WebCoreBuiltinNames.h:
- css/typedom/CSSNumericValue.h:
(WebCore::CSSNumericValue::getType const):
- css/typedom/CSSOMVariableReferenceValue.cpp: Copied from Source/WebCore/css/typedom/CSSUnparsedValue.cpp.
(WebCore::CSSOMVariableReferenceValue::create):
(WebCore::CSSOMVariableReferenceValue::setVariable):
(WebCore::CSSOMVariableReferenceValue::toString const):
- css/typedom/CSSOMVariableReferenceValue.h: Copied from Source/WebCore/css/typedom/CSSUnparsedValue.h.
- css/typedom/CSSOMVariableReferenceValue.idl: Copied from Source/WebCore/css/typedom/CSSStyleValue.idl.
- css/typedom/CSSStyleImageValue.cpp:
(WebCore::CSSStyleImageValue::CSSStyleImageValue):
- css/typedom/CSSStyleImageValue.h:
- css/typedom/CSSStyleValue.cpp:
(WebCore::CSSStyleValue::parseStyleValue):
(WebCore::CSSStyleValue::parse):
(WebCore::CSSStyleValue::parseAll):
(WebCore::CSSStyleValue::create):
(WebCore::CSSStyleValue::CSSStyleValue):
(WebCore::CSSStyleValue::reifyValue):
(WebCore::CSSStyleValue::toString const):
- css/typedom/CSSStyleValue.h:
(WebCore::CSSStyleValue::getType const):
(WebCore::CSSStyleValue::isUnitValue): Deleted.
(WebCore::CSSStyleValue::isUnparsedValue): Deleted.
(WebCore::CSSStyleValue::isImageValue): Deleted.
- css/typedom/CSSStyleValue.idl:
- css/typedom/CSSUnitValue.h:
- css/typedom/CSSUnparsedValue.cpp:
(WebCore::CSSUnparsedValue::create):
(WebCore::CSSUnparsedValue::CSSUnparsedValue):
(WebCore::CSSUnparsedValue::toString const):
(WebCore::CSSUnparsedValue::item):
(WebCore::CSSUnparsedValue::setItem):
- css/typedom/CSSUnparsedValue.h:
(WebCore::CSSUnparsedValue::length const):
(isType):
- css/typedom/CSSUnparsedValue.idl:
- css/typedom/StylePropertyMapReadOnly.cpp:
(WebCore::StylePropertyMapReadOnly::reifyValue):
(WebCore::StylePropertyMapReadOnly::customPropertyValueOrDefault):
- css/typedom/StylePropertyMapReadOnly.h:
- dom/StyledElement.cpp:
- html/CustomPaintImage.cpp:
(WebCore::extractComputedProperty):
- 4:36 PM Changeset in webkit [281785] by
-
- 3 edits in trunk/Source/WebCore
Remove hardcoded CSSUnitType enum values
https://bugs.webkit.org/show_bug.cgi?id=229672
Patch by Kiet Ho <Kiet Ho> on 2021-08-30
Reviewed by Simon Fraser.
- css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::isFontIndependentLength):
(WebCore::CSSPrimitiveValue::isLength):
(WebCore::CSSPrimitiveValue::isResolution):
(WebCore::CSSPrimitiveValue::isViewportPercentageLength):
- css/CSSUnits.h:
- 4:10 PM Changeset in webkit [281784] by
-
- 2 edits in trunk/LayoutTests
Update fast/events/touch/ios/long-press-to-select-text.html
https://bugs.webkit.org/show_bug.cgi?id=229689
rdar://29333567
Reviewed by Wenson Hsieh.
Test marked as failing on an old build. Seems to be fine now, but taking the opportunity to update
the test to use the latest helper functions.
- fast/events/touch/ios/long-press-to-select-text.html:
- 4:07 PM Changeset in webkit [281783] by
-
- 2 edits in trunk/Source/WebCore
Fix include guards in PlatformScreenMac.mm
https://bugs.webkit.org/show_bug.cgi?id=229430
Reviewed by Alex Christensen.
The include guards should refer to the file they're including.
- platform/mac/PlatformScreenMac.mm:
- 3:50 PM Changeset in webkit [281782] by
-
- 11 edits1 delete in trunk/Source/WebKit
Remove unused OptionalCallbackID
https://bugs.webkit.org/show_bug.cgi?id=229359
Patch by Alex Christensen <achristensen@webkit.org> on 2021-08-30
Reviewed by Sam Weinig.
- NetworkProcess/NetworkProcess.h:
- Shared/CallbackID.h:
- Shared/OptionalCallbackID.h: Removed.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebCookieManagerProxy.cpp:
- UIProcess/WebPageProxy.cpp:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/EventDispatcher.h:
- WebProcess/WebPage/FindController.cpp:
- WebProcess/WebPage/WebPage.h:
- 3:45 PM Changeset in webkit [281781] by
-
- 7 edits in trunk
Fix double-tap-on-editable-content-for-selection-then-drag-* tests.
https://bugs.webkit.org/show_bug.cgi?id=229683
rdar://59571151
Reviewed by Wenson Hsieh.
Tools:
The swipe keyboard tutorial comes up on first launch. Set the defaults to prevent
that from happening and interfering with tests.
- WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
LayoutTests:
Add delay to allow double-tap gesture to reset before the other gestures can be invoked.
Also update to use more functions from UIHelper, which is newer and more maintained.
- fast/events/touch/ios/double-tap-on-editable-content-for-selection-then-drag-down-to-change-selected-text.html:
- fast/events/touch/ios/double-tap-on-editable-content-for-selection-then-drag-left-to-change-selected-text.html:
- fast/events/touch/ios/double-tap-on-editable-content-for-selection-then-drag-right-to-change-selected-text.html:
- fast/events/touch/ios/double-tap-on-editable-content-for-selection-then-drag-up-to-change-selected-text.html:
- 3:41 PM Changeset in webkit [281780] by
-
- 8 edits in trunk/Source/WebKit
Update availability macros for APIs available in iOS 14.5 and macOS 11.3
https://bugs.webkit.org/show_bug.cgi?id=229466
Patch by Alex Christensen <achristensen@webkit.org> on 2021-08-30
Reviewed by Chris Dumez.
We mistakenly updated them to 15.0/12.0
- UIProcess/API/Cocoa/WKDownload.h:
- UIProcess/API/Cocoa/WKDownloadDelegate.h:
- UIProcess/API/Cocoa/WKNavigationAction.h:
- UIProcess/API/Cocoa/WKNavigationDelegate.h:
- UIProcess/API/Cocoa/WKPreferences.h:
- UIProcess/API/Cocoa/WKWebView.h:
- UIProcess/API/Cocoa/WKWebViewConfiguration.h:
- 3:35 PM Changeset in webkit [281779] by
-
- 13 edits6 deletes in trunk
Migrate PrivateClickMeasurements from ResourceLoadStatistics database to new database
https://bugs.webkit.org/show_bug.cgi?id=229646
Patch by Alex Christensen <achristensen@webkit.org> on 2021-08-30
Reviewed by Kate Cheney.
Source/WebKit:
In r281721 I moved the PCM database to be separate from the ResourceLoadStatistics database.
This patch extracts data from the old database and sends it to the new database.
I added some tests that create databases in each of the 3 historical schemas then verify that
data is successfully migrated to the new database.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::checkForMissingTablesInSchema):
(WebKit::ResourceLoadStatisticsDatabaseStore::tableExists):
(WebKit::ResourceLoadStatisticsDatabaseStore::deleteTable):
(WebKit::ResourceLoadStatisticsDatabaseStore::migrateDataToPCMDatabaseIfNecessary):
(WebKit::ResourceLoadStatisticsDatabaseStore::openAndUpdateSchemaIfNecessary):
(WebKit::ResourceLoadStatisticsDatabaseStore::destroyStatements):
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- NetworkProcess/DatabaseUtilities.cpp:
(WebKit::DatabaseUtilities::buildPrivateClickMeasurementFromDatabase):
- NetworkProcess/DatabaseUtilities.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.cpp:
(WebKit::PCM::Database::insertPrivateClickMeasurement):
(WebKit::PCM::Database::findPrivateClickMeasurement):
(WebKit::PCM::Database::allAttributedPrivateClickMeasurement):
(WebKit::PCM::Database::getDomainStringFromDomainID const):
(WebKit::PCM::Database::buildPrivateClickMeasurementFromDatabase): Deleted.
(WebKit::PCM::Database::getDomainStringFromDomainID): Deleted.
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.h:
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _dumpPrivateClickMeasurement:]):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
- TestWebKitAPI/Tests/WebKitCocoa/PrivateClickMeasurement.mm:
(webViewWithResourceLoadStatisticsEnabledInNetworkProcess):
(addValuesToTable):
(earliestTimeToSend):
(addAttributedPCMv1):
(addUnattributedPCMv1):
(addAttributedPCMv2):
(addUnattributedPCMv2):
(addAttributedPCMv3):
(addUnattributedPCMv3):
(dumpedPCM):
(pollUntilPCMIsMigrated):
(emptyObservationsDBPath):
(cleanUp):
(createAndPopulateObservedDomainTable):
(setUp):
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutFraudPreventionDatabase.db: Removed.
- TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutFraudPreventionDatabase.db-shm: Removed.
- TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutFraudPreventionDatabase.db-wal: Removed.
- TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutReportingColumns.db: Removed.
- TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutReportingColumns.db-shm: Removed.
- TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutReportingColumns.db-wal: Removed.
- 3:12 PM Changeset in webkit [281778] by
-
- 1 edit7 adds in trunk/LayoutTests
[GLIB] Add new baselines after css-masking WPT update from r281580
Unreviewed test gardening.
- platform/glib/imported/w3c/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-001-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-002-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-003-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-004-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-005-expected.txt: Added.
- 3:06 PM Changeset in webkit [281777] by
-
- 10 edits in trunk
WKWebViewConfiguration._loadsSubresources=NO should prevent preconnecting
https://bugs.webkit.org/show_bug.cgi?id=229684
Patch by Alex Christensen <achristensen@webkit.org> on 2021-08-30
Reviewed by Tim Horton.
Source/WebCore:
- Modules/websockets/ThreadableWebSocketChannel.cpp:
(WebCore::ThreadableWebSocketChannel::validateURL):
- loader/ResourceLoadNotifier.cpp:
(WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
- page/Page.cpp:
(WebCore::Page::allowsLoadFromURL const):
- page/Page.h:
(WebCore::Page::loadsSubresources const): Deleted.
Source/WebKit:
This is like bug 228044 and even uses the same test setup.
This should fix rdar://79307070
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::preconnectTo):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/Preconnect.mm:
(TestWebKitAPI::verifyPreconnectDisabled):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WebSocket.mm:
(TestWebKitAPI::TEST):
- 2:46 PM Changeset in webkit [281776] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, add missing include to pre-empt unified source shift.
- runtime/IntlObject.cpp:
- 2:09 PM Changeset in webkit [281775] by
-
- 30 edits2 copies1 move21 adds3 deletes in trunk/LayoutTests
Resync COOP / COEP WPT tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=229678
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Resync COOP / COEP WPT tests from upstream e216db9509def8bc72b24e482.
- web-platform-tests/html/cross-origin-embedder-policy/*: Updated.
- web-platform-tests/html/cross-origin-opener-policy/*: Updated.
LayoutTests:
- TestExpectations:
- tests-options.json:
- 2:06 PM Changeset in webkit [281774] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Mark more css-backgrounds tests as expected failures
https://bugs.webkit.org/show_bug.cgi?id=229685
Unreviewed test gardening.
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-08-30
- platform/glib/TestExpectations:
- 1:43 PM Changeset in webkit [281773] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Remove unused variables after r281744
https://bugs.webkit.org/show_bug.cgi?id=229677
Reviewed by Darin Adler.
Silence compiler warnings.
Covered by existing tests.
- display/css/DisplayBoxFactory.cpp:
(WebCore::Display::BoxFactory::displayBoxForTextRun const):
- 1:42 PM Changeset in webkit [281772] by
-
- 3 edits in trunk/LayoutTests
[ Mac ] http/tests/media/hls/hls-webvtt-seek-backwards.html is a flaky timeout..
https://bugs.webkit.org/show_bug.cgi?id=228189
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations: Moved expectations from mac-wk2 to mac
- platform/mac/TestExpectations:
- 11:50 AM Changeset in webkit [281771] by
-
- 47 edits14 copies6 adds in trunk
Add stubs for Permissions API
https://bugs.webkit.org/show_bug.cgi?id=229339
<rdar://problem/82442205>
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/permissions/idlharness.any-expected.txt:
- web-platform-tests/permissions/idlharness.any.worker-expected.txt:
- web-platform-tests/permissions/nfc-permission-expected.txt:
- web-platform-tests/permissions/permissions-query-feature-policy-attribute.https.sub-expected.txt:
- web-platform-tests/permissions/permissionsstatus-name-expected.txt:
- web-platform-tests/permissions/screen-wake-lock-permission-expected.txt:
- web-platform-tests/permissions/test-background-fetch-permission-expected.txt:
- web-platform-tests/permissions/test-periodic-background-sync-permission-expected.txt:
Source/WebCore:
Add bindings code and a feature flag for Permissions API.
Spec: https://w3c.github.io/permissions/
No new tests. Rebaseline existing tests.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Headers.cmake:
- Modules/permissions/Navigator+Permissions.idl: Added.
- Modules/permissions/NavigatorPermissions.cpp: Added.
(WebCore::NavigatorPermissions::NavigatorPermissions):
(WebCore::NavigatorPermissions::permissions):
(WebCore::NavigatorPermissions::from):
(WebCore::NavigatorPermissions::supplementName):
- Modules/permissions/NavigatorPermissions.h: Added.
- Modules/permissions/PermissionController.h: Added.
- Modules/permissions/PermissionDescriptor.h: Added.
(WebCore::PermissionDescriptor::operator== const):
(WebCore::PermissionDescriptor::encode const):
(WebCore::PermissionDescriptor::decode):
- Modules/permissions/PermissionDescriptor.idl: Added.
- Modules/permissions/PermissionName.h: Added.
- Modules/permissions/PermissionName.idl: Added.
- Modules/permissions/PermissionObserver.h: Added.
- Modules/permissions/PermissionState.h: Added.
- Modules/permissions/PermissionState.idl: Added.
- Modules/permissions/PermissionStatus.cpp: Added.
(WebCore::PermissionStatus::create):
(WebCore::PermissionStatus::PermissionStatus):
(WebCore::PermissionStatus::~PermissionStatus):
(WebCore::PermissionStatus::stateChanged):
(WebCore::PermissionStatus::activeDOMObjectName const):
(WebCore::PermissionStatus::virtualHasPendingActivity const):
(WebCore::PermissionStatus::eventListenersDidChange):
- Modules/permissions/PermissionStatus.h: Added.
- Modules/permissions/PermissionStatus.idl: Added.
- Modules/permissions/Permissions.cpp: Added.
(WebCore::Permissions::create):
(WebCore::Permissions::Permissions):
(WebCore::Permissions::navigator):
(WebCore::Permissions::query):
- Modules/permissions/Permissions.h: Added.
- Modules/permissions/Permissions.idl: Added.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
- dom/Document.cpp:
(WebCore::Document::permissionController):
- dom/Document.h:
- dom/EventTargetFactory.in:
- dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::permissionController):
- dom/TaskSource.h:
- loader/EmptyClients.cpp:
(WebCore::pageConfigurationWithEmptyClients):
- page/Page.cpp:
(WebCore::m_permissionController):
(WebCore::Page::permissionController):
(WebCore::m_httpsUpgradeEnabled): Deleted.
- page/Page.h:
- page/PageConfiguration.cpp:
(WebCore::PageConfiguration::PageConfiguration):
- page/PageConfiguration.h:
Source/WebKit:
Set up basic infrastructure of permission getting and setting.
- Sources.txt:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestPermission):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebCoreSupport/WebPermissionController.cpp: Added.
(WebKit::WebPermissionController::WebPermissionController):
(WebKit::WebPermissionController::query):
(WebKit::WebPermissionController::request):
(WebKit::WebPermissionController::queryCache):
(WebKit::WebPermissionController::updateCache):
(WebKit::WebPermissionController::tryProcessingRequest):
(WebKit::WebPermissionController::addObserver):
(WebKit::WebPermissionController::removeObserver):
(WebKit::WebPermissionController::permissionChanged):
- WebProcess/WebCoreSupport/WebPermissionController.h: Added.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_appHighlightsVisible):
- WebProcess/WebPage/mac/DisplayRefreshMonitorMac.h:
Source/WebKitLegacy/mac:
- WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
Source/WebKitLegacy/win:
- WebView.cpp:
(WebView::initWithFrame):
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
LayoutTests:
- TestExpectations:
- platform/mac-wk1/fast/dom/navigator-detached-no-crash-expected.txt:
- platform/mac-wk2/fast/dom/navigator-detached-no-crash-expected.txt:
- platform/wk2/TestExpectations:
- 11:30 AM Changeset in webkit [281770] by
-
- 3 edits2 adds in trunk
SubmitEvent.submitter property isn't set for <button type="submit">
https://bugs.webkit.org/show_bug.cgi?id=229660
Reviewed by Ryosuke Niwa.
Source/WebCore:
Make sure HTMLButtonElement::defaultEventHandler() properly passes |this| as submitter
when calling HTMLFormElement::submitIfPossible(). This was causing the SubmitEvent.submitter
property to not be set when submitting a form by clicking a<button type="submit">.
Test: fast/forms/submit-button-submit-event.html
- html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::defaultEventHandler):
LayoutTests:
Add layout test coverage.
- fast/forms/submit-button-submit-event-expected.txt: Added.
- fast/forms/submit-button-submit-event.html: Added.
- 11:22 AM Changeset in webkit [281769] by
-
- 2 edits162 adds in trunk/LayoutTests/imported/w3c
Import file-system-access tests from WPT
https://bugs.webkit.org/show_bug.cgi?id=229593
Reviewed by Ryosuke Niwa.
- resources/import-expectations.json:
- web-platform-tests/file-system-access/META.yml: Added.
- web-platform-tests/file-system-access/README.md: Added.
- web-platform-tests/file-system-access/idlharness.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/idlharness.https.any.html: Added.
- web-platform-tests/file-system-access/idlharness.https.any.js: Added.
- web-platform-tests/file-system-access/idlharness.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/idlharness.https.any.worker.html: Added.
- web-platform-tests/file-system-access/opaque-origin.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/opaque-origin.https.window.html: Added.
- web-platform-tests/file-system-access/opaque-origin.https.window.js: Added.
(add_iframe):
(async verify_does_not_exist_in_data_uri_iframe):
(async verify_results_from_sandboxed_child_window):
- web-platform-tests/file-system-access/resources/data/testfile.txt: Added.
- web-platform-tests/file-system-access/resources/data/w3c-import.log: Added.
- web-platform-tests/file-system-access/resources/local-fs-test-helpers.js: Added.
(const.directory_promise.async await):
(const.directory_promise):
(directory_test):
(async directory_test):
- web-platform-tests/file-system-access/resources/message-target-dedicated-worker.js: Added.
- web-platform-tests/file-system-access/resources/message-target-service-worker.js: Added.
- web-platform-tests/file-system-access/resources/message-target-shared-worker.js: Added.
- web-platform-tests/file-system-access/resources/message-target.html: Added.
- web-platform-tests/file-system-access/resources/message-target.js: Added.
(async receiver):
(add_message_event_handlers):
- web-platform-tests/file-system-access/resources/messaging-blob-helpers.js: Added.
(async create_message_target_blob_url):
(async create_message_target_data_uri):
(async create_message_target_html_without_subresources):
(async fetch_text):
- web-platform-tests/file-system-access/resources/messaging-helpers.js: Added.
(create_dedicated_worker):
(async create_service_worker):
(async add_iframe):
(async open_window):
(async wait_for_loaded_message):
(create_message_channel):
(async create_file_system_handles):
(async do_post_message_test):
(async do_message_port_test):
- web-platform-tests/file-system-access/resources/messaging-serialize-helpers.js: Added.
(async serialize_handles):
(async serialize_handle):
(async serialize_file_system_handle):
(async serialize_file_system_file_handle):
(async serialize_file_system_directory_handle):
(async assert_equals_cloned_handles):
(assert_equals_serialized_handles):
(assert_equals_serialized_handle):
(assert_equals_serialized_file_system_handle):
(assert_equals_serialized_file_system_file_handle):
(assert_equals_serialized_file_system_directory_handle):
(serialize_message_error_event):
(assert_equals_serialized_message_error_event):
- web-platform-tests/file-system-access/resources/opaque-origin-sandbox.html: Added.
- web-platform-tests/file-system-access/resources/sandboxed-fs-test-helpers.js: Added.
(async cleanupSandboxedFileSystem):
- web-platform-tests/file-system-access/resources/sync-access-handle-test.js: Added.
(async cleanupSandboxedFileSystem):
- web-platform-tests/file-system-access/resources/test-helpers.js: Added.
(navigator.userAgent.includes):
(async getFileSize):
(async getFileContents):
(async getDirectoryEntryCount):
(async getSortedDirectoryEntries):
(async createFileWithContents):
(garbageCollect):
- web-platform-tests/file-system-access/resources/w3c-import.log: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-IndexedDB.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-IndexedDB.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-IndexedDB.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-IndexedDB.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-IndexedDB.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-isSameEntry.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-isSameEntry.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-isSameEntry.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-isSameEntry.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-isSameEntry.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-BroadcastChannel.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-BroadcastChannel.https.window.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-BroadcastChannel.https.window.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-Error.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-Error.https.window.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-Error.https.window.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-frames.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-frames.https.window.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-frames.https.window.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-windows.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-windows.https.window.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-windows.https.window.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-workers.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-workers.https.window.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-workers.https.window.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-frames.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-frames.https.window.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-frames.https.window.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-windows.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-windows.https.window.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-windows.https.window.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-workers.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-workers.https.window.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-workers.https.window.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-remove.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-remove.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-remove.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-remove.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-remove.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getDirectoryHandle.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getDirectoryHandle.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getDirectoryHandle.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getDirectoryHandle.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getDirectoryHandle.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getFileHandle.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getFileHandle.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getFileHandle.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getFileHandle.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getFileHandle.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-iteration.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-iteration.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-iteration.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-iteration.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-iteration.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-removeEntry.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-removeEntry.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-removeEntry.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-removeEntry.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-removeEntry.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-resolve.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-resolve.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-resolve.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-resolve.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-resolve.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-create-sync-access-handle-dedicated-worker.https.tentative.window-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-create-sync-access-handle-dedicated-worker.https.tentative.window.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-create-sync-access-handle-dedicated-worker.https.tentative.window.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-getFile.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-getFile.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-getFile.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-getFile.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-getFile.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-sync-access-handle-lock.https.tentative.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-sync-access-handle-lock.https.tentative.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-sync-access-handle-lock.https.tentative.worker.js: Added.
(promise_test.async t):
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-close.https.tentative.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-close.https.tentative.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-close.https.tentative.worker.js: Added.
(sync_access_handle_test.async testCase):
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-flush.https.tentative.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-flush.https.tentative.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-flush.https.tentative.worker.js: Added.
(sync_access_handle_test.async t):
(sync_access_handle_test.async testCase):
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-getSize.https.tentative.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-getSize.https.tentative.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-getSize.https.tentative.worker.js: Added.
(sync_access_handle_test.async testCase):
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-read-write.https.tentative.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-read-write.https.tentative.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-read-write.https.tentative.worker.js: Added.
(sync_access_handle_test):
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-truncate.https.tentative.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-truncate.https.tentative.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-truncate.https.tentative.worker.js: Added.
(sync_access_handle_test.async testCase):
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-piped.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-piped.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-piped.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-piped.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-piped.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-write.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-write.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-write.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-write.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-write.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream.https.any.worker.html: Added.
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-IndexedDB.js: Added.
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-isSameEntry.js: Added.
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-postMessage-BroadcastChannel.js: Added.
(async create_broadcast_channel):
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-postMessage-Error.js: Added.
(async do_send_message_error_test):
(async do_receive_message_error_test):
(async do_send_and_receive_message_error_test):
(async do_send_message_port_error_test):
(async do_receive_message_port_error_test):
(async do_send_and_receive_message_port_error_test):
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-postMessage-MessagePort-frames.js: Added.
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-postMessage-MessagePort-windows.js: Added.
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-postMessage-MessagePort-workers.js: Added.
(directory_test.async t):
(self.SharedWorker.undefined.directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-postMessage-frames.js: Added.
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-postMessage-windows.js: Added.
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-postMessage-workers.js: Added.
(directory_test.async t):
(self.SharedWorker.undefined.directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-remove.js: Added.
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemDirectoryHandle-getDirectoryHandle.js: Added.
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemDirectoryHandle-getFileHandle.js: Added.
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemDirectoryHandle-iteration.js: Added.
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemDirectoryHandle-removeEntry.js: Added.
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemDirectoryHandle-resolve.js: Added.
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemFileHandle-create-sync-access-handle-dedicated-worker.js: Added.
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemFileHandle-getFile.js: Added.
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemSyncAccessHandle-flush.js: Added.
(sync_access_handle_test.async handle):
- web-platform-tests/file-system-access/script-tests/FileSystemWritableFileStream-piped.js: Added.
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemWritableFileStream-write.js: Added.
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemWritableFileStream.js: Added.
(directory_test.async t):
- web-platform-tests/file-system-access/script-tests/w3c-import.log: Added.
- web-platform-tests/file-system-access/showPicker-errors.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/showPicker-errors.https.window.html: Added.
- web-platform-tests/file-system-access/showPicker-errors.https.window.js: Added.
(promise_test.async t):
(define_file_picker_error_tests.async promise_test):
(define_file_picker_error_tests.async const):
(define_file_picker_error_tests):
(define_file_picker_extension_error_test):
- web-platform-tests/file-system-access/w3c-import.log: Added.
- 10:43 AM Changeset in webkit [281768] by
-
- 3 edits1 add in branches/safari-612-branch
Cherry-pick r281665. rdar://problem/82528295
r281485 was not sufficient in where it called disablePeepholeOptimization
https://bugs.webkit.org/show_bug.cgi?id=229582
<rdar://82346980>
Reviewed by Yusuke Suzuki.
JSTests:
- stress/for-in-disable-bytecode-generator-peephole-optimizations-after-rewrite-2.js: Added. (foo):
Source/JavaScriptCore:
r281485 accidentally deleted a place where we called disablePeepholeOptimization
that was necessary. Basically, after we seek where the current instruction
in BytecodeGenerator is, we need to disablePeepholeOptimization.
- bytecompiler/BytecodeGenerator.cpp: (JSC::ForInContext::finalize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281665 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:43 AM Changeset in webkit [281767] by
-
- 3 edits1 add in branches/safari-612-branch
Cherry-pick r281485. rdar://problem/82535418
Disable peephole optimizations in the byte code generator after rewriting instructions for for-in
https://bugs.webkit.org/show_bug.cgi?id=229420
<rdar://82020528>
Reviewed by Keith Miller.
JSTests:
- stress/for-in-disable-bytecode-generator-peephole-optimizations-after-rewrite.js: Added. (foo):
Source/JavaScriptCore:
The final instruction in a for-in loop might be the get by val that
we're rewriting because there was an escape. We won't ever actually
do peephole optimizations on this get_by_val today, but it breaks
some bookkeeping that the bytecode generator does. This patch makes
sure the bookkeeping is up to date.
- bytecompiler/BytecodeGenerator.cpp: (JSC::ForInContext::finalize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281485 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:16 AM Changeset in webkit [281766] by
-
- 1 copy in tags/Safari-612.1.29.3
Tag Safari-612.1.29.3.
- 10:15 AM Changeset in webkit [281765] by
-
- 1 delete in tags/Safari-612.1.29.3
Delete tag.
- 9:40 AM Changeset in webkit [281764] by
-
- 2 edits in trunk/Source/WebCore
[IFC][Integration] Remove unused bidi handling
https://bugs.webkit.org/show_bug.cgi?id=229663
Reviewed by Antti Koivisto.
Re-introduce it when bidi gets enabled for IFC.
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLineRuns const):
(WebCore::LayoutIntegration::Iterator::offset const): Deleted.
(WebCore::LayoutIntegration::Iterator::operator== const): Deleted.
(WebCore::LayoutIntegration::Iterator::operator!= const): Deleted.
(WebCore::LayoutIntegration::Iterator::atEnd const): Deleted.
(WebCore::LayoutIntegration::Iterator::currentRun const): Deleted.
(): Deleted.
(WebCore::LayoutIntegration::Iterator::Iterator): Deleted.
(WebCore::LayoutIntegration::Iterator::direction const): Deleted.
(WebCore::LayoutIntegration::Iterator::increment): Deleted.
(WebCore::LayoutIntegration::BidiRun::start const): Deleted.
(WebCore::LayoutIntegration::BidiRun::end const): Deleted.
(WebCore::LayoutIntegration::BidiRun::level const): Deleted.
(WebCore::LayoutIntegration::BidiRun::next const): Deleted.
(WebCore::LayoutIntegration::BidiRun::setNext): Deleted.
(WebCore::LayoutIntegration::BidiRun::takeNext): Deleted.
(WebCore::LayoutIntegration::BidiRun::BidiRun): Deleted.
- 9:36 AM Changeset in webkit [281763] by
-
- 2 edits in trunk/LayoutTests
[ BigSur arm64 EWS ] ASSERTION FAILED: !needsLayout() ./rendering/RenderView.cpp(305) : virtual void WebCore::RenderView::paint(WebCore::PaintInfo &, const WebCore::LayoutPoint &).
https://bugs.webkit.org/show_bug.cgi?id=229671
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 9:03 AM Changeset in webkit [281762] by
-
- 2 edits in trunk/LayoutTests
[ Win EWS ] http/tests/websocket/tests/hybi/simple-wss.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=229669
Unreviewed test gardening.
- platform/win/TestExpectations:
- 9:02 AM Changeset in webkit [281761] by
-
- 3 edits in trunk/Tools
ews might mark build as successful if JSC tests fail to run
https://bugs.webkit.org/show_bug.cgi?id=229634
Reviewed by Jonathan Bedard.
- CISupport/ews-build/steps.py:
(RunJSCTestsWithoutPatch.evaluateCommand):
(AnalyzeJSCTestsResults.start):
(AnalyzeJSCTestsResults.retry_build): Method to retry build.
(AnalyzeJSCTestsResults.report_failure):
- CISupport/ews-build/steps_unittest.py: Added unit-tests.
- 8:56 AM Changeset in webkit [281760] by
-
- 6 edits in trunk/Source/WebCore
[LFC][IFC] Move hyphen handling from the integration run to IFC's display run
https://bugs.webkit.org/show_bug.cgi?id=229662
Reviewed by Antti Koivisto.
Move the rendered content handling (hyphen only atm) over to the IFC display runs.
This is in preparation for merging integration and IFC's display runs.
- display/css/DisplayBoxPainter.cpp:
(WebCore::Display::BoxPainter::paintBoxContent):
- display/css/DisplayTextBox.cpp:
(WebCore::Display::TextBox::debugDescription const):
- layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::createRunsAndUpdateGeometryForLineContent):
- layout/formattingContexts/inline/InlineLineRun.h:
(WebCore::Layout::LineRun::Text::originalContent const):
(WebCore::Layout::LineRun::Text::renderedContent const):
(WebCore::Layout::LineRun::Text::hasHyphen const):
(WebCore::Layout::LineRun::Text::Text):
(WebCore::Layout::LineRun::Text::content const): Deleted.
(WebCore::Layout::LineRun::Text::needsHyphen const): Deleted.
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLineRuns const):
- 8:56 AM Changeset in webkit [281759] by
-
- 1 copy in tags/Safari-612.1.29.3
Tag Safari-612.1.29.3.
- 8:55 AM Changeset in webkit [281758] by
-
- 2 edits in trunk/Source/JavaScriptCore
resolve-asm-file-conflicts.rb build failure after upgrade to CMake 3.21.0; DWARF 5 incompatibility
https://bugs.webkit.org/show_bug.cgi?id=228267
Reviewed by Adrian Perez de Castro.
Implement the fix suggested by Adrian Vovk: any .file 0 directive
should pass through unchanged.
While here
- if the file path is an absolute path, don't concat it with the working directory
- also accept 'md5 0xhash' in the .file directive.
- Scripts/resolve-asm-file-conflicts.rb:
- 8:11 AM Changeset in webkit [281757] by
-
- 21 edits5 adds in trunk
RISCV64 support in LLInt
https://bugs.webkit.org/show_bug.cgi?id=229035
<rdar://problem/82120908>
Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-08-30
Reviewed by Yusuke Suzuki.
.:
- Source/cmake/WebKitFeatures.cmake:
Don't force CLoop to be default for RISCV64 anymore.
Source/JavaScriptCore:
Introduce RISCV64 support at the LLint level. Along with the necessary
offlineasm backend, plenty of miscellaneous code around MacroAssembler
infrastructure is also introduced.
Of the existing supported architectures, RISCV64 is most similar to
ARM64, with the same word size and similar register abundance. This is
mirrored in most changes around the MacroAssembler infrastructure as
well as using same or similar codepaths in LLint for the two ISAs.
For the MacroAssembler infrastructure, it won't be used until proper JIT
support is introduced, but the basic facilities are still necessary to
keep things compiling without complicating the configuration matrix.
MacroAssemblerRISCV64 class provides no-op methods through C++ templates
while RISCV64Assembler is also added in a limited form.
The riscv64 offlineasm backend covers assembly generation for
instructions that are exhibited by LLInt in the current configuration.
It doesn't cover instructions that e.g. are only used in the WebAssembly
opcodes, and WebAssembly won't be enabled until the higher JIT tiers are
supported anyway.
The offlineasm backend's assembly generation for specific instructions
uses pattern matching of operand types for better overview of how
resulting assembly is constructed. There's still certain improvements
possible, e.g. in how scratch registers for more expansive operations
are allocated.
- CMakeLists.txt:
- Sources.txt:
- assembler/AbstractMacroAssembler.h:
- assembler/MacroAssembler.h:
- assembler/MacroAssemblerRISCV64.cpp: Added.
(JSC::MacroAssembler::probe):
- assembler/MacroAssemblerRISCV64.h: Added.
Distorted auto-generated method list removed. Necessary methods are
introduced through no-op templates until actually needed for JIT
generation.
- assembler/MaxFrameExtentForSlowPathCall.h:
- assembler/PerfLog.cpp:
- assembler/ProbeContext.h:
- assembler/RISCV64Assembler.h: Added.
(JSC::RISCV64Assembler::firstRegister):
(JSC::RISCV64Assembler::lastRegister):
(JSC::RISCV64Assembler::numberOfRegisters):
(JSC::RISCV64Assembler::firstSPRegister):
(JSC::RISCV64Assembler::lastSPRegister):
(JSC::RISCV64Assembler::numberOfSPRegisters):
(JSC::RISCV64Assembler::firstFPRegister):
(JSC::RISCV64Assembler::lastFPRegister):
(JSC::RISCV64Assembler::numberOfFPRegisters):
(JSC::RISCV64Assembler::gprName):
(JSC::RISCV64Assembler::sprName):
(JSC::RISCV64Assembler::fprName):
(JSC::RISCV64Assembler::RISCV64Assembler):
(JSC::RISCV64Assembler::buffer):
(JSC::RISCV64Assembler::invert):
(JSC::RISCV64Assembler::getRelocatedAddress):
(JSC::RISCV64Assembler::codeSize const):
(JSC::RISCV64Assembler::getCallReturnOffset):
(JSC::RISCV64Assembler::labelIgnoringWatchpoints):
(JSC::RISCV64Assembler::labelForWatchpoint):
(JSC::RISCV64Assembler::label):
(JSC::RISCV64Assembler::linkJump):
(JSC::RISCV64Assembler::linkCall):
(JSC::RISCV64Assembler::linkPointer):
(JSC::RISCV64Assembler::maxJumpReplacementSize):
(JSC::RISCV64Assembler::patchableJumpSize):
(JSC::RISCV64Assembler::repatchPointer):
(JSC::RISCV64Assembler::relinkJump):
(JSC::RISCV64Assembler::relinkJumpToNop):
(JSC::RISCV64Assembler::relinkCall):
(JSC::RISCV64Assembler::debugOffset):
(JSC::RISCV64Assembler::cacheFlush):
(JSC::RISCV64Assembler::fillNops):
- assembler/RISCV64Registers.h: Added.
- jit/FPRInfo.h:
(JSC::FPRInfo::toRegister):
(JSC::FPRInfo::toArgumentRegister):
(JSC::FPRInfo::toIndex):
(JSC::FPRInfo::debugName):
- jit/GPRInfo.h:
(JSC::GPRInfo::toRegister):
(JSC::GPRInfo::toArgumentRegister):
(JSC::GPRInfo::toIndex):
(JSC::GPRInfo::debugName):
- jit/RegisterSet.cpp:
(JSC::RegisterSet::vmCalleeSaveRegisters):
(JSC::RegisterSet::llintBaselineCalleeSaveRegisters):
- llint/LLIntData.h:
- llint/LLIntOfflineAsmConfig.h:
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter64.asm:
- offlineasm/backends.rb: Reference the riscv64 backend as required.
- offlineasm/registers.rb: List additional possible registers.
- offlineasm/riscv64.rb: Added.
Source/WTF:
- wtf/PlatformEnable.h:
Define ENABLE_LLINT_EMBEDDED_OPCODE_ID to 1 for CPU(RISCV64).
- 7:59 AM Changeset in webkit [281756] by
-
- 7 edits6 adds in trunk
Implement self.reportError()
https://bugs.webkit.org/show_bug.cgi?id=228316
<rdar://problem/81446162>
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Import test coverage from:
- web-platform-tests/html/webappapis/scripting/reporterror.any-expected.txt: Added.
- web-platform-tests/html/webappapis/scripting/reporterror.any.html: Added.
- web-platform-tests/html/webappapis/scripting/reporterror.any.js: Added.
(undefined.forEach.throwable.test.t.assert_equals):
(test):
- web-platform-tests/html/webappapis/scripting/reporterror.any.worker-expected.txt: Added.
- web-platform-tests/html/webappapis/scripting/reporterror.any.worker.html: Added.
- web-platform-tests/html/webappapis/scripting/w3c-import.log: Added.
Source/WebCore:
Implement self.reportError() as per:
Firefox already shipped this and Chrome will do so soon too.
Tests: imported/w3c/web-platform-tests/html/webappapis/scripting/reporterror.any.html
imported/w3c/web-platform-tests/html/webappapis/scripting/reporterror.any.worker.html
- page/DOMWindow.cpp:
(WebCore::DOMWindow::reportError):
- page/DOMWindow.h:
- page/WindowOrWorkerGlobalScope.idl:
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::reportError):
- workers/WorkerGlobalScope.h:
- 7:24 AM Changeset in webkit [281755] by
-
- 2 edits in trunk/Tools
[WPE][webkitpy] Sanitize browser name testcase environment
https://bugs.webkit.org/show_bug.cgi?id=229667
Reviewed by Carlos Garcia Campos.
Around 2021-08-19, the WPE release bot changed its environment to
ensure WPE_BROWSER points to MiniBrowser while Cog webdriver support
was not present. Since then, the WPE webkitpy test
test_browser_name_with_cog_built was failing, as the host envvar
affected the code being tested.
This commits ensures the variable is empty for proper testing.
- Scripts/webkitpy/port/wpe_unittest.py:
(WPEPortTest.test_browser_name_with_cog_built):
- 7:12 AM Changeset in webkit [281754] by
-
- 6 edits in trunk/Source/WebCore
[LFC][IFC] Introduce Line::Run::Text to hold text content related properties
https://bugs.webkit.org/show_bug.cgi?id=229658
Reviewed by Antti Koivisto.
Let's use a dedicated (and more compact) structure here instead of relying on a display type of structure.
This is in preparation for merging the display and the integration runs.
- layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::createRunsAndUpdateGeometryForLineContent):
- layout/formattingContexts/inline/InlineLine.cpp:
(WebCore::Layout::Line::applyRunExpansion):
(WebCore::Layout::Line::TrimmableTrailingContent::remove):
(WebCore::Layout::Line::Run::Run):
(WebCore::Layout::m_textContent):
(WebCore::Layout::Line::Run::expand):
(WebCore::Layout::Line::Run::removeTrailingWhitespace):
- layout/formattingContexts/inline/InlineLine.h:
(WebCore::Layout::Line::Run::textContent const):
(WebCore::Layout::Line::Run::setNeedsHyphen):
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::close):
- layout/formattingContexts/inline/InlineLineRun.h:
(WebCore::Layout::LineRun::Text::needsHyphen const):
(WebCore::Layout::LineRun::Text::Text):
(WebCore::Layout::LineRun::Text::setNeedsHyphen): Deleted.
(WebCore::Layout::LineRun::Text::expand): Deleted.
(WebCore::Layout::LineRun::Text::shrink): Deleted.
- 2:26 AM Changeset in webkit [281753] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, GLib mediastream gardening
- platform/glib/TestExpectations: A few tests timing out in Debug, since r277763.