⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Nov 17, 2020:

10:37 PM Changeset in webkit [269945] by Diego Pino Garcia
  • 4 edits in trunk/Tools

[buildbot] Add buildAndTest bot for WebKitGTK (GTK4)
https://bugs.webkit.org/show_bug.cgi?id=213016

Reviewed by Carlos Alberto Lopez Perez.

Add a new post-commit bot to test WebKitGTK using GTK4 library.

The bot builds WebKitGTK and runs the following test suites: layout-test, api-test
and webdriver-test.

  • CISupport/build-webkit-org/config.json:
  • CISupport/build-webkit-org/factories.py:

(BuildAndTestAllButJSCFactory):
(BuildAndTestAllButJSCFactory.getProduct):
(BuildAndTestAllButJSCFactory.init):

  • CISupport/build-webkit-org/steps_unittest.py:
10:27 PM Changeset in webkit [269944] by Said Abou-Hallawa
  • 2 edits in trunk/Source/WebCore

REGRESSION(r269614): [iOS] WebContent crashes when entering Full Screen video with text captions
https://bugs.webkit.org/show_bug.cgi?id=219065

Reviewed by Tim Horton.

Pass a CGImageRef of the video caption to CALayer instead of passing a
NativeImage which is now a WebCore class.

  • platform/graphics/cocoa/TextTrackRepresentationCocoa.mm:

(WebCore::TextTrackRepresentationCocoa::update):

10:15 PM Changeset in webkit [269943] by timothy_horton@apple.com
  • 9 edits in trunk/Source/WebKit

GPU-process-hosted RemoteLayerBackingStore should flush off the main thread
https://bugs.webkit.org/show_bug.cgi?id=219063

Reviewed by Simon Fraser.

  • GPUProcess/graphics/RemoteRenderingBackend.h:
  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::display):
Construct the ImageBuffer flusher /after/ submitting the final DisplayList,
so that it takes the correct flush identifier.

  • GPUProcess/graphics/RemoteImageBuffer.h:
  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::didFlush):
(WebKit::RemoteRenderingBackend::flushDisplayListWasCommitted): Deleted.

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

(WebKit::RemoteImageBufferProxy::didFlush):
(WebKit::RemoteImageBufferProxy::lastSentFlushIdentifier const):
(WebKit::RemoteImageBufferProxy::waitForDidFlushOnSecondaryThread):
(WebKit::RemoteImageBufferProxy::hasPendingFlush const):
(WebKit::RemoteImageBufferProxy::waitForDidFlushWithTimeout):
(WebKit::ThreadSafeRemoteImageBufferFlusher::ThreadSafeRemoteImageBufferFlusher):
(WebKit::RemoteImageBufferProxy::commitFlushDisplayList): Deleted.
(WebKit::RemoteImageBufferProxy::isPendingFlush const): Deleted.
(WebKit::RemoteImageBufferProxy::timeoutWaitForFlushDisplayListWasCommitted): Deleted.
Some renames:

Rename flushDisplayListWasCommitted to didFlush; this is the back-message from
GPU process to Web Content process that a FlushContext display list item was completed successfully.
Rename isPendingFlush to hasPendingFlush, for grammar.
Rename timeoutWaitForFlushDisplayListWasCommitted to waitForDidFlushWithTimeout, for similar reasons.
Rename waitForFlushDisplayListWasCommitted to waitForDidFlush.
Rename commitFlushDisplayList to didFlush.

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::waitForDidFlush):
(WebKit::RemoteRenderingBackendProxy::didFlush):
(WebKit::RemoteRenderingBackendProxy::waitForFlushDisplayListWasCommitted): Deleted.
(WebKit::RemoteRenderingBackendProxy::flushDisplayListWasCommitted): Deleted.

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in:

Reimplement ThreadSafeRemoteImageBufferFlusher such that it waits
(on the RemoteLayerTreeDrawingArea CommitQueue, in the only current use of it)
for the correct flush reply to come in before continuing. This is analogous
to what we do for in-process buffers, where we call CGContextFlush()
in the flusher.

9:09 PM Changeset in webkit [269942] by Lauro Moura
  • 2 edits
    1 delete in trunk/LayoutTests

[GLIB] Update webaudio baselines after r269853

Unreviewed test gardening.

  • platform/glib/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-connections-expected.txt: Removed.
  • platform/glib/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-expected.txt: Removed.
  • platform/glib/webaudio/BiquadFilter/tail-time-peaking-expected.txt:
9:01 PM Changeset in webkit [269941] by Lauro Moura
  • 4 edits in trunk/LayoutTests

Gardening webrtc/audio-sframe.html flaky crashes

Unreviewed test gardening.

  • platform/glib/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/mac/TestExpectations:
7:46 PM Changeset in webkit [269940] by ysuzuki@apple.com
  • 74 edits
    17 adds in trunk

[JSC] Implement WebAssembly.Memory with shared
https://bugs.webkit.org/show_bug.cgi?id=218693

Reviewed by Saam Barati.

JSTests:

  • wasm/function-tests/trap-load-shared.js: Added.

(wasmFrameCountFromError):

  • wasm/function-tests/trap-store-shared.js: Added.
  • wasm/js-api/test_memory.js:

(binaryShouldNotParse):

  • wasm/stress/shared-memory-errors.js: Added.

(assert.throws):

  • wasm/stress/shared-wasm-memory-buffer.js: Added.

LayoutTests/imported/w3c:

  • web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-success.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/memory/constructor-shared.tentative.any-expected.txt:
  • web-platform-tests/wasm/jsapi/memory/constructor-shared.tentative.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/memory/constructor.any-expected.txt:
  • web-platform-tests/wasm/jsapi/memory/constructor.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/memory/grow.any-expected.txt:
  • web-platform-tests/wasm/jsapi/memory/grow.any.worker-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audiobuffer-interface/audiobuffer-copy-channel-expected.txt:

Source/JavaScriptCore:

This patch implements shared WebAssembly.Memory. This can be shared between workers like SharedArrayBuffer.
The most interesting thing of shared WebAssembly.Memory is that it is growable. The memory can be grown in
one thread, and immediately, it should be accessible in the other threads.

To achieve that, shared WebAssembly.Memory leverages signaling even if bounds-checking is mainly used.
If the fast memory is enabled, we just use it so that mprotect can make memory grown easily. But if fast memory
is disabled, we allocates requested VA region and perform bounds-checking with this VA. Since WebAssembly.Memory
always requires "maximum" size of memory, we can first allocate VA and map active part of memory first. And
when growing, we perform mprotect to the rest of the memory. Since this VA is not 4GB, we still need to perform
bounds-checking, but we perform bounds-checking with VA size instead of active memory size. As a result, even if
shared WebAssembly.Memory is grown, we do not need to update (1) pointer and (2) bounds-checking size.
The shared bounds-checking WebAssembly.Memory is something like below.

<================================================ maximum ============================><------------ other memory, protected by bounds-checking --...
<======= active ==========><===================== not active yet =====================>
[ if we access this, fault handler will detect it]
pointer bounds checking size

These "growable bound-checking memory" is now managed by wasm memory-manager. And fault handler is used even if fast memory is disabled.
And fault handler also accepts signals from Wasm LLInt code since both bounds-checkings + signalings are required to confine memory access even in
Wasm LLInt. This patch also renamed memory-size and size-register to bounds-checking-size and bounds-checking-size-register since this is no longer
a size of memory.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • llint/LLIntPCRanges.h:

(JSC::LLInt::isWasmLLIntPC):

  • llint/LowLevelInterpreter.asm:
  • llint/WebAssembly.asm:
  • runtime/JSArrayBuffer.h:

(JSC::JSArrayBuffer::toWrappedAllowShared):

  • runtime/JSArrayBufferView.h:
  • runtime/JSArrayBufferViewInlines.h:

(JSC::JSArrayBufferView::toWrappedAllowShared):

  • runtime/JSGenericTypedArrayView.h:

(JSC::JSGenericTypedArrayView<Adaptor>::toWrappedAllowShared):

  • runtime/Options.cpp:

(JSC::overrideDefaults):
(JSC::Options::initialize):

  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::AirIRGenerator):
(JSC::Wasm::AirIRGenerator::restoreWebAssemblyGlobalState):
(JSC::Wasm::AirIRGenerator::addCurrentMemory):
(JSC::Wasm::AirIRGenerator::emitCheckAndPreparePointer):
(JSC::Wasm::AirIRGenerator::addCall):
(JSC::Wasm::AirIRGenerator::addCallIndirect):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::B3IRGenerator):
(JSC::Wasm::B3IRGenerator::restoreWebAssemblyGlobalState):
(JSC::Wasm::B3IRGenerator::addCurrentMemory):
(JSC::Wasm::B3IRGenerator::emitCheckAndPreparePointer):
(JSC::Wasm::B3IRGenerator::addCall):
(JSC::Wasm::B3IRGenerator::addCallIndirect):

  • wasm/WasmBinding.cpp:

(JSC::Wasm::wasmToWasm):

  • wasm/WasmFaultSignalHandler.cpp:

(JSC::Wasm::trapHandler):
(JSC::Wasm::enableFastMemory):
(JSC::Wasm::prepareFastMemory):

  • wasm/WasmInstance.h:

(JSC::Wasm::Instance::cachedMemory const):
(JSC::Wasm::Instance::cachedBoundsCheckingSize const):
(JSC::Wasm::Instance::updateCachedMemory):
(JSC::Wasm::Instance::offsetOfCachedBoundsCheckingSize):
(JSC::Wasm::Instance::cachedMemorySize const): Deleted.
(JSC::Wasm::Instance::offsetOfCachedMemorySize): Deleted.

  • wasm/WasmMemory.cpp:

(JSC::Wasm::MemoryHandle::MemoryHandle):
(JSC::Wasm::MemoryHandle::~MemoryHandle):
(JSC::Wasm::Memory::Memory):
(JSC::Wasm::Memory::create):
(JSC::Wasm::Memory::tryCreate):
(JSC::Wasm::Memory::addressIsInGrowableOrFastMemory):
(JSC::Wasm::Memory::growShared):
(JSC::Wasm::Memory::grow):
(JSC::Wasm::Memory::dump const):
(JSC::Wasm::Memory::~Memory): Deleted.
(JSC::Wasm::Memory::addressIsInActiveFastMemory): Deleted.

  • wasm/WasmMemory.h:

(JSC::Wasm::Memory::addressIsInGrowableOrFastMemory):
(JSC::Wasm::Memory::operator bool const): Deleted.
(JSC::Wasm::Memory::memory const): Deleted.
(JSC::Wasm::Memory::size const): Deleted.
(JSC::Wasm::Memory::sizeInPages const): Deleted.
(JSC::Wasm::Memory::initial const): Deleted.
(JSC::Wasm::Memory::maximum const): Deleted.
(JSC::Wasm::Memory::mode const): Deleted.
(JSC::Wasm::Memory::check): Deleted.
(JSC::Wasm::Memory::offsetOfMemory): Deleted.
(JSC::Wasm::Memory::offsetOfSize): Deleted.
(JSC::Wasm::Memory::addressIsInActiveFastMemory): Deleted.

  • wasm/WasmMemoryInformation.cpp:

(JSC::Wasm::PinnedRegisterInfo::get):
(JSC::Wasm::PinnedRegisterInfo::PinnedRegisterInfo):

  • wasm/WasmMemoryInformation.h:

(JSC::Wasm::PinnedRegisterInfo::toSave const):

  • wasm/WasmMemoryMode.cpp:

(JSC::Wasm::makeString):

  • wasm/WasmMemoryMode.h:
  • wasm/js/JSToWasm.cpp:

(JSC::Wasm::createJSToWasmWrapper):

  • wasm/js/JSWebAssemblyInstance.cpp:

(JSC::JSWebAssemblyInstance::tryCreate):

  • wasm/js/JSWebAssemblyMemory.cpp:

(JSC::JSWebAssemblyMemory::buffer):
(JSC::JSWebAssemblyMemory::growSuccessCallback):

  • wasm/js/JSWebAssemblyMemory.h:
  • wasm/js/WebAssemblyFunction.cpp:

(JSC::WebAssemblyFunction::jsCallEntrypointSlow):

  • wasm/js/WebAssemblyMemoryConstructor.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • wasm/js/WebAssemblyMemoryPrototype.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • wasm/js/WebAssemblyModuleRecord.cpp:

(JSC::WebAssemblyModuleRecord::evaluate):

Source/WebCore:

In WebCore, we need three things.

  1. Shared WebAssembly.Memory serialization/deserialization

This patch adds structure-cloning for WebAssembly.Memory to pass it to the other workers. Cloning is available
only when the WebAssembly.Memory is shared mode. And it is only available when we are using it in postMessage.
So we cannot store WebAssembly.Memory in IndexedDB.

  1. WebCoreTypedArrayController::isAtomicsWaitAllowedOnCurrentThread

Atomics.wait is usable only in Workers, and *not* usable in Service Workers. When creating VM, we pass WorkerThreadType
and make WebCoreTypedArrayController::isAtomicsWaitAllowedOnCurrentThread return appropriate value.

  1. [AllowShared] support for WPT

WPT tests for this are broken, and tests are saying "PASS" while the feature is not implemented at all.
Now, the feature is actually implemented, and WPT tests start showing that [AllowShared] annotation in IDL
is not implemented. [AllowShared] is that, usually, DOM does not accept TypedArray originated from SharedArrayBuffer.
e.g. encodeInto(..., Uint8Array) DOM IDL throws an error if Uint8Array is backed by SharedArrayBuffer.
But in the limited places, we are explicitly allowing this. This is [AllowShared] annotation.
This patch implements that so that we keep passing TextEncoder / TextDecoder tests.

  • Headers.cmake:
  • Modules/indexeddb/server/IDBSerializationContext.cpp:

(WebCore::IDBServer::IDBSerializationContext::initializeVM):

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/IDLTypes.h:
  • bindings/js/CommonVM.cpp:

(WebCore::commonVMSlow):

  • bindings/js/JSDOMConvertBufferSource.h:

(WebCore::Detail::BufferSourceConverter::convert):
(WebCore::Converter<IDLArrayBuffer>::convert):
(WebCore::Converter<IDLDataView>::convert):
(WebCore::Converter<IDLInt8Array>::convert):
(WebCore::Converter<IDLInt16Array>::convert):
(WebCore::Converter<IDLInt32Array>::convert):
(WebCore::Converter<IDLUint8Array>::convert):
(WebCore::Converter<IDLUint16Array>::convert):
(WebCore::Converter<IDLUint32Array>::convert):
(WebCore::Converter<IDLUint8ClampedArray>::convert):
(WebCore::Converter<IDLFloat32Array>::convert):
(WebCore::Converter<IDLFloat64Array>::convert):
(WebCore::Converter<IDLArrayBufferView>::convert):
(WebCore::Converter<IDLAllowSharedAdaptor<T>>::convert):

  • bindings/js/JSDOMConvertUnion.h:
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::serialize):
(WebCore::CloneSerializer::CloneSerializer):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneDeserializer::deserialize):
(WebCore::CloneDeserializer::CloneDeserializer):
(WebCore::CloneDeserializer::readTerminal):
(WebCore::SerializedScriptValue::SerializedScriptValue):
(WebCore::SerializedScriptValue::computeMemoryCost const):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::deserialize):

  • bindings/js/SerializedScriptValue.h:
  • bindings/js/WebCoreJSClientData.cpp:

(WebCore::JSVMClientData::initNormalWorld):

  • bindings/js/WebCoreJSClientData.h:
  • bindings/js/WebCoreTypedArrayController.cpp:

(WebCore::WebCoreTypedArrayController::WebCoreTypedArrayController):
(WebCore::WebCoreTypedArrayController::isAtomicsWaitAllowedOnCurrentThread):

  • bindings/js/WebCoreTypedArrayController.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(IsAnnotatedType):
(GetAnnotatedIDLType):

  • bindings/scripts/IDLAttributes.json:
  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjDOMConstructor::construct):
(WebCore::jsTestObjPrototypeFunction_encodeIntoBody):
(WebCore::JSC_DEFINE_HOST_FUNCTION):

  • bindings/scripts/test/TestObj.idl:
  • dom/TextDecoder.idl:
  • dom/TextDecoderStreamDecoder.idl:
  • dom/TextEncoder.idl:
  • workers/DedicatedWorkerGlobalScope.cpp:

(WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::WorkerGlobalScope):

  • workers/WorkerGlobalScope.h:
  • workers/WorkerOrWorkletGlobalScope.cpp:

(WebCore::WorkerOrWorkletGlobalScope::WorkerOrWorkletGlobalScope):

  • workers/WorkerOrWorkletGlobalScope.h:
  • workers/WorkerOrWorkletScriptController.cpp:

(WebCore::WorkerOrWorkletScriptController::WorkerOrWorkletScriptController):

  • workers/WorkerOrWorkletScriptController.h:
  • workers/WorkerThreadType.h: Added.
  • workers/service/ServiceWorkerGlobalScope.cpp:

(WebCore::ServiceWorkerGlobalScope::ServiceWorkerGlobalScope):

  • worklets/WorkletGlobalScope.cpp:

(WebCore::WorkletGlobalScope::WorkletGlobalScope):

LayoutTests:

  • js/dom/resources/webassembly-memory-normal-fail-worker.js: Added.
  • js/dom/resources/webassembly-memory-shared-worker.js: Added.

(onmessage):

  • js/dom/webassembly-memory-normal-fail-expected.txt: Added.
  • js/dom/webassembly-memory-normal-fail.html: Added.
  • js/dom/webassembly-memory-shared-basic-expected.txt: Added.
  • js/dom/webassembly-memory-shared-basic.html: Added.
  • js/dom/webassembly-memory-shared-fail-expected.txt: Added.
  • js/dom/webassembly-memory-shared-fail.html: Added.
  • platform/win/TestExpectations:
  • storage/indexeddb/resources/shared-memory-structured-clone.js: Added.

(prepareDatabase):
(async startTests):
(testSharedWebAssemblyMemory):

  • storage/indexeddb/shared-memory-structured-clone-expected.txt: Added.
  • storage/indexeddb/shared-memory-structured-clone.html: Added.
7:19 PM Changeset in webkit [269939] by ysuzuki@apple.com
  • 25 edits in trunk

[JSC] Enable static public class fields
https://bugs.webkit.org/show_bug.cgi?id=219058

Reviewed by Saam Barati.

JSTests:

  • stress/big-int-as-property-name.js:
  • stress/class-fields-bytecode-cache.js:
  • stress/class-fields-computed-to-property-key.js:
  • stress/class-fields-function-name.js:
  • stress/class-fields-harmony.js:
  • stress/class-fields-private-use-eval.js:
  • stress/class-fields-proxy-define-property.js:
  • stress/class-fields-stress-instance.js:
  • stress/class-fields-to-property-key-const-string-ftl.js:
  • stress/class-fields-to-property-key-const-symbol-ftl.js:
  • stress/class-fields-to-property-key-slow-object-tostring-ftl.js:
  • stress/class-fields-to-property-key-slow-object-valueof-ftl.js:
  • stress/class-fields-to-property-key-string-object-ftl.js:
  • stress/class-fields-to-property-key-string-or-string-object-ftl.js:
  • stress/class-fields-with-special-names.js:
  • stress/generator-syntax.js:
  • stress/method-name.js:
  • stress/private-name-access-in-computed-property.js:
  • test262/config.yaml:

Source/JavaScriptCore:

Let's flip the runtime flag (usePublicStaticClassFields). And we drop usePublicClassFields flag since it is already shipped.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • bytecompiler/NodesCodegen.cpp:

(JSC::FunctionCallValueNode::emitBytecode):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseClass):

  • runtime/OptionsList.h:
5:31 PM Changeset in webkit [269938] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

REGRESSION (r269744): ASSERTION FAILED: m_hasValidContentHeight in WebCore::Layout::BoxGeometry::contentBoxHeight()
https://bugs.webkit.org/show_bug.cgi?id=219004
<rdar://problem/71459284>

Reviewed by Antti Koivisto.

Unfortunately we have to disable all percentage height/width content until after the integration codepath is fixed.
(in this case, the layout code assumes that percentage height values can always be resolved by climbing up on the
ancestor chain -worst case scenario we find the ICB which always has fixed height value.
However the integration codepath does not set the height on the fake ICB (RenderBlockFlow) even when the flow's height
is fixed and the IFC code can't climb farther up on the tree)

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForChild):

5:24 PM Changeset in webkit [269937] by Megan Gardner
  • 2 edits in trunk/Source/WebCore

Fix for localizableStrings.string in WebCore
https://bugs.webkit.org/show_bug.cgi?id=219060

Unreviewed build fix.

  • WebCore.xcodeproj/project.pbxproj:
4:49 PM Changeset in webkit [269936] by Fujii Hironori
  • 3 edits in trunk/Source/WebCore

Use SetForScope to temporarily change members of TextureMapperPaintOptions instead of copying all members
https://bugs.webkit.org/show_bug.cgi?id=219022

Reviewed by Carlos Garcia Campos.

All members of TextureMapperPaintOptions don't need to be copied
just to change some members. Use WTF::SetForScope to temporarily
change members of TextureMapperPaintOptions.

No behavior changes.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::paintSelf):
(WebCore::TextureMapperLayer::paintSelfAndChildren):
(WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
(WebCore::TextureMapperLayer::paintUsingOverlapRegions):
(WebCore::TextureMapperLayer::applyMask):
(WebCore::TextureMapperLayer::paintIntoSurface):
(WebCore::commitSurface):
(WebCore::TextureMapperLayer::paintWithIntermediateSurface):
(WebCore::TextureMapperLayer::paintRecursive):

  • platform/graphics/texmap/TextureMapperLayer.h:
4:42 PM Changeset in webkit [269935] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

[iOS] ASSERTION FAILED: Completion handler should always be called under WebKit::GPUProcess::didReceiveMessage
https://bugs.webkit.org/show_bug.cgi?id=219055
<rdar://problem/71508223>

Reviewed by Alex Christensen.

Make sure GPUProcess::prepareToSuspend() calls its completion handler to avoid delaying suspension
and avoid assertion hits in debug.

  • GPUProcess/GPUProcess.cpp:

(WebKit::GPUProcess::prepareToSuspend):

4:36 PM Changeset in webkit [269934] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Make sure ProcessThrottler is always holding a ProcessAssertion for its child process
https://bugs.webkit.org/show_bug.cgi?id=219053

Reviewed by Geoff Garen.

Make sure ProcessThrottler is always holding a ProcessAssertion for its child process. Previously, when changing the assertion
type (e.g. when going from background to foreground) we would release the previous assertion and then take the new one.

RunningBoard developers recommend that we wait until the new ProcessAssertion is taken before we release the previous one to
avoid churn. It is also important we always hold a ProcessAssertion at all times for the child process because the child process
may exit otherwise.

  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::setAssertionType):

4:04 PM Changeset in webkit [269933] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[CMake] generate_offset_extractor.rb missing build dependency for llint/WebAssembly.asm
https://bugs.webkit.org/show_bug.cgi?id=219043

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-11-17
Reviewed by Don Olmstead.

generate_offset_extractor.rb is missing a build dependency for llint/WebAssembly.asm. If
WebAssembly.asm is modified, generate_offset_extracter.rb needs to be run again.

  • CMakeLists.txt:
4:00 PM Changeset in webkit [269932] by Megan Gardner
  • 2 edits in trunk/Source/WebCore

Fix for localizableStrings.string in WebCore
https://bugs.webkit.org/show_bug.cgi?id=219056

Unreviewed build fix.

  • WebCore.xcodeproj/project.pbxproj:
3:53 PM Changeset in webkit [269931] by sbarati@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Add more info to the RELEASE_ASSERT inside Parser::parseInner
https://bugs.webkit.org/show_bug.cgi?id=219054
<rdar://problem/71506453>

Reviewed by Mark Lam.

We have some crashes here, and it'll be helpful for the crashlogs to have
more info in the register state.

  • parser/Lexer.h:

(JSC::Lexer::codeLength):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseInner):

3:51 PM Changeset in webkit [269930] by Ryan Haddad
  • 2 edits in trunk/Source/WTF

Build fails on internal simulator builds due to missing enum kCVPixelFormatType_AGX_420YpCbCr8BiPlanarVideoRange
https://bugs.webkit.org/show_bug.cgi?id=219030

Unreviewed build fix for macCatalyst.

  • wtf/PlatformHave.h:
3:49 PM Changeset in webkit [269929] by commit-queue@webkit.org
  • 15 edits in trunk

Add support for the Wasm i32 sign-extension-ops proposal
https://bugs.webkit.org/show_bug.cgi?id=210302

Patch by Sergey Rubanov <Sergey Rubanov> on 2020-11-17
Reviewed by Yusuke Suzuki.

JSTests:

  • wasm/spec-tests/i32.wast.js:
  • wasm/spec-tests/i64.wast.js:
  • wasm/wasm.json:

Source/JavaScriptCore:

  • llint/LowLevelInterpreter.asm:
  • llint/WebAssembly.asm:
  • offlineasm/arm64.rb:
  • offlineasm/cloop.rb:
  • offlineasm/instructions.rb:
  • offlineasm/x86.rb:
  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::addOp<OpType::I32Extend8S>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I32Extend16S>):

  • wasm/wasm.json:

LayoutTests:

  • workers/wasm-references/test.js:
3:30 PM Changeset in webkit [269928] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

[macOS] Stop using RunLoopType=_WebKit starting in Big Sur
https://bugs.webkit.org/show_bug.cgi?id=219052
<rdar://problem/61742969>

Reviewed by Geoffrey Garen.

Stop using RunLoopType=_WebKit starting in Big Sur. This was a temporary hack so that our WebProcesses would get the right
scheduling priority. Starting with Big Sur, the right way to do this is to use _ProcessType=App and restore the RunLoopType
to be NSRunLoop.

After this change, I have verified that the WebContent's main thread still runs at UserInteractive QoS. App Nap is also
still working as expected.

  • Configurations/WebContentService.xcconfig:
  • WebProcess/EntryPoint/Cocoa/XPCService/WebContentService/Info-OSX.plist:
2:59 PM Changeset in webkit [269927] by Adrian Perez de Castro
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix for non-unified builds.

  • rendering/RenderBox.cpp: Add missing LayoutIntegrationLineIterator.h header.
2:39 PM Changeset in webkit [269926] by Alan Coon
  • 1 copy in tags/Safari-611.1.5.1

Tag Safari-611.1.5.1.

2:35 PM Changeset in webkit [269925] by Alan Coon
  • 8 edits in branches/safari-611.1.5-branch/Source

Versioning.

WebKit-7611.1.5.1

2:25 PM Changeset in webkit [269924] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

[macOS] Issue sandbox extension to trust service if Media in the GPU process is not enabled
https://bugs.webkit.org/show_bug.cgi?id=218986
<rdar://problem/71439885>

Reviewed by Brent Fulgham.

Since Media is using the trust service, issue a sandbox extension to the WebContent process if Media in the GPU process is not enabled.

  • UIProcess/WebPageProxy.cpp:

(WebKit::mediaRelatedMachServices):

  • WebProcess/com.apple.WebProcess.sb.in:
2:14 PM Changeset in webkit [269923] by Andres Gonzalez
  • 10 edits in trunk/Source/WebCore

Implementation of AXCoreObject::innerHTML and outerHTML.
https://bugs.webkit.org/show_bug.cgi?id=219037

Reviewed by Chris Fleizach.

No change in functionality, debugging code.

  • Added innerHTML and outerHTmL methods to AXCoreObject for debugging

purposes.

  • The AXIsolatedObject implementation of these methods forwards the call

to the associated AXObject and does a lazy caching of the Inner/OuterHTML
properties.

  • The AXLogger class is now declared and defined only #if !LOG_DISABLED.
  • accessibility/AXLogger.cpp:

(WebCore::AXLogger::log):
(WebCore::operator<<):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::innerHTML const):
(WebCore::AccessibilityObject::outerHTML const):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::innerHTML const):
(WebCore::AXIsolatedObject::outerHTML const):

  • accessibility/isolatedtree/AXIsolatedObject.h:
  • accessibility/isolatedtree/AXIsolatedTree.h:
  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(-[WebAccessibilityObjectWrapperBase innerHTML]):
(-[WebAccessibilityObjectWrapperBase outerHTML]):

1:37 PM Changeset in webkit [269922] by commit-queue@webkit.org
  • 17 edits
    2 adds in trunk

[JSC] Add support for static public class fields
https://bugs.webkit.org/show_bug.cgi?id=194095

Patch by Xan López <Xan Lopez> on 2020-11-17
Reviewed by Yusuke Suzuki.

JSTests:

Enable static public fields, and import new stress tests from the
V8 project. Also split the support code into a separate file
(harmony-support.js) to avoid duplication.

  • test262/config.yaml: enable static public fields.
  • stress/class-fields-harmony.js: use the new support file.
  • stress/class-fields-static-harmony.js: Added.
  • stress/resources/harmony-support.js: Added.

Source/JavaScriptCore:

Add support for static public class fields. We can reuse most of
the existing machinery available for instance fields. Like
instance fields, static fields are initialized with a synthetic
function. This is done to allow us to trivially follow the scoping
rules in the spec. As it happens with instance fields this could
be inlined in a future patch.

A lot of small changes in many files are just a matter of doing
s/instance/class/ for variables related to class fields, which
before were assuming there are only instance fields implemented.

  • bytecode/UnlinkedFunctionExecutable.cpp:

(JSC::generateUnlinkedFunctionCodeBlock): do s/instanceField/classField/.

  • bytecode/UnlinkedFunctionExecutable.h: ditto.
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitNewClassFieldInitializerFunction): ditto.

  • bytecompiler/BytecodeGenerator.h: ditto, plus add a parameter

for static field locations in emitDefineClassElements.

  • bytecompiler/NodesCodegen.cpp:

(JSC::PropertyListNode::emitBytecode): save static fields
locations when going through the property list.
(JSC::PropertyListNode::emitSaveComputedFieldName): consider
static fields here too.
(JSC::ClassExprNode::emitBytecode): call the initializer for
static fields as the very last action of the class creation.

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createDefineField): field nodes can be static
too now.

  • parser/NodeConstructors.h:

(JSC::DefineFieldNode::DefineFieldNode): ditto.

  • parser/Nodes.h: ditto.
  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseInner): s/instanceField/classField/
(JSC::Parser<LexerType>::parseClass): consider static fields.
(JSC::Parser<LexerType>::parseInstanceFieldInitializerSourceElements):
s/instanceField/classField/, and consider static fields.

  • parser/Parser.h:

(JSC::Parser<LexerType>::parse): s/instanceField/classField/
(JSC::parse): ditto.

  • runtime/JSFunction.cpp:

(JSC::JSFunction::setFunctionName): s/instanceField/classField/

  • runtime/OptionsList.h: add option to enable/disable static public fields.
1:14 PM Changeset in webkit [269921] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Disable percentage type min/max-width/height
https://bugs.webkit.org/show_bug.cgi?id=219045

Reviewed by Antti Koivisto.

The integration layer code does not support them yet.

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForChild):

1:05 PM Changeset in webkit [269920] by Matt Lewis
  • 2 edits in trunk/Tools

Big Sur testers fail to find proper archives due to architecture keys.
https://bugs.webkit.org/show_bug.cgi?id=219039

Reviewed by Aakash Jain.

  • CISupport/build-webkit-org/config.json:
1:01 PM Changeset in webkit [269919] by Jonathan Bedard
  • 3 edits
    2 adds
    1 delete in trunk/Tools

[webkitcorepy] Support mocking request network calls.
https://bugs.webkit.org/show_bug.cgi?id=218927
<rdar://problem/71389720>

Rubber-stamped by Aakash Jain.

  • Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Bump version.
  • Scripts/libraries/webkitcorepy/webkitcorepy/mocks/init.py:
  • Scripts/libraries/webkitcorepy/webkitcorepy/mocks/requests.py: Moved to requests_.
  • Scripts/libraries/webkitcorepy/webkitcorepy/mocks/requests_.py: Copied from Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/requests.py.

(Response): Object mimicking the structure of Requests's response object, useful for mocking.
(Requests): Context manager which will intercept http and https requests to a specific host.
(Requests.exit):

  • Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks/requests_unittest.py: Added.

(MockRequests):
(MockRequests.test_basic):
(MockRequests.test_fallback):

1:00 PM Changeset in webkit [269918] by sihui_liu@apple.com
  • 15 edits
    1 delete in trunk/Source

Add a default action for SpeechRecognition permission request
https://bugs.webkit.org/show_bug.cgi?id=219021

Reviewed by Youenn Fablet.

Source/WebCore:

Manually tested in Minibrowser.

  • en.lproj/Localizable.strings:

Source/WebKit:

When there is no delegate or selector for deciding user permission on speech recognition, force an alert and let
user decide. This is currently what we do for UserMedia permission request, and it makes testing easier.

  • SourcesCocoa.txt:
  • UIProcess/API/APIUIClient.h:

(API::UIClient::decidePolicyForSpeechRecognitionPermissionRequest):

  • UIProcess/Cocoa/MediaPermissionUtilities.mm:

(WebKit::visibleDomain):
(WebKit::alertMessageText):
(WebKit::allowButtonText):
(WebKit::doNotAllowButtonText):
(WebKit::alertForPermission):

  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIClient::decidePolicyForSpeechRecognitionPermissionRequest):

  • UIProcess/Cocoa/UserMediaPermissionRequestProxy.mm: Removed. Moved alert code to MediaPermissionUtilities so

it can be shared between UserMedia and SpeechRecognition.

  • UIProcess/MediaPermissionUtilities.h:
  • UIProcess/SpeechRecognitionPermissionManager.cpp:

(WebKit::SpeechRecognitionPermissionManager::decideByDefaultAction):

  • UIProcess/SpeechRecognitionPermissionManager.h:
  • UIProcess/UserMediaPermissionRequestProxy.cpp:

(WebKit::UserMediaPermissionRequestProxy::doDefaultAction):

  • UIProcess/UserMediaPermissionRequestProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestSpeechRecognitionPermissionByDefaultAction):

  • UIProcess/WebPageProxy.h:
  • WebKit.xcodeproj/project.pbxproj:
12:25 PM Changeset in webkit [269917] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Check com.apple.private.webkit.use-xpc-endpoint only on internal builds
https://bugs.webkit.org/show_bug.cgi?id=215423

Patch by Saagar Jha <saagar@saagarjha.com> on 2020-11-17
Reviewed by Per Arne Vollan.

Signing with com.apple.private entitlements can only be done by Apple internally. Thus,
it should only checked for internal builds.

  • Shared/Cocoa/XPCEndpoint.mm:

(WebKit::XPCEndpoint::XPCEndpoint): Wrap check in USE(APPLE_INTERNAL_SDK).

  • Shared/Cocoa/XPCEndpointClient.mm:

(WebKit::XPCEndpointClient::setEndpoint): Wrap check in USE(APPLE_INTERNAL_SDK).

12:24 PM Changeset in webkit [269916] by Antti Koivisto
  • 11 edits in trunk/Source/WebCore

[LFC][Integration] Cache inline boxes in logical order to run iterator
https://bugs.webkit.org/show_bug.cgi?id=219031

Reviewed by Zalan Bujtas.

Expand use of the existing cache to cover line traversal. This will make porting code in VisibleUnit.cpp to iterator easier.

Also a bunch of related cleanups.

  • layout/integration/LayoutIntegrationLineIterator.cpp:

(WebCore::LayoutIntegration::LineIterator::logicalStartRun const):
(WebCore::LayoutIntegration::LineIterator::logicalEndRun const):
(WebCore::LayoutIntegration::LineIterator::logicalStartRunWithNode const):
(WebCore::LayoutIntegration::LineIterator::logicalEndRunWithNode const):

  • layout/integration/LayoutIntegrationLineIterator.h:
  • layout/integration/LayoutIntegrationLineIteratorLegacyPath.h:

(WebCore::LayoutIntegration::LineIteratorLegacyPath::logicalStartRun const):
(WebCore::LayoutIntegration::LineIteratorLegacyPath::logicalEndRun const):
(WebCore::LayoutIntegration::LineIteratorLegacyPath::logicalStartRunWithNode const): Deleted.
(WebCore::LayoutIntegration::LineIteratorLegacyPath::logicalEndRunWithNode const): Deleted.

  • layout/integration/LayoutIntegrationLineIteratorModernPath.h:

(WebCore::LayoutIntegration::LineIteratorModernPath::logicalStartRun const):
(WebCore::LayoutIntegration::LineIteratorModernPath::logicalEndRun const):
(WebCore::LayoutIntegration::LineIteratorModernPath::logicalStartRunWithNode const): Deleted.
(WebCore::LayoutIntegration::LineIteratorModernPath::logicalEndRunWithNode const): Deleted.

  • layout/integration/LayoutIntegrationRunIterator.cpp:

(WebCore::LayoutIntegration::RunIterator::traverseNextOnLineInLogicalOrder):
(WebCore::LayoutIntegration::RunIterator::traversePreviousOnLineInLogicalOrder):
(WebCore::LayoutIntegration::firstTextRunInTextOrderFor):

  • layout/integration/LayoutIntegrationRunIterator.h:
  • layout/integration/LayoutIntegrationRunIteratorLegacyPath.h:

(WebCore::LayoutIntegration::RunIteratorLegacyPath::RunIteratorLegacyPath):
(WebCore::LayoutIntegration::RunIteratorLegacyPath::traverseNextTextRunInTextOrder):
(WebCore::LayoutIntegration::RunIteratorLegacyPath::traverseNextOnLineInLogicalOrder):
(WebCore::LayoutIntegration::RunIteratorLegacyPath::traversePreviousOnLineInLogicalOrder):
(WebCore::LayoutIntegration::RunIteratorLegacyPath::inlineTextBox const):
(WebCore::LayoutIntegration::RunIteratorLegacyPath::initializeLogicalOrderCacheForLine):
(WebCore::LayoutIntegration::RunIteratorLegacyPath::traverseNextInlineBoxInCacheOrder):
(WebCore::LayoutIntegration::RunIteratorLegacyPath::traversePreviousInlineBoxInCacheOrder):
(WebCore::LayoutIntegration::RunIteratorLegacyPath::nextInlineTextBoxInTextOrder const): Deleted.

  • layout/integration/LayoutIntegrationRunIteratorModernPath.h:

(WebCore::LayoutIntegration::RunIteratorModernPath::traverseNextOnLineInLogicalOrder):
(WebCore::LayoutIntegration::RunIteratorModernPath::traversePreviousOnLineInLogicalOrder):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::getLogicalStartBoxWithNode const): Deleted.
(WebCore::RootInlineBox::getLogicalEndBoxWithNode const): Deleted.

  • rendering/RootInlineBox.h:
11:34 AM Changeset in webkit [269915] by Megan Gardner
  • 2 edits in trunk/Source/WebCore

Speculative fix for localizableStrings.string in WebCore
https://bugs.webkit.org/show_bug.cgi?id=219042

Unreviewed build fix.

  • WebCore.xcodeproj/project.pbxproj:
11:04 AM Changeset in webkit [269914] by graouts@webkit.org
  • 6 edits in trunk/Source/WebCore

[Web Animations] Move all effect-specific parts of WebAnimation::timeToNextTick() to effect classes
https://bugs.webkit.org/show_bug.cgi?id=219028

Reviewed by Antti Koivisto.

Most of WebAnimation::timeToNextTick() is code that is specific to effects. We move this code out to
KeyframeEffect and a virtual method with a default implementation on AnimationEffect. This is the first
step towards adding more smarts to this method such as avoiding style recalcs if there are no keyframes
set up on a KeyframeEffect or running fewer style recalcs when animating a discrete property.

No new tests since this we are just moving code around.

  • animation/AnimationEffect.h:

(WebCore::AnimationEffect::timeToNextTick const):

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::timeToNextTick const):

  • animation/KeyframeEffect.h:

(WebCore::KeyframeEffect::isCompletelyAccelerated const): Make this method private since it is now only
called by KeyframeEffect.

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::timeToNextTick const):
(WebCore::WebAnimation::isCompletelyAccelerated const): Deleted. This method no longer has any call sites.

  • animation/WebAnimation.h:
10:59 AM Changeset in webkit [269913] by Aditya Keerthi
  • 5 edits
    12 adds in trunk

[iOS][FCR] Add new look for checkboxes
https://bugs.webkit.org/show_bug.cgi?id=218808
<rdar://problem/71286037>

Reviewed by Wenson Hsieh.

Source/WebCore:

Tests: fast/forms/ios/form-control-refresh/checkbox/border.html

fast/forms/ios/form-control-refresh/checkbox/checked-appearance.html
fast/forms/ios/form-control-refresh/checkbox/ignored-properties.html
fast/forms/ios/form-control-refresh/checkbox/indeterminate-appearance.html
fast/forms/ios/form-control-refresh/checkbox/width-height.html

  • css/iOSFormControlRefresh.css:

(input[type="checkbox"]):

Use "border: initial" and "box-sizing: border-box" to match macOS, now
that the native checkbox styles on macOS and iOS are similar.

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintCheckboxDecorations):

Move away from using paintCheckboxDecorations to paintCheckbox for the
new design. This is necessary to avoid painting custom borders and
backgrounds for native checkboxes, matching macOS. Painting both a
CSS background as well as the native checkbox can lead to background
bleeding. Customizations can still be made using "-webkit-appearance: none".

(WebCore::RenderThemeIOS::paintCheckbox):

A new implementation for painting checkboxes to match the updated
design. The checkmark drawing was generated using SF Symbols.

LayoutTests:

Added tests to verify the stylability of native checkboxes and to verify
that different checkbox states are painted with a different appearance.

  • fast/forms/ios/form-control-refresh/checkbox/border-expected-mismatch.html: Added.
  • fast/forms/ios/form-control-refresh/checkbox/border.html: Added.
  • fast/forms/ios/form-control-refresh/checkbox/checked-appearance-expected-mismatch.html: Added.
  • fast/forms/ios/form-control-refresh/checkbox/checked-appearance.html: Added.
  • fast/forms/ios/form-control-refresh/checkbox/ignored-properties-expected.html: Added.
  • fast/forms/ios/form-control-refresh/checkbox/ignored-properties.html: Added.
  • fast/forms/ios/form-control-refresh/checkbox/indeterminate-appearance-expected-mismatch.html: Added.
  • fast/forms/ios/form-control-refresh/checkbox/indeterminate-appearance.html: Added.
  • fast/forms/ios/form-control-refresh/checkbox/width-height-expected-mismatch.html: Added.
  • fast/forms/ios/form-control-refresh/checkbox/width-height.html: Added.
10:06 AM Changeset in webkit [269912] by Alan Bujtas
  • 8 edits in trunk

[LFC][Integration] Add even more integral snapping to inline level boxes
https://bugs.webkit.org/show_bug.cgi?id=219011

Reviewed by Antti Koivisto.

It is required to match current legacy inline geometries.

  • layout/inlineformatting/InlineLineBox.cpp:

(WebCore::Layout::LineBox::InlineLevelBox::setLogicalTop):
(WebCore::Layout::LineBox::InlineLevelBox::setLogicalHeight):

  • layout/inlineformatting/InlineLineBox.h:

(WebCore::Layout::LineBox::InlineLevelBox::setLogicalTop): Deleted.
(WebCore::Layout::LineBox::InlineLevelBox::setLogicalHeight): Deleted.

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::updateLayoutBoxDimensions):

9:56 AM Changeset in webkit [269911] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

[macOS] Remove access to the unused AppleSNBFBUserClient IOKit class
https://bugs.webkit.org/show_bug.cgi?id=219014
<rdar://problem/70463873>

Reviewed by Eric Carlson.

Although we originally thought this was needed for H.264 decoding, testing shows
that this class is never used in WebKit flows, and is not needed. We should remove it.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
9:53 AM Changeset in webkit [269910] by Alan Coon
  • 3 edits
    2 adds in branches/safari-611.1.6-branch

Cherry-pick r269895. rdar://problem/71490402

REGRESSION (r269824): YouTube media control bar sometimes flickers
https://bugs.webkit.org/show_bug.cgi?id=219017
<rdar://problem/71454799>

Reviewed by Simon Fraser.

Source/WebKit:

Test: compositing/repaint/transparent-layer-repaint.html

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: (WebKit::RemoteLayerBackingStore::display): I accidentally lost the Copy composite operator in r269824, causing the repaint copy-forward to blend instead of just copying. This wreaks havoc on layers with contents with colors that have 0 < alpha < 1, because every repaint means the colors intensify.

LayoutTests:

  • compositing/repaint/transparent-layer-repaint-expected.html: Added.
  • compositing/repaint/transparent-layer-repaint.html: Added. Add a test that:
    • repaints a backingstoreful compositing layer
    • more than once
    • in a small enough area that we use partial repaint
    • with partially-transparent pixels

And then ensures that the background of that layer (the non-repainted part)
remains the color that it should.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269895 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:38 AM Changeset in webkit [269909] by Chris Lord
  • 6 edits in trunk/Source/WebCore

REGRESSION(r269579) [WPE] Many tests with scrolling flaky after this revision
https://bugs.webkit.org/show_bug.cgi?id=218859

Reviewed by Simon Fraser.

Set scrolling node ID correctly on CoordinatedGraphicsLayer.

  • page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeFrameScrollingNodeNicosia::commitStateBeforeChildren):

  • page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:
  • page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setScrollingNodeID):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
9:28 AM Changeset in webkit [269908] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

[iOS] Stop leaking an XPC transaction in our XPC services
https://bugs.webkit.org/show_bug.cgi?id=219036

Reviewed by Geoffrey Garen.

Stop leaking an XPC transaction in our XPC services on iOS. We were doing this to control the lifetime of our child services
ourselves. However, this is not needed on iOS because the UIProcess takes RunningBoard process assertions on behalf of its
child processes.

I have verified that our child processes do not exit/jetsam early. I have verified that our child processes are in the
correct jetsam band (IDLE/0 when background and FG/10 when foreground). I have also verified that the main thread of these
processes runs at UserInitiated QoS before and after this change.

  • Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h:

(WebKit::XPCServiceInitializer):

  • Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.mm:

(WebKit::XPCServiceExit):

9:25 AM Changeset in webkit [269907] by Peng Liu
  • 48 edits
    5 copies
    8 adds in trunk/Source

[Media In GPU Process][MSE] Add infrastructure needed to run MediaPlayerPrivateMediaSourceAVFObjC in the GPU process
https://bugs.webkit.org/show_bug.cgi?id=218912

Reviewed by Eric Carlson.

Source/WebCore:

This patch makes the MSE version of MediaPlayer::load() the same as the one in MediaPlayerPrivate
to support running MSE MediaPlayerPrivate(s) in the GPU process.

No new tests, no functional change yet.

  • Headers.cmake:
  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::createSourceBufferPrivate):

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::appendBufferTimerFired):
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete):

  • WebCore.xcodeproj/project.pbxproj:
  • platform/ContentType.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::load):
(WebCore::MediaPlayer::loadWithNextMediaEngine):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:
  • platform/graphics/MediaSourcePrivate.h:
  • platform/graphics/SourceBufferPrivateClient.h:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::load):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load):

  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:

(WebCore::MediaSourcePrivateAVFObjC::addSourceBuffer):

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::appendCompleted):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::load):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:

(WebCore::MediaPlayerPrivateGStreamerMSE::load):

  • platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
  • platform/graphics/gstreamer/mse/PlaybackPipeline.cpp:

(WebCore::PlaybackPipeline::addSourceBuffer):

  • platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:

(WebCore::SourceBufferPrivateGStreamer::didReceiveAllPendingSamples):
(WebCore::SourceBufferPrivateGStreamer::appendParsingFailed):

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::load):

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
  • platform/mock/mediasource/MockMediaSourcePrivate.cpp:

(WebCore::MockMediaSourcePrivate::addSourceBuffer):

  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

(WebCore::MockSourceBufferPrivate::append):

Source/WebKit:

Add MediaSourcePrivateRemote/RemoteMediaSourceProxy and SourceBufferPrivateRemote/RemoteSourceBufferProxy,
and setup IPC connections for them.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • GPUProcess/GPUProcessSessionParameters.h:
  • GPUProcess/media/RemoteLegacyCDMFactoryProxy.cpp:
  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::loadMediaSource):

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
  • GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
  • GPUProcess/media/RemoteMediaSourceProxy.cpp: Added.

(WebKit::RemoteMediaSourceProxy::RemoteMediaSourceProxy):
(WebKit::RemoteMediaSourceProxy::~RemoteMediaSourceProxy):
(WebKit::RemoteMediaSourceProxy::setPrivateAndOpen):
(WebKit::RemoteMediaSourceProxy::duration const):
(WebKit::RemoteMediaSourceProxy::buffered const):
(WebKit::RemoteMediaSourceProxy::seekToTime):
(WebKit::RemoteMediaSourceProxy::monitorSourceBuffers):
(WebKit::RemoteMediaSourceProxy::setLogIdentifier):
(WebKit::RemoteMediaSourceProxy::failedToCreateRenderer):
(WebKit::RemoteMediaSourceProxy::addSourceBuffer):

  • GPUProcess/media/RemoteMediaSourceProxy.h: Added.
  • GPUProcess/media/RemoteMediaSourceProxy.messages.in: Added.
  • GPUProcess/media/RemoteSourceBufferIdentifier.h: Added.
  • GPUProcess/media/RemoteSourceBufferProxy.cpp: Added.

(WebKit::RemoteSourceBufferProxy::create):
(WebKit::RemoteSourceBufferProxy::RemoteSourceBufferProxy):
(WebKit::RemoteSourceBufferProxy::~RemoteSourceBufferProxy):
(WebKit::RemoteSourceBufferProxy::sourceBufferPrivateDidReceiveInitializationSegment):
(WebKit::RemoteSourceBufferProxy::sourceBufferPrivateDidReceiveSample):
(WebKit::RemoteSourceBufferProxy::sourceBufferPrivateHasAudio const):
(WebKit::RemoteSourceBufferProxy::sourceBufferPrivateHasVideo const):
(WebKit::RemoteSourceBufferProxy::sourceBufferPrivateReenqueSamples):
(WebKit::RemoteSourceBufferProxy::sourceBufferPrivateDidBecomeReadyForMoreSamples):
(WebKit::RemoteSourceBufferProxy::sourceBufferPrivateFastSeekTimeForMediaTime):
(WebKit::RemoteSourceBufferProxy::sourceBufferPrivateAppendComplete):
(WebKit::RemoteSourceBufferProxy::sourceBufferPrivateDidReceiveRenderingError):
(WebKit::RemoteSourceBufferProxy::append):

  • GPUProcess/media/RemoteSourceBufferProxy.h: Added.
  • GPUProcess/media/RemoteSourceBufferProxy.messages.in: Added.
  • GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.cpp:
  • Scripts/webkit/messages.py:
  • Sources.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::load):
(WebKit::MediaPlayerPrivateRemote::MediaPlayerPrivateRemote::load): Deleted.

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
  • WebProcess/GPU/media/MediaSourcePrivateRemote.cpp: Added.

(WebKit::MediaSourcePrivateRemote::create):
(WebKit::MediaSourcePrivateRemote::MediaSourcePrivateRemote):
(WebKit::MediaSourcePrivateRemote::~MediaSourcePrivateRemote):
(WebKit::MediaSourcePrivateRemote::addSourceBuffer):
(WebKit::MediaSourcePrivateRemote::durationChanged):
(WebKit::MediaSourcePrivateRemote::markEndOfStream):
(WebKit::MediaSourcePrivateRemote::unmarkEndOfStream):
(WebKit::MediaSourcePrivateRemote::readyState const):
(WebKit::MediaSourcePrivateRemote::setReadyState):
(WebKit::MediaSourcePrivateRemote::waitForSeekCompleted):
(WebKit::MediaSourcePrivateRemote::seekCompleted):
(WebKit::MediaSourcePrivateRemote::logChannel const):

  • WebProcess/GPU/media/MediaSourcePrivateRemote.h: Added.
  • WebProcess/GPU/media/RemoteCDMConfiguration.h:
  • WebProcess/GPU/media/RemoteCDMInstanceConfiguration.h:
  • WebProcess/GPU/media/RemoteMediaPlayerManager.h:
  • WebProcess/GPU/media/RemoteMediaSourceIdentifier.h: Added.
  • WebProcess/GPU/media/SourceBufferPrivateRemote.cpp: Added.

(WebKit::SourceBufferPrivateRemote::create):
(WebKit::SourceBufferPrivateRemote::SourceBufferPrivateRemote):
(WebKit::SourceBufferPrivateRemote::~SourceBufferPrivateRemote):
(WebKit::SourceBufferPrivateRemote::setClient):
(WebKit::SourceBufferPrivateRemote::append):
(WebKit::SourceBufferPrivateRemote::abort):
(WebKit::SourceBufferPrivateRemote::resetParserState):
(WebKit::SourceBufferPrivateRemote::removedFromMediaSource):
(WebKit::SourceBufferPrivateRemote::readyState const):
(WebKit::SourceBufferPrivateRemote::setReadyState):
(WebKit::SourceBufferPrivateRemote::flush):
(WebKit::SourceBufferPrivateRemote::enqueueSample):
(WebKit::SourceBufferPrivateRemote::isReadyForMoreSamples):
(WebKit::SourceBufferPrivateRemote::setActive):
(WebKit::SourceBufferPrivateRemote::notifyClientWhenReadyForMoreSamples):
(WebKit::SourceBufferPrivateRemote::canSetMinimumUpcomingPresentationTime const):
(WebKit::SourceBufferPrivateRemote::setMinimumUpcomingPresentationTime):
(WebKit::SourceBufferPrivateRemote::clearMinimumUpcomingPresentationTime):
(WebKit::SourceBufferPrivateRemote::canSwitchToType):
(WebKit::SourceBufferPrivateRemote::sourceBufferPrivateAppendComplete):
(WebKit::SourceBufferPrivateRemote::logChannel const):

  • WebProcess/GPU/media/SourceBufferPrivateRemote.h: Added.
  • WebProcess/GPU/media/SourceBufferPrivateRemote.messages.in: Added.
9:21 AM Changeset in webkit [269906] by pvollan@apple.com
  • 7 edits in trunk/Source

[macOS] Perform AX TCC check in the UI process
https://bugs.webkit.org/show_bug.cgi?id=218870
<rdar://problem/71339830>

Reviewed by Brent Fulgham.

Source/WebCore/PAL:

Add typedef for TCC authentication callback.

  • pal/spi/mac/HIServicesSPI.h:

Source/WebKit:

On behalf of the WebContent process, perform AX TCC check in the UI process on macOS.
This is in preparation of blocking tccd in the WebContent process.

No new tests. It has been manually tested that the WebContent process is allowing VoiceOver
to perform AX requests with this patch.

  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::isAXAuthenticated):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::isAXAuthenticatedCallback):
(WebKit::WebProcess::platformInitializeWebProcess):

9:09 AM Changeset in webkit [269905] by BJ Burg
  • 2 edits in trunk/Source/WebKit

[Cocoa] _WKInspectorExtensionHost should conform to NSObject protocol
https://bugs.webkit.org/show_bug.cgi?id=219035

Reviewed by Alex Christensen.

This was overlooked in the initial patch. Without it, we can't call -isEqual: and
similar basic methods on a type of id<_WKInspectorExtensionHost>.

  • UIProcess/API/Cocoa/_WKInspectorExtensionHost.h:
9:07 AM Changeset in webkit [269904] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] Update ExtractTestResults step for new buildbot (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=218759
<rdar://problem/71246754>

Unreviewed minor follow-up fix.

  • CISupport/build-webkit-org/steps.py:

(ExtractTestResults):

8:38 AM Changeset in webkit [269903] by Lauro Moura
  • 2 edits in trunk/LayoutTests

REGRESSION(r269227) [GTK] editing/selection/navigation-clears-editor-state.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=219019

Reviewed by Chris Dumez.

Apply a similar fix to what was done in
requestidlecallback/requestidlecallback-document-gc.html in the
original revision, giving the timers a spin to allow the released
documents to be collected.

  • editing/selection/navigation-clears-editor-state.html:
8:29 AM Changeset in webkit [269902] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Null check anchorNode of endingSelection start
https://bugs.webkit.org/show_bug.cgi?id=218492

Patch by Rob Buis <rbuis@igalia.com> on 2020-11-17
Reviewed by Alex Christensen.

Source/WebCore:

Null check anchorNode of endingSelection start.

Test: editing/deleting/delete-contenteditable-crash.html

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::mergeParagraphs):

LayoutTests:

Add testcase.

  • editing/deleting/delete-contenteditable-crash-expected.txt: Added.
  • editing/deleting/delete-contenteditable-crash.html: Added.
8:04 AM Changeset in webkit [269901] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Preemptive build fix for https://bugs.webkit.org/show_bug.cgi?id=219024

  • UIProcess/ios/forms/WKAirPlayRoutePicker.mm:

(SOFT_LINK_CLASS):
(-[WKAirPlayRoutePicker show:fromRect:]):

7:31 AM Changeset in webkit [269900] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Build fails on internal simulator builds due to missing enum kCVPixelFormatType_AGX_420YpCbCr8BiPlanarVideoRange
https://bugs.webkit.org/show_bug.cgi?id=219030

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-11-17
Reviewed by Antti Koivisto.

Fix compile for simulator builds.
Rename HAVE_CV_AGX_420_PIXEL_FORMAT_TYPES to
HAVE_COREVIDEO_COMPRESSED_PIXEL_FORMAT_TYPES to better reflect what the ifdef does.

Source/WebCore:

  • platform/graphics/cv/GraphicsContextGLCVANGLE.cpp:

(WebCore::pixelRangeFromPixelFormat):
(WebCore::GraphicsContextGLCVANGLE::copyPixelBufferToTexture):

Source/WebCore/PAL:

  • pal/spi/cf/CoreVideoSPI.h:

Source/WTF:

  • wtf/PlatformHave.h:
7:25 AM WebKitGTK/2.30.x edited by Michael Catanzaro
(diff)
6:48 AM Changeset in webkit [269899] by Claudio Saavedra
  • 2 edits in trunk/Source/WebCore

More non-unified build fixes
https://bugs.webkit.org/show_bug.cgi?id=219029

Unreviewed.

  • rendering/RenderLayerBacking.cpp:
6:07 AM Changeset in webkit [269898] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Build fails on internal Catalina due to missing enum kCVPixelFormatType_AGX_420YpCbCr8BiPlanarVideoRange
https://bugs.webkit.org/show_bug.cgi?id=219026

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-11-17
Reviewed by Antti Koivisto.

Fix compile for macOS versions before Big Sur.

On macOS, only use the private header on Big Sur. On Catalina, use the
manual enums.

Regressed in:
Textures Fail to Render in WebGL from HLS Stream on iPhone 12 [iOS 14.2]

  • pal/spi/cf/CoreVideoSPI.h:
4:56 AM Changeset in webkit [269897] by graouts@webkit.org
  • 2 edits in trunk/Source/WTF

Make <model> disabled by default everywhere
https://bugs.webkit.org/show_bug.cgi?id=219027

Reviewed by Devin Rousso.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
2:43 AM Changeset in webkit [269896] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Clean up title-text-property.html
https://bugs.webkit.org/show_bug.cgi?id=219025

Patch by Rob Buis <rbuis@igalia.com> on 2020-11-17
Reviewed by Žan Doberšek.

Remove unused test function, it seems this was added
for debugging purposes.

  • fast/dom/title-text-property.html:
12:28 AM Changeset in webkit [269895] by timothy_horton@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION (r269824): YouTube media control bar sometimes flickers
https://bugs.webkit.org/show_bug.cgi?id=219017
<rdar://problem/71454799>

Reviewed by Simon Fraser.

Source/WebKit:

Test: compositing/repaint/transparent-layer-repaint.html

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::display):
I accidentally lost the Copy composite operator in r269824, causing
the repaint copy-forward to blend instead of just copying.
This wreaks havoc on layers with contents with colors that have 0 < alpha < 1,
because every repaint means the colors intensify.

LayoutTests:

  • compositing/repaint/transparent-layer-repaint-expected.html: Added.
  • compositing/repaint/transparent-layer-repaint.html: Added.

Add a test that:

  • repaints a backingstoreful compositing layer
  • more than once
  • in a small enough area that we use partial repaint
  • with partially-transparent pixels

And then ensures that the background of that layer (the non-repainted part)
remains the color that it should.

12:22 AM Changeset in webkit [269894] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Check whether destination still can be selected
https://bugs.webkit.org/show_bug.cgi?id=218491

Patch by Rob Buis <rbuis@igalia.com> on 2020-11-17
Reviewed by Ryosuke Niwa.

Source/WebCore:

Check whether destination still can be selected
after deletion.

Test: editing/deleting/delete-selection-crash.html

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::moveParagraphs):

LayoutTests:

Add testcase.

  • editing/deleting/delete-selection-crash-expected.txt: Added.
  • editing/deleting/delete-selection-crash.html: Added.

Nov 16, 2020:

9:23 PM Changeset in webkit [269893] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk/Source/WebCore

Textures Fail to Render in WebGL from HLS Stream on iPhone 12 [iOS 14.2]
https://bugs.webkit.org/show_bug.cgi?id=218637
<rdar://problem/71102126>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-11-16
Reviewed by Eric Carlson.

Patch by Jer Noble.

Treat internal compressed YUV pixel formats
kCVPixelFormatType_AGX_420YpCbCr8BiPlanarVideoRange and
kCVPixelFormatType_AGX_420YpCbCr8BiPlanarFullRange as
kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange and
kCVPixelFormatType_420YpCbCr8BiPlanarFullRange when
using the OpenGL shader to convert video IOSurface to a WebGL
texture.

Fixes cases where the decoder outputs the compressed formats.

No new tests, adding more comprehensive test content suite is tracked
in another bug.

Source/WebCore:

  • platform/graphics/cv/GraphicsContextGLCVANGLE.cpp:

(WebCore::pixelRangeFromPixelFormat):
(WebCore::GraphicsContextGLCVANGLE::copyPixelBufferToTexture):

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/spi/cf/CoreVideoSPI.h: Added.
8:33 PM Changeset in webkit [269892] by Dewei Zhu
  • 3 edits in trunk/Websites/perf.webkit.org

BuildbotTriggerable should not process a completed build request from a completed test group.
https://bugs.webkit.org/show_bug.cgi?id=219016

Reviewed by Ryosuke Niwa.

BuildBotTriggerable._pullBuildbotOnAllSyncers relies on buildReqeustsByGroup to contain all build requests found by
BuildRequest.findById. However, since re-use root change is landed, above assumption is no longer valid. BuildRequest.all()
may includes build requests under same analysis task. Thus, _pullBuildbotOnAllSyncers will fail due to 'info' is undefined.

  • server-tests/tools-buildbot-triggerable-tests.js: Added a unit test.
  • tools/js/buildbot-triggerable.js:

(BuildbotTriggerable.prototype._pullBuildbotOnAllSyncers): Added logic to stop processing the build request if it's not
from incomplete build requests under a triggerable.

7:15 PM Changeset in webkit [269891] by Jonathan Bedard
  • 4 edits
    1 copy in trunk/Tools

[webkitscmpy] Generalize parts of local.Scm class
https://bugs.webkit.org/show_bug.cgi?id=218935
<rdar://problem/71395688>

Rubber-stamped by Aakash Jain.

  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:

(Scm):
(Scm.Exception): Moved to ScmBase.
(Scm.init): Move branches logic to ScmBase.
(Scm.is_svn): Moved to ScmBase.
(Scm.is_git): Ditto.
(Scm.default_branch): Ditto.
(Scm.branches): Ditto.
(Scm.tags): Ditto.
(Scm.find): Ditto.
(Scm.commit): Ditto.
(Scm.prioritize_branches): Ditto.
(Scm.log): Ditto.

  • Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:

(Svn.commit): Passing branch to self.info is redundant.

  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/init.py:
  • Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py: Added.

(ScmBase): Base class for all local and remote Scm objects.
(ScmBase.Exception): Moved from local.Scm.
(ScmBase.init): Ditto.
(ScmBase.is_svn): Ditto.
(ScmBase.is_git): Ditto.
(ScmBase.default_branch): Ditto.
(ScmBase.branches): Ditto.
(ScmBase.tags): Ditto.
(ScmBase.commit): Ditto.
(ScmBase.prioritize_branches): Ditto.
(ScmBase.find): Ditto.
(ScmBase.log): Ditto.

  • Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
7:05 PM Changeset in webkit [269890] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

[macOS] Remove access to the unused AppleIntelMEUserClient IOKit class
https://bugs.webkit.org/show_bug.cgi?id=219012
<rdar://problem/70462796>

Reviewed by Eric Carlson.

Although we originally thought this was needed for H.264 decoding, testing shows that
this class is never used in WebKit flows, and is not needed. We should remove it.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
6:39 PM Changeset in webkit [269889] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

[macOS] Create sandbox extension for the power log service on internal installs
https://bugs.webkit.org/show_bug.cgi?id=218984
<rdar://problem/58488936>

Reviewed by Brent Fulgham.

Create a sandbox extension for the WebContent process for the power log service on macOS internal installs.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::diagnosticServices):

  • WebProcess/com.apple.WebProcess.sb.in:
5:34 PM Changeset in webkit [269888] by weinig@apple.com
  • 116 edits
    1 copy
    1 move
    12 adds in trunk

Source/WebCore:
Standardize enums that are used by Settings in preperation for autogeneration
https://bugs.webkit.org/show_bug.cgi?id=218960

Reviewed by Tim Horton.

Move each enum type used by Settings to its own header and make them all scoped
enums in preparation for using them in the generated settings code.

Also converted enums used in Settings that are used as flags to use OptionSet,
adding the necessary EnumTraits to make it to work. In the change, Settings still
generates with getters/setters that work on the raw enum, but in subsequent changes
the generation will work directly with OptionSets.

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:

Add new headers, adjust for renames.

  • Scripts/GenerateSettings.rb:

Add special case for HTML prefix to keep renamed HTMLParserScriptingFlagPolicy
setting using WebCore consistent capitalization.

  • accessibility/ForcedAccessibilityValue.h: Added.
  • css/FontLoadTimingOverride.h: Added.
  • editing/EditableLinkBehavior.h: Added.
  • editing/cocoa/DataDetectorTypes.h: Added.
  • html/parser/HTMLParserScriptingFlagPolicy.h: Added.
  • page/FrameFlattening.h: Added.
  • page/PDFImageCachingPolicy.h: Added.
  • page/DebugOverlayRegions.h: Added.
  • page/StorageBlockingPolicy.h: Added.
  • page/TextDirectionSubmenuInclusionBehavior.h: Added.
  • page/UserInterfaceDirectionPolicy.h: Added.
  • platform/text/FontRenderingMode.h: Added.
  • platform/text/TextDirection.h: Added.

Add new headers.

  • editing/EditingBehaviorType.h: Added.
  • editing/EditingBehaviorTypes.h: Removed.

Renamed header to match enum name.

  • css/CSSFontFace.cpp:

(WebCore::fontLoadTimingOverride):
(WebCore::CSSFontFace::fontLoadTiming const):
Update uses of FontLoadTimingOverride to remove Settings scoping.

  • css/MediaQueryEvaluator.cpp:

(WebCore::monochromeEvaluate):
(WebCore::invertedColorsEvaluate):
(WebCore::dynamicRangeEvaluate):
(WebCore::prefersReducedMotionEvaluate):
Update uses of ForcedAccessibilityValue to remove Settings scoping.

  • dom/Document.cpp:

(WebCore::Document::applyQuickLookSandbox):
Update uses of StorageBlockingPolicy to remove SecurityOrigin scoping.

  • editing/EditingBehavior.h:

Update use of EditingBehaviorType to use scoped syntax.

  • editing/Editor.cpp:

(WebCore::Editor::behavior const):
Remove unnecessary duplication of EditingBehavior construction.

  • editing/cocoa/DataDetection.h:
  • editing/cocoa/DataDetection.mm:

Switch to using OptionSet<DataDetectorTypes> rather than raw DataDetectorTypes.

  • editing/markup.cpp:

(WebCore::createPageForSanitizingWebContent):
Update for renamed setter now called setHTMLParserScriptingFlagPolicy to make it clear
it is about the HTML parser.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::setActive):
(WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType const):
Update use of EditableLinkBehavior to use scoped syntax.

  • html/parser/HTMLParserOptions.cpp:

(WebCore::HTMLParserOptions::HTMLParserOptions):
Update for renamed setting now called HTMLParserScriptingFlagPolicy to make it clear
it is about the HTML parser and no longer scoped to Settings.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
Switch to using OptionSet<DataDetectorTypes> rather than raw DataDetectorTypes.

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::populate):
Update use of TextDirectionSubmenuInclusionBehavior to use scoped syntax.

  • page/DebugPageOverlays.cpp:

(WebCore::DebugPageOverlays::updateOverlayRegionVisibility):
(WebCore::DebugPageOverlays::settingsChanged):

  • page/DebugPageOverlays.h:

Switch to using OptionSet<DebugOverlayRegions> rather than raw DebugOverlayRegions.

  • page/EventHandler.cpp:

(WebCore::EventHandler::useHandCursor):
Update use of EditableLinkBehavior to use scoped syntax.

  • page/FrameView.h:

Switch to #including FrameFlattening.h since it is such a trivial include now.

  • page/Page.cpp:

(WebCore::Page::shouldBuildEditableRegion const):
Switch to using OptionSet<DebugOverlayRegions> rather than raw DebugOverlayRegions.

  • page/SecurityOrigin.cpp:
  • page/SecurityOrigin.h:

Update to now include StorageBlockingPolicy.h and switch to use scoped syntax.

  • page/Settings.yaml:

Update setting defaults to use new scoped names where appropriate and rename
ParserScriptingFlagPolicy to HTMLParserScriptingFlagPolicy to make it clear which
parser it is for.

  • page/SettingsBase.h:

Replace enum definitions with #includes for the new headers. In future changes,
these will be automatically included in the generated code and this won't be necessary
anymore.

  • platform/DragImage.h:
  • platform/graphics/FontDescription.h:

Update #includes to keep things building.

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::updateCachedImageIfNeeded):

  • platform/graphics/cg/PDFDocumentImage.h:

Update use of PDFImageCachingPolicy to use scoped syntax.

  • platform/text/TextFlags.h:

Extract FontRenderingMode into its own header.

  • platform/text/WritingMode.h:

Extract TextDirection into its own header. Also replace some macros with constexprs while
I was here.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects const):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintDebugOverlays):
(WebCore::RenderLayerBacking::paintContents):
Switch to using OptionSet<DebugOverlayRegions> rather than raw DebugOverlayRegions.

  • testing/InternalSettings.cpp:
  • testing/InternalSettings.h:
  • testing/InternalSettings.idl:

Use new enums rather than redeclaring them. Updates EditingBehaviorType to use the
value "windows" rather than "win" which requires test changes as does changes to
capitalization of PDFImageCachingPolicy enum values.

  • workers/service/context/ServiceWorkerThreadProxy.cpp:

(WebCore::createPageForServiceWorker):
(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):

  • workers/service/context/ServiceWorkerThreadProxy.h:

Update for extracted StorageBlockingPolicy enum.

Source/WebKit:
Standardize enums that are used by Settings in preperation for autogeneration
https://bugs.webkit.org/show_bug.cgi?id=218960

Reviewed by Tim Horton.

Update enum uses for renames and scoped syntax use.

  • UIProcess/API/C/WKAPICast.h:

(WebKit::toAPI):
(WebKit::toEditableLinkBehavior):
(WebKit::toStorageBlockingPolicy):

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetEditableLinkBehavior):
(WKPreferencesSetStorageBlockingPolicy):
(WKPreferencesGetStorageBlockingPolicy):

  • UIProcess/API/Cocoa/WKPreferences.mm:

(toStorageBlockingPolicy):
(toAPI):
(-[WKPreferences _storageBlockingPolicy]):
(-[WKPreferences _setStorageBlockingPolicy:]):
(toEditableLinkBehavior):
(-[WKPreferences _setEditableLinkBehavior:]):

  • UIProcess/WebPreferences.cpp:

(WebKit::WebPreferences::createWithLegacyDefaults):

  • WebProcess/Storage/WebSWContextManagerConnection.cpp:

(WebKit::WebSWContextManagerConnection::updatePreferencesStore):

  • WebProcess/Storage/WebSWContextManagerConnection.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):
(WebKit::WebPage::detectDataInAllFrames):

Source/WebKitLegacy/mac:
Standardize enums that are used by Settings in preperation for autogeneration
https://bugs.webkit.org/show_bug.cgi?id=218960

Reviewed by Tim Horton.

Update enum uses for renames and scoped syntax use.

  • WebView/WebFrame.mm:
  • WebView/WebView.mm:

Source/WTF:
Standardize enums that are used by Settings in preperation for autogeneration
https://bugs.webkit.org/show_bug.cgi?id=218960

Reviewed by Tim Horton.

Update enum uses in default WebPreferences values for renames and scoped syntax use.

  • Scripts/Preferences/WebPreferences.yaml:

LayoutTests:
Standardize enums that are used by Settings in preparation for autogeneration
https://bugs.webkit.org/show_bug.cgi?id=218960

Reviewed by Tim Horton.

Update tests and results for change in EditingBahavior enum value "win" -> "windows".

  • editing/deleting/delete-ligature-003-expected.txt:
  • editing/deleting/delete-ligature-003.html:
  • editing/deleting/paragraph-in-preserveNewline-expected.txt:
  • editing/deleting/paragraph-in-preserveNewline.html:
  • editing/deleting/smart-editing-disabled-win.html:
  • editing/deleting/whitespace-pre-1-expected.txt:
  • editing/deleting/whitespace-pre-1.html:
  • editing/execCommand/query-command-state-expected.txt:
  • editing/execCommand/query-command-state.html:
  • editing/execCommand/query-text-alignment-expected.txt:
  • editing/execCommand/query-text-alignment.html:
  • editing/execCommand/remove-format-multiple-elements-win.html:
  • editing/execCommand/toggle-compound-styles-expected.txt:
  • editing/execCommand/toggle-compound-styles.html:
  • editing/execCommand/toggle-link-win.html:
  • editing/execCommand/toggle-unlink-win.html:
  • editing/selection/5195166-1.html:
  • editing/selection/5354455-1.html:
  • editing/selection/click-in-margins-inside-editable-div.html:
  • editing/selection/click-in-padding-with-multiple-line-boxes.html:
  • editing/selection/context-menu-text-selection-lookup.html:
  • editing/selection/context-menu-text-selection.html:
  • editing/selection/extend-after-mouse-selection.html:
  • editing/selection/extend-selection-after-double-click.html:
  • editing/selection/extend-selection-enclosing-block-win.html:
  • editing/selection/move-by-word-visually-crash-test-1.html:
  • editing/selection/move-by-word-visually-crash-test-2.html:
  • editing/selection/move-by-word-visually-crash-test-3.html:
  • editing/selection/move-by-word-visually-crash-test-4.html:
  • editing/selection/move-by-word-visually-crash-test-5.html:
  • editing/selection/move-by-word-visually-crash-test-css-generated-content.html:
  • editing/selection/move-by-word-visually-crash-test-textarea.html:
  • editing/selection/move-by-word-visually-inline-block-positioned-element.html:
  • editing/selection/move-by-word-visually-multi-line.html:
  • editing/selection/move-by-word-visually-multi-space.html:
  • editing/selection/move-by-word-visually-null-box.html:
  • editing/selection/move-by-word-visually-single-space-inline-element.html:
  • editing/selection/move-by-word-visually-single-space-one-element.html:
  • editing/selection/move-by-word-visually-textarea.html:
  • editing/selection/move-by-word-visually-wrong-left-right.html:
  • editing/selection/programmatic-selection-on-mac-is-directionless-expected.txt:
  • editing/selection/programmatic-selection-on-mac-is-directionless.html:
  • editing/selection/rtl-move-selection-right-left.html:
  • editing/selection/selection-extend-should-not-move-across-caret-on-mac-expected.txt:
  • editing/selection/selection-extend-should-not-move-across-caret-on-mac.html:
  • editing/selection/shift-click.html:
  • editing/selection/user-select-all-with-shift-expected.txt:
  • editing/selection/user-select-all-with-shift.html:
  • editing/spelling/copy-paste-crash.html:
  • editing/style/iframe-onload-crash-win.html:
  • editing/style/make-text-writing-direction-inline-win.html:
  • editing/style/push-down-font-styles-win.html:
  • editing/style/push-down-implicit-styles-around-list-win.html:
  • editing/style/toggle-style-bold-italic-expected.txt:
  • editing/style/toggle-style-bold-italic-mixed-editability-expected.txt:
  • editing/style/toggle-style-bold-italic-mixed-editability.html:
  • editing/style/toggle-style-bold-italic.html:
  • fast/events/backspace-navigates-back.html:
  • fast/forms/selection-direction-expected.txt:
  • fast/forms/selection-direction.html:
5:09 PM Changeset in webkit [269887] by lingho@apple.com
  • 3 edits in trunk/Tools

Updated contributors.json to remove inactive committers and reviewers.
Removed irc user "Adam Barth" from IRCCommand in webkitpy unittest.
https://bugs.webkit.org/show_bug.cgi?id=219006

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:

(IRCCommandTest.test_whois):

4:00 PM Changeset in webkit [269886] by wilander@apple.com
  • 28 edits in trunk

PCM: Change attribute and JSON key names according to the W3C conversation
https://bugs.webkit.org/show_bug.cgi?id=218967

Reviewed by Brent Fulgham.

We've discussed extensively with Google and others on naming for the link
attributes and JSON key names in these issues:
https://github.com/privacycg/private-click-measurement/issues/30
https://github.com/privacycg/private-click-measurement/issues/56

This patch changes PCM accordingly.

Source/WebCore:

No new tests. Exiting tests updated.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parsePrivateClickMeasurement const):

  • html/HTMLAnchorElement.idl:
  • html/HTMLAttributeNames.in:
  • loader/PrivateClickMeasurement.cpp:

(WebCore::PrivateClickMeasurement::json const):

Tools:

  • TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:

(TestWebKitAPI::TEST):

LayoutTests:

  • http/tests/contentextensions/block-private-click-measurement.html:
  • http/tests/privateClickMeasurement/anchor-tag-attributes-reflect-expected.txt:
  • http/tests/privateClickMeasurement/anchor-tag-attributes-reflect.html:
  • http/tests/privateClickMeasurement/anchor-tag-attributes-validation-expected.txt:
  • http/tests/privateClickMeasurement/anchor-tag-attributes-validation.html:
  • http/tests/privateClickMeasurement/attribution-conversion-through-cross-site-image-redirect.html:
  • http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-in-new-window.html:
  • http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-with-priority.html:
  • http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-without-priority.html:
  • http/tests/privateClickMeasurement/clear-through-website-data-removal.html:
  • http/tests/privateClickMeasurement/conversion-disabled-in-ephemeral-session.html:
  • http/tests/privateClickMeasurement/expired-attributions-removed.html:
  • http/tests/privateClickMeasurement/second-attribution-converted-with-higher-priority.html:
  • http/tests/privateClickMeasurement/second-attribution-converted-with-lower-priority.html:
  • http/tests/privateClickMeasurement/second-conversion-with-higher-priority.html:
  • http/tests/privateClickMeasurement/second-conversion-with-lower-priority.html:
  • http/tests/privateClickMeasurement/send-attribution-conversion-request-expected.txt:
  • http/tests/privateClickMeasurement/send-attribution-conversion-request.html:
  • http/tests/privateClickMeasurement/store-disabled-in-ephemeral-session.html:
  • http/tests/privateClickMeasurement/store-private-click-measurement.html:
3:51 PM Changeset in webkit [269885] by wilander@apple.com
  • 2 edits in trunk/Source/WebKit

NetworkDataTaskCocoa::applyCookiePolicyForThirdPartyCNAMECloaking() redacts the cookie name in log output on customer builds
https://bugs.webkit.org/show_bug.cgi?id=218997
<rdar://problem/71460604>

Unreviewed minor change to logging.

NetworkDataTaskCocoa::applyCookiePolicyForThirdPartyCNAMECloaking() redacts the
cookie name in log output on customer builds. This patch changes the format
specifier from %s to %{public}s.

Note that this logging is just for ITP Debug Mode which is off by default, logs
in-memory only, and is disabled again on browser quit.

No new tests. This just changes log output on customer builds.

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::applyCookiePolicyForThirdPartyCNAMECloaking):

3:49 PM Changeset in webkit [269884] by Russell Epstein
  • 8 edits in branches/safari-611.1.6-branch/Source

Versioning.

WebKit-7611.1.6

3:45 PM Changeset in webkit [269883] by Russell Epstein
  • 1 copy in branches/safari-611.1.6-branch

New branch.

3:38 PM Changeset in webkit [269882] by Russell Epstein
  • 8 edits in trunk/Source

Versioning.

WebKit-7611.1.7

3:12 PM Changeset in webkit [269881] by Alan Coon
  • 5 edits in branches/safari-610.3.7.0-branch/Source

Revert r268979. rdar://problem/71446619

2:40 PM Changeset in webkit [269880] by graouts@webkit.org
  • 15 edits
    6 adds in trunk

Add an experimental <model> element
https://bugs.webkit.org/show_bug.cgi?id=218991

Reviewed by Dean Jackson.

Source/WebCore:

Test: system-preview/model/model-element.html

Add the basis for a new <model> element.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Headers.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:
  • html/HTMLModelElement.cpp: Added.

(WebCore::HTMLModelElement::HTMLModelElement):
(WebCore::HTMLModelElement::~HTMLModelElement):
(WebCore::HTMLModelElement::create):

  • html/HTMLModelElement.h: Added.
  • html/HTMLModelElement.idl: Added.
  • html/HTMLTagNames.in:

Source/WTF:

Add a new build ENABLE(MODEL_ELEMENT) flag, enabled only on Cocoa platforms, and a new experimental feature
backed by a setting, currently disabled on all platforms except engineering builds and Safari Technology Preview.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
  • wtf/PlatformEnableCocoa.h:

LayoutTests:

Add a new system-preview/model subdirectory for <model> tests, which we run on macOS and iOS.

  • platform/mac/TestExpectations:
  • system-preview/model/model-element-expected.txt: Added.
  • system-preview/model/model-element.html: Added.
2:17 PM Changeset in webkit [269879] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

[GPUProcess] Update GPUProcess process assertion based on active WebProcesses
https://bugs.webkit.org/show_bug.cgi?id=219002

Reviewed by Simon Fraser.

Update GPUProcess process assertion based on active WebProcesses, similarly to what
we do for the network process. Previously, we would never release the GPUProcess
process assertion and it would time out after 30 seconds in the background.

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::updateProcessAssertion):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::updateProcessAssertions):

2:14 PM Changeset in webkit [269878] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Modify expectations for webgpu/whlsl/dont-crash-parsing-enum.html
https://bugs.webkit.org/show_bug.cgi?id=215247

unreviewed test gardening.

  • platform/mac/TestExpectations:
2:07 PM Changeset in webkit [269877] by Brent Fulgham
  • 4 edits in trunk/Source/WebKit

[macOS] Remove remote tcp capability from WebContent Sandbox
https://bugs.webkit.org/show_bug.cgi?id=218999
<rdar://problem/70355789>

Reviewed by Per Arne Vollan.

Since we have moved all network activity (aside from some syslog use) out of the WebContent
process, we do not need the ability to open remote tcp connections. We should deny this
capability from our non-Network sandboxes.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
1:58 PM Changeset in webkit [269876] by Alan Coon
  • 5 edits in branches/safari-610.3.7.1-branch/Source

Revert r268979. rdar://problem/71446624

1:45 PM Changeset in webkit [269875] by commit-queue@webkit.org
  • 8 edits in trunk

FileReaderLoader::convertToDataURL should use application/octet-stream if MIME type is empty
https://bugs.webkit.org/show_bug.cgi?id=218993

Patch by Alex Christensen <achristensen@webkit.org> on 2020-11-16
Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

  • web-platform-tests/FileAPI/reading-data-section/filereader_readAsDataURL-expected.txt:

Source/WebCore:

This matches Chrome and Firefox, and is covered by a web platform test.

  • fileapi/FileReaderLoader.cpp:

(WebCore::FileReaderLoader::convertToDataURL):

LayoutTests:

  • fast/files/read-blob-async-expected.txt:
  • fast/files/workers/worker-read-blob-async-expected.txt:
  • fast/files/workers/worker-read-blob-sync-expected.txt:
1:27 PM Changeset in webkit [269874] by Matt Lewis
  • 4 edits in trunk/Tools

Bring up Big Sur Builders and Testers
https://bugs.webkit.org/show_bug.cgi?id=218917

Reviewed by Aakash Jain.

  • CISupport/build-webkit-org/config.json:
  • CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot):

1:21 PM Changeset in webkit [269873] by Megan Gardner
  • 2 edits in trunk/Source/WebCore

Speculative fix for localizableStrings.string in WebCore
https://bugs.webkit.org/show_bug.cgi?id=219003

Unreviewed build fix.

  • WebCore.xcodeproj/project.pbxproj:
1:17 PM Changeset in webkit [269872] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Unreviewed test gardening, land expectations for rdar://71039166.

  • platform/mac/TestExpectations:
12:32 PM Changeset in webkit [269871] by Dewei Zhu
  • 12 edits in trunk/Websites/perf.webkit.org

Performance dashboard should avoid building same configuration under one analysis task.
https://bugs.webkit.org/show_bug.cgi?id=218413

Reviewed by Ryosuke Niwa.

Add logic in syncing script to reuse already built roots from same build request under current analysis task.
If there is another same build request scheduled/running, will defer scheduling current build request.

  • public/admin/platforms.php: Fixed newer version of PHP warns on accessing invalid key in an array.
  • public/admin/tests.php: Added a null check against $selected_parent.
  • public/api/build-requests.php: Extended this API to allow reusing roots from existing build request.
  • public/v3/models/build-request.js:

(BuildRequest.prototype.async findBuildRequestWithSameRoots): Find build type build request with same commit set
which can/will be reused under current analysis task.

  • public/v3/models/commit-set.js:

(CommitSet.prototype.equalsIgnoringRoot): Added a helper function which checks commit set equality ignoring the root.
(CommitSet.prototype.equals): Use '_equalsOptionallyIgnoringRoot' as underlying implementation.
(CommitSet.prototype._equalsOptionallyIgnoringRoot): Implementation for both equals and equalsIngnoringRoot.

  • server-tests/api-build-requests-tests.js: Added unit tests.
  • server-tests/resources/mock-data.js: Added new mock data for new unit tests.

(MockData.addMockConfiguration):
(MockData.addMockData):
(MockData.set addMockBuildRequestsWithRoots):
(MockData.set addTwoMockTestGroupWithOwnedCommits):
(MockData.mockTestSyncConfigWithPatchAcceptingBuilder):

  • server-tests/tools-buildbot-triggerable-tests.js: Added unit tests.
  • tools/js/buildbot-triggerable.js:

(BuildbotTriggerable.prototype.async syncOnce):
(BuildbotTriggerable.prototype.async _scheduleRequest): A helper function to reuse the roots if there are built
roots available for same build type build request. If there is another build scheduled for same build request,
will defer scheduling the build request.

  • unit-tests/build-request-tests.js: Add unit tests.
12:25 PM Changeset in webkit [269870] by Russell Epstein
  • 5 edits in branches/safari-610-branch/Source

Cherry-pick r268979. rdar://problem/71446613

Use a WeakHashSet for Document::m_captionPreferencesChangedElements
https://bugs.webkit.org/show_bug.cgi?id=218170

Reviewed by Eric Carlson.

Source/WebCore:

Refactoring to move from raw pointer to weak pointer.
For that purpose, we use WeakHashSet and WeakHashSet::forEach for extra safety.
No observable change of behavior.

  • dom/Document.cpp: (WebCore::Document::registerForCaptionPreferencesChangedCallbacks): (WebCore::Document::unregisterForCaptionPreferencesChangedCallbacks): (WebCore::Document::captionPreferencesChanged):
  • dom/Document.h:

Source/WTF:

  • wtf/WeakHashSet.h: Add a static cast for classes inheriting CanMakeWeakPtr like done for the set iterator. Update code to compile in WinCairo.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268979 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:14 PM Changeset in webkit [269869] by Devin Rousso
  • 35 edits in trunk/Source

Ignore deprecation warnings for the uniform types C API
https://bugs.webkit.org/show_bug.cgi?id=218989

Reviewed by Tim Horton.

These should eventually be replaced with the ObjC API UniformTypeIdentifiers.framework.
See <https://developer.apple.com/documentation/uniformtypeidentifiers>.

Source/WebCore:

  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::mimeTypeFromContentType):
(WebCore::attachmentForFilePath):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::dataSelectionForPasteboard):

  • fileapi/FileCocoa.mm:

(WebCore::File::shouldReplaceFile):

  • page/mac/DragControllerMac.mm:

(WebCore::DragController::updateSupportedTypeIdentifiersForDragHandlingMethod const):

  • platform/cocoa/DragDataCocoa.mm:

(WebCore::rtfPasteboardType):
(WebCore::rtfdPasteboardType):
(WebCore::stringPasteboardType):
(WebCore::urlPasteboardType):
(WebCore::htmlPasteboardType):
(WebCore::pdfPasteboardType):
(WebCore::tiffPasteboardType):
(WebCore::DragData::containsCompatibleContent const):

  • platform/cocoa/MIMETypeRegistryCocoa.mm:

(WebCore::extensionsForMIMETypeMap):

  • platform/cocoa/PasteboardCocoa.mm:

(WebCore::cocoaTypeToImageType):
(WebCore::Pasteboard::fileContentState):

  • platform/cocoa/PlatformPasteboardCocoa.mm:

(WebCore::PlatformPasteboard::urlStringSuitableForLoading):

  • platform/graphics/cg/ImageBufferUtilitiesCG.cpp:

(WebCore::jpegUTI):
(WebCore::utiFromImageBufferMIMEType):

  • platform/graphics/cg/ImageSourceCGMac.mm:

(WebCore::preferredExtensionForImageType):

  • platform/graphics/mac/ImageMac.mm:

(WebCore::BitmapImage::tiffRepresentation):

  • platform/ios/PasteboardIOS.mm:

(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::read):
(WebCore::supportedImageTypes):
(WebCore::isTypeAllowedByReadingPolicy):
(WebCore::Pasteboard::readPasteboardWebContentDataForType):
(WebCore::readURLAlongsideAttachmentIfNecessary):
(WebCore::prefersAttachmentRepresentation):
(WebCore::Pasteboard::supportedWebContentPasteboardTypes):
(WebCore::Pasteboard::supportedFileUploadPasteboardTypes):
(WebCore::utiTypeFromCocoaType):
(WebCore::Pasteboard::readPlatformValuesAsStrings):
(WebCore::Pasteboard::addHTMLClipboardTypesForCocoaType):

  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::safeTypeForDOMToReadAndWriteForPlatformType):
(WebCore::webSafeTypes):
(WebCore::PlatformPasteboard::informationForItemAtIndex):
(WebCore::PlatformPasteboard::stringForType const):
(WebCore::PlatformPasteboard::platformPasteboardTypeForSafeTypeForDOMToReadAndWrite):
(WebCore::addRepresentationsForPlainText):
(WebCore::PlatformPasteboard::allowReadingURLAtIndex const):
(WebCore::PlatformPasteboard::write):
(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
(WebCore::createItemProviderRegistrationList):
(WebCore::PlatformPasteboard::readString const):
(WebCore::PlatformPasteboard::readURL const):
(WebCore::PlatformPasteboard::containsURLStringSuitableForLoading):

  • platform/ios/WebItemProviderPasteboard.mm:

(typeConformsToTypes):
(-[NSItemProvider web_containsFileURLAndFileUploadContent]):
(-[NSItemProvider web_fileUploadContentTypes]):
(-[WebItemProviderPasteboard _preLoadedDataConformingToType:forItemProviderAtIndex:]):
(classForTypeIdentifier):
(linkTemporaryItemProviderFilesToDropStagingDirectory):
(-[WebItemProviderPasteboard typeIdentifiersToLoad:]):

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::write):
(WebCore::Pasteboard::read):
(WebCore::cocoaTypeFromHTMLClipboardType):
(WebCore::utiTypeFromCocoaType):
(WebCore::Pasteboard::writeString):

  • platform/mac/PasteboardWriter.mm:

(WebCore::toUTI):
(WebCore::toUTIUnlessAlreadyUTI):
(WebCore::createPasteboardWriter):

  • platform/mac/PlatformPasteboardMac.mm:

(WebCore::canWritePasteboardType):
(WebCore::urlStringsFromPasteboard):
(WebCore::typeIdentifierForPasteboardType):
(WebCore::PlatformPasteboard::allStringsForType const):
(WebCore::safeTypeForDOMToReadAndWriteForPlatformType):
(WebCore::PlatformPasteboard::setStringForType):

  • platform/network/ios/WebCoreURLResponseIOS.mm:

(WebCore::adjustMIMETypeIfNecessary):

  • platform/network/mac/UTIUtilities.mm:

(WebCore::MIMETypeFromUTI):
(WebCore::MIMETypeFromUTITree):
(WebCore::UTIFromMIMETypeCachePolicy::createValueForKey):
(WebCore::isDeclaredUTI):
(WebCore::UTIFromTag):

  • platform/network/mac/WebCoreURLResponse.mm:

(WebCore::adjustMIMETypeIfNecessary):

  • rendering/RenderThemeMac.mm:

(WebCore::iconForAttachment):

Source/WebKit:

  • Shared/ios/WebIconUtilities.mm:

(WebKit::iconForFile):

  • Shared/mac/PasteboardTypes.mm:

(WebKit::PasteboardTypes::forEditing):
(WebKit::PasteboardTypes::forSelection):

  • UIProcess/API/Cocoa/APIAttachmentCocoa.mm:

(API::isDeclaredOrDynamicTypeIdentifier):
(API::Attachment::mimeType const):
(API::Attachment::utiType const):
(API::Attachment::setFileWrapperAndUpdateContentType):

  • UIProcess/Automation/cocoa/WebAutomationSessionCocoa.mm:

(WebKit::WebAutomationSession::platformGetBase64EncodedPNGData):

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::setPromisedDataForImage):

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _commonInitializationWithProcessPool:configuration:]):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView supportedPasteboardTypesForCurrentSelection]):

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView actionSheetAssistant:performAction:]):

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel currentAvailableActionTitles]):
(-[WKFileUploadPanel contextMenuInteraction:configurationForMenuAtLocation:]):
(-[WKFileUploadPanel showFilePickerMenu]):
(-[WKFileUploadPanel showDocumentPickerMenu]):
(-[WKFileUploadPanel _uploadItemFromMediaInfo:successBlock:failureBlock:]):

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::setupServicesMenu):

Source/WebKitLegacy/mac:

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
(+[WebHTMLView _insertablePasteboardTypes]):
(-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):

12:05 PM Changeset in webkit [269868] by don.olmstead@sony.com
  • 6 edits in trunk/Source

Non-unified build fixes, mid November 2020 edition
https://bugs.webkit.org/show_bug.cgi?id=218911

Unreviewed build fix.

Source/WebCore:

  • display/css/DisplayBoxFactory.h:
  • page/Quirks.cpp:
  • rendering/style/GridPosition.cpp:

Source/WebKit:

  • UIProcess/SpeechRecognitionServer.cpp:

(WebKit::SpeechRecognitionServer::start):
(WebKit::SpeechRecognitionServer::requestPermissionForRequest):
(WebKit::SpeechRecognitionServer::sendUpdate):

11:52 AM Changeset in webkit [269867] by pvollan@apple.com
  • 4 edits in trunk/Source

[macOS] The WebContent sandbox does not apply for open source builds
https://bugs.webkit.org/show_bug.cgi?id=218982

Reviewed by Alexey Proskuryakov.

Source/WebKit:

The WebContent sandbox does not apply for open source builds on macOS, since it has enabled message filtering,
which requires a private entitlement.

  • WebProcess/com.apple.WebProcess.sb.in:

Source/WTF:

Add HAVE define for sandbox message filtering.

  • wtf/PlatformHave.h:
11:46 AM Changeset in webkit [269866] by ysuzuki@apple.com
  • 35 edits
    12 copies
    193 adds in trunk/LayoutTests

Import latest wpt/wasm tests
https://bugs.webkit.org/show_bug.cgi?id=218953

Reviewed by Saam Barati.

LayoutTests/imported/w3c:

This patch just imports and rebaselines wpt/wasm tests.

  • resources/import-expectations.json:
  • web-platform-tests/wasm/META.yml: Added.
  • web-platform-tests/wasm/compile_worker.js: Added.

(onmessage):

  • web-platform-tests/wasm/create_multiple_memory.worker-expected.txt: Added.
  • web-platform-tests/wasm/create_multiple_memory.worker.html: Added.
  • web-platform-tests/wasm/create_multiple_memory.worker.js: Added.

(test):

  • web-platform-tests/wasm/incrementer.wasm: Added.
  • web-platform-tests/wasm/jsapi/bad-imports.js:

(test_bad_imports.value_type):
(test_bad_imports):

  • web-platform-tests/wasm/jsapi/constructor/instantiate-bad-imports.any-expected.txt:
  • web-platform-tests/wasm/jsapi/constructor/instantiate-bad-imports.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/constructor/instantiate.any-expected.txt:
  • web-platform-tests/wasm/jsapi/constructor/instantiate.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/constructor/toStringTag.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/constructor/toStringTag.any.html: Added.
  • web-platform-tests/wasm/jsapi/constructor/toStringTag.any.js: Added.

(test):
(test.t.t.add_cleanup):

  • web-platform-tests/wasm/jsapi/constructor/toStringTag.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/constructor/toStringTag.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/constructor/w3c-import.log:
  • web-platform-tests/wasm/jsapi/functions/entry-different-function-realm-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/functions/entry-different-function-realm.html: Added.
  • web-platform-tests/wasm/jsapi/functions/entry-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/functions/entry.html: Added.
  • web-platform-tests/wasm/jsapi/functions/helper.js: Added.

(call_later):

  • web-platform-tests/wasm/jsapi/functions/incumbent-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/functions/incumbent.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/README.md: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/current/current.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/current/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/jsapi/functions/resources/current/resources/window-to-open.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/current/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/jsapi/functions/resources/entry-incumbent.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/function/function.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/function/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/jsapi/functions/resources/function/resources/window-to-open.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/function/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/jsapi/functions/resources/incumbent-incumbent.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/relevant/relevant.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/relevant/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/jsapi/functions/resources/relevant/resources/window-to-open.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/relevant/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/jsapi/functions/resources/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/jsapi/functions/resources/resources/window-to-open.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/jsapi/functions/resources/window-to-open.html: Added.
  • web-platform-tests/wasm/jsapi/functions/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/jsapi/global/constructor.any-expected.txt:
  • web-platform-tests/wasm/jsapi/global/constructor.any.js:

(test):
(string_appeared_here.toString):
(string_appeared_here.valueOf):
(string_appeared_here.test):
(toString):
(valueOf):
(name.format_value):
(const.invalidBigint.of.invalidBigints.test):

  • web-platform-tests/wasm/jsapi/global/constructor.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/global/value-get-set.any-expected.txt:
  • web-platform-tests/wasm/jsapi/global/value-get-set.any.js:

(string_appeared_here.name.of.immutableOptions.test):
(string_appeared_here.name.of.mutableOptions.test):
(test):

  • web-platform-tests/wasm/jsapi/global/value-get-set.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/idlharness.any-expected.txt:
  • web-platform-tests/wasm/jsapi/idlharness.any.js:

(async idl_array):
(promise_test.async const): Deleted.
(promise_test): Deleted.

  • web-platform-tests/wasm/jsapi/idlharness.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/instance/constructor-bad-imports.any-expected.txt:
  • web-platform-tests/wasm/jsapi/instance/constructor-bad-imports.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/instance/constructor.any-expected.txt:
  • web-platform-tests/wasm/jsapi/instance/constructor.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/instanceTestFactory.js:

(const.imports.string_appeared_here.string_appeared_here):

  • web-platform-tests/wasm/jsapi/memory/assertions.js: Added.

(assert_ArrayBuffer):

  • web-platform-tests/wasm/jsapi/memory/constructor-shared.tentative.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor-shared.tentative.any.html: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor-shared.tentative.any.js: Added.

(test):
(test.t.new.WebAssembly.Memory.get maximum):
(test.t.new.WebAssembly.Memory.get initial):
(test.t.new.WebAssembly.Memory.get shared):

  • web-platform-tests/wasm/jsapi/memory/constructor-shared.tentative.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor-shared.tentative.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor-types.tentative.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor-types.tentative.any.html: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor-types.tentative.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/memory/constructor-types.tentative.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor-types.tentative.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor.any-expected.txt:
  • web-platform-tests/wasm/jsapi/memory/constructor.any.js:

(test.get assert_array_equals):
(test):
(assert_Memory): Deleted.
(test.t.get assert_array_equals): Deleted.

  • web-platform-tests/wasm/jsapi/memory/constructor.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/memory/grow.any.js:

(assert_ArrayBuffer): Deleted.

  • web-platform-tests/wasm/jsapi/memory/w3c-import.log:
  • web-platform-tests/wasm/jsapi/prototypes.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/prototypes.any.html: Added.
  • web-platform-tests/wasm/jsapi/prototypes.any.js: Added.

(setup):
(test):

  • web-platform-tests/wasm/jsapi/prototypes.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/prototypes.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/table/assertions.js:
  • web-platform-tests/wasm/jsapi/table/constructor-types.tentative.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/constructor-types.tentative.any.html: Added.
  • web-platform-tests/wasm/jsapi/table/constructor-types.tentative.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/table/constructor-types.tentative.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/constructor-types.tentative.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/table/constructor.any.js:

(assert_Table): Deleted.

  • web-platform-tests/wasm/jsapi/table/w3c-import.log:
  • web-platform-tests/wasm/jsapi/w3c-import.log:
  • web-platform-tests/wasm/jsapi/wasm-module-builder.js:

(WasmModuleBuilder.prototype.addTable):
(WasmModuleBuilder.prototype.toBuffer):
(wasmF32Const):
(wasmF64Const):

  • web-platform-tests/wasm/resources/load_wasm.js: Added.

(createWasmModule):

  • web-platform-tests/wasm/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/serialization/arraybuffer/transfer.window-expected.txt: Added.
  • web-platform-tests/wasm/serialization/arraybuffer/transfer.window.html: Added.
  • web-platform-tests/wasm/serialization/arraybuffer/transfer.window.js: Added.

(test):

  • web-platform-tests/wasm/serialization/arraybuffer/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/serialization/module/broadcastchannel-success-and-failure-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/broadcastchannel-success-and-failure.html: Added.
  • web-platform-tests/wasm/serialization/module/broadcastchannel-success-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/broadcastchannel-success.html: Added.
  • web-platform-tests/wasm/serialization/module/identity-not-preserved-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/identity-not-preserved.html: Added.
  • web-platform-tests/wasm/serialization/module/incrementer.wasm: Added.
  • web-platform-tests/wasm/serialization/module/nested-worker-success.any.js: Added.
  • web-platform-tests/wasm/serialization/module/nested-worker-success.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/nested-worker-success.any.worker.html: Added.
  • web-platform-tests/wasm/serialization/module/no-transferring-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/no-transferring.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/blank.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/broadcastchannel-iframe.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/broadcastchannel-sharedworker.js: Added.

(channel.onmessageerror):

  • web-platform-tests/wasm/serialization/module/resources/broadcastchannel-worker.js: Added.

(channel.onmessage):

  • web-platform-tests/wasm/serialization/module/resources/create-empty-wasm-module.js: Added.

(createEmptyWasmModule):

  • web-platform-tests/wasm/serialization/module/resources/echo-iframe.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/echo-worker.js: Added.

(self.onmessage):

  • web-platform-tests/wasm/serialization/module/resources/incrementer-iframe-domain.sub.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/incrementer-iframe.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/incrementer-popup.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/incrementer-worker-with-channel.js: Added.

(self.onmessage):

  • web-platform-tests/wasm/serialization/module/resources/incrementer-worker.js: Added.
  • web-platform-tests/wasm/serialization/module/resources/incrementer.wasm: Added.
  • web-platform-tests/wasm/serialization/module/resources/nested-iframe-1.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/nested-iframe-2.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/nested-iframe-3.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/nested-iframe-4-incrementer.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/serviceworker-failure.js: Added.

(self.onmessage.e.else):

  • web-platform-tests/wasm/serialization/module/resources/sharedworker-failure.js: Added.
  • web-platform-tests/wasm/serialization/module/resources/test-incrementer.js: Added.

(createWasmModule):
(testModule):
(self.testSharingViaIncrementerScript):
(self.setupDestinationIncrementer):

  • web-platform-tests/wasm/serialization/module/resources/w3c-import.log: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-history-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-history.html: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-idb.any-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-idb.any.html: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-idb.any.js: Added.

(createEmptyWasmModule):
(async_test.t.openReq.onupgradeneeded.e.store.put.property.get x):
(async_test.t.openReq.onupgradeneeded.e.store.put.createEmptyWasmModule.get x):
(async_test.t.openReq.onupgradeneeded.e.store.put.createEmptyWasmModule):

  • web-platform-tests/wasm/serialization/module/serialization-via-idb.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-idb.any.worker.html: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-notifications-api.any-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-notifications-api.any.html: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-notifications-api.any.js: Added.

(createEmptyWasmModule):
(test):

  • web-platform-tests/wasm/serialization/module/serialization-via-notifications-api.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-notifications-api.any.worker.html: Added.
  • web-platform-tests/wasm/serialization/module/w3c-import.log: Added.
  • web-platform-tests/wasm/serialization/module/window-domain-success.sub-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/window-domain-success.sub.html: Added.
  • web-platform-tests/wasm/serialization/module/window-messagechannel-success-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/window-messagechannel-success.html: Added.
  • web-platform-tests/wasm/serialization/module/window-serviceworker-failure.https-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/window-serviceworker-failure.https.html: Added.
  • web-platform-tests/wasm/serialization/module/window-sharedworker-failure-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/window-sharedworker-failure.html: Added.
  • web-platform-tests/wasm/serialization/module/window-similar-but-cross-origin-success.sub-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/window-similar-but-cross-origin-success.sub.html: Added.
  • web-platform-tests/wasm/serialization/module/window-simple-success-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/window-simple-success.html: Added.
  • web-platform-tests/wasm/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/webapi/abort.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/abort.any.html: Added.
  • web-platform-tests/wasm/webapi/abort.any.js: Added.

(const.method.of.methods.promise_test.async t):
(const.method.of.methods.return.promise_rejects_dom):

  • web-platform-tests/wasm/webapi/abort.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/abort.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/body.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/body.any.html: Added.
  • web-platform-tests/wasm/webapi/body.any.js: Added.

(string_appeared_here.WebAssembly.method):
(string_appeared_here.return.promise_rejects_js):

  • web-platform-tests/wasm/webapi/body.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/body.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/contenttype.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/contenttype.any.html: Added.
  • web-platform-tests/wasm/webapi/contenttype.any.js: Added.

(const.contenttype.of.validContentTypes.promise_test.async t):

  • web-platform-tests/wasm/webapi/contenttype.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/contenttype.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/empty-body.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/empty-body.any.html: Added.
  • web-platform-tests/wasm/webapi/empty-body.any.js: Added.

(string_appeared_here.name.of.invalidArguments.WebAssembly.method):

  • web-platform-tests/wasm/webapi/empty-body.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/empty-body.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/historical.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/historical.any.html: Added.
  • web-platform-tests/wasm/webapi/historical.any.js: Added.

(promise_test.async t.):
(promise_test.async t):

  • web-platform-tests/wasm/webapi/historical.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/historical.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/idlharness.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/idlharness.any.html: Added.
  • web-platform-tests/wasm/webapi/idlharness.any.js: Added.
  • web-platform-tests/wasm/webapi/idlharness.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/idlharness.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any.html: Added.
  • web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any.js: Added.

(test_bad_imports):

  • web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/instantiateStreaming.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/instantiateStreaming.any.html: Added.
  • web-platform-tests/wasm/webapi/instantiateStreaming.any.js: Added.

(setup):
(fn.of.instanceTestFactory.promise_test.async const):
(fn.of.instanceTestFactory.promise_test):
(promise_test.async const):
(promise_test.const.imports.get module.return.get global):
(promise_test.const.imports.get module):
(promise_test):

  • web-platform-tests/wasm/webapi/instantiateStreaming.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/instantiateStreaming.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/invalid-args.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/invalid-args.any.html: Added.
  • web-platform-tests/wasm/webapi/invalid-args.any.js: Added.

(string_appeared_here.name.format_value):

  • web-platform-tests/wasm/webapi/invalid-args.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/invalid-args.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/invalid-code.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/invalid-code.any.html: Added.
  • web-platform-tests/wasm/webapi/invalid-code.any.js: Added.

(setup):

  • web-platform-tests/wasm/webapi/invalid-code.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/invalid-code.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/origin.sub.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/origin.sub.any.html: Added.
  • web-platform-tests/wasm/webapi/origin.sub.any.js: Added.
  • web-platform-tests/wasm/webapi/origin.sub.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/origin.sub.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/rejected-arg.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/rejected-arg.any.html: Added.
  • web-platform-tests/wasm/webapi/rejected-arg.any.js: Added.

(string_appeared_here.WebAssembly.method):

  • web-platform-tests/wasm/webapi/rejected-arg.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/rejected-arg.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/status.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/status.any.html: Added.
  • web-platform-tests/wasm/webapi/status.any.js: Added.
  • web-platform-tests/wasm/webapi/status.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/status.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/status.py: Added.

(main):

  • web-platform-tests/wasm/webapi/w3c-import.log: Added.

LayoutTests:

11:32 AM Changeset in webkit [269865] by Megan Gardner
  • 20 edits in trunk/Source

Add menu support for app highlights for books
https://bugs.webkit.org/show_bug.cgi?id=218879
<rdar://problem/71352113>

Reviewed by Alex Christensen.

Source/WebCore:

Add menu items and associated plubling for support for books highlights in modern webkit.

  • WebCore.xcodeproj/project.pbxproj:
  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::checkOrEnableIfNeeded const):

  • platform/ContextMenuItem.cpp:

(WebCore::isValidContextMenuAction):

  • platform/ContextMenuItem.h:
  • platform/LocalizedStrings.h:
  • platform/cocoa/LocalizedStringsCocoa.mm:

(WebCore::contextMenuItemTagAddHighlightToCurrentGroup):
(WebCore::contextMenuItemTagAddHighlightToNewGroup):

Source/WebKit:

Add menu items and associated plumbing for support for books highlights in modern WebKit.

  • FeatureFlags/WebKit.plist:
  • Shared/API/c/WKContextMenuItemTypes.h:
  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toAPI):
(WebKit::toImpl):

  • Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm:

(WebKit::isFeatureFlagEnabled):

  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultAppHighlightsEnabled):

  • Shared/WebPreferencesDefaultValues.h:
  • UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm:
  • UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::menuItemIdentifier):

Source/WebKitLegacy/mac:

  • WebView/WebHTMLView.mm:

(toTag):

Source/WTF:

  • Scripts/Preferences/WebPreferencesInternal.yaml:
10:59 AM Changeset in webkit [269864] by Russell Epstein
  • 5 edits in branches/safari-610.3.7.0-branch/Source

Cherry-pick r268979. rdar://problem/71446619

Use a WeakHashSet for Document::m_captionPreferencesChangedElements
https://bugs.webkit.org/show_bug.cgi?id=218170

Reviewed by Eric Carlson.

Source/WebCore:

Refactoring to move from raw pointer to weak pointer.
For that purpose, we use WeakHashSet and WeakHashSet::forEach for extra safety.
No observable change of behavior.

  • dom/Document.cpp: (WebCore::Document::registerForCaptionPreferencesChangedCallbacks): (WebCore::Document::unregisterForCaptionPreferencesChangedCallbacks): (WebCore::Document::captionPreferencesChanged):
  • dom/Document.h:

Source/WTF:

  • wtf/WeakHashSet.h: Add a static cast for classes inheriting CanMakeWeakPtr like done for the set iterator. Update code to compile in WinCairo.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268979 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:58 AM Changeset in webkit [269863] by Russell Epstein
  • 8 edits in branches/safari-610.3.7.0-branch/Source

Versioning.

WebKit-7610.3.7.0.3

10:58 AM Changeset in webkit [269862] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Add CSS aspect ratio to feature status page
https://bugs.webkit.org/show_bug.cgi?id=218979

Patch by Rob Buis <rbuis@igalia.com> on 2020-11-16
Reviewed by Simon Fraser.

Add status entry for CSS aspect ratio as well as
a css-sizing category for CSS properties.

  • css/CSSProperties.json:
  • features.json:
10:41 AM Changeset in webkit [269861] by Russell Epstein
  • 5 edits in branches/safari-610.3.7.1-branch/Source

Cherry-pick r268979. rdar://problem/71446624

Use a WeakHashSet for Document::m_captionPreferencesChangedElements
https://bugs.webkit.org/show_bug.cgi?id=218170

Reviewed by Eric Carlson.

Source/WebCore:

Refactoring to move from raw pointer to weak pointer.
For that purpose, we use WeakHashSet and WeakHashSet::forEach for extra safety.
No observable change of behavior.

  • dom/Document.cpp: (WebCore::Document::registerForCaptionPreferencesChangedCallbacks): (WebCore::Document::unregisterForCaptionPreferencesChangedCallbacks): (WebCore::Document::captionPreferencesChanged):
  • dom/Document.h:

Source/WTF:

  • wtf/WeakHashSet.h: Add a static cast for classes inheriting CanMakeWeakPtr like done for the set iterator. Update code to compile in WinCairo.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268979 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:40 AM Changeset in webkit [269860] by Russell Epstein
  • 8 edits in branches/safari-610.3.7.1-branch/Source

Versioning.

WebKit-7610.3.7.1.5

10:12 AM Changeset in webkit [269859] by Andres Gonzalez
  • 2 edits in trunk/Source/WebCore

Add logging of AXCoreObject outerHTML to AXLogger.
https://bugs.webkit.org/show_bug.cgi?id=218958

Reviewed by Chris Fleizach.

No change in functionality, debugging code.

  • accessibility/AXLogger.cpp:

(WebCore::operator<<):

  • Added logging of the outerHTML of the corresponding Element for AXCoreObjects.
  • Added logging of the platform wrapper address for AXCoreObjects.
10:08 AM Changeset in webkit [269858] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Add didReceiveResponseForResource to WKWebProcessPlugInLoadDelegate
https://bugs.webkit.org/show_bug.cgi?id=218925

Patch by Trevor Stevenson <trevor_s@apple.com> on 2020-11-16
Reviewed by Alex Christensen.

Expose the callback for didReceiveResponseForResource in WKWebProcessPlugInLoadDelegate
for use in the injected bundle.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(didReceiveResponseForResource):
(setUpResourceLoadClient):

9:33 AM Changeset in webkit [269857] by Chris Dumez
  • 4 edits in trunk/Tools

Fix several leaks of CGContext in API tests
https://bugs.webkit.org/show_bug.cgi?id=218988

Reviewed by Wenson Hsieh.

Make sure we adopt the value returned by CGBitmapContextCreate().

  • TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/WKWebViewSnapshot.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKitLegacy/ios/SnapshotViaRenderInContext.mm:

(TestWebKitAPI::TEST):

9:30 AM Changeset in webkit [269856] by Russell Epstein
  • 2 edits in branches/safari-610-branch/Source/WebKit

Cherry-pick r269651. rdar://problem/71442660

[macOS] Allow IOGLESBundleName for Apple Silicon Macs
https://bugs.webkit.org/show_bug.cgi?id=218774
<rdar://problem/67473780>

Unreviewed follow-up fix to r269649.

Two additional keys are needed: MetalPluginClassName and MetalPluginName

  • WebProcess/com.apple.WebProcess.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269651 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:29 AM Changeset in webkit [269855] by Russell Epstein
  • 2 edits in branches/safari-610-branch/Source/WebKit

Cherry-pick r269649. rdar://problem/71442660

[macOS] Allow IOGLESBundleName for Apple Silicon Macs
https://bugs.webkit.org/show_bug.cgi?id=218774
<rdar://problem/67473780>

Reviewed by Tim Horton.

The WebContent should be able to read the IOGLESBundleName IOKit property on
Apple Silicon Macs. This will help the OpenGL stack make better choices about
which bundles to load when processing WebGL content.

  • WebProcess/com.apple.WebProcess.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269649 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:04 AM Changeset in webkit [269854] by weinig@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Remove and re-add fast/forms/selection-direction.html without CRs
https://bugs.webkit.org/show_bug.cgi?id=218966

  • fast/forms/selection-direction.html:

Re add test back without the CRs.

8:40 AM Changeset in webkit [269853] by Chris Dumez
  • 32 edits in trunk/LayoutTests

WebAudio tests may give slightly different outputs on different platforms
https://bugs.webkit.org/show_bug.cgi?id=218929

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that their output has changed.

  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audiobuffersource-connections-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audioworklet-connections.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-biquad-connection-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-biquad-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-constant-source-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-delay-connections-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-delay-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-gain-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-oscillator-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-connections-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-stereo-panner-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-cascade-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-4-chan-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/maxdelay-rounding-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/detune-limiting-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/automation-changes-expected.txt:

LayoutTests:

WebAudio tests may give slightly different outputs on different platforms, causing what looks like flakiness.
This is due to the "(contains X different values)" because X may differ from one platform to another
(usually +/- 1).

  • resources/testharnessreport.js:

(self.testRunner.add_completion_callback):
Strip the "(contains X different values)" strings from output lines.

  • webaudio/AudioNode/tail-connections-expected.txt:
  • webaudio/AudioNode/tail-processing-expected.txt:
  • webaudio/BiquadFilter/biquad-829349-expected.txt:
  • webaudio/BiquadFilter/tail-time-allpass-expected.txt:
  • webaudio/BiquadFilter/tail-time-bandpass-expected.txt:
  • webaudio/BiquadFilter/tail-time-highpass-expected.txt:
  • webaudio/BiquadFilter/tail-time-highshelf-expected.txt:
  • webaudio/BiquadFilter/tail-time-lowpass-expected.txt:
  • webaudio/BiquadFilter/tail-time-lowshelf-expected.txt:
  • webaudio/BiquadFilter/tail-time-notch-expected.txt:
  • webaudio/BiquadFilter/tail-time-peaking-expected.txt:
  • webaudio/IIRFilter/iir-tail-time-expected.txt:

Rebaseline tests accordingly.

6:51 AM Changeset in webkit [269852] by Antti Koivisto
  • 7 edits in trunk/Source/WebCore

[LFC][Integration] Remove isLastTextRunOnLine/isLastTextRun from run iterator
https://bugs.webkit.org/show_bug.cgi?id=218978

Reviewed by Zalan Bujtas.

Use the line interface instead. This both more readable and more generic.

  • dom/Position.cpp:

(WebCore::Position::upstream const):
(WebCore::Position::downstream const):

  • layout/integration/LayoutIntegrationLineIterator.cpp:

(WebCore::LayoutIntegration::LineIterator::operator== const):

Also use Variant default operator==.

  • layout/integration/LayoutIntegrationRunIterator.cpp:

(WebCore::LayoutIntegration::RunIterator::operator== const):

  • layout/integration/LayoutIntegrationRunIterator.h:

(WebCore::LayoutIntegration::PathTextRun::isLastTextRunOnLine const): Deleted.
(WebCore::LayoutIntegration::PathTextRun::isLastTextRun const): Deleted.

  • layout/integration/LayoutIntegrationRunIteratorLegacyPath.h:

Also use RefCountedArray instead of Vector to avoid unnecessary copies of the order cache.

(WebCore::LayoutIntegration::RunIteratorLegacyPath::isLastTextRunOnLine const): Deleted.
(WebCore::LayoutIntegration::RunIteratorLegacyPath::isLastTextRun const): Deleted.

  • layout/integration/LayoutIntegrationRunIteratorModernPath.h:

(WebCore::LayoutIntegration::RunIteratorModernPath::isLastTextRunOnLine const): Deleted.
(WebCore::LayoutIntegration::RunIteratorModernPath::isLastTextRun const): Deleted.

6:05 AM Changeset in webkit [269851] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit

WebDriver: do not focus the main frame when switching to a window
https://bugs.webkit.org/show_bug.cgi?id=218383

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2020-11-16
Reviewed by Brian Burg.

The spec doesn't say we should focus the main frame. This is confusing WPT test
infrastructure/testdriver/actions/crossOrigin.sub.html that first focuses an input in an iframe and then it send
keyboard events to the window (after switching to the window again even when it's already the current one, that
causes the iframe focus to be lost).

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::switchToBrowsingContext):

  • WebProcess/Automation/WebAutomationSessionProxy.cpp:
  • WebProcess/Automation/WebAutomationSessionProxy.h:
  • WebProcess/Automation/WebAutomationSessionProxy.messages.in:
4:57 AM Changeset in webkit [269850] by commit-queue@webkit.org
  • 78 edits in trunk/Source

Final refactor for WebGL implementation to use only GraphicsContextGL
https://bugs.webkit.org/show_bug.cgi?id=218333

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-11-16
Reviewed by Simon Fraser.

Source/WebCore:

Change WebGL implementation to use GraphicsContextGL abstract class
instead of GraphicsContextGLOpenGL concrete class. This allows
implementation of WebGL in GpuProcess, where the remote implementation
is one GraphicsContextGL subclass and the actual drawing is done,
either in GPUP and non-GPUP cases by the old GraphicsContextGLOpenGL.

The GPUP supports only ANGLE flavor of the WebGL implementation. This is
because ANGLE contains the functions that are designed to be more secure
for the cross-process environment. This is why GraphicsContextGL
interface is modified to contain only functions that make sense for
ANGLE. Functions unimplemeted by ANGLE are removed from the interface.
Calling WebGL code inside #ifdef !USE(ANGLE) will downcast the interface
to GraphicsContextGLOpenGL to call the functions that do not make sense
to exist in the ANGLE version.

Small amount of functions in GraphicsContextGL interface are re-ordered
to enable later IPC auto-generation from the interface.

ExtensionsGL.h is reformatted according to WebKit style to enable later
IPC auto-generation from the interface.

No new tests, a refactor.

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::rendererIsNeeded):
(WebCore::HTMLVideoElement::parseAttribute):
(WebCore::HTMLVideoElement::supportsFullscreen const):
(WebCore::HTMLVideoElement::paintCurrentFrameInContext):
(WebCore::HTMLVideoElement::copyVideoTextureToPlatformTexture):
(WebCore::HTMLVideoElement::hasAvailableVideoFrame const):
(WebCore::HTMLVideoElement::webkitEnterFullscreen):

  • html/HTMLVideoElement.h:
  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::create):
(WebCore::WebGL2RenderingContext::WebGL2RenderingContext):
(WebCore::WebGL2RenderingContext::getBufferSubData):
(WebCore::WebGL2RenderingContext::vertexAttribI4uiv):
(WebCore::WebGL2RenderingContext::bindSampler):
(WebCore::WebGL2RenderingContext::clientWaitSync):
(WebCore::WebGL2RenderingContext::deleteTransformFeedback):
(WebCore::WebGL2RenderingContext::beginTransformFeedback):
(WebCore::WebGL2RenderingContext::endTransformFeedback):
(WebCore::WebGL2RenderingContext::transformFeedbackVaryings):
(WebCore::WebGL2RenderingContext::getActiveUniforms):

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGLActiveInfo.h:
  • html/canvas/WebGLBuffer.cpp:

(WebCore::WebGLBuffer::deleteObjectImpl):

  • html/canvas/WebGLBuffer.h:
  • html/canvas/WebGLContextGroup.cpp:

(WebCore::WebGLContextGroup::getAGraphicsContextGL):

  • html/canvas/WebGLContextGroup.h:
  • html/canvas/WebGLContextObject.cpp:

(WebCore::WebGLContextObject::getAGraphicsContextGL const):

  • html/canvas/WebGLContextObject.h:
  • html/canvas/WebGLDepthTexture.cpp:

(WebCore::WebGLDepthTexture::supported):

  • html/canvas/WebGLDepthTexture.h:
  • html/canvas/WebGLDrawBuffers.cpp:

(WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):

  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::onAccess):
(WebCore::WebGLFramebuffer::deleteObjectImpl):
(WebCore::WebGLFramebuffer::initializeAttachments):

  • html/canvas/WebGLFramebuffer.h:
  • html/canvas/WebGLObject.cpp:

(WebCore::WebGLObject::deleteObject):

  • html/canvas/WebGLObject.h:
  • html/canvas/WebGLProgram.cpp:

(WebCore::WebGLProgram::deleteObjectImpl):
(WebCore::WebGLProgram::cacheActiveAttribLocations):
(WebCore::WebGLProgram::cacheInfoIfNeeded):

  • html/canvas/WebGLProgram.h:
  • html/canvas/WebGLQuery.cpp:

(WebCore::WebGLQuery::deleteObjectImpl):

  • html/canvas/WebGLQuery.h:
  • html/canvas/WebGLRenderbuffer.cpp:

(WebCore::WebGLRenderbuffer::deleteObjectImpl):

  • html/canvas/WebGLRenderbuffer.h:
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::create):
(WebCore::WebGLRenderingContext::WebGLRenderingContext):

  • html/canvas/WebGLRenderingContext.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::isHighPerformanceContext):
(WebCore::WebGLRenderingContextBase::WebGLRenderingContextBase):
(WebCore::WebGLRenderingContextBase::initializeNewContext):
(WebCore::WebGLRenderingContextBase::compressedTexImage2D):
(WebCore::WebGLRenderingContextBase::validateElementArraySize):
(WebCore::WebGLRenderingContextBase::validateIndexArrayPrecise):
(WebCore::WebGLRenderingContextBase::validateDrawElements):
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::texImageSourceHelper):
(WebCore::WebGLRenderingContextBase::texImage2DBase):
(WebCore::WebGLRenderingContextBase::validateTexFuncFormatAndType):
(WebCore::WebGLRenderingContextBase::copyTexImage2D):
(WebCore::WebGLRenderingContextBase::isTexInternalFormatColorBufferCombinationValid):
(WebCore::WebGLRenderingContextBase::vertexAttribfvImpl):
(WebCore::WebGLRenderingContextBase::initVertexAttrib0):
(WebCore::WebGLRenderingContextBase::maybeRestoreContext):
(WebCore::WebGLRenderingContextBase::drawElementsInstanced):

  • html/canvas/WebGLRenderingContextBase.h:

(WebCore::WebGLRenderingContextBase::graphicsContextGL const):

  • html/canvas/WebGLSampler.cpp:

(WebCore::WebGLSampler::deleteObjectImpl):

  • html/canvas/WebGLSampler.h:
  • html/canvas/WebGLShader.cpp:

(WebCore::WebGLShader::deleteObjectImpl):

  • html/canvas/WebGLShader.h:
  • html/canvas/WebGLShaderPrecisionFormat.h:
  • html/canvas/WebGLSharedObject.cpp:

(WebCore::WebGLSharedObject::getAGraphicsContextGL const):

  • html/canvas/WebGLSharedObject.h:
  • html/canvas/WebGLSync.cpp:

(WebCore::WebGLSync::deleteObjectImpl):

  • html/canvas/WebGLSync.h:
  • html/canvas/WebGLTexture.cpp:

(WebCore::WebGLTexture::deleteObjectImpl):

  • html/canvas/WebGLTexture.h:
  • html/canvas/WebGLTransformFeedback.cpp:

(WebCore::WebGLTransformFeedback::deleteObjectImpl):

  • html/canvas/WebGLTransformFeedback.h:
  • html/canvas/WebGLVertexArrayObject.cpp:

(WebCore::WebGLVertexArrayObject::deleteObjectImpl):

  • html/canvas/WebGLVertexArrayObject.h:
  • html/canvas/WebGLVertexArrayObjectBase.h:
  • html/canvas/WebGLVertexArrayObjectOES.cpp:

(WebCore::WebGLVertexArrayObjectOES::deleteObjectImpl):

  • html/canvas/WebGLVertexArrayObjectOES.h:
  • inspector/InspectorShaderProgram.cpp:
  • platform/graphics/ConcreteImageBuffer.h:
  • platform/graphics/ExtensionsGL.h:
  • platform/graphics/FormatConverter.cpp:

(WebCore::FormatConverter::convert):

  • platform/graphics/FormatConverter.h:
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsContextGL.cpp:
  • platform/graphics/GraphicsContextGL.h:

(WebCore::GraphicsContextGL::contextAttributes const):
(WebCore::GraphicsContextGL::setContextAttributes):

  • platform/graphics/GraphicsTypesGL.h:
  • platform/graphics/ImageBuffer.h:
  • platform/graphics/ImageBufferBackend.h:

(WebCore::ImageBufferBackend::copyToPlatformTexture const):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::bestMediaEngineForSupportParameters):
(WebCore::MediaPlayer::nextMediaEngine):
(WebCore::MediaPlayer::loadWithNextMediaEngine):
(WebCore::MediaPlayer::cancelLoad):
(WebCore::MediaPlayer::setSize):
(WebCore::MediaPlayer::copyVideoTextureToPlatformTexture):
(WebCore::MediaPlayer::supportsType):
(WebCore::MediaPlayer::getSupportedTypes):
(WebCore::MediaPlayer::languageOfPrimaryAudioTrack const):
(WebCore::MediaPlayer::fileSize const):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::hasClosedCaptions const):
(WebCore::MediaPlayerPrivateInterface::copyVideoTextureToPlatformTexture):

  • platform/graphics/angle/ExtensionsGLANGLE.cpp:

(WebCore::ExtensionsGLANGLE::compressedTexImage2DRobustANGLE):
(WebCore::ExtensionsGLANGLE::compressedTexSubImage2DRobustANGLE):

  • platform/graphics/angle/ExtensionsGLANGLE.h:
  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::clearMediaCache):
(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):
(WebCore::MediaPlayerPrivateAVFoundationObjC::synchronizeTextTrackState):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenGravity):
(WebCore::MediaPlayerPrivateAVFoundationObjC::accessLog const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformSetVisible):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeSeekable const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeLoaded const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoLayerGravity):
(WebCore::determineChangedTracksFromNewTracksAndOldItems):
(WebCore::MediaPlayerPrivateAVFoundationObjC::copyVideoTextureToPlatformTexture):
(WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions):
(WebCore::MediaPlayerPrivateAVFoundationObjC::flushCues):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setBufferingPolicy):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::copyVideoTextureToPlatformTexture):

  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::optionsForBiplanarSurface):
(WebCore::IOSurface::ensurePlatformContext):
(WebCore::IOSurface::convertToFormat):

  • platform/graphics/egl/GLContextEGL.cpp:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::copyVideoTextureToPlatformTexture):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:

(WebCore::GraphicsContextGLOpenGL::possibleFormatAndTypeForInternalFormat):

  • platform/graphics/opengl/GraphicsContextGLOpenGL.h:
  • platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp:

(WebCore::GraphicsContextGLOpenGL::reshape):
(WebCore::GraphicsContextGLOpenGL::blendFunc):
(WebCore::GraphicsContextGLOpenGL::compileShader):
(WebCore::GraphicsContextGLOpenGL::getActiveAttribImpl):
(WebCore::GraphicsContextGLOpenGL::getActiveAttrib):
(WebCore::GraphicsContextGLOpenGL::getActiveUniformImpl):
(WebCore::GraphicsContextGLOpenGL::getActiveUniform):
(WebCore::GraphicsContextGLOpenGL::originalSymbolName):
(WebCore::GraphicsContextGLOpenGL::mappedSymbolName):
(WebCore::GraphicsContextGLOpenGL::deleteVertexArray):
(WebCore::GraphicsContextGLOpenGL::isVertexArray):
(WebCore::GraphicsContextGLOpenGL::getNonBuiltInActiveSymbolCount):
(WebCore::GraphicsContextGLOpenGL::getUnmangledInfoLog):
(WebCore::GraphicsContextGLOpenGL::getProgramInfoLog):
(WebCore::GraphicsContextGLOpenGL::getShaderiv):
(WebCore::GraphicsContextGLOpenGL::getShaderInfoLog):
(WebCore::GraphicsContextGLOpenGL::getShaderSource):

Source/WebKit:

Change MediaPlayerPrivate to use GraphicsContextGL abstract class
instead of GraphicsContextGLOpenGL concrete class, since the
calling code is doing the same change.

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::copyVideoTextureToPlatformTexture):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
4:46 AM Changeset in webkit [269849] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebCore

[GStreamer] Clean-up Audio{Data,StreamDescription} implementations
https://bugs.webkit.org/show_bug.cgi?id=218957

Patch by Philippe Normand <pnormand@igalia.com> on 2020-11-16
Reviewed by Xabier Rodriguez-Calvar.

Refactor the GStreamerAudioData and GStreamerStreamDescription implementations in order to
avoid un-necessary copies. The call-sites were adapted accordingly. Some usage of the latter
class was removed because it was simpler to use the GstAudioInfo API directly.

  • Modules/webaudio/MediaStreamAudioSourceGStreamer.cpp:

(WebCore::MediaStreamAudioSource::consumeAudio):

  • platform/audio/gstreamer/GStreamerAudioData.h:
  • platform/audio/gstreamer/GStreamerAudioStreamDescription.h:
  • platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp:

(WebCore::GStreamerAudioCaptureSource::newSampleCallback):

  • platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:

(webkitMediaStreamSrcPushAudioSample):

  • platform/mediastream/gstreamer/MockRealtimeAudioSourceGStreamer.cpp:

(WebCore::MockRealtimeAudioSourceGStreamer::render):

  • platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.cpp:

(WebCore::RealtimeIncomingAudioSourceLibWebRTC::OnData):

  • platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:

(WebCore::libwebrtcAudioFormat):
(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::audioSamplesAvailable):
(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::pullAudioData):

  • platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.h:
4:29 AM Changeset in webkit [269848] by Andres Gonzalez
  • 2 edits in trunk/Source/WebCore

Optimization for AccessibilityNodeObject::accessibilityDescription.
https://bugs.webkit.org/show_bug.cgi?id=218959

Reviewed by Darin Adler.

No change in functionality, optimization.

AccessibilityObject::title() can be an expensive operations because it
can invoke textUnderElement which causes text extraction for all
descendants of the object. Thus, rewrote this snippet in a more
efficient way.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::accessibilityDescription const):

4:17 AM Changeset in webkit [269847] by youenn@apple.com
  • 5 edits
    2 adds in trunk

TextEncoderStreamEncoder should not be exposed
https://bugs.webkit.org/show_bug.cgi?id=218956

Reviewed by Yusuke Suzuki.

Source/WebCore:

Binding generator correctly handles private identifiers and runtime settings, but not when combined for interfaces.

Test: fast/encoding/stream-visibility.html

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:

(WebCore::JSTestEnabledBySettingDOMConstructor::prototypeForStructure):
(WebCore::JSTestEnabledBySetting::finishCreation):
(WebCore::jsTestEnabledBySetting_TestSubObjEnabledBySettingPrivateConstructorGetter):
(WebCore::JSC_DEFINE_CUSTOM_GETTER):
(WebCore::setJSTestEnabledBySetting_TestSubObjEnabledBySettingPrivateConstructorSetter):
(WebCore::JSC_DEFINE_CUSTOM_SETTER):
(WebCore::jsTestEnabledBySetting_TestSubObjEnabledBySettingPrivatePublicConstructorGetter):
(WebCore::setJSTestEnabledBySetting_TestSubObjEnabledBySettingPrivatePublicConstructorSetter):

  • bindings/scripts/test/TestEnabledBySetting.idl:

LayoutTests:

  • fast/encoding/stream-visibility-expected.txt: Added.
  • fast/encoding/stream-visibility.html: Added.
3:28 AM Changeset in webkit [269846] by Devin Rousso
  • 4 edits in trunk/Source

[iPad] nhl.com cannot select new video to play while video is playing with desktop UA
https://bugs.webkit.org/show_bug.cgi?id=218868
<rdar://problem/67823088>

Reviewed by Antoine Quint.

The desktop "version" of this site uses custom media controls that don't work well on iOS
because they rely on mouse events (which is why it was quirked in r255592). The mobile
"version" uses the default/native media controls, so there is no issue.

Currently, when tapping on another video with a desktop UA, the site uses its touch event
handlers for mouse events. These handlers call Event.prototype.preventDefault if the event
is not a touch event, meaning that "click" is not fired. This prevents new videos from
being played.

Rather than limit the quirk based on some DOM state (which is fragile if the site changes),
just have the entire site default to a mobile UA.

Source/WebCore:

  • page/Quirks.cpp:

(WebCore::Quirks::shouldDispatchSimulatedMouseEvents const):

Source/WebKit:

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::desktopClassBrowsingRecommendedForRequest):

3:16 AM Changeset in webkit [269845] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.30/Source

[GTK][WPE] Build broken in stable 2.30.x releases with ENABLE_VIDEO=OFF
https://bugs.webkit.org/show_bug.cgi?id=218921

Reviewed by Carlos Garcia Campos.

Source/WebCore:

No new tests needed.

  • Modules/webaudio/AudioContext.cpp: Add missing Document.h include.

Source/WebKit:

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Use ENABLE(VIDEO)
guard to prevent usage of function which does not get compiled in when video support
disabled

2:35 AM Changeset in webkit [269844] by Philippe Normand
  • 1 edit
    1 add in trunk/Tools/buildstream

[Flatpak SDK] Update rr
https://bugs.webkit.org/show_bug.cgi?id=218973

Reviewed by Žan Doberšek.

  • elements/sdk/rr.bst: Update for new git repository location and bump to version 5.4.x.
2:08 AM Changeset in webkit [269843] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WTF

Re-disable async overflow scrolling for USE(NICOSIA)
https://bugs.webkit.org/show_bug.cgi?id=218974

Async overflow scrolling was accidentally enabled for ports using the
Nicosia platform layering infrastructure during the preference migration
done in r267775. This patch again disables it until it can be properly
supported.

  • Scripts/Preferences/WebPreferencesInternal.yaml:
2:06 AM Changeset in webkit [269842] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit

[CoordinatedGraphics] Adjust client resizing, render-scope notifying in ThreadedCompositor::renderLayerTree()
https://bugs.webkit.org/show_bug.cgi?id=218701

Reviewed by Carlos Garcia Campos.

Rework the client operations in ThreadedCompositor::renderLayerTree() so
that client resizing is done before the will-render client notification
is dispatched. This ensures everything in the will-render-to-did-render
scope is done for a well-specified size from the client's point of view.

Similar to this change, the GL viewport update is split from the client
resize operation and moved into the aforementioned rendering scope. This
change is mostly cosmetic, but it's done to neatly package all the GL
operations into that scope.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::renderLayerTree):

2:05 AM Changeset in webkit [269841] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

PlatformDisplayLibWPE: use eglGetPlatformDisplay when possible
https://bugs.webkit.org/show_bug.cgi?id=218941

Reviewed by Carlos Garcia Campos.

Use the existing wpe_renderer_backend_egl API to detect any desired
EGL platform that should be used to retrieve the global EGLDisplay
object. If such a platform is specified, the eglGetPlatformDisplay
entrypoing from the EGL_EXT_platform_base extension should be used
to retrieve the corresponding EGLDisplay.

If the API or the extension is not available, or if the EGLDisplay is
not retrieved this way, we fall back to eglGetDisplay.

  • platform/graphics/libwpe/PlatformDisplayLibWPE.cpp:

(WebCore::PlatformDisplayLibWPE::initialize):

1:50 AM Changeset in webkit [269840] by svillar@igalia.com
  • 3 edits in trunk/Source/WebCore

[css-flex] Better naming from some methods
https://bugs.webkit.org/show_bug.cgi?id=218745

Reviewed by Javier Fernandez.

This patch improves the naming of several confusing methods.

  • hasOrthogonalFlow(): was too generic. It was basically checking that the flexbox container main size was not the child's inline size. So we renamed

it to mainAxisIsChildInlineAxis() reverting the output. For most of the cases it was enough to negate the output of the method to have the same
check, but in other cases we decided to swap the if-else blocks as it was more convenient.

  • {main|cross}AxisLengthIsDefinite(): the name was misleading because you don't know whether the method is evaluating the child's length

or the container's (the flexbox). Replaced by child{Main|Cross}SizeIsDefinite().

  • setOverrideMainAxisContentSizeForChild(): this had 2 problems. First it should use overriding instead of override. Second the size which is

overriden is not the content size, it used to be but not anymore.

No new tests as there is no change in functionality.

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::firstLineBaseline const):
(WebCore::RenderFlexibleBox::mainAxisIsChildInlineAxis const): Renamed from hasOrthogonalFlow(). Also the behaviour
is now reversed from the original function.
(WebCore::RenderFlexibleBox::childIntrinsicLogicalHeight const):
(WebCore::RenderFlexibleBox::childIntrinsicLogicalWidth const):
(WebCore::RenderFlexibleBox::crossAxisIntrinsicExtentForChild const):
(WebCore::RenderFlexibleBox::mainAxisContentExtent): Early return instead of if-else block.
(WebCore::RenderFlexibleBox::useChildAspectRatio const):
(WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const): Use a single line for division operators.
(WebCore::RenderFlexibleBox::childMainSizeIsDefinite const): Renamed from mainAxisLengthIsDefinite.
(WebCore::RenderFlexibleBox::childCrossSizeIsDefinite const): Renamed from crossAxisLengthIsDefinite.
(WebCore::RenderFlexibleBox::cacheChildMainSize):
(WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild):
(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
(WebCore::RenderFlexibleBox::crossSizeForPercentageResolution):
(WebCore::RenderFlexibleBox::mainSizeForPercentageResolution):
(WebCore::RenderFlexibleBox::childLogicalHeightForPercentageResolution):
(WebCore::RenderFlexibleBox::adjustChildSizeForAspectRatioCrossAxisMinAndMax):
(WebCore::RenderFlexibleBox::setOverridingMainSizeForChild): Renamed from setOverrideMainAxisContentSizeForChild.
(WebCore::RenderFlexibleBox::alignmentForChild const):
(WebCore::RenderFlexibleBox::childHasIntrinsicMainAxisSize const):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
(WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
(WebCore::RenderFlexibleBox::hasOrthogonalFlow const): Deleted.
(WebCore::RenderFlexibleBox::mainAxisLengthIsDefinite const): Deleted.
(WebCore::RenderFlexibleBox::crossAxisLengthIsDefinite const): Deleted.
(WebCore::RenderFlexibleBox::setOverrideMainAxisContentSizeForChild): Deleted.

  • rendering/RenderFlexibleBox.h:
1:27 AM Changeset in webkit [269839] by Philippe Normand
  • 3 edits in trunk/Source/WebCore

[GStreamer] Switch the ImageDecoder to decodebin3
https://bugs.webkit.org/show_bug.cgi?id=218246

Reviewed by Xabier Rodriguez-Calvar.

Rely on the decodebin3 select-stream to ensure that at most one video stream is selected for
decoding. Thus we don't need to plug a fakesink to streams we don't need anymore.

  • platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:

(WebCore::ImageDecoderGStreamer::InnerDecoder::decodebinSelectStreamCallback):
(WebCore::ImageDecoderGStreamer::InnerDecoder::selectStream):
(WebCore::ImageDecoderGStreamer::InnerDecoder::connectDecoderPad):
(WebCore::ImageDecoderGStreamer::InnerDecoder::preparePipeline):

  • platform/graphics/gstreamer/ImageDecoderGStreamer.h:
12:27 AM Changeset in webkit [269838] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[WinCairo][GraphicsLayerTextureMapper] Support rounded rect clipping for backdrop-filter
https://bugs.webkit.org/show_bug.cgi?id=218962

Reviewed by Carlos Garcia Campos.

r269772 (Bug 215445) added rounded rect clipping support for
backdrop-filter for TextureMapper and CoordinatedGraphics. Add the
feature to GraphicsLayerTextureMapper.

Existing tests cover this change:
css3/filters/backdrop/backdrop-filter-uneven-corner-radii.html
css3/filters/backdrop/backdrop-filter-with-border-radius-value-change.html
css3/filters/backdrop/backdrop-filter-with-border-radius

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::commitLayerChanges): Call setBackdropFiltersRect.

12:19 AM Changeset in webkit [269837] by Fujii Hironori
  • 4 edits
    1 add in trunk

[TextureMapper] The edges of blur backdrop-filter look gradient tranparent
https://bugs.webkit.org/show_bug.cgi?id=218645
<rdar://problem/71356999>

Reviewed by Carlos Garcia Campos.

Source/WebCore:

The blur backdrop-filter needs a larger input image than an output
image. However, it's not easy to get a larger input image in the
edges of the windows. Cocoa port is doing extrapolation by
duplicating edges pixels of the input image which has the same
size with the output image (Bug 146215). Take the same approach.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::computeOverlapRegions): Don't
inflate the local bounding rect by the outsets for backdrop
layers.

  • platform/graphics/texmap/TextureMapperShaderProgram.cpp:

(sampleColorAtRadius): Don't clamp 'coord'.

LayoutTests:

  • platform/glib/css3/filters/backdrop/blur-input-bounds-expected.png: Added.
Note: See TracTimeline for information about the timeline view.