Timeline
Aug 19, 2021:
- 11:20 PM Changeset in webkit [281296] by
-
- 8 edits in trunk
Implement top layer rendering bits
https://bugs.webkit.org/show_bug.cgi?id=84796
Reviewed by Simon Fraser.
Enabled relevant WPTs. Some WPTs need extra layout work.
Source/WebCore:
- dom/Document.cpp:
(WebCore::Document::addToTopLayer):
(WebCore::Document::removeFromTopLayer):
- dom/Element.cpp:
(WebCore::Element::isInTopLayerWillChange):
(WebCore::Element::isInTopLayerDidChange):
- dom/Element.h:
- rendering/RenderLayer.cpp:
(WebCore::canCreateStackingContext):
(WebCore::RenderLayer::stackingContext const):
(WebCore::RenderLayer::rebuildZOrderLists):
(WebCore::RenderLayer::collectLayers):
(WebCore::RenderLayer::enclosingAncestorForPosition const):
(WebCore::RenderLayer::establishesTopLayer const):
(WebCore::RenderLayer::establishesTopLayerWillChange):
(WebCore::RenderLayer::establishesTopLayerDidChange):
- rendering/RenderLayer.h:
LayoutTests:
- 10:15 PM Changeset in webkit [281295] by
-
- 18 edits in trunk
[:has() pseudo-class] Basic support
https://bugs.webkit.org/show_bug.cgi?id=228894
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/selectors/has-basic-expected.txt:
- web-platform-tests/css/selectors/has-relative-argument-expected.txt:
- web-platform-tests/css/selectors/parsing/parse-has-expected.txt:
- web-platform-tests/dom/nodes/Element-closest-expected.txt:
Source/WebCore:
This patch adds basic support for :has() pseudo-class, https://drafts.csswg.org/selectors/#has-pseudo.
The initial implementation is very inefficient. There is no support for invalidation yet.
The feature is disabled by default.
- css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText const):
Serialization.
- css/CSSSelector.h:
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne const):
Selector matching using nested SelectorChecker.
- css/SelectorPseudoClassAndCompatibilityElementMap.in:
- css/parser/CSSParserContext.cpp:
(WebCore::operator==):
(WebCore::add):
- css/parser/CSSParserContext.h:
- css/parser/CSSParserSelector.h:
(WebCore::CSSParserSelector::setPseudoClassType):
- css/parser/CSSSelectorParser.cpp:
(WebCore::CSSSelectorParser::consumeForgivingSelectorList):
Add a template version of the forgiving parsing function.
(WebCore::CSSSelectorParser::consumeForgivingComplexSelectorList):
Use it for complex selector lists.
(WebCore::CSSSelectorParser::consumeForgivingRelativeSelectorList):
And the new relative selector lists.
(WebCore::CSSSelectorParser::consumeRelativeSelector):
Parse relative selectors like "> foo".
(WebCore::CSSSelectorParser::consumePseudo):
(WebCore::CSSSelectorParser::consumeComplexForgivingSelectorList): Deleted.
- css/parser/CSSSelectorParser.h:
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
No compiler support yet.
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
Add off-by-default HasPseudoClassEnabled preference value.
- 9:53 PM Changeset in webkit [281294] by
-
- 9 edits in trunk/Source/WebCore
The fast text codepath does not handle run initial advances
https://bugs.webkit.org/show_bug.cgi?id=227979
Reviewed by Alan Bujtas.
This is the next step to delete the complex text codepath from Cocoa ports.
The initial advance contributes to the layout width of text. Its purpose is to move
all the visually successive glyphs to the right. For the leftmost run, WidthIterator
saves this initial advance to the GlyphBuffer, because knowing it is necessary to
compute the paint location of glyphs (inside GlyphBuffer::flatten()). For all other
runs other than the leftmost run, those runs' initial advance is added to the advance
width of whichever glyph ends up being just to the left of the run. In LTR, this is
the last glyph of the last (logical) run, whereas in RTL this is the first glyph of
the next (logical) run.
Because this is just adding infrastructure, it doesn't add any tests yet. This will be
tested when we delete the complex text codepath.
- platform/graphics/ComplexTextController.h: Because we're going to stop using
ComplexTextController, we should move this (presumably helpful) comment somewhere
where it will be accessible to the Cocoa ports. This would be GlyphBuffer::flatten().
- platform/graphics/Font.cpp:
(WebCore::Font::applyTransforms const): Return the initial advance.
- platform/graphics/Font.h: Ditto.
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::widthOfTextRange const):
(WebCore::FontCascade::widthForSimpleText const): Make sure that the initial advance
contributes to layout width.
(WebCore::FontCascade::layoutSimpleText const): The initial advance is actually NOT
supposed to point directly to the first glyph's paint position. See
https://bugs.webkit.org/show_bug.cgi?id=228180.
(WebCore::FontCascade::drawEmphasisMarks const):
- platform/graphics/GlyphBuffer.h:
(WebCore::GlyphBuffer::flatten):
(WebCore::GlyphBuffer::isFlattened const):
- platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::applyFontTransforms): Return the initial advance.
(WebCore::expandWithInitialAdvance):
(WebCore::WidthIterator::applyInitialAdvance): This implements the logic above, where
the initial advance of non-leftmost runs get added to the visually previous glyph's
advance. For LTR, we can just add it directly to the previously-recorded glyph advance.
However, for RTL, we have to save the initial advance to a variable, which is named
m_leftoverInitialAdvance, and apply it when we encounter the next run. This is because
WidthIterator encounters run in logical order.
(WebCore::WidthIterator::commitCurrentFontRange):
(WebCore::WidthIterator::finalize): For RTL, if the last run has an initial advance,
we need to save it to the GlyphBuffer's initial advance field. We know if the last run
has an initial advance because there will still be data in m_leftoverInitialAdvance
left over.
- platform/graphics/WidthIterator.h:
- platform/graphics/coretext/FontCoreText.cpp:
(WebCore::Font::applyTransforms const): Return the initial advance.
- 9:07 PM Changeset in webkit [281293] by
-
- 7 edits1 move in trunk
[Cocoa] Stop honoring any dot-prefixed font names
https://bugs.webkit.org/show_bug.cgi?id=228177
Reviewed by Sam Weinig.
Source/WebCore:
Dot-prefixed fonts are intentionally unsupported. We should stop supporting them.
If authors want to access the various system fonts, they can use system-ui,
ui-serif, ui-monospace, or ui-rounded.
Test: fast/text/font-lookup-dot-prefix-case-sensitive.html
- platform/cocoa/VersionChecks.h:
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::isDotPrefixedForbiddenFont):
(WebCore::platformFontLookupWithFamily):
LayoutTests:
- fast/text/font-lookup-dot-prefix-case-sensitive-expected.html: Renamed from LayoutTests/fast/text/font-lookup-dot-prefix-case-sensitive-expected-mismatch.html.
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- 8:53 PM Changeset in webkit [281292] by
-
- 2 edits in trunk/Source/WebCore
[IFC][Integration] The root inlinebox's style is always the IFC's root style
https://bugs.webkit.org/show_bug.cgi?id=228062
Reviewed by Antti Koivisto.
This is in preparation for keeping the inline box structure private to the layout code.
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::computeLineLevelVisualAdjustmentsForRuns const):
- 8:21 PM Changeset in webkit [281291] by
-
- 11 edits6 adds1 delete in trunk
[Cocoa] Stop treating the system font as a non-variable font
https://bugs.webkit.org/show_bug.cgi?id=228176
Reviewed by Sam Weinig.
Source/WebCore:
Modern versions of macOS and iOS can treat the system font as a variable font,
and be able to apply weights like "342" instead of just "300" or "400".
Tests: fast/text/variable-system-font-2.html
fast/text/variable-system-font.html
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::preparePlatformFont):
Source/WTF:
- wtf/PlatformUse.h:
LayoutTests:
Update tests.
- fast/text/resources/Ahem-trak.ttf: Added. This is a font which has a trak table.
- fast/text/trak-optimizeLegibility-expected-mismatch.html: Added.
- fast/text/trak-optimizeLegibility-expected.txt: Removed.
- fast/text/trak-optimizeLegibility.html:
- fast/text/variable-system-font-2-expected-mismatch.html: Added.
- fast/text/variable-system-font-2.html: Added.
- fast/text/variable-system-font-expected-mismatch.html: Added.
- fast/text/variable-system-font.html: Added.
- svg/dom/altGlyph-dom-expected.txt:
- svg/dom/resources/altGlyph-dom.js:
- 7:46 PM Changeset in webkit [281290] by
-
- 12 edits in trunk/Source/WebKit
Use an ObjectIdentifier<> for text checker requests
https://bugs.webkit.org/show_bug.cgi?id=229302
Reviewed by Wenson Hsieh.
Introduce TextCheckerRequestID and use it to identify text checker requests in a type-safe
way.
- Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
(headers_for_type):
- Shared/IdentifierTypes.h:
- UIProcess/TextCheckerCompletion.cpp:
(WebKit::TextCheckerCompletion::create):
(WebKit::TextCheckerCompletion::TextCheckerCompletion):
- UIProcess/TextCheckerCompletion.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestCheckingOfString):
(WebKit::WebPageProxy::didFinishCheckingText):
(WebKit::WebPageProxy::didCancelCheckingText):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::requestCheckingOfString):
(WebKit::generateTextCheckingRequestID): Deleted.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::addTextCheckingRequest):
(WebKit::WebPage::didFinishCheckingText):
(WebKit::WebPage::didCancelCheckingText):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 7:35 PM Changeset in webkit [281289] by
-
- 2 edits in trunk/Source/WebKit
Fix the apple internal build after r281277
https://bugs.webkit.org/show_bug.cgi?id=229100
<rdar://problem/82145920>
Reviewed by Myles C. Maxfield.
Update code guarded by
USE(APPLE_INTERNAL_SDK), such that it works with aVector<SandboxExtension::Handle>.
Preserve the existing behavior of appendinghandlesandidsin reverse order, but leave a FIXME questioning
the need for this.
- UIProcess/UserMediaProcessManager.cpp:
(WebKit::UserMediaProcessManager::willCreateMediaStream):
- 6:41 PM Changeset in webkit [281288] by
-
- 2 edits in trunk/Source/WebCore
Touchbar not showing time scrubbing
https://bugs.webkit.org/show_bug.cgi?id=229269
rdar://81349236
Reviewed by Jer Noble.
AVKit uses canSeek to determine when to show the time scrubber
in the touch bar. This was a synthesized method determined on weither the video
is seekable and has a seekable range set.
Should the value of either boolean change which would impact the final value of
[AVTouchBarPlaybackControlsControlling canSeek] , no observers would be called.
Add the appropriate obj-c methods to explicitly set a dependency between properties
willChange/didChange.
Been unable to reproduce the problem programatically, the issue is highly timing
dependent.
An API test will be added with https://bugs.webkit.org/show_bug.cgi?id=229286.
- platform/mac/WebPlaybackControlsManager.mm:
(+[WebPlaybackControlsManager keyPathsForValuesAffectingCanSeek]):
(+[WebPlaybackControlsManager keyPathsForValuesAffectingContentDuration]):
(-[WebPlaybackControlsManager setSeekableTimeRanges:]):
(+[WebPlaybackControlsManager keyPathsForValuesAffectingValueCanBeginTouchBarScrubbing]):
- 6:12 PM Changeset in webkit [281287] by
-
- 1 copy in tags/Safari-612.1.28.4
Tag Safari-612.1.28.4.
- 5:38 PM Changeset in webkit [281286] by
-
- 1 edit1 add1 delete in trunk/Tools
[build.webkit.org] Port old unit test with the expected build steps to the new buildbot
https://bugs.webkit.org/show_bug.cgi?id=229311
Reviewed by Aakash Jain.
Port the test that checked every worker and the expected steps to the new buildbot version.
Also delete the file steps_unittest_old.py because the gross of the other tests contained in
this old file are already ported in the current steps_unittests.py
- CISupport/build-webkit-org/factories_unittest.py: Added.
(TestExpectedBuildSteps):
(TestExpectedBuildSteps.setUp):
(TestExpectedBuildSteps.test_all_expected_results):
(TestExpectedBuildSteps.test_unnecessary_expected_results):
- CISupport/build-webkit-org/steps_unittest_old.py: Removed.
- 5:37 PM Changeset in webkit [281285] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Remove redundant inlineBoxEndSet in InlineFormattingContext::computeGeometryForLineContent
https://bugs.webkit.org/show_bug.cgi?id=228054
Reviewed by Antti Koivisto.
It's not used anymore.
- layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
- 5:12 PM Changeset in webkit [281284] by
-
- 7 edits in trunk
Implement Crypto.randomUUID()
https://bugs.webkit.org/show_bug.cgi?id=229240
Reviewed by Geoff Garen.
LayoutTests/imported/w3c:
Rebaseline WPT tests that are now passing.
- web-platform-tests/WebCryptoAPI/randomUUID.https.any-expected.txt:
- web-platform-tests/WebCryptoAPI/randomUUID.https.any.worker-expected.txt:
Source/WebCore:
Implement Crypto.randomUUID():
Chrome already implements this and Firefox seems to be working on it
(https://bugzilla.mozilla.org/show_bug.cgi?id=1705264).
No new tests, rebaselined existing tests.
- page/Crypto.cpp:
(WebCore::Crypto::randomUUID const):
- page/Crypto.h:
- page/Crypto.idl:
- 4:58 PM Changeset in webkit [281283] by
-
- 3 edits in trunk/Source/WebCore
Remove unused RenderLayerCompositor member variable
https://bugs.webkit.org/show_bug.cgi?id=229257
Reviewed by Alan Bujtas.
m_inPostLayoutUpdate was unused.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateCompositingLayers):
- rendering/RenderLayerCompositor.h:
- 4:53 PM Changeset in webkit [281282] by
-
- 2 edits in trunk/LayoutTests
[iOS] 3 imported/w3c/web-platform-tests/css/css-typed-om/ tests are flaky failure.
<rdar://82147623>.
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 4:25 PM Changeset in webkit [281281] by
-
- 3 edits in trunk/LayoutTests
[Mac, iOS Release] imported/w3c/web-platform-tests/worklets/layout-worklet-csp.https.html is a flaky failure.
<rdar://82146367>.
Unreviewed test gardening.
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- 4:21 PM Changeset in webkit [281280] by
-
- 5 edits in trunk/Source/WebCore
[LFC][IFC] Remove redundant LineBox functions
https://bugs.webkit.org/show_bug.cgi?id=228046
Reviewed by Sam Weinig.
The line box's contentLogicalWidth always matches the root inlinebox's logical width.
- layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
- layout/formattingContexts/inline/InlineFormattingGeometry.cpp:
(WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::computeLineBoxHeightAndAlignInlineLevelBoxesVertically):
- layout/formattingContexts/inline/InlineLineBox.cpp:
(WebCore::Layout::LineBox::LineBox):
- layout/formattingContexts/inline/InlineLineBox.h:
(WebCore::Layout::LineBox::logicalRect const):
(WebCore::Layout::LineBox::logicalWidth const): Deleted.
(WebCore::Layout::LineBox::logicalHeight const): Deleted.
(WebCore::Layout::LineBox::logicalTopLeft const): Deleted.
(WebCore::Layout::LineBox::logicalSize const): Deleted.
(WebCore::Layout::LineBox::contentLogicalWidth const): Deleted.
- 4:17 PM Changeset in webkit [281279] by
-
- 32 edits10 deletes in trunk
[iOS] Remove support for the meaningful tap heuristic
https://bugs.webkit.org/show_bug.cgi?id=229298
rdar://82130066
Reviewed by Tim Horton.
Source/WebCore:
See WebKit ChangeLog for more details.
- page/ChromeClient.h:
(WebCore::ChromeClient::didHandleOrPreventMouseDownOrMouseUpEvent): Deleted.
- page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
Source/WebKit:
Remove all support for the meaningful tap heuristic, which was used to allow users to toggle tab pill visibility
in earlier versions of the Safari redesign. As of the latest iOS 15 beta, this heuristic is no longer necessary,
so we don't need this SPI support anymore.
- UIProcess/API/APIUIClient.h:
(API::UIClient::didNotHandleTapAsClick):
(API::UIClient::didTapAtPoint): Deleted.
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h:
- UIProcess/API/ios/WKWebViewTestingIOS.mm:
(-[WKWebView _didTapAtPoint:withResult:]): Deleted.
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::didTapAtPoint): Deleted.
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::didTapAtPoint): Deleted.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::didTapAtPoint): Deleted.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::didHandleOrPreventMouseDownOrMouseUpEvent): Deleted.
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::isPlayingMediaDidChange):
- WebProcess/WebPage/WebPage.h:
Drive-by fix: initialize
m_appHighlightsVisibleusing the correct type.
(WebKit::WebPage::platformNeedsLayoutForEditorState const):
(WebKit::WebPage::prepareToRunModalJavaScriptDialog):
(WebKit::WebPage::didHandleOrPreventMouseDownOrMouseUpEvent): Deleted.
(WebKit::WebPage::platformIsPlayingMediaDidChange): Deleted.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::completeSyntheticClick):
(WebKit::WebPage::attemptSyntheticClick):
(WebKit::WebPage::handleTwoFingerTapAtPoint):
(WebKit::WebPage::commitPotentialTapFailed):
(WebKit::WebPage::clearSelectionAfterTapIfNeeded):
(WebKit::isProbablyMeaningfulClick): Deleted.
(WebKit::WebPage::didHandleOrPreventMouseDownOrMouseUpEvent): Deleted.
(WebKit::WebPage::platformIsPlayingMediaDidChange): Deleted.
Tools:
Remove test runner support for testing the meaningful tap heuristic.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::installDidHandleTapCallback): Deleted.
(WTR::TestRunner::callDidHandleTapCallback): Deleted.
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::didHandleTap): Deleted.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didHandleTap): Deleted.
- WebKitTestRunner/TestInvocation.h:
- WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView _didTapAtPoint:withResult:]): Deleted.
LayoutTests:
Remove all layout tests that exercised the meaningful tap heuristic.
- fast/events/ios/did-not-handle-meaningful-click-expected.txt: Removed.
- fast/events/ios/did-not-handle-meaningful-click.html: Removed.
- fast/events/ios/meaningful-click-when-focusing-body-expected.txt: Removed.
- fast/events/ios/meaningful-click-when-focusing-body.html: Removed.
- fast/events/ios/meaningful-click-when-playing-media-expected.txt: Removed.
- fast/events/ios/meaningful-click-when-playing-media.html: Removed.
- fast/events/ios/meaningful-click-when-tapping-draggable-content-expected.txt: Removed.
- fast/events/ios/meaningful-click-when-tapping-draggable-content.html: Removed.
- fast/events/ios/non-meaningful-click-when-tapping-document-expected.txt: Removed.
- fast/events/ios/non-meaningful-click-when-tapping-document.html: Removed.
- 4:13 PM Changeset in webkit [281278] by
-
- 5 edits in trunk/Source
Remove has_include guard for _UIDatePickerOverlayPresentation
https://bugs.webkit.org/show_bug.cgi?id=227298
rdar://79970171
Reviewed by Tim Horton.
Source/WebKit:
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/ios/forms/WKDateTimeInputControl.mm:
(-[WKDateTimePicker showDateTimePicker]):
Source/WTF:
- wtf/PlatformHave.h:
- 4:02 PM Changeset in webkit [281277] by
-
- 36 edits in trunk/Source/WebKit
Use Vector<SandboxExtension::Handle> instead of SandboxExtension::HandleArray
https://bugs.webkit.org/show_bug.cgi?id=229100
Patch by Alex Christensen <achristensen@webkit.org> on 2021-08-19
Reviewed by Chris Dumez.
No change in behavior. Just more modern code.
- GPUProcess/GPUProcessCreationParameters.cpp:
(WebKit::GPUProcessCreationParameters::decode):
- GPUProcess/GPUProcessCreationParameters.h:
- NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):
- Platform/IPC/FormDataReference.h:
(IPC::FormDataReference::encode const):
(IPC::FormDataReference::decode):
- Shared/Cocoa/LoadParametersCocoa.mm:
(WebKit::LoadParameters::platformDecode):
- Shared/Cocoa/SandboxExtensionCocoa.mm:
(WebKit::createHandlesForResources):
(WebKit::SandboxExtension::createReadOnlyHandlesForFiles):
(WebKit::SandboxExtension::createHandlesForMachLookup):
(WebKit::SandboxExtension::createHandlesForIOKitClassExtensions):
(WebKit::SandboxExtension::consumePermanently):
(WebKit::SandboxExtension::HandleArray::HandleArray): Deleted.
(WebKit::SandboxExtension::HandleArray::~HandleArray): Deleted.
(WebKit::SandboxExtension::HandleArray::allocate): Deleted.
(WebKit::SandboxExtension::HandleArray::append): Deleted.
(WebKit::SandboxExtension::HandleArray::operator[]): Deleted.
(WebKit::SandboxExtension::HandleArray::operator[] const): Deleted.
(WebKit::SandboxExtension::HandleArray::size const): Deleted.
(WebKit::SandboxExtension::HandleArray::encode const): Deleted.
(WebKit::SandboxExtension::HandleArray::decode): Deleted.
- Shared/Databases/IndexedDB/WebIDBResult.cpp:
(WebKit::WebIDBResult::encode const):
(WebKit::WebIDBResult::decode):
- Shared/Databases/IndexedDB/WebIDBResult.h:
(WebKit::WebIDBResult::WebIDBResult):
(WebKit::WebIDBResult::handles const):
- Shared/LoadParameters.h:
- Shared/SandboxExtension.h:
(WebKit::SandboxExtension::Handle::decode):
(WebKit::SandboxExtension::createReadOnlyHandlesForFiles):
(WebKit::SandboxExtension::consumePermanently):
(WebKit::SandboxExtension::HandleArray::at): Deleted.
(WebKit::SandboxExtension::HandleArray::HandleArray): Deleted.
(WebKit::SandboxExtension::HandleArray::~HandleArray): Deleted.
(WebKit::SandboxExtension::HandleArray::allocate): Deleted.
(WebKit::SandboxExtension::HandleArray::append): Deleted.
(WebKit::SandboxExtension::HandleArray::size const): Deleted.
(WebKit::SandboxExtension::HandleArray::operator[] const): Deleted.
(WebKit::SandboxExtension::HandleArray::operator[]): Deleted.
(WebKit::SandboxExtension::HandleArray::begin): Deleted.
(WebKit::SandboxExtension::HandleArray::end): Deleted.
(WebKit::SandboxExtension::HandleArray::begin const): Deleted.
(WebKit::SandboxExtension::HandleArray::end const): Deleted.
(WebKit::SandboxExtension::HandleArray::encode const): Deleted.
(WebKit::SandboxExtension::HandleArray::decode): Deleted.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::createSandboxExtensionsIfNeeded):
(WebKit::WebPageProxy::createNetworkExtensionsSandboxExtensions):
- UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
(WebKit::WebPasteboardProxy::getPasteboardPathnamesForType):
- UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::unblockAccessibilityServerIfNeeded):
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::performDragOperation):
- UIProcess/UserMediaProcessManager.cpp:
(WebKit::UserMediaProcessManager::willCreateMediaStream):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::performDragOperation):
(WebKit::WebPageProxy::performDragControllerAction):
(WebKit::WebPageProxy::processNextQueuedMouseEvent):
(WebKit::WebPageProxy::createNetworkExtensionsSandboxExtensions):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPasteboardProxy.h:
- UIProcess/WebPasteboardProxy.messages.in:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::initializeNewWebProcess):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView dropInteraction:performDrop:]):
- WebProcess/MediaStream/MediaDeviceSandboxExtensions.cpp:
(WebKit::MediaDeviceSandboxExtensions::MediaDeviceSandboxExtensions):
(WebKit::MediaDeviceSandboxExtensions::encode const):
(WebKit::MediaDeviceSandboxExtensions::decode):
- WebProcess/MediaStream/MediaDeviceSandboxExtensions.h:
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::getPathnamesForType):
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::consumeNetworkExtensionSandboxExtensions):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::didReceivePolicyDecision):
(WebKit::WebPage::performDragControllerAction):
(WebKit::WebPage::extendSandboxForFilesFromOpenPanel):
(WebKit::WebPage::consumeSandboxExtensions):
(WebKit::WebPage::consumeNetworkExtensionSandboxExtensions):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::unblockPreferenceService):
(WebKit::WebProcess::unblockServicesRequiredByAccessibility):
- 3:48 PM Changeset in webkit [281276] by
-
- 14 edits1 add in trunk/Source/WebKit
Replace the uint64_t used to identify taps with an ObjectIdentifier<> type
https://bugs.webkit.org/show_bug.cgi?id=229278
Reviewed by Wenson Hsieh.
Interaction code used "uint64_t requestID" to identify taps, but there are other
things that used "uint64_t requestID", which may result in bugs.
Fix by using a strongly typed ObjectIdentifier<TapIdentifierType> to identify taps.
This is defined in IdentifierTypes.h since I expect to add more of them.
- Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
(headers_for_type):
- Shared/IdentifierTypes.h: Added.
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::disableDoubleTapGesturesDuringTapIfNecessary):
(WebKit::PageClientImpl::handleSmartMagnificationInformationForPotentialTap):
(WebKit::PageClientImpl::didGetTapHighlightGeometries):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:nodeHasBuiltInClickHandling:]):
(-[WKContentView _disableDoubleTapGesturesDuringTapIfNecessary:]):
(-[WKContentView _handleSmartMagnificationInformationForPotentialTap:renderRect:fitEntireRect:viewportMinimumScale:viewportMaximumScale:nodeIsRootLevel:]):
(-[WKContentView nextTapIdentifier]):
(-[WKContentView _highlightLongPressRecognized:]):
(-[WKContentView _twoFingerSingleTapGestureRecognized:]):
(-[WKContentView _singleTapIdentified:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::handleTwoFingerTapAtPoint):
(WebKit::WebPageProxy::potentialTapAtPosition):
(WebKit::WebPageProxy::tapHighlightAtPosition):
(WebKit::WebPageProxy::didGetTapHighlightGeometries):
(WebKit::WebPageProxy::disableDoubleTapGesturesDuringTapIfNecessary):
(WebKit::WebPageProxy::handleSmartMagnificationInformationForPotentialTap):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::sendTapHighlightForNodeIfNecessary):
(WebKit::WebPage::handleTwoFingerTapAtPoint):
(WebKit::WebPage::potentialTapAtPosition):
(WebKit::WebPage::tapHighlightAtPosition):
- 3:32 PM Changeset in webkit [281275] by
-
- 2 edits in trunk/Tools
Turn on TestWebKitAPI.WKAttachmentTests.CopyAndPasteBetweenWebViews as it is now passing again.
https://bugs.webkit.org/show_bug.cgi?id=204969
Reviewed by Tim Horton.
- TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST):
- 3:28 PM Changeset in webkit [281274] by
-
- 15 edits in trunk
Rename AccessibilityUIElement::setSelectedVisibleTextRange to setSelectedTextMarkerRange for naming consistency and maintainability.
https://bugs.webkit.org/show_bug.cgi?id=229290
<rdar://problem/82128453>
Reviewed by Chris Fleizach.
Tools:
Renamed this method for consistency and to reflect what it is actually
doing. The goal is to avoid confusion with methods for VisiblePosition,
VisibleSelection and so forth, which are Core objects not exposed to AX
clients.
- DumpRenderTree/AccessibilityUIElement.cpp:
(setSelectedTextMarkerRangeCallback):
(AccessibilityUIElement::setSelectedTextMarkerRange):
(AccessibilityUIElement::getJSClass):
(setSelectedVisibleTextRangeCallback): Deleted.
(AccessibilityUIElement::setSelectedVisibleTextRange): Deleted.
- DumpRenderTree/AccessibilityUIElement.h:
- DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::setSelectedTextMarkerRange):
(AccessibilityUIElement::setSelectedVisibleTextRange): Deleted.
- DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::setSelectedTextMarkerRange):
(AccessibilityUIElement::setSelectedVisibleTextRange): Deleted.
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::setSelectedTextMarkerRange):
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange): Deleted.
- WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::setSelectedTextMarkerRange):
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange): Deleted.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::setSelectedTextMarkerRange):
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange): Deleted.
- WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp:
(WTR::AccessibilityUIElement::setSelectedTextMarkerRange):
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange): Deleted.
LayoutTests:
Updated all test files to use new name.
- accessibility/mac/selected-visible-position-range.html:
- accessibility/mac/selection-sync.html:
- accessibility/mac/wk1-set-selected-text-marker-range-input-element.html:
- 3:25 PM Changeset in webkit [281273] by
-
- 5 edits in trunk/Source/WebKitLegacy
Remove old unused code and out of date comments.
https://bugs.webkit.org/show_bug.cgi?id=229210
Reviewed by Anders Carlsson.
Source/WebKitLegacy/ios:
- WebKit.iOS.exp:
Source/WebKitLegacy/mac:
- WebView/WebView.mm:
- WebView/WebViewPrivate.h:
- 3:23 PM Changeset in webkit [281272] by
-
- 2 edits in trunk/Source/WebCore
[Line layout] "zero width space" (U+200B) is a breaking space
https://bugs.webkit.org/show_bug.cgi?id=227858
Reviewed by Antti Koivisto.
This is a workaround for handling mismatching prior-context content in break iterators.
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::endsWithSoftWrapOpportunity):
- 2:59 PM Changeset in webkit [281271] by
-
- 5 edits in trunk/Source/WebCore
[LFC][IFC] Add support for negative horizontal margin (inline box)
https://bugs.webkit.org/show_bug.cgi?id=227837
Reviewed by Antti Koivisto.
When building up the line for line breaking, each inline item is placed adjacent with no gaps
in-between the neighboring entries. They are considered atomic with their margins, padding, borders and content width.
Later when we form the inline runs out of these entries, we offset them by their horizontal margin values.
- layout/formattingContexts/inline/InlineLine.cpp:
(WebCore::Layout::Line::appendInlineBoxStart):
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForChild):
- layout/integration/LayoutIntegrationCoverage.h:
- 2:25 PM Changeset in webkit [281270] by
-
- 5 edits in trunk/Source/WTF
[WTF] Fix static analyzer warnings for clang tidy bugprone-move-forwarding-reference checker
<https://webkit.org/b/229114>
Reviewed by Darin Adler.
- wtf/Deque.h:
(WTF::inlineCapacity>::appendAndBubble):
- wtf/Scope.h:
(WTF::ScopeExit::ScopeExit):
- wtf/ScopedLambda.h:
(WTF::scopedLambda):
- wtf/SharedTask.h:
(WTF::createSharedTask):
- Replace WTFMove() with std::forward<>().
- 1:50 PM Changeset in webkit [281269] by
-
- 8 edits in branches/safari-612-branch/Source
Versioning.
WebKit-7612.2.1
- 1:42 PM Changeset in webkit [281268] by
-
- 44 edits8 deletes in branches/safari-612.1.29-branch
Revert "Add support for RTCDtlsTransport"
This reverts commit r281225.
- 1:42 PM Changeset in webkit [281267] by
-
- 3 edits in branches/safari-612.1.29-branch/Source/WebCore
Revert "RTCPeerConnection::m_transceiverSet does not need to be allocated separately from its RTCPeerConnection"
This reverts commit r281231.
- 1:42 PM Changeset in webkit [281266] by
-
- 24 edits in branches/safari-612.1.29-branch
Revert "Implement ::backdrop pseudo element"
This reverts commit r281229.
- 1:42 PM Changeset in webkit [281265] by
-
- 3 edits in branches/safari-612.1.29-branch/Source/WebCore
Revert "Port HTMLDetailsElement to use modern event handling code"
This reverts commit r281230.
- 1:36 PM Changeset in webkit [281264] by
-
- 1 copy in branches/safari-612.1.29-branch
New branch.
- 1:29 PM Changeset in webkit [281263] by
-
- 44 edits8 deletes in branches/safari-612-branch
Revert "Add support for RTCDtlsTransport"
This reverts commit r281225.
- 1:29 PM Changeset in webkit [281262] by
-
- 3 edits in branches/safari-612-branch/Source/WebCore
Revert "RTCPeerConnection::m_transceiverSet does not need to be allocated separately from its RTCPeerConnection"
This reverts commit r281231.
- 1:29 PM Changeset in webkit [281261] by
-
- 24 edits in branches/safari-612-branch
Revert "Implement ::backdrop pseudo element"
This reverts commit r281229.
- 1:29 PM Changeset in webkit [281260] by
-
- 3 edits in branches/safari-612-branch/Source/WebCore
Revert "Port HTMLDetailsElement to use modern event handling code"
This reverts commit r281230.
- 1:02 PM Changeset in webkit [281259] by
-
- 16 edits in trunk
[LFC][IFC] Add support for overflow-wrap: anywhere
https://bugs.webkit.org/show_bug.cgi?id=227695
LayoutTests/imported/w3c:
Reviewed by Antti Koivisto.
- web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-span-002-expected.txt:
- web-platform-tests/css/css-text/parsing/overflow-wrap-computed-expected.txt:
- web-platform-tests/css/css-text/parsing/overflow-wrap-valid-expected.txt:
- web-platform-tests/css/css-text/parsing/word-wrap-computed-expected.txt:
- web-platform-tests/css/css-text/parsing/word-wrap-valid-expected.txt:
Source/WebCore:
Reviewed by Antti Koivisto.
Adjust the line breaking logic in IFC to support "overflow-wrap: anywhere".
From the line breaking point of view, "anywhere" and "break-word" work the same way
(i.e. an unbreakable content can be broken at an arbitrary position if there are no other, previous break points in the line).
https://drafts.csswg.org/css-text-3/#overflow-wrap-property
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator OverflowWrap const):
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
- layout/formattingContexts/inline/InlineContentBreaker.cpp:
(WebCore::Layout::InlineContentBreaker::wordBreakBehavior const):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::breakWords const):
- rendering/style/RenderStyleConstants.cpp:
(WebCore::operator<<):
- rendering/style/RenderStyleConstants.h:
- rendering/style/StyleRareInheritedData.h:
LayoutTests:
Reviewed by Antti Koivisto.
- TestExpectations: Progressions.
- 12:58 PM Changeset in webkit [281258] by
-
- 15 edits in trunk/Source
Remove more non-inclusive language from Source
https://bugs.webkit.org/show_bug.cgi?id=229230
Patch by Alex Christensen <achristensen@webkit.org> on 2021-08-19
Reviewed by Myles C. Maxfield.
Source/WebCore:
No change in behavior.
- WebCore.order:
- features.json:
Source/WebInspectorUI:
- UserInterface/External/three.js/three.js:
(return.parseTrackName):
(parseTrackName):
- UserInterface/Views/ConsoleMessageView.js:
(WI.ConsoleMessageView.prototype._formatWithSubstitutionString.styleFormatter):
(WI.ConsoleMessageView.prototype._formatWithSubstitutionString.isAllowedProperty):
(WI.ConsoleMessageView.prototype._formatWithSubstitutionString.isWhitelistedProperty): Deleted.
- UserInterface/Views/DOMTreeElement.js:
(WI.DOMTreeElement.prototype.populateDOMNodeContextMenu):
Source/WebKit:
- mac/WebKit2.order:
Source/WebKitLegacy/mac:
- WebKit.order:
- WebView/WebViewPrivate.h:
Source/WTF:
- icu/unicode/uspoof.h:
This comment change comes from upstream ICU.
- wtf/URL.h:
- 12:46 PM Changeset in webkit [281257] by
-
- 3 edits in trunk/Tools
[run-webkit-tests] Handle json crash logs (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=229288
<rdar://problem/77074039>
Reviewed by Alexey Proskuryakov.
- Scripts/webkitpy/common/system/crashlogs.py:
(CrashLogs._parse_darwin_crash_log): Attempt to parse crash logs as json, since Monterey .ips
(CrashLogs._find_newest_log_darwin.is_crash_log):
- Scripts/webkitpy/common/system/crashlogs_unittest.py:
- 12:44 PM Changeset in webkit [281256] by
-
- 1 copy in branches/safari-612-branch
New branch.
- 11:56 AM Changeset in webkit [281255] by
-
- 2 edits in trunk/LayoutTests
[iOS 15 wk2] storage/indexeddb/dont-wedge-private.html is a flaky failure.
rdar://82134088.
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 11:24 AM Changeset in webkit [281254] by
-
- 11 edits in trunk/Source
Rename Element::clientRect() which does not return a value in web-exposed "client" coordinates
https://bugs.webkit.org/show_bug.cgi?id=229243
Reviewed by Wenson Hsieh.
The result of Element::clientRect() is in the coordinate space of the root view,
not in the space of the Element's Frame, so does not match the other functions on Element
with "client" in the name.
Rename to Element::boundingBoxInRootViewCoordinates() for clarity.
Source/WebCore:
- dom/Element.cpp:
(WebCore::Element::boundingBoxInRootViewCoordinates const):
(WebCore::Element::clientRect const): Deleted.
- dom/Element.h:
- html/MediaElementSession.cpp:
(WebCore::isElementMainContentForPurposesOfAutoplay):
(WebCore::isElementRectMostlyInMainFrame):
- page/Page.cpp:
(WebCore::Page::editableElementsInRect const):
Source/WebKit:
- WebProcess/WebCoreSupport/WebValidationMessageClient.cpp:
(WebKit::WebValidationMessageClient::showValidationMessage):
(WebKit::WebValidationMessageClient::updateValidationBubbleStateIfNeeded):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::contextForElement const):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::isObscuredElement):
(WebKit::WebPage::textInputContextsInRect):
Source/WebKitLegacy/mac:
- WebCoreSupport/WebValidationMessageClient.mm:
(WebValidationMessageClient::showValidationMessage):
(WebValidationMessageClient::updateValidationBubbleStateIfNeeded):
- 11:12 AM Changeset in webkit [281253] by
-
- 2 edits in trunk/LayoutTests
[ Win EWS ] http/tests/security/no-javascript-refresh-spaces.py is flaky crashing.
https://bugs.webkit.org/show_bug.cgi?id=229300
Unreviewed test gardening.
- platform/win/TestExpectations:
- 11:05 AM Changeset in webkit [281252] by
-
- 4 edits in trunk
Top layer: handle display: contents and non out-of-flow position values
https://bugs.webkit.org/show_bug.cgi?id=229093
Reviewed by Simon Fraser.
From: https://fullscreen.spec.whatwg.org/#new-stacking-layer
If its specified display property is contents, it computes to block.
If its specified position property is not absolute or fixed, it computes to absolute.
Test: imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-display-contents.html
Source/WebCore:
- style/StyleAdjuster.cpp:
(WebCore::Style::Adjuster::adjust const):
(WebCore::Style::Adjuster::adjustDisplayContentsStyle const):
LayoutTests:
- 10:45 AM Changeset in webkit [281251] by
-
- 8 edits43 copies4 adds1 delete in trunk/LayoutTests
Re-import html/semantics/interactive-elements/the-dialog-element WPT - August 19th 2021
https://bugs.webkit.org/show_bug.cgi?id=229297
Unreviewed.
Also removed LayoutTests/imported/blink/dialog since the tests are now in the WPT repo.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-descendant-selector-expected.html: Renamed from LayoutTests/imported/blink/dialog/backdrop-descendant-selector-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-descendant-selector.html: Renamed from LayoutTests/imported/blink/dialog/backdrop-descendant-selector.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-does-not-inherit-expected.html: Renamed from LayoutTests/imported/blink/dialog/backdrop-does-not-inherit-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-does-not-inherit.html: Renamed from LayoutTests/imported/blink/dialog/backdrop-does-not-inherit.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-dynamic-display-none-expected.html: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-dynamic-display-none.html: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-dynamic-style-change-expected.html: Renamed from LayoutTests/imported/blink/dialog/backdrop-dynamic-style-change-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-dynamic-style-change.html: Renamed from LayoutTests/imported/blink/dialog/backdrop-dynamic-style-change.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-in-flow-expected.html: Renamed from LayoutTests/imported/blink/dialog/backdrop-in-flow-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-in-flow.html: Renamed from LayoutTests/imported/blink/dialog/backdrop-in-flow.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-stacking-order-expected.html: Renamed from LayoutTests/imported/blink/dialog/backdrop-stacking-order-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-stacking-order.html: Renamed from LayoutTests/imported/blink/dialog/backdrop-stacking-order.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering.html:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-cancel-with-input.html:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialogs-with-no-backdrop-expected.html: Renamed from LayoutTests/imported/blink/dialog/dialogs-with-no-backdrop-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialogs-with-no-backdrop.html: Renamed from LayoutTests/imported/blink/dialog/dialogs-with-no-backdrop.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dont-share-style-to-top-layer-expected.html: Renamed from LayoutTests/imported/blink/dialog/dont-share-style-to-top-layer-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dont-share-style-to-top-layer.html: Renamed from LayoutTests/imported/blink/dialog/dont-share-style-to-top-layer.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/element-removed-from-top-layer-has-original-position-expected.html: Renamed from LayoutTests/imported/blink/dialog/element-removed-from-top-layer-has-original-position-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/element-removed-from-top-layer-has-original-position.html: Renamed from LayoutTests/imported/blink/dialog/element-removed-from-top-layer-has-original-position.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-node-is-not-highlighted-expected.html: Renamed from LayoutTests/imported/blink/dialog/inert-node-is-not-highlighted-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-node-is-not-highlighted.html: Renamed from LayoutTests/imported/blink/dialog/inert-node-is-not-highlighted.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-backdrop-expected.html: Renamed from LayoutTests/imported/blink/dialog/modal-dialog-backdrop-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-backdrop.html: Renamed from LayoutTests/imported/blink/dialog/modal-dialog-backdrop.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-display-contents-expected.html: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-display-contents.html: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-generated-content-expected.html: Renamed from LayoutTests/imported/blink/dialog/modal-dialog-generated-content-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-generated-content.html: Renamed from LayoutTests/imported/blink/dialog/modal-dialog-generated-content.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-in-replaced-renderer-expected.html: Renamed from LayoutTests/imported/blink/dialog/modal-dialog-in-replaced-renderer-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-in-replaced-renderer.html: Renamed from LayoutTests/imported/blink/dialog/modal-dialog-in-replaced-renderer.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-in-table-column-expected.html: Renamed from LayoutTests/imported/blink/dialog/modal-dialog-in-table-column-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-in-table-column.html: Renamed from LayoutTests/imported/blink/dialog/modal-dialog-in-table-column.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-sibling-expected.html: Renamed from LayoutTests/imported/blink/dialog/modal-dialog-sibling-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-sibling.html: Renamed from LayoutTests/imported/blink/dialog/modal-dialog-sibling.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/removed-element-is-removed-from-top-layer-expected.html: Renamed from LayoutTests/imported/blink/dialog/removed-element-is-removed-from-top-layer-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/removed-element-is-removed-from-top-layer.html: Renamed from LayoutTests/imported/blink/dialog/removed-element-is-removed-from-top-layer.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/resources/dialog.css: Renamed from LayoutTests/imported/blink/dialog/resources/dialog.css.
(.pseudodialog):
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/resources/w3c-import.log:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-containing-block-expected.html: Renamed from LayoutTests/imported/blink/dialog/top-layer-containing-block-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-containing-block.html: Renamed from LayoutTests/imported/blink/dialog/top-layer-containing-block.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-display-none-expected.html: Renamed from LayoutTests/imported/blink/dialog/top-layer-display-none-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-display-none.html: Renamed from LayoutTests/imported/blink/dialog/top-layer-display-none.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-nesting-expected.html: Renamed from LayoutTests/imported/blink/dialog/top-layer-nesting-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-nesting.html: Renamed from LayoutTests/imported/blink/dialog/top-layer-nesting.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-stacking-correct-order-remove-readd-expected.html: Renamed from LayoutTests/imported/blink/dialog/top-layer-stacking-correct-order-remove-readd-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-stacking-correct-order-remove-readd.html: Renamed from LayoutTests/imported/blink/dialog/top-layer-stacking-correct-order-remove-readd.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-stacking-dynamic-expected.html: Renamed from LayoutTests/imported/blink/dialog/top-layer-stacking-dynamic-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-stacking-dynamic.html: Renamed from LayoutTests/imported/blink/dialog/top-layer-stacking-dynamic.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-stacking-expected.html: Renamed from LayoutTests/imported/blink/dialog/top-layer-stacking-expected.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-stacking.html: Renamed from LayoutTests/imported/blink/dialog/top-layer-stacking.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log:
LayoutTests:
https://github.com/web-platform-tests/wpt/commit/02c0e1b2b1b316a20d5377a202d83799794ce510
- 10:23 AM Changeset in webkit [281250] by
-
- 1 edit in trunk/Source/WebCore/Configurations/WebCoreTestSupport.xcconfig
Build fix after r281245.
Link with Metal.framework.
- Configurations/WebCoreTestSupport.xcconfig:
- 10:14 AM Changeset in webkit [281249] by
-
- 1 copy in tags/Safari-612.1.27.0.26
Tag Safari-612.1.27.0.26.
- 9:43 AM Changeset in webkit [281248] by
-
- 4 edits in trunk/LayoutTests
[Mac, iOS] imported/w3c/web-platform-tests/html/rendering/replaced-elements/images/revoked-blob-print.html is an image-only failure.
https://bugs.webkit.org/show_bug.cgi?id=229291.
Unreviewed test gardening.
- platform/ios/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac/TestExpectations:
- 9:38 AM Changeset in webkit [281247] by
-
- 7 edits in trunk/Source
Rename EventHandler::sendScrollEvent() to scheduleScrollEvent() since the event is not sent synchronously
https://bugs.webkit.org/show_bug.cgi?id=229256
Reviewed by Geoffrey Garen.
Rename EventHandler::sendScrollEvent() and FrameView::sendScrollEvent()
to scheduleScrollEvent() since the event dispatch happens via the next rendering update.
Source/WebCore:
- page/EventHandler.cpp:
(WebCore::EventHandler::scheduleScrollEvent):
(WebCore::EventHandler::sendScrollEvent): Deleted.
- page/EventHandler.h:
- page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::scrollPositionChanged):
(WebCore::FrameView::scheduleScrollEvent):
(WebCore::FrameView::sendScrollEvent): Deleted.
- page/FrameView.h:
Source/WebKitLegacy/mac:
- WebView/WebFrame.mm:
(-[WebFrame sendScrollEvent]):
- 9:32 AM Changeset in webkit [281246] by
-
- 2 edits in trunk/Source/WebKit
Fix the typo in horiontalRubberbandAmountInContentCoordinates
https://bugs.webkit.org/show_bug.cgi?id=229255
Reviewed by Tim Horton.
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _contentBoundsExtendedForRubberbandingWithScale:]):
- 9:28 AM Changeset in webkit [281245] by
-
- 7 edits4 adds in trunk
WebGL via Metal experimental feature does not correctly toggle metal backend
https://bugs.webkit.org/show_bug.cgi?id=229267
<rdar://81855735>
Source/WebCore:
Patch by Kyle Piddington <Kyle Piddington> on 2021-08-19
Reviewed by Dean Jackson.
GraphicsContextGLAttributes defines 'useMetal' as 'true' by default.
Since this branch was only checking if Metal was enabled via the
setting, rather than checking the status of the flag, the metal backend
was never disabled, even when requested.
Tests: webgl/webgl-metal-disabled.html
webgl/webgl-metal-enabled.html
- WebCore.xcodeproj/project.pbxproj:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::create):
- testing/Internals.cpp:
(WebCore::Internals::requestedMetal):
- testing/Internals.h:
- testing/Internals.idl:
- testing/Internals.mm:
(WebCore::Internals::platformSupportsMetal):
LayoutTests:
Add tests to verify WebGL feature flag works as intended.
Patch by Kyle Piddington <Kyle Piddington> on 2021-08-19
Reviewed by Dean Jackson.
- webgl/webgl-metal-disabled-expected.txt: Added.
- webgl/webgl-metal-disabled.html: Added.
- webgl/webgl-metal-enabled-expected.txt: Added.
- webgl/webgl-metal-enabled.html: Added.
- 9:26 AM Changeset in webkit [281244] by
-
- 2 edits in trunk/Source/WebCore
Avoid DOMRect overhead in VTTRegion
https://bugs.webkit.org/show_bug.cgi?id=229249
Reviewed by Eric Carlson.
Use Element::boundingClientRect() instead of Element::getBoundingClientRect() to
avoid DOMRect overhead. No behavior change.
- html/track/VTTRegion.cpp:
(WebCore::VTTRegion::displayLastTextTrackCueBox):
(WebCore::VTTRegion::willRemoveTextTrackCueBox):
- 9:23 AM Changeset in webkit [281243] by
-
- 5 edits in trunk/Source/WebKit
Rename WebPageProxy::headerHeight() and related to make it clear they are for printing
https://bugs.webkit.org/show_bug.cgi?id=229242
Reviewed by Tim Horton.
Disambiguate WebPageProxy::headerHeight(), used for printing, from FrameView::headerHeight()
which is not.
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::headerHeightForPrinting):
(WebKit::WebPageProxy::footerHeightForPrinting):
(WebKit::WebPageProxy::drawHeaderForPrinting):
(WebKit::WebPageProxy::drawFooterForPrinting):
(WebKit::WebPageProxy::headerHeight): Deleted.
(WebKit::WebPageProxy::footerHeight): Deleted.
(WebKit::WebPageProxy::drawHeader): Deleted.
(WebKit::WebPageProxy::drawFooter): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/mac/WKPrintingView.mm:
(-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]):
(-[WKPrintingView drawPageBorderWithSize:]):
- 9:10 AM Changeset in webkit [281242] by
-
- 2 edits in trunk/Source/WebKit
Use a Ref<> argument to keep WebPage alive in TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition()
https://bugs.webkit.org/show_bug.cgi?id=229239
Reviewed by Tim Horton.
Replace a manual ref()/deref() with a makeRef() argument to the function.
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
- 9:08 AM Changeset in webkit [281241] by
-
- 21 edits in trunk
TextDecorationPainter should not depend on LegacyInlineTextBox
https://bugs.webkit.org/show_bug.cgi?id=228814
Reviewed by Alan Bujtas.
Source/WebCore:
Use the inline iterator instead.
- layout/integration/LayoutIntegrationLineIterator.h:
(WebCore::LayoutIntegration::LineIterator::isFirst const):
(WebCore::LayoutIntegration::PathLine::baselineType const):
- layout/integration/LayoutIntegrationLineIteratorLegacyPath.h:
(WebCore::LayoutIntegration::LineIteratorLegacyPath::baselineType const):
- layout/integration/LayoutIntegrationLineIteratorModernPath.h:
(WebCore::LayoutIntegration::LineIteratorModernPath::baselineType const):
- layout/integration/LayoutIntegrationRunIterator.cpp:
(WebCore::LayoutIntegration::RunIterator::line const):
(WebCore::LayoutIntegration::PathRun::line const):
(WebCore::LayoutIntegration::PathRun::style const):
(WebCore::LayoutIntegration::textRunFor):
- layout/integration/LayoutIntegrationRunIterator.h:
(WebCore::LayoutIntegration::PathTextRun::renderer const):
- layout/integration/LayoutIntegrationRunIteratorModernPath.h:
- rendering/LegacyInlineFlowBox.cpp:
(WebCore::LegacyInlineFlowBox::maxLogicalBottomForTextDecorationLine const): Deleted.
(WebCore::LegacyInlineFlowBox::minLogicalTopForTextDecorationLine const): Deleted.
- rendering/LegacyInlineFlowBox.h:
- rendering/LegacyInlineTextBox.cpp:
(WebCore::LegacyInlineTextBox::paintMarkedTextDecoration):
- rendering/LegacyLineLayout.cpp:
(WebCore::setLogicalWidthForTextRun):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration const): Deleted.
- rendering/RenderElement.h:
- rendering/TextDecorationPainter.cpp:
(WebCore::TextDecorationPainter::paintTextDecoration):
- rendering/TextDecorationPainter.h:
(WebCore::TextDecorationPainter::setTextRunIterator):
(WebCore::TextDecorationPainter::setInlineTextBox): Deleted.
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeAffectsVisualOverflow const):
- style/InlineTextBoxStyle.cpp:
(WebCore::isAncestorAndWithinBlock):
(WebCore::minLogicalTopForTextDecorationLine):
(WebCore::maxLogicalBottomForTextDecorationLine):
Moved from LegacyInlineFlowBox.
(WebCore::enclosingRendererWithTextDecoration):
Moved from RenderElement.
(WebCore::computeUnderlineOffset):
(WebCore::visualOverflowForDecorations):
- style/InlineTextBoxStyle.h:
LayoutTests:
Fix the expected results to not depend on inline culling (which this patch ignores).
- fast/text/text-underline-first-line-decoration-expected.html:
- fast/text/text-underline-vertical-first-line-decoration-expected.html:
- 9:05 AM Changeset in webkit [281240] by
-
- 4 edits2 moves in trunk/Source/WebCore
Move MarkedTextStyle into StyledMarkedText scope
https://bugs.webkit.org/show_bug.cgi?id=228956
Reviewed by Alan Bujtas.
As StyledMarkedText::Style.
Also other cleanups and a file rename to match the type.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- rendering/LegacyInlineTextBox.cpp:
(WebCore::LegacyInlineTextBox::paint):
- rendering/StyledMarkedText.cpp: Renamed from Source/WebCore/rendering/MarkedTextStyle.cpp.
(WebCore::resolveStyleForMarkedText):
(WebCore::computeStyleForUnmarkedMarkedText):
(WebCore::StyledMarkedText::subdivideAndResolve):
(WebCore::coalesceAdjacent):
(WebCore::StyledMarkedText::coalesceAdjacentWithEqualBackground):
(WebCore::StyledMarkedText::coalesceAdjacentWithEqualForeground):
(WebCore::StyledMarkedText::coalesceAdjacentWithEqualDecorations):
- rendering/StyledMarkedText.h: Renamed from Source/WebCore/rendering/MarkedTextStyle.h.
- 8:51 AM Changeset in webkit [281239] by
-
- 31 edits in trunk/Source/WebCore
Use an OptionSet<MapCoordinatesMode> in place of MapCoordinatesFlags
https://bugs.webkit.org/show_bug.cgi?id=229170
Reviewed by Antti Koivisto.
Replace MapCoordinatesFlags with OptionSet<MapCoordinatesMode>. No behavior
change.
- html/HTMLAnchorElement.cpp:
(WebCore::appendServerMapMousePosition):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::mapLocalToContainer const):
(WebCore::RenderBox::mapAbsoluteToLocalPoint const):
- rendering/RenderBox.h:
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint const):
- rendering/RenderBoxModelObject.h:
- rendering/RenderFragmentedFlow.cpp:
(WebCore::RenderFragmentedFlow::mapLocalToContainer const):
- rendering/RenderFragmentedFlow.h:
- rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::RenderGeometryMap):
(WebCore::RenderGeometryMap::pushMappingsToAncestor):
- rendering/RenderGeometryMap.h:
(WebCore::RenderGeometryMap::mapCoordinatesFlags const):
- rendering/RenderInline.cpp:
(WebCore::RenderInline::mapLocalToContainer const):
- rendering/RenderInline.h:
- rendering/RenderMultiColumnFlow.cpp:
(WebCore::RenderMultiColumnFlow::mapAbsoluteToLocalPoint const):
- rendering/RenderMultiColumnFlow.h:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::absoluteBoundingBoxRect const):
(WebCore::RenderObject::localToAbsolute const):
(WebCore::RenderObject::absoluteToLocal const):
(WebCore::RenderObject::absoluteToLocalQuad const):
(WebCore::RenderObject::mapLocalToContainer const):
(WebCore::RenderObject::mapAbsoluteToLocalPoint const):
(WebCore::RenderObject::localToContainerQuad const):
(WebCore::RenderObject::localToContainerPoint const):
- rendering/RenderObject.h:
(WebCore::RenderObject::localToAbsolute):
(WebCore::RenderObject::absoluteToLocal):
(WebCore::RenderObject::localToAbsoluteQuad const):
- rendering/RenderObjectEnums.h:
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::volumeSliderOffsetFromMuteButton const):
- rendering/RenderView.cpp:
(WebCore::RenderView::mapLocalToContainer const):
(WebCore::RenderView::mapAbsoluteToLocalPoint const):
- rendering/RenderView.h:
- rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::mapLocalToContainer const):
- rendering/svg/RenderSVGForeignObject.h:
- rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::mapLocalToContainer const):
- rendering/svg/RenderSVGInline.h:
- rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::mapLocalToContainer const):
- rendering/svg/RenderSVGModelObject.h:
- rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::mapLocalToContainer const):
- rendering/svg/RenderSVGRoot.h:
- rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::mapLocalToContainer const):
- rendering/svg/RenderSVGText.h:
- rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::mapLocalToContainer):
- 8:47 AM Changeset in webkit [281238] by
-
- 21 edits1 add in trunk/Source
Remove duplicate LayerTreeAsText enums and use an OptionSet<>
https://bugs.webkit.org/show_bug.cgi?id=229226
Reviewed by Antti Koivisto.
GraphicsLayerClient had enum LayerTreeAsTextBehaviorFlags and Frame had an anonymous
enum and typedef unsigned LayerTreeFlags. Clean up by adding LayerTreeAsTextOptions.h
and using OptionSet<LayerTreeAsTextOptions> everywhere.
- Headers.cmake:
- WebCore.xcodeproj/project.pbxproj:
- page/Frame.h:
- page/PageOverlayController.cpp:
(WebCore::PageOverlayController::shouldSkipLayerInDump const):
- page/PageOverlayController.h:
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::dumpLayer const):
(WebCore::dumpChildren):
(WebCore::GraphicsLayer::dumpProperties const):
(WebCore::GraphicsLayer::layerTreeAsText const):
(showGraphicsLayerTree):
- platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::dumpLayer):
(WebCore::GraphicsLayer::layerTreeAsText):
(WebCore::GraphicsLayer::dumpAdditionalProperties const):
- platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::shouldSkipLayerInDump const):
(WebCore::GraphicsLayerClient::shouldDumpPropertyForLayer const):
- platform/graphics/LayerTreeAsTextOptions.h: Added.
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::dumpAdditionalProperties const):
- platform/graphics/ca/GraphicsLayerCA.h:
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::dumpInnerLayer):
(WebCore::CoordinatedGraphicsLayer::dumpAdditionalProperties const):
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::shouldSkipLayerInDump const):
(WebCore::RenderLayerBacking::shouldDumpPropertyForLayer const):
- rendering/RenderLayerBacking.h:
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerTreeAsText):
- rendering/RenderLayerCompositor.h:
- testing/Internals.cpp:
(WebCore::toLayerTreeAsTextOptions):
(WebCore::Internals::layerTreeAsText const):
(WebCore::Internals::pageOverlayLayerTreeAsText const):
(WebCore::toLayerTreeFlags): Deleted.
- testing/MockPageOverlayClient.cpp:
(WebCore::MockPageOverlayClient::layerTreeAsText):
- testing/MockPageOverlayClient.h:
- 8:46 AM Changeset in webkit [281237] by
-
- 5 edits in trunk/Source/WebCore
Use an enum for the forVisitedLink argument to BuilderState::colorFromPrimitiveValue()
https://bugs.webkit.org/show_bug.cgi?id=229224
Reviewed by Alex Christensen.
Convert the bool argument to an enum class.
- css/makeprop.pl:
(colorFromPrimitiveValue):
- style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyValueCaretColor):
(WebCore::Style::BuilderCustom::applyValueStrokeColor):
- style/StyleBuilderState.cpp:
(WebCore::Style::BuilderState::colorFromPrimitiveValue const):
- style/StyleBuilderState.h:
- 8:32 AM Changeset in webkit [281236] by
-
- 2 edits in trunk/LayoutTests
[ Win EWS ] fast/forms/* tests are flaky crashing FAULTING_IP: WebKit!WebCore::FontCache::lastResortFallbackFont+ec [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WebCore\platform\graphics\win\FontCacheWin.cpp @ 424].
https://bugs.webkit.org/show_bug.cgi?id=229009
Unreviewed test gardening.
- platform/win/TestExpectations:
- 6:05 AM Changeset in webkit [281235] by
-
- 2 edits in trunk/Source/WebKit
Unable to load downloaded HTML files in Safari
https://bugs.webkit.org/show_bug.cgi?id=229254
<rdar://problem/82051114>
Reviewed by Brent Fulgham.
Check quarantine bits for webarchive files only.
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::isQuarantinedAndNotUserApproved):
- 5:57 AM Changeset in webkit [281234] by
-
- 3 edits4 adds in trunk
[App Privacy Report] Some HTTP Redirects from non app initiated requests are marked app initiated
https://bugs.webkit.org/show_bug.cgi?id=229202
<rdar://problem/79467871>
Reviewed by Brent Fulgham.
Source/WebKit:
Tests: http/tests/app-privacy-report/app-attribution-media-redirect.html
http/tests/app-privacy-report/user-attribution-media-redirect.html
The request returned in the completion handler of
NetworkDataTaskCocoa::willPerformHTTPRedirection does not always have
the attribution property of the original request. We should pass it
along and set it.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
LayoutTests:
Layout test coverage. This bug was only reproducing with media-related
loading, so these tests redirect to load an mp4.
- http/tests/app-privacy-report/app-attribution-media-redirect-expected.txt: Added.
- http/tests/app-privacy-report/app-attribution-media-redirect.html: Added.
- http/tests/app-privacy-report/user-attribution-media-redirect-expected.txt: Added.
- http/tests/app-privacy-report/user-attribution-media-redirect.html: Added.
- 5:23 AM Changeset in webkit [281233] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, GStreamer gardening
- platform/glib/TestExpectations: http/tests/images/image-supports-video.html no longer crashes.
- 5:20 AM Changeset in webkit [281232] by
-
- 2 edits in trunk/Source/WebKit
Adjust fallback SandboxExtension std::optional<Handle> construction
https://bugs.webkit.org/show_bug.cgi?id=229233
Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-08-19
Reviewed by Carlos Garcia Campos.
In r240512, std::optional<> was adopted as the return type for handle
creation methods in the SandboxExtension class. For no-op methods,
the construction of these return values was done using empty initializer
lists.
The changes here should match pre-r240512 behavior by creating empty
Handle objects and using those to implicitly construct the returning
std::optional<> object. In addition, this avoids compilation breakage
with GCC 8 where ambiguity between possible std::optional<> constructors
is detected.
- Shared/SandboxExtension.h:
(WebKit::SandboxExtension::createHandle):
(WebKit::SandboxExtension::createHandleWithoutResolvingPath):
(WebKit::SandboxExtension::createHandleForReadWriteDirectory):
(WebKit::SandboxExtension::createHandleForGenericExtension):
- 2:17 AM Changeset in webkit [281231] by
-
- 3 edits in trunk/Source/WebCore
RTCPeerConnection::m_transceiverSet does not need to be allocated separately from its RTCPeerConnection
https://bugs.webkit.org/show_bug.cgi?id=229183
Reviewed by Eric Carlson.
No change of behavior.
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::addTrack):
(WebCore::RTCPeerConnection::removeTrack):
(WebCore::RTCPeerConnection::getStats):
(WebCore::RTCPeerConnection::doClose):
(WebCore::RTCPeerConnection::addInternalTransceiver):
(WebCore::RTCPeerConnection::getSenders const):
(WebCore::RTCPeerConnection::getReceivers const):
(WebCore::RTCPeerConnection::getTransceivers const):
- Modules/mediastream/RTCPeerConnection.h:
- 2:15 AM Changeset in webkit [281230] by
-
- 3 edits in trunk/Source/WebCore
Port HTMLDetailsElement to use modern event handling code
https://bugs.webkit.org/show_bug.cgi?id=228863
Reviewed by Antti Koivisto.
No behaviour change, follows: https://html.spec.whatwg.org/#details-notification-task-steps
- html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::parseAttribute):
(WebCore::HTMLDetailsElement::toggleOpen):
(WebCore::detailToggleEventSender): Deleted.
(WebCore::HTMLDetailsElement::~HTMLDetailsElement): Deleted.
(WebCore::HTMLDetailsElement::dispatchPendingEvent): Deleted.
- html/HTMLDetailsElement.h:
- 2:02 AM Changeset in webkit [281229] by
-
- 24 edits in trunk
Implement ::backdrop pseudo element
https://bugs.webkit.org/show_bug.cgi?id=227801
Reviewed by Antti Koivisto.
This adds UA styles, RenderTreeBuilder support and WebInspector support for ::backdrop.
Some imported blink tests now start passing, some still need proper top layer support.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-values/ch-empty-pseudo-recalc-on-font-load-expected.txt:
Source/JavaScriptCore:
- inspector/protocol/CSS.json:
Source/WebCore:
- css/CSSSelector.cpp:
(WebCore::CSSSelector::pseudoId):
- css/CSSSelector.h:
- css/SelectorPseudoElementTypeMap.in:
- css/dialog.css:
(dialog::backdrop):
(::backdrop):
- inspector/agents/InspectorCSSAgent.cpp:
(WebCore::protocolValueForPseudoId):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::backdropRenderer const):
(WebCore::RenderElement::setBackdropRenderer):
- rendering/RenderElement.h:
- rendering/RenderObject.h:
- rendering/style/RenderStyleConstants.cpp:
(WebCore::operator<<):
- rendering/style/RenderStyleConstants.h:
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::destroyAndCleanUpAnonymousWrappers):
- rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateAfterDescendants):
- rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:
(WebCore::RenderTreeUpdater::GeneratedContent::updateBackdropRenderer):
- rendering/updating/RenderTreeUpdaterGeneratedContent.h:
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolvePseudoStyle):
Source/WebInspectorUI:
- UserInterface/Controllers/CSSManager.js:
(WI.CSSManager.displayNameForPseudoId):
LayoutTests:
- 1:46 AM Changeset in webkit [281228] by
-
- 7 edits in trunk
document.hasFocus() returns true for unfocused pages
https://bugs.webkit.org/show_bug.cgi?id=229139
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-08-19
Reviewed by Adrian Perez de Castro.
Source/WebCore:
We are always claiming to be focused when the document in the active window even if the page is not actually
focused.
- dom/Document.cpp:
(WebCore::Document::hasFocus const): Check also that page is focused.
Tools:
Add a unit tests to check document.hasFocus() returns false when a web view is in the active window, but not focused.
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST): Ensure web view is focused as required by credentials container.
- TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewDocumentFocus):
(beforeAll):
- TestWebKitAPI/cocoa/TestWKWebView.h:
- TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView focus]):
- 1:40 AM Changeset in webkit [281227] by
-
- 26 edits in trunk/Source
Rename MediaPlayer::setVisible to MediaPlayer::setPageIsVisible
https://bugs.webkit.org/show_bug.cgi?id=228837
<rdar://problem/81857023>
Reviewed by Eric Carlson.
Source/WebCore:
No change of behavior, just renaming a method to make its name more accurate.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::visibilityStateChanged):
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::loadWithNextMediaEngine):
(WebCore::MediaPlayer::setPageIsVisible):
(WebCore::MediaPlayer::setVisible): Deleted.
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::setVisibleForCanvas):
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::setPageIsVisible):
(WebCore::MediaPlayerPrivateAVFoundation::setVisible): Deleted.
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setPageIsVisible):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setVisible): Deleted.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setPageIsVisible):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setVisible): Deleted.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- platform/graphics/holepunch/MediaPlayerPrivateHolePunch.h:
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::setPageIsVisible):
(WebCore::MediaPlayerPrivateMediaFoundation::setVisible): Deleted.
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
- platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::MockMediaPlayerMediaSource::setPageIsVisible):
(WebCore::MockMediaPlayerMediaSource::setVisible): Deleted.
- platform/mock/mediasource/MockMediaPlayerMediaSource.h:
- rendering/RenderVideo.cpp:
(WebCore::RenderVideo::willBeDestroyed):
(WebCore::RenderVideo::updatePlayer):
Source/WebKit:
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::setPageIsVisible):
(WebKit::RemoteMediaPlayerProxy::setVisible): Deleted.
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::setPageIsVisible):
(WebKit::MediaPlayerPrivateRemote::setVisible): Deleted.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
Source/WebKitLegacy/win:
- FullscreenVideoController.cpp:
(FullscreenVideoController::exitFullscreen):
- 1:22 AM Changeset in webkit [281226] by
-
- 6 edits in trunk/Source/WebCore
RTCRtpTransceiver does not need an ice transport
https://bugs.webkit.org/show_bug.cgi?id=229186
Reviewed by Eric Carlson.
No change of behavior, we are removing a member from RTCRtpTransceiver which is unused.
We are also updating RTCIceTransport as it does not need to have virtual methods yet.
- Modules/mediastream/RTCIceTransport.cpp:
(WebCore::RTCIceTransport::~RTCIceTransport):
- Modules/mediastream/RTCIceTransport.h:
- Modules/mediastream/RTCIceTransport.idl:
- Modules/mediastream/RTCRtpTransceiver.cpp:
(WebCore::RTCRtpTransceiver::RTCRtpTransceiver):
- Modules/mediastream/RTCRtpTransceiver.h:
- 12:36 AM Changeset in webkit [281225] by
-
- 44 edits5 copies3 adds in trunk
Add support for RTCDtlsTransport
https://bugs.webkit.org/show_bug.cgi?id=229133
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- web-platform-tests/webrtc/RTCDtlsTransport-getRemoteCertificates-expected.txt:
- web-platform-tests/webrtc/RTCDtlsTransport-state-expected.txt:
- web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate-connectionSetup-expected.txt:
- web-platform-tests/webrtc/RTCPeerConnection-helper-test-expected.txt:
- web-platform-tests/webrtc/RTCPeerConnection-iceConnectionState.https-expected.txt:
- web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState-expected.txt:
- web-platform-tests/webrtc/RTCPeerConnection-onnegotiationneeded-expected.txt:
- web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-answer-expected.txt:
- web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-offer-expected.txt:
- web-platform-tests/webrtc/RTCRtpSender-transport.https-expected.txt:
- web-platform-tests/webrtc/RTCRtpTransceiver.https-expected.txt:
- web-platform-tests/webrtc/protocol/bundle.https-expected.txt:
- web-platform-tests/webrtc/protocol/crypto-suite.https-expected.txt:
Source/ThirdParty/libwebrtc:
- Configurations/libwebrtc.iOS.exp:
- Configurations/libwebrtc.iOSsim.exp:
- Configurations/libwebrtc.mac.exp:
Source/WebCore:
RTCDtlsTransport is an object representing the transport used by RTCRtp senders and receivers.
Add WebIDL and backend implementation.
In particular, we set sender/receiver transports as per spec when setting the descriptions.
Add support for state and certificates access. Add support for statechange event.
Covered by rebased tests.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::setLocalDescriptionSucceeded):
(WebCore::PeerConnectionBackend::setRemoteDescriptionSucceeded):
- Modules/mediastream/PeerConnectionBackend.h:
- Modules/mediastream/RTCDtlsTransport.cpp: Added.
(WebCore::RTCDtlsTransport::RTCDtlsTransport):
(WebCore::RTCDtlsTransport::~RTCDtlsTransport):
(WebCore::RTCDtlsTransport::getRemoteCertificates):
(WebCore::RTCDtlsTransport::stop):
(WebCore::RTCDtlsTransport::virtualHasPendingActivity const):
(WebCore::RTCDtlsTransport::onStateChanged):
(WebCore::RTCDtlsTransport::onError):
- Modules/mediastream/RTCDtlsTransport.h: Added.
- Modules/mediastream/RTCDtlsTransport.idl: Added.
- Modules/mediastream/RTCDtlsTransportBackend.h: Added.
(WebCore::operator==):
- Modules/mediastream/RTCDtlsTransportState.h: Added.
- Modules/mediastream/RTCDtlsTransportState.idl: Added.
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::getOrCreateDtlsTransport):
(WebCore::RTCPeerConnection::updateTransceiverTransports):
(WebCore::RTCPeerConnection::updateTransceiversAfterSuccessfulLocalDescription):
(WebCore::RTCPeerConnection::updateTransceiversAfterSuccessfulRemoteDescription):
- Modules/mediastream/RTCPeerConnection.h:
- Modules/mediastream/RTCRtpReceiver.cpp:
- Modules/mediastream/RTCRtpReceiver.h:
- Modules/mediastream/RTCRtpReceiver.idl:
- Modules/mediastream/RTCRtpReceiverBackend.h:
- Modules/mediastream/RTCRtpSender.cpp:
- Modules/mediastream/RTCRtpSender.h:
- Modules/mediastream/RTCRtpSender.idl:
- Modules/mediastream/RTCRtpSenderBackend.h:
- Modules/mediastream/libwebrtc/LibWebRTCDtlsTransportBackend.cpp: Added.
(WebCore::toRTCDtlsTransportState):
(WebCore::LibWebRTCDtlsTransportBackendObserver::LibWebRTCDtlsTransportBackendObserver):
(WebCore::LibWebRTCDtlsTransportBackendObserver::updateState):
(WebCore::LibWebRTCDtlsTransportBackendObserver::start):
(WebCore::LibWebRTCDtlsTransportBackendObserver::stop):
(WebCore::LibWebRTCDtlsTransportBackendObserver::OnStateChange):
(WebCore::LibWebRTCDtlsTransportBackendObserver::OnError):
(WebCore::LibWebRTCDtlsTransportBackend::LibWebRTCDtlsTransportBackend):
(WebCore::LibWebRTCDtlsTransportBackend::~LibWebRTCDtlsTransportBackend):
(WebCore::LibWebRTCDtlsTransportBackend::registerClient):
(WebCore::LibWebRTCDtlsTransportBackend::unregisterClient):
- Modules/mediastream/libwebrtc/LibWebRTCDtlsTransportBackend.h: Added.
- Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverBackend.cpp:
(WebCore::LibWebRTCRtpReceiverBackend::rtpDtlsTransportBackend):
- Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverBackend.h:
- Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.cpp:
(WebCore::LibWebRTCRtpSenderBackend::rtpDtlsTransportBackend):
- Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.h:
- Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp:
- Modules/mediastream/libwebrtc/LibWebRTCUtils.h:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
- dom/EventTargetFactory.in:
- 12:05 AM Changeset in webkit [281224] by
-
- 2 edits in trunk/LayoutTests
[WinCairo] Unreviewed test gardening
- platform/wincairo/TestExpectations:
Aug 18, 2021:
- 9:04 PM Changeset in webkit [281223] by
-
- 2 edits in trunk/Source/WebCore
Bug 229264: Leak of CMBufferQueueRef (up to 752 bytes each) in com.apple.WebKit.GPU.Development process
<https://webkit.org/b/229264>
<rdar://problem/82101153>
Reviewed by Anders Carlsson.
Covered by running layout tests with --leaks plus future patch
to check for leaks in the GPU process.
- platform/mediarecorder/cocoa/VideoSampleBufferCompressor.mm:
(WebCore::VideoSampleBufferCompressor::initialize):
- Use adoptCF() to fix the leak since CMBufferQueueCreate() returns a retained object.
- 8:42 PM Changeset in webkit [281222] by
-
- 8 edits in trunk/Source/JavaScriptCore
[JSC] Remove op_has_indexed_property related code
https://bugs.webkit.org/show_bug.cgi?id=229271
Reviewed by Saam Barati.
After our new for-in protocol, op_has_indexed_property is removed.
As a result, we can remove many ByValInfo code that is used only
for op_has_indexed_property.
- jit/JIT.h:
- jit/JITInlines.h:
(JSC::JIT::emitLoadForArrayMode): Deleted.
- jit/JITOpcodes.cpp:
(JSC::JIT::privateCompileHasIndexedProperty): Deleted.
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::privateCompileHasIndexedProperty): Deleted.
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emitDoubleLoad): Deleted.
(JSC::JIT::emitContiguousLoad): Deleted.
(JSC::JIT::emitArrayStorageLoad): Deleted.
- 8:40 PM Changeset in webkit [281221] by
-
- 6 edits in trunk
Bug 229265: run-webkit-tests --leaks should check for leaks in the GPU process
<https://webkit.org/b/229265>
<rdar://problem/82101453>
Reviewed by Alex Christensen.
Source/WebKit:
- UIProcess/API/C/WKPage.cpp:
(WKPageGetGPUProcessIdentifier): Add.
- UIProcess/API/C/WKPagePrivate.h:
(WKPageGetGPUProcessIdentifier): Add.
- Add function to return the PID for the GPU process.
Tools:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::findAndDumpWebKitProcessIdentifiers):
- Include the GPU process PID if it's enabled when sending a list of PIDs back to run-webkit-tests.
(WTR::TestController::gpuProcessName): Add.
- WebKitTestRunner/TestController.h:
(WTR::TestController::databaseProcessName): Delete.
- The implementation was removed a while ago.
(WTR::TestController::gpuProcessName): Add.
- 8:34 PM Changeset in webkit [281220] by
-
- 3 edits in trunk/Source/WebCore
Leak of CMSampleBufferRef (up to 2.25 KB each) in com.apple.WebKit.GPU.Development process
<https://webkit.org/b/229262>
<rdar://problem/82076765>
Reviewed by Darin Adler.
Covered by running layout tests with --leaks plus future patch
to check for leaks in the GPU process.
- platform/mediarecorder/cocoa/AudioSampleBufferCompressor.h:
(WebCore::AudioSampleBufferCompressor::sampleBufferWithNumPackets):
- Update signature to return RetainPtr<CMSampleBufferRef>.
- platform/mediarecorder/cocoa/AudioSampleBufferCompressor.mm:
(WebCore::AudioSampleBufferCompressor::sampleBufferWithNumPackets):
- Update signature to return RetainPtr<CMSampleBufferRef>.
- Rename
sampleBuffertorawSampleBufferto match similar pattern used in other code, then usesampleBufferto storerawSampleBufferwrapped in a RetainPtr<>.
(WebCore::AudioSampleBufferCompressor::processSampleBuffersUntilLowWaterTime):
- Add get() to
buffervariable since it is now a RetainPtr<>.
- 6:15 PM Changeset in webkit [281219] by
-
- 3 edits11 adds in trunk/LayoutTests
[GTK][WPE] Gardening of layout tests
Unreviewed test gardening.
Mark expected failures after r281108 and others and update list of flaky tests.
Rebaseline tests after r281136, r281127 and r281097.
- platform/glib/TestExpectations:
- platform/glib/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-expected.txt: Added.
- platform/gtk/TestExpectations:
- platform/gtk/fast/repaint/line-layout-block-shrink-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/css/css-typed-om/rotate-by-added-angle-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/css/css-typed-om/width-by-max-px-em-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/css/css-typed-om/width-by-min-px-em-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/css/css-typed-om/rotate-by-added-angle-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/css/css-typed-om/width-by-max-px-em-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/css/css-typed-om/width-by-min-px-em-expected.txt: Added.
- 5:34 PM Changeset in webkit [281218] by
-
- 5 edits in trunk/LayoutTests
[Fetch API][WebKit1] http/tests/fetch/keepalive-fetch-2.html is randomly failing
https://bugs.webkit.org/show_bug.cgi?id=229247
Unreviewed test gardening.
WebKit1 doesn't properly support keepalive fetch. Marked it as
flaky. Increased the number of fetches for testing WebKit2 more.
- http/tests/fetch/keepalive-fetch-2.html:
- http/tests/fetch/resources/keepalive-fetch-2-window.html:
- platform/ios-wk1/TestExpectations:
- platform/mac-wk1/TestExpectations:
- 5:20 PM Changeset in webkit [281217] by
-
- 2 edits in trunk/Source/WTF
[ iOS Debug ] 12 TestWebKitAPI.WebKitLegacy. tests are crashing
https://bugs.webkit.org/show_bug.cgi?id=229250
Reviewed by Wenson Hsieh.
Disable the assertion when Web Thread is enabled for now.
- wtf/CheckedRef.h:
(WTF::SingleThreadIntegralWrapper::assertThread const):
- 5:20 PM Changeset in webkit [281216] by
-
- 3 edits in trunk/Tools
[run-webkit-tests] Remember failures when repeating test
https://bugs.webkit.org/show_bug.cgi?id=229217
<rdar://problem/81919223>
Reviewed by Ryan Haddad.
- Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.update_summary_with_result): Replace existing result with unexpected result so
that unexpected results always take precedence over expected ones.
- Scripts/webkitpy/layout_tests/models/test_run_results.py:
(TestRunResults.add): Do not replace existing result.
- 4:14 PM Changeset in webkit [281215] by
-
- 7 edits in trunk
Unreviewed, reverting r281206.
Reverting because of branching, will re-land soon
Reverted changeset:
"Implement Crypto.randomUUID()"
https://bugs.webkit.org/show_bug.cgi?id=229240
https://commits.webkit.org/r281206
- 3:04 PM Changeset in webkit [281214] by
-
- 4 edits in branches/safari-612.1.27.0-branch
Revert "Cherry-pick r280463. rdar://problem/82088775"
This reverts commit r281207.
- 3:04 PM Changeset in webkit [281213] by
-
- 4 edits in branches/safari-612.1.27.0-branch
Revert "Cherry-pick r280505. rdar://problem/82088775"
This reverts commit r281208.
- 3:00 PM Changeset in webkit [281212] by
-
- 2 edits in trunk/LayoutTests
[Mac wk1 Debug] imported/w3c/web-platform-tests/IndexedDB/idbcursor-advance-continue-async.htm is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=229252.
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 2:41 PM Changeset in webkit [281211] by
-
- 2 edits in trunk/Tools
REGRESSION(r279169) [WebDriver] WPT Tools now requires python3 to launch the server
https://bugs.webkit.org/show_bug.cgi?id=229248
Reviewed by Chris Dumez.
239066@main updated the layout test WPT tools to
94d018bb5d7c0d46df7ba1 and this version requires Python3 to run the
WPT server.
- Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
(WebDriverW3CWebServer.start):
- 2:17 PM Changeset in webkit [281210] by
-
- 5 edits in trunk/Source
Remove unneeded UIKitSPI declarations
https://bugs.webkit.org/show_bug.cgi?id=210075
Reviewed by Wenson Hsieh.
Source/WebKit:
No code changes, just using the now fully public API.
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _webTouchEventsRecognized:]):
(-[WKContentView _highlightLongPressRecognized:]):
(-[WKContentView _doubleTapRecognizedForDoubleClick:]):
(-[WKContentView _twoFingerSingleTapGestureRecognized:]):
(-[WKContentView _singleTapRecognized:]):
(gestureRecognizerModifierFlags): Deleted.
Source/WTF:
Remove unneeded feature define.
- wtf/PlatformHave.h:
- 1:21 PM Changeset in webkit [281209] by
-
- 3 edits in trunk/LayoutTests
[Win] http/tests/fetch/keepalive-fetch-2.html is randomly failing
https://bugs.webkit.org/show_bug.cgi?id=229247
Unreviewed test gardening.
- platform/win/TestExpectations: Marked it as flaky.
- platform/wincairo-wk1/TestExpectations: Ditto.
- 12:51 PM Changeset in webkit [281208] by
-
- 4 edits in branches/safari-612.1.27.0-branch
Cherry-pick r280505. rdar://problem/82088775
putInlineFastReplacingStaticPropertyIfNeeded should handle custom values
https://bugs.webkit.org/show_bug.cgi?id=227963
Reviewed by Alexey Shvayka.
JSTests:
- stress/reflect-set-custom-value.js:
Source/JavaScriptCore:
Follow up after r280463: as it turns out, putInlineFastReplacingStaticPropertyIfNeeded also needs to handle
custom values, similar to how definePropertyOnReceiverSlow was updated. This function will be called when the
target property of the receiver is a custom value and isn't reified. The previous test case was expanded to
test both the reified and non-reified cases.
- runtime/JSObject.cpp: (JSC::JSObject::putInlineFastReplacingStaticPropertyIfNeeded):
- tools/JSDollarVM.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280505 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:51 PM Changeset in webkit [281207] by
-
- 4 edits in branches/safari-612.1.27.0-branch
Cherry-pick r280463. rdar://problem/82088775
definePropertyOnReceiver should check if receiver canPerformFastPutInline
https://bugs.webkit.org/show_bug.cgi?id=227963
<rdar://80259710>
Reviewed by Alexey Shvayka.
JSTests:
- stress/reflect-set-custom-value.js: Added.
Source/JavaScriptCore:
definePropertyOnReceiver has a fast path if the slot is not opaque and the receiver doesn't
have a custom defineOwnProperty implementation, in which case it calls putInlineFast (and
transitively putDirectInternal<PutModePut>). The issue is that putDirectInternal does not
handle customValues correctly: it just overwrites the property without changing the attributes.
To fix that, we should first check if the property might be a custom value, and if that's the case
we now calldefinePropertyOnReceiverSlow, which has been updated to handle custom values correctly.
I also added assertions to putInlineFastReplacingStaticPropertyIfNeeded and putDirectInternal
to make sure we don't accidentally overwrite custom values in the future.
- runtime/JSObject.cpp: (JSC::definePropertyOnReceiverSlow): (JSC::JSObject::definePropertyOnReceiver): (JSC::JSObject::putInlineFastReplacingStaticPropertyIfNeeded):
- runtime/JSObjectInlines.h: (JSC::JSObject::putDirectInternal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:13 PM Changeset in webkit [281206] by
-
- 7 edits in trunk
Implement Crypto.randomUUID()
https://bugs.webkit.org/show_bug.cgi?id=229240
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Rebaseline WPT tests that are now passing.
- web-platform-tests/WebCryptoAPI/randomUUID.https.any-expected.txt:
- web-platform-tests/WebCryptoAPI/randomUUID.https.any.worker-expected.txt:
Source/WebCore:
Implement Crypto.randomUUID():
Chrome already implements this and Firefox seems to be working on it
(https://bugzilla.mozilla.org/show_bug.cgi?id=1705264).
No new tests, rebaselined existing tests.
- page/Crypto.cpp:
(WebCore::Crypto::randomUUID const):
- page/Crypto.h:
- page/Crypto.idl:
- 12:05 PM Changeset in webkit [281205] by
-
- 2 edits in trunk/LayoutTests
[Mac Debug] imported/w3c/web-platform-tests/IndexedDB/key-generators/reading-autoincrement-indexes-cursors.any.worker.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=229244.
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 11:32 AM Changeset in webkit [281204] by
-
- 1 edit2 adds in branches/safari-612.1.27.0-branch/LayoutTests
Cherry-pick r281195. rdar://problem/82083653
Add a layout test for webkit.org/b/229200
https://bugs.webkit.org/show_bug.cgi?id=229222
rdar://81636256
Reviewed by Simon Fraser.
Add a layout test to exercise the hang fixed in bug #229200. This test can be manually run by opening it in
browser and verifying that the page does not hang (and outputs the expected PASS messages).
- fast/canvas/draw-text-repeatedly-into-disconnected-canvas-expected.txt: Added.
- fast/canvas/draw-text-repeatedly-into-disconnected-canvas.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281195 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:31 AM Changeset in webkit [281203] by
-
- 2 edits in branches/safari-612.1.27.0-branch/Source/WebKit
Cherry-pick r281186. rdar://problem/82083653
REGRESSION (iOS 15): DoubleDown Casino app won't load past launch page
https://bugs.webkit.org/show_bug.cgi?id=229200
rdar://81636256
Reviewed by Myles C. Maxfield.
The changes in https://webkit.org/b/228216 to fix rdar://80473805 introduced a mechanism to keep track of uses
of cached fonts and images in display list items in the web and GPU processes, via auseCountcounter variable
that's incremented in the web process whenever the font or image is used in a display list item and decremented
in the GPU process whenever the item is processed.
However, the code to increment
useCountin the web process currently only triggers at most once per rendering
update — this means that if there are multiple canvas drawing commands that use fonts in the same rendering
update, the web process' notion ofuseCountwill fall out of sync with the GPU process' notion ofuseCount.
In most cases, this causes the cached font to remain for longer in the GPU process than necessary; however, in
this specific scenario, it's possible for the web process to tell the GPU process to release the cached font too
early, which causes the GPU process to prematurely purge the font from the cache, and subsequently wait for the
cached font to arrive (which will never arrive, since the web process has already released the font).
In other words, the timeline of events between the web and GPU processes looks like this (where
fis a cached
web font,A_fis a drawing command that usesf, andB_fis another drawing command that usesf).
WEB GPU
==============================================================
- Cache
f - Append
A_f- Cache
f - Play back
A_f
- Cache
- Append
B_f - Release
f(use count was 1 here)- Release
f(use count dropped from 1 to 0) - Play back
B_f...and then display list playback stops due tofnot being in the cache.
- Release
To address this, we simply move the
useCountincrement in the web process out of the rendering update check.
The original intent of the fix for bug #228216 was to allow foruseCountto increment as many times as needed
per rendering update, so this limitation was unintentional.
Unfortunately, I have not been able to come up with a layout test that reliably reproduces this scenario (yet).
- WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp: (WebKit::RemoteResourceCacheProxy::recordFontUse):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:31 AM Changeset in webkit [281202] by
-
- 4 edits in branches/safari-612.1.27.0-branch/Source/JavaScriptCore
Cherry-pick r281178. rdar://problem/82083485
Add an option for canonicalizePrePostIncrements
https://bugs.webkit.org/show_bug.cgi?id=229211
<rdar://problem/82050126>
Reviewed by Mark Lam.
The current phase has bugs. Let's disable it for now until the bugs
are fixed. See discussion about the bugs I spotted in:
https://bugs.webkit.org/show_bug.cgi?id=228538
- b3/B3Generate.cpp: (JSC::B3::generateToAir):
- b3/testb3_3.cpp: (addShrTests):
- runtime/OptionsList.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281178 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:04 AM Changeset in webkit [281201] by
-
- 3 edits in trunk/Source/WebKit
[MacOS] Use com.apple.webkit.microphone extension to gate microphone access in GPUProcess sandbox
https://bugs.webkit.org/show_bug.cgi?id=229238
Reviewed by Eric Carlson.
Manually tested.
- GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
Align to iOS and only allow microphone access in sandbox if com.apple.webkit.microphone is sent to GPUProcess.
- Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultCaptureAudioInGPUProcessEnabled):
Do audio capture in UIProcess for non Safari applications until rdar://problem/29448368 is fixed.
- 10:57 AM Changeset in webkit [281200] by
-
- 9 edits2 adds in trunk
Add layout test for WebAccessibilityObjectWrapper handler for attribute AXLineForTextMarker on MacOS.
https://bugs.webkit.org/show_bug.cgi?id=229220
<rdar://problem/82057459>
Reviewed by Chris Fleizach.
Source/WebCore:
Test: accessibility/mac/line-index-for-textmarker.html
There was not a layout test that exercised directly the handler for the
AXLineForTextMarker attribute in [WebAccessibilityObjectWrapper
accessibilityAttributeValue:withParameter:].
This patch adds the above test to exercise this method for textarea and
contenteditable elements. The text in these elements includes soft and
hard linebreaks, which are important test cases for this API.
The handler for AXLineForTextMarker in turn calls
AccessibilityObject::lineForPosition, and analyzing this method, made a
minor optimization by getting rid off of an unnecessary local variable
and object copy.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::lineForPosition const):
Tools:
Added AccessibilityUIElement::lineIndexForTextMarker.
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::lineIndexForTextMarker const):
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::lineIndexForTextMarker const):
LayoutTests:
- accessibility/mac/line-index-for-textmarker-expected.txt: Added.
- accessibility/mac/line-index-for-textmarker.html: Added.
- platform/mac-wk1/TestExpectations:
- 10:45 AM Changeset in webkit [281199] by
-
- 2 edits in trunk/Source/WebKit
Do not terminate relaunched network process when getting network process connection
https://bugs.webkit.org/show_bug.cgi?id=229236
Reviewed by Chris Dumez.
When UI process fails to get network process connection for the first time, it will retry on next runloop
iteration. On the retry, it terminates existing network process and relaunch a network process, because the
failure may indicate something is wrong in the network process. If existing network process is different from
the one on first try, the existing process can be functional and we should not terminate it.
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::getNetworkProcessConnection):
- 10:42 AM Changeset in webkit [281198] by
-
- 2 edits in trunk/Source/WebCore
Update feature statuses in features.json
https://bugs.webkit.org/show_bug.cgi?id=229212
Reviewed by Wenson Hsieh.
Update the status of various features in features.json to reflect their current state.
Remove
"enabled-by-default": truefrom features that are marked as Supported.
- features.json:
- 10:19 AM Changeset in webkit [281197] by
-
- 4 edits in trunk/Tools
[git-webkit] "IndexError: list index out of range" using log
https://bugs.webkit.org/show_bug.cgi?id=229232
Reviewed by Ryan Haddad.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:
(FilteredCommand.pager):
- 10:16 AM Changeset in webkit [281196] by
-
- 2 edits in trunk/Source/WebCore
Add Highlight API to features.json
https://bugs.webkit.org/show_bug.cgi?id=208226
Reviewed by Simon Fraser.
- features.json:
- 9:58 AM Changeset in webkit [281195] by
-
- 1 edit2 adds in trunk/LayoutTests
Add a layout test for webkit.org/b/229200
https://bugs.webkit.org/show_bug.cgi?id=229222
rdar://81636256
Reviewed by Simon Fraser.
Add a layout test to exercise the hang fixed in bug #229200. This test can be manually run by opening it in
browser and verifying that the page does not hang (and outputs the expected PASS messages).
- fast/canvas/draw-text-repeatedly-into-disconnected-canvas-expected.txt: Added.
- fast/canvas/draw-text-repeatedly-into-disconnected-canvas.html: Added.
- 9:58 AM Changeset in webkit [281194] by
-
- 2 edits in trunk/LayoutTests
[Mac wk1] css/css-position/position-relative-table* tests fail.
https://bugs.webkit.org/show_bug.cgi?id=203449.
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 9:50 AM Changeset in webkit [281193] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r280723): Protected HLS + EME playback fails with "temporary error"
https://bugs.webkit.org/show_bug.cgi?id=229201
<rdar://81807216>
Reviewed by Eric Carlson.
In r280723, we stopped unconditionally creating an AVPlayerLayer when we create an AVPlayer. However,
we will still create an AVPlayerItemVideoOutput when we create an AVPlayerItem. This leaves our
AVPlayer in a state where AVFoundation will throw a "temporary error; try again later" when given
an otherwise valid protected HLS stream and key data through EME.
To work around this behavior, delay creating the AVPlayerItemVideoOutput until explicitly told to
create video renderers, typically simultaneous to creating an AVPlayerLayer.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
- 9:46 AM Changeset in webkit [281192] by
-
- 11 edits in trunk
REGRESSION(r280382): [GTK] 2.33.3 does not build with gtk-doc enabled, installs broken pkg-config files
https://bugs.webkit.org/show_bug.cgi?id=229152
Patch by Michael Catanzaro <Michael Catanzaro> on 2021-08-18
Reviewed by Philippe Normand.
Source/JavaScriptCore:
- PlatformGTK.cmake:
- javascriptcoregtk.pc.in:
Source/WebKit:
CMake is expanding templates in the pkg-config files that are not supposed to be expanded.
Oops! Let's switch back to using @SVN_REVISION@ instead of ${SVN_REVISION} as the template
for inserting the SVN revision into the pkg-config file, so we can tell CMake to leave the
${} variables alone.
- PlatformGTK.cmake:
- PlatformWPE.cmake:
- Shared/glib/BuildRevision.h.in:
- gtk/webkit2gtk-web-extension.pc.in:
- gtk/webkit2gtk.pc.in:
Tools:
- glib/apply-build-revision-to-files.py:
(main):
- 9:34 AM Changeset in webkit [281191] by
-
- 3 edits2 adds in trunk/Tools
[webkitcorepy] Add CallByNeed object
https://bugs.webkit.org/show_bug.cgi?id=229148
<rdar://problem/81817705>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Bump version, export Defer object.
- Scripts/libraries/webkitcorepy/webkitcorepy/call_by_need.py: Added.
(CallByNeed):
(CallByNeed.init):
(CallByNeed.getattribute): Depending on the request attribute, either return it or attempt to
resolve the underlying value before returning the attribute of the resolved value.
(CallByNeed.value): Resolve and return underlying object.
(CallByNeed.call): Ditto.
(CallByNeed.repr): Resolve object and return representation.
(CallByNeed.str): Resolve object and return string conversion.
- Scripts/libraries/webkitcorepy/webkitcorepy/tests/call_by_need_unittest.py: Added.
(TestCallByNeed):
(TestCallByNeed.test_basic):
(TestCallByNeed.test_string_conversion):
(TestCallByNeed.test_attribute_forwarding):
(TestCallByNeed.test_failed_attribute_forwarding):
- 9:22 AM Changeset in webkit [281190] by
-
- 2 edits in trunk/LayoutTests
[ MacOS EWS ] inspector/canvas/recording-2d-memoryLimit.html is flaky crashing..
https://bugs.webkit.org/show_bug.cgi?id=229237
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 8:59 AM Changeset in webkit [281189] by
-
- 6 edits in trunk
[css-scroll-snap] Don't snap to offscreen snap areas in unidirectional scrolls
https://bugs.webkit.org/show_bug.cgi?id=227949
<rdar://problem/80895783>
Reviewed by Frédéric Wang.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-scroll-snap/snap-to-visible-areas-both-expected.txt: This bidirectional
scrolling test no longer snaps because we don't have support for choosing between two candidates
properly yet.
- web-platform-tests/css/css-scroll-snap/snap-to-visible-areas-x-axis-expected.txt: Updated to show newly passing test.
- web-platform-tests/css/css-scroll-snap/snap-to-visible-areas-y-axis-expected.txt: Ditto.
Source/WebCore:
No new tests. This is covered by two existing WPT tests.
- page/scrolling/ScrollSnapOffsetsInfo.cpp:
(WebCore::componentForAxis): Added this helper.
(WebCore::hasCompatibleSnapArea): Added this helper that checks to see if any of the snap areas
at a given scroll snap position are compatible with the viewport.
(WebCore::adjustPreviousAndNextForOnscreenSnapAreas): Adjusts the selected previous and next snap
positions by looking backward and forward for the first compatible snap position.
(WebCore::closestSnapOffsetWithInfoAndAxis): Use the new helper.
- 8:25 AM Changeset in webkit [281188] by
-
- 6 edits in trunk/Source/WebCore
Crash under JSIntersectionObserverCallback::handleEvent()
https://bugs.webkit.org/show_bug.cgi?id=229196
<rdar://82016054>
Reviewed by Geoffrey Garen.
Early return in IntersectionObserver::notify() if the callback has already been destroyed.
This is not supposed to happen as we're supposed to be keeping the JSIntersectionObserver
wrapper alive as long as the IntersectionObserver may fire events, which should keep the
callback alive too. However, despite Ryosuke's fix in r280549, the crash is still happening
in the wild. To address the crash, I am simply doing an early return for now, similarly to
what we already do in MutationObserver::deliver(), while keeping a debug assertion around
in hope of finding the root cause at some point.
No new tests, we do not not how this is happening yet.
- page/IntersectionObserver.cpp:
(WebCore::IntersectionObserver::notify):
- 8:10 AM Changeset in webkit [281187] by
-
- 8 edits in branches/safari-612.1.28-branch/Source
Versioning.
WebKit-7612.1.28.4
- 6:42 AM Changeset in webkit [281186] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (iOS 15): DoubleDown Casino app won't load past launch page
https://bugs.webkit.org/show_bug.cgi?id=229200
rdar://81636256
Reviewed by Myles C. Maxfield.
The changes in https://webkit.org/b/228216 to fix rdar://80473805 introduced a mechanism to keep track of uses
of cached fonts and images in display list items in the web and GPU processes, via auseCountcounter variable
that's incremented in the web process whenever the font or image is used in a display list item and decremented
in the GPU process whenever the item is processed.
However, the code to increment
useCountin the web process currently only triggers at most once per rendering
update — this means that if there are multiple canvas drawing commands that use fonts in the same rendering
update, the web process' notion ofuseCountwill fall out of sync with the GPU process' notion ofuseCount.
In most cases, this causes the cached font to remain for longer in the GPU process than necessary; however, in
this specific scenario, it's possible for the web process to tell the GPU process to release the cached font too
early, which causes the GPU process to prematurely purge the font from the cache, and subsequently wait for the
cached font to arrive (which will never arrive, since the web process has already released the font).
In other words, the timeline of events between the web and GPU processes looks like this (where
fis a cached
web font,A_fis a drawing command that usesf, andB_fis another drawing command that usesf).
WEB GPU
==============================================================
- Cache
f - Append
A_f- Cache
f - Play back
A_f
- Cache
- Append
B_f - Release
f(use count was 1 here)- Release
f(use count dropped from 1 to 0) - Play back
B_f...and then display list playback stops due tofnot being in the cache.
- Release
To address this, we simply move the
useCountincrement in the web process out of the rendering update check.
The original intent of the fix for bug #228216 was to allow foruseCountto increment as many times as needed
per rendering update, so this limitation was unintentional.
Unfortunately, I have not been able to come up with a layout test that reliably reproduces this scenario (yet).
- WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:
(WebKit::RemoteResourceCacheProxy::recordFontUse):
- 6:30 AM Changeset in webkit [281185] by
-
- 6 edits in trunk
position: sticky with display: inline-block
https://bugs.webkit.org/show_bug.cgi?id=224415
<rdar://problem/76811968>
Reviewed by Simon Fraser.
Source/WebCore:
Improve sticky positioning applied to inline items. The first improvement is to
skip anonymous RenderBlock parents of inline display items when looking for the
containing block used to calculate sticky constraints. These anonymous parents
are not the containing block that constrains the movement of these kind of stickily
positioned items. Instead look for containing block for the anonymous parent,
which does limit the scroll boundaries of inline stickily position items.
Previously, when converting the frame rect from the coordinate space of the stickily
positioned item to that of the scrolling container, the code used to apply the offset
from the containing block to the scrolling ancestor directly to the frame rect. That
doesn't work when the containing block that determines sticky constraints is not the
direct containing block of the stickily positioned items (as it is for inlines).
Instead, the code now just maps the frame rect directly from the item parent to
the scrolling ancestor. This simplifies things a bit and allows it to work with
inline stickily positioned items.
Finally, this change adds comments to make it clearer what this method is doing.
No new tests. This is covered by existing WPT tests. Specifically the following
tests are now passing:
imported/w3c/web-platform-tests/css/css-position/sticky/position-sticky-hyperlink.html
imported/w3c/web-platform-tests/css/css-position/sticky/position-sticky-nested-table.html
imported/w3c/web-platform-tests/css/css-position/sticky/position-sticky-table-parts.html
imported/w3c/web-platform-tests/css/css-position/sticky/position-sticky-table-th-bottom.html
imported/w3c/web-platform-tests/css/css-position/sticky/position-sticky-nested-thead-th.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::positionOffsetValue): enclosingClippingBoxForStickyPosition now returns a pair
to avoid passing in a pointer. Only look at the first part of the pair here.
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::computeStickyPositionConstraints const): Modified this method
to return a pair in order to avoid dealing with input parameters. This allows simplifying this
method, making the code a bit simpler.
(WebCore::RenderBoxModelObject::enclosingClippingBoxForStickyPosition const): Deleted.
(WebCore::RenderBoxModelObject::computeStickyPositionConstraints const): Make two changes
to this method to improve sticky positioning for inline elements. The first change is
to be a bit better about finding the appropriate containing block for calculating sticky
constraints. The second is to more resiliently move from coordinate systems. In addition,
improve the comments for this method to make it clearer what is happening at each step.
- rendering/RenderBoxModelObject.h: Updated method declaration.
LayoutTests:
- TestExpectations: Unskip newly passing tests and skip one test which was
a false pass previously.
- 2:13 AM Changeset in webkit [281184] by
-
- 2 edits in trunk/Tools
[Flatpak SDK] Increase the startup performance of webkit-flatpak
https://bugs.webkit.org/show_bug.cgi?id=229185
Reviewed by Philippe Normand.
Improve flatpakutils.py by ensuring that we don't make redundant
calls to flatpak during initialization of the data structures. This
saves 5 seconds on every call to build-webkit and run-webkit-tests.
Before:
$ time ./Tools/Scripts/webkit-flatpak -c true
real 0m6,297s
user 0m0,786s
sys 0m0,513s
After:
$ time ./Tools/Scripts/webkit-flatpak -c true
real 0m1,243s
user 0m0,375s
sys 0m0,162s
- flatpak/flatpakutils.py:
(FlatpakPackages.init): Separate the update into another
method so that it can be called directly when a package is installed.
Add new packages directly to self.packages.
(FlatpakRepos.init): Ensure that we only update our repositories
and package list once we've initialized our list of repositories.
(FlatpakRepos.add): Return True if this method actually changed anything
and accept a parameter determining whether an update is done to
the repository and package list.
(FlatpakRepos.is_package_installed): Added this method which replaces
FlatpakRepo.is_app_installed.
(FlatpakRepo.init): Remove the app registry because it is duplicated
by FlatpakPackages.
(FlatpakPackage.is_installed): Now call FlatpakRepos.is_package_installed.
(WebkitFlatpak._reset_repository): Set up both repositories here and
pass then as part of the FlatpakRepos constructor.
(WebkitFlatpak.main): Separate out the check which deletes the Flatpak
repository from the one that checks if the packages are installed. This
makes sure we don't install packages and then immediately delete them.
(WebkitFlatpak.check_installed_packages): rename _get_packages to _get_dependency_packages
in order to make it clear that it doesn't return installed packages.
(WebkitFlatpak._get_dependency_packages): Ditto.
(WebkitFlatpak.install_all): Ditto.
(FlatpakRepo.is_app_installed): Deleted.
(WebkitFlatpak._get_packages): Deleted.
- 1:26 AM Changeset in webkit [281183] by
-
- 5 edits1 add in trunk/Source
[GStreamer][EME] Try to parse XML init datas that could possibly come from MPD manifests
https://bugs.webkit.org/show_bug.cgi?id=229145
Reviewed by Alicia Boya Garcia.
Source/WebCore:
Added GStreamerEMEUtilities to include implementation of
InitData::extractCencIfNeeded. This tries to parse the possible
XML inside an init data that could come from MPD manifests. If it
succeeds, it keeps the parsed init data, if not, it returns the
original one.
Based on a patch by Philippe Normand.
- platform/GStreamer.cmake:
- platform/graphics/gstreamer/eme/GStreamerEMEUtilities.cpp: Added.
(WebCore::markupStartElement):
(WebCore::markupEndElement):
(WebCore::markupText):
(WebCore::markupPassthrough):
(WebCore::markupError):
(WebCore::InitData::extractCencIfNeeded):
- platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h:
(WebCore::InitData::InitData):
Source/WTF:
- wtf/glib/GUniquePtr.h: Added deleter for GMarkupParseContext.