Timeline
Nov 10, 2020:
- 11:57 PM Changeset in webkit [269674] by
-
- 2 edits in trunk/Tools
Unreviewed, cleanup my watchlist entries.
- Scripts/webkitpy/common/config/watchlist:
- 10:18 PM Changeset in webkit [269673] by
-
- 2 edits in trunk/Tools
[GLIB] Update page-visibility test after r269665
Unreviewed test gardening.
- TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewPageVisibility):
- 9:23 PM Changeset in webkit [269672] by
-
- 3 edits in trunk/LayoutTests
[GLIB] Gardening webrtc failures
After libwebrtc M87 update in r269642
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- 8:55 PM Changeset in webkit [269671] by
-
- 84 edits34 copies7 moves10 adds4 deletes in trunk
Unreviewed, reverting r269660.
https://bugs.webkit.org/show_bug.cgi?id=218786
Crashing in EWS iOS simulator bots
Reverted changeset:
"PCM: Change from ad-click-attribution to private-click-
measurement (in all forms, including .well-known URL)"
https://bugs.webkit.org/show_bug.cgi?id=218730
https://trac.webkit.org/changeset/269660
- 6:28 PM Changeset in webkit [269670] by
-
- 10 edits1 add in trunk
Align %TypedArray% behavior with recent spec adjustments
https://bugs.webkit.org/show_bug.cgi?id=218776
Reviewed by Yusuke Suzuki.
JSTests:
- stress/reflect-set.js:
- stress/typedarray-functions-with-neutered.js:
- stress/typedarray-includes.js:
- stress/typedarray-indexOf.js:
- stress/typedarray-join.js: Added.
- stress/typedarray-lastIndexOf.js:
Update tests.
- test262/expectations.yaml:
Mark a handful of test cases as temporarily failing.
These will disappear in a future test262 update.
Source/JavaScriptCore:
The recent spec changes for typed arrays with detached buffers had certain ripple effects,
namely the following two PRs which will be presented in next week's TC39 meeting.
Since no controversy is expected, this patch addresses them now, though test262 adjustments are forthcoming.
- https://github.com/tc39/ecma262/pull/2210
It is correct that
ta[i] = ndoesn't throw whentahas a detached buffer oriis otherwise OOB, but by not throwing, Reflect.set(ta, i, n) is obliged to return true.
- https://github.com/tc39/ecma262/pull/2221
Until now, %TypedArray%.prototype.{includes, indexOf, join, lastIndexOf} lacked a rigorous specification;
in particular, each has a parameter that may detach the buffer upon valueOf or toString, and the expected
behavior was not made clear. It seems most sensible to do what the corresponding Array methods do upon
array.length = 0: make use of the cached length but don't access indices, such that indexOf/lastIndexOf return -1 while includes/join act as if the elements were allundefined.
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::put):
(JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty):
(JSC::JSGenericTypedArrayView<Adaptor>::putByIndex):
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncIncludes):
(JSC::genericTypedArrayViewProtoFuncIndexOf):
(JSC::genericTypedArrayViewProtoFuncJoin):
(JSC::genericTypedArrayViewProtoFuncLastIndexOf):
- 5:11 PM Changeset in webkit [269669] by
-
- 2 edits in branches/safari-611.1.5-branch/Source/WebKit
Cherry-pick r269643. rdar://problem/71261915
[macCatalyst] Add entitlement for message filtering
https://bugs.webkit.org/show_bug.cgi?id=218768
<rdar://problem/71247464>
Reviewed by Tim Horton.
Add required message filtering entitlement for Catalyst.
No new tests, covered by existing tests.
- Scripts/process-entitlements.sh:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:11 PM Changeset in webkit [269668] by
-
- 2 edits in branches/safari-611.1.5-branch/Source/WebKit
Cherry-pick r269617. rdar://problem/71261924
Fix crashes when mapping shared display list item data into display lists in the GPU process
https://bugs.webkit.org/show_bug.cgi?id=218739
Reviewed by Tim Horton.
I added a "stop-gap" mechanism in r269525 to allow the GPU process to handle newly refactored display list
items by encoding display list items directly into shared memory buffers in the web process and reading them
back in the GPU process, using standard IPC messages only, and also without reusing any shared memory buffers.
However, I introduced a bug in this "stop-gap" mechanism when I tried to clean up some GPU-process-side logic
for unregistering these shared memory buffers in the GPU process, by taking shared memory buffers out of the
map in the GPU process without ensuring that they're kept alive over the course of applying the display list.
This code is going away soon anyways (see webkit.org/b/218426), but in the meantime, we should at least ensure
that this temporary shared memory mechanism doesn't cause huge waves of layout test failures.
- GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::applyDisplayList):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:07 PM Changeset in webkit [269667] by
-
- 3 edits in trunk/JSTests
stress/intl-datetimeformat-formatrange.js and stress/intl-datetimeformat-formatrange-relevant-extensions.js fail with ICU 65.1
https://bugs.webkit.org/show_bug.cgi?id=218763
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-11-10
Reviewed by Yusuke Suzuki.
Yesterday Red Hat upgraded its internal CI to Fedora 32 (ICU 65.1), causing
stress/intl-datetimeformat-formatrange-relevant-extensions.js and
stress/intl-datetimeformat-formatrange.js to begin failing. The problem is that the space
characters used in the range format changed at some point. The current version of the test
expects normal ASCII space characters for ICU 67 and newer, and special spaces for older
versions of ICU.
The test passes for me locally on Fedora 33 (ICU 67.1), so perhaps we just need to use the
new codepath for ICU 65 and 66 as well.
- stress/intl-datetimeformat-formatrange-relevant-extensions.js:
- stress/intl-datetimeformat-formatrange.js:
(test):
- 5:04 PM Changeset in webkit [269666] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Enforce message filtering in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=218756
<rdar://problem/71240766>
Reviewed by David Kilzer.
Based on telemetry, we should deny access to messages not being used in the WebContent process on macOS.
No new tests, covered by existing tests.
- WebProcess/com.apple.WebProcess.sb.in:
- 4:53 PM Changeset in webkit [269665] by
-
- 16 edits1 add in trunk
Webkit incorrectly setting visibilityState to "prerender" when opening link in new tab
https://bugs.webkit.org/show_bug.cgi?id=215851
<rdar://problem/67817100>
Reviewed by Geoff Garen.
Source/WebCore:
Drop "prerender" state from VisibilityState. It has been dropped from the specification
and other browser engines so it is confusing to developers:
- dom/VisibilityState.h:
- dom/VisibilityState.idl:
- page/Page.cpp:
(WebCore::Page::visibilityState const):
Source/WebKit:
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toVisibilityState):
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentGtk.cpp:
(webkit_dom_document_get_visibility_state):
Source/WebKitLegacy/mac:
- DOM/DOMDocument.mm:
(-[DOMDocument visibilityState]):
- WebView/WebView.mm:
(kit):
Tools:
Add API test coverage.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/VisibilityState.mm: Added.
(TEST):
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setPageVisibility):
LayoutTests:
Drop dead code in test for prerender.
- fast/events/page-visibility-transition-test.html:
- 4:46 PM Changeset in webkit [269664] by
-
- 6 edits in trunk/Source
Use GraphicsContext instead of CGContext in RemoteLayerBackingStore
https://bugs.webkit.org/show_bug.cgi?id=218738
Reviewed by Wenson Hsieh.
Source/WebCore:
No new tests; just refactoring a heavily-tested codepath.
- platform/graphics/GraphicsContext.h:
- platform/graphics/Path.h:
Export some things.
Source/WebKit:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::drawInContext):
Make use of the GraphicsContext abstraction instead of dropping down
to CGContext, in preparation for DisplayList rendering.
- 4:46 PM Changeset in webkit [269663] by
-
- 1 copy in tags/Safari-610.3.6.3
Tag Safari-610.3.6.3.
- 4:41 PM Changeset in webkit [269662] by
-
- 24 edits7 adds in trunk
Remove another function that implicitly uses the composed tree (intersects with range)
https://bugs.webkit.org/show_bug.cgi?id=218726
Reviewed by Ryosuke Niwa.
Source/WebCore:
Tests: fast/dom/rangeContainsBoundaryPoint.html
fast/dom/rangeIntersectsNode.html
fast/dom/rangeIntersectsRange.html
- Sources.txt: Added BoundaryPoint.cpp.
- WebCore.xcodeproj/project.pbxproj: Ditto.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::documentBasedSelectedTextRange const):
Use intersects<ComposedTree>.
- accessibility/atk/WebKitAccessibleUtil.cpp:
(selectionBelongsToObject): Ditto.
- dom/BoundaryPoint.cpp: Added.
- dom/Range.cpp:
(WebCore::Range::isPointInRange): Use contains instead of contains<Tree>
since the normal tree is now default.
(WebCore::Range::intersectsNode const): Use intersects instead of
intersects<Tree> since the normal tree is now default.
- dom/SimpleRange.cpp:
(WebCore::makeBoundaryPointBeforeNode): Moved to BoundaryPoint.cpp.
(WebCore::makeBoundaryPointAfterNode): Ditto.
(WebCore::isOffsetBeforeChild): Ditto.
(WebCore::order): Ditto.
(WebCore::treeOrderForTesting): Ditto.
(WebCore::containsForTesting): Added an overload for range and boundary point.
(WebCore::intersects): Deleted two of these that were using ComposedTree.
(WebCore::intersectsForTesting): Added.
(WebCore::intersection): Use intersects<ComposedTree>.
(WebCore::contains): Implemented this template function and use it to replac
the incorrect specialization we had for ComposedTree.
(WebCore::containsCrossingDocumentBoundaries): Added.
- dom/SimpleRange.h: Made the contains functions template arguments default
to Tree. Added another overload of containsForTesting and added intersectsForTesting.
Removed intersects functions that were deprecated; the ones that used ComposedTree.
Added containsCrossingDocumentBoundaries.
- editing/Editor.cpp:
(WebCore::isFrameInRange): Use intersects<ComposedTree>.
(WebCore::Editor::scanSelectionForTelephoneNumbers): Ditto.
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::respondToNodeModification): Ditto.
- editing/VisiblePosition.cpp:
(WebCore::makeVisiblePositionRange): Added.
- editing/VisiblePosition.h: Added makeVisiblePositionRange, which takes
an Optional<SimpleRange>.
- page/DOMSelection.cpp:
(WebCore::DOMSelection::addRange): Use intersects instead of
intersects<Tree> since the normal tree is now default.
(WebCore::DOMSelection::containsNode const): Use intersects/contains
instead of intersects/contains<Tree> since the normal tree is now default.
- page/DragController.cpp:
(WebCore::DragController::insertDroppedImagePlaceholdersAtCaret):
Use intersects<ComposedTree>.
- testing/Internals.cpp:
(WebCore::Internals::rangeContainsBoundaryPoint): Added.
(WebCore::Internals::rangeIntersectsNode): Added.
(WebCore::Internals::rangeIntersectsRange): Added.
- testing/Internals.h: Updated for the above.
- testing/Internals.idl: Ditto.
Source/WebKit:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestDocumentEditingContext): Refactor to use VisiblePositionRange and
to call intersects on two of them, to improve the code readability and also sidestep the
issue of calling the intersects template function from outside WebCore.
Source/WebKitLegacy/mac:
- WebView/WebPDFView.mm:
(isFrameInRange): Deleted. This function used intersects, and deleting it side-steps
the issue of calling the intersects function template from outside WebCore.
(-[WebPDFView countMatchesForText:inDOMRange:options:limit:markMatches:]):
Use containsCrossingDocumentBoundaries instead of isFrameInRange.
Tools:
- TestWebKitAPI/Tests/WebCore/DocumentOrder.cpp:
(TestWebKitAPI::makeBoundaryPoint): Deleted.
Deleted the DocumentOrder.IsPointInRange, DocumentOrder.RangeIntersectsRange and
DocumentOrder.RangeIntersectsNode tests, each replaced by an internals-based test.
LayoutTests:
- fast/dom/rangeContainsBoundaryPoint-expected.txt: Added.
- fast/dom/rangeContainsBoundaryPoint.html: Added.
- fast/dom/rangeIntersectsNode-expected.txt: Added.
- fast/dom/rangeIntersectsNode.html: Added.
- fast/dom/rangeIntersectsRange-expected.txt: Added.
- fast/dom/rangeIntersectsRange.html: Added.
These tests were formerly part of TestWebKitAPI. Moving to internals-style tests at
Ryosuke's suggestion since these are not something exposed as API or SPI.
- 4:40 PM Changeset in webkit [269661] by
-
- 1 copy in tags/Safari-610.3.7.1.3
Tag Safari-610.3.7.1.3.
- 4:33 PM Changeset in webkit [269660] by
-
- 84 edits34 copies7 moves10 adds4 deletes in trunk
PCM: Change from ad-click-attribution to private-click-measurement (in all forms, including .well-known URL)
https://bugs.webkit.org/show_bug.cgi?id=218730
<rdar://problem/71094296>
Reviewed by Devin Rousso.
Change to the official name of the proposed standard Private Click Measurement
https://github.com/privacycg/private-click-measurement.
This includes a change of the reporting URL from
"/.well-known/ad-click-attribution/" to
"/.well-known/private-click-measurement/".
Source/JavaScriptCore:
- inspector/ConsoleMessage.cpp:
(Inspector::messageSourceValue):
- inspector/protocol/Console.json:
- inspector/protocol/Page.json:
- runtime/ConsoleClient.cpp:
(JSC::appendMessagePrefix):
- runtime/ConsoleTypes.h:
Source/WebCore:
Tests: http/tests/contentextensions/block-private-click-measurement.html
http/tests/privateClickMeasurement/anchor-tag-attributes-reflect.html
http/tests/privateClickMeasurement/anchor-tag-attributes-validation.html
http/tests/privateClickMeasurement/attribution-conversion-through-cross-site-image-redirect.html
http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-in-new-window.html
http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-with-priority.html
http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-without-priority.html
http/tests/privateClickMeasurement/clear-through-website-data-removal.html
http/tests/privateClickMeasurement/conversion-disabled-in-ephemeral-session.html
http/tests/privateClickMeasurement/expired-attributions-removed.html
http/tests/privateClickMeasurement/second-attribution-converted-with-higher-priority.html
http/tests/privateClickMeasurement/second-attribution-converted-with-lower-priority.html
http/tests/privateClickMeasurement/second-conversion-with-higher-priority.html
http/tests/privateClickMeasurement/second-conversion-with-lower-priority.html
http/tests/privateClickMeasurement/send-attribution-conversion-request.html
http/tests/privateClickMeasurement/store-disabled-in-ephemeral-session.html
http/tests/privateClickMeasurement/store-private-click-measurement.html
inspector/page/overrideSetting-PrivateClickMeasurementDebugModeEnabled.html
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parsePrivateClickMeasurement const):
(WebCore::HTMLAnchorElement::handleClick):
(WebCore::HTMLAnchorElement::parseAdClickAttribution const): Deleted.
- html/HTMLAnchorElement.h:
- html/HTMLAnchorElement.idl:
- inspector/InspectorClient.h:
- inspector/agents/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::overrideSetting):
- inspector/agents/page/PageConsoleAgent.cpp:
(WebCore::PageConsoleAgent::getLoggingChannels):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::changeLocation):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadURL):
- loader/FrameLoader.h:
- loader/NavigationAction.h:
(WebCore::NavigationAction::privateClickMeasurement const):
(WebCore::NavigationAction::setPrivateClickMeasurement):
(WebCore::NavigationAction::adClickAttribution const): Deleted.
(WebCore::NavigationAction::setAdClickAttribution): Deleted.
- loader/PrivateClickMeasurement.cpp: Renamed from Source/WebCore/loader/AdClickAttribution.cpp.
(WebCore::PrivateClickMeasurement::isValid const):
(WebCore::PrivateClickMeasurement::parseConversionRequest):
(WebCore::PrivateClickMeasurement::convertAndGetEarliestTimeToSend):
(WebCore::PrivateClickMeasurement::markAsExpired):
(WebCore::PrivateClickMeasurement::hasExpired const):
(WebCore::PrivateClickMeasurement::hasHigherPriorityThan const):
(WebCore::PrivateClickMeasurement::reportURL const):
(WebCore::PrivateClickMeasurement::json const):
(WebCore::PrivateClickMeasurement::markConversionAsSent):
(WebCore::PrivateClickMeasurement::wasConversionSent const):
(WebCore::PrivateClickMeasurement::toString const):
(WebCore::PrivateClickMeasurement::debugModeEnabled):
- loader/PrivateClickMeasurement.h: Renamed from Source/WebCore/loader/AdClickAttribution.h.
(WebCore::PrivateClickMeasurement::Campaign::Campaign):
(WebCore::PrivateClickMeasurement::Campaign::isValid const):
(WebCore::PrivateClickMeasurement::Source::Source):
(WebCore::PrivateClickMeasurement::Source::operator== const):
(WebCore::PrivateClickMeasurement::Source::matches const):
(WebCore::PrivateClickMeasurement::Source::isHashTableDeletedValue const):
(WebCore::PrivateClickMeasurement::Source::deletedValue):
(WebCore::PrivateClickMeasurement::Source::constructDeletedValue):
(WebCore::PrivateClickMeasurement::Source::deleteValue):
(WebCore::PrivateClickMeasurement::Source::isDeletedValue const):
(WebCore::PrivateClickMeasurement::SourceHash::hash):
(WebCore::PrivateClickMeasurement::SourceHash::equal):
(WebCore::PrivateClickMeasurement::Destination::Destination):
(WebCore::PrivateClickMeasurement::Destination::operator== const):
(WebCore::PrivateClickMeasurement::Destination::matches const):
(WebCore::PrivateClickMeasurement::Destination::isHashTableDeletedValue const):
(WebCore::PrivateClickMeasurement::Destination::deletedValue):
(WebCore::PrivateClickMeasurement::Destination::constructDeletedValue):
(WebCore::PrivateClickMeasurement::Destination::deleteValue):
(WebCore::PrivateClickMeasurement::Destination::isDeletedValue const):
(WebCore::PrivateClickMeasurement::DestinationHash::hash):
(WebCore::PrivateClickMeasurement::DestinationHash::equal):
(WebCore::PrivateClickMeasurement::Priority::Priority):
(WebCore::PrivateClickMeasurement::Conversion::Conversion):
(WebCore::PrivateClickMeasurement::Conversion::isValid const):
(WebCore::PrivateClickMeasurement::PrivateClickMeasurement):
(WebCore::PrivateClickMeasurement::source const):
(WebCore::PrivateClickMeasurement::destination const):
(WebCore::PrivateClickMeasurement::earliestTimeToSend const):
(WebCore::PrivateClickMeasurement::isEmpty const):
(WebCore::PrivateClickMeasurement::encode const):
(WebCore::PrivateClickMeasurement::decode):
(WebCore::PrivateClickMeasurement::Conversion::encode const):
(WebCore::PrivateClickMeasurement::Conversion::decode):
(WTF::HashTraits<WebCore::PrivateClickMeasurement::Source>::emptyValue):
(WTF::HashTraits<WebCore::PrivateClickMeasurement::Source>::constructDeletedValue):
(WTF::HashTraits<WebCore::PrivateClickMeasurement::Source>::isDeletedValue):
(WTF::HashTraits<WebCore::PrivateClickMeasurement::Destination>::emptyValue):
(WTF::HashTraits<WebCore::PrivateClickMeasurement::Destination>::constructDeletedValue):
(WTF::HashTraits<WebCore::PrivateClickMeasurement::Destination>::isDeletedValue):
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::privateClickMeasurementDebugModeEnabled const):
(WebCore::RuntimeEnabledFeatures::setPrivateClickMeasurementDebugModeEnabled):
(WebCore::RuntimeEnabledFeatures::adClickAttributionDebugModeEnabled const): Deleted.
(WebCore::RuntimeEnabledFeatures::setAdClickAttributionDebugModeEnabled): Deleted.
- platform/Logging.h:
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Base/Main.js:
- UserInterface/Models/ConsoleMessage.js:
- UserInterface/Models/IssueMessage.js:
(WI.IssueMessage):
- UserInterface/Protocol/Legacy/14.0/InspectorBackendCommands.js:
Source/WebKit:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::setPrivateClickMeasurementDebugMode):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::storePrivateClickMeasurement):
(WebKit::NetworkProcess::dumpPrivateClickMeasurement):
(WebKit::NetworkProcess::clearPrivateClickMeasurement):
(WebKit::NetworkProcess::setPrivateClickMeasurementOverrideTimerForTesting):
(WebKit::NetworkProcess::setPrivateClickMeasurementConversionURLForTesting):
(WebKit::NetworkProcess::markPrivateClickMeasurementsAsExpiredForTesting):
(WebKit::NetworkProcess::setAdClickAttributionDebugMode): Deleted.
(WebKit::NetworkProcess::storeAdClickAttribution): Deleted.
(WebKit::NetworkProcess::dumpAdClickAttribution): Deleted.
(WebKit::NetworkProcess::clearAdClickAttribution): Deleted.
(WebKit::NetworkProcess::setAdClickAttributionOverrideTimerForTesting): Deleted.
(WebKit::NetworkProcess::setAdClickAttributionConversionURLForTesting): Deleted.
(WebKit::NetworkProcess::markAdClickAttributionsAsExpiredForTesting): Deleted.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
(WebKit::NetworkResourceLoader::continueWillSendRedirectedRequest):
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::NetworkSession):
(WebKit::NetworkSession::storePrivateClickMeasurement):
(WebKit::NetworkSession::handlePrivateClickMeasurementConversion):
(WebKit::NetworkSession::dumpPrivateClickMeasurement):
(WebKit::NetworkSession::clearPrivateClickMeasurement):
(WebKit::NetworkSession::clearPrivateClickMeasurementForRegistrableDomain):
(WebKit::NetworkSession::setPrivateClickMeasurementOverrideTimerForTesting):
(WebKit::NetworkSession::setPrivateClickMeasurementConversionURLForTesting):
(WebKit::NetworkSession::markPrivateClickMeasurementsAsExpiredForTesting):
(WebKit::NetworkSession::storeAdClickAttribution): Deleted.
(WebKit::NetworkSession::handleAdClickAttributionConversion): Deleted.
(WebKit::NetworkSession::dumpAdClickAttribution): Deleted.
(WebKit::NetworkSession::clearAdClickAttribution): Deleted.
(WebKit::NetworkSession::clearAdClickAttributionForRegistrableDomain): Deleted.
(WebKit::NetworkSession::setAdClickAttributionOverrideTimerForTesting): Deleted.
(WebKit::NetworkSession::setAdClickAttributionConversionURLForTesting): Deleted.
(WebKit::NetworkSession::markAdClickAttributionsAsExpiredForTesting): Deleted.
- NetworkProcess/NetworkSession.h:
- NetworkProcess/PrivateClickMeasurementManager.cpp: Renamed from Source/WebKit/NetworkProcess/AdClickAttributionManager.cpp.
(WebKit::PrivateClickMeasurementManager::storeUnconverted):
(WebKit::PrivateClickMeasurementManager::handleConversion):
(WebKit::PrivateClickMeasurementManager::startTimer):
(WebKit::PrivateClickMeasurementManager::convert):
(WebKit::PrivateClickMeasurementManager::fireConversionRequest):
(WebKit::PrivateClickMeasurementManager::firePendingConversionRequests):
(WebKit::PrivateClickMeasurementManager::clear):
(WebKit::PrivateClickMeasurementManager::clearForRegistrableDomain):
(WebKit::PrivateClickMeasurementManager::clearExpired):
(WebKit::PrivateClickMeasurementManager::toString const):
(WebKit::PrivateClickMeasurementManager::setConversionURLForTesting):
(WebKit::PrivateClickMeasurementManager::markAllUnconvertedAsExpiredForTesting):
(WebKit::PrivateClickMeasurementManager::debugModeEnabled const):
- NetworkProcess/PrivateClickMeasurementManager.h: Renamed from Source/WebKit/NetworkProcess/AdClickAttributionManager.h.
(WebKit::PrivateClickMeasurementManager::PrivateClickMeasurementManager):
(WebKit::PrivateClickMeasurementManager::m_sessionID):
(WebKit::PrivateClickMeasurementManager::setPingLoadFunction):
(WebKit::PrivateClickMeasurementManager::setOverrideTimerForTesting):
- Platform/Logging.h:
- Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::encode const):
(WebKit::NavigationActionData::decode):
- Shared/NavigationActionData.h:
- Shared/WebsiteData/WebsiteData.cpp:
(WebKit::WebsiteData::ownerProcess):
- Shared/WebsiteData/WebsiteDataType.h:
- Sources.txt:
- UIProcess/API/APINavigation.h:
(API::Navigation::privateClickMeasurement const):
(API::Navigation::adClickAttribution const): Deleted.
- UIProcess/API/C/WKPage.cpp:
(WKPageDumpPrivateClickMeasurement):
(WKPageClearPrivateClickMeasurement):
(WKPageSetPrivateClickMeasurementOverrideTimerForTesting):
(WKPageSetPrivateClickMeasurementConversionURLForTesting):
(WKPageMarkPrivateClickMeasurementsAsExpiredForTesting):
(WKPageDumpAdClickAttribution): Deleted.
(WKPageClearAdClickAttribution): Deleted.
(WKPageSetAdClickAttributionOverrideTimerForTesting): Deleted.
(WKPageSetAdClickAttributionConversionURLForTesting): Deleted.
(WKPageMarkAdClickAttributionsAsExpiredForTesting): Deleted.
- UIProcess/API/C/WKPagePrivate.h:
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreClearPrivateClickMeasurementsThroughWebsiteDataRemoval):
(WKWebsiteDataStoreClearAdClickAttributionsThroughWebsiteDataRemoval): Deleted.
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
- UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:
(dataTypesToString):
- UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
(WebKit::toWebsiteDataType):
(WebKit::toWKWebsiteDataTypes):
- UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(+[WKWebsiteDataStore _allWebsiteDataTypesIncludingPrivate]):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
- UIProcess/Inspector/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::setDeveloperPreferenceOverride):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::setPrivateClickMeasurementDebugMode):
(WebKit::NetworkProcessProxy::setAdClickAttributionDebugMode): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::createNewPage):
(WebKit::WebPageProxy::dumpPrivateClickMeasurement):
(WebKit::WebPageProxy::clearPrivateClickMeasurement):
(WebKit::WebPageProxy::setPrivateClickMeasurementOverrideTimerForTesting):
(WebKit::WebPageProxy::setPrivateClickMeasurementConversionURLForTesting):
(WebKit::WebPageProxy::markPrivateClickMeasurementsAsExpiredForTesting):
(WebKit::WebPageProxy::dumpAdClickAttribution): Deleted.
(WebKit::WebPageProxy::clearAdClickAttribution): Deleted.
(WebKit::WebPageProxy::setAdClickAttributionOverrideTimerForTesting): Deleted.
(WebKit::WebPageProxy::setAdClickAttributionConversionURLForTesting): Deleted.
(WebKit::WebPageProxy::markAdClickAttributionsAsExpiredForTesting): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::setPrivateClickMeasurementDebugMode):
(WebKit::WebsiteDataStore::setAdClickAttributionDebugMode): Deleted.
- UIProcess/WebsiteData/WebsiteDataStore.h:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createWindow):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
Source/WebKitLegacy/mac:
- WebCoreSupport/WebChromeClient.mm:
(stringForMessageSource):
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(-[WebPreferences privateClickMeasurementEnabled]):
(-[WebPreferences setPrivateClickMeasurementEnabled:]):
(-[WebPreferences adClickAttributionEnabled]): Deleted.
(-[WebPreferences setAdClickAttributionEnabled:]): Deleted.
- WebView/WebPreferencesPrivate.h:
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
Tools:
- DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/AdClickAttribution.cpp: Removed.
- TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp: Added.
(TestWebKitAPI::TEST):
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::dumpPrivateClickMeasurement):
(WTR::TestRunner::clearPrivateClickMeasurement):
(WTR::TestRunner::clearPrivateClickMeasurementsThroughWebsiteDataRemoval):
(WTR::TestRunner::setPrivateClickMeasurementOverrideTimerForTesting):
(WTR::TestRunner::setPrivateClickMeasurementConversionURLForTesting):
(WTR::TestRunner::markPrivateClickMeasurementsAsExpiredForTesting):
(WTR::TestRunner::dumpAdClickAttribution): Deleted.
(WTR::TestRunner::clearAdClickAttribution): Deleted.
(WTR::TestRunner::clearAdClickAttributionsThroughWebsiteDataRemoval): Deleted.
(WTR::TestRunner::setAdClickAttributionOverrideTimerForTesting): Deleted.
(WTR::TestRunner::setAdClickAttributionConversionURLForTesting): Deleted.
(WTR::TestRunner::markAdClickAttributionsAsExpiredForTesting): Deleted.
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::PrivateClickMeasurementStringResultCallbackContext::PrivateClickMeasurementStringResultCallbackContext):
(WTR::privateClickMeasurementStringResultCallback):
(WTR::TestController::dumpPrivateClickMeasurement):
(WTR::PrivateClickMeasurementVoidCallbackContext::PrivateClickMeasurementVoidCallbackContext):
(WTR::privateClickMeasurementVoidCallback):
(WTR::TestController::clearPrivateClickMeasurement):
(WTR::TestController::clearPrivateClickMeasurementsThroughWebsiteDataRemoval):
(WTR::TestController::setPrivateClickMeasurementOverrideTimerForTesting):
(WTR::TestController::setPrivateClickMeasurementConversionURLForTesting):
(WTR::TestController::markPrivateClickMeasurementsAsExpiredForTesting):
(WTR::AdClickAttributionStringResultCallbackContext::AdClickAttributionStringResultCallbackContext): Deleted.
(WTR::adClickAttributionStringResultCallback): Deleted.
(WTR::TestController::dumpAdClickAttribution): Deleted.
(WTR::AdClickAttributionVoidCallbackContext::AdClickAttributionVoidCallbackContext): Deleted.
(WTR::adClickAttributionVoidCallback): Deleted.
(WTR::TestController::clearAdClickAttribution): Deleted.
(WTR::TestController::clearAdClickAttributionsThroughWebsiteDataRemoval): Deleted.
(WTR::TestController::setAdClickAttributionOverrideTimerForTesting): Deleted.
(WTR::TestController::setAdClickAttributionConversionURLForTesting): Deleted.
(WTR::TestController::markAdClickAttributionsAsExpiredForTesting): Deleted.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::dumpResults):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestInvocation::dumpPrivateClickMeasurement):
(WTR::TestInvocation::dumpAdClickAttribution): Deleted.
- WebKitTestRunner/TestInvocation.h:
LayoutTests:
- TestExpectations:
- http/tests/adClickAttribution/attribution-conversion-through-cross-site-image-redirect-expected.txt: Removed.
- http/tests/adClickAttribution/expired-attributions-removed-expected.txt: Removed.
- http/tests/adClickAttribution/resources/redirectToConversionOnIPAddress.php: Removed.
- http/tests/adClickAttribution/store-ad-click-attribution-expected.txt: Removed.
- http/tests/adClickAttribution/store-disabled-in-ephemeral-session-expected.txt: Removed.
- http/tests/contentextensions/block-ad-click-attribution-expected.txt: Removed.
- http/tests/contentextensions/block-private-click-measurement-expected.txt: Added.
- http/tests/contentextensions/block-private-click-measurement.html: Renamed from LayoutTests/http/tests/contentextensions/block-ad-click-attribution.html.
- http/tests/contentextensions/block-private-click-measurement.html.json: Renamed from LayoutTests/http/tests/contentextensions/block-ad-click-attribution.html.json.
- http/tests/privateClickMeasurement/anchor-tag-attributes-reflect-expected.txt: Renamed from LayoutTests/http/tests/adClickAttribution/anchor-tag-attributes-reflect-expected.txt.
- http/tests/privateClickMeasurement/anchor-tag-attributes-reflect.html: Renamed from LayoutTests/http/tests/adClickAttribution/anchor-tag-attributes-reflect.html.
- http/tests/privateClickMeasurement/anchor-tag-attributes-validation-expected.txt: Renamed from LayoutTests/http/tests/adClickAttribution/anchor-tag-attributes-validation-expected.txt.
- http/tests/privateClickMeasurement/anchor-tag-attributes-validation.html: Renamed from LayoutTests/http/tests/adClickAttribution/anchor-tag-attributes-validation.html.
- http/tests/privateClickMeasurement/attribution-conversion-through-cross-site-image-redirect-expected.txt: Added.
- http/tests/privateClickMeasurement/attribution-conversion-through-cross-site-image-redirect.html: Renamed from LayoutTests/http/tests/adClickAttribution/attribution-conversion-through-cross-site-image-redirect.html.
- http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-in-new-window-expected.txt: Renamed from LayoutTests/http/tests/adClickAttribution/attribution-conversion-through-image-redirect-in-new-window-expected.txt.
- http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-in-new-window.html: Renamed from LayoutTests/http/tests/adClickAttribution/attribution-conversion-through-image-redirect-in-new-window.html.
- http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-with-priority-expected.txt: Renamed from LayoutTests/http/tests/adClickAttribution/attribution-conversion-through-image-redirect-with-priority-expected.txt.
- http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-with-priority.html: Renamed from LayoutTests/http/tests/adClickAttribution/attribution-conversion-through-image-redirect-with-priority.html.
- http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-without-priority-expected.txt: Renamed from LayoutTests/http/tests/adClickAttribution/attribution-conversion-through-image-redirect-without-priority-expected.txt.
- http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-without-priority.html: Renamed from LayoutTests/http/tests/adClickAttribution/attribution-conversion-through-image-redirect-without-priority.html.
- http/tests/privateClickMeasurement/clear-through-website-data-removal-expected.txt: Renamed from LayoutTests/http/tests/adClickAttribution/clear-through-website-data-removal-expected.txt.
- http/tests/privateClickMeasurement/clear-through-website-data-removal.html: Renamed from LayoutTests/http/tests/adClickAttribution/clear-through-website-data-removal.html.
- http/tests/privateClickMeasurement/conversion-disabled-in-ephemeral-session-expected.txt: Renamed from LayoutTests/http/tests/adClickAttribution/conversion-disabled-in-ephemeral-session-expected.txt.
- http/tests/privateClickMeasurement/conversion-disabled-in-ephemeral-session.html: Renamed from LayoutTests/http/tests/adClickAttribution/conversion-disabled-in-ephemeral-session.html.
- http/tests/privateClickMeasurement/expired-attributions-removed-expected.txt: Added.
- http/tests/privateClickMeasurement/expired-attributions-removed.html: Renamed from LayoutTests/http/tests/adClickAttribution/expired-attributions-removed.html.
- http/tests/privateClickMeasurement/resources/conversionFilePath.php: Renamed from LayoutTests/http/tests/adClickAttribution/resources/conversionFilePath.php.
- http/tests/privateClickMeasurement/resources/conversionReport.php: Renamed from LayoutTests/http/tests/adClickAttribution/resources/conversionReport.php.
- http/tests/privateClickMeasurement/resources/convertAndPostMessageBack.html: Renamed from LayoutTests/http/tests/adClickAttribution/resources/convertAndPostMessageBack.html.
- http/tests/privateClickMeasurement/resources/getConversionData.php: Renamed from LayoutTests/http/tests/adClickAttribution/resources/getConversionData.php.
- http/tests/privateClickMeasurement/resources/redirectToConversion.php: Renamed from LayoutTests/http/tests/adClickAttribution/resources/redirectToConversion.php.
- http/tests/privateClickMeasurement/resources/redirectToConversionOnIPAddress.php: Added.
- http/tests/privateClickMeasurement/resources/util.js: Renamed from LayoutTests/http/tests/adClickAttribution/resources/util.js.
(prepareTest):
(tearDownAndFinish):
- http/tests/privateClickMeasurement/second-attribution-converted-with-higher-priority-expected.txt: Renamed from LayoutTests/http/tests/adClickAttribution/second-attribution-converted-with-higher-priority-expected.txt.
- http/tests/privateClickMeasurement/second-attribution-converted-with-higher-priority.html: Renamed from LayoutTests/http/tests/adClickAttribution/second-attribution-converted-with-higher-priority.html.
- http/tests/privateClickMeasurement/second-attribution-converted-with-lower-priority-expected.txt: Renamed from LayoutTests/http/tests/adClickAttribution/second-attribution-converted-with-lower-priority-expected.txt.
- http/tests/privateClickMeasurement/second-attribution-converted-with-lower-priority.html: Renamed from LayoutTests/http/tests/adClickAttribution/second-attribution-converted-with-lower-priority.html.
- http/tests/privateClickMeasurement/second-conversion-with-higher-priority-expected.txt: Renamed from LayoutTests/http/tests/adClickAttribution/second-conversion-with-higher-priority-expected.txt.
- http/tests/privateClickMeasurement/second-conversion-with-higher-priority.html: Renamed from LayoutTests/http/tests/adClickAttribution/second-conversion-with-higher-priority.html.
- http/tests/privateClickMeasurement/second-conversion-with-lower-priority-expected.txt: Renamed from LayoutTests/http/tests/adClickAttribution/second-conversion-with-lower-priority-expected.txt.
- http/tests/privateClickMeasurement/second-conversion-with-lower-priority.html: Renamed from LayoutTests/http/tests/adClickAttribution/second-conversion-with-lower-priority.html.
- http/tests/privateClickMeasurement/send-attribution-conversion-request-expected.txt: Renamed from LayoutTests/http/tests/adClickAttribution/send-attribution-conversion-request-expected.txt.
- http/tests/privateClickMeasurement/send-attribution-conversion-request.html: Renamed from LayoutTests/http/tests/adClickAttribution/send-attribution-conversion-request.html.
- http/tests/privateClickMeasurement/store-disabled-in-ephemeral-session-expected.txt: Added.
- http/tests/privateClickMeasurement/store-disabled-in-ephemeral-session.html: Renamed from LayoutTests/http/tests/adClickAttribution/store-disabled-in-ephemeral-session.html.
- http/tests/privateClickMeasurement/store-private-click-measurement-expected.txt: Added.
- http/tests/privateClickMeasurement/store-private-click-measurement.html: Renamed from LayoutTests/http/tests/adClickAttribution/store-ad-click-attribution.html.
- inspector/page/overrideSetting-AdClickAttributionDebugModeEnabled-expected.txt: Removed.
- inspector/page/overrideSetting-PrivateClickMeasurementDebugModeEnabled-expected.txt: Added.
- inspector/page/overrideSetting-PrivateClickMeasurementDebugModeEnabled.html: Renamed from LayoutTests/inspector/page/overrideSetting-AdClickAttributionDebugModeEnabled.html.
- platform/mac-wk2/TestExpectations:
- platform/wk2/TestExpectations:
- 4:28 PM Changeset in webkit [269659] by
-
- 20 edits in trunk/Source
Make PlatformWheelEventPhase an enum class
https://bugs.webkit.org/show_bug.cgi?id=218772
Reviewed by Tim Horton.
Change PlatformWheelEventPhase to be an enum class.
Changed code that maps between NSEventPhase and PlatformWheelEventPhase to not
treat NSEventPhase as a set of bits, since it only ever contains one of the bits.
Source/WebCore:
- dom/WheelEvent.h:
- page/EventHandler.cpp:
(WebCore::handleWheelEventPhaseInScrollableArea):
(WebCore::handleWheelEventInAppropriateEnclosingBox):
- page/WheelEventTestMonitor.cpp:
(WebCore::WheelEventTestMonitor::receivedWheelEvent):
- page/mac/EventHandlerMac.mm:
(WebCore::findEnclosingScrollableContainer):
(WebCore::EventHandler::recordWheelEventForDeltaFilter):
(WebCore::EventHandler::processWheelEventForScrollSnap):
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
- page/scrolling/ScrollingTreeGestureState.cpp:
(WebCore::ScrollingTreeGestureState::handleGestureCancel):
(WebCore::ScrollingTreeGestureState::nodeDidHandleEvent):
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::canHandleWheelEvent const):
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::handleWheelEvent):
- platform/PlatformWheelEvent.cpp:
(WebCore::operator<<):
- platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::useLatchedEventElement const):
(WebCore::PlatformWheelEvent::isGestureStart const):
(WebCore::PlatformWheelEvent::isGestureContinuation const):
(WebCore::PlatformWheelEvent::shouldResetLatching const):
(WebCore::PlatformWheelEvent::isNonGestureEvent const):
(WebCore::PlatformWheelEvent::isEndOfMomentumScroll const):
(WebCore::PlatformWheelEvent::isGestureBegin const):
(WebCore::PlatformWheelEvent::isGestureCancel const):
(WebCore::PlatformWheelEvent::isEndOfNonMomentumScroll const):
(WebCore::PlatformWheelEvent::isTransitioningToMomentumScroll const):
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::handleWheelEvent):
- platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::handleWheelEvent):
(WebCore::toWheelEventStatus):
- platform/mac/PlatformEventFactoryMac.mm:
(WebCore::phaseFromNSEventPhase):
(WebCore::momentumPhaseForEvent):
(WebCore::phaseForEvent):
- platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::handleWheelEventPhase):
(WebCore::newGestureIsStarting):
(WebCore::gestureShouldBeginSnap):
Source/WebKit:
- UIProcess/RemoteLayerTree/mac/ScrollerPairMac.mm:
(WebKit::ScrollerPairMac::handleWheelEvent):
- WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::wheelEvent):
Source/WebKitLegacy/mac:
- DOM/WebDOMOperations.mm:
(toNSEventPhase):
- 3:53 PM Changeset in webkit [269658] by
-
- 3 edits1 add in trunk/Source
Stop using objc_autoreleasePool{Push, Pop} in RunLoop observers
https://bugs.webkit.org/show_bug.cgi?id=218728
Reviewed by Tim Horton.
Use in a RunLoop observer is deprecated when a built-in version of the
behavior is available (because the conflicting pool management commands
crash each other).
This is UIWebView, so there are no rules. Tested manually, at a safe
distance.
- platform/ios/wak/WebCoreThread.mm:
(WebRunLoopLockInternal):
(WebRunLoopUnlockInternal):
(WebRunLoopEnableNested):
(WebRunLoopDisableNested):
(RunWebThread):
- 3:36 PM Changeset in webkit [269657] by
-
- 12 edits2 adds in trunk
GPUProcess does not properly get relaunched after crashing
https://bugs.webkit.org/show_bug.cgi?id=218769
Reviewed by Tim Horton.
Source/WebKit:
After the GPUProcess crashes, we need to make sure we construct a new GPUProcessProxy
so that a new process gets relaunched. Previously, this wasn't possible because
the GPUProcessProxy was a "never destroyed" singleton.
The GPUProcessProxy is now kept alive by the WebProcessPool objects refing it.
Upon crashing, all WebProcessPools clear their GPUProcessProxy RefPtr so that the
old GPUProcessProxy gets destroyed. The next time a GPUProcessProxy is needed, a new
one gets constructed. We still make sure that all WebProcessPool objects share the
same GPUProcessProxy, as before this patch.
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _gpuProcessIdentifier]):
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::getOrCreate):
(WebKit::GPUProcessProxy::GPUProcessProxy):
(WebKit::GPUProcessProxy::~GPUProcessProxy):
(WebKit::GPUProcessProxy::processWillShutDown):
(WebKit::GPUProcessProxy::gpuProcessCrashed):
- UIProcess/GPU/GPUProcessProxy.h:
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::syncWithWebCorePrefs const):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::willStartCapture):
(WebKit::WebPageProxy::setOrientationForMediaCapture):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureGPUProcess):
(WebKit::WebProcessPool::gpuProcessCrashed):
(WebKit::WebProcessPool::getGPUProcessConnection):
(WebKit::WebProcessPool::updateAudibleMediaAssertions):
- UIProcess/WebProcessPool.h:
- UIProcess/ios/WKContentView.mm:
(-[WKContentView _setupVisibilityPropagationViewForGPUProcess]):
Tools:
Add API test coverage.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm: Added.
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/audio-context-playing.html: Added.
- 3:35 PM Changeset in webkit [269656] by
-
- 2 edits in branches/safari-610.3.7.1-branch/Source/WebKit
Cherry-pick r269651. rdar://problem/71256353
[macOS] Allow IOGLESBundleName for Apple Silicon Macs
https://bugs.webkit.org/show_bug.cgi?id=218774
<rdar://problem/67473780>
Unreviewed follow-up fix to r269649.
Two additional keys are needed: MetalPluginClassName and MetalPluginName
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269651 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:33 PM Changeset in webkit [269655] by
-
- 7 edits in trunk
[LFC][Integration] Enable vertical alignment on replaced content
https://bugs.webkit.org/show_bug.cgi?id=218101
Reviewed by Antti Koivisto.
Source/WebCore:
- layout/integration/LayoutIntegrationCoverage.cpp:
LayoutTests:
Combination of trailing whitespace and pixel rounding.
- platform/ios/css1/formatting_model/height_of_lines-expected.txt:
- platform/ios/css1/text_properties/vertical_align-expected.txt:
- platform/mac/css1/formatting_model/height_of_lines-expected.txt:
- platform/mac/css1/text_properties/vertical_align-expected.txt:
- 3:31 PM Changeset in webkit [269654] by
-
- 2 edits in branches/safari-610.3.6-branch/Source/WebKit
Cherry-pick r269651. rdar://problem/71256392
[macOS] Allow IOGLESBundleName for Apple Silicon Macs
https://bugs.webkit.org/show_bug.cgi?id=218774
<rdar://problem/67473780>
Unreviewed follow-up fix to r269649.
Two additional keys are needed: MetalPluginClassName and MetalPluginName
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269651 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:31 PM Changeset in webkit [269653] by
-
- 2 edits in branches/safari-610.3.6-branch/Source/WebKit
Cherry-pick r269649. rdar://problem/71256392
[macOS] Allow IOGLESBundleName for Apple Silicon Macs
https://bugs.webkit.org/show_bug.cgi?id=218774
<rdar://problem/67473780>
Reviewed by Tim Horton.
The WebContent should be able to read the IOGLESBundleName IOKit property on
Apple Silicon Macs. This will help the OpenGL stack make better choices about
which bundles to load when processing WebGL content.
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269649 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:28 PM Changeset in webkit [269652] by
-
- 8 edits in branches/safari-610.3.6-branch/Source
Versioning.
WebKit-7610.3.6.3
- 3:18 PM Changeset in webkit [269651] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Allow IOGLESBundleName for Apple Silicon Macs
https://bugs.webkit.org/show_bug.cgi?id=218774
<rdar://problem/67473780>
Unreviewed follow-up fix to r269649.
Two additional keys are needed: MetalPluginClassName and MetalPluginName
- WebProcess/com.apple.WebProcess.sb.in:
- 3:17 PM Changeset in webkit [269650] by
-
- 2 edits in branches/safari-610.3.7.1-branch/Source/WebKit
Cherry-pick r269649. rdar://problem/71256353
[macOS] Allow IOGLESBundleName for Apple Silicon Macs
https://bugs.webkit.org/show_bug.cgi?id=218774
<rdar://problem/67473780>
Reviewed by Tim Horton.
The WebContent should be able to read the IOGLESBundleName IOKit property on
Apple Silicon Macs. This will help the OpenGL stack make better choices about
which bundles to load when processing WebGL content.
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269649 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:02 PM Changeset in webkit [269649] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Allow IOGLESBundleName for Apple Silicon Macs
https://bugs.webkit.org/show_bug.cgi?id=218774
<rdar://problem/67473780>
Reviewed by Tim Horton.
The WebContent should be able to read the IOGLESBundleName IOKit property on
Apple Silicon Macs. This will help the OpenGL stack make better choices about
which bundles to load when processing WebGL content.
- WebProcess/com.apple.WebProcess.sb.in:
- 2:58 PM Changeset in webkit [269648] by
-
- 7 edits in trunk/Source
[macCatalyst] Fix various build breaks
https://bugs.webkit.org/show_bug.cgi?id=218771
Reviewed by Tim Horton.
Source/WebCore:
Use PlatformImagePtr which is encapsulated in NativeImage.
- editing/cocoa/DictionaryLookup.mm:
(-[WebRevealHighlight drawHighlightContentForItem:context:]):
Source/WebKit:
Use NO_RETURN_DUE_TO_ASSERT for unreachable function.
- UIProcess/Cocoa/UserMediaPermissionRequestProxy.mm:
(WebKit::UserMediaPermissionRequestProxy::doDefaultAction):
- UIProcess/UserMediaPermissionRequestProxy.h:
Source/WebKitLegacy/mac:
Use 'BOOL' instead of 'bool' for the functions arguments to resolve the
conflict with _setBoolValue which takes 'BOOL'.
- WebView/WebPreferences.mm:
(-[WebPreferences setAVKitEnabled:]):
(-[WebPreferences setNetworkDataUsageTrackingEnabled:]):
- 2:20 PM Changeset in webkit [269647] by
-
- 9 edits in trunk/Source/WebKit
[Cocoa] Send GPU sandbox extensions in Web page creation parameters
https://bugs.webkit.org/show_bug.cgi?id=218708
Reviewed by Brent Fulgham.
To pick up correct runtime settings, the GPU sandbox extensions should be sent to the WebContent process as part of the Web page creation parameters.
No new tests, covered by existing tests.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::mediaRelatedMachServices): Deleted.
(WebKit::gpuIOKitClasses): Deleted.
- UIProcess/WebPageProxy.cpp:
(WebKit::gpuIOKitClasses):
(WebKit::mediaRelatedMachServices):
(WebKit::WebPageProxy::creationParameters):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_limitsNavigationsToAppBoundDomains):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 1:36 PM Changeset in webkit [269646] by
-
- 2 edits in trunk/LayoutTests
Fix for LayoutTests/accessibility/mac/search-subrole.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=218766
Reviewed by Chris Fleizach.
- accessibility/mac/search-subrole.html: Modify so that it works in both
isolated tree mode on and off.
- 1:27 PM Changeset in webkit [269645] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Add support for replaced element baseline
https://bugs.webkit.org/show_bug.cgi?id=218767
Reviewed by Antti Koivisto.
Replaced elements can have set baselines.
- layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
- layout/layouttree/LayoutReplacedBox.h:
(WebCore::Layout::ReplacedBox::setBaseline):
(WebCore::Layout::ReplacedBox::baseline const):
- 1:17 PM Changeset in webkit [269644] by
-
- 4 edits in trunk/Source
Unreviewed internal macOS build-fix.
Source/WebCore/PAL:
- pal/avfoundation/OutputDevice.mm:
(PAL::OutputDevice::supportsSpatialAudio const):
Source/WTF:
- wtf/PlatformHave.h:
- 1:11 PM Changeset in webkit [269643] by
-
- 2 edits in trunk/Source/WebKit
[macCatalyst] Add entitlement for message filtering
https://bugs.webkit.org/show_bug.cgi?id=218768
<rdar://problem/71247464>
Reviewed by Tim Horton.
Add required message filtering entitlement for Catalyst.
No new tests, covered by existing tests.
- Scripts/process-entitlements.sh:
- 12:49 PM Changeset in webkit [269642] by
-
- 1611 edits2 copies2 moves356 adds112 deletes in trunk
Update WebRTC liwebrtc to M87
https://bugs.webkit.org/show_bug.cgi?id=218436
LayoutTests/imported/w3c:
Reviewed by Eric Carlson.
- web-platform-tests/webrtc/RTCPeerConnection-createDataChannel-expected.txt:
- web-platform-tests/webrtc/RTCPeerConnection-transceivers.https-expected.txt:
- web-platform-tests/webrtc/RTCRtpTransceiver-stop-expected.txt:
Source/ThirdParty/libwebrtc:
Reviewed by Eric Carlson.
- CMakeLists.txt:
- Configurations/libwebrtc.iOS.exp:
- Configurations/libwebrtc.iOSsim.exp:
- Configurations/libwebrtc.mac.exp:
- Source/webrtc: Resynced.
- WebKit/libwebrtc-m87-diff: Added.
- libwebrtc.xcodeproj/project.pbxproj:
Source/WebCore:
Reviewed by Eric Carlson.
Move from deprecated to new APIs.
Covered by existing tests.
- Modules/mediastream/libwebrtc/LibWebRTCRtpTransceiverBackend.cpp:
(WebCore::LibWebRTCRtpTransceiverBackend::setDirection):
(WebCore::LibWebRTCRtpTransceiverBackend::stop):
- Modules/mediastream/libwebrtc/LibWebRTCStatsCollector.cpp:
(WebCore::fillRTCDataChannelStats):
- platform/mediastream/RealtimeOutgoingVideoSource.h:
- platform/mediastream/gstreamer/GStreamerVideoFrameLibWebRTC.cpp:
(WebCore::GStreamerVideoFrameLibWebRTC::ToI420):
- platform/mediastream/gstreamer/GStreamerVideoFrameLibWebRTC.h:
- platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:
(WebCore::GStreamerEncodedImageBuffer::create):
(WebCore::GStreamerEncodedImageBuffer::GStreamerEncodedImageBuffer):
(WebCore::GStreamerVideoEncoderFactory::CreateVideoEncoder):
(WebCore::GStreamerVideoEncoder::Fragmentize): Deleted.
- platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.h:
- testing/MockLibWebRTCPeerConnection.h:
Source/WebKit:
Reviewed by Eric Carlson.
Update code now that fragmentation headers are computed at packetization time.
- Configurations/WebKit.xcconfig:
- GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
(WebKit::LibWebRTCCodecsProxy::createEncoder):
- Scripts/webkit/messages.py:
- Shared/RTCNetwork.h:
- WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
(WebKit::LibWebRTCCodecs::completedEncoding):
- WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
- WebProcess/GPU/webrtc/LibWebRTCCodecs.messages.in:
LayoutTests:
Reviewed by Eric Carlson.
We now have to explicitly support all packetization modes, which is similar to what Chrome is doing.
- webrtc/h264-packetization-mode.html:
- 12:40 PM Changeset in webkit [269641] by
-
- 23 edits in trunk
Parse aspect-ratio CSS property
https://bugs.webkit.org/show_bug.cgi?id=218437
Patch by Rob Buis <rbuis@igalia.com> on 2020-11-10
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Add improved test results.
- web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-computed-expected.txt:
- web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-valid-expected.txt:
- web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
Source/WebCore:
Parse aspect-ratio CSS property according to the specification [1].
[1] https://drafts.csswg.org/css-sizing-4/#aspect-ratio
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSProperties.json:
- css/parser/CSSParserContext.cpp:
(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
- css/parser/CSSParserContext.h:
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeAspectRatio):
(WebCore::CSSPropertyParser::parseSingleValue):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::aspectRatioWidth const):
(WebCore::RenderStyle::aspectRatioHeight const):
(WebCore::RenderStyle::setAspectRatio):
(WebCore::RenderStyle::initialAspectRatioWidth):
(WebCore::RenderStyle::initialAspectRatioHeight):
- rendering/style/RenderStyleConstants.cpp:
(WebCore::operator<<):
- rendering/style/RenderStyleConstants.h:
- rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):
- rendering/style/StyleRareNonInheritedData.h:
- style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyValueWebkitAspectRatio):
(WebCore::Style::BuilderCustom::applyInitialAspectRatio):
(WebCore::Style::BuilderCustom::applyInheritAspectRatio):
(WebCore::Style::BuilderCustom::applyValueAspectRatio):
Source/WTF:
Add an experimental preference for aspect-ratio.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
LayoutTests:
Adapt platform test expectations.
- platform/gtk/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
- 12:30 PM Changeset in webkit [269640] by
-
- 10 edits in trunk
REGRESSION (r269525): Many layout tests crash when run under ASan
https://bugs.webkit.org/show_bug.cgi?id=218733
<rdar://problem/71206273>
Reviewed by Tim Horton.
Source/WebCore:
When running tests under ASan, many layout tests crash under
Vector::asanBufferSizeWillChangeTo, which (when
ASan is enabled) will crash when the start of the buffer is misaligned to 8 bytes. When appendingDrawGlyph
display list items that have Vectors with inline capacities, the start of a buffer may end up at an offset that
is not aligned to 8 bytes, since all display list items are currently laid out back-to-back, with a single byte
to represent the item type and each item's data following immediately thereafter.
To address this, adjust display list item buffer logic to make sure that for each item that is appended to an
item buffer, both the item type and the item itself are aligned to 8 bytes.
- platform/graphics/displaylists/DisplayList.cpp:
(WebCore::DisplayList::DisplayList::iterator::updateCurrentItem):
- platform/graphics/displaylists/DisplayListItemBuffer.cpp:
(WebCore::DisplayList::ItemHandle::copyTo const):
(WebCore::DisplayList::ItemBuffer::swapWritableBufferIfNeeded):
(WebCore::DisplayList::ItemBuffer::appendEncodedData):
(WebCore::DisplayList::ItemBuffer::appendDataAndLength): Deleted.
- platform/graphics/displaylists/DisplayListItemBuffer.h:
(WebCore::DisplayList::ItemHandle::type const):
(WebCore::DisplayList::ItemHandle::get const):
(WebCore::DisplayList::ItemBuffer::append):
(WebCore::DisplayList::ItemBuffer::uncheckedAppend):
(WebCore::DisplayList::ItemHandle::size const): Deleted.
- platform/graphics/displaylists/DisplayListItemType.cpp:
(WebCore::DisplayList::sizeOfItemInBytes):
(WebCore::DisplayList::paddedSizeOfTypeAndItemInBytes):
Change
sizeOfItemInBytestopaddedSizeOfTypeAndItemInBytes, and make it include both the padded size of an
item type (8 bytes), the size of the item itself, and the minimum amount of padding after the item that's
required to make sure the total size is aligned to 8 bytes.
- platform/graphics/displaylists/DisplayListItemType.h:
Source/WebKit:
Construct the item 8 bytes after the handle offset, instead of 1 byte (also, add a FIXME indicating that we some
way of achieving this without requiring WebKit2 to be aware of an item handle's memory layout).
- GPUProcess/graphics/RemoteRenderingBackend.h:
(WebKit::RemoteRenderingBackend::decodeAndCreate):
Tools:
- TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
(TestWebKitAPI::TEST):
- 11:40 AM Changeset in webkit [269639] by
-
- 7 edits in trunk/Source/WebCore
[LFC][Integration] Move caret rect computation out of iterator
https://bugs.webkit.org/show_bug.cgi?id=218747
Reviewed by Zalan Bujtas.
Move it to RenderBlockFlow which it mostly deals with.
- layout/integration/LayoutIntegrationLineIterator.cpp:
(WebCore::LayoutIntegration::PathLine::computeCaretRect const): Deleted.
- layout/integration/LayoutIntegrationLineIterator.h:
(WebCore::LayoutIntegration::PathLine::selectionRect const):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::computeCaretRect const):
- rendering/RenderBlockFlow.h:
- rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::localCaretRect const):
- rendering/RenderText.cpp:
(WebCore::RenderText::localCaretRect const):
- 11:38 AM Changeset in webkit [269638] by
-
- 2 edits in branches/safari-611.1.5-branch/Source/WebKit
Cherry-pick r269610. rdar://problem/71247293
REGRESSION (r269557): ASSERTION FAILED: Completion handler should always be called under WebCore::HTMLMediaElement::exitFullscreen
https://bugs.webkit.org/show_bug.cgi?id=218722
Reviewed by Eric Carlson.
No new tests, covered by an existing test that is crashing on the bots.
- WebProcess/cocoa/VideoFullscreenManager.mm: (WebKit::VideoFullscreenManager::exitVideoFullscreenForVideoElement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269610 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:34 AM Changeset in webkit [269637] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r269407): ASSERTION FAILED: willBeComposited == needsToBeComposited(layer, queryData) in WebCore::RenderLayerCompositor::computeCompositingRequirements
https://bugs.webkit.org/show_bug.cgi?id=218723
<rdar://problem/71208603>
Unreviewed test gardening.
- platform/mac/TestExpectations: Skip plugins/quicktime-plugin-replacement.html, the plug-in
replacement is an iOS-only feature.
- 11:30 AM Changeset in webkit [269636] by
-
- 1 copy in branches/safari-611.1.5-branch
New branch.
- 11:21 AM Changeset in webkit [269635] by
-
- 14 edits in trunk
Fix for LayoutTests/accessibility/mac/search-predicate.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=218732
Reviewed by Chris Fleizach.
Source/WebCore:
Test: accessibility/mac/search-predicate.html.
- Implemented AXIsolatedObject::scrollXXX methods.
- Added handling of "AXIsOnScreen" attribute to WebAccessibilityOobjectWrapperMac.
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::performFunctionOnMainThread const):
(WebCore::AXIsolatedObject::scrollToMakeVisible const):
(WebCore::AXIsolatedObject::scrollToMakeVisibleWithSubFocus const):
(WebCore::AXIsolatedObject::scrollToGlobalPoint const):
(WebCore::AXIsolatedObject::performFunctionOnMainThread): Deleted.
(WebCore::AXIsolatedObject::isVisible const): Deleted.
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
Tools:
Exposed isOnScreen method to JS.
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::isOnScreen const):
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::isOnScreen const):
LayoutTests:
This test now passes in both isolated tree mode on and off.
- accessibility/mac/search-predicate.html:
- 11:20 AM Changeset in webkit [269634] by
-
- 2 edits in trunk/Tools
[build.webkit.org] Only upload to S3 when running on production server
https://bugs.webkit.org/show_bug.cgi?id=218755
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/steps.py:
(TransferToS3.doStepIf):
- 11:19 AM Changeset in webkit [269633] by
-
- 3 edits in trunk/Tools
[build.webkit.org] Update ExtractTestResults step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=218759
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/steps.py:
(ExtractTestResults): Making this step similar to corresponding EWS step. Also added name to this step to make it more readable (than MasterShellCommand).
(ExtractTestResults.init):
(ExtractTestResults.resultDirectoryURL):
(ExtractTestResults.start):
- CISupport/build-webkit-org/steps_unittest.py: Updated unit-tests to handle step name change.
- 11:15 AM Changeset in webkit [269632] by
-
- 6 edits2 adds in trunk
Crash when accessing OfflineAudioContext.length after failing to construct rendering AudioBuffer
https://bugs.webkit.org/show_bug.cgi?id=218754
<rdar://problem/71186978>
Reviewed by Eric Carlson.
Source/WebCore:
OfflineAudioContext.length should return the length passed to the constructor, even if we
failed to construct the internal AudioBuffer (and obviously we should not crash). This
matches the behavior of Firefox and Chrome.
I have also added a console message when we fail to construct the internal rendering
AudioBuffer, for clarity.
Test: webaudio/OfflineAudioContext/bad-buffer-length.html
- Modules/webaudio/OfflineAudioContext.cpp:
(WebCore::OfflineAudioContext::OfflineAudioContext):
(WebCore::OfflineAudioContext::create):
- Modules/webaudio/OfflineAudioContext.h:
LayoutTests:
Add layout test coverage and rebaseline a couple of tests now that a console message is logged.
- webaudio/OfflineAudioContext-bad-buffer-crash-expected.txt:
- webaudio/OfflineAudioContext/bad-buffer-length-expected.txt: Added.
- webaudio/OfflineAudioContext/bad-buffer-length.html: Added.
- webaudio/dom-exceptions-expected.txt:
- 11:10 AM Changeset in webkit [269631] by
-
- 11 edits3 copies3 adds in trunk
Add support for AudioConfiguration.spatialRendering
https://bugs.webkit.org/show_bug.cgi?id=218727
<rdar://problem/71213348>
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/mediacapabilities/mock-decodingInfo-spatialRendering.html
Add support for spatialRendring. On Cocoa ports, this will query AVAudioContext for spatial rendering support.
Drive-by fix: The AudioConfiguration.idl marks sampleRate, bitrate, and channels as optional; those need to
be reflected in the C++ struct.
- Modules/mediacapabilities/AudioConfiguration.idl:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::exernalDeviceDisplayNameForPlayer):
- platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.cpp:
(WebCore::createMediaPlayerDecodingConfigurationCocoa):
- platform/mediacapabilities/AudioConfiguration.h:
- platform/mediacapabilities/MediaCapabilitiesLogging.cpp:
(WebCore::toJSONObject):
- platform/mock/MediaEngineConfigurationFactoryMock.cpp:
(WebCore::canDecodeMedia):
(WebCore::canSmoothlyDecodeMedia):
(WebCore::canPowerEfficientlyDecodeMedia):
(WebCore::canSmoothlyEncodeMedia):
(WebCore::canPowerEfficientlyEncodeMedia):
Source/WebCore/PAL:
- PAL.xcodeproj/project.pbxproj:
- pal/avfoundation/OutputContext.h: Copied from Source/WebCore/platform/mediacapabilities/AudioConfiguration.h.
(PAL::OutputContext::platformContext const):
- pal/avfoundation/OutputContext.mm: Added.
(PAL::OutputContext::OutputContext):
(PAL::OutputContext::sharedAudioPresentationOutputContext):
(PAL::OutputContext::supportsMultipleOutputDevices):
(PAL::OutputContext::deviceName):
(PAL::OutputContext::outputDevices const):
- pal/avfoundation/OutputDevice.h: Copied from Source/WebCore/platform/mediacapabilities/AudioConfiguration.h.
(PAL::OutputDevice::platformDevice const):
- pal/avfoundation/OutputDevice.mm: Copied from Source/WebCore/platform/mediacapabilities/AudioConfiguration.h.
(PAL::OutputDevice::OutputDevice):
(PAL::OutputDevice::name const):
(PAL::OutputDevice::deviceFeatures const):
(PAL::OutputDevice::supportsSpatialAudio const):
- pal/spi/cocoa/AVFoundationSPI.h:
LayoutTests:
- media/mediacapabilities/mock-decodingInfo-spatialRendering-expected.txt: Added.
- media/mediacapabilities/mock-decodingInfo-spatialRendering.html: Added.
- 10:51 AM Changeset in webkit [269630] by
-
- 7 edits in trunk/Source
[GPUProcess] Regression(r268632) Garbage is rendered on speakers when using WebAudio
https://bugs.webkit.org/show_bug.cgi?id=218729
Reviewed by Eric Carlson.
Source/WebCore:
- platform/audio/cocoa/AudioDestinationCocoa.h:
- platform/mock/MockAudioDestinationCocoa.cpp:
(WebCore::MockAudioDestinationCocoa::start):
(WebCore::MockAudioDestinationCocoa::stop):
(WebCore::MockAudioDestinationCocoa::tick):
- platform/mock/MockAudioDestinationCocoa.h:
Make AudioDestinationCocoa::m_dispatchToRenderThread private so that subclasses cannot set it.
Update MockAudioDestinationCocoa to use m_dispatchToRenderThread to dispatch to the
render thread when available, instead of unconditionally dispatching to its own WorkQueue and
then expecting AudioDestinationCocoa::render() to render to the actual rendering thread.
Source/WebKit:
RemoteAudioDestinationProxy::requestBuffer() was calling AudioDestinationCocoa::render()
and expecting RemoteAudioDestinationProxy::renderOnRenderingThead() to get called as
a result. It would take care of writing to the CARingBuffer and sending the IPC back
to the GPU process in renderOnRenderingThead(). The issue was that AudioDestinationCocoa
uses a PushPullFIFO internally for buffering. It first fetches available frames from
the FIFO and then only calls renderOnRenderingThead() with the number of frames that
remain to processed (usually 0). As a result, RemoteAudioDestinationProxy::renderOnRenderingThead()
would often store 0 frames instead of 128 (or sometimes a number of frames less than
128), even though the full 128 frames were actually rendered.
To address the issue, stop overriding renderOnRenderingThead() in
RemoteAudioDestinationProxy. Instead, do the writing to the CARingBuffer and the IPC
response in RemoteAudioDestinationProxy::requestBuffer(), directly after calling
AudioDestinationCocoa::render(). After calling AudioDestinationCocoa::render()
we know that |framesToRender| frames have been rendered / added to the buffer.
- WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp:
(WebKit::RemoteAudioDestinationProxy::requestBuffer):
- WebProcess/GPU/media/RemoteAudioDestinationProxy.h:
- 9:28 AM Changeset in webkit [269629] by
-
- 2 edits in trunk/LayoutTests
[Debug] imported/w3c/web-platform-tests/html/canvas/element/path-objects/2d.path.ellipse.basics.html is asserting
https://bugs.webkit.org/show_bug.cgi?id=218671
Unreviewed test gardening.
- TestExpectations: Skip the test since it consistently crashes.
- 7:14 AM Changeset in webkit [269628] by
-
- 2 edits28 adds in trunk/LayoutTests/imported/w3c
[css-flex] Import image-as-flexitem-* WPT tests
https://bugs.webkit.org/show_bug.cgi?id=218746
Reviewed by Manuel Rego Casasnovas.
Import the image-as-flexitem-size-* tests which are useful to test the handling of replaced elements as
flex items and more in general, flex items with aspect ratios. We're currently failing a bunch of subtests
but since we're passing most of them, I'm uploading them with failed expectations. Follow-up patches
will fix the failing subtests.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-001-expected.txt: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-001.html: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-001v-expected.txt: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-001v.html: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-002-expected.txt: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-002.html: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-002v-expected.txt: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-002v.html: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-003-expected.txt: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-003.html: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-003v-expected.txt: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-003v.html: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-004-expected.txt: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-004.html: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-004v-expected.txt: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-004v.html: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-005-expected.txt: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-005.html: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-005v-expected.txt: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-005v.html: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-006-expected.txt: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-006.html: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-006v-expected.txt: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-006v.html: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-007-expected.txt: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-007.html: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-007v-expected.txt: Added.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-007v.html: Added.
- web-platform-tests/css/css-flexbox/w3c-import.log:
- 6:59 AM Changeset in webkit [269627] by
-
- 2 edits in trunk/Source/WebCore
[LFC][Integration] Allow object-fit
https://bugs.webkit.org/show_bug.cgi?id=218740
Reviewed by Zalan Bujtas.
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForChild):
- 6:58 AM Changeset in webkit [269626] by
-
- 29 edits2 copies3 moves27 adds1 delete in trunk/LayoutTests
[GTK][WPE] Rebaseline tests after r269510, r269598, r269600 and r269612.
Unreviewed GTK/WPE gardening.
- platform/gtk/editing/selection/simple-line-layout-caret-is-gone-expected.txt: Removed.
- platform/gtk/fast/dom/Window/window-lookup-precedence-expected.txt:
- platform/gtk/fast/repaint/focus-ring-repaint-expected.txt:
- platform/gtk/fast/table/005-expected.txt: Copied from LayoutTests/platform/glib/fast/table/005-expected.txt.
- platform/gtk/fast/table/unbreakable-images-quirk-expected.txt: Copied from LayoutTests/platform/glib/fast/table/unbreakable-images-quirk-expected.txt.
- platform/gtk/imported/w3c/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.zerosource-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.zerosource.image-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.zerosource.worker-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug2973-expected.txt: Renamed from LayoutTests/platform/glib/tables/mozilla/bugs/bug2973-expected.txt.
- platform/gtk/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
- platform/wpe/css3/filters/effect-brightness-clamping-expected.txt:
- platform/wpe/css3/filters/effect-brightness-clamping-hw-expected.txt:
- platform/wpe/css3/filters/effect-brightness-expected.txt:
- platform/wpe/css3/filters/effect-brightness-hw-expected.txt:
- platform/wpe/css3/filters/effect-combined-expected.txt:
- platform/wpe/css3/filters/effect-combined-hw-expected.txt:
- platform/wpe/css3/filters/effect-contrast-expected.txt:
- platform/wpe/css3/filters/effect-contrast-hw-expected.txt:
- platform/wpe/css3/filters/effect-drop-shadow-expected.txt:
- platform/wpe/css3/filters/effect-drop-shadow-hw-expected.txt:
- platform/wpe/css3/filters/effect-grayscale-expected.txt:
- platform/wpe/css3/filters/effect-grayscale-hw-expected.txt:
- platform/wpe/css3/filters/effect-hue-rotate-expected.txt:
- platform/wpe/css3/filters/effect-hue-rotate-hw-expected.txt:
- platform/wpe/css3/filters/effect-invert-expected.txt:
- platform/wpe/css3/filters/effect-invert-hw-expected.txt:
- platform/wpe/css3/filters/effect-opacity-expected.txt:
- platform/wpe/css3/filters/effect-opacity-hw-expected.txt:
- platform/wpe/css3/filters/effect-saturate-expected.txt:
- platform/wpe/css3/filters/effect-saturate-hw-expected.txt:
- platform/wpe/css3/filters/effect-sepia-expected.txt:
- platform/wpe/css3/filters/effect-sepia-hw-expected.txt:
- platform/wpe/fast/table/005-expected.txt: Renamed from LayoutTests/platform/glib/fast/table/005-expected.txt.
- platform/wpe/fast/table/unbreakable-images-quirk-expected.txt: Renamed from LayoutTests/platform/glib/fast/table/unbreakable-images-quirk-expected.txt.
- platform/wpe/imported/w3c/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.zerosource-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.zerosource.image-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.zerosource.worker-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-attribute-changes-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-empty-content-value-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-first-valid-applies-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-insert-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-no-content-value-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-presentational-hint-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-remove-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-remove-head-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-single-value-in-body-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-single-value-in-head-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-single-value-in-shadow-tree-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-pointer-expected.txt: Added.
- platform/wpe/tables/mozilla/bugs/bug101674-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug2973-expected.txt: Added.
- platform/wpe/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
- 5:30 AM Changeset in webkit [269625] by
-
- 2 edits in trunk/Tools
[GTK] [REGRESSSION(r269390) Several editing/ tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=218607
Reviewed by Adrian Perez de Castro.
After r269390 some of the internal preferences like LiveRangeSelectionEnabled
are not resetted to their default value on WTR between test runs.
So when a test changes some of this properties it may cause failures on
the next tests that will run on the same WTR process.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues): Add back the call to WKPreferencesResetAllInternalDebugFeatures() that was removed on r269390.
- 3:44 AM Changeset in webkit [269624] by
-
- 6 edits in trunk
align-self should be a discrete animatable property
https://bugs.webkit.org/show_bug.cgi?id=218742
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
- web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt:
- web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt:
- web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt:
Source/WebCore:
- animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- 3:35 AM Changeset in webkit [269623] by
-
- 9 edits in trunk
[Web Animations] KeyframeEffect.pseudoElement does not return a valid string when targeting ::marker or ::first-letter
https://bugs.webkit.org/show_bug.cgi?id=218741
<rdar://problem/71229846>
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Mark two new PASS results showing that KeyframeEffect.pseudoElement shows the correct value
when targeting ::marker or ::first-letter.
- web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt:
Source/WebCore:
We used to use PseudoElement::pseudoElementNameForEvents() to go from PseudoId to a String, but PseudoElement
only knows about ::before and ::after and not about valid pseudo-elements. We remove that method and create an
equivalent in WebAnimationUtilities that knows about all public pseudo-elements.
- animation/DeclarativeAnimation.cpp:
(WebCore::DeclarativeAnimation::enqueueDOMEvent):
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::pseudoElement const):
- animation/WebAnimationUtilities.cpp:
(WebCore::pseudoIdAsString):
- animation/WebAnimationUtilities.h:
- dom/PseudoElement.cpp:
(WebCore::PseudoElement::pseudoElementNameForEvents): Deleted.
- dom/PseudoElement.h:
- 1:28 AM Changeset in webkit [269622] by
-
- 3 edits4 adds in trunk
Scroll-snap on the root aligns to the body margin edge, not the viewport edge
https://bugs.webkit.org/show_bug.cgi?id=210476
<rdar://problem/61755103>
Patch by Martin Robinson <mrobinson@igalia.com> on 2020-11-10
Reviewed by Simon Fraser.
Source/WebCore:
When passing the frame viewport to updateSnapOffsetsForScrollableArea, be sure to put it
into the coordinate system of the root element padding box. This means offsetting it by the
margins of the root element.
Tests: tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal-with-margin.html
tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-with-margin.html
- page/FrameView.cpp:
(WebCore::FrameView::updateSnapOffsets): Offset viewport by top and left margins of the
root element.
LayoutTests:
Added tests for new behavior.
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal-with-margin-expected.txt: Added.
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal-with-margin.html: Added.
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-with-margin-expected.txt: Added.
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-with-margin.html: Added.
- 1:05 AM Changeset in webkit [269621] by
-
- 3 edits in trunk/Source/WebKit
[GTK4] WebView is flipped
https://bugs.webkit.org/show_bug.cgi?id=218354
Reviewed by Adrian Perez de Castro.
Stop painting y-flipped textures when buildig with GTK4.
- UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
(WebKit::AcceleratedBackingStoreWayland::snapshot):
- WebProcess/WebPage/libwpe/AcceleratedSurfaceLibWPE.h:
- 1:03 AM Changeset in webkit [269620] by
-
- 4 edits in trunk/Source/WebKit
[GTK] Crash in WebKit::DropTarget::drop
https://bugs.webkit.org/show_bug.cgi?id=217482
Reviewed by Michael Catanzaro.
If we don't have selection data when drop is called, just return early to let leave continue. Also change
accept() to receive the drop context and position to be set after leaving any previous operation.
- UIProcess/API/gtk/DropTarget.h:
- UIProcess/API/gtk/DropTargetGtk3.cpp:
(WebKit::DropTarget::DropTarget):
(WebKit::DropTarget::accept):
(WebKit::DropTarget::drop):
- UIProcess/API/gtk/DropTargetGtk4.cpp:
(WebKit::DropTarget::DropTarget):
(WebKit::DropTarget::accept):
- 12:59 AM Changeset in webkit [269619] by
-
- 2 edits in trunk/Tools
[GTK] MiniBrowser: add buttons to insert ordered/unordered lists to editor toolbar
https://bugs.webkit.org/show_bug.cgi?id=218648
Reviewed by Carlos Alberto Lopez Perez.
- MiniBrowser/gtk/BrowserWindow.c:
- 12:56 AM Changeset in webkit [269618] by
-
- 4 edits in trunk/Source/WebKit
[GTK][WPE] WEBKIT_PLUGIN_ERROR_WILL_HANDLE_LOAD returned when plugins are disabled
https://bugs.webkit.org/show_bug.cgi?id=216123
Reviewed by Adrian Perez de Castro.
Undeprecate webkit_plugin_error_quark and WEBKIT_PLUGIN_ERROR_WILL_HANDLE_LOAD, and update documentation.
- UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewLoadFail):
- UIProcess/API/gtk/WebKitError.h:
- UIProcess/API/wpe/WebKitError.h:
- 12:07 AM Changeset in webkit [269617] by
-
- 2 edits in trunk/Source/WebKit
Fix crashes when mapping shared display list item data into display lists in the GPU process
https://bugs.webkit.org/show_bug.cgi?id=218739
Reviewed by Tim Horton.
I added a "stop-gap" mechanism in r269525 to allow the GPU process to handle newly refactored display list
items by encoding display list items directly into shared memory buffers in the web process and reading them
back in the GPU process, using standard IPC messages only, and also without reusing any shared memory buffers.
However, I introduced a bug in this "stop-gap" mechanism when I tried to clean up some GPU-process-side logic
for unregistering these shared memory buffers in the GPU process, by taking shared memory buffers out of the
map in the GPU process without ensuring that they're kept alive over the course of applying the display list.
This code is going away soon anyways (see webkit.org/b/218426), but in the meantime, we should at least ensure
that this temporary shared memory mechanism doesn't cause huge waves of layout test failures.
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::applyDisplayList):
Nov 9, 2020:
- 11:42 PM Changeset in webkit [269616] by
-
- 4 edits in trunk/Source/WebCore
Exceptions under PlatformCALayerCocoa::drawLayerContents with DisplayList-backed layers
https://bugs.webkit.org/show_bug.cgi?id=218731
Reviewed by Simon Fraser.
No new tests; all tests will cover this once GPU Process for DOM rendering lands.
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(WebCore::PlatformCALayer::drawLayerContents):
Refactor this function to use three state savers, all released by scope instead of explicitly.
This fixes the bug in the title, which was that we would call +restoreGraphicsState on NSGraphicsContext
regardless of whether we have a platform context or not (while we'd only save if we /did/ have one).
- platform/graphics/ios/FontAntialiasingStateSaver.h:
(WebCore::FontAntialiasingStateSaver::~FontAntialiasingStateSaver):
(WebCore::FontAntialiasingStateSaver::restore): Deleted.
Make FontAntialiasingStateSaver behave like all of the other -StateSavers, performing "restore"
in its destructor.
- platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::drawWindowContent):
We don't have to restore explicitly anymore.
- 8:58 PM Changeset in webkit [269615] by
-
- 2 edits in trunk/WebDriverTests
[WebDriver] Gardening some WPE failures
Unreviewed test gardening.
- TestExpectations.json:
- 7:14 PM Changeset in webkit [269614] by
-
- 134 edits1 copy1 move in trunk/Source
[GPU Process] Control the life cycle of the platform image by a new class named NativeImage
https://bugs.webkit.org/show_bug.cgi?id=218427
Reviewed by Simon Fraser.
Source/WebCore:
This adds a new level of indirection around NativeImagePtr which is now
renamed PlatformImagePtr. The goal is to control the life cycle of the
PlatfromImagePtr in WebKit regardless if it is retained outside WebKit
or not. In future patches, deleting the NativeImage will be observed by
RemoteResoureCache such that it will be removed from the GPUP cache when
the object is destroyed in WebP.
The new structural hierarchy of the bitmap image is the following:
- CachedImage (responsible of receiving the encoded image data)
- BitmapImage (responsible of decoding the image data)
- NativeImage (represents an image frame and controls the life cycle of PlatformImagePtr in WebKit)
- PlatformImagePtr (represents a platform image and it is the result of ImageDecoder)
- NativeImage (represents an image frame and controls the life cycle of PlatformImagePtr in WebKit)
- BitmapImage (responsible of decoding the image data)
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::nativeImageForCurrentTime):
- html/HTMLVideoElement.h:
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::drawImage):
- page/mac/TextIndicatorWindow.mm:
(-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]):
(createContentCrossfadeAnimation):
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::BitmapImage):
(WebCore::BitmapImage::frameImageAtIndexCacheIfNeeded):
(WebCore::BitmapImage::nativeImage):
(WebCore::BitmapImage::nativeImageForCurrentFrame):
(WebCore::BitmapImage::preTransformedNativeImageForCurrentFrame):
(WebCore::BitmapImage::nativeImageOfSize):
(WebCore::BitmapImage::framesNativeImages):
(WebCore::drawNativeImage):
(WebCore::BitmapImage::draw):
- platform/graphics/BitmapImage.h:
- platform/graphics/ConcreteImageBuffer.h:
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawNativeImage):
- platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::drawPlatformImage):
- platform/graphics/GraphicsContextGLImageExtractor.h:
- platform/graphics/GraphicsContextImpl.h:
- platform/graphics/Icon.h:
- platform/graphics/Image.h:
(WebCore::Image::nativeImage):
(WebCore::Image::nativeImageForCurrentFrame):
(WebCore::Image::preTransformedNativeImageForCurrentFrame):
(WebCore::Image::nativeImageOfSize):
- platform/graphics/ImageBackingStore.h:
- platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::sinkIntoNativeImage):
- platform/graphics/ImageBuffer.h:
- platform/graphics/ImageBufferBackend.cpp:
(WebCore::ImageBufferBackend::sinkIntoNativeImage):
- platform/graphics/ImageBufferBackend.h:
- platform/graphics/ImageDecoder.h:
- platform/graphics/ImageFrame.cpp:
(WebCore::ImageFrame::clearImage):
(WebCore::ImageFrame::singlePixelSolidColor const):
- platform/graphics/ImageFrame.h:
(WebCore::ImageFrame::nativeImage const):
- platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::ImageSource):
(WebCore::ImageSource::setNativeImage):
(WebCore::ImageSource::cacheMetadataAtIndex):
(WebCore::ImageSource::cachePlatformImageAtIndex):
(WebCore::ImageSource::cachePlatformImageAtIndexAsync):
(WebCore::ImageSource::startAsyncDecodingQueue):
(WebCore::ImageSource::frameAtIndexCacheIfNeeded):
(WebCore::ImageSource::createFrameImageAtIndex):
(WebCore::ImageSource::frameImageAtIndex):
(WebCore::ImageSource::frameImageAtIndexCacheIfNeeded):
(WebCore::ImageSource::cacheNativeImageAtIndex): Deleted.
(WebCore::ImageSource::cacheNativeImageAtIndexAsync): Deleted.
- platform/graphics/ImageSource.h:
(WebCore::ImageSource::create):
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::nativeImageForCurrentTime):
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::nativeImageForCurrentTime):
- platform/graphics/NativeImage.cpp: Copied from Source/WebCore/platform/graphics/NativeImagePtr.h.
(WebCore::NativeImage::create):
(WebCore::NativeImage::NativeImage):
- platform/graphics/NativeImage.h:
(WebCore::NativeImage::platformImage const):
- platform/graphics/PlatformImage.h: Renamed from Source/WebCore/platform/graphics/NativeImagePtr.h.
- platform/graphics/VideoLayerManager.h:
- platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h:
- platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:
(WebCore::ImageDecoderAVFObjC::createFrameImageAtIndex):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoFullscreenInlineImage):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastImage):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::nativeImageForCurrentTime):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::nativeImageForCurrentTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateLastImage):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paintCurrentFrameInContext):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setVideoFullscreenLayer):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setVideoFullscreenLayer):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateCurrentFrameImage):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::paintCurrentFrameInContext):
- platform/graphics/avfoundation/objc/VideoLayerManagerObjC.h:
- platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm:
(WebCore::VideoLayerManagerObjC::setVideoFullscreenLayer):
(WebCore::VideoLayerManagerObjC::updateVideoFullscreenInlineImage):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateContentsImage):
- platform/graphics/ca/GraphicsLayerCA.h:
- platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::drawShadowLayerBuffer):
(WebCore::Cairo::drawShadowImage):
(WebCore::Cairo::fillShadowBuffer):
(WebCore::Cairo::drawPlatformImage):
(WebCore::Cairo::drawNativeImage): Deleted.
- platform/graphics/cairo/CairoOperations.h:
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawPlatformImage):
(WebCore::GraphicsContext::clipToImageBuffer):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::platformDrawNativeImage): Deleted.
- platform/graphics/cairo/GraphicsContextGLCairo.cpp:
(WebCore::GraphicsContextGLImageExtractor::extractImage):
- platform/graphics/cairo/GraphicsContextImplCairo.cpp:
(WebCore::GraphicsContextImplCairo::drawImageBuffer):
(WebCore::GraphicsContextImplCairo::drawNativeImage):
(WebCore::GraphicsContextImplCairo::drawPattern):
(WebCore::GraphicsContextImplCairo::clipToImageBuffer):
- platform/graphics/cairo/GraphicsContextImplCairo.h:
- platform/graphics/cairo/ImageBufferCairoBackend.cpp:
(WebCore::ImageBufferCairoBackend::draw):
(WebCore::ImageBufferCairoBackend::drawPattern):
- platform/graphics/cairo/ImageBufferCairoSurfaceBackend.cpp:
(WebCore::ImageBufferCairoSurfaceBackend::copyNativeImage const):
(WebCore::ImageBufferCairoSurfaceBackend::cairoSurfaceCoerceToImage const):
(WebCore::ImageBufferCairoSurfaceBackend::toBGRAData const):
- platform/graphics/cairo/ImageBufferCairoSurfaceBackend.h:
- platform/graphics/cairo/NativeImageCairo.cpp:
(WebCore::NativeImage::size const):
(WebCore::NativeImage::hasAlpha const):
(WebCore::NativeImage::singlePixelSolidColor const):
(WebCore::NativeImage::clearSubimages):
(WebCore::nativeImageSize): Deleted.
(WebCore::nativeImageHasAlpha): Deleted.
(WebCore::nativeImageSinglePixelSolidColor): Deleted.
(WebCore::drawNativeImage): Deleted.
(WebCore::clearNativeImageSubimages): Deleted.
- platform/graphics/cairo/PatternCairo.cpp:
(WebCore::Pattern::createPlatformPattern const):
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawPlatformImage):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::clipToImageBuffer):
(WebCore::GraphicsContext::platformDrawNativeImage): Deleted.
- platform/graphics/cg/GraphicsContextGLCG.cpp:
(WebCore::GraphicsContextGLImageExtractor::extractImage):
(WebCore::GraphicsContextGLOpenGL::paintToCanvas):
- platform/graphics/cg/ImageBufferCGBackend.cpp:
(WebCore::createBitmapImageAfterScalingIfNeeded):
(WebCore::ImageBufferCGBackend::copyImage const):
(WebCore::ImageBufferCGBackend::draw):
(WebCore::ImageBufferCGBackend::toCFData const):
- platform/graphics/cg/ImageBufferCGBitmapBackend.cpp:
(WebCore::ImageBufferCGBitmapBackend::copyNativeImage const):
- platform/graphics/cg/ImageBufferCGBitmapBackend.h:
- platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:
(WebCore::ImageBufferIOSurfaceBackend::copyNativeImage const):
(WebCore::ImageBufferIOSurfaceBackend::sinkIntoNativeImage):
(WebCore::ImageBufferIOSurfaceBackend::drawConsuming):
- platform/graphics/cg/ImageBufferIOSurfaceBackend.h:
- platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::ImageDecoderCG::createFrameImageAtIndex):
- platform/graphics/cg/ImageDecoderCG.h:
- platform/graphics/cg/NativeImageCG.cpp:
(WebCore::NativeImage::size const):
(WebCore::NativeImage::hasAlpha const):
(WebCore::NativeImage::singlePixelSolidColor const):
(WebCore::NativeImage::clearSubimages):
(WebCore::nativeImageSize): Deleted.
(WebCore::nativeImageHasAlpha): Deleted.
(WebCore::nativeImageSinglePixelSolidColor): Deleted.
(WebCore::clearNativeImageSubimages): Deleted.
- platform/graphics/cg/PatternCG.cpp:
(WebCore::Pattern::createPlatformPattern const):
- platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:
(WebCore::FilterEffectRendererCoreImage::imageForSourceGraphic):
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::DrawNativeImage::DrawNativeImage):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::DrawNativeImage::decode):
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::drawNativeImage):
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:
(WebCore::ImageDecoderGStreamer::createFrameImageAtIndex):
- platform/graphics/gstreamer/ImageDecoderGStreamer.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::nativeImageForCurrentTime):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- platform/graphics/gtk/ImageGtk.cpp:
(WebCore::BitmapImage::getGdkPixbuf):
(WebCore::BitmapImage::gdkTexture):
- platform/graphics/ios/IconIOS.mm:
(WebCore::Icon::Icon):
(WebCore::Icon::createIconForImage):
(WebCore::Icon::paint):
- platform/graphics/mac/ImageMac.mm:
(WebCore::BitmapImage::tiffRepresentation):
(WebCore::BitmapImage::snapshotNSImage):
- platform/graphics/nicosia/NicosiaImageBufferPipe.cpp:
(Nicosia::NicosiaImageBufferPipeSource::handle):
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::drawNativeImage):
(Nicosia::CairoOperationRecorder::drawPattern):
(Nicosia::CairoOperationRecorder::clipToImageBuffer):
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
- platform/graphics/texmap/BitmapTextureGL.cpp:
(WebCore::BitmapTextureGL::updateContents):
- platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::setContentsToImage):
- platform/graphics/texmap/GraphicsLayerTextureMapper.h:
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setContentsToImage):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
- platform/graphics/win/Direct2DOperations.cpp:
(WebCore::Direct2D::drawPlatformImage):
(WebCore::Direct2D::drawNativeImage): Deleted.
- platform/graphics/win/Direct2DOperations.h:
- platform/graphics/win/GraphicsContextDirect2D.cpp:
(WebCore::GraphicsContext::drawPlatformImage):
(WebCore::GraphicsContext::platformDrawNativeImage): Deleted.
- platform/graphics/win/GraphicsContextImplDirect2D.cpp:
(WebCore::GraphicsContextImplDirect2D::drawNativeImage):
- platform/graphics/win/GraphicsContextImplDirect2D.h:
- platform/graphics/win/ImageBufferDirect2DBackend.cpp:
(WebCore::ImageBufferDirect2DBackend::create):
(WebCore::ImageBufferDirect2DBackend::ImageBufferDirect2DBackend):
(WebCore::ImageBufferDirect2DBackend::copyNativeImage const):
(WebCore::createCroppedImageIfNecessary):
(WebCore::ImageBufferDirect2DBackend::copyImage const):
(WebCore::ImageBufferDirect2DBackend::sinkIntoImage):
(WebCore::ImageBufferDirect2DBackend::compatibleBitmap):
- platform/graphics/win/ImageBufferDirect2DBackend.h:
- platform/graphics/win/ImageCGWin.cpp:
(WebCore::BitmapImage::create):
(WebCore::BitmapImage::drawFrameMatchingSourceSize):
- platform/graphics/win/ImageCairoWin.cpp:
(WebCore::BitmapImage::drawFrameMatchingSourceSize):
- platform/graphics/win/ImageDecoderDirect2D.cpp:
(WebCore::ImageDecoderDirect2D::createFrameImageAtIndex):
- platform/graphics/win/ImageDecoderDirect2D.h:
- platform/graphics/win/NativeImageDirect2D.cpp:
(WebCore::NativeImage::size const):
(WebCore::NativeImage::hasAlpha const):
(WebCore::NativeImage::singlePixelSolidColor const):
(WebCore::NativeImage::clearSubimages):
(WebCore::nativeImageSize): Deleted.
(WebCore::nativeImageHasAlpha): Deleted.
(WebCore::nativeImageSinglePixelSolidColor): Deleted.
(WebCore::drawNativeImage): Deleted.
(WebCore::clearNativeImageSubimages): Deleted.
- platform/gtk/CursorGtk.cpp:
(WebCore::createCustomCursor):
- platform/gtk/DragImageGtk.cpp:
(WebCore::createDragImageFromImage):
- platform/image-decoders/ScalableImageDecoder.cpp:
(WebCore::ScalableImageDecoder::createFrameImageAtIndex):
- platform/image-decoders/ScalableImageDecoder.h:
- platform/image-decoders/cairo/ImageBackingStoreCairo.cpp:
(WebCore::ImageBackingStore::image const):
- platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp:
(WebCore::DisplayCaptureSourceCocoa::emitFrame):
- platform/mediastream/mac/DisplayCaptureSourceCocoa.h:
- platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
(WebCore::MockRealtimeVideoSourceMac::updateSampleBuffer):
- platform/win/DragImageCGWin.cpp:
(WebCore::createDragImageFromImage):
- platform/win/DragImageCairoWin.cpp:
(WebCore::createDragImageFromImage):
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintSystemPreviewBadge):
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::nativeImageForCurrentFrame):
(WebCore::SVGImage::nativeImage):
- svg/graphics/SVGImage.h:
- svg/graphics/SVGImageForContainer.cpp:
(WebCore::SVGImageForContainer::nativeImageForCurrentFrame):
- svg/graphics/SVGImageForContainer.h:
Source/WebKit:
- Scripts/webkit/messages.py:
- Shared/API/c/cg/WKImageCG.cpp:
(WKImageCreateFromCGImage):
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<Ref<NativeImage>>::encode):
(IPC::ArgumentCoder<Ref<NativeImage>>::decode):
(IPC::encodeNativeImage): Deleted.
(IPC::decodeNativeImage): Deleted.
(IPC::encodeOptionalNativeImage): Deleted.
(IPC::decodeOptionalNativeImage): Deleted.
(IPC::ArgumentCoder<NativeImagePtr>::encode): Deleted.
(IPC::ArgumentCoder<NativeImagePtr>::decode): Deleted.
- Shared/WebCoreArgumentCoders.h:
- Shared/cg/ShareableBitmapCG.cpp:
(WebKit::ShareableBitmap::createImage):
- Shared/win/ShareableBitmapDirect2D.cpp:
(WebKit::ShareableBitmap::paint):
- UIProcess/API/glib/IconDatabase.cpp:
(WebKit::IconDatabase::loadIconForPageURL):
(WebKit::IconDatabase::setIconForPageURL):
- UIProcess/API/glib/IconDatabase.h:
- UIProcess/ios/DragDropInteractionState.mm:
(WebKit::uiImageForImage):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _deliverDelayedDropPreviewIfPossible:]):
(uiImageForImage):
(-[WKContentView _handleDropByInsertingImagePlaceholders:session:]):
(-[WKContentView _presentationSnapshotForPreviewItemController:]):
- WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
(WebKit::ImageBufferShareableBitmapBackend::copyNativeImage const):
- WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::nativeImageForCurrentTime):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
- WebProcess/Plugins/PluginView.cpp:
(WebKit::isAlmostSolidColor):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didChooseFilesForOpenPanelWithDisplayStringAndIcon):
Source/WebKitLegacy/mac:
- DOM/DOM.mm:
(-[DOMNode getPreviewSnapshotImage:andRects:]):
- Misc/WebCache.mm:
(+[WebCache imageForURL:]):
- WebView/WebView.mm:
(-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]):
- 5:25 PM Changeset in webkit [269613] by
-
- 8 edits in branches/safari-610.3.7.1-branch/Source
Versioning.
WebKit-7610.3.7.1.3
- 4:29 PM Changeset in webkit [269612] by
-
- 70 edits78 deletes in trunk
Unexpose obsolete HTMLAppletElement interface
https://bugs.webkit.org/show_bug.cgi?id=218677
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline WPT tests now that more checks are passing.
- web-platform-tests/dom/nodes/getElementsByClassName-30-expected.txt:
- web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-03-expected.txt:
- web-platform-tests/html/dom/historical-expected.txt:
- web-platform-tests/html/semantics/interfaces-expected.txt:
Source/WebCore:
Drop support for HTMLAppletElement. This feature is obsolete and has been removed from
the HTML specification. The <applet> element was removed in Gecko 56 and Chrome 47
already.
No new tests, rebaselined existing tests.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSPluginElementFunctions.cpp:
- bindings/js/JSPluginElementFunctions.h:
- html/CachedHTMLCollection.h:
(WebCore::nameShouldBeVisibleInDocumentAll):
- html/GenericCachedHTMLCollection.cpp:
(WebCore::GenericCachedHTMLCollection<traversalType>::elementMatches const):
- html/HTMLAppletElement.cpp: Removed.
- html/HTMLAppletElement.h: Removed.
- html/HTMLAppletElement.idl: Removed.
- html/HTMLNameCollection.cpp:
(WebCore::WindowNameCollection::elementMatchesIfNameAttributeMatch):
(WebCore::DocumentNameCollection::elementMatchesIfIdAttributeMatch):
(WebCore::DocumentNameCollection::elementMatchesIfNameAttributeMatch):
- html/HTMLPlugInImageElement.h:
- html/HTMLTagNames.in:
- loader/EmptyClients.cpp:
- loader/EmptyFrameLoaderClient.h:
- loader/FrameLoaderClient.h:
- loader/SubframeLoader.cpp:
- loader/SubframeLoader.h:
- rendering/RenderEmbeddedObject.cpp:
- rendering/RenderEmbeddedObject.h:
Source/WebKit:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElement.cpp:
(webkit_dom_html_applet_element_dispatch_event):
(webkit_dom_html_applet_element_add_event_listener):
(webkit_dom_html_applet_element_remove_event_listener):
(webkit_dom_html_applet_element_get_align):
(webkit_dom_html_applet_element_set_align):
(webkit_dom_html_applet_element_get_alt):
(webkit_dom_html_applet_element_set_alt):
(webkit_dom_html_applet_element_get_archive):
(webkit_dom_html_applet_element_set_archive):
(webkit_dom_html_applet_element_get_code):
(webkit_dom_html_applet_element_set_code):
(webkit_dom_html_applet_element_get_code_base):
(webkit_dom_html_applet_element_set_code_base):
(webkit_dom_html_applet_element_get_height):
(webkit_dom_html_applet_element_set_height):
(webkit_dom_html_applet_element_get_hspace):
(webkit_dom_html_applet_element_set_hspace):
(webkit_dom_html_applet_element_get_name):
(webkit_dom_html_applet_element_set_name):
(webkit_dom_html_applet_element_get_object):
(webkit_dom_html_applet_element_set_object):
(webkit_dom_html_applet_element_get_vspace):
(webkit_dom_html_applet_element_set_vspace):
(webkit_dom_html_applet_element_get_width):
(webkit_dom_html_applet_element_set_width):
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPrivate.cpp:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
Source/WebKitLegacy/mac:
- DOM/DOMHTMLAppletElement.mm:
(-[DOMHTMLAppletElement align]):
(-[DOMHTMLAppletElement setAlign:]):
(-[DOMHTMLAppletElement alt]):
(-[DOMHTMLAppletElement setAlt:]):
(-[DOMHTMLAppletElement archive]):
(-[DOMHTMLAppletElement setArchive:]):
(-[DOMHTMLAppletElement code]):
(-[DOMHTMLAppletElement setCode:]):
(-[DOMHTMLAppletElement codeBase]):
(-[DOMHTMLAppletElement setCodeBase:]):
(-[DOMHTMLAppletElement height]):
(-[DOMHTMLAppletElement setHeight:]):
(-[DOMHTMLAppletElement hspace]):
(-[DOMHTMLAppletElement setHspace:]):
(-[DOMHTMLAppletElement name]):
(-[DOMHTMLAppletElement setName:]):
(-[DOMHTMLAppletElement object]):
(-[DOMHTMLAppletElement setObject:]):
(-[DOMHTMLAppletElement vspace]):
(-[DOMHTMLAppletElement setVspace:]):
(-[DOMHTMLAppletElement width]):
(-[DOMHTMLAppletElement setWidth:]):
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::redirectDataToPlugin):
Source/WebKitLegacy/win:
- WebCoreSupport/WebFrameLoaderClient.cpp:
- WebCoreSupport/WebFrameLoaderClient.h:
- WebFrame.cpp:
LayoutTests:
- dom/html/level2/html/HTMLAppletElement01-expected.txt: Removed.
- dom/html/level2/html/HTMLAppletElement01.html: Removed.
- dom/html/level2/html/HTMLAppletElement01.js: Removed.
- dom/html/level2/html/HTMLAppletElement02-expected.txt: Removed.
- dom/html/level2/html/HTMLAppletElement02.html: Removed.
- dom/html/level2/html/HTMLAppletElement02.js: Removed.
- dom/html/level2/html/HTMLAppletElement03-expected.txt: Removed.
- dom/html/level2/html/HTMLAppletElement03.html: Removed.
- dom/html/level2/html/HTMLAppletElement03.js: Removed.
- dom/html/level2/html/HTMLAppletElement04-expected.txt: Removed.
- dom/html/level2/html/HTMLAppletElement04.html: Removed.
- dom/html/level2/html/HTMLAppletElement04.js: Removed.
- dom/html/level2/html/HTMLAppletElement06-expected.txt: Removed.
- dom/html/level2/html/HTMLAppletElement06.html: Removed.
- dom/html/level2/html/HTMLAppletElement06.js: Removed.
- dom/html/level2/html/HTMLAppletElement07-expected.txt: Removed.
- dom/html/level2/html/HTMLAppletElement07.html: Removed.
- dom/html/level2/html/HTMLAppletElement07.js: Removed.
- dom/html/level2/html/HTMLAppletElement08-expected.txt: Removed.
- dom/html/level2/html/HTMLAppletElement08.html: Removed.
- dom/html/level2/html/HTMLAppletElement08.js: Removed.
- dom/html/level2/html/HTMLAppletElement09-expected.txt: Removed.
- dom/html/level2/html/HTMLAppletElement09.html: Removed.
- dom/html/level2/html/HTMLAppletElement09.js: Removed.
- dom/html/level2/html/HTMLAppletElement10-expected.txt: Removed.
- dom/html/level2/html/HTMLAppletElement10.html: Removed.
- dom/html/level2/html/HTMLAppletElement10.js: Removed.
- dom/html/level2/html/HTMLDocument08.html: Removed.
- dom/xhtml/level2/html/HTMLAppletElement01-expected.txt: Removed.
- dom/xhtml/level2/html/HTMLAppletElement01.js: Removed.
- dom/xhtml/level2/html/HTMLAppletElement01.xhtml: Removed.
- dom/xhtml/level2/html/HTMLAppletElement02-expected.txt: Removed.
- dom/xhtml/level2/html/HTMLAppletElement02.js: Removed.
- dom/xhtml/level2/html/HTMLAppletElement02.xhtml: Removed.
- dom/xhtml/level2/html/HTMLAppletElement03-expected.txt: Removed.
- dom/xhtml/level2/html/HTMLAppletElement03.js: Removed.
- dom/xhtml/level2/html/HTMLAppletElement03.xhtml: Removed.
- dom/xhtml/level2/html/HTMLAppletElement04-expected.txt: Removed.
- dom/xhtml/level2/html/HTMLAppletElement04.js: Removed.
- dom/xhtml/level2/html/HTMLAppletElement04.xhtml: Removed.
- dom/xhtml/level2/html/HTMLAppletElement06-expected.txt: Removed.
- dom/xhtml/level2/html/HTMLAppletElement06.js: Removed.
- dom/xhtml/level2/html/HTMLAppletElement06.xhtml: Removed.
- dom/xhtml/level2/html/HTMLAppletElement07-expected.txt: Removed.
- dom/xhtml/level2/html/HTMLAppletElement07.js: Removed.
- dom/xhtml/level2/html/HTMLAppletElement07.xhtml: Removed.
- dom/xhtml/level2/html/HTMLAppletElement08-expected.txt: Removed.
- dom/xhtml/level2/html/HTMLAppletElement08.js: Removed.
- dom/xhtml/level2/html/HTMLAppletElement08.xhtml: Removed.
- dom/xhtml/level2/html/HTMLAppletElement09-expected.txt: Removed.
- dom/xhtml/level2/html/HTMLAppletElement09.js: Removed.
- dom/xhtml/level2/html/HTMLAppletElement09.xhtml: Removed.
- dom/xhtml/level2/html/HTMLAppletElement10-expected.txt: Removed.
- dom/xhtml/level2/html/HTMLAppletElement10.js: Removed.
- dom/xhtml/level2/html/HTMLAppletElement10.xhtml: Removed.
- dom/xhtml/level2/html/HTMLDocument08.xhtml: Removed.
Drop outdated tests.
- fast/dom/HTMLDocument/document-special-properties-expected.txt:
- fast/dom/Window/element-constructors-on-window-expected.txt:
- fast/dom/Window/get-set-properties-expected.txt:
- fast/dom/Window/get-set-properties.html:
- fast/dom/Window/resources/window-properties.js:
- fast/dom/Window/window-lookup-precedence-expected.txt:
- fast/dom/Window/window-special-properties-expected.txt:
- fast/dom/document-all-expected.txt:
- fast/dom/document-all.html:
- fast/dom/dom-constructors-expected.txt:
- fast/dom/dom-constructors.html:
- fast/dom/element-attribute-js-null-expected.txt:
- fast/dom/element-attribute-js-null.html:
- fast/dom/html-collections-named-getter-expected.txt:
- fast/dom/html-collections-named-getter.html:
- fast/dom/htmlcollection-non-html-expected.txt:
- fast/dom/htmlcollection-non-html.html:
- fast/dom/plugin-attributes-enumeration-expected.txt:
- fast/dom/wrapper-classes-expected.txt:
- fast/dom/wrapper-classes.html:
- fast/frames/sandboxed-iframe-plugins-expected.txt:
- fast/frames/sandboxed-iframe-plugins.html:
- fast/text/text-combine-crash-expected.txt:
- http/tests/security/cross-frame-access-put-expected.txt:
- platform/mac-wk2/fast/dom/Window/window-lookup-precedence-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt:
Update / rebaseline existing tests to reflect behavior change.
- platform/wk2/TestExpectations:
Drop outdated tests.
- 3:49 PM Changeset in webkit [269611] by
-
- 2 edits in trunk/Tools
[build.webkit.org] Do not print master environment variables in build steps
https://bugs.webkit.org/show_bug.cgi?id=218711
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/steps.py:
(TransferToS3.init): Set logEnviron to False for newer buildbot.
(ExtractTestResults.init): Ditto.
- 3:48 PM Changeset in webkit [269610] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r269557): ASSERTION FAILED: Completion handler should always be called under WebCore::HTMLMediaElement::exitFullscreen
https://bugs.webkit.org/show_bug.cgi?id=218722
Reviewed by Eric Carlson.
No new tests, covered by an existing test that is crashing on the bots.
- WebProcess/cocoa/VideoFullscreenManager.mm:
(WebKit::VideoFullscreenManager::exitVideoFullscreenForVideoElement):
- 3:47 PM Changeset in webkit [269609] by
-
- 4 edits2 adds in trunk
Null dereference in CompositeEditCommand::splitTreeToNode() due to not checking for top of DOM tree
https://bugs.webkit.org/show_bug.cgi?id=218215
Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2020-11-09
Reviewed by Ryosuke Niwa.
Source/WebCore:
Add a check for a non-existent parent node when splitting a tree, and fix up
a caller to not pass a node without a parent node.
Test: editing/inserting/insert-list-in-iframe-in-list.html
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraphs):
- editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::unlistifyParagraph):
LayoutTests:
Add layout test that catches crash during insertion of a list inside an iframe
(that itself is inside of a list).
- editing/inserting/insert-list-in-iframe-in-list-expected.txt: Added.
- editing/inserting/insert-list-in-iframe-in-list.html: Added.
- 3:40 PM Changeset in webkit [269608] by
-
- 3 edits in trunk/Tools
[JSC] Enable bytecode cache testing in stress tests for Linux
https://bugs.webkit.org/show_bug.cgi?id=218072
Patch by Xan López <Xan Lopez> on 2020-11-09
Reviewed by Yusuke Suzuki.
We only need to tweak how we define the temporary dir for the
bytecode cache in order for stress tests to support bytecode cache
testing on Linux.
This is skipped on Linux/MIPS for now, since the bots are already
slow enough and we have one blocker bug with incorrect parameter
quoting on some tests. See bug #218703.
- Scripts/jsc-stress-test-helpers/bytecode-cache-test-helper.sh:
receive the temporary dir template as an argument. Also tweak the
script a bit so that it does not use arrays, that way it will work
in any POSIX shell.
- Scripts/run-jsc-stress-tests: pass a different temporary dir
template for Darwin and Linux, since mktemp works differently
there.
- 3:27 PM Changeset in webkit [269607] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: [ Mac ] media/video-buffering-allowed.html is flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=217621
Unreviewed test gardening.
- platform/mac/TestExpectationsRosetta:
- 3:11 PM Changeset in webkit [269606] by
-
- 10 edits in trunk/Source
Rename ImageBuffer::flushDisplayList to ImageBuffer::submitDisplayList
https://bugs.webkit.org/show_bug.cgi?id=218720
Reviewed by Tim Horton.
Source/WebCore:
Rename
flushDisplayListtosubmitDisplayList, to better capture the fact that it's only responsible for
applying the contents of the given display list rather than performing a context flush, or applying and clearing
out the contents of the given display list.
No change in behavior.
- platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::submitDisplayList):
(WebCore::ImageBuffer::flushDisplayList): Deleted.
Source/WebKit:
See Source/WebCore/ChangeLog for more details.
- GPUProcess/graphics/RemoteImageBuffer.h:
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::applyDisplayList):
(WebKit::RemoteRenderingBackend::submitDisplayList):
(WebKit::RemoteRenderingBackend::flushDisplayList): Deleted.
Additionally rename
flushDisplayListonRemoteRenderingBackend, since this IPC message doesn't actually
perform a context flush.
- GPUProcess/graphics/RemoteRenderingBackend.h:
- GPUProcess/graphics/RemoteRenderingBackend.messages.in:
- WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::submitDisplayList):
(WebKit::RemoteRenderingBackendProxy::flushDisplayList): Deleted.
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
- 2:54 PM Changeset in webkit [269605] by
-
- 39 edits1 add1 delete in trunk
Unreviewed, reverting r269603.
Needs Safari patch
Reverted changeset:
"Show legacy line layout visual coverage instead of "simple
line" layout."
https://bugs.webkit.org/show_bug.cgi?id=218695
https://trac.webkit.org/changeset/269603
- 2:49 PM Changeset in webkit [269604] by
-
- 2 edits in trunk/LayoutTests
[Mac] inspector/debugger/tail-deleted-frames/tail-deleted-frames-intermediate-frames.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=218725
Unreviewed test gardening.
- platform/mac/TestExpectationsRosetta:
- 2:28 PM Changeset in webkit [269603] by
-
- 39 edits1 copy1 delete in trunk
Show legacy line layout visual coverage instead of "simple line" layout.
https://bugs.webkit.org/show_bug.cgi?id=218695
Reviewed by Antti Koivisto.
Source/WebCore:
Paint legacy line layout content with the debug shadow instead of the modern one (and use red instead of blue).
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::paint):
(WebCore::LayoutIntegration::LineLayout::debugTextShadow): Deleted.
- layout/integration/LayoutIntegrationLineLayout.h:
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintMarkedTextForeground):
(WebCore::InlineTextBox::debugTextShadow):
- rendering/InlineTextBox.h:
Source/WebKit:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetLegacyLineLayoutVisualCoverageEnabled):
(WKPreferencesGetLegacyLineLayoutVisualCoverageEnabled):
(WKPreferencesSetSimpleLineLayoutDebugBordersEnabled): Deleted.
(WKPreferencesGetSimpleLineLayoutDebugBordersEnabled): Deleted.
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _legacyLineLayoutVisualCoverageEnabled]):
(-[WKPreferences _setLegacyLineLayoutVisualCoverageEnabled:]):
(-[WKPreferences _simpleLineLayoutDebugBordersEnabled]): Deleted.
(-[WKPreferences _setSimpleLineLayoutDebugBordersEnabled:]): Deleted.
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
Source/WebKitLegacy/mac:
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(-[WebPreferences legacyLineLayoutVisualCoverageEnabled]):
(-[WebPreferences setLegacyLineLayoutVisualCoverageEnabled:]):
(-[WebPreferences simpleLineLayoutDebugBordersEnabled]): Deleted.
(-[WebPreferences setSimpleLineLayoutDebugBordersEnabled:]): Deleted.
- WebView/WebPreferencesPrivate.h:
Source/WTF:
- Scripts/Preferences/WebPreferencesDebug.yaml:
Tools:
- MiniBrowser/mac/SettingsController.h:
- MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleLegacyLineLayoutVisualCoverageEnabled:]):
(-[SettingsController legacyLineLayoutVisualCoverageEnabled]):
(-[SettingsController toggleSimpleLineLayoutDebugBordersEnabled:]): Deleted.
(-[SettingsController simpleLineLayoutDebugBordersEnabled]): Deleted.
- MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController didChangeSettings]):
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController didChangeSettings]):
LayoutTests:
- fast/inline/simple-line-layout-16bit-content-expected-mismatch.html: Removed.
- fast/inline/simple-line-layout-16bit-content.html:
- fast/text/simple-line-layout-do-not-support-unicode-range-expected.html:
- fast/text/simple-line-layout-do-not-support-unicode-range.html:
- fast/text/simple-line-layout-line-box-contain-glyphs-expected.html:
- fast/text/simple-line-layout-line-box-contain-glyphs.html:
- fast/text/simple-line-layout-no-surrogate-pairs-expected.html:
- fast/text/simple-line-layout-no-surrogate-pairs.html:
- fast/text/simple-line-layout-simple-text-but-complex-font-path-expected.html:
- fast/text/simple-line-layout-simple-text-but-complex-font-path.html:
- fast/text/simple-line-layout-with-text-underline-position-expected.html:
- fast/text/simple-line-layout-with-text-underline-position.html:
- fast/text/simple-lines-float-expected.html:
- fast/text/simple-lines-float.html:
- fast/text/simple-lines-hover-expected.html:
- fast/text/simple-lines-hover.html:
- fast/text/simple-lines-multiple-renderers-expected.html:
- fast/text/simple-lines-multiple-renderers.html:
- 2:27 PM Changeset in webkit [269602] by
-
- 2 edits in trunk/Tools
[webkitpy] When platform is GTK or WPE, make lint-test-expectations lint GLIB too
https://bugs.webkit.org/show_bug.cgi?id=218691
Reviewed by Carlos Alberto Lopez Perez.
In the test expectations hierarchy, both GTK and WPE share a common
root, GLIB. It's not possible to lint GLIB test expectations as it's
not a platform with a builder associated. Thus, make lint-test-expectations
lint GLIB test expectations when linting GLIB or WPE.
- Scripts/webkitpy/layout_tests/lint_test_expectations.py:
(lint):
- 1:54 PM Changeset in webkit [269601] by
-
- 8 edits in trunk/Source/WebCore
[LFC Display] Implement background bleed avoidance, and border-radius clipping of backgrounds
https://bugs.webkit.org/show_bug.cgi?id=218713
Reviewed by Zalan Bujtas.
Make BoxDecorationPainter into a class so it can hold references to the box, rounded rect
etc, and settle on a policy of passing PaintingContext as an argument to all the painting
functions.
Add code to compute the BackgroundBleedAvoidance policy, and implement the various policies
following rendering code.
- display/css/DisplayBoxDecorationData.cpp:
(WebCore::Display::BorderEdge::obscuresBackgroundEdge const):
(WebCore::Display::BoxDecorationData::hasBorder const):
(WebCore::Display::BoxDecorationData::hasBorderRadius const):
(WebCore::Display::BoxDecorationData::borderObscuresBackground const):
(WebCore::Display::BoxDecorationData::borderObscuresBackgroundEdge const):
- display/css/DisplayBoxDecorationData.h:
(WebCore::Display::borderWidths):
- display/css/DisplayBoxDecorationPainter.cpp:
(WebCore::Display::BorderPainter::BorderPainter):
(WebCore::Display::roundedRectWithIncludedRadii):
(WebCore::Display::roundedInsetBorderForRect):
(WebCore::Display::BorderPainter::drawBoxSideFromPath const):
(WebCore::Display::BorderPainter::clipBorderSidePolygon const):
(WebCore::Display::BorderPainter::drawLineForBoxSide const):
(WebCore::Display::BorderPainter::paintOneBorderSide const):
(WebCore::Display::BorderPainter::paintBorderSides const):
(WebCore::Display::BorderPainter::paintTranslucentBorderSides const):
(WebCore::Display::shrinkRectByOneDevicePixel):
(WebCore::Display::BorderPainter::borderInnerRectAdjustedForBleedAvoidance const):
(WebCore::Display::BorderPainter::paintBorders const):
(WebCore::Display::BoxDecorationPainter::paintBorders const):
(WebCore::Display::BoxDecorationPainter::paintFillLayer const):
(WebCore::Display::BoxDecorationPainter::BoxDecorationPainter):
(WebCore::Display::BoxDecorationPainter::computeBorderRect):
(WebCore::Display::BoxDecorationPainter::paintBackgroundImages const):
(WebCore::Display::BoxDecorationPainter::backgroundRoundedRectAdjustedForBleedAvoidance const):
(WebCore::Display::BoxDecorationPainter::paintBackground const):
(WebCore::Display::BoxDecorationPainter::determineBackgroundBleedAvoidance):
(WebCore::Display::BoxDecorationPainter::paintBackgroundAndBorders const):
(): Deleted.
(WebCore::Display::BorderPainter::roundedBorderForRect const): Deleted.
(WebCore::Display::BorderPainter::roundedInsetBorderForRect const): Deleted.
(WebCore::Display::BoxDecorationPainter::paintBorders): Deleted.
(WebCore::Display::paintFillLayer): Deleted.
(WebCore::Display::BoxDecorationPainter::paintBackgroundImages): Deleted.
(WebCore::Display::BoxDecorationPainter::paintBackground): Deleted.
(WebCore::Display::BoxDecorationPainter::paintBackgroundAndBorders): Deleted.
- display/css/DisplayBoxDecorationPainter.h:
(WebCore::Display::BoxDecorationPainter::borderRoundedRect const):
(WebCore::Display::BoxDecorationPainter::includeLeftEdge const):
(WebCore::Display::BoxDecorationPainter::includeRightEdge const):
- display/css/DisplayBoxPainter.cpp:
(WebCore::Display::BoxPainter::paintBoxDecorations):
- display/css/DisplayStyle.cpp:
(WebCore::Display::Style::backgroundHasOpaqueTopLayer const):
- display/css/DisplayStyle.h:
- 1:41 PM Changeset in webkit [269600] by
-
- 62 edits in trunk
[LFC][Integration] Enable inline image support
https://bugs.webkit.org/show_bug.cgi?id=217874
Source/WebCore:
Reviewed by Antti Koivisto.
- layout/integration/LayoutIntegrationCoverage.cpp:
LayoutTests:
Combination of different issues:
- Do not retain the whitespace (new line) after the replaced content.
- Do not treat images+text as unbreakable content (neither FF nor Chrome does)
- Rounding differences.
Reviewed by Antti Koivisto.
- 1:28 PM Changeset in webkit [269599] by
-
- 4 edits in trunk
[TextureMapper] backdrop-filter should use the identity transform to render the root layer
https://bugs.webkit.org/show_bug.cgi?id=218699
Reviewed by Don Olmstead.
Source/WebCore:
Even thouth CSS reflections mirror the content, backdrop-filter in
the reflection doesn't. It sees through the background.
css3/filters/backdrop/backdrop-filter-with-reflection.html is the
test case.
- platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
(WebCore::TextureMapperLayer::paintIntoSurface):
(WebCore::TextureMapperLayer::paintWithIntermediateSurface):
Removed TextureMapperPaintOptions::isReplica.
LayoutTests:
- platform/glib/TestExpectations: Unmarked
css3/filters/backdrop/{backdrop-filter-with-reflection-add-backdrop.html,
backdrop-filter-with-reflection-value-change.html,backdrop-filter-with-reflection.html}
- 1:23 PM Changeset in webkit [269598] by
-
- 154 edits5 copies207 adds8 deletes in trunk/LayoutTests
Resync web-platform-tests/html tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=218670
Reviewed by Sam Weinig.
Resync web-platform-tests/html tests from upstream 7a287c9e26fbc12.
- resources/import-expectations.json:
- resources/resource-files.json:
- web-platform-tests/html/*: Updated.
- 1:18 PM Changeset in webkit [269597] by
-
- 2 edits in trunk/Source/JavaScriptCore
Add total counts to sampling profiler dump
https://bugs.webkit.org/show_bug.cgi?id=218666
Reviewed by Yusuke Suzuki.
This is nice for computing the approximate percentage of total time in a function.
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::reportTopFunctions):
(JSC::SamplingProfiler::reportTopBytecodes):
- 12:53 PM Changeset in webkit [269596] by
-
- 2 edits in trunk/Tools
[build.webkit.org] Use workersrc instead of slavesrc for new Buildbot
https://bugs.webkit.org/show_bug.cgi?id=218717
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/steps.py:
(UploadBuiltProduct.init): Used workersrc instead of slavesrc.
(UploadTestResults.init): Ditto.
(Run32bitJSCTests.start): Drive-by fix to use workerEnvironment instead of slaveEnvironment.
- 12:25 PM Changeset in webkit [269595] by
-
- 2 edits in trunk/Tools
[build.webkit.org] remove unused imports from loadConfig.py
https://bugs.webkit.org/show_bug.cgi?id=218718
Reviewed by Dewei Zhu.
- CISupport/build-webkit-org/loadConfig.py:
- 12:21 PM Changeset in webkit [269594] by
-
- 6 edits in trunk/LayoutTests
Remove experimental: and internal: prefixes from recently added tests
https://bugs.webkit.org/show_bug.cgi?id=218658
Reviewed by Devin Rousso.
The tests below were written before r269360. Since the experimental:
and internal: prefixes are no longer needed, they should be removed.
- contact-picker/contacts-select-after-dismissing-picker.html:
- contact-picker/contacts-select-while-presenting-picker.html:
- contact-picker/contacts-select.html:
- fast/scrolling/mac/overflow-scrollbars-toggle-dark-mode-expected.html:
- fast/scrolling/mac/overflow-scrollbars-toggle-dark-mode.html:
- 12:20 PM Changeset in webkit [269593] by
-
- 21 edits6 adds in trunk
[macOS] System sounds should be played in the UI process
https://bugs.webkit.org/show_bug.cgi?id=218405
Source/WebCore:
<rdar://problem/70898846>
Reviewed by Darin Adler.
In preparation of blocking the system sound server in the WebContent process, system sounds should be played in the UI process.
This patch creates a system sound manager, which delegates the sound request if a delegate is present, otherwise the function
PAL::systemBeep will be called.
API test: WebKit.SystemBeep
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- editing/Editor.cpp:
(WebCore::Editor::cut):
(WebCore::Editor::copy):
(WebCore::Editor::performDelete):
- editing/EditorCommand.cpp:
(WebCore::executeSelectToMark):
(WebCore::executeSwapWithMark):
- editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::takeFindStringFromSelection):
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::beep):
- platform/SystemSoundDelegate.h: Added.
(WebCore::SystemSoundDelegate::~SystemSoundDelegate):
(WebCore::SystemSoundDelegate::systemBeep):
- platform/SystemSoundManager.cpp: Added.
(WebCore::SystemSoundManager::singleton):
(WebCore::SystemSoundManager::setSystemSoundDelegate):
(WebCore::SystemSoundManager::systemBeep):
- platform/SystemSoundManager.h: Added.
- platform/audio/StereoPanner.cpp:
- testing/Internals.cpp:
(WebCore::Internals::systemBeep):
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit:
<rdar://problem/70898846>
Reviewed by Darin Adler.
Subclass SystemSoundDelegate, which will forward system sound requests to the UI process.
- Sources.txt:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::systemBeep):
- UIProcess/WebProcessProxy.h:
- UIProcess/WebProcessProxy.messages.in:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebSystemSoundDelegate.cpp: Added.
(WebKit::WebSystemSoundDelegate::systemBeep):
- WebProcess/WebSystemSoundDelegate.h: Added.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Tools:
Reviewed by Darin Adler.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/SystemBeep.mm: Added.
(TEST):
- 12:19 PM Changeset in webkit [269592] by
-
- 1 edit2 adds in trunk/LayoutTests
Add testcase for r269538
https://bugs.webkit.org/show_bug.cgi?id=218502
Patch by Rob Buis <rbuis@igalia.com> on 2020-11-09
Reviewed by Simon Fraser.
I forgot to add a testcase in r269538.
- fast/css/marquee-with-layer-display-inline-crash-expected.txt: Added.
- fast/css/marquee-with-layer-display-inline-crash.html: Added.
- 12:16 PM Changeset in webkit [269591] by
-
- 3 edits in trunk/Source/WebCore
Clean up some code after inline display list refactoring
https://bugs.webkit.org/show_bug.cgi?id=218714
Reviewed by Tim Horton.
See below for more details.
- platform/graphics/displaylists/DisplayListItems.h:
Remove a couple of extraneous
encode()anddecode()method declarations.
- platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::Replayer::replay):
Add a missing
++for this counter variable.
- 12:10 PM Changeset in webkit [269590] by
-
- 1 edit2 adds in trunk/JSTests
Add microbenchmark for FinalizationRegistry basic usage
https://bugs.webkit.org/show_bug.cgi?id=218667
Reviewed by Yusuke Suzuki.
The no unregister token benchmark runs in ~40ms and the unregister
token in ~25ms on my Mac Pro. Interestingly, it also shows that
using an unregister token make FinalizationRegistry ~4x slower
(total time is longer because the number of objects is 10x bigger
in the test). This is because we have to store all the data in a
HashMap<UnregisterToken, JSObject> rather than a Vector<JSObject>.
- microbenchmarks/finalizationRegistryCleanup.js: Added.
(async callback):
- microbenchmarks/finalizationRegistryCleanupWithUnregisterToken.js: Added.
(async callback):
- 11:31 AM Changeset in webkit [269589] by
-
- 2 edits in trunk/Source/WebKit
[Cocoa] Diagnostic service sandbox violation loading any webpage
https://bugs.webkit.org/show_bug.cgi?id=218710
<rdar://problem/71124931>
Reviewed by Alexey Proskuryakov.
Loading any Web page will cause a diagnostic service mach-lookup sandbox violation. Consume the extension to
the service as early as possible in WebProcess::platformInitializeWebProcess, since there are code paths in
this method which will try to access the diagnostic service.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 11:11 AM Changeset in webkit [269588] by
-
- 4 edits2 adds in trunk
[TextureMapper] The top and left sides of drop-shadow are clipped
https://bugs.webkit.org/show_bug.cgi?id=218647
Reviewed by Don Olmstead.
Source/WebCore:
TextureMapperLayer::computeOverlapRegions incorrectly calculated
the local bounding rect for top and left of outsets.
The drop-shadow was incorrectly blended with the content.
Test: compositing/filters/drop-shadow.html
- platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::computeOverlapRegions): Stopped
using std::max for the left and top of outsets. Stopped taking the
unite with unfilteredTargetRect because outsets are always
positive.
- platform/graphics/texmap/TextureMapperShaderProgram.cpp:
Fixed sourceOver().
LayoutTests:
- compositing/filters/drop-shadow-expected.html: Added.
- compositing/filters/drop-shadow.html: Added.
- 11:08 AM Changeset in webkit [269587] by
-
- 21 edits2 adds in trunk
autofocus of text input should not select text
https://bugs.webkit.org/show_bug.cgi?id=218585
<rdar://problem/60130704>
Reviewed by Wenson Hsieh.
Source/WebCore:
Test: fast/forms/input-text-autofocus.html
- dom/Document.h:
- history/CachedPage.cpp:
(WebCore::CachedPage::restore):
- html/HTMLInputElement.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateFocusAppearance):
(WebCore::HTMLInputElement::setDefaultSelectionAfterFocus):
(WebCore::HTMLInputElement::runPostTypeUpdateTasks):
(WebCore::HTMLInputElement::didAttachRenderers):
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::updateFocusAppearance):
- html/InputType.cpp:
(WebCore::InputType::accessKeyAction):
- page/EventHandler.cpp:
(WebCore::EventHandler::dispatchMouseEvent):
- page/FocusController.cpp:
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::FocusController::advanceFocusDirectionallyInContainer):
Slightly reworkSelectionRestorationModeto replaceSetDefaultwith two new values:
PlaceCaretAtStartputs the caret at the start, regardless of any cached selectionSelectAllselects all text, regardless of any cached selection (existing behavior)
In order to preserve existing behavior, the default
Restorewill have the same effect as
SelectAllif there is no cached selection (and is renamed toRestoreOrSelectAllas such).
- dom/Element.h:
- dom/Element.cpp:
(WebCore::Element::focus):
- html/HTMLLabelElement.h:
- html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::focus):
- html/HTMLLegendElement.h:
- html/HTMLLegendElement.cpp:
(WebCore::HTMLLegendElement::focus):
Replace thebool restorePreviousSelectionwithSelectionRestorationModesince that's
what it's eventually used for anyways. This also allows for more flexibility in behavior,
such as callers using the newSelectionRestorationModevalues.
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::didAttachRenderers):
Change toPlaceCaretAtStartto match other browsers.
Source/WebKit:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::restoreSelectionInFocusedEditableElement):
Slightly reworkSelectionRestorationModeto replaceSetDefaultwith two new values:
PlaceCaretAtStartputs the caret at the start, regardless of any cached selectionSelectAllselects all text, regardless of any cached selection (existing behavior)
In order to preserve existing behavior, the default
Restorewill have the same effect as
SelectAllif there is no cached selection (and is renamed toRestoreOrSelectAllas such).
LayoutTests:
- fast/forms/input-text-autofocus.html: Added.
- fast/forms/input-text-autofocus-expected.txt: Added.
- fast/forms/input-first-letter-edit.html:
- fast/forms/input-first-letter-edit-expected.html:
- 10:53 AM Changeset in webkit [269586] by
-
- 2 edits in trunk
Enable llint asm on aarch64 when USE(64KB_PAGE_BLOCK) is enabled
https://bugs.webkit.org/show_bug.cgi?id=218613
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-11-09
Reviewed by Carlos Alberto Lopez Perez.
Normally we fall back to cloop when JIT is not supported. But on aarch64, llint asm is well-
supported, so it is safe to use that here. This will only happen on aarch64, and only when
USE(64KB_PAGE_BLOCK) is enabled, which should probably only be used by RHEL and SUSE.
Everyone else should get the JIT.
- Source/cmake/WebKitFeatures.cmake:
- 10:30 AM Changeset in webkit [269585] by
-
- 3 edits in trunk/Source/WebCore
[LFC] Initialize border style correctly
https://bugs.webkit.org/show_bug.cgi?id=218712
Reviewed by Zalan Bujtas.
Tested by fast/events/drag-image-with-border-image.html with image integration enabled.
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::computedBorder const):
BorderValue::boxModelWidth() doesn't take non-color decorations into account.
Calling style.borderLeftWidth() and pals does the right thing.
- rendering/style/BorderValue.h:
(WebCore::BorderValue::style const):
(WebCore::BorderValue::boxModelWidth const): Deleted.
Remove this unneeded helper.
- 10:00 AM Changeset in webkit [269584] by
-
- 13 edits3 copies4 adds in trunk
[macOS] Set preference for overridden languages in the WebContent process after entering the sandbox.
https://bugs.webkit.org/show_bug.cgi?id=218097
Source/WebKit:
<rdar://problem/70586545>
Reviewed by Alexey Proskuryakov.
Currently, the preference for overridden languages in the WebContent process is set before entering the sandbox,
which leaves behind an open connection to opendirectoryd. This preference should be set after entering the
sandbox to avoid this. This patch sets the preference after the initialization function has been executed.
API test: WebKit.OverrideAppleLanguagesPreference
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(WebKit::setAppleLanguagesPreference):
(WebKit::XPCServiceEventHandler):
(WebKit::XPCServiceMain):
- WebProcess/com.apple.WebProcess.sb.in:
Source/WTF:
Reviewed by Alexey Proskuryakov.
Disable CFPrefs direct mode for older versions of macOS. In practice, it was already disabled since a mach connection to cfprefsd
was established before entering the sandbox on older versions on macOS, but that is fixed in this patch.
- wtf/PlatformEnableCocoa.h:
Tools:
Reviewed by Alexey Proskuryakov.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/AccessibilityReduceMotion.mm:
- TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm:
- TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm: Added.
(TEST):
- TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:
LayoutTests:
Reviewed by Alexey Proskuryakov.
Add test for sandbox access to cfprefsd.daemon, and mark cfprefsd tests as failing for Mojave and Catalina, since CFPrefs
direct mode is not enabled on those versions of macOS.
- fast/sandbox/mac/sandbox-mach-lookup-expected.txt:
- fast/sandbox/mac/sandbox-mach-lookup.html:
- platform/mac-catalina/fast/sandbox: Added.
- platform/mac-catalina/fast/sandbox/mac: Added.
- platform/mac-catalina/fast/sandbox/mac/sandbox-mach-lookup-expected.txt: Added.
- platform/mac-mojave/fast/sandbox: Added.
- platform/mac-mojave/fast/sandbox/mac: Added.
- platform/mac-mojave/fast/sandbox/mac/sandbox-mach-lookup-expected.txt: Added.
- 9:55 AM Changeset in webkit [269583] by
-
- 3 edits in trunk/Source/WebCore
[GTK] kinetic scroll speed should be cumulative
https://bugs.webkit.org/show_bug.cgi?id=203914
Reviewed by Carlos Garcia Campos.
Accumulate velocity in the same direction with ScrollAnimationKinetic.
- platform/ScrollAnimationKinetic.cpp:
(WebCore::ScrollAnimationKinetic::stop):
(WebCore::ScrollAnimationKinetic::start):
(WebCore::ScrollAnimationKinetic::animationTimerFired):
(WebCore::ScrollAnimationKinetic::deltaToNextFrame):
- platform/ScrollAnimationKinetic.h:
- 9:26 AM Changeset in webkit [269582] by
-
- 4 edits in trunk
Look at parents when event bubbles for input element activation behavior
https://bugs.webkit.org/show_bug.cgi?id=218660
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Rebaseline WPT test that is now fully passing.
- web-platform-tests/dom/events/Event-dispatch-click-expected.txt:
Source/WebCore:
When a click event is dispatched at a node that is not an HTMLInputElement, and if the
event bubbles, we should look up the tree to see if there is an HTMLInputElement that
we should trigger activation behavior for. Prevously, we were failing to do this.
The new behavior is consistent with Blink.
No new tests, rebaselined existing test.
- dom/EventDispatcher.cpp:
(WebCore::findInputElementInEventPath):
(WebCore::EventDispatcher::dispatchEvent):
- 8:41 AM Changeset in webkit [269581] by
-
- 6 edits in trunk/Tools
[build.webkit.org] Add python 3 support - part 3
https://bugs.webkit.org/show_bug.cgi?id=218706
Reviewed by Jonathan Bedard.
- CISupport/Shared/transfer-archive-to-s3: Updated print method to be both python 2 and 3 compatible.
- CISupport/built-product-archive: Ditto.
- CISupport/delete-stale-build-files: Ditto.
- CISupport/build-webkit-org/loadConfig.py: Removed unnecessary filter method.
- CISupport/ews-build/loadConfig.py: Ditto.
- 2:30 AM Changeset in webkit [269580] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed. Fix the build warning below since r269525.
warning: control reaches end of non-void function [-Wreturn-type]
No new tests, no new behaviors.
- WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
- 2:20 AM Changeset in webkit [269579] by
-
- 9 edits in trunk/Source/WebCore
[GTK][WPE] Scrolling with mouse wheel doesn't work on iframes with async scrolling enabled
https://bugs.webkit.org/show_bug.cgi?id=214179
Reviewed by Žan Doberšek.
Implement ScrollingTree::scrollingNodeForPoint in
ScrollingTreeNicosia. This fixes overflow and iframe scrolling when
async scrolling is enabled on WPE and GTK ports.
- page/scrolling/ThreadedScrollingTree.h:
- page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::commitStateBeforeChildren):
- page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.h:
- page/scrolling/nicosia/ScrollingTreeNicosia.cpp:
(WebCore::collectDescendantLayersAtPoint):
(WebCore::ScrollingTreeNicosia::scrollingNodeForPoint):
- page/scrolling/nicosia/ScrollingTreeNicosia.h:
- page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::commitStateBeforeChildren):
- page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.h:
- platform/graphics/nicosia/NicosiaPlatformLayer.h:
(Nicosia::CompositionLayer::flushState):
(Nicosia::CompositionLayer::accessPending):
- 2:19 AM Changeset in webkit [269578] by
-
- 4 edits in trunk
REGRESSION(r269503): [GTK][WPE] >200 tests are failing
https://bugs.webkit.org/show_bug.cgi?id=218654
<rdar://problem/71116949>
Reviewed by Žan Doberšek.
Source/WebCore:
Replace the NativeImagePtr calls with ImageBuffer::draw. With the
cairo implementation, in the cases where it's possible, it amounts to
the same thing, but the draw implementation also handles cases that
the previous patch didn't.
- platform/graphics/cairo/GraphicsContextImplCairo.cpp:
(WebCore::GraphicsContextImplCairo::drawImageBuffer):
LayoutTests:
Mark 5 canvas tests as passing.
- platform/glib/TestExpectations:
- 12:20 AM Changeset in webkit [269577] by
-
- 3 edits in trunk/Source/WebKit
[WPE] ScrollGestureController should only handle complete touch interactions
https://bugs.webkit.org/show_bug.cgi?id=218329
Reviewed by Carlos Garcia Campos.
ScrollGestureController's purpose is to handle otherwise-unhandled
touch events and translate those into a scrolling gesture.
Until now, it was possible for a touch motion event to trigger that
gesture even when the corresponding touch down event was not handled
by the ScrollGestureController, e.g. it was not produced due to the
touch interaction being started somewhere else, or the Web content
actually handled that event.
A flag is added to ScrollGestureController to track that an unhandled
touch down event was confronted, before allowing subsequent unhandled
touch motion events to trigger the scrolling gesture when conditions
are met. The flag is reset upon the touch up event.
- UIProcess/API/wpe/ScrollGestureController.cpp:
(WebKit::ScrollGestureController::handleEvent):
- UIProcess/API/wpe/ScrollGestureController.h: