Timeline
Apr 11, 2022:
- 11:49 PM Changeset in webkit [292766] by
-
- 3 edits in trunk/LayoutTests
Make fast/text/otsvg-canvas.html more robust
https://bugs.webkit.org/show_bug.cgi?id=239109
<rdar://problem/88838078>
Unreviewed test gardening.
Turns out loading fonts is asynchronous.
- fast/text/otsvg-canvas.html:
- platform/mac-wk1/TestExpectations:
- 11:34 PM Changeset in webkit [292765] by
-
- 3 edits in trunk/Source/ThirdParty/ANGLE
[GTK][WPE] Build ANGLE with the EGL_NO_PLATFORM_SPECIFIC_TYPES define
https://bugs.webkit.org/show_bug.cgi?id=239039
Reviewed by Adrian Perez de Castro.
Specify the EGL_NO_PLATFORM_SPECIFIC_TYPES define when building ANGLE
subproject for the GTK and WPE ports. This should avoid searching for
platform-specific headers that might not be available at all during
build, e.g. the X11 headers which are used by default on UNIX platforms.
- PlatformGTK.cmake:
- PlatformWPE.cmake:
- 11:30 PM Changeset in webkit [292764] by
-
- 2 edits in trunk/Source/WebKit
[WK2] Simplify IPC encoding, decoding of tuples
https://bugs.webkit.org/show_bug.cgi?id=239062
Reviewed by Darin Adler.
For encoding each element of a given tuple, an index sequence is used in
combination with a fold expression calling ArgumentCoder<T>::encode().
For decoding, std::tuple_cat() is used to concatenate a single-element
tuple containing the current element with the tuple of the remaining
decoded elements.
No real change in behavior, sequence of encoding and decoding remains
the same.
- Platform/IPC/ArgumentCoders.h:
(IPC::TupleEncoder::encode):
(IPC::tupleFromTupleAndObject): Deleted.
(IPC::TupleDecoderImpl::decode): Deleted.
(IPC::TupleDecoderImpl<Type>::decode): Deleted.
(IPC::TupleDecoder::decode): Deleted.
(IPC::TupleDecoder<0>::decode): Deleted.
- 11:10 PM Changeset in webkit [292763] by
-
- 12 edits4 adds in trunk
AX: Update isolated tree in response to AXReadOnlyStatusChanged, AXRequiredStatusChanged, and AXPressedStateChanged notifications
https://bugs.webkit.org/show_bug.cgi?id=239047
Reviewed by Chris Fleizach.
Source/WebCore:
When these notifications come in for a live object, we need to update the
cached properties of the corresponding isolated object.
Tests: accessibility/aria-readonly-updates-after-dynamic-change.html,
accessibility/aria-required-updates-after-dynamic-change.html,
accessibility/mac/aria-pressed-button-attributes.html
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::updateIsolatedTree):
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
(-[WebAccessibilityObjectWrapper accessibilityIsRequired]):
Added both of these methods so the tests added in this patch can run on iOS.
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateNodeProperty):
Handle updates to AXPropertyName::IsRequired, AXPropertyName::CanSetValueAttribute,
and AXPropertyName::ReadOnlyValue.
Tools:
- DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::isAttributeSettable):
(AccessibilityUIElement::isRequired const):
Added both of these methods so that the tests added with this patch can run on iOS.
- WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::isAttributeSettable):
(WTR::AccessibilityUIElement::isRequired const):
Added both of these methods so that the tests added with this patch can run on iOS.
LayoutTests:
- accessibility/aria-readonly-updates-after-dynamic-change-expected.txt: Added.
- accessibility/aria-readonly-updates-after-dynamic-change.html: Added.
- accessibility/aria-required-updates-after-dynamic-change-expected.txt: Added.
- accessibility/aria-required-updates-after-dynamic-change.html: Added.
- accessibility/mac/aria-pressed-button-attributes-expected.txt:
- accessibility/mac/aria-pressed-button-attributes.html:
Add testcases that dynamically change aria-pressed and expect the
right attributes.
- platform/ios/TestExpectations: Enable new tests.
- platform/win/TestExpectations: Skip new tests.
- 10:59 PM Changeset in webkit [292762] by
-
- 2 edits in trunk
Unreviewed, removing one of my email addresses.
- metadata/contributors.json:
- 10:47 PM Changeset in webkit [292761] by
-
- 2 edits in trunk/Source/WebKit
[GLIB] Unreviewed, build fix for Debian Stable after r292251
https://bugs.webkit.org/show_bug.cgi?id=239102
- UIProcess/gtk/WaylandCompositor.cpp:
(WebKit::WaylandCompositor::initializeEGL): Convert char* to String.
- 9:57 PM Changeset in webkit [292760] by
-
- 2 edits in trunk/Source/WebGPU
[WebGPU] Fix the tvOS build (again)
https://bugs.webkit.org/show_bug.cgi?id=239106
<rdar://problem/91351306>
Unreviewed.
Turns out PLATFORM(APPLETV) and PLATFORM(TVOS) are different things.
- WebGPU/Texture.mm:
(WebGPU::Device::createTexture):
(WebGPU::Texture::createView):
- 8:43 PM Changeset in webkit [292759] by
-
- 22 edits2 adds in trunk
[CSS Container Queries] Update container shorthand order
https://bugs.webkit.org/show_bug.cgi?id=239065
Reviewed by Alan Bujtas.
LayoutTests/imported/w3c:
Update from WPT repo.
- resources/resource-files.json:
- web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt:
- web-platform-tests/css/css-contain/container-queries/at-container-parsing.html:
- web-platform-tests/css/css-contain/container-queries/container-computed-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-computed.html:
- web-platform-tests/css/css-contain/container-queries/container-name-parsing-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-name-parsing.html:
- web-platform-tests/css/css-contain/container-queries/container-parsing-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-parsing.html:
- web-platform-tests/css/css-contain/container-queries/container-selection.html:
- web-platform-tests/css/css-contain/container-queries/container-type-parsing.html:
- web-platform-tests/css/css-contain/container-queries/crashtests/canvas-as-container-crash.html:
- web-platform-tests/css/css-contain/container-queries/crashtests/chrome-bug-1289718-000-crash.html:
- web-platform-tests/css/css-contain/container-queries/crashtests/chrome-bug-1289718-001-crash.html:
- web-platform-tests/css/css-contain/container-queries/crashtests/chrome-quotes-crash.html: Added.
- web-platform-tests/css/css-contain/container-queries/crashtests/force-sibling-style-crash.html: Added.
- web-platform-tests/css/css-contain/container-queries/crashtests/w3c-import.log:
Source/WebCore:
The format is now 'name / type' instead of 'type / name'.
https://drafts.csswg.org/css-contain-3/#container-shorthand
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/StyleProperties.cpp:
(WebCore::isNoneValue):
(WebCore::isValueID):
(WebCore::StyleProperties::getPropertyValue const):
Also make "foo / none" serialize as "foo".
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeContainerName):
(WebCore::CSSPropertyParser::consumeContainerShorthand):
- 8:34 PM Changeset in webkit [292758] by
-
- 3 edits in trunk/Source/ThirdParty/libwebrtc
REGRESSION (r292411): libwebrtc header files aren't installed in system content path
https://bugs.webkit.org/show_bug.cgi?id=239100
Reviewed by Mark Lam.
Restored System Content Path processing for absl and webrtc header files.
- Configurations/libabsl.xcconfig:
- Configurations/libwebrtc.xcconfig:
- 8:00 PM Changeset in webkit [292757] by
-
- 8 edits in trunk/Source
[WebGPU] Use checked arithmetic
https://bugs.webkit.org/show_bug.cgi?id=239058
Reviewed by Kimmo Kinnunen.
We have a bunch of places where overflow can occur.
Luckily, we can just detect overflow inside the validation functions, and not have
to do any inside the code that creates platform types (NSUInteger, etc.). This is
because if the validation code succeeds, then we are guaranteed that the cast to
NSUIntegers will succeed. This is because ranges in a resource are checked against
the size of the resource, and the size of the resource has been checked against
platform maximums, which are guaranteed to be smaller than the largest NSUInteger.
- WebGPU/BindGroup.mm:
(WebGPU::Device::createBindGroup):
- WebGPU/Buffer.mm:
(WebGPU::Buffer::validateGetMappedRange const):
(WebGPU::Buffer::getMappedRange):
(WebGPU::Buffer::validateMapAsync const):
(WebGPU::Buffer::mapAsync):
- WebGPU/CommandEncoder.mm:
(WebGPU::CommandEncoder::validateCopyBufferToBuffer):
(WebGPU::CommandEncoder::copyBufferToTexture):
(WebGPU::CommandEncoder::copyTextureToBuffer):
(WebGPU::CommandEncoder::copyTextureToTexture):
(WebGPU::CommandEncoder::validateClearBuffer):
(WebGPU::CommandEncoder::clearBuffer):
- WebGPU/Queue.mm:
(WebGPU::Queue::validateWriteBuffer const):
(WebGPU::Queue::writeTexture):
- WebGPU/Texture.h:
- WebGPU/Texture.mm:
(WebGPU::Texture::resolveTextureViewDescriptorDefaults const):
(WebGPU::Texture::validateCreateView const):
(WebGPU::Texture::createView):
(WebGPU::Texture::validateTextureCopyRange):
(WebGPU::Texture::validateLinearTextureData):
- 6:58 PM Changeset in webkit [292756] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION: Web content process crashes when triggering Live Text in recoveryOS
https://bugs.webkit.org/show_bug.cgi?id=239096
rdar://91592943
Reviewed by Tim Horton.
Make encoding or decoding
RetainPtr<VKCImageAnalysis>
a no-op when the VisionKitCore framework is unavailable
on Cocoa platforms, rather than crashing (due toPAL::getVKCImageAnalysisClass()
returning nil).
- Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<RetainPtr<VKCImageAnalysis>>::encode):
(IPC::ArgumentCoder<RetainPtr<VKCImageAnalysis>>::decode):
- 6:38 PM Changeset in webkit [292755] by
-
- 3 edits in trunk/Tools
[Merge-Queue] Build before landing
https://bugs.webkit.org/show_bug.cgi?id=239068
<rdar://problem/91565146>
Reviewed by Ryan Haddad.
- Tools/CISupport/ews-build/factories.py:
(MergeQueueFactory.init): Build WebKit before landing.
- Tools/CISupport/ews-build/factories_unittest.py:
(TestExpectedBuildSteps):
Canonical link: https://commits.webkit.org/249539@main
- 6:34 PM Changeset in webkit [292754] by
-
- 13 edits in trunk
Web Inspector: preserve DOM.NodeId if a node is removed and re-added
https://bugs.webkit.org/show_bug.cgi?id=189687
Reviewed by Devin Rousso.
Source/WebCore:
Instead of unbinding and rebinding nodes upon removal/reinsertion to the DOM tree, we should only perform the
unbinding actions on aNode
that is being destroyed.
This resolves an issue where console messages with DOM nodes would behave unexpectedly because the node for a
visible console message could have its children removed inDOMManager.prototype._unbind
, even though the node
would still have its children when it is removed from the DOM tree (unless it is being destroyed, which is
handled byDOMManager.prototype.willDestroyDOMNode
).
While not a cause of an issue here, it is worth noting (due to confusion it caused me while investigating) that
even after we stopped keepingRefPtr<Node>
for nodes in r278785 the nodes themselves continued to be kept
alive as part of theRemoteObject
mechanism because the inspector injected script holds on to nodes until the
RemoteObject
is released.
- inspector/agents/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::nodeLayoutContextTypeChanged):
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::reset):
(WebCore::InspectorDOMAgent::bind):
(WebCore::InspectorDOMAgent::didCommitLoad):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::didRemoveDOMNode):
(WebCore::InspectorDOMAgent::pseudoElementDestroyed):
(WebCore::InspectorDOMAgent::unbind): Deleted.
- We should no longer be unbinding and rebinding nodes on insertion/removal, since nodes should keep the same ID
for their lifetime, and we will clean up the binding upon the Node's destruction.
(WebCore::InspectorDOMAgent::willDestroyDOMNode):
(WebCore::InspectorDOMAgent::destroyedNodesTimerFired):
- A Node in middle of being destroyed will no longer have a parent.
- inspector/agents/InspectorDOMAgent.h:
Source/WebInspectorUI:
Instead of unbinding and rebinding nodes upon removal/reinsertion to the DOM tree, we should only perform the
unbinding actions on aNode
that is being destroyed.
- UserInterface/Controllers/DOMDebuggerManager.js:
- UserInterface/Controllers/DOMManager.js:
(WI.DOMManager.prototype._pseudoElementAdded):
(WI.DOMManager.prototype.willDestroyDOMNode):
(WI.DOMManager.prototype._unbind):
- To match the backend, we should only unbind nodes when they are destroyed, not removed.
- UserInterface/Models/DOMNode.js:
(WI.DOMNode.prototype.newOrExistingFromPayload):
- Reuse an existing orphaned DOMNode if it already exists. In the future, we want to stop sending entire node
payloads to the frontend in those situations.
(WI.DOMNode.prototype._insertChild):
(WI.DOMNode.prototype._setChildrenPayload):
LayoutTests:
Update test to reflect that DOM breakpoints are now able to be reattached to their original node upon insertion
following removal.
- inspector/dom-debugger/dom-breakpoint-node-removed-ancestor.html:
- inspector/dom-debugger/dom-breakpoint-node-removed-ancestor-expected.txt:
- inspector/dom-debugger/dom-breakpoint-node-removed-direct-expected.txt:
- inspector/dom-debugger/resources/dom-breakpoint-utilities.js:
(TestPage.registerInitializer.InspectorTest.DOMBreakpoint.createBreakpoint):
- Add an event handler to log the setting of the domNode for breakpoints. In order to prevent spurious output
when removing breakpoints, instrument the removal of breakpoints to remove the testing event handler before the
node is changed.
- 6:32 PM Changeset in webkit [292753] by
-
- 4 edits in trunk/Source
Fix PlayStation build after r292696
https://bugs.webkit.org/show_bug.cgi?id=239098
Unreviewed build fix.
Source/WebDriver:
- playstation/WebDriverServicePlayStation.cpp:
(WebDriver::WebDriverService::platformCapabilities):
Source/WTF:
- wtf/playstation/LanguagePlayStation.cpp:
(WTF::platformUserPreferredLanguages):
- 6:30 PM Changeset in webkit [292752] by
-
- 7 edits in trunk/Source/WebCore
[IFC][Integration] LayoutIntegration::LineLayout should not expose InlineContent
https://bugs.webkit.org/show_bug.cgi?id=239059
Reviewed by Antti Koivisto.
Implement inkOverflowTop/inkOverflowBottom for inline iterator (LineBox) so that we can
keep InlineContent internal to LayoutIntegration::LineLayout.
- layout/integration/InlineIteratorLineBox.h:
(WebCore::InlineIterator::LineBox::inkOverflowTop const):
(WebCore::InlineIterator::LineBox::inkOverflowBottom const):
- layout/integration/InlineIteratorLineBoxLegacyPath.h:
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::inkOverflowTop const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::inkOverflowBottom const):
- layout/integration/InlineIteratorLineBoxModernPath.h:
(WebCore::InlineIterator::LineBoxIteratorModernPath::inkOverflowTop const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::inkOverflowBottom const):
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::hasVisualOverflow const):
- layout/integration/LayoutIntegrationLineLayout.h:
(WebCore::LayoutIntegration::LineLayout::isPaginated const):
(WebCore::LayoutIntegration::LineLayout::inlineContent const): Deleted.
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutModernLines):
- 6:16 PM Changeset in webkit [292751] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk2 Debug ] accessibility/ancestor-computation.html is a constant timeout https://bugs.webkit.org/show_bug.cgi?id=239099 Unreviewed test gardening. * platform/mac-wk2/TestExpectations:
- 6:15 PM Changeset in webkit [292750] by
-
- 2 edits in trunk/Tools
REGRESSION:(r292696) lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_null_string is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=239087
Reviewed by Jonathan Bedard.
Revert change to aNullString made in r292696 as the the following test relies on this String being empty:
lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_null_string
- lldb/lldbWebKitTester/main.cpp:
(testSummaryProviders):
- 5:43 PM Changeset in webkit [292749] by
-
- 5 edits in trunk
[ iOS iPhone 12 ] fast/hidpi & fast/layers/hidpi tests are flaky text/image failing
https://bugs.webkit.org/show_bug.cgi?id=232384
<rdar://problem/84714121>
Reviewed by Wenson Hsieh.
Tools:
Rotation (initiated by UiController::simulateRotationLikeSafari) may confuse UIScreen and produce unexpected scale value.
This patch ensures that we set the scale value back to the default (2) in between test runs.
(Currently we only set this value in TestController::platformInitialize/dumpRenderTree.)
- DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentState):
- WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
LayoutTests:
- platform/ios/TestExpectations:
- 5:40 PM Changeset in webkit [292748] by
-
- 5 edits in trunk/Source/WebGPU
[WebGPU] WebGPU strings are UTF-8, not Latin-1
https://bugs.webkit.org/show_bug.cgi?id=239057
Reviewed by Kimmo Kinnunen.
Replace String::fromLatin1() with String::fromUTF8().
- WebGPU/APIConversions.h:
(WebGPU::fromAPI):
- WebGPU/Adapter.mm:
(WebGPU::Adapter::requestDevice):
- WebGPU/ComputePipeline.mm:
(WebGPU::createConstantValues):
(WebGPU::Device::createComputePipeline):
- WebGPU/ShaderModule.mm:
(WebGPU::earlyCompileShaderModule):
(WebGPU::Device::createShaderModule):
- 5:30 PM Changeset in webkit [292747] by
-
- 8 edits in trunk/Source/WebGPU
[WebGPU] Make sure asynchronous things are asynchronous
https://bugs.webkit.org/show_bug.cgi?id=239056
Reviewed by Kimmo Kinnunen.
This isn't strictly necessary, because these asynchronous callbacks get hooked up
to promises in the browser which only call their callbacks at microtask boundaries.
However, for native code that uses WebGPU.framework, it's probably better to make
sure the asynchronous callbacks are actually asynchronous.
- WebGPU/Adapter.mm:
(WebGPU::Adapter::requestDevice):
- WebGPU/Buffer.mm:
(WebGPU::Buffer::mapAsync):
- WebGPU/ComputePipeline.mm:
(WebGPU::Device::createComputePipelineAsync):
- WebGPU/Device.mm:
(WebGPU::Device::loseTheDevice):
(WebGPU::Device::popErrorScope):
- WebGPU/Instance.mm:
(WebGPU::Instance::requestAdapter):
- WebGPU/RenderPipeline.mm:
(WebGPU::Device::createRenderPipelineAsync):
- WebGPU/ShaderModule.mm:
(WebGPU::ShaderModule::getCompilationInfo):
- 5:23 PM Changeset in webkit [292746] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION(r290770): Styles: creating a new property scrolls the input to the top of the panel
https://bugs.webkit.org/show_bug.cgi?id=237747
<rdar://problem/90130669>
Reviewed by Patrick Angle.
Remove unnecessary scrollIntoViewIfNeeded call. I added the scrollIntoViewIfNeeded call in 2017 (r222959) because,
at the time, focusing on an input field didn't scroll it into the viewport. It was possible to tab into an element
outside of the viewport and WebKit wouldn't scroll it make it visible. This is no longer the case.
- UserInterface/Views/SpreadsheetSelectorField.js:
(WI.SpreadsheetSelectorField.prototype.startEditing):
Callfocus()
to scroll to the edited element.
- UserInterface/Views/SpreadsheetTextField.js:
(WI.SpreadsheetTextField.prototype.startEditing):
- 5:19 PM Changeset in webkit [292745] by
-
- 2 edits in trunk/Source/WebCore/PAL
[WebGPU] Unspecified texture size values should be set to 1, not 0
https://bugs.webkit.org/show_bug.cgi?id=239052
Reviewed by Kimmo Kinnunen.
If content says "Please create a texture of size [32, 32]" then we need to pad that
to [32, 32, 1] rather than [32, 32, 0].
Test: http/tests/webgpu/webgpu/api/validation/createTexture.html
- pal/graphics/WebGPU/Impl/WebGPUConvertToBackingContext.cpp:
(PAL::WebGPU::ConvertToBackingContext::convertToBacking):
- 5:14 PM Changeset in webkit [292744] by
-
- 2 edits in trunk/Source/WebGPU
[WebGPU] Implement missing validity checks
https://bugs.webkit.org/show_bug.cgi?id=238722
Reviewed by Kimmo Kinnunen.
Now that WebGPU objects have a notion of validity, we can implement all the
FIXMEs for validity checks.
- WebGPU/Buffer.mm:
(WebGPU::validateCreateBuffer):
(WebGPU::Buffer::validateMapAsync const):
- WebGPU/CommandEncoder.h:
(WebGPU::CommandEncoder::makeInvalid):
- WebGPU/CommandEncoder.mm:
(WebGPU::CommandEncoder::validateCopyBufferToBuffer):
(WebGPU::validateImageCopyBuffer):
(WebGPU::CommandEncoder::validateClearBuffer):
(WebGPU::CommandEncoder::validateFinish const):
(WebGPU::CommandEncoder::finish):
(WebGPU::CommandEncoder::popDebugGroup):
(WebGPU::validateCopyBufferToBuffer): Deleted.
(WebGPU::validateClearBuffer): Deleted.
- WebGPU/ComputePassEncoder.h:
(WebGPU::ComputePassEncoder::makeInvalid):
- WebGPU/ComputePassEncoder.mm:
(WebGPU::ComputePassEncoder::popDebugGroup):
- WebGPU/ObjectBase.h:
(WebGPU::ObjectBase::isValidToUseWith const):
(WebGPU::ObjectBase::device const):
- WebGPU/Queue.h:
(WebGPU::Queue::device const):
- WebGPU/Queue.mm:
(WebGPU::Queue::validateSubmit const):
(WebGPU::Queue::submit):
(WebGPU::Queue::validateWriteBuffer const):
- WebGPU/RenderBundleEncoder.h:
(WebGPU::RenderBundleEncoder::makeInvalid):
- WebGPU/RenderBundleEncoder.mm:
(WebGPU::RenderBundleEncoder::popDebugGroup):
- WebGPU/RenderPassEncoder.h:
(WebGPU::RenderPassEncoder::makeInvalid):
- WebGPU/RenderPassEncoder.mm:
(WebGPU::RenderPassEncoder::popDebugGroup):
- WebGPU/Sampler.mm:
(WebGPU::validateCreateSampler):
- WebGPU/Texture.mm:
(WebGPU::Device::validateCreateTexture):
(WebGPU::Device::createTexture):
(WebGPU::Texture::validateCreateView const):
(WebGPU::Texture::createView):
(WebGPU::Texture::validateImageCopyTexture):
- 5:10 PM Changeset in webkit [292743] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
This WebGL example crashes
https://bugs.webkit.org/show_bug.cgi?id=238953
Null-check subnodes while performing a deep copy for
loops, and branches. These nodes can be null in some cases
Reviewed by Dean Jackson.
- src/compiler/translator/IntermNode.cpp:
(sh::TIntermBranch::TIntermBranch):
(sh::TIntermLoop::TIntermLoop):
- 5:07 PM Changeset in webkit [292742] by
-
- 6 edits1 copy1 add in trunk/Source/WebCore/PAL
[WebGPU] Implement correct ownership for WGPUQueues
https://bugs.webkit.org/show_bug.cgi?id=239050
Reviewed by Kimmo Kinnunen.
WGPUQueues and WGPUDevices have a somewhat interesting relationship: neither is
reference-counted, and the WGPUDevice owns its WGPUQueue. This means that, if client
code wants to extend the lifetime of a WGPUQueue, it has to do this by extending the
lifetime of its owning WGPUDevice. Both objects are Javascript objects, so there has to
be some mechanism for a queue to extend the lifetime of its owning device. And yet, a
device owns a queue, so a queue can't have a queue have a Ref<> to its owning device,
because that would be a circular depndency.
Here's the old ownership graph:
J A V A S C R I P T
------------------------------------------------
| |
| |
V |
PAL::WebGPU::DeviceImpl |
| \ |
| ----- |
| \ V
| -----> PAL::WebGPU::QueueImpl
| |
| |
V |
WGPUDevice |
\ |
------------- |
\ V
------------> WGPUQueue
You can see that there's a problem here: WGPUQueue has 2 owners, but it's not a
reference-counted object.
The solution is to add a new node into the ownership graph, like this:
J A V A S C R I P T
------------------------------------------------
| |
| |
V |
PAL::WebGPU::DeviceImpl |
\ \ |
\ ----- |
\ \ V
\ -----> PAL::WebGPU::QueueImpl
\ /
\ /
\ /
V V
PAL::WebGPU::DeviceHolder
/
/
/
/
V
WGPUDevice
\
-------------
\
------------> WGPUQueue
This way, both WGPUDevice and WGPUQueue have a single owner, there are no cycles,
and there is a path from PAL::WebGPU::QueueImpl to WGPUDevice.
- PAL.xcodeproj/project.pbxproj:
- pal/graphics/WebGPU/Impl/WebGPUDeviceHolderImpl.cpp: Added.
(PAL::WebGPU::DeviceHolderImpl::DeviceHolderImpl):
(PAL::WebGPU::DeviceHolderImpl::~DeviceHolderImpl):
- pal/graphics/WebGPU/Impl/WebGPUDeviceHolderImpl.h: Copied from Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUQueueImpl.h.
- pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp:
(PAL::WebGPU::DeviceImpl::DeviceImpl):
(PAL::WebGPU::DeviceImpl::destroy):
(PAL::WebGPU::DeviceImpl::createBuffer):
(PAL::WebGPU::DeviceImpl::createTexture):
(PAL::WebGPU::DeviceImpl::createSampler):
(PAL::WebGPU::DeviceImpl::createBindGroupLayout):
(PAL::WebGPU::DeviceImpl::createPipelineLayout):
(PAL::WebGPU::DeviceImpl::createBindGroup):
(PAL::WebGPU::DeviceImpl::createShaderModule):
(PAL::WebGPU::DeviceImpl::createComputePipeline):
(PAL::WebGPU::DeviceImpl::createRenderPipeline):
(PAL::WebGPU::DeviceImpl::createComputePipelineAsync):
(PAL::WebGPU::DeviceImpl::createRenderPipelineAsync):
(PAL::WebGPU::DeviceImpl::createCommandEncoder):
(PAL::WebGPU::DeviceImpl::createRenderBundleEncoder):
(PAL::WebGPU::DeviceImpl::createQuerySet):
(PAL::WebGPU::DeviceImpl::pushErrorScope):
(PAL::WebGPU::DeviceImpl::popErrorScope):
(PAL::WebGPU::DeviceImpl::setLabelInternal):
(PAL::WebGPU::DeviceImpl::~DeviceImpl): Deleted.
- pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.h:
- pal/graphics/WebGPU/Impl/WebGPUQueueImpl.cpp:
(PAL::WebGPU::QueueImpl::QueueImpl):
(PAL::WebGPU::QueueImpl::submit):
(PAL::WebGPU::QueueImpl::onSubmittedWorkDone):
(PAL::WebGPU::QueueImpl::writeBuffer):
(PAL::WebGPU::QueueImpl::writeTexture):
(PAL::WebGPU::QueueImpl::setLabelInternal):
(PAL::WebGPU::QueueImpl::~QueueImpl): Deleted.
- pal/graphics/WebGPU/Impl/WebGPUQueueImpl.h:
- 5:04 PM Changeset in webkit [292741] by
-
- 17 edits in trunk/Source
[WebGPU] Hook up device.queue to the IDL
https://bugs.webkit.org/show_bug.cgi?id=239043
Reviewed by Kimmo Kinnunen.
Source/WebCore:
It seems when I imported the WebGPU IDLs, I somehow skipped GPUDevice.queue.
I was probably unsure about the ownership model. Now that the ownership model
is straightened out, this can be implemented.
This is needed to run any of the CTS tests.
- Modules/WebGPU/GPUDevice.cpp:
(WebCore::GPUDevice::queue const):
- Modules/WebGPU/GPUDevice.h:
(WebCore::GPUDevice::m_queue):
(WebCore::GPUDevice::m_backing): Deleted.
- Modules/WebGPU/GPUDevice.idl:
Source/WebCore/PAL:
- pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp:
(PAL::WebGPU::DeviceImpl::DeviceImpl):
(PAL::WebGPU::DeviceImpl::queue):
- pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.h:
- pal/graphics/WebGPU/WebGPUDevice.h:
Source/WebKit:
- GPUProcess/graphics/WebGPU/RemoteAdapter.cpp:
(WebKit::RemoteAdapter::requestDevice):
- GPUProcess/graphics/WebGPU/RemoteAdapter.h:
- GPUProcess/graphics/WebGPU/RemoteAdapter.messages.in:
- GPUProcess/graphics/WebGPU/RemoteDevice.cpp:
(WebKit::RemoteDevice::RemoteDevice):
(WebKit::RemoteDevice::queue):
- GPUProcess/graphics/WebGPU/RemoteDevice.h:
- WebProcess/GPU/graphics/WebGPU/RemoteAdapterProxy.cpp:
(WebKit::WebGPU::RemoteAdapterProxy::requestDevice):
- WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.cpp:
(WebKit::WebGPU::RemoteDeviceProxy::RemoteDeviceProxy):
(WebKit::WebGPU::RemoteDeviceProxy::queue):
- WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.h:
- 4:48 PM Changeset in webkit [292740] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Debugs logs from VideoSinkCommon are missing
https://bugs.webkit.org/show_bug.cgi?id=239049
Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-11
Reviewed by Adrian Perez de Castro.
When this new module was added, the logging support was lost due to missing logging category.
- platform/graphics/gstreamer/GStreamerVideoSinkCommon.cpp:
(webKitVideoSinkSetMediaPlayerPrivate):
- 4:45 PM Changeset in webkit [292739] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (249023-249029@main): [ Monterey ] http/wpt/cache-storage/cache-storage-networkprocess-crash.html is a flaky CRASH with ASSERTION FAILED: m_pageMap.isEmpty()
https://bugs.webkit.org/show_bug.cgi?id=239095
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 4:45 PM Changeset in webkit [292738] by
-
- 2 edits in trunk/Source/WebKit
Use WebKit::blockedError instead of ResourceLoader::blockedError in WebLoaderStrategy::scheduleLoadFromNetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=239089
<rdar://91295875>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-04-11
Reviewed by Chris Dumez.
The latter dereferences the frame loader which can be null.
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
- 4:39 PM Changeset in webkit [292737] by
-
- 2 edits in trunk/Source/WebKit
Crash under ShareableBitmap::makeCGImageCopy()
https://bugs.webkit.org/show_bug.cgi?id=239085
<rdar://91073153>
Reviewed by Wenson Hsieh.
ShareableBitmap::create() can return null, so check it before calling makeCGImageCopy()
on the result.
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
- 4:31 PM Changeset in webkit [292736] by
-
- 1 copy in branches/safari-614.1.10-branch
New branch.
- 4:28 PM Changeset in webkit [292735] by
-
- 2 edits in trunk/Source/WebCore/PAL
Sort PAL.xcodeproj.
https://bugs.webkit.org/show_bug.cgi?id=239050
Reviewed by Kimmo Kinnunen.
- PAL.xcodeproj/project.pbxproj:
- 4:21 PM Changeset in webkit [292734] by
-
- 9 edits in trunk/Source
Versioning.
WebKit-7614.1.11
- 4:20 PM Changeset in webkit [292733] by
-
- 3 edits in trunk/LayoutTests
[ Mac ] http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html is a flaky text failure https://bugs.webkit.org/show_bug.cgi?id=239091 Unreviewed test gardening. * platform/mac-wk1/TestExpectations: * platform/mac/TestExpectations:
- 4:05 PM Changeset in webkit [292732] by
-
- 10 edits in trunk
calc(): Propogate nan for min, max, clamp, and hypot
https://bugs.webkit.org/show_bug.cgi?id=238974
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt:
- web-platform-tests/css/css-values/calc-infinity-nan-serialize-angle-expected.txt:
- web-platform-tests/css/css-values/calc-infinity-nan-serialize-length-expected.txt:
- web-platform-tests/css/css-values/calc-infinity-nan-serialize-time-expected.txt:
Source/WebCore:
If min, max, clamp, and hypot have a NaN value we need to propagate the NaN. This has to
do with the "infectious" NaN behavior the spec mentions. This patch also removes some
unnecessary code in CSSCalcPrimitiveValueNode::invert() and has clamp() properly serialize.
May want to separate them and expand clamp() serialization testing so it would have caught
this issue.
- css/calc/CSSCalcOperationNode.cpp:
(WebCore::CSSCalcOperationNode::combineChildren):
(WebCore::CSSCalcOperationNode::simplifyNode):
(WebCore::CSSCalcOperationNode::evaluateOperator):
- css/calc/CSSCalcOperationNode.h:
- css/calc/CSSCalcPrimitiveValueNode.cpp:
(WebCore::CSSCalcPrimitiveValueNode::invert):
- 3:56 PM Changeset in webkit [292731] by
-
- 2 edits in trunk/Tools
webkitpy.w3c.test_exporter assumes all exceptions are HTTPError
https://bugs.webkit.org/show_bug.cgi?id=238737
Reviewed by Jonathan Bedard.
This currently isn't at all easy to test, as our existing mocks for much
of this don't make it easy to throw arbitrary exceptions from given
functions.
- Scripts/webkitpy/w3c/test_exporter.py:
(WebPlatformTestExporter.create_wpt_pull_request):
- 3:48 PM Changeset in webkit [292730] by
-
- 11 edits in trunk/Source/WebCore
[Modern Media Controls] remove unnecessary
LayoutTraits
methods
https://bugs.webkit.org/show_bug.cgi?id=239018
<rdar://problem/91324687>
Reviewed by Eric Carlson.
- Modules/modern-media-controls/controls/layout-traits.js:
(LayoutTraits.prototype.knobStyleForScrubber): Deleted.
(LayoutTraits.prototype.playPauseButtonScaleFactor): Deleted.
- Modules/modern-media-controls/controls/ios-layout-traits.js:
(IOSLayoutTraits.prototype.knobStyleForScrubber): Deleted.
(IOSLayoutTraits.prototype.playPauseButtonScaleFactor): Deleted.
- Modules/modern-media-controls/controls/macos-layout-traits.js:
(MacOSLayoutTraits.prototype.knobStyleForScrubber): Deleted.
(MacOSLayoutTraits.prototype.playPauseButtonScaleFactor): Deleted.
- Modules/modern-media-controls/controls/watchos-layout-traits.js:
(WatchOSLayoutTraits.prototype.knobStyleForScrubber): Deleted.
(WatchOSLayoutTraits.prototype.playPauseButtonScaleFactor): Deleted.
- Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js:
(MacOSFullscreenMediaControls):
- Modules/modern-media-controls/controls/macos-inline-media-controls.js:
(MacOSInlineMediaControls):
- Modules/modern-media-controls/controls/play-pause-button.js:
(PlayPauseButton):
- Modules/modern-media-controls/controls/time-control.js:
(TimeControl):
Remove these functions as they are much more controllable by having theMediaControls
subclass set the related property directly. Having them be onLayoutTraits
also makes it
more difficult to handle situations where the state of theMediaControls
influences the
value given to the property (e.g. whether to use the video or audio layout).
- Modules/modern-media-controls/controls/buttons-container.js:
(ButtonsContainer):
Expose the default value ofleftMargin
,rightMargin
, andbuttonMargin
so that if the
MediaControls
wants to reset one of the above overrides, it doesn't need a magic number.
- Modules/modern-media-controls/controls/slider.js:
(Slider.prototype.get knobStyle): Added.
(Slider.prototype.set knobStyle): Added.
Provide a way to change theknobStyle
after construction in case theMediaControls
state
changes.
- 3:14 PM Changeset in webkit [292729] by
-
- 2 edits in trunk/Source/WebCore
Use unaccelerated rendering for ImageBitmapRenderingContext's placeholder image.
https://bugs.webkit.org/show_bug.cgi?id=238846
Reviewed by Simon Fraser.
This is a blank immutable image used a placeholder until a real ImageBitmap is provided, so there's
no need to allocate to allocate an accelerated IOSurface.
- html/canvas/ImageBitmapRenderingContext.cpp:
(WebCore::ImageBitmapRenderingContext::isAccelerated const):
(WebCore::ImageBitmapRenderingContext::setOutputBitmap):
- 3:03 PM Changeset in webkit [292728] by
-
- 14 edits in trunk/Source/WebGPU
[WebGPU] Implement missing validity checks
https://bugs.webkit.org/show_bug.cgi?id=238722
Reviewed by Kimmo Kinnunen.
Now that WebGPU objects have a notion of validity, we can implement all the
FIXMEs for validity checks.
- WebGPU/Buffer.mm:
(WebGPU::validateCreateBuffer):
(WebGPU::Buffer::validateMapAsync const):
- WebGPU/CommandEncoder.h:
(WebGPU::CommandEncoder::makeInvalid):
- WebGPU/CommandEncoder.mm:
(WebGPU::CommandEncoder::validateCopyBufferToBuffer):
(WebGPU::validateImageCopyBuffer):
(WebGPU::CommandEncoder::validateClearBuffer):
(WebGPU::CommandEncoder::validateFinish const):
(WebGPU::CommandEncoder::finish):
(WebGPU::CommandEncoder::popDebugGroup):
(WebGPU::validateCopyBufferToBuffer): Deleted.
(WebGPU::validateClearBuffer): Deleted.
- WebGPU/ComputePassEncoder.h:
(WebGPU::ComputePassEncoder::makeInvalid):
- WebGPU/ComputePassEncoder.mm:
(WebGPU::ComputePassEncoder::popDebugGroup):
- WebGPU/ObjectBase.h:
(WebGPU::ObjectBase::isValidToUseWith const):
(WebGPU::ObjectBase::device const):
- WebGPU/Queue.h:
(WebGPU::Queue::device const):
- WebGPU/Queue.mm:
(WebGPU::Queue::validateSubmit const):
(WebGPU::Queue::submit):
(WebGPU::Queue::validateWriteBuffer const):
- WebGPU/RenderBundleEncoder.h:
(WebGPU::RenderBundleEncoder::makeInvalid):
- WebGPU/RenderBundleEncoder.mm:
(WebGPU::RenderBundleEncoder::popDebugGroup):
- WebGPU/RenderPassEncoder.h:
(WebGPU::RenderPassEncoder::makeInvalid):
- WebGPU/RenderPassEncoder.mm:
(WebGPU::RenderPassEncoder::popDebugGroup):
- WebGPU/Sampler.mm:
(WebGPU::validateCreateSampler):
- WebGPU/Texture.mm:
(WebGPU::Device::validateCreateTexture):
(WebGPU::Device::createTexture):
(WebGPU::Texture::validateCreateView const):
(WebGPU::Texture::createView):
(WebGPU::Texture::validateImageCopyTexture):
- 2:59 PM Changeset in webkit [292727] by
-
- 2 edits in trunk/LayoutTests
REBASLINE: [ Monterey wk2 ] 4 http/tests/inspector/paymentrequest/* tests are constant text failures https://bugs.webkit.org/show_bug.cgi?id=238908 Unreviewed test gardening. * platform/mac-wk2/TestExpectations: Fixed expectations due to wk2 expectation
- 2:45 PM Changeset in webkit [292726] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Ignore find interaction deprecation warnings
https://bugs.webkit.org/show_bug.cgi?id=239084
Unreviewed, build fix.
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _setFindInteractionEnabled:]):
- 2:42 PM Changeset in webkit [292725] by
-
- 7 edits in trunk
REGRESSION(r292051-r292022): [ iOS ] media/video-object-fit.html is a constant image failure
https://bugs.webkit.org/show_bug.cgi?id=238634
<rdar://problem/91125776>
Reviewed by Eric Carlson.
Source/WebCore:
Depending on whether setVideoFullscreenGravity() or updateVideoLayerGravity() is called first,
the wrong video gravity will be set. Rather than have two places where video gravity is set,
just have setVideoFullscreenGravity() set an ivar, and then call updateVideoLayerGravity(),
which will set the correct gravity based on whether fullscreen is active or not.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenGravity):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoLayerGravity):
Source/WebKit:
Use an
std::<optional> bool
rather thanbool
to cache values sent to WebContent, so that
when a new value is pushed in, it's sent to WebContent the first time regardless of the default
value.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
LayoutTests:
- platform/ios-wk2/TestExpectations:
- 2:33 PM Changeset in webkit [292724] by
-
- 9 edits in branches/safari-613.2.6.1-branch/Source
Versioning.
WebKit-7613.2.6.1.1
- 2:22 PM Changeset in webkit [292723] by
-
- 2 edits in trunk/LayoutTests
webgl/2.0.0/conformance2/glsl3/bool-type-cast-bug-uint-ivec-uvec.html crashes https://bugs.webkit.org/show_bug.cgi?id=237840 Unreviewed test gardening. * platform/mac/TestExpectations:
- 2:16 PM Changeset in webkit [292722] by
-
- 17 edits1 copy6 adds in trunk
Expose more ServiceWorker interfaces to workers
https://bugs.webkit.org/show_bug.cgi?id=238992
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/notifications/idlharness.https.any.worker-expected.txt:
- web-platform-tests/push-api/idlharness.https.any.worker-expected.txt:
- web-platform-tests/service-workers/idlharness.https.any.sharedworker-expected.txt:
- web-platform-tests/service-workers/idlharness.https.any.worker-expected.txt:
Source/WebCore:
Expose ServiceWorker, ServiceWorkerContainer and ServiceWorkerRegistration interfaces.
Update task posting to support workers and shared workers.
Tests: http/wpt/service-workers/serviceworker-in-dedicatedworker.https.html
http/wpt/service-workers/serviceworker-in-sharedworker.https.html
- workers/Worker.cpp:
- workers/Worker.h:
- workers/service/SWClientConnection.cpp:
- workers/service/ServiceWorker.idl:
- workers/service/ServiceWorkerContainer.idl:
- workers/service/ServiceWorkerRegistration.idl:
- workers/service/context/SWContextManager.cpp:
- workers/service/context/SWContextManager.h:
- workers/shared/context/SharedWorkerContextManager.cpp:
- workers/shared/context/SharedWorkerContextManager.h:
LayoutTests:
- http/wpt/service-workers/resources/serviceworker-in-sharedworker.js: Added.
- http/wpt/service-workers/resources/serviceworker-in-worker.js: Added.
- http/wpt/service-workers/serviceworker-in-dedicatedworker.https-expected.txt: Added.
- http/wpt/service-workers/serviceworker-in-dedicatedworker.https.html: Added.
- http/wpt/service-workers/serviceworker-in-sharedworker.https-expected.txt: Added.
- http/wpt/service-workers/serviceworker-in-sharedworker.https.html: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/notifications/idlharness.https.any.worker-expected.txt:
- 1:59 PM Changeset in webkit [292721] by
-
- 4 edits in trunk
Fix size computation in WebCore::StorageMap
https://bugs.webkit.org/show_bug.cgi?id=239024
rdar://88249235
Reviewed by Chris Dumez.
Source/WebCore:
We use currentSize to track size for StorageMap. There are a few issues in current implementation that can make
currentSize incorrect and may lead to overflow:
- When computing size of key, StorageMap uses parameter key instead of stored key. The problem is that
two Strings can be evaluated to equal while their sizeInBytes() value is different, when one String is 8-bit and
the other is 16-bit. That means removeItem() may decrease currentSize by wrong number (e.g setItem() with an
8-bit key, converting the key to 16-bit, removeItem() with the key). To fix this, StorageMap now always uses
stored key for computation.
- When map.take(key) or map.get(key) returns null string, StorageMap takes it as the key does not exist and
will not correctly update currentSize, but user of WebCore::StorageMap may store null string as value. To fix
this, StorageMap now check if key exists with find() function.
- StorageMap only uses CheckedUint32 in setItem(), but removeItem() and importItem() may cause overflow in
currentSize as mentioned above, and the error will not be caught until setItem() is called. To fix this,
StorageMap now uses CheckedUint32 in all places that update currentSize.
New test: WKWebView.LocalStorageNoSizeOverflow
- storage/StorageMap.cpp:
(WebCore::StorageMap::setItem):
(WebCore::StorageMap::removeItem):
(WebCore::StorageMap::importItems):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:
(TEST):
- 1:49 PM Changeset in webkit [292720] by
-
- 2 edits in trunk/LayoutTests
REBASLINE: [ Monterey wk2 ] 4 http/tests/inspector/paymentrequest/* tests are constant text failures https://bugs.webkit.org/show_bug.cgi?id=238908 Unreviewed test gardening. * TestExpectations:
- 1:19 PM Changeset in webkit [292719] by
-
- 1 copy in branches/safari-613.2.6.3-branch
New branch.
- 1:19 PM Changeset in webkit [292718] by
-
- 1 copy in branches/safari-613.2.6.2-branch
New branch.
- 1:19 PM Changeset in webkit [292717] by
-
- 1 copy in branches/safari-613.2.6.1-branch
New branch.
- 1:19 PM Changeset in webkit [292716] by
-
- 1 copy in branches/safari-613.2.6.0-branch
New branch.
- 1:18 PM Changeset in webkit [292715] by
-
- 4 edits in trunk/Source/WebKit
REGRESSION (r289785): [iOS] Unable to double-click to select a word in a received email
https://bugs.webkit.org/show_bug.cgi?id=239055
rdar://90736710
Reviewed by Tim Horton.
Following r289785, double-clicking text in Mail message viewer on iOS (or more generally, any web view in an app
that does not have the "UIApplicationSupportsIndirectInputEvents" application plist key set toYES
) produces a
selection that is immediately removed. This is because after double clicking, the synthetic click gesture fires
and immediately clears the selection.
In Safari (an application that sets UIApplicationSupportsIndirectInputEvents), the non-pointer gesture
recognizers (e.g. synthetic taps) don't fire because the type of theUITouch
isUITouchTypeIndirectPointer
,
which allows us to returnNO
from-gestureRecognizer:shouldReceiveTouch:
for anything that is not the mouse
gesture recognizer's current mouse touch.
For apps that lack this plist key, the touch type remains
UITouchTypeDirect
to avoid breaking compatibility,
even for events that are generated via a pointing device (i.e. trackpad). This means that we no longer route
these events solely to the mouse gesture recognizer. To fix this, use-_isPointerTouch
instead of
-[UITouch type]
here. Unlike the latter, the former isn't affected by the "supports indirect input" plist key.
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizer:shouldReceiveTouch:]):
- UIProcess/ios/WKMouseGestureRecognizer.mm:
(-[WKMouseGestureRecognizer _shouldReceiveTouch:forEvent:recognizerView:]):
Also fix a similar bug here, where the check against
UITouchTypeIndirectPointer
instead of-_isPointerEvent
causes apps without the UIApplicationSupportsIndirectInputEvents key to lose the ability to listen for mousedown
and mouseup events when the user clicks via trackpad on iPad.
- 1:10 PM Changeset in webkit [292714] by
-
- 14 edits in trunk/Source
[JSC] Reduce use of unnecessary cryptographicallyRandom numbers
https://bugs.webkit.org/show_bug.cgi?id=239026
Reviewed by Saam Barati.
Source/JavaScriptCore:
This patch removes cryptographically random calls in some of super hot critical path.
MarkedBlock's use is very hot and it appears on Speedometer2 artrace. But this is just
a random shuffling of freelist, and WeakRandom is enough for that. This patch replaces
them with WeakRandom. It offers 0.3% improvement in Speedometer2.
- assembler/AbstractMacroAssembler.cpp:
(JSC::AbstractMacroAssemblerBase::initializeRandom):
(WTF::printInternal):
- assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssemblerBase::random):
(JSC::AbstractMacroAssembler::AbstractMacroAssembler):
(JSC::AbstractMacroAssembler::random): Deleted.
- b3/air/AirCode.cpp:
(JSC::B3::Air::Code::Code):
- b3/air/AirCode.h:
(JSC::B3::Air::Code::weakRandom): Deleted.
- heap/MarkedBlockInlines.h:
(JSC::MarkedBlock::Handle::specializedSweep):
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
(JSC::VM::heapRandom):
Source/WebCore:
We use createVersion4UUIDStringWeak since there is no need to use cryptographically random numbers for KeyframeEffect names.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::copyPropertiesFromSource):
(WebCore::KeyframeEffect::updateBlendingKeyframes):
(WebCore::KeyframeEffect::computeCSSTransitionBlendingKeyframes):
Source/WTF:
We add createVersion4UUIDStringWeak, which can generate UUID with WeakRandom numbers.
- wtf/UUID.cpp:
(WTF::convertRandomUInt128ToUUIDVersion4):
(WTF::generateCryptographicallyRandomUUIDVersion4):
(WTF::generateWeakRandomUUIDVersion4):
(WTF::UUID::UUID):
(WTF::createVersion4UUIDStringWeak):
- wtf/UUID.h:
- wtf/WeakRandom.h:
- 1:04 PM Changeset in webkit [292713] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, use std::forward instead of WTFMove since it becomes template typename Vector&&
https://bugs.webkit.org/show_bug.cgi?id=239025
- bytecode/ObjectPropertyConditionSet.h:
(JSC::ObjectPropertyConditionSet::create):
- 12:02 PM Changeset in webkit [292712] by
-
- 5 edits in trunk
[Mail Compose] Preserve attachment identifiers when cloning attachment-backed images
https://bugs.webkit.org/show_bug.cgi?id=239040
rdar://91527065
Reviewed by Aditya Keerthi.
Source/WebCore:
Override HTMLImageElement's
cloneElementWithoutAttributesAndChildren
method so that it additionally clones the
attachment element underneath the original image element, if it exists. This ensures that an image element that
is copied from existing attachment-backed images usingcloneNode
will contain anattachment
in its shadow
root that points to the same_WKAttachment
in the embedding client.
Test: WKAttachmentTests.CloneImageWithAttachment
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::cloneElementWithoutAttributesAndChildren):
- html/HTMLImageElement.h:
Tools:
Add an API test to exercise the change.
- TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST):
- 9:47 AM Changeset in webkit [292711] by
-
- 9 edits in branches/safari-614.1.9-branch/Source
Versioning.
WebKit-7614.1.9.3
- 9:18 AM Changeset in webkit [292710] by
-
- 4 edits in trunk/Source/WebKit
[WebAuthn] Ensure requestPin callback on main thread
https://bugs.webkit.org/show_bug.cgi?id=238962
rdar://problem/91446051
Reviewed by Brent Fulgham.
This callback gets called by a non-main thread when making calls via
ASA. This patch uses ensureOnMainThread to ensure the completion handler
is called on the main thread. It also upgrades the callback asserts to
RELEASE_ASSERTs to avoid this issue in the future.
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticator::getAssertion):
- UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.mm:
(WebKit::WebAuthenticationPanelClient::requestPin const):
- UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::continueGetNextAssertionAfterResponseReceived):
(WebKit::CtapAuthenticator::continueRequestPinAfterGetKeyAgreement):
- 9:13 AM Changeset in webkit [292709] by
-
- 1 copy in tags/WebKit-7614.1.9.2
Tag WebKit-7614.1.9.2.
- 8:32 AM Changeset in webkit [292708] by
-
- 2 edits3 adds2 deletes in trunk/LayoutTests
Rewrite accessibility/table-modification-crash.html to test that the AX tree reflects the changes made to the table rows.
https://bugs.webkit.org/show_bug.cgi?id=239013
<rdar://problem/91498453>
Reviewed by Darin Adler.
Renamed and rewrote this test to actually test more than just that it
doesn't crash. Now we check that the AX tree reflects the changes of
adding and removing table rows.
- accessibility/table-add-remove-row-expected.txt: Added.
- accessibility/table-add-remove-row.html: Added.
- accessibility/table-modification-crash-expected.txt: Removed.
- accessibility/table-modification-crash.html: Removed.
- platform/glib/accessibility/table-add-remove-row-expected.txt:
- platform/win/TestExpectations:
- 6:43 AM Changeset in webkit [292707] by
-
- 3 edits in trunk/Tools
TestRunner’s calls to [WebAccessibilityObjectWrapper accessibilityArrayAttributeCount:] need to be dispatch to the AX secondary thread.
https://bugs.webkit.org/show_bug.cgi?id=239010
<rdar://problem/91493569>
Reviewed by Chris Fleizach.
Added AccessibilityUIElement::arrayAttributeCount to dispatch to the AX
secondary thread calls to the platform wrapper's
accessibilityArrayAttributeCount. Replaced the instances to the
platform wrapper's method with the calls to this new method.
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::arrayAttributeCount const):
(WTR::AccessibilityUIElement::selectedChildrenCount const):
(WTR::AccessibilityUIElement::rowCount):
(WTR::AccessibilityUIElement::columnCount):
- 5:53 AM Changeset in webkit [292706] by
-
- 18 edits in trunk/Source/WebCore
[LBSE] Activate SVG transform support through layers
https://bugs.webkit.org/show_bug.cgi?id=237711
Reviewed by Rob Buis.
Activate transforms for SVG layers.
Use the flag to keep track of the presence of SVG transformations
on a renderer. CSS/HTML renderers can rely only on the RenderStyle
to determine if transformations are applied, whereas SVG has to
consult additional sources, such as the SVG 'transform' attribute.
A SVG renderer with the 'HasSVGTransform' flag set should behave
like any SVG/HTML renderer that has CSS transformations applied.
With this patch applied SVG transform and CSS transforms can
be applied to <g> / <rect> elements in LBSE.
Covered by existing tests, no change in behaviour.
- platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::multiplyAffineTransform):
- platform/graphics/transforms/TransformationMatrix.h:
- rendering/RenderBox.cpp:
(WebCore::RenderBox::updateLayerTransform): Deleted.
- rendering/RenderBox.h:
- rendering/RenderLayer.cpp:
(WebCore::canCreateStackingContext):
(WebCore::RenderLayer::currentTransform const):
- rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::updateLayerTransform):
(WebCore::RenderLayerModelObject::applySVGTransform const):
- rendering/RenderLayerModelObject.h:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::setHasSVGTransform):
- rendering/RenderObject.h:
(WebCore::RenderObject::hasSVGTransform const):
(WebCore::RenderObject::hasTransform const):
- rendering/svg/RenderSVGContainer.cpp:
(WebCore::SVGLayerTransformUpdater::SVGLayerTransformUpdater):
(WebCore::SVGLayerTransformUpdater::~SVGLayerTransformUpdater):
(WebCore::RenderSVGContainer::layout):
- rendering/svg/RenderSVGContainer.h:
(WebCore::RenderSVGContainer::updateLayerInformation): Deleted.
- rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::updateFromStyle):
- rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::updateFromStyle):
- rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::layout):
(WebCore::RenderSVGShape::applyTransform const):
- rendering/svg/RenderSVGShape.h:
- rendering/svg/RenderSVGTransformableContainer.cpp:
(WebCore::RenderSVGTransformableContainer::updateFromStyle):
(WebCore::RenderSVGTransformableContainer::applyTransform const):
- svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::animatedLocalTransform const):
- 1:29 AM Changeset in webkit [292705] by
-
- 3 edits in trunk/Tools
Split TestWebKitAPI.GPUProcess.ExitsUnderMemoryPressureWebRTCCase in more tests
https://bugs.webkit.org/show_bug.cgi?id=238927
Reviewed by Eric Carlson.
Split the tests in sub tests (microphone, camera, camera+video codec).
- TestWebKitAPI/Tests/WebKit/getUserMedia.html:
- TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
- 1:20 AM WebKitGTK/2.36.x edited by
- (diff)
- 12:51 AM Changeset in webkit [292704] by
-
- 6 edits in trunk/Tools/buildstream
[Flatpak SDK] Almost-easter eggs update
https://bugs.webkit.org/show_bug.cgi?id=239048
Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-11
Reviewed by Adrian Perez de Castro.
- elements/sdk/clangd.bst: Bump to version 14.
- elements/sdk/gst-plugins-bad.bst: Enable the new libva plugin, going to be useful as
replacement for gstreamer-vaapi.
- elements/sdk/libwpe.bst: Bump to version 1.12.
- elements/sdk/rr.bst: Bump to latest master version.
- elements/sdk/wpebackend-fdo.bst: Bump to version 1.12.
Apr 10, 2022:
- 11:17 PM Changeset in webkit [292703] by
-
- 2 edits in trunk/Tools
Unreviewed, fix use of ASCIILiteral for a literal containing non-ASCII characters after r292251.
- TestWebKitAPI/Tests/WebCore/ParsedContentType.cpp:
(TestWebKitAPI::TEST):
- 11:13 PM Changeset in webkit [292702] by
-
- 2 edits in trunk/Tools
Unreviewed, fix use of ASCIILiteral for a literal containing non-ASCII characters after r292251.
- TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:
(TestWebKitAPI::TEST_F):
- 10:29 PM Changeset in webkit [292701] by
-
- 6 edits in trunk/Source
Unreviewed Windows build fix after r292696.
Source/WebCore:
- platform/win/LoggingWin.cpp:
(WebCore::logLevelString):
Source/WebCore/PAL:
- pal/win/LoggingWin.cpp:
(PAL::logLevelString):
Source/WebKit:
- Platform/win/LoggingWin.cpp:
(WebKit::logLevelString):
- 10:27 PM Changeset in webkit [292700] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed WatchOS build fix.
- runtime/MathCommon.cpp:
(JSC::fdlibmPow):
- 10:23 PM Changeset in webkit [292699] by
-
- 2 edits in trunk/Source/WTF
Unreviewed Windows build fix after r292696.
- wtf/win/LoggingWin.cpp:
(WTF::logLevelString):
- 10:21 PM Changeset in webkit [292698] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed WatchOS build fix.
- runtime/MathCommon.cpp:
(JSC::fdlibmPow):
- 9:57 PM Changeset in webkit [292697] by
-
- 42 edits4 adds in trunk
[JSC] DFG / FTL should be aware of JSString's String replacement
https://bugs.webkit.org/show_bug.cgi?id=238918
Reviewed by Saam Barati.
JSTests:
- stress/resolve-rope-get-by-val.js: Added.
(shouldBe):
(test):
- stress/resolve-rope-string-char-at.js: Added.
(shouldBe):
(test):
- stress/resolve-rope-string-char-code-at.js: Added.
(shouldBe):
(test):
- stress/resolve-rope-string-code-point-at.js: Added.
(shouldBe):
(test):
Source/JavaScriptCore:
After r289359, String in JSString* can be replaced even after it is resolved. When atomizing String inside JSString*,
we may replace the existing one to new AtomStringImpl if different AtomStringImpl is already registered in the
AtomStringTable. However, DFG / FTL GetIndexedPropertyStorage assumes that StringImpl* in JSString* never changes after
resolving. And this is wrong.
This patch decouples String handling in GetIndexedPropertyStorage as ResolveRope DFG node. GetIndexedPropertyStorage no
longer handles JSString and it is now tailored to object cases. ResolveRope does not expose StringImpl::m_data pointer,
and instead it keeps resolved JSString*. After this change,
GetByVal(String:@0, Untyped:@1, GetIndexedProperty(String:@0))
is changed to
GetByVal(ResolveRope(String:@0), Untyped:@1)
Also, we revisit all the value(...) callsites (by changing function name) and ensure that we have no code assuming String
cannot be changed after resolving.
A/B test ensured that this is perf-neutral.
- b3/B3Generate.cpp:
(JSC::B3::generateToAir):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitEqualityOpImpl):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::checkArray):
- dfg/DFGNode.h:
(JSC::DFG::Node::hasStorageChild const):
(JSC::DFG::Node::storageChildIndex):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetCharCodeAt):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileStringCodePointAt):
- dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLCompile.cpp:
(JSC::FTL::compile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage):
(JSC::FTL::DFG::LowerDFGToB3::compileResolveRope):
(JSC::FTL::DFG::LowerDFGToB3::compileStringCharAtImpl):
(JSC::FTL::DFG::LowerDFGToB3::compileStringCharCodeAt):
(JSC::FTL::DFG::LowerDFGToB3::compileStringCodePointAt):
- jsc.cpp:
(JSC_DEFINE_HOST_FUNCTION):
- runtime/HashMapImplInlines.h:
(JSC::jsMapHashImpl):
- runtime/InternalFunction.cpp:
(JSC::InternalFunction::name):
(JSC::InternalFunction::displayName):
(JSC::InternalFunction::calculatedDisplayName):
- runtime/InternalFunction.h:
- runtime/JSBoundFunction.h:
- runtime/JSCJSValueInlines.h:
(JSC::toPreferredPrimitiveType):
- runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::importModule):
- runtime/JSONObject.cpp:
(JSC::Stringifier::appendStringifiedValue):
- runtime/JSPropertyNameEnumerator.cpp:
(JSC::JSPropertyNameEnumerator::computeNext):
- runtime/JSRemoteFunction.h:
- runtime/Operations.h:
(JSC::jsString):
(JSC::compareBigIntToOtherPrimitive):
(JSC::compareBigInt32ToOtherPrimitive):
- runtime/RegExpMatchesArray.h:
(JSC::createRegExpMatchesArray):
- runtime/StringPrototype.cpp:
(JSC::JSC_DEFINE_JIT_OPERATION):
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/SymbolConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- tools/JSDollarVM.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
Source/WebCore:
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::reportViolationForUnsafeEval):
- 9:40 PM Changeset in webkit [292696] by
-
- 131 edits in trunk
Finish porting code base to String::fromLatin1() and make String(const char*) private
https://bugs.webkit.org/show_bug.cgi?id=238977
Reviewed by Darin Adler.
Source/WebCore:
- Modules/mediastream/gstreamer/GStreamerDataChannelHandler.cpp:
(WebCore::GStreamerDataChannelHandler::createDataChannelEvent):
- Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:
(WebCore::fetchDescription):
(WebCore::GStreamerMediaEndpoint::storeRemoteMLineInfo):
(WebCore::GStreamerMediaEndpoint::addRemoteStream):
(WebCore::GStreamerMediaEndpoint::createSessionDescriptionSucceeded):
(WebCore::GStreamerMediaEndpoint::collectTransceivers):
- Modules/mediastream/gstreamer/GStreamerRtpTransceiverBackend.cpp:
(WebCore::GStreamerRtpTransceiverBackend::mid):
- Modules/mediastream/gstreamer/GStreamerStatsCollector.cpp:
(WebCore::fillRTCStats):
(WebCore::fillRTCRTPStreamStats):
(WebCore::fillOutboundRTPStreamStats):
- Modules/mediastream/gstreamer/GStreamerWebRTCUtils.cpp:
(WebCore::toRTCEncodingParameters):
- platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:
(WebCore::AudioTrackPrivateGStreamer::updateConfigurationFromCaps):
- platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h:
(WebCore::ProtectionSystemEvents::ProtectionSystemEvents):
- platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:
(WebCore::SourceBufferPrivateGStreamer::platformMaximumBufferSize const):
- platform/graphics/opengl/ExtensionsGLOpenGLCommon.cpp:
(WebCore::ExtensionsGLOpenGLCommon::ExtensionsGLOpenGLCommon):
- platform/graphics/opengl/ExtensionsGLOpenGLES.cpp:
(WebCore::ExtensionsGLOpenGLES::getExtensions):
- platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:
(WebCore::GraphicsContextGLOpenGL::getString):
Source/WebDriver:
- Session.cpp:
(WebDriver::Session::pageLoadStrategyString const):
- WebDriverService.cpp:
(WebDriver::WebDriverService::run):
(WebDriver::WebDriverService::findSessionOrCompleteWithError):
(WebDriver::WebDriverService::processCapabilities const):
(WebDriver::WebDriverService::newSession):
(WebDriver::WebDriverService::connectToBrowser):
(WebDriver::processPauseAction):
(WebDriver::processNullAction):
(WebDriver::processKeyAction):
(WebDriver::processPointerMoveAction):
(WebDriver::processPointerAction):
(WebDriver::processWheelAction):
(WebDriver::processPointerParameters):
(WebDriver::processInputActionSequence):
(WebDriver::WebDriverService::performActions):
- gtk/WebDriverServiceGtk.cpp:
(WebDriver::WebDriverService::platformCapabilities):
(WebDriver::WebDriverService::platformParseCapabilities const):
- wpe/WebDriverServiceWPE.cpp:
(WebDriver::WebDriverService::platformCapabilities):
(WebDriver::WebDriverService::platformParseCapabilities const):
Source/WTF:
- wtf/text/WTFString.h:
- wtf/unix/LanguageUnix.cpp:
(WTF::platformLanguage):
- wtf/unix/LoggingUnix.cpp:
(WTF::logLevelString):
Tools:
- TestWebKitAPI/Tests/WTF/CrossThreadCopier.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WTF/HexNumber.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/StringImpl.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/StringOperators.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/StringView.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/URL.cpp:
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/WTFString.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
- TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp:
(TEST):
- TestWebKitAPI/Tests/WebCore/KeyedCoding.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/PushDatabase.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp:
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(testIdentity2):
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::signUnlinkableTokenAndSendSecretToken):
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
- TestWebKitAPI/Tests/mac/ContextMenuCanCopyURL.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/mac/WebViewCanPasteURL.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/mac/WillPerformClientRedirectToURLCrash.mm:
(-[WebKit1TestDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]):
- TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::Connection::webSocketHandshake):
(TestWebKitAPI::HTTPServer::testCertificate):
(TestWebKitAPI::HTTPServer::testPrivateKey):
- 9:25 PM Changeset in webkit [292695] by
-
- 2 edits in trunk/Source/WebKit
[WinCairo] Child process happens to remain alive even after IPC::Connection is disconnected
https://bugs.webkit.org/show_bug.cgi?id=204221
Reviewed by Don Olmstead.
After running layout tests, I observed some processes of
WebKitWebProcess.exe and WebKitNetworkProcess.exe were still
alive. These child processed should exit if the named pipe of
IPC::Connection is broken.
- Platform/IPC/win/ConnectionWin.cpp:
(IPC::Connection::readEventHandler): Call connectionDidClose() in the case of ERROR_BROKEN_PIPE.
- 9:22 PM Changeset in webkit [292694] by
-
- 18 edits in trunk/Source/WebCore
Unreviewed, reverting r292690.
https://bugs.webkit.org/show_bug.cgi?id=239060
fast/multicol tests are randomly failing
Reverted changeset:
"[LBSE] Activate SVG transform support through layers"
https://bugs.webkit.org/show_bug.cgi?id=237711
https://commits.webkit.org/r292690
- 6:32 PM Changeset in webkit [292693] by
-
- 5 edits in trunk/Source/WebCore
Update listMarkerTextForNodeAndPosition() to return a StringView instead of a String
https://bugs.webkit.org/show_bug.cgi?id=239022
<rdar://problem/91509602>
Reviewed by Darin Adler.
Update listMarkerTextForNodeAndPosition() to return a StringView instead of a String. listMarkerTextForNodeAndPosition()
has a StringView internally and none it its call sites actually need a String. The call sites either use StringBuilder
or want a NSString*. This avoids unnecessary String allocations.
- accessibility/AccessibilityObject.cpp:
(WebCore::listMarkerTextForNode):
(WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):
- accessibility/AccessibilityObject.h:
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(AXAttributedStringAppendText):
(-[WebAccessibilityObjectWrapperBase contentForSimpleRange:attributed:]):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:spellCheck:]):
- 4:54 PM Changeset in webkit [292692] by
-
- 10 edits in trunk/Source/WebCore
Avoid redundant calls to findHTTPHeaderName()
https://bugs.webkit.org/show_bug.cgi?id=239021
Reviewed by Darin Adler.
Some call sites of HTTPHeaderMap::add() / set() or ResourceResponse::addHTTPHeaderField() / setHTTPHeaderField()
have already called findHTTPHeaderName() and determined that this wasn't a common header. As a result, we were
doing redundant findHTTPHeaderName() checks inside those functions. To avoid this, add overloads that take in
a header that we already know is uncommon.
- Modules/fetch/FetchHeaders.cpp:
(WebCore::appendToHeaderMap):
(WebCore::FetchHeaders::filterAndFill):
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::resourceResponse const):
- Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::readHTTPHeaders):
- platform/network/CacheValidation.cpp:
(WebCore::updateResponseHeadersAfterRevalidation):
- platform/network/HTTPHeaderMap.cpp:
(WebCore::HTTPHeaderMap::setUncommonHeader):
(WebCore::HTTPHeaderMap::add):
(WebCore::HTTPHeaderMap::addUncommonHeader):
- platform/network/HTTPHeaderMap.h:
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::setHTTPHeaderField):
(WebCore::ResourceResponseBase::setUncommonHTTPHeaderField):
(WebCore::ResourceResponseBase::addHTTPHeaderField):
(WebCore::ResourceResponseBase::addUncommonHTTPHeaderField):
- platform/network/ResourceResponseBase.h:
- workers/service/ServiceWorkerJob.cpp:
(WebCore::ServiceWorkerJob::fetchScriptWithContext):
- 4:52 PM Changeset in webkit [292691] by
-
- 4 edits in trunk/Source/WebCore
[Line clamp] Move line clamp only code from RenderBlockFlow to RenderDeprecatedFlexibleBox
https://bugs.webkit.org/show_bug.cgi?id=239041
Reviewed by Antti Koivisto.
- rendering/RenderBlockFlow.cpp:
(WebCore::shouldIncludeLinesForParentLineCount): Deleted.
(WebCore::RenderBlockFlow::clearTruncation): Deleted.
- rendering/RenderBlockFlow.h:
- rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::shouldIncludeLinesForParentLineCount):
(WebCore::clearTruncation):
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
(WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
- 3:51 PM Changeset in webkit [292690] by
-
- 18 edits in trunk/Source/WebCore
[LBSE] Activate SVG transform support through layers
https://bugs.webkit.org/show_bug.cgi?id=237711
Reviewed by Rob Buis.
Activate transforms for SVG layers.
Use the flag to keep track of the presence of SVG transformations
on a renderer. CSS/HTML renderers can rely only on the RenderStyle
to determine if transformations are applied, whereas SVG has to
consult additional sources, such as the SVG 'transform' attribute.
A SVG renderer with the 'HasSVGTransform' flag set should behave
like any SVG/HTML renderer that has CSS transformations applied.
With this patch applied SVG transform and CSS transforms can
be applied to <g> / <rect> elements in LBSE. However, the order
of the matrix multiplication is not correct yet for SVG -- that
will be adressed in a follow-up patch.
Covered by existing tests, no change in behaviour.
- platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::multiplyAffineTransform):
- platform/graphics/transforms/TransformationMatrix.h:
- rendering/RenderBox.cpp:
(WebCore::RenderBox::updateLayerTransform): Deleted.
- rendering/RenderBox.h:
- rendering/RenderLayer.cpp:
(WebCore::canCreateStackingContext):
(WebCore::RenderLayer::currentTransform const):
- rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::updateLayerTransform):
(WebCore::RenderLayerModelObject::applySVGTransform const):
- rendering/RenderLayerModelObject.h:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::setHasSVGTransform):
- rendering/RenderObject.h:
(WebCore::RenderObject::hasSVGTransform const):
(WebCore::RenderObject::hasTransform const):
- rendering/svg/RenderSVGContainer.cpp:
(WebCore::SVGLayerTransformUpdater::SVGLayerTransformUpdater):
(WebCore::SVGLayerTransformUpdater::~SVGLayerTransformUpdater):
(WebCore::RenderSVGContainer::layout):
- rendering/svg/RenderSVGContainer.h:
(WebCore::RenderSVGContainer::updateLayerInformation): Deleted.
- rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::updateFromStyle):
- rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::updateFromStyle):
- rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::layout):
(WebCore::RenderSVGShape::applyTransform const):
- rendering/svg/RenderSVGShape.h:
- rendering/svg/RenderSVGTransformableContainer.cpp:
(WebCore::RenderSVGTransformableContainer::updateFromStyle):
(WebCore::RenderSVGTransformableContainer::applyTransform const):
- svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::animatedLocalTransform const):
- 3:01 PM BuildingCairoOnWindows edited by
- (diff)
- 2:56 PM Changeset in webkit [292689] by
-
- 3 edits in trunk/Source/WebCore
Line clamp specific line-count code should be in RenderDeprecatedFlexibleBox
https://bugs.webkit.org/show_bug.cgi?id=239029
Reviewed by Antti Koivisto.
Moving the line-clamp specific code to RenderDeprecatedFlexibleBox enables us to
make RenderBlockFlow::lineCount "children inline" only.
- rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::lineCountFor):
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
- 2:29 PM BuildingCairoOnWindows edited by
- (diff)
- 2:20 PM BuildingCairoOnWindows edited by
- (diff)
- 2:09 PM BuildingCairoOnWindows edited by
- (diff)
- 9:50 AM Changeset in webkit [292688] by
-
- 8 edits4 deletes in trunk/Tools/buildstream
[Flatpak SDK] Pre-easter eggs update
https://bugs.webkit.org/show_bug.cgi?id=239007
Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-10
Reviewed by Adrian Perez de Castro.
- elements/freedesktop-sdk.bst: Bump junction.
- elements/qt5/qtbase.bst: Remove reference to removed gtk3 recipe.
- elements/sdk-platform.bst: Replace duplicate recipes with their upstream version.
- elements/sdk/adwaita-icon-theme.bst: Remove reference to removed gtk3 recipe.
- elements/sdk/bubblewrap.bst: Removed.
- elements/sdk/ffmpeg.bst: Bump to version 5, inspired from upstream version of the recipe.
- elements/sdk/gst-plugins-base.bst: Remove reference to removed gtk3 recipe.
- elements/sdk/gst-plugins-good.bst: Remove reference to removed gtk3 recipe.
- elements/sdk/gtk+-3.bst: Removed.
- patches/fdo-0001-shared-mime-info-Backport-meson-0.60-build-fix.patch: Removed.
- patches/gtk-gcc11-build-fix.patch: Removed.
- 9:47 AM Changeset in webkit [292687] by
-
- 2 edits in trunk/Tools
[Flatpak] clangd wrapper improvements
https://bugs.webkit.org/show_bug.cgi?id=239032
Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-10
Reviewed by Adrian Perez de Castro.
The path of the compile_commands.json is now implied from the webkit-clangd command-line
arguments, defaulting to the GTK/Release configuration.
The path mappings were incorrect, the src part being /app/webkit/{Debug,Release}, which are
invalid paths in the sandbox. They should instead point to
/app/webkit/WebKitBuild/{Debug,Release}.
Finally, there should be no need to add a path mapping for /usr/include because clangd is
launched in the sandbox runtime, where /usr/include/ is already bind-mounded by
flatpak/bwrap.
- flatpak/webkit-clangd:
- 3:26 AM WebKitGTK/2.36.x edited by
- (diff)
- 12:29 AM Changeset in webkit [292686] by
-
- 7 edits in trunk
Fix accessibility/aria-invalid.html in isolated tree mode
https://bugs.webkit.org/show_bug.cgi?id=238978
Reviewed by Chris Fleizach.
Source/WebCore:
With this patch, we update the isolated tree when the aria-invalid
attribute changes.
Fixes accessibility/aria-invalid.html in isolated tree mode.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::updateIsolatedTree):
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateNodeProperty):
Drive-by re-ordering ofcase AXPropertyName::IdentifierAttribute
such that this
function handles properties in alphabetical order.
LayoutTests:
- accessibility/aria-invalid-expected.txt:
- accessibility/aria-invalid.html:
Rewrite to call
debug
only once at the end of the test. Also made
this test use accessibleElementById instead of
accessibilityController.focusedElement.
- resources/accessibility-helper.js:
Add new
expect
function, which is like the more ubiquitous
shouldBe
from js-test.js, but returns the output as a string instead
of callingdebug
to output to a console DOM element.
Apr 9, 2022:
- 7:59 PM Changeset in webkit [292685] by
-
- 3 edits in trunk/Source/WebCore
[Text autosizing] Remove redundant lineCountForTextAutosizing member function
https://bugs.webkit.org/show_bug.cgi?id=239034
Reviewed by Antti Koivisto.
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::adjustComputedFontSizes): stop walking the list item children when we see multiple lines.
(WebCore::RenderBlockFlow::lineCountForTextAutosizing): Deleted.
- rendering/RenderBlockFlow.h:
- 7:14 PM Changeset in webkit [292684] by
-
- 2 edits in trunk/Source/WebCore
Include locale.h for LC_MESSAGES definition.
https://bugs.webkit.org/show_bug.cgi?id=239030
Patch by Khem Raj <raj.khem@gmail.com> on 2022-04-09
Reviewed by Michael Catanzaro.
- accessibility/atspi/AccessibilityRootAtspi.cpp:
- 3:42 PM Changeset in webkit [292683] by
-
- 7 edits in trunk/Source
Put layer backing store buffers into the per-RemoteRenderingBackend IOSurfacePool
https://bugs.webkit.org/show_bug.cgi?id=238972
<rdar://83437978>
Reviewed by Tim Horton.
Source/WebCore:
Add IOSurfacePool::create().
- platform/graphics/cg/IOSurfacePool.cpp:
(WebCore::IOSurfacePool::create):
- platform/graphics/cg/IOSurfacePool.h:
Source/WebKit:
Give each RemoteRenderingBackend its own IOSurfacePool. RemoteImageBuffer gets surfaces
from this pool, and RemoteRenderingBackend::willDestroyImageBuffer() puts surfaces in,
if they are layer backing store surfaces.
The low memory handler removes all surfaces from the pool.
- GPUProcess/graphics/RemoteImageBuffer.h:
(WebKit::RemoteImageBuffer::create):
(WebKit::RemoteImageBuffer::~RemoteImageBuffer):
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::RemoteRenderingBackend):
(WebKit::RemoteRenderingBackend::willDestroyImageBuffer):
(WebKit::RemoteRenderingBackend::lowMemoryHandler):
- GPUProcess/graphics/RemoteRenderingBackend.h:
(WebKit::RemoteRenderingBackend::ioSurfacePool const):
- 3:25 PM Changeset in webkit [292682] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Use Vector with inline capacity in ObjectPropertyConditionSet creation
https://bugs.webkit.org/show_bug.cgi?id=239025
Reviewed by Keith Miller.
Since we anyway allocate ThreadSafeRefCountedFixedVector<ObjectPropertyCondition> in ObjectPropertyConditionSet, which has exact size,
generateXXX and mergeWith should not allocate heap Vector just for temporarily collecting ObjectPropertyCondition.
We pick 8 in generateXXX function and 16 for mergeWith function. This looks reasonable number and at least covers all cases in Speedometer2.
- bytecode/ObjectPropertyConditionSet.cpp:
(JSC::ObjectPropertyConditionSet::mergedWith const):
(JSC::generateConditionsForPropertyMiss):
(JSC::generateConditionsForPropertySetterMiss):
(JSC::generateConditionsForPrototypePropertyHit):
(JSC::generateConditionsForPrototypePropertyHitCustom):
(JSC::generateConditionsForInstanceOf):
(JSC::generateConditionsForPrototypeEquivalenceConcurrently):
(JSC::generateConditionsForPropertyMissConcurrently):
(JSC::generateConditionsForPropertySetterMissConcurrently):
- bytecode/ObjectPropertyConditionSet.h:
(JSC::ObjectPropertyConditionSet::create):
- 1:26 PM Changeset in webkit [292681] by
-
- 4 edits in trunk
[WKTR] Reset minimum font size WKPreference between tests
https://bugs.webkit.org/show_bug.cgi?id=239027
<rdar://problem/88938768>
Reviewed by Chris Dumez.
Tools:
Some tests use uiController to set the minimum font size WKPreference. We need to reset it between tests.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
LayoutTests:
Remove unnecessary ephemeral session.
- fast/forms/visual-hebrew-text-field.html:
- 12:05 PM Changeset in webkit [292680] by
-
- 6 edits1 add in trunk
The Youtube plugin replacement should only work for actual Youtube URLs
https://bugs.webkit.org/show_bug.cgi?id=239003
<rdar://91323230>
Reviewed by Brent Fulgham.
Source/WebCore:
The Youtube plugin replacement was too permissive and was falling back to using
the original URL in cases there the original URL wasn't an expected Youtube
URL. This patch hardens the plugin replacement and drops the URL if it is not
a valid youtube URL instead.
Covered by new API test.
- Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::isYouTubeURL):
(WebCore::processAndCreateYouTubeURL):
(WebCore::YouTubePluginReplacement::youTubeURLFromAbsoluteURL):
Tools:
Add API test coverage.
- TestWebKitAPI/SourcesCocoa.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp:
(TestWebKitAPI::test):
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebKitCocoa/YoutubeReplacementPlugin.mm: Added.
(TEST):
- 10:55 AM Changeset in webkit [292679] by
-
- 9 edits2 adds in trunk
REGRESSION (Safari 15.4): Focused element doesn't render outline when it has an underline
https://bugs.webkit.org/show_bug.cgi?id=238998
<rdar://problem/91484512>
Reviewed by Antti Koivisto.
Source/WebCore:
While outline is supposed to be part of the ink overflow(1), WebKit historically has been
treating it as a special "non ink overflow" type of overflow.
This patch is in preparation for transitioning the outline to regular ink overflow.
First we start treating outline as part of ink overflow within IFC and
handle it as special repaint content only at the block (RenderBlockFlow) level.
Test: fast/repaint/incorrect-outline-repaint.html
(1) https://www.w3.org/TR/css-overflow-3/#ink
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::computeInkOverflowForInlineLevelBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendAtomicInlineLevelDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendInlineBoxDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendSpanningInlineBoxDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox):
(WebCore::Layout::computeBoxShadowInkOverflow): Deleted.
- layout/integration/LayoutIntegrationInlineContent.cpp:
(WebCore::LayoutIntegration::InlineContent::hasContent const):
- layout/integration/LayoutIntegrationInlineContent.h:
(WebCore::LayoutIntegration::InlineContent::hasVisualOverflow const):
(WebCore::LayoutIntegration::InlineContent::setHasVisualOverflow):
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutModernLines): This may cause overly inflated repaintTop/Bottom when
the ink overflow is not outline based (text stroke only atm) but we will anyway trigger
similar repaint rect on that part later when we process ink overflow.
LayoutTests:
- fast/repaint/incorrect-outline-repaint-expected.txt: Added.
- fast/repaint/incorrect-outline-repaint.html: Added.
- fast/text/simple-line-layout-text-stroke-width.html: now we produce a slightly different (more accurate)
vertical repaint range. However this test is about moving the content horizontally, so let's make this
test more robust by focusing on the horizontal part.
- 1:35 AM Changeset in webkit [292678] by
-
- 10 edits3 adds in trunk
[GTK][WPE] Missing inter-module documentation links
https://bugs.webkit.org/show_bug.cgi?id=239016
Reviewed by Michael Catanzaro.
Add JS snippets to be used in the gi-docgen output to setup links to
other modules. Take advantage of being able to compute the documentation
API version suffix from the currently loaded page URL, which avoids having
a number of templates depending on the API version and having to deal with
the documentation API version being sometimes different than the actual API
version of the library. The URLs for GTK3 vs. GTK4 documentation cannot be
handled in the same way, and instead the JS snippet is also a template
expanded by CMake to allows using the ${GTK_API_VERSION} variable there.
.:
- Source/cmake/FindGIDocgen.cmake: Add a new CONTENT_TEMPLATES option
to GI_DOCGEN(), which allows setting up files to be expanded as CMake
@ONLY templates and then be used as documentation content files.
Source/JavaScriptCore:
- API/glib/docs/jsc.toml.in: Use added urlmap.js file.
- API/glib/docs/urlmap.js: Added.
Source/WebKit:
- PlatformGTK.cmake: Set urlmap.js as documentation content template.
- gtk/urlmap.js.in: Added.
- gtk/webkit2gtk-webextension.toml.in: Use urlmap.js from added template.
- gtk/webkit2gtk.toml.in: Ditto.
- wpe/urlmap.js: Added.
(const.baseURLApiLevelSuffix):
- wpe/wpewebextension.toml.in: Use added urlmap.js file.
- wpe/wpewebkit.toml.in: Ditto.
- 1:28 AM Changeset in webkit [292677] by
-
- 25 edits in trunk/Source
Move canAccessStorage() check from SecurityOrigin to ScriptExecutionContext
https://bugs.webkit.org/show_bug.cgi?id=238524
<rdar://problem/91318259>
Reviewed by Chris Dumez.
Source/WebCore:
Add canAccessResource() to ScriptExecutionContext because ScriptExecutionContext, instead of SecurityOrigin,
should be the place that holds StorageBlockingPolicy (otherwise it's confusing that the origin and top origin
disagrees with each other on policy). Also, because ScriptExecutionContext has access to origin and topOrigin,
callers don't need to explicitly get them before the access check.
- Modules/encryptedmedia/CDM.cpp:
(WebCore::CDM::getSupportedConfiguration):
- Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::shouldBlockGeolocationRequests):
- Modules/indexeddb/IDBFactory.cpp:
(WebCore::shouldThrowSecurityException):
(WebCore::IDBFactory::openInternal):
(WebCore::IDBFactory::deleteDatabase):
- Modules/storage/StorageManager.cpp:
(WebCore::connectionInfo):
- Modules/webdatabase/DOMWindowWebDatabase.cpp:
(WebCore::DOMWindowWebDatabase::openDatabase):
- dom/Document.cpp:
(WebCore::m_whitespaceCache):
(WebCore::Document::cookie):
(WebCore::Document::setCookie):
(WebCore::Document::storageBlockingStateDidChange):
(WebCore::Document::initSecurityContext):
(WebCore::Document::applyQuickLookSandbox):
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::domainForCachePartition const):
(WebCore::isOriginEquivalentToLocal):
(WebCore::ScriptExecutionContext::canAccessResource const):
- dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::setStorageBlockingPolicy):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::loadMainResource):
- loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::selectCache):
(WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
(WebCore::ApplicationCacheGroup::update):
- loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):
- page/DOMWindow.cpp:
- page/Page.cpp:
(WebCore::Page::setupForRemoteWorker):
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::domainForCachePartition const):
(WebCore::SecurityOrigin::canAccessStorage const): Deleted.
- page/SecurityOrigin.h:
(WebCore::SecurityOrigin::encode const):
(WebCore::SecurityOrigin::decode):
(WebCore::SecurityOrigin::setStorageBlockingPolicy): Deleted.
(WebCore::SecurityOrigin::canAccessDatabase const): Deleted.
(WebCore::SecurityOrigin::canAccessSessionStorage const): Deleted.
(WebCore::SecurityOrigin::canAccessLocalStorage const): Deleted.
(WebCore::SecurityOrigin::canAccessStorageManager const): Deleted.
(WebCore::SecurityOrigin::canAccessPluginStorage const): Deleted.
(WebCore::SecurityOrigin::canAccessApplicationCache const): Deleted.
(WebCore::SecurityOrigin::canAccessCookies const): Deleted.
(WebCore::SecurityOrigin::canRequestGeolocation const): Deleted.
- storage/StorageNamespaceProvider.cpp:
(WebCore::StorageNamespaceProvider::localStorageArea):
- workers/WorkerGlobalScope.cpp:
(WebCore::m_credentials):
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::addRegistration):
(WebCore::ServiceWorkerContainer::updateRegistration):
- workers/service/ServiceWorkerJobData.cpp:
(WebCore::ServiceWorkerJobData::isolatedCopy const):
- workers/service/ServiceWorkerJobData.h:
(WebCore::ServiceWorkerJobData::encode const):
(WebCore::ServiceWorkerJobData::decode):
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::startScriptFetch):
- worklets/WorkletGlobalScope.cpp:
(WebCore::WorkletGlobalScope::WorkletGlobalScope):
Source/WebKit:
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::storageBlockingStateChanged):
Apr 8, 2022:
- 11:29 PM Changeset in webkit [292676] by
-
- 2 edits in trunk/Source/WebCore
Sharing services picker menu Mail presents in the wrong place when compose web view is scrolled
https://bugs.webkit.org/show_bug.cgi?id=238672
<rdar://problem/88966924>
Reviewed by Wenson Hsieh.
Image menu is offset by the amount the view is scrolled. This patch
changes the menu location point by calculating the bottom corner of
the picker button then using contentsToWindow which handles
the scroll position offset
- dom/mac/ImageControlsMac.cpp:
(WebCore::ImageControlsMac::handleEvent):
- 11:18 PM Changeset in webkit [292675] by
-
- 9 edits in branches/safari-614.1.9-branch/Source
Versioning.
WebKit-7614.1.9.2
- 8:12 PM Changeset in webkit [292674] by
-
- 2 edits in trunk/Source/WebGPU
[WebGPU] Fix the release build
https://bugs.webkit.org/show_bug.cgi?id=239023
Unreviewed build fix.
- WebGPU/Device.mm:
(WebGPU::Device::Device):
- 7:56 PM Changeset in webkit [292673] by
-
- 3 edits in trunk/Source/WebGPU
[WebGPU] Make callbacks in unimplemented functions execute
https://bugs.webkit.org/show_bug.cgi?id=238727
Reviewed by Dean Jackson.
CompletionHandler ASSERT()s that it has been executed in its destructor. We have some
functions which we haven't implemented yet which take CompletionHandlers, so let's
temporarily just call the completion handlers just to make tests stop ASSERT()ing.
- WebGPU/ComputePipeline.mm:
(WebGPU::Device::createComputePipelineAsync):
- WebGPU/RenderPipeline.mm:
(WebGPU::Device::createRenderPipelineAsync):
- 7:28 PM Changeset in webkit [292672] by
-
- 5 edits in trunk/LayoutTests
REBASLINE: [ Monterey wk2 ] 4 http/tests/inspector/paymentrequest/* tests are constant text failures https://bugs.webkit.org/show_bug.cgi?id=238908 Unreviewed test rebaslining. * http/tests/inspector/paymentrequest/payment-request-internal-properties.https-expected.txt: * http/tests/paymentrequest/payment-address-attributes-and-toJSON-method.https-expected.txt: * http/tests/paymentrequest/payment-request-change-shipping-option.https-expected.txt: * http/tests/paymentrequest/payment-response-retry-method.https-expected.txt:
- 7:14 PM Changeset in webkit [292671] by
-
- 4 edits in trunk/Source/WebGPU
[WebGPU] Implement the concept of device lost
https://bugs.webkit.org/show_bug.cgi?id=238725
Reviewed by Dean Jackson.
This patch builds on https://bugs.webkit.org/show_bug.cgi?id=238723 to finish
the implementation of the concept of device lost. The device can only be lost
on macOS, where you can register a block callback to be run when it happens.
Also, the registration function returns a token that you can pass to the
unregistration function, which happens in Device's destructor.
- WebGPU/Buffer.mm:
(WebGPU::validateDescriptor):
- WebGPU/Device.h:
(WebGPU::Device::isLost const):
- WebGPU/Device.mm:
(WebGPU::Device::Device):
(WebGPU::Device::~Device):
(WebGPU::Device::loseTheDevice):
(WebGPU::Device::destroy):
(WebGPU::Device::validatePopErrorScope const):
(WebGPU::Device::setDeviceLostCallback):
- 6:45 PM Changeset in webkit [292670] by
-
- 24 edits in trunk/Source/WebGPU
[WebGPU] Represent failure by invalidity rather than nullptr
https://bugs.webkit.org/show_bug.cgi?id=238724
Reviewed by Dean Jackson.
This is the biggest blocker for running the WebGPU conformance test suite. WebGPU is designed
such that creation routines don't return undefined if the object couldn't be created; instead,
in "invalid" object is returned. Now that objects have the notion of invalidity, this patch
migrates from creation functions returning RefPtr to creation functions returning Ref. All
the places where we previously returned nullptr now return invalid objects.
- WebGPU/APIConversions.h:
(WebGPU::releaseToAPI):
- WebGPU/Adapter.h:
- WebGPU/Adapter.mm:
(WebGPU::Adapter::requestDevice):
(wgpuAdapterRequestDevice):
(wgpuAdapterRequestDeviceWithBlock):
- WebGPU/BindGroup.mm:
(WebGPU::Device::createBindGroup):
- WebGPU/BindGroupLayout.mm:
(WebGPU::Device::createBindGroupLayout):
- WebGPU/Buffer.mm:
(WebGPU::Device::createBuffer):
- WebGPU/CommandEncoder.h:
- WebGPU/CommandEncoder.mm:
(WebGPU::Device::createCommandEncoder):
(WebGPU::CommandEncoder::beginComputePass):
(WebGPU::CommandEncoder::beginRenderPass):
(WebGPU::CommandEncoder::finish):
- WebGPU/ComputePipeline.mm:
(WebGPU::Device::createComputePipeline):
(WebGPU::Device::createComputePipelineAsync):
- WebGPU/Device.h:
- WebGPU/Device.mm:
(WebGPU::Device::create):
(wgpuDeviceCreateComputePipelineAsync):
(wgpuDeviceCreateComputePipelineAsyncWithBlock):
(wgpuDeviceCreateRenderPipelineAsync):
(wgpuDeviceCreateRenderPipelineAsyncWithBlock):
- WebGPU/Instance.h:
- WebGPU/Instance.mm:
(WebGPU::Instance::create):
(WebGPU::Instance::createSurface):
(WebGPU::Instance::requestAdapter):
(wgpuInstanceRequestAdapter):
(wgpuInstanceRequestAdapterWithBlock):
- WebGPU/PipelineLayout.mm:
(WebGPU::Device::createPipelineLayout):
- WebGPU/QuerySet.mm:
(WebGPU::Device::createQuerySet):
- WebGPU/RenderBundleEncoder.h:
- WebGPU/RenderBundleEncoder.mm:
(WebGPU::Device::createRenderBundleEncoder):
(WebGPU::RenderBundleEncoder::finish):
- WebGPU/RenderPipeline.mm:
(WebGPU::Device::createRenderPipeline):
(WebGPU::Device::createRenderPipelineAsync):
- WebGPU/Sampler.mm:
(WebGPU::Device::createSampler):
- WebGPU/ShaderModule.mm:
(WebGPU::Device::createShaderModule):
- WebGPU/SwapChain.mm:
(WebGPU::Device::createSwapChain):
- WebGPU/Texture.h:
- WebGPU/Texture.mm:
(WebGPU::Device::createTexture):
(WebGPU::Texture::createView):
- 5:31 PM Changeset in webkit [292669] by
-
- 1 copy in tags/WebKit-7613.2.6
Tag WebKit-7613.2.6.
- 5:14 PM Changeset in webkit [292668] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r291629. rdar://problem/91446360
YouTube.com - Clicking anywhere on the progress bar pauses the video
https://bugs.webkit.org/show_bug.cgi?id=237750
<rdar://problem/90364846>
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/media-source/media-source-unexpected-pause.html
When calling play() or pause() on a MediaPlayerPrivateMediaSourceAVFObjC, the object will
respond by calling m_player->playbackStateChanged(), which will in turn call
HTMLMediaElement::mediaPlayerPlaybackStateChanged() with the new state. However, HTMLMediaElement
expects this to be called only for unanticipated state changes, not expected state changes. And
when that method is called and the reported state does not match the element's own expected state,
the element calls its own play() or pause() function to update its own state to match the player's.
And because MediaPlayerPrivateMediaSourceAVFObjC calls this method on the next run loop, there is
an opportunity for those states to get out of sync, which happens when YouTube responds to a tap
in its timeline.
- Remove the unnecessary "call on next run loop" behavior of …
- play() and ::pause(). Also, remove the unnecessary notification that the play state has changed. In the future, this can be accomplished by adding a callback parameter to MediaPlayer::play() rather than relying on a state change notification.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::play): (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal): (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pause): (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseInternal): (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playAtHostTime): (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseAtHostTime):
LayoutTests:
- media/media-source/media-source-unexpected-pause-expected.txt: Added.
- media/media-source/media-source-unexpected-pause.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292667] by
-
- 3 edits3 adds in branches/safari-613-branch
Cherry-pick r291493. rdar://problem/91446052
REGRESSION (r290628): Scrubber makes a visual trail when scrubbing on tv.youtube.com
https://bugs.webkit.org/show_bug.cgi?id=238047
<rdar://problem/90451319>
Reviewed by Alan Bujtas.
Source/WebCore:
In r290628 I added a call to clearRepaintRects() when changing the backing sharing
target layer for a RenderLayer. However, for a layer using backing sharing, this
gets called twice during a normal compositing update, which has the effect of
clearing the cached repaint rects so that a layer repaint always computes new rects.
Thus, if a layer moved, we'd fail to repaint the old rect.
RenderLayerBacking::setBackingSharingLayers() already has logic to update repaint
rects when state changes, so we don't need this clearing.
Test: compositing/repaint/move-backing-sharing-layer.html
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::setBackingProviderLayer):
LayoutTests:
- compositing/repaint/move-backing-sharing-layer-expected.txt: Added.
- compositing/repaint/move-backing-sharing-layer.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292666] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r291118. rdar://problem/91446071
[iOS] Netflix.com fails to resume after moving app to background during playback
https://bugs.webkit.org/show_bug.cgi?id=237659
<rdar://88775037>
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/media-source/media-source-interruption-with-resume-allowing-play.html
When the MediaPlayerPrivateMediaSourceAVFObjC player is asked to play or pause, it notifies
the client (HTMLMediaElement) that its playback state has changed. HTMLMediaElement will in response
call playInternal() or pauseInternal() to ensure that a state change driven by the MediaPlayer
is reflected up to the DOM. However, when an interruption causes the media element to suspend
and pause playback, this results in an additional call to pauseInternal(), which updates the
"state to resume" after an interruption ends to "Paused".
In mediaPlayerPlaybackStateChanged(), only call pauseInternal() or playInternal() if the reported
player state does not match the HTMLMediaElement's own state.
- html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
LayoutTests:
- media/media-source/media-source-interruption-with-resume-allowing-play-expected.txt: Added.
- media/media-source/media-source-interruption-with-resume-allowing-play.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291118 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292665] by
-
- 7 edits in branches/safari-613-branch
Cherry-pick r288622. rdar://problem/91446028
[WebAuthn] Add authenticator attachment used during authentication to credential payload
https://bugs.webkit.org/show_bug.cgi?id=235621
rdar://86538235
Reviewed by Dean Jackson.
Source/WebCore:
This patch adds the authenticator attachment used to the credential response in get/create
webauthn calls as described in the merged PR to the spec: https://github.com/w3c/webauthn/pull/1668/files
Modified layout tests to check for authenticator attachment = (cross-platform/platform) where appropriate
and verified response in manual calls.
- Modules/webauthn/PublicKeyCredential.cpp: (WebCore::PublicKeyCredential::authenticatorAttachment const):
- Modules/webauthn/PublicKeyCredential.h:
- Modules/webauthn/PublicKeyCredential.idl:
LayoutTests:
Modify webauthn layout tests to check for new authenticatorAttachment field.
- http/wpt/webauthn/public-key-credential-get-success-local.https.html:
- http/wpt/webauthn/resources/util.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292664] by
-
- 8 edits5 adds in branches/safari-613-branch
Cherry-pick r292229. rdar://problem/90778752
CSP: WASM fails to execute after window.open
https://bugs.webkit.org/show_bug.cgi?id=238562
<rdar://problem/90778752>
Reviewed by Brent Fulgham.
Source/WebCore:
Test: http/tests/security/contentSecurityPolicy/allow-wasm-after-window-open.html
Reset WASM enabled value after a window.open() call. This patch simplifies
eval and wasm setters by removing the distinct enable/disable functions
and using one consistent setter.
- bindings/js/ScriptController.cpp: (WebCore::ScriptController::setEvalEnabled): (WebCore::ScriptController::setWebAssemblyEnabled): (WebCore::ScriptController::enableEval): Deleted. (WebCore::ScriptController::enableWebAssembly): Deleted. (WebCore::ScriptController::disableEval): Deleted. (WebCore::ScriptController::disableWebAssembly): Deleted.
- bindings/js/ScriptController.h:
- dom/Document.cpp: (WebCore::Document::disableEval): (WebCore::Document::disableWebAssembly):
- loader/FrameLoader.cpp: (WebCore::FrameLoader::clear):
- page/csp/ContentSecurityPolicy.h: (WebCore::ContentSecurityPolicy::webAssemblyErrorMessage const):
LayoutTests:
Layout test coverage. Copy some wasm helper scripts into the http directory.
- platform/win/TestExpectations: We don't support wasm on win.
- http/tests/security/contentSecurityPolicy/allow-wasm-after-window-open-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/allow-wasm-after-window-open.html: Added.
- http/tests/security/contentSecurityPolicy/resources/load_wasm.js: Added. (createWasmModule):
- http/tests/security/contentSecurityPolicy/resources/run-web-assembly.html: Added.
- http/tests/security/contentSecurityPolicy/resources/wasm-builder.js: Added. (const._fail): (const.isNotA.assert.isNotA): (const): (switch.typeof): (Builder): (Builder.prototype.setChecked): (Builder.prototype.setPreamble): (Builder.prototype._functionIndexSpaceKeyHash): (Builder.prototype._registerFunctionToIndexSpace): (Builder.prototype._getFunctionFromIndexSpace): (Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section): (Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.const.codeBuilder.End.switch.case.string_appeared_here.e): (Builder.prototype._registerSectionBuilders.this.Unknown):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292663] by
-
- 3 edits3 adds in branches/safari-613-branch
Cherry-pick r292155. rdar://problem/90572543
Interop issue with position: sticky within contain: paint
https://bugs.webkit.org/show_bug.cgi?id=238016
Patch by Rob Buis <rbuis@igalia.com> on 2022-03-31
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-position/sticky/position-sticky-overflow-clip-container-expected.html: Added.
- web-platform-tests/css/css-position/sticky/position-sticky-overflow-clip-container-ref.html: Added.
- web-platform-tests/css/css-position/sticky/position-sticky-overflow-clip-container.html: Added.
Source/WebCore:
Elements with overflow: clip (contain: paint enables it) are
not scroll containers, so they can't act as scrolling
ancestor for sticky elements.
Tests: imported/w3c/web-platform-tests/css/css-position/sticky/position-sticky-overflow-clip-container-ref.html
imported/w3c/web-platform-tests/css/css-position/sticky/position-sticky-overflow-clip-container.html
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::enclosingOverflowClipLayer const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292155 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292662] by
-
- 2 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick r292075. rdar://problem/88323776
Web Inspector: Add check for null
entryScope
in JSC::Debugger::detach
https://bugs.webkit.org/show_bug.cgi?id=238518
Reviewed by Devin Rousso.
A virtual machine may not always have an
entryScope
, which can occur if aJSGlobalObject
is being destructed
(which will call intoJSC::Debugger::Detach
) before aVMEntryScope
is created or after aVMEntryScope
has
fallen out of scope, causing the VM'sentryScope
to be null again. In the original internal issue that led to
finding this, this most commonly occurred in conjunction with page refresh while the debugger was paused.
Because it is possible that we were previously paused in the VM that now has no
entryScope
, we should go ahead
and unpause.
- debugger/Debugger.cpp: (JSC::Debugger::detach):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292075 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292661] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r292054. rdar://problem/80630664
WebCore::LegacyRootInlineBox::lineSnapAdjustment should bail out on grid line height < 1
https://bugs.webkit.org/show_bug.cgi?id=238465
<rdar://80630664>
Reviewed by Antti Koivisto.
The !gridLineHeight check was added to avoid division by zero but the integral roundToInt() may also produce a 0 value for
gridLineHeight.
- rendering/LegacyRootInlineBox.cpp: (WebCore::LegacyRootInlineBox::lineSnapAdjustment const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292054 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292660] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r292034. rdar://problem/90916916
Check page exists before trying to access authenticatorCoordinator
https://bugs.webkit.org/show_bug.cgi?id=238507
Reviewed by Brent Fulgham.
Check we have a valid page before trying to access the authenticatorCoordinator.
- Modules/webauthn/PublicKeyCredential.cpp: (WebCore::PublicKeyCredential::isUserVerifyingPlatformAuthenticatorAvailable):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292659] by
-
- 4 edits in branches/safari-613-branch
Cherry-pick r292029. rdar://problem/90977336
Use Canvas/CanvasText system colors for <dialog> default styling
https://bugs.webkit.org/show_bug.cgi?id=238425
Reviewed by Antti Koivisto.
Per HTML spec change: https://github.com/whatwg/html/commit/22154a4c1d426dddf187fb12c05fbcb8816c94a5
Main change is that the colors now adapt to dark mode by default.
LayoutTests/imported/w3c:
Updated test result to pass.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/default-color-expected.txt:
Source/WebCore:
Test: LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/default-color.html
- css/dialog.css: (dialog):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292658] by
-
- 4 edits40 moves4 adds in branches/safari-613-branch/LayoutTests
Cherry-pick r292028. rdar://problem/90977255
Re-import inert and <dialog> WPT
https://bugs.webkit.org/show_bug.cgi?id=238502
Reviewed by Antti Koivisto.
Upstream commit: https://github.com/web-platform-tests/wpt/commit/46e50fc357127c76c898675cd30ae34090a2268d
Main changes:
- Removes .tentative.html suffix from inert tests
- Adds default-color.html test for <dialog>
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/default-color-expected.txt: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/default-color.html: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-inert-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-inert.tentative-expected.txt.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-inert.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-inert.tentative.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-selection-expected.txt: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-selection.html: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log:
- web-platform-tests/inert/dynamic-inert-on-focused-element-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/dynamic-inert-on-focused-element.tentative-expected.txt.
- web-platform-tests/inert/dynamic-inert-on-focused-element.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/dynamic-inert-on-focused-element.tentative.html.
- web-platform-tests/inert/inert-and-contenteditable-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-and-contenteditable.tentative-expected.txt.
- web-platform-tests/inert/inert-and-contenteditable.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-and-contenteditable.tentative.html.
- web-platform-tests/inert/inert-canvas-fallback-content-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-canvas-fallback-content.tentative-expected.txt.
- web-platform-tests/inert/inert-canvas-fallback-content.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-canvas-fallback-content.tentative.html.
- web-platform-tests/inert/inert-does-not-match-disabled-selector-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-does-not-match-disabled-selector.tentative-expected.txt.
- web-platform-tests/inert/inert-does-not-match-disabled-selector.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-does-not-match-disabled-selector.tentative.html.
- web-platform-tests/inert/inert-iframe-hittest-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-iframe-hittest.tentative-expected.txt.
- web-platform-tests/inert/inert-iframe-hittest.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-iframe-hittest.tentative.html.
- web-platform-tests/inert/inert-iframe-tabbing-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-iframe-tabbing.tentative-expected.txt.
- web-platform-tests/inert/inert-iframe-tabbing.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-iframe-tabbing.tentative.html.
- web-platform-tests/inert/inert-in-shadow-dom-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-in-shadow-dom.tentative-expected.txt.
- web-platform-tests/inert/inert-in-shadow-dom.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-in-shadow-dom.tentative.html.
- web-platform-tests/inert/inert-inlines-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-inlines.tentative-expected.txt.
- web-platform-tests/inert/inert-inlines.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-inlines.tentative.html.
- web-platform-tests/inert/inert-label-focus-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-label-focus.tentative-expected.txt.
- web-platform-tests/inert/inert-label-focus.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-label-focus.tentative.html.
- web-platform-tests/inert/inert-node-is-uneditable-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-node-is-uneditable.tentative-expected.txt.
- web-platform-tests/inert/inert-node-is-uneditable.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-node-is-uneditable.tentative.html.
- web-platform-tests/inert/inert-node-is-unfocusable-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-node-is-unfocusable.tentative-expected.txt.
- web-platform-tests/inert/inert-node-is-unfocusable.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-node-is-unfocusable.tentative.html.
- web-platform-tests/inert/inert-node-is-unselectable-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-node-is-unselectable.tentative-expected.txt.
- web-platform-tests/inert/inert-node-is-unselectable.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-node-is-unselectable.tentative.html.
- web-platform-tests/inert/inert-on-non-html-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-on-non-html.tentative-expected.txt.
- web-platform-tests/inert/inert-on-non-html.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-on-non-html.tentative.html.
- web-platform-tests/inert/inert-on-slots-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-on-slots.tentative-expected.txt.
- web-platform-tests/inert/inert-on-slots.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-on-slots.tentative.html.
- web-platform-tests/inert/inert-svg-hittest-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-svg-hittest.tentative-expected.txt.
- web-platform-tests/inert/inert-svg-hittest.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-svg-hittest.tentative.html.
- web-platform-tests/inert/inert-with-modal-dialog-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-with-modal-dialog-001.tentative-expected.txt.
- web-platform-tests/inert/inert-with-modal-dialog-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-with-modal-dialog-001.tentative.html.
- web-platform-tests/inert/inert-with-modal-dialog-002-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-with-modal-dialog-002.tentative-expected.txt.
- web-platform-tests/inert/inert-with-modal-dialog-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-with-modal-dialog-002.tentative.html.
- web-platform-tests/inert/w3c-import.log:
LayoutTests:
- platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-iframe-hittest-expected.txt: Renamed from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-iframe-hittest.tentative-expected.txt.
- platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-iframe-tabbing-expected.txt: Renamed from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-iframe-tabbing.tentative-expected.txt.
- platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-node-is-uneditable-expected.txt: Renamed from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-node-is-uneditable.tentative-expected.txt.
- platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-svg-hittest-expected.txt: Renamed from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-svg-hittest.tentative-expected.txt.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292657] by
-
- 3 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick r292009. rdar://problem/90918765
The lazy symbolObjectStructure should be realized before we allocate a SymbolObject.
https://bugs.webkit.org/show_bug.cgi?id=238474
<rdar://problem/90918765>
Reviewed by Yusuke Suzuki and Saam Barati.
We should not be allocating the symbolObjectStructure while in the middle of
initializing a SymbolObject.
- runtime/Symbol.cpp: (JSC::Symbol::toObject const): (JSC::SymbolObject::create): Deleted.
- runtime/SymbolObject.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292009 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292656] by
-
- 15 edits1 copy3 adds in branches/safari-613-branch
Cherry-pick r291886. rdar://problem/72814440
PointerEvent.movementX
always 0 (breaks https://noisecraft.app/)
https://bugs.webkit.org/show_bug.cgi?id=220194
<rdar://problem/72814440>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/pointerevents/pointerlock/pointerevent_movementxy_with_pointerlock-expected.txt: This change causes the test to progress further than before, but there still appear to be other issues elsewhere, so adjust the expected output to reflect that.
Source/WebCore:
Test: pointer-lock/pointermove-movement-delta.html
- dom/PointerEvent.cpp:
(WebCore::PointerEvent::PointerEvent):
Also pass along the movement delta in the constructor that takes a
MouseEvent
.
- dom/MouseEvent.h:
- dom/MouseEvent.cpp: (WebCore::MouseEvent::create): (WebCore::MouseEvent::MouseEvent): Require that all constructors that aren't invoked from JS always provide a movement delta.
- dom/MouseRelatedEvent.h:
(WebCore::MouseRelatedEvent::movementX const):
(WebCore::MouseRelatedEvent::movementY const):
Expose these methods even when
!ENABLE(POINTER_LOCK)
so that they can be called without the callsite having to also have a#if
.
- page/EventHandler.cpp:
(WebCore::EventHandler::dispatchDragEvent):
Pass along the movement delta even when
!ENABLE(POINTER_LOCK)
.
Tools:
- DumpRenderTree/mac/EventSendingController.mm: (-[EventSendingController mouseMoveToX:Y:]):
- WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::mouseMoveTo):
On macOS, the screen's origin is the bottom-left corner, so we need to flip the
deltaY
.
LayoutTests:
- pointer-lock/pointermove-movement-delta.html: Added.
- pointer-lock/pointermove-movement-delta-expected.txt: Added.
- pointer-lock/mouse-event-delivery-expected.txt: Added.
On macOS, the screen's origin is the bottom-left corner, so we need to flip the
deltaY
.
- platform/gtk/imported/w3c/web-platform-tests/pointerevents/pointerlock/pointerevent_movementxy_with_pointerlock-expected.txt: Added. This change causes the test to progress further than before, but there still appear to be other issues elsewhere, so adjust the expected output to reflect that.
- platform/mac-wk1/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291886 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292655] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r291881. rdar://problem/90848454
[GPU Process] RemoteRenderingBackend::stopListeningForIPC() should not change the RemoteResourceCache on the main thread
https://bugs.webkit.org/show_bug.cgi?id=238298
rdar://90731372
Reviewed by Simon Fraser.
To release the RemoteResourceCache and the rendering resource request on
the WorkQueue thread, RemoteRenderingBackend::stopListeningForIPC() dispatches
an empty lambda to its WorkQueue but m_renderingResourcesRequest and
m_remoteResourceCache are captured by-move to initializers to this lambda.
But this means m_remoteResourceCache is changed on the main thread while
the WorkQueue thread may be accessing it to get a cached remote resource.
The EWS crashes showed that, RemoteRenderingBackend::stopListeningForIPC()
on the main thread is waiting its WorkQueue to stop and complete all its
work including the dispatched empty lambda. And the WorkQueue thread is
getting wrong resource counters from the RemoteResourceCache. This would
happen if the HashMaps of RemoteResourceCache were emptied on the main
thread while the counters had outdated values.
To fix this thread safety issue, the RemoteResourceCache should not ever
be changed on the main thread. Since capturing by-move is kind of change,
we will capture m_renderingResourcesRequest and m_remoteResourceCache by
reference and we let the dispatched lambda explicitly releases them on
the WorkQueue thread.
- GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::stopListeningForIPC):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291881 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292654] by
-
- 6 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r291821. rdar://problem/89145552
REGRESSION(r286590): Links with URL schemes are not clickable in Mail
https://bugs.webkit.org/show_bug.cgi?id=238262
<rdar://89145552>
Reviewed by Geoffrey Garen.
This feature requires access to the Launch Services daemon in Mail and other apps on iOS.
This patch is a partial revert of r286590.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode const): (WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::nonBrowserServices): (WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292653] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r291816. rdar://problem/90599352
REGRESSION (Safari 15.4): Nonce from link isn't used when loading style sheet
https://bugs.webkit.org/show_bug.cgi?id=238014
<rdar://problem/90599352>
Reviewed by Brent Fulgham.
Source/WebCore:
In https://bugs.webkit.org/show_bug.cgi?id=179728 we implemented
nonce hiding from the DOM. It seems we missed once location
where we need to reference the element.nonce() instead of the
nonce attribute.
- html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::process):
LayoutTests:
- http/tests/security/contentSecurityPolicy/stylesheet-allowed-with-nonce-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/stylesheet-allowed-with-nonce.py: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291816 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292652] by
-
- 5 edits4 adds in branches/safari-613-branch
Cherry-pick r291813. rdar://problem/88761053
Safari can't play video completely at bilibili.com
https://bugs.webkit.org/show_bug.cgi?id=236440
rdar://88761053
Reviewed by Jer Noble.
Source/WebCore:
Video frames were incorrectly evicted during a call to appendBuffer
as the Source Buffer incorrectly assumed a discontinuity was present.
When appending data to a source buffer, the MSE specs describe a method
to detect discontinuities in the Coded Frame Processing algorithm
(https://www.w3.org/TR/media-source/#sourcebuffer-coded-frame-processing)
step 6:
"
- If last decode timestamp for track buffer is set and decode timestamp is less than last decode timestamp: OR
- If last decode timestamp for track buffer is set and the difference between decode timestamp and last decode timestamp is greater than 2 times last frame duration. " The issue being what defines the last frame duration. Is it the frame last seen in the coded frame processing loop or the frame whose presentation timestamp is just before the one we are currently processing.
H264 and HEVC have a concept of b-frames: that is a frame that depends
on a future frame to be decoded.
Those frames are found in the container and can be identified by their
presentation timestamp higher than the frame following in decode order.
Those present a challenge as the frame prior the current one in
presentation order, may actually only be found several frames back in
decode order.
Bug 181891 attempted to fix a similar issue, and used the longest
"decode duration" as a workaround to detect discontinuity in the content.
It mentioned adopting the same technique as in Mozilla's MSE
implementation, but Mozilla also skip discontinuity detection within a
media segment (https://www.w3.org/TR/media-source/#media-segment which for
fMP4 is a single moof box) an approach that can't be achieved with
CoreMedia's AVStreamDataParser.
As mentioned in bug 181891, CoreMedia ignore the decode timestamps' delta
and juggles with the sample's duration so that there's no discontinuity
in the demuxed samples' presentation time, causing false positive in the
gap detection algorithm.
Bilibili uses HEVC content, and uses an encoding that generate lots
of b-frames, with a very wide sliding window (seen up to 12 frames).
By using the longest frame duration found in either presentation or
decode duration as threshold to identify a discontinuity, we can
properly parse the content and not incorrectly evict appended frames.
(As a side note, the use of HEVC with B-Frames is peculiar as not all
hardware support it.)
It is difficult to identify here if the issue is within the bilibili's
content or CoreMedia's output, though the responsibility more than
likely lies with bilibili.
Test: media/media-source/media-mp4-hevc-bframes.html
- platform/graphics/SourceBufferPrivate.cpp: (WebCore::SourceBufferPrivate::TrackBuffer::TrackBuffer): (WebCore::SourceBufferPrivate::resetTrackBuffers): (WebCore::SourceBufferPrivate::didReceiveSample):
- platform/graphics/SourceBufferPrivate.h:
LayoutTests:
- media/media-source/content/test-bframes-hevc-manifest.json: Added.
- media/media-source/content/test-bframes-hevc.mp4: Added.
- media/media-source/media-mp4-hevc-bframes-expected.txt: Added.
- media/media-source/media-mp4-hevc-bframes.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292651] by
-
- 4 edits in branches/safari-613-branch
Cherry-pick r291791. rdar://problem/90694727
REGRESSION (r287807): WEBGL_multi_draw validation rejecting valid arguments
https://bugs.webkit.org/show_bug.cgi?id=238239
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-03-24
Reviewed by Darin Adler.
Source/WebCore:
Fix off-by-one error causing full buffer multidraws to be
marked as invalid.
Enable the newer WebGL conformance tests that test this.
- html/canvas/WebGLMultiDraw.cpp: (WebCore::WebGLMultiDraw::validateOffset):
LayoutTests:
Enable the newer WebGL conformance tests that test this, marked
Slow as they take a while to run.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291791 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292650] by
-
- 6 edits5 adds in branches/safari-613-branch
Cherry-pick r291741. rdar://problem/88979099
Computation of Document siteForCookies is buggy in case document is created by window.open
https://bugs.webkit.org/show_bug.cgi?id=238202
<rdar://88979099>
Reviewed by John Wilander.
Source/WebCore:
For top level navigations, we need to use the security origin to compute siteForCookies as the document
may have the opener security origin.
Add a Document routine to handle this case.
Tests: http/tests/cookies/same-site/popup-from-iframe-same-site-with-post-form.html
http/tests/cookies/same-site/popup-same-site-with-post-form.html
- dom/Document.cpp:
- dom/Document.h:
- loader/FrameLoader.cpp:
LayoutTests:
- http/tests/cookies/resources/testharness-helpers.js:
- http/tests/cookies/same-site/popup-from-iframe-same-site-with-post-form-expected.txt: Added.
- http/tests/cookies/same-site/popup-from-iframe-same-site-with-post-form.html: Added.
- http/tests/cookies/same-site/popup-same-site-with-post-form-expected.txt: Added.
- http/tests/cookies/same-site/popup-same-site-with-post-form.html: Added.
- http/tests/cookies/same-site/resources/popup-iframe.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291741 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292649] by
-
- 2 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick r291602. rdar://problem/89822922
Fix bug in Relationship::mergeImpl
https://bugs.webkit.org/show_bug.cgi?id=238183
<rdar://89822922>
Reviewed by Yusuke Suzuki.
- dfg/DFGIntegerRangeOptimizationPhase.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291602 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292648] by
-
- 2 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick r291601. rdar://problem/87345895
AirFixObviousSpills needs to consider a PreIndex and PostIndex as clobbering the Reg used for indexing
https://bugs.webkit.org/show_bug.cgi?id=238178
<rdar://87345895>
Reviewed by Mark Lam.
Inside AirFixObviousSpills, we run a basic alias analysis for StackSlots and
registers. For example, when we overwrite a register, we clear anything
it's aliased with. However, the way we were doing this was by looking at
each Arg that was Defd. However, this iteration was missing that
PostIndex/PreIndex mutate the register that feeds into the address Arg.
This patch fixes the issue by walking the instruction in such a way that
we visit all the Defs we care about, both Regs and StackSlots.
- b3/air/AirFixObviousSpills.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292647] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r291526. rdar://problem/90385586
REGRESSION (r285529): Flash of missing text when content on https://ahumanfuture.co animates
https://bugs.webkit.org/show_bug.cgi?id=237972
rdar://90385586
Reviewed by Simon Fraser.
Source/WebCore:
Accelerated animations are added to a CALayer in two different ways.
Transform-related animations are added in a CAAnimationGroup so that we can have control of the
way they interact with each other. We added this system when we added support for individual CSS
transform properties on top of the existing "transform" property. All CAAnimationGroup animations
are timed to start at 1s and thus we subtract that same 1s value from all animations contained
within such groups.
All other animations, such as "opacity" animations, are added as simple leaf animations and their
begin time is not subject to that 1s subtraction.
In r285529, when we introduced leaf animations for transform properties other than transform-related
properties, we took an unfortunate approach to deal with that 1s subtraction. We would *always* subtract
1s for all animations, and for leaf animation add that 1s back when we added them in the
addLeafAnimation() lambda.
However, we *did not* check whether that animation was newly started or if we were merely adding it
again. This meant that every time GraphicsLayerCA::updateAnimations() was called, any leaf animation
would have 1s added to their begin time.
So, if for instance a page ran on a given element a "scale" animation for 1s and an "opacity" animation
for 2s, when the "scale" animation would complete, GraphicsLayerCA::updateAnimations() would be called
to remove that animation, and add 1s to the "opacity" animation begin time.
We now set the begin time, if not already set, in two places: in the addLeafAnimation() lambda for
leaf animations, and in the addAnimationsForProperty() lambda for animations added to groups. We
only ever set the begin time if not already set during a previous update and only subtract the
parent group begin time for animations contained within a group.
Additionally, this means we set the begin times when we iterate over remaining animations after culling
finished animations. As such, we no longer need to iterate over *all* known animations to set their
begin time if needed prior to adding them.
Test: webanimations/accelerated-animation-opacity-animation-begin-time-after-scale-animation-ends.html
- platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::updateAnimations):
LayoutTests:
Add a new test which would fail prior to the source change. In this test we start two animations: a "scale"
animation which lasts for 100ms, and an "opacity" animation which lasts much longer but only visually updates
for the duration of the "scale" animation. When the "scale" animation completes, we stop the test and ensure
that the reference test shows that the "opacity" animation is at the state it should be in at at that time,
and was not rewound due to the bug being fixed.
- webanimations/accelerated-animation-opacity-animation-begin-time-after-scale-animation-ends-expected.html: Added.
- webanimations/accelerated-animation-opacity-animation-begin-time-after-scale-animation-ends.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291526 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292646] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r291446. rdar://problem/90434296
Microsoft Teams fails to launch from Safari
https://bugs.webkit.org/show_bug.cgi?id=238045
<rdar://90434296>
Reviewed by Geoffrey Garen.
Extend MS Teams quirk to teams.microsoft.com, not just teams.live.com.
- page/Quirks.cpp: (WebCore::Quirks::shouldAllowNavigationToCustomProtocolWithoutUserGesture):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291446 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292645] by
-
- 9 edits in branches/safari-613-branch
Cherry-pick r291420. rdar://problem/90335275
REGRESSION (iOS 15.4 / r287669): Mobile app stopped working due to CSS / angular animation
https://bugs.webkit.org/show_bug.cgi?id=237920
LayoutTests/imported/w3c:
<rdar://problem/90335275>
Reviewed by Antti Koivisto.
Add a test that looks at the default computed style for the "transition" and "animation"
shorthands.
- web-platform-tests/css/css-animations/parsing/animation-computed-expected.txt:
- web-platform-tests/css/css-animations/parsing/animation-computed.html:
- web-platform-tests/css/css-pseudo/first-letter-allowed-properties-expected.txt:
- web-platform-tests/css/css-pseudo/first-line-allowed-properties-expected.txt:
- web-platform-tests/css/css-transitions/parsing/transition-computed-expected.txt:
- web-platform-tests/css/css-transitions/parsing/transition-computed.html:
Source/WebCore:
Reviewed by Antti Koivisto.
We refactored the computed style output for the "transition" and "animation" shorthand
properties in r287669 and always returned a CSSValueList, even when the list of transitions
or animations was empty. This meant that for an element without any transition or animation
properties, we'd return the empty string for those properties.
Now we return the computed style for a default animation instead.
- css/CSSComputedStyleDeclaration.cpp: (WebCore::animationShorthandValue):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291420 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292644] by
-
- 4 edits6 adds in branches/safari-613-branch
Cherry-pick r290628. rdar://problem/85814854
Compositing/paint invalidation with transforms
https://bugs.webkit.org/show_bug.cgi?id=233421
<rdar://problem/85814854>
Reviewed by Alan Bujtas.
Source/WebCore:
When changing transform from something like
translate(0)
to `translate3d(0, 0, 0)
scale(0.5, 0.5)`, we trigger compositing, and thus need to repaint the previous rect of the
layer in its old repaint container. However, the existing code would take the new transform
into account when computing that rect, thus dirtying a rect that is too small.
To fix this, we need to use the cached repaint rects on RenderLayer for this repaint.
However, doing so revealed a bug (via
compositing/shared-backing/repaint-into-shared-backing.html) in how we compute repaint
cached repaint rects in the presence of shared backing. During a compositing update, if a
layer's composited state changed, we'd call computeRepaintRectsIncludingDescendants(), which
computes rect relative to the layer's repaint container. But at this time, the state of
backing sharing in BackingSharingState is in flux (we essentially don't know yet if a layer
can use shared backing). So we may compute and cache repaint rects relative to the wrong
container.
To fix this, leverage the existing m_layersPendingRepaint logic, and delay computing the
repaint rects until we've established our final backing sharing configuration.
Tests: compositing/repaint/composite-and-scale-change.html
compositing/shared-backing/repaint-into-shared-backing-become-composited.html
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::setBackingProviderLayer): (WebCore::RenderLayer::calculateClipRects const):
- rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::BackingSharingState::issuePendingRepaints): (WebCore::RenderLayerCompositor::updateBacking):
LayoutTests:
- compositing/repaint/composite-and-scale-change-expected.txt: Added.
- compositing/repaint/composite-and-scale-change.html: Added.
Test that dumps repaint rects.
- compositing/shared-backing/repaint-into-shared-backing-become-composited-expected.html: Added.
- compositing/shared-backing/repaint-into-shared-backing-become-composited.html: Added.
Companion to repaint-into-shared-backing.html but toggles compositing in the other
direction.
- platform/gtk/compositing/repaint/composite-and-scale-change-actual.txt: Added.
- platform/mac-wk1/compositing/repaint/composite-and-scale-change-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290628 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:04 PM Changeset in webkit [292643] by
-
- 1 copy in tags/WebKit-7614.1.9.1
Tag WebKit-7614.1.9.1.
- 4:41 PM Changeset in webkit [292642] by
-
- 3 edits in trunk/Source/WTF
Unreviewed, reverting r292586.
Caused 50+ test failures on Mac wk1
Reverted changeset:
"Move long-enabled preferences away from experimental"
https://bugs.webkit.org/show_bug.cgi?id=238929
https://commits.webkit.org/r292586
- 4:00 PM Changeset in webkit [292641] by
-
- 13 edits in trunk/Source
Drop unused pluginReplacementScriptObject
https://bugs.webkit.org/show_bug.cgi?id=239008
Reviewed by Geoff Garen.
Drop unused pluginReplacementScriptObject as it is always null.
Source/WebCore:
- Modules/plugins/PluginReplacement.h:
(): Deleted.
- Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::installReplacement):
- Modules/plugins/YouTubePluginReplacement.h:
- bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginScriptObject):
(WebCore::pluginElementCustomGetCallData):
(WebCore::pluginScriptObjectFromPluginViewBase): Deleted.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- bindings/scripts/test/JS/JSTestPluginInterface.cpp:
(WebCore::JSTestPluginInterface::visitChildrenImpl):
- html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot):
(WebCore::HTMLPlugInElement::scriptObjectForPluginReplacement): Deleted.
- html/HTMLPlugInElement.h:
(WebCore::HTMLPlugInElement::pluginReplacementScriptObject): Deleted.
- plugins/PluginViewBase.h:
(WebCore::PluginViewBase::scriptObject): Deleted.
Source/WebKit:
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::scriptObject): Deleted.
- WebProcess/Plugins/PluginView.h:
- 3:56 PM Changeset in webkit [292640] by
-
- 35 edits in trunk
[Xcode] Avoid targeting 32-bit iOS and Mac architectures
https://bugs.webkit.org/show_bug.cgi?id=238971
Reviewed by Alexey Proskuryakov.
PerformanceTests:
- DecoderTest/Configurations/DebugRelease.xcconfig:
- MediaTime/Configurations/DebugRelease.xcconfig:
Source/bmalloc:
- Configurations/DebugRelease.xcconfig:
Source/JavaScriptCore:
Modern Xcode supports building armv7 iOS and i386 macOS, but only when targeting older OSes.
We do not support these targets, but our ARCHS override implies we do. Remove our setting
and use the default.
This improves support for building directly from WebKit.xcworkspace to a
generic/*
destination.
- Configurations/DebugRelease.xcconfig:
Source/ThirdParty:
- gtest/xcode/Config/General.xcconfig:
Source/ThirdParty/ANGLE:
- Configurations/DebugRelease.xcconfig:
Source/ThirdParty/libwebrtc:
- Configurations/DebugRelease.xcconfig:
Source/WebCore:
- Configurations/DebugRelease.xcconfig:
Source/WebCore/PAL:
- Configurations/DebugRelease.xcconfig:
Source/WebGPU:
- Configurations/DebugRelease.xcconfig:
Source/WebInspectorUI:
- Configurations/DebugRelease.xcconfig:
Source/WebKit:
- Configurations/DebugRelease.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/DebugRelease.xcconfig:
Source/WTF:
- Configurations/DebugRelease.xcconfig:
Tools:
- DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
- ImageDiff/cg/Configurations/DebugRelease.xcconfig:
- MiniBrowser/Configurations/DebugRelease.xcconfig:
- MobileMiniBrowser/Configurations/DebugRelease.xcconfig:
- TestWebKitAPI/Configurations/DebugRelease.xcconfig:
- WebEditingTester/Configurations/DebugRelease.xcconfig:
- WebKitTestRunner/Configurations/DebugRelease.xcconfig:
- 3:47 PM Changeset in webkit [292639] by
-
- 7 edits in trunk/Source/WebCore
[css-cascade] Sort deferred properties at the end of CSSPropertyID enum
https://bugs.webkit.org/show_bug.cgi?id=238345
Reviewed by Darin Adler.
Bug 238260 will optimize the logic for cascading deferred properties.
This sorts them at the end, after low priority ones, which will allow
some further optimizations.
This is in preparation of bug 238260, which plans to turn all logical
and physical properties into deferred.
No new tests since there should be no change in behavior.
- css/makeprop.pl:
(sortByDescendingPriorityAndName):
Sort deferred properties at the end of CSSPropertyID enum.
Add firstHighPriorityProperty, firstLowPriorityProperty,
lastLowPriorityProperty, firstDeferredProperty and lastDeferredProperty.
- style/PropertyCascade.cpp:
(WebCore::Style::PropertyCascade::set):
(WebCore::Style::PropertyCascade::setDeferred):
(WebCore::Style::PropertyCascade::addMatch):
(WebCore::Style::shouldApplyPropertyInParseOrder): Deleted.
Delete shouldApplyPropertyInParseOrder(), since instead we can just
compare the CSSPropertyId and firstDeferredProperty with < or >=.
- style/PropertyCascade.h:
(WebCore::Style::PropertyCascade::hasNormalProperty const):
(WebCore::Style::PropertyCascade::normalProperty const):
(WebCore::Style::PropertyCascade::hasDeferredProperty const):
(WebCore::Style::PropertyCascade::hasProperty const): Deleted.
(WebCore::Style::PropertyCascade::property const): Deleted.
Rename hasProperty() and property() to hasNormalProperty() and
normalProperty(), to make it clear they are not for deferred properties.
Reduce the size of m_properties array and m_propertyIsPresent bitset,
since they don't need to include deferred properties.
- style/StyleBuilder.cpp:
(WebCore::Style::Builder::applyAllProperties):
(WebCore::Style::Builder::applyHighPriorityProperties):
(WebCore::Style::Builder::applyNonHighPriorityProperties):
(WebCore::Style::Builder::applyPropertiesImpl):
(WebCore::Style::Builder::applyProperty):
(WebCore::Style::Builder::applyLowPriorityProperties): Deleted.
Rename applyLowPriorityProperties() to applyNonHighPriorityProperties()
to make it clear that it includes custom and deferred properties.
Use the new firstHighPriorityProperty and lastLowPriorityProperty
constants for clarity and to skip deferred properties.
Rename hasProperty() and property() to hasNormalProperty() and
normalProperty(), to make it clear they are not for deferred properties.
- style/StyleBuilder.h:
Rename applyLowPriorityProperties() to applyNonHighPriorityProperties()
to make it clear that it includes custom and deferred properties.
- style/StyleResolver.cpp:
(WebCore::Style::Resolver::applyMatchedProperties):
Rename applyLowPriorityProperties() to applyNonHighPriorityProperties()
to make it clear that it includes custom and deferred properties.
- 3:07 PM Changeset in webkit [292638] by
-
- 2 edits in trunk/Source/WebCore
Simplify / Optimize the whitespace cache implementation
https://bugs.webkit.org/show_bug.cgi?id=238736
<rdar://problem/91255370>
Reviewed by Darin Adler.
Follow-up to r292310 to add missing blank lines.
- html/parser/HTMLConstructionSite.h:
- 3:00 PM Changeset in webkit [292637] by
-
- 11 edits in trunk/Source/WebGPU
[WebGPU] Implement destroy() methods
https://bugs.webkit.org/show_bug.cgi?id=238723
Reviewed by Dean Jackson.
The destroy() methods cause objects to become invalid. This is important because
the test suite creates and destroys lots of objects, and we want to make sure we
free up resources before GC runs.
This patch also makes Device own a Ref<Adapter> instead of Ref<Instance> because
part of the implementation of Device::destroy() involves interacting with its
adapter.
- WebGPU/Adapter.h:
(WebGPU::Adapter::makeInvalid):
(WebGPU::Adapter::instance const):
- WebGPU/Adapter.mm:
(WebGPU::Adapter::requestDevice):
- WebGPU/Buffer.h:
- WebGPU/Device.h:
(WebGPU::Device::createInvalid):
(WebGPU::Device::instance const):
(WebGPU::Device::makeInvalid):
- WebGPU/Device.mm:
(WebGPU::Device::create):
(WebGPU::Device::Device):
(WebGPU::Device::loseTheDevice):
(WebGPU::Device::destroy):
(WebGPU::Device::generateAValidationError):
(WebGPU::Device::popErrorScope):
- WebGPU/QuerySet.h:
- WebGPU/QuerySet.mm:
(WebGPU::QuerySet::destroy):
- WebGPU/Queue.h:
(WebGPU::Queue::makeInvalid):
- WebGPU/Texture.h:
- WebGPU/Texture.mm:
(WebGPU::Texture::destroy):
- 2:40 PM BuildingCairoOnWindows edited by
- (diff)
- 2:39 PM Changeset in webkit [292636] by
-
- 6 edits in trunk/Source/WebCore
[css-cascade] Merge getRelatedPropertyId() and shouldApplyPropertyInParseOrder()
https://bugs.webkit.org/show_bug.cgi?id=238350
Reviewed by Darin Adler.
Both getRelatedPropertyId() and shouldApplyPropertyInParseOrder() pursue
the same thing: if there are two properties (typically a standard one
and a -webkit- prefixed one) which share the same field in RenderStyle,
then we should take specified order into account when applying them.
The problem is that the logic for getRelatedPropertyId() doesn't work
well in all cases. It was only used for -webkit-text-orientation and
text-orientation, but bug 238356 implemented the former as a shorthand.
So now there is no consumer of getRelatedPropertyId().
On the other hand, shouldApplyPropertyInParseOrder() works better, but
it will need to be automatically generated for bug 238345, and bug
238125 will need to know which property shares a computed value with a
given one.
So this patch removes the consumers of the old getRelatedPropertyId(),
and changes shouldApplyPropertyInParseOrder() to be based on it.
No new tests since there is no change in behavior.
- css/CSSProperties.json:
Mark properties for which shouldApplyPropertyInParseOrder() returned
true with the "related-property" flag.
- css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
Remove old getRelatedPropertyId() logic which was unused.
- css/makeprop.pl:
Throw errors if "related-property" flag is invalid.
- css/parser/CSSParserImpl.cpp:
(WebCore::filterProperties):
Remove old getRelatedPropertyId() logic which was unused.
- style/PropertyCascade.cpp:
(WebCore::Style::shouldApplyPropertyInParseOrder):
Base shouldApplyPropertyInParseOrder() on getRelatedPropertyId().
- 2:35 PM Changeset in webkit [292635] by
-
- 7 edits in trunk
[CSS Container Queries] Search query containers for ::slotted and and ::part rules in their scope
https://bugs.webkit.org/show_bug.cgi?id=238997
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/container-for-shadow-dom-expected.txt:
Source/WebCore:
"For selectors with pseudo elements, query containers can be established by the shadow-including inclusive ancestors of
the ultimate originating element."
https://drafts.csswg.org/css-contain-3/#container-queries
- style/ContainerQueryEvaluator.cpp:
(WebCore::Style::ContainerQueryEvaluator::ContainerQueryEvaluator):
(WebCore::Style::ContainerQueryEvaluator::selectContainer const):
(WebCore::Style::ContainerQueryEvaluator::selectContainer):
For rules coming from a non-local scope, search query container starting from the originating element in that scope.
- style/ContainerQueryEvaluator.h:
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::collectMatchingRulesForList):
(WebCore::Style::ElementRuleCollector::containerQueriesMatch):
Pass rule's style scope ordinal so we can find the right scope.
- style/ElementRuleCollector.h:
- 2:33 PM BuildingCairoOnWindows edited by
- (diff)
- 2:25 PM BuildingCairoOnWindows edited by
- (diff)
- 1:36 PM Changeset in webkit [292634] by
-
- 6 edits in trunk/Tools
[Merge-Queue] Create seperate queue for unsafe version
https://bugs.webkit.org/show_bug.cgi?id=239005
<rdar://problem/91484664>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/config.json: Add Unsafe-Merge-Queue.
- Tools/CISupport/ews-build/events.py:
(GitHubEventHandlerNoEdits):
(GitHubEventHandlerNoEdits.handle_pull_request): merge-queue and unsafe-merge-queue
should trigger different queues.
- Tools/CISupport/ews-build/factories.py:
(CommitQueueFactory.init):
(MergeQueueFactoryBase): Moved from MergeQueueFactory.
(MergeQueueFactory): Depend on MergeQueueFactoryBase.
(UnsafeMergeQueueFactory): Added.
(UnsafeMergeQueueFactory.init):
- Tools/CISupport/ews-build/factories_unittest.py:
(TestExpectedBuildSteps):
- Tools/CISupport/ews-build/loadConfig.py: Import UnsafeMergeQueueFactory.
Canonical link: https://commits.webkit.org/249454@main
- 1:32 PM Changeset in webkit [292633] by
-
- 4 edits in trunk/Source
Move WebGPU to WebCore/features.json and add <model> element
https://bugs.webkit.org/show_bug.cgi?id=238981
Reviewed by Myles C. Maxfield
Source/JavaScriptCore:
Move WebGPU stuff to the WebCore features.json file.
- features.json:
Source/WebCore:
This patch makes the following corrections:
- Moves the WebGPU Specification definition from JavaScriptCore/features.json to WebCore/features.json
- Removes the extraneous WebGPU "feature" from both files.
- Adds the HTML <model> element.
- features.json:
- 1:29 PM Changeset in webkit [292632] by
-
- 6 edits in trunk/Source/WebKit
Unreviewed, reverting r292429.
https://bugs.webkit.org/show_bug.cgi?id=239011
Introduced Data Detectors regression in Mail
Reverted changeset:
"Unreviewed, reverting r291821."
https://bugs.webkit.org/show_bug.cgi?id=238839
https://commits.webkit.org/r292429
- 1:27 PM Changeset in webkit [292631] by
-
- 9 edits3 deletes in trunk/Source/WebKit
Remove unneeded CoreIPC messages and corresponding handlers related to StorageManagerSet
https://bugs.webkit.org/show_bug.cgi?id=238938
Patch by Gavin Phillips <gavin.p@apple.com> on 2022-04-08
Reviewed by Chris Dumez.
There are various CoreIPC messages related to StorageManagerSet which are no longer needed. This
change removes them.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- NetworkProcess/NetworkProcess.cpp:
- NetworkProcess/WebStorage/StorageManagerSet.cpp: Removed.
- NetworkProcess/WebStorage/StorageManagerSet.h: Removed.
- NetworkProcess/WebStorage/StorageManagerSet.messages.in: Removed.
- Sources.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebStorage/StorageAreaMap.cpp:
- 1:11 PM Changeset in webkit [292630] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer][WebRTC] Fix data-channel handler build for GStreamer 1.21
https://bugs.webkit.org/show_bug.cgi?id=238989
Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-08
Reviewed by Xabier Rodriguez-Calvar.
The GST_WEBRTC_DATA_CHANNEL_STATE_NEW enum value was removed from public API in
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2099.
- Modules/mediastream/gstreamer/GStreamerDataChannelHandler.cpp:
(WebCore::GStreamerDataChannelHandler::checkState):
- 12:56 PM Changeset in webkit [292629] by
-
- 4 edits in trunk/Source
[iOS 15.4] Fix embedded device build
https://bugs.webkit.org/show_bug.cgi?id=239012
<rdar://problem/91495761>
Reviewed by Ryan Haddad.
- Source/ThirdParty/ANGLE/Configurations/Base.xcconfig: Allow AdHoc codesigning.
- Source/WebKit/Configurations/Base.xcconfig: Ditto.
Canonical link: https://commits.webkit.org/249449@main
- 12:54 PM Changeset in webkit [292628] by
-
- 2 edits in trunk/Source/WebKit
[WPE][2.36] Build with a11y disabled fails
https://bugs.webkit.org/show_bug.cgi?id=239004
Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-08
Reviewed by Michael Catanzaro.
Add accessibility build guards.
- UIProcess/Launcher/glib/XDGDBusProxy.cpp:
(WebKit::XDGDBusProxy::XDGDBusProxy):
(WebKit::XDGDBusProxy::launch const):
- 11:41 AM Changeset in webkit [292627] by
-
- 12 edits in trunk/Source
static_pointer_cast<>() may cause some unnecessary ref-counting churn
https://bugs.webkit.org/show_bug.cgi?id=238961
Reviewed by Darin Adler.
Source/WebCore:
- dom/TreeScope.cpp:
(WebCore::TreeScope::elementFromPoint):
- editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::textNodeForRebalance const):
- editing/DeleteSelectionCommand.cpp:
(WebCore::firstInSpecialElement):
(WebCore::lastInSpecialElement):
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getFramebufferAttachmentParameter):
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
- page/ImageOverlayController.cpp:
(WebCore::ImageOverlayController::selectionQuadsDidChange):
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::pageDestroyed):
- page/scrolling/nicosia/ScrollingCoordinatorNicosia.cpp:
(WebCore::ScrollingCoordinatorNicosia::pageDestroyed):
Source/WTF:
- wtf/RefPtr.h:
(WTF::adoptRef):
(WTF::static_pointer_cast):
- 11:29 AM Changeset in webkit [292626] by
-
- 35 edits in trunk
Unreviewed, reverting r292591.
Causing spurious EWS errors
Reverted changeset:
"[XCBuild] Enable dependency validation by default"
https://bugs.webkit.org/show_bug.cgi?id=238901
https://commits.webkit.org/r292591
- 11:19 AM Changeset in webkit [292625] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, reverting r292521.
This broke the test further.
Reverted changeset:
"[ Mac ] accessibility/mac/expanded-notification.html is a
flaky text failure"
https://bugs.webkit.org/show_bug.cgi?id=238830
https://commits.webkit.org/r292521
- 10:58 AM Changeset in webkit [292624] by
-
- 14 edits in trunk/Source/WebKit
Remove misc unused CoreIPC messages/handlers that have no instances of messages being dispatched to them
https://bugs.webkit.org/show_bug.cgi?id=238996
Patch by Gavin Phillips <gavin.p@apple.com> on 2022-04-08
Reviewed by Chris Dumez.
Remove misc unused CoreIPC messages/handlers that have no instances of messages being dispatched to them. This includes:
WebPage::FrameBecameRemote, WebInspectorUIProxy::BringInspectedPageToFront, WebProcess::refreshPlugins, NetworkProcess::SetQOS
WebPage::GetPositionInformation, WebPage::InvalidateMediaSessionCoordinator, RemoteCDMInstanceSessionProxy::DisplayIDChanged.
- GPUProcess/media/RemoteCDMInstanceSessionProxy.cpp:
(WebKit::RemoteCDMInstanceSessionProxy::displayIDChanged): Deleted.
- GPUProcess/media/RemoteCDMInstanceSessionProxy.h:
- GPUProcess/media/RemoteCDMInstanceSessionProxy.messages.in:
- NetworkProcess/NetworkProcess.messages.in:
- UIProcess/Inspector/WebInspectorUIProxy.cpp:
(WebKit::WebInspectorUIProxy::bringInspectedPageToFront): Deleted.
- UIProcess/Inspector/WebInspectorUIProxy.messages.in:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createMediaSessionCoordinator):
(WebKit::WebPage::frameBecameRemote): Deleted.
(WebKit::WebPage::invalidateMediaSessionCoordinator): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::isObscuredElement):
(WebKit::WebPage::getPositionInformation): Deleted.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::refreshPlugins): Deleted.
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- 10:58 AM Changeset in webkit [292623] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 133
Added a tag for Safari Technology Preview release 133.
- 10:58 AM Changeset in webkit [292622] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 134
Added a tag for Safari Technology Preview release 134.
- 10:55 AM Changeset in webkit [292621] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 135
Added a tag for Safari Technology Preview release 135.
- 10:55 AM Changeset in webkit [292620] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 136
Added a tag for Safari Technology Preview release 136.
- 10:54 AM Changeset in webkit [292619] by
-
- 26 edits in trunk/Source
Reduce number of StringView to String conversions in JSC
https://bugs.webkit.org/show_bug.cgi?id=238911
Reviewed by Darin Adler.
Source/JavaScriptCore:
- dfg/DFGLazyJSValue.cpp:
(JSC::DFG::LazyJSValue::getValue const):
Resolve ambiguity by explicitly converting the StringImpl to a String before
calling jsString(). [1]
- jsc.cpp:
Avoid constructing a String from the StringView, just to compute a hash.
Instead, rely on the StringViewHashTranslator for this.
- profiler/ProfilerOSRExit.cpp:
(JSC::Profiler::OSRExit::toJS const):
exitKindToString() returns an ASCIILiteral whose length is always greater
than 1 so we can call the more efficient jsNontrivialString() instead of
jsString(). Calling jsString() here had become ambiguous because an
ASCIILiteral can be implicitely converted to both a String and a
StringView [2].
- runtime/ArrayPrototype.cpp:
(JSC::fastJoin):
Call the new jsString() overload that takes a StringView, to avoid
unnecessarily constructing a String in the case where the length is <= 1 [3].
- runtime/ErrorInstance.cpp:
(JSC::appendSourceToErrorMessage):
- runtime/ErrorInstance.h:
- runtime/ExceptionHelpers.cpp:
(JSC::defaultApproximateSourceError):
(JSC::defaultSourceAppender):
(JSC::functionCallBase):
(JSC::notAFunctionSourceAppender):
(JSC::invalidParameterInSourceAppender):
(JSC::invalidParameterInstanceofSourceAppender):
(JSC::invalidParameterInstanceofNotFunctionSourceAppender):
(JSC::invalidParameterInstanceofhasInstanceValueNotFunctionSourceAppender):
(JSC::invalidPrototypeSourceAppender):
- runtime/ExceptionHelpers.h:
Call SourceAppender with a StringView since this is what we have. In most
cases, these appenders end up calling makeString() and it is thus beneficial
to avoid temporary/intermediate String constructions.
- runtime/FunctionExecutable.cpp:
(JSC::FunctionExecutable::toStringSlow):
Same as [3].
- runtime/IdentifierInlines.h:
(JSC::identifierToJSValue):
(JSC::identifierToSafePublicJSValue):
Same as [1].
- runtime/IntlDateTimeFormat.cpp:
(JSC::IntlDateTimeFormat::formatToParts const):
(JSC::IntlDateTimeFormat::formatRangeToParts):
- runtime/IntlLocale.cpp:
(JSC::IntlLocale::textInfo):
- runtime/IntlNumberFormat.cpp:
(JSC::IntlNumberFormat::formatRangeToPartsInternal):
(JSC::IntlNumberFormat::formatToPartsInternal):
Same as [2].
- runtime/IntlRelativeTimeFormat.cpp:
(JSC::IntlRelativeTimeFormat::formatToParts const):
Same as [3].
- runtime/JSArrayBufferPrototype.cpp:
(JSC::JSArrayBufferPrototype::finishCreation):
Same as [2].
- runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::requestImportModule):
(JSC::JSC_DEFINE_HOST_FUNCTION):
Same as [1].
- runtime/JSString.h:
(JSC::jsString):
Add a jsString() overload that takes in a StringView instead of a String.
This avoids construction of a String for call sites having a StringView
in the event where the view's length is <= 1.
- runtime/SymbolConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
Same as [1].
Source/WTF:
Provide a reverseFind(StringView, unsigned) overload on StringView, for consistency
with String and to facilitate the converting of code from String to StringView.
- wtf/text/StringCommon.h:
(WTF::reverseFindInner):
- wtf/text/StringImpl.cpp:
(WTF::reverseFindInner): Deleted.
- wtf/text/StringView.cpp:
(WTF::StringView::reverseFind const):
- wtf/text/StringView.h:
- 10:53 AM Changeset in webkit [292618] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 137
Added a tag for Safari Technology Preview release 137.
- 10:53 AM Changeset in webkit [292617] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 138
Added a tag for Safari Technology Preview release 138.
- 10:53 AM Changeset in webkit [292616] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 139
Added a tag for Safari Technology Preview release 139.
- 10:52 AM Changeset in webkit [292615] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 140
Added a tag for Safari Technology Preview release 140.
- 10:52 AM Changeset in webkit [292614] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 142
Added a tag for Safari Technology Preview release 142.
- 10:51 AM Changeset in webkit [292613] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 124
Added a tag for Safari Technology Preview release 124.
- 10:50 AM Changeset in webkit [292612] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 123
Added a tag for Safari Technology Preview release 123.
- 10:48 AM Changeset in webkit [292611] by
-
- 6 edits in trunk/Source/WebKit
Have GPU Process call lowMemoryHandler() on each RemoteRenderingBackend
https://bugs.webkit.org/show_bug.cgi?id=238967
Reviewed by Tim Horton.
Hook up RemoteRenderingBackend::lowMemoryHandler(), which doesn't do anything yet,
but will clear the IOSurface pool.
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::lowMemoryHandler):
- GPUProcess/GPUConnectionToWebProcess.h:
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::lowMemoryHandler):
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::lowMemoryHandler):
- GPUProcess/graphics/RemoteRenderingBackend.h:
- 10:48 AM Changeset in webkit [292610] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 122
Added a tag for Safari Technology Preview release 122.
- 9:41 AM Changeset in webkit [292609] by
-
- 4 edits in trunk/Source
Broaden TypedArray API fix to all apps not just Bleacher Report
https://bugs.webkit.org/show_bug.cgi?id=238955
Reviewed by Saam Barati.
Source/JavaScriptCore:
- API/JSTypedArray.cpp:
(isLinkedBeforeTypedArrayLengthQuirk):
(JSObjectGetArrayBufferByteLength):
(isBleecherReport): Deleted.
Source/WTF:
- wtf/cocoa/RuntimeApplicationChecksCocoa.h:
- 8:16 AM Changeset in webkit [292608] by
-
- 2 edits in trunk/LayoutTests
imported/blink/fast/multicol/vertical-lr/float-content-break.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=239002
Unreviewed.
- platform/mac/TestExpectations:
- 8:10 AM Changeset in webkit [292607] by
-
- 2 edits in trunk/Tools
[Merge-Queue] Add queue triggered by label addition (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=237615
<rdar://problem/89983452>
Unreviewed device management.
- Tools/CISupport/ews-build/config.json: Remove ews151 from Merge-Queue
Canonical link: https://commits.webkit.org/249439@main
- 8:00 AM Changeset in webkit [292606] by
-
- 26 edits in trunk
Do not use std::numeric_limits<float>::min() as the initial value to collect max values for glyph overflow
https://bugs.webkit.org/show_bug.cgi?id=238334
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt:
Source/WebCore:
With zero height glpyhs, glyph (vertical)overflow may still back as 1px due to ceilf(std::max(0.f, std::numeric_limits<float>::min())).
(see WidthIterator::advanceInternal() -> m_maxGlyphBoundingBoxY = std::max(m_maxGlyphBoundingBoxY, bounds.maxY())
and FontCascade::floatWidthForSimpleText() -> std::max<int>(glyphOverflow->bottom, ceilf(it.maxGlyphBoundingBoxY()) - (glyphOverflow->computeBounds ? 0 : metricsOfPrimaryFont().descent())))
- platform/graphics/ComplexTextController.h:
- platform/graphics/WidthIterator.h:
LayoutTests:
- platform/ios/fast/block/lineboxcontain/glyphs-expected.txt:
- platform/ios/fast/css-generated-content/initial-letter-basic-expected.txt:
- platform/ios/fast/css-generated-content/initial-letter-border-padding-expected.txt:
- platform/ios/fast/css-generated-content/initial-letter-raised-expected.txt:
- platform/ios/fast/css-generated-content/initial-letter-sunken-expected.txt:
- platform/ios/mathml/opentype/opentype-stretchy-expected.txt:
- platform/ios/mathml/presentation/roots-expected.txt:
- platform/mac/fast/block/lineboxcontain/glyphs-expected.txt:
- platform/mac/fast/css-generated-content/initial-letter-basic-expected.txt:
- platform/mac/fast/css-generated-content/initial-letter-border-padding-expected.txt:
- platform/mac/fast/css-generated-content/initial-letter-raised-expected.txt:
- platform/mac/fast/css-generated-content/initial-letter-sunken-expected.txt:
- platform/mac/mathml/opentype/opentype-stretchy-expected.txt:
- platform/mac/mathml/presentation/roots-expected.txt:
- 7:52 AM Changeset in webkit [292605] by
-
- 3 edits in trunk/Tools
[Merge-Queue] Comment on PR when failing validation
https://bugs.webkit.org/show_bug.cgi?id=238969
<rdar://problem/91451392>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(ValidateChangeLogAndReviewer.evaluateCommand): Add BlockPullRequest on failure.
(ValidateCommitMessage.evaluateCommand): Block and comment on pull request if
validation fails.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/249437@main
- 7:32 AM Changeset in webkit [292604] by
-
- 3 edits in trunk/LayoutTests
[ iOS EWS ] fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html is a flaky image failure.
https://bugs.webkit.org/show_bug.cgi?id=237218
<rdar://problem/89484834>
Unreviewed.
- fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping-expected.html:
- fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html: Change font family to Ahem.
- 7:22 AM Changeset in webkit [292603] by
-
- 6 edits2 moves5 adds1 delete in trunk/LayoutTests
Fix for accessibility/table-sections.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=238970
<rdar://problem/91451873>
Reviewed by Chris Fleizach.
Fixed this test in ITM by splitting the test into two smaller, faster
tests:
accessibility/table-multiple-tbodies.html
accessibility/table-thead-tfoot.html
In addition, the new tests write to the console only once after all the
accessibility calls are made.
- TestExpectations: Removed the old test marked as Slow.
- accessibility/resources/table-helper.js: Added.
(tableProperties): Helper function used in several tests.
- accessibility/table-attributes.html:
- accessibility/table-multiple-tbodies-expected.txt: Copied from LayoutTests/accessibility/table-sections-expected.txt.
- accessibility/table-multiple-tbodies.html: Added.
- accessibility/table-sections.html: Removed.
- accessibility/table-thead-tfoot-expected.txt: Added.
- accessibility/table-thead-tfoot.html: Added.
- platform/glib/accessibility/table-multiple-tbodies-expected.txt: Renamed from LayoutTests/accessibility/table-sections-expected.txt.
- platform/glib/accessibility/table-sections-expected.txt: Removed.
- platform/glib/accessibility/table-thead-tfoot-expected.txt: Added.
- platform/win/TestExpectations:
- platform/wincairo-wk1/TestExpectations:
- platform/wincairo/TestExpectations:
- 7:11 AM Changeset in webkit [292602] by
-
- 3 edits in trunk/Tools
[Merge-Queue] Reset git-svn cache on commit failure
https://bugs.webkit.org/show_bug.cgi?id=238975
<rdar://problem/91454550>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(PushCommitToWebKitRepo.evaluateCommand): Reset git-svn cache if commit fails.
(ResetGitSvn): Reset git-svn cache by removing .git/svn.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/249434@main
- 5:41 AM Changeset in webkit [292601] by
-
- 2 edits in trunk/Tools/buildstream
[Flatpak SDK] Update patchelf recipe
https://bugs.webkit.org/show_bug.cgi?id=238976
Reviewed by Philippe Normand.
Update patchelf to the last stable release (0.14.5)
patchelf is needed by the script generate-bundle.
- elements/sdk/patchelf.bst:
- 5:37 AM Changeset in webkit [292600] by
-
- 1 copy in releases/WPE WebKit/webkit-2.34.7
WPE WebKit 2.34.7
- 4:56 AM Changeset in webkit [292599] by
-
- 5 edits in trunk/Source/WebKit
[GTK] RemoteInspector: update target list page contents on change instead of reloading
https://bugs.webkit.org/show_bug.cgi?id=238990
Reviewed by Adrian Perez de Castro.
We can use webkit_web_view_run_javascript() to replace the target list with the new one. This also fixes the race
condition when loading inspector:// for the first time that target list is always empty. The web view HashSet is
now a HashMap where the value is a pointer to the client to be able to associate web view with its client
without having to check the host and port.
- UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.cpp:
(WebKit::RemoteInspectorProtocolHandler::~RemoteInspectorProtocolHandler): Disconnect web view signals.
(WebKit::RemoteInspectorProtocolHandler::handleRequest): On new web view, connect to notify::uri and remove the
web view if it's no longer showing an inspector page list.
(WebKit::RemoteInspectorProtocolHandler::updateTargetList): Update the target list html.
(WebKit::RemoteInspectorProtocolHandler::webViewLoadChanged): Call updateTargetList() when load finished.
(WebKit::RemoteInspectorProtocolHandler::targetListChanged): Call updateTargetList() for web views that are not
loading. For loading web view connect to load-event to update the target list once the load finishes.
(WebKit::RemoteInspectorProtocolHandler::connectionClosed): Remove the associated web views.
- UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.h:
- UIProcess/Inspector/glib/RemoteInspectorClient.cpp:
(WebKit::RemoteInspectorClient::appendTargertList const): Append the target list html to the given GString.
(WebKit::RemoteInspectorClient::buildTargetListPage const): Use appendTargertList() now.
- UIProcess/Inspector/glib/RemoteInspectorClient.h:
- 4:15 AM Changeset in webkit [292598] by
-
- 3 edits in trunk/LayoutTests
Fix for accessibility/roles-table-and-cell.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=238936
<rdar://problem/91414958>
Reviewed by Chris Fleizach.
Fixes this test in isolated tree mode by not writing to the console
until the end of the test.
- accessibility/roles-table-and-cell-expected.txt:
- accessibility/roles-table-and-cell.html:
- 3:23 AM Changeset in webkit [292597] by
-
- 7 edits in trunk/Source
Web Inspector: Use computedStyleMap() instead of deprecated getPropertyCSSValue()
https://bugs.webkit.org/show_bug.cgi?id=238661
Reviewed by Devin Rousso.
Source/WebInspectorUI:
Add Element.getComputedCSSPropertyNumberValue() instead of using computedStyleMap() directly to have a fallback
in case CSS_TYPED_OM is disabled in build.
- UserInterface/Base/Utilities.js:
(get return):
- UserInterface/Views/DataGridNode.js:
(WI.DataGridNode.prototype.isEventWithinDisclosureTriangle):
- UserInterface/Views/TabBar.js:
(WI.TabBar.prototype._handleMouseMoved.inlineStyleValue):
(WI.TabBar.prototype._handleMouseMoved):
- UserInterface/Views/TreeElement.js:
(WI.TreeElement.prototype.isEventWithinDisclosureTriangle):
Source/WebKit:
Ensure CSS Type OM is enabled in inspector frontend page.
- WebProcess/Inspector/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::enableFrontendFeatures):
- 2:59 AM Changeset in webkit [292596] by
-
- 4 edits in trunk/Source/WebCore
Take top layers into account in addLayers/removeLayers
https://bugs.webkit.org/show_bug.cgi?id=238946
Patch by Rob Buis <rbuis@igalia.com> on 2022-04-08
Reviewed by Simon Fraser.
Take top layers into account in addLayers/removeLayers, they
should use the RenderView layer as parent (emulating layerParent).
- rendering/RenderElement.cpp:
(WebCore::addLayers):
(WebCore::RenderElement::addLayers):
(WebCore::RenderElement::removeLayers):
(WebCore::RenderElement::willBeRemovedFromTree):
- rendering/RenderElement.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects const):
- 1:30 AM Changeset in webkit [292595] by
-
- 19 edits20 moves23 adds in trunk
Incorrect CORP/COEP check in 304 responses
https://bugs.webkit.org/show_bug.cgi?id=238238
<rdar://problem/90706510>
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2022-04-08
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Sync cross-origin-embedder-policy tests to include the new test require-corp-revalidated-images.https.html.
- web-platform-tests/html/cross-origin-embedder-policy/block-local-documents-inheriting-none.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache-storage.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache-storage.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache-storage.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache.tentative.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/dedicated-worker.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/fetch.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/fetch.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/fetch.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-credentialless.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-credentialless.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-credentialless.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-none.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-none.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-none.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-require-corp.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-require-corp.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-require-corp.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe.tentative.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/image.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/image.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/image.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/link.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/link.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/link.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/redirect.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/redirect.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/redirect.tentative.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-navigation.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-navigation.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-navigation.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-subresource-corp.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-subresource-corp.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-subresource-corp.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/script.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/script.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/script.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-credentialless-proxy.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-credentialless-proxy.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-credentialless-proxy.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-none-proxy.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-none-proxy.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-none-proxy.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/shared-worker.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/shared-worker.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/shared-worker.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.https.window.js.headers: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.tentative.https.window.js.headers.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/w3c-import.log:
- web-platform-tests/html/cross-origin-embedder-policy/dedicated-worker.https-expected.txt:
- web-platform-tests/html/cross-origin-embedder-policy/dedicated-worker.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/reporting-to-endpoint.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/reporting-to-endpoint.https.html.headers:
- web-platform-tests/html/cross-origin-embedder-policy/require-corp-cached-images.https-expected.txt:
- web-platform-tests/html/cross-origin-embedder-policy/require-corp-cached-images.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/require-corp-revalidated-images.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-embedder-policy/require-corp-revalidated-images.https.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/resources/corp-image.py:
(main):
- web-platform-tests/html/cross-origin-embedder-policy/resources/fetch-and-create-url.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/resources/load-corp-images.html:
- web-platform-tests/html/cross-origin-embedder-policy/resources/w3c-import.log:
- web-platform-tests/html/cross-origin-embedder-policy/resources/worker-support.js: Added.
(setCoep):
(resolveUrl):
(async withIframe):
(waitForMessage):
(async createLocalUrl):
- web-platform-tests/html/cross-origin-embedder-policy/shared-workers.https-expected.txt:
- web-platform-tests/html/cross-origin-embedder-policy/shared-workers.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/w3c-import.log:
Source/WebKit:
Add CORP header to the 304 response if previously set to avoid being blocked by load checker due to COEP.
Test: imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/require-corp-revalidated-images.https.html
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didReceiveResponse):
LayoutTests:
Mark some tests with DumpJSConsoleLogInStdErr modifier.
Apr 7, 2022:
- 11:58 PM Changeset in webkit [292594] by
-
- 7 edits1 add in trunk
[JSC] Fire structure transition watchpoint in Structure::finishCreation instead of Structure constructor
https://bugs.webkit.org/show_bug.cgi?id=238980
Reviewed by Saam Barati.
JSTests:
- stress/heap-allocation-in-did-structure-transition-watchpoint.js: Added.
(isPropertyOfType):
(getProperties):
(getObjects):
(getRandomObject):
(getRandomProperty):
(callGC):
(get var):
Source/JavaScriptCore:
After https://github.com/WebKit/WebKit/commit/dc3a347474a183891f8e07966dc09e684d7a1d13 change,
we start using Structure::get in the main thread. However one of the difference between Structure::get and
Structure::getConcurrently is that it can allocate GC memory: PropertyTable can be materialized.
Structure constructor was firing structure transition watchpoint. And some of watchpoints were using
Structure::getConcurrently. That's fine before, but now, it becomes Structure::get. It is not OK since
we cannot allocate GC memory inside constructor of GC managed objects.
This patch split didTransitionFromThisStructure into didTransitionFromThisStructureWithoutFiringWatchpoint and
fireStructureTransitionWatchpoint. And firing watchpoints in Structure::finishCreation instead of Structure
constructor so that we can allocate GC memory while firing watchpoints.
- runtime/BrandedStructure.cpp:
(JSC::BrandedStructure::BrandedStructure):
(JSC::BrandedStructure::create):
- runtime/BrandedStructure.h:
- runtime/Structure.cpp:
(JSC::Structure::Structure):
(JSC::Structure::didTransitionFromThisStructureWithoutFiringWatchpoint const):
(JSC::Structure::fireStructureTransitionWatchpoint const):
(JSC::Structure::didTransitionFromThisStructure const):
- runtime/Structure.h:
(JSC::Structure::finishCreation):
- runtime/StructureInlines.h:
(JSC::Structure::create):
- 10:40 PM Changeset in webkit [292593] by
-
- 8 edits in trunk/Source/WebKit
[WebAuthn] Support all CTAP transports and remove gesture requirement for virtual authenticators
https://bugs.webkit.org/show_bug.cgi?id=238814
rdar://problem/91300515
Reviewed by Brent Fulgham.
This patch adds support for the other CTAP virtual authenticator transports and removes
the user gesture requirement when using virtual authenticators. These changes are needed
to run the webauthn web-platform-tests.
- UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::WebCore::collectTransports):
(WebKit::AuthenticatorManager::filterTransports const):
- UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.cpp:
(WebKit::MockAuthenticatorManager::filterTransports const):
- UIProcess/WebAuthentication/Virtual/VirtualAuthenticatorManager.cpp:
(WebKit::VirtualAuthenticatorManager::createAuthenticator):
- UIProcess/WebAuthentication/Virtual/VirtualAuthenticatorManager.h:
- UIProcess/WebAuthentication/Virtual/VirtualLocalConnection.mm:
(WebKit::VirtualLocalConnection::verifyUser):
- UIProcess/WebAuthentication/Virtual/VirtualService.mm:
(WebKit::VirtualService::startDiscoveryInternal):
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:
(WebKit::WebAuthenticatorCoordinatorProxy::handleRequest):
- 9:59 PM Changeset in webkit [292592] by
-
- 6 edits in trunk
[CSS Container Queries] Evaluate against shadow-including ancestors
https://bugs.webkit.org/show_bug.cgi?id=238934
Reviewed by Tim Nguyen.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/container-for-shadow-dom-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-for-shadow-dom.html:
Add declarative shadow DOM polyfill.
Source/WebCore:
"Style rules applying to its shadow-including descendants can then be conditioned by querying against it,
using the @container conditional group rule."
https://drafts.csswg.org/css-contain-3/#container-queries
- style/ContainerQueryEvaluator.cpp:
(WebCore::Style::ContainerQueryEvaluator::selectContainer):
Evaluate against shadow-including ancestors instead of flat tree ancestors if the cache is not available.
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::Scope::Scope):
Copy the container state when pushing scope. This also creates a stack of shadow-including ancestors.
- style/StyleTreeResolver.h:
- 9:09 PM Changeset in webkit [292591] by
-
- 35 edits in trunk
[XCBuild] Enable dependency validation by default
https://bugs.webkit.org/show_bug.cgi?id=238901
<rdar://problem/91379968>
Reviewed by Alexey Proskuryakov.
.:
Set VALIDATE_DEPENDENCIES=YES_ERROR everywhere, so that builds fail
when task outputs are missing.
The only interesting detail is that we need to set an extended
attribute on the user's build directory in order for XCBuild to
validate dependencies _within_ that directory. Since a users' build
directory may not be created by XCBuild, have build-webkit and
set-webkit-configuration set the attribute manually.
- Makefile.shared: Remove the VALIDATE_DEPENDENCIES opt-in logic.
Always call through to set-webkit-configuration, because that's where
we verify that CreatedByBuildSystem is set on the build directory.
Don't pass -EnableBuildDebugging=1; it's not actually needed to enable
dependency validation.
Source/bmalloc:
- Configurations/DebugRelease.xcconfig:
Source/JavaScriptCore:
- Configurations/DebugRelease.xcconfig:
Source/ThirdParty/ANGLE:
- Configurations/DebugRelease.xcconfig:
Source/ThirdParty/libwebrtc:
- Configurations/DebugRelease.xcconfig:
Source/WebCore:
- Configurations/DebugRelease.xcconfig:
Source/WebCore/PAL:
- Configurations/DebugRelease.xcconfig:
Source/WebGPU:
- Configurations/DebugRelease.xcconfig:
Source/WebInspectorUI:
- Configurations/DebugRelease.xcconfig:
Source/WebKit:
- Configurations/DebugRelease.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/DebugRelease.xcconfig:
Source/WTF:
- Configurations/DebugRelease.xcconfig:
Tools:
- DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
- ImageDiff/cg/Configurations/DebugRelease.xcconfig:
- MiniBrowser/Configurations/DebugRelease.xcconfig:
- MobileMiniBrowser/Configurations/DebugRelease.xcconfig:
- Scripts/build-webkit:
- Scripts/set-webkit-configuration: When run with no arguments, checks
the base product directory, prints the configuration, and exits.
Recognizes -h and --help flags to show usage.
- Scripts/webkitdirs.pm:
(markBaseProductDirectoryAsCreatedByXcodeBuildSystem): New name of
setCreatedByXcodeBuildSystem.
(setCreatedByXcodeBuildSystem): Renamed.
- TestWebKitAPI/Configurations/DebugRelease.xcconfig:
- WebKitTestRunner/Configurations/DebugRelease.xcconfig:
- lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig:
- 9:06 PM Changeset in webkit [292590] by
-
- 2 edits in trunk/Source/WebKit
[WinCairo] Fix DrawingAreaWC after r292557
https://bugs.webkit.org/show_bug.cgi?id=238979
Unreviewed build fix
- WebProcess/WebPage/wc/DrawingAreaWC.cpp:
- 8:46 PM Changeset in webkit [292589] by
-
- 2 edits in trunk/Source/WebKit
Fix the CG_DISPLAY_LIST_BACKED_IMAGE_BUFFER build (again)
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::ensureFrontBuffer):
- 7:30 PM Changeset in webkit [292588] by
-
- 24 edits in trunk/Source
Add PAL::TextEncoding() constructor that takes in a StringView
https://bugs.webkit.org/show_bug.cgi?id=238905
Reviewed by Darin Adler.
This allows some call sites to be a bit more efficient.
Source/WebCore:
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::create):
- fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::setEncoding):
- fileapi/FileReaderLoader.h:
- html/parser/HTMLMetaCharsetParser.cpp:
(WebCore::HTMLMetaCharsetParser::encodingFromMetaAttributes):
- loader/FormSubmission.cpp:
(WebCore::encodingFromAcceptCharset):
- loader/soup/ResourceLoaderSoup.cpp:
(WebCore::ResourceLoader::loadGResource):
- platform/network/HTTPParsers.cpp:
(WebCore::extractCharsetFromMediaType):
- platform/network/HTTPParsers.h:
- platform/network/curl/CurlCacheEntry.cpp:
(WebCore::CurlCacheEntry::setResponseFromCachedHeaders):
- platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::handleDataURL):
- platform/network/curl/ResourceResponseCurl.cpp:
(WebCore::ResourceResponse::ResourceResponse):
- platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::ResourceResponse):
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::finalResponseCharset const):
(WebCore::XMLHttpRequest::didReceiveData):
Source/WebCore/PAL:
- pal/text/TextEncoding.cpp:
(PAL::TextEncoding::TextEncoding):
- pal/text/TextEncoding.h:
(PAL::TextEncoding::TextEncoding):
- pal/text/TextEncodingRegistry.cpp:
(PAL::atomCanonicalTextEncodingName):
- pal/text/TextEncodingRegistry.h:
Source/WebKit:
- NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::didRequestNextPart):
(WebKit::NetworkDataTaskSoup::didGetFileInfo):
- UIProcess/API/glib/WebKitURISchemeRequest.cpp:
(webkitURISchemeRequestReadCallback):
- 7:21 PM Changeset in webkit [292587] by
-
- 32 edits in trunk
Replace deprecated String(const char*) with String::fromLatin1() in more places
https://bugs.webkit.org/show_bug.cgi?id=238925
Reviewed by Darin Adler.
Source/WebKit:
- NetworkProcess/DatabaseUtilities.cpp:
(WebKit::DatabaseUtilities::stripIndexQueryToMatchStoredValue):
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::dumpContentsToFile):
- Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.cpp.erb:
- Scripts/PreferencesTemplates/WebPreferencesInternalDebugFeatures.cpp.erb:
- Scripts/PreferencesTemplates/WebPreferencesStoreDefaultsMap.cpp.erb:
- Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeObject):
- Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
(-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
- Shared/Cocoa/SandboxExtensionCocoa.mm:
(WebKit::SandboxExtension::createHandleForTemporaryFile):
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.mm:
(WebKit::XPCServiceInitializerDelegate::getClientBundleIdentifier):
(WebKit::XPCServiceInitializerDelegate::getClientProcessName):
(WebKit::XPCServiceInitializerDelegate::getExtraInitializationData):
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceMain):
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(+[_WKWebAuthenticationPanel getAllLocalAuthenticatorCredentials]):
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::showSafeBrowsingWarning):
- UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm:
(WebKit::ProcessLauncher::launchProcess):
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticator::clearAllCredentials):
- UIProcess/WebAuthentication/Cocoa/LocalConnection.mm:
(WebKit::LocalConnection::createCredentialPrivateKey const):
- UIProcess/WebPageProxy.cpp:
(WebKit::pasteAccessCategoryForCommand):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::didReceiveInvalidMessage):
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::pluginInfo):
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::replaceSelectionPasteboardName):
- WebProcess/WebPage/IPCTestingAPI.cpp:
(WebKit::IPCTestingAPI::createJSArrayForArgumentDescriptions):
(WebKit::IPCTestingAPI::JSMessageListener::jsDescriptionFromDecoder):
- webpushd/WebPushDaemonMain.mm:
(WebKit::WebPushDaemonMain):
Source/WebKitLegacy/mac:
- History/HistoryPropertyList.mm:
(HistoryPropertyListWriter::HistoryPropertyListWriter):
- WebView/WebHTMLView.mm:
(-[WebHTMLView coreCommandByName:]):
Tools:
- DumpRenderTree/TestRunner.cpp:
(TestRunner::setAccummulateLogsForChannel):
- DumpRenderTree/mac/DumpRenderTree.mm:
(handleControlCommand):
(changeWindowScaleIfNeeded):
(resetWebViewToConsistentState):
- TestWebKitAPI/Tests/WebCore/CBORReaderTest.cpp:
(TestWebKitAPI::TEST):
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::waitForPostDumpWatchdogTimerFired):
- WebKitTestRunner/cocoa/CrashReporterInfo.mm:
(WTR::testPathFromURL):
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaPlatformInitialize):
(WTR::TestController::cocoaResetStateToConsistentValues):
- 6:35 PM Changeset in webkit [292586] by
-
- 3 edits in trunk/Source/WTF
Move long-enabled preferences away from experimental
https://bugs.webkit.org/show_bug.cgi?id=238929
Reviewed by Tim Horton.
This only moves things which have a simple
default: true
and
have since Safari 15's release; there are likely other things
which could be moved.
It does, however, leave GoogleAntiFlickerOptimizationQuirkEnabled
as an experimental feature, as this seems something it is more
likely a developer may wish to toggle.
- Scripts/Preferences/WebPreferences.yaml:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 6:03 PM Changeset in webkit [292585] by
-
- 4 edits in trunk/Source/WebCore
When using a TrackDisplayUpdateScope queue updateActiveTextTrackCues as a task
https://bugs.webkit.org/show_bug.cgi?id=238963
Reviewed by Eric Carlson.
The HTMLMediaElement::didRemoveTextTrack call is done under ScriptDisallowedScope but this path
currently can call updateActiveTextTrackCues which could result in updating the layout downstream.
To resolve this we execute updateActiveTextTrackCues under a queueCancellableTaskKeepingObjectAlive call.
We also add a needed check in RenderVTTCue::initializeLayoutParameters exposed by queueing the task.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::endIgnoringTrackDisplayUpdateRequests):
(WebCore::HTMLMediaElement::cancelPendingTasks):
- html/HTMLMediaElement.h:
- rendering/RenderVTTCue.cpp:
(WebCore::RenderVTTCue::initializeLayoutParameters):
- 5:51 PM Changeset in webkit [292584] by
-
- 2 edits in trunk/Tools
REGRESSION(r292109): [GTK][WPE] generate-bundle: Don't try to use the interpreter prefix when not bundling all.
https://bugs.webkit.org/show_bug.cgi?id=237107
For bundles of type --syslibs=generate-install-script we should
not try to prefix the executable with the interpreter.
Add a missing check to ensure that the interpreter has been copied
into the bundle before trying to use it.
Unreviewed follow-up fix.
- Scripts/webkitpy/binary_bundling/bundle.py:
(BinaryBundler.generate_wrapper_script):
- 5:49 PM Changeset in webkit [292583] by
-
- 2 edits in trunk/Source/WebKit
Build-fix for not ENABLE(SERVICE_WORKER) after r292539
https://bugs.webkit.org/show_bug.cgi?id=238957
Unreviewed build fix.
- UIProcess/WebPageProxy.cpp:
- 5:47 PM Changeset in webkit [292582] by
-
- 6 edits in trunk
[:has() pseudo-class] Support invalidation for :indeterminate pseudo class on <progress>
https://bugs.webkit.org/show_bug.cgi?id=238923
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
- web-platform-tests/css/selectors/invalidation/input-pseudo-classes-in-has-expected.txt:
- web-platform-tests/css/selectors/invalidation/input-pseudo-classes-in-has.html:
Source/WebCore:
Test: imported/w3c/web-platform-tests/css/selectors/invalidation/input-pseudo-classes-in-has.html
- html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::HTMLProgressElement):
(WebCore::HTMLProgressElement::parseAttribute):
(WebCore::HTMLProgressElement::didAttachRenderers):
(WebCore::HTMLProgressElement::updateDeterminateState):
(WebCore::HTMLProgressElement::didElementStateChange):
(WebCore::HTMLProgressElement::isDeterminate const): Deleted.
- html/HTMLProgressElement.h:
- 5:08 PM Changeset in webkit [292581] by
-
- 3 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Merge r287147 - Rename forEachFrameFromMainFrame to forEachFrame
https://bugs.webkit.org/show_bug.cgi?id=234396
<rdar://problem/86581926>
Reviewed by Geoffrey Garen.
Follow-up to r287110: Switch method naming to match 'forEachDocument'.
- page/Page.cpp:
(WebCore::Page::~Page):
(WebCore::Page::notifyToInjectUserScripts):
(WebCore::Page::forEachFrame):
(WebCore::Page::forEachFrameFromMainFrame): Deleted.
- page/Page.h:
- 5:08 PM Changeset in webkit [292580] by
-
- 3 edits in releases/WebKitGTK/webkit-2.34
Merge r291791 - REGRESSION (r287807): WEBGL_multi_draw validation rejecting valid arguments
https://bugs.webkit.org/show_bug.cgi?id=238239
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-03-24
Reviewed by Darin Adler.
Source/WebCore:
Fix off-by-one error causing full buffer multidraws to be
marked as invalid.
Enable the newer WebGL conformance tests that test this.
- html/canvas/WebGLMultiDraw.cpp:
(WebCore::WebGLMultiDraw::validateOffset):
LayoutTests:
Enable the newer WebGL conformance tests that test this, marked
Slow as they take a while to run.
- 5:08 PM Changeset in webkit [292579] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Merge r287807 - [Hardening] Improve multi draw offset validation
https://bugs.webkit.org/show_bug.cgi?id=234966
<rdar://problem/86814830>
Reviewed by Darin Adler.
Incorporate draw count into validation of the offset.
- html/canvas/WebGLMultiDraw.cpp:
(WebCore::WebGLMultiDraw::validateOffset):
- 5:08 PM Changeset in webkit [292578] by
-
- 5 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Merge r288867 - Fix handling of access key events
https://bugs.webkit.org/show_bug.cgi?id=234147
<rdar://problem/86320218>
Reviewed by David Kilzer.
Improve focus handling for HTMLElement-based elements to ensure accessKey events
are properly dispatched.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::press): Ensure correct object is used after 'accessKeyAction'
is invoked.
- dom/EventDispatcher.cpp:
(WebCore::callDefaultEventHandlersInBubblingOrder) Protect element during default
event bubbling.
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::reportValidity): Ensure correct element is
used after focus event.
- page/EventHandler.cpp:
(WebCore::EventHandler::handleAccessKey): Ensure correct object is used after
'accessKeyAction' is invoked.
- 5:07 PM Changeset in webkit [292577] by
-
- 7 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Merge r287110 - Clean-up: Adopt Page::forEachDocument in some missed spots
https://bugs.webkit.org/show_bug.cgi?id=234324
<rdar://problem/85443831>
Reviewed by Darin Adler.
Switch manual loops to our 'forEachDocument' style in a few places that were missed
in earlier refactoring.
No change in behavior.
- history/BackForwardCache.cpp:
(WebCore::setBackForwardCacheState)
- page/EventHandler.cpp:
(WebCore::removeDraggedContentDocumentMarkersFromAllFramesInPage):
- page/Frame.cpp:
(WebCore::Frame::orientationChanged):
- page/Page.cpp:
(WebCore::Page::~Page):
(WebCore::Page::forEachDocumentFromMainFrame): Added.
(WebCore::Page::forEachDocument): Use new method.
(WebCore::Page::forEachFrameFromMainFrame): Added.
(WebCore::Page::windowScreenDidChange):
(WebCore::Page::userAgentChanged):
- page/ios/FrameIOS.mm:
(WebCore::Frame::dispatchPageHideEventBeforePause):
(WebCore::Frame::dispatchPageShowEventBeforeResume):
- 3:59 PM Changeset in webkit [292576] by
-
- 5 edits in trunk/Tools
[Merge-Queue] Add PushCommitToWebKitRepo
https://bugs.webkit.org/show_bug.cgi?id=238959
<rdar://problem/91443987>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/factories.py:
(MergeQueueFactory.init): Add PushCommitToWebKitRepo, pre-commit validation.
- Tools/CISupport/ews-build/factories_unittest.py:
(TestExpectedBuildSteps): Ditto.
- Tools/CISupport/ews-build/steps.py:
(PushCommitToWebKitRepo.evaluateCommand): Add merge-queue steps.
(PushCommitToWebKitRepo.getResultSummary): Remove identifier computation.
(PushCommitToWebKitRepo.svn_revision_from_commit_text):
(DetermineLandedIdentifier): Move code to determine identifier into a seperate step because
merge-queue has already computed the identifier.
(DetermineLandedIdentifier.init):
(DetermineLandedIdentifier.start): Capture log output of command.
(DetermineLandedIdentifier.getResultSummary):
(DetermineLandedIdentifier.evaluateCommand): Attempt to pull identifier from commit message,
otherwise, fall back to commits.webkit.org.
(DetermineLandedIdentifier.url_for_revision_details): Moved from PushCommitToWebKitRepo.
(DetermineLandedIdentifier.url_for_identifier): Ditto.
(DetermineLandedIdentifier.identifier_for_revision): Ditto.
(DetermineLandedIdentifier.comment_text_for_bug): Ditto.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/249414@main
- 3:56 PM Changeset in webkit [292575] by
-
- 17 edits in trunk/Source/WebCore
Unify reference box / CTM computation in RenderLayer
https://bugs.webkit.org/show_bug.cgi?id=237701
Reviewed by Rob Buis.
Extract the code in RenderLayer that computes the reference box, obtains the CTM,
applies pixel snapping, etc. into a shared updateTransformFromStyle() helper function.
Use that helper to de-duplicate code between updateTransform() / currentTransform()
(and RenderLayerBacking::updateTransform() in follow-up patches).
currentTransform() needs to compute the CTM, based on a non-default RenderStyle (!= renderer().style()),
namely the aninmatedStyle(), if an accelerated transform animation is running. Therefore extend
RenderLayerModelObject::applyTransform() to take an additional RenderStyle parameter,
that is used to access the CSS transform operations, instead of always querying renderer().style().
RenderLayer::updateTransform() continues to pass 'renderer().style()' to updateTransformFromStyle(),
whereas RenderLayer::currentTransform() passes the elements animatedStyle().
Covered by existing tests, no change in behaviour.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::applyTransform const):
- rendering/RenderBox.h:
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::applyTransform const):
- rendering/RenderBoxModelObject.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateTransformFromStyle const):
(WebCore::RenderLayer::updateTransform):
(WebCore::RenderLayer::currentTransform const):
- rendering/RenderLayer.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateTransform):
- rendering/RenderLayerModelObject.h:
- rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::applyTransform const): Deleted.
- rendering/svg/RenderSVGModelObject.h:
- rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::applyTransform const): Deleted.
- rendering/svg/RenderSVGRoot.h:
- rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::applyTransform const):
- rendering/svg/RenderSVGShape.h:
- rendering/svg/RenderSVGTransformableContainer.cpp:
(WebCore::RenderSVGTransformableContainer::applyTransform const):
- rendering/svg/RenderSVGTransformableContainer.h:
- 3:50 PM Changeset in webkit [292574] by
-
- 2 edits in trunk/Source/WebGPU
[WebGPU] Add support for the "is valid to use with" operation to WebGPU objects
https://bugs.webkit.org/show_bug.cgi?id=238719
Addressing post-review comment.
Unreviewed.
- WebGPU/IsValidToUseWith.h:
(WebGPU::isValidToUseWith):
(WebGPU::isValidToUseWith const): Deleted.
- 3:44 PM Changeset in webkit [292573] by
-
- 3 edits in trunk/Tools
[Merge-Queue] Canonicalize parent commits
https://bugs.webkit.org/show_bug.cgi?id=238951
<rdar://problem/91436607>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(Canonicalize.run): Canonicalize first 2 parent commits if not rebasing.
(Canonicalize.getResultSummary): Pluralize summary.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/249411@main
- 3:41 PM Changeset in webkit [292572] by
-
- 3 edits in trunk/Source/WebCore
Full screen video progress bar flickers after dragging it.
https://bugs.webkit.org/show_bug.cgi?id=238859
rdar://90412851
A WebAVPlayerController pretends to be an AVPlayerController by
implementing most methods of it, but not all.
When dragging the progress bar, AVKit calls the method isSeeking to
determine if we are seeking or not and if true will call seekToTime
to retrieve the last seek position and display the progress bar
accordingly.
Those two methods weren't implemented by WebAVPlayerController.
At present, we don't have information about the seeking operation having
completed or not, but we do know if we are scrubbing. So map isSeeking
to isScrubbing, this approximation is sufficient at present.
Reviewed by Jer Noble.
- platform/ios/WebAVPlayerController.h:
- platform/ios/WebAVPlayerController.mm:
(-[WebAVPlayerController seekToTime:]):
(-[WebAVPlayerController seekToTime:toleranceBefore:toleranceAfter:]):
(-[WebAVPlayerController isSeeking]):
(-[WebAVPlayerController seekToTime]):
- 3:38 PM Changeset in webkit [292571] by
-
- 2 edits in trunk/LayoutTests
[ iOS EWS ] css3/background/background-repeat-round-auto2.html is a image failure https://bugs.webkit.org/show_bug.cgi?id=238965 Unreviewed test gardening.
- 3:34 PM Changeset in webkit [292570] by
-
- 2 edits in trunk/LayoutTests/imported/w3c
REGRESSION(r291509): imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-video.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=238920
Reviewed by Cameron McCormack.
Fixed typo.
- web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-video.html:
- 2:55 PM Changeset in webkit [292569] by
-
- 7 edits in trunk/Source
Add a LayerBacking RenderingPurpose
https://bugs.webkit.org/show_bug.cgi?id=238896
Reviewed by Said Abou-Hallawa.
Add RenderingPurpose::LayerBacking so the GPU Process knows which buffers are
associated with layer backing.
Source/WebCore:
- platform/graphics/RenderingMode.h:
Source/WebKit:
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::allocateBufferForBackingStore):
- Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.mm:
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::allocateBufferForBackingStore):
- Shared/WebCoreArgumentCoders.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::shouldUseRemoteRenderingFor):
- 2:46 PM Changeset in webkit [292568] by
-
- 2 edits in trunk/LayoutTests
[ iOS EWS ] fast/attachment/attachment-disabled-rendering.html is a text missing failure https://bugs.webkit.org/show_bug.cgi?id=238960 Unreviewed test gardening. * platform/ios-wk2/TestExpectations:
- 2:44 PM Changeset in webkit [292567] by
-
- 43 edits in trunk/Source/WebGPU
[WebGPU] Give objects a notion of invalidity
https://bugs.webkit.org/show_bug.cgi?id=238720
Reviewed by Kimmo Kinnunen.
This is the biggest blocker for running the WebGPU conformance test suite. WebGPU is designed
such that creation routines don't return undefined if the object couldn't be created; instead,
in "invalid" object is returned. This patch is a step on the path to making creation routines
never return nullptr.
Some objects have destroy() methods which makes the object invalid. Those will be implemented
in a forthcoming patch.
- WebGPU/Adapter.h:
(WebGPU::Adapter::createInvalid):
(WebGPU::Adapter::isValid const):
- WebGPU/Adapter.mm:
(WebGPU::Adapter::Adapter):
- WebGPU/BindGroup.h:
(WebGPU::BindGroup::createInvalid):
(WebGPU::BindGroup::isValid const):
- WebGPU/BindGroup.mm:
(WebGPU::BindGroup::BindGroup):
- WebGPU/BindGroupLayout.h:
(WebGPU::BindGroupLayout::createInvalid):
(WebGPU::BindGroupLayout::isValid const):
- WebGPU/BindGroupLayout.mm:
(WebGPU::BindGroupLayout::BindGroupLayout):
- WebGPU/Buffer.h:
(WebGPU::Buffer::createInvalid):
(WebGPU::Buffer::isValid const):
- WebGPU/Buffer.mm:
(WebGPU::Buffer::Buffer):
- WebGPU/CommandBuffer.h:
(WebGPU::CommandBuffer::createInvalid):
(WebGPU::CommandBuffer::isValid const):
- WebGPU/CommandBuffer.mm:
(WebGPU::CommandBuffer::CommandBuffer):
- WebGPU/CommandEncoder.h:
(WebGPU::CommandEncoder::createInvalid):
(WebGPU::CommandEncoder::isValid const):
- WebGPU/CommandEncoder.mm:
(WebGPU::CommandEncoder::CommandEncoder):
- WebGPU/ComputePassEncoder.h:
(WebGPU::ComputePassEncoder::createInvalid):
(WebGPU::ComputePassEncoder::isValid const):
- WebGPU/ComputePassEncoder.mm:
(WebGPU::ComputePassEncoder::ComputePassEncoder):
- WebGPU/ComputePipeline.h:
(WebGPU::ComputePipeline::createInvalid):
(WebGPU::ComputePipeline::isValid const):
- WebGPU/ComputePipeline.mm:
(WebGPU::ComputePipeline::ComputePipeline):
- WebGPU/Device.h:
(WebGPU::Device::createInvalid):
(WebGPU::Device::isValid const):
- WebGPU/Device.mm:
(WebGPU::Device::Device):
- WebGPU/Instance.h:
(WebGPU::Instance::createInvalid):
(WebGPU::Instance::isValid const):
- WebGPU/Instance.mm:
(WebGPU::Instance::Instance):
(WebGPU::m_isValid):
- WebGPU/PipelineLayout.h:
(WebGPU::PipelineLayout::createInvalid):
(WebGPU::PipelineLayout::isValid const):
- WebGPU/PipelineLayout.mm:
(WebGPU::PipelineLayout::PipelineLayout):
- WebGPU/QuerySet.h:
(WebGPU::QuerySet::createInvalid):
(WebGPU::QuerySet::isValid const):
- WebGPU/QuerySet.mm:
(WebGPU::QuerySet::QuerySet):
- WebGPU/Queue.h:
(WebGPU::Queue::createInvalid):
(WebGPU::Queue::isValid const):
- WebGPU/Queue.mm:
(WebGPU::Queue::Queue):
- WebGPU/RenderBundle.h:
(WebGPU::RenderBundle::createInvalid):
(WebGPU::RenderBundle::isValid const):
- WebGPU/RenderBundle.mm:
(WebGPU::RenderBundle::RenderBundle):
- WebGPU/RenderBundleEncoder.h:
(WebGPU::RenderBundleEncoder::createInvalid):
(WebGPU::RenderBundleEncoder::isValid const):
- WebGPU/RenderBundleEncoder.mm:
(WebGPU::RenderBundleEncoder::RenderBundleEncoder):
- WebGPU/RenderPassEncoder.h:
(WebGPU::RenderPassEncoder::createInvalid):
(WebGPU::RenderPassEncoder::isValid const):
- WebGPU/RenderPassEncoder.mm:
(WebGPU::RenderPassEncoder::RenderPassEncoder):
- WebGPU/RenderPipeline.h:
(WebGPU::RenderPipeline::createInvalid):
(WebGPU::RenderPipeline::isValid const):
- WebGPU/RenderPipeline.mm:
(WebGPU::RenderPipeline::RenderPipeline):
- WebGPU/Sampler.h:
(WebGPU::Sampler::createInvalid):
(WebGPU::Sampler::isValid const):
- WebGPU/Sampler.mm:
(WebGPU::Sampler::Sampler):
- WebGPU/ShaderModule.h:
(WebGPU::ShaderModule::createInvalid):
(WebGPU::ShaderModule::isValid const):
- WebGPU/ShaderModule.mm:
(WebGPU::ShaderModule::convertCheckResult):
(WebGPU::ShaderModule::ShaderModule):
(WebGPU::ShaderModule::getCompilationInfo):
(WebGPU::ShaderModule::ast const):
- WebGPU/Texture.h:
(WebGPU::Texture::createInvalid):
(WebGPU::Texture::isValid const):
- WebGPU/Texture.mm:
(WebGPU::Texture::Texture):
- WebGPU/TextureView.h:
(WebGPU::TextureView::createInvalid):
(WebGPU::TextureView::isValid const):
- WebGPU/TextureView.mm:
(WebGPU::TextureView::TextureView):
- 2:15 PM Changeset in webkit [292566] by
-
- 7 edits in trunk/LayoutTests
[GPU Process] Test failures in forms
https://bugs.webkit.org/show_bug.cgi?id=236927
<rdar://problem/89196867>
Unreviewed, fix test failures and adjust related expectations.
- fast/forms/autofocus-readonly-attribute.html:
This test appeared to be failing because it ended before the
"focus"
event had a chance
to fire. Make the test async by delaying its completion until after arequestAnimationFrame
which should be enough time for the"focus"
event to be dispatched (and handled).
- fast/forms/input-text-autofocus.html:
- fast/forms/input-text-autofocus-expected.txt:
Slightly rework this test to manually tell the
testRunner
towaitUntilDone
, as for some
reason thejs-test-{pre,post}
test harness seems to somehow not output thePASS
messages
while still finishing the test (i.e. not a timeout).
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/ipad/TestExpectations:
Remove non-skipped expectations for:
- fast/forms/ios/choose-select-option.html
- fast/forms/autofocus-readonly-attribute.html
- fast/forms/input-text-autofocus.html
Note that
fast/forms/ios/choose-select-option.html
is still skipped on iPad, because there
is already aplatform/ipad/fast/forms/choose-select-option.html
specifically to test iPad.
- 2:05 PM Changeset in webkit [292565] by
-
- 2 edits in trunk/Source/WebKit
[iOS][WP] Block kernel routines
https://bugs.webkit.org/show_bug.cgi?id=238898
Reviewed by Geoffrey Garen.
Block kernel routines only used during launch of the WebContent process on iOS. This is based on collected telemetry.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- 2:03 PM Changeset in webkit [292564] by
-
- 10 edits2 adds in trunk
AX ITM: ARIATreeItemContent, ARIATreeRows, and DisclosedRows properties need to be updated after dynamic page changes
https://bugs.webkit.org/show_bug.cgi?id=238844
Reviewed by Chris Fleizach.
Source/WebCore:
Before this patch, we never updated these properties after
initializing isolated objects, so they become inaccurate
when content / rows were added or removed.
Test: accessibility/mac/tree-properties-update-after-dynamic-change.html
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::ariaTreeItemContent):
Make this function return a value instead of by out-parameter.
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityObjectInterface.h:
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateNodeProperty):
Handle updates to AXPropertyName::ARIATreeItemContent, AXPropertyName::ARIATreeRows, and
AXPropertyName::DisclosedRows. Also, updateNodeProperty now
takes anAXCoreObject&
instead ofconst AXCoreObject&
since calling ariaTreeItemContent(), ariaTreeRows(), and disclosedRows() is inherently not const.
(WebCore::AXIsolatedTree::updateChildren):
If the object being updated is a treeitem, also update AXPropertyName::ARIATreeItemContent
and AXPropertyName::DisclosedRows. And if the object has a tree role ancestor, update
AXPropertyName::ARIATreeRows for that ancestor.
- accessibility/isolatedtree/AXIsolatedTree.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
LayoutTests:
- accessibility/mac/tree-properties-update-after-dynamic-change-expected.txt: Added.
- accessibility/mac/tree-properties-update-after-dynamic-change.html: Added.
- 1:58 PM Changeset in webkit [292563] by
-
- 4 edits in trunk/Source/WebCore
(Safari 15 - iOS15): Increased audio latency on streaming via webrtc
https://bugs.webkit.org/show_bug.cgi?id=236363
<rdar://problem/88969850>
Reviewed by Eric Carlson.
On macOS 12.3, the default preferred buffer size is roughly 100 ms.
This is ok for regular audio playback but is not desirable when playing realtime audio.
To reduce the perceived latency, we now reduce the preferred buffer size to 20ms
whenever playing an audio MediaStreamTrack, similarly to when capturing audio.
Manually tested.
- platform/audio/PlatformMediaSession.cpp:
- platform/audio/PlatformMediaSession.h:
- platform/audio/cocoa/MediaSessionManagerCocoa.mm:
- 1:36 PM Changeset in webkit [292562] by
-
- 5 edits in trunk/LayoutTests
Unreviewed test gardening.
- imported/blink/fast/multicol/vertical-lr/float-content-break-expected.html:
.html is rendered using the legacy codepath while -expected.html is renderer using the modern codepath.
In case of fractional pixel values, they sometimes produce different final baselines due to (unintentional) implicit flooring in legacy line layout.
While most of these intentional/unintentional floors/ceils are matched (with FIXMEs) in the modern line layout, some would make the line layout
codebase a lot more complicated. These type of bugs are mostly not visible to the user anyway ever since we have stopped swapping between modern
and legacy line layout dynamically (e.g. on selection).
- imported/blink/fast/multicol/vertical-lr/float-content-break.html:
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
- 1:32 PM Changeset in webkit [292561] by
-
- 2 edits in trunk/Source/WebCore
[web-animations] REGRESSION (r287881): loading performance for diply.com regressed
https://bugs.webkit.org/show_bug.cgi?id=238931
rdar://91190007
Reviewed by Simon Fraser.
We only need to resolve effects in the stack if they are targeting the property we are
considering for the creation, update or removal of a CSS Transition.
- style/Styleable.cpp:
(WebCore::updateCSSTransitionsForStyleableAndProperty):
- 1:28 PM Changeset in webkit [292560] by
-
- 2 edits in trunk/Source/WebCore
Iterate over copy of animated properties in WebCore::WebAnimation::commitStyles
https://bugs.webkit.org/show_bug.cgi?id=238940
Reviewed by Antoine Quint.
WebAnimation::resolve can end up clearing the animated properties during iteration.
The proposal here will make a copy of the properties before applying the steps
outlined in the spec.
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::commitStyles):
- 1:26 PM Changeset in webkit [292559] by
-
- 9 edits12 adds in trunk
[CSS resize property] Correct minimum size computation to allow resizing below initial size
https://bugs.webkit.org/show_bug.cgi?id=135335
Reviewed by Simon Fraser.
Source/WebCore:
Tests:
- LayoutTests/fast/css/resize-above-min-size-and-below-initial-size.html
- LayoutTests/fast/css/resize-below-min-intrinsic-size.html
- LayoutTests/fast/css/resize-below-min-intrinsic-size-large-scrollbars.html
- LayoutTests/fast/css/resize-below-min-size-zoomed.html
- LayoutTests/fast/css/resize-below-min-size.html
- LayoutTests/fast/css/resize-orthogonal-containing-block.html
Ports the relevant Chromium changeset with a few tweaks: https://chromium-review.googlesource.com/c/chromium/src/+/545395/
The previous minimum size used to be whatever size was there before the first resize, which is wrong, and does not allow
resizing below the initial size. It is now based on the min-width/height properties and the scroll corner size.
It is no longer stored in ElementRareData since it is no longer fixed to the initial element size, but depends on the container
on the element style.
- dom/Element.cpp:
(WebCore::Element::minimumSizeForResizing const): Deleted.
(WebCore::Element::setMinimumSizeForResizing): Deleted.
- dom/Element.h:
- dom/ElementRareData.cpp:
- dom/ElementRareData.h:
(WebCore::ElementRareData::useTypes const):
(WebCore::ElementRareData::ElementRareData):
(WebCore::defaultMinimumSizeForResizing): Deleted.
(WebCore::ElementRareData::minimumSizeForResizing const): Deleted.
(WebCore::ElementRareData::setMinimumSizeForResizing): Deleted.
- dom/NodeRareData.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::minimumSizeForResizing const):
(WebCore::RenderLayer::resize):
- rendering/RenderLayer.h:
LayoutTests:
Tests ported from the Chromium changeset: https://chromium-review.googlesource.com/c/chromium/src/+/545395/
They've been tweaked to:
- not rely on <textarea>
- use WPT harness instead of Chrome specific methods
- use async functions instead of callbacks
- fast/css/resize-above-min-size-and-below-initial-size-expected.txt: Added.
- fast/css/resize-above-min-size-and-below-initial-size.html: Added.
- fast/css/resize-below-min-intrinsic-size-large-scrollbars-expected.txt: Added.
- fast/css/resize-below-min-intrinsic-size-large-scrollbars.html: Added.
- fast/css/resize-below-min-intrinsic-size-expected.txt: Added.
- fast/css/resize-below-min-intrinsic-size.html: Added.
- fast/css/resize-below-min-size-expected.txt: Added.
- fast/css/resize-below-min-size-zoomed-expected.txt: Added.
- fast/css/resize-below-min-size-zoomed.html: Added.
- fast/css/resize-below-min-size.html: Added.
- fast/css/resize-orthogonal-containing-block-expected.txt: Added.
- fast/css/resize-orthogonal-containing-block.html: Added.
- 1:22 PM Changeset in webkit [292558] by
-
- 39 edits1 copy in trunk/Source/WebGPU
[WebGPU] Add support for the "is valid to use with" operation to WebGPU objects
https://bugs.webkit.org/show_bug.cgi?id=238719
Reviewed by Kimmo Kinnunen.
The spec also has the representation of this base class, named GPUObjectBase, which supports
the setting of labels. However, in our WebGPU implementation, all objects implement labels
differently, so that handling isn't present.
- WebGPU.xcodeproj/project.pbxproj:
- WebGPU/Adapter.h:
- WebGPU/BindGroup.h:
(WebGPU::BindGroup::create):
- WebGPU/BindGroup.mm:
(WebGPU::Device::createBindGroup):
(WebGPU::BindGroup::BindGroup):
- WebGPU/BindGroupLayout.h:
(WebGPU::BindGroupLayout::create):
- WebGPU/BindGroupLayout.mm:
(WebGPU::Device::createBindGroupLayout):
(WebGPU::BindGroupLayout::BindGroupLayout):
- WebGPU/Buffer.h:
- WebGPU/Buffer.mm:
(WebGPU::Buffer::Buffer):
- WebGPU/CommandBuffer.h:
(WebGPU::CommandBuffer::create):
- WebGPU/CommandBuffer.mm:
(WebGPU::CommandBuffer::CommandBuffer):
- WebGPU/CommandEncoder.h:
- WebGPU/CommandEncoder.mm:
(WebGPU::CommandEncoder::CommandEncoder):
(WebGPU::CommandEncoder::beginComputePass):
(WebGPU::CommandEncoder::beginRenderPass):
(WebGPU::CommandEncoder::finish):
- WebGPU/CommandsMixin.h:
- WebGPU/ComputePassEncoder.h:
(WebGPU::ComputePassEncoder::create):
- WebGPU/ComputePassEncoder.mm:
(WebGPU::ComputePassEncoder::ComputePassEncoder):
- WebGPU/ComputePipeline.h:
(WebGPU::ComputePipeline::create):
- WebGPU/ComputePipeline.mm:
(WebGPU::Device::createComputePipeline):
(WebGPU::ComputePipeline::ComputePipeline):
- WebGPU/Device.h:
- WebGPU/Instance.h:
- WebGPU/IsValidToUseWith.h: Copied from Source/WebGPU/WebGPU/CommandsMixin.h.
(WebGPU::ObjectBase::ObjectBase):
- WebGPU/PipelineLayout.h:
(WebGPU::PipelineLayout::create):
- WebGPU/PipelineLayout.mm:
(WebGPU::Device::createPipelineLayout):
(WebGPU::PipelineLayout::PipelineLayout):
- WebGPU/QuerySet.h:
(WebGPU::QuerySet::create):
- WebGPU/QuerySet.mm:
(WebGPU::Device::createQuerySet):
(WebGPU::QuerySet::QuerySet):
- WebGPU/Queue.h:
- WebGPU/RenderBundle.h:
(WebGPU::RenderBundle::create):
- WebGPU/RenderBundle.mm:
(WebGPU::RenderBundle::RenderBundle):
- WebGPU/RenderBundleEncoder.h:
(WebGPU::RenderBundleEncoder::create):
- WebGPU/RenderBundleEncoder.mm:
(WebGPU::Device::createRenderBundleEncoder):
(WebGPU::RenderBundleEncoder::RenderBundleEncoder):
(WebGPU::RenderBundleEncoder::finish):
- WebGPU/RenderPassEncoder.h:
(WebGPU::RenderPassEncoder::create):
- WebGPU/RenderPassEncoder.mm:
(WebGPU::RenderPassEncoder::RenderPassEncoder):
- WebGPU/RenderPipeline.h:
(WebGPU::RenderPipeline::create):
- WebGPU/RenderPipeline.mm:
(WebGPU::Device::createRenderPipeline):
(WebGPU::RenderPipeline::RenderPipeline):
- WebGPU/Sampler.h:
- WebGPU/Sampler.mm:
(WebGPU::Sampler::Sampler):
- WebGPU/ShaderModule.h:
(WebGPU::ShaderModule::create):
- WebGPU/ShaderModule.mm:
(WebGPU::earlyCompileShaderModule):
(WebGPU::Device::createShaderModule):
(WebGPU::ShaderModule::ShaderModule):
- WebGPU/Texture.h:
- WebGPU/Texture.mm:
(WebGPU::Texture::Texture):
(WebGPU::Texture::createView):
- WebGPU/TextureView.h:
(WebGPU::TextureView::create):
- WebGPU/TextureView.mm:
(WebGPU::TextureView::TextureView):
- 1:13 PM Changeset in webkit [292557] by
-
- 23 edits in trunk/Source
Have ImageBuffer store the RenderingPurpose, and send it to the GPU process
https://bugs.webkit.org/show_bug.cgi?id=238887
Reviewed by Said Abou-Hallawa.
Source/WebCore:
Add RenderingPurpose to ImageBufferBackend::Parameters so it's stored on ImageBufferBackend/ImageBuffer,
and propagate that to the GPU process.
- platform/graphics/ConcreteImageBuffer.h:
(WebCore::ConcreteImageBuffer::create):
- platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::create):
- platform/graphics/ImageBuffer.h:
- platform/graphics/ImageBufferBackend.h:
(WebCore::ImageBufferBackend::renderingPurpose const):
- platform/graphics/PlatformImageBuffer.h:
- platform/graphics/coreimage/FilterImageCoreImage.mm:
(WebCore::FilterImage::imageBufferFromCIImage):
- platform/graphics/displaylists/DisplayListImageBuffer.h:
Source/WebKit:
Add RenderingPurpose to ImageBufferBackend::Parameters so it's stored on ImageBufferBackend/ImageBuffer,
and propagate that to the GPU process.
- GPUProcess/graphics/RemoteImageBuffer.h:
(WebKit::RemoteImageBuffer::create):
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::createImageBuffer):
(WebKit::RemoteRenderingBackend::createImageBufferWithQualifiedIdentifier):
- GPUProcess/graphics/RemoteRenderingBackend.h:
- GPUProcess/graphics/RemoteRenderingBackend.messages.in:
- Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
(headers_for_type):
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::allocateBufferForBackingStore):
- Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.mm:
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::allocateBufferForBackingStore):
- Shared/WebCoreArgumentCoders.h:
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::createImageBuffer const):
- WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
(WebKit::RemoteImageBufferProxy::create):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::createRemoteImageBuffer):
(WebKit::RemoteRenderingBackendProxy::createImageBuffer):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createImageBuffer const):
- 12:59 PM Changeset in webkit [292556] by
-
- 3 edits in trunk/Tools
[Merge-Queue] Change label names
https://bugs.webkit.org/show_bug.cgi?id=238950
<rdar://problem/91435211>
Reviewed by Ryan Haddad.
- CISupport/ews-build/events.py:
(GitHubEventHandlerNoEdits): Use "unsafe-merge-queue" instead of "fast-merge-queue".
- CISupport/ews-build/steps.py:
(GitHubMixin): Ditto.
(GitHubMixin._is_pr_in_merge_queue): Ditto.
(BlockPullRequest.start): Ditto.
(RemoveLabelsFromPullRequest): Ditto.
Canonical link: https://commits.webkit.org/249394@main
- 12:55 PM Changeset in webkit [292555] by
-
- 3 edits in trunk/Tools
[Merge-Queue] Add step to close pull request
https://bugs.webkit.org/show_bug.cgi?id=238949
<rdar://problem/91434587>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(GitHubMixin.close_pr): Make POST request to close PR.
(ClosePullRequest):
(ClosePullRequest.start): Ensure PR we're operating on is closed.
(ClosePullRequest.getResultSummary):
(ClosePullRequest.doStepIf): Only do step if operating on a PR.
(ClosePullRequest.hideStepIf): Hide step if skipping.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/249393@main
- 12:42 PM Changeset in webkit [292554] by
-
- 14 edits in trunk/Source/WebGPU
[WebGPU] Delete redundant spec quotes
https://bugs.webkit.org/show_bug.cgi?id=238711
Reviewed by Kimmo Kinnunen.
I actually prefer to have lots and lots of spec quotes throughout the implementation,
but enough people have commented about it that it's become clear that we probably
shouldn't have them. This deletes almost all of them (and leaves just the ones that
are particularly insightful).
- WebGPU/Buffer.h:
- WebGPU/Buffer.mm:
(WebGPU::validateDescriptor):
(WebGPU::validateCreateBuffer):
(WebGPU::Device::createBuffer):
(WebGPU::Buffer::destroy):
(WebGPU::Buffer::validateGetMappedRange const):
(WebGPU::Buffer::getMappedRange):
(WebGPU::Buffer::validateMapAsync const):
(WebGPU::Buffer::mapAsync):
(WebGPU::Buffer::validateUnmap const):
(WebGPU::Buffer::unmap):
- WebGPU/CommandEncoder.mm:
(WebGPU::validateCopyBufferToBuffer):
(WebGPU::CommandEncoder::copyBufferToBuffer):
(WebGPU::validateImageCopyBuffer):
(WebGPU::validateCopyBufferToTexture):
(WebGPU::CommandEncoder::copyBufferToTexture):
(WebGPU::validateCopyTextureToBuffer):
(WebGPU::CommandEncoder::copyTextureToBuffer):
(WebGPU::areCopyCompatible):
(WebGPU::validateCopyTextureToTexture):
(WebGPU::CommandEncoder::copyTextureToTexture):
(WebGPU::validateClearBuffer):
(WebGPU::CommandEncoder::clearBuffer):
(WebGPU::CommandEncoder::validateFinish const):
(WebGPU::CommandEncoder::finish):
(WebGPU::CommandEncoder::insertDebugMarker):
(WebGPU::CommandEncoder::validatePopDebugGroup const):
(WebGPU::CommandEncoder::popDebugGroup):
(WebGPU::CommandEncoder::pushDebugGroup):
- WebGPU/ComputePassEncoder.mm:
(WebGPU::ComputePassEncoder::insertDebugMarker):
(WebGPU::ComputePassEncoder::validatePopDebugGroup const):
(WebGPU::ComputePassEncoder::popDebugGroup):
(WebGPU::ComputePassEncoder::pushDebugGroup):
- WebGPU/Device.h:
- WebGPU/Device.mm:
(WebGPU::Device::currentErrorScope):
(WebGPU::Device::generateAValidationError):
(WebGPU::Device::validatePopErrorScope const):
(WebGPU::Device::popErrorScope):
(WebGPU::Device::pushErrorScope):
- WebGPU/Queue.mm:
(WebGPU::Queue::submit):
(WebGPU::validateWriteBufferInitial):
(WebGPU::Queue::validateWriteBuffer const):
(WebGPU::Queue::writeBuffer):
(WebGPU::validateWriteTexture):
(WebGPU::Queue::writeTexture):
- WebGPU/RenderBundleEncoder.mm:
(WebGPU::RenderBundleEncoder::insertDebugMarker):
(WebGPU::RenderBundleEncoder::validatePopDebugGroup const):
(WebGPU::RenderBundleEncoder::popDebugGroup):
(WebGPU::RenderBundleEncoder::pushDebugGroup):
- WebGPU/RenderPassEncoder.mm:
(WebGPU::RenderPassEncoder::insertDebugMarker):
(WebGPU::RenderPassEncoder::validatePopDebugGroup const):
(WebGPU::RenderPassEncoder::popDebugGroup):
(WebGPU::RenderPassEncoder::pushDebugGroup):
- WebGPU/Sampler.h:
(WebGPU::Sampler::descriptor const):
(WebGPU::Sampler::isComparison const):
- WebGPU/Sampler.mm:
(WebGPU::validateCreateSampler):
(WebGPU::Device::createSampler):
- WebGPU/Texture.h:
- WebGPU/Texture.mm:
(WebGPU::isCompressedFormat):
(WebGPU::Texture::isDepthOrStencilFormat):
(WebGPU::Texture::texelBlockWidth):
(WebGPU::Texture::texelBlockHeight):
(WebGPU::isRenderableFormat):
(WebGPU::supportsMultisampling):
(WebGPU::maximumMiplevelCount):
(WebGPU::Device::validateCreateTexture):
(WebGPU::Device::createTexture):
(WebGPU::Texture::resolveTextureViewDescriptorDefaults const):
(WebGPU::Texture::arrayLayerCount const):
(WebGPU::Texture::validateCreateView const):
(WebGPU::computeRenderExtent):
(WebGPU::Texture::createView):
(WebGPU::Texture::logicalMiplevelSpecificTextureExtent):
(WebGPU::Texture::physicalMiplevelSpecificTextureExtent):
(WebGPU::imageCopyTextureSubresourceSize):
(WebGPU::Texture::validateImageCopyTexture):
(WebGPU::Texture::validateTextureCopyRange):
(WebGPU::Texture::validateLinearTextureData):
- 12:40 PM Changeset in webkit [292553] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r292419): [ iOS EWS ] imported/w3c/web-platform-tests/css/selectors/invalidation/user-action-pseudo-classes-in-has.html is a flaky text failure https://bugs.webkit.org/show_bug.cgi?id=238954 Unreviewed test gardening. * platform/ios-wk2/TestExpectations:
- 12:19 PM Changeset in webkit [292552] by
-
- 5 edits in trunk/Source/WebGPU
[WebGPU] Implement Texture view format compatibility
https://bugs.webkit.org/show_bug.cgi?id=238710
Reviewed by Kimmo Kinnunen.
Right now, the definition of texture view format compatibility is narrow enough that we'll
never need to add MTLTextureUsagePixelFormatView to the usage of any textures. So, all we
have to do is validate.
Test: http/tests/webgpu/webgpu/api/validation/createTexture.html
- WebGPU/CommandEncoder.mm:
(WebGPU::areCopyCompatible):
(WebGPU::isSRGBCompatible): Deleted.
- WebGPU/Device.h:
- WebGPU/Texture.h:
(WebGPU::Texture::create):
- WebGPU/Texture.mm:
(WebGPU::Texture::removeSRGBSuffix):
(WebGPU::textureViewFormatCompatible):
(WebGPU::Device::validateCreateTexture):
(WebGPU::usage):
(WebGPU::Device::createTexture):
(WebGPU::Texture::Texture):
(WebGPU::Texture::validateCreateView const):
- 12:18 PM Changeset in webkit [292551] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r290770): [ Mac wk2 ] imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-050.html is a flaky text failure https://bugs.webkit.org/show_bug.cgi?id=238033 Unreviewed test gardening * platform/mac-wk2/TestExpectations:
- 11:59 AM Changeset in webkit [292550] by
-
- 2 edits in trunk/LayoutTests
REBASLINE: [ Monterey ] fast/text/khmer-lao-font.html is a constant text failure
Unreviewed test gardening
- platform/mac/TestExpectations:
- 11:24 AM Changeset in webkit [292549] by
-
- 3 edits in trunk/Tools
[Merge-Queue] Update head and base references in PR
https://bugs.webkit.org/show_bug.cgi?id=238942
<rdar://problem/91423818>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(GitHubMixin.update_pr): Pass head and base to POST request.
(UpdatePullRequest.evaluateCommand): Set head and base refs.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/249387@main
- 11:19 AM Changeset in webkit [292548] by
-
- 2 edits in trunk/LayoutTests
[ BigSur wk1 ] printing/css2.1/page-break-after-000.html is a flaky failure (231102)
https://bugs.webkit.org/show_bug.cgi?id=231102
<rdar://problem/83781666>
Unreviewed. Fixing expectations for a no-longer-flaky test.
- platform/mac-wk1/TestExpectations:
- 11:08 AM Changeset in webkit [292547] by
-
- 4 edits in trunk
[WebKitLegacy] Remove NPAPIPlugInsEnabledForTestingInWebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=238882
Reviewed by Tim Horton.
We have completely removed the NPAPI code and no longer run the tests. We no longer need this setting
and should remove it to reduce complexity and build time.
The specific skipped tests will be removed in a follow-up patch.
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
Tools:
- DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
- 10:37 AM Changeset in webkit [292546] by
-
- 2 edits in trunk/Tools
[Merge-Queue] Remove labels from pull request
https://bugs.webkit.org/show_bug.cgi?id=238909
<rdar://problem/91383048>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(RemoveLabelsFromPullRequest):
(RemoveLabelsFromPullRequest._addToLog):
(RemoveLabelsFromPullRequest.start): Remove active labels.
(RemoveLabelsFromPullRequest.getResultSummary):
(RemoveLabelsFromPullRequest.doStepIf): Only do step if pull request
number is defined.
(RemoveLabelsFromPullRequest.hideStepIf): Hide stip if step not executed.
Canonical link: https://commits.webkit.org/249384@main
- 10:28 AM Changeset in webkit [292545] by
-
- 2 edits in trunk/Tools
[Merge-Queue] Extract bug_id when updating pull-request (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=238772
<rdar://problem/91263398>
Unreviewed follow-up fix.
- Tools/CISupport/ews-build/steps.py:
(LeaveComment.start): Pass repository to GitHubMixin.comment_on_pr.
Canonical link: https://commits.webkit.org/249383@main
- 10:22 AM Changeset in webkit [292544] by
-
- 3 edits in trunk/Tools
[Merge-Queue] Update pull-request with landed content (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=238554
<rdar://problem/91047260>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(PushPullRequestBranch.start): Push canonicalized HEAD to remote branch.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/249381@main
- 10:22 AM Changeset in webkit [292543] by
-
- 4 edits2 adds in trunk
Adjust and refactor some UA styles and logic for injecting Live Text
https://bugs.webkit.org/show_bug.cgi?id=238912
rdar://91383570
Reviewed by Aditya Keerthi.
Source/WebCore:
Adjust various Live-Text-related UA styles for "text recognition blocks", along with other miscellaneous
adjustments:
- Compute and set the border radius, based on the font size and overall height of the block.
- Add horizontal/vertical padding to text recognition, computed relative to the border radius.
- Allow hyphenation in blocks.
- Only center-align text in blocks if there are fewer than 3 text runs in the block.
- Adjust box shadows, backdrop filter blur radius and line height.
- Specify a
line-height
, such thatline-height
from the host element doesn't erroneously apply to blocks. - Handle text recognition blocks with newline characters (\n) by injecting line break elements between text.
Test: fast/images/text-recognition/image-overlay-block-with-newlines.html
- dom/ImageOverlay.cpp:
(WebCore::ImageOverlay::updateSubtree):
(WebCore::ImageOverlay::fitElementToQuad):
(WebCore::ImageOverlay::updateWithTextRecognitionResult):
- html/shadow/imageOverlay.css:
(:host(:not(img)) div#image-overlay:-webkit-full-screen-document):
(div.image-overlay-block):
(div.image-overlay-line, .image-overlay-text, div.image-overlay-block):
(div.image-overlay-line, .image-overlay-text):
(.image-overlay-block):
LayoutTests:
Add a layout test to exercise "block"-style Live Text injection, in the case where the injected text contains
newlines. The resulting selected text should preserve the newline.
- fast/images/text-recognition/image-overlay-block-with-newlines-expected.txt: Added.
- fast/images/text-recognition/image-overlay-block-with-newlines.html: Added.
- 10:13 AM Changeset in webkit [292542] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, non-unified build fixes
https://bugs.webkit.org/show_bug.cgi?id=238933
- css/CSSToStyleMap.h: Forward declare Quad
- platform/graphics/filters/FilterEffectVector.h: Replace forward with
actual include for Ref.
- 10:06 AM Changeset in webkit [292541] by
-
- 2 edits in trunk/Source/WebCore
Remove redundant invalidateStyleForSubtree() calls
https://bugs.webkit.org/show_bug.cgi?id=238922
Reviewed by Antti Koivisto.
These calls were for :invalid/:valid validation, which now are invalidated using Style::PseudoClassChangeInvalidation.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::maxLengthAttributeChanged):
(WebCore::HTMLInputElement::minLengthAttributeChanged):
- 10:03 AM Changeset in webkit [292540] by
-
- 23 edits in trunk
[JSC][ARMv7] Support proper near calls and JUMP_ISLANDS
https://bugs.webkit.org/show_bug.cgi?id=238143
Patch by Geza Lore <Geza Lore> on 2022-04-07
Reviewed by Yusuke Suzuki.
JSTests:
- microbenchmarks/let-const-tdz-environment-parsing-and-hash-consing-speed.js:
Source/JavaScriptCore:
Implement nearCall and nearTailCall as single instruction direct
branches on ARMv7/Thumb-2. (Will need to support these for Wasm JITs,
to implement threadSafePatchableNearcall.) To make this possible while
also having an executable pool size larger than the branch range, I
also ported JUMP_ISLANDS.
To port JUMP_ISLANDS, a reformulation of the region allocations was
necessary, which is now done in terms of the range of the
nearCall/nearTailCall macroassembler macros. For ARM64, the behaviour
should be identical.
The jump islad reservation on ARMv7 is set to 5% of executable memory
size, which is approximately the same as the baseline JIT code size
saving provided by using short branches for near calls, so the change
should be neutral overall with respect to executable memory
consumption.
Also made it possible for the --jitMemoryReservationSize option to
request JIT memory that is larger than the default hardcoded size
while using JUMP_ISLANDS (we need this for testing on ARMv7, which has
a smaller default executable pool size). To do this the region
allocators are no longer statically allocated but are held in a
FixedVector.
Also removed the unused repatchCompact methods from assemblers.
- assembler/ARM64Assembler.h:
- assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::isEven):
(JSC::ARMv7Assembler::makeEven):
(JSC::ARMv7Assembler::bl):
(JSC::ARMv7Assembler::link):
(JSC::ARMv7Assembler::linkTailCall):
(JSC::ARMv7Assembler::linkCall):
(JSC::ARMv7Assembler::relinkCall):
(JSC::ARMv7Assembler::relinkTailCall):
(JSC::ARMv7Assembler::prepareForAtomicRelinkJumpConcurrently):
(JSC::ARMv7Assembler::prepareForAtomicRelinkCallConcurrently):
(JSC::ARMv7Assembler::replaceWithJump):
(JSC::ARMv7Assembler::canEmitJump):
(JSC::ARMv7Assembler::isBL):
(JSC::ARMv7Assembler::linkJumpT4):
(JSC::ARMv7Assembler::linkConditionalJumpT4):
(JSC::ARMv7Assembler::linkJumpAbsolute):
(JSC::ARMv7Assembler::linkBranch):
- assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::repatchNearCall):
- assembler/AssemblerCommon.h:
(JSC::isInt):
- assembler/MIPSAssembler.h:
- assembler/MacroAssemblerARM64.h:
- assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::nearCall):
(JSC::MacroAssemblerARMv7::nearTailCall):
(JSC::MacroAssemblerARMv7::linkCall):
- assembler/MacroAssemblerMIPS.h:
- assembler/MacroAssemblerRISCV64.h:
- assembler/MacroAssemblerX86Common.h:
- assembler/X86Assembler.h:
- bytecode/Repatch.cpp:
(JSC::linkPolymorphicCall):
- jit/ExecutableAllocator.cpp:
(JSC::initializeJITPageReservation):
Source/WTF:
Support constructor arguments for FixedVector element initialization.
- wtf/EmbeddedFixedVector.h:
- wtf/FixedVector.h:
(WTF::FixedVector::FixedVector):
- wtf/PlatformEnable.h:
- wtf/TrailingArray.h:
(WTF::TrailingArray::TrailingArray):
- wtf/Vector.h:
(WTF::VectorTypeOperations::initializeWithArgs):
- 9:10 AM Changeset in webkit [292539] by
-
- 8 edits in trunk
Use the same callback mechanism for ServiceWorker openWindow and navigate in UIProcess
https://bugs.webkit.org/show_bug.cgi?id=238924
Reviewed by Chris Dumez.
Source/WebKit:
Reuse WebFrameProxy navigation delegate for openWindow once the main frame is created.
This ensures we get the same behavior for both code paths and makes sure openWindow does not hang if a delegate cancels the load.
Covered by API test.
- UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::transferNavigationCallbackToFrame):
(WebKit::WebFrameProxy::setNavigationCallback):
- UIProcess/WebFrameProxy.h:
(WebKit::WebFrameProxy::transferNavigationCallbackToFrame): Deleted.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCreateMainFrame):
(WebKit::WebPageProxy::callLoadCompletionHandlersIfNecessary):
- UIProcess/WebPageProxy.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::openWindowFromServiceWorker):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
(-[ServiceWorkerPSONNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[ServiceWorkerPSONNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
(-[ServiceWorkerOpenWindowWebsiteDataStoreDelegate initWithConfiguration:]):
(-[ServiceWorkerOpenWindowWebsiteDataStoreDelegate websiteDataStore:openWindow:fromServiceWorkerOrigin:completionHandler:]):
- 9:09 AM Changeset in webkit [292538] by
-
- 10 edits in trunk/Tools
[git-webkit] Clear merging-blocked label on PR update
https://bugs.webkit.org/show_bug.cgi?id=238907
<rdar://problem/91380962>
Reviewed by Aakash Jain.
- Tools/Scripts/libraries/webkitbugspy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: Ditto.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:
(Tracker.set): Empty list should trigger request.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/issue.py:
(Issue.set_labels): Pass self to tracker.set.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/mocks/github.py:
(GitHub.init): Set self.labels from passed argument.
(GitHub._issue): Handle empty list.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest): Add BLOCKED_LABEL constant.
(PullRequest.main): Remove 'merging-blocked' label from existing pull-request
before updating pull-request.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
Canonical link: https://commits.webkit.org/249376@main
- 8:29 AM Changeset in webkit [292537] by
-
- 2 edits in trunk/LayoutTests
Fix the expected failure type.
Unreviewed.
- platform/mac-wk1/TestExpectations:
- 8:26 AM Changeset in webkit [292536] by
-
- 2 edits in trunk/Tools
[Merge-Queue] Share code for _addToLog
https://bugs.webkit.org/show_bug.cgi?id=238913
<rdar://problem/91383969>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(AddToLogMixin): Base class for all classes using _addToLog
(ConfigureBuild): Use from AddToLogMixin.
(AnalyzeChange): Ditto.
(BugzillaMixin): Ditto.
(ValidateCommitterAndReviewer): Ditto.
(BlockPullRequest): Ditto.
(RunBindingsTests): Ditto.
(WebKitPyTest): Ditto.
(CompileWebKit): Ditto.
(RunJavaScriptCoreTests): Ditto.
(AnalyzeJSCTestsResults): Ditto.
(RunWebKitTests): Ditto.
(AnalyzeAPITestsResults): Ditto.
(UpdatePullRequest): Ditto.
(ConfigureBuild._addToLog): Deleted.
(AnalyzeChange._addToLog): Deleted.
(BugzillaMixin._addToLog): Deleted.
(ValidateCommitterAndReviewer._addToLog): Deleted.
(BlockPullRequest._addToLog): Deleted.
(RunBindingsTests._addToLog): Deleted.
(WebKitPyTest._addToLog): Deleted.
(CompileWebKit._addToLog): Deleted.
(RunJavaScriptCoreTests._addToLog): Deleted.
(AnalyzeJSCTestsResults._addToLog): Deleted.
(RunWebKitTests._addToLog): Deleted.
(AnalyzeAPITestsResults._addToLog): Deleted.
(CheckPatchStatusOnEWSQueues._addToLog): Deleted.
(UpdatePullRequest._addToLog): Deleted.
Canonical link: https://commits.webkit.org/249374@main
- 7:43 AM Changeset in webkit [292535] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC][32bit] Use constexpr tags instead of enums
https://bugs.webkit.org/show_bug.cgi?id=238926
Patch by Geza Lore <Geza Lore> on 2022-04-07
Reviewed by Yusuke Suzuki.
The *Tag values are just 32-bit constants, so define them as
constexpr. This reduces compiler nuisance warnings about enum
comparisons.
- dfg/DFGSpeculativeJIT.cpp:
- runtime/JSCJSValue.h:
- 7:40 AM Changeset in webkit [292534] by
-
- 14 edits in trunk/Source
Drop unused EditorClient::getAutoCorrectSuggestionForMisspelledWord()
https://bugs.webkit.org/show_bug.cgi?id=238897
Reviewed by Wenson Hsieh.
Source/WebCore:
- editing/Editor.cpp:
(WebCore::Editor::markMisspellingsAfterTypingToWord):
- editing/TextCheckingHelper.cpp:
(WebCore::findMisspellings):
- loader/EmptyClients.cpp:
- platform/text/TextCheckerClient.h:
Source/WebKit:
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::getAutoCorrectSuggestionForMisspelledWord): Deleted.
- WebProcess/WebCoreSupport/WebEditorClient.h:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebEditorClient.h:
(WebEditorClient::getAutoCorrectSuggestionForMisspelledWord): Deleted.
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::getAutoCorrectSuggestionForMisspelledWord): Deleted.
Source/WebKitLegacy/win:
- WebCoreSupport/WebEditorClient.cpp:
(WebEditorClient::getAutoCorrectSuggestionForMisspelledWord): Deleted.
- WebCoreSupport/WebEditorClient.h:
- 6:34 AM Changeset in webkit [292533] by
-
- 8 edits1 copy in trunk/Source/WebKit
IPC::Connection should support diverting all messages to a message queue in other thread
https://bugs.webkit.org/show_bug.cgi?id=238608
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-04-07
Reviewed by Simon Fraser.
Previously, it was possible to divert all messages to certain ReceiverName to
a message queue. This is used in IPC streams functionality.
Add a possibility to divert all messages to a message queue. Instead of
passing ReceiverName, id pair to Connection, pass new struct ReceiverMatcher.
Use ReceiverMatcher instead of pair optional<ReceiverName>, optional<id>, since
nullopt, id is not a valid case.
This will be used in future patch for the case where IPC::Connection is created for
the sole purpose of using it together with IPC stream connection.
This also clarifies the overloaded use of destinationID 0 as a wildcard as well as
a valid message destination.
Also implement the possibility to divert all messages to particular ReceiverName,
id 0. Previously this was signifying the destination ID wildcard.
No new tests, refactor.
- Platform/IPC/Connection.cpp:
(IPC::Connection::SyncMessageState::enqueueMatchingMessages):
(IPC::Connection::enqueueMatchingMessagesToMessageReceiveQueue):
(IPC::Connection::addMessageReceiveQueue):
(IPC::Connection::removeMessageReceiveQueue):
(IPC::Connection::addWorkQueueMessageReceiver):
(IPC::Connection::removeWorkQueueMessageReceiver):
(IPC::Connection::addThreadMessageReceiver):
(IPC::Connection::removeThreadMessageReceiver):
- Platform/IPC/Connection.h:
- Platform/IPC/Decoder.h:
(IPC::Decoder::matches const):
- Platform/IPC/MessageReceiveQueueMap.cpp:
(IPC::MessageReceiveQueueMap::addImpl):
(IPC::MessageReceiveQueueMap::remove):
(IPC::MessageReceiveQueueMap::get const):
- Platform/IPC/MessageReceiveQueueMap.h:
(IPC::MessageReceiveQueueMap::add):
- Platform/IPC/ReceiverMatcher.h: Copied from Source/WebKit/Platform/IPC/MessageReceiveQueueMap.h.
(IPC::ReceiverMatcher::ReceiverMatcher):
(IPC::ReceiverMatcher::createForLegacyAPI):
(IPC::ReceiverMatcher::matches const):
- Platform/IPC/StreamServerConnection.cpp:
(IPC::StreamServerConnectionBase::startReceivingMessagesImpl):
(IPC::StreamServerConnectionBase::stopReceivingMessagesImpl):
- WebKit.xcodeproj/project.pbxproj:
- 6:28 AM Changeset in webkit [292532] by
-
- 4 edits4 adds in trunk
A float avoider should never take a vertical position where a float is present even when its used width is zero
https://bugs.webkit.org/show_bug.cgi?id=238895
Reviewed by Antti Koivisto.
Source/WebCore:
A zero width available space is never a valid vertical position for a float avoider even when its width is zero too.
Test: fast/block/float/float-avoider-with-zero-width.html
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::getClearDelta): skip and check the next candidate poisition when no space is available.
LayoutTests:
- TestExpectations: inline-size-bfc-floats.html: never produced correct rendering, the red box just happened to be hidden (which made this test pass).
- fast/block/float/float-avoider-with-zero-width-expected.html: Added.
- fast/block/float/float-avoider-with-zero-width.html: Added.
- 5:57 AM Changeset in webkit [292531] by
-
- 5 edits in trunk
[:has() pseudo-class] Support invalidation for :autofill pseudo class
https://bugs.webkit.org/show_bug.cgi?id=238899
Reviewed by Antti Koivisto.
Source/WebCore:
Tests: LayoutTests/fast/forms/input-autofilled-*.html
I've only added tests for the :autofill case, since the other pseudo-classes are supposed to be internal-only.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setAutoFilled):
(WebCore::HTMLInputElement::setAutoFilledAndViewable):
(WebCore::HTMLInputElement::setAutoFilledAndObscured):
LayoutTests:
- fast/forms/input-autofilled-expected.txt:
- fast/forms/input-autofilled.html:
- 4:41 AM Changeset in webkit [292530] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. [GStreamer] Fix compile warning
- Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.cpp:
(WebCore::gstreamerRtpCapatiblities): Initialize RTCRtpCodecCapability::channels.
- 3:57 AM Changeset in webkit [292529] by
-
- 3 edits in trunk/Source/WebKit
Unreviewed. Fix GTK build after r292506
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaList.cpp:
(webkit_dom_media_list_set_media_text):
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeGtk.cpp:
(webkit_dom_node_set_node_value):
(webkit_dom_node_set_text_content):
- 3:57 AM Changeset in webkit [292528] by
-
- 2 edits in trunk
[GTK] Turning on the address sanitizer should disable GIR and documentation
https://bugs.webkit.org/show_bug.cgi?id=238868
Reviewed by Adrian Perez de Castro.
- Source/cmake/OptionsGTK.cmake: Disable documentation when the address
sanitizer is on. Documentation depends on GIR. Also fix the adjustment
of the documentation setting when building on Mac. This also has to
happen before the call to find_package(GI).
- 3:15 AM Changeset in webkit [292527] by
-
- 10 edits in trunk/Source
[GTK][WPE] RemoteInspector add support for IPv6
https://bugs.webkit.org/show_bug.cgi?id=238797
Reviewed by Adrian Perez de Castro.
Source/JavaScriptCore:
- inspector/remote/glib/RemoteInspectorServer.cpp:
(Inspector::RemoteInspectorServer::start): Receive a GSocketAddress instead of address and port parameters.
- inspector/remote/glib/RemoteInspectorServer.h:
Source/WebKit:
Make it possible to connect to remote inspector server using IPv6 address.
- UIProcess/API/glib/WebKitInitialize.cpp:
(WebKit::initializeRemoteInspectorServer): Parse IPv6 address and build GSocketAddress to pass to inspector ot
HTTP server.
- UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.cpp:
(WebKit::RemoteInspectorProtocolHandler::handleRequest): RemoteInspectorClient now expects host and port in a
single String.
- UIProcess/Inspector/glib/RemoteInspectorClient.cpp:
(WebKit::RemoteInspectorClient::RemoteInspectorClient): Receive the host and port in a String.
- UIProcess/Inspector/glib/RemoteInspectorClient.h:
- UIProcess/Inspector/glib/RemoteInspectorHTTPServer.cpp:
- UIProcess/Inspector/glib/RemoteInspectorHTTPServer.h:
- 3:11 AM Changeset in webkit [292526] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix after r292525.
Silence an unused parameter warning in vanilla builds (w/o --layer-based-svg-engine).
- rendering/RenderLayerModelObject.cpp:
(WebCore::rendererNeedsPixelSnapping):
- 3:06 AM Changeset in webkit [292525] by
-
- 13 edits in trunk/Source/WebCore
Unify 'transform-box' reference box computation
https://bugs.webkit.org/show_bug.cgi?id=237554
Reviewed by Simon Fraser.
Currently the code to compute the reference box, according to the CSS 'transform-box'
property is sprinkled over various places: CSSComputedStyleDeclaration, SVGRenderSupport,
RenderBox, parts in RenderLayer.
Cleanup and unify the code in a new 'FloatRect referenceBoxRect(CSSBoxType) const' method.
RenderElement::referenceBoxRect(CSSBoxType) contains the SVG specific implementation, and
RenderBox::referenceBoxRect() the HTML/CSS one (previously named referenceBox()).
- 12:11 AM Changeset in webkit [292524] by
-
- 11 edits2 adds4 deletes in trunk
Grid items that establish an independent formatting context should not be subgrids.
https://bugs.webkit.org/show_bug.cgi?id=237692
Reviewed by Alan Bujtas.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-grid/subgrid/abs-pos-003-expected.html: Removed.
- web-platform-tests/css/css-grid/subgrid/abs-pos-003.html: Removed.
- web-platform-tests/css/css-grid/subgrid/abs-pos-004-expected.html: Removed.
- web-platform-tests/css/css-grid/subgrid/abs-pos-004.html: Removed.
- web-platform-tests/css/css-grid/subgrid/independent-formatting-context-expected.html: Added.
- web-platform-tests/css/css-grid/subgrid/independent-formatting-context.html: Added.
Removes tests that expect position:absolute combined with grid-template-X: subgrid to work.
Adds new test to confirm that elements that establish an independent formatting context can't
also be a subgrid.
Source/WebCore:
New WPT css/css-grid/subgrid/independent-formatting-context.html added to check this case.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::createsNewFormattingContext const):
- rendering/RenderBox.h:
(WebCore::RenderBox::markForPaginationRelayoutIfNeeded):
(WebCore::RenderBox::isWritingModeRoot const): Deleted.
(WebCore::RenderBox::isDeprecatedFlexItem const): Deleted.
(WebCore::RenderBox::isFlexItemIncludingDeprecated const): Deleted.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::createsNewFormattingContext const):
- rendering/RenderElement.h:
(WebCore::RenderElement::isWritingModeRoot const):
(WebCore::RenderElement::isDeprecatedFlexItem const):
(WebCore::RenderElement::isFlexItemIncludingDeprecated const):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::isBlockContainer const):
- rendering/RenderObject.h:
Grid items establish a new formatting context, unless they're a subgrid [1], but subgrid
is disabled if any other property causes the element to establish a formatting context [2].
Adds a new helper to check everything except grid, so that we can resolve this without
infinite recursion.
Stops writing-mode changes from establishing an independent formatting context if
the box is a grid container, since this should only happen is the box is a block
container [3].
Adds new helper for isBlockContainer, since writing-mode changes use it.
[1] https://drafts.csswg.org/css-grid-2/#grid-item-display
[2] https://drafts.csswg.org/css-grid-2/#subgrid-listing
[3] https://drafts.csswg.org/css-writing-modes/#block-flow
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::isSubgrid const):
(WebCore::RenderGrid::createsNewFormattingContext const):
(WebCore::RenderGrid::mayBeSubgridExcludingAbsPos const): Deleted.
(WebCore::RenderGrid::gridSpanCoversRealTracks const): Deleted.
- rendering/RenderGrid.h:
- rendering/style/GridPositionsResolver.cpp:
(WebCore::adjustGridPositionsFromStyle):
Makes isSubgrid return false if the element establishes an independent formatting context
(excluding contexts established by being a grid item), and removes no longer needed code
for handling position:absolute subgrids.