WebKit-https.git
2 hours ago[JSC] Speculate children first in DFG NewArray master
ysuzuki@apple.com [Sat, 8 Aug 2020 07:44:49 +0000 (07:44 +0000)]
[JSC] Speculate children first in DFG NewArray
https://bugs.webkit.org/show_bug.cgi?id=215308
<rdar://problem/64749263>

Reviewed by Mark Lam.

SpeculativeJIT::emitAllocateRawObject can create uninitialized butterfly since we later fill them.
However, DFG NewArray node has speculation after that. So if speculation failure happens, we release
half-baked butterfly.

Let's see the example.

   8459         emitAllocateRawObject(resultGPR, structure, storageGPR, numElements, vectorLengthHint);
   ...
   8482             case ALL_INT32_INDEXING_TYPES:
   8483             case ALL_CONTIGUOUS_INDEXING_TYPES: {
   8484                 JSValueOperand operand(this, use, ManualOperandSpeculation);
   8485                 JSValueRegs operandRegs = operand.jsValueRegs();
   8486                 if (hasInt32(node->indexingType())) {
   8487                     DFG_TYPE_CHECK(
   8488                         operandRegs, use, SpecInt32Only,
   8489                         m_jit.branchIfNotInt32(operandRegs));
   8490                 }
   8491                 m_jit.storeValue(operandRegs, MacroAssembler::Address(storageGPR, sizeof(JSValue) * operandIdx));
   8492                 break;
   8493             }

L8487-L8489 is doing speculation check. If it failed, the rest of the butterfly can be filled with garbage. This looks OK since
it is Int32 butterfly so GC never scans it. However, if have-a-bad-time happens and the array is reachable from the conservative root,
this half-baked array is converted from Int32 array to ArrayStorage. At that time, since Int32 butterfly should hold JSInt32,
we store this garbage to ArrayStorage. Later, if conservative root still holds this array, and GC scans this garbage as as JSValue,
this value confuses GC.

In this patch, we first perform speculation before creating uninitialized JSArray so that we can ensure that we never exit after
creating this array until we fill it. This strategy is the same to FTL's NewArray implementation.

And we also found that emitAllocateRawObject is allocating an object from JSFinalObject space while we use it for JSArray too.
We should get per-type allocator to ensure JSArray is allocated in its IsoSubspace.

* dfg/DFGOperations.cpp:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitAllocateRawObject):
(JSC::DFG::SpeculativeJIT::compileNewArray):
(JSC::DFG::SpeculativeJIT::compileMaterializeNewObject):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNewArray):
(JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject):
* runtime/JSObject.h:
(JSC::JSObject::createRawObject): Deleted.

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

5 hours ago[GTK][WPE] Gardening and adding some WPE baselines.
lmoura@igalia.com [Sat, 8 Aug 2020 05:09:23 +0000 (05:09 +0000)]
[GTK][WPE] Gardening and adding some WPE baselines.

Unreviewed test gardening.

* platform/glib/TestExpectations:
* platform/wpe/TestExpectations:
* platform/wpe/css3/filters/backdrop/backdrop-filter-with-clip-path-expected.txt: Added.
* platform/wpe/http/tests/storageAccess/aggregate-sorted-data-with-storage-access-expected.txt: Added.
* platform/wpe/scrollingcoordinator/scrolling-tree/sibling-node-order-expected.txt: Added.

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

9 hours agoAudioContext / OfflineAudioContext should support a wider sample rate range
cdumez@apple.com [Sat, 8 Aug 2020 00:37:10 +0000 (00:37 +0000)]
AudioContext / OfflineAudioContext should support a wider sample rate range
https://bugs.webkit.org/show_bug.cgi?id=215289

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that way for checks are passing and now that most tests are running further.

* web-platform-tests/webaudio/the-audio-api/the-audiobuffer-interface/ctor-audiobuffer-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/active-processing.https-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-null-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-playbackrate-zero-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/buffer-resampling-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/note-grain-on-play-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/note-grain-on-timing-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-scheduling-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontextoptions-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/suspend-after-construct-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audionode-interface/audionode-channel-rules-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audionode-interface/audionode-connect-method-chaining-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audionode-interface/channel-mode-interp-basic-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/adding-events-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-exceptional-values-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-method-chaining-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/automation-rate-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/cancel-scheduled-values-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/event-insertion-expected.txt:
* 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-audioworklet.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-connections-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-connections-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-audioparam-interface/retrospective-exponentialRampToValueAtTime-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-linearRampToValueAtTime-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-setTargetAtTime-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-setValueAtTime-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-setValueCurveAtTime-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/set-target-conv-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-audioparam-size.https-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-channel-count.https-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-disconnected-input.https-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/suspended-context-messageport.https-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-allpass-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-automation-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-bandpass-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-getFrequencyResponse-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-highpass-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-highshelf-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-lowpass-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-lowshelf-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-notch-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-peaking-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-tail-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/no-dezippering-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-1-chan-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-2-chan-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-convolvernode-interface/convolver-upmixing-1-channel-response-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/realtime-conv-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-channel-count-1-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/no-dezippering-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-gainnode-interface/gain-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-gainnode-interface/no-dezippering-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-iirfilternode-interface/iirfilter-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-offlineaudiocontext-interface/ctor-offlineaudiocontext-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-offlineaudiocontext-interface/offlineaudiocontext-detached-execution-context.tentative-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/automation-changes-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/distance-exponential-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/distance-inverse-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/distance-linear-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-equalpower-stereo-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-azimuth-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-equalpower-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-equalpower-stereo-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-rolloff-clamping-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-stereopanner-interface/no-dezippering-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-stereopanner-interface/stereopannernode-panning-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-waveshapernode-interface/silent-inputs-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-waveshapernode-interface/waveshaper-copy-curve-expected.txt:

Source/WebCore:

AudioContext / OfflineAudioContext should support a wider sample rate range. We only supported
sample rates in the [44100, 96000] range, which is much smaller than other browsers and would
cause us to fail a LOT of web-platform-tests.

We now support sample rates in the range [3000, 384000], which is the same range as Chromium.

No new tests, rebaselined existing tests.

* Modules/webaudio/AudioBuffer.cpp:
(WebCore::AudioBuffer::create):
* Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::isSampleRateRangeGood):
* Modules/webaudio/BaseAudioContext.h:
* Modules/webaudio/OfflineAudioContext.cpp:
(WebCore::OfflineAudioContext::create):

* platform/audio/FFTFrame.h:
* platform/audio/HRTFPanner.cpp:
(WebCore::HRTFPanner::fftSizeForSampleRate):
Update fftSizeForSampleRate() to support wider sample rate range. This implementation is based
on Chromium's:
https://github.com/chromium/chromium/blob/master/third_party/blink/renderer/platform/audio/hrtf_panner.cc#L70

* platform/audio/gstreamer/FFTFrameGStreamer.cpp:
(WebCore::FFTFrame::minFFTSize):
(WebCore::FFTFrame::maxFFTSize):
* platform/audio/mac/FFTFrameMac.cpp:
(WebCore::FFTFrame::minFFTSize):
(WebCore::FFTFrame::maxFFTSize):

LayoutTests:

Mark a few tests as flaky because the values they are printing out keep changing.

* TestExpectations:

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

9 hours ago[ macOS wk2 ] fast/forms/auto-fill-button/caps-lock-indicator-should-be-visible-after...
hector_i_lopez@apple.com [Sat, 8 Aug 2020 00:35:11 +0000 (00:35 +0000)]
[ macOS wk2 ] fast/forms/auto-fill-button/caps-lock-indicator-should-be-visible-after-hiding-auto-fill-strong-password-button.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215304

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

9 hours ago[WebGL2] Missing validation for sampler unit index
commit-queue@webkit.org [Sat, 8 Aug 2020 00:31:25 +0000 (00:31 +0000)]
[WebGL2] Missing validation for sampler unit index
https://bugs.webkit.org/show_bug.cgi?id=215303

Patch by James Darpinian <jdarpinian@chromium.org> on 2020-08-07
Reviewed by Dean Jackson.

Test: webgl/2.0.0/deqp/functional/gles3/negativeshaderapi.html

* html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::bindSampler):

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

9 hours agoAttempt to stabilize out-of-memory error test
ysuzuki@apple.com [Sat, 8 Aug 2020 00:25:31 +0000 (00:25 +0000)]
Attempt to stabilize out-of-memory error test
https://bugs.webkit.org/show_bug.cgi?id=215291

Reviewed by Mark Lam.

This patch attempts to stabilize out-of-memory error test: making the test reliably throw an out-of-memory error.

1. Anchor all ArrayBuffer allocation from the strong root (window) to keep them alive even GC happens, which stresses memory usage.
2. Increase count of VM allocation from 1000 to 5000 to mitigate the worst case scenario where out-of-memory does not happen because
   worklet is constantly terminated and memory is released. Referencing worklet object in the caller side does not matter since worklet
   can be terminated regardless of whether the caller references the object of worklet.

* TestExpectations:
* fast/css-custom-paint/out-of-memory-while-adding-worklet-module-expected.txt:
* fast/css-custom-paint/script-tests/out-of-memory-while-adding-worklet-module.js:
(useAllMemory): Deleted.

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

10 hours agoOff by one error in transform feedback buffer binding
commit-queue@webkit.org [Fri, 7 Aug 2020 23:56:29 +0000 (23:56 +0000)]
Off by one error in transform feedback buffer binding
https://bugs.webkit.org/show_bug.cgi?id=215298

Patch by James Darpinian <jdarpinian@chromium.org> on 2020-08-07
Reviewed by Dean Jackson.

Caught by conformance test deqp/functional/gles3/negativebufferapi.html

* html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::setIndexedBufferBinding):

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

10 hours ago[ macOS wk1 ] imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block...
hector_i_lopez@apple.com [Fri, 7 Aug 2020 23:28:54 +0000 (23:28 +0000)]
[ macOS wk1 ] imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-computed.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215299

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

10 hours ago{Intersection,Resize,Performance}Observer callbacks get incorrect `this` value
shvaikalesh@gmail.com [Fri, 7 Aug 2020 23:20:31 +0000 (23:20 +0000)]
{Intersection,Resize,Performance}Observer callbacks get incorrect `this` value
https://bugs.webkit.org/show_bug.cgi?id=215162

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

* web-platform-tests/intersection-observer/observer-callback-arguments-expected.txt:
* web-platform-tests/performance-timeline/po-observe.any-expected.txt:
* web-platform-tests/performance-timeline/po-observe.any.worker-expected.txt:
* web-platform-tests/resize-observer/eventloop-expected.txt:
* web-platform-tests/resize-observer/observe-expected.txt:

Source/WebCore:

This change utilizes CallbackThisObject] IDL attribute to invoke a callback of
IntersectionObserver [1], ResizeObserver [2], and PerformanceObserver [3] with
correct `this` value of its observer, aligning WebKit with Blink and Gecko.

Tests: imported/w3c/web-platform-tests/intersection-observer/observer-callback-arguments.html
       imported/w3c/web-platform-tests/resize-observer/observe.html
       imported/w3c/web-platform-tests/performance-timeline/po-observe.any.js

[1] https://w3c.github.io/IntersectionObserver/#notify-intersection-observers-algo (step 3.4)
[2] https://github.com/w3c/csswg-drafts/pull/5383
[3] https://w3c.github.io/performance-timeline/#queue-the-performanceobserver-task (step 3.3.5)

* html/LazyLoadImageObserver.cpp:
* page/IntersectionObserver.cpp:
(WebCore::IntersectionObserver::notify):
* page/IntersectionObserverCallback.h:
* page/IntersectionObserverCallback.idl:
* page/PerformanceObserver.cpp:
(WebCore::PerformanceObserver::deliver):
* page/PerformanceObserverCallback.h:
* page/PerformanceObserverCallback.idl:
* page/ResizeObserver.cpp:
(WebCore::ResizeObserver::deliverObservations):
* page/ResizeObserverCallback.h:
* page/ResizeObserverCallback.idl:

LayoutTests:

* performance-api/performance-observer-basic-expected.txt:

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

11 hours ago[macOS] It should be possible to override spellchecking results in WebKitTestRunner
wenson_hsieh@apple.com [Fri, 7 Aug 2020 23:05:36 +0000 (23:05 +0000)]
[macOS] It should be possible to override spellchecking results in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=215290

Reviewed by Devin Rousso.

Tools:

Refactor `setSpellCheckerResults` so that it is on `UIScriptController` instead of `TestRunner`, such that it
can be triggered asynchronously from a layout test. This allows the testing hook to work in WebKit2, where the
swizzled spell checker is in the UI process.

* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
(setSpellCheckerResultsCallback): Deleted.
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/ios/UIScriptControllerIOS.h:

Add a method implementation stub for iOS.

* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setSpellCheckerResults): Deleted.
* DumpRenderTree/mac/UIScriptControllerMac.h:
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::setSpellCheckerResults):
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setSpellCheckerLoggingEnabled):
(TestRunner::setSpellCheckerResults): Deleted.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::setSpellCheckerResults):
* TestRunnerShared/cocoa/LayoutTestSpellChecker.h:
* TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
(-[LayoutTestSpellChecker setResultsFromJSValue:inContext:]):
(-[LayoutTestSpellChecker setResultsFromJSObject:inContext:]): Deleted.
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformResetStateToConsistentValues):

Make sure that we uninstall the swizzled `LayoutTestSpellChecker` between tests.

* WebKitTestRunner/mac/UIScriptControllerMac.h:
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::setSpellCheckerResults):

LayoutTests:

* editing/spelling/markers-expected.txt:
* editing/spelling/markers.html:

Rewrite this layout test to use async-await, instead of asynchronously calling the recursive `done` function.
Additionally, adopt `UIHelper.setSpellCheckerResults`.

* editing/spelling/text-replacement-after-typing-to-word.html:

Adopt `UIHelper.setSpellCheckerResults`. This allows us to enable the test on macOS WebKit2, since the only
thing that prevented it from working before was the ability to `setSpellCheckerResults` in WebKit2.

* platform/mac-wk2/TestExpectations:
* resources/ui-helper.js:

Add a `UIHelper` method to override the system spell checker with given results.

(window.UIHelper.async setSpellCheckerResults):

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

11 hours ago[ macOS wk1 ] media/modern-media-controls/placard/placard-ltr.html is a flaky timeout
hector_i_lopez@apple.com [Fri, 7 Aug 2020 23:00:37 +0000 (23:00 +0000)]
[ macOS wk1  ] media/modern-media-controls/placard/placard-ltr.html is a flaky timeout
Nhttps://bugs.webkit.org/show_bug.cgi?id=215296

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

11 hours ago[JSC] Disable ENABLE_BITMAP_FREELIST
ysuzuki@apple.com [Fri, 7 Aug 2020 22:31:54 +0000 (22:31 +0000)]
[JSC] Disable ENABLE_BITMAP_FREELIST
https://bugs.webkit.org/show_bug.cgi?id=215285

Reviewed by Mark Lam.

From performance bots, we observed that,

    1. MBP11,4 shows 1% regression in Speedometer2.
    2. The other MBP / iMac / MBA bots show neutral or slight regression in Speedometer2.

Based on the above result, for now, we disable this feature.

* heap/FreeList.h:

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

12 hours agobaseLatency attribute is missing on AudioContext interface
cdumez@apple.com [Fri, 7 Aug 2020 22:14:46 +0000 (22:14 +0000)]
baseLatency attribute is missing on AudioContext interface
https://bugs.webkit.org/show_bug.cgi?id=215277

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

Rebaseline WPT test now that more checks are passing.

* web-platform-tests/webaudio/idlharness.https.window-expected.txt:

Source/WebCore:

baseLatency attribute is missing on AudioContext interface:
- https://www.w3.org/TR/webaudio/#dom-audiocontext-baselatency

Test: webaudio/audiocontext-baselatency.html

* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::baseLatency):
(WebCore::AudioContext::destination):
* Modules/webaudio/AudioContext.h:
* Modules/webaudio/AudioContext.idl:
* Modules/webaudio/DefaultAudioDestinationNode.cpp:
(WebCore::DefaultAudioDestinationNode::framesPerBuffer const):
* Modules/webaudio/DefaultAudioDestinationNode.h:
* platform/audio/AudioDestination.h:
* platform/audio/cocoa/AudioDestinationCocoa.cpp:
(WebCore::AudioDestinationCocoa::framesPerBuffer const):
* platform/audio/cocoa/AudioDestinationCocoa.h:
* platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::AudioDestinationGStreamer::framesPerBuffer const):
* platform/audio/gstreamer/AudioDestinationGStreamer.h:

Source/WebKit:

* GPUProcess/media/RemoteAudioDestinationManager.cpp:
(WebKit::RemoteAudioDestination::framesPerBuffer const):
(WebKit::RemoteAudioDestinationManager::createAudioDestination):
* GPUProcess/media/RemoteAudioDestinationManager.h:
* GPUProcess/media/RemoteAudioDestinationManager.messages.in:
* WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp:
(WebKit::RemoteAudioDestinationProxy::RemoteAudioDestinationProxy):
* WebProcess/GPU/media/RemoteAudioDestinationProxy.h:

LayoutTests:

Add layout test coverage.

* webaudio/audiocontext-baselatency-expected.txt: Added.
* webaudio/audiocontext-baselatency.html: Added.

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

12 hours agoREGRESSION(r261159) PokerBros only shows black screen
achristensen@apple.com [Fri, 7 Aug 2020 22:08:01 +0000 (22:08 +0000)]
REGRESSION(r261159) PokerBros only shows black screen
https://bugs.webkit.org/show_bug.cgi?id=215293

Reviewed by Keith Miller.

The PokerBros app has some logic that was broken by the change in behavior of r261159.
It caused the app do do nothing except show a black screen upon opening.
Revert to the old behavior for this app until they update to iOS14.

* runtime/JSObject.cpp:
(JSC::needsOldStringName):
(JSC::JSObject::toStringName):

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

12 hours agoWindows EWS should filter build logs to show errors
aakash_jain@apple.com [Fri, 7 Aug 2020 21:38:00 +0000 (21:38 +0000)]
Windows EWS should filter build logs to show errors
https://bugs.webkit.org/show_bug.cgi?id=211344

Reviewed by Jonathan Bedard.

* BuildSlaveSupport/ews-build/steps.py:
(BuildLogLineObserver.__init__): Added searchString and includeRelatedLines arguments.
(BuildLogLineObserver.outLineReceived): Added support for generic searchString and enabling/disabling inclusion of related lines.
(CompileWebKit.start): Enabled log filtering for windows and wincairo.
(AnalyzeCompileWebKitResults.filter_logs_containing_error): Made it accept any generic searchString.
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure):  Pass different searchString for windows and wincairo.
(AnalyzeCompileWebKitResults.send_email_for_preexisting_build_failure): Ditto.

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

12 hours agoImplement PerfomanceObserverInit.buffered
commit-queue@webkit.org [Fri, 7 Aug 2020 21:23:08 +0000 (21:23 +0000)]
Implement PerfomanceObserverInit.buffered
https://bugs.webkit.org/show_bug.cgi?id=214883

Patch by Rob Buis <rbuis@igalia.com> on 2020-08-07
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Update improved test expectations and add subtests for
case sensitivity of type/entryTypes in observe call.

* web-platform-tests/performance-timeline/case-sensitivity.any-expected.txt:
* web-platform-tests/performance-timeline/case-sensitivity.any.js:
(async_test):
* web-platform-tests/performance-timeline/case-sensitivity.any.worker-expected.txt:
* web-platform-tests/resource-timing/buffered-flag.any-expected.txt:
* web-platform-tests/resource-timing/buffered-flag.any.worker-expected.txt:
* web-platform-tests/user-timing/buffered-flag.any-expected.txt:
* web-platform-tests/user-timing/buffered-flag.any.worker-expected.txt:

Source/WebCore:

Implement PerfomanceObserverInit.buffered IDL and
functionality [1].

Behavior matches Chrome and Firefox.

Tests: imported/w3c/web-platform-tests/resource-timing/buffered-flag.any.html
       imported/w3c/web-platform-tests/resource-timing/buffered-flag.any.worker.html
       imported/w3c/web-platform-tests/user-timing/buffered-flag.any.html
       imported/w3c/web-platform-tests/user-timing/buffered-flag.any.worker.html
       imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any.html
       imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any.worker.html

[1] https://w3c.github.io/performance-timeline/#performanceobserverinit-dictionary

* page/Performance.cpp:
(WebCore::Performance::appendBufferedEntriesByType const):
* page/Performance.h:
* page/PerformanceObserver.cpp:
(WebCore::PerformanceObserver::observe):
* page/PerformanceObserver.h:
* page/PerformanceObserver.idl:

LayoutTests:

Unskip some tests for PerfomanceObserverInit.buffered.

* TestExpectations:

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

13 hours agoExperimental: Cap the expiry of persistent cookies set in 3rd-party CNAME cloaked...
wilander@apple.com [Fri, 7 Aug 2020 20:40:32 +0000 (20:40 +0000)]
Experimental: Cap the expiry of persistent cookies set in 3rd-party CNAME cloaked HTTP responses
https://bugs.webkit.org/show_bug.cgi?id=215201
<rdar://problem/57454633>

Reviewed by Brent Fulgham. Also reviewed and commented on by Chris Dumez, Jiten Mehta, Sam Weinig, and Alex Christensen.

Source/WebCore:

Tests: http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-1p-cname.html
       http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-3p-cname.html
       http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-matching-cname.html
       http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-no-cname.html
       http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-1p-cname.html
       http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-3p-cname.html
       http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-no-cname.html

* page/Settings.yaml:
    Added the off-by-default flag isCNAMECloakingMitigationEnabled.
* platform/network/NetworkStorageSession.cpp:
(WebCore::NetworkStorageSession::resourceLoadStatisticsEnabled const):
    New getter for the ITP setting.
* platform/network/NetworkStorageSession.h:
* platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::NetworkStorageSession::capExpiryOfPersistentCookie):
    Broke this function out so that it can be reused.
(WebCore::parseDOMCookie):
    Here's from where the function above was broken out.
    The existing functionality has a test case.

Source/WebCore/PAL:

* pal/spi/cf/CFNetworkSPI.h:
    This change declares two new properties on NSURLSessionTask:
    - _cookieTransformCallback
    - _resolvedCNAMEChain

Source/WebKit:

This experimental feature is off by default.

CNAME cloaking means a host resolves to a a different domain, potentially a
third-party domain, as part of DNS resolution.

This patch makes WebKit::NetworkDataTaskCocoa capture any CNAME cloaking for
the first party host and stores it in a table in the WebKit::NetworkSession.
It then checks first party subresource loads to see if they resolve to a
different domain and if so, compare that domain to both the first party
domain and its CNAME cloaking domain, if there is one. If there's a
mismatch, it's deemed a case of third-party CNAME cloaking and any cookies
set in the response of the cloaked subresource load will have their expiry
capped to 7 days.

The cases for capping expiry look like this (and are backed by test cases):

First-party host  | First-party subdomain      | Capped expiry
------------------|----------------------------|--------------
No CNAME cloaking | No CNAME cloaking          | No
No CNAME cloaking | First-party CNAME cloaking | No
No CNAME cloaking | Third-party CNAME cloaking | Yes
CNAME cloaking    | No CNAME cloaking          | No
CNAME cloaking    | Matching CNAME cloaking    | No
CNAME cloaking    | First-party CNAME cloaking | No
CNAME cloaking    | Third-party CNAME cloaking | Yes

This patch makes use of two new CFNetwork SPIs on NSURLSessionTask:
- _cookieTransformCallback
- _resolvedCNAMEChain

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::resetParametersToDefaultValues):
    This reset now covers the new CNAME cloaking member variables.
(WebKit::NetworkProcess::setIsRunningResourceLoadStatisticsTest):
    This function now also enables the CNAME cloaking code.
(WebKit::NetworkProcess::setFirstPartyHostCNAMEDomainForTesting):
(WebKit::NetworkProcess::setThirdPartyCNAMEDomainForTesting):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
    New IPC to forward test configuration.
* NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::NetworkSession):
    Now picks up the flag for this feature.
(WebKit::NetworkSession::setFirstPartyHostCNAMEDomain):
    This is called from NetworkDataTaskCocoa::updateFirstPartyInfoForTaskAndSession()
    when there is CNAME cloaking for the first party host. This is done to make it
    possible to not cap the expiry of cookies if subsequent subresource loads have
    CNAME cloaking that matches the first-party host's CNAME cloaking. This happens
    when whole websites are hosted on edge networks.
    This function is also used by the test infrastructure to mock the DNS resolution
    for a first-party host.
(WebKit::NetworkSession::firstPartyHostCNAMEDomain):
    This returns any captured CNAME cloaking for a host, if there is one.
(WebKit::NetworkSession::resetCNAMEDomainData):
* NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::setCNAMECloakingMitigationEnabled):
(WebKit::NetworkSession::cnameCloakingMitigationEnabled const):
(WebKit::NetworkSession::setThirdPartyCNAMEDomainForTesting):
    This test functions allows us to mock the DNS resolution for a subresource.
(WebKit::NetworkSession::thirdPartyCNAMEDomainForTesting const):
* NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::hasCNAMEAndCookieTransformSPI):
(WebKit::lastCNAMEDomain):
(WebKit::NetworkDataTaskCocoa::updateFirstPartyInfoForSession):
    This is called by NetworkDataTaskCocoa::didReceiveResponse() to capture any
    CNAME cloaking for the first-party host.
(WebKit::NetworkDataTaskCocoa::applyCookiePolicyForThirdPartyCNAMECloaking):
    This is called in the NetworkDataTaskCocoa constructor and in
    NetworkDataTaskCocoa::willPerformHTTPRedirection() and sets the new
    _cookieTransformCallback SPI property on the task which will check the
    response for any third-party CNAME cloaking and cap the expiry of incoming
    cookies accordingly.
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
    This now calls
    NetworkDataTaskCocoa::applyCookiePolicyForThirdPartyCNAMECloaking().
(WebKit::NetworkDataTaskCocoa::didReceiveResponse):
    This now calls
    NetworkDataTaskCocoa::updateFirstPartyInfoForTaskAndSession().
(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
    This now calls
    NetworkDataTaskCocoa::applyCookiePolicyForThirdPartyCNAMECloaking().
* Shared/ResourceLoadStatisticsParameters.h:
    Now holds a WebCore::CNAMECloakingMitigationEnabled flag.
(WebKit::ResourceLoadStatisticsParameters::encode const):
(WebKit::ResourceLoadStatisticsParameters::decode):
* Shared/WebPreferences.yaml:
* UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreSetResourceLoadStatisticsFirstPartyHostCNAMEDomainForTesting):
    Used to mock CNAME resolution data.
(WKWebsiteDataStoreSetResourceLoadStatisticsThirdPartyCNAMEDomainForTesting):
    Used to mock CNAME resolution data.
* UIProcess/API/C/WKWebsiteDataStoreRef.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::setFirstPartyHostCNAMEDomainForTesting):
(WebKit::NetworkProcessProxy::setThirdPartyCNAMEDomainForTesting):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
    Now handles the WebCore::CNAMECloakingMitigationEnabled flag.
* UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::platformSetNetworkParameters):
    Now handles the WebCore::CNAMECloakingMitigationEnabled flag.
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::setResourceLoadStatisticsFirstPartyHostCNAMEDomainForTesting):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsThirdPartyCNAMEDomainForTesting):
(WebKit::WebsiteDataStore::parameters):
* UIProcess/WebsiteData/WebsiteDataStore.h:

Source/WTF:

This change defines HAVE_CFNETWORK_CNAME_AND_COOKIE_TRANSFORM_SPI.

* wtf/PlatformHave.h:

Tools:

This patch adds two TestRunner functions which allows for testing
with data that would otherwise come from DNS resolution:
- statisticsSetFirstPartyHostCNAMEDomain()
- statisticsSetThirdPartyCNAMEDomain()

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsSetFirstPartyHostCNAMEDomain):
(WTR::TestRunner::statisticsCallDidSetFirstPartyHostCNAMEDomainCallback):
(WTR::TestRunner::statisticsSetThirdPartyCNAMEDomain):
(WTR::TestRunner::statisticsCallDidSetThirdPartyCNAMEDomainCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsFirstPartyHostCNAMEDomain):
(WTR::TestController::setStatisticsThirdPartyCNAMEDomain):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didSetFirstPartyHostCNAMEDomain):
(WTR::TestInvocation::didSetThirdPartyCNAMEDomain):
* WebKitTestRunner/TestInvocation.h:

LayoutTests:

* http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-1p-cname-expected.txt: Added.
* http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-1p-cname.html: Added.
* http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-3p-cname-expected.txt: Added.
* http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-3p-cname.html: Added.
* http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-matching-cname-expected.txt: Added.
* http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-matching-cname.html: Added.
* http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-no-cname-expected.txt: Added.
* http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-no-cname.html: Added.
* http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-1p-cname-expected.txt: Added.
* http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-1p-cname.html: Added.
* http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-3p-cname-expected.txt: Added.
* http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-3p-cname.html: Added.
* http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-no-cname-expected.txt: Added.
* http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-no-cname.html: Added.
* platform/ios-13/TestExpectations:
    New tests marked as [ Skip ].
* platform/ios-wk2/TestExpectations:
    New tests marked as [ Pass ] in general.
* platform/mac-wk2/TestExpectations:
    New tests marked as [ Pass ] for BigSur+.
* platform/wk2/TestExpectations:
    New tests marked as [ Skip ] in general.

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

14 hours agolength attribute is missing on OfflineAudioContext
cdumez@apple.com [Fri, 7 Aug 2020 20:02:29 +0000 (20:02 +0000)]
length attribute is missing on OfflineAudioContext
https://bugs.webkit.org/show_bug.cgi?id=215287

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

Rebaseline WPT test now that more checks are passing.

* web-platform-tests/webaudio/idlharness.https.window-expected.txt:

Source/WebCore:

length attribute is missing on OfflineAudioContext:
- https://www.w3.org/TR/webaudio/#dom-offlineaudiocontext-length

Test: webaudio/offlineaudiocontext-length.html

* Modules/webaudio/BaseAudioContext.h:
(WebCore::BaseAudioContext::renderTarget const):
* Modules/webaudio/OfflineAudioContext.cpp:
(WebCore::OfflineAudioContext::length const):
* Modules/webaudio/OfflineAudioContext.h:
* Modules/webaudio/OfflineAudioContext.idl:

LayoutTests:

Add layout test coverage.

* webaudio/offlineaudiocontext-length-expected.txt: Added.
* webaudio/offlineaudiocontext-length.html: Added.

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

14 hours agoReduce the amount of custom binding code for JSXPathNSResolver
shvaikalesh@gmail.com [Fri, 7 Aug 2020 19:27:56 +0000 (19:27 +0000)]
Reduce the amount of custom binding code for JSXPathNSResolver
https://bugs.webkit.org/show_bug.cgi?id=161030

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

* web-platform-tests/dom/idlharness.window-expected.txt:
* web-platform-tests/domxpath/callback-interface-expected.txt:

Source/WebCore:

This patch introduces CustomXPathNSResolver callback interface,
cleaning up CodeGeneratorJS.pm and removing custom binding code.

XPathNSResolver is kept as a wrapper for NativeXPathNSResolver, preserving common
case performance via IDL interface converter, and because a callback interface
can't be returned from a function without substantial code generator change.

Also, improves non-callable method error message and fixes 2 spec incompatibilities:
a) no "lookupNamespaceURI" method lookup on functions [1];
b) resolver's "prefix" parameter is required [2].

Since C++ methods can't be overload based on return type, this patch adds
[ImplementedAs] IDL attribute support for callback interface methods.

Because XPathNSResolver wrappers are always temporary (no reference is kept),
[IsWeakCallback] IDL attribute isn't added, preserving strong reference.

[1]: https://heycam.github.io/webidl/#call-a-user-objects-operation (step 10.1)
[2]: https://dom.spec.whatwg.org/#dom-xpathnsresolver-lookupnamespaceuri

Tests: imported/w3c/web-platform-tests/dom/idlharness.window.js
       imported/w3c/web-platform-tests/domxpath/callback-interface.html

* CMakeLists.txt:
* DerivedSources-input.xcfilelist:
* DerivedSources-output.xcfilelist:
* DerivedSources.make:
* Headers.cmake:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/IDLTypes.h:
* bindings/js/JSCallbackData.cpp:
(WebCore::JSCallbackData::invokeCallback):
* bindings/js/JSCustomXPathNSResolver.cpp: Removed.
* bindings/js/JSCustomXPathNSResolver.h: Removed.
* bindings/js/JSDOMConvertXPathNSResolver.h:
(WebCore::Converter<IDLInterface<XPathNSResolver>>::convert):
(WebCore::Converter<IDLXPathNSResolver<T>>::convert): Deleted.
(WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): Deleted.
(WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): Deleted.
* bindings/scripts/CodeGenerator.pm:
(IsBuiltinType):
(IsWrapperType):
* bindings/scripts/CodeGeneratorJS.pm:
(AddToIncludesForIDLType):
(GenerateHeader):
(GenerateCallbackHeaderContent):
(GenerateCallbackImplementationContent):
(GetBaseIDLType):
(NativeToJSValueDOMConvertNeedsState):
(NativeToJSValueDOMConvertNeedsGlobalObject):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody):
* xml/CustomXPathNSResolver.cpp: Copied from Source/WebCore/bindings/js/JSXPathNSResolverCustom.cpp.
(WebCore::CustomXPathNSResolver::lookupNamespaceURI):
* xml/CustomXPathNSResolver.h: Copied from Source/WebCore/bindings/js/JSXPathNSResolverCustom.cpp.
* xml/CustomXPathNSResolver.idl: Renamed from Source/WebCore/bindings/js/JSXPathNSResolverCustom.cpp.
* xml/XPathNSResolver.idl:

LayoutTests:

* fast/dom/TreeWalker/acceptNode-filter-expected.txt:
* fast/xpath/nsresolver-bad-object-expected.txt:

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

14 hours ago[webkitcorepy] Add mocks.Time
jbedard@apple.com [Fri, 7 Aug 2020 19:24:27 +0000 (19:24 +0000)]
[webkitcorepy] Add mocks.Time
https://bugs.webkit.org/show_bug.cgi?id=214475

Reviewed by Dewei Zhu.

Provide a mock construct which allows basic time utilities to be used without
actually waiting.

* Scripts/libraries/webkitcorepy/README.md: Add documentation of mocks.Time.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks: Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/__init__.py: Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/time_.py: Added.
(_MetaTime): Meta-class for Time object.
(add_metaclass): Python 2/3 compatible function to add meta-class to class.
(Time): Mock Time decorator.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks: Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks/__init__.py: Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks/time_unittest.py: Added.
(MockTime): Verify the functionality of mocks.Time.

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

15 hours ago[ iOS wk2 Debug ] imported/w3c/web-platform-tests/html/semantics/scripting-1/the...
hector_i_lopez@apple.com [Fri, 7 Aug 2020 18:31:45 +0000 (18:31 +0000)]
[ iOS wk2 Debug ] imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-external-classic.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215283

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

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

15 hours ago[webkitcorepy] Add aliases to Autoinstall packages
jbedard@apple.com [Fri, 7 Aug 2020 18:27:18 +0000 (18:27 +0000)]
[webkitcorepy] Add aliases to Autoinstall packages
https://bugs.webkit.org/show_bug.cgi?id=215276
<rdar://problem/66688543>

Reviewed by Stephanie Lewis.

* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.__init__): Add import aliases.
(AutoInstall.register): When given an alias, a package will be automatically installed when that alias is imported.

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

16 hours agoUse thread_switch instead of switch_pri to drop priority to zero for 1ms instead...
sbarati@apple.com [Fri, 7 Aug 2020 18:18:07 +0000 (18:18 +0000)]
Use thread_switch instead of switch_pri to drop priority to zero for 1ms instead of 10
https://bugs.webkit.org/show_bug.cgi?id=215248

Reviewed by Yusuke Suzuki.

Source/bmalloc:

* bmalloc/Mutex.cpp:
(bmalloc::yield):
(bmalloc::Mutex::lockSlowCase):

Source/WTF:

This seems to be a slight JetStream2 and Speedometer2 speedup. In the
range of 0%-0.75%, depending on device.

* wtf/posix/ThreadingPOSIX.cpp:
(WTF::Thread::yield):

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

16 hours ago[webkitcorepy] Support wheels in the autoinstaller
jbedard@apple.com [Fri, 7 Aug 2020 18:06:26 +0000 (18:06 +0000)]
[webkitcorepy] Support wheels in the autoinstaller
https://bugs.webkit.org/show_bug.cgi?id=215230
<rdar://problem/66636527>

Reviewed by Stephanie Lewis.

* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version, include packaging and it's dependencies.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.Archive.unpack): .whl files are zip files.
(Package.__init__): Allow programs to request packages as wheels.
(Package.archives): Search for compatible .whl files.
(Package.install): Ensure that .egg-info directories are appropriately chowned, unpack wheels, format manifest.json.
(AutoInstall.tags): List the packaging tags associated with this distribution, but with a work-around for Big Sur.

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

16 hours ago[ iOS wk2 Debug ] imported/w3c/web-platform-tests/html/semantics/scripting-1/the...
hector_i_lopez@apple.com [Fri, 7 Aug 2020 17:52:56 +0000 (17:52 +0000)]
[ iOS wk2 Debug ] imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-external-module.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215278

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

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

16 hours agoDo not email bot watcher when first run of layout tests exceeds failure limit
aakash_jain@apple.com [Fri, 7 Aug 2020 17:40:23 +0000 (17:40 +0000)]
Do not email bot watcher when first run of layout tests exceeds failure limit
https://bugs.webkit.org/show_bug.cgi?id=215274

Reviewed by Jonathan Bedard.

* BuildSlaveSupport/ews-build/steps.py:
(ReRunWebKitTests.evaluateCommand): Do not send emails for flaky tests when first_results_did_exceed_test_failure_limit.

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

17 hours agoREGRESSION (r260276): instructure.com custom PDF viewer stops scrolling / loading...
antti@apple.com [Fri, 7 Aug 2020 16:49:53 +0000 (16:49 +0000)]
REGRESSION (r260276): instructure.com custom PDF viewer stops scrolling / loading after switching to another tab then switching back
https://bugs.webkit.org/show_bug.cgi?id=215215
<rdar://problem/65743028>

Reviewed by Simon Fraser.

Source/WebCore:

Test: scrollingcoordinator/overflow-proxy-reattach.html

* page/scrolling/ScrollingStateOverflowScrollProxyNode.cpp:
(WebCore::ScrollingStateOverflowScrollProxyNode::setPropertyChangedBitsAfterReattach):

We need to reset OverflowScrollingNode after reattach.

* page/scrolling/ScrollingStateOverflowScrollProxyNode.h:
* testing/Internals.cpp:
(WebCore::Internals::setPageIsInWindow):
* testing/Internals.h:
* testing/Internals.idl:

Add direct testing support for background tab state.

LayoutTests:

* scrollingcoordinator/overflow-proxy-reattach-expected.html: Added.
* scrollingcoordinator/overflow-proxy-reattach.html: Added.

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

17 hours agoFix inequality in newly added assertion
rmorisset@apple.com [Fri, 7 Aug 2020 16:39:30 +0000 (16:39 +0000)]
Fix inequality in newly added assertion
https://bugs.webkit.org/show_bug.cgi?id=215272

Reviewed by Alexey Proskuryakov.

No new tests, as it was caught by our testing infrastructure (not sure why it only got caught after landing).

* wtf/IndexSparseSet.h:
(WTF::OverflowHandler>::validate):

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

17 hours ago[ iOS wk2 ] svg/animations/smil-multiple-animate-list.svg is a flaky timeout
hector_i_lopez@apple.com [Fri, 7 Aug 2020 16:36:39 +0000 (16:36 +0000)]
[ iOS wk2 ] svg/animations/smil-multiple-animate-list.svg is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=215273

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

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

18 hours agoRemove UIScriptController.removeAllDynamicDictionaries()
wenson_hsieh@apple.com [Fri, 7 Aug 2020 16:14:27 +0000 (16:14 +0000)]
Remove UIScriptController.removeAllDynamicDictionaries()
https://bugs.webkit.org/show_bug.cgi?id=215207

Reviewed by Sam Weinig.

Source/WebKit:

See Tools/ChangeLog for more detail.

* Platform/spi/ios/UIKitSPI.h:

Tools:

Instead of clearing out learned words from the spellchecking dictionary between every test, simply disable
correction learning during each test.

* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::replaceTextAtRange):
(WTR::UIScriptController::removeAllDynamicDictionaries): Deleted.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::removeAllDynamicDictionaries): Deleted.

LayoutTests:

See Tools/ChangeLog for more detail.

* fast/events/ios/contenteditable-autocorrect.html:

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

18 hours agoStop storing the sampleRate on AudioNode and get it from the AudioContext instead
cdumez@apple.com [Fri, 7 Aug 2020 16:03:57 +0000 (16:03 +0000)]
Stop storing the sampleRate on AudioNode and get it from the AudioContext instead
https://bugs.webkit.org/show_bug.cgi?id=215246

Reviewed by Eric Carlson.

Stop storing the sampleRate on AudioNode and get it from the AudioContext instead.
This avoids having to pass the sampleRate everywhere when we construct nodes.

No new tests, no behavior change.

* Modules/webaudio/AnalyserNode.cpp:
(WebCore::AnalyserNode::AnalyserNode):
* Modules/webaudio/AudioBasicInspectorNode.cpp:
(WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
* Modules/webaudio/AudioBasicInspectorNode.h:
* Modules/webaudio/AudioBasicProcessorNode.cpp:
(WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
* Modules/webaudio/AudioBasicProcessorNode.h:
* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
* Modules/webaudio/AudioDestinationNode.cpp:
(WebCore::AudioDestinationNode::AudioDestinationNode):
* Modules/webaudio/AudioDestinationNode.h:
* Modules/webaudio/AudioNode.cpp:
(WebCore::AudioNode::AudioNode):
(WebCore::AudioNode::sampleRate const):
(WebCore::AudioNode::processIfNecessary):
* Modules/webaudio/AudioNode.h:
* Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):
* Modules/webaudio/AudioScheduledSourceNode.h:
* Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::createScriptProcessor):
* Modules/webaudio/BiquadFilterNode.cpp:
(WebCore::BiquadFilterNode::BiquadFilterNode):
* Modules/webaudio/ChannelMergerNode.cpp:
(WebCore::ChannelMergerNode::create):
(WebCore::ChannelMergerNode::ChannelMergerNode):
* Modules/webaudio/ChannelMergerNode.h:
* Modules/webaudio/ChannelSplitterNode.cpp:
(WebCore::ChannelSplitterNode::create):
(WebCore::ChannelSplitterNode::ChannelSplitterNode):
* Modules/webaudio/ChannelSplitterNode.h:
* Modules/webaudio/ConvolverNode.cpp:
(WebCore::ConvolverNode::ConvolverNode):
* Modules/webaudio/DefaultAudioDestinationNode.cpp:
(WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
(WebCore::DefaultAudioDestinationNode::sampleRate const):
* Modules/webaudio/DefaultAudioDestinationNode.h:
* Modules/webaudio/DelayNode.cpp:
(WebCore::DelayNode::DelayNode):
* Modules/webaudio/DynamicsCompressorNode.cpp:
(WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
* Modules/webaudio/GainNode.cpp:
(WebCore::GainNode::GainNode):
* Modules/webaudio/MediaElementAudioSourceNode.cpp:
(WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
* Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
(WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
* Modules/webaudio/MediaStreamAudioSourceNode.cpp:
(WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
* Modules/webaudio/OfflineAudioDestinationNode.cpp:
(WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
* Modules/webaudio/OfflineAudioDestinationNode.h:
* Modules/webaudio/OscillatorNode.cpp:
(WebCore::OscillatorNode::OscillatorNode):
* Modules/webaudio/PannerNode.cpp:
* Modules/webaudio/PannerNode.h:
* Modules/webaudio/ScriptProcessorNode.cpp:
(WebCore::ScriptProcessorNode::create):
(WebCore::ScriptProcessorNode::ScriptProcessorNode):
* Modules/webaudio/ScriptProcessorNode.h:
* Modules/webaudio/WaveShaperNode.cpp:
(WebCore::WaveShaperNode::WaveShaperNode):
* Modules/webaudio/WebKitAudioContext.cpp:
(WebCore::WebKitAudioContext::createWebKitPanner):
* Modules/webaudio/WebKitAudioPannerNode.cpp:
(WebCore::WebKitAudioPannerNode::WebKitAudioPannerNode):
* Modules/webaudio/WebKitAudioPannerNode.h:

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

18 hours ago[ macOS iOS wk 2 Debug ] storage/indexeddb/modern/new-database-after-user-delete...
hector_i_lopez@apple.com [Fri, 7 Aug 2020 15:53:33 +0000 (15:53 +0000)]
[ macOS iOS wk 2 Debug ] storage/indexeddb/modern/new-database-after-user-delete.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215271

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:
* platform/mac/TestExpectations:

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

18 hours agoRegExp sticky not matching alternates correctly, ignoring lastIndex requirement
msaboff@apple.com [Fri, 7 Aug 2020 15:51:33 +0000 (15:51 +0000)]
RegExp sticky not matching alternates correctly, ignoring lastIndex requirement
https://bugs.webkit.org/show_bug.cgi?id=214181

Reviewed by Yusuke Suzuki.

JSTests:

New test.

* stress/regexp-sticky-tests.js: Added.
(assert):

Source/JavaScriptCore:

In the YARR JIT, we need to check for sticky patterns before checking for fixed character
terms when backtracking.  The YARR interpreter doesn't have this issue.

* yarr/YarrJIT.cpp:

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

19 hours ago[ iOS wk2 ] http/wpt/resource-timing/rt-revalidate-requests-3.html is a flaky failure
hector_i_lopez@apple.com [Fri, 7 Aug 2020 14:49:09 +0000 (14:49 +0000)]
[ iOS wk2 ] http/wpt/resource-timing/rt-revalidate-requests-3.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215268

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

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

20 hours agoIndexSparseSet::sort() should update m_map
rmorisset@apple.com [Fri, 7 Aug 2020 14:13:24 +0000 (14:13 +0000)]
IndexSparseSet::sort() should update m_map
https://bugs.webkit.org/show_bug.cgi?id=215100

Reviewed by Yusuke Suzuki and Mark Lam.

Source/WTF:

IndexSparseSet is made of two fields: m_values and m_map, and the two must be kept in sync.
But its sort routine currently only sorts m_values.
This might be related to a random crash that seems to occasionally occur in the vicinity of this code in the wild (rdar://problem/64594569)

I added a validation routine, that I run in the tests that I added to TestWTF.
I verified, and without the fix, the validation routine fails after the sorting.

I also fixed remove() which was wrong on non-trivial types (thanks to Mark for catching this other bug).

* wtf/IndexSparseSet.h:
(WTF::OverflowHandler>::remove):
(WTF::OverflowHandler>::sort):
(WTF::OverflowHandler>::validate):

Tools:

TestWTF was not testing IndexSparseSet at all. It now does.

* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/IndexSparseSet.cpp: Added.
(TestWebKitAPI::TEST):

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

20 hours agoEWS emails about build failure should include last few relevant error logs
aakash_jain@apple.com [Fri, 7 Aug 2020 14:05:04 +0000 (14:05 +0000)]
EWS emails about build failure should include last few relevant error logs
https://bugs.webkit.org/show_bug.cgi?id=215264

Reviewed by Jonathan Bedard.

* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.filter_logs_containing_error):
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestAnalyzeCompileWebKitResults.test_filter_logs_containing_error_with_too_many_errors):

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

22 hours agoIntroduce a Vector::isolatedCopy() &&
youenn@apple.com [Fri, 7 Aug 2020 11:32:56 +0000 (11:32 +0000)]
Introduce a Vector::isolatedCopy() &&
https://bugs.webkit.org/show_bug.cgi?id=215160

Reviewed by Alex Christensen.

Source/WTF:

By introducing an isolatedCopy() &&, we remove the need to allocate a vector buffer.
This can make a Vector<String>::isolatedCopy() allocate no memory at all in cases like RegistrationDatabase::schedulePushChanges.

* wtf/Vector.h:
(WTF::Malloc>::isolatedCopy const):
(WTF::Malloc>::isolatedCopy):

Tools:

* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):

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

22 hours ago[ews] Add method to send email notifications to patch author for layout test failures
aakash_jain@apple.com [Fri, 7 Aug 2020 11:31:16 +0000 (11:31 +0000)]
[ews] Add method to send email notifications to patch author for layout test failures
https://bugs.webkit.org/show_bug.cgi?id=215231

Reviewed by Jonathan Bedard.

* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures):

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

24 hours agoANGLE: No need to check for Catalyst in the iOS build
dino@apple.com [Fri, 7 Aug 2020 09:38:32 +0000 (09:38 +0000)]
ANGLE: No need to check for Catalyst in the iOS build
https://bugs.webkit.org/show_bug.cgi?id=215249
<rdar://problem/66655478>

Reviewed by Tim Horton.

The DisplayEAGL class is never used for Catalyst, so doesn't
need to handle it.

* src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
(rx::DisplayEAGL::generateConfigs):

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

24 hours agoPocket City game play area is blank (WebGL is broken in Catalyst)
dino@apple.com [Fri, 7 Aug 2020 09:28:55 +0000 (09:28 +0000)]
Pocket City game play area is blank (WebGL is broken in Catalyst)
https://bugs.webkit.org/show_bug.cgi?id=215251

Reviewed by Tim Horton.

Our configuration for WebGL under Catalyst was incorrect. Since
it uses "desktop" OpenGL, it had to use the normal macOS setup
(enabling texture rectangle extension, and the correct target).

* platform/graphics/GraphicsContextGL.h: Add PLATFORM(MACCATALYST).
* platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm: Ditto.
(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):

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

25 hours agoSkip test on ARM32 - test is flaky in mini-mode
pmatos@igalia.com [Fri, 7 Aug 2020 08:32:41 +0000 (08:32 +0000)]
Skip test on ARM32 - test is flaky in mini-mode

Unreviewed Gardening.

* stress/put-direct-index-broken-2.js:

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

26 hours agoFix warnings related to unsigned >=0 ASSERTs
commit-queue@webkit.org [Fri, 7 Aug 2020 07:55:10 +0000 (07:55 +0000)]
Fix warnings related to unsigned >=0 ASSERTs
https://bugs.webkit.org/show_bug.cgi?id=215223

Patch by Rob Buis <rbuis@igalia.com> on 2020-08-07
Reviewed by Sergio Villar Senin.

Fix warnings related to unsigned >=0 ASSERTs by removing the expressions. Example warning:
TextCheckingHelper.cpp:425:39: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]

* editing/Editor.cpp:
(WebCore::Editor::markAndReplaceFor):
* editing/TextCheckingHelper.cpp:
(WebCore::TextCheckingHelper::findFirstMisspelledWordOrUngrammaticalPhrase const):
(WebCore::TextCheckingHelper::findUngrammaticalPhrases const):
(WebCore::TextCheckingHelper::guessesForMisspelledWordOrUngrammaticalPhrase const):

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

28 hours ago[GTK][WPE] Gardening some tests and rebaseline after imagebitmap update
lmoura@igalia.com [Fri, 7 Aug 2020 05:29:02 +0000 (05:29 +0000)]
[GTK][WPE] Gardening some tests and rebaseline after imagebitmap update

Unreviewed test gardening.

* platform/glib/TestExpectations:
* platform/glib/animations/steps-transform-rendering-updates-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/html/canvas/element/imagebitmap/canvas-createImageBitmap-resize-expected.txt:
* platform/glib/imported/w3c/web-platform-tests/html/canvas/element/imagebitmap/createImageBitmap-drawImage-expected.txt:
* platform/glib/imported/w3c/web-platform-tests/html/canvas/element/imagebitmap/createImageBitmap-flipY-expected.txt:
* platform/glib/imported/w3c/web-platform-tests/html/canvas/element/imagebitmap/createImageBitmap-invalid-args-expected.txt:
* platform/glib/imported/w3c/web-platform-tests/html/canvas/element/imagebitmap/createImageBitmap-transfer-expected.txt:

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

29 hours agoUnreviewed, fix fast/css-custom-paint/out-of-memory-while-adding-worklet-module.html...
ysuzuki@apple.com [Fri, 7 Aug 2020 05:12:24 +0000 (05:12 +0000)]
Unreviewed, fix fast/css-custom-paint/out-of-memory-while-adding-worklet-module.html test

It may not throw an exception, depending on GC.

* TestExpectations:
* fast/css-custom-paint/out-of-memory-while-adding-worklet-module-expected.txt:
* fast/css-custom-paint/script-tests/out-of-memory-while-adding-worklet-module.js:

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

32 hours agoText manipulation: leading and trailing spaces should be ignored when comparing content
sihui_liu@apple.com [Fri, 7 Aug 2020 01:24:05 +0000 (01:24 +0000)]
Text manipulation: leading and trailing spaces should be ignored when comparing content
https://bugs.webkit.org/show_bug.cgi?id=214878
<rdar://problem/63735024>

Reviewed by Ryosuke Niwa.

Source/WebCore:

TextIterator does not emit collapsed space if there is no text emitted before or the last emitted character is
collapsed space. When TextManipulationController starts observing paragraphs, it iterates the whole document and
the range of TextIterator is the range of document. For some text node A in the document, if TextIterator emits
text for some other text node B before it, the collapsed space at the beginning of A will be emitted, and
TextManipulationController would think the emitted space is part of A's content. When TextManipulationController
replaces content for A, and the range of TextIterator is set to the range of A, the collapsed space is not
emitted. The check to ensure A's content is unchanged would fail.

To solve this issue, for first and last token in the paragraph, TextManipulationController checks content after
removing leading and trailing spaces.

API test: TextManipulation.CompleteTextManipulationParagraphsContainCollapsedSpaces

* editing/TextManipulationController.cpp:
(WebCore::areEqualIgnoringLeadingAndTrailingWhitespaces):
(WebCore::TextManipulationController::replace):

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):

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

33 hours agoImplement createImageBitmap(ImageData)
commit-queue@webkit.org [Fri, 7 Aug 2020 01:18:37 +0000 (01:18 +0000)]
Implement createImageBitmap(ImageData)
https://bugs.webkit.org/show_bug.cgi?id=183438

Patch by Kenneth Russell <kbr@chromium.org> on 2020-08-06
Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Rebaseline tests under
web-platform-tests/html/canvas/element/imagebitmap/ , which are
now either fully passing, or have progressed.

* web-platform-tests/html/canvas/element/imagebitmap/canvas-createImageBitmap-resize-expected.txt:
* web-platform-tests/html/canvas/element/imagebitmap/createImageBitmap-drawImage-expected.txt:
* web-platform-tests/html/canvas/element/imagebitmap/createImageBitmap-flipY-expected.txt:
* web-platform-tests/html/canvas/element/imagebitmap/createImageBitmap-invalid-args-expected.txt:
* web-platform-tests/html/canvas/element/imagebitmap/createImageBitmap-serializable-expected.txt:
* web-platform-tests/html/canvas/element/imagebitmap/createImageBitmap-sizeOverflow-expected.txt:
* web-platform-tests/html/canvas/element/imagebitmap/createImageBitmap-transfer-expected.txt:

Source/WebCore:

Implement createImageBitmap(ImageData), including scaling,
flipping and alpha premultiplication, and fix bugs in
createImageBitmap(ImageBitmap).

Support copying unpremultiplied-alpha data to the
unpremultiplied-alpha format in ImageBuffer::putImageData. Plumb
this change through all ImageBuffer backends and display lists.

Handle error cases exposed by W3C WPT tests now that
createImageBitmap(ImageData) is working.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpImageBitmap):
(WebCore::CloneDeserializer::readImageBitmap):
* html/ImageBitmap.cpp:
(WebCore::ImageBitmap::create):
(WebCore::ImageBitmap::detachBitmaps):
(WebCore::alphaPremultiplicationForPremultiplyAlpha):
(WebCore::ImageBitmap::resolveWithBlankImageBuffer):
(WebCore::ImageBitmap::createPromise):
(WebCore::ImageBitmap::createFromBuffer):
* html/ImageBitmap.h:
* html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::transferToImageBitmap):
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::texImageSourceHelper):
(WebCore::WebGLRenderingContextBase::texImageImpl):
* html/canvas/WebGLRenderingContextBase.h:
* platform/graphics/ConcreteImageBuffer.h:
(WebCore::ConcreteImageBuffer::putImageData):
* platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::putImageData):
* platform/graphics/ImageBufferBackend.cpp:
(WebCore::ImageBufferBackend::convertToLuminanceMask):
(WebCore::copyUnpremultipliedToUnpremultiplied):
(WebCore::ImageBufferBackend::copyImagePixels const):
(WebCore::ImageBufferBackend::putImageData):
* platform/graphics/ImageBufferBackend.h:
* platform/graphics/cairo/GraphicsContextGLCairo.cpp:
(WebCore::GraphicsContextGLOpenGL::ImageExtractor::extractImage):
* platform/graphics/cairo/ImageBufferCairoSurfaceBackend.cpp:
(WebCore::ImageBufferCairoSurfaceBackend::putImageData):
* platform/graphics/cairo/ImageBufferCairoSurfaceBackend.h:
* platform/graphics/cg/GraphicsContextGLCG.cpp:
(WebCore::GraphicsContextGLOpenGL::ImageExtractor::extractImage):
* platform/graphics/cg/ImageBufferCGBackend.cpp:
(WebCore::copyImagePixelsAccelerated):
* platform/graphics/cg/ImageBufferCGBitmapBackend.cpp:
(WebCore::ImageBufferCGBitmapBackend::putImageData):
* platform/graphics/cg/ImageBufferCGBitmapBackend.h:
* platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:
(WebCore::ImageBufferIOSurfaceBackend::putImageData):
* platform/graphics/cg/ImageBufferIOSurfaceBackend.h:
* platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::PutImageData::PutImageData):
(WebCore::DisplayList::operator<<):
* platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::PutImageData::create):
(WebCore::DisplayList::PutImageData::destFormat const):
(WebCore::DisplayList::PutImageData::encode const):
(WebCore::DisplayList::PutImageData::decode):
* platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::putImageData):
* platform/graphics/displaylists/DisplayListRecorder.h:
* platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:
(WebCore::GraphicsContextGLOpenGL::ImageExtractor::ImageExtractor):
* platform/graphics/opengl/GraphicsContextGLOpenGL.h:
* platform/graphics/win/GraphicsContextGLDirect2D.cpp:
(WebCore::GraphicsContextGLOpenGL::ImageExtractor::extractImage):
* platform/graphics/win/ImageBufferDirect2DBackend.cpp:
(WebCore::ImageBufferDirect2DBackend::putImageData):
* platform/graphics/win/ImageBufferDirect2DBackend.h:

Source/WebKit:

Add "AlphaPremultiplication destFormat" argument to putImageData,
to handle creation of non-premultiplied ImageBitmaps from
ImageData.

* GPUProcess/graphics/RemoteImageBufferProxy.h:
* WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
(WebKit::ImageBufferShareableBitmapBackend::putImageData):
* WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
* WebProcess/GPU/graphics/RemoteImageBuffer.h:
(WebKit::RemoteImageBuffer::putImageData):

LayoutTests:

Rebaseline tests under:
  webgl/2.0.0/conformance/textures/image_bitmap_from_image_bitmap
  webgl/2.0.0/conformance/textures/image_bitmap_from_image_data
  webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap
  webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data
all of which are now passing.

* webgl/2.0.0/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-rgb-rgb-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-rgb-rgb-unsigned_short_5_6_5-expected.txt:
* webgl/2.0.0/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-rgba-rgba-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-rgba-rgba-unsigned_short_4_4_4_4-expected.txt:
* webgl/2.0.0/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-rgba-rgba-unsigned_short_5_5_5_1-expected.txt:
* webgl/2.0.0/conformance/textures/image_bitmap_from_image_data/tex-2d-rgb-rgb-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance/textures/image_bitmap_from_image_data/tex-2d-rgb-rgb-unsigned_short_5_6_5-expected.txt:
* webgl/2.0.0/conformance/textures/image_bitmap_from_image_data/tex-2d-rgba-rgba-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance/textures/image_bitmap_from_image_data/tex-2d-rgba-rgba-unsigned_short_4_4_4_4-expected.txt:
* webgl/2.0.0/conformance/textures/image_bitmap_from_image_data/tex-2d-rgba-rgba-unsigned_short_5_5_5_1-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-r11f_g11f_b10f-rgb-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-r11f_g11f_b10f-rgb-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-r16f-red-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-r16f-red-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-r32f-red-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-r8-red-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-r8ui-red_integer-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rg16f-rg-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rg16f-rg-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rg32f-rg-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rg8-rg-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rg8ui-rg_integer-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb16f-rgb-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb16f-rgb-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb32f-rgb-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb565-rgb-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb565-rgb-unsigned_short_5_6_5-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb5_a1-rgba-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb5_a1-rgba-unsigned_short_5_5_5_1-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb8-rgb-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb8ui-rgb_integer-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb9_e5-rgb-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb9_e5-rgb-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgba16f-rgba-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgba16f-rgba-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgba32f-rgba-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgba4-rgba-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgba4-rgba-unsigned_short_4_4_4_4-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgba8-rgba-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgba8ui-rgba_integer-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-srgb8-rgb-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-srgb8_alpha8-rgba-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-r11f_g11f_b10f-rgb-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-r11f_g11f_b10f-rgb-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-r16f-red-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-r16f-red-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-r32f-red-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-r8-red-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-r8ui-red_integer-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rg16f-rg-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rg16f-rg-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rg32f-rg-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rg8-rg-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rg8ui-rg_integer-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb16f-rgb-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb16f-rgb-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb32f-rgb-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb565-rgb-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb565-rgb-unsigned_short_5_6_5-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb5_a1-rgba-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb5_a1-rgba-unsigned_short_5_5_5_1-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb8-rgb-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb8ui-rgb_integer-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb9_e5-rgb-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb9_e5-rgb-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgba16f-rgba-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgba16f-rgba-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgba32f-rgba-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgba4-rgba-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgba4-rgba-unsigned_short_4_4_4_4-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgba8-rgba-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgba8ui-rgba_integer-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-srgb8-rgb-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-srgb8_alpha8-rgba-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-r11f_g11f_b10f-rgb-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-r11f_g11f_b10f-rgb-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-r16f-red-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-r16f-red-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-r32f-red-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-r8-red-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-r8ui-red_integer-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rg16f-rg-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rg16f-rg-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rg32f-rg-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rg8-rg-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rg8ui-rg_integer-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rgb16f-rgb-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rgb16f-rgb-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rgb32f-rgb-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rgb565-rgb-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rgb565-rgb-unsigned_short_5_6_5-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rgb5_a1-rgba-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rgb5_a1-rgba-unsigned_short_5_5_5_1-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rgb8-rgb-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rgb8ui-rgb_integer-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rgb9_e5-rgb-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rgb9_e5-rgb-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rgba16f-rgba-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rgba16f-rgba-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rgba32f-rgba-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rgba4-rgba-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rgba4-rgba-unsigned_short_4_4_4_4-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rgba8-rgba-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-rgba8ui-rgba_integer-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-srgb8-rgb-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-2d-srgb8_alpha8-rgba-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-r11f_g11f_b10f-rgb-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-r11f_g11f_b10f-rgb-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-r16f-red-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-r16f-red-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-r32f-red-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-r8-red-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-r8ui-red_integer-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rg16f-rg-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rg16f-rg-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rg32f-rg-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rg8-rg-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rg8ui-rg_integer-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgb16f-rgb-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgb16f-rgb-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgb32f-rgb-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgb565-rgb-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgb565-rgb-unsigned_short_5_6_5-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgb5_a1-rgba-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgb5_a1-rgba-unsigned_short_5_5_5_1-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgb8-rgb-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgb8ui-rgb_integer-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgb9_e5-rgb-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgb9_e5-rgb-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgba16f-rgba-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgba16f-rgba-half_float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgba32f-rgba-float-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgba4-rgba-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgba4-rgba-unsigned_short_4_4_4_4-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgba8-rgba-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgba8ui-rgba_integer-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-srgb8-rgb-unsigned_byte-expected.txt:
* webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-srgb8_alpha8-rgba-unsigned_byte-expected.txt:

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

33 hours ago[macOS iOS] imported/w3c/web-platform-tests/webrtc/RTCRtpTransceiver.https.html is...
hector_i_lopez@apple.com [Fri, 7 Aug 2020 01:05:51 +0000 (01:05 +0000)]
[macOS iOS] imported/w3c/web-platform-tests/webrtc/RTCRtpTransceiver.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=214197

Unreviewed test gardening.

* TestExpectations:

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

33 hours agoAvoid triggering redundant compositing updates when trying ot run a steps() animation...
simon.fraser@apple.com [Fri, 7 Aug 2020 00:57:45 +0000 (00:57 +0000)]
Avoid triggering redundant compositing updates when trying ot run a steps() animation on transform
https://bugs.webkit.org/show_bug.cgi?id=215241
<rdar://problem/62737868>

Reviewed by Zalan Bujtas.

Source/WebCore:

With a steps() timing function and keyframes animating the transform property, KeyframeEffect::applyPendingAcceleratedActions()
tries to restart the animation every time because the GraphicsLayer reports that it didn't start an accelerated animation.
r264856 patched some of this, but we still call animationFinished() every time, and this triggers a compositing update via
the m_owningLayer.setNeeds* calls in RenderLayerBacking::animationFinished().

So don't try to remove the animation if wasn't running. This makes those compositing updates a no-op, which is important
because these animations still invalidate style on every frame (webkit.org/b/215229).

Test: animations/steps-transform-compositing-updates.html

* animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::applyPendingAcceleratedActions):

LayoutTests:

animations/steps-transform-rendering-updates.html was landed with a bug; it aliased
the global 'count' variable, and was thus testing the wrong thing. So land a failing
result for the test for now (webkit.org/b/215229 addresses the fix).

* animations/steps-transform-compositing-updates-expected.txt: Copied from LayoutTests/animations/steps-transform-rendering-updates-expected.txt.
* animations/steps-transform-compositing-updates.html: Copied from LayoutTests/animations/steps-transform-rendering-updates.html.
* animations/steps-transform-rendering-updates-expected.txt:
* animations/steps-transform-rendering-updates.html:

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

33 hours agoWeb process crashes at WebCore::FullscreenManager::didExitFullscreen
peng.liu6@apple.com [Fri, 7 Aug 2020 00:23:50 +0000 (00:23 +0000)]
Web process crashes at WebCore::FullscreenManager::didExitFullscreen
https://bugs.webkit.org/show_bug.cgi?id=215243

Reviewed by Eric Carlson.

No new tests, no functional change.

* dom/FullscreenManager.cpp:
(WebCore::FullscreenManager::didExitFullscreen):
m_fullscreenElement might be nullptr when fullscreenOrPendingElement() is not nullptr.

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

33 hours agoWeb Inspector: Media & Animations timeline shouldn't shift when sorting
nvasilyev@apple.com [Fri, 7 Aug 2020 00:19:15 +0000 (00:19 +0000)]
Web Inspector: Media & Animations timeline shouldn't shift when sorting
https://bugs.webkit.org/show_bug.cgi?id=215085

Reviewed by Devin Rousso.

* UserInterface/Views/DataGrid.css:
(.data-grid):
(.data-grid th):
(.data-grid th:matches(.sort-ascending, .sort-descending) > .header-cell-content:first-child::after):
* UserInterface/Views/TimelineDataGrid.css:
(.data-grid.timeline th.graph-column > .timeline-ruler):
Override padding defined in `.data-grid th > .header-cell-content`.

(.data-grid.timeline th > .header-cell-content.timeline-ruler > .markers):
(.data-grid.timeline th:matches(.sort-ascending, .sort-descending) > .header-cell-content.timeline-ruler:first-child::after):
`.header-cell-content.timeline-ruler` is different from `.header-cell-content` in the sense that the former takes the entire
height of DataGrid and has no padding. Place the chevron in the middle of `--data-grid-header-height`.

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

34 hours ago[ macOS ] webgpu/whlsl/dont-crash-parsing-enum.html is a flaky failure
hector_i_lopez@apple.com [Fri, 7 Aug 2020 00:00:54 +0000 (00:00 +0000)]
[ macOS ] webgpu/whlsl/dont-crash-parsing-enum.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215247

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

34 hours agoWeakPtr threading assertion on editing/undo-manager/undo-manager-delete-stale-undo...
wenson_hsieh@apple.com [Fri, 7 Aug 2020 00:00:28 +0000 (00:00 +0000)]
WeakPtr threading assertion on editing/undo-manager/undo-manager-delete-stale-undo-items.html
https://bugs.webkit.org/show_bug.cgi?id=215221
<rdar://problem/66632111>

Reviewed by Devin Rousso.

Refactors `UndoItem` to avoid dereferencing its `m_undoManager` underneath `UndoItem::document`, which is
consulted when computing its JS wrapper's opaque roots. Instead of going through `m_undoManager` to grab the
document, store a `WeakPtr` to the `Document` upon setting the `UndoManager` and return its pointer value
directly in `document()`.

* page/UndoItem.cpp:
(WebCore::UndoItem::setUndoManager):
(WebCore::UndoItem::invalidate):
(WebCore::UndoItem::document const):
* page/UndoItem.h:

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

34 hours agoUse references instead of pointers for WidthIterator's fonts
mmaxfield@apple.com [Thu, 6 Aug 2020 23:46:49 +0000 (23:46 +0000)]
Use references instead of pointers for WidthIterator's fonts
https://bugs.webkit.org/show_bug.cgi?id=215186

Reviewed by Zalan Bujtas.

They can never be null.

No new tests because there is no behavior change.

* platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::widthOfTextRange const):
(WebCore::FontCascade::layoutSimpleText const):
(WebCore::FontCascade::floatWidthForSimpleText const):
(WebCore::FontCascade::adjustSelectionRectForSimpleText const):
(WebCore::FontCascade::offsetForPositionForSimpleText const):
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::WidthIterator):
(WebCore::WidthIterator::applyFontTransforms):
(WebCore::WidthIterator::advanceInternal):
* platform/graphics/WidthIterator.h:
* rendering/svg/SVGTextMetricsBuilder.cpp:
(WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):

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

34 hours agoBaseAudioContext.decodeAudioData() should return a Promise
cdumez@apple.com [Thu, 6 Aug 2020 23:39:31 +0000 (23:39 +0000)]
BaseAudioContext.decodeAudioData() should return a Promise
https://bugs.webkit.org/show_bug.cgi?id=215242

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

Rebaseline tests that are now passing.

* web-platform-tests/webaudio/idlharness.https.window-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-detached-execution-context.tentative-expected.txt:

Source/WebCore:

BaseAudioContext.decodeAudioData() should return a Promise as per:
- https://webaudio.github.io/web-audio-api/#dom-baseaudiocontext-decodeaudiodata

Behavior is unchanged for prefixed WebKitAudioContext.decodeAudioData() to ensure
backward compatibility.

No new tests, rebaselined existing tests.

* Modules/webaudio/AsyncAudioDecoder.cpp:
(WebCore::AsyncAudioDecoder::decodeAsync):
(WebCore::AsyncAudioDecoder::DecodingTask::DecodingTask):
(WebCore::AsyncAudioDecoder::DecodingTask::notifyComplete):
* Modules/webaudio/AsyncAudioDecoder.h:
* Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::decodeAudioData):
* Modules/webaudio/BaseAudioContext.h:
* Modules/webaudio/BaseAudioContext.idl:
* Modules/webaudio/WebKitAudioContext.idl:

LayoutTests:

Unskip test that is no longer timing out.

* TestExpectations:

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

34 hours ago[ macOS wk 2 Release ] imported/w3c/web-platform-tests/content-security-policy/worker...
hector_i_lopez@apple.com [Thu, 6 Aug 2020 23:24:39 +0000 (23:24 +0000)]
[ macOS wk 2 Release ] imported/w3c/web-platform-tests/content-security-policy/worker-src/service-worker-src-child-fallback.https.sub.html  is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215245

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

35 hours ago[webkitcorepy] Standardize setuptools version
jbedard@apple.com [Thu, 6 Aug 2020 22:41:49 +0000 (22:41 +0000)]
[webkitcorepy] Standardize setuptools version
https://bugs.webkit.org/show_bug.cgi?id=215234
<rdar://problem/66638187>

Reviewed by Darin Adler.

* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Use the same setuptools version
for Python 2 and 3.

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

36 hours agoDrop non-standard createBuffer(ArrayBuffer, boolean) overload from AudioContext
cdumez@apple.com [Thu, 6 Aug 2020 22:11:04 +0000 (22:11 +0000)]
Drop non-standard createBuffer(ArrayBuffer, boolean) overload from AudioContext
https://bugs.webkit.org/show_bug.cgi?id=215238

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that one more check is passing.

* web-platform-tests/webaudio/idlharness.https.window-expected.txt:

Source/WebCore:

Drop non-standard createBuffer(ArrayBuffer, boolean) overload from AudioContext:
- https://webaudio.github.io/web-audio-api/#BaseAudioContext

This overload is kept on WebKitAudioContext for backward-compatibility when the page
is still using the prefixed API.

No new tests, rebaselined existing test.

* Modules/webaudio/BaseAudioContext.cpp:
* Modules/webaudio/BaseAudioContext.h:
* Modules/webaudio/BaseAudioContext.idl:
* Modules/webaudio/WebKitAudioContext.cpp:
(WebCore::WebKitAudioContext::createLegacyBuffer):
* Modules/webaudio/WebKitAudioContext.h:
* Modules/webaudio/WebKitAudioContext.idl:

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

37 hours agoMediaStreamAudioDestinationNode should have a constructor
cdumez@apple.com [Thu, 6 Aug 2020 21:13:13 +0000 (21:13 +0000)]
MediaStreamAudioDestinationNode should have a constructor
https://bugs.webkit.org/show_bug.cgi?id=215233

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that more checks are passing.

* web-platform-tests/webaudio/idlharness.https.window-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-mediastreamaudiodestinationnode-interface/ctor-mediastreamaudiodestination-expected.txt:

Source/WebCore:

MediaStreamAudioDestinationNode should have a constructor:
- https://webaudio.github.io/web-audio-api/#mediastreamaudiodestinationnode

No new tests, rebaselined existing tests.

* Modules/webaudio/AnalyserNode.cpp:
(WebCore::AnalyserNode::AnalyserNode):
* Modules/webaudio/AudioBasicInspectorNode.cpp:
(WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
(WebCore::AudioBasicInspectorNode::pullInputs):
(WebCore::AudioBasicInspectorNode::checkNumberOfChannelsForInput):
(WebCore::AudioBasicInspectorNode::updatePullStatus):
* Modules/webaudio/AudioBasicInspectorNode.h:
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::createMediaStreamDestination):
* Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
(WebCore::MediaStreamAudioDestinationNode::create):
(WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
* Modules/webaudio/MediaStreamAudioDestinationNode.h:
* Modules/webaudio/MediaStreamAudioDestinationNode.idl:
* Modules/webaudio/WebKitAudioContext.cpp:
(WebCore::WebKitAudioContext::createMediaStreamDestination):

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

37 hours ago[CG] Avoid creating a sub-image when drawing a small scaled sub-rect from a native...
commit-queue@webkit.org [Thu, 6 Aug 2020 21:02:12 +0000 (21:02 +0000)]
[CG] Avoid creating a sub-image when drawing a small scaled sub-rect from a native image
https://bugs.webkit.org/show_bug.cgi?id=215015
<rdar://problem/63845893>

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-08-06
Reviewed by Simon Fraser.

The reason for creating the sub-image in GraphicsContext::drawNativeImage()
is to have a better image interpolation for the scaled sub-rect. For small
destRect, the interpolation on the original image is almost the same as
the interpolation on the sub-image. So we should avoid creating the sub-
image if destRect.area() is less than some minimum value. Creating many
sub-images can affect the rendering performance.

* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawNativeImage):

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

37 hours agoUnreviewed, reverting r265325.
wenson_hsieh@apple.com [Thu, 6 Aug 2020 20:21:06 +0000 (20:21 +0000)]
Unreviewed, reverting r265325.

Caused several tests in fast/forms and editing/pasteboard to
time out

Reverted changeset:

"Remove UIScriptController.removeAllDynamicDictionaries()"
https://bugs.webkit.org/show_bug.cgi?id=215207
https://trac.webkit.org/changeset/265325

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

38 hours agoWTF::makeString() should handle enum values
ddkilzer@apple.com [Thu, 6 Aug 2020 20:09:15 +0000 (20:09 +0000)]
WTF::makeString() should handle enum values
<https://webkit.org/b/214906>

Reviewed by Sam Weinig.

Source/WebCore:

* Modules/webgpu/WHLSL/Metal/WHLSLMangledNames.h:
(WTF::MangledNameAdaptor::length):
(WTF::MangledNameAdaptor::writeTo):
- Update for function renames.

Source/WebKit:

* Platform/IPC/cocoa/ConnectionCocoa.mm:
(IPC::Connection::sendMessage):
* Shared/Cocoa/AuxiliaryProcessCocoa.mm:
(WebKit::AuxiliaryProcess::didReceiveInvalidMessage):
- Update to take advantage of enum support in WTF::makeString().

Source/WTF:

* wtf/text/IntegerToStringConversion.h:
(WTF::numberToStringSigned):
- Drive-by fix to change std::make_unsigned<>::type to
  std::make_unsigned_t<>.
(WTF::writeNumberToBufferImpl): Delete.
(WTF::writeIntegerToBufferImpl):
- Rename from WTF::writeNumberToBufferImpl().
(WTF::writeNumberToBufferSigned): Delete.
(WTF::writeNumberToBufferUnsigned): Delete.
(WTF::writeIntegerToBuffer):
- Replace WTF::writeNumberToBufferSigned() and
  WTF::writeNumberToBufferUnsigned() with a single function that
  uses constexpr checks to let the compiler eliminate code.  Had
  to use if/else if/else construct to help the compiler
  eliminate unused cases.
(WTF::lengthOfNumberAsStringImpl): Delete.
(WTF::lengthOfIntegerAsStringImpl):
- Rename from WTF::lengthOfNumberAsStringImpl().
(WTF::lengthOfNumberAsStringSigned): Delete.
(WTF::lengthOfNumberAsStringUnsigned): Delete.
(WTF::lengthOfIntegerAsString):
- Replace WTF::lengthOfNumberAsStringSigned() and
  WTF::lengthOfNumberAsStringUnsigned() with a single function
  that uses constexpr checks to let the compiler eliminate code.
  Had to use if/else if/else construct to help the compiler
  eliminate unused cases.

* wtf/text/StringConcatenateNumbers.h:
(WTF::StringTypeAdapter<SignedInt, ...>): Deleted.
(WTF::StringTypeAdapter<UnignedInt, ...>): Deleted.
(WTF::StringTypeAdapter<Integer, ...>):
- Combine signed/unsigned templated classes into a single class
  now that WTF::lengthOfIntegerAsString() and
  WTF::writeIntegerToBuffer() are templated.
(WTF::StringTypeAdapter<Enum, ...>):
- Add support for enum types to WTF::makeString().  This also
  takes advantage of templated WTF::lengthOfIntegerAsString()
  and WTF::writeIntegerToBuffer() functions since enum types may
  be either signed or unsigned.

Tools:

* TestWebKitAPI/Tests/WTF/StringConcatenate.cpp:
(TestWebKitAPI::TEST):
- Update tests for renamed functions.
- Add test for enum values.

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

38 hours agocheck-webkit-style: better algorithm to check for acronym capitalization in an identifier
ddkilzer@apple.com [Thu, 6 Aug 2020 20:06:18 +0000 (20:06 +0000)]
check-webkit-style: better algorithm to check for acronym capitalization in an identifier
<https://webkit.org/b/215026>

Reviewed by Darin Adler.

* Scripts/webkitpy/style/checkers/cpp.py:
(_split_identifier_into_words): Add.
- This method splits a identifier into individual words.
(_check_identifier_name_for_acronyms):
- Update to use _split_identifier_into_words(), which makes it
  possible to check for improperly capitalized acronyms in the
  middle of identifiers.
- Also add support for exceptions, which are valid words that
  include acronyms (like "Curl").
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest):
- Fix a typo in a method name in another test.
(WebKitStyleTest.test_split_identifier_into_words): Add.
- Add tests for _split_identifier_into_words().
(WebKitStyleTest.test_identifier_names_with_acronyms):
- Add tests for cases that weren't possible with the previous
  algorithm.

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

38 hours agoMediaStreamAudioSourceNode should have a constructor
cdumez@apple.com [Thu, 6 Aug 2020 20:01:30 +0000 (20:01 +0000)]
MediaStreamAudioSourceNode should have a constructor
https://bugs.webkit.org/show_bug.cgi?id=215225

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that more checks are passing.

* web-platform-tests/webaudio/idlharness.https.window-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-mediastreamaudiosourcenode-interface/mediastreamaudiosourcenode-ctor-expected.txt:

Source/WebCore:

MediaStreamAudioSourceNode should have a constructor:
- https://webaudio.github.io/web-audio-api/#mediastreamaudiosourcenode

No new tests, rebaselined existing tests.

* CMakeLists.txt:
* DerivedSources-input.xcfilelist:
* DerivedSources-output.xcfilelist:
* DerivedSources.make:
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::createMediaStreamSource):
* Modules/webaudio/MediaStreamAudioSourceNode.cpp:
(WebCore::MediaStreamAudioSourceNode::create):
* Modules/webaudio/MediaStreamAudioSourceNode.h:
* Modules/webaudio/MediaStreamAudioSourceNode.idl:
* Modules/webaudio/MediaStreamAudioSourceOptions.h: Copied from Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.idl.
* Modules/webaudio/MediaStreamAudioSourceOptions.idl: Copied from Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.idl.
* Modules/webaudio/WebKitAudioContext.cpp:
(WebCore::WebKitAudioContext::createMediaStreamSource):
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:

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

39 hours ago[ews] Add method to send email notifications to patch author for build failure
aakash_jain@apple.com [Thu, 6 Aug 2020 18:38:07 +0000 (18:38 +0000)]
[ews] Add method to send email notifications to patch author for build failure
https://bugs.webkit.org/show_bug.cgi?id=215219

Reviewed by Jonathan Bedard.

* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Method to send the email for build failure by the patch.
(BugzillaMixin._is_bug_closed): Set bug_title as a build property so that it can be used later.

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

39 hours agoUnreviewed GStreamer MSE micro gardening
aboya@igalia.com [Thu, 6 Aug 2020 18:34:39 +0000 (18:34 +0000)]
Unreviewed GStreamer MSE micro gardening
https://bugs.webkit.org/show_bug.cgi?id=215228

* platform/gtk/TestExpectations:

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

39 hours ago[Mac,WK2] REGRESSION(r262322): ScreenTime overlay is hidden in fullscreen mode
jer.noble@apple.com [Thu, 6 Aug 2020 18:30:45 +0000 (18:30 +0000)]
[Mac,WK2] REGRESSION(r262322): ScreenTime overlay is hidden in fullscreen mode
https://bugs.webkit.org/show_bug.cgi?id=215222
<rdar://problem/65871844>

Reviewed by Eric Carlson.

During a refactor, a call to -[NSWindow setAutodisplay:YES] was dropped (in addition to a call to
NSEnableScreenUpdates(), but that has a 1s timeout so its effects aren't persistent). This meant
all NSViews added to that window need -display called on them explicitly in order to paint, and
so subviews like the ScreenTime overlay is never drawn.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):

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

40 hours agoRename LeadingExpansion and TrailingExpansion to LeftExpansion and RightExpansion
mmaxfield@apple.com [Thu, 6 Aug 2020 18:03:01 +0000 (18:03 +0000)]
Rename LeadingExpansion and TrailingExpansion to LeftExpansion and RightExpansion
https://bugs.webkit.org/show_bug.cgi?id=215211

Reviewed by Darin Adler.

"Leading" and "Trailing" are terms-of-art which represent logical order.
However, the behavior of these flags operates in visual order.
Instead, we should rename them to their visual order analogues: left and right.

No new tests because there is no behavior change.

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::measureText):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
* layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::justifyRuns):
(WebCore::Layout::LineBuilder::Run::expand):
(WebCore::Layout::LineBuilder::Run::visuallyCollapseTrailingWhitespace):
* platform/graphics/ComplexTextController.cpp:
(WebCore::expansionLocation):
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
* platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::expansionOpportunityCountInternal):
(WebCore::FontCascade::leftExpansionOpportunity):
(WebCore::FontCascade::rightExpansionOpportunity):
(WebCore::FontCascade::leadingExpansionOpportunity): Deleted.
(WebCore::FontCascade::trailingExpansionOpportunity): Deleted.
* platform/graphics/FontCascade.h:
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::WidthIterator):
(WebCore::expansionLocation):
(WebCore::WidthIterator::advanceInternal):
* platform/text/TextFlags.h:
* rendering/ComplexLineLayout.cpp:
(WebCore::expansionBehaviorForInlineTextBox):
(WebCore::applyExpansionBehavior):
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paint):
(WebCore::EllipsisBox::selectionRect):
(WebCore::EllipsisBox::paintSelection):
* rendering/InlineBox.h:
(WebCore::InlineBox::setCanHaveLeftExpansion):
(WebCore::InlineBox::setCanHaveRightExpansion):
(WebCore::InlineBox::setForceRightExpansion):
(WebCore::InlineBox::setForceLeftExpansion):
(WebCore::InlineBox::InlineBoxBitfields::InlineBoxBitfields):
(WebCore::InlineBox::hasSelectedChildren const):
(WebCore::InlineBox::setHasSelectedChildren):
(WebCore::InlineBox::canHaveLeftExpansion const):
(WebCore::InlineBox::canHaveRightExpansion const):
(WebCore::InlineBox::forceRightExpansion const):
(WebCore::InlineBox::forceLeftExpansion const):
(WebCore::InlineBox::setCanHaveLeadingExpansion): Deleted.
(WebCore::InlineBox::setCanHaveTrailingExpansion): Deleted.
(WebCore::InlineBox::setForceTrailingExpansion): Deleted.
(WebCore::InlineBox::setForceLeadingExpansion): Deleted.
(WebCore::InlineBox::canHaveLeadingExpansion const): Deleted.
(WebCore::InlineBox::canHaveTrailingExpansion const): Deleted.
(WebCore::InlineBox::forceTrailingExpansion const): Deleted.
(WebCore::InlineBox::forceLeadingExpansion const): Deleted.
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::expansionBehavior const):
* rendering/InlineTextBox.h:
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
(WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths const):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::paintItemForeground):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::getAverageCharWidth):
* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::expansionBehavior):
* rendering/SimpleLineLayout.h:
* rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::initializeInlineTextBox):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::constructTextRun const):
* rendering/svg/SVGTextMetrics.cpp:
(WebCore::SVGTextMetrics::constructTextRun):

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

40 hours ago[ iOS wk2 Debug ] fast/text/basic/001.html is a flaky crash
hector_i_lopez@apple.com [Thu, 6 Aug 2020 17:58:13 +0000 (17:58 +0000)]
[ iOS wk2 Debug ] fast/text/basic/001.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=215226

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

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

40 hours agoDynamicsCompressorNode.reduction attribute should be a float, not an AudioParam
cdumez@apple.com [Thu, 6 Aug 2020 17:33:40 +0000 (17:33 +0000)]
DynamicsCompressorNode.reduction attribute should be a float, not an AudioParam
https://bugs.webkit.org/show_bug.cgi?id=215195

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that more checks are passing.

* web-platform-tests/webaudio/idlharness.https.window-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-dynamicscompressornode-interface/ctor-dynamicscompressor-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-dynamicscompressornode-interface/dynamicscompressor-basic-expected.txt:

Source/WebCore:

DynamicsCompressorNode.reduction attribute should be a float, not an AudioParam:
- https://webaudio.github.io/web-audio-api/#dynamicscompressornode

Backward-compatibility is maintained for the prefixed WebAudio API.

No new tests, rebaselined existing tests.

* CMakeLists.txt:
* DerivedSources-input.xcfilelist:
* DerivedSources-output.xcfilelist:
* DerivedSources.make:
* Modules/webaudio/DynamicsCompressorNode.cpp:
(WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
(WebCore::DynamicsCompressorNode::process):
* Modules/webaudio/DynamicsCompressorNode.h:
(WebCore::DynamicsCompressorNode::reduction const):
(WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
(WebCore::DynamicsCompressorNode::setReduction):
* Modules/webaudio/DynamicsCompressorNode.idl:
* Modules/webaudio/WebKitAudioContext.cpp:
(WebCore::WebKitAudioContext::createWebKitDynamicsCompressor):
* Modules/webaudio/WebKitAudioContext.h:
* Modules/webaudio/WebKitAudioContext.idl:
* Modules/webaudio/WebKitDynamicsCompressorNode.h: Copied from Source/WebCore/Modules/webaudio/DynamicsCompressorNode.idl.
* Modules/webaudio/WebKitDynamicsCompressorNode.idl: Copied from Source/WebCore/Modules/webaudio/DynamicsCompressorNode.idl.
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:

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

40 hours agoUnreviewed, reverting r265328.
tsavell@apple.com [Thu, 6 Aug 2020 17:32:17 +0000 (17:32 +0000)]
Unreviewed, reverting r265328.

Broke 17 MediaRecorder tests.

Reverted changeset:

"Add support for MediaRecorder bitrate options"
https://bugs.webkit.org/show_bug.cgi?id=214973
https://trac.webkit.org/changeset/265328

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

41 hours ago[ macOS iOS wk2 Debug ] editing/undo-manager/undo-manager-delete-stale-undo-items...
hector_i_lopez@apple.com [Thu, 6 Aug 2020 17:06:50 +0000 (17:06 +0000)]
[ macOS iOS wk2 Debug ] editing/undo-manager/undo-manager-delete-stale-undo-items.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=215221

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:
* platform/mac-wk2/TestExpectations:

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

41 hours agoFixed widget method argument compatibility with WordPress
jond@apple.com [Thu, 6 Aug 2020 17:02:05 +0000 (17:02 +0000)]
Fixed widget method argument compatibility with WordPress
https://bugs.webkit.org/show_bug.cgi?id=215103

Reviewed by Devin Rousso.

* wp-content/themes/webkit/widgets/icon.php:
* wp-content/themes/webkit/widgets/page.php:
* wp-content/themes/webkit/widgets/post.php:
* wp-content/themes/webkit/widgets/twitter.php:

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

41 hours agoRemoved XML declaration from SVGs and updated copyrights
jond@apple.com [Thu, 6 Aug 2020 16:58:58 +0000 (16:58 +0000)]
Removed XML declaration from SVGs and updated copyrights
https://bugs.webkit.org/show_bug.cgi?id=215102

Reviewed by Devin Rousso.

* wp-content/themes/webkit/images/chevron-dark.svg:
* wp-content/themes/webkit/images/chevron.svg:
* wp-content/themes/webkit/images/circular.svg:
* wp-content/themes/webkit/images/compass.svg:
* wp-content/themes/webkit/images/download-white.svg:
* wp-content/themes/webkit/images/download.svg:
* wp-content/themes/webkit/images/filter.svg:
* wp-content/themes/webkit/images/icons.svg:
* wp-content/themes/webkit/images/inspector.svg:
* wp-content/themes/webkit/images/invert-lightness.svg:
* wp-content/themes/webkit/images/menu-down.svg:
* wp-content/themes/webkit/images/search.svg:
* wp-content/themes/webkit/images/spinner.svg:
* wp-content/themes/webkit/images/squirrelfish-lives.svg:
* wp-content/themes/webkit/images/template.svg:
* wp-content/themes/webkit/images/twitter.svg:
* wp-content/themes/webkit/images/webkit.svg:

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

42 hours agoMediaElementAudioSourceNode interface should have a constructor
cdumez@apple.com [Thu, 6 Aug 2020 16:18:03 +0000 (16:18 +0000)]
MediaElementAudioSourceNode interface should have a constructor
https://bugs.webkit.org/show_bug.cgi?id=215200

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline WPT test now that more checks are passing.

* web-platform-tests/webaudio/idlharness.https.window-expected.txt:

Source/WebCore:

MediaElementAudioSourceNode interface should have a constructor:
- https://webaudio.github.io/web-audio-api/#mediaelementaudiosourcenode

Test: webaudio/mediaelementaudiosourcenode-constructor.html

* CMakeLists.txt:
* DerivedSources-input.xcfilelist:
* DerivedSources-output.xcfilelist:
* DerivedSources.make:
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::createMediaElementSource):
* Modules/webaudio/AudioContext.idl:
* Modules/webaudio/MediaElementAudioSourceNode.cpp:
(WebCore::MediaElementAudioSourceNode::create):
(WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
* Modules/webaudio/MediaElementAudioSourceNode.h:
* Modules/webaudio/MediaElementAudioSourceNode.idl:
* Modules/webaudio/MediaElementAudioSourceOptions.h: Copied from Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.idl.
* Modules/webaudio/MediaElementAudioSourceOptions.idl: Copied from Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.idl.
* Modules/webaudio/WebKitAudioContext.cpp:
(WebCore::WebKitAudioContext::createMediaElementSource):
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:

LayoutTests:

Add layout test coverage.

* webaudio/mediaelementaudiosourcenode-constructor-expected.txt: Added.
* webaudio/mediaelementaudiosourcenode-constructor.html: Added.

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

42 hours ago[ iOS wk2 ] editing/pasteboard/paste-without-nesting.html is a flaky failure
rackler@apple.com [Thu, 6 Aug 2020 15:47:55 +0000 (15:47 +0000)]
[ iOS wk2 ] editing/pasteboard/paste-without-nesting.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215218

Unreviewed test gardening.

* platform/ios-simulator-wk2/TestExpectations:

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

42 hours agoAdd support for MediaRecorder bitrate options
youenn@apple.com [Thu, 6 Aug 2020 15:25:39 +0000 (15:25 +0000)]
Add support for MediaRecorder bitrate options
https://bugs.webkit.org/show_bug.cgi?id=214973

Reviewed by Eric Carlson.

Source/WebCore:

Pipe options to MediaRecorderPrivate constructor.
For the actual implementation, pass it down to VideoSampleBufferCompressor and AudioSampleBufferCompressor.
For AudioSampleBufferCompressor, we do not handle well some bit rates, so for now, we limit to specific values.

Tests: http/wpt/mediarecorder/MediaRecorder-audio-bitrate.html
       http/wpt/mediarecorder/MediaRecorder-video-bitrate.html

* Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::create):
(WebCore::MediaRecorder::createMediaRecorderPrivate):
(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::startRecording):
* Modules/mediarecorder/MediaRecorder.h:
* Modules/mediarecorder/MediaRecorderProvider.cpp:
(WebCore::MediaRecorderProvider::createMediaRecorderPrivate):
* Modules/mediarecorder/MediaRecorderProvider.h:
* WebCore.xcodeproj/project.pbxproj:
* loader/EmptyClients.cpp:
* platform/mediarecorder/MediaRecorderPrivate.h:
* platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp:
(WebCore::MediaRecorderPrivateAVFImpl::create):
* platform/mediarecorder/MediaRecorderPrivateAVFImpl.h:
* platform/mediarecorder/cocoa/AudioSampleBufferCompressor.h:
* platform/mediarecorder/cocoa/AudioSampleBufferCompressor.mm:
(WebCore::AudioSampleBufferCompressor::setBitsPerSecond):
(WebCore::AudioSampleBufferCompressor::outputBitRate const):
(WebCore::AudioSampleBufferCompressor::initAudioConverterForSourceFormatDescription):
Do not exit when not able to set bitrate as we still want to set m_maxOutputPacketSize.
In case of error in setting up the converter, clean it up so that we do not use a partially set up converter.
* platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
* platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
(WebCore::MediaRecorderPrivateWriter::create):
(WebCore::MediaRecorderPrivateWriter::setOptions):
* platform/mediarecorder/cocoa/VideoSampleBufferCompressor.h:
* platform/mediarecorder/cocoa/VideoSampleBufferCompressor.mm:
(WebCore::VideoSampleBufferCompressor::setBitsPerSecond):
(WebCore::setCompressionSessionProperty):
(WebCore::VideoSampleBufferCompressor::initCompressionSession):
* testing/Internals.cpp:
(WebCore::createRecorderMockSource):

Source/WebKit:

Serialize options when creating remote media recorder.

* GPUProcess/webrtc/RemoteMediaRecorder.cpp:
(WebKit::RemoteMediaRecorder::create):
* GPUProcess/webrtc/RemoteMediaRecorder.h:
* GPUProcess/webrtc/RemoteMediaRecorderManager.cpp:
(WebKit::RemoteMediaRecorderManager::createRecorder):
* GPUProcess/webrtc/RemoteMediaRecorderManager.h:
* GPUProcess/webrtc/RemoteMediaRecorderManager.messages.in:
* WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):
(WebKit::MediaRecorderPrivate::startRecording):
* WebProcess/GPU/webrtc/MediaRecorderPrivate.h:
* WebProcess/GPU/webrtc/MediaRecorderProvider.cpp:
(WebKit::MediaRecorderProvider::createMediaRecorderPrivate):
* WebProcess/GPU/webrtc/MediaRecorderProvider.h:

LayoutTests:

* http/wpt/mediarecorder/MediaRecorder-audio-bitrate-expected.txt: Added.
* http/wpt/mediarecorder/MediaRecorder-audio-bitrate.html: Added.
* http/wpt/mediarecorder/MediaRecorder-video-bitrate-expected.txt: Added.
* http/wpt/mediarecorder/MediaRecorder-video-bitrate.html: Added.

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

43 hours agoScrolling tree nodes sometimes don't match layer z-order
simon.fraser@apple.com [Thu, 6 Aug 2020 14:55:55 +0000 (14:55 +0000)]
Scrolling tree nodes sometimes don't match layer z-order
https://bugs.webkit.org/show_bug.cgi?id=215210

Reviewed by Antti Koivisto.

Source/WebCore:

When adding nodes to the scrolling state tree during compositing layer traversal,
we would sometimes add then in the wrong order. For example, if the composited layer
tree was:

+ Root
  + Stacking context
    Fixed layer 1
  Fixed layer 2

we would build a scrolling tree like:

+ Root scrolling node
  Node for layer 2
  Node for layer 1

This happened because RenderLayerCompositor::updateBackingAndHierarchy() failed to propagate up
scrollingTreeState.nextChildIndex.

This is generally benign, but inserting node 1 followed by node 2 would be seen as a scrolling tree
mutation, causing us to re-commit the scrolling tree when it hadn't really changed, triggering
extra CPU usage.

Part of <rdar://problem/62737868>: higher CPU usage on instagram.com.

Test: scrollingcoordinator/scrolling-tree/sibling-node-order.html

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBackingAndHierarchy):

LayoutTests:

* platform/ios-wk2/scrollingcoordinator/scrolling-tree/sibling-node-order-expected.txt: Added.
* scrollingcoordinator/scrolling-tree/sibling-node-order-expected.txt: Added.
* scrollingcoordinator/scrolling-tree/sibling-node-order.html: Added.

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

43 hours ago[WPE][GTK] Wrong argument order for clone syscall seccomp filter on s390x
aperez@igalia.com [Thu, 6 Aug 2020 14:48:07 +0000 (14:48 +0000)]
[WPE][GTK] Wrong argument order for clone syscall seccomp filter on s390x
https://bugs.webkit.org/show_bug.cgi?id=215212

Reviewed by Michael Catanzaro.

Patch based on this Flatpak pull request:
https://github.com/flatpak/flatpak/pull/3777

No new tests needed.

* UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::setupSeccomp): Add preprocessor guard to choose the correct
clone() system call argument on S390.

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

43 hours agoRemove UIScriptController.removeAllDynamicDictionaries()
wenson_hsieh@apple.com [Thu, 6 Aug 2020 14:46:35 +0000 (14:46 +0000)]
Remove UIScriptController.removeAllDynamicDictionaries()
https://bugs.webkit.org/show_bug.cgi?id=215207

Reviewed by Tim Horton.

Tools:

This script controller hook was added to help reset dictionaries to a consistent state prior to running the test
`contenteditable-autocorrect.html`, which verifies that `autocorrect="no"` on a contenteditable element works as
intended by typing "ti" and expecting it to not be autocorrected to anything else (i.e. "to").

Instead of requiring each test that involves autocorrection to call this, move this reset step into
TestController::platformResetStateToConsistentValues and remove the testing hook.

* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::replaceTextAtRange):
(WTR::UIScriptController::removeAllDynamicDictionaries): Deleted.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::removeAllDynamicDictionaries): Deleted.

LayoutTests:

Remove the call to UIScriptController.removeAllDynamicDictionaries.

* fast/events/ios/contenteditable-autocorrect.html:

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

43 hours ago[ iOS wk2 ] imported/w3c/web-platform-tests/svg/import/interact-zoom-01-t-manual...
rackler@apple.com [Thu, 6 Aug 2020 14:28:42 +0000 (14:28 +0000)]
[ iOS wk2 ] imported/w3c/web-platform-tests/svg/import/interact-zoom-01-t-manual.svg is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215216

Unreviewed test gardening.

* platform/ios-simulator-wk2/TestExpectations:

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

47 hours agobuild-webkit script tries to execute command xcodebuild on Linux
commit-queue@webkit.org [Thu, 6 Aug 2020 10:55:28 +0000 (10:55 +0000)]
build-webkit script tries to execute command xcodebuild on Linux
https://bugs.webkit.org/show_bug.cgi?id=214353

Patch by Rob Buis <rbuis@igalia.com> on 2020-08-06
Reviewed by Carlos Alberto Lopez Perez.

Only call the function determineXcodeSDK() when
building for an Apple/Cocoa platform.

* Scripts/webkitdirs.pm:
(argumentsForConfiguration):

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

2 days agoCould not find module 'WebKit' for target 'armv7-apple-ios'
james.savage@apple.com [Thu, 6 Aug 2020 08:41:53 +0000 (08:41 +0000)]
Could not find module 'WebKit' for target 'armv7-apple-ios'
<https://bugs.webkit.org/show_bug.cgi?id=215190>
<rdar://problem/65642049>

Reviewed by Brady Eidson.

* SwiftOverlay/Configurations/WebKitSwiftOverlayTests.xcconfig: Define
SWIFT_MODULE_ONLY_ARCHS to emit other architectures.

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

2 days agoRemove the StyleResolver-specific evaluate function in MediaQueryEvaluator
commit-queue@webkit.org [Thu, 6 Aug 2020 06:16:44 +0000 (06:16 +0000)]
Remove the StyleResolver-specific evaluate function in MediaQueryEvaluator
https://bugs.webkit.org/show_bug.cgi?id=152089

Patch by Rob Buis <rbuis@igalia.com> on 2020-08-05
Reviewed by Darin Adler.

The function mentioned in the bug is already gone (see r252736), also remove
the StyleResolver reference.

* css/MediaQueryEvaluator.h:

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

2 days ago[GTK][WPE] Garden backdrop-filter debug crashes
lmoura@igalia.com [Thu, 6 Aug 2020 04:06:04 +0000 (04:06 +0000)]
[GTK][WPE] Garden backdrop-filter debug crashes

Unreviewed test gardening.

* platform/glib/TestExpectations:

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

2 days agoAdd some more Animations logging
simon.fraser@apple.com [Thu, 6 Aug 2020 03:54:35 +0000 (03:54 +0000)]
Add some more Animations logging
https://bugs.webkit.org/show_bug.cgi?id=215181

Reviewed by Zalan Bujtas.

Add logging that shows when DeclarativeAnimation::tick() runs and when it invalidates style.

* animation/DeclarativeAnimation.cpp:
(WebCore::DeclarativeAnimation::tick):
* animation/DocumentTimelinesController.cpp:
(WebCore::DocumentTimelinesController::updateAnimationsAndSendEvents):
* animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::invalidate):

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

2 days agoNetflix.com shows a scrubber that doesn't work
peng.liu6@apple.com [Thu, 6 Aug 2020 02:35:27 +0000 (02:35 +0000)]
Netflix.com shows a scrubber that doesn't work
https://bugs.webkit.org/show_bug.cgi?id=215199

Reviewed by Eric Carlson.

The "contentDuration" property of WebPlaybackControlsManager needs to be infinite
when the video is not seekable. Otherwise, AVKit will show a scrubber that doesn't
work on the Touch Bar.

* platform/mac/WebPlaybackControlsManager.mm:
(-[WebPlaybackControlsManager contentDuration]):
(-[WebPlaybackControlsManager setContentDuration:]):

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

2 days ago[WebGL2] Upgrade vertexAttribPointer with new supported types
commit-queue@webkit.org [Thu, 6 Aug 2020 01:58:09 +0000 (01:58 +0000)]
[WebGL2] Upgrade vertexAttribPointer with new supported types
https://bugs.webkit.org/show_bug.cgi?id=215036

Patch by James Darpinian <jdarpinian@chromium.org> on 2020-08-05
Reviewed by Dean Jackson.

Tested by updated WebGL conformance tests webgl/2.0.0/conformance/attribs/gl-vertexattribpointer-offsets.html and webgl/2.0.0/conformance/attribs/gl-vertexattribpointer.html

* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::sizeInBytes):
(WebCore::WebGLRenderingContextBase::vertexAttribPointer):

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

2 days agoRename BigSur EWS to AppleSilicon EWS
aakash_jain@apple.com [Thu, 6 Aug 2020 01:43:03 +0000 (01:43 +0000)]
Rename BigSur EWS to AppleSilicon EWS
https://bugs.webkit.org/show_bug.cgi?id=215205

Reviewed by Alexey Proskuryakov.

* BuildSlaveSupport/ews-build/config.json:

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

2 days agoRemove all references to non-existent 10.16
timothy_horton@apple.com [Thu, 6 Aug 2020 00:58:34 +0000 (00:58 +0000)]
Remove all references to non-existent 10.16
https://bugs.webkit.org/show_bug.cgi?id=215202

Reviewed by Wenson Hsieh.

Source/bmalloc:

* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:

Source/JavaScriptCore:

* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:

Source/ThirdParty:

* gtest/xcode/Config/DebugProject.xcconfig:
* gtest/xcode/Config/ReleaseProject.xcconfig:

Source/ThirdParty/ANGLE:

* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:

Source/ThirdParty/libwebrtc:

* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:
* Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:

Source/WebCore:

* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:

Source/WebCore/PAL:

* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:

Source/WebInspectorUI:

* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:

Source/WebKit:

* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:
* Scripts/process-entitlements.sh:
* WebProcess/com.apple.WebProcess.sb.in:

Source/WebKitLegacy/mac:

* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:

Source/WTF:

* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* wtf/PlatformEnableCocoa.h:
* wtf/PlatformHave.h:
* wtf/PlatformUse.h:

Tools:

* ContentExtensionTester/Configurations/Base.xcconfig:
* ContentExtensionTester/Configurations/DebugRelease.xcconfig:
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* ImageDiff/cg/Configurations/Base.xcconfig:
* ImageDiff/cg/Configurations/DebugRelease.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/WebKitTargetConditionals.xcconfig:
* TestWebKitAPI/config.h:
* WebEditingTester/Configurations/Base.xcconfig:
* WebEditingTester/Configurations/DebugRelease.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/DebugRelease.xcconfig:
* lldb/lldbWebKitTester/Configurations/Base.xcconfig:
* lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig:

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

2 days ago[ iOS wk2 ] imported/w3c/web-platform-tests/svg/import/linking-a-10-f-manual.svg...
rackler@apple.com [Thu, 6 Aug 2020 00:33:21 +0000 (00:33 +0000)]
[ iOS wk2 ] imported/w3c/web-platform-tests/svg/import/linking-a-10-f-manual.svg is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215204

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

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

2 days agoFix returnEarlyFromInfiniteLoopsForFuzzing in DFG and validateDoesGC
sbarati@apple.com [Thu, 6 Aug 2020 00:24:47 +0000 (00:24 +0000)]
Fix returnEarlyFromInfiniteLoopsForFuzzing in DFG and validateDoesGC
https://bugs.webkit.org/show_bug.cgi?id=215194
<rdar://problem/66158641>

Reviewed by Mark Lam.

JSTests:

* stress/validate-does-gc-with-return-early-from-infinite-loop-2.js: Added.
(vm.useJIT):

Source/JavaScriptCore:

I already fixed this same issue in the FTL in r264330, but I forgot
to do it in the DFG.

* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

2 days agor264813 breaks Make runner on remote devices
ticaiolima@gmail.com [Wed, 5 Aug 2020 23:54:45 +0000 (23:54 +0000)]
r264813 breaks Make runner on remote devices
https://bugs.webkit.org/show_bug.cgi?id=215179

Reviewed by Saam Barati.

This patch is setting up the proper `LD_LIBRARY_PATH` value to run JSC
stress tests on remote devices.

* Scripts/run-jsc-stress-tests:

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

2 days agoCrash in com.apple.WebKit.WebContent at com.apple.AppKit: _NSAccessibilityRemoveAllOb...
andresg_22@apple.com [Wed, 5 Aug 2020 23:21:23 +0000 (23:21 +0000)]
Crash in com.apple.WebKit.WebContent at com.apple.AppKit: _NSAccessibilityRemoveAllObserversAndSendDestroyedNotification
https://bugs.webkit.org/show_bug.cgi?id=215189
<rdar://problem/66561167>

Reviewed by Chris Fleizach.

AXIsolatedObject::detachPlatformWrapper was calling the wrapper's detach
method that in turn calls the system NSAccessibilityUnregisterUniqueIdForUIElement
on the secondary thread. This function is not thread safe and hence the
random crashes.
This changes AXIsolatedObject::detachPlatformWrapper to call the
wrapper's detachIsolatedObject, avoiding the above problem altogether.
The wrapper's detach remains the same that it was before isolated tree
mode was introduced, and should only run on the main thread.

* accessibility/AccessibilityObjectInterface.h:
* accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::applyPendingChanges):
* accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm:
(WebCore::AXIsolatedObject::detachPlatformWrapper):
* accessibility/mac/WebAccessibilityObjectWrapperBase.h:
* accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase detach]):
(-[WebAccessibilityObjectWrapperBase detachIsolatedObject:]):
(-[WebAccessibilityObjectWrapperBase detachAXObject]): Merged back into detach.
(-[WebAccessibilityObjectWrapperBase detachIsolatedObject]): Deleted.
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper unregisterUniqueIdForUIElement]):

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

2 days agoAdd a createWebArchiveData from a custom scheme API test
beidson@apple.com [Wed, 5 Aug 2020 23:19:59 +0000 (23:19 +0000)]
Add a createWebArchiveData from a custom scheme API test
https://bugs.webkit.org/show_bug.cgi?id=215187

Reviewed by Tim Horton.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/CreateWebArchive.mm: Added.

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

2 days ago[ macOS Release wk1 ] imported/w3c/web-platform-tests/css/css-overflow/overflow-recal...
ryanhaddad@apple.com [Wed, 5 Aug 2020 23:16:27 +0000 (23:16 +0000)]
[ macOS Release wk1 ] imported/w3c/web-platform-tests/css/css-overflow/overflow-recalc-001.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=214703

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations: Update expectatins to reflect that this is an image failure.

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

2 days ago[GTK][WPE] media/media-source/media-source-webm.html is timing out
lmoura@igalia.com [Wed, 5 Aug 2020 22:22:43 +0000 (22:22 +0000)]
[GTK][WPE] media/media-source/media-source-webm.html is timing out

Unreviewed test gardening.

Instead of the previous missing 'update' event entries, now times out
waiting for resize event, which is not raised because the size does
not seem to be changing (all resize events return 320x240).

* platform/glib/TestExpectations:

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

2 days agoAdd constructor for DynamicsCompressorNode
cdumez@apple.com [Wed, 5 Aug 2020 22:18:28 +0000 (22:18 +0000)]
Add constructor for DynamicsCompressorNode
https://bugs.webkit.org/show_bug.cgi?id=215180

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that more checks are passing.

* web-platform-tests/webaudio/idlharness.https.window-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-dynamics-compressor-connections-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-dynamicscompressornode-interface/ctor-dynamicscompressor-expected.txt:

Source/WebCore:

Add constructor for DynamicsCompressorNode:
- https://webaudio.github.io/web-audio-api/#dynamicscompressornode

This patch also add a new handleAudioNodeOptions() member function to
AudioNode to avoid code duplication and every node constructor.

No new tests, rebaselined existing tests.

* CMakeLists.txt:
* DerivedSources-input.xcfilelist:
* DerivedSources-output.xcfilelist:
* DerivedSources.make:
* Modules/webaudio/AnalyserNode.cpp:
(WebCore::AnalyserNode::create):
* Modules/webaudio/AudioNode.cpp:
(WebCore::AudioNode::AudioNode):
(WebCore::AudioNode::initializeDefaultNodeOptions):
(WebCore::AudioNode::handleAudioNodeOptions):
* Modules/webaudio/AudioNode.h:
* Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::createDynamicsCompressor):
* Modules/webaudio/BiquadFilterNode.cpp:
(WebCore::BiquadFilterNode::create):
* Modules/webaudio/ChannelMergerNode.cpp:
(WebCore::ChannelMergerNode::create):
* Modules/webaudio/ChannelSplitterNode.cpp:
(WebCore::ChannelSplitterNode::create):
* Modules/webaudio/ConvolverNode.cpp:
(WebCore::ConvolverNode::create):
(WebCore::ConvolverNode::ConvolverNode):
* Modules/webaudio/DefaultAudioDestinationNode.cpp:
(WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
* Modules/webaudio/DelayNode.cpp:
(WebCore::DelayNode::create):
* Modules/webaudio/DynamicsCompressorNode.cpp:
(WebCore::DynamicsCompressorNode::create):
(WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
(WebCore::DynamicsCompressorNode::setChannelCount):
(WebCore::DynamicsCompressorNode::setChannelCountMode):
* Modules/webaudio/DynamicsCompressorNode.h:
* Modules/webaudio/DynamicsCompressorNode.idl:
* Modules/webaudio/DynamicsCompressorOptions.h: Copied from Source/WebCore/Modules/webaudio/DynamicsCompressorNode.idl.
* Modules/webaudio/DynamicsCompressorOptions.idl: Copied from Source/WebCore/Modules/webaudio/DynamicsCompressorNode.idl.
* Modules/webaudio/GainNode.cpp:
(WebCore::GainNode::create):
* Modules/webaudio/OscillatorNode.cpp:
(WebCore::OscillatorNode::create):
* Modules/webaudio/PannerNode.cpp:
(WebCore::PannerNode::create):
(WebCore::PannerNode::PannerNode):
* Modules/webaudio/WaveShaperNode.cpp:
(WebCore::WaveShaperNode::create):
* Modules/webaudio/WebKitAudioPannerNode.cpp:
(WebCore::WebKitAudioPannerNode::WebKitAudioPannerNode):
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:

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

2 days ago[ iOS wk2 ] imported/w3c/web-platform-tests/preload/single-download-preload.html...
hector_i_lopez@apple.com [Wed, 5 Aug 2020 21:30:22 +0000 (21:30 +0000)]
[ iOS wk2 ] imported/w3c/web-platform-tests/preload/single-download-preload.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215192

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

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

2 days agoresults.webkit.org: Return worker status to caller
jbedard@apple.com [Wed, 5 Aug 2020 21:12:27 +0000 (21:12 +0000)]
results.webkit.org: Return worker status to caller
https://bugs.webkit.org/show_bug.cgi?id=215086
<rdar://problem/66476525>

Rubber-stamped by Aakash Jain.

* resultsdbpy/resultsdbpy/model/model.py:
(Model.do_work): Return if process has successfully processed results.
* resultsdbpy/resultsdbpy/model/model_unittest.py:
(ModelTest.test_no_work):
* resultsdbpy/resultsdbpy/model/upload_context.py:
(UploadContext._do_job_for_key): Return if the job was successful.
(UploadContext.do_processing_work): Return true if any processed jobs were successful.
* resultsdbpy/resultsdbpy/model/upload_context_unittest.py:
(UploadContextTest.test_async_callback):

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

2 days agoMake report-non-inclusive-language ignore files within .svn and .git
bdakin@apple.com [Wed, 5 Aug 2020 21:08:05 +0000 (21:08 +0000)]
Make report-non-inclusive-language ignore files within .svn and .git
https://bugs.webkit.org/show_bug.cgi?id=215156

Reviewed by Darin Adler.

* Scripts/report-non-inclusive-language:

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