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 aNodethat 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 theRemoteObjectmechanism because the inspector injected script holds on to nodes until the
RemoteObjectis 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 aNodethat 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
LayoutTraitsmethods
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 onLayoutTraitsalso makes it
more difficult to handle situations where the state of theMediaControlsinfluences 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, andbuttonMarginso that if the
MediaControlswants 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 theknobStyleafter construction in case theMediaControlsstate
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> boolrather thanboolto 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 theUITouchisUITouchTypeIndirectPointer,
which allows us to returnNOfrom-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
UITouchTypeDirectto 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-_isPointerTouchinstead 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
UITouchTypeIndirectPointerinstead 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
cloneElementWithoutAttributesAndChildrenmethod 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 usingcloneNodewill contain anattachmentin its shadow
root that points to the same_WKAttachmentin 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::IdentifierAttributesuch that this
function handles properties in alphabetical order.
LayoutTests:
- accessibility/aria-invalid-expected.txt:
- accessibility/aria-invalid.html:
Rewrite to call
debugonly once at the end of the test. Also made
this test use accessibleElementById instead of
accessibilityController.focusedElement.
- resources/accessibility-helper.js:
Add new
expectfunction, which is like the more ubiquitous
shouldBefrom js-test.js, but returns the output as a string instead
of callingdebugto output to a console DOM element.