Timeline
Aug 8, 2020:
- 11:40 PM Changeset in webkit [265414] by
-
- 2 edits in trunk/Source/WebCore
Fix bad merge in r265241
https://bugs.webkit.org/show_bug.cgi?id=215051
Unreviewed. This is something that got dropped in a bad merge from r265241.
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::widthForSimpleText const):
- 10:14 PM Changeset in webkit [265413] by
-
- 7 edits1 delete in trunk
Make GlyphBuffers required in the fast text codepath
https://bugs.webkit.org/show_bug.cgi?id=215052
Reviewed by Darin Adler.
Source/WebCore:
This is in preparation for https://bugs.webkit.org/show_bug.cgi?id=214769
and https://bugs.webkit.org/show_bug.cgi?id=206208.
Performing shaping affects the width of strings; indeed, that is one of
its purposes for existence. Shaping can only happen when we have a GlyphBuffer
to shape. We can't just arbitrarily decide to disable shaping for various
functions just because those functions don't ever inspect the exact glyphs.
No new tests. This is a preparation step toward
https://bugs.webkit.org/show_bug.cgi?id=214769 and
https://bugs.webkit.org/show_bug.cgi?id=206208, and I couldn't come up with a
test case that was broken here.
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::widthOfTextRange const):
(WebCore::FontCascade::widthForSimpleText const):
(WebCore::FontCascade::layoutSimpleText const):
(WebCore::FontCascade::floatWidthForSimpleText const):
(WebCore::FontCascade::adjustSelectionRectForSimpleText const):
- platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::shouldApplyFontTransforms const):
(WebCore::WidthIterator::applyFontTransforms):
(WebCore::WidthIterator::advanceInternal):
(WebCore::WidthIterator::advance):
(WebCore::WidthIterator::advanceOneCharacter):
- platform/graphics/WidthIterator.h:
- rendering/svg/SVGTextMetricsBuilder.cpp:
(WebCore::SVGTextMetricsBuilder::advanceSimpleText):
LayoutTests:
- platform/win/fast/events/selectstart-by-drag-expected.txt: Test progressed on Windows.
- 9:27 PM Changeset in webkit [265412] by
-
- 4 edits in trunk/Source/WebCore
WidthIterator::m_finalRoundingWidth is always 0
https://bugs.webkit.org/show_bug.cgi?id=215307
Reviewed by Darin Adler.
There's no reason for it to exist.
No new tests because there is no behavior change.
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::layoutSimpleText const):
- platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advanceInternal):
- platform/graphics/WidthIterator.h:
(WebCore::WidthIterator::runWidthSoFar const):
(WebCore::WidthIterator::finalRoundingWidth const): Deleted.
- 8:57 PM Changeset in webkit [265411] by
-
- 8 edits in trunk/Source/WebCore
Use references instead of pointers for GlyphBuffer::add()'s Font argument
https://bugs.webkit.org/show_bug.cgi?id=215309
Reviewed by Darin Adler.
They're not allowed to be null.
No new tests because there is no behavior change.
- platform/graphics/ComplexTextController.cpp:
(WebCore::ComplexTextController::advance):
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::widthForSimpleText const):
(WebCore::FontCascade::drawGlyphBuffer const):
(WebCore::offsetToMiddleOfGlyph):
(WebCore::FontCascade::drawEmphasisMarks const):
(WebCore::GlyphToPathTranslator::GlyphToPathTranslator):
(WebCore::GlyphToPathTranslator::advance):
(WebCore::FontCascade::dashesForIntersectionsWithRect const):
- platform/graphics/GlyphBuffer.h:
(WebCore::GlyphBuffer::fontAt const):
(WebCore::GlyphBuffer::add):
- platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advanceInternal):
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::DrawGlyphs::generateGlyphBuffer const):
- rendering/mathml/MathOperator.cpp:
(WebCore::MathOperator::paintGlyph):
(WebCore::MathOperator::paint):
- rendering/mathml/RenderMathMLToken.cpp:
(WebCore::RenderMathMLToken::paint):
- 8:23 PM Changeset in webkit [265410] by
-
- 8 edits in trunk
[ iOS wk2 ] editing/pasteboard/paste-without-nesting.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215218
<rdar://problem/66628493>
Reviewed by Darin Adler.
Source/WebKit:
This test writes to the system pasteboard using
document.execCommand("Copy"), and then immediately reads from
the system pasteboard by triggeringdocument.execCommand("Paste"). On rare occasions, this fails on iOS, where
IPC messages for writing content to the pasteboard (e.g.WebPasteboardProxy::WriteWebContentToPasteboard) are
asynchronous, but the IPC message to get the pasteboard change count before pasting (GetPasteboardChangeCount)
is synchronous. This means thatConnectionmay end up dispatching the syncGetPasteboardChangeCountIPC
message before dispatchingWriteWebContentToPasteboard, which causes the pasteboard read to fail, because the
contents on the pasteboard have changed after starting to read from the pasteboard.
Note that this is not a problem on macOS since all pasteboard writing IPC is synchronous. Instead of turning all
of the async iOS pasteboard writing messages synchronous as well, we can fix this by adding a mechanism in
WebProcessto keep track of outgoing async pasteboard write messages; then, before attempting to grab the
change count when we start reading, wait for any of these pending async writes to finish before we continue.
In a future patch, we could actually adopt this same mechanism in
SetPasteboardTypesand neighboring IPC
messages to turn these all asynchronous.
- UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
(WebKit::WebPasteboardProxy::writeURLToPasteboard):
(WebKit::WebPasteboardProxy::writeWebContentToPasteboard):
(WebKit::WebPasteboardProxy::writeImageToPasteboard):
(WebKit::WebPasteboardProxy::writeStringToPasteboard):
Call
didWriteToPasteboardAsynchronouslyafter we finish writing to the pasteboard asynchronously.
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::changeCount):
Before accessing changeCount, wait until any asynchronous calls to write to the system pasteboard have finished.
(WebKit::WebPlatformStrategies::writeToPasteboard):
Right before we send an async message to the UI process to write to the system pasteboard, notify
WebProcess
so that it can keep track of pending clipboard writes.
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::willWriteToPasteboardAsynchronously):
(WebKit::WebProcess::didWriteToPasteboardAsynchronously):
(WebKit::WebProcess::waitForPendingPasteboardWritesToFinish):
Wait for a maximum of 1 second for any outgoing pasteboard writing messages to return to the web process.
LayoutTests:
Remove the flaky test expectation.
- platform/ios-simulator-wk2/TestExpectations:
- 1:31 PM Changeset in webkit [265409] by
-
- 2 edits in trunk/Tools
[WinCairo] REGRESSION(r265408): Unreviewed layout test script fix
https://bugs.webkit.org/show_bug.cgi?id=215292
<rdar://problem/66698141>
os.getuid() is available only for Unix.
AttributeError: 'module' object has no attribute 'getuid'
- Scripts/webkitpy/init.py: Don't use os.getuid() unless sys.platform == 'darwin'.
- 6:43 AM Changeset in webkit [265408] by
-
- 2 edits in trunk/Tools
[webkitpy] Pick a reasonable auto-install location on NFS mounts
https://bugs.webkit.org/show_bug.cgi?id=215292
<rdar://problem/66698141>
Reviewed by Dewei Zhu.
- Scripts/webkitpy/init.py: On MacOS, when the current user does not own the checkout, use ~/Libraries/webkitpy.
- 3:54 AM Changeset in webkit [265407] by
-
- 2 edits in trunk/Source/WTF
[WTF] Remove the build warning since r265344.
https://bugs.webkit.org/show_bug.cgi?id=215269
warning: parameter ‘integer’ set but not used [-Wunused-but-set-parameter]
- wtf/text/IntegerToStringConversion.h:
(WTF::lengthOfIntegerAsString):
- 3:37 AM Changeset in webkit [265406] by
-
- 2 edits in trunk/Tools
Add a quota delegate test for miniaturized/deminiaturized pages
https://bugs.webkit.org/show_bug.cgi?id=215166
Reviewed by Alex Christensen.
Add a Mac specific test for testing quota delegate in case page is miniaturized or not.
Update testing code to show more meaningful error reports.
- TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:
(-[QuotaMessageHandler userContentController:didReceiveScriptMessage:]):
(-[QuotaMessageHandler receivedMessage]):
- 12:44 AM Changeset in webkit [265405] by
-
- 5 edits in trunk/Source/JavaScriptCore
[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.
Aug 7, 2020:
- 10:09 PM Changeset in webkit [265404] by
-
- 3 edits5 adds in trunk/LayoutTests
[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.
- 5:37 PM Changeset in webkit [265403] by
-
- 103 edits in trunk
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.
- 5:35 PM Changeset in webkit [265402] by
-
- 2 edits in trunk/LayoutTests
[ 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:
- 5:31 PM Changeset in webkit [265401] by
-
- 2 edits in trunk/Source/WebCore
[WebGL2] Missing validation for sampler unit index
https://bugs.webkit.org/show_bug.cgi?id=215303
Patch by James Darpinian <James Darpinian> 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):
- 5:25 PM Changeset in webkit [265400] by
-
- 4 edits in trunk/LayoutTests
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.
- Anchor all ArrayBuffer allocation from the strong root (window) to keep them alive even GC happens, which stresses memory usage.
- 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.
- 4:56 PM Changeset in webkit [265399] by
-
- 2 edits in trunk/Source/WebCore
Off by one error in transform feedback buffer binding
https://bugs.webkit.org/show_bug.cgi?id=215298
Patch by James Darpinian <James Darpinian> on 2020-08-07
Reviewed by Dean Jackson.
Caught by conformance test deqp/functional/gles3/negativebufferapi.html
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::setIndexedBufferBinding):
- 4:28 PM Changeset in webkit [265398] by
-
- 2 edits in trunk/LayoutTests
[ 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:
- 4:20 PM Changeset in webkit [265397] by
-
- 19 edits in trunk
{Intersection,Resize,Performance}Observer callbacks get incorrect
thisvalue
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
correctthisvalue 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:
- 4:05 PM Changeset in webkit [265396] by
-
- 22 edits in trunk
[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
setSpellCheckerResultsso that it is onUIScriptControllerinstead ofTestRunner, 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
LayoutTestSpellCheckerbetween 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
donefunction.
Additionally, adoptUIHelper.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 tosetSpellCheckerResultsin WebKit2.
- platform/mac-wk2/TestExpectations:
- resources/ui-helper.js:
Add a
UIHelpermethod to override the system spell checker with given results.
(window.UIHelper.async setSpellCheckerResults):
- 4:00 PM Changeset in webkit [265395] by
-
- 2 edits in trunk/LayoutTests
[ 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:
- 3:31 PM Changeset in webkit [265394] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Disable ENABLE_BITMAP_FREELIST
https://bugs.webkit.org/show_bug.cgi?id=215285
Reviewed by Mark Lam.
From performance bots, we observed that,
- MBP11,4 shows 1% regression in Speedometer2.
- 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:
- 3:14 PM Changeset in webkit [265393] by
-
- 20 edits2 adds in trunk
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:
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.
- 3:08 PM Changeset in webkit [265392] by
-
- 2 edits in trunk/Source/JavaScriptCore
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):
- 2:38 PM Changeset in webkit [265391] by
-
- 2 edits in trunk/Tools
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.
- 2:23 PM Changeset in webkit [265390] by
-
- 16 edits in trunk
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.
- 1:40 PM Changeset in webkit [265389] by
-
- 41 edits14 adds in trunk
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.
- 1:02 PM Changeset in webkit [265388] by
-
- 8 edits2 adds in trunk
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:
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.
- 12:27 PM Changeset in webkit [265387] by
-
- 22 edits2 copies1 move2 deletes in trunk
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:
- 12:24 PM Changeset in webkit [265386] by
-
- 4 edits1 copy1 add in trunk/Tools
[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.
- 11:31 AM Changeset in webkit [265385] by
-
- 2 edits in trunk/LayoutTests
[ 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:
- 11:27 AM Changeset in webkit [265384] by
-
- 3 edits in trunk/Tools
[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.
- 11:18 AM Changeset in webkit [265383] by
-
- 4 edits in trunk/Source
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):
- 11:06 AM Changeset in webkit [265382] by
-
- 3 edits in trunk/Tools
[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.
- 10:52 AM Changeset in webkit [265381] by
-
- 2 edits in trunk/LayoutTests
[ 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:
- 10:40 AM Changeset in webkit [265380] by
-
- 2 edits in trunk/Tools
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.
- 9:49 AM Changeset in webkit [265379] by
-
- 7 edits2 adds in trunk
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.
- 9:39 AM Changeset in webkit [265378] by
-
- 2 edits in trunk/Source/WTF
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):
- 9:36 AM Changeset in webkit [265377] by
-
- 2 edits in trunk/LayoutTests
[ 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:
- 9:14 AM Changeset in webkit [265376] by
-
- 10 edits in trunk
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:
- 9:03 AM Changeset in webkit [265375] by
-
- 39 edits in trunk/Source/WebCore
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:
- 8:53 AM Changeset in webkit [265374] by
-
- 3 edits in trunk/LayoutTests
[ 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:
- 8:51 AM Changeset in webkit [265373] by
-
- 3 edits1 add in trunk
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:
- 7:49 AM Changeset in webkit [265372] by
-
- 2 edits in trunk/LayoutTests
[ 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:
- 7:13 AM Changeset in webkit [265371] by
-
- 5 edits1 add in trunk
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):
- 7:05 AM Changeset in webkit [265370] by
-
- 3 edits in trunk/Tools
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):
- 4:32 AM Changeset in webkit [265369] by
-
- 4 edits in trunk
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):
- 4:31 AM Changeset in webkit [265368] by
-
- 2 edits in trunk/Tools
[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):
- 2:38 AM Changeset in webkit [265367] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
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):
- 2:28 AM Changeset in webkit [265366] by
-
- 3 edits in trunk/Source/WebCore
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):
- 1:32 AM Changeset in webkit [265365] by
-
- 2 edits in trunk/JSTests
Skip test on ARM32 - test is flaky in mini-mode
Unreviewed Gardening.
- stress/put-direct-index-broken-2.js:
- 12:55 AM Changeset in webkit [265364] by
-
- 3 edits in trunk/Source/WebCore
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):