Timeline
Jun 12, 2019:
- 11:28 PM Changeset in webkit [246397] by
-
- 2 edits in trunk/Source/WebCore
[WHLSL] Hook up compute
https://bugs.webkit.org/show_bug.cgi?id=198644
Unreviewed build fix. Release iOS build would complain that pipelineState was unused.
- platform/graphics/gpu/cocoa/GPUComputePassEncoderMetal.mm:
(WebCore::GPUComputePassEncoder::dispatch):
- 11:06 PM Changeset in webkit [246396] by
-
- 16 edits2 copies4 adds2 deletes in trunk
[WHLSL] Hook up compute
https://bugs.webkit.org/show_bug.cgi?id=198644
Reviewed by Saam Barati.
Source/WebCore:
This patch hooks up compute shaders in exactly the same way that vertex and fragment shaders
are hooked up. I've modified the two patchs (compute and rendering) to be almost exactly the
same code.
This patch also adds support for the WHLSL compiler to determine what the numthreads()
attribute in the shader says so that it can be hooked up to Metal's threads-per-threadgroup
argument in the dispatch call. There is some logic to make sure that there aren't two
numthreads() attributes on the same compute shader.
It also adds a little bit of type renaming. For built-in variables, sometimes Metal's type
doesn't always match WHLSL's (and HLSL's type). For example, in WHLSL and HLSL, SV_DispatchThreadID variables have to be a float3, but in Metal, they are a uint3.
Therefore, I've added a little bit of code during each entry point's pack and unpack stages
to handle this type conversion.
Test: webgpu/whlsl-compute.html
- Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.cpp:
(WebCore::WHLSL::Metal::internalTypeForSemantic): Determine which Metal type corresponds to
each built-in variable.
(WebCore::WHLSL::Metal::EntryPointScaffolding::builtInsSignature): Perform the type
conversion.
(WebCore::WHLSL::Metal::EntryPointScaffolding::unpackResourcesAndNamedBuiltIns): Ditto.
(WebCore::WHLSL::Metal::VertexEntryPointScaffolding::VertexEntryPointScaffolding): Ditto.
(WebCore::WHLSL::Metal::VertexEntryPointScaffolding::helperTypes): Ditto.
(WebCore::WHLSL::Metal::VertexEntryPointScaffolding::pack): Ditto.
(WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::FragmentEntryPointScaffolding): Ditto.
(WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::helperTypes): Ditto.
(WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::pack): Ditto.
(WebCore::WHLSL::Metal::ComputeEntryPointScaffolding::signature): Ditto.
- Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.h:
- Modules/webgpu/WHLSL/WHLSLComputeDimensions.cpp: Added. Add a pass to determine whether
or not any entry point has duplicate numthreads() attribute, and to determine what the
appropriate numthreads() values should be for the current entry point.
(WebCore::WHLSL::ComputeDimensionsVisitor::ComputeDimensionsVisitor):
(WebCore::WHLSL::ComputeDimensionsVisitor::computeDimensions const):
(WebCore::WHLSL::computeDimensions):
- Modules/webgpu/WHLSL/WHLSLComputeDimensions.h: Copied from Source/WebCore/Modules/webgpu/WHLSL/WHLSLPrepare.h.
- Modules/webgpu/WHLSL/WHLSLGatherEntryPointItems.cpp:
(WebCore::WHLSL::gatherEntryPointItems): Compute shaders don't need to have a semantic for their return type.
- Modules/webgpu/WHLSL/WHLSLPrepare.cpp:
(WebCore::WHLSL::prepare): Run the computeDimensions() pass.
- Modules/webgpu/WHLSL/WHLSLPrepare.h:
- Modules/webgpu/WHLSL/WHLSLPropertyResolver.cpp: In a left-value propertyAccessExpression,
the index expression can be a right-value. Treat it as such.
(WebCore::WHLSL::LeftValueSimplifier::finishVisiting):
(WebCore::WHLSL::LeftValueSimplifier::visit):
- Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt: We need support for multiplication (for a
test) and float3 for SV_DispatchThreadID.
- Sources.txt:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/gpu/GPUComputePipeline.h: Associate a compute dimensions with a particular
compute pipeline. This is how Metal knows what values to use for a dispatch.
(WebCore::GPUComputePipeline::computeDimensions const):
- platform/graphics/gpu/cocoa/GPUComputePassEncoderMetal.mm: Use the saved compute dimensions.
(WebCore::GPUComputePassEncoder::dispatch):
- platform/graphics/gpu/cocoa/GPUComputePipelineMetal.mm: Make the code match GPURenderPipelineMetal.
(WebCore::trySetMetalFunctions):
(WebCore::trySetFunctions):
(WebCore::convertComputePipelineDescriptor):
(WebCore::tryCreateMTLComputePipelineState):
(WebCore::GPUComputePipeline::tryCreate):
(WebCore::GPUComputePipeline::GPUComputePipeline):
(WebCore::tryCreateMtlComputeFunction): Deleted.
- platform/graphics/gpu/cocoa/GPUPipelineMetalConvertLayout.cpp: Added. Moved shared helper
functions to a file where they can be accessed by multiple places.
(WebCore::convertShaderStageFlags):
(WebCore::convertBindingType):
(WebCore::convertLayout):
- platform/graphics/gpu/cocoa/GPUPipelineMetalConvertLayout.h: Copied from Source/WebCore/Modules/webgpu/WHLSL/WHLSLPrepare.h.
- platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm: Delete the functions that were moved to GPUPipelineMetalConvertLayout.
(WebCore::trySetFunctions):
(WebCore::tryCreateMtlRenderPipelineState):
(WebCore::convertShaderStageFlags): Deleted.
(WebCore::convertBindingType): Deleted.
(WebCore::convertLayout): Deleted.
LayoutTests:
This doesn't thoroughly test compute, but it's at least enough to unblock the WHLSL testing effort.
- webgpu/compute-squares-expected.txt: Deleted. Covered by webgpu/whlsl-compute.html.
- webgpu/compute-squares.html: Deleted. Ditto.
- webgpu/whlsl-compute-expected.txt: Added.
- webgpu/whlsl-compute.html: Added.
- 10:57 PM Changeset in webkit [246395] by
-
- 8 edits in trunk/Source
Show the web page URL when sharing an AR model
https://bugs.webkit.org/show_bug.cgi?id=198812
<rdar://problem/48689498>
Reviewed by Dean Jackson.
Source/WebCore/PAL:
- pal/spi/ios/SystemPreviewSPI.h:
Source/WebKit:
- UIProcess/Cocoa/DownloadClient.mm:
(WebKit::DownloadClient::didStart):
- UIProcess/Cocoa/SystemPreviewControllerCocoa.mm:
(-[_WKPreviewControllerDataSource initWithMIMEType:originatingPageURL:]):
(-[_WKPreviewControllerDataSource previewController:previewItemAtIndex:]):
(WebKit::SystemPreviewController::start):
(-[_WKPreviewControllerDataSource initWithMIMEType:]): Deleted.
- UIProcess/SystemPreviewController.h:
Source/WTF:
- wtf/Platform.h:
- 10:38 PM Changeset in webkit [246394] by
-
- 17 edits2 copies2 adds2 deletes in trunk
[WHLSL] Implement array references
https://bugs.webkit.org/show_bug.cgi?id=198163
Reviewed by Saam Barati.
Source/WebCore:
The compiler automatically generates anders for every array reference. Luckily, the infrastructure
to generate those anders and emit Metal code to represent them already exists in the compiler.
There are two pieces remaining (which this patch implements):
- The JavaScript compiler has a behavior where anders that are called with an array reference as an argument don't wrap the argument in a MakePointerExpression. This is because the array reference is already a reference type, so it's silly to operate on a pointer to a reference. This patch implements this by teaching the type checker about which types should be passed to the ander call, and by actually constructing those types in the property resolver. The property resolver does this by placing the logic to construct an ander argument in a single function which also has logic to save the argument in a temporary if the thread ander will be called. The semantics about which functions are called in which situations are not changed; instead, we just simply don't wrap array references with MakePointerExpressions.
- Creating a bind group from the WebGPU API has to retain information about buffer lengths for
each buffer so the shader can properly perform bounds checks. This can be broken down into a
few pieces:
- Creating a bind group layout has to assign extra id indexes for each buffer which will be filled in to represent the buffer's length
- Creating the bind group itself needs to fill in the buffer length into the Metal argument buffer
- The shader compiler needs to emit code at the beginning of entry point to find the buffer lengths and pack them together into the array reference (array references correspond to a Metal struct with two fields: a pointer and a length).
This patch doesn't actually implement bounds checks themselves; it just hooks up the buffer
lengths so https://bugs.webkit.org/show_bug.cgi?id=198600 can implement it.
The shader compiler's API is modified to allow for this extra buffer length information to be
passed in from the WebGPU implementation.
Unfortunately, I don't think I could split this patch up into two pieces because both are
required to test the compiler with buffers.
Tests: webgpu/whlsl-buffer-fragment.html
webgpu/whlsl-buffer-vertex.html
- Modules/webgpu/WHLSL/AST/WHLSLPropertyAccessExpression.h:
(WebCore::WHLSL::AST::PropertyAccessExpression::baseReference):
- Modules/webgpu/WHLSL/AST/WHLSLResourceSemantic.cpp:
(WebCore::WHLSL::AST::ResourceSemantic::isAcceptableType const): Arrays can't be resources
because the compiler has no way of guaranteeing if the resource is long enough to hold the
array at compile time.
- Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.cpp:
(WebCore::WHLSL::Metal::EntryPointScaffolding::EntryPointScaffolding): Generate an extra
variable name to represent the buffer length. Only do it for resources which have lengths.
(WebCore::WHLSL::Metal::EntryPointScaffolding::resourceHelperTypes):
(WebCore::WHLSL::Metal::EntryPointScaffolding::unpackResourcesAndNamedBuiltIns): Perform
the appropriate math to turn byte lengths into element counts and store the element count
in the array reference.
- Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.h:
- Modules/webgpu/WHLSL/WHLSLChecker.cpp:
(WebCore::WHLSL::resolveWithOperatorAnderIndexer): Refactor.
(WebCore::WHLSL::resolveWithOperatorLength): Ditto.
(WebCore::WHLSL::resolveWithReferenceComparator): Ditto.
(WebCore::WHLSL::resolveByInstantiation): Ditto.
(WebCore::WHLSL::argumentTypeForAndOverload): Given an ander, what should the type of the
argument be?
(WebCore::WHLSL::Checker::finishVisiting): Call argumentTypeForAndOverload(). Also, if
we couldn't find an ander, try automatically generating it, the same way that function
calls do. (This is how array references get their anders.)
(WebCore::WHLSL::Checker::visit):
- Modules/webgpu/WHLSL/WHLSLPipelineDescriptor.h: New WHLSL API to provide the length
information.
- Modules/webgpu/WHLSL/WHLSLPropertyResolver.cpp:
(WebCore::WHLSL::PropertyResolver::visit): SimplifyRightValue() can't fail any more.
(WebCore::WHLSL::wrapAnderCallArgument): If the ander argument should be wrapped in a
MakePointer or a MakeArrayReference, do that. Also, if the ander is a thread ander, save
the argument in a local variable and use that.
(WebCore::WHLSL::anderCallArgument): The equivalent of argumentTypeForAndOverload().
(WebCore::WHLSL::setterCall): Call anderCallArgument().
(WebCore::WHLSL::getterCall): Ditto.
(WebCore::WHLSL::modify): We used to have special-case code for handling pointer-to-argument
values as distinct from just the argument values themselves. However, emitting
chains of &* operators is valid and won't even make it through the Metal code generator
after https://bugs.webkit.org/show_bug.cgi?id=198600 is fixed. So, in order to simplify
wrapAnderCallArgument(), don't special case these values and just create &* chains instead.
(WebCore::WHLSL::PropertyResolver::simplifyRightValue):
(WebCore::WHLSL::LeftValueSimplifier::finishVisiting): Call anderCallArgument().
- Modules/webgpu/WHLSL/WHLSLSemanticMatcher.cpp: Update to support the new compiler API.
(WebCore::WHLSL::matchMode):
(WebCore::WHLSL::matchResources):
- Modules/webgpu/WebGPUBindGroupDescriptor.cpp: Ditto.
(WebCore::WebGPUBindGroupDescriptor::tryCreateGPUBindGroupDescriptor const):
- platform/graphics/gpu/GPUBindGroupLayout.h: Add some internal implementation data inside
the bindings object. Use a Variant to differentiate between the various bindings types, and
put the extra length field on just those members of the variant that represent buffers.
- platform/graphics/gpu/cocoa/GPUBindGroupLayoutMetal.mm: Update to support the new compiler API.
(WebCore::argumentDescriptor):
(WebCore::GPUBindGroupLayout::tryCreate):
- platform/graphics/gpu/cocoa/GPUBindGroupMetal.mm: Ditto.
(WebCore::setBufferOnEncoder):
(WebCore::GPUBindGroup::tryCreate):
- platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm: Ditto.
(WebCore::convertBindingType):
(WebCore::convertLayout):
LayoutTests:
- webgpu/buffer-resource-triangles-expected.html: Deleted. This test doens't make any sense and triggers
Metal to read out-of-bounds of a vertex buffer.
- webgpu/buffer-resource-triangles.html: Deleted.
- webgpu/whlsl-buffer-fragment-expected.html: Added.
- webgpu/whlsl-buffer-fragment.html: Added.
- webgpu/whlsl-buffer-vertex-expected.html: Added.
- webgpu/whlsl-buffer-vertex.html: Added.
- webgpu/whlsl-dont-crash-parsing-enum.html:
- webgpu/whlsl.html:
- 10:10 PM Changeset in webkit [246393] by
-
- 5 edits2 adds in trunk
[WebGL] ANGLE Extension directive location incorrectly enforced for webgl 1.0
https://bugs.webkit.org/show_bug.cgi?id=198811
Reviewed by Dean Jackson.
Source/ThirdParty/ANGLE:
Apply ANGLE change from https://chromium-review.googlesource.com/c/angle/angle/+/1648661 to
prevent enforcing ESSL late extension rule on WebGL 1.0 shaders.
- src/compiler/preprocessor/DiagnosticsBase.cpp:
(angle::pp::Diagnostics::message):
- src/compiler/preprocessor/DiagnosticsBase.h:
- src/compiler/preprocessor/DirectiveParser.cpp:
(angle::pp::DirectiveParser::parseExtension):
LayoutTests:
ANGLE was updated so that this case should not be an error.
- webgl/webgl-extension-directive-location-no-error-expected.txt: Added.
- webgl/webgl-extension-directive-location-no-error.html: Added.
- 10:06 PM Changeset in webkit [246392] by
-
- 2 edits in trunk/Source/WebKit
Try to fix iOS build.
- NetworkProcess/Downloads/DownloadMap.cpp:
- 9:10 PM Changeset in webkit [246391] by
-
- 3 edits4 adds in trunk
[cairo][SVG] If clipPath has multiple elements, clip-path doesn't work with transform
https://bugs.webkit.org/show_bug.cgi?id=198746
Source/WebCore:
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-06-12
Reviewed by Don Olmstead.
We need to save the current transformation matrix at the moment the image mask is set and set it again on
restore right before applying the mask. This patch also creates a pattern for the image mask surface and set its
transformation matrix according to the mask position, so that we don't need to save the mask rectangle too.
Tests: svg/clip-path/clip-hidpi-expected.svg
svg/clip-path/clip-hidpi.svg
svg/clip-path/clip-opacity-translate-expected.svg
svg/clip-path/clip-opacity-translate.svg
- platform/graphics/cairo/PlatformContextCairo.cpp:
(WebCore::PlatformContextCairo::restore):
(WebCore::PlatformContextCairo::pushImageMask):
LayoutTests:
<rdar://problem/51620347>
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-06-12
Reviewed by Don Olmstead.
- svg/clip-path/clip-hidpi-expected.svg: Added.
- svg/clip-path/clip-hidpi.svg: Added.
- svg/clip-path/clip-opacity-translate-expected.svg: Added.
- svg/clip-path/clip-opacity-translate.svg: Added.
- 8:44 PM Changeset in webkit [246390] by
-
- 52 edits in trunk/LayoutTests
[WHLSL] Educate the property resolver about IndexExpressions
https://bugs.webkit.org/show_bug.cgi?id=198399
Unreviewed test gardening.
Failing WebGPU tests should fail instead of time out.
- webgpu/blend-color-triangle-strip.html:
- webgpu/blend-triangle-strip.html:
- webgpu/blit-commands.html:
- webgpu/buffer-command-buffer-races.html:
- webgpu/buffer-resource-triangles.html:
- webgpu/color-write-mask-triangle-strip.html:
- webgpu/depth-enabled-triangle-strip.html:
- webgpu/draw-indexed-triangles.html:
- webgpu/propertyresolver/ander-abstract-lvalue.html:
- webgpu/propertyresolver/ander-lvalue-3-levels.html:
- webgpu/propertyresolver/ander-lvalue.html:
- webgpu/propertyresolver/ander.html:
- webgpu/propertyresolver/getter.html:
- webgpu/propertyresolver/indexer-ander-abstract-lvalue.html:
- webgpu/propertyresolver/indexer-ander-lvalue-3-levels.html:
- webgpu/propertyresolver/indexer-ander-lvalue.html:
- webgpu/propertyresolver/indexer-ander.html:
- webgpu/propertyresolver/indexer-getter.html:
- webgpu/propertyresolver/indexer-setter-abstract-lvalue-3-levels.html:
- webgpu/propertyresolver/indexer-setter-abstract-lvalue.html:
- webgpu/propertyresolver/indexer-setter-lvalue.html:
- webgpu/propertyresolver/indexer-setter.html:
- webgpu/propertyresolver/setter-abstract-lvalue-3-levels.html:
- webgpu/propertyresolver/setter-abstract-lvalue.html:
- webgpu/propertyresolver/setter-lvalue.html:
- webgpu/simple-triangle-strip.html:
- webgpu/texture-triangle-strip.html:
- webgpu/vertex-buffer-triangle-strip.html:
- webgpu/viewport-scissor-rect-triangle-strip.html:
- webgpu/whlsl-arbitrary-vertex-attribute-locations.html:
- webgpu/whlsl-dereference-pointer-should-type-check.html:
- webgpu/whlsl-do-while-loop-break.html:
- webgpu/whlsl-do-while-loop-continue.html:
- webgpu/whlsl-do-while-loop.html:
- webgpu/whlsl-dont-crash-parsing-enum.html:
- webgpu/whlsl-dot-expressions.html:
- webgpu/whlsl-ensure-proper-variable-lifetime-2.html:
- webgpu/whlsl-ensure-proper-variable-lifetime-3.html:
- webgpu/whlsl-ensure-proper-variable-lifetime.html:
- webgpu/whlsl-loops-break.html:
- webgpu/whlsl-loops-continue.html:
- webgpu/whlsl-loops.html:
- webgpu/whlsl-nested-dot-expression-rvalue.html:
- webgpu/whlsl-nested-loop.html:
- webgpu/whlsl-return-local-variable.html:
- webgpu/whlsl-store-to-property-updates-properly.html:
- webgpu/whlsl-while-loop-break.html:
- webgpu/whlsl-while-loop-continue.html:
- webgpu/whlsl-zero-initialize-values-2.html:
- webgpu/whlsl-zero-initialize-values.html:
- webgpu/whlsl.html:
- 8:21 PM Changeset in webkit [246389] by
-
- 6 edits2 adds in trunk
paddingBoxRect() is wrong with RTL scrollbars on the left
https://bugs.webkit.org/show_bug.cgi?id=198816
Reviewed by Jon Lee.
Source/WebCore:
RenderBox::paddingBoxRect() needs to offset the left side of the box for the
vertical scrollbar, if it's placed on the left.
Test: compositing/geometry/rtl-overflow-scroll.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::paddingBoxRect const):
- rendering/RenderBox.h:
(WebCore::RenderBox::paddingBoxRect const): Deleted.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::controlClipRect const):
LayoutTests:
- compositing/geometry/rtl-overflow-scroll-expected.html: Added.
- compositing/geometry/rtl-overflow-scroll.html: Added.
- 6:04 PM Changeset in webkit [246388] by
-
- 38 edits4 copies7 adds in trunk/Source
Use NSURLSession for WebSocket
https://bugs.webkit.org/show_bug.cgi?id=198568
Reviewed by Geoffrey Garen.
Source/WebCore:
Add a runtime flag to either choose the new WebSocket code path or the previously existing one.
The switch is done at WebSocket channel API level which offers the necessary high level API to abstract the two code paths.
By default, we continue using the current WebSocket implementation.
Covered by manual testing on current WebSocket tests.
- Modules/websockets/ThreadableWebSocketChannel.cpp:
(WebCore::ThreadableWebSocketChannel::create):
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::document):
- Modules/websockets/WebSocketChannel.h:
- WebCore.xcodeproj/project.pbxproj:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::isNSURLSessionWebSocketEnabled const):
(WebCore::RuntimeEnabledFeatures::setIsNSURLSessionWebSocketEnabled):
- page/SocketProvider.cpp:
(WebCore::SocketProvider::createWebSocketChannel):
- page/SocketProvider.h:
Source/WebKit:
Implement socket channel provider on WebProcess level by sending IPC to NetworkProcess.
On NetworkProcess side, use NSURLSession API to implement the WebSocket functionality.
This is a partial implementation:
- inspector integration is not working.
- some error cases are not well handled or are not producing the same error messages.
- some features are not implemented (extensions, subprotocols, handshake authentication challenge, cookie handling...).
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::createSocketChannel):
(WebKit::NetworkConnectionToWebProcess::removeSocketChannel):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::createWebSocketTask):
- NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::removeWebSocketTask):
(WebKit::NetworkSession::addWebSocketTask):
- NetworkProcess/NetworkSocketChannel.cpp: Added.
(WebKit::NetworkSocketChannel::create):
(WebKit::NetworkSocketChannel::NetworkSocketChannel):
(WebKit::NetworkSocketChannel::~NetworkSocketChannel):
(WebKit::NetworkSocketChannel::sendString):
(WebKit::NetworkSocketChannel::sendData):
(WebKit::NetworkSocketChannel::finishClosingIfPossible):
(WebKit::NetworkSocketChannel::close):
(WebKit::NetworkSocketChannel::didConnect):
(WebKit::NetworkSocketChannel::didReceiveText):
(WebKit::NetworkSocketChannel::didReceiveBinaryData):
(WebKit::NetworkSocketChannel::didClose):
(WebKit::NetworkSocketChannel::messageSenderConnection const):
- NetworkProcess/NetworkSocketChannel.h: Added.
- NetworkProcess/NetworkSocketChannel.messages.in: Added.
- NetworkProcess/NetworkSocketStream.messages.in:
- NetworkProcess/WebSocketTask.h: Added.
(WebKit::WebSocketTask::sendString):
(WebKit::WebSocketTask::sendData):
(WebKit::WebSocketTask::close):
(WebKit::WebSocketTask::cancel):
(WebKit::WebSocketTask::resume):
- NetworkProcess/cocoa/NetworkSessionCocoa.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate existingWebSocketTask:]):
(-[WKNetworkSessionDelegate URLSession:webSocketTask:didOpenWithProtocol:]):
(-[WKNetworkSessionDelegate URLSession:webSocketTask:didCloseWithCode:reason:]):
(WebKit::NetworkSessionCocoa::continueDidReceiveChallenge):
(WebKit::NetworkSessionCocoa::createWebSocketTask):
(WebKit::NetworkSessionCocoa::addWebSocketTask):
(WebKit::NetworkSessionCocoa::removeWebSocketTask):
(WebKit::NetworkSessionCocoa::webSocketDataTaskForIdentifier):
- NetworkProcess/cocoa/WebSocketTaskCocoa.h: Added.
- NetworkProcess/cocoa/WebSocketTaskCocoa.mm: Added.
(WebKit::WebSocketTask::WebSocketTask):
(WebKit::WebSocketTask::~WebSocketTask):
(WebKit::WebSocketTask::readNextMessage):
(WebKit::WebSocketTask::cancel):
(WebKit::WebSocketTask::resume):
(WebKit::WebSocketTask::didConnect):
(WebKit::WebSocketTask::didClose):
(WebKit::WebSocketTask::sendString):
(WebKit::WebSocketTask::sendData):
(WebKit::WebSocketTask::close):
(WebKit::WebSocketTask::identifier const):
- Shared/WebPreferences.yaml:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
- WebProcess/Network/WebSocketChannel.cpp: Added.
(WebKit::WebSocketChannel::create):
(WebKit::WebSocketChannel::WebSocketChannel):
(WebKit::WebSocketChannel::~WebSocketChannel):
(WebKit::WebSocketChannel::messageSenderConnection const):
(WebKit::WebSocketChannel::messageSenderDestinationID const):
(WebKit::WebSocketChannel::subprotocol):
(WebKit::WebSocketChannel::extensions):
(WebKit::WebSocketChannel::connect):
(WebKit::WebSocketChannel::send):
(WebKit::WebSocketChannel::bufferedAmount const):
(WebKit::WebSocketChannel::close):
(WebKit::WebSocketChannel::fail):
(WebKit::WebSocketChannel::disconnect):
(WebKit::WebSocketChannel::didConnect):
(WebKit::WebSocketChannel::didReceiveText):
(WebKit::WebSocketChannel::didReceiveBinaryData):
(WebKit::WebSocketChannel::didClose):
(WebKit::WebSocketChannel::didFail):
(WebKit::WebSocketChannel::networkProcessCrashed):
- WebProcess/Network/WebSocketChannel.h: Added.
- WebProcess/Network/WebSocketChannel.messages.in: Added.
- WebProcess/Network/WebSocketChannelManager.cpp: Added.
(WebKit::WebSocketChannelManager::createWebSocketChannel):
(WebKit::WebSocketChannelManager::networkProcessCrashed):
(WebKit::WebSocketChannelManager::didReceiveMessage):
- WebProcess/Network/WebSocketChannelManager.h: Added.
- WebProcess/Network/WebSocketProvider.cpp:
(WebKit::WebSocketProvider::createWebSocketChannel):
- WebProcess/Network/WebSocketProvider.h:
- WebProcess/Network/WebSocketStream.cpp:
- WebProcess/Network/WebSocketStream.messages.in:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::networkProcessConnectionClosed):
- WebProcess/WebProcess.h:
(WebKit::WebProcess::webSocketChannelManager):
Source/WTF:
- wtf/Platform.h:
Introduce compile flag for WebSocket NSURLSession
- 5:02 PM Changeset in webkit [246387] by
-
- 2 edits in trunk/LayoutTests
[High Sierra / Mojave Debug WK2] Layout Test media/video-restricted-invisible-autoplay-allowed-when-visible.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=190885
<rdar://problem/45590590>
Reviewed by Youenn Fablet.
- media/video-restricted-invisible-autoplay-allowed-when-visible.html: Increase the amount of time it takes for the test to fail so it isn't flaky on slow machines.
- 4:07 PM Changeset in webkit [246386] by
-
- 3 edits in trunk/LayoutTests
[iOS] Adjust tests platform/ipad/fast/forms/{select-form-run-twice, unfocus-inside-fixed-hittest}.html following r243808
https://bugs.webkit.org/show_bug.cgi?id=198799
<rdar://problem/50181023>
Reviewed by Brent Fulgham.
Following r243808 we no longer defocus a <select> on iPad when its popover is dismissed as a
result of picking a value for it. This is to make the behavior of <select> on iPad like the Mac.
However the tests platform/ipad/fast/forms/{select-form-run-twice, unfocus-inside-fixed-hittest}.html
depend on the old behavior. So, we need to update them to no longer expect a defocusing of the
<select>/the end of form control interaction.
- platform/ipad/fast/forms/select-form-run-twice.html:
- platform/ipad/fast/forms/unfocus-inside-fixed-hittest.html:
- 3:59 PM Changeset in webkit [246385] by
-
- 12 edits35 adds in trunk
[WHLSL] Educate the property resolver about IndexExpressions
https://bugs.webkit.org/show_bug.cgi?id=198399
Reviewed by Saam Barati.
Source/WebCore:
This is part one of two patches which will allow buffers to work. This patch
adds support in the property resolver for index expressions. Index expressions
get turned into calls to "getter indexers", "setter indexers", or "ander
indexers". They work almost identically to dot expressions, except there is an
extra "index" expression which gets turned into an extra argument to those
functions.
There's actually a bit of a trick here. Let's say we need to run a getter and
a setter separately (e.g. "foo[3]++;"). The index expression can't be duplicated
for both the getter and the setter (e.g. the functions are
int operator[](Foo, uint) and Foo operator[]=(Foo, uint, int), and we aren't
allowed to execute the index expression multiple times. Consider if that "3"
in the example is actually "bar()" with some side effect. So, we have to run
the index expression once at the correct time, and save its result to a temporary
variable, and then pass in the temporary variable into the getter and setter.
So, if the code says "foo[bar()][baz()] = quux();" the following sequence of
functions get run:
- bar()
- operator[](Foo, uint)
- baz()
- quux()
- operator[]=(OtherType, uint, OtherOtherType)
- operator[]=(Foo, uint, OtherType)
The next patch will modify the WebGPU JavaScript implementation to send buffer
lengths to the shader, and for the shader compiler to correctly unpack this
information and place it inside the array references. That should be everything
that's needed to get buffers to work. After that, hooking up compute should be
fairly trivial.
Tests: webgpu/propertyresolver/ander-abstract-lvalue.html
webgpu/propertyresolver/ander-lvalue-3-levels.html
webgpu/propertyresolver/ander-lvalue.html
webgpu/propertyresolver/ander.html
webgpu/propertyresolver/getter.html
webgpu/propertyresolver/indexer-ander-abstract-lvalue.html
webgpu/propertyresolver/indexer-ander-lvalue-3-levels.html
webgpu/propertyresolver/indexer-ander-lvalue.html
webgpu/propertyresolver/indexer-ander.html
webgpu/propertyresolver/indexer-getter.html
webgpu/propertyresolver/indexer-setter-abstract-lvalue-3-levels.html
webgpu/propertyresolver/indexer-setter-abstract-lvalue.html
webgpu/propertyresolver/indexer-setter-lvalue.html
webgpu/propertyresolver/indexer-setter.html
webgpu/propertyresolver/setter-abstract-lvalue-3-levels.html
webgpu/propertyresolver/setter-abstract-lvalue.html
webgpu/propertyresolver/setter-lvalue.html
- Modules/webgpu/WHLSL/AST/WHLSLAddressSpace.h:
(WebCore::WHLSL::AST::toString):
- Modules/webgpu/WHLSL/AST/WHLSLEntryPointType.h:
(WebCore::WHLSL::AST::toString):
- Modules/webgpu/WHLSL/AST/WHLSLIndexExpression.h:
(WebCore::WHLSL::AST::IndexExpression::takeIndex):
- Modules/webgpu/WHLSL/AST/WHLSLReferenceType.h:
- Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp:
(WebCore::WHLSL::Metal::writeNativeFunction):
(WebCore::WHLSL::Metal::convertAddressSpace): Deleted.
- Modules/webgpu/WHLSL/WHLSLChecker.cpp:
(WebCore::WHLSL::checkOperatorOverload):
(WebCore::WHLSL::Checker::finishVisiting):
(WebCore::WHLSL::Checker::visit):
- Modules/webgpu/WHLSL/WHLSLInferTypes.h:
- Modules/webgpu/WHLSL/WHLSLPropertyResolver.cpp:
(WebCore::WHLSL::PropertyResolver::visit):
(WebCore::WHLSL::setterCall):
(WebCore::WHLSL::getterCall):
(WebCore::WHLSL::modify):
(WebCore::WHLSL::PropertyResolver::simplifyRightValue):
(WebCore::WHLSL::LeftValueSimplifier::finishVisiting):
(WebCore::WHLSL::LeftValueSimplifier::visit):
- Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt:
- Modules/webgpu/WHLSL/WHLSLSynthesizeStructureAccessors.cpp:
(WebCore::WHLSL::synthesizeStructureAccessors):
LayoutTests:
- webgpu/propertyresolver/ander-abstract-lvalue-expected.html: Added.
- webgpu/propertyresolver/ander-abstract-lvalue.html: Added.
- webgpu/propertyresolver/ander-expected.html: Added.
- webgpu/propertyresolver/ander-lvalue-3-levels-expected.html: Added.
- webgpu/propertyresolver/ander-lvalue-3-levels.html: Added.
- webgpu/propertyresolver/ander-lvalue-expected.html: Added.
- webgpu/propertyresolver/ander-lvalue.html: Added.
- webgpu/propertyresolver/ander.html: Added.
- webgpu/propertyresolver/getter-expected.html: Added.
- webgpu/propertyresolver/getter.html: Added.
- webgpu/propertyresolver/indexer-ander-abstract-lvalue-expected.html: Added.
- webgpu/propertyresolver/indexer-ander-abstract-lvalue.html: Added.
- webgpu/propertyresolver/indexer-ander-expected.html: Added.
- webgpu/propertyresolver/indexer-ander-lvalue-3-levels-expected.html: Added.
- webgpu/propertyresolver/indexer-ander-lvalue-3-levels.html: Added.
- webgpu/propertyresolver/indexer-ander-lvalue-expected.html: Added.
- webgpu/propertyresolver/indexer-ander-lvalue.html: Added.
- webgpu/propertyresolver/indexer-ander.html: Added.
- webgpu/propertyresolver/indexer-getter-expected.html: Added.
- webgpu/propertyresolver/indexer-getter.html: Added.
- webgpu/propertyresolver/indexer-setter-abstract-lvalue-3-levels-expected.html: Added.
- webgpu/propertyresolver/indexer-setter-abstract-lvalue-3-levels.html: Added.
- webgpu/propertyresolver/indexer-setter-abstract-lvalue-expected.html: Added.
- webgpu/propertyresolver/indexer-setter-abstract-lvalue.html: Added.
- webgpu/propertyresolver/indexer-setter-expected.html: Added.
- webgpu/propertyresolver/indexer-setter-lvalue-expected.html: Added.
- webgpu/propertyresolver/indexer-setter-lvalue.html: Added.
- webgpu/propertyresolver/indexer-setter.html: Added.
- webgpu/propertyresolver/setter-abstract-lvalue-3-levels-expected.html: Added.
- webgpu/propertyresolver/setter-abstract-lvalue-3-levels.html: Added.
- webgpu/propertyresolver/setter-abstract-lvalue-expected.html: Added.
- webgpu/propertyresolver/setter-abstract-lvalue.html: Added.
- webgpu/propertyresolver/setter-lvalue-expected.html: Added.
- webgpu/propertyresolver/setter-lvalue.html: Added.
- 3:46 PM Changeset in webkit [246384] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: artificial context menus don't work when Web Inspector is zoomed
https://bugs.webkit.org/show_bug.cgi?id=198801
Reviewed by Joseph Pecoraro.
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):
Use theabsoluteLocationof theMouseEvent, which takes into account zoom and scale.
- 3:38 PM Changeset in webkit [246383] by
-
- 1 copy in tags/Safari-608.1.27.20.3
Tag Safari-608.1.27.20.3.
- 3:36 PM Changeset in webkit [246382] by
-
- 4 edits in trunk/Source/WebKit
Add assertions to help debug crash at WebKit::HistoryEntryDataEncoder::operator<<
https://bugs.webkit.org/show_bug.cgi?id=198766
Reviewed by Geoffrey Garen.
- Shared/SessionState.h:
(WebKit::FrameState::~FrameState):
- UIProcess/API/C/WKPage.cpp:
(WKPageCopySessionState):
- UIProcess/mac/LegacySessionStateCoding.cpp:
(WebKit::HistoryEntryDataEncoder::encodeFixedLengthData):
(WebKit::encodeFrameStateNode):
- 3:20 PM Changeset in webkit [246381] by
-
- 2 edits in branches/safari-607-branch/Source/WebCore
Cherry-pick r246182. rdar://problem/51656840
Avoid generating new XSLT-based document when already changing the document.
https://bugs.webkit.org/show_bug.cgi?id=198525
<rdar://problem/51393787>
Reviewed by Ryosuke Niwa.
We should not allow a pending XSLT transform to change the current document when
that current document is int he process of being replaced.
- dom/Document.cpp: (WebCore::Document::applyPendingXSLTransformsTimerFired):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:20 PM Changeset in webkit [246380] by
-
- 2 edits in branches/safari-607-branch/Source/JavaScriptCore
Cherry-pick r246084. rdar://problem/51656856
Unreviewed, update exception scope for putByIndexBeyondVectorLength
https://bugs.webkit.org/show_bug.cgi?id=198477
- runtime/JSObject.cpp: (JSC::JSObject::putByIndexBeyondVectorLength):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246084 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:20 PM Changeset in webkit [246379] by
-
- 4 edits1 add in branches/safari-607-branch
Cherry-pick r246071. rdar://problem/51656838
Argument elimination should check for negative indices in GetByVal
https://bugs.webkit.org/show_bug.cgi?id=198302
<rdar://problem/51188095>
Reviewed by Filip Pizlo.
JSTests:
- stress/eliminate-arguments-negative-rest-access.js: Added. (inlinee): (opt):
Source/JavaScriptCore:
In DFG::ArgumentEliminationPhase, the index is treated as unsigned, but there's no check
for overflow in the addition. In compileGetMyArgumentByVal, there's a check for overflow,
but the index is treated as signed, resulting in an index lower than numberOfArgumentsToSkip.
- dfg/DFGArgumentsEliminationPhase.cpp:
- ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246071 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:20 PM Changeset in webkit [246378] by
-
- 4 edits3 adds in branches/safari-607-branch
Cherry-pick r246040. rdar://problem/51656856
[JSC] JSObject::attemptToInterceptPutByIndexOnHole should use getPrototype instead of getPrototypeDirect
https://bugs.webkit.org/show_bug.cgi?id=198477
<rdar://problem/51299504>
Reviewed by Saam Barati.
Source/JavaScriptCore:
JSObject::attemptToInterceptPutByIndexOnHole uses getPrototypeDirect, but it should use getPrototype to
handle getPrototype methods in derived JSObject classes correctly.
- runtime/JSArrayInlines.h: (JSC::JSArray::pushInline):
- runtime/JSObject.cpp: (JSC::JSObject::putByIndex): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLength):
LayoutTests:
Ensure that JSWindow::getPrototype is used.
- http/tests/security/cross-frame-access-object-getPrototypeOf-in-put-expected.txt: Added.
- http/tests/security/cross-frame-access-object-getPrototypeOf-in-put.html: Added.
- http/tests/security/resources/cross-frame-iframe-for-object-getPrototypeOf-in-put-test.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:20 PM Changeset in webkit [246377] by
-
- 2 edits in branches/safari-607-branch/Source/WebKit
Cherry-pick r245298. rdar://problem/51656613
Crash under WebKit::WebProcessProxy::didBecomeUnresponsive()
https://bugs.webkit.org/show_bug.cgi?id=197883
<rdar://problem/50665984>
Reviewed by Alex Christensen.
Protect |this| in didBecomeUnresponsive() and didExceedCPULimit() since we call client
delegates and those may cause |this| to get destroyed.
- UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::didBecomeUnresponsive): (WebKit::WebProcessProxy::didExceedCPULimit):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245298 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:20 PM Changeset in webkit [246376] by
-
- 5 edits1 add in branches/safari-607-branch
Cherry-pick r243631. rdar://problem/51656612
API::Data::createWithoutCopying should do a null check before calling CFRelease
https://bugs.webkit.org/show_bug.cgi?id=196276
<rdar://problem/48059859>
Reviewed by Alex Christensen.
Source/WebKit:
- Shared/Cocoa/APIDataCocoa.mm: (API::Data::createWithoutCopying):
Tools:
Add an API test that will pass a nil to API::Data::createWithoutCopying via NavigationState::NavigationClient::webCryptoMasterKey.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/navigation-client-default-crypto.html:
- TestWebKitAPI/Tests/WebKitCocoa/WebCryptoMasterKey.mm: Added. (-[WebCryptoMasterKeyNavigationDelegate _webCryptoMasterKeyForWebView:]): (-[WebCryptoMasterKeyNavigationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): (TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243631 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:57 PM Changeset in webkit [246375] by
-
- 2 edits in trunk/Source/WebCore
Remove dead code in user agent construction
https://bugs.webkit.org/show_bug.cgi?id=198802
Reviewed by Anders Carlsson.
- page/NavigatorBase.cpp:
(WebCore::NavigatorBase::platform const):
Drop dead architures.
- 1:43 PM Changeset in webkit [246374] by
-
- 5 edits in trunk/Source
[GTK] GTK_STOCK_* types have been deprecated since GTK 3.10
https://bugs.webkit.org/show_bug.cgi?id=198787
Patch by Ludovico de Nittis <ludovico.denittis@collabora.com> on 2019-06-12
Reviewed by Michael Catanzaro.
Source/WebCore:
No behaviour changes.
- platform/graphics/gtk/IconGtk.cpp:
(WebCore::lookupIconName):
- platform/graphics/gtk/ImageGtk.cpp:
(WebCore::loadMissingImageIconFromTheme):
Source/WebKit:
We completely remove the gtkStockIDFromContextMenuAction function in order to get rid of the stock items.
This function was used only in "createActionIfNeeded" where now we pass a nullptr as a stock_id variable.
- Shared/glib/WebContextMenuItemGlib.cpp:
(WebKit::gtkStockIDFromContextMenuAction):
- 1:38 PM Changeset in webkit [246373] by
-
- 3 edits in trunk/Tools
Replace double-quotes with single quotes in loadConfig.py
https://bugs.webkit.org/show_bug.cgi?id=198792
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/loadConfig.py:
- BuildSlaveSupport/ews-build/steps_unittest.py:
- 1:31 PM Changeset in webkit [246372] by
-
- 7 edits4 adds in trunk
[JSC] Polymorphic call stub's slow path should restore callee saves before performing tail call
https://bugs.webkit.org/show_bug.cgi?id=198770
Reviewed by Saam Barati.
JSTests:
- stress/poly-call-stub-slow-path-should-restore-callee-saves-when-doing-tail-call.js: Added.
(test):
Source/JavaScriptCore:
Polymorphic call stub is a bit specially patched in JS call site. Typical JS call site for tail calls
are the following.
if (callee == patchableCallee) {
restore callee saves for tail call
prepare for tail call
jump to the target function
}
restore callee saves for slow path
call the slow path function
And linking patches patchableCallee, target function, and slow path function. But polymorphic call stub
patches the aboveifstatement with the jump to the stub.
jump to the polymorphic call stub
This is because polymorphic call stub wants to use CallFrameShuffler to get scratch registers. As a result,
"restore callee saves for tail call" thing needs to be done in the polymorphic call stubs. While it is
correctly done for the major cases, we haveslowPathskips, and that path missed restoring callee saves.
This skip happens if the callee is non JSCell or non JS function, so typically, InternalFunction is handled
in that path.
This patch does that skips after restoring callee saves.
- bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::CallLinkInfo):
- bytecode/CallLinkInfo.h:
(JSC::CallLinkInfo::setUpCall):
(JSC::CallLinkInfo::calleeGPR):
(JSC::CallLinkInfo::setCalleeGPR): Deleted.
- jit/Repatch.cpp:
(JSC::revertCall):
(JSC::linkVirtualFor):
(JSC::linkPolymorphicCall):
- jit/Repatch.h:
- jit/ThunkGenerators.cpp:
(JSC::virtualThunkFor):
- 1:21 PM Changeset in webkit [246371] by
-
- 2 edits in trunk/LayoutTests
scrollbars/scrollbar-iframe-click-does-not-blur-content.html is timing out on WK1 testers
https://bugs.webkit.org/show_bug.cgi?id=198800
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations: Updating expecations for test
- 12:52 PM Changeset in webkit [246370] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed fix after r246360.
- 12:06 PM Changeset in webkit [246369] by
-
- 4 edits in trunk
REGRESSION (r245043) [Mac WK2 Debug] ASSERTION FAILED: m_services.isEmpty() && transports.size() <= maxTransportNumber seen with two http/wpt/webauthn/public-key-credential-* tests
https://bugs.webkit.org/show_bug.cgi?id=197917
<rdar://problem/51524958>
Reviewed by Brent Fulgham.
Source/WebKit:
This is a race condition that when a new request comes in the middle between the previous one finishes and the clearStateAsync is queued in the main thread.
Therefore, when the new request starts discovery, it will still see previous request's state.
To fix this issue, clearState() will be called unconditionally for every request. And a guard is added to clearState() to prevent double clearance.
- UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::AuthenticatorManager::makeCredential):
(WebKit::AuthenticatorManager::getAssertion):
(WebKit::AuthenticatorManager::clearState):
LayoutTests:
- platform/mac-wk2/TestExpectations:
- 11:40 AM Changeset in webkit [246368] by
-
- 60 edits1 copy in trunk/Source
Unreviewed, rolling out r246322.
https://bugs.webkit.org/show_bug.cgi?id=198796
"It's a huge page load regression on iOS" (Requested by
saamyjoon on #webkit).
Reverted changeset:
"Roll out PAC cage"
https://bugs.webkit.org/show_bug.cgi?id=198726
https://trac.webkit.org/changeset/246322
- 11:27 AM Changeset in webkit [246367] by
-
- 6 edits10 adds in trunk
(Async scrolling) Handle 'position:fixed' inside 'position:sticky' correctly.
https://bugs.webkit.org/show_bug.cgi?id=198788
<rdar://problem/51589759>
Reviewed by Simon Fraser.
Source/WebCore:
Handle 'position:fixed' inside 'position:sticky' correctly.
Also fix nested 'position:fixed' in case where there is an overflow scroller between them.
Tests: scrollingcoordinator/ios/fixed-inside-overflow-inside-fixed.html
scrollingcoordinator/ios/fixed-inside-sticky-frame.html
scrollingcoordinator/ios/fixed-inside-sticky-no-stacking-context-2.html
scrollingcoordinator/ios/fixed-inside-sticky-no-stacking-context.html
scrollingcoordinator/ios/fixed-inside-sticky-stacking-context.html
- page/scrolling/cocoa/ScrollingTreeFixedNode.mm:
(WebCore::ScrollingTreeFixedNode::applyLayerPositions):
Take offsets from sticky nodes into account.
- page/scrolling/cocoa/ScrollingTreeStickyNode.h:
(WebCore::ScrollingTreeStickyNode::layer):
- page/scrolling/cocoa/ScrollingTreeStickyNode.mm:
(WebCore::ScrollingTreeStickyNode::computeLayerPosition const):
Factor into a function.
(WebCore::ScrollingTreeStickyNode::applyLayerPositions):
(WebCore::ScrollingTreeStickyNode::scrollDeltaSinceLastCommit const):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::isViewportConstrainedFixedOrStickyLayer const):
We need to generate a scrolling tree node for position:fixed in nested case if there is an overflow scroller
between the layers.
LayoutTests:
- scrollingcoordinator/ios/fixed-inside-overflow-inside-fixed-expected.html: Added.
- scrollingcoordinator/ios/fixed-inside-overflow-inside-fixed.html: Added.
- scrollingcoordinator/ios/fixed-inside-sticky-frame-expected.html: Added.
- scrollingcoordinator/ios/fixed-inside-sticky-frame.html: Added.
- scrollingcoordinator/ios/fixed-inside-sticky-no-stacking-context-2-expected.html: Added.
- scrollingcoordinator/ios/fixed-inside-sticky-no-stacking-context-2.html: Added.
- scrollingcoordinator/ios/fixed-inside-sticky-no-stacking-context-expected.html: Added.
- scrollingcoordinator/ios/fixed-inside-sticky-no-stacking-context.html: Added.
- scrollingcoordinator/ios/fixed-inside-sticky-stacking-context-expected.html: Added.
- scrollingcoordinator/ios/fixed-inside-sticky-stacking-context.html: Added.
- 11:17 AM Changeset in webkit [246366] by
-
- 7 edits in branches/safari-607.3.1.2-branch/Source
Versioning.
- 11:16 AM Changeset in webkit [246365] by
-
- 2 edits in branches/safari-607.3.1.2-branch/Source/JavaScriptCore
Cherry-pick r246084. rdar://problem/51670920
Unreviewed, update exception scope for putByIndexBeyondVectorLength
https://bugs.webkit.org/show_bug.cgi?id=198477
- runtime/JSObject.cpp: (JSC::JSObject::putByIndexBeyondVectorLength):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246084 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:16 AM Changeset in webkit [246364] by
-
- 4 edits3 adds in branches/safari-607.3.1.2-branch
Cherry-pick r246040. rdar://problem/51670920
[JSC] JSObject::attemptToInterceptPutByIndexOnHole should use getPrototype instead of getPrototypeDirect
https://bugs.webkit.org/show_bug.cgi?id=198477
<rdar://problem/51299504>
Reviewed by Saam Barati.
Source/JavaScriptCore:
JSObject::attemptToInterceptPutByIndexOnHole uses getPrototypeDirect, but it should use getPrototype to
handle getPrototype methods in derived JSObject classes correctly.
- runtime/JSArrayInlines.h: (JSC::JSArray::pushInline):
- runtime/JSObject.cpp: (JSC::JSObject::putByIndex): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLength):
LayoutTests:
Ensure that JSWindow::getPrototype is used.
- http/tests/security/cross-frame-access-object-getPrototypeOf-in-put-expected.txt: Added.
- http/tests/security/cross-frame-access-object-getPrototypeOf-in-put.html: Added.
- http/tests/security/resources/cross-frame-iframe-for-object-getPrototypeOf-in-put-test.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:47 AM Changeset in webkit [246363] by
-
- 98 edits129 adds in trunk/LayoutTests
Update WPT service workers test up to 0df7c68
https://bugs.webkit.org/show_bug.cgi?id=198720
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- web-platform-tests/service-workers: Resynced.
LayoutTests:
- TestExpectations:
- tests-options.json:
- 10:26 AM Changeset in webkit [246362] by
-
- 2 edits in trunk
Also fix incorrect bug titles in ChangeLog
There's nothing we can do to fix the old commit messages, but at least we can fix the ChangeLog.
- 10:22 AM Changeset in webkit [246361] by
-
- 2 edits in trunk
Fix ChangeLog entries referencing the wrong bug and rdar
- 10:18 AM Changeset in webkit [246360] by
-
- 5 edits in trunk
Add mechanism and test case to check if ITP is active
https://bugs.webkit.org/show_bug.cgi?id=198694
<rdar://problem/51557704>
- 10:13 AM WebKitGTK/2.24.x edited by
- (diff)
- 9:58 AM Changeset in webkit [246359] by
-
- 7 edits in branches/safari-607-branch/Source
Versioning.
- 9:52 AM Changeset in webkit [246358] by
-
- 5 edits in trunk/Source/ThirdParty/libwebrtc
Make sure libwebrtc ObjC codec interfaces do not conflict
https://bugs.webkit.org/show_bug.cgi?id=198782
<rdar://problem/51503247>
Reviewed by Eric Carlson.
Rename some ObjC interfaces that we are now using in libwebrtc.
- Source/webrtc/sdk/objc/api/video_codec/RTCVideoDecoderVP8.h:
- Source/webrtc/sdk/objc/api/video_codec/RTCWrappedNativeVideoDecoder.h:
- Source/webrtc/sdk/objc/api/video_codec/RTCWrappedNativeVideoEncoder.h:
- libwebrtc.xcodeproj/project.pbxproj:
- 9:45 AM Changeset in webkit [246357] by
-
- 2 edits in trunk/Source/WebKit
Many layout tests are failing on iPad simulator due to unexpected viewport dimensions
https://bugs.webkit.org/show_bug.cgi?id=198789
<rdar://problem/51595519>
Reviewed by Simon Fraser.
Prevent the shrink-to-fit-content timer from activating on layout tests that use the testing viewport
configuration.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::immediatelyShrinkToFitContent):
- 9:29 AM Changeset in webkit [246356] by
-
- 7 edits in trunk/Source
Versioning.
- 9:28 AM Changeset in webkit [246355] by
-
- 1 copy in tags/Safari-608.1.29
Tag Safari-608.1.29.
- 9:21 AM Changeset in webkit [246354] by
-
- 3 edits4 deletes in trunk
Unreviewed, rolling out r246350.
r246350 Introduced a failing and timing out test svg/clip-path
/clip-hidpi.svg
Reverted changeset:
"[cairo][SVG] Putting multiple path elements in clippath
causes rendering artifacts"
https://bugs.webkit.org/show_bug.cgi?id=198701
https://trac.webkit.org/changeset/246350
- 9:07 AM Changeset in webkit [246353] by
-
- 11 edits in trunk
[WPE][GTK] Deprecate WebSQL APIs
https://bugs.webkit.org/show_bug.cgi?id=195011
Reviewed by Carlos Garcia Campos.
Source/WebKit:
- UIProcess/API/glib/WebKitSettings.cpp:
(webkit_settings_class_init):
- UIProcess/API/glib/WebKitWebContext.cpp:
(webkitWebContextConstructed):
- UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
(webkitWebsiteDataManagerGetProperty):
(webkit_website_data_manager_class_init):
- UIProcess/API/gtk/WebKitWebsiteData.h:
- UIProcess/API/gtk/WebKitWebsiteDataManager.h:
- UIProcess/API/wpe/WebKitWebsiteData.h:
- UIProcess/API/wpe/WebKitWebsiteDataManager.h:
Tools:
- MiniBrowser/gtk/main.c:
(gotWebsiteDataCallback):
- TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(testWebsiteDataConfiguration):
(testWebsiteDataEphemeral):
(testWebsiteDataDatabases):
- 7:50 AM Changeset in webkit [246352] by
-
- 4 edits in trunk
[WPE][GTK] Enable hyperlink auditing
https://bugs.webkit.org/show_bug.cgi?id=197845
Reviewed by Carlos Garcia Campos.
Source/WebKit:
- UIProcess/API/glib/WebKitSettings.cpp:
(webkit_settings_class_init):
Tools:
- TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
- 7:09 AM Changeset in webkit [246351] by
-
- 2 edits in trunk/Source/WebKit
[GTK] gtk_misc_set_alignment is deprecated since GTK 3.14
https://bugs.webkit.org/show_bug.cgi?id=198785
Patch by Ludovico de Nittis <ludovico.denittis@collabora.com> on 2019-06-12
Reviewed by Carlos Garcia Campos.
Replace the deprecated gtk_misc_set_alignment with halign and valign.
- UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
(createLabelWithLineWrap):
- 6:43 AM Changeset in webkit [246350] by
-
- 3 edits4 adds in trunk
[cairo][SVG] Putting multiple path elements in clippath causes rendering artifacts
https://bugs.webkit.org/show_bug.cgi?id=198701
<rdar://problem/51620347>
Reviewed by Don Olmstead.
Source/WebCore:
We need to save the current transformation matrix at the moment the image mask is set and set it again on
restore right before applying the mask. This patch also creates a pattern for the image mask surface and set its
transformation matrix according to the mask position, so that we don't need to save the mask rectangle too.
Tests: svg/clip-path/clip-hidpi-expected.svg
svg/clip-path/clip-hidpi.svg
svg/clip-path/clip-opacity-translate-expected.svg
svg/clip-path/clip-opacity-translate.svg
- platform/graphics/cairo/PlatformContextCairo.cpp:
(WebCore::PlatformContextCairo::restore):
(WebCore::PlatformContextCairo::pushImageMask):
LayoutTests:
- svg/clip-path/clip-hidpi-expected.svg: Added.
- svg/clip-path/clip-hidpi.svg: Added.
- svg/clip-path/clip-opacity-translate-expected.svg: Added.
- svg/clip-path/clip-opacity-translate.svg: Added.
- 3:39 AM Changeset in webkit [246349] by
-
- 3 edits in trunk/LayoutTests
[GTK] Some reftest fail with only one or two pixel differences in diff image
https://bugs.webkit.org/show_bug.cgi?id=168426
Unreviewed test gardening.
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
svg/clip-path/clip-opacity.html results in 0.01% image diff. Marked it as ImageOnlyFailure of Bug 168426.
Jun 11, 2019:
- 9:51 PM Changeset in webkit [246348] by
-
- 8 edits2 adds in trunk
[iOS] Idempotent text autosizing needs to react properly to viewport changes
https://bugs.webkit.org/show_bug.cgi?id=198736
<rdar://problem/50591911>
Reviewed by Zalan Bujtas.
Source/WebCore:
Minor refactoring and some adjustments around StyleResolver::adjustRenderStyleForTextAutosizing. See below for
more details, as well as the WebKit ChangeLog.
Test: fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-after-changing-initial-scale.html
- css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyleForTextAutosizing):
Rewrite this using early return statements, to make it easier to debug why elements fall out of text autosizing.
Additionally, this function currently bails if the initial scale is exactly 1, whereas we can really avoid text
autosizing in the case where the initial scale is at least 1; handle this by making idempotentTextSize return
immediately with the specified size, in the case where the scale is at least 1.
Lastly, remove the null check for element by making this method take an Element&, and only call this from
adjustRenderStyle if the element is nonnull (which matches adjustRenderStyleForSiteSpecificQuirks).
(WebCore::StyleResolver::adjustRenderStyle):
- css/StyleResolver.h:
- rendering/style/TextSizeAdjustment.cpp:
(WebCore::AutosizeStatus::idempotentTextSize):
Source/WebKit:
If idempotent text autosizing is enabled, respond to viewport initial scale changes by forcing a style recalc,
since the amount by which idempotent text autosizing boosts font sizes depends on the Page's initial scale.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::resetIdempotentTextAutosizingIfNeeded):
(WebKit::WebPage::viewportConfigurationChanged):
LayoutTests:
Add a new layout test that programmatically adjusts the meta viewport initial scale, and dumps the resulting
computed sizes of several paragraphs of text, after adjusting for text autosizing.
- fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-after-changing-initial-scale-expected.txt: Added.
- fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-after-changing-initial-scale.html: Added.
- 9:13 PM Changeset in webkit [246347] by
-
- 20 edits in trunk
LayoutTests/fast/events/touch/ios/double-tap-for-double-click* test cases are failing
https://bugs.webkit.org/show_bug.cgi?id=198764
<rdar://problem/51035459>
Reviewed by Wenson Hsieh.
Source/WebKit:
This patch replaces the existing, _doubleTapGestureRecognizerForDoubleClick based double click handling with a WebProcess based implementation using
the potentialTapAtPosition/commitPotentialTap infrastructure.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::doubleTapForDoubleClickDelay):
(WebKit::PageClientImpl::doubleTapForDoubleClickRadius):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _ensureNonBlockingDoubleTapGestureRecognizer]):
(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView gestureRecognizerShouldBegin:]):
(-[WKContentView _didStartProvisionalLoadForMainFrame]):
(-[WKContentView _doubleTapForDoubleClickDelay]):
(-[WKContentView _doubleTapForDoubleClickRadius]):
(-[WKContentView _doubleTapRecognizedForDoubleClick:]): Deleted.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::handleDoubleTapForDoubleClickAtPoint): Deleted.
- WebProcess/WebPage/WebPage.cpp:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handlePotentialDoubleTapForDoubleClickAtPoint):
(WebKit::WebPage::commitPotentialTap):
(WebKit::WebPage::handleDoubleTapForDoubleClickAtPoint): Deleted.
LayoutTests:
- fast/events/touch/ios/double-tap-for-double-click1.html:
- fast/events/touch/ios/double-tap-for-double-click2.html:
- fast/events/touch/ios/double-tap-for-double-click3.html:
- 8:18 PM Changeset in webkit [246346] by
-
- 7 edits in trunk
JSC should throw if proxy set returns falsish in strict mode context
https://bugs.webkit.org/show_bug.cgi?id=177398
Patch by Alexey Shvayka <Alexey Shvayka> on 2019-06-11
Reviewed by Yusuke Suzuki.
JSTests:
- Add coverage for Proxy
settrap returning falsy value in strict mode. - RegExp methods throw unless Set succeeds. Return
truefrom Proxysettraps to fix the tests.
- stress/proxy-set.js: Add 2 test cases.
- stress/regexp-match-proxy.js: Fix test.
- stress/regexp-replace-proxy.js: Fix test.
Source/JavaScriptCore:
Throw TypeError exception if Proxy's
settrap returns falsy value.
(step 6.c of https://tc39.es/ecma262/#sec-putvalue)
- runtime/ProxyObject.cpp:
(JSC::ProxyObject::performPut):
(JSC::ProxyObject::put):
(JSC::ProxyObject::putByIndexCommon):
- runtime/ProxyObject.h:
- 8:18 PM Changeset in webkit [246345] by
-
- 2 edits in trunk/Source/WebKit
[Apple Pay] ASSERTION FAILED: m_state == State::Activating under WebPaymentCoordinatorProxy::showPaymentUI
https://bugs.webkit.org/show_bug.cgi?id=198776
<rdar://problem/49123795>
Reviewed by Brian Weinstein.
It's possible that an active session is aborted before the completion handler passed to
platformShowPaymentUI() has executed. When that happens, m_state will be Idle even though we
assert that it is Activating. Fix this by returning early in the platformShowPaymentUI()
completion handler when m_state is Idle.
It's not possible to write a layout test for this because MockPaymentCoordinator handles
showing payment UI directly in the web process, so this code is not executed in layout
tests. The assertion can be reproduced manually by loading
https://w3c-test.org/payment-request/payment-is-showing.https.html and clicking the button.
- Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::showPaymentUI):
- 7:50 PM Changeset in webkit [246344] by
-
- 2 edits in trunk/Source/WebKit
[GTK] Fix a11y support in bubblewrap sandbox
https://bugs.webkit.org/show_bug.cgi?id=198777
Patch by Patrick Griffis <Patrick Griffis> on 2019-06-11
Reviewed by Michael Catanzaro.
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::bindA11y):
- 5:44 PM Changeset in webkit [246343] by
-
- 4 edits in trunk/Source
Flash when tapping compose button after switching to/from dark mode without restarting Mail.
https://bugs.webkit.org/show_bug.cgi?id=198769
rdar://problem/51370037
Reviewed by Tim Horton.
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj: Make LocalCurrentTraitCollection.h a private header.
Source/WebKit:
Accessing a dynamic color outside a normal UIView choke point without setting
UITraitCollection.currentTraitCollection first can cause undefined results.
Use LocalCurrentTraitCollection inside scrollViewBackgroundColor when accessing
the dynamic system UIColors. Also use systemBackgroundColor instead of white.
- UIProcess/API/Cocoa/WKWebView.mm:
(scrollViewBackgroundColor):
- 5:24 PM Changeset in webkit [246342] by
-
- 2 edits in trunk/Source/WebKit
Integrate scrollbar gestures for iOS
https://bugs.webkit.org/show_bug.cgi?id=198767
Reviewed by Tim Horton.
- UIProcess/ios/WKContentViewInteraction.mm:
(_WKGestureRecognizerIsBuiltInScrollViewGestureRecognizer):
(-[WKContentView gestureRecognizer:canPreventGestureRecognizer:]):
- 4:55 PM Changeset in webkit [246341] by
-
- 2 edits in trunk/Source/WebKit
Scrollbar can show as white on white in dark mode on iOS.
https://bugs.webkit.org/show_bug.cgi?id=198772
rdar://problem/51516743
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _updateScrollViewBackground]): Use UIScrollViewIndicatorStyleBlack instead
of UIScrollViewIndicatorStyleDefault to prevent getting a white scrollbar in dark mode.
- 4:40 PM Changeset in webkit [246340] by
-
- 3 edits4 deletes in trunk
Unreviewed, rolling out r246320.
https://bugs.webkit.org/show_bug.cgi?id=198773
New test is failing, and commit is causing another test to
fail. (Requested by ShawnRoberts on #webkit).
Reverted changeset:
"Web Inspector: AXI: Audit: image label test is throwing
spurious errors on elements with existing alt attr, but no
value: <img alt>"
https://bugs.webkit.org/show_bug.cgi?id=194754
https://trac.webkit.org/changeset/246320
- 4:32 PM Changeset in webkit [246339] by
-
- 29 edits in trunk
Sort the computed styles list
https://bugs.webkit.org/show_bug.cgi?id=198743
Reviewed by Simon Fraser
LayoutTests/imported/w3c:
- web-platform-tests/infrastructure/assumptions/html-elements-expected.txt:
Source/WebCore:
- css/CSSComputedStyleDeclaration.cpp:
LayoutTests:
- fast/css/getComputedStyle/computed-style-expected.txt:
- platform/gtk/fast/css/getComputedStyle/computed-style-expected.txt:
- platform/ios/fast/css/getComputedStyle/computed-style-expected.txt:
- platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
- platform/mac-sierra/fast/css/getComputedStyle/computed-style-expected.txt:
- platform/wpe/fast/css/getComputedStyle/computed-style-expected.txt:
- fast/css/getComputedStyle/computed-style-font-family-expected.txt:
- platform/gtk/fast/css/getComputedStyle/computed-style-font-family-expected.txt:
- platform/ios/fast/css/getComputedStyle/computed-style-font-family-expected.txt:
- platform/mac/fast/css/getComputedStyle/computed-style-font-family-expected.txt:
- platform/mac-sierra/fast/css/getComputedStyle/computed-style-font-family-expected.txt:
- platform/wpe/fast/css/getComputedStyle/computed-style-font-family-expected.txt:
- fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/gtk/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/mac-sierra/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/wpe/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- svg/css/getComputedStyle-basic-expected.txt:
- platform/gtk/svg/css/getComputedStyle-basic-expected.txt:
- platform/ios/svg/css/getComputedStyle-basic-expected.txt:
- platform/mac/svg/css/getComputedStyle-basic-expected.txt:
- platform/mac-sierra/svg/css/getComputedStyle-basic-expected.txt:
- platform/wpe/svg/css/getComputedStyle-basic-expected.txt:
- 4:00 PM Changeset in webkit [246338] by
-
- 2 edits in trunk/LayoutTests
[iOS] Adjust test fast/events/ios/keyup.html to ignore Shift keyups
https://bugs.webkit.org/show_bug.cgi?id=198768
<rdar://problem/46082743>
Reviewed by Brent Fulgham.
Ignore Shift keyups as in the future they will be emitted. We have existing test coverage for them
currently skipped in OpenSource that will be unskipped in the future once we enable ENABLE(FULL_KEYBOARD_ACCESS).
- fast/events/ios/keyup.html:
- 3:39 PM Changeset in webkit [246337] by
-
- 7 edits in branches/safari-608.1.27.20-branch/Source
Versioning.
- 3:31 PM Changeset in webkit [246336] by
-
- 2 edits in trunk/LayoutTests
Fix up test result following r245161.
<rdar://problem/51032967>
Until we get UIKit support, almost all keys, including the numpad comma key (on JIS keyboards)
report Dead for their key property and Unidentified for their keyIdentifier property.
- fast/events/ios/keydown-keyup-special-keys-in-non-editable-element-expected.txt:
- 3:12 PM Changeset in webkit [246335] by
-
- 1 copy in tags/Safari-608.1.27.20.2
Tag Safari-608.1.27.20.2.
- 2:44 PM Changeset in webkit [246334] by
-
- 2 edits in trunk/LayoutTests
r246018 introduced a falkey test on WK1
https://bugs.webkit.org/show_bug.cgi?id=196508
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 2:42 PM Changeset in webkit [246333] by
-
- 4 edits in trunk
Error message for non-callable Proxy
constructtrap is misleading
https://bugs.webkit.org/show_bug.cgi?id=198637
Patch by Alexey Shvayka <Alexey Shvayka> on 2019-06-11
Reviewed by Saam Barati.
JSTests:
- stress/proxy-construct.js:
Source/JavaScriptCore:
Just like other traps, Proxy
constructtrap is invoked with Call, not Construct.
- runtime/ProxyObject.cpp:
(JSC::performProxyConstruct): Tweak error message.
- 2:06 PM Changeset in webkit [246332] by
-
- 3 edits1 add in trunk
AI BitURShift's result should not be unsigned
https://bugs.webkit.org/show_bug.cgi?id=198689
<rdar://problem/51550063>
Reviewed by Saam Barati.
JSTests:
- stress/urshift-int32-overflow.js: Added.
(foo.):
(foo):
Source/JavaScriptCore:
Treating BitURShift's result as unsigned in the abstract interpreter incorrectly overflows it.
This breaks the DFG and FTL, since they assume that BitURShift's result is an int32 value, but
get a double constant from AI. Since the result will be converted to unsigned by UInt32ToNumber,
all we have to do is store the result as a signed int32.
- dfg/DFGAbstractInterpreterInlines.h:
- 1:34 PM Changeset in webkit [246331] by
-
- 2 edits in trunk/Source/WebKit
Fix non-internal builds after r246327.
- Platform/spi/ios/UIKitSPI.h:
- 1:14 PM Changeset in webkit [246330] by
-
- 8 edits1227 adds in trunk/LayoutTests
Import Content Security Policy Web Platform Tests
https://bugs.webkit.org/show_bug.cgi?id=198676
<rdar://problem/51533785>
Reviewed by Youenn Fablet.
Import tests as of 3840f46213d9a991acc9288e3863530f7502c05e (origin/master).
LayoutTests/imported/w3c:
- resources/import-expectations.json:
- resources/resource-files.json:
- web-platform-tests/content-security-policy/META.yml: Added.
- web-platform-tests/content-security-policy/README.css: Added.
(.code):
(.codeTitle):
(.highlight1):
(.highlight2):
(body):
- web-platform-tests/content-security-policy/README.html: Added.
- web-platform-tests/content-security-policy/base-uri/base-uri-allow.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/base-uri/base-uri-allow.sub.html: Added.
- web-platform-tests/content-security-policy/base-uri/base-uri-deny.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/base-uri/base-uri-deny.sub.html: Added.
- web-platform-tests/content-security-policy/base-uri/base-uri_iframe_sandbox.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/base-uri/base-uri_iframe_sandbox.sub.html: Added.
- web-platform-tests/content-security-policy/base-uri/report-uri-does-not-respect-base-uri.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/base-uri/report-uri-does-not-respect-base-uri.sub.html: Added.
- web-platform-tests/content-security-policy/base-uri/report-uri-does-not-respect-base-uri.sub.html.sub.headers: Added.
- web-platform-tests/content-security-policy/base-uri/w3c-import.log: Added.
- web-platform-tests/content-security-policy/blob/blob-urls-do-not-match-self.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/blob/blob-urls-do-not-match-self.sub.html: Added.
- web-platform-tests/content-security-policy/blob/blob-urls-match-blob.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/blob/blob-urls-match-blob.sub.html: Added.
- web-platform-tests/content-security-policy/blob/self-doesnt-match-blob.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/blob/self-doesnt-match-blob.sub.html: Added.
- web-platform-tests/content-security-policy/blob/star-doesnt-match-blob.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/blob/star-doesnt-match-blob.sub.html: Added.
- web-platform-tests/content-security-policy/blob/w3c-import.log: Added.
- web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html: Added.
- web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html: Added.
- web-platform-tests/content-security-policy/child-src/child-src-allowed.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/child-src/child-src-allowed.sub.html: Added.
[...]
- web-platform-tests/content-security-policy/worker-src/service-worker-src-script-fallback.https.sub.html: Added.
- web-platform-tests/content-security-policy/worker-src/service-worker-src-self-fallback.https.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/worker-src/service-worker-src-self-fallback.https.sub.html: Added.
- web-platform-tests/content-security-policy/worker-src/shared-child.sub.html: Added.
- web-platform-tests/content-security-policy/worker-src/shared-fallback.sub.html: Added.
- web-platform-tests/content-security-policy/worker-src/shared-list.sub.html: Added.
- web-platform-tests/content-security-policy/worker-src/shared-none.sub.html: Added.
- web-platform-tests/content-security-policy/worker-src/shared-self.sub.html: Added.
- web-platform-tests/content-security-policy/worker-src/shared-worker-src-child-fallback-blocked.sub.html: Added.
- web-platform-tests/content-security-policy/worker-src/shared-worker-src-child-fallback.sub.html: Added.
- web-platform-tests/content-security-policy/worker-src/shared-worker-src-default-fallback.sub.html: Added.
- web-platform-tests/content-security-policy/worker-src/shared-worker-src-script-fallback.sub.html: Added.
- web-platform-tests/content-security-policy/worker-src/shared-worker-src-self-fallback.sub.html: Added.
- web-platform-tests/content-security-policy/worker-src/w3c-import.log: Added.
LayoutTests:
- TestExpectations: Skip some tests for features we do not support.
- platform/mac-wk1/TestExpectations: Skip some tests.
- platform/win/TestExpectations: Ditto.
- tests-options.json:
- 12:40 PM Changeset in webkit [246329] by
-
- 2 edits in trunk/Tools
Open up xcfilelist processing to more platforms
https://bugs.webkit.org/show_bug.cgi?id=198675
<rdar://problem/51533238>
Reviewed by Jonathan Bedard.
Now that it's been tested, add AppleTV{OS,Simulator} to the set of
platforms on which to perform xcfilelist generation/updating.
- Scripts/webkitpy/generate_xcfilelists_lib/generators.py:
(JavaScriptCoreGenerator):
(WebCoreGenerator):
(WebKitGenerator):
- 12:33 PM Changeset in webkit [246328] by
-
- 6 edits in trunk/Source
Unreviewed build warning fixes
Source/JavaScriptCore:
Silence -Wreturn-type warning
- wasm/WasmTable.cpp:
(JSC::Wasm::Table::tryCreate):
Source/WebCore:
Silence -Wunused-parameter warning
- testing/Internals.cpp:
(WebCore::Internals::storeRegistrationsOnDisk):
Source/WebKit:
Silence -Wunused-variable warning
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::clearWebProcessIsPlayingAudibleMedia):
- 12:02 PM Changeset in webkit [246327] by
-
- 9 edits1 add in trunk/Source
Add logging for UI-side compositing hit-testing
https://bugs.webkit.org/show_bug.cgi?id=198739
Reviewed by Antti Koivisto.
Source/WebCore:
Export the TextStream output operator.
- platform/TouchAction.h:
Source/WebKit:
Make it easier to debug UI-side compositing hit-testing issues with a UIHitTesting log
channel, which logs information about the UIView hierarchy, which views are found by
hit-testing, and what touch-actions apply.
This log channel can be set by passing the argument '-WebKit2Logging "UIHitTesting"' when
launching a debug iOS MobileSafari instance.
- Platform/Logging.h:
- UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:
(-[UIView _web_findDescendantViewAtPoint:withEvent:]):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView hitTest:withEvent:]):
(-[WKContentView _handleTouchActionsForTouchEvent:]):
Source/WTF:
Make it possible to output an Objective-C object to TextStream, which will
log its -description.
Also add a template for OptionSet<> printing.
- WTF.xcodeproj/project.pbxproj:
- wtf/text/TextStream.h:
(WTF::operator<<):
- wtf/text/cocoa/TextStreamCocoa.mm: Added.
(WTF::TextStream::operator<<):
- 11:44 AM Changeset in webkit [246326] by
-
- 8 edits in trunk/Tools
webkitpy: Fix device ASan reporting, add testing for report configurations
https://bugs.webkit.org/show_bug.cgi?id=198756
Reviewed by Aakash Jain.
ASan results were reporting an incorrect style. This indicates we need to be testing this upload
configuration thoroughly in webkitpy.
- Scripts/webkitpy/port/config.py:
(clear_cached_configuration): Clearing configurations should clear the ASan cache as well.
- Scripts/webkitpy/port/device_port.py:
(DevicePort.configuration_for_upload): Add ASan as style.
- Scripts/webkitpy/port/ios_device_unittest.py:
(IOSDeviceTest):
(IOSDeviceTest.test_default_upload_configuration):
- Scripts/webkitpy/port/ios_simulator_unittest.py:
(IOSSimulatorTest.test_default_upload_configuration):
- Scripts/webkitpy/port/mock_drt_unittest.py:
(MockDRTPortTest.test_asan_upload_configuration):
- Scripts/webkitpy/port/port_testcase.py:
(test_default_upload_configuration):
(test_debug_upload_configuration):
(test_asan_upload_configuration):
(test_guard_malloc_configuration):
- Scripts/webkitpy/port/watch_simulator_unittest.py:
(WatchSimulatorTest):
(WatchSimulatorTest.test_default_upload_configuration):
- 11:17 AM Changeset in webkit [246325] by
-
- 3 edits in trunk/LayoutTests
Skip test http/tests/security/contentSecurityPolicy/navigate-self-to-data-url.html as
testRunner.queueLoad() does not support loading data URLs in Legacy WebKit on Mac and iOS
- platform/ios-wk1/TestExpectations:
- platform/mac-wk1/TestExpectations:
- 10:45 AM Changeset in webkit [246324] by
-
- 2 edits in trunk/LayoutTests
[Win] Layout test http/tests/security/contentSecurityPolicy/navigate-self-to-blob.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=198758
It is a longstanding known issue (since 2015) that navigating to a blob URL times out on Windows.
Further investigation is needed. Skip another test for now.
- platform/win/TestExpectations:
- 10:25 AM Changeset in webkit [246323] by
-
- 2 edits in trunk/LayoutTests
compositing/fixed-with-main-thread-scrolling.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=198757
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations: Updating expectations for flaky test
- 10:18 AM Changeset in webkit [246322] by
-
- 60 edits1 delete in trunk/Source
Roll out PAC cage
https://bugs.webkit.org/show_bug.cgi?id=198726
Reviewed by Keith Miller.
Source/bmalloc:
- bmalloc/Gigacage.h:
(Gigacage::isEnabled):
(Gigacage::caged):
(Gigacage::cagedMayBeNull): Deleted.
Source/JavaScriptCore:
This patch rolls out: r245064, r245145, r245168, r245313, r245432, r245622.
The resulting state we're in is we have Gigacage enabled on arm64.
There is no more PAC caging.
We're doing this because there are performance issues with PAC caging
that we haven't resolved yet.
- assembler/CPU.h:
(JSC::isARM64E): Deleted.
- assembler/MacroAssemblerARM64E.h:
(JSC::MacroAssemblerARM64E::tagArrayPtr): Deleted.
(JSC::MacroAssemblerARM64E::untagArrayPtr): Deleted.
(JSC::MacroAssemblerARM64E::removeArrayPtrTag): Deleted.
- b3/B3LowerToAir.cpp:
- b3/B3PatchpointSpecial.cpp:
(JSC::B3::PatchpointSpecial::admitsStack):
- b3/B3StackmapSpecial.cpp:
(JSC::B3::StackmapSpecial::forEachArgImpl):
(JSC::B3::StackmapSpecial::isArgValidForRep):
- b3/B3Validate.cpp:
- b3/B3ValueRep.cpp:
(JSC::B3::ValueRep::addUsedRegistersTo const):
(JSC::B3::ValueRep::dump const):
(WTF::printInternal):
- b3/B3ValueRep.h:
(JSC::B3::ValueRep::ValueRep):
(JSC::B3::ValueRep::isReg const):
- dfg/DFGOperations.cpp:
(JSC::DFG::newTypedArrayWithSize):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::jumpForTypedArrayIsNeuteredIfOutOfBounds):
(JSC::DFG::SpeculativeJIT::cageTypedArrayStorage):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset):
(JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage):
(JSC::FTL::DFG::LowerDFGToB3::compileGetTypedArrayByteOffset):
(JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray):
(JSC::FTL::DFG::LowerDFGToB3::compileDataViewGet):
(JSC::FTL::DFG::LowerDFGToB3::compileDataViewSet):
(JSC::FTL::DFG::LowerDFGToB3::caged):
(JSC::FTL::DFG::LowerDFGToB3::speculateTypedArrayIsNotNeutered):
(JSC::FTL::DFG::LowerDFGToB3::untagArrayPtr): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::removeArrayPtrTag): Deleted.
- heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::genericAddPointer):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::cageConditionally):
- jit/IntrinsicEmitter.cpp:
(JSC::IntrinsicGetterAccessCase::emitIntrinsicGetter):
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emitDirectArgumentsGetByVal):
(JSC::JIT::emitIntTypedArrayGetByVal):
(JSC::JIT::emitFloatTypedArrayGetByVal):
(JSC::JIT::emitIntTypedArrayPutByVal):
(JSC::JIT::emitFloatTypedArrayPutByVal):
- jit/PolymorphicCallStubRoutine.cpp:
(JSC::PolymorphicCallNode::clearCallLinkInfo):
- jit/RegisterSet.h:
- llint/LowLevelInterpreter64.asm:
- runtime/ArrayBuffer.cpp:
(JSC::SharedArrayBufferContents::SharedArrayBufferContents):
(JSC::SharedArrayBufferContents::~SharedArrayBufferContents):
(JSC::ArrayBufferContents::ArrayBufferContents):
(JSC::ArrayBufferContents::destroy):
(JSC::ArrayBufferContents::tryAllocate):
(JSC::ArrayBufferContents::makeShared):
(JSC::ArrayBufferContents::copyTo):
- runtime/ArrayBuffer.h:
(JSC::SharedArrayBufferContents::data const):
(JSC::ArrayBufferContents::data const):
(JSC::ArrayBuffer::data):
(JSC::ArrayBuffer::data const):
(JSC::ArrayBuffer::byteLength const):
- runtime/ArrayBufferView.cpp:
(JSC::ArrayBufferView::ArrayBufferView):
- runtime/ArrayBufferView.h:
(JSC::ArrayBufferView::baseAddress const):
(JSC::ArrayBufferView::setRangeImpl):
(JSC::ArrayBufferView::getRangeImpl):
(JSC::ArrayBufferView::byteLength const): Deleted.
- runtime/CachedTypes.cpp:
(JSC::CachedScopedArgumentsTable::encode):
(JSC::CachedScopedArgumentsTable::decode const):
- runtime/CagedBarrierPtr.h:
(JSC::CagedBarrierPtr::CagedBarrierPtr):
(JSC::CagedBarrierPtr::set):
(JSC::CagedBarrierPtr::get const):
(JSC::CagedBarrierPtr::getMayBeNull const):
(JSC::CagedBarrierPtr::operator== const):
(JSC::CagedBarrierPtr::operator!= const):
(JSC::CagedBarrierPtr::operator bool const):
(JSC::CagedBarrierPtr::setWithoutBarrier):
(JSC::CagedBarrierPtr::operator* const):
(JSC::CagedBarrierPtr::operator-> const):
(JSC::CagedBarrierPtr::operator[] const):
(JSC::CagedBarrierPtr::getUnsafe const): Deleted.
(JSC::CagedBarrierPtr::at const): Deleted.
- runtime/DataView.cpp:
(JSC::DataView::DataView):
- runtime/DataView.h:
(JSC::DataView::get):
(JSC::DataView::set):
- runtime/DirectArguments.cpp:
(JSC::DirectArguments::visitChildren):
(JSC::DirectArguments::overrideThings):
(JSC::DirectArguments::unmapArgument):
- runtime/DirectArguments.h:
- runtime/GenericArguments.h:
- runtime/GenericArgumentsInlines.h:
(JSC::GenericArguments<Type>::visitChildren):
(JSC::GenericArguments<Type>::initModifiedArgumentsDescriptor):
(JSC::GenericArguments<Type>::setModifiedArgumentDescriptor):
(JSC::GenericArguments<Type>::isModifiedArgumentDescriptor):
- runtime/GenericTypedArrayView.h:
- runtime/GenericTypedArrayViewInlines.h:
(JSC::GenericTypedArrayView<Adaptor>::GenericTypedArrayView):
- runtime/JSArrayBufferView.cpp:
(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
(JSC::JSArrayBufferView::JSArrayBufferView):
(JSC::JSArrayBufferView::finalize):
(JSC::JSArrayBufferView::slowDownAndWasteMemory):
- runtime/JSArrayBufferView.h:
(JSC::JSArrayBufferView::ConstructionContext::vector const):
(JSC::JSArrayBufferView::isNeutered):
(JSC::JSArrayBufferView::vector const):
(JSC::JSArrayBufferView::hasVector const): Deleted.
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized):
(JSC::JSGenericTypedArrayView<Adaptor>::estimatedSize):
(JSC::JSGenericTypedArrayView<Adaptor>::visitChildren):
- runtime/Options.h:
- runtime/ScopedArgumentsTable.cpp:
(JSC::ScopedArgumentsTable::clone):
(JSC::ScopedArgumentsTable::setLength):
- runtime/ScopedArgumentsTable.h:
- runtime/SymbolTable.h:
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::restoreWebAssemblyGlobalState):
(JSC::Wasm::AirIRGenerator::addCallIndirect):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::restoreWebAssemblyGlobalState):
(JSC::Wasm::B3IRGenerator::addCallIndirect):
- wasm/WasmBBQPlan.cpp:
(JSC::Wasm::BBQPlan::complete):
- wasm/WasmBinding.cpp:
(JSC::Wasm::wasmToWasm):
- wasm/WasmInstance.h:
(JSC::Wasm::Instance::cachedMemory const):
(JSC::Wasm::Instance::updateCachedMemory):
- wasm/WasmMemory.cpp:
(JSC::Wasm::Memory::Memory):
(JSC::Wasm::Memory::~Memory):
(JSC::Wasm::Memory::grow):
(JSC::Wasm::Memory::dump const):
- wasm/WasmMemory.h:
(JSC::Wasm::Memory::memory const):
- wasm/js/JSToWasm.cpp:
(JSC::Wasm::createJSToWasmWrapper):
- wasm/js/WebAssemblyFunction.cpp:
(JSC::WebAssemblyFunction::jsCallEntrypointSlow):
Source/WTF:
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/CagedPtr.h:
(WTF::CagedPtr::CagedPtr):
(WTF::CagedPtr::get const):
(WTF::CagedPtr::getMayBeNull const):
(WTF::CagedPtr::operator=):
(WTF::CagedPtr::operator== const):
(WTF::CagedPtr::operator!= const):
(WTF::CagedPtr::operator bool const):
(WTF::CagedPtr::operator* const):
(WTF::CagedPtr::operator-> const):
(WTF::CagedPtr::operator[] const):
(WTF::CagedPtr::getUnsafe const): Deleted.
(WTF::CagedPtr::at const): Deleted.
(WTF::CagedPtr::recage): Deleted.
- wtf/CagedUniquePtr.h:
(WTF::CagedUniquePtr::CagedUniquePtr):
(WTF::CagedUniquePtr::create):
(WTF::CagedUniquePtr::operator=):
(WTF::CagedUniquePtr::~CagedUniquePtr):
(WTF::CagedUniquePtr::destroy):
- wtf/Gigacage.h:
(Gigacage::caged):
(Gigacage::cagedMayBeNull): Deleted.
- wtf/PtrTag.h:
(WTF::tagArrayPtr): Deleted.
(WTF::untagArrayPtr): Deleted.
(WTF::removeArrayPtrTag): Deleted.
(WTF::retagArrayPtr): Deleted.
- wtf/TaggedArrayStoragePtr.h:
(WTF::TaggedArrayStoragePtr::TaggedArrayStoragePtr): Deleted.
(WTF::TaggedArrayStoragePtr::get const): Deleted.
(WTF::TaggedArrayStoragePtr::getUnsafe const): Deleted.
(WTF::TaggedArrayStoragePtr::resize): Deleted.
(WTF::TaggedArrayStoragePtr::operator bool const): Deleted.
- 9:53 AM Changeset in webkit [246321] by
-
- 2 edits in trunk/JSTests
Skip stress/ftl-gettypedarrayoffset-wasteful.js on Arm/Linux
Unreviewed gardening.
- stress/ftl-gettypedarrayoffset-wasteful.js:
Skipped on arm/linux as it always times out on the bot since a change
between r246270 and r246278 inclusive.
- 9:42 AM Changeset in webkit [246320] by
-
- 3 edits4 adds in trunk
Web Inspector: AXI: Audit: image label test is throwing spurious errors on elements with existing alt attr, but no value: <img alt>
https://bugs.webkit.org/show_bug.cgi?id=194754
<rdar://problem/48144534>
Patch by Greg Doolittle <gr3g@apple.com> on 2019-06-11
Reviewed by Chris Fleizach.
Source/WebCore:
Tests: accessibility/img-alt-attribute-empty-string.html
accessibility/img-alt-attribute-no-value.html
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::computedRoleString const):
LayoutTests:
- accessibility/img-alt-attribute-empty-string-expected.txt: Added.
- accessibility/img-alt-attribute-empty-string.html: Added.
- accessibility/img-alt-attribute-no-value-expected.txt: Added.
- accessibility/img-alt-attribute-no-value.html: Added.
- 9:26 AM Changeset in webkit [246319] by
-
- 2 edits in trunk/Source/WebCore
Add a quirk for washingtonpost.com and nytimes.com
https://bugs.webkit.org/show_bug.cgi?id=198678
Reviewed by Geoffrey Garen.
Covered by manual test.
- page/Quirks.cpp:
(WebCore::Quirks::hasWebSQLSupportQuirk const):
- 9:19 AM Changeset in webkit [246318] by
-
- 2 edits in trunk/LayoutTests
http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration.html is a flaky failure and timeout
https://bugs.webkit.org/show_bug.cgi?id=198185
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations: Skipping test on iOS
- 9:16 AM Changeset in webkit [246317] by
-
- 3 edits in trunk/LayoutTests
Unreviewed, fix test failures after r246292.
- inspector/timeline/timeline-recording.html:
- inspector/timeline/timeline-recording-expected.txt:
Filter the contents of
sampleStackTracesandsampleDurationswhen exporting.
- 8:55 AM Changeset in webkit [246316] by
-
- 3 edits2 adds in trunk
REGRESSION (iOS): Can't scroll litter-robot.com checkout form's dropdown menus
https://bugs.webkit.org/show_bug.cgi?id=198753
<rdar://problem/51355686>
Reviewed by Simon Fraser.
Source/WebKit:
If an element with 'overflow:scroll' also had 'visibility:hidden' or 'pointer-events:none' it would
capture touches and prevent scrolling of any overlapped scrollers.
- UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:
(WebKit::collectDescendantViewsAtPoint):
Filter out views with 'isUserInteractionEnabled == NO' (set for hidden and pointer-events:none layers).
This prevents it being considered as the first view hit when determining scrolling relationships.
(-[UIView _web_findDescendantViewAtPoint:withEvent:]):
No need to skip here anymore.
LayoutTests:
- fast/scrolling/ios/overflow-scroll-user-interaction-disabled-expected.txt: Added.
- fast/scrolling/ios/overflow-scroll-user-interaction-disabled.html: Added.
- 8:34 AM Changeset in webkit [246315] by
-
- 7 edits in branches/safari-608.1.27.20-branch/Source
Versioning.
- 8:33 AM Changeset in webkit [246314] by
-
- 2 edits in trunk/Source/WebCore
Include
touch-actionin the computed styles list
https://bugs.webkit.org/show_bug.cgi?id=198742
Reviewed by Antoine Quint.
- css/CSSComputedStyleDeclaration.cpp:
- 8:27 AM Changeset in webkit [246313] by
-
- 4 edits in trunk
tu-berlin university email web interface (Outlook Web App) goes directly to the light version instead of the normal web app
https://bugs.webkit.org/show_bug.cgi?id=198749
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Add user agent quirk for exchange.tu-berlin.de, which has lost the right to receive an
accurate user agent from WebKit.
- platform/UserAgentQuirks.cpp:
(WebCore::urlRequiresMacintoshPlatform):
Tools:
- TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
- 8:13 AM Changeset in webkit [246312] by
-
- 4 edits in trunk
MediaStreamAudioSourceNode::setFormat should check for m_sourceSampleRate equality
https://bugs.webkit.org/show_bug.cgi?id=198740
<rdar://problem/47088939>
Reviewed by Eric Carlson.
Source/WebCore:
Covered by tests that are now passing.
- Modules/webaudio/MediaStreamAudioSourceNode.cpp:
(WebCore::MediaStreamAudioSourceNode::setFormat):
LayoutTests:
- platform/mac/TestExpectations:
- 7:46 AM Changeset in webkit [246311] by
-
- 7 edits in trunk
Quotes are always inserted as smart quotes on stackblitz.com, causing compilation errors
https://bugs.webkit.org/show_bug.cgi?id=198735
<rdar://problem/51557159>
Reviewed by Megan Gardner.
Source/WebKit:
Add a flag in FocusedElementInformation to indicate whether spellchecking is allowed in the focused element.
If spellchecking is not allowed, then disable smart quotes and dashes, which matches behavior on macOS.
- Shared/FocusedElementInformation.cpp:
(WebKit::FocusedElementInformation::encode const):
(WebKit::FocusedElementInformation::decode):
- Shared/FocusedElementInformation.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView textInputTraits]):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getFocusedElementInformation):
Tools:
Add a test to verify that spellcheck="false" disables smart quotes and dashes, but any other value defers to the
user's preferences by using UITextSmartQuotesTypeDefault and UITextSmartDashesTypeDefault.
- TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(TestWebKitAPI::TEST):
- 5:52 AM Changeset in webkit [246310] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Replace gdk_screen_get_monitor_geometry and gdk_screen_get_monitor_workarea
https://bugs.webkit.org/show_bug.cgi?id=198750
Patch by Ludovico de Nittis <ludovico.denittis@collabora.com> on 2019-06-11
Reviewed by Carlos Garcia Campos.
Since GTK 3.22 gdk_screen_get_monitor_geometry and
gdk_screen_get_monitor_workarea has been deprecated.
No behavior change.
- platform/gtk/PlatformScreenGtk.cpp:
(WebCore::screenRect):
(WebCore::screenAvailableRect):
- 5:50 AM Changeset in webkit [246309] by
-
- 5 edits4 adds in trunk
[cairo][SVG] Putting multiple path elements in clippath causes rendering artifacts
https://bugs.webkit.org/show_bug.cgi?id=198701
Source/WebCore:
PlatformContextCairo::pushImageMask blits wrong position of the
surface to the background of masking objects. And, I don't know
the reason why this blitting is needed. Removed the blitting.
Reviewed by Carlos Garcia Campos.
Tests: svg/clip-path/clip-opacity.html
svg/clip-path/svg-in-html.html
- platform/graphics/cairo/PlatformContextCairo.cpp:
(WebCore::PlatformContextCairo::pushImageMask): Don't blit the
surface to the background.
LayoutTests:
Reviewed by Carlos Garcia Campos.
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
Unskipped svg/gradients/spreadMethodDiagonal3.svg and svg/gradients/spreadMethodDiagonal4.svg.
- svg/clip-path/clip-opacity-expected.html: Added.
- svg/clip-path/clip-opacity.html: Added.
- svg/clip-path/svg-in-html-expected.html: Added.
- svg/clip-path/svg-in-html.html: Added.
- 4:17 AM Changeset in webkit [246308] by
-
- 22 edits in trunk
[GTK] Remove option REDIRECTED_XCOMPOSITE_WINDOW
https://bugs.webkit.org/show_bug.cgi?id=198748
Reviewed by Žan Doberšek.
.:
- Source/cmake/OptionsGTK.cmake: Remove USE_REDIRECTED_XCOMPOSITE_WINDOW build option.
Source/WebKit:
It's unused and untested, we kept that code path only because the redirected window caused performance issues in
some drivers in embedded devices. Nowadays there are much better solutions for those cases like using WPE port
or GTK port under wayland instead of X11.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::create): Remove the ShouldDoFrameSync parameter since it always receives Yes.
(WebKit::ThreadedCompositor::ThreadedCompositor): Ditto.
(WebKit::ThreadedCompositor::createGLContext): Remove the code to handle the case of ShouldDoFrameSync being No,
since it's always Yes.
(WebKit::ThreadedCompositor::setNativeSurfaceHandleForCompositing): Deleted.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseRealize): Remove the code for !USE(REDIRECTED_XCOMPOSITE_WINDOW).
(webkitWebViewBaseUnrealize): Ditto.
(webkitWebViewBaseDraw): acceleratedBackingStore member can't be nullptr now.
(webkitWebViewBaseEnterAcceleratedCompositingMode): Ditto.
(webkitWebViewBaseUpdateAcceleratedCompositingMode): Ditto.
(webkitWebViewBaseExitAcceleratedCompositingMode): Ditto.
(webkitWebViewBaseMakeGLContextCurrent): Ditto.
(webkitWebViewBaseDidRelaunchWebProcess): Remove the code for !USE(REDIRECTED_XCOMPOSITE_WINDOW).
(webkitWebViewBasePageClosed): Ditto.
(webkitWebViewBaseRenderHostFileDescriptor): acceleratedBackingStore member can't be nullptr now.
- UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp:
(WebKit::DrawingAreaProxyCoordinatedGraphics::didUpdateBackingStoreState): Remove the code for !USE(REDIRECTED_XCOMPOSITE_WINDOW).
(WebKit::DrawingAreaProxyCoordinatedGraphics::setNativeSurfaceHandleForCompositing): Deleted.
(WebKit::DrawingAreaProxyCoordinatedGraphics::destroyNativeSurfaceHandleForCompositing): Deleted.
- UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h:
- UIProcess/gtk/AcceleratedBackingStore.cpp:
(WebKit::AcceleratedBackingStore::create): Add an assert to ensure we create an AcceleratedBackingStore.
- UIProcess/gtk/AcceleratedBackingStoreX11.cpp:
- UIProcess/gtk/AcceleratedBackingStoreX11.h:
- UIProcess/gtk/HardwareAccelerationManager.cpp:
(WebKit::HardwareAccelerationManager::HardwareAccelerationManager): Remove the code for !USE(REDIRECTED_XCOMPOSITE_WINDOW).
- WebProcess/WebPage/AcceleratedSurface.cpp:
(WebKit::AcceleratedSurface::create): Add an assert to ensure we create an AcceleratedSurface.
- WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
(WebKit::DrawingAreaCoordinatedGraphics::enterAcceleratedCompositingMode): Remove the code for !USE(REDIRECTED_XCOMPOSITE_WINDOW).
(WebKit::DrawingAreaCoordinatedGraphics::setNativeSurfaceHandleForCompositing): Deleted.
(WebKit::DrawingAreaCoordinatedGraphics::destroyNativeSurfaceHandleForCompositing): Deleted.
- WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h:
- WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::LayerTreeHost): m_surface can't be nullptr now.
(WebKit::LayerTreeHost::sizeDidChange): Ditto.
(WebKit::LayerTreeHost::deviceOrPageScaleFactorChanged): Ditto.
(WebKit::LayerTreeHost::nativeSurfaceHandleForCompositing): Ditto.
(WebKit::LayerTreeHost::didDestroyGLContext): Ditto.
(WebKit::LayerTreeHost::willRenderFrame): Ditto.
(WebKit::LayerTreeHost::didRenderFrame): Ditto.
(WebKit::LayerTreeHost::setNativeSurfaceHandleForCompositing): Deleted.
- WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:
- WebProcess/WebPage/DrawingArea.h:
- WebProcess/WebPage/DrawingArea.messages.in:
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::nativeWindowHandle): Deleted.
- WebProcess/WebPage/gtk/AcceleratedSurfaceX11.cpp:
- WebProcess/WebPage/gtk/AcceleratedSurfaceX11.h:
- 2:11 AM Changeset in webkit [246307] by
-
- 2 edits in trunk/Tools
Unreviewed, add myself to the JavaScriptCore watchlist.
- Scripts/webkitpy/common/config/watchlist:
- 2:02 AM Changeset in webkit [246306] by
-
- 2 edits in trunk/Tools
Unreviewed, change my status to be a WebKit reviewer
- Scripts/webkitpy/common/config/contributors.json:
- 1:01 AM Changeset in webkit [246305] by
-
- 2 edits in trunk/Source/WebKit
[WPE][GTK] bubblewrap sandbox should grant access to web extensions directory
https://bugs.webkit.org/show_bug.cgi?id=198734
Reviewed by Carlos Garcia Campos.
- UIProcess/API/glib/WebKitWebContext.cpp:
(webkit_web_context_set_web_extensions_directory):
- 12:43 AM Changeset in webkit [246304] by
-
- 9 edits in trunk/Tools
[WPE] Use new exported image API from fdo backend
https://bugs.webkit.org/show_bug.cgi?id=198558
Reviewed by Philippe Normand.
- WebKitTestRunner/PlatformWPE.cmake: Do not find fdo backend and libxkb again here, since WKTR depends on
WPEToolingBackends that already depends on fdo backend and libxkb
- wpe/backends/CMakeLists.txt: Bump fdo requirements to 1.3.0 version.
- wpe/backends/HeadlessViewBackend.cpp:
(WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::createSnapshot):
(WPEToolingBackends::HeadlessViewBackend::performUpdate):
(WPEToolingBackends::HeadlessViewBackend::displayBuffer):
- wpe/backends/HeadlessViewBackend.h:
- wpe/backends/ViewBackend.cpp:
(WPEToolingBackends::ViewBackend::initialize):
- wpe/backends/ViewBackend.h:
- wpe/backends/WindowViewBackend.cpp:
(WPEToolingBackends::WindowViewBackend::displayBuffer):
- wpe/backends/WindowViewBackend.h: