Timeline
Aug 9, 2020:
- 10:12 PM Changeset in webkit [265422] by
-
- 15 edits1 copy1 move4 adds1 delete in trunk
[macOS] Drag/drop an image of a unsupported format to an file input element should convert it to a supported format
https://bugs.webkit.org/show_bug.cgi?id=212482
<rdar://problem/63731672>
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-08-09
Reviewed by Darin Adler.
Source/WebCore:
Although the list of the dropped files are sent from the UI process to
the Web process through the WebPage channel, the file input settings are
only known by the Web process. So we have to do the image transcoding in
WebCore.
Tests: fast/forms/file/entries-api/image-no-transcode-drag-drop.html
fast/forms/file/entries-api/image-transcode-drag-drop.html
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/FileInputType.cpp:
(WebCore::FileInputType::handleDOMActivateEvent):
(WebCore::FileInputType::fileChooserSettings const):
Move filling FileChooserSettings to the function: fileChooserSettings().
(WebCore::FileInputType::applyFileChooserSettings):
Call fileChooserSettings() instead of receiving FileChooserSettings as
an argument.
(WebCore::FileInputType::filesChosen):
Add this function which can be called from receiveDroppedFiles() or
receiveDroppedFilesWithImageTranscoding().
(WebCore::FileInputType::receiveDroppedFilesWithImageTranscoding):
Finds out whether image transcoding is needed for the dropped files. If
it is needed, it will be done in a WorkQueue and call filesChosen() when
it is done. Otherwise it will call filesChosen() immediately.
(WebCore::FileInputType::receiveDroppedFiles):
- html/FileInputType.h:
- platform/graphics/ImageUtilities.h: Added.
- platform/graphics/cg/ImageUtilitiesCG.cpp: Added.
(WebCore::sharedImageTranscodingQueue):
Provide a shared WorkQueue which can be used by WebCore and WebKit.
(WebCore::transcodeImage):
(WebCore::findImagesForTranscoding):
(WebCore::transcodeImages):
Source/WebKit:
Move ImageUtilities.h and ImageUtilitiesCG.cpp from WebKit to WebCore.
Use the image transcoding functions and shared WorkQueue from WebCore.
- Platform/ImageUtilities.h: Removed.
- Platform/cg: Removed.
- SourcesCocoa.txt:
- UIProcess/WebPageProxy.cpp:
(WebKit::m_limitsNavigationsToAppBoundDomains):
(WebKit::WebPageProxy::didChooseFilesForOpenPanelWithImageTranscoding):
(WebKit::m_transcodingQueue): Deleted.
- UIProcess/WebPageProxy.h:
- WebKit.xcodeproj/project.pbxproj:
LayoutTests:
Enable the new tests on macOS WK1. eventSender.beginDragWithFiles is
supported on WK1 only.
- fast/forms/file/entries-api/image-no-transcode-drag-drop-expected.txt: Added.
- fast/forms/file/entries-api/image-no-transcode-drag-drop.html: Added.
- fast/forms/file/entries-api/image-transcode-drag-drop-expected.txt: Added.
- fast/forms/file/entries-api/image-transcode-drag-drop.html: Added.
- platform/ios/TestExpectations:
- platform/win/TestExpectations:
- platform/wincairo/TestExpectations:
- platform/wk2/TestExpectations:
- 9:48 PM Changeset in webkit [265421] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, reverting r265392.
https://bugs.webkit.org/show_bug.cgi?id=215316
Crash ARM64 / ARM64E JSC tests
Reverted changeset:
"REGRESSION(r261159) PokerBros only shows black screen"
https://bugs.webkit.org/show_bug.cgi?id=215293
https://trac.webkit.org/changeset/265392
- 7:18 PM Changeset in webkit [265420] by
-
- 7 edits in trunk
REGRESSION (r260831): Web process crashes under Editor::setComposition() after navigating with marked text
https://bugs.webkit.org/show_bug.cgi?id=215315
<rdar://problem/64740092>
Reviewed by Darin Adler.
Source/WebCore:
To address a variety of crashes due to frames changing (or otherwise losing) their document while executing
editing commands, r260831 refactored the Editor class such that it extends the functionality of the Document
class, rather than the Frame class. In nearly all scenarios, this either leads to no behavior change or prevents
null pointer crashes, since a document is almost always attached to a frame when applying any editing commands.
However, there is one scenario where a document that has not yet been attached to its frame (and therefore does
not have a browsing context) will cause a null deref when trying to confirm an existing IME composition. The
logic added in <https://trac.webkit.org/r150291> will try and confirm any existing composition range on a
document right before committing provisional navigation. In the case where we are navigating back to a
previously visited page,m_frame
's document inFrameLoader::commitProvisionalLoad()
will not be attached
until the cached page's mainframe is opened underneathCachedPage::restore()
. Since the call to
Editor::confirmComposition()
currently happens before this step, we end up crashing while attempting to create
aUserTypingGestureIndicator
. Note that even if we avoid this with a null check, we'll still end up crashing
shortly thereafter, underneathEditor::insertTextForConfirmedComposition
. And even if this second crash is
avoided with another null check, we'll just end up with some version of webkit.org/b/59121, where the
composition range is present after navigation, but is out of sync with platform UI.
To fix the crash (and also not bring back bug #59121), we refactor this composition confirmation logic so that
it lives in Editor, and is also robust against the case where the document is not attached to a frame; we then
invoke this call after we're done committing the provisional load, so that any frame that is not yet attached
before commiting the load still has a chance to confirm its composition.
Test: WKWebViewMacEditingTests.ProcessSwapAfterSettingMarkedText
- editing/Editor.cpp:
(WebCore::Editor::confirmCompositionAndNotifyClient):
Move functionality from
willTransitionToCommitted
toconfirmCompositionAndNotifyClient
, a helper method that
will bail if the document is not attached, but otherwise confirm the active composition (if it exists).
- editing/Editor.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):
Add a call to confirm the editor's current composition after we're done committing the load. Note that in the
case where we had a composition before committing the load, we'll end up confirming the composition earlier (in
the first call site), rather than confirming after the load has been committed. This means that this second call
will be a no-op, due to the editor not having any composition.
(WebCore::FrameLoader::willTransitionToCommitted): Deleted.
- loader/FrameLoader.h:
Tools:
Add a new API that exercises the crash by:
- Enabling PSON.
- Navigating to page A and inserting some marked text.
- Navigating to page B with a process swap (without confirming the marked text).
- Navigating back to page A, and verifying that the previoulsy marked text is now committed.
- TestWebKitAPI/Tests/mac/WKWebViewMacEditingTests.mm:
- 1:41 PM Changeset in webkit [265419] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Make CommandLine on Worker agent (JSC shell feature for testing) work on iOS
https://bugs.webkit.org/show_bug.cgi?id=215311
<rdar://problem/66660053>
Reviewed by Mark Lam.
We should not reconfigure Options since this is once initialized. Since Options are frozen,
this results in crash.
- jsc.cpp:
(CommandLine::CommandLine):
(functionDollarAgentStart):
- 11:23 AM Changeset in webkit [265418] by
-
- 4 edits in trunk/Source
Preload graphics drivers in Mac WebProcess
https://bugs.webkit.org/show_bug.cgi?id=215183
Reviewed by Darin Adler.
Source/WebCore:
In newer versions of Mac OS, graphics drivers are no longer part of the shared cache due to
size restrictions. This can cause first render to be blocked by ~10 ms when we dlopen those
drivers. To work around this, we preload the drivers when prewarming the WebProcess.
- page/ProcessWarming.cpp:
(WebCore::ProcessWarming::prewarmGlobally):
Source/WTF:
Enable GPU driver preheating in versions of the OS that might not have the drivers in the dyld
shared cache due to size restrictions.
- wtf/PlatformEnableCocoa.h:
- 8:34 AM Changeset in webkit [265417] by
-
- 13 edits3 adds6 deletes in trunk
Always resolve ReadableStream's tee()'s cancel promise after the stream closes or errors
https://bugs.webkit.org/show_bug.cgi?id=215197
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- resources/import-expectations.json:
- web-platform-tests/streams: Resynced to upstream WPT.
Source/WebCore:
Make sure to resolve the cancel promise if the source gets closed or errored.
Test: imported/w3c/web-platform-tests/streams/queuing-strategies-size-function-per-global.window.html
- Modules/streams/ReadableStreamInternals.js:
(readableStreamTee):
(readableStreamTeePullFunction):
- 4:49 AM Changeset in webkit [265416] by
-
- 13 edits in trunk/Source
Unreviewed, reverting r263195, r263252, and r265394.
https://bugs.webkit.org/show_bug.cgi?id=215312
Revert all related GC Bitmap changes because some of perf is
not fully recovered
Reverted changesets:
"Replace JSC::FreeList linked list with a Bitmap."
https://bugs.webkit.org/show_bug.cgi?id=213071
https://trac.webkit.org/changeset/263195
"Unify Bitmap math loops in
MarkedBlock::Handle::specializedSweep()."
https://bugs.webkit.org/show_bug.cgi?id=213345
https://trac.webkit.org/changeset/263252
"[JSC] Disable ENABLE_BITMAP_FREELIST"
https://bugs.webkit.org/show_bug.cgi?id=215285
https://trac.webkit.org/changeset/265394
- 12:36 AM Changeset in webkit [265415] by
-
- 3 edits in trunk/Source/WebCore
Update OriginalAdvancesForCharacterTreatedAsSpace to work correctly in the presence of inserted or removed glyphs
https://bugs.webkit.org/show_bug.cgi?id=215302
Reviewed by Darin Adler.
OriginalAdvancesForCharacterTreatedAsSpace is trying to make sure that shaping doesn't cause
spaces to get wider or thinner. However, the way it was doing that is, for all the space
characters, overwrite that glyph index's advance after shaping to be what it was before shaping.
However, this is wrong, because shaping can insert or delete glyphs. Instead, now that we have
explicit string indices for each glyph, we can use those to determine which glyphs come from
space characters. These glyphs are the ones which should be overwritten.
- platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::applyFontTransforms):
(WebCore::WidthIterator::advanceInternal):
- platform/graphics/WidthIterator.h:
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 thatConnection
may end up dispatching the syncGetPasteboardChangeCount
IPC
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
WebProcess
to 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
SetPasteboardTypes
and 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
didWriteToPasteboardAsynchronously
after 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
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
correctthis
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:
- 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
setSpellCheckerResults
so that it is onUIScriptController
instead 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
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, 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 tosetSpellCheckerResults
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):
- 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):
Aug 6, 2020:
- 10:29 PM Changeset in webkit [265363] by
-
- 7 edits1 add in trunk/LayoutTests
[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:
- 10:12 PM Changeset in webkit [265362] by
-
- 4 edits in trunk/LayoutTests
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:
- 6:24 PM Changeset in webkit [265361] by
-
- 4 edits in trunk
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):
- 6:18 PM Changeset in webkit [265360] by
-
- 185 edits in trunk
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:
- 6:05 PM Changeset in webkit [265359] by
-
- 2 edits in trunk/LayoutTests
[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.
- 5:57 PM Changeset in webkit [265358] by
-
- 5 edits3 copies in trunk
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:
- 5:23 PM Changeset in webkit [265357] by
-
- 2 edits in trunk/Source/WebCore
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.
- 5:19 PM Changeset in webkit [265356] by
-
- 3 edits in trunk/Source/WebInspectorUI
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
.
- 5:00 PM Changeset in webkit [265355] by
-
- 2 edits in trunk/LayoutTests
[ 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:
- 5:00 PM Changeset in webkit [265354] by
-
- 3 edits in trunk/Source/WebCore
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 itsm_undoManager
underneathUndoItem::document
, which is
consulted when computing its JS wrapper's opaque roots. Instead of going throughm_undoManager
to grab the
document, store aWeakPtr
to theDocument
upon setting theUndoManager
and return its pointer value
directly indocument()
.
- page/UndoItem.cpp:
(WebCore::UndoItem::setUndoManager):
(WebCore::UndoItem::invalidate):
(WebCore::UndoItem::document const):
- page/UndoItem.h:
- 4:46 PM Changeset in webkit [265353] by
-
- 5 edits in trunk/Source/WebCore
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):
- 4:39 PM Changeset in webkit [265352] by
-
- 13 edits in trunk
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:
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.
- 4:24 PM Changeset in webkit [265351] by
-
- 2 edits in trunk/LayoutTests
[ 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:
- 3:41 PM Changeset in webkit [265350] by
-
- 2 edits in trunk/Tools
[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.
- 3:11 PM Changeset in webkit [265349] by
-
- 9 edits in trunk
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:
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:
- 2:49 PM Changeset in webkit [265348] by
-
- 1 copy in tags/Safari-610.1.25
Tag Safari-610.1.25.
- 2:13 PM Changeset in webkit [265347] by
-
- 12 edits in trunk
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:
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):
- 2:02 PM Changeset in webkit [265346] by
-
- 2 edits in trunk/Source/WebCore
[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):
- 1:21 PM Changeset in webkit [265345] by
-
- 8 edits in trunk
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
- 1:09 PM Changeset in webkit [265344] by
-
- 10 edits in trunk
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.
- 1:06 PM Changeset in webkit [265343] by
-
- 3 edits in trunk/Tools
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.
- 1:01 PM Changeset in webkit [265342] by
-
- 15 edits2 copies in trunk
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:
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:
- 11:38 AM Changeset in webkit [265341] by
-
- 2 edits in trunk/Tools
[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.
- 11:34 AM Changeset in webkit [265340] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GStreamer MSE micro gardening
https://bugs.webkit.org/show_bug.cgi?id=215228
- platform/gtk/TestExpectations:
- 11:30 AM Changeset in webkit [265339] by
-
- 2 edits in trunk/Source/WebKit
[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:]):
- 11:03 AM Changeset in webkit [265338] by
-
- 24 edits in trunk
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):
- 10:58 AM Changeset in webkit [265337] by
-
- 2 edits in trunk/LayoutTests
[ 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:
- 10:33 AM Changeset in webkit [265336] by
-
- 17 edits2 copies in trunk
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:
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:
- 10:32 AM Changeset in webkit [265335] by
-
- 28 edits5 deletes in trunk
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
- 10:06 AM Changeset in webkit [265334] by
-
- 3 edits in trunk/LayoutTests
[ 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:
- 10:02 AM Changeset in webkit [265333] by
-
- 5 edits in trunk/Websites/webkit.org
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:
- 9:58 AM Changeset in webkit [265332] by
-
- 18 edits in trunk/Websites/webkit.org
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:
- 9:37 AM Changeset in webkit [265331] by
-
- 2 edits in branches/safari-610.1.25-branch/Source/WebCore
Cherry-pick r265318. rdar://problem/66630841
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
- 9:18 AM Changeset in webkit [265330] by
-
- 16 edits2 copies2 adds in trunk
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:
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.
- 8:47 AM Changeset in webkit [265329] by
-
- 2 edits in trunk/LayoutTests
[ 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:
- 8:25 AM Changeset in webkit [265328] by
-
- 28 edits5 adds in trunk
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.
- 7:55 AM Changeset in webkit [265327] by
-
- 3 edits3 adds in trunk
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.
- 7:50 AM WebKitGTK/2.28.x edited by
- (diff)
- 7:48 AM Changeset in webkit [265326] by
-
- 2 edits in trunk/Source/WebKit
[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.
- 7:46 AM Changeset in webkit [265325] by
-
- 8 edits in trunk
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 thatautocorrect="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:
- 7:28 AM Changeset in webkit [265324] by
-
- 2 edits in trunk/LayoutTests
[ 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:
- 3:55 AM Changeset in webkit [265323] by
-
- 2 edits in trunk/Tools
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):
- 1:41 AM Changeset in webkit [265322] by
-
- 2 edits in trunk/Source/WebKit
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.
- 1:16 AM WebKitFlatpakSDK edited by
- (diff)
- 1:14 AM WebKitFlatpakSDK edited by
- (diff)
- 1:12 AM WebKitFlatpakSDK edited by
- (diff)
Aug 5, 2020:
- 11:16 PM Changeset in webkit [265321] by
-
- 2 edits in trunk/Source/WebCore
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:
- 9:06 PM Changeset in webkit [265320] by
-
- 2 edits in trunk/LayoutTests
[GTK][WPE] Garden backdrop-filter debug crashes
Unreviewed test gardening.
- platform/glib/TestExpectations:
- 8:54 PM Changeset in webkit [265319] by
-
- 4 edits in trunk/Source/WebCore
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):
- 7:35 PM Changeset in webkit [265318] by
-
- 2 edits in trunk/Source/WebCore
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:]):
- 6:58 PM Changeset in webkit [265317] by
-
- 4 edits in trunk
[WebGL2] Upgrade vertexAttribPointer with new supported types
https://bugs.webkit.org/show_bug.cgi?id=215036
Patch by James Darpinian <James Darpinian> 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):
- 6:43 PM Changeset in webkit [265316] by
-
- 2 edits in trunk/Tools
Rename BigSur EWS to AppleSilicon EWS
https://bugs.webkit.org/show_bug.cgi?id=215205
Reviewed by Alexey Proskuryakov.
- BuildSlaveSupport/ews-build/config.json:
- 5:58 PM Changeset in webkit [265315] by
-
- 74 edits in trunk
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:
- 5:33 PM Changeset in webkit [265314] by
-
- 2 edits in trunk/LayoutTests
[ 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:
- 5:24 PM Changeset in webkit [265313] by
-
- 3 edits1 add in trunk
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):
- 4:54 PM Changeset in webkit [265312] by
-
- 2 edits in trunk/Tools
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:
- 4:21 PM Changeset in webkit [265311] by
-
- 7 edits in trunk/Source/WebCore
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]):
- 4:19 PM Changeset in webkit [265310] by
-
- 2 edits1 add in trunk/Tools
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.
- 4:16 PM Changeset in webkit [265309] by
-
- 2 edits in trunk/LayoutTests
[ 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.
- 3:22 PM Changeset in webkit [265308] by
-
- 2 edits in trunk/LayoutTests
[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:
- 3:18 PM Changeset in webkit [265307] by
-
- 29 edits2 copies in trunk
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:
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:
- 2:30 PM Changeset in webkit [265306] by
-
- 2 edits in trunk/LayoutTests
[ 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:
- 2:12 PM Changeset in webkit [265305] by
-
- 5 edits in trunk/Tools
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):
- 2:08 PM Changeset in webkit [265304] by
-
- 2 edits in trunk/Tools
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:
- 1:47 PM Changeset in webkit [265303] by
-
- 2 edits in trunk/Source/WebKit
[Cocoa] Sandbox extension token not cleared from memory
https://bugs.webkit.org/show_bug.cgi?id=215136
Reviewed by Geoffrey Garen.
As a security mitigation, an invalidated sandbox extension should have its token cleared from memory.
No new tests, covered by existing tests.
- Shared/Cocoa/SandboxExtensionCocoa.mm:
(WebKit::SandboxExtensionImpl::m_length):
(WebKit::SandboxExtensionImpl::~SandboxExtensionImpl):
- 1:41 PM Changeset in webkit [265302] by
-
- 3 edits in trunk/Tools
EWS emails about build failure should include relevant error logs
https://bugs.webkit.org/show_bug.cgi?id=215174
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.start):
(AnalyzeCompileWebKitResults):
(AnalyzeCompileWebKitResults.getResults): Method to read the logs from previous build step.
(AnalyzeCompileWebKitResults.analyzeResults): Made a separate method called using deferred after reading the logs from previous steps.
(AnalyzeCompileWebKitResults.getBuildStepByName): Method to get step object from step name.
(AnalyzeCompileWebKitResults.filter_logs_containing_error): Filter the logs to include in email.
(AnalyzeCompileWebKitResults.send_email_for_preexisting_build_failure): Renamed from send_email_for_build_failure. Added
relevant error logs in email.
- BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
- 12:51 PM Changeset in webkit [265301] by
-
- 3 edits in trunk/Websites/webkit.org
Enhance feature status page origin for flexible test environments
https://bugs.webkit.org/show_bug.cgi?id=215178
Reviewed by Devin Rousso.
- wp-content/themes/webkit/css-status.php:
- wp-content/themes/webkit/status.php:
- 12:40 PM Changeset in webkit [265300] by
-
- 2 edits in trunk/LayoutTests
[ iOS wk2 Release ] imported/w3c/web-platform-tests/IndexedDB/structured-clone-transaction-state.any.worker.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215185
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 12:40 PM Changeset in webkit [265299] by
-
- 3 edits in trunk/Source/JavaScriptCore
The various AllowList options should be able to take the function name inline
https://bugs.webkit.org/show_bug.cgi?id=215184
Reviewed by Saam Barati.
Right now when I use the various AllowList JSC options I almost
always only care about a single function. Right now you need to
create a file with that single name in it. That is inconvenient, so
this patch changes the behavior to treat the string as the
function name if no file at that path exists. I'm also
speculatively assuming fopen doesn't return ENOENT when it fails
due to sandboxing... I didn't feel like testing it because this is
a debug option.
- runtime/OptionsList.h:
- tools/FunctionAllowlist.cpp:
(JSC::FunctionAllowlist::FunctionAllowlist):
- 12:23 PM Changeset in webkit [265298] by
-
- 15 edits2 copies in trunk
Add constructor to ConvolverNode
https://bugs.webkit.org/show_bug.cgi?id=215169
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-convolvernode-interface/active-processing.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/ctor-convolver-expected.txt:
Source/WebCore:
Add constructor to ConvolverNode, as per specification:
No new tests, rebaselined existing tests.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::createConvolver):
- Modules/webaudio/ConvolverNode.cpp:
(WebCore::ConvolverNode::create):
(WebCore::ConvolverNode::ConvolverNode):
(WebCore::ConvolverNode::setBuffer):
(WebCore::ConvolverNode::setChannelCount):
(WebCore::ConvolverNode::setChannelCountMode):
- Modules/webaudio/ConvolverNode.h:
- Modules/webaudio/ConvolverNode.idl:
- Modules/webaudio/ConvolverOptions.h: Copied from Source/WebCore/Modules/webaudio/ConvolverNode.idl.
- Modules/webaudio/ConvolverOptions.idl: Copied from Source/WebCore/Modules/webaudio/ConvolverNode.idl.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- 12:12 PM Changeset in webkit [265297] by
-
- 5 edits in trunk/Source/JavaScriptCore
Add assertions / inline capacity to checkpoint side state stacks
https://bugs.webkit.org/show_bug.cgi?id=215175
Reviewed by Saam Barati.
The inline capacity should hopefully avoid unneeded mallocs close to 100% of the time during our OSR exit ramp.
- dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::compileExit):
- ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
- runtime/VM.cpp:
(JSC::VM::pushCheckpointOSRSideState):
- runtime/VM.h:
- 11:53 AM Changeset in webkit [265296] by
-
- 3 edits in trunk/LayoutTests
[ macOS iOS wk2 Release ] editing/selection/navigation-clears-editor-state.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215177
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 11:50 AM Changeset in webkit [265295] by
-
- 7 edits in trunk/Source/WebKit
[Cocoa] Remove obsolete sandbox extension after r264178
https://bugs.webkit.org/show_bug.cgi?id=215154
Reviewed by Brent Fulgham.
After r264178, the code related to issuing an extension to com.apple.lsd.mapdb is obsolete, and should be removed.
No new tests, covered by existing tests.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- WebProcess/com.apple.WebProcess.sb.in:
- 11:48 AM Changeset in webkit [265294] by
-
- 9 edits15 adds2 deletes in trunk/LayoutTests
Re-sync web-platform-tests (2 dirs + 2 files)
https://bugs.webkit.org/show_bug.cgi?id=215173
Reviewed by Carlos Alberto Lopez Perez.
LayoutTests/imported/w3c:
web-platform-tests revision: 993c1bc4c880
- web-platform-tests/css/cssom/*: Updated.
- web-platform-tests/dom/idlharness.window-expected.txt:
- web-platform-tests/dom/idlharness.window.js:
- web-platform-tests/intersection-observer/*: Updated.
- web-platform-tests/performance-timeline/po-observe.any.*: Added.
LayoutTests:
Remove a duplicate test added in r259800 that was manually exported [1] and synced.
[1]: https://github.com/web-platform-tests/wpt/pull/23101
- js/getOwnPropertyDescriptor-host-object-proxy-expected.txt: Removed.
- js/getOwnPropertyDescriptor-host-object-proxy.html: Removed.
- 10:51 AM Changeset in webkit [265293] by
-
- 12 edits in trunk/Source/WebCore
REGRESSION (r265266) DumpRenderTree crash at WebKitAudioListener::dopplerFactor
https://bugs.webkit.org/show_bug.cgi?id=215171
<rdar://problem/66556999>
Reviewed by Eric Carlson.
We were calling the isWebKitAudioContext() virtual function from the BaseAudioContext
constructor, which was not OK. We now initialize the listener lazily so that we can
know if we are a WebKitAudioContext or not at the time of creation.
Also use downcast<> instead of static_cast<> to cast from AudioListener to
WebKitAudioListener for extra safety. Finally, AudioListener was missing a virtual
destructor even though we were using polymorphism.
No new tests, covered by existing tests that are crashing on the bots.
- Modules/webaudio/AudioListener.h:
(WebCore::AudioListener::isWebKitAudioListener const):
- Modules/webaudio/AudioListener.idl:
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::constructCommon):
(WebCore::WebCore::BaseAudioContext::listener):
- Modules/webaudio/BaseAudioContext.h:
(WebCore::BaseAudioContext::listener): Deleted.
- Modules/webaudio/PannerNode.cpp:
(WebCore::PannerNode::listener):
(WebCore::PannerNode::getAzimuthElevation):
(WebCore::PannerNode::distanceConeGain):
- Modules/webaudio/PannerNode.h:
- Modules/webaudio/WebKitAudioContext.h:
(WebCore::WebKitAudioContext::listener):
- Modules/webaudio/WebKitAudioListener.h:
(isType):
- Modules/webaudio/WebKitAudioListener.idl:
- Modules/webaudio/WebKitAudioPannerNode.cpp:
(WebCore::WebKitAudioPannerNode::listener):
(WebCore::WebKitAudioPannerNode::getAzimuthElevation):
(WebCore::WebKitAudioPannerNode::dopplerRate):
(WebCore::WebKitAudioPannerNode::distanceConeGain):
- Modules/webaudio/WebKitAudioPannerNode.h:
- 10:22 AM Changeset in webkit [265292] by
-
- 19 edits2 deletes in branches/safari-610.1.25-branch
Revert r265115. rdar://problem/66552761
- 9:54 AM Changeset in webkit [265291] by
-
- 6 edits in trunk
Align BiquadFilterNode.getFrequencyResponse() with the specification
https://bugs.webkit.org/show_bug.cgi?id=215148
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
Rebaseline WPT tests now that all checks are passing.
- web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-basic-expected.txt:
Source/WebCore:
Align BiquadFilterNode.getFrequencyResponse() with the specification:
In particular, the 3 argument arrays should not be nullable and we should throw
if they have different lengths.
No new tests, rebaselined existing tests.
- Modules/webaudio/BiquadFilterNode.cpp:
(WebCore::BiquadFilterNode::getFrequencyResponse):
- Modules/webaudio/BiquadFilterNode.h:
- Modules/webaudio/BiquadFilterNode.idl:
- 9:52 AM Changeset in webkit [265290] by
-
- 19 edits4 copies in trunk
Add constructor to BiquadFilterNode
https://bugs.webkit.org/show_bug.cgi?id=215144
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-biquadfilternode-interface/biquad-getFrequencyResponse-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/ctor-biquadfilter-expected.txt:
Source/WebCore:
Add constructor to BiquadFilterNode:
No new tests, rebaselined existing tests..
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::createBiquadFilter):
- Modules/webaudio/BiquadDSPKernel.cpp:
(WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
- Modules/webaudio/BiquadFilterNode.cpp:
(WebCore::BiquadFilterNode::create):
(WebCore::BiquadFilterNode::BiquadFilterNode):
- Modules/webaudio/BiquadFilterNode.h:
- Modules/webaudio/BiquadFilterNode.idl:
- Modules/webaudio/BiquadFilterOptions.h: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.idl.
- Modules/webaudio/BiquadFilterOptions.idl: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.idl.
- Modules/webaudio/BiquadFilterType.h: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.idl.
- Modules/webaudio/BiquadFilterType.idl: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.idl.
- Modules/webaudio/BiquadProcessor.cpp:
(WebCore::BiquadProcessor::BiquadProcessor):
- Modules/webaudio/BiquadProcessor.h:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- 9:36 AM Changeset in webkit [265289] by
-
- 24 edits in trunk
Update event regions only once per frame
https://bugs.webkit.org/show_bug.cgi?id=215132
<rdar://problem/66533779>
Reviewed by Darin Adler.
Source/WebCore:
Event regions (for touch-action, editable areas etc) were updated as part of
compositing updates, but we only need their output once per rendering update, so
move their computation out of RenderLayerCompositor::updateBackingAndHierarchy()
and into a new RenderLayer tree walk that is called from Page::doAfterUpdateRendering().
RenderLayerBacking stores a dirty bit to track when regions need to be updated.
Reduces the amount of time spent in rendering updates when scrolling on facebook.com
on iPad, which has lots of discontiguous touch-action regions.
- dom/Document.cpp:
(WebCore::Document::updateEventRegions):
- dom/Document.h:
- page/Frame.cpp:
(WebCore::Frame::layerTreeAsText const):
- page/Page.cpp:
(WebCore::Page::doAfterUpdateRendering):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects const):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::maintainsEventRegion const):
(WebCore::RenderLayerBacking::updateEventRegion):
- rendering/RenderLayerBacking.h:
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateEventRegions):
(WebCore::RenderLayerCompositor::updateBackingAndHierarchy):
- rendering/RenderLayerCompositor.h:
LayoutTests:
Tests that dispatch mouseWheel events in a way that tests event regions need to wait
now for a rendering update.await UIHelper.animationFrame()
is not enough, because
the function resumes inside a microtask at the end of the requestAnimationFrame callback,
which is before we've completed the rest of the rendering update, and thus before
the event regions have been updated.
In addition,
await UIHelper.animationFrame()
followed by eventSender calls to issue
wheel events actually trigger Page::updateRendering() re-entrancy, via the
WKBundlePageForceRepaint() in EventSendingController::mouseScrollByWithWheelAndMomentumPhases().
To fix this, add and use UIHelper.renderingUpdate(), which waits for a rAF and uses a setTimeout()
to get past the end of the current rendering update.
- fast/scrolling/mac/absolute-in-overflow-scroll-dynamic-expected.html:
- fast/scrolling/mac/absolute-in-overflow-scroll-dynamic.html:
- fast/scrolling/mac/absolute-in-overflow-scroll.html:
- fast/scrolling/mac/async-scroll-overflow-hidden-on-one-axis.html:
- fast/scrolling/mac/async-scroll-overflow-rtl-zoomed.html:
- fast/scrolling/mac/async-scroll-overflow-top-inset.html:
- fast/scrolling/mac/async-scroll-overflow.html:
- fast/scrolling/mac/clip-path-hit-test.html:
- fast/scrolling/mac/move-node-in-overflow-scroll.html:
- fast/scrolling/mac/overflow-scrolled-document.html:
- fast/scrolling/mac/overflow-zoomed-document.html:
- fast/scrolling/mac/overlapped-overflow-scroll.html:
- resources/ui-helper.js:
(window.UIHelper.async renderingUpdate):
- 9:21 AM WebKitFlatpakSDK/SpeedUpBuild edited by
- (diff)
- 9:11 AM Changeset in webkit [265288] by
-
- 3 edits in trunk/LayoutTests
[ macOS wk2 ] webrtc/datachannel/gather-candidates-networkprocess-crash.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=215088
<rdar://problem/66489006>
Reviewed by Eric Carlson.
- platform/mac-wk2/TestExpectations:
- webrtc/datachannel/gather-candidates-networkprocess-crash.html:
Sending IPC to the network process is now happening in a background thread and in case of network process crash
we might need to wait a little bit longer since the socket creation/sending is not blocked on getting a proper connection.
- 8:50 AM Changeset in webkit [265287] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed non-unified build fix.
No new tests needed.
- Modules/webaudio/AudioListener.h: Add forward declaration for BaseAudioSharedUnit.
- 8:46 AM Changeset in webkit [265286] by
-
- 6 edits in trunk
TextManipulationController should observe newly inserted or displayed text
https://bugs.webkit.org/show_bug.cgi?id=215157
Patch by Sihui Liu <sihui_liu@appe.com> on 2020-08-05
Reviewed by Wenson Hsieh.
Source/WebCore:
TextManipulationController already tracks renderer state of Element, but the case where Text children of an
Element is newly inserted and displayed is not covered. Therefore, TextManipulationController also needs to
know when render of Text is created.
API test: TextManipulation.CompleteTextManipulationForNewlyDisplayedText
- editing/TextManipulationController.cpp:
(WebCore::TextManipulationController::didCreateRendererForTextNode):
(WebCore::TextManipulationController::scheduleObservationUpdate):
(WebCore::TextManipulationController::removeNode):
- editing/TextManipulationController.h:
- rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::createTextRenderer):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
- 8:19 AM Changeset in webkit [265285] by
-
- 3 edits in trunk/LayoutTests
[ iOS ] imported/mozilla/svg/image/image-filter-01.svg is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=215167
Unreviewed test gardening.
- TestExpectations:
- platform/ios-wk2/TestExpectations:
- 7:43 AM Changeset in webkit [265284] by
-
- 6 edits1 add in trunk
[iOS] Keyboard shortcuts and arrow key scrolling stop working after navigating via swipe gesture
https://bugs.webkit.org/show_bug.cgi?id=215137
<rdar://problem/65082979>
Reviewed by Tim Horton.
Source/WebKit:
The process of starting a navigation swipe gesture causes the first responder (in this case, WKContentView) to
resign. Subsequently, nothing makes the content view first responder again once the navigation gesture ends,
even if the gesture is cancelled and we don't end up navigating. This results in several symptoms, two of which
are that keyboard shortcuts stop working, and pressing arrow keys does not scroll the web view after ending the
swipe gesture.
To mitigate this, add a mechanism to have the web view remember that our content view was first responder before
calling-startInteractiveTransition:
; after ending the interactive transition (i.e. swipe gesture), we then
restore the web view's content view as first responder if it is not already first responder (and it is also
parented, which is not the case when swiping back to close a newly opened tab in Safari).
Test: NavigationSwipeTests.RestoreFirstResponderAfterNavigationSwipe
NavigationSwipeTests.DoNotBecomeFirstResponderAfterNavigationSwipeIfWebViewIsUnparented
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _navigationGestureDidBegin]):
(-[WKWebView _navigationGestureDidEnd]):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/ios/NavigationSwipeTests.mm: Added.
(-[TestNavigationInteractiveTransition startInteractiveTransition:]):
Add an API test that exercises the bug by resigning first responder underneath
-startInteractiveTransition:
,
and checking that we have become first responder once again after completing the transition.
- TestWebKitAPI/ios/UIKitSPI.h:
- 5:01 AM WebKitFlatpakSDK/SpeedUpBuild edited by
- (diff)
- 5:00 AM Sccache edited by
- (diff)
- 5:00 AM WebKitFlatpakSDK/SpeedUpBuild edited by
- (diff)
- 4:53 AM WebKitFlatpakSDK edited by
- (diff)
- 4:48 AM WebKitFlatpakSDK edited by
- (diff)
- 4:47 AM WebKitFlatpakSDK edited by
- (diff)
- 4:45 AM WebKitFlatpakSDK edited by
- (diff)
- 4:45 AM WebKitFlatpakSDK created by
- 4:44 AM WebKitFlatpakSDK/SpeedUpBuild created by
- 4:44 AM WebKitGTK/SpeedUpBuild edited by
- (diff)
- 4:43 AM WebKitGTK/SpeedUpBuild edited by
- (diff)
- 4:27 AM WebKitGTK/SpeedUpBuild edited by
- (diff)
- 4:26 AM WebKitGTK/SpeedUpBuild edited by
- (diff)
- 4:03 AM Changeset in webkit [265283] by
-
- 4 edits in trunk/Source/WebCore
RegistrationDatabase::openSQLiteDatabase can spin
https://bugs.webkit.org/show_bug.cgi?id=215120
<rdar://problem/64850347>
Reviewed by Geoffrey Garen.
In case we fail opening the database when importing, we delete the database, the file and retry.
We do not need to retry in that case since there is nothing to import. Update the code to proceed with sending an import failure to SWServer.
In case of pushing changes to the database, it might be useful to retry but it is best to do this asynchronously.
For instance, there might be a script deleting the files/folders where is stored the database.
In that case, we check the result of pushing changes.
If they succeed, we call the completion handler and stop.
Otherwise, we will retry pushing the changes if changes were not pushed again in the meantime.
We introduce a push counter for that purpose.
- workers/service/server/RegistrationDatabase.cpp:
(WebCore::RegistrationDatabase::postTaskToWorkQueue):
(WebCore::RegistrationDatabase::openSQLiteDatabase):
(WebCore::RegistrationDatabase::importRecordsIfNecessary):
(WebCore::RegistrationDatabase::pushChanges):
(WebCore::RegistrationDatabase::schedulePushChanges):
(WebCore::RegistrationDatabase::doPushChanges):
- workers/service/server/RegistrationDatabase.h:
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::registrationStoreDatabaseFailedToOpen):
- 1:33 AM Changeset in webkit [265282] by
-
- 2 edits in trunk/Source/WebCore
SWServerJobQueue::didResolveRegistrationPromise should not assume its registration key relates to an existing worker
https://bugs.webkit.org/show_bug.cgi?id=215123
<rdar://problem/65096786>
Reviewed by Geoffrey Garen.
We know that in some cases, the registration is null in SWServerJobQueue::didResolveRegistrationPromise.
This might happen for instance in case a worker gets terminated, thus removing a job and the next job is clearing the registration.
Also, SWServerJobQueue::didResolveRegistrationPromise is not checking that the job identifier is the same in SWServerJobQueue::install
and SWServerJobQueue::didResolveRegistrationPromise while other code paths do.
A future refactoring might allow to call SWServerJobQueue::didResolveRegistrationPromise code synchronously from SWServerJobQueue::install.
In the meantime, let's add a null check and add release logging for that case.
- workers/service/server/SWServerJobQueue.cpp:
(WebCore::SWServerJobQueue::install):
(WebCore::SWServerJobQueue::didResolveRegistrationPromise):
- 1:22 AM Changeset in webkit [265281] by
-
- 8 edits in trunk
Allow multiple calls to PerformanceObserver.observe with different types
https://bugs.webkit.org/show_bug.cgi?id=214884
Patch by Rob Buis <rbuis@igalia.com> on 2020-08-05
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Update improved test expectations.
- web-platform-tests/performance-timeline/po-observe-type.any-expected.txt:
- web-platform-tests/performance-timeline/po-observe-type.any.worker-expected.txt:
Source/WebCore:
Allow multiple calls to PerformanceObserver.observe with different type, but
throw an exception if the observer type is changed [1].
Behavior matches Firefox and Chrome.
Test: imported/web-platform-tests/performance-timeline/po-observe-type.any.html
[1] https://w3c.github.io/performance-timeline/#observe-method
- page/PerformanceObserver.cpp:
(WebCore::PerformanceObserver::observe):
- page/PerformanceObserver.h:
LayoutTests:
Unskip po-observe-type.any.html.
- 1:11 AM Changeset in webkit [265280] by
-
- 4 edits in trunk/Source/WebCore
Update AudioSampleDataSource offset computation
https://bugs.webkit.org/show_bug.cgi?id=215127
<rdar://problem/65938265>
Reviewed by Eric Carlson.
As per logs, it sometimes happens that the offset is so big that the timestamp is below the start of the window.
In that case, our logic is not able to catch up and reduce the offset.
To handle this, we special case if the timestamp is below the start frame and do as if we were starting from scratch.
Otherwise, we continue our logic to fine tune the offset by slowly making it bigger to not hit the end of the window but still be close to it.
Updated logging to help further debugging this issue if needed.
- platform/audio/mac/AudioSampleDataSource.h:
- platform/audio/mac/AudioSampleDataSource.mm:
(WebCore::AudioSampleDataSource::pushSamplesInternal):
(WebCore::computeOffsetDelay):
(WebCore::AudioSampleDataSource::pullSamplesInternal):
(WebCore::AudioSampleDataSource::pullAvalaibleSamplesAsChunks):
- platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp:
(WebCore::RealtimeIncomingAudioSourceCocoa::OnData):
- 1:03 AM Changeset in webkit [265279] by
-
- 2 edits in trunk/JSTests
Unreviewed, skip private field test
Private field has a bug and this test is failing. We skip it since private field is not enabled.
- stress/put-by-val-direct-putprivate.js:
- 12:22 AM Changeset in webkit [265278] by
-
- 4 edits in trunk/Source/WebCore
AX: WebCore should provide a way to get raw role for accessibility objects
https://bugs.webkit.org/show_bug.cgi?id=215149
Patch by Eric Liang <ericliang@apple.com> on 2020-08-05
Reviewed by Chris Fleizach.
Added a conversion from WebRole to string for accessibility.
This allows us to get it in the WebKit bundle.
- accessibility/AXLogger.cpp:
(WebCore::operator<<):
- accessibility/AccessibilityObjectInterface.h:
(WebCore::accessibilityRoleToString):
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityElementCount]):
(-[WebAccessibilityObjectWrapper _accessibilityWebRoleAsString]):
(-[WebAccessibilityObjectWrapper accessibilityTraits]):