Timeline
Jun 5, 2021:
- 10:27 PM Changeset in webkit [278533] by
-
- 2 edits in trunk/Source/WebCore
Fix repeated call to String::utf8() in SQLiteFileSystem::computeHashForFileName()
https://bugs.webkit.org/show_bug.cgi?id=226693
Reviewed by Darin Adler.
- platform/sql/SQLiteFileSystem.cpp:
(WebCore::SQLiteFileSystem::computeHashForFileName):
- 10:25 PM Changeset in webkit [278532] by
-
- 104 edits in trunk
Use
const uint8_t*type more consistently to store bytes in WebKit
https://bugs.webkit.org/show_bug.cgi?id=226688
Reviewed by Darin Adler.
Source/WebCore:
- Modules/cache/DOMCache.cpp:
(WebCore::DOMCache::addAll):
(WebCore::DOMCache::put):
- Modules/fetch/FetchBodyConsumer.cpp:
(WebCore::FetchBodyConsumer::resolve):
(WebCore::FetchBodyConsumer::append):
- Modules/fetch/FetchBodyConsumer.h:
- Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp:
(WebCore::LibWebRTCDataChannelHandler::OnMessage):
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::send):
(WebCore::WebSocketChannel::didReceiveSocketStreamData):
(WebCore::WebSocketChannel::appendToBuffer):
(WebCore::WebSocketChannel::startClosingHandshake):
(WebCore::WebSocketChannel::processFrame):
(WebCore::WebSocketChannel::enqueueRawFrame):
(WebCore::WebSocketChannel::processOutgoingFrameQueue):
(WebCore::WebSocketChannel::sendFrame):
- Modules/websockets/WebSocketChannel.h:
- Modules/websockets/WebSocketDeflater.cpp:
(WebCore::setStreamParameter):
(WebCore::WebSocketDeflater::addBytes):
(WebCore::WebSocketInflater::addBytes):
(WebCore::WebSocketInflater::finish):
- Modules/websockets/WebSocketDeflater.h:
(WebCore::WebSocketDeflater::data):
(WebCore::WebSocketInflater::data):
- Modules/websockets/WebSocketFrame.cpp:
(WebCore::WebSocketFrame::parseFrame):
(WebCore::appendFramePayload):
(WebCore::WebSocketFrame::makeFrameData):
(WebCore::WebSocketFrame::WebSocketFrame):
- Modules/websockets/WebSocketFrame.h:
- Modules/websockets/WebSocketHandshake.cpp:
(WebCore::trimInputSample):
(WebCore::WebSocketHandshake::readServerHandshake):
(WebCore::WebSocketHandshake::readStatusLine):
(WebCore::WebSocketHandshake::readHTTPHeaders):
- Modules/websockets/WebSocketHandshake.h:
- Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
- contentextensions/SerializedNFA.cpp:
(WebCore::ContentExtensions::writeAllToFile):
- crypto/SubtleCrypto.cpp:
(WebCore::SubtleCrypto::unwrapKey):
- crypto/mac/SerializedCryptoKeyWrapMac.mm:
(WebCore::findMasterKey):
- dom/DecodedDataDocumentParser.cpp:
(WebCore::DecodedDataDocumentParser::appendBytes):
- dom/DecodedDataDocumentParser.h:
- dom/DocumentParser.h:
- dom/RawDataDocumentParser.h:
- html/ImageDocument.cpp:
(WebCore::ImageDocumentParser::appendBytes):
- html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::appendBytes):
- html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::appendBytes):
- html/track/InbandTextTrack.h:
- html/track/InbandWebVTTTextTrack.cpp:
(WebCore::InbandWebVTTTextTrack::parseWebVTTCueData):
- html/track/InbandWebVTTTextTrack.h:
- html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::parseBytes):
(WebCore::WebVTTParser::fileFinished):
- html/track/WebVTTParser.h:
- loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::addData):
- loader/DocumentWriter.h:
- loader/SinkDocument.cpp:
- loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::processNewCueData):
- platform/graphics/InbandTextTrackPrivateClient.h:
- platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
(WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfSample):
- platform/network/HTTPParsers.cpp:
(WebCore::trimInputSample):
(WebCore::isValidHeaderNameCharacter):
(WebCore::parseHTTPHeader):
(WebCore::parseHTTPRequestBody):
- platform/network/HTTPParsers.h:
- platform/network/SocketStreamHandle.cpp:
(WebCore::SocketStreamHandle::sendData):
- platform/network/SocketStreamHandle.h:
- platform/network/SocketStreamHandleClient.h:
- platform/network/cf/SocketStreamHandleImplCFNet.cpp:
(WebCore::SocketStreamHandleImpl::readStreamCallback):
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
Source/WebKit:
- GPUProcess/media/RemoteTextTrackProxy.cpp:
(WebKit::RemoteTextTrackProxy::parseWebVTTCueData):
- GPUProcess/media/RemoteTextTrackProxy.h:
- WebProcess/GPU/media/TextTrackPrivateRemote.cpp:
(WebKit::TextTrackPrivateRemote::parseWebVTTCueData):
- 8:21 PM Changeset in webkit [278531] by
-
- 3 edits in trunk/Source/WebKit
[macOS] Dictionary lookup highlights in image overlays should include background content
https://bugs.webkit.org/show_bug.cgi?id=226686
Reviewed by Tim Horton.
Make a few minor adjustments to text indicator options on macOS when triggering Look Up.
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::dictionaryPopupInfoForRange):
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performImmediateActionHitTestAtLocation):
Add both
PaintAllContentandPaintBackgroundsoptions when creating text indicators, in the case where the
indicated range is inside an image overlay.
- 6:18 PM Changeset in webkit [278530] by
-
- 21 edits2 adds in trunk/Source
[macOS] Move DataDetectors softlinking in DataDetectorsSPI.h out into a separate PAL header
https://bugs.webkit.org/show_bug.cgi?id=226669
Reviewed by Sam Weinig.
Source/WebCore:
Clean up some softlinking code for the DataDetectors framework. Currently, the
SOFT_LINK_*macros are defined
inside the SPI header (pal/spi/mac/DataDetectorsSPI.h); this patch moves them out into
pal/mac/DataDetectorsSoftLink.{h|mm}instead, and updates a few places that use these soft-linked symbols to
importDataDetectorsSoftLink.hinstead ofDataDetectorsSPI.h.
- editing/cocoa/DataDetection.mm:
(WebCore::detectItem):
(WebCore::DataDetection::detectItemAroundHitTestResult):
- page/mac/ImageOverlayControllerMac.mm:
(WebCore::ImageOverlayController::updateDataDetectorHighlights):
(WebCore::ImageOverlayController::platformHandleMouseEvent):
- page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::mouseIsOverHighlight const):
(WebCore::ServicesOverlayController::buildPhoneNumberHighlights):
(WebCore::ServicesOverlayController::buildSelectionHighlight):
- platform/mac/DataDetectorHighlight.mm:
(WebCore::DataDetectorHighlight::setHighlight):
(WebCore::DataDetectorHighlight::paintContents):
Source/WebCore/PAL:
Add the new softlinking headers. See WebCore/ChangeLog for more details.
- PAL.xcodeproj/project.pbxproj:
- pal/PlatformMac.cmake:
- pal/cocoa/DataDetectorsCoreSoftLink.h:
- pal/cocoa/DataDetectorsCoreSoftLink.mm:
Move the
DDBinderPhoneNumberKeysoft link intoDataDetectorsCoreSoftLinkinstead, since this symbol comes
from DataDetectorsCore rather than the DataDetectors framework.
- pal/mac/DataDetectorsSoftLink.h: Added.
- pal/mac/DataDetectorsSoftLink.mm: Added.
- pal/mac/QuickLookUISoftLink.h:
- pal/spi/mac/DataDetectorsSPI.h:
Source/WebKit:
Adopt the new PAL softlinking header in a few places. See WebCore/ChangeLog for more details. Additionally, move
several softlinking header imports so that they're the last imported headers in a few sources.
- Platform/mac/MenuUtilities.mm:
(WebKit::actionForMenuItem):
(WebKit::menuItemForTelephoneNumber):
- Shared/Cocoa/DataDetectionResult.mm:
(WebKit::DataDetectionResult::decode):
- Shared/ios/InteractionInformationAtPosition.mm:
(WebKit::InteractionInformationAtPosition::decode):
- Shared/mac/WebHitTestResultData.mm:
(WebKit::WebHitTestResultData::platformDecode):
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::dismissContentRelativeChildWindowsFromViewOnly):
- UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _clearImmediateActionState]):
(-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
(-[WKImmediateActionController _animationControllerForDataDetectedText]):
(-[WKImmediateActionController _animationControllerForDataDetectedLink]):
Source/WebKitLegacy/mac:
Adopt the new PAL softlinking header in a few places. See WebCore/ChangeLog for more details.
- WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _clearImmediateActionState]):
(-[WebImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
(-[WebImmediateActionController _animationControllerForDataDetectedText]):
(-[WebImmediateActionController _animationControllerForDataDetectedLink]):
- 5:30 PM Changeset in webkit [278529] by
-
- 5 edits in branches/safari-611-branch/Source/WebKit
Revert r277536. rdar://problem/78875336
Reverting for build failure.
- 4:22 PM Changeset in webkit [278528] by
-
- 3 edits in trunk/Source/WebCore
[WebXR] Supply an IOSurface in SimulatedXRDevice
https://bugs.webkit.org/show_bug.cgi?id=226564
<rdar://problem/78793086>
Reviewed by Sam Weinig.
Rather than handle the case where we get a null IOSurface,
have the SimulatedXRDevice create one on each frame.
- Modules/webxr/WebXROpaqueFramebuffer.cpp:
(WebCore::WebXROpaqueFramebuffer::startFrame):
- testing/WebFakeXRDevice.cpp:
(WebCore::SimulatedXRDevice::frameTimerFired):
- 3:54 PM Changeset in webkit [278527] by
-
- 4 edits in trunk/Source/WebCore
Remove some duplicated code related to scrollbars
https://bugs.webkit.org/show_bug.cgi?id=226685
Reviewed by Alan Bujtas.
RenderLayerScrollableArea and RenderBox had some very similar code related to
computing whether scrollbars are present, so remove the duplication, and prepare
for ScrollbarOrientation to become an enum class.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::hasAutoScrollbar const):
(WebCore::RenderBox::hasAlwaysPresentScrollbar const):
(WebCore::RenderBox::hasVerticalScrollbarWithAutoBehavior const): Deleted.
(WebCore::RenderBox::hasHorizontalScrollbarWithAutoBehavior const): Deleted.
- rendering/RenderBox.h:
- rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::updateScrollbarsAfterLayout):
(WebCore::RenderLayerScrollableArea::updateScrollbarsAfterStyleChange):
(WebCore::styleRequiresScrollbar): Deleted.
(WebCore::styleDefinesAutomaticScrollbar): Deleted.
- 2:18 PM Changeset in webkit [278526] by
-
- 2 edits in trunk/Source/WebCore
[WebXR] WebXR on Cocoa doesn't work with webgl 1 contexts
https://bugs.webkit.org/show_bug.cgi?id=226675
Reviewed by Sam Weinig.
Support WebGL 1 contexts by attaching the correct combined depth+stencil
target.
While here, rename some variables to be a bit more clear about what
they do.
- Modules/webxr/WebXROpaqueFramebuffer.cpp:
(WebCore::WebXROpaqueFramebuffer::~WebXROpaqueFramebuffer): Make sure we delete
the texture if we created one.
(WebCore::WebXROpaqueFramebuffer::startFrame): Use the correct attachment point
if we're a WebGL 1 context.
(WebCore::WebXROpaqueFramebuffer::setupFramebuffer):
- 7:09 AM BuildingGtk edited by
- (diff)
- 5:19 AM Changeset in webkit [278525] by
-
- 47 edits2 moves in trunk/Source/WebCore
Rename InlineTextBox to LegacyInlineTextBox
https://bugs.webkit.org/show_bug.cgi?id=226633
Rubber-stamped by Sam Weinig.
More legacy line layout naming.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/ContainerNode.cpp:
- dom/DocumentMarkerController.cpp:
(WebCore::DocumentMarkerController::addMarker):
- dom/Position.cpp:
- editing/CompositeEditCommand.cpp:
- editing/Editor.h:
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::debugRenderer const):
- editing/RenderedPosition.cpp:
- editing/TextIterator.cpp:
- editing/VisiblePosition.cpp:
- layout/Verification.cpp:
(WebCore::Layout::checkForMatchingTextRuns):
(WebCore::Layout::outputMismatchingComplexLineInformationIfNeeded):
- layout/formattingContexts/inline/text/TextUtil.h:
- layout/integration/LayoutIntegrationRunIterator.cpp:
(WebCore::LayoutIntegration::firstTextRunInTextOrderFor):
- layout/integration/LayoutIntegrationRunIterator.h:
(WebCore::LayoutIntegration::PathTextRun::legacyInlineBox const):
- layout/integration/LayoutIntegrationRunIteratorLegacyPath.h:
(WebCore::LayoutIntegration::RunIteratorLegacyPath::traverseNextTextRunInTextOrder):
(WebCore::LayoutIntegration::RunIteratorLegacyPath::inlineTextBox const):
- layout/layouttree/LayoutBox.h:
(WebCore::Layout::Box::isInlineTextBox const):
- layout/layouttree/LayoutInlineTextBox.cpp:
(WebCore::Layout::InlineTextBox::InlineTextBox):
- rendering/CaretRectComputation.cpp:
(WebCore::computeCaretRectForSVGInlineText):
- rendering/EllipsisBox.cpp:
- rendering/LegacyInlineBox.h:
- rendering/LegacyInlineFlowBox.cpp:
(WebCore::LegacyInlineFlowBox::addToLine):
(WebCore::LegacyInlineFlowBox::placeBoxRangeInInlineDirection):
(WebCore::LegacyInlineFlowBox::requiresIdeographicBaseline const):
(WebCore::LegacyInlineFlowBox::placeBoxesInBlockDirection):
(WebCore::LegacyInlineFlowBox::addTextBoxVisualOverflow):
(WebCore::LegacyInlineFlowBox::computeOverflow):
(WebCore::LegacyInlineFlowBox::computeOverAnnotationAdjustment const):
(WebCore::LegacyInlineFlowBox::computeUnderAnnotationAdjustment const):
- rendering/LegacyInlineFlowBox.h:
- rendering/LegacyInlineTextBox.cpp: Renamed from Source/WebCore/rendering/InlineTextBox.cpp.
(WebCore::LegacyInlineTextBox::~LegacyInlineTextBox):
(WebCore::LegacyInlineTextBox::hasTextContent const):
(WebCore::LegacyInlineTextBox::markDirty):
(WebCore::LegacyInlineTextBox::logicalOverflowRect const):
(WebCore::LegacyInlineTextBox::setLogicalOverflowRect):
(WebCore::LegacyInlineTextBox::baselinePosition const):
(WebCore::LegacyInlineTextBox::lineHeight const):
(WebCore::LegacyInlineTextBox::selectionTop const):
(WebCore::LegacyInlineTextBox::selectionBottom const):
(WebCore::LegacyInlineTextBox::selectionHeight const):
(WebCore::LegacyInlineTextBox::isSelected const):
(WebCore::LegacyInlineTextBox::selectionState):
(WebCore::LegacyInlineTextBox::verifySelectionState const):
(WebCore::LegacyInlineTextBox::lineFont const):
(WebCore::snappedSelectionRect):
(WebCore::LegacyInlineTextBox::localSelectionRect const):
(WebCore::LegacyInlineTextBox::deleteLine):
(WebCore::LegacyInlineTextBox::extractLine):
(WebCore::LegacyInlineTextBox::attachLine):
(WebCore::LegacyInlineTextBox::placeEllipsisBox):
(WebCore::LegacyInlineTextBox::isLineBreak const):
(WebCore::LegacyInlineTextBox::nodeAtPoint):
(WebCore::LegacyInlineTextBox::emphasisMarkExistsAndIsAbove const):
(WebCore::createMarkedTextFromSelectionInBox):
(WebCore::LegacyInlineTextBox::paint):
(WebCore::LegacyInlineTextBox::clampedOffset const):
(WebCore::LegacyInlineTextBox::clampedStartEndForState const):
(WebCore::LegacyInlineTextBox::selectionStartEnd const):
(WebCore::LegacyInlineTextBox::highlightStartEnd const):
(WebCore::LegacyInlineTextBox::hasMarkers const):
(WebCore::LegacyInlineTextBox::paintPlatformDocumentMarkers):
(WebCore::LegacyInlineTextBox::calculateUnionOfAllDocumentMarkerBounds const):
(WebCore::LegacyInlineTextBox::calculateDocumentMarkerBounds const):
(WebCore::LegacyInlineTextBox::paintPlatformDocumentMarker):
(WebCore::LegacyInlineTextBox::collectMarkedTextsForDraggedContent):
(WebCore::LegacyInlineTextBox::collectMarkedTextsForDocumentMarkers const):
(WebCore::LegacyInlineTextBox::collectMarkedTextsForHighlights const):
(WebCore::LegacyInlineTextBox::textOriginFromBoxRect const):
(WebCore::LegacyInlineTextBox::paintMarkedTexts):
(WebCore::LegacyInlineTextBox::paintMarkedTextBackground):
(WebCore::LegacyInlineTextBox::paintMarkedTextForeground):
(WebCore::LegacyInlineTextBox::paintMarkedTextDecoration):
(WebCore::LegacyInlineTextBox::paintCompositionBackground):
(WebCore::LegacyInlineTextBox::paintCompositionUnderlines const):
(WebCore::mirrorRTLSegment):
(WebCore::LegacyInlineTextBox::paintCompositionUnderline const):
(WebCore::LegacyInlineTextBox::caretMinOffset const):
(WebCore::LegacyInlineTextBox::caretMaxOffset const):
(WebCore::LegacyInlineTextBox::textPos const):
(WebCore::LegacyInlineTextBox::offsetForPosition const):
(WebCore::LegacyInlineTextBox::positionForOffset const):
(WebCore::LegacyInlineTextBox::createTextRun const):
(WebCore::LegacyInlineTextBox::text const):
(WebCore::LegacyInlineTextBox::combinedText const):
(WebCore::LegacyInlineTextBox::debugTextShadow):
(WebCore::LegacyInlineTextBox::expansionBehavior const):
(WebCore::LegacyInlineTextBox::boxName const):
(WebCore::LegacyInlineTextBox::outputLineBox const):
- rendering/LegacyInlineTextBox.h: Renamed from Source/WebCore/rendering/InlineTextBox.h.
(WebCore::LegacyInlineTextBox::LegacyInlineTextBox):
(WebCore::LegacyInlineTextBox::renderer const):
(WebCore::LegacyInlineTextBox::lineStyle const):
(WebCore::LegacyInlineTextBox::prevTextBox const):
(WebCore::LegacyInlineTextBox::nextTextBox const):
(WebCore::LegacyInlineTextBox::setNextTextBox):
(WebCore::LegacyInlineTextBox::setPreviousTextBox):
(WebCore::LegacyInlineTextBox::start const):
(WebCore::LegacyInlineTextBox::end const):
(WebCore::LegacyInlineTextBox::len const):
(WebCore::LegacyInlineTextBox::setStart):
(WebCore::LegacyInlineTextBox::setLen):
(WebCore::LegacyInlineTextBox::offsetRun):
(WebCore::LegacyInlineTextBox::truncation const):
(WebCore::LegacyInlineTextBox::compareByStart):
(WebCore::LegacyInlineTextBox::logicalTopVisualOverflow const):
(WebCore::LegacyInlineTextBox::logicalBottomVisualOverflow const):
(WebCore::LegacyInlineTextBox::logicalLeftVisualOverflow const):
(WebCore::LegacyInlineTextBox::logicalRightVisualOverflow const):
(WebCore::LegacyInlineTextBox::dirtyOwnLineBoxes):
(WebCore::LegacyInlineTextBox::paintMarkedTexts):
- rendering/LegacyLineLayout.cpp:
(WebCore::LegacyLineLayout::constructLine):
(WebCore::setLogicalWidthForTextRun):
(WebCore::LegacyLineLayout::computeExpansionForJustifiedText):
(WebCore::expansionBehaviorForInlineTextBox):
(WebCore::applyExpansionBehavior):
(WebCore::LegacyLineLayout::computeInlineDirectionPositionsForSegment):
(WebCore::LegacyLineLayout::removeInlineBox const):
(WebCore::LegacyLineLayout::computeBlockDirectionPositionsForLine):
(WebCore::LegacyLineLayout::createLineBoxesFromBidiRuns):
- rendering/LegacyRootInlineBox.cpp:
(WebCore::LegacyRootInlineBox::isHyphenated const):
(WebCore::LegacyRootInlineBox::ascentAndDescentForBox const):
- rendering/RenderBlock.cpp:
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::inlineSelectionGaps):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
- rendering/RenderInline.cpp:
(WebCore::RenderInline::generateCulledLineBoxRects const):
(WebCore::RenderInline::culledInlineVisualOverflowBoundingBox const):
(WebCore::RenderInline::dirtyLineBoxes):
- rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
- rendering/RenderText.cpp:
(WebCore::RenderText::absoluteQuadsForRange const):
(WebCore::RenderText::createTextBox):
(WebCore::RenderText::positionLineBox):
- rendering/RenderText.h:
(WebCore::RenderText::extractTextBox):
(WebCore::RenderText::attachTextBox):
(WebCore::RenderText::removeTextBox):
(WebCore::RenderText::createInlineTextBox):
(WebCore::RenderText::firstTextBox const):
(WebCore::RenderText::lastTextBox const):
(WebCore::RenderText::findNextInlineTextBox const):
- rendering/RenderTextLineBoxes.cpp:
(WebCore::RenderTextLineBoxes::createAndAppendLineBox):
(WebCore::RenderTextLineBoxes::extract):
(WebCore::RenderTextLineBoxes::attach):
(WebCore::RenderTextLineBoxes::remove):
(WebCore::RenderTextLineBoxes::deleteAll):
(WebCore::RenderTextLineBoxes::findNext const):
(WebCore::RenderTextLineBoxes::checkConsistency const):
- rendering/RenderTextLineBoxes.h:
(WebCore::RenderTextLineBoxes::first const):
(WebCore::RenderTextLineBoxes::last const):
- rendering/RenderTreeAsText.cpp:
- rendering/TextDecorationPainter.h:
(WebCore::TextDecorationPainter::setInlineTextBox):
- rendering/TextPainter.cpp:
(WebCore::TextPainter::clearGlyphDisplayLists):
- rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::createTextBox):
- rendering/svg/RenderSVGInlineText.h:
- rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::SVGInlineTextBox):
(WebCore::SVGInlineTextBox::dirtyOwnLineBoxes):
(WebCore::SVGInlineTextBox::dirtyLineBoxes):
(WebCore::SVGInlineTextBox::offsetForPositionInFragment const):
(WebCore::SVGInlineTextBox::paint):
(WebCore::SVGInlineTextBox::nodeAtPoint):
- rendering/svg/SVGInlineTextBox.h:
- rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGInlineTextBoxes):
- style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
(WebCore::visualOverflowForDecorations):
- style/InlineTextBoxStyle.h:
- 12:28 AM Changeset in webkit [278524] by
-
- 3 edits2 adds in trunk
Diff aspect-ratio property values correctly
https://bugs.webkit.org/show_bug.cgi?id=226673
Reviewed by Rob Buis.
Source/WebCore:
Test: fast/css/aspect-ratio-no-relayout.html
- rendering/style/RenderStyle.cpp:
(WebCore::rareNonInheritedDataChangeRequiresLayout):
LayoutTests:
- fast/css/aspect-ratio-no-relayout-expected.txt: Added.
- fast/css/aspect-ratio-no-relayout.html: Added.
Jun 4, 2021:
- 10:45 PM Changeset in webkit [278523] by
-
- 7 edits in trunk/Source
Optimize a few call sites creating SharedBuffer objects
https://bugs.webkit.org/show_bug.cgi?id=226674
Reviewed by Darin Adler.
Source/WebCore:
- Modules/mediastream/RTCRtpSFrameTransform.cpp:
(WebCore::transformFrame):
- inspector/agents/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::interceptWithResponse):
(WebCore::InspectorNetworkAgent::interceptRequestWithResponse):
- platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
(WebCore::CDMPrivateFairPlayStreaming::extractKeyIDsSinf):
- workers/service/context/ServiceWorkerFetch.cpp:
(WebCore::ServiceWorkerFetch::processResponse):
Source/WebKit:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadDataInFrame):
(WebKit::WebPage::loadData):
(WebKit::WebPage::loadAlternateHTML):
(WebKit::WebPage::loadSimulatedRequestAndResponse):
- 10:35 PM Changeset in webkit [278522] by
-
- 8 edits in trunk/Source/WebCore
Reduce use of legacy MainThreadTaskQueue in media code
https://bugs.webkit.org/show_bug.cgi?id=226672
Reviewed by Darin Adler.
Reduce use of legacy MainThreadTaskQueue in media code. Simply use callOnMainThread()
for these instead.
- platform/graphics/cocoa/TextTrackRepresentationCocoa.h:
- platform/graphics/cocoa/TextTrackRepresentationCocoa.mm:
(WebCore::TextTrackRepresentationCocoa::boundsChanged):
- platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h:
- platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:
(WebCore::CoreAudioCaptureDeviceManager::scheduleUpdateCaptureDevices):
- platform/mediastream/mac/CoreAudioCaptureDeviceManager.h:
- platform/mock/MediaPlaybackTargetPickerMock.cpp:
(WebCore::MediaPlaybackTargetPickerMock::showPlaybackTargetPicker):
(WebCore::MediaPlaybackTargetPickerMock::startingMonitoringPlaybackTargets):
(WebCore::MediaPlaybackTargetPickerMock::setState):
- platform/mock/MediaPlaybackTargetPickerMock.h:
- 9:47 PM Changeset in webkit [278521] by
-
- 24 edits in trunk
FileSystem::readFromFile() should return data as
void*
https://bugs.webkit.org/show_bug.cgi?id=226671
Reviewed by Darin Adler.
FileSystem::readFromFile() should return data as
void*instead ofchar*. This is more flexible and
consistent with FileSystem::writeToFile().
Source/JavaScriptCore:
- inspector/remote/socket/RemoteInspectorSocket.cpp:
(Inspector::RemoteInspector::backendCommands const):
Source/WebCore:
- platform/FileHandle.cpp:
(WebCore::FileHandle::read):
- platform/FileStream.cpp:
(WebCore::FileStream::read):
- platform/FileStream.h:
- platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::readSync):
(WebCore::BlobResourceHandle::readDataSync):
(WebCore::BlobResourceHandle::readFileSync):
(WebCore::BlobResourceHandle::notifyReceiveData):
- platform/network/BlobResourceHandle.h:
- platform/network/curl/CurlCacheEntry.cpp:
(WebCore::CurlCacheEntry::readCachedData):
(WebCore::CurlCacheEntry::loadResponseHeaders):
(WebCore::CurlCacheEntry::loadFileToBuffer):
- platform/network/curl/CurlCacheEntry.h:
- rendering/RenderThemeWin.cpp:
(WebCore::fillBufferWithContentsOfFile):
(WebCore::RenderThemeWin::stringWithContentsOfFile):
Source/WebKit:
- NetworkProcess/cache/NetworkCacheIOChannelCurl.cpp:
(WebKit::NetworkCache::IOChannel::read):
- Shared/PersistencyUtils.cpp:
(WebKit::createForFile):
Source/WTF:
- wtf/FileSystem.cpp:
(WTF::FileSystemImpl::appendFileContentsToFileHandle):
(WTF::FileSystemImpl::readOrMakeSalt):
- wtf/FileSystem.h:
- wtf/glib/FileSystemGlib.cpp:
(WTF::FileSystemImpl::readFromFile):
- wtf/posix/FileSystemPOSIX.cpp:
(WTF::FileSystemImpl::readFromFile):
- wtf/win/FileSystemWin.cpp:
(WTF::FileSystemImpl::readFromFile):
Tools:
- TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
(TestWebKitAPI::readContentsOfFile):
- 9:39 PM Changeset in webkit [278520] by
-
- 9 edits in trunk
Worker.constructor throws an exception when the url param is an empty string
https://bugs.webkit.org/show_bug.cgi?id=226637
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline WPT test now that it is passing.
- web-platform-tests/workers/constructors/Worker/Worker-constructor-expected.txt:
Source/WebCore:
Stop throwing an exception if the Worker constructor gets called with an empty string.
Instead treat it as a relative URL, like Chrome and Firefox do.
No new tests, updated existing ones.
- workers/AbstractWorker.cpp:
(WebCore::AbstractWorker::resolveURL):
LayoutTests:
Update existing tests to reflect behavior change.
- fast/workers/worker-constructor-expected.txt:
- fast/workers/worker-constructor.html:
- http/tests/workers/worker-invalid-url-expected.txt:
- http/tests/workers/worker-invalid-url.html:
- 7:21 PM Changeset in webkit [278519] by
-
- 3 edits in trunk/LayoutTests
[GLIB][GTK] Unreviewed test gardening. Remove flaky tests that have been constantly passing for the last 4000 revisions.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- 7:17 PM Changeset in webkit [278518] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed Windows build fix after r278516.
- platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:
(WebCore::WebCoreAVCFResourceLoader::dataReceived):
- platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.h:
- 7:15 PM Changeset in webkit [278517] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r275765) When ignoring HSTS, sometimes loads fail
https://bugs.webkit.org/show_bug.cgi?id=226670
<rdar://problem/78066692>
Patch by Alex Christensen <achristensen@webkit.org> on 2021-06-04
Reviewed by Chris Dumez.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(setIgnoreHSTS):
Use the value passed in to the function instead of always false.
- 6:16 PM Changeset in webkit [278516] by
-
- 214 edits in trunk
Use Vector<uint8_t> instead of Vector<char> to store bytes in SharedBuffer
https://bugs.webkit.org/show_bug.cgi?id=226623
Reviewed by Darin Adler.
Use Vector<uint8_t> instead of Vector<char> to store bytes in SharedBuffer. Also have SharedBuffer::data()
return aconst uint8_t*instead ofconst char*. This is our preferred type to store bytes.
Source/WebCore:
- Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::consumeFormData):
- Modules/fetch/FetchBodyConsumer.cpp:
(WebCore::packageFormData):
(WebCore::resolveWithTypeAndData):
- Modules/highlight/AppHighlight.h:
(WebCore::AppHighlight::encode const):
- Modules/indexeddb/IDBGetResult.cpp:
(WebCore::IDBGetResult::dataFromBuffer):
- Modules/indexeddb/server/IDBSerialization.cpp:
(WebCore::serializeIDBKeyData):
- Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::didReceiveRawData):
- Modules/mediastream/RTCDataChannel.h:
- Modules/mediastream/RTCDataChannelRemoteHandler.cpp:
(WebCore::RTCDataChannelRemoteHandler::didReceiveRawData):
(WebCore::RTCDataChannelRemoteHandler::sendRawData):
- Modules/mediastream/RTCDataChannelRemoteHandler.h:
- Modules/mediastream/RTCDataChannelRemoteSource.h:
(WebCore::RTCDataChannelRemoteSource::sendRawData):
- Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp:
(WebCore::LibWebRTCDataChannelHandler::sendRawData):
(WebCore::LibWebRTCDataChannelHandler::OnMessage):
- Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h:
- css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::load):
- fileapi/Blob.cpp:
(WebCore::Blob::Blob):
- fileapi/NetworkSendQueue.cpp:
(WebCore::NetworkSendQueue::enqueue):
(WebCore::NetworkSendQueue::processMessages):
- fileapi/NetworkSendQueue.h:
- inspector/NetworkResourcesData.cpp:
(WebCore::NetworkResourcesData::ResourceData::appendData):
(WebCore::NetworkResourcesData::maybeAddResourceData):
- inspector/NetworkResourcesData.h:
- inspector/agents/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::didReceiveData):
- inspector/agents/InspectorPageAgent.cpp:
(WebCore::decodeBuffer):
(WebCore::InspectorPageAgent::dataContent):
- inspector/agents/InspectorPageAgent.h:
- loader/ContentFilter.cpp:
(WebCore::ContentFilter::deliverResourceData):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::continueAfterContentPolicy):
(WebCore::DocumentLoader::maybeCreateArchive):
(WebCore::DocumentLoader::maybeFinishLoadingMultipartContent):
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didFinishLoading):
(WebCore::DocumentThreadableLoader::loadRequest):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadResourceSynchronously):
- loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::didReceiveDataOrBuffer):
- loader/NetscapePlugInStreamLoader.h:
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didReceiveDataOrBuffer):
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didReceiveDataOrBuffer):
- loader/TextResourceDecoder.h:
(WebCore::TextResourceDecoder::decode):
(WebCore::TextResourceDecoder::decodeAndFlush):
- loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::processNewCueData):
- loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
- loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::writeDataToUniqueFileInDirectory):
- loader/archive/mhtml/MHTMLArchive.cpp:
(WebCore::MHTMLArchive::generateMHTMLData):
- loader/archive/mhtml/MHTMLParser.cpp:
(WebCore::MHTMLParser::parseNextPart):
- loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::updateBuffer):
(WebCore::CachedRawResource::finishLoading):
(WebCore::CachedRawResource::didAddClient):
- loader/cache/CachedSVGFont.cpp:
(WebCore::CachedSVGFont::ensureCustomFontData):
- platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::SharedBuffer):
(WebCore::SharedBuffer::create):
(WebCore::SharedBuffer::combineIntoOneSegment const):
(WebCore::SharedBuffer::data const):
(WebCore::SharedBuffer::tryCreateArrayBuffer const):
(WebCore::SharedBuffer::append):
(WebCore::SharedBuffer::DataSegment::data const):
(WebCore::SharedBuffer::DataSegment::size const):
(WebCore::SharedBufferDataView::data const):
(WebCore::utf8Buffer):
- platform/SharedBuffer.h:
- platform/encryptedmedia/clearkey/CDMClearKey.cpp:
(WebCore::extractKeyidsLocationFromCencInitData):
(WebCore::extractKeyidsFromCencInitData):
- platform/graphics/Model.h:
(WebCore::Model::encode const):
- platform/graphics/displaylists/DisplayListItemBuffer.cpp:
(WebCore::DisplayList::ItemBuffer::append):
- platform/graphics/gstreamer/eme/CDMThunder.cpp:
(WebCore::CDMInstanceThunder::setServerCertificate):
(WebCore::ParsedResponseMessage::ParsedResponseMessage):
(WebCore::CDMInstanceSessionThunder::errorCallback):
(WebCore::CDMInstanceSessionThunder::requestLicense):
(WebCore::CDMInstanceSessionThunder::updateLicense):
(WebCore::CDMInstanceSessionThunder::loadSession):
- platform/graphics/opentype/OpenTypeTypes.h:
(WebCore::OpenType::TableBase::isValidEnd):
- platform/mediastream/RTCDataChannelHandler.h:
- platform/mediastream/RTCDataChannelHandlerClient.h:
- platform/mediastream/RTCDataChannelRemoteSourceConnection.h:
- platform/mock/RTCDataChannelHandlerMock.cpp:
(WebCore::RTCDataChannelHandlerMock::sendRawData):
- platform/mock/RTCDataChannelHandlerMock.h:
- platform/network/FormData.cpp:
(WebCore::FormData::asSharedBuffer const):
- platform/network/ResourceHandleClient.cpp:
(WebCore::ResourceHandleClient::didReceiveBuffer):
- platform/network/cocoa/RangeResponseGenerator.mm:
(WebCore::RangeResponseGenerator::giveResponseToTaskIfBytesInRangeReceived):
- platform/text/TextEncoding.h:
(WebCore::TextEncoding::decode const):
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
- xml/XSLTProcessorLibxslt.cpp:
(WebCore::docLoaderFunc):
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::OffsetBuffer::OffsetBuffer):
Source/WebKit:
- Platform/IPC/SharedBufferCopy.h:
(IPC::SharedBufferCopy::data const):
- PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::streamDidReceiveData):
(WebKit::PluginControllerProxy::manualStreamDidReceiveData):
- Shared/PersistencyUtils.cpp:
(WebKit::writeToDisk):
- Shared/WebCoreArgumentCoders.cpp:
(IPC::tryConvertToShareableResourceHandle):
- UIProcess/WebURLSchemeTask.cpp:
(WebKit::WebURLSchemeTask::didComplete):
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveData):
- WebProcess/Network/WebSocketChannel.cpp:
(WebKit::WebSocketChannel::createMessageQueue):
- WebProcess/Network/webrtc/RTCDataChannelRemoteManager.cpp:
(WebKit::RTCDataChannelRemoteManager::sendData):
(WebKit::RTCDataChannelRemoteManager::receiveData):
(WebKit::RTCDataChannelRemoteManager::RemoteSourceConnection::didReceiveRawData):
- WebProcess/Network/webrtc/RTCDataChannelRemoteManager.h:
- WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::parsePostBuffer):
- WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::streamDidReceiveData):
(WebKit::NetscapePlugin::manualStreamDidReceiveData):
- WebProcess/Plugins/Netscape/NetscapePlugin.h:
- WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
(WebKit::NetscapePluginStream::didReceiveData):
(WebKit::NetscapePluginStream::sendJavaScriptStream):
(WebKit::NetscapePluginStream::deliverData):
(WebKit::NetscapePluginStream::deliverDataToFile):
- WebProcess/Plugins/Netscape/NetscapePluginStream.h:
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::PDFPluginStreamLoaderClient::didReceiveData):
(WebKit::PDFPlugin::streamDidReceiveData):
(WebKit::PDFPlugin::manualStreamDidReceiveData):
- WebProcess/Plugins/Plugin.h:
- WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::streamDidReceiveData):
(WebKit::PluginProxy::manualStreamDidReceiveData):
- WebProcess/Plugins/PluginProxy.h:
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::Stream::didReceiveData):
(WebKit::PluginView::manualLoadDidReceiveData):
- WebProcess/Plugins/PluginView.h:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::committedLoad):
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::bufferForType):
Source/WebKitLegacy/mac:
- Plugins/Hosted/HostedNetscapePluginStream.h:
- Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::didReceiveData):
- Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::evaluateJavaScript):
- Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView pluginView:receivedData:]):
- Plugins/WebNetscapePluginStream.h:
- Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::didReceiveData):
- Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView pluginView:receivedData:]):
(-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
Tools:
- TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::checkBuffer):
- 5:57 PM Changeset in webkit [278515] by
-
- 6 edits2 adds in trunk
[iOS] Meaningful click heuristic should account for media state changes
https://bugs.webkit.org/show_bug.cgi?id=226655
rdar://78330664
Reviewed by Tim Horton and Devin Rousso.
Source/WebKit:
Teach the "meaningful click" heuristic about changes to media element state flags. See comments below for more
details.
Test: fast/events/ios/meaningful-click-when-playing-media.html
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::isPlayingMediaDidChange):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::isPlayingMediaDidChange):
Refactor some logic here so that the WebChromeClient calls into WebPage, which then sends an IPC message to the
UI process and additionally calls into a private method for platform-specific logic (see WebPageIOS.mm).
- WebProcess/WebPage/WebPage.h:
Replace
m_didHandleOrPreventMouseDownOrMouseUpEventDuringSyntheticClickwith another flag,
m_currentSyntheticClickMayNotBeMeaningful, that is initially set totrueat the beginning of
WebPage::completeSyntheticClick, and consulted after the events have been dispatched to see if anything has
set it tofalse(currently, this includes only playing media state changes and handled click events by the
page). If the flag is set tofalse, we then consider the click to have been "meaningful", with respect to the
-_webView:didNotHandleTapAsMeaningfulClickAtPoint:UI delegate method.
(WebKit::WebPage::platformIsPlayingMediaDidChange):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::completeSyntheticClick):
(WebKit::WebPage::didHandleOrPreventMouseDownOrMouseUpEvent):
(WebKit::WebPage::platformIsPlayingMediaDidChange):
Make these set
m_currentSyntheticClickMayNotBeMeaningfultofalse.
LayoutTests:
Add a layout test to verify that tapping to play or pause a video triggers "meaningful" synthetic clicks.
- fast/events/ios/meaningful-click-when-playing-media-expected.txt: Added.
- fast/events/ios/meaningful-click-when-playing-media.html: Added.
- 5:24 PM Changeset in webkit [278514] by
-
- 2 edits in trunk/Source/WebKit
Store MediaPlayer using WeakPtr in MediaPlayerPrivateRemote
https://bugs.webkit.org/show_bug.cgi?id=224421
Unreviewed. Address Darin's post commit commnet.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::load):
(WebKit::MediaPlayerPrivateRemote::networkStateChanged):
(WebKit::MediaPlayerPrivateRemote::setReadyState):
(WebKit::MediaPlayerPrivateRemote::readyStateChanged):
(WebKit::MediaPlayerPrivateRemote::volumeChanged):
(WebKit::MediaPlayerPrivateRemote::muteChanged):
(WebKit::MediaPlayerPrivateRemote::timeChanged):
(WebKit::MediaPlayerPrivateRemote::durationChanged):
(WebKit::MediaPlayerPrivateRemote::rateChanged):
(WebKit::MediaPlayerPrivateRemote::playbackStateChanged):
(WebKit::MediaPlayerPrivateRemote::engineFailedToLoad):
(WebKit::MediaPlayerPrivateRemote::characteristicChanged):
(WebKit::MediaPlayerPrivateRemote::sizeChanged):
(WebKit::MediaPlayerPrivateRemote::firstVideoFrameAvailable):
(WebKit::MediaPlayerPrivateRemote::renderingModeChanged):
(WebKit::MediaPlayerPrivateRemote::acceleratedRenderingStateChanged):
(WebKit::MediaPlayerPrivateRemote::addRemoteAudioTrack):
(WebKit::MediaPlayerPrivateRemote::removeRemoteAudioTrack):
(WebKit::MediaPlayerPrivateRemote::addRemoteTextTrack):
(WebKit::MediaPlayerPrivateRemote::removeRemoteTextTrack):
(WebKit::MediaPlayerPrivateRemote::addRemoteVideoTrack):
(WebKit::MediaPlayerPrivateRemote::removeRemoteVideoTrack):
(WebKit::MediaPlayerPrivateRemote::currentPlaybackTargetIsWirelessChanged):
(WebKit::MediaPlayerPrivateRemote::mediaPlayerKeyNeeded):
(WebKit::MediaPlayerPrivateRemote::waitingForKeyChanged):
(WebKit::MediaPlayerPrivateRemote::initializationDataEncountered):
(WebKit::MediaPlayerPrivateRemote::resourceNotSupported):
(WebKit::MediaPlayerPrivateRemote::activeSourceBuffersChanged):
(WebKit::MediaPlayerPrivateRemote::getRawCookies const):
- 5:22 PM Changeset in webkit [278513] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: cannot see experimental settings when inspecting
ServiceWorker
https://bugs.webkit.org/show_bug.cgi?id=226666
Reviewed by Joseph Pecoraro.
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
There are experimental settings that have nothing to do with preview features or CSS. Don't
limit the Experimental pane to only if those things exist.
- 5:16 PM Changeset in webkit [278512] by
-
- 3 edits2 adds in trunk
Web Inspector: Uncaught Exception: undefined is not an object (evaluating 'InspectorBackend.Enum.Page.ResourceType')
https://bugs.webkit.org/show_bug.cgi?id=226664
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
- UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass.prototype.get Enum):
Use the list of all registered domains, not just the active domains, as only commands/events
are able to be filtered by target type.
LayoutTests:
- inspector/protocol/enum.html: Added.
- inspector/protocol/enum-expected.txt: Added.
- 4:57 PM Changeset in webkit [278511] by
-
- 3 edits in trunk/Source/JavaScriptCore
Web Inspector: mark recently added protocol commands/events as page-only
https://bugs.webkit.org/show_bug.cgi?id=226661
Reviewed by Joseph Pecoraro.
- inspector/protocol/CSS.json:
- inspector/protocol/Network.json:
These commands are not implemented in ITML. By not specifying
"targetTypes": ["page"]it's
implicitly saying that the command/event is supported by ITML since the command/event will
fall back to the domain's"targetTypes", which includes ITML.
- 4:44 PM Changeset in webkit [278510] by
-
- 3 edits2 adds in trunk
[JSC] Private static method should define privateClassBrandIdentifier in class-scope
https://bugs.webkit.org/show_bug.cgi?id=226656
rdar://78313139
Reviewed by Keith Miller.
JSTests:
- stress/private-in-error.js: Added.
(shouldThrow):
(x):
(prototype.foo):
- stress/private-static-method-declaration-error.js: Added.
(shouldThrow):
(prototype.get x):
(prototype.foo.D.a):
(prototype.foo.D.prototype.b):
(prototype.foo.D):
(prototype.foo):
Source/JavaScriptCore:
We accidentally made
declaresStaticPrivateMethodalwaysfalse.
This patch fixes that so that we properly define privateClassBrandIdentifier field in the class-scope if static-private-method is defined.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseClass):
- 3:45 PM Changeset in webkit [278509] by
-
- 2 edits in branches/safari-611-branch/Source/WTF
Cherry-pick r278431. rdar://problem/78843971
- 3:45 PM Changeset in webkit [278508] by
-
- 2 edits in branches/safari-611-branch/Source/WTF
Cherry-pick r278321. rdar://problem/78718570
- 3:45 PM Changeset in webkit [278507] by
-
- 2 edits in branches/safari-611-branch/Source/WTF
Cherry-pick r278209. rdar://problem/78595584
- 3:45 PM Changeset in webkit [278506] by
-
- 2 edits in branches/safari-611-branch/Source/WTF
Cherry-pick r278208. rdar://problem/78595584
- 3:45 PM Changeset in webkit [278505] by
-
- 13 edits in branches/safari-611-branch/Source/bmalloc
Cherry-pick r277898. rdar://problem/78888809
- 3:45 PM Changeset in webkit [278504] by
-
- 1 edit in branches/safari-611-branch/Source/WTF/wtf/cocoa/FileSystemCocoa.mm
Cherry-pick r278048. rdar://problem/78467158
- 3:45 PM Changeset in webkit [278503] by
-
- 5 edits in branches/safari-611-branch/Source
Cherry-pick r277881. rdar://problem/78467158
- 3:45 PM Changeset in webkit [278502] by
-
- 13 edits in branches/safari-611-branch/Source
Cherry-pick r274746. rdar://problem/76366123
- 3:27 PM Changeset in webkit [278501] by
-
- 2 edits in trunk
[AppleWin] JSC build failure
https://bugs.webkit.org/show_bug.cgi?id=226659
<rdar://78844190>
Reviewed by Brent Fulgham.
WTF scripts location is not being correctly identified.
- Source/cmake/OptionsAppleWin.cmake:
- 3:17 PM Changeset in webkit [278500] by
-
- 2 edits in trunk/Source/WebKit
Flaky crash under UserMediaCaptureManagerProxy::SourceProxy::~SourceProxy() on the bots
https://bugs.webkit.org/show_bug.cgi?id=226653
Reviewed by Eric Carlson.
The SourceProxy destructor was taking care of calling invalidate() on the SharedRingBufferStorage
before destroying the CARingBuffer on the main thread, to avoid having SourceProxy::storageChanged()
called in the middle of destruction. However, the background thread may still be running at this
point and may reconstruct the RingBuffer right after the invalidate call, causing us to crash
because storageChanged() still gets called in the middle on destruction.
To address the issue, we now make sure to stop the rendering thread before we proceed with the
destruction and invalidate the SharedRingBufferStorage's storage change handler.
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
(WebKit::UserMediaCaptureManagerProxy::SourceProxy::~SourceProxy):
- 3:16 PM Changeset in webkit [278499] by
-
- 1 edit in trunk/Tools/Scripts/webkitpy/common/config/watchlist
Update watchlist to add Ken and myself to ANGLE bugs.
- Scripts/webkitpy/common/config/watchlist:
- 2:21 PM Changeset in webkit [278498] by
-
- 7 edits1 delete in trunk
Enforce a quota in window.sessionStorage
rdar://78507096 and https://bugs.webkit.org/show_bug.cgi?id=226337
Reviewed by Chris Dumez.
Source/WebCore:
Covered by change to existing test.
- page/Page.cpp:
(WebCore::Page::sessionStorage): Make sure the quota for session storage is not "noQuota"
- page/Settings.yaml: Default to 5mb instead of noQuota to match other browsers.
LayoutTests:
- platform/ios-wk1/TestExpectations:
- platform/ios/ios/storage/domstorage/5mb-quota.html: Removed.
- storage/domstorage/quota-expected.txt:
- storage/domstorage/quota.html:
- 2:04 PM Changeset in webkit [278497] by
-
- 8 edits in trunk/Source/WebCore
Move from WebCore::SuccessOr to WTF::Expected
https://bugs.webkit.org/show_bug.cgi?id=226614
Reviewed by Sam Weinig.
The upcoming std::expected is designed for cases like the ones we
are using SuccessOr for, using void for the expected type in a case like
this where it's success or failure. Our WTF::Expected is for our use
while waiting for compilers with std::expected. It was straightforward
to port our uses of SuccessOr to instead use Expected.
- Headers.cmake: Removed SuccessOr.h.
- WebCore.xcodeproj/project.pbxproj: Ditto.
- dom/SuccessOr.h: Emptied out this file for now; delete later.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::canTransitionFromAutoplayToPlay const): Use
Expected for the return type and call makeUnexpected as needed. Also
updated the check of the result from playbackStateChangePermitted to
call Expected::error instead of SuccessOr::value.
(WebCore::HTMLMediaElement::setReadyState): Use Expected::error
instead of SuccessOr::value, and updated local variable name for
greater clarity. Also fixed one call site that had the success check
backwards: The symptom is that it would never log "Autoplay blocked"
in that case, but otherwise seems harmless.
(WebCore::HTMLMediaElement::play): Ditto.
- html/HTMLMediaElement.h: Use Expected for the return type of
canTransitionFromAutoplayToPlay.
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::playbackStateChangePermitted const): Use
Expected for the return type and call makeUnexpected as needed.
- html/MediaElementSession.h: Removed include of SuccessOr.h, and
tweaked coding style a bit. Use Expected for the return type of
playbackStateChangePermitted.
- 1:41 PM Changeset in webkit [278496] by
-
- 6 edits in trunk/Source
Store MediaPlayer using WeakPtr in MediaPlayerPrivateRemote
https://bugs.webkit.org/show_bug.cgi?id=224421
Reviewed by Eric Carlson.
Source/WebCore:
Made it possible to create a WeakPtr of MediaPlayer.
- platform/graphics/MediaPlayer.h:
Source/WebKit:
Made MediaPlayerPrivateRemote::m_player a WeakPtr.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::MediaPlayerPrivateRemote):
(WebKit::MediaPlayerPrivateRemote::prepareForPlayback):
(WebKit::MediaPlayerPrivateRemote::load):
(WebKit::MediaPlayerPrivateRemote::networkStateChanged):
(WebKit::MediaPlayerPrivateRemote::setReadyState):
(WebKit::MediaPlayerPrivateRemote::readyStateChanged):
(WebKit::MediaPlayerPrivateRemote::volumeChanged):
(WebKit::MediaPlayerPrivateRemote::muteChanged):
(WebKit::MediaPlayerPrivateRemote::timeChanged):
(WebKit::MediaPlayerPrivateRemote::durationChanged):
(WebKit::MediaPlayerPrivateRemote::rateChanged):
(WebKit::MediaPlayerPrivateRemote::playbackStateChanged):
(WebKit::MediaPlayerPrivateRemote::engineFailedToLoad):
(WebKit::MediaPlayerPrivateRemote::characteristicChanged):
(WebKit::MediaPlayerPrivateRemote::sizeChanged):
(WebKit::MediaPlayerPrivateRemote::firstVideoFrameAvailable):
(WebKit::MediaPlayerPrivateRemote::renderingModeChanged):
(WebKit::MediaPlayerPrivateRemote::acceleratedRenderingStateChanged):
(WebKit::MediaPlayerPrivateRemote::addRemoteAudioTrack):
(WebKit::MediaPlayerPrivateRemote::removeRemoteAudioTrack):
(WebKit::MediaPlayerPrivateRemote::addRemoteTextTrack):
(WebKit::MediaPlayerPrivateRemote::removeRemoteTextTrack):
(WebKit::MediaPlayerPrivateRemote::addRemoteVideoTrack):
(WebKit::MediaPlayerPrivateRemote::removeRemoteVideoTrack):
(WebKit::MediaPlayerPrivateRemote::currentPlaybackTargetIsWirelessChanged):
(WebKit::MediaPlayerPrivateRemote::mediaPlayerKeyNeeded):
(WebKit::MediaPlayerPrivateRemote::waitingForKeyChanged):
(WebKit::MediaPlayerPrivateRemote::initializationDataEncountered):
(WebKit::MediaPlayerPrivateRemote::resourceNotSupported):
(WebKit::MediaPlayerPrivateRemote::activeSourceBuffersChanged):
(WebKit::MediaPlayerPrivateRemote::getRawCookies const):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
- WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:
(WebKit::MediaPlayerPrivateRemote::MediaPlayerPrivateRemote):
- 1:24 PM Changeset in webkit [278495] by
-
- 2 edits in branches/safari-611-branch/Source/WebCore
Cherry-pick r278000. rdar://problem/78875213
Only create MediaElementSession when necessary
https://bugs.webkit.org/show_bug.cgi?id=226132
Patch by Ian Gilbert <iang@apple.com> on 2021-05-25
Reviewed by Eric Carlson.
Some methods had an unexpected side effect of creating a MediaElementSession.
Modified these to not create one if one does not already exist.
- html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent): (WebCore::HTMLMediaElement::mediaState const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278000 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:24 PM Changeset in webkit [278494] by
-
- 2 edits in branches/safari-611-branch/Source/WebKit
Cherry-pick r278441. rdar://problem/78875140
Fix thread safety issues in [WKShareSheet presentWithParameters]
https://bugs.webkit.org/show_bug.cgi?id=226611
<rdar://77736001>
Reviewed by Ryosuke Niwa.
The code in [WKShareSheet presentWithParameters] was passing WebCore::RawFile objects to another thread.
This wasn't safe since WebCore::RawFile contains a WTF::String and a SharedBuffer, both of which are not
thread safe. Fix this by creating an isolated copy of the fileName String and converting the SharedBuffer
to a NSData before passing them to the background thread.
Also rewrite the code from ObjC to C++ because I felt it was clearer and less error-prone.
- UIProcess/Cocoa/WKShareSheet.mm: (appendFilesAsShareableURLs): (-[WKShareSheet presentWithParameters:inRect:completionHandler:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278441 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:24 PM Changeset in webkit [278493] by
-
- 3 edits2 adds in branches/safari-611-branch
Cherry-pick r277951. rdar://problem/78875422
REGRESSION(r256715): XSLTProcessor does not parse script when transforming to document
https://bugs.webkit.org/show_bug.cgi?id=226087
Reviewed by Darin Adler.
Source/WebCore:
Allow JavaScript if context document is null to match old behavior before r256715.
Test: fast/xsl/xslt-transform-script.html
- dom/Document.cpp: (WebCore::Document::allowsContentJavaScript const):
LayoutTests:
- fast/xsl/xslt-transform-script.html: Added.
- fast/xsl/xslt-transform-script-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:24 PM Changeset in webkit [278492] by
-
- 2 edits in branches/safari-611-branch/Source/WebKit
Cherry-pick r277873. rdar://problem/78875406
[Cocoa] REGRESSION(Sandbox): Font smoothing within Safari doesn't seem to respect AppleFontSmoothing
https://bugs.webkit.org/show_bug.cgi?id=226066
<rdar://problem/72795817>
Reviewed by Per Arne Vollan.
We accidentally blocked access to the relevant defaults database.
It turns out this is untestable. I can't use the actual functionality without actually setting the preference
for the whole user (and all their apps). And, I can't use sandbox_check() to make sure the file is readable
because it's in the user's home directory, so the path to check will be different for every user.
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277873 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:24 PM Changeset in webkit [278491] by
-
- 3 edits2 adds in branches/safari-611-branch
Cherry-pick r277644. rdar://problem/78875252
SHOULD NEVER BE REACHED in FrameSelection::setSelectionWithoutUpdatingAppearance
https://bugs.webkit.org/show_bug.cgi?id=225219
Patch by Frederic Wang <fwang@igalia.com> on 2021-05-18
Reviewed by Ryosuke Niwa.
Source/WebCore:
When FrameSelection::selectFrameElementInParentIfFullySelected sets focus on the parent
frame, that can trigger DOM events, possibly making orphan the newSelection prepared before.
This patch fixes that issue by clearing the selection on that parent frame in such a
situation.
Test: editing/selection/selection-in-iframe-removed-assert.html
- editing/FrameSelection.cpp: (WebCore::FrameSelection::selectFrameElementInParentIfFullySelected): Check if the newSelection became orphan and if so, clear it.
LayoutTests:
Add a regression test.
- editing/selection/selection-in-iframe-removed-assert.html: Copied from editing/selection/selection-in-iframe-removed-crash.html, with an additional requestAnimationFrame.
- editing/selection/selection-in-iframe-removed-assert-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277644 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:24 PM Changeset in webkit [278490] by
-
- 5 edits in branches/safari-611-branch/Source/WebKit
Cherry-pick r277536. rdar://problem/78875336
Replace PlatformCAAnimationRemote::KeyframeValue with Variant
https://bugs.webkit.org/show_bug.cgi?id=225474
Patch by Ian Gilbert <iang@apple.com> on 2021-05-15
Reviewed by Ryosuke Niwa.
KeyframeValue was effectively a Variant. Replaced the existing class with a WTF::Variant.
No test as this does not change code behavior.
- Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder<RefPtr<WebCore::FilterOperation>>::encode): (IPC::ArgumentCoder<RefPtr<WebCore::FilterOperation>>::decode):
- Shared/WebCoreArgumentCoders.h:
- WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.h:
- WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm: (WebKit::animationValueFromKeyframeValue): (WebKit::operator<<): (WebKit::PlatformCAAnimationRemote::KeyframeValue::encode const): Deleted. (WebKit::PlatformCAAnimationRemote::KeyframeValue::decode): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:24 PM Changeset in webkit [278489] by
-
- 2 edits in branches/safari-611-branch/Source/WebKit
Cherry-pick r276514. rdar://problem/78875360
Web Inspector: [Cocoa] WKInspectorResourceURLSchemeHandler needs to serialize cleanup actions
https://bugs.webkit.org/show_bug.cgi?id=224986
<rdar://76768454>
Reviewed by Devin Rousso.
- UIProcess/Inspector/mac/WKInspectorResourceURLSchemeHandler.mm: (-[WKInspectorResourceURLSchemeHandler webView:startURLSchemeTask:]): Do cleanup on the main queue so that it can be serialized with reads.
(-[WKInspectorResourceURLSchemeHandler webView:stopURLSchemeTask:]):
Ensure that all removals from the map are processed before doing a lookup.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276514 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:24 PM Changeset in webkit [278488] by
-
- 2 edits in branches/safari-611-branch/Source/WebCore
Cherry-pick r276359. rdar://problem/78875297
Integrator's note: did some conflict resolution here. Did a partial find-and-replace to update pullSamples as well.
AudioMediaStreamTrackRendererUnit should not have its data zeroed if one track has not enough data
https://bugs.webkit.org/show_bug.cgi?id=224673
Reviewed by Eric Carlson.
AudioMediaStreamTrackRendererUnit may get data from multiple tracks.
If one track has not enough data, AudioSampleDataSource will zero the buffer while it should leave it unchanged.
If all tracks do not have enough data, AudioMediaStreamTrackRendererUnit will have silent output as the first track will actually zero the buffer.
Manually tested.
- platform/audio/cocoa/AudioSampleDataSource.mm: (WebCore::AudioSampleDataSource::pullSamplesInternal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276359 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:24 PM Changeset in webkit [278487] by
-
- 5 edits in branches/safari-611-branch/Source/WebKit
Cherry-pick r275886. rdar://problem/78874996
StorageArea in LocalStorageNamespace can be abandoned
https://bugs.webkit.org/show_bug.cgi?id=224459
Reviewed by Geoffrey Garen.
Remove StorageArea from LocalStorageNamespace if it has no connection (no web page is using it).
- NetworkProcess/WebStorage/LocalStorageNamespace.cpp: (WebKit::LocalStorageNamespace::removeStorageArea):
- NetworkProcess/WebStorage/LocalStorageNamespace.h:
- NetworkProcess/WebStorage/StorageArea.cpp: (WebKit::StorageArea::removeListener):
- NetworkProcess/WebStorage/StorageManagerSet.cpp: (WebKit::StorageManagerSet::removeConnection): (WebKit::StorageManagerSet::disconnectFromStorageArea):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275886 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:24 PM Changeset in webkit [278486] by
-
- 3 edits in branches/safari-611-branch
Cherry-pick r273141. rdar://problem/78875378
Norton Safe Web extension is causing crashes / hangs under [WKRemoteObjectEncoder encodeObject:forKey:]
https://bugs.webkit.org/show_bug.cgi?id=222172
Reviewed by Alex Christensen.
The extension appears to be trying to send a JSValue that is a DOM Node. WebKit makes the following
call to convert it into a NSDictionary:
[[JSValue valueWithJSValueRef:value inContext:[JSContext contextWithJSGlobalContextRef:JSContextGetGlobalContext(context)]] toObject]
JSC very aggressively iterates over all of the properties of the DOM Node and recursively ends up
converting the whole DOM tree with all their properties. This leads to a lot of cycles to as JSC
maintains the JSObject <-> NSObject identity during the conversion (Each time the JSDocument is
serialized, the same NSDictionary* pointer is used to represent it).
The logic introduced in r270559 to detect cycles was flawed because it relied on a NSSet of
NSObject* and [NSSet containsObject:] to detect the cycles. The issue is that [NSSet containsObject:]
doesn't do a simple pointer comparison but instead calls [NSObject isEqual:] which is very
expensive for types like NSDictionary and leads to trouble when the dictionary contains a cycle.
To address this I replaced the NSSet with a WTF::HashSet<NSObject *> so that key lookup ends up
doing a simple pointer comparison.
Even after the previous fix, the extension would still cause massive hangs because it would take
a very long time to try and encode the whole DOM tree with all the properties of each Node (even
without cycles). To address this, we now abort encoding when detecting a cycle instead of encoding
an empty object to break the cycle.
After this change, Safari becomes usable with this extension again. However, there are still much
shorter hangs that occur due to the converting of the JSNode into a JSDictionary via
[JSValue toObject]. We should probably improve this in a follow-up.
Easy way to reproduce the crash / hang:
- Install Norton Safe Web & Norton Password Manager extension (may require a subscription)
- Make sure the extensions are activated and turned on by clicking on their icons next to the URL bar
- Go to https://bugs.webkit.org/attachment.cgi?id=420530&action=edit
- Click on the combo box next to "Review" -> Hang / Crash
No new tests, covered by WebKit.RemoteObjectRegistry API test.
- Shared/API/Cocoa/WKRemoteObjectCoder.mm: (-[WKRemoteObjectEncoder init]): (encodeInvocationArguments): (encodeObject):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273141 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:24 PM Changeset in webkit [278485] by
-
- 8 edits in branches/safari-611-branch/Source
Versioning.
WebKit-7611.3.7
- 12:50 PM Changeset in webkit [278484] by
-
- 13 edits in trunk/Source/WebCore
[css-scroll-snap] Snap offsets and active index are duplicated in ScrollController and ScrollableArea
https://bugs.webkit.org/show_bug.cgi?id=226538
Reviewed by Simon Fraser.
Remove duplicate css-scroll-snap state from ScrollableArea. This state is already
stored in ScrollController, so we do not need to store it also in ScrollableArea.
This change also renames a couple methods so that they have clearer and more
consistent names.
No new tests. This should not change behavior.
- page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks): updateScrollSnapState() is now called
resnapAfterLayout().
- page/scrolling/AsyncScrollingCoordinator.cpp: snapOffsetInfo() is now called
snapOffsetsInfo().
(WebCore::AsyncScrollingCoordinator::setScrollingNodeScrollableAreaGeometry): Ditto.
(WebCore::AsyncScrollingCoordinator::updateScrollSnapPropertiesWithFrameView): Ditto.
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode): Use new method name.
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::updateActiveScrollSnapIndexForOffset): We no longer need to
sync state with Scrollable Area.
(WebCore::ScrollAnimator::setSnapOffsetsInfo): Added this setter which
calls through to ScrollController.
(WebCore::ScrollAnimator::snapOffsetsInfo const): Added this getter which calls through
to ScrollController.
(WebCore::ScrollAnimator::setActiveScrollSnapIndexForAxis): Added this method.
- platform/ScrollAnimator.h: Update method declarations.
- platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::allowsVerticalStretching const): Use new method names.
(WebCore::ScrollAnimatorMac::allowsHorizontalStretching const): Ditto.
- platform/ScrollController.cpp:
(WebCore::ScrollController::setSnapOffsetsInfo): Combined updateScrollSnapState and
updateScrollSnapPoints into this method.
(WebCore::ScrollController::snapOffsetsInfo const): Added this getter.
- platform/ScrollController.h: Update method declarations.
- platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::handleWheelEventForScrolling): We no longer need to sync
from the ScrollAnimator.
(WebCore::ScrollableArea::snapOffsetsInfo const): Renamed this getter.
(WebCore::ScrollableArea::setScrollSnapOffsetInfo): This now calls through to
ScrollController.
(WebCore::ScrollableArea::clearSnapOffsets): Ditto.
(WebCore::ScrollableArea::currentHorizontalSnapPointIndex const): Ditto.
(WebCore::ScrollableArea::currentVerticalSnapPointIndex const): Ditto.
(WebCore::ScrollableArea::setCurrentHorizontalSnapPointIndex): Ditto.
(WebCore::ScrollableArea::setCurrentVerticalSnapPointIndex): Ditto.
(WebCore::ScrollableArea::resnapAfterLayout): Renamed this method and moved
setting the ScrollSnapOffsetsInfo to setScrollSnapOffsetInfo.
(WebCore::ScrollableArea::doPostThumbMoveSnapping): Use new methods to access
scroll snap state and return early if we don't have a ScrollAnimator already.
This was done implicitly in the previous implementation.
- platform/ScrollableArea.h:
- rendering/RenderLayerScrollableArea.cpp: Update method definitions and
remove members that are no longer used.
(WebCore::RenderLayerScrollableArea::updateScrollInfoAfterLayout): Use new method name.
- testing/Internals.cpp:
(WebCore::Internals::scrollSnapOffsets): Ditto.
- 12:34 PM Changeset in webkit [278483] by
-
- 9 edits in trunk/Source/WebCore
Stop using legacy MainThreadTaskQueue in PlatformMediaSessionManager / MediaSessionManagerCocoa
https://bugs.webkit.org/show_bug.cgi?id=226649
Reviewed by Eric Carlson.
Stop using legacy MainThreadTaskQueue in PlatformMediaSessionManager / MediaSessionManagerCocoa.
Media code should be using the HTML event loop whenever possible and can use callOnMainThread()
for global singleton classes that are not associated with a particular document (like
PlatformMediaSessionManager).
Also stop subclassing CanMakeWeakPtr<>. It doesn't make sense since the class is a singleton.
- platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::scheduleUpdateSessionState):
- platform/audio/PlatformMediaSessionManager.h:
- platform/audio/cocoa/MediaSessionManagerCocoa.h:
- platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(WebCore::MediaSessionManagerCocoa::scheduleSessionStatusUpdate):
(WebCore::MediaSessionManagerCocoa::sessionWillEndPlayback):
- platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::mediaServerConnectionDied):
- 12:23 PM Changeset in webkit [278482] by
-
- 12 edits in trunk/Source
Remove the unused
sourceElementIDargument inDocument::updateIsPlayingMediaand related code
https://bugs.webkit.org/show_bug.cgi?id=226650
Reviewed by Chris Dumez.
Source/WebCore:
This
uint64_targument is currently not used for anything. It was originally added in r188030 with the purpose
of mapping to HTMLMediaElements viaHTMLMediaElement::elementWithID(), but that mechanism was entirely removed
in r267885.
It appears that this code has been superceded by (relatively recent) support for the Media Session API.
No change in behavior.
- dom/Document.cpp:
(WebCore::Document::willBeRemovedFromFrame):
(WebCore::Document::updateIsPlayingMedia):
- dom/Document.h:
- page/ChromeClient.h:
(WebCore::ChromeClient::isPlayingMediaDidChange):
- page/Page.cpp:
(WebCore::Page::updateIsPlayingMedia):
- page/Page.h:
Source/WebKit:
Remove more unused code. See WebCore/ChangeLog for more details.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::isPlayingMediaDidChange):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::isPlayingMediaDidChange):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- 12:11 PM Changeset in webkit [278481] by
-
- 6 edits in trunk/Source/WebCore
Port MediaKeySystemAccess & MediaCapabilities to the HTML event loop
https://bugs.webkit.org/show_bug.cgi?id=226646
Reviewed by Eric Carlson.
Port MediaKeySystemAccess & MediaCapabilities to the HTML event loop instead of using
a global Timer. Most of the media code has been ported to the HTML event loop already.
- Modules/encryptedmedia/MediaKeySystemAccess.cpp:
(WebCore::MediaKeySystemAccess::createMediaKeys):
- Modules/encryptedmedia/MediaKeySystemAccess.h:
- Modules/mediacapabilities/MediaCapabilities.cpp:
(WebCore::MediaCapabilities::decodingInfo):
(WebCore::MediaCapabilities::encodingInfo):
- Modules/mediacapabilities/MediaCapabilities.h:
- Modules/mediacapabilities/MediaCapabilities.idl:
- 12:03 PM Changeset in webkit [278480] by
-
- 2 edits in trunk/Source/WebCore
DOMFileSystem::listDirectory() fails to protect |this| when going to the background thread
https://bugs.webkit.org/show_bug.cgi?id=226652
Reviewed by Darin Adler.
- Modules/entriesapi/DOMFileSystem.cpp:
(WebCore::DOMFileSystem::listDirectory):
- 11:59 AM Changeset in webkit [278479] by
-
- 3 edits in trunk/Source/WebCore
Stop using legacy MainThreadTaskQueue in Document::didLogMessage()
https://bugs.webkit.org/show_bug.cgi?id=226645
Reviewed by Darin Adler.
Stop using legacy MainThreadTaskQueue in Document::didLogMessage() and use the HTML
event loop instead.
- dom/Document.cpp:
(WebCore::Document::didLogMessage):
- dom/Document.h:
- 11:52 AM Changeset in webkit [278478] by
-
- 3 edits3 adds in trunk
REGRESSION (maybe r276882): custom properties not available on host on initial paint
https://bugs.webkit.org/show_bug.cgi?id=226574
<rdar://problem/78863643>
Reviewed by Simon Fraser.
Source/WebCore:
We fail to invalidate :host style when switching out of shared resolver after asynchronously
loading a stylesheet into a shadow tree. This happens because the resolver has been cleared and
the invalidation code just bails out if none is present.
Test case by vb@bigdot.de.
Test: fast/shadow-dom/shared-resolver-host-invalidation.html
- style/StyleInvalidator.cpp:
(WebCore::Style::Invalidator::invalidateHostAndSlottedStyleIfNeeded):
Change the assumption so that if we don't have a resolver we always invalidate the host.
The alternative would be to build the resolver and do this accurately but doing that here
seems bit risky. This should be cheap and rare invalidation in any case.
LayoutTests:
- fast/shadow-dom/resources/shared-resolver-host-invalidation.css: Added.
(:host,):
(div):
- fast/shadow-dom/shared-resolver-host-invalidation-expected.html: Added.
- fast/shadow-dom/shared-resolver-host-invalidation.html: Added.
- 11:35 AM Changeset in webkit [278477] by
-
- 29 edits1 delete in trunk
Implement off-by-default experimental feature for PerformanceResourceTiming.transferSize, encodedBodySize, and decodedBodySize
https://bugs.webkit.org/show_bug.cgi?id=226629
Reviewed by Brady Eidson.
LayoutTests/imported/w3c:
- web-platform-tests/navigation-timing/nav2_test_attributes_exist-expected.txt:
- web-platform-tests/navigation-timing/nav2_test_attributes_values-expected.txt:
- web-platform-tests/navigation-timing/secure_connection_start_non_zero.https-expected.txt:
- web-platform-tests/navigation-timing/test_document_onload-expected.txt:
- web-platform-tests/resource-timing/TAO-case-insensitive-null-opaque-origin.sub-expected.txt:
- web-platform-tests/resource-timing/TAO-crossorigin-port.sub-expected.txt:
- web-platform-tests/resource-timing/TAO-null-opaque-origin.sub-expected.txt:
This apparent regression is actually just uncovering an existing failure.
The test expects the sum of many values to not be equal to zero.
It used to be adding undefined to many 0 values, which returned undefined, which is not equal to zero.
Now it's adding 0's and getting 0 which correctly indicates that we are not exposing timing values where we should.
- web-platform-tests/resource-timing/cors-preflight.any-expected.txt:
- web-platform-tests/resource-timing/cors-preflight.any.worker-expected.txt:
- web-platform-tests/resource-timing/idlharness.any-expected.txt:
- web-platform-tests/resource-timing/idlharness.any.worker-expected.txt:
- web-platform-tests/resource-timing/resource-timing-level1.sub-expected.txt:
- web-platform-tests/resource-timing/resource_connection_reuse-expected.txt:
- web-platform-tests/resource-timing/resource_connection_reuse.https-expected.txt:
- web-platform-tests/resource-timing/single-entry-per-resource-expected.txt:
- web-platform-tests/resource-timing/test_resource_timing.https-expected.txt:
- web-platform-tests/service-workers/service-worker/resource-timing-cross-origin.https-expected.txt:
Source/WebCore:
The tests for TAO are entangled with the tests for these properties. Having an implementation helps see what is still broken.
Covered by web platform tests.
- page/PerformanceResourceTiming.cpp:
(WebCore::PerformanceResourceTiming::transferSize const):
(WebCore::PerformanceResourceTiming::encodedBodySize const):
(WebCore::PerformanceResourceTiming::decodedBodySize const):
- page/PerformanceResourceTiming.h:
- page/PerformanceResourceTiming.idl:
Source/WebKit:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]):
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
LayoutTests:
- performance-api/resource-timing-apis-expected.txt:
- platform/mac/imported/w3c/web-platform-tests/resource-timing/test_resource_timing-expected.txt: Removed.
- 11:14 AM Changeset in webkit [278476] by
-
- 3 edits in trunk/Source/JavaScriptCore
Don't emit the NotDouble checks if we're already NotDouble.
Rubber stamped by Saam Barati.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateNotDouble):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::speculateNotDouble):
- 11:02 AM Changeset in webkit [278475] by
-
- 28 edits2 adds in trunk
Make attributedBundleIdendifier a property for WKWebViewConfiguration instead of _WKWebsiteDataStoreConfiguration
https://bugs.webkit.org/show_bug.cgi?id=226548
Source/WebKit:
<rdar://78737547>
Reviewed by Brady Eidson.
We have been putting properties to go into the NSURLSessionConfiguration on the _WKWebsiteDataStoreConfiguration.
This has been ok so far, but now we have an application that needs to run networking attributed to different applications
but sharing the data storage in the same process. We now do what we should've done long ago: put these non-storage-related
properties on the WKWebViewConfiguration.
I introduce WebPageNetworkParameters which currently has only one member, but will soon have more.
I made it so that if multiple WKWebViews with the same data store have the same attributedBundleIdendifier, they share an NSURLSession.
Otherwise, they get their own NSURLSession in a different SessionSet.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::addWebPageNetworkParameters):
(WebKit::NetworkProcess::removeWebPageNetworkParameters):
(WebKit::NetworkProcess::countNonDefaultSessionSets):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::addWebPageNetworkParameters):
(WebKit::NetworkSession::removeWebPageNetworkParameters):
(WebKit::NetworkSession::countNonDefaultSessionSets const):
- NetworkProcess/NetworkSessionCreationParameters.cpp:
(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):
- NetworkProcess/NetworkSessionCreationParameters.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
(WebKit::NetworkSessionCocoa::initializeNSURLSessionsInSet):
(WebKit::NetworkSessionCocoa::SessionSet::initializeEphemeralStatelessSessionIfNeeded):
(WebKit::NetworkSessionCocoa::addWebPageNetworkParameters):
(WebKit::NetworkSessionCocoa::removeWebPageNetworkParameters):
(WebKit::NetworkSessionCocoa::countNonDefaultSessionSets const):
(WebKit::NetworkSessionCocoa::attributedBundleIdentifier const): Deleted.
(WebKit::NetworkSessionCocoa::initializeStandardSessionsInSet): Deleted.
- Shared/WebPageNetworkParameters.cpp: Added.
(WebKit::WebPageNetworkParameters::encode const):
(WebKit::WebPageNetworkParameters::decode):
- Shared/WebPageNetworkParameters.h: Added.
(WebKit::WebPageNetworkParameters::WebPageNetworkParameters):
(WebKit::WebPageNetworkParameters::isHashTableDeletedValue const):
(WebKit::WebPageNetworkParameters::hash const):
(WebKit::WebPageNetworkParameters::operator== const):
(WebKit::WebPageNetworkParameters::attributedBundleIdentifier const):
(WTF::DefaultHash<WebKit::WebPageNetworkParameters>::hash):
(WTF::DefaultHash<WebKit::WebPageNetworkParameters>::equal):
- Sources.txt:
- UIProcess/API/APIPageConfiguration.cpp:
(API::PageConfiguration::copy const):
- UIProcess/API/APIPageConfiguration.h:
(API::PageConfiguration::setAttributedBundleIdentifier):
(API::PageConfiguration::attributedBundleIdentifier const):
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _setAttributedBundleIdentifier:]):
(-[WKWebViewConfiguration _attributedBundleIdentifier]):
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _countNonDefaultSessionSets:]):
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:
(-[_WKWebsiteDataStoreConfiguration setAttributedBundleIdentifier:]): Deleted.
(-[_WKWebsiteDataStoreConfiguration attributedBundleIdentifier]): Deleted.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::~WebPageProxy):
(WebKit::WebPageProxy::initializeWebPage):
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::platformSetNetworkParameters):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::countNonDefaultSessionSets):
- UIProcess/WebsiteData/WebsiteDataStore.h:
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
(WebKit::WebsiteDataStoreConfiguration::copy const):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:
(WebKit::WebsiteDataStoreConfiguration::setSourceApplicationSecondaryIdentifier):
(WebKit::WebsiteDataStoreConfiguration::attributedBundleIdentifier const): Deleted.
(WebKit::WebsiteDataStoreConfiguration::setAttributedBundleIdentifier): Deleted.
- WebKit.xcodeproj/project.pbxproj:
Tools:
Reviewed by Brady Eidson.
- TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST):
- 10:58 AM Changeset in webkit [278474] by
-
- 5 edits in trunk/Source/WTF
Add a way to prefix output of
WTFReportBacktraceto make log filtering easier
https://bugs.webkit.org/show_bug.cgi?id=226390
Reviewed by Megan Gardner.
Often times while debugging I add
WTFLogAlways("<DR> ...")to various places as indicators
that "logic has reached here". This is especially useful when debugging iOS as unlike macOS
there's no console output fromrun-safari, meaning that I have to use system logging,
which is often a deluge of unrelated information. Having "<DR>" as a prefix makes filtering
through the system logging trivial as I can ignore logs that don't have it. Unfortunately,
WTFReportBacktracedoes not have a way to add this prefix, so it becomes much harder to
find in the logs. This patch enables adding a prefix to each line ofWTFReportBacktrace
via a new functionWTFReportBactraceWithPrefix.
- wtf/Assertions.h:
- wtf/Assertions.cpp:
(WTFReportBacktraceWithPrefix): Added.
(WTFPrintBacktraceWithPrefix): Added.
- wtf/StackTrace.h:
(WTF::StackTrace::StackTrace):
- wtf/StackTrace.cpp:
(WTF::StackTrace::dump const):
- 10:46 AM Changeset in webkit [278473] by
-
- 3 edits1 add in trunk
Placate exception checker validation in objectPrototypeHasOwnProperty.
https://bugs.webkit.org/show_bug.cgi?id=226651
rdar://78861296
Reviewed by Keith Miller.
JSTests:
- stress/placate-exception-checker-in-objectPrototypeHasOwnProperty.js: Added.
Source/JavaScriptCore:
- runtime/ObjectPrototype.cpp:
(JSC::objectPrototypeHasOwnProperty):
- 10:23 AM Changeset in webkit [278472] by
-
- 1 edit7 deletes in trunk/LayoutTests
Cleanup unused resources in LayoutTests/storage
https://bugs.webkit.org/show_bug.cgi?id=226226
<rdar://problem/78469934>
Reviewed by Jonathan Bedard.
- storage/domstorage/localstorage/resources/iframe-events-second.html: Removed.
- storage/domstorage/localstorage/resources/private-browsing-3.html: Removed.
- storage/domstorage/localstorage/resources/private-browsing-storage-2.html: Removed.
- storage/domstorage/sessionstorage/resources/iframe-events-second.html: Removed.
- storage/indexeddb/modern/resources/workers-disabled.js: Removed.
- storage/indexeddb/resources/test-data.html: Removed.
- storage/indexeddb/resources/test-data.txt: Removed.
- 10:14 AM Changeset in webkit [278471] by
-
- 2 edits in trunk/Source/WebKit
Avoid wasteful large allocation in SpeechRecognitionRemoteRealtimeMediaSource::setStorage()
https://bugs.webkit.org/show_bug.cgi?id=226644
Reviewed by Eric Carlson.
Avoid wasteful large allocation in SpeechRecognitionRemoteRealtimeMediaSource::setStorage().
setStorage() was setting m_buffer's size to the same size as the RingBuffer (2*sampleRate),
only to resize it to the size of the rendering quantum (512) later in
SpeechRecognitionRemoteRealtimeMediaSource::remoteAudioSamplesAvailable().
- UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp:
(WebKit::SpeechRecognitionRemoteRealtimeMediaSource::setStorage):
- 10:12 AM Changeset in webkit [278470] by
-
- 1 copy in tags/Safari-612.1.16.3
Tag Safari-612.1.16.3.
- 10:10 AM Changeset in webkit [278469] by
-
- 8 edits in branches/safari-612.1.16-branch/Source
Versioning.
WebKit-7612.1.16.3
- 10:06 AM Changeset in webkit [278468] by
-
- 5 edits in trunk/Source/WebKit
Pass NetworkLoadParameters to NetworkDataTaskCocoa constructor
https://bugs.webkit.org/show_bug.cgi?id=226628
Reviewed by Sam Weinig.
No change in behavior. Just pass a parameters object instead of splitting them into separate parameters.
- NetworkProcess/NetworkActivityTracker.h:
(WebKit::NetworkActivityTracker::getPlatformObject const):
(WebKit::NetworkActivityTracker::getPlatformObject): Deleted.
- NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::create):
- NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::didReceiveResponse):
- 9:36 AM Changeset in webkit [278467] by
-
- 2 edits in trunk/Websites/browserbench.org
[MotionMark] Publish r278436 as a part of MotionMark 1.2
https://bugs.webkit.org/show_bug.cgi?id=226626
Reviewed by Simon Fraser.
Controller.filterOutOutliers must pass a compare function to Array.sort()
because it filters an array of numbers.
- MotionMark1.2/tests/resources/main.js:
(filterOutOutliers):
- 9:34 AM Changeset in webkit [278466] by
-
- 6 edits in trunk/Source/WebCore
Use references in font loading code instead of pointers which can never be null
https://bugs.webkit.org/show_bug.cgi?id=226622
Reviewed by Chris Dumez.
CSSFontFace::create()'s CSSFontSelector can never be null. This is clear from
observation of all 3 call sites.
No new tests because there is no behavior change.
- css/CSSFontFace.cpp:
(WebCore::CSSFontFace::create):
- css/CSSFontFace.h:
- css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::ensureLocalFontFacesForFamilyRegistered):
- css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule):
- css/FontFace.cpp:
(WebCore::FontFace::FontFace):
- 9:32 AM Changeset in webkit [278465] by
-
- 12 edits2 adds in trunk
DFG should speculate on CompareStrictEq(@x, @x)
https://bugs.webkit.org/show_bug.cgi?id=226621
Reviewed by Mark Lam.
JSTests:
- microbenchmarks/untyped-stricteq-self.js: Added.
(foo):
- stress/untyped-stricteq-self-fail.js: Added.
(bar):
(foo):
Source/JavaScriptCore:
Introduces a NotDouble: speculation. We use it to speculate on CompareStrictEq(@x, @x).
- bytecode/SpeculatedType.h:
(JSC::isNotDoubleSpeculation):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupCompareStrictEqAndSameValue):
- dfg/DFGNode.h:
(JSC::DFG::Node::shouldSpeculateNotDouble):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::SafeToExecuteEdge::operator()):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateNotDouble):
(JSC::DFG::SpeculativeJIT::speculate):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGUseKind.cpp:
(WTF::printInternal):
- dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
(JSC::DFG::checkMayCrashIfInputIsEmpty):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::speculate):
(JSC::FTL::DFG::LowerDFGToB3::speculateNotDouble):
- 9:08 AM Changeset in webkit [278464] by
-
- 7 edits in trunk/JSTests
Fix tests that fail under executable allocation fuzzing
https://bugs.webkit.org/show_bug.cgi?id=226593
Reviewed by Mark Lam.
- microbenchmarks/memcpy-wasm-large.js:
(typeof.WebAssembly.string_appeared_here.try.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array):
(typeof.WebAssembly.string_appeared_here.catch):
(typeof.WebAssembly.string_appeared_here.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array): Deleted.
- microbenchmarks/memcpy-wasm-medium.js:
(typeof.WebAssembly.string_appeared_here.try.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array):
(typeof.WebAssembly.string_appeared_here.catch):
(typeof.WebAssembly.string_appeared_here.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array): Deleted.
- microbenchmarks/memcpy-wasm-small.js:
(typeof.WebAssembly.string_appeared_here.try.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array):
(typeof.WebAssembly.string_appeared_here.catch):
(typeof.WebAssembly.string_appeared_here.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array): Deleted.
- microbenchmarks/memcpy-wasm.js:
(typeof.WebAssembly.string_appeared_here.try.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array):
(typeof.WebAssembly.string_appeared_here.catch):
(typeof.WebAssembly.string_appeared_here.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array): Deleted.
- stress/bit-op-with-object-returning-int32.js:
(numberOfDFGCompiles):
(bitOr): Deleted.
(bitXor): Deleted.
(bitNot): Deleted.
(bitLShift): Deleted.
- stress/bitwise-not-fixup-rules.js:
(numberOfDFGCompiles):
(let.o.valueOf): Deleted.
- 9:04 AM Changeset in webkit [278463] by
-
- 7 edits in trunk/Source/JavaScriptCore
Drop the FTL(DFG) graph after lowering to B3
https://bugs.webkit.org/show_bug.cgi?id=226556
Reviewed by Phil Pizlo.
The challenge in this patch was dealing with all of the Patchpoints created by FTLLowerDFGToB3: they get a lambda at that time, which they execute at the end of Air, and many of these lambdas were capturing a pointer to some parts of the DFG graph and reading through it when being executed.
In all cases but one it was easily fixed: they were only reading a few bits from a given node, so I just read these bits in FTLLowerDFGToB3, and captured them (by value) instead of the pointer to the node.
The exception was compileCallOrConstructVarargsSpread(): its patchpoint generator was walking through the graph, flattening a tree of PhantomSpread/PhantomNewArrayWithSpread/PhantomNewArrayBuffer/PhantomCreateRest, emitting some code along the way.
We now do this flattening of the tree in FTLLowerDFGToB3, store just enough information to later emit the required code in a vector, and capture that vector in the lambda (through a move capture, which is allowed since C++14). Seestruct VarargsSpreadArgumentToEmitfor the information that we need to store in that vector.
I tested this change by completing a full run of JetStream2 with ASAN.
I also ran the stress tests with "spread" in their name in Debug mode.
- b3/B3SparseCollection.h:
(JSC::B3::SparseCollection::clearAll):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::freeDFGIRAfterLowering):
- dfg/DFGGraph.h:
- ftl/FTLCompile.cpp:
(JSC::FTL::compile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC):
(JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC):
(JSC::FTL::DFG::LowerDFGToB3::getPrivateName):
(JSC::FTL::DFG::LowerDFGToB3::compilePrivateBrandAccess):
(JSC::FTL::DFG::LowerDFGToB3::cachedPutById):
(JSC::FTL::DFG::LowerDFGToB3::compileGetByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileDelBy):
(JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct):
(JSC::FTL::DFG::LowerDFGToB3::compileDirectCallOrConstruct):
(JSC::FTL::DFG::LowerDFGToB3::compileTailCall):
(JSC::FTL::DFG::LowerDFGToB3::VarargsSpreadArgumentToEmit::VarargsSpreadArgumentToEmit):
(JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread):
(JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs):
(JSC::FTL::DFG::LowerDFGToB3::compileCallEval):
(JSC::FTL::DFG::LowerDFGToB3::compileInById):
(JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf):
(JSC::FTL::DFG::LowerDFGToB3::getById):
(JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis):
(JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet):
(JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet):
(JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet):
(JSC::FTL::DFG::LowerDFGToB3::crash):
- 8:58 AM Changeset in webkit [278462] by
-
- 33 edits1 add in trunk
Optimize Function.prototype.toString
https://bugs.webkit.org/show_bug.cgi?id=226418
<rdar://77861846>
Reviewed by Saam Barati.
JSTests:
- microbenchmarks/function-to-string.js: Added.
(f):
(C):
(C.prototype.method1):
(C.prototype.method2):
(test):
(test2):
Source/JavaScriptCore:
Add caching to Function.prototype.toString. This is used heavily in Speedometer2, and repeatedly recomputing a
string which is a constant is costly. We cache the results of toString in all cases except for bound functions.
To make this work for bound functions, we'd need to add a new field they can use for this cache. For other
functions, we cache it on the executable (either NativeExecutable or FunctionExecutable). The reason we can't
do this on the executable for bound functions is that all bound functions share the same executable, but
individual bound functions can have different names. The reason it's valid to cache the results in general is that a
function's name field can't be changed from JS code -- it's non-writable.
This patch also makes Function.prototype.toString an intrinsic in the DFG/FTL. We emit code on the fast path
which reads the cached value if it's present. If not, we call into the slow path, which will compute
the cached value for non bound functions, or compute the result for bound functions.
I added a new microbenchmark that speeds up by >35x:
function-to-string 2197.5952+-30.7118 59.9861+-2.5550 definitely 36.6350x faster
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::getExecutable):
(JSC::DFG::SpeculativeJIT::compileFunctionToString):
(JSC::DFG::SpeculativeJIT::compileGetExecutable):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::getExecutable):
(JSC::FTL::DFG::LowerDFGToB3::compileGetExecutable):
(JSC::FTL::DFG::LowerDFGToB3::compileFunctionToString):
- runtime/FunctionExecutable.cpp:
(JSC::FunctionExecutable::visitChildrenImpl):
(JSC::FunctionExecutable::toStringSlow):
- runtime/FunctionExecutable.h:
- runtime/FunctionExecutableInlines.h:
(JSC::FunctionExecutable::toString):
- runtime/FunctionPrototype.cpp:
(JSC::FunctionPrototype::addFunctionProperties):
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/Intrinsic.cpp:
(JSC::intrinsicName):
- runtime/Intrinsic.h:
- runtime/JSFunction.cpp:
(JSC::JSFunction::toString):
- runtime/JSFunction.h:
- runtime/JSFunctionInlines.h:
(JSC::JSFunction::asStringConcurrently const):
- runtime/JSStringInlines.h:
- runtime/NativeExecutable.cpp:
(JSC::NativeExecutable::toStringSlow):
(JSC::NativeExecutable::visitChildrenImpl):
- runtime/NativeExecutable.h:
- 8:48 AM Changeset in webkit [278461] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r278121): Fix build failure due to weak external symbol
Occurs when building coverage+release builds:
ERROR: symbol _DDHighlightCreateWithRectsInVisibleRectWithStyleScaleAndDirection
The soft-linked symbol was originally added in r259276.
- Configurations/WebCore.unexp:
- Add _DDHighlightCreateWithRectsInVisibleRectWithStyleScaleAndDirection to the list of unexported symbols.
- Also sort symbols in the group alphabetically.
- 8:35 AM Changeset in webkit [278460] by
-
- 2 edits in trunk/Tools
The CMake cache is removed when specifying a build target
https://bugs.webkit.org/show_bug.cgi?id=226642
Reviewed by Jonathan Bedard.
- Scripts/webkitdirs.pm:
(shouldRemoveCMakeCache): Only remove the CMake cache when arguments
that start with a dash change.
- 8:32 AM Changeset in webkit [278459] by
-
- 5 edits2 adds in trunk
[iOS] Long pressing images on 9gag.com fails to present context menus
https://bugs.webkit.org/show_bug.cgi?id=226625
rdar://78136095
Reviewed by Megan Gardner.
Source/WebKit:
Make some small adjustments to context menu logic to allow the context menu to appear when long pressing images
that are inside links (anchor elements) with JavaScript URLs. See below for more details.
Test: fast/events/touch/ios/long-press-on-image-in-javascript-link.html
- UIProcess/ios/WKActionSheetAssistant.mm:
(isJavaScriptURL):
Pull logic that checks for "javascript" URL schemes into a separate helper function, and use it below.
(-[WKActionSheetAssistant _createSheetWithElementActions:defaultTitle:showLinkTitle:]):
(-[WKActionSheetAssistant defaultActionsForLinkSheet:]):
(-[WKActionSheetAssistant defaultActionsForImageSheet:]):
Add
_WKElementActionTypeCopyfor image sheets, even when the target URL is a JavaScript URL; even if the image
is inside a JavaScript URL, we should be capable of triggering the "Copy" action by copying the image data and
the image URL, rather than the JavaScript URL. The change inWebPage::performActionOnElementbelow ensures
that we don't end up copying the JavaScript URL.
(-[WKActionSheetAssistant handleElementActionWithType:element:needsInteraction:]):
Make another minor adjustment to share the imageURL instead of the target URL in the case where the target is a
JavaScript URL.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView continueContextMenuInteraction:]):
Avoid bailing early with
continueWithContextMenuConfiguration(nil);in the case where we're long pressing an
image inside a JavaScript link.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::performActionOnElement):
Push the JavaScript URL check in
defaultActionsForImageSheetdown intoWebPage::performActionOnElement, when
copying an image. This tweak allows us to still show the Copy action for images in JavaScript URLs, but just
copy the image and image URL instead of the JavaScript URL.
LayoutTests:
Add a layout test to verify that a context menu is presented when long pressing an image inside a link with a
JavaScript URL as anhref.
- fast/events/touch/ios/long-press-on-image-in-javascript-link-expected.txt: Added.
- fast/events/touch/ios/long-press-on-image-in-javascript-link.html: Added.
- 8:03 AM Changeset in webkit [278458] by
-
- 11 edits in trunk/Source
Fix more GCC warnings
https://bugs.webkit.org/show_bug.cgi?id=226193
Patch by Michael Catanzaro <Michael Catanzaro> on 2021-06-04
Reviewed by Adrian Perez de Castro.
Source/JavaScriptCore:
Fix -Wreturn-type warnings due to missing RELEASE_ASSERT_NOT_REACHED() where expected.
- jit/JITPlan.cpp:
(JSC::JITPlan::tier const):
- jit/ThunkGenerators.cpp:
(JSC::virtualThunkFor):
Source/WebCore:
Fix -Wunused-parameter warnings. Also, fix a -Wredundant-move warning.
- platform/animation/TimingFunction.cpp:
(WebCore::TimingFunction::createFromCSSText):
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContextCairo::getCTM const):
(WebCore::GraphicsContextCairo::roundToDevicePixels):
- platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::supportsGLX const):
Source/WebKit:
Remove redundant WTFMove that's triggering GCC's -Wredundant-move.
- Platform/IPC/ArgumentCoder.h:
(IPC::ArgumentCoder::decode):
Source/WTF:
Add missing static_cast<void*> required to suppress GCC's -Wclass-memaccess warning when
intentionally not running constructors/destructors. There's already a static_assert to
ensure this is safe, which is better than usual for us.
- wtf/SmallSet.h:
- 7:48 AM Changeset in webkit [278457] by
-
- 19 edits2 moves in trunk/Source/WebCore
Rename MainThreadGenericEventQueue to EventLoopEventQueue
https://bugs.webkit.org/show_bug.cgi?id=226618
Reviewed by Ryosuke Niwa.
Rename MainThreadGenericEventQueue to EventLoopEventQueue, now that it is based on the HTML
event loop (and not a global Timer).
- Modules/mediasession/MediaSessionCoordinator.cpp:
(WebCore::MediaSessionCoordinator::MediaSessionCoordinator):
- Modules/mediasession/MediaSessionCoordinator.h:
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::MediaSource):
- Modules/mediasource/MediaSource.h:
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::SourceBuffer):
- Modules/mediasource/SourceBuffer.h:
- Modules/mediasource/SourceBufferList.cpp:
(WebCore::SourceBufferList::SourceBufferList):
- Modules/mediasource/SourceBufferList.h:
- Modules/remoteplayback/RemotePlayback.cpp:
(WebCore::RemotePlayback::RemotePlayback):
- Modules/remoteplayback/RemotePlayback.h:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/EventLoopEventQueue.cpp: Renamed from Source/WebCore/dom/GenericEventQueue.cpp.
(WebCore::EventLoopEventQueue::EventLoopEventQueue):
(WebCore::EventLoopEventQueue::enqueueEvent):
(WebCore::EventLoopEventQueue::dispatchOneEvent):
(WebCore::EventLoopEventQueue::close):
(WebCore::EventLoopEventQueue::cancelAllEvents):
(WebCore::EventLoopEventQueue::hasPendingActivity const):
(WebCore::EventLoopEventQueue::hasPendingEventsOfType const):
(WebCore::EventLoopEventQueue::stop):
(WebCore::EventLoopEventQueue::activeDOMObjectName const):
(WebCore::EventLoopEventQueue::create):
- dom/EventLoopEventQueue.h: Renamed from Source/WebCore/dom/GenericEventQueue.h.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
- html/HTMLMediaElement.h:
- html/track/TrackListBase.cpp:
(WebCore::TrackListBase::TrackListBase):
- html/track/TrackListBase.h:
- 7:22 AM Changeset in webkit [278456] by
-
- 8 edits in trunk
[GTK][WPE] Expose setCORSDisablingPatterns
https://bugs.webkit.org/show_bug.cgi?id=219995
Source/WebKit:
Patch by Jan-Michael Brummer <jan.brummer@tabos.org> on 2021-06-04
Reviewed by Carlos Garcia Campos.
- UIProcess/API/glib/WebKitWebView.cpp:
(webkit_web_view_set_cors_allowlist):
- UIProcess/API/gtk/WebKitWebView.h:
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
- UIProcess/API/wpe/WebKitWebView.h:
- UIProcess/API/wpe/docs/wpe-1.0-sections.txt:
Tools:
Patch by Michael Catanzaro <Michael Catanzaro> on 2021-06-04
Reviewed by Carlos Garcia Campos.
- TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewCORSAllowlist):
(beforeAll):
- 7:19 AM Changeset in webkit [278455] by
-
- 3 edits in trunk/Tools
[ews] Speed up ews status bubble loading speed
https://bugs.webkit.org/show_bug.cgi?id=214821
Reviewed by Jonathan Bedard.
This change does a trade-off between accuracy of queue position vs status-bubble loading time.
This would reduce the calculations needed for queue position computation, but the position
might not be accurate if the queue has a backlog of more than 12 hours (which shouldn't be
the case normally). If the backlog is less than 12 hours, then the queue position will be accurate.
Also, this patch separates the logic of when to hide the status-bubble. Status-bubble will now be hidden
after 7 days of no build. However, if patch is waiting for more than 12 hours, but less than 7 days,
instead of computing the exact queue position, we do not display queue position.
- CISupport/ews-app/ews/views/statusbubble.py:
(StatusBubble):
(StatusBubble._build_bubble):
(StatusBubble._queue_position):
- 7:04 AM Changeset in webkit [278454] by
-
- 8 edits in trunk/Tools
[run-webkit-tests] Use webkitcorepy's TaskPool
https://bugs.webkit.org/show_bug.cgi?id=226234
<rdar://problem/78471695>
Reviewed by Dewei Zhu.
- Scripts/run-webkit-tests: Stop using multiprocessing_bootstrap.
- Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(setup_shard): Run setup in Worker process.
(handle_started_test): Notify parent process that a test has started.
(run_shard): Run test shard in Worker process.
(handle_finished_test): Notify parent process that a test has finished.
(teardown_shard): Teardown worker process metadata.
(LayoutTestRunner.init): Make printer public.
(LayoutTestRunner.run_tests): Use TaskPool to spawn multiple workers.
(LayoutTestRunner.update_summary_with_result): Renamed from
_update_summary_with_result, strip unused arguments.
(LayoutTestRunner._annotate_results_with_additional_failures): Strip
unused arguments.
(LayoutTestRunner.start_servers): Make printer public.
(LayoutTestRunner.stop_servers): Ditto.
(Worker.setup): Instantiate singleton worker.
(Worker.teardown): Teardown singleton worker.
(Worker.init): Pass port object, remove unused variable.
(Worker.run_tests): Use TaskPool process name.
(Worker.stop): Ditto.
(Worker._kill_driver): Use port options, use TaskPool process name.
(Worker._run_test_with_or_without_timeout): Ditto.
(Worker._clean_up_after_test): Use TaskPool process name.
(Worker._run_test_in_another_thread): Ditto.
(Worker._run_test_in_this_thread): Ditto.
(Worker._run_single_test): Use port options.
(LayoutTestRunner._worker_factory): Deleted.
(LayoutTestRunner._handle_did_spawn_worker): Deleted.
(LayoutTestRunner._update_summary_with_result): Deleted.
(LayoutTestRunner.handle): Deleted.
(LayoutTestRunner._handle_started_test): Deleted.
(LayoutTestRunner._handle_finished_test): Deleted.
(LayoutTestRunner._handle_finished_test_group): Deleted.
(Worker.del): Deleted.
(Worker.start): Deleted.
(Worker.handle): Deleted.
(Worker._run_test): Deleted.
(Worker._finished_test_group): Deleted.
- Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
(LayoutTestRunnerTests.test_update_summary_with_result): The runner keeps track of it's state.
- Scripts/webkitpy/layout_tests/run_webkit_tests.py: Remove call to main.
- Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RunTest.serial_test_basic): Run all tests in the same process.
(RunTest.test_hung_thread): Deleted.
- Scripts/webkitpy/port/base.py:
(Port.worker_startup_delay_secs): Deleted.
- Scripts/webkitpy/port/test.py:
(Port.worker_startup_delay_secs): Deleted.
- 5:04 AM Changeset in webkit [278453] by
-
- 3 edits in trunk/Source/WebCore
Reintroduce logging useful for debugging in AudioSampleDataSource
https://bugs.webkit.org/show_bug.cgi?id=226578
Reviewed by Eric Carlson.
Removed logging was actually useful for debugging audio issues.
Reintroduce it by restrict logging to ensure we do not introduce too much audio glitches by doing so:
- If we pull samples and do not have enough data, enter more-data-needed mode, and log once that data is missing.
- If we pull samples and do not have enough data and we are already in more-data-needed mode, do not log anything.
- If we push samples and are in more-data-needed mode, reset mode to none and log this information.
The mode check happens in two different threads so might be a bit racy but at worst, this reduces accuracy of the logging.
No change of behavior.
- platform/audio/cocoa/AudioSampleDataSource.h:
- platform/audio/cocoa/AudioSampleDataSource.mm:
(WebCore::AudioSampleDataSource::pushSamplesInternal):
(WebCore::AudioSampleDataSource::pullSamplesInternal):
- 4:05 AM Changeset in webkit [278452] by
-
- 4 edits2 adds in trunk
[Win] Implement scroll-snap-points on Windows
https://bugs.webkit.org/show_bug.cgi?id=142503
<rdar://problem/20093603>
Reviewed by Simon Fraser.
.:
- Source/cmake/OptionsWin.cmake: Stop disabling scroll-snap for Apple Win port.
LayoutTests:
- platform/win/TestExpectations: Unskip scroll-snap tests.
- platform/win/css3/scroll-snap/scroll-snap-wheel-event-expected.txt: Added. Windows doesn't
seem to support horizontal wheel events.
- 3:43 AM Changeset in webkit [278451] by
-
- 2 edits in trunk/Tools
[GTK] MiniBrowser: add support for saving multiple tabs in session state
https://bugs.webkit.org/show_bug.cgi?id=225763
Reviewed by Michael Catanzaro.
- MiniBrowser/gtk/BrowserWindow.c:
(browserWindowSaveSession):
(browserWindowTryClose):
(browserWindowFinalize):
(browserWindowDispose):
(browser_window_load_session):
- 1:03 AM Changeset in webkit [278450] by
-
- 3 edits in trunk/Source/WebCore
[css-flexbox] Sanitize the aspect ratio handling code
https://bugs.webkit.org/show_bug.cgi?id=226324
Reviewed by Javier Fernandez.
Sanitized the code that detects whether aspect ratio should be used to compute sizes. The
useChildAspectRatio() method was removed as it was very misleading, the name was a bad choice
and it was very confusing. A new method childHasComputableAspectRatio() was added. It verifies
whether the item has an aspect ratio (of any type) and whether we could compute it.
Also two calls to detect whether the cross size was definite (or considered definite) were
unified in a single method.
No new tests as there is no change in behaviour.
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::childHasComputableAspectRatio const): New method which takes the
checks from useChildAspectRatio.
(WebCore::RenderFlexibleBox::childHasComputableAspectRatioAndCrossSizeIsConsideredDefinite):
New method doing 3 different checks.
(WebCore::RenderFlexibleBox::childCrossSizeShouldUseContainerCrossSize const): Removed the aspect
ratio checks which make no sense there.
(WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild): Use the new method.
(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax): Ditto.
(WebCore::RenderFlexibleBox::useChildAspectRatio): Deleted.
- rendering/RenderFlexibleBox.h: