Timeline
Mar 27, 2021:
- 8:26 PM Changeset in webkit [275146] by
-
- 3 edits in trunk/Source/WebKit
Have DisplayLink compute its displayNominalFramesPerSecond just once
https://bugs.webkit.org/show_bug.cgi?id=223845
Reviewed by Zalan Bujtas.
Rather than calling CVDisplayLinkGetNominalOutputVideoRefreshPeriod() every time,
just store displayNominalFramesPerSecond in a member variable.
- UIProcess/mac/DisplayLink.cpp:
(WebKit::DisplayLink::DisplayLink):
(WebKit::DisplayLink::nominalFramesPerSecondFromDisplayLink):
(WebKit::DisplayLink::nominalFramesPerSecond const): Deleted.
- UIProcess/mac/DisplayLink.h:
(WebKit::DisplayLink::nominalFramesPerSecond const):
- 8:22 PM Changeset in webkit [275145] by
-
- 2 edits1 add in trunk/Tools/buildstream
[Flatpak SDK] Backport GTK4 Clipboard fix for GdkContentProviderUnion
https://bugs.webkit.org/show_bug.cgi?id=223813
Reviewed by Philippe Normand.
From https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3346
Will fix some clipbaoard crashes.
- elements/sdk/gtk.bst:
- patches/gtk-clipboard-Fix-a-crash-when-GdkContentProviderUnion-d.patch: Added.
- 7:52 PM Changeset in webkit [275144] by
-
- 21 edits in trunk/Source
Allow DisplayRefreshMonitor to be more long-lived objects
https://bugs.webkit.org/show_bug.cgi?id=223844
Reviewed by Chris Dumez.
The existing behavior for DisplayRefreshMonitors was that they were created and destroyed
frequently, as their clients are registered and unregistered. In addition, some of
their subclasses had duplicated logic related to how often they fired without clients
before they were removed.
The 1:1 correspondance between DisplayRefreshMonitors and physical displays makes them
a useful place to store per-display information (like refresh rate), which should
persist whether or not they have clients, so this change prepares for that.
The main changes in this patch are:
- Provide virtual startNotificationMechanism()/stopNotificationMechanism() functions on DisplayRefreshMonitor that subclasses can use to start their CVDisplayLink or related functionality.
- Provide some shared maxUnscheduledFireCount logic that subclasses can tune to provide the hysteresis used to control the start/stop of the underlying notification mechanism.
- Provide a shared dispatchDisplayDidRefresh() function that most implementations can use.
Source/WebCore:
DisplayRefreshMonitorManager no longer destroys DisplayRefreshMonitors when they lose
all their clients. This means that DisplayRefreshMonitors are never removed, but there
should only ever be as many as there are physical displays, and they are only
active if being scheduled by clients.
- loader/EmptyClients.cpp:
- platform/graphics/DisplayRefreshMonitor.cpp:
(WebCore::DisplayRefreshMonitor::stop):
(WebCore::DisplayRefreshMonitor::removeClient):
(WebCore::DisplayRefreshMonitor::requestRefreshCallback):
(WebCore::DisplayRefreshMonitor::firedAndReachedMaxUnscheduledFireCount):
(WebCore::DisplayRefreshMonitor::displayLinkFired):
(WebCore::DisplayRefreshMonitor::dispatchDisplayDidRefresh):
(WebCore::DisplayRefreshMonitor::displayDidRefresh):
- platform/graphics/DisplayRefreshMonitor.h:
(WebCore::DisplayRefreshMonitor::setMaxUnscheduledFireCount):
(WebCore::DisplayRefreshMonitor::mutex):
(WebCore::DisplayRefreshMonitor::displayLinkFired): Deleted.
(WebCore::DisplayRefreshMonitor::stop): Deleted.
(WebCore::DisplayRefreshMonitor::shouldBeTerminated const): Deleted.
(WebCore::DisplayRefreshMonitor::isActive const): Deleted.
(WebCore::DisplayRefreshMonitor::setIsActive): Deleted.
- platform/graphics/DisplayRefreshMonitorManager.cpp:
(WebCore::DisplayRefreshMonitorManager::unregisterClient):
(WebCore::DisplayRefreshMonitorManager::displayDidRefresh):
(WebCore::DisplayRefreshMonitorManager::displayWasUpdated):
- platform/graphics/gtk/DisplayRefreshMonitorGtk.cpp:
(WebCore::DisplayRefreshMonitorGtk::~DisplayRefreshMonitorGtk):
(WebCore::onFrameClockUpdate):
(WebCore::DisplayRefreshMonitorGtk::stop):
(WebCore::DisplayRefreshMonitorGtk::startNotificationMechanism):
(WebCore::DisplayRefreshMonitorGtk::stopNotificationMechanism):
(WebCore::DisplayRefreshMonitorGtk::requestRefreshCallback): Deleted.
(WebCore::DisplayRefreshMonitorGtk::displayLinkFired): Deleted.
- platform/graphics/gtk/DisplayRefreshMonitorGtk.h:
- platform/graphics/ios/DisplayRefreshMonitorIOS.h:
- platform/graphics/ios/DisplayRefreshMonitorIOS.mm:
(-[WebDisplayLinkHandler setPaused:]):
(WebCore::DisplayRefreshMonitorIOS::DisplayRefreshMonitorIOS):
(WebCore::DisplayRefreshMonitorIOS::~DisplayRefreshMonitorIOS):
(WebCore::DisplayRefreshMonitorIOS::stop):
(WebCore::DisplayRefreshMonitorIOS::startNotificationMechanism):
(WebCore::DisplayRefreshMonitorIOS::stopNotificationMechanism):
(WebCore::DisplayRefreshMonitorIOS::requestRefreshCallback): Deleted.
(WebCore::DisplayRefreshMonitorIOS::displayLinkFired): Deleted.
- platform/graphics/mac/LegacyDisplayRefreshMonitorMac.cpp:
(WebCore::LegacyDisplayRefreshMonitorMac::LegacyDisplayRefreshMonitorMac):
(WebCore::LegacyDisplayRefreshMonitorMac::stop):
(WebCore::LegacyDisplayRefreshMonitorMac::dispatchDisplayDidRefresh):
(WebCore::LegacyDisplayRefreshMonitorMac::startNotificationMechanism):
(WebCore::LegacyDisplayRefreshMonitorMac::stopNotificationMechanism):
(WebCore::LegacyDisplayRefreshMonitorMac::requestRefreshCallback): Deleted.
(WebCore::LegacyDisplayRefreshMonitorMac::displayLinkFired): Deleted.
- platform/graphics/mac/LegacyDisplayRefreshMonitorMac.h:
- platform/graphics/win/DisplayRefreshMonitorWin.cpp:
(WebCore::DisplayRefreshMonitorWin::DisplayRefreshMonitorWin):
(WebCore::DisplayRefreshMonitorWin::startNotificationMechanism):
(WebCore::DisplayRefreshMonitorWin::stopNotificationMechanism):
(WebCore::DisplayRefreshMonitorWin::requestRefreshCallback): Deleted.
(WebCore::DisplayRefreshMonitorWin::displayLinkFired): Deleted.
- platform/graphics/win/DisplayRefreshMonitorWin.h:
Source/WebKit:
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp:
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.h:
- UIProcess/mac/DisplayLink.cpp:
(WebKit::DisplayLink::DisplayLink):
(WebKit::DisplayLink::~DisplayLink):
(WebKit::DisplayLink::addObserver):
(WebKit::DisplayLink::notifyObserversDisplayWasRefreshed):
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.h:
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.mm:
(WebKit::RemoteLayerTreeDisplayRefreshMonitor::requestRefreshCallback):
- WebProcess/WebPage/mac/DisplayRefreshMonitorMac.cpp:
(WebKit::DisplayRefreshMonitorMac::DisplayRefreshMonitorMac):
(WebKit::DisplayRefreshMonitorMac::~DisplayRefreshMonitorMac):
(WebKit::DisplayRefreshMonitorMac::dispatchDisplayDidRefresh):
(WebKit::DisplayRefreshMonitorMac::startNotificationMechanism):
(WebKit::DisplayRefreshMonitorMac::stopNotificationMechanism):
(WebKit::DisplayRefreshMonitorMac::requestRefreshCallback): Deleted.
(WebKit::DisplayRefreshMonitorMac::displayLinkFired): Deleted.
- WebProcess/WebPage/mac/DisplayRefreshMonitorMac.h:
- 5:40 PM Changeset in webkit [275143] by
-
- 2 edits in trunk/Source/WebCore
Don't add Frame as an opaque root of DOMWindow
https://bugs.webkit.org/show_bug.cgi?id=223838
Reviewed by Simon Fraser.
Don't add Frame as an opaque root of DOMWindow since we don't use Frame
as an opaque root of any JS wrappers since r248276.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::visitAdditionalChildren):
- 4:26 PM Changeset in webkit [275142] by
-
- 2 edits in trunk/Source/WebCore
UBSan: runtime error: load of value <unknown>, which is not a valid value for type 'const WebCore::RealtimeMediaSourceCapabilities::EchoCancellation'
<https://webkit.org/b/223821>
Reviewed by Chris Dumez.
Tests: fast/mediastream/MediaDevices-addEventListener.html
fast/mediastream/constraint-intrinsic-size.html
http/tests/media/media-stream/enumerate-devices-iframe-allow-attribute.html
http/tests/media/media-stream/get-display-media-iframe-allow-attribute.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-bitrate.https.html
webrtc/addICECandidate-closed.html
webrtc/ice-candidate-sdpMLineIndex.html
webrtc/libwebrtc/descriptionGetters.html
webrtc/peerconnection-page-cache.html
- platform/mediastream/RealtimeMediaSourceCapabilities.h:
(WebCore::CapabilityValueOrRange::union ValueUnion):
- Make asDouble the first union member so C++ member initializers set all memory.
(WebCore::CapabilityValueOrRange::m_minOrValue):
(WebCore::CapabilityValueOrRange::m_max):
(WebCore::CapabilityValueOrRange::m_type):
(WebCore::RealtimeMediaSourceCapabilities::m_echoCancellation):
- Provide member initializers. Setting a default value for m_echoCancellation fixes the bug.
(WebCore::RealtimeMediaSourceCapabilities::encode const):
- Drive-by clean-up of encoder statement.
- 3:34 PM Changeset in webkit [275141] by
-
- 7 edits in trunk/Source/WebCore
Fix build with ENABLE_CSS3_TEXT
https://bugs.webkit.org/show_bug.cgi?id=223841
Reviewed by Darin Adler.
We also remove the -webkit- prefix for the "hanging" and "each-line" keywords since
these are well specified by the CSS Text Module Level 3 spec.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSValueKeywords.in:
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeTextIndent):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::setTextIndentType):
(WebCore::RenderStyle::setTextAlignLast):
(WebCore::RenderStyle::setTextJustify):
- rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
- style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyValueTextIndent):
- 2:05 PM Changeset in webkit [275140] by
-
- 2 edits in trunk/Source/WTF
wtf/Vector.h:1276:88: runtime error: reference binding to null pointer of type 'const WebCore::Style::RuleFeature'
https://bugs.webkit.org/show_bug.cgi?id=223828
Reviewed by David Kilzer.
Fix issue found by UBSan in Vector::append(const U*, size_t):
wtf/Vector.h:1276:88: runtime error: reference binding to null pointer of type 'const WebCore::Style::RuleFeature'
wtf/Vector.h:1276:88: runtime error: reference binding to null pointer of type 'const WebCore::LayoutRect'
wtf/Vector.h:1276:88: runtime error: reference binding to null pointer of type 'const WTF::RefPtr<WebCore::CSSStyleSheet, WTF::RawPtrTraits<WebCore::CSSStyleSheet>, WTF::DefaultRefDerefTraits<WebCore::CSSStyleSheet> >'
- wtf/Vector.h:
(WTF::Malloc>::append):
Return early if dataSize is 0. For some call sites, the pointer may be null and dataSize is 0. In such cases,
we should just return early instead of proceeding and using the null pointer. I believe this can happen if
you call Vector::appendVector() with an empty Vector for example.
- 1:57 PM Changeset in webkit [275139] by
-
- 8 edits in branches/safari-612.1.7-branch/Source
Versioning.
WebKit-7612.1.7.11
- 1:54 PM Changeset in webkit [275138] by
-
- 8 edits in branches/safari-612.1.7-branch/Source
Versioning.
WebKit-7612.1.7.10
- 11:52 AM Changeset in webkit [275137] by
-
- 21 edits in trunk
PCM: Send report to both click source and attribution destination website
https://bugs.webkit.org/show_bug.cgi?id=223615
<rdar://problem/75849443>
Reviewed by Brent Fulgham.
Source/WebCore:
Introduce 2 new structs for storing the earliest time to send and
seconds until send for the source and destination sites.
- loader/PrivateClickMeasurement.cpp:
(WebCore::PrivateClickMeasurement::isValid const):
(WebCore::PrivateClickMeasurement::hasPreviouslyBeenReported):
(WebCore::randomlyBetweenTwentyFourAndFortyEightHours):
(WebCore::PrivateClickMeasurement::attributeAndGetEarliestTimeToSend):
- loader/PrivateClickMeasurement.h:
(WebCore::PrivateClickMeasurement::AttributionSecondsUntilSendData::hasValidSecondsUntilSendValues):
(WebCore::PrivateClickMeasurement::AttributionSecondsUntilSendData::minSecondsUntilSend):
(WebCore::PrivateClickMeasurement::AttributionSecondsUntilSendData::encode const):
(WebCore::PrivateClickMeasurement::AttributionSecondsUntilSendData::decode):
(WebCore::PrivateClickMeasurement::AttributionTimeToSendData::earliestTimeToSend):
(WebCore::PrivateClickMeasurement::AttributionTimeToSendData::latestTimeToSend):
(WebCore::PrivateClickMeasurement::AttributionTimeToSendData::attributionReportEndpoint):
(WebCore::PrivateClickMeasurement::AttributionTimeToSendData::encode const):
(WebCore::PrivateClickMeasurement::AttributionTimeToSendData::decode):
(WebCore::PrivateClickMeasurement::timesToSend const):
(WebCore::PrivateClickMeasurement::setTimesToSend):
(WebCore::PrivateClickMeasurement::encode const):
(WebCore::PrivateClickMeasurement::decode):
(WebCore::PrivateClickMeasurement::earliestTimeToSend const): Deleted.
(WebCore::PrivateClickMeasurement::setEarliestTimeToSend): Deleted.
Source/WebKit:
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
Move these queries to the correct INSERT OR REPLACE category. Stop
inserting null for earliestTimeToSendToDestination and starting
binding a parameter to it now that we are supporting reports to both
sites.
Now that earliestTimeToSend* can be null if a report has been sent
to a site, we need queries to set the value to null, and also need
to sort attributions by the minimum of either the two reporting times,
or the non-null time if one is null.
(WebKit::ResourceLoadStatisticsDatabaseStore::destroyStatements):
(WebKit::ResourceLoadStatisticsDatabaseStore::buildPrivateClickMeasurementFromDatabase):
(WebKit::ResourceLoadStatisticsDatabaseStore::insertPrivateClickMeasurement):
(WebKit::ResourceLoadStatisticsDatabaseStore::attributePrivateClickMeasurement):
We should not attribute a PCM value if it has already been reported to
either the source or destination. This is covered by checking
secondsUntilSend.hasValidSecondsUntilSendValues() and
previouslyAttributed.value().hasPreviouslyBeenReported() before
inserting anything into the attributed PCM table.
(WebKit::ResourceLoadStatisticsDatabaseStore::earliestTimesToSend):
(WebKit::ResourceLoadStatisticsDatabaseStore::markReportAsSentToSource):
(WebKit::ResourceLoadStatisticsDatabaseStore::markReportAsSentToDestination):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearSentAttribution):
Clear a value from the attributed table only if it has been sent to
both source and destination site. Otherwise, set the corresponding
attribution endpoint to null so we don't send it here again.
(WebKit::ResourceLoadStatisticsDatabaseStore::markAttributedPrivateClickMeasurementsAsExpiredForTesting):
For the sake of testing we can set the destination earliest time to
send to null. We are only confirming here that the expired attribution
gets sent.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::attributePrivateClickMeasurement):
(WebKit::WebResourceLoadStatisticsStore::clearSentAttribution):
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
- NetworkProcess/PrivateClickMeasurementManager.cpp:
(WebKit::PrivateClickMeasurementManager::storeUnattributed):
(WebKit::PrivateClickMeasurementManager::getTokenPublicKey):
We currently have no way of setting the destination token URL site for
testing. To avoid flakiness, we should not make a ping load for the
token URL if we are reporting to the destination in test mode.
(WebKit::PrivateClickMeasurementManager::attribute):
(WebKit::PrivateClickMeasurementManager::fireConversionRequest):
(WebKit::PrivateClickMeasurementManager::fireConversionRequestImpl):
(WebKit::PrivateClickMeasurementManager::clearSentAttribution):
(WebKit::PrivateClickMeasurementManager::firePendingAttributionRequests):
- NetworkProcess/PrivateClickMeasurementManager.h:
Tools:
Update API tests to check for a valid time to send for both the source
and destination site.
- TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
LayoutTests:
Layout test coverage.
- http/tests/privateClickMeasurement/resources/conversionFilePath.py:
- http/tests/privateClickMeasurement/resources/conversionReport.py:
- http/tests/privateClickMeasurement/resources/fraudPreventionTestURL.py:
- http/tests/privateClickMeasurement/resources/getConversionData.py:
- http/tests/privateClickMeasurement/send-attribution-conversion-request-expected.txt:
- http/tests/privateClickMeasurement/send-attribution-conversion-request.html:
- 11:31 AM Changeset in webkit [275136] by
-
- 2 edits in trunk/Source/WebKit
Remove DisplayRefreshMonitor::handleDisplayRefreshedNotificationOnMainThread()
https://bugs.webkit.org/show_bug.cgi?id=223837
Patch by Tyler Wilcock <Tyler Wilcock> on 2021-03-27
Reviewed by Simon Fraser.
Fixes build for GTK + WPE after
https://trac.webkit.org/changeset/275134/webkit.
Quoting that revision:
handleDisplayRefreshedNotificationOnMainThread() is an anachronism left over from
the non-main-thread nature of the CVDisplayLink callback. There's no need to burden
all subclasses of DisplayRefreshMonitor with that detail.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp:
(WebKit::ThreadedDisplayRefreshMonitor::invalidate):
(WebKit::ThreadedDisplayRefreshMonitor::displayRefreshCallback):
Replace call to DisplayRefreshMonitor::handleDisplayRefreshedNotificationOnMainThread(this)
with displayDidRefresh().
- 10:15 AM Changeset in webkit [275135] by
-
- 2 edits in trunk/Source/WebKit
Fix leaks in WKInspectorResourceURLSchemeHandler
<https://webkit.org/b/223824>
Reviewed by Joseph Pecoraro.
- UIProcess/Inspector/mac/WKInspectorResourceURLSchemeHandler.mm:
(-[WKInspectorResourceURLSchemeHandler webView:startURLSchemeTask:]):
- Make use of adoptNS() when assigning a newly allocated, +1 retained Objective-C object to a RetainPtr<>.
- Also fix leak of local NSHTTPURLResponse object by using a RetainPtr<>.
- 9:01 AM Changeset in webkit [275134] by
-
- 10 edits in trunk/Source
Remove DisplayRefreshMonitor::handleDisplayRefreshedNotificationOnMainThread()
https://bugs.webkit.org/show_bug.cgi?id=223837
Reviewed by Tim Horton.
Source/WebCore:
handleDisplayRefreshedNotificationOnMainThread() is an anachronism left over from
the non-main-thread nature of the CVDisplayLink callback. There's no need to burden
all subclasses of DisplayRefreshMonitor with that detail.
- platform/graphics/DisplayRefreshMonitor.cpp:
(WebCore::DisplayRefreshMonitor::displayDidRefresh):
(WebCore::DisplayRefreshMonitor::handleDisplayRefreshedNotificationOnMainThread): Deleted.
- platform/graphics/DisplayRefreshMonitor.h:
- platform/graphics/gtk/DisplayRefreshMonitorGtk.cpp:
(WebCore::DisplayRefreshMonitorGtk::displayLinkFired):
- platform/graphics/ios/DisplayRefreshMonitorIOS.mm:
(WebCore::DisplayRefreshMonitorIOS::displayLinkFired):
- platform/graphics/mac/LegacyDisplayRefreshMonitorMac.cpp:
(WebCore::LegacyDisplayRefreshMonitorMac::displayLinkFired):
- platform/graphics/win/DisplayRefreshMonitorWin.cpp:
(WebCore::DisplayRefreshMonitorWin::displayLinkFired):
Source/WebKit:
handleDisplayRefreshedNotificationOnMainThread() is an anachronism left over from
the non-main-thread nature of the CVDisplayLink callback. There's no need to burden
all subclasses of DisplayRefreshMonitor with that detail.
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.mm:
(WebKit::RemoteLayerTreeDisplayRefreshMonitor::didUpdateLayers):
- WebProcess/WebPage/mac/DisplayRefreshMonitorMac.cpp:
(WebKit::DisplayRefreshMonitorMac::displayLinkFired):
- 6:51 AM Changeset in webkit [275133] by
-
- 4 edits2 adds in trunk
[Multicolumn] Do not try to re-validate a multicol spanner when the renderer is moved internally
https://bugs.webkit.org/show_bug.cgi?id=223836
<rdar://75742694>
Reviewed by Ryosuke Niwa.
Source/WebCore:
When a renderer becomes a multicol spanner
- it is moved out of its original tree position and placed as a sibling of the enclosing multicolumn flow and
- a spanner placeholder is constructed and inserted at the original position
This patch fixes the case when an already placed multicol spanner is internally moved (e.g. collapsing an anonymous block parent)
and we attempt to re-insert this spanner to the multicolumn flow. No spanner state should change due to internal re-parenting.
Test: fast/multicol/spanner-get-re-added-on-move-crash.html
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::attachToRenderElementInternal):
LayoutTests:
- TestExpectations:
- fast/multicol/spanner-get-re-added-on-move-crash-expected.txt: Added.
- fast/multicol/spanner-get-re-added-on-move-crash.html: Added.
- 3:52 AM Changeset in webkit [275132] by
-
- 3 edits in trunk
REGRESSION(r275111) [GLIB] Fix build with new derived sources and forwarding headers scheme
https://bugs.webkit.org/show_bug.cgi?id=223834
Unreviewed build fix.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
Mar 26, 2021:
- 9:47 PM Changeset in webkit [275131] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
WebFeature class fails to copy/retain its instance variables
<https://webkit.org/b/223823>
Reviewed by Sam Weinig.
- WebView/WebFeature.m:
(-[WebFeature initWithKey:preferenceKey:name:details:defaultValue:hidden:]):
- Copy (and thereby retain) instance variables, fulfilling the promise of its @property declarations and preventing use-after-release issues.
(-[WebFeature dealloc]): Add.
- Release the instance variables copied in the constructor.
- 9:24 PM Changeset in webkit [275130] by
-
- 2 edits in trunk/Source/WebCore
Dirty layout for floating children of inline on full layout
https://bugs.webkit.org/show_bug.cgi?id=223660
Patch by Ian Gilbert <iang@apple.com> on 2021-03-26
Reviewed by Zalan Bujtas.
Avoid consuming an object on an empty line when that object is floating or out-of-flow.
- rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleEndOfLine):
- 8:52 PM Changeset in webkit [275129] by
-
- 2 edits in trunk/Source/WebCore
Avoid heap allocation on the audio thread in BaseAudioContext::scheduleNodeDeletion()
https://bugs.webkit.org/show_bug.cgi?id=223825
Reviewed by Darin Adler.
Avoid heap allocation on the audio thread in BaseAudioContext::scheduleNodeDeletion()
for performance. Stop calling appendVector() on m_nodesToDelete since m_nodesToDelete
is always empty. We can use std::exchange() instead of appendVector() and clear() to
avoid the heap allocation.
The reason m_nodesToDelete is always empty is that BaseAudioContext::scheduleNodeDeletion()
relies on the m_isDeletionScheduled flag to avoid adding to m_nodesToDelete until
m_nodesToDelete is cleared on the main thread and the m_isDeletionScheduled gets reset.
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::clear):
(WebCore::BaseAudioContext::scheduleNodeDeletion):
- 8:27 PM Changeset in webkit [275128] by
-
- 5 edits in trunk/Source
Web Inspector: Grid layout labels can be drawn outside the viewport
https://bugs.webkit.org/show_bug.cgi?id=221972
Reviewed by BJ Burg.
Source/WebCore:
Added logic for a best-effort attempt to make sure that layout labels are drawn within the document's bounds, or
at least within the grid itself. Labels are measured and adjusted so that if they would be drawn outside the
document's bounds, they will be pulled inside the grid. This does not guarantee that all labels will be visible
all the time. It is still possible an entire side of a grid will be outside the document's bounds, and this does
not attempt to correct for this case, as the desired anchor points for labels will be outside of the visible
area of the document.
- inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::fontForLayoutLabel):
- Added helper that creates the FontCascade for layout labels, which is done in a few different places.
(WebCore::InspectorOverlay::backgroundPathForLayoutLabel):
- Added helper to create the Path for the background of layout labels, which is now used in
WebKit::WKInspectorHighlightView.
(WebCore::expectedSizeForLayoutLabel):
- Gets the expected size of the label based on the text and arrow direction, and does so without needing to
create the entire label background's path.
(WebCore::InspectorOverlay::drawLayoutLabel):
- Support new
LabelArrowEdgePositionproperty
(WebCore::InspectorOverlay::drawGridOverlay):
(WebCore::buildLabel):
(WebCore::InspectorOverlay::buildGridOverlay):
- inspector/InspectorOverlay.h:
(WebCore::InspectorOverlay::Highlight::GridHighlightOverlay::Label::encode const):
(WebCore::InspectorOverlay::Highlight::GridHighlightOverlay::Label::decode):
Source/WebKit:
Add support for the new
WebCore::InspectorOverlay::LabelArrowEdgePositionproperty to grid overlays on iOS.
- UIProcess/Inspector/ios/WKInspectorHighlightView.mm:
(createLayoutLabelLayer):
- Support the new
WebCore::InspectorOverlay::LabelArrowEdgePosition. - Use new helpers in WebCore::InspectorOverlay to reduce code duplication.
(-[WKInspectorHighlightView _createGridOverlayLayer:scale:]):
- 8:09 PM Changeset in webkit [275127] by
-
- 4 edits in trunk
REGRESSION(r275111) [GLIB] Fix build with new derived sources and forwarding headers scheme
https://bugs.webkit.org/show_bug.cgi?id=223834
Unreviewed build fix.
.:
Buildfix for now. Actual removal of older scheme will come in the
future.
- Source/cmake/OptionsWPE.cmake: Add some missing variables with the
per framework source and header dirs.
Tools:
- TestWebKitAPI/glib/CMakeLists.txt: Add some missing variables with
needed include headers.
- 6:37 PM Changeset in webkit [275126] by
-
- 3 edits in trunk/Source/WebCore
[RenderTreeBuilder] No need to update the counters when the renderer is moved internally
https://bugs.webkit.org/show_bug.cgi?id=223801
<rdar://75835208>
Reviewed by Ryosuke Niwa.
When the renderer re-parenting is initiated by an "internal move" (e.g. anonymous block parent is not needed anymore so all the descendants
are moved "one level" up), we don't need to re-compute the counters. Their state should not be any different after this re-parenting.
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::attachToRenderElementInternal):
(WebCore::RenderTreeBuilder::move):
- rendering/updating/RenderTreeBuilder.h:
- 6:00 PM Changeset in webkit [275125] by
-
- 2 edits in trunk/Source/WTF
REGRESSION (r275038?): Perf test IndexedDB/stress/large-binary-keys.html failing with logging about memory pressure events
https://bugs.webkit.org/show_bug.cgi?id=223826
<rdar://problem/75906134>
Reviewed by Darin Adler.
Use RELEASE_LOG() instead of WTFLogAlways() to log memory pressure events, so that they don't
show on stdout in the performance tests and make them fail.
- wtf/cocoa/MemoryPressureHandlerCocoa.mm:
(WTF::MemoryPressureHandler::install):
- 5:56 PM Changeset in webkit [275124] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] inspector/debugger/csp-exceptions.html is a flakey text failure
https://bugs.webkit.org/show_bug.cgi?id=223830
Unreviewed test gardening.
- platform/mac/TestExpectations: Updated test expectations to Pass Failure Timeout while test is being reviewed. I added Timeout to the expectation because while the failure is a text failure, the text failure indicates that it's a timeout.
- 5:02 PM Changeset in webkit [275123] by
-
- 2 edits in trunk/Tools
Fix TypeError: Can't mix strings and bytes in path components in Tools/Scripts/dump-class-layout
https://bugs.webkit.org/show_bug.cgi?id=223819
Patch by Tyler Wilcock <Tyler Wilcock> on 2021-03-26
Reviewed by Jonathan Bedard.
Prior to this patch, I received this error when trying to run the
dump-class-layout script. This happens becausewebkit_build_dir()returns
bytes rather than a string.
$ dump-class-layout -c Release WebCore Pair
Traceback (most recent call last):
File "/home/twilco/projects/webkit/Tools/Scriptsdump-class-layout", line 88, in <module>
main()
File "/home/twilco/projects/webkit/Tools/Scriptsdump-class-layout", line 80, in main
target_path = os.path.join(build_dir, args.config, args.framework + ".framework", args.framework);
File "/usr/lib/python3.9/posixpath.py", line 90, in join
genericpath._check_arg_types('join', a, *p)
File "/usr/lib/python3.9/genericpath.py", line 155, in _check_arg_types
raise TypeError("Can't mix strings and bytes in path components") from None
TypeError: Can't mix strings and bytes in path components
- Scripts/dump-class-layout:
Update
webkit_build_dir()to decode its output into a UTF-8 string.
- 4:47 PM Changeset in webkit [275122] by
-
- 7 edits in trunk/Tools
System installing webkitcorepy can break certain scripts
https://bugs.webkit.org/show_bug.cgi?id=223822
<rdar://problem/75905163>
Rubber-stamped by Alan Coon.
- Scripts/libraries/resultsdbpy/resultsdbpy/example/environment.py:
- Scripts/test-lldb-webkit: Replace sys.path.append with sys.path.insert.
- Scripts/webkitpy/init.py: Only put webkitcorepy path into sys.path if it isn't already there.
- Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py:
Replace sys.path.append with sys.path.insert.
- Scripts/webkitpy/common/system/executive_unittest.py: Ditto.
- Scripts/webkitpy/port/config_standalone.py: Ditto.
- 4:32 PM Changeset in webkit [275121] by
-
- 2 edits in trunk/Source/WebCore
AX: crash at aom.apple.WebCore: WebCore::AccessibilityProgressIndicator::element const
https://bugs.webkit.org/show_bug.cgi?id=223800
rdar://75861367
Reviewed by Zalan Bujtas.
Prevent unintended renderer access.
No steps to reproduce were available, so a test was not able to be created.
- accessibility/AccessibilityProgressIndicator.cpp:
(WebCore::AccessibilityProgressIndicator::element const):
- 4:12 PM Changeset in webkit [275120] by
-
- 10 edits2 adds in trunk
Use PUICQuickboardController for text input when HAVE(QUICKBOARD_CONTROLLER) is defined
https://bugs.webkit.org/show_bug.cgi?id=223809
<rdar://problem/56730407>
Reviewed by Tim Horton.
Source/WebKit:
Enable
PUICQuickboardControllerby default, and remove a runtime preference that previously disabled this
feature by default whenHAVE(QUICKBOARD_CONTROLLER)is defined.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _updateTextInputTraits:]):
Add a couple of missing selector checks before attempting to configure smart quotes and smart dash editing
behaviors.
(-[WKContentView _createQuickboardController:]):
Additionally opt into a quickboard controller API to bypass the interstitial Quickboard view controller when
usingPUICQuickboardController.
(-[WKContentView presentViewControllerForCurrentFocusedElement]):
Remove a check for the (now-removed) preference.
Source/WTF:
Remove the
QuickboardControllerForTextInputEnabledWebKit preference, now that the feature is enabled by
default behind a build-time flag.
- Scripts/Preferences/WebPreferencesInternal.yaml:
LayoutTests:
Remove some extraneous instancees of
QuickboardControllerForTextInputEnabled=truefrom watch-specific layout
tests, now that the feature is enabled by default.
- fast/forms/watchos/delete-content-in-text-field.html:
- fast/forms/watchos/edit-text-field-calls-injected-bundle.html:
- fast/forms/watchos/enter-text-with-spellcheck-disabled-expected.txt: Added.
- fast/forms/watchos/enter-text-with-spellcheck-disabled.html: Added.
Add a new test to exercise the missing selector checks in
-[WKContentView _updateTextInputTraits:].
- fast/forms/watchos/form-control-label-text.html:
- fast/forms/watchos/time-picker-value-change.html:
- fast/forms/watchos/username-text-content-type.html:
- 4:10 PM Changeset in webkit [275119] by
-
- 5 edits in trunk/Tools
[webkit-patch] Use commit.webkit.org instead of remote SVN to compute identifier
https://bugs.webkit.org/show_bug.cgi?id=223820
<rdar://problem/75902125>
Reviewed by Dewei Zhu.
- Scripts/webkitpy/tool/commands/download_unittest.py:
(DownloadCommandsTest.mock_svn_remote): Replace mock Svn with mock requests.
- Scripts/webkitpy/tool/commands/upload_unittest.py:
- Scripts/webkitpy/tool/comments.py:
(bug_comment_from_svn_revision): Use commits.webkit.org instead of svn.webkit.org.
- Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
(CloseBugForLandDiffTest.test_empty_state): Replace mock Svn with mock requests.
- 3:41 PM Changeset in webkit [275118] by
-
- 2 edits in trunk/Source/WebCore
Source/WebCore/editing/cocoa/HTMLConverter.mm:1278:44: runtime error: member call on null pointer of type 'WebCore::ArchiveResource'
https://bugs.webkit.org/show_bug.cgi?id=223696
Reviewed by Alex Christensen.
Fix bug found by UBSan.
- editing/cocoa/HTMLConverter.mm:
(HTMLConverter::_addAttachmentForElement):
- Drop duplicate call to dataSource->subresource(url) as it doesn't seem it can return something else than null if it returned null the first time around.
- Make sure resource is null-checked before we dereference it to get the MIME type.
- 3:18 PM Changeset in webkit [275117] by
-
- 1 copy in tags/Safari-612.1.8
Tag Safari-612.1.8.
- 3:05 PM Changeset in webkit [275116] by
-
- 25 edits in trunk/Source/WebKit
Refactor NetworkSessionCocoa to prepare for per-WebPageProxy sessions
https://bugs.webkit.org/show_bug.cgi?id=223776
Reviewed by Alex Christensen.
No new tests (No behavior change refactor)
A NetworkSessionCocoa has (n) NSURLSessions associated with it.
When a network load needs to happen - based on the context for that load - the appropriate
NSURLSession is chosen (or created).
In a future patch, there will be an additional bit of context used for choosing the appropriate
NSURLSession - The WKWebView the load was triggered from.
This patch takes those (n) NSURLSessions and wraps them in a SessionSet object.
It also adds the concept of looking up the appropriate SessionSet based on the WebPageProxyIdentifier
triggering the load.
This patch by itself should not be a behavior change, but allows the followup to be much simpler.
- NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:
(WebKit::Download::resume):
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::createSocketChannel):
(WebKit::NetworkConnectionToWebProcess::establishSWContextConnection):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::create):
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::createWebSocketTask):
- NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::removeWebSocketTask):
(WebKit::NetworkSession::addWebSocketTask):
- NetworkProcess/NetworkSocketChannel.cpp:
(WebKit::NetworkSocketChannel::create):
(WebKit::NetworkSocketChannel::NetworkSocketChannel):
(WebKit::NetworkSocketChannel::~NetworkSocketChannel):
- NetworkProcess/NetworkSocketChannel.h:
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::WebSWServerToContextConnection):
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
- NetworkProcess/cocoa/NetworkSessionCocoa.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::hstsStorage const):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
(WebKit::NetworkSessionCocoa::initializeStandardSessionsInSet):
(WebKit::NetworkSessionCocoa::sessionSetForPage):
(WebKit::NetworkSessionCocoa::sessionSetForPage const):
(WebKit::NetworkSessionCocoa::initializeEphemeralStatelessSessionIfNeeded):
(WebKit::NetworkSessionCocoa::SessionSet::initializeEphemeralStatelessSessionIfNeeded):
(WebKit::NetworkSessionCocoa::sessionWrapperForTask):
(WebKit::NetworkSessionCocoa::appBoundSession):
(WebKit::NetworkSessionCocoa::hasAppBoundSession const):
(WebKit::NetworkSessionCocoa::clearAppBoundSession):
(WebKit::NetworkSessionCocoa::isolatedSession):
(WebKit::NetworkSessionCocoa::SessionSet::isolatedSession):
(WebKit::NetworkSessionCocoa::hasIsolatedSession const):
(WebKit::NetworkSessionCocoa::clearIsolatedSessions):
(WebKit::NetworkSessionCocoa::invalidateAndCancelSessionSet):
(WebKit::NetworkSessionCocoa::invalidateAndCancel):
(WebKit::NetworkSessionCocoa::createWebSocketTask):
(WebKit::NetworkSessionCocoa::addWebSocketTask):
(WebKit::NetworkSessionCocoa::removeWebSocketTask):
(WebKit::NetworkSessionCocoa::hostNamesWithAlternativeServices const):
(WebKit::NetworkSessionCocoa::deleteAlternativeServicesForHostNames):
(WebKit::NetworkSessionCocoa::clearAlternativeServices):
(WebKit::NetworkSessionCocoa::initializeEphemeralStatelessSession): Deleted.
- NetworkProcess/soup/NetworkSessionSoup.cpp:
(WebKit::NetworkSessionSoup::createWebSocketTask):
- NetworkProcess/soup/NetworkSessionSoup.h:
- Shared/AuxiliaryProcess.cpp:
(WebKit::AuxiliaryProcess::initialize):
- WebProcess/Network/WebSocketChannel.cpp:
(WebKit::WebSocketChannel::create):
(WebKit::WebSocketChannel::WebSocketChannel):
(WebKit::WebSocketChannel::connect):
- WebProcess/Network/WebSocketChannel.h:
- WebProcess/Network/WebSocketProvider.cpp:
(WebKit::WebSocketProvider::createWebSocketChannel):
- WebProcess/Network/WebSocketProvider.h:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::establishConnection):
(WebKit::WebSWContextManagerConnection::installServiceWorker):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_lastNavigationWasAppBound):
- 3:00 PM Changeset in webkit [275115] by
-
- 5 edits1 add in trunk
[JSC] Use AppleICU SPI for canonicalization
https://bugs.webkit.org/show_bug.cgi?id=223552
Reviewed by Ryosuke Niwa.
JSTests:
- stress/intl-canonical-locale-alias-mapping.js: Added.
(shouldBe):
(Intl.getCanonicalLocales):
Source/JavaScriptCore:
uloc_canonicalize does not perform alias mapping. This is different from ECMA402's canonicalization requirement.
ICU C++ icu::Locale can canonicalize locale ID with alias mapping, but this is not exposed to C API.
In this patch, we adopt AppleICU SPI "ualoc_canonicalForm" added in rdar://74314220. This canonicalization can perform
alias mapping too. We do not extend uloc_canonicalize since this API explicitly says "It does NOT map aliased names in any way."[1].
In [2], we are tracking upstreaming of this new SPI. Once it is upstreamed to the mainline ICU, we will switch to that.
[1]: https://unicode-org.github.io/icu-docs/apidoc/dev/icu4c/uloc_8h.html#a69b148194cf57ac40d4bb15c5b905260
[2]: https://unicode-org.atlassian.net/browse/ICU-21506
- runtime/IntlLocale.cpp:
(JSC::LocaleIDBuilder::initialize):
(JSC::LocaleIDBuilder::toCanonical):
- runtime/IntlObject.cpp:
(JSC::localeIDBufferForLanguageTagWithNullTerminator):
(JSC::canonicalizeLanguageTag):
(JSC::canonicalizeLocaleIDWithoutNullTerminator):
(JSC::localeIDBufferForLanguageTag): Deleted.
- runtime/IntlObject.h:
- 2:28 PM Changeset in webkit [275114] by
-
- 1 copy in releases/WPE WebKit/webkit-2.32.0
WPE WebKit 2.32.0
- 2:27 PM Changeset in webkit [275113] by
-
- 4 edits in releases/WebKitGTK/webkit-2.32
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.32.0 release
.:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
Source/WebKit:
- wpe/NEWS: Add release notes for 2.32.0
- 2:23 PM Changeset in webkit [275112] by
-
- 12 edits4 adds in trunk
Allow some image overlay content to render in fully transparent image elements
https://bugs.webkit.org/show_bug.cgi?id=223781
<rdar://problem/75886351>
Reviewed by Tim Horton.
Source/WebCore:
Introduce
ImageOverlayController, and use it to render selections in image overlay content when the image
overlay's host element is fully transparent.
Test: fast/images/image-extraction/mac/select-word-in-transparent-image-overlay.html
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/Document.cpp:
(WebCore::Document::willBeRemovedFromFrame):
Add plumbing to allow
ImageOverlayControllerto uninstall itsPageOverlaywhen the document is about to be
detached. SeeImageOverlayController::below.
- editing/SelectionRectGatherer.cpp:
(WebCore::SelectionRectGatherer::Notifier::~Notifier):
Have
SelectionRectGatherernotify the image overlay controller as well, when selection rects change.
- page/ChromeClient.h:
(WebCore::ChromeClient::needsImageOverlayControllerForSelectionPainting const):
Add a new client hook that returns whether or not we should use
ImageOverlayControllerto paint selections.
If not (i.e. we're on iOS, where we use UIKit to draw selections in the UI process), then we'll never install
page overlays, sinceselectionRectsDidChangeis effectively a no-op.
- page/ImageOverlayController.cpp: Added.
(WebCore::ImageOverlayController::ImageOverlayController):
(WebCore::ImageOverlayController::selectionRectsDidChange):
When selection rects change, if the selection is inside an image overlay whose host is completely transparent
(or very close to being completely transparent), then remember the selection rects along with the renderer's
background color, and use this to render selection highlights separately, in aPageOverlay.
(WebCore::ImageOverlayController::documentDetached):
If the
Documentcontaining the current rendered overlay selection is detached, immediately uninstall the
currentPageOverlay. This ensures that the overlays don't persist through navigation.
(WebCore::ImageOverlayController::installPageOverlayIfNeeded):
(WebCore::ImageOverlayController::uninstallPageOverlayIfNeeded):
Helper methods to add or remove the
PageOverlayfrom the currentPage.
(WebCore::ImageOverlayController::willMoveToPage):
Uninstall the current page overlay if needed.
(WebCore::ImageOverlayController::drawRect):
Use the information stored in
ImageOverlayController::selectionRectsDidChangeto render custom selection
rects.
- page/ImageOverlayController.h: Added.
- page/Page.cpp:
- page/Page.h:
Add an
ImageOverlayControllerto thePage.
(WebCore::Page::imageOverlayController):
Source/WebKit:
Implement a new chrome client hook. See WebCore ChangeLog for more information.
- WebProcess/WebCoreSupport/WebChromeClient.h:
LayoutTests:
Adjust an existing layout test so that it actually checks what it was intended to check; add a new layout test
to cover the changes in this bug.
- fast/images/image-extraction/mac/select-word-in-draggable-image-overlay.html:
Drive-by fix: remove some extraneous imported scripts from this layout test, and additionally simplify the test
so that it doesn't rely on event sender to select text.
- fast/images/image-extraction/mac/select-word-in-transparent-image-overlay-expected-mismatch.html: Added.
- fast/images/image-extraction/mac/select-word-in-transparent-image-overlay.html: Added.
Add a new layout test with a fully transparent image element that covers a div of the same size, with a
background image that is identical to the image element's image. This emulates the behavior of certain websites
that prompted this fallback image overlay rendering codepath in the first place.
- 1:37 PM Changeset in webkit [275111] by
-
- 27 edits in trunk
[CMake] Deprecate using DERIVED_SOURCES_DIR/FOWARDING_HEADERS_DIR directly
https://bugs.webkit.org/show_bug.cgi?id=223763
Reviewed by Michael Catanzaro.
.:
Remove any usages of DERIVED_SOURCES_DIR and FOWARDING_HEADERS_DIR. There are still some
uses in GTK/WPE but those should be phased out.
Sets the directory structure to look like an Apple build in terms of where headers and
derived sources are held. Rather than having one root derived sources and one root
header directory those directories are now per project. This helps catch any errors with
header includes.
Deletes some old Mac CMake code that is no longer relevant around creating forwarding
headers.
For AppleWin the old structure is used because of its internal build which assumes the
old structure.
- Source/cmake/OptionsAppleWin.cmake:
- Source/cmake/OptionsFTW.cmake:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsPlayStation.cmake:
- Source/cmake/OptionsWPE.cmake:
- Source/cmake/OptionsWinCairo.cmake:
- Source/cmake/WebKitCommon.cmake:
- Source/cmake/WebKitFS.cmake:
- Source/cmake/WebKitMacros.cmake:
Source/JavaScriptCore:
Remove any usages of DERIVED_SOURCES_DIR and FOWARDING_HEADERS_DIR.
- CMakeLists.txt:
- PlatformMac.cmake:
Source/WebCore:
Remove any usages of DERIVED_SOURCES_DIR and FOWARDING_HEADERS_DIR.
- PlatformFTW.cmake:
- PlatformWin.cmake:
Source/WebKit:
Remove any usages of DERIVED_SOURCES_DIR and FOWARDING_HEADERS_DIR.
- PlatformGTK.cmake:
- PlatformMac.cmake: Remove creation of forwarding headers.
Source/WebKitLegacy:
Remove any usages of DERIVED_SOURCES_DIR and FOWARDING_HEADERS_DIR.
- PlatformMac.cmake:
Tools:
Remove any usages of DERIVED_SOURCES_DIR and FOWARDING_HEADERS_DIR.
- DumpRenderTree/PlatformMac.cmake:
- MiniBrowser/gtk/CMakeLists.txt:
- MiniBrowser/mac/CMakeLists.txt:
- WebKitTestRunner/PlatformMac.cmake:
- wpe/backends/CMakeLists.txt:
- 1:07 PM Changeset in webkit [275110] by
-
- 5 edits in trunk/Tools
[MiniBrowser] Remove redundant "Disable Simple Line Layout" menu item
https://bugs.webkit.org/show_bug.cgi?id=223812
Reviewed by Simon Fraser.
SLL was replaced by IFC integration a while ago.
- MiniBrowser/mac/SettingsController.h:
- MiniBrowser/mac/SettingsController.m:
(-[SettingsController initWithMenu:]):
(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleSimpleLineLayoutEnabled:]): Deleted.
(-[SettingsController simpleLineLayoutEnabled]): Deleted.
- MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController didChangeSettings]):
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController didChangeSettings]):
- 1:05 PM Changeset in webkit [275109] by
-
- 6 edits in trunk/Source
[JSC] Use new Apple ICU APIs to avoid C++ ICU API usage
https://bugs.webkit.org/show_bug.cgi?id=223783
<rdar://problem/75060240>
Reviewed by Mark Lam.
Source/JavaScriptCore:
This patch adopts ICU 69's draft APIs to avoid using ICU C++ APIs in newer macOS build.
AppleICU adopts these draft APIs so that we can use it even in ICU 68 if ICU is AppleICU.
The API is ucal_getTimeZoneOffsetFromLocal, which is back-ported from ICU 69[1].
The purpose of this API is that calculating timezone offset and dst offset from *local* time.
[1]: https://github.com/unicode-org/icu/commit/53aa0505c5f95a8cebbd7b4421d474fd2a790b80
- runtime/IntlDateTimeFormat.cpp:
- runtime/JSDateMath.cpp:
(JSC::OpaqueICUTimeZoneDeleter::operator()):
(JSC::DateCache::calculateLocalTimeOffset):
(JSC::DateCache::defaultTimeZone):
(JSC::DateCache::timeZoneCacheSlow):
- runtime/JSDateMath.h:
Source/WTF:
- wtf/DateMath.h:
(WTF::LocalTimeOffset::LocalTimeOffset):
- 12:26 PM Changeset in webkit [275108] by
-
- 6 edits1 add in trunk/Source
Enforce notifyd message filtering
https://bugs.webkit.org/show_bug.cgi?id=223601
<rdar://75098580>
Reviewed by Brent Fulgham.
Source/WebCore/PAL:
Add Notify SPI file.
- PAL.xcodeproj/project.pbxproj:
- pal/spi/cocoa/NotifySPI.h: Added.
Source/WebKit:
Enable Notify filtering by setting Notify options before entering sandbox.
- Shared/mac/AuxiliaryProcessMac.mm:
(WebKit::compileAndApplySandboxSlowCase):
Source/WTF:
Add ENABLE define for Notify filtering.
- wtf/PlatformEnableCocoa.h:
- 12:16 PM Changeset in webkit [275107] by
-
- 3 edits in trunk/Source/WebKit
Unreviewed, reverting r274938.
https://bugs.webkit.org/show_bug.cgi?id=223811
Introduced perf regression
Reverted changeset:
"Add IOKit method filter telemetry"
https://bugs.webkit.org/show_bug.cgi?id=223652
https://trac.webkit.org/changeset/274938
- 12:14 PM Changeset in webkit [275106] by
-
- 16 edits7 adds in trunk
Implement PCM SQLite changes based on spec review
https://bugs.webkit.org/show_bug.cgi?id=223726
<rdar://problem/75818526>
Reviewed by Brent Fulgham.
Source/WebKit:
This patch makes 2 significant changes in the SQLite database for
PCM. First, it renames attributeOnSiteDomainID to destinationSiteDomainID
based on spec review. Second, it adds support for sending reports to
both click source and destination sites. This involved adding an
additional column to the AttributedPrivateClickMeasurement table to
store the earliest time to send a report to the destination, renaming
the earliestTimeToSend column to specify source, and removing the NOT NULL
constraint on earliestTimeToSend in order to mark in the database when
a report has been send to the source site.
Since we need to remove a NOT NULL constraint and update foreign keys
and unique constraints, this requires a full migration of data from
the PCM tables.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
earliestTimeToSendToDestination should be null for now until we
implement the rest of the PCM work in
https://bugs.webkit.org/show_bug.cgi?id=223615.
Remove semi-colons from create table queries. They don't matter in
this context and if we remove them we can use the create table
queries to check for a correct schema.
(WebKit::attributedPrivateClickMeasurementSchemaV1):
(WebKit::attributedPrivateClickMeasurementSchemaV1Alternate):
Capture the table info from AttributedPrivateClickMeasurement to check
if we need an update.
(WebKit::expectedUnattributedColumns):
(WebKit::expectedAttributedColumns):
Instead of storing outdated columns, we should store expected columns
and add any missing ones in addMissingColumnsToTable.
(WebKit::ResourceLoadStatisticsDatabaseStore::tableSchema):
(WebKit::ResourceLoadStatisticsDatabaseStore::needsUpdatedPrivateClickMeasurementSchema):
(WebKit::ResourceLoadStatisticsDatabaseStore::missingReferenceToObservedDomains):
Separate out some duplicated code.
(WebKit::ResourceLoadStatisticsDatabaseStore::migrateDataToNewTablesIfNecessary):
(WebKit::ResourceLoadStatisticsDatabaseStore::columnsForTable):
(WebKit::ResourceLoadStatisticsDatabaseStore::addMissingColumnsToTable):
(WebKit::ResourceLoadStatisticsDatabaseStore::addMissingColumnsIfNecessary):
(WebKit::ResourceLoadStatisticsDatabaseStore::renameColumnInTable):
(WebKit::ResourceLoadStatisticsDatabaseStore::renameColumnsIfNecessary):
(WebKit::ResourceLoadStatisticsDatabaseStore::openAndUpdateSchemaIfNecessary):
Simplify the way we update the schema by first adding columns, then
renaming, then migrating. This way we don't need to worry about a
mismatch in number of columns or column name when transferring data.
(WebKit::ResourceLoadStatisticsDatabaseStore::clearSentAttribution):
(WebKit::ResourceLoadStatisticsDatabaseStore::markAttributedPrivateClickMeasurementsAsExpiredForTesting):
(WebKit::unattributedPrivateClickMeasurementSchemaV1): Deleted.
(WebKit::unattributedPrivateClickMeasurementSchemaV1Alternate): Deleted.
(WebKit::outdatedUnattributedColumns): Deleted.
(WebKit::outdatedAttributedColumns): Deleted.
(WebKit::columnsToCopy): Deleted.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::statisticsDatabaseColumnsForTable):
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::statisticsDatabaseColumnsForTable):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _statisticsDatabaseColumnsForTable:completionHandler:]):
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::statisticsDatabaseColumnsForTable):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::statisticsDatabaseColumnsForTable):
- UIProcess/WebsiteData/WebsiteDataStore.h:
New function for testing.
Tools:
Add API test coverage to check that renaming and adding columns works.
Data migration was tested manually.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/PrivateClickMeasurement.mm: Added.
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutFraudPreventionDatabase.db: Added.
- TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutFraudPreventionDatabase.db-shm: Added.
- TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutFraudPreventionDatabase.db-wal: Added.
- TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutReportingColumns.db: Added.
- TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutReportingColumns.db-shm: Added.
- TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutReportingColumns.db-wal: Added.
- 11:11 AM Changeset in webkit [275105] by
-
- 2 edits in trunk/Tools
Unreviewed, reverting r275081.
Broke Apple Internal builds
Reverted changeset:
"Avoid calling
xcodebuild -showsdkswhere possible."
https://bugs.webkit.org/show_bug.cgi?id=223727
https://commits.webkit.org/r275081
- 10:58 AM Changeset in webkit [275104] by
-
- 3 edits2 adds in trunk
LayoutTests/imported/w3c:
Add interpolation for object-position CSS property
https://bugs.webkit.org/show_bug.cgi?id=223568
Patch by Tim Nguyen <ntim.bugs@gmail.com> on 2021-03-26
Reviewed by Antoine Quint.
- web-platform-tests/css/css-images/object-position-interpolation.html: Added.
Source/WebCore:
Make the object-position CSS property animatable.
https://bugs.webkit.org/show_bug.cgi?id=223568
Patch by Tim Nguyen <ntim@apple.com> on 2021-03-26
Reviewed by Antoine Quint.
Test: imported/w3c/web-platform-tests/css/css-images/object-position-interpolation.html
- animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):
(WebCore::canInterpolateLengthPoints):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- 10:08 AM Changeset in webkit [275103] by
-
- 17 edits1 copy in trunk/Source
Allow logging minimal info about uploading media files in the system diagnose
https://bugs.webkit.org/show_bug.cgi?id=223706
Reviewed by Alex Christensen.
Source/WebCore:
Give the WebKit client the ability to log info about the media files which
were submitted to a web server through an HTMLFormElement.
- Headers.cmake:
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::submit):
- loader/EmptyClients.cpp:
- page/DiagnosticLoggingClient.h:
- page/DiagnosticLoggingDomain.h: Copied from Source/WebKit/UIProcess/API/APIDiagnosticLoggingClient.h.
Source/WebKit:
Add the new method logDiagnosticMessageWithDomain to the modern ObjC API
WKDiagnosticLoggingDelegate and make it accessible from DiagnosticLoggingClient.
- Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
- UIProcess/API/APIDiagnosticLoggingClient.h:
(API::DiagnosticLoggingClient::logDiagnosticMessageWithDomain):
- UIProcess/API/Cocoa/_WKDiagnosticLoggingDelegate.h:
- UIProcess/Cocoa/DiagnosticLoggingClient.h:
- UIProcess/Cocoa/DiagnosticLoggingClient.mm:
(WebKit::DiagnosticLoggingClient::setDelegate):
(WebKit::toWKDiagnosticLoggingDomain):
(WebKit::DiagnosticLoggingClient::logDiagnosticMessageWithDomain):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::logDiagnosticMessageWithDomain):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp:
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithDomain):
- WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h:
- 9:41 AM Changeset in webkit [275102] by
-
- 12 edits6 adds in trunk
Implement cachedPropertyValue for WebXR [SameObject] attributes
https://bugs.webkit.org/show_bug.cgi?id=223635
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Update WebXR [SameObject] related test expectations.
- web-platform-tests/webxr/xrRigidTransform_sameObject.https-expected.txt: Added.
- web-platform-tests/webxr/xrSession_sameObject.https-expected.txt: Added.
- web-platform-tests/webxr/xrView_sameObject.https-expected.txt: Added.
- web-platform-tests/webxr/xrViewerPose_views_sameObject.https-expected.txt: Added.
Source/WebCore:
[SameObject] is not currently implemented in WebKit. We need to implement custom getters.
Tested by WebXR WPT.
- Modules/webxr/WebXRRigidTransform.h:
(WebCore::WebXRRigidTransform::cachedMatrix):
- Modules/webxr/WebXRRigidTransform.idl:
- Modules/webxr/WebXRView.h:
(WebCore::WebXRView::cachedProjectionMatrix):
- Modules/webxr/WebXRView.idl:
- Modules/webxr/WebXRViewerPose.h:
(WebCore::WebXRViewerPose::cachedViews):
- Modules/webxr/WebXRViewerPose.idl:
- Sources.txt:
- bindings/js/JSWebXRRigidTransformCustom.cpp: Added.
(WebCore::JSWebXRRigidTransform::matrix const):
- bindings/js/JSWebXRViewCustom.cpp: Added.
(WebCore::JSWebXRView::projectionMatrix const):
- bindings/js/JSWebXRViewerPoseCustom.cpp: Added.
(WebCore::JSWebXRViewerPose::views const):
LayoutTests:
Update WebXR [SameObject] related test expectations.
- platform/wpe/TestExpectations:
- 9:28 AM Changeset in webkit [275101] by
-
- 5 edits in trunk/Source/WebKit
[Cocoa] Enable the UseGPUProcessForMedia preference by default
https://bugs.webkit.org/show_bug.cgi?id=223771
Reviewed by Eric Carlson.
- FeatureFlags/WebKit-ios.plist:
- FeatureFlags/WebKit-macos.plist:
- FeatureFlags/WebKit-appletvos.plist:
- FeatureFlags/WebKit-watchos.plist:
- 8:58 AM Changeset in webkit [275100] by
-
- 5 edits in trunk/Source/WebCore
Adopt AVKit SPI for hiding touch bar seeking controls
https://bugs.webkit.org/show_bug.cgi?id=223773
<rdar://problem/68937617>
Reviewed by Jer Noble.
Source/WebCore:
- platform/mac/WebPlaybackControlsManager.h:
- platform/mac/WebPlaybackControlsManager.mm:
(-[WebPlaybackControlsManager setSeekableTimeRanges:]):
(-[WebPlaybackControlsManager canBeginTouchBarScrubbing]):
If the list of seekable time ranges is empty, we are unable to seek.
Source/WebCore/PAL:
- pal/spi/cocoa/AVKitSPI.h:
- 8:50 AM Changeset in webkit [275099] by
-
- 2 edits in trunk/LayoutTests
Unreviewed.
- platform/glib/TestExpectations: Unflag
media/encrypted-media/clearKey/clearKey-webm-video-playback-mse.html
and
media/encrypted-media/clearKey/clearKey-session-life-cycle.html
- 8:47 AM Changeset in webkit [275098] by
-
- 2 edits in trunk/LayoutTests
Unreviewed.
- platform/gtk/TestExpectations: Unflag
http/tests/security/mixedContent/insecure-audio-video-in-main-frame.html.
- 8:34 AM Changeset in webkit [275097] by
-
- 3 edits in trunk/Source/WebCore
GraphicsContextGLOpenGL should avoid calling into ANGLE MakeCurrent
https://bugs.webkit.org/show_bug.cgi?id=223511
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-03-26
Reviewed by Kenneth Russell.
Avoid calling ANGLE MakeCurrent for contexts that are already current. Cache the current context pointer into a
global variable. Currently the code adds no locking. For the forseeable future, ANGLE does not support
simultaneous access from multiple threads.
The optimization can be done when run in WebContent process or in GPU process, but not when in WK1. This is because in WK1,
the 3rd party client may run arbitrary code in WebKit thread. This includes code that changes EAGL or AGL state.
This code might change the current context underneath WebKit. In WK1 mode, we already use "volatile context" feature of
ANGLE to reset the platform context on every EGL command. The command we use for this for normal GL commands is EGL_MakeCurrent.
Makes in-process WebGL faster in MotionMark triangles by 6300 -> 9800 pts
Makes GPU process WebGL faster in MotionMark triangles by 5300 -> 7000 pts
- platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
(WebCore::isCurrentContextPredictable):
(WebCore::InitializeEGLDisplay):
(WebCore::GraphicsContextGLOpenGL::~GraphicsContextGLOpenGL):
(WebCore::GraphicsContextGLOpenGL::makeContextCurrent):
(WebCore::GraphicsContextGLOpenGL::clearCurrentContext):
(WebCore::GraphicsContextGLOpenGL::releaseCurrentContext):
(WebCore::GraphicsContextGLOpenGL::checkGPUStatus):
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- 8:34 AM Changeset in webkit [275096] by
-
- 2 edits in trunk/LayoutTests
Unreviewed.
- platform/gtk/TestExpectations: Unflagging
media/track/track-remove-active-cue-crash.html.
- 8:29 AM Changeset in webkit [275095] by
-
- 2 edits in trunk/LayoutTests
Unreviewed.
- platform/gtk/TestExpectations: Unflag
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-audio-video-in-main-frame.html
- 8:18 AM Changeset in webkit [275094] by
-
- 2 edits in trunk/LayoutTests
Unreviewed.
- platform/gtk/TestExpectations: Unflagging
mediasource-endofstream-invaliderror.html.
- 4:18 AM Changeset in webkit [275093] by
-
- 2 edits in trunk/Source/WebKit
Use webrtc GPU Process feature flag for video capture on MacOS
https://bugs.webkit.org/show_bug.cgi?id=223683
Reviewed by Eric Carlson.
Manually tested.
- Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultCaptureVideoInGPUProcessEnabled):
- 4:16 AM Changeset in webkit [275092] by
-
- 10 edits in trunk
Fix interpolation of the caret-color CSS property
https://bugs.webkit.org/show_bug.cgi?id=223181
<rdar://problem/75687413>
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Add 64 PASS results for the caret-color interpolation test which now is passing completely.
The test css/css-ui/caret-color-021.html also progresses.
- web-platform-tests/css/css-ui/animation/caret-color-interpolation-expected.txt:
- web-platform-tests/css/css-ui/caret-color-021-expected.txt:
Source/WebCore:
Add support for the "auto" value for the "caret-color" CSS property. That value
is its initial value. We support it with a new boolean flag on StyleRareInheritedData
which we reset to false when setCaretColor() or setVisitedLinkCaretColor() is called.
Then, we can blend this property with the new CaretColorPropertyWrapper wrapper which is
required to correctly get and set the "auto" bit.
- animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- css/CSSProperties.json: We can remove the initial value key since this property is entirely
custom.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::setCaretColor):
(WebCore::RenderStyle::setHasAutoCaretColor):
(WebCore::RenderStyle::setVisitedLinkCaretColor):
(WebCore::RenderStyle::setHasVisitedLinkAutoCaretColor):
(WebCore::RenderStyle::hasAutoCaretColor const):
(WebCore::RenderStyle::hasVisitedLinkAutoCaretColor const):
- rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator== const):
- rendering/style/StyleRareInheritedData.h:
- style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyInitialCaretColor):
(WebCore::Style::BuilderCustom::applyInheritCaretColor):
(WebCore::Style::BuilderCustom::applyValueCaretColor):
- 4:07 AM Changeset in webkit [275091] by
-
- 5 edits1 add in trunk
Fix NowPlayingInfoArtwork operator== logic.
https://bugs.webkit.org/show_bug.cgi?id=223730
<rdar://problem/75822687>
Patch by Jean-Yves Avenard <Jean-Yves Avenard> on 2021-03-26
Reviewed by Youenn Fablet.
Source/WebCore:
Gtest NowPlayingInfoArtworkTest added .
- platform/audio/NowPlayingInfo.h:
(WebCore::NowPlayingInfoArtwork::operator== const):
(WebCore::NowPlayingInfoArtwork::operator!= const):
Tools:
- TestWebKitAPI/CMakeLists.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/NowPlayingInfoTests.cpp: Added.
(TestWebKitAPI::testEmptyArtwork):
(TestWebKitAPI::TEST):
- 3:50 AM Changeset in webkit [275090] by
-
- 1 copy in releases/WebKitGTK/webkit-2.32.0
WebKitGTK 2.32.0
- 3:49 AM Changeset in webkit [275089] by
-
- 4 edits in releases/WebKitGTK/webkit-2.32
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.32.0 release
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.32.0
- 3:28 AM Changeset in webkit [275088] by
-
- 12 edits1 delete in trunk
Enable Metal ANGLE backend for WebGL
https://bugs.webkit.org/show_bug.cgi?id=220076
<rdar://problem/72565020>
Reviewed by Sam Weinig.
Source/WTF:
Turn the Metal backend for ANGLE on, moving the feature
from Internal to Experimental.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- Scripts/Preferences/WebPreferencesInternal.yaml:
LayoutTests:
Updated results for WebGL 2 content with the Metal ANGLE
backend. See https://bugs.webkit.org/show_bug.cgi?id=222239
- platform/mac/TestExpectations:
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-simulator/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- platform/wk2/TestExpectations:
- 3:16 AM Changeset in webkit [275087] by
-
- 3 edits2 adds in trunk
Remove ASSERT in RenderListItem::computeMarkerStyle
https://bugs.webkit.org/show_bug.cgi?id=222670
Patch by Rob Buis <rbuis@igalia.com> on 2021-03-26
Reviewed by Ryosuke Niwa.
Source/WebCore:
Remove ASSERT in RenderListItem::computeMarkerStyle
since ::marker does not apply to all elements so
getCachedPseudoStyle can return null.
Test: fast/lists/list-item-compute-marker-style-crash.xhtml
- rendering/RenderListItem.cpp:
(WebCore::RenderListItem::computeMarkerStyle const):
LayoutTests:
- fast/lists/list-item-compute-marker-style-crash-expected.txt: Added.
- fast/lists/list-item-compute-marker-style-crash.xhtml: Added.
- 2:42 AM Changeset in webkit [275086] by
-
- 2 edits in releases/WebKitGTK/webkit-2.32/Source/WebCore
Merge r275085 - REGRESSION(r272301): [SOUP] default port attribute when persisting credential information with libsecret
https://bugs.webkit.org/show_bug.cgi?id=223782
Reviewed by Adrian Perez de Castro.
Use the default port instead of 0 when the URL omits the port.
- platform/network/soup/AuthenticationChallengeSoup.cpp:
(WebCore::protectionSpaceFromSoupAuthAndURL):
- 2:37 AM Changeset in webkit [275085] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r272301): [SOUP] default port attribute when persisting credential information with libsecret
https://bugs.webkit.org/show_bug.cgi?id=223782
Reviewed by Adrian Perez de Castro.
Use the default port instead of 0 when the URL omits the port.
- platform/network/soup/AuthenticationChallengeSoup.cpp:
(WebCore::protectionSpaceFromSoupAuthAndURL):
- 2:25 AM Changeset in webkit [275084] by
-
- 5 edits in trunk/Source/WebCore
Use ICUDeleter to encode ucnv_close/uenum_close call into type of deleter of std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=223503
Reviewed by Alex Christensen.
Use ICUDeleter<ucnv_close> instead of holding ucnv_close pointer in ICUConverterPtr.
This deleter encodes ucnv_close calls into type so that we do not need to hold a pointer
to ucnv_close.
We also use ICUDeleter<uenum_close> in place where we use UEnumeration.
- Modules/applepay/PaymentRequestValidator.mm:
(WebCore::validateCurrencyCode):
- platform/text/EncodingTables.cpp:
(WebCore::jis0208):
(WebCore::jis0212):
(WebCore::big5):
(WebCore::eucKR):
(WebCore::gb18030):
- platform/text/TextCodecICU.cpp:
(WebCore::TextCodecICU::createICUConverter const):
- platform/text/TextCodecICU.h:
- 1:08 AM Changeset in webkit [275083] by
-
- 2 edits in releases/WebKitGTK/webkit-2.32/Source/WebCore
[GTK][WPE] Wrong frame scrolled when view is horizontally scrolled with async scrolling enabled
https://bugs.webkit.org/show_bug.cgi?id=222900
Patch by Alejandro G. Castro <alex@igalia.com> on 2021-03-26
Reviewed by Carlos Garcia Campos.
We need to use the scrolling offset in the parent when collecting
the descendant layers at a point. We substract the boundsOrigin to
make sure we transform the point considering the scrolling offset.
- page/scrolling/nicosia/ScrollingTreeNicosia.cpp:
(WebCore::collectDescendantLayersAtPoint):
- 12:54 AM BuildingCairoOnWindows edited by
- (diff)
- 12:14 AM BuildingCairoOnWindows edited by
- (diff)
- 12:02 AM Changeset in webkit [275082] by
-
- 37 edits in trunk/Source
Update the BEFORE/SINCE, SYSTEM_VERSION_PREFIX, and MACOSX_DEPLOYMENT_TARGET flags
https://bugs.webkit.org/show_bug.cgi?id=223779
Patch by Jessie Berlin <jberlin@webkit.org> on 2021-03-26
Reviewed by Tim Horton.
- Configurations/DebugRelease.xcconfig:
Source/JavaScriptCore:
- Configurations/Version.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig:
Source/ThirdParty/ANGLE:
- Configurations/Version.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig:
Source/ThirdParty/libwebrtc:
- Configurations/Version.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig:
Source/WebCore:
- Configurations/Version.xcconfig:
- Configurations/WebCore.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig:
Source/WebCore/PAL:
- Configurations/Version.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig:
Source/WebInspectorUI:
- Configurations/Version.xcconfig:
Source/WebKit:
- Configurations/Version.xcconfig:
- Configurations/WebKit.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/Version.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig: