Timeline
Mar 17, 2021:
- 11:06 PM Changeset in webkit [274617] by
-
- 2 edits in trunk/Source/WTF
Make sure we only set HAVE_VM_FLAGS_PERMANENT to 1 when targeting macOS >= 11.0
https://bugs.webkit.org/show_bug.cgi?id=223408
Reviewed by Alexey Proskuryakov.
- wtf/PlatformHave.h:
- 10:40 PM Changeset in webkit [274616] by
-
- 2 edits in trunk/Source/WebCore
don't copy
imageOverlay.cssormeterElementShadow.css
https://bugs.webkit.org/show_bug.cgi?id=223411
Reviewed by Wenson Hsieh.
These files are already parsed into
imageOverlayUserAgentStyleSheetandmeterElementShadowUserAgentStyleSheetrespectively.
- WebCore.xcodeproj/project.pbxproj:
- 10:30 PM Changeset in webkit [274615] by
-
- 8 edits in trunk
Make fast/images/missing-content-image-crash.html results consistent with internal build
https://bugs.webkit.org/show_bug.cgi?id=223399
<rdar://75443811>
Patch by Alex Christensen <achristensen@webkit.org> on 2021-03-17
Reviewed by Darin Adler.
Source/WebCore:
webkit.org is in the internal upgrade list. Add it to the open source list and make our test expectations consistent.
- contentextensions/ContentExtensionsBackend.cpp:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
(TestWebKitAPI::TEST):
LayoutTests:
- fast/images/missing-content-image-crash-expected.txt:
- http/tests/security/contentSecurityPolicy/user-style-sheet-font-crasher-expected.txt:
- platform/mac-wk1/http/tests/security/contentSecurityPolicy/user-style-sheet-font-crasher-expected.txt:
- 10:20 PM Changeset in webkit [274614] by
-
- 6 edits in trunk
[GPUP] WebGL2RenderingContext::texImage2D() does not work with a video as the image source
https://bugs.webkit.org/show_bug.cgi?id=223294
Reviewed by Eric Carlson.
Source/WebKit:
No new tests. Fix a test failure.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::updateCachedState):
Add a missing piece to implementMediaPlayerPrivateRemote::videoPlaybackQualityMetrics().
LayoutTests:
- platform/mac/TestExpectations:
- platform/mac/media/media-source/videoplaybackquality-decompressionsession-expected.txt:
- platform/mac/media/media-source/videoplaybackquality-decompressionsession.html:
- 9:38 PM Changeset in webkit [274613] by
-
- 8 edits in trunk/Source/WebCore
modern-media-controls css should not allocate heap memory
https://bugs.webkit.org/show_bug.cgi?id=223410
Reviewed by Devin Rousso.
This is CSS version of <https://commits.webkit.org/235444@main>. We should not allocate heap memory for
modern-media-controls.css. This patch leverages UserAgentStyleSheets mechanism to include this style
sheet in constant DATA.
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- css/make-css-file-arrays.pl:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::modernMediaControlsStyleSheet):
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::modernMediaControlsStyleSheet):
- 9:17 PM Changeset in webkit [274612] by
-
- 4 edits in trunk
"multile" typo in website and one other place
https://bugs.webkit.org/show_bug.cgi?id=223213
Reviewed by Alex Christensen.
Source/WebCore:
- features.json: Fix spelling.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm: Fix spelling.
- 9:03 PM Changeset in webkit [274611] by
-
- 4 edits4 adds in trunk/LayoutTests
[GLIB] Gardening more consistent failures
Unreviewed test gardening.
Added some WPE baselines for tests that just check if no crash
happens.
- platform/glib/TestExpectations:
- platform/wpe/TestExpectations:
- platform/wpe/css1/text_properties/vertical_align-expected.txt: After r271110
- platform/wpe/fast/editing/mutation-with-display-contents-container-crash-expected.txt: Added.
- platform/wpe/fast/editing/paste-and-match-style-with-table-crash-expected.txt: Added.
- platform/wpe/fast/editing/replace-selection-and-apply-style-crash-expected.txt: Added.
- 7:51 PM Changeset in webkit [274610] by
-
- 7 edits in trunk/Source/WebKit
[iOS] Refactor some gesture deferral logic to account for image extraction
https://bugs.webkit.org/show_bug.cgi?id=223400
<rdar://problem/75502285>
Reviewed by Tim Horton.
Refactor some logic around deferring gestures. See below for more details.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setUpInteraction]):
Rename a few existing deferring gestures, to better reflect that the names are deferral reasons (i.e. touch
start, touch end, or image extraction), rather than the names of the things being deferred.
(-[WKContentView deferringGestures]):
(-[WKContentView _doneDeferringTouchStart:]):
(-[WKContentView _doneDeferringTouchEnd:]):
(-[WKContentView hasSelectablePositionAtPoint:]):
(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]):
(-[WKContentView deferringGestureRecognizer:shouldDeferOtherGestureRecognizer:]):
(-[WKContentView _endImageExtractionGestureDeferral:]):
- UIProcess/ios/WKDeferringGestureRecognizer.h:
Add a property to indicate that the deferring gesture recognizer should immediately fail upon touchend.
- UIProcess/ios/WKDeferringGestureRecognizer.mm:
(-[WKDeferringGestureRecognizer touchesEnded:withEvent:]):
(-[WKDeferringGestureRecognizer endDeferral:]):
(-[WKDeferringGestureRecognizer setDefaultPrevented:]): Deleted.
Rename
-setDefaultPrevented:to-endDeferral:to decouple this terminology fromEvent.preventDefault()in
bindings (which is important, now that we have a new deferrer that is not associated with touch events).
Additionally, change this take anenum classinstead of aBOOLto help clarify the intent of the given flag.
- UIProcess/ios/WKImageExtractionGestureRecognizer.h:
- UIProcess/ios/WKImageExtractionGestureRecognizer.mm:
(-[WKImageExtractionGestureRecognizer setState:]):
Add support for a new image extraction gesture delegate method which informs the client that the gesture has
transitioned to Failed state.
- 7:45 PM Changeset in webkit [274609] by
-
- 22 edits in trunk
[JSC] Error#cause should apply to WebAssembly error constructors too
https://bugs.webkit.org/show_bug.cgi?id=223404
Reviewed by Yusuke Suzuki.
JSTests:
- stress/error-cause.js:
Run tests on WebAssembly errors too.
- wasm/js-api/test_basic_api.js:
Fix test. This behavior was inconsistent with all other error types (and divergent from all other engines).
Source/JavaScriptCore:
Per https://www.w3.org/TR/wasm-js-api-1/#error-objects:
The constructor and properties of WebAssembly errors is as specified for NativeError.
So Error#cause should "just work" for WebAssembly.{CompileError, LinkError, RuntimeError} too.
In the process:
- Eliminate JSWebAssemblyCompileError and kin since they add no functionality on top of ErrorInstance.
- Add an on-by-default feature flag (belated from the last patch).
- API/JSObjectRef.cpp:
(JSObjectMakeError):
- runtime/AggregateErrorConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/ErrorConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/JSGlobalObject.h:
- runtime/NativeErrorConstructor.cpp:
(JSC::NativeErrorConstructor<errorType>::constructImpl):
(JSC::NativeErrorConstructor<errorType>::callImpl):
- runtime/OptionsList.h:
- wasm/WasmOperations.cpp:
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
- wasm/js/JSWebAssemblyCompileError.cpp:
(JSC::createJSWebAssemblyCompileError):
(JSC::JSWebAssemblyCompileError::create): Deleted.
(JSC::JSWebAssemblyCompileError::JSWebAssemblyCompileError): Deleted.
- wasm/js/JSWebAssemblyCompileError.h:
(): Deleted.
- wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::finalizeCreation):
- wasm/js/JSWebAssemblyLinkError.cpp:
(JSC::createJSWebAssemblyLinkError):
(JSC::JSWebAssemblyLinkError::create): Deleted.
(JSC::JSWebAssemblyLinkError::JSWebAssemblyLinkError): Deleted.
- wasm/js/JSWebAssemblyLinkError.h:
(): Deleted.
- wasm/js/JSWebAssemblyModule.cpp:
(JSC::JSWebAssemblyModule::createStub):
- wasm/js/JSWebAssemblyRuntimeError.cpp:
(JSC::createJSWebAssemblyRuntimeError):
(JSC::JSWebAssemblyRuntimeError::create): Deleted.
(JSC::JSWebAssemblyRuntimeError::JSWebAssemblyRuntimeError): Deleted.
- wasm/js/JSWebAssemblyRuntimeError.h:
(): Deleted.
- wasm/js/WebAssemblyCompileErrorConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- wasm/js/WebAssemblyLinkErrorConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- wasm/js/WebAssemblyRuntimeErrorConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- 7:40 PM Changeset in webkit [274608] by
-
- 4 edits1 add in trunk
Fix race condition in ConcurrentPtrHashSet.
https://bugs.webkit.org/show_bug.cgi?id=223241
rdar://74637896
Reviewed by Yusuke Suzuki.
JSTests:
- stress/race-to-add-opaque-roots-in-ConcurrentPtrHashSet.js: Added.
Source/WTF:
There exists a race condition where ConcurrentPtrHashSet::resizeIfNecessary() may
not capture an entry added by ConcurrentPtrHashSet::addSlow() concurrently.
ConcurrentPtrHashSet::addSlow() currently does the following:
{
if (table->load.exchangeAdd(1) >= table->maxLoad()) (a1)
return resizeAndAdd(ptr); (a2)
for (;;) {
void* oldEntry = table->array[index].compareExchangeStrong(nullptr, ptr); (a3)
if (!oldEntry) {
if (m_table.load() != table) { (a4)
We added an entry to an old table! We need to reexecute the add on the new table.
return add(ptr); (a5)
}
return true; (a6)
}
if (oldEntry == ptr)
return false;
... set index to next entry slot to try.
}
}
ConcurrentPtrHashSet::resizeIfNecessary() currently does the following:
{
auto locker = holdLock(m_lock); (r1)
Table* table = m_table.loadRelaxed();
if (table->load.loadRelaxed() < table->maxLoad())
return;
(r2)
std::unique_ptr<Table> newTable = Table::create(table->size * 2);
...
for (unsigned i = 0; i < table->size; ++i) { (r3)
void* ptr = table->array[i].loadRelaxed();
if (!ptr)
continue;
... copy ptr to newTable. (r4)
}
...
m_table.store(newTable.get()); (r5)
...
}
Let's say thread T1 is executing addSlow(), and thread T2 is concurrently executing
resizeIfNecessary().
Consider the following scenario (in chronological order):
- T2 has arrived at just before (r5) i.e. it is already done copying the entries in the old m_table.
- T1 executes (a3) and writes a new entry into m_table.
- T1 checks that the table hasn't been replaced at (a4), and sees that it has not.
- T1 returns at (a6), thinking that its new entry is committed.
- T2 sets the new m_table at (r5), thereby discarding the new entry that T1 has just written.
The fix is to set m_table to a newly introduced m_stubTable at (r2). m_stubTable
is set up with a size of 0, and load value of 10. This means it is always full.
With this, the following scenarios can play out:
Scenario 1: T2 installs m_stubTable before T1 reaches (a1)
- At (a1), T1 sees that m_table (which is m_stubTable) is full.
- T1 calls resizeAndAdd() at (a2), which ends up calling resizeIfNecessary() and blocking on the lock at (r1).
Scenario 2: T2 installs m_stubTable after T1 reaches just before (a3)
- T1 writes the new entry at (a3).
- T1 checks m_table at (a4), and sees that it has changed (now pointing to m_stubTable).
- T1 calls add() again at (a5) to redo the operation, and ends with scenario 1.
Scenario 3: T2 installs m_stubTable after T1 reaches (a3), but before (a4)
- The new entry has already been added, but we don't know if it made the cut off for T2 to copy it or not. But, it doesn't matter because ...
- T1 checks m_table at (a4), and sees that it has changed (now pointing to m_stubTable).
- T1 calls add() again at (a5) to redo the operation, and ends with scenario 1.
Scenario 4: T2 installs m_stubTable after T1 reaches (a4)
- The new entry has already been added.
- T1 checks m_table at (a4), and sees that it has NOT changed (because T2 hasn't installed m_stubTable yet). This means T2's copy loop is guaranteed to not have started yet i.e. the new entry will definitely be picked up by the copy loop.
- T1 returns at (a6), and all is well.
- wtf/ConcurrentPtrHashSet.cpp:
(WTF::ConcurrentPtrHashSet::deleteOldTables):
(WTF::ConcurrentPtrHashSet::initialize):
(WTF::ConcurrentPtrHashSet::containsImplSlow const):
(WTF::ConcurrentPtrHashSet::sizeSlow const):
(WTF::ConcurrentPtrHashSet::resizeIfNecessary):
(WTF::ConcurrentPtrHashSet::Table::initializeStub):
- wtf/ConcurrentPtrHashSet.h:
- 7:00 PM Changeset in webkit [274607] by
-
- 18 edits in trunk/Source
modern-media-controls script should not be allocated in heap
https://bugs.webkit.org/show_bug.cgi?id=223309
Reviewed by Devin Rousso.
Source/JavaScriptCore:
Add --fail-if-non-ascii flag to ensure that input files do not include non-ASCII characters.
- Scripts/make-js-file-arrays.py:
(main):
Source/WebCore:
Previously, we are concatenating several modern-media-controls scripts into one.
But this causes significant memory overhead (~600KB). Using NSBundle's data still
allocates memory since WTF::String(CFString) allocates heap memory.
Let's use existing mechanism designed for this purpose. We serialize modern-media-controls.js into const C array in
UserAgentScriptData.cpp. UserAgentScript is a mechanism for having user-agent specific script source, and this matches
to our purpose. (for example, UserAgentStyleSheets (CSS version of that) have html.css etc.).
We also InjectedScript_*.js name for these ModernMediaControls.js scripts while this is not directly related to the
heap usage reduction of this patch.
This patch does not do the same thing for CSS of modern-media-controls since this patch's focus is script files first.
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::quickTimePluginReplacementScript):
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript):
- rendering/RenderTheme.h:
(WebCore::RenderTheme::mediaControlsScripts):
(WebCore::RenderTheme::mediaControlsScript): Deleted.
- rendering/RenderThemeAdwaita.cpp:
(WebCore::RenderThemeAdwaita::mediaControlsScripts):
(WebCore::RenderThemeAdwaita::mediaControlsScript): Deleted.
- rendering/RenderThemeAdwaita.h:
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::purgeCaches):
(WebCore::RenderThemeIOS::mediaControlsScripts):
(WebCore::RenderThemeIOS::mediaControlsScript): Deleted.
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::purgeCaches):
(WebCore::RenderThemeMac::mediaControlsScripts):
(WebCore::RenderThemeMac::mediaControlsScript): Deleted.
- rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::mediaControlsScripts):
(WebCore::RenderThemeWin::mediaControlsScript): Deleted.
- rendering/RenderThemeWin.h:
- 5:30 PM Changeset in webkit [274606] by
-
- 1 copy in tags/Safari-611.1.21.0.9
Tag Safari-611.1.21.0.9.
- 5:27 PM Changeset in webkit [274605] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r274264): [ macOS wk2 ] compositing/video/video-border-radius.html is a flakey image failure
https://bugs.webkit.org/show_bug.cgi?id=223383
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations: Updating expectations to Pass ImageOnlyFailure while test is being reviewed.
- 5:25 PM Changeset in webkit [274604] by
-
- 8 edits in branches/safari-611.1.21.0-branch/Source
Versioning.
WebKit-7611.1.21.0.9
- 5:15 PM Changeset in webkit [274603] by
-
- 5 edits in trunk/Source
Reduce maximum HashTable entry size to 250 bytes
https://bugs.webkit.org/show_bug.cgi?id=223398
Patch by Alex Christensen <achristensen@webkit.org> on 2021-03-17
Reviewed by Yusuke Suzuki.
Source/WebCore:
This reduces memory use at runtime.
- platform/graphics/SourceBufferPrivate.cpp:
(WebCore::SourceBufferPrivate::resetTimestampOffsetInTrackBuffers):
(WebCore::SourceBufferPrivate::resetTrackBuffers):
(WebCore::SourceBufferPrivate::updateHighestPresentationTimestamp):
(WebCore::SourceBufferPrivate::updateBufferedFromTrackBuffers):
(WebCore::SourceBufferPrivate::reenqueSamples):
(WebCore::SourceBufferPrivate::clearTrackBuffers):
(WebCore::SourceBufferPrivate::bufferedSamplesForTrackId):
(WebCore::SourceBufferPrivate::fastSeekTimeForMediaTime):
(WebCore::SourceBufferPrivate::totalTrackBufferSizeInBytes const):
(WebCore::SourceBufferPrivate::addTrackBuffer):
(WebCore::SourceBufferPrivate::updateTrackIds):
(WebCore::SourceBufferPrivate::setAllTrackBuffersNeedRandomAccess):
(WebCore::SourceBufferPrivate::didReceiveSample):
- platform/graphics/SourceBufferPrivate.h:
Source/WTF:
- wtf/HashTable.h:
(WTF::KeyTraits>::inlineLookup):
- 5:07 PM Changeset in webkit [274602] by
-
- 9 edits in trunk/Source
Determine if we have useFastJITPermissions on arm64e at runtime instead of hardcoding it as always enabled
https://bugs.webkit.org/show_bug.cgi?id=223388
<rdar://74819266>
Reviewed by Mark Lam.
Source/JavaScriptCore:
- assembler/FastJITPermissions.h:
(threadSelfRestrictRWXToRW):
(threadSelfRestrictRWXToRX):
(useFastJITPermissions): Deleted.
(fastJITPermissionsIsSupported): Deleted.
- assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::copyCompactAndLinkCode):
- jit/ExecutableAllocator.cpp:
(JSC::initializeJITPageReservation):
- jit/ExecutableAllocator.h:
(JSC::performJITMemcpy):
- runtime/JSCConfig.h:
Source/WTF:
- wtf/PlatformEnableCocoa.h:
- wtf/PlatformUse.h:
- 5:03 PM Changeset in webkit [274601] by
-
- 10 edits in trunk/Source/JavaScriptCore
Enhance --verboseVerifyGC=true to make it easier to debug GC verifier errors.
https://bugs.webkit.org/show_bug.cgi?id=223401
Reviewed by Saam Barati.
Previously, --verboseVerifyGC=true only dumps the stack trace of the immediate code
path (in the verifier GC) that marked the object that the real GC did not. With
this patch, we'll also dump the trace of the marking chain all the way back to a
GC root. This patch also adds support for tracing the marking chain through opaque
roots.
The marking chain provided is the one that the verifier GC walked. To debug the
error, we use this info and check where the real GC deviates.
Here's an example of the new dump of a GC verifier error:
GC Verifier: ERROR cell 0x12c570500 was not marked
Object: 0x12c570500 with butterfly 0x0 (Structure 0x108eb6d10:[0x3ba8, ArrayBuffer, {}, NonArray, Proto:0x108ed7d90, Leaf]), StructureID: 15272
Cell 0x12c570500 was visited via opaque root 0x10e4b52c0 at:
1 0x100acccdc JSC::VerifierSlotVisitor::appendUnbarriered(JSC::JSCell*)
2 0x100ad0c2f void JSC::WeakBlock::specializedVisit<JSC::MarkedBlock, JSC::AbstractSlotVisitor>(JSC::MarkedBlock&, JSC::AbstractSlotVisitor&)
3 0x100abec2b void JSC::MarkedSpace::visitWeakSets<JSC::AbstractSlotVisitor>(JSC::AbstractSlotVisitor&)
4 0x100aa5167 WTF::Detail::CallableWrapper<JSC::Heap::addCoreConstraints()::$_38, void, JSC::AbstractSlotVisitor&>::call(JSC::AbstractSlotVisitor&)
5 0x100ac1411 JSC::MarkingConstraintSet::executeAllSynchronously(JSC::AbstractSlotVisitor&)
6 0x100a9bd7b JSC::Heap::verifyGC()
7 0x100a9b2f7 JSC::Heap::runEndPhase(JSC::GCConductor)
8 0x100a99434 JSC::Heap::runCurrentPhase(JSC::GCConductor, JSC::CurrentThreadState*)
9 0x100aa332d WTF::ScopedLambdaFunctor<void (JSC::CurrentThreadState&), JSC::Heap::collectInMutatorThread()::$_0>::implFunction(void*, JSC::CurrentThreadState&)
10 0x100ab8794 JSC::callWithCurrentThreadState(WTF::ScopedLambda<void (JSC::CurrentThreadState&)> const&)
11 0x100a9d2cd JSC::Heap::collectInMutatorThread()
12 0x100a99217 JSC::Heap::waitForCollection(unsigned long long)
13 0x100a98cb1 JSC::Heap::collectNow(JSC::Synchronousness, JSC::GCRequest)
14 0x100ab7b4d JSC::LocalAllocator::allocateSlowCase(JSC::Heap&, JSC::GCDeferralContext*, JSC::AllocationFailureMode)
15 0x100ec0785 void* JSC::allocateCell<JSC::JSDataView>(JSC::Heap&, unsigned long)
16 0x100ec0629 JSC::JSDataView::create(JSC::JSGlobalObject*, JSC::Structure*, WTF::RefPtr<JSC::ArrayBuffer, WTF::RawPtrTraits<JSC::ArrayBuffer>, WTF::DefaultRefDerefTraits<JSC::ArrayBuffer> >&&, unsigned int, unsigned int)
17 0x100f893d6 JSC::JSObject* JSC::constructGenericTypedArrayViewWithArguments<JSC::JSDataView>(JSC::JSGlobalObject*, JSC::Structure*, long long, unsigned int, WTF::Optional<unsigned int>)
18 0x100f731dc JSC::constructDataView(JSC::JSGlobalObject*, JSC::CallFrame*)
19 0x5e4a38a010c7
20 0x5e4a38a02095
21 0x1004888d6 vmEntryToJavaScript
22 0x100b83690 JSC::Interpreter::executeProgram(JSC::SourceCode const&, JSC::JSGlobalObject*, JSC::JSObject*)
23 0x100e39a82 JSC::evaluate(JSC::JSGlobalObject*, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&)
24 0x100007606 jscmain(int, char)
25 0x10000644b main
In the real GC, opaque root0x10e4b52c0 was NOT added to the heap's opaque roots.
Opaque root 0x10e4b52c0 was added via cell 0x12c577720 at:
1 0x100ea4fc9 JSC::JSArrayBufferView::visitChildren(JSC::JSCell*, JSC::AbstractSlotVisitor&)
2 0x100acd4e9 JSC::VerifierSlotVisitor::drain()
3 0x100a9bd48 JSC::Heap::verifyGC()
4 0x100a9b2f7 JSC::Heap::runEndPhase(JSC::GCConductor)
5 0x100a99434 JSC::Heap::runCurrentPhase(JSC::GCConductor, JSC::CurrentThreadState*)
6 0x100aa332d WTF::ScopedLambdaFunctor<void (JSC::CurrentThreadState&), JSC::Heap::collectInMutatorThread()::$_0>::implFunction(void*, JSC::CurrentThreadState&)
7 0x100ab8794 JSC::callWithCurrentThreadState(WTF::ScopedLambda<void (JSC::CurrentThreadState&)> const&)
8 0x100a9d2cd JSC::Heap::collectInMutatorThread()
9 0x100a99217 JSC::Heap::waitForCollection(unsigned long long)
10 0x100a98cb1 JSC::Heap::collectNow(JSC::Synchronousness, JSC::GCRequest)
11 0x100ab7b4d JSC::LocalAllocator::allocateSlowCase(JSC::Heap&, JSC::GCDeferralContext*, JSC::AllocationFailureMode)
12 0x100ec0785 void* JSC::allocateCell<JSC::JSDataView>(JSC::Heap&, unsigned long)
13 0x100ec0629 JSC::JSDataView::create(JSC::JSGlobalObject*, JSC::Structure*, WTF::RefPtr<JSC::ArrayBuffer, WTF::RawPtrTraits<JSC::ArrayBuffer>, WTF::DefaultRefDerefTraits<JSC::ArrayBuffer> >&&, unsigned int, unsigned int)
14 0x100f893d6 JSC::JSObject* JSC::constructGenericTypedArrayViewWithArguments<JSC::JSDataView>(JSC::JSGlobalObject*, JSC::Structure*, long long, unsigned int, WTF::Optional<unsigned int>)
15 0x100f731dc JSC::constructDataView(JSC::JSGlobalObject*, JSC::CallFrame*)
16 0x5e4a38a010c7
17 0x5e4a38a02095
18 0x1004888d6 vmEntryToJavaScript
19 0x100b83690 JSC::Interpreter::executeProgram(JSC::SourceCode const&, JSC::JSGlobalObject*, JSC::JSObject*)
20 0x100e39a82 JSC::evaluate(JSC::JSGlobalObject*, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&)
21 0x100007606 jscmain(int, char)
22 0x10000644b main
23 0x7fff203b4f3d start
Object: 0x12c577720 with butterfly 0x0 (Structure 0x108eb6e60:[0xe135, DataView, {}, NonArray, Proto:0x108ed7da0, Leaf]), StructureID: 57653
Cell 0x12c577720 was visited via cell 0x108b528e8 at:
1 0x100acccdc JSC::VerifierSlotVisitor::appendUnbarriered(JSC::JSCell*)
2 0x100f1623c JSC::JSObject::visitChildren(JSC::JSCell*, JSC::AbstractSlotVisitor&)
3 0x100acd4e9 JSC::VerifierSlotVisitor::drain()
4 0x100a9bd48 JSC::Heap::verifyGC()
5 0x100a9b2f7 JSC::Heap::runEndPhase(JSC::GCConductor)
6 0x100a99434 JSC::Heap::runCurrentPhase(JSC::GCConductor, JSC::CurrentThreadState*)
7 0x100aa332d WTF::ScopedLambdaFunctor<void (JSC::CurrentThreadState&), JSC::Heap::collectInMutatorThread()::$_0>::implFunction(void*, JSC::CurrentThreadState&)
8 0x100ab8794 JSC::callWithCurrentThreadState(WTF::ScopedLambda<void (JSC::CurrentThreadState&)> const&)
9 0x100a9d2cd JSC::Heap::collectInMutatorThread()
10 0x100a99217 JSC::Heap::waitForCollection(unsigned long long)
11 0x100a98cb1 JSC::Heap::collectNow(JSC::Synchronousness, JSC::GCRequest)
12 0x100ab7b4d JSC::LocalAllocator::allocateSlowCase(JSC::Heap&, JSC::GCDeferralContext*, JSC::AllocationFailureMode)
13 0x100ec0785 void* JSC::allocateCell<JSC::JSDataView>(JSC::Heap&, unsigned long)
14 0x100ec0629 JSC::JSDataView::create(JSC::JSGlobalObject*, JSC::Structure*, WTF::RefPtr<JSC::ArrayBuffer, WTF::RawPtrTraits<JSC::ArrayBuffer>, WTF::DefaultRefDerefTraits<JSC::ArrayBuffer> >&&, unsigned int, unsigned int)
15 0x100f893d6 JSC::JSObject* JSC::constructGenericTypedArrayViewWithArguments<JSC::JSDataView>(JSC::JSGlobalObject*, JSC::Structure*, long long, unsigned int, WTF::Optional<unsigned int>)
16 0x100f731dc JSC::constructDataView(JSC::JSGlobalObject*, JSC::CallFrame*)
17 0x5e4a38a010c7
18 0x5e4a38a02095
19 0x1004888d6 vmEntryToJavaScript
20 0x100b83690 JSC::Interpreter::executeProgram(JSC::SourceCode const&, JSC::JSGlobalObject*, JSC::JSObject*)
21 0x100e39a82 JSC::evaluate(JSC::JSGlobalObject*, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&)
22 0x100007606 jscmain(int, char)
23 0x10000644b main
Object: 0x108b528e8 with butterfly 0x1806e93070 (Structure 0x108efb090:[0xde87, Array, {}, ArrayWithContiguous, Proto:0x108baf5e8]), StructureID: 56967
Cell 0x108b528e8 was visited via cell 0x108e8fcc0 at:
1 0x100accdd8 JSC::VerifierSlotVisitor::appendUnbarriered(JSC::JSCell*)
2 0x10070634e void JSC::CodeBlock::stronglyVisitWeakReferences<JSC::AbstractSlotVisitor>(JSC::ConcurrentJSLocker const&, JSC::AbstractSlotVisitor&)
3 0x1006eacd7 JSC::CodeBlock::visitChildren(JSC::JSCell*, JSC::AbstractSlotVisitor&)
4 0x100acd4e9 JSC::VerifierSlotVisitor::drain()
5 0x100a9bd48 JSC::Heap::verifyGC()
6 0x100a9b2f7 JSC::Heap::runEndPhase(JSC::GCConductor)
7 0x100a99434 JSC::Heap::runCurrentPhase(JSC::GCConductor, JSC::CurrentThreadState*)
8 0x100aa332d WTF::ScopedLambdaFunctor<void (JSC::CurrentThreadState&), JSC::Heap::collectInMutatorThread()::$_0>::implFunction(void*, JSC::CurrentThreadState&)
9 0x100ab8794 JSC::callWithCurrentThreadState(WTF::ScopedLambda<void (JSC::CurrentThreadState&)> const&)
10 0x100a9d2cd JSC::Heap::collectInMutatorThread()
11 0x100a99217 JSC::Heap::waitForCollection(unsigned long long)
12 0x100a98cb1 JSC::Heap::collectNow(JSC::Synchronousness, JSC::GCRequest)
13 0x100ab7b4d JSC::LocalAllocator::allocateSlowCase(JSC::Heap&, JSC::GCDeferralContext*, JSC::AllocationFailureMode)
14 0x100ec0785 void* JSC::allocateCell<JSC::JSDataView>(JSC::Heap&, unsigned long)
15 0x100ec0629 JSC::JSDataView::create(JSC::JSGlobalObject*, JSC::Structure*, WTF::RefPtr<JSC::ArrayBuffer, WTF::RawPtrTraits<JSC::ArrayBuffer>, WTF::DefaultRefDerefTraits<JSC::ArrayBuffer> >&&, unsigned int, unsigned int)
16 0x100f893d6 JSC::JSObject* JSC::constructGenericTypedArrayViewWithArguments<JSC::JSDataView>(JSC::JSGlobalObject*, JSC::Structure*, long long, unsigned int, WTF::Optional<unsigned int>)
17 0x100f731dc JSC::constructDataView(JSC::JSGlobalObject*, JSC::CallFrame*)
18 0x5e4a38a010c7
19 0x5e4a38a02095
20 0x1004888d6 vmEntryToJavaScript
21 0x100b83690 JSC::Interpreter::executeProgram(JSC::SourceCode const&, JSC::JSGlobalObject*, JSC::JSObject*)
22 0x100e39a82 JSC::evaluate(JSC::JSGlobalObject*, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&)
23 0x100007606 jscmain(int, char)
24 0x10000644b main
Cell: 0x108e8fcc0 (0x108ef8c40:[0xc0e7, ProgramCodeBlock, {}, NonArray, Leaf]), StructureID: 49383
Cell 0x108e8fcc0 was visited from scan of ConservativeScan roots at:
1 0x100accaf8 JSC::VerifierSlotVisitor::append(JSC::ConservativeRoots const&)
2 0x100aa42a2 WTF::Detail::CallableWrapper<JSC::Heap::addCoreConstraints()::$_31, void, JSC::SlotVisitor&>::call(JSC::SlotVisitor&)
3 0x100ac1db2 JSC::MarkingConstraintSolver::runExecutionThread(JSC::SlotVisitor&, JSC::MarkingConstraintSolver::SchedulerPreference, WTF::ScopedLambda<WTF::Optional<unsigned int> ()>)
4 0x100a9f2de JSC::Heap::runTaskInParallel(WTF::RefPtr<WTF::SharedTask<void (JSC::SlotVisitor&)>, WTF::RawPtrTraits<WTF::SharedTask<void (JSC::SlotVisitor&)> >, WTF::DefaultRefDerefTraits<WTF::SharedTask<void (JSC::SlotVisitor&)> > >)
5 0x100ac188f JSC::MarkingConstraintSolver::execute(JSC::MarkingConstraintSolver::SchedulerPreference, WTF::ScopedLambda<WTF::Optional<unsigned int> ()>)
6 0x100ac125c JSC::MarkingConstraintSet::executeConvergenceImpl(JSC::SlotVisitor&)
7 0x100ac0f9b JSC::MarkingConstraintSet::executeConvergence(JSC::SlotVisitor&)
8 0x100a99f24 JSC::Heap::runFixpointPhase(JSC::GCConductor)
9 0x100a99418 JSC::Heap::runCurrentPhase(JSC::GCConductor, JSC::CurrentThreadState*)
10 0x100aa332d WTF::ScopedLambdaFunctor<void (JSC::CurrentThreadState&), JSC::Heap::collectInMutatorThread()::$_0>::implFunction(void*, JSC::CurrentThreadState&)
11 0x100ab8794 JSC::callWithCurrentThreadState(WTF::ScopedLambda<void (JSC::CurrentThreadState&)> const&)
12 0x100a9d2cd JSC::Heap::collectInMutatorThread()
13 0x100a99217 JSC::Heap::waitForCollection(unsigned long long)
14 0x100a98cb1 JSC::Heap::collectNow(JSC::Synchronousness, JSC::GCRequest)
15 0x100ab7b4d JSC::LocalAllocator::allocateSlowCase(JSC::Heap&, JSC::GCDeferralContext*, JSC::AllocationFailureMode)
16 0x100ec0785 void* JSC::allocateCell<JSC::JSDataView>(JSC::Heap&, unsigned long)
17 0x100ec0629 JSC::JSDataView::create(JSC::JSGlobalObject*, JSC::Structure*, WTF::RefPtr<JSC::ArrayBuffer, WTF::RawPtrTraits<JSC::ArrayBuffer>, WTF::DefaultRefDerefTraits<JSC::ArrayBuffer> >&&, unsigned int, unsigned int)
18 0x100f893d6 JSC::JSObject* JSC::constructGenericTypedArrayViewWithArguments<JSC::JSDataView>(JSC::JSGlobalObject*, JSC::Structure*, long long, unsigned int, WTF::Optional<unsigned int>)
19 0x100f731dc JSC::constructDataView(JSC::JSGlobalObject*, JSC::CallFrame*)
20 0x5e4a38a010c7
21 0x5e4a38a02095
22 0x1004888d6 vmEntryToJavaScript
23 0x100b83690 JSC::Interpreter::executeProgram(JSC::SourceCode const&, JSC::JSGlobalObject*, JSC::JSObject*)
24 0x100e39a82 JSC::evaluate(JSC::JSGlobalObject*, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&)
25 0x100007606 jscmain(int, char)
26 0x10000644b main
Note that in this example, the 2nd stack trace was for an opaque root. The verifier
also noted that the opaque root (which was added for the verifier GC) was not added
for the real GC. This pointed to the bug that caused the error (this bug was fixed
in https://bugs.webkit.org/show_bug.cgi?id=223241).
Additional changes in this patch:
- Renamed AbstractSlotVisitor::Context to ReferrerContext.
- Introduced AbstractSlotVisitor::ReferrerToken, which is an abstraction for either a HeapCell*, an opaque root, or a GC root. ReferrerContext now tracks a ReferrerToken instead of a HeapCell*.
- heap/AbstractSlotVisitor.h:
(JSC::AbstractSlotVisitor::ReferrerToken::ReferrerToken):
(JSC::AbstractSlotVisitor::ReferrerToken::operator bool const):
(JSC::AbstractSlotVisitor::ReferrerToken::operator! const):
(JSC::AbstractSlotVisitor::ReferrerToken::isHeapCell const):
(JSC::AbstractSlotVisitor::ReferrerToken::isOpaqueRoot const):
(JSC::AbstractSlotVisitor::ReferrerToken::isRootMarkReason const):
(JSC::AbstractSlotVisitor::ReferrerContext::referrer const):
(JSC::AbstractSlotVisitor::ReferrerContext::setReferrer):
(JSC::AbstractSlotVisitor::ReferrerContext::isOpaqueRootContext const):
(JSC::AbstractSlotVisitor::didAddOpaqueRoot):
(JSC::AbstractSlotVisitor::didFindOpaqueRoot):
(JSC::SetRootMarkReasonScope::SetRootMarkReasonScope):
(JSC::AbstractSlotVisitor::Context::cell const): Deleted.
- heap/AbstractSlotVisitorInlines.h:
(JSC::ReferrerToken::ReferrerToken):
(JSC::ReferrerToken::asCell const):
(JSC::ReferrerToken::asOpaqueRoot const):
(JSC::ReferrerToken::asRootMarkReason const):
(JSC::AbstractSlotVisitor::ReferrerContext::ReferrerContext):
(JSC::AbstractSlotVisitor::ReferrerContext::~ReferrerContext):
(JSC::AbstractSlotVisitor::addOpaqueRoot):
(JSC::AbstractSlotVisitor::containsOpaqueRoot const):
(JSC::AbstractSlotVisitor::referrer const):
(JSC::AbstractSlotVisitor::Context::Context): Deleted.
(JSC::AbstractSlotVisitor::Context::~Context): Deleted.
(JSC::AbstractSlotVisitor::parentCell const): Deleted.
- heap/Heap.cpp:
(JSC::Heap::addCoreConstraints):
- heap/Heap.h:
- heap/SlotVisitor.h:
- heap/SlotVisitorMacros.h:
- heap/VerifierSlotVisitor.cpp:
(JSC::MarkerData::MarkerData):
(JSC::VerifierSlotVisitor::MarkedBlockData::markerData const):
(JSC::VerifierSlotVisitor::PreciseAllocationData::markerData const):
(JSC::VerifierSlotVisitor::OpaqueRootData::markerData const):
(JSC::VerifierSlotVisitor::OpaqueRootData::addMarkerData):
(JSC::VerifierSlotVisitor::VerifierSlotVisitor):
(JSC::VerifierSlotVisitor::didAddOpaqueRoot):
(JSC::VerifierSlotVisitor::didFindOpaqueRoot):
(JSC::VerifierSlotVisitor::dump const):
(JSC::VerifierSlotVisitor::dumpMarkerData):
(JSC::VerifierSlotVisitor::testAndSetMarked):
- heap/VerifierSlotVisitor.h:
(JSC::VerifierSlotVisitor::MarkerData::referrer const):
(JSC::VerifierSlotVisitor::MarkerData::stack const):
- heap/WeakBlock.cpp:
(JSC::WeakBlock::specializedVisit):
- 4:47 PM Changeset in webkit [274600] by
-
- 276 edits in trunk
[iOS][FCR] Use system colors for the new appearance
https://bugs.webkit.org/show_bug.cgi?id=223303
<rdar://problem/75508598>
Reviewed by Tim Horton.
Source/WebCore:
Use system colors when painting the new controls to ensure consistency
with the rest of the system.
This patch exposes additional system colors in CSS, so that they may be
used by the UA stylesheet. Note that exposing these colors does not
increase the fingerprintable surface since, we already expose other
system colors that have the same traits.
Additionally, HAVE(OS_DARK_MODE_SUPPORT) is removed from these colors
since they are available on all PLATFORM(IOS_FAMILY).
- css/CSSValueKeywords.in:
- css/html.css:
- rendering/RenderThemeIOS.mm:
(WebCore::cssValueIDSelectorList):
(WebCore::RenderThemeIOS::paintCheckbox):
(WebCore::RenderThemeIOS::paintRadio):
(WebCore::RenderThemeIOS::paintProgressBarWithFormControlRefresh):
(WebCore::RenderThemeIOS::paintMeter):
(WebCore::RenderThemeIOS::paintSliderTicks):
(WebCore::RenderThemeIOS::paintSliderTrackWithFormControlRefresh):
(WebCore::RenderThemeIOS::paintMenuListButtonDecorationsWithFormControlRefresh):
Source/WebCore/PAL:
- pal/spi/ios/UIKitSPI.h:
Add additional system colors declarations for watchOS and tvOS.
LayoutTests:
Rebaselined tests to account for changes in color.
- fast/forms/date/date-input-rendering-basic-expected.txt:
- fast/forms/date/date-pseudo-elements-expected.txt:
- fast/forms/time/time-input-rendering-basic-expected.txt:
- platform/ios-simulator/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt:
- platform/ios-simulator/fast/forms/auto-fill-button/input-credit-card-auto-fill-button-expected.txt:
- platform/ios-simulator/fast/forms/auto-fill-button/input-strong-password-viewable-expected.txt:
- platform/ios-simulator/fast/forms/datalist/datalist-searchinput-appearance-expected.txt:
- platform/ios-simulator/fast/forms/datalist/datalist-textinput-appearance-expected.txt:
- platform/ios-wk2/editing/input/caret-at-the-edge-of-input-expected.txt:
- platform/ios-wk2/editing/input/reveal-caret-of-multiline-input-expected.txt:
- platform/ios-wk2/editing/inserting/4960120-1-expected.txt:
- platform/ios-wk2/editing/inserting/before-after-input-element-expected.txt:
- platform/ios-wk2/editing/pasteboard/4641033-expected.txt:
- platform/ios-wk2/editing/pasteboard/4944770-1-expected.txt:
- platform/ios-wk2/editing/pasteboard/4944770-2-expected.txt:
- platform/ios-wk2/editing/pasteboard/input-field-1-expected.txt:
- platform/ios-wk2/editing/pasteboard/pasting-tabs-expected.txt:
- platform/ios-wk2/editing/selection/4895428-3-expected.txt:
- platform/ios-wk2/editing/selection/caret-before-select-expected.txt:
- platform/ios-wk2/editing/selection/drag-select-1-expected.txt:
- platform/ios-wk2/editing/selection/select-from-textfield-outwards-expected.txt:
- platform/ios-wk2/fast/block/float/overhanging-tall-block-expected.txt:
- platform/ios-wk2/fast/block/margin-collapse/103-expected.txt:
- platform/ios-wk2/fast/dynamic/008-expected.txt:
- platform/ios-wk2/fast/forms/basic-buttons-expected.txt:
- platform/ios-wk2/fast/forms/basic-textareas-quirks-expected.txt:
- platform/ios-wk2/fast/forms/input-appearance-preventDefault-expected.txt:
- platform/ios-wk2/fast/forms/input-text-click-outside-expected.txt:
- platform/ios-wk2/fast/forms/input-text-double-click-expected.txt:
- platform/ios-wk2/fast/forms/input-text-drag-down-expected.txt:
- platform/ios-wk2/fast/forms/input-text-option-delete-expected.txt:
- platform/ios-wk2/fast/forms/targeted-frame-submission-expected.txt:
- platform/ios-wk2/fast/forms/textAreaLineHeight-expected.txt:
- platform/ios-wk2/fast/forms/textarea-align-expected.txt:
- platform/ios-wk2/fast/forms/textarea-placeholder-visibility-1-expected.txt:
- platform/ios-wk2/fast/forms/textarea-placeholder-visibility-2-expected.txt:
- platform/ios-wk2/fast/forms/textarea-scroll-height-expected.txt:
- platform/ios-wk2/fast/forms/textarea-setinnerhtml-expected.txt:
- platform/ios-wk2/fast/hidpi/resize-corner-hidpi-expected.txt:
- platform/ios-wk2/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt:
- platform/ios-wk2/fast/overflow/scrollRevealButton-expected.txt:
- platform/ios-wk2/fast/parser/document-write-option-expected.txt:
- platform/ios-wk2/fast/parser/entity-comment-in-textarea-expected.txt:
- platform/ios-wk2/fast/parser/open-comment-in-textarea-expected.txt:
- platform/ios-wk2/fast/spatial-navigation/snav-multiple-select-focusring-expected.txt:
- platform/ios-wk2/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
- platform/ios-wk2/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:
- platform/ios-wk2/fast/transforms/transformed-focused-text-input-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/rendering/widgets/select-wrap-no-spill.optional-expected.txt:
- platform/ios/css3/flexbox/button-expected.txt:
- platform/ios/editing/pasteboard/4806874-expected.txt:
- platform/ios/editing/selection/3690703-2-expected.txt:
- platform/ios/editing/selection/3690703-expected.txt:
- platform/ios/editing/selection/3690719-expected.txt:
- platform/ios/editing/selection/4397952-expected.txt:
- platform/ios/editing/selection/4975120-expected.txt:
- platform/ios/editing/selection/5240265-expected.txt:
- platform/ios/editing/selection/replaced-boundaries-3-expected.txt:
- platform/ios/editing/selection/select-box-expected.txt:
- platform/ios/editing/selection/select-element-paragraph-boundary-expected.txt:
- platform/ios/editing/selection/selection-button-text-expected.txt:
- platform/ios/fast/block/float/032-expected.txt:
- platform/ios/fast/block/float/float-avoidance-expected.txt:
- platform/ios/fast/block/positioning/inline-block-relposition-expected.txt:
- platform/ios/fast/css/continuationCrash-expected.txt:
- platform/ios/fast/css/focus-ring-exists-for-search-field-expected.txt:
- platform/ios/fast/css/input-search-padding-expected.txt:
- platform/ios/fast/css/line-height-expected.txt:
- platform/ios/fast/css/margin-top-bottom-dynamic-expected.txt:
- platform/ios/fast/css/rtl-ordering-expected.txt:
- platform/ios/fast/css/text-overflow-input-expected.txt:
- platform/ios/fast/css/text-transform-select-expected.txt:
- platform/ios/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt:
- platform/ios/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
- platform/ios/fast/dynamic/positioned-movement-with-positioned-children-expected.txt:
- platform/ios/fast/events/context-no-deselect-expected.txt:
- platform/ios/fast/forms/001-expected.txt:
- platform/ios/fast/forms/003-expected.txt:
- platform/ios/fast/forms/004-expected.txt:
- platform/ios/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt:
- platform/ios/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt:
- platform/ios/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt:
- platform/ios/fast/forms/basic-inputs-expected.txt:
- platform/ios/fast/forms/basic-selects-expected.txt:
- platform/ios/fast/forms/basic-textareas-expected.txt:
- platform/ios/fast/forms/blankbuttons-expected.txt:
- platform/ios/fast/forms/box-shadow-override-expected.txt:
- platform/ios/fast/forms/button-align-expected.txt:
- platform/ios/fast/forms/button-cannot-be-nested-expected.txt:
- platform/ios/fast/forms/button-generated-content-expected.txt:
- platform/ios/fast/forms/button-positioned-expected.txt:
- platform/ios/fast/forms/button-sizes-expected.txt:
- platform/ios/fast/forms/button-style-color-expected.txt:
- platform/ios/fast/forms/button-table-styles-expected.txt:
- platform/ios/fast/forms/button-text-transform-expected.txt:
- platform/ios/fast/forms/button-white-space-expected.txt:
- platform/ios/fast/forms/control-clip-expected.txt:
- platform/ios/fast/forms/control-clip-overflow-expected.txt:
- platform/ios/fast/forms/control-restrict-line-height-expected.txt:
- platform/ios/fast/forms/disabled-select-change-index-expected.txt:
- platform/ios/fast/forms/encoding-test-expected.txt:
- platform/ios/fast/forms/fieldset-align-expected.txt:
- platform/ios/fast/forms/file/file-input-direction-expected.txt:
- platform/ios/fast/forms/file/file-input-disabled-expected.txt:
- platform/ios/fast/forms/floating-textfield-relayout-expected.txt:
- platform/ios/fast/forms/form-element-geometry-expected.txt:
- platform/ios/fast/forms/formmove3-expected.txt:
- platform/ios/fast/forms/hidden-listbox-expected.txt:
- platform/ios/fast/forms/input-align-expected.txt:
- platform/ios/fast/forms/input-appearance-bkcolor-expected.txt:
- platform/ios/fast/forms/input-appearance-default-bkcolor-expected.txt:
- platform/ios/fast/forms/input-appearance-disabled-expected.txt:
- platform/ios/fast/forms/input-appearance-focus-expected.txt:
- platform/ios/fast/forms/input-appearance-height-expected.txt:
- platform/ios/fast/forms/input-appearance-selection-expected.txt:
- platform/ios/fast/forms/input-appearance-visibility-expected.txt:
- platform/ios/fast/forms/input-appearance-width-expected.txt:
- platform/ios/fast/forms/input-button-sizes-expected.txt:
- platform/ios/fast/forms/input-disabled-color-expected.txt:
- platform/ios/fast/forms/input-double-click-selection-gap-bug-expected.txt:
- platform/ios/fast/forms/input-field-text-truncated-expected.txt:
- platform/ios/fast/forms/input-placeholder-visibility-1-expected.txt:
- platform/ios/fast/forms/input-placeholder-visibility-3-expected.txt:
- platform/ios/fast/forms/input-spaces-expected.txt:
- platform/ios/fast/forms/input-table-expected.txt:
- platform/ios/fast/forms/input-text-click-inside-expected.txt:
- platform/ios/fast/forms/input-text-scroll-left-on-blur-expected.txt:
- platform/ios/fast/forms/input-text-self-emptying-click-expected.txt:
- platform/ios/fast/forms/input-type-text-min-width-expected.txt:
- platform/ios/fast/forms/input-value-expected.txt:
- platform/ios/fast/forms/input-width-expected.txt:
- platform/ios/fast/forms/listbox-bidi-align-expected.txt:
- platform/ios/fast/forms/listbox-hit-test-zoomed-expected.txt:
- platform/ios/fast/forms/listbox-scrollbar-incremental-load-expected.txt:
- platform/ios/fast/forms/listbox-width-change-expected.txt:
- platform/ios/fast/forms/menulist-clip-expected.txt:
- platform/ios/fast/forms/menulist-deselect-update-expected.txt:
- platform/ios/fast/forms/menulist-narrow-width-expected.txt:
- platform/ios/fast/forms/menulist-no-overflow-expected.txt:
- platform/ios/fast/forms/menulist-option-wrap-expected.txt:
- platform/ios/fast/forms/menulist-restrict-line-height-expected.txt:
- platform/ios/fast/forms/menulist-separator-painting-expected.txt:
- platform/ios/fast/forms/menulist-style-color-expected.txt:
- platform/ios/fast/forms/menulist-width-change-expected.txt:
- platform/ios/fast/forms/minWidthPercent-expected.txt:
- platform/ios/fast/forms/number/number-appearance-rtl-expected.txt:
- platform/ios/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt:
- platform/ios/fast/forms/number/number-appearance-spinbutton-layer-expected.txt:
- platform/ios/fast/forms/option-script-expected.txt:
- platform/ios/fast/forms/option-strip-whitespace-expected.txt:
- platform/ios/fast/forms/option-text-clip-expected.txt:
- platform/ios/fast/forms/placeholder-pseudo-style-expected.txt:
- platform/ios/fast/forms/plaintext-mode-2-expected.txt:
- platform/ios/fast/forms/search-cancel-button-style-sharing-expected.txt:
- platform/ios/fast/forms/search-display-none-cancel-button-expected.txt:
- platform/ios/fast/forms/search-input-rtl-expected.txt:
- platform/ios/fast/forms/select-align-expected.txt:
- platform/ios/fast/forms/select-baseline-expected.txt:
- platform/ios/fast/forms/select-block-background-expected.txt:
- platform/ios/fast/forms/select-change-listbox-size-expected.txt:
- platform/ios/fast/forms/select-change-listbox-to-popup-expected.txt:
- platform/ios/fast/forms/select-change-popup-to-listbox-expected.txt:
- platform/ios/fast/forms/select-dirty-parent-pref-widths-expected.txt:
- platform/ios/fast/forms/select-disabled-appearance-expected.txt:
- platform/ios/fast/forms/select-element-focus-ring-expected.txt:
- platform/ios/fast/forms/select-empty-option-height-expected.txt:
- platform/ios/fast/forms/select-initial-position-expected.txt:
- platform/ios/fast/forms/select-item-background-clip-expected.txt:
- platform/ios/fast/forms/select-list-box-with-height-expected.txt:
- platform/ios/fast/forms/select-non-native-rendering-direction-expected.txt:
- platform/ios/fast/forms/select-selected-expected.txt:
- platform/ios/fast/forms/select-style-expected.txt:
- platform/ios/fast/forms/select-visual-hebrew-expected.txt:
- platform/ios/fast/forms/select-writing-direction-natural-expected.txt:
- platform/ios/fast/forms/select/optgroup-rendering-expected.txt:
- platform/ios/fast/forms/selectlist-minsize-expected.txt:
- platform/ios/fast/forms/stuff-on-my-optgroup-expected.txt:
- platform/ios/fast/forms/tabbing-input-iframe-expected.txt:
- platform/ios/fast/forms/textarea-placeholder-pseudo-style-expected.txt:
- platform/ios/fast/forms/textarea-scrollbar-expected.txt:
- platform/ios/fast/forms/textarea-scrolled-type-expected.txt:
- platform/ios/fast/forms/textarea-width-expected.txt:
- platform/ios/fast/forms/textfield-focus-ring-expected.txt:
- platform/ios/fast/forms/textfield-overflow-expected.txt:
- platform/ios/fast/frames/take-focus-from-iframe-expected.txt:
- platform/ios/fast/html/details-no-summary4-expected.txt:
- platform/ios/fast/html/details-open-javascript-expected.txt:
- platform/ios/fast/html/details-open2-expected.txt:
- platform/ios/fast/html/details-open4-expected.txt:
- platform/ios/fast/html/details-replace-summary-child-expected.txt:
- platform/ios/fast/html/details-replace-text-expected.txt:
- platform/ios/fast/html/keygen-expected.txt:
- platform/ios/fast/invalid/014-expected.txt:
- platform/ios/fast/lists/dynamic-marker-crash-expected.txt:
- platform/ios/fast/overflow/overflow-x-y-expected.txt:
- platform/ios/fast/replaced/replaced-breaking-expected.txt:
- platform/ios/fast/replaced/replaced-breaking-mixture-expected.txt:
- platform/ios/fast/replaced/three-selects-break-expected.txt:
- platform/ios/fast/replaced/width100percent-button-expected.txt:
- platform/ios/fast/replaced/width100percent-menulist-expected.txt:
- platform/ios/fast/replaced/width100percent-searchfield-expected.txt:
- platform/ios/fast/replaced/width100percent-textarea-expected.txt:
- platform/ios/fast/replaced/width100percent-textfield-expected.txt:
- platform/ios/fast/selectors/064-expected.txt:
- platform/ios/fast/table/append-cells2-expected.txt:
- platform/ios/fast/table/colspanMinWidth-expected.txt:
- platform/ios/fast/table/remove-td-display-none-expected.txt:
- platform/ios/fast/table/spanOverlapRepaint-expected.txt:
- platform/ios/fast/table/text-field-baseline-expected.txt:
- platform/ios/fast/text/drawBidiText-expected.txt:
- platform/ios/fast/text/international/bidi-listbox-atsui-expected.txt:
- platform/ios/fast/text/international/bidi-listbox-expected.txt:
- platform/ios/fast/text/international/bidi-menulist-expected.txt:
- platform/ios/fast/text/international/hindi-spacing-expected.txt:
- platform/ios/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
- platform/ios/imported/w3c/web-platform-tests/selection/selection-select-all-move-input-crash-expected.txt:
- platform/ios/media/controls-styling-strict-expected.txt:
- platform/ios/svg/custom/foreign-object-skew-expected.txt:
- platform/ios/svg/custom/inline-svg-in-xhtml-expected.txt:
- platform/ios/svg/hixie/mixed/003-expected.txt:
- platform/ios/tables/mozilla/bugs/45621-expected.txt:
- platform/ios/tables/mozilla/bugs/bug1188-expected.txt:
- platform/ios/tables/mozilla/bugs/bug12384-expected.txt:
- platform/ios/tables/mozilla/bugs/bug1318-expected.txt:
- platform/ios/tables/mozilla/bugs/bug138725-expected.txt:
- platform/ios/tables/mozilla/bugs/bug18359-expected.txt:
- platform/ios/tables/mozilla/bugs/bug194024-expected.txt:
- platform/ios/tables/mozilla/bugs/bug24200-expected.txt:
- platform/ios/tables/mozilla/bugs/bug2479-2-expected.txt:
- platform/ios/tables/mozilla/bugs/bug2479-3-expected.txt:
- platform/ios/tables/mozilla/bugs/bug2479-4-expected.txt:
- platform/ios/tables/mozilla/bugs/bug26178-expected.txt:
- platform/ios/tables/mozilla/bugs/bug28928-expected.txt:
- platform/ios/tables/mozilla/bugs/bug29326-expected.txt:
- platform/ios/tables/mozilla/bugs/bug30559-expected.txt:
- platform/ios/tables/mozilla/bugs/bug30692-expected.txt:
- platform/ios/tables/mozilla/bugs/bug33855-expected.txt:
- platform/ios/tables/mozilla/bugs/bug39209-expected.txt:
- platform/ios/tables/mozilla/bugs/bug4382-expected.txt:
- platform/ios/tables/mozilla/bugs/bug4429-expected.txt:
- platform/ios/tables/mozilla/bugs/bug44505-expected.txt:
- platform/ios/tables/mozilla/bugs/bug4527-expected.txt:
- platform/ios/tables/mozilla/bugs/bug46368-1-expected.txt:
- platform/ios/tables/mozilla/bugs/bug46368-2-expected.txt:
- platform/ios/tables/mozilla/bugs/bug51037-expected.txt:
- platform/ios/tables/mozilla/bugs/bug51727-expected.txt:
- platform/ios/tables/mozilla/bugs/bug52505-expected.txt:
- platform/ios/tables/mozilla/bugs/bug52506-expected.txt:
- platform/ios/tables/mozilla/bugs/bug55545-expected.txt:
- platform/ios/tables/mozilla/bugs/bug59354-expected.txt:
- platform/ios/tables/mozilla/bugs/bug60749-expected.txt:
- platform/ios/tables/mozilla/bugs/bug68912-expected.txt:
- platform/ios/tables/mozilla/bugs/bug7342-expected.txt:
- platform/ios/tables/mozilla/bugs/bug92647-2-expected.txt:
- platform/ios/tables/mozilla/bugs/bug96334-expected.txt:
- platform/ios/tables/mozilla/bugs/bug99948-expected.txt:
- platform/ios/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
- platform/ios/tables/mozilla/core/margins-expected.txt:
- platform/ios/tables/mozilla/dom/tableDom-expected.txt:
- platform/ios/tables/mozilla/other/move_row-expected.txt:
- platform/ios/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
- platform/ios/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
- platform/ios/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
- platform/ios/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:
- platform/ios/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
- platform/ios/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
- platform/ios/transforms/2d/zoom-menulist-expected.txt:
- platform/ios/transforms/3d/general/perspective-non-layer-expected.txt:
- 4:47 PM Changeset in webkit [274599] by
-
- 1 copy in tags/Safari-611.1.21.1.12
Tag Safari-611.1.21.1.12.
- 4:47 PM Changeset in webkit [274598] by
-
- 1 copy in tags/Safari-611.1.21.0.8
Tag Safari-611.1.21.0.8.
- 4:12 PM Changeset in webkit [274597] by
-
- 8 edits2 adds in trunk
Avoid unnecessary repaints when transforms change
https://bugs.webkit.org/show_bug.cgi?id=223307
Reviewed by Zalan Bujtas.
Source/WebCore:
RenderElement::repaintBeforeStyleChange() issues repaints when transforms, opacity
or filters change because the layer might disappear, but we know that this only happens
if the style changes between having a transform/filter/non-1 opacity and not.
Transform changes in general repaint via layout (the RenderLayer gets setLayerNeedsFullRepaint()
called on it). Opacity and filter changes repaint by virtue of a RepaintLayer style diff.
This reduces some repaint calls in the MotionMark leaves test.
This code is a mess and dates from ancient times (r7675); it doens't know about self-painting
layers, and duplicates work done in RenderLayerModelObject::styleDidChange() when a renderer
loses its layer, but that's too much to change now.
Test: fast/repaint/transform-change-repaint.html
- rendering/RenderBox.h:
- rendering/RenderBoxModelObject.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::repaintBeforeStyleChange):
- rendering/RenderElement.h:
(WebCore::RenderElement::createsGroupForStyle):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::hasOpacity const):
- style/StyleAdjuster.cpp:
(WebCore::Style::Adjuster::adjust const):
LayoutTests:
- fast/repaint/transform-change-repaint-expected.txt: Added.
- fast/repaint/transform-change-repaint.html: Added.
- 3:59 PM Changeset in webkit [274596] by
-
- 7 edits in trunk
[css-grid] Incorrect track sizing when using relative sized items in 'auto' column tracks
https://bugs.webkit.org/show_bug.cgi?id=191627
Patch by Ziran Sun <Ziran Sun> on 2021-03-17
Reviewed by Javier Fernandez.
LayoutTests/imported/w3c:
Updated expectation file for test grid-self-baseline-not-applied-if-sizing-cyclic-dependency-001.html.
All sub-tests in this test file are now all passed.
- web-platform-tests/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-001-expected.txt:
Source/WebCore:
Containing block for a grid item is the grid area it's located in. During the GridTrackSizingAlgorithm,
we determine that this item has a relative size (percent in this case) and that the grid area is still
indefinite. Hence, we set nullopt for the grid area width and mark the item for layout. During the item's
layout, we call this RenderBox::containingBlockLogicalWidthForContent to determine the available height.
However, this method checks the containing block's width if the overridingContentLogicalWidth is nullopt,
which is incorrect for grid items. We should never use the grid container for resolving grid item's size.
This change is to return 0_lu for grid item when overridingContainingBlockContentLogicalHeight() or
overridingContainingBlockContentLogicalWidth() returns nullopt rather than use containing block's width
or height.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::containingBlockLogicalWidthForContent const):
LayoutTests:
- 3:40 PM Changeset in webkit [274595] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk2 ] media/track/track-cue-css.html is a flakey Image failure
https://bugs.webkit.org/show_bug.cgi?id=223387
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations: Updating test results to Pass ImageOnlyFailure while test is reviewed.
- 3:33 PM Changeset in webkit [274594] by
-
- 2 edits in trunk/Source/WTF
Memory limit per tab shrinks as you open tabs in the same WebContent process (may affect Google Drive, Dropbox, etc.)
https://bugs.webkit.org/show_bug.cgi?id=223394
<rdar://75499387>
Reviewed by Geoffrey Garen.
Make sure the process memory limit scales with the number of web pages it holds (without cap on the number of
pages).
- wtf/MemoryPressureHandler.cpp:
(WTF::thresholdForMemoryKillOfInactiveProcess):
- 2:59 PM Changeset in webkit [274593] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: use native datetime-local picker for changing
expiresvalue in cookie popover
https://bugs.webkit.org/show_bug.cgi?id=209389
Reviewed by BJ Burg.
r259173 already made it so that the
<input>for Expires useddatetime-local, so nothing
needs to be changed to adopt that. We still want to keep the"input"event listener that
parses and validates thevalue(orplaceholder) of the<input type="datetime-local">
because dates in the past should be considered invalid.
- UserInterface/Views/CookiePopover.js:
(WI.CookiePopover.prototype.show): Add
step = 1so that the seconds field is shown.
(WI.CookiePopover.prototype.show.formatDate): Added.
(WI.CookiePopover.prototype.show.formatDate.pad): Added.
- UserInterface/Views/CookiePopover.css: Remove the FIXME comment.
- 2:37 PM Changeset in webkit [274592] by
-
- 6 edits1 add in trunk/Source/WebInspectorUI
Web Inspector: add GridOverlay diagnostic event and related hooks
https://bugs.webkit.org/show_bug.cgi?id=223256
<rdar://problem/75478239>
Patch by Razvan Caliman <Razvan Caliman> on 2021-03-17
Reviewed by BJ Burg.
Add instrumentation to log telemetry for the CSS Grid Inspector.
We want to answer these questions:
- How do users prefer to toggle the overlay, in-context from grid badges in the DOM tree or from the aggregated grid node overlay list in Layout sidebar panel?
- Which overlay options are most used? Did we pick good defaults or do users prefer others?
- UserInterface/Base/Main.js:
(WI.contentLoaded):
- UserInterface/Controllers/GridOverlayDiagnosticEventRecorder.js: Added.
(WI.GridOverlayDiagnosticEventRecorder):
(WI.GridOverlayDiagnosticEventRecorder.prototype.setup):
(WI.GridOverlayDiagnosticEventRecorder.prototype.teardown):
(WI.GridOverlayDiagnosticEventRecorder.prototype._handleGridOverlayShown):
- UserInterface/Controllers/OverlayManager.js:
(WI.OverlayManager.prototype.showGridOverlay):
(WI.OverlayManager.prototype.toggleGridOverlay):
(WI.OverlayManager.prototype._handleGridSettingChanged):
- UserInterface/Main.html:
- UserInterface/Views/CSSGridSection.js:
(WI.CSSGridSection.prototype._handleToggleAllCheckboxChanged):
(WI.CSSGridSection.prototype.layout):
- UserInterface/Views/DOMTreeElement.js:
(WI.DOMTreeElement.prototype._gridBadgeClicked):
- 2:25 PM Changeset in webkit [274591] by
-
- 6 edits in trunk
[GPUP] Some media-source tests fail/timeout when media in GPU Process is enabled
https://bugs.webkit.org/show_bug.cgi?id=221686
Reviewed by Jer Noble.
Source/WebKit:
For a
MediaPlayerPrivateRemote, if it is owned by a video element with a reference
to aMediaSource, it needs to use the duration information from theMediaSource.
Covered by existing tests.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::durationMediaTime const):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
- WebProcess/GPU/media/MediaSourcePrivateRemote.h:
LayoutTests:
- platform/mac/TestExpectations:
- 2:24 PM Changeset in webkit [274590] by
-
- 3 edits in trunk/Tools
Add AppleSilicon and Debug WK2 Support to EWS
https://bugs.webkit.org/show_bug.cgi?id=223393
Reviewed by Aakash Jain.
- CISupport/ews-app/ews/views/statusbubble.py:
(StatusBubble):
- CISupport/ews-build/config.json:
- 2:14 PM Changeset in webkit [274589] by
-
- 6 edits in trunk
[GPUP] media/video-set-rate-from-pause.html fails
https://bugs.webkit.org/show_bug.cgi?id=223386
<rdar://problem/75533945>
Reviewed by Jer Noble.
Source/WebCore:
No new tests, this fixes an existing test.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setPlaybackRate): Remove the
m_player->rate() != rate
check before setting player rate, there may be a change in flight and the test
is already done in the player itself.
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::invalidateCachedDuration): Drive-by fix:
update logging.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setPlayerRate): Don't set m_cachedRate,
it is already done in the rateDidChange callback from AVFoundation.
(WebCore::MediaPlayerPrivateAVFoundationObjC::rateDidChange): Drive-by fix: do nothing
when the rate hasn't changed.
LayoutTests:
- platform/wk2/TestExpectations: Remove test that passes.
- 2:12 PM Changeset in webkit [274588] by
-
- 3 edits in trunk/Source/WebCore
Add logging to FullscreenManager.
https://bugs.webkit.org/show_bug.cgi?id=223389
Reviewed by Eric Carlson.
- dom/FullscreenManager.cpp:
(WebCore::logClassName):
(WebCore::logChannel):
(WebCore::m_logIdentifier):
(WebCore::FullscreenManager::requestFullscreenForElement):
(WebCore::FullscreenManager::cancelFullscreen):
(WebCore::FullscreenManager::exitFullscreen):
(WebCore::FullscreenManager::willEnterFullscreen):
(WebCore::FullscreenManager::didEnterFullscreen):
(WebCore::FullscreenManager::willExitFullscreen):
(WebCore::FullscreenManager::didExitFullscreen):
(WebCore::FullscreenManager::adjustFullscreenElementOnNodeRemoval):
- dom/FullscreenManager.h:
- 1:47 PM Changeset in webkit [274587] by
-
- 7 edits in trunk/Tools
[webkitscmpy] Support git-svn in remote mocks
https://bugs.webkit.org/show_bug.cgi?id=223397
<rdar://problem/75541426>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/bitbucket.py:
(BitBucket.request): Add git-svn tag.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py:
(GitHub._commit_response): Add git-svn tag.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/svn-repo.json: Add hashes to mock svn repo.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGitHub.test_commit_hash):
(TestGitHub.test_commit_revision):
(TestBitBucket.test_commit_hash):
(TestBitBucket.test_commit_revision):
- 1:46 PM Changeset in webkit [274586] by
-
- 13 edits4 adds in trunk
Show media session image artwork in Now Playing information pane.
https://bugs.webkit.org/show_bug.cgi?id=223118
<rdar://problem/75360166>
Patch by Jean-Yves Avenard <Jean-Yves Avenard> on 2021-03-17
Reviewed by Eric Carlson.
Source/WebCore:
Test: fast/mediasession/metadata/artworkdownload.html
Manually tested for Now Playing system integration.
- Modules/mediasession/MediaMetadata.cpp:
(WebCore::ArtworkImageLoader::ArtworkImageLoader): Implementation of new ArtworkImageLoader class.
(WebCore::ArtworkImageLoader::~ArtworkImageLoader):
(WebCore::ArtworkImageLoader::requestImageResource):
(WebCore::ArtworkImageLoader::notifyFinished):
(WebCore::MediaMetadata::setMediaSession):
(WebCore::MediaMetadata::resetMediaSession):
(WebCore::MediaMetadata::setArtwork):
(WebCore::MediaMetadata::refreshArtworkImage):
(WebCore::MediaMetadata::setArtworkImage): Make use of new ArtworkImageLoader class.
- Modules/mediasession/MediaMetadata.h: Add new ArtworkImageLoader class. Allows to download from a given URL in relation to a given Document.
(WebCore::MediaMetadata::artworkSrc const):
(WebCore::MediaMetadata::artworkImage const):
- Modules/mediasession/MediaSession.cpp:
(WebCore::MediaSession::setActionHandler): fix whitespace (automatic).
(WebCore::MediaSession::document const): Add method, used by MediaMetadata
- Modules/mediasession/MediaSession.h:
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::wirelessVideoPlaybackDisabled const): fix whitespace (automatic).
(WebCore::MediaElementSession::mediaEngineUpdated): fix whitespace (automatic).
(WebCore::MediaElementSession::didReceiveRemoteControlCommand): fix whitespace (automatic).
(WebCore::MediaElementSession::nowPlayingInfo const): Add artwork to NowPlayingInfo struct.
- html/MediaElementSession.h: Add method, used by MediaMetadata
- platform/audio/NowPlayingInfo.h: Add NowPlayingInfoArtwork struct.
(WebCore::NowPlayingInfoArtwork::operator== const):
(WebCore::NowPlayingInfoArtwork::operator!= const):
(WebCore::NowPlayingInfoArtwork::encode const):
(WebCore::NowPlayingInfoArtwork::decode):
(WebCore::NowPlayingInfo::operator== const):
(WebCore::NowPlayingInfo::operator!= const):
(WebCore::NowPlayingInfo::encode const):
(WebCore::NowPlayingInfo::decode):
- platform/audio/cocoa/MediaSessionManagerCocoa.mm: Add artwork image to CFDictionary
(WebCore::MediaSessionManagerCocoa::setNowPlayingInfo):
(WebCore::MediaSessionManagerCocoa::updateNowPlayingInfo):
- testing/Internals.cpp: Add private interface to test ArtworkImageLoader class.
(WebCore::Internals::~Internals): Reject pending ArtworkImageLoader promise if any.
(WebCore::Internals::grabNextMediaStreamTrackFrame): Add missing move.
(WebCore::Internals::loadArtworkImage): New method to load an image.
- testing/Internals.h: New method.
- testing/Internals.idl: New method.
LayoutTests:
- fast/mediasession/metadata/artworkdownload-expected.txt: Added.
- fast/mediasession/metadata/artworkdownload.html: Added.
- 1:42 PM Changeset in webkit [274585] by
-
- 5 edits in trunk/Source/ThirdParty/ANGLE
ANGLE Metal fixups for program generation, readPixels
https://bugs.webkit.org/show_bug.cgi?id=223260
Patch by Kyle Piddington <Kyle Piddington> on 2021-03-17
Reviewed by Dean Jackson.
This diff fixes the following tests:
webgl/2.0.0/conformance2/glsl3/texture-offset-uniform-texture-coordinate.html Is fixed by dropping 'thread' qualifiers on our intermediate texture sampling helper functions. Previously, any uniforms used in sampling textures would have had issues with their namespace.
webgl/2.0.0/conformance2/reading/read-pixels-pack-parameters.html is fixed by correcting an issue with reading from outside the framebuffer. ANGLE Metal was previously reading to the start of the output array, rather than a proper offset.
webgl/2.0.0/conformance2/glsl3/array-equality.html is fixed by adding additional equality functions for handling arrays of structs.
- src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(GetOperatorString):
- src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
- src/libANGLE/renderer/metal/FrameBufferMtl.mm:
(rx::FramebufferMtl::readPixels):
- 1:22 PM Changeset in webkit [274584] by
-
- 3 edits in branches/safari-611.1.21.1-branch/Source/WebCore
Cherry-pick r274573. rdar://problem/75538214
Degraded ScriptProcessorNode performance/quality for (14.0.3+ and iOS 14.4.1+)
https://bugs.webkit.org/show_bug.cgi?id=223380
Reviewed by Geoffrey Garen.
By extending the scope of the lock in ScriptProcessorNode::process(), r273542 essentially
disabled double-buffering and thus negatively impacted rendering quality.
To address the issue, we now have 2 locks, one per rendering buffer (since we're using
double buffering) and only grab the lock we require when interacting with the buffers
for this index. This maintains thread-safety while re-enabling double buffering.
- Modules/webaudio/ScriptProcessorNode.cpp: (WebCore::ScriptProcessorNode::createInputBufferForJS const): Avoid duplicate call to topologyMatches() since copyTo() already calls it internally and returns false when !topologyMatches().
(WebCore::ScriptProcessorNode::process):
- Modules/webaudio/ScriptProcessorNode.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@274573 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:17 PM Changeset in webkit [274583] by
-
- 8 edits in branches/safari-611.1.21.1-branch/Source
Versioning.
WebKit-7611.1.21.1.12
- 1:11 PM Changeset in webkit [274582] by
-
- 3 edits in branches/safari-611.1.21.0-branch/Source/WebCore
Cherry-pick r274573. rdar://problem/75538213
Degraded ScriptProcessorNode performance/quality for (14.0.3+ and iOS 14.4.1+)
https://bugs.webkit.org/show_bug.cgi?id=223380
Reviewed by Geoffrey Garen.
By extending the scope of the lock in ScriptProcessorNode::process(), r273542 essentially
disabled double-buffering and thus negatively impacted rendering quality.
To address the issue, we now have 2 locks, one per rendering buffer (since we're using
double buffering) and only grab the lock we require when interacting with the buffers
for this index. This maintains thread-safety while re-enabling double buffering.
- Modules/webaudio/ScriptProcessorNode.cpp: (WebCore::ScriptProcessorNode::createInputBufferForJS const): Avoid duplicate call to topologyMatches() since copyTo() already calls it internally and returns false when !topologyMatches().
(WebCore::ScriptProcessorNode::process):
- Modules/webaudio/ScriptProcessorNode.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@274573 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:10 PM Changeset in webkit [274581] by
-
- 15 edits2 adds in trunk
[iOS] Refactor WKFileUploadPanel to use UniformTypeIdentifiers
https://bugs.webkit.org/show_bug.cgi?id=223000
<rdar://problem/75237774>
Reviewed by Tim Horton.
Source/WebKit:
Uniform type identifier APIs in MobileCoreServices were deprecated in
iOS 14. Instead, use the new APIs in the UniformTypeIdentifiers
framework.
This patch also cleans up instances of code duplication when comparing
uniform type idenfifiers and increases the test coverage for
WKFileUploadPanel.
Test: fast/forms/ios/file-upload-panel-accept.html
- Configurations/WebKit.xcconfig:
Link UniformTypeIdentifiers.framework on watchOS and tvOS.
- UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h:
Expose _filePickerAcceptedTypeIdentifiers to enable testing of accepted
file types.
- UIProcess/API/ios/WKWebViewTestingIOS.mm:
(-[WKWebView _filePickerAcceptedTypeIdentifiers]):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView filePickerAcceptedTypeIdentifiers]):
- UIProcess/ios/forms/WKFileUploadPanel.h:
- UIProcess/ios/forms/WKFileUploadPanel.mm:
(setContainsUTIThatConformsTo):
Modified this helper method to take in an NSSet rather than an NSArray
to avoid unnecessary conversion. Replaced MobileCoreServices API usage
with UniformTypeIdentifiers API.
(-[WKFileUploadPanel presentWithParameters:resultListener:]):
Determine the accepted UTIs and image picker configuration once before
presentation and store them in member variables to reduce code
duplication.
(-[WKFileUploadPanel currentAvailableActionTitles]):
(-[WKFileUploadPanel acceptedTypeIdentifiers]):
Expose the accepted type identifers as a sorted array for testing.
(-[WKFileUploadPanel _mediaTypesForPickerSourceType:]):
(-[WKFileUploadPanel _cameraButtonLabel]):
(-[WKFileUploadPanel contextMenuInteraction:configurationForMenuAtLocation:]):
(-[WKFileUploadPanel showFilePickerMenu]):
(-[WKFileUploadPanel showDocumentPickerMenu]):
(-[WKFileUploadPanel _uploadItemFromMediaInfo:successBlock:failureBlock:]):
Tools:
Added UIScriptController hooks to retrieve the type identifiers for
a presented file upload panel.
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::filePickerAcceptedTypeIdentifiers):
- WebKitTestRunner/ios/UIScriptControllerIOS.h:
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::filePickerAcceptedTypeIdentifiers):
LayoutTests:
Added a test to verify that the value of the accept attribute for file
inputs is mapped to the correct set of type identifiers.
- fast/forms/ios/file-upload-panel-accept-expected.txt: Added.
- fast/forms/ios/file-upload-panel-accept.html: Added.
- resources/ui-helper.js:
(window.UIHelper.dismissFilePicker):
(window.UIHelper.filePickerAcceptedTypeIdentifiers):
- 12:58 PM Changeset in webkit [274580] by
-
- 4 edits in trunk/Source/WebCore
Optimize RenderCounter::rendererStyleChanged()
https://bugs.webkit.org/show_bug.cgi?id=223306
Reviewed by Zalan Bujtas.
Optimize RenderCounter::rendererStyleChanged() for the case of no counters, which is
the most common; inline the check for no counters on old or new styles; this avoid
calling generatingElement() in the common case.
- rendering/RenderCounter.cpp:
(WebCore::RenderCounter::rendererStyleChangedSlowCase):
(WebCore::RenderCounter::rendererStyleChanged): Deleted.
- rendering/RenderCounter.h:
(WebCore::RenderCounter::rendererStyleChanged):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::styleDidChange):
- 12:55 PM Changeset in webkit [274579] by
-
- 8 edits in branches/safari-611.1.21.0-branch/Source
Versioning.
WebKit-7611.1.21.0.8
- 12:22 PM Changeset in webkit [274578] by
-
- 5 edits in trunk/Source/WebCore
don't use raw unicode characters in modern media controls JS
https://bugs.webkit.org/show_bug.cgi?id=223390
Reviewed by Eric Carlson.
- Modules/modern-media-controls/controls/icon-service.js:
- Modules/modern-media-controls/controls/time-label.js:
(TimeLabel.prototype.commitProperty):
- Modules/modern-media-controls/media/placard-support.js:
(PlacardSupport.prototype._updateAirPlayPlacard):
- en.lproj/modern-media-controls-localized-strings.js:
Drive-by: Add missing strings and remove unused ones.
- 12:10 PM Changeset in webkit [274577] by
-
- 6 edits in trunk/Source
[Cocoa] Populate NSURLSession with attributed bundle ID
https://bugs.webkit.org/show_bug.cgi?id=223382
<rdar://problem/75498230>
Reviewed by Alex Christensen.
Source/WebCore/PAL:
Add forward declarations for attributed bundle ID.
- pal/spi/cf/CFNetworkSPI.h:
Source/WebKit:
Update NSURLSession property with attributed bundle ID when supported by the platform.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
(WebKit::NetworkSessionCocoa::initializeEphemeralStatelessSession):
Source/WTF:
Add new HAVE_CFNETWORK_NSURLSESSION_ATTRIBUTED_BUNDLE_IDENTIFIER macro.
- wtf/PlatformHave.h:
- 12:06 PM Changeset in webkit [274576] by
-
- 5 edits2 adds in trunk
Do not collapse ruby's internal anonymous blocks
https://bugs.webkit.org/show_bug.cgi?id=223296
<rdar://75486993>
Reviewed by Antti Koivisto.
Source/WebCore:
The ruby subtree stucture is as follows:
1 RenderRuby object, corresponding to the whole <ruby> HTML element
1+ RenderRubyRun (anonymous)
0 or 1 RenderRubyText (anonymous)
0 or 1 RenderRubyBase (anonymous)
This patch ensures that we don't collapse those anonymous blocks while destroying inner content.
Test: fast/ruby/crash-when-ruby-base-is-collapsed.html
- rendering/RenderRubyRun.h:
LayoutTests:
- fast/ruby/crash-when-ruby-base-is-collapsed-expected.txt: Added.
- fast/ruby/crash-when-ruby-base-is-collapsed.html: Added.
- 11:56 AM Changeset in webkit [274575] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: remove experimental setting and enable "grid" badges
https://bugs.webkit.org/show_bug.cgi?id=223209
<rdar://problem/75442185>
Reviewed by BJ Burg.
- UserInterface/Base/Setting.js:
- UserInterface/Views/DOMTreeElement.js:
(WI.DOMTreeElement.prototype._updateGridBadge):
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
- 11:56 AM Changeset in webkit [274574] by
-
- 30 edits36 adds34 deletes in trunk/LayoutTests
[LayoutTests] Convert http/tests/cache convert PHP to Python
https://bugs.webkit.org/show_bug.cgi?id=222935
<rdar://problem/75183314>
Reviewed by Jonathan Bedard.
- http/tests/cache/cache-redirections.html:
- http/tests/cache/cached-main-resource.html:
- http/tests/cache/cachedEntry-waits-for-response-policy.html:
- http/tests/cache/content-type-ignored-during-revalidation.html:
- http/tests/cache/disk-cache/disk-cache-redirect-to-data.html:
- http/tests/cache/disk-cache/disk-cache-remove-several-pending-writes.html:
- http/tests/cache/disk-cache/redirect-chain-limits.html:
- http/tests/cache/disk-cache/resources/json.php: Removed.
- http/tests/cache/disk-cache/resources/json.py: Added.
(send304):
- http/tests/cache/disk-cache/resources/make-sha1-collision.php: Removed.
- http/tests/cache/disk-cache/resources/make-sha1-collision.py: Added.
- http/tests/cache/disk-cache/resources/redirect-chain.php: Removed.
- http/tests/cache/disk-cache/resources/redirect-chain.py: Added.
- http/tests/cache/disk-cache/resources/redirect-to-data.php: Removed.
- http/tests/cache/disk-cache/resources/redirect-to-data.py: Added.
- http/tests/cache/disk-cache/shattered-deduplication.html:
- http/tests/cache/disk-cache/speculative-validation/cacheable-redirect.html:
- http/tests/cache/disk-cache/speculative-validation/http-auth.html:
- http/tests/cache/disk-cache/speculative-validation/resources/cacheable-redirect-frame.php: Removed.
- http/tests/cache/disk-cache/speculative-validation/resources/cacheable-redirect-frame.py: Added.
- http/tests/cache/disk-cache/speculative-validation/resources/css-to-revalidate.php: Removed.
- http/tests/cache/disk-cache/speculative-validation/resources/css-to-revalidate.py: Added.
- http/tests/cache/disk-cache/speculative-validation/resources/frame-with-authenticated-resource.php: Removed.
- http/tests/cache/disk-cache/speculative-validation/resources/frame-with-authenticated-resource.py: Added.
- http/tests/cache/disk-cache/speculative-validation/resources/redirect-to-css.php: Removed.
- http/tests/cache/disk-cache/speculative-validation/resources/redirect-to-css.py: Added.
- http/tests/cache/disk-cache/speculative-validation/resources/request-headers-script.php: Removed.
- http/tests/cache/disk-cache/speculative-validation/resources/request-headers-script.py: Added.
- http/tests/cache/disk-cache/speculative-validation/resources/resource-with-auth.php: Removed.
- http/tests/cache/disk-cache/speculative-validation/resources/resource-with-auth.py: Added.
- http/tests/cache/disk-cache/speculative-validation/resources/validation-request-frame.php: Removed.
- http/tests/cache/disk-cache/speculative-validation/resources/validation-request-frame.py: Added.
- http/tests/cache/disk-cache/speculative-validation/validation-request.html:
- http/tests/cache/history-navigation-no-resource-revalidation.html:
- http/tests/cache/iframe-304-crash-expected.txt:
- http/tests/cache/iframe-304-crash.html:
- http/tests/cache/iframe-detach.html:
- http/tests/cache/link-prefetch-main-resource-iframe.html:
- http/tests/cache/link-prefetch-main-resource.html:
- http/tests/cache/main-resource-304-reload.html:
- http/tests/cache/post-redirect-get.php: Removed.
- http/tests/cache/post-redirect-get.py: Added.
- http/tests/cache/post-with-cached-subresources.php: Removed.
- http/tests/cache/post-with-cached-subresources.py: Added.
- http/tests/cache/recursive-validation.html:
- http/tests/cache/redirect-referer.html:
- http/tests/cache/reload-main-resource.php: Removed.
- http/tests/cache/reload-main-resource.py: Added.
- http/tests/cache/resources/body.php: Removed.
- http/tests/cache/resources/body.py: Added.
- http/tests/cache/resources/cacheable-iframe.php: Removed.
- http/tests/cache/resources/cacheable-iframe.py: Added.
- http/tests/cache/resources/cacheable-random-text.php: Removed.
- http/tests/cache/resources/cacheable-random-text.py: Added.
- http/tests/cache/resources/iframe304.php: Removed.
- http/tests/cache/resources/iframe304.py: Added.
- http/tests/cache/resources/iframe304body.php: Removed.
- http/tests/cache/resources/iframe304body.py: Added.
- http/tests/cache/resources/load-and-check-referer.php: Removed.
- http/tests/cache/resources/load-and-check-referer.py: Added.
(contentType):
- http/tests/cache/resources/no-cache-main-resource-next.php: Removed.
- http/tests/cache/resources/no-cache-main-resource-next.py: Added.
- http/tests/cache/resources/no-cache-main-resource.php: Removed.
- http/tests/cache/resources/no-cache-main-resource.py: Added.
- http/tests/cache/resources/no-cache-with-validation.php: Removed.
- http/tests/cache/resources/no-cache-with-validation.py: Added.
- http/tests/cache/resources/partitioned-cache-echo-state.php: Removed.
- http/tests/cache/resources/partitioned-cache-echo-state.py: Added.
- http/tests/cache/resources/partitioned-cache-loader.html:
- http/tests/cache/resources/permanent-redirect.py: Added.
- http/tests/cache/resources/post-image-to-verify.php: Removed.
- http/tests/cache/resources/post-image-to-verify.py: Added.
- http/tests/cache/resources/prefetched-main-resource-iframe.php: Removed.
- http/tests/cache/resources/prefetched-main-resource-iframe.py: Added.
- http/tests/cache/resources/prefetched-main-resource.php: Removed.
- http/tests/cache/resources/prefetched-main-resource.py: Added.
- http/tests/cache/resources/redirect-referer-iframe.html:
- http/tests/cache/resources/reload-main-resource-iframe.php: Removed.
- http/tests/cache/resources/reload-main-resource-iframe.py: Added.
- http/tests/cache/resources/slow-iframe.php: Removed.
- http/tests/cache/resources/slow-iframe.py: Added.
- http/tests/cache/resources/stylesheet-html.php: Removed.
- http/tests/cache/resources/stylesheet-html.py: Added.
- http/tests/cache/resources/stylesheet304-bad-content-type.php: Removed.
- http/tests/cache/resources/stylesheet304-bad-content-type.py: Added.
- http/tests/cache/resources/stylesheet304.php: Removed.
- http/tests/cache/resources/svg-defs-vary.php: Removed.
- http/tests/cache/resources/svg-defs-vary.py: Added.
- http/tests/cache/resources/xhr-vary-header-response.php: Removed.
- http/tests/cache/resources/xhr-vary-header-response.py: Added.
- http/tests/cache/resources/xhr-vary-header-subframe.html:
- http/tests/cache/stylesheet-sharing.html:
- http/tests/cache/vary-frameless-document.html:
- http/tests/cache/xhr-body.html:
- http/tests/cache/xhr-vary-header.html:
- http/tests/resources/touch-temp-file.py: Added.
- http/tests/resources/write-temp-file.py: Added.
- http/tests/xmlhttprequest/cacheable-cross-origin-redirect-crash.html:
- platform/win/TestExpectations:
- 11:52 AM Changeset in webkit [274573] by
-
- 3 edits in trunk/Source/WebCore
Degraded ScriptProcessorNode performance/quality for (14.0.3+ and iOS 14.4.1+)
https://bugs.webkit.org/show_bug.cgi?id=223380
Reviewed by Geoffrey Garen.
By extending the scope of the lock in ScriptProcessorNode::process(), r273542 essentially
disabled double-buffering and thus negatively impacted rendering quality.
To address the issue, we now have 2 locks, one per rendering buffer (since we're using
double buffering) and only grab the lock we require when interacting with the buffers
for this index. This maintains thread-safety while re-enabling double buffering.
- Modules/webaudio/ScriptProcessorNode.cpp:
(WebCore::ScriptProcessorNode::createInputBufferForJS const):
Avoid duplicate call to topologyMatches() since copyTo() already calls it internally
and returns false when !topologyMatches().
(WebCore::ScriptProcessorNode::process):
- Modules/webaudio/ScriptProcessorNode.h:
- 11:21 AM Changeset in webkit [274572] by
-
- 2 edits in trunk/Tools
REGRESSION (r274460): [macOS] TestWebKitAPI.Fullscreen.WKViewDelegate is timing out
https://bugs.webkit.org/show_bug.cgi?id=223282
Unreviewed test gardening.
- TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
(TestWebKitAPI::TEST): Disabling the test until it is resolved
- 10:40 AM Changeset in webkit [274571] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk2 ARM64 ] 2 imported/w3c/web-platform-tests/webrtc are flakey text failures
https://bugs.webkit.org/show_bug.cgi?id=223385
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations: Updating test expectations to Pass Failure for Apple Silicon systems, and removing the Mojave test expectation while tests are being reviewed.
- 10:39 AM Changeset in webkit [274570] by
-
- 2 edits in trunk/Tools
[build.webkit.org] Remove code specific to old Buildbot - part 2
https://bugs.webkit.org/show_bug.cgi?id=222928
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/steps.py:
(ConfigureBuild.start):
- 10:37 AM Changeset in webkit [274569] by
-
- 2 edits in trunk/Source/WebCore
Derive index EUC-KR from ICU
https://bugs.webkit.org/show_bug.cgi?id=223103
Reviewed by Yusuke Suzuki.
This decreases the binary size of WebCore by a little under 70kb.
- platform/text/EncodingTables.cpp:
(WebCore::eucKR):
- 10:28 AM Changeset in webkit [274568] by
-
- 11 edits in trunk
Allow UniqueRef to be the value of a HashMap
https://bugs.webkit.org/show_bug.cgi?id=223240
Reviewed by Youenn Fablet.
Source/WebKit:
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::populateFromMemoryStore):
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::pruneResources):
(WebKit::ResourceLoadStatisticsMemoryStore::aggregatedThirdPartyData const):
(WebKit::ResourceLoadStatisticsMemoryStore::classifyPrevalentResources):
(WebKit::ResourceLoadStatisticsMemoryStore::ensureResourceStatisticsForRegistrableDomain):
(WebKit::ResourceLoadStatisticsMemoryStore::mergeStatistics):
(WebKit::ResourceLoadStatisticsMemoryStore::updateCookieBlocking):
(WebKit::ResourceLoadStatisticsMemoryStore::processStatistics const):
(WebKit::ResourceLoadStatisticsMemoryStore::registrableDomainsToDeleteOrRestrictWebsiteDataFor):
(WebKit::ResourceLoadStatisticsMemoryStore::pruneStatisticsIfNeeded):
(WebKit::ResourceLoadStatisticsMemoryStore::insertExpiredStatisticForTesting):
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
- Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::addChallengeToChallengeMap):
(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
- Shared/Authentication/AuthenticationManager.h:
Source/WTF:
This has the advantage over std::unique_ptr of never providing a null value when you iterate HashMap.values
- wtf/HashIterators.h:
(WTF::HashTableConstValuesIterator::get const):
- wtf/HashTraits.h:
(WTF::HashTraits<UniqueRef<T>>::emptyValue):
(WTF::HashTraits<UniqueRef<T>>::constructDeletedValue):
(WTF::HashTraits<UniqueRef<T>>::isDeletedValue):
(WTF::HashTraits<UniqueRef<T>>::peek):
(WTF::HashTraits<UniqueRef<T>>::take):
Tools:
- TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):
- 10:23 AM Changeset in webkit [274567] by
-
- 3 edits1 add in trunk
Laying out complex text in columns is O(n2)
https://bugs.webkit.org/show_bug.cgi?id=223363
<rdar://problem/68279075>
Reviewed by Zalan Bujtas.
PerformanceTests:
- Layout/complex-columns.html: Added.
Source/WebCore:
When we perform line breaking in complex text, we create a persistent TextLayout object for the entire element, and ask
it questions about how wide various substrings are in the element. Our calling pattern is like this:
layout.width(a, b);
layout.width(b, c);
layout.width(c, d);
layout.width(d, e);
The implementation of TextLayout::width() is like this:
m_controller->advance(before);
float beforeWidth = m_controller->runWidthSoFar();
m_controller->advance(after);
float afterWidth = m_controller->runWidthSoFar();
This means that ComplexTextController is getting called twice in a row with the same position. However, the implementation of
ComplexTextController::advance() has:
if (offset <= m_currentCharacter) {
…
m_glyphInCurrentRun = 0;
…
}
The condition is true here, because it's getting called twice in a row with the same condition. However, when the condition
is true, we throw away all the previous work we've done during previous calls to ComplexTextController::advance().
This patch causes an 18x speedup on the performance test.
Performance Test: Layout/complex-columns.html
- platform/graphics/ComplexTextController.cpp:
(WebCore::ComplexTextController::advance):
- 10:22 AM Changeset in webkit [274566] by
-
- 5 edits in trunk/Source/WebCore
Use ASCIILiteral over String for CSSValue::separatorCSSText() to avoid allocation
https://bugs.webkit.org/show_bug.cgi?id=223300
Patch by Tyler Wilcock <Tyler Wilcock> on 2021-03-17
Reviewed by Yusuke Suzuki.
Use ASCIILiteral over String for CSSValue::separatorCSSText() to avoid
allocation, since we know this function will always return an
ASCII string. Also rename separatorCssText to separatorCSSText.
These changes were requested in this comment:
https://bugs.webkit.org/show_bug.cgi?id=223205#c8
- css/CSSValue.cpp:
(WebCore::CSSValue::separatorCSSText const):
(WebCore::CSSValue::separatorCssText const):
Rename function separatorCssText to separatorCSSText.
- css/CSSValue.h:
String CSSValue::separatorCssText --> ASCIILiteral CSSValue::separatorCSSText
- css/CSSValueList.cpp:
(WebCore::CSSValueList::customCSSText const):
Use auto to capture result of separatorCSSText().
- css/CSSValuePair.cpp:
(WebCore::CSSValuePair::customCSSText const):
Function separatorCssText was renamed to separatorCSSText.
- 10:09 AM Changeset in webkit [274565] by
-
- 11 edits in trunk
Maybe-regression(STP121): window.open flakily returning null
https://bugs.webkit.org/show_bug.cgi?id=222590
<rdar://problem/75211786>
Reviewed by Geoffrey Garen.
Source/WebKit:
This was an IPC ordering bug. WebPageProxy::DidCommitLoadForFrame is async and WebPageProxy::CreateNewPage is
sync. As a result, it was possible for the WebPageProxy::CreateNewPage to get processed *BEFORE* the
WebPageProxy::DidCommitLoadForFrame IPC. This was causing trouble because Safari rejects the popup opening if
the main frame is doing a provisional load.
To address the issue, introduce a new IPC::SendSyncOption::MaintainOrderingWithAsyncMessages flag and
use it on WebPageProxy::CreateNewPage sync IPC so that it gets processed in order with surrounding async
messages.
- Platform/IPC/Connection.cpp:
(IPC::Connection::SyncMessageState::processIncomingMessage):
(IPC::Connection::sendSyncMessage):
- Platform/IPC/Connection.h:
- Platform/IPC/Decoder.cpp:
(IPC::Decoder::shouldMaintainOrderingWithAsyncMessages const):
- Platform/IPC/Decoder.h:
- Platform/IPC/Encoder.cpp:
(IPC::Encoder::setShouldMaintainOrderingWithAsyncMessages):
- Platform/IPC/Encoder.h:
- Platform/IPC/MessageFlags.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createWindow):
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKit/ModalAlertsSPI.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::checkFrameLoadStateAndCreateNewPage):
- 10:09 AM Changeset in webkit [274564] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r272019): Momentum scrolling in proximity css-scroll-snap scroll areas broken
https://bugs.webkit.org/show_bug.cgi?id=223375
Patch by Martin Robinson <mrobinson@igalia.com> on 2021-03-17
Reviewed by Simon Fraser.
Selectively revert the problematic refactoring in r272019. It is difficult to revert
the entire change since a non-trivial amount of subsequent changes depend on it.
No new tests. This change is a selective revert and animation for momentum
scrolling is very difficult to test.
- platform/ScrollSnapAnimatorState.cpp:
(WebCore::ScrollSnapAnimatorState::targetOffsetForStartOffset const): Revert changes
from r272019.
- 10:06 AM Changeset in webkit [274563] by
-
- 9 edits in trunk
[GPUP] Some media-source tests fail/timeout when media in GPU Process is enabled
https://bugs.webkit.org/show_bug.cgi?id=221686
Reviewed by Eric Carlson.
Source/WebKit:
With "GPU Process: Media" enabled, a video element with a reference to a
MediaSource
object will schedule a "resize" event after the source buffer scheduling an "update" event.
The root cause is that theMediaPlayerPrivateRemotedoes not notify itsHTMLMediaElement
to change its ready state to HAVE_METADATA after the source buffer receives the initialization
segment (inSourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment()).
The requirement is defined in section 3.5.7.6.2 of the specification:
[Initialization Segment Received](https://www.w3.org/TR/media-source/#sourcebuffer-init-segment-received).
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::setReadyState):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
- WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:
(WebKit::SourceBufferPrivateRemote::setReadyState):
LayoutTests:
Fix the wrong description of a test.
- media/media-source/media-source-resize-expected.txt:
- media/media-source/media-source-resize.html:
- platform/gtk/media/media-source/media-source-resize-expected.txt:
- platform/mac/TestExpectations:
- 9:53 AM Changeset in webkit [274562] by
-
- 6 edits in trunk
[Cocoa] Move loadSimulatedRequest API from Private to Public WKWebView
https://bugs.webkit.org/show_bug.cgi?id=223279
<rdar://problem/75494316>
Reviewed by Darin Adler.
Source/WebKit:
Just moving from SPI headers to API headers (and implementation).
No new tests, since this just changes the visibility of the functionality. The features are
tested with existing TestWebKitAPI tests.
- UIProcess/API/Cocoa/WKWebView.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadSimulatedRequest:withResponse:responseData:]):
(-[WKWebView loadSimulatedRequest:withResponseHTMLString:]):
(-[WKWebView loadFileRequest:allowingReadAccessToURL:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
Tools:
Remove private header now that the declarations are in the standard header.
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewLoadAPIs.mm:
- 9:01 AM Changeset in webkit [274561] by
-
- 12 edits in trunk
[WebIDL] Fix convertRecord() to throw on enumerable symbol |key|
https://bugs.webkit.org/show_bug.cgi?id=223231
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/headers/headers-record-expected.txt:
Source/JavaScriptCore:
Export SymbolCoercionError.
- runtime/JSCJSValue.cpp:
(JSC::JSValue::toStringSlowCase const):
- runtime/JSCJSValue.h:
Source/WebCore:
This change removes String type filter from getOwnPropertyNames() call [1] so
GetOwnProperty is invoked for a symbol |key|, which is observable by Proxy,
and a TypeError is raised (with helpful error message) if it's enumerable.
Instead of throwing right in convertRecord(), identifierToString() is added,
making IdentifierConverter reusable and close to the spec [2], rather than
implicitly dependent on identifier being a string.
Identifier::string() called on a symbol returns it's Description, which is
very undesirable.
Aligns WebKit with Blink and Gecko.
Tests: imported/w3c/web-platform-tests/fetch/api/headers/headers-record.html
fast/dom/DOMURL/searchparams.html
[1] https://heycam.github.io/webidl/#es-record (step 3)
[2] https://heycam.github.io/webidl/#es-DOMString (step 2)
- bindings/js/JSDOMConvertRecord.h:
(WebCore::Detail::IdentifierConverter<IDLDOMString>::convert):
- bindings/js/JSDOMConvertStrings.cpp:
(WebCore::identifierToString):
(WebCore::identifierToByteString):
(WebCore::identifierToUSVString):
- bindings/js/JSDOMConvertStrings.h:
LayoutTests:
- fast/dom/DOMURL/searchparams-expected.txt:
- fast/dom/DOMURL/searchparams.html:
- 8:54 AM Changeset in webkit [274560] by
-
- 2 edits in trunk/Source/WebCore
Optimize FillLayer::imagesIdentical()
https://bugs.webkit.org/show_bug.cgi?id=223305
Reviewed by Wenson Hsieh.
Test for pointer equality before deep-comparing the FillLayer linked lists. Pointer
equality is common when RenderStyles are cloned.
- rendering/style/FillLayer.cpp:
(WebCore::FillLayer::imagesIdentical):
- 8:20 AM Changeset in webkit [274559] by
-
- 2 edits in trunk/Source/WebCore
Set media elements' networkState to NETWORK_IDLE if the connection is interrupted
https://bugs.webkit.org/show_bug.cgi?id=223242
Patch by Souju TANAKA <soujyu.tanaka@access-company.com> on 2021-03-17
Reviewed by Eric Carlson.
Media elements' networkState was set to NETWORK_EMPTY if the connection is interrupted after some
media data has been received. This fix changes the state to NETWORK_IDLE, according to recent spec.
No new tests since there seems no way to disconnect network connection during tests.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaLoadingFailedFatally):
- 6:30 AM Changeset in webkit [274558] by
-
- 28 edits2 deletes in trunk
Align device orientation delegate to getUserMedia/geolocation delegates
https://bugs.webkit.org/show_bug.cgi?id=223247
Reviewed by Eric Carlson.
Source/WebKit:
Refactor code to move device orientation prompt implementation with other prompts in MediaPermissionUtilities.
Update code to use top level origin for prompt.
Update delegate to provide both top level origin and initiating iframe as parameters.
Update the decision handler to take grant, deny or prompt parameter.
Covered by API tests.
- UIProcess/API/C/WKFrameInfoRef.cpp:
(WKFrameInfoCopySecurityOrigin):
- UIProcess/API/C/WKFrameInfoRef.h:
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
- UIProcess/API/C/WKPageUIClient.h:
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/Cocoa/MediaPermissionUtilities.mm:
(WebKit::alertMessageText):
(WebKit::allowButtonText):
(WebKit::doNotAllowButtonText):
(WebKit::alertForPermission):
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::shouldAllowDeviceOrientationAndMotionAccess):
- UIProcess/Cocoa/WKOrientationAccessAlert.h: Removed.
- UIProcess/Cocoa/WKOrientationAccessAlert.mm: Removed.
- UIProcess/MediaPermissionUtilities.h:
- UIProcess/WebsiteData/WebDeviceOrientationAndMotionAccessController.cpp:
(WebKit::WebDeviceOrientationAndMotionAccessController::shouldAllowAccess):
- WebKit.xcodeproj/project.pbxproj:
Tools:
Update code to print frame info origin and update according additional frame info parameter given to shouldAllowDeviceOrientationAndMotionAccess.
Clear permissions in case test controller changes the device motion permission value.
- TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
(-[DeviceOrientationPermissionUIDelegate _webView:requestDeviceOrientationAndMotionPermissionForOrigin:initiatedByFrame:decisionHandler:]):
(-[DeviceOrientationPermissionValidationDelegate setValidationHandler:]):
(-[DeviceOrientationPermissionValidationDelegate _webView:requestDeviceOrientationAndMotionPermissionForOrigin:initiatedByFrame:decisionHandler:]):
- TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[WebsitePoliciesDeviceOrientationUIDelegate _webView:requestDeviceOrientationAndMotionPermissionForOrigin:initiatedByFrame:decisionHandler:]):
- WebKitTestRunner/TestController.cpp:
(WTR::shouldAllowDeviceOrientationAndMotionAccess):
(WTR::TestController::handleDeviceOrientationAndMotionAccessRequest):
(WTR::TestController::setShouldAllowDeviceOrientationAndMotionAccess):
- WebKitTestRunner/TestController.h:
LayoutTests:
- fast/device-orientation/device-motion-request-permission-denied-expected.txt:
- fast/device-orientation/device-motion-request-permission-granted-expected.txt:
- fast/device-orientation/device-orientation-request-permission-denied-expected.txt:
- fast/device-orientation/device-orientation-request-permission-granted-expected.txt:
- http/tests/device-orientation/device-motion-allowed-in-first-party-only-expected.txt:
- http/tests/device-orientation/device-motion-third-party-iframe-allowed-by-feature-policy-expected.txt:
- http/tests/device-orientation/device-orientation-allowed-in-first-party-only-expected.txt:
- http/tests/device-orientation/device-orientation-permission-granted-in-other-iframes-from-same-origin-expected.txt:
- http/tests/device-orientation/device-orientation-third-party-iframe-allowed-by-feature-policy-expected.txt:
- platform/ios/http/tests/events/device-orientation-motion-secure-context-expected.txt:
- 4:47 AM Changeset in webkit [274557] by
-
- 9 edits2 adds in trunk/Source
Shutdown ANGLE on GPU process when last WebGL context is destroyed
https://bugs.webkit.org/show_bug.cgi?id=223082
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-03-17
Reviewed by Kenneth Russell.
Source/WebCore:
- CMakeLists.txt:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
(WebCore::InitializeEGLDisplay):
(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
Hold the default EGLDisplay with a scoped holder that counts
the references to the default display.
(WebCore::GraphicsContextGLOpenGL::releaseAllResourcesIfUnused):
Add a call that uninitializes the ANGLE default display if there are no uses of
the default display.
Source/WebKit:
Schedule a check for releasing the ANGLE default display when global
count of remote graphics contexts reach zero. This should decrease the
memory use of sessions where WebGL is not always on.
Dispatch the check 0.2s after hitting zero, so that the optimization still
affects page navigations but maybe does not redundantly deinitialize /
reinitialize ANGLE in the cases where the context #1 is created and destroyed
frequently.
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::dispatchReleaseAllResourcesIfUnused):
(WebKit::RemoteGraphicsContextGL::initialize):
(WebKit::RemoteGraphicsContextGL::stopListeningForIPC):
- 2:52 AM Changeset in webkit [274556] by
-
- 2 edits in trunk/Source/WebCore
Protect LibWebRTCAudioModule when playing
https://bugs.webkit.org/show_bug.cgi?id=223243
Reviewed by Alex Christensen.
Make sure to ref LibWebRTCAudioModule when playing.
- platform/mediastream/libwebrtc/LibWebRTCAudioModule.cpp:
(WebCore::LibWebRTCAudioModule::StartPlayout):
(WebCore::LibWebRTCAudioModule::pollAudioData):
- 2:01 AM Changeset in webkit [274555] by
-
- 3 edits in trunk
[GTK][WPE] Enable CSS scroll snap support by default
https://bugs.webkit.org/show_bug.cgi?id=222641
Patch by Martin Robinson <mrobinson@igalia.com> on 2021-03-17
Reviewed by Carlos Garcia Campos.
- Source/cmake/OptionsGTK.cmake: Enable CSS scroll snap by default.
- Source/cmake/OptionsWPE.cmake: Ditto.
- 1:56 AM Changeset in webkit [274554] by
-
- 2 edits in trunk/Tools
[WPE] Include cog build artefacts in built product archive
https://bugs.webkit.org/show_bug.cgi?id=217477
Patch by Philippe Normand <pnormand@igalia.com> on 2021-03-17
Reviewed by Adrian Perez de Castro.
Include Cog files in the zip file if they're present, so the nightly runner would be able to
start Cog instead of the WPE MiniBrowser.
- CISupport/built-product-archive:
(createZipFromList):
(archiveBuiltProduct):
- 1:40 AM Changeset in webkit [274553] by
-
- 3 edits in trunk/Source/WebKit
Protect RemoteCaptureSampleManager and RemoteAudioSourceProviderManager when hopping to background threads
https://bugs.webkit.org/show_bug.cgi?id=223245
Reviewed by Alex Christensen.
When hopping to a background thread, take a ref to the manager.
Both managers are thread safe refcounted.
- WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp:
(WebKit::RemoteAudioSourceProviderManager::addProvider):
(WebKit::RemoteAudioSourceProviderManager::removeProvider):
- WebProcess/cocoa/RemoteCaptureSampleManager.cpp:
(WebKit::RemoteCaptureSampleManager::addSource):
(WebKit::RemoteCaptureSampleManager::removeSource):
Mar 16, 2021:
- 11:02 PM Changeset in webkit [274552] by
-
- 20 edits1 add in trunk
[JSC] Implement Error#cause
https://bugs.webkit.org/show_bug.cgi?id=223302
Reviewed by Yusuke Suzuki.
JSTests:
Add tests. test262 doesn't currently have any, but the spec is exceedingly simple anyway.
- stress/error-cause.js: Added.
Source/JavaScriptCore:
This patch implements the Error.prototype.cause proposal, which reached Stage 3 at last week's TC39 meeting:
https://github.com/tc39/proposal-error-cause
This very simple proposal allows to one reference the "error that caused this one" in a cascading scenario.
It does so by adding an options bag parameter to the Error, _NativeError_, and AggregateError constructors.
If it is an object with acauseproperty, the property will be used; if not, nothing happens at all.
- API/JSObjectRef.cpp:
(JSObjectMakeError):
- runtime/AggregateError.cpp:
(JSC::AggregateError::finishCreation):
(JSC::AggregateError::create):
- runtime/AggregateError.h:
- runtime/AggregateErrorConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/CommonIdentifiers.h:
- runtime/Error.cpp:
(JSC::createError):
(JSC::createEvalError):
(JSC::createRangeError):
(JSC::createReferenceError):
(JSC::createSyntaxError):
(JSC::createTypeError):
(JSC::createURIError):
(JSC::createGetterTypeError):
- runtime/ErrorConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::create):
(JSC::ErrorInstance::finishCreation):
- runtime/ErrorInstance.h:
(JSC::ErrorInstance::create):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/NativeErrorConstructor.cpp:
(JSC::NativeErrorConstructor<errorType>::constructImpl):
(JSC::NativeErrorConstructor<errorType>::callImpl):
- runtime/NullSetterFunction.cpp:
(JSC::NullSetterFunctionInternal::JSC_DEFINE_HOST_FUNCTION):
- wasm/js/JSWebAssemblyCompileError.cpp:
(JSC::JSWebAssemblyCompileError::create):
- wasm/js/JSWebAssemblyLinkError.cpp:
(JSC::JSWebAssemblyLinkError::create):
- wasm/js/JSWebAssemblyRuntimeError.cpp:
(JSC::JSWebAssemblyRuntimeError::create):
- wasm/js/WebAssemblyCompileErrorConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- wasm/js/WebAssemblyLinkErrorConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- wasm/js/WebAssemblyRuntimeErrorConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- 9:22 PM Changeset in webkit [274551] by
-
- 3 edits in trunk/Source/WebCore
document pictureInPictureElement is null if you Enter Picture in Picture from contextual menu
https://bugs.webkit.org/show_bug.cgi?id=223125
Reviewed by Darin Adler.
Use HTMLVideoElement's functions to change video presentation mode to ensure that
document.pictureInPictureElement is updated properly and correct events are fired.
Covered by manual tests.
- html/HTMLVideoElement.cpp:
- rendering/HitTestResult.cpp:
(WebCore::HitTestResult::enterFullscreenForVideo const):
(WebCore::HitTestResult::toggleEnhancedFullscreenForVideo const):
- 9:15 PM Changeset in webkit [274550] by
-
- 5 edits5 adds in trunk/LayoutTests
[GLIB] Gardening some consistent WPE failures and GTK4 crashes
Unreviewed test gardening.
- platform/glib/TestExpectations:
- platform/glib/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.https-expected.txt: Rebaselined after r274167.
- platform/gtk/imported/w3c/web-platform-tests/dom/slot-recalc-expected.txt: Added. Needed after r274167.
- platform/gtk4/TestExpectations:
- platform/wpe/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt: Rebaselined. Needed after somewhere between r273067 (last good) and r273071 (first bad).
- platform/wpe/imported/w3c/web-platform-tests/css/selectors/focus-visible-003-expected.txt: Added. WPE does not support color popup yet.
- platform/wpe/imported/w3c/web-platform-tests/css/selectors/focus-visible-004-expected.txt: Ditto.
- platform/wpe/imported/w3c/web-platform-tests/dom/slot-recalc-expected.txt: Added. Needed fater r274167.
- 8:41 PM Changeset in webkit [274549] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Unreviewed test gardening. Update test expectations after r273539.
- platform/glib/TestExpectations:
- 7:34 PM Changeset in webkit [274548] by
-
- 1 copy in tags/Safari-611.1.21.2.3
Tag Safari-611.1.21.2.3.
- 7:15 PM Changeset in webkit [274547] by
-
- 55 edits4 adds in trunk/Source/ThirdParty/ANGLE
Regressions from ANGLE Metal enablement
https://bugs.webkit.org/show_bug.cgi?id=222239
This patch addressed several large bits of funcitonality that was missing from the original patch.
1) Introduce support for UBO's. This patch adds a DEQP-conformant implementation for UBO structs. This includes changes to the translator,
Patch by Kyle Piddington <Kyle Piddington> on 2021-03-16
- 7:12 PM Changeset in webkit [274546] by
-
- 9 edits1 copy1 add in trunk/Source/WebCore
Add CSSValuePair.h in preparation for Pair.h refactor
https://bugs.webkit.org/show_bug.cgi?id=223205
Patch by Tyler Wilcock <Tyler Wilcock> on 2021-03-16
Reviewed by Simon Fraser.
Add new CSSValuePair class, which is intended to replace Pair.h.
Pair.h has some problems, namely:
- It's not a sub-class of CSSValue, making it awkward to use.
- It can only contain CSSPrimitiveValues.
CSSValuePair will fix both of these shortcomings.
- Sources.txt:
Add CSSValuePair.cpp.
- css/CSSValue.cpp:
(WebCore::CSSValue::cssText const):
Handle new ValuePairClass value.
(WebCore::CSSValue::separatorCssText const):
Added.
(WebCore::CSSValue::destroy):
Handle new ValuePairClass value.
- css/CSSValue.h:
(WebCore::CSSValue::isValuePair const):
Added.
(WebCore::CSSValue::CSSValue):
Add new ValuePairClass value. Rename m_valueListSeparator to m_valueSeparator,
ValueListSeparator to ValueSeparator, and
ValueListSeparatorBits to ValueSeparatorBits.
- css/CSSValueList.cpp:
(WebCore::CSSValueList::CSSValueList):
(WebCore::CSSValueList::copy):
(WebCore::CSSValueList::customCSSText const):
Refactor to use new separatorCssText() function.
(WebCore::CSSValueList::equals const):
Rename m_valueListSeparator to m_valueSeparator,
ValueListSeparator to ValueSeparator, and
ValueListSeparatorBits to ValueSeparatorBits.
- css/CSSValueList.h:
(WebCore::CSSValueList::separator const):
Rename m_valueListSeparator to m_valueSeparator.
- css/CSSValuePair.cpp:
(WebCore::CSSValuePair::customCSSText const):
(WebCore::CSSValuePair::equals const):
Added.
- css/CSSValuePair.h:
(WebCore::CSSValuePair::create):
(WebCore::CSSValuePair::first const):
(WebCore::CSSValuePair::second const):
(WebCore::CSSValuePair::CSSValuePair):
Added.
- css/DeprecatedCSSOMValue.h:
- css/DeprecatedCSSOMValueList.cpp:
(WebCore::DeprecatedCSSOMValueList::cssText const):
- css/DeprecatedCSSOMValueList.h:
(WebCore::DeprecatedCSSOMValueList::DeprecatedCSSOMValueList):
Rename m_valueListSeparator to m_valueSeparator,
ValueListSeparator to ValueSeparator, and
ValueListSeparatorBits to ValueSeparatorBits.
- 6:27 PM Changeset in webkit [274545] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk2 ] media/media-fullscreen-return-to-inline.html is a flakey text failure and flakey timeout
https://bugs.webkit.org/show_bug.cgi?id=223293
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations: Updating test expectations to Pass Failure Timeout while test is being reviewed.
- 6:02 PM Changeset in webkit [274544] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk2 ARM64 ] fast/table/multiple-captions-crash4.htmlis a flakey Image failure
https://bugs.webkit.org/show_bug.cgi?id=223292
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations: Updating test results to PASS IMAGEONLYFAILURE while test is being reviewed.
- 5:54 PM Changeset in webkit [274543] by
-
- 2 edits in trunk/Tools
PCM: Use adoptWK in TestInvocation::didReceiveSynchronousMessageFromInjectedBundle()'s handling of "SetPrivateClickMeasurementAttributionReportURLsForTesting"
https://bugs.webkit.org/show_bug.cgi?id=223286
<rdar://problem/75498336>
Reviewed by Darin Adler.
See Darin's initial comment here: https://bugs.webkit.org/show_bug.cgi?id=223238#c9
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
- 5:53 PM Changeset in webkit [274542] by
-
- 15 edits in trunk/Tools
[resultsdbpy] Save identifiers in commit table
https://bugs.webkit.org/show_bug.cgi?id=223101
<rdar://problem/75338338>
Reviewed by Dewei Zhu.
- Scripts/libraries/resultsdbpy/resultsdbpy/init.py: Bump version.
- Scripts/libraries/resultsdbpy/resultsdbpy/controller/commit_controller.py:
(CommitController.register): Accept uploaded new commit objects, continue to return old-style commits.
- Scripts/libraries/resultsdbpy/resultsdbpy/controller/upload_controller.py:
(UploadController.upload): Register commits using the fast path when uploading results.
- Scripts/libraries/resultsdbpy/resultsdbpy/controller/upload_controller_unittest.py:
(UploadControllerTest.test_process): Mock safari and WebKit when processing results.
(UploadControllerTest.test_process_commit): Ditto.
- Scripts/libraries/resultsdbpy/resultsdbpy/model/commit_context.py:
(CommitContext.CommitModelMk2): Add new style commit model base.
(CommitContext.CommitByRef): Sort commits by hash, revision and identifier references.
(CommitContext.CommitByUuidAscendingMk2): New commit style UUID table.
(CommitContext.CommitByUuidDescendingMk2): Ditto.
(CommitContext.init): Create new tables.
(CommitContext.find_commits_by_ref): Search for commits in the new ref table.
(CommitContext.register): Post-process commits to populate identifier field.
(CommitContext.register_commit): Only register new-style commits.
(CommitContext.register_partial_commit): Register new-style commits, allow caller to opt-out of expensive
Identifier computation.
(CommitContext.url): Accept old and new style commits.
(CommitContext.register_commit_with_repo_and_id): Deleted.
- Scripts/libraries/resultsdbpy/resultsdbpy/model/commit_context_unittest.py:
(CommitContextTest.add_all_commits_to_database): Update commit registration call.
(CommitContextTest.test_commit_from_stash_repo): Ditto.
(CommitContextTest.test_commit_from_svn_repo): Ditto.
- Scripts/libraries/resultsdbpy/resultsdbpy/model/mock_model_factory.py:
(MockModelFactory.create): Update commit registration call.
- Scripts/libraries/resultsdbpy/resultsdbpy/model/model.py:
(Model.init): commit_context may now post-process uploads.
- Scripts/libraries/resultsdbpy/resultsdbpy/model/repository.py:
(Repository.commit): Add call to return new-style commits.
(StashRepository.commit): Ditto.
(WebKitRepository.commit): Ditto.
- Scripts/libraries/resultsdbpy/resultsdbpy/model/repository_unittest.py:
(RepositoryTest.test_svn):
(RepositoryTest.test_ref_svn):
(RepositoryTest.test_stash):
(RepositoryTest.test_ref_stash):
(RepositoryTest.test_colliding_timestamps_stash):
(RepositoryTest.test_branch_stash):
(RepositoryTest.test_branch_svn): Deleted.
- Scripts/libraries/resultsdbpy/resultsdbpy/model/upload_context_unittest.py:
(UploadContextTest.test_callback):
(UploadContextTest.test_async_callback):
- Scripts/libraries/resultsdbpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:
(Commit): Handle single email passed to contributor.
- 5:52 PM Changeset in webkit [274541] by
-
- 3 edits in trunk/Source/WebCore
Avoid heap allocation under AudioSummingJunction::updateRenderingState()
https://bugs.webkit.org/show_bug.cgi?id=223230
Reviewed by Darin Adler.
Avoid heap allocation under AudioSummingJunction::updateRenderingState()
since this runs on the audio thread.
- Modules/webaudio/AudioSummingJunction.cpp:
(WebCore::AudioSummingJunction::addOutput):
(WebCore::AudioSummingJunction::removeOutput):
(WebCore::AudioSummingJunction::updateRenderingState):
- Modules/webaudio/AudioSummingJunction.h:
- 5:37 PM Changeset in webkit [274540] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk2 ARM 64 ] 2 accessibility/mac/value-change/ layout-tests are flakey text failures
https://bugs.webkit.org/show_bug.cgi?id=223291
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations: Updating test expectations as PASS/FAILURE until test can be reviewed.
- 5:23 PM Changeset in webkit [274539] by
-
- 3 edits1 add in trunk
Object allocation sinking phase should prioritize materializations with no dependencies before materializations with no reverse dependencies
https://bugs.webkit.org/show_bug.cgi?id=221069
<rdar://problem/73686589>
Reviewed by Yusuke Suzuki.
JSTests:
- stress/allocation-sinking-scope-materialization-order.js: Added.
(var3.var2.x):
(var3):
Source/JavaScriptCore:
Suppose we have two scope objects, A and B. Let's say A points to B, so B is
A's parent scope. A then depends on B. B has no dependencies here. When deciding
an order to materialize scope objects, we should always do it in reverse dependency
order. So above, we should materialize B, then A.
Inside object allocation sinking phase, when at an object materialization
site, we do track both dependencies and reverse dependencies. In the above
object graph, we'd attempt to materialize the objects in the right order,
always picking things with no dependencies first (and updating the list of
dependencies as we materialzed objects).
The code was using an std::list to track things to materialize, and it had
notions for materializing something first, and materializing something last.
However, there was a bug in how the code managed to insert things when
it first inserted last followed by inserting first. This patch simplifies
the code and makes it do the right thing.
- dfg/DFGObjectAllocationSinkingPhase.cpp:
- 5:10 PM Changeset in webkit [274538] by
-
- 3 edits in trunk/Source/JavaScriptCore
Fixed undefined behavior bug in Const32Value::checkNegConstant().
https://bugs.webkit.org/show_bug.cgi?id=223284
Reviewed by Darin Adler.
This was causing a failure in testb3 on a release build.
Also do the same for Const64Value::checkNegConstant().
- b3/B3Const32Value.cpp:
(JSC::B3::Const32Value::checkNegConstant const):
- b3/B3Const64Value.cpp:
(JSC::B3::Const64Value::checkNegConstant const):
- 5:08 PM Changeset in webkit [274537] by
-
- 1 copy in tags/Safari-611.1.21.1.11
Tag Safari-611.1.21.1.11.
- 5:03 PM Changeset in webkit [274536] by
-
- 2 edits in branches/safari-611.1.21.1-branch/Source/WebKit
Cherry-pick r274504. rdar://problem/75482851
The WebContent process crashes when launching Safari
https://bugs.webkit.org/show_bug.cgi?id=223264
<rdar://75482851>
Reviewed by Brent Fulgham.
The WebContent process crashes when launching Safari on older OSes, because of unavailable sandbox features.
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@274504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:54 PM Changeset in webkit [274535] by
-
- 1 copy in tags/Safari-611.1.21.0.7
Tag Safari-611.1.21.0.7.
- 4:52 PM Changeset in webkit [274534] by
-
- 8 edits in branches/safari-611.1.21.1-branch/Source
Versioning.
WebKit-7611.1.21.1.11
- 4:49 PM Changeset in webkit [274533] by
-
- 1 copy in tags/Safari-611.1.21.1.10
Tag Safari-611.1.21.1.10.
- 4:39 PM Changeset in webkit [274532] by
-
- 5 edits4 adds in trunk
<img> isn't able to render RTL text correctly in ALT text
https://bugs.webkit.org/show_bug.cgi?id=221833
<rdar://problem/74530491>
Reviewed by Zalan Bujtas.
Source/WebCore:
Simply use the text drawing routine that handles bidi.
Test: fast/text/image-alt-text-bidi.html
- rendering/RenderImage.cpp:
(WebCore::RenderImage::paintReplaced):
LayoutTests:
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- fast/text/image-alt-text-bidi-2-expected.html: Added.
- fast/text/image-alt-text-bidi-2.html: Added.
- fast/text/image-alt-text-bidi-expected.html: Added.
- fast/text/image-alt-text-bidi.html: Added.
- 4:05 PM Changeset in webkit [274531] by
-
- 3 edits in trunk/Source/WebCore
Be more restrictive about when canvas2d is allowed to update style
https://bugs.webkit.org/show_bug.cgi?id=222896
Reviewed by Ryosuke Niwa.
We can use the RAII class ScriptDisallowedScope::InMainThread to enforce places where
script is allowed to be run.
This is just a cleanup/clarity patch.
No new tests because there is no behavior change.
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):
(WebCore::CanvasRenderingContext2D::setFontWithoutUpdatingStyle):
(WebCore::CanvasRenderingContext2D::toTextDirection const):
(WebCore::CanvasRenderingContext2D::measureText):
(WebCore::CanvasRenderingContext2D::fontProxy const):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
- html/canvas/CanvasRenderingContext2D.h:
- 4:02 PM Changeset in webkit [274530] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed, reverting r274473.
https://bugs.webkit.org/show_bug.cgi?id=223287
Caused assertion failure in API tests
Reverted changeset:
"[iOS][FCR] Add pressed state for button-like controls"
https://bugs.webkit.org/show_bug.cgi?id=223208
https://trac.webkit.org/changeset/274473
- 4:02 PM Changeset in webkit [274529] by
-
- 2 edits in trunk/Source/WebCore
[WebIDL] Optimize convertRecord() to avoid double |key| lookup
https://bugs.webkit.org/show_bug.cgi?id=223219
Reviewed by Darin Adler.
This change replaces getOwnPropertyDescriptor() with more low-level API so
slot.isTaintedByOpaqueObject()can be leveraged to avoid the second |key|
lookup if it's unobservable, while still invoking Proxy's Get trap [1].
It's a common pattern used in JSC (see ObjectConstructor.cpp), which speeds up
convertRecord() by 20% (microbenchmark: 10 keys / 10k runs).
Also, this patch applies Geoffrey Garen's post-review feedback on r268852
by utilizing AddResult.
No new tests, no behavior change.
Test: imported/w3c/web-platform-tests/fetch/api/headers/headers-record.html
[1] https://heycam.github.io/webidl/#es-record (step 4.2.2)
- bindings/js/JSDOMConvertRecord.h:
- 4:00 PM Changeset in webkit [274528] by
-
- 21 edits7 adds in trunk
Cache cross-origin methods / accessors of Window and Location per lexical global object
https://bugs.webkit.org/show_bug.cgi?id=222739
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-caching-expected.txt: Added.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-caching.html: Added.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-common.js: Added.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-length-expected.txt: Added.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-length.html: Added.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-name-expected.txt: Added.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-name.html: Added.
Source/JavaScriptCore:
- Introduce WeakGCMap::ensureValue() to clean up JSObject::getOwnPropertyDescriptor() and avoid double hashing. It decorates HashMap::ensure() to guarantee non-null return value.
- Assert early that JSCustom{Getter,Setter}Function is created with non-null function pointer.
- Rename getCustom{Getter,Setter}Function() to align with newly-added JSDOMGlobalObject methods.
- runtime/JSCustomGetterFunction.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::JSCustomGetterFunction::create):
- runtime/JSCustomSetterFunction.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::JSCustomSetterFunction::create):
- runtime/JSObject.cpp:
(JSC::createCustomGetterFunction):
(JSC::createCustomSetterFunction):
(JSC::JSObject::getOwnPropertyDescriptor):
(JSC::getCustomGetterFunction): Deleted.
(JSC::getCustomSetterFunction): Deleted.
- runtime/Lookup.h:
(JSC::nonCachingStaticFunctionGetterImpl): Deleted.
- runtime/WeakGCMap.h:
Source/WebCore:
For cross-origin methods / accessors, Window and Location objects return different JSFunction
instances on every Get. The intent was to ensure isolation by supplying different Realms with
different function objects. However, within the same callee Realm, this makes subsequent lookups
of a cross-origin method / accessor fail reference equality test, which is rather confusing:
crossOriginWindow.focus === crossOriginWindow.focus // => false
This patch implements CrossOriginPropertyDescriptorMap, bringing consistent function identity
and aligning WebKit with the spec [1], Blink, and Gecko. For convenience, cache maps are added to
JSDOMGlobalObject (to accommodate RemoteDOMWindow) and cover both Window and Location objects.
As a cache map key, a pair of lexical global object and raw function pointer is used, which guarantees
correctness even if Window and Location would expose cross-origin property of the same name.
This patch removes 9 custom getters, adds runtime lookup for "showModalDialog" (which is rare),
and removes [ForwardDeclareInHeader] extended attribute as it's now unused and non-trivial to generate.
Also, fixes cross-realm
postMessage.lengthto equal 1 as per WebIDL.
[1] https://html.spec.whatwg.org/multipage/browsers.html#crossorigingetownpropertyhelper-(-o,-p-)
Tests: imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-caching.html
imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-length.html
imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-name.html
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
(WebCore::JSDOMGlobalObject::createCrossOriginFunction):
(WebCore::JSDOMGlobalObject::createCrossOriginGetterSetter):
- bindings/js/JSDOMGlobalObject.h:
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
(WebCore::JSDOMWindow::getOwnPropertySlot):
- bindings/js/JSLocationCustom.cpp:
(WebCore::getOwnPropertySlotCommon):
(WebCore::JSC_DEFINE_CUSTOM_GETTER): Deleted.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
- bindings/scripts/IDLAttributes.json:
- page/DOMWindow.idl:
- page/History.idl:
- page/Location.idl:
- page/RemoteDOMWindow.idl:
LayoutTests:
- http/tests/navigation/process-swap-window-open-expected.txt:
- http/tests/navigation/process-swap-window-open.html:
- 3:52 PM Changeset in webkit [274527] by
-
- 5 edits in trunk/Source/WebCore
Avoid heap allocation under AudioDestinationCocoa::render()
https://bugs.webkit.org/show_bug.cgi?id=223272
Reviewed by Sam Weinig.
In the common case where no AudioWorklet is used, AudioDestinationCocoa::render()
would unnecessarily create a WTF::Function to dispatch to the render thread, even
though we are already on the render thread. Constructing a WTF::Function does a
heap allocation so we really want to avoid constructing one on the high priority
audio thread.
In the AudioWorklet case, we still construct a WTF::Function for now. I will follow
up if I find a way to avoid it in this case too.
- Modules/webaudio/DefaultAudioDestinationNode.cpp:
(WebCore::Function<void):
- platform/audio/cocoa/AudioDestinationCocoa.cpp:
(WebCore::AudioDestinationCocoa::render):
(WebCore::AudioDestinationCocoa::renderOnRenderingTheadIfPlaying):
- platform/audio/cocoa/AudioDestinationCocoa.h:
- platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioSrcRenderIteration):
- 3:45 PM Changeset in webkit [274526] by
-
- 5 edits in trunk
ASSERTION FAILED: m_state == State::Committed in WebKit::FrameLoadState::didFailLoad()
https://bugs.webkit.org/show_bug.cgi?id=221783
Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2021-03-16
Reviewed by Ryosuke Niwa.
Source/WebCore:
Don't attempt to update layout while in the FrameSelection constructor -
otherwise, we can break the order of operations of the loader.
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::FrameSelection):
(WebCore::FrameSelection::focusedOrActiveStateChanged):
(WebCore::FrameSelection::setCaretVisibility):
- editing/FrameSelection.h:
(WebCore::FrameSelection::setCaretVisible):
LayoutTests:
Stop skipping loader/change-src-during-iframe-load-crash.html on Debug bots.
- platform/wk2/TestExpectations:
- 3:43 PM Changeset in webkit [274525] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r274461): [ macOS wk1 ]fast/repaint/canvas-object-fit.html is flakey text failing
https://bugs.webkit.org/show_bug.cgi?id=223283
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations: Updating test expectations while test is being reviewed.
- 3:26 PM Changeset in webkit [274524] by
-
- 4 edits in trunk/LayoutTests
[BigSur arm64] compositing/z-order/rebuild-sibling-of-layer-with-foreground-layer.html is a flakey image failure
https://bugs.webkit.org/show_bug.cgi?id=223265
Unreviewed test gardening.
Attempt to make this test pass on AS by avoiding solid-color layers, forcing backing store
with . Also reduce the oddly long 1000ms timeout in the test.
- compositing/z-order/rebuild-sibling-of-layer-with-foreground-layer-expected.html:
- compositing/z-order/rebuild-sibling-of-layer-with-foreground-layer.html:
- platform/mac/TestExpectations:
- 3:09 PM Changeset in webkit [274523] by
-
- 12 edits in trunk/Tools
[resultsdbpy] Allow user to change commit representation
https://bugs.webkit.org/show_bug.cgi?id=223215
<rdar://problem/75446602>
Reviewed by Dewei Zhu.
- Scripts/libraries/resultsdbpy/resultsdbpy/init.py: Bump version.
- Scripts/libraries/resultsdbpy/resultsdbpy/controller/api_routes.py:
(APIRoutes.init): Add commit representations endpoint.
- Scripts/libraries/resultsdbpy/resultsdbpy/controller/commit_controller.py:
(CommitController.representations): Add commit representations endpoint.
- Scripts/libraries/resultsdbpy/resultsdbpy/model/repository.py:
(Repository.representations): Return prioritized commit representation.
(StashRepository.representations): Ditto.
(WebKitRepository.representations): Ditto.
- Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/commit.js:
(Commit.prototype.label): Change the commit representation based on global settings.
(_CommitBank):
(_CommitBank.prototype.commitRepresentations): Check the commit representation cookie, then
the representation endpoint.
(_CommitBank.prototype.setCommitRepresentation): Set the commit representation cookie.
- Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/drawer.js:
(CommitRepresentation): Drawer control allowing user to change commit representation for repositories.
- Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/commits.html: Add new control.
- Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/documentation.html: Ditto.
- Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/search.html: Ditto.
- Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/suite_results.html: Ditto.
- Scripts/libraries/resultsdbpy/setup.py: Bump version.
- 2:58 PM Changeset in webkit [274522] by
-
- 6 edits1 copy in trunk/Source/JavaScriptCore
Add a RootMarkReason printer and also add a few additional reasons.
https://bugs.webkit.org/show_bug.cgi?id=223263
Reviewed by Michael Saboff.
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- heap/Heap.cpp:
(JSC::Heap::addCoreConstraints):
- heap/HeapSnapshotBuilder.cpp:
(JSC::HeapSnapshotBuilder::json):
(JSC::rootTypeToString): Deleted.
- heap/RootMarkReason.cpp: Added.
(JSC::rootMarkReasonDescription):
(WTF::printInternal):
- heap/RootMarkReason.h:
- 2:57 PM Changeset in webkit [274521] by
-
- 85 edits8 copies4 moves4 adds11 deletes in trunk
[macOS] change for the language/subtitle tracks button to use an
NSMenuinstead of web content
https://bugs.webkit.org/show_bug.cgi?id=223239
<rdar://problem/75462340>
Reviewed by Eric Carlson.
Source/WebCore:
Tests: media/modern-media-controls/tracks-support/auto-text-track.html
media/modern-media-controls/tracks-support/captions-offset-with-controls-bar.html
media/modern-media-controls/tracks-support/click-track-in-contextmenu.html
media/modern-media-controls/tracks-support/hidden-tracks.html
media/modern-media-controls/tracks-support/no-tracks.html
media/modern-media-controls/tracks-support/off-text-track.html
media/modern-media-controls/tracks-support/show-contextmenu-then-double-click-on-tracks-button.html
media/modern-media-controls/tracks-support/text-track-selected-via-media-api.html
- Modules/mediacontrols/MediaControlsHost.h:
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsContextMenuProvider::create): Added.
(WebCore::MediaControlsContextMenuProvider::MediaControlsContextMenuProvider): Added.
(WebCore::MediaControlsContextMenuProvider::~MediaControlsContextMenuProvider): Added.
(WebCore::MediaControlsContextMenuProvider::populateContextMenu): Added.
(WebCore::MediaControlsContextMenuProvider::contextMenuItemSelected): Added.
(WebCore::MediaControlsContextMenuProvider::contextMenuCleared): Added.
(WebCore::MediaControlsContextMenuProvider::contextMenuContextType): Added.
(WebCore::MediaControlsContextMenuEventListener::create): Added.
(WebCore::MediaControlsContextMenuEventListener::operator== const): Added.
(WebCore::MediaControlsContextMenuEventListener::handleEvent): Added.
(WebCore::MediaControlsContextMenuEventListener::MediaControlsContextMenuEventListener): Added.
(WebCore::MediaControlsHost::showMediaControlsContextMenu):
Create platform-agnostic helper functions and types for creating submenus and menu items so
that this logic added for iOS can also be used for macOS.
- page/ContextMenuContext.h:
(WebCore::ContextMenuContext::type const): Added.
- page/ContextMenuContext.cpp:
(WebCore::ContextMenuContext::ContextMenuContext):
MoveWebKit::ContextMenuContextData::TypetoWebCore::ContextmenuContext::Typeso that
it can be used in WebCore as well.
- page/ContextMenuProvider.h:
(WebCore::ContextMenuProvider::contextMenuContextType): Added.
- page/ContextMenuController.h:
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::handleContextMenuEvent):
(WebCore::ContextMenuController::showContextMenu):
(WebCore::ContextMenuController::maybeCreateContextMenu):
Allow theContextMenuProviderto further customize theContextMenuthat's created, such
as allowing the hit test to include UA shadow roots and controlling "Inspect Element".
- platform/ContextMenuItem.h:
- platform/ContextMenuItem.cpp:
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::setIndentationLevel): Added.
(WebCore::ContextMenuItem::indentationLevel const): Added.
Provide a way to eventually set the-[NSMenuItem setIndentationLevel:].
- Modules/modern-media-controls/controls/tracks-panel.js: Removed.
- Modules/modern-media-controls/controls/tracks-panel.css: Removed.
- Modules/modern-media-controls/controls/background-click-delegate-notifier.js:
(BackgroundClickDelegateNotifier.prototype.handleEvent):
- Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css:
(.media-controls.mac.fullscreen):
- Modules/modern-media-controls/controls/media-controls.js:
(MediaControls.prototype.showTracksPanel): Deleted.
(MediaControls.prototype.hideTracksPanel): Deleted.
- Modules/modern-media-controls/controls/media-controls.css:
(.media-controls.shows-tracks-panel > .controls-bar > *, .media-controls.shows-tracks-panel > button): Deleted.
- Modules/modern-media-controls/media/tracks-support.js:
(TracksSupport.prototype.buttonWasPressed):
(TracksSupport.prototype.syncControl):
(TracksSupport.prototype._sortedTrackList):
(TracksSupport): Deleted.
(TracksSupport.prototype.tracksPanelNumberOfSections): Deleted.
(TracksSupport.prototype.tracksPanelTitleForSection): Deleted.
(TracksSupport.prototype.tracksPanelNumberOfTracksInSection): Deleted.
(TracksSupport.prototype.tracksPanelTitleForTrackInSection): Deleted.
(TracksSupport.prototype.tracksPanelIsTrackInSectionSelected): Deleted.
(TracksSupport.prototype.tracksPanelSelectionDidChange): Deleted.
- Modules/modern-media-controls/js-files:
Remove everything related to
TracksPanelnow that macOS also uses a contextmenu.
- Modules/modern-media-controls/controls/inline-media-controls.js:
(InlineMediaControls.prototype.layout):
(InlineMediaControls.prototype._rightContainerButtons):
(InlineMediaControls.prototype._droppableButtons):
- Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js:
(MacOSFullscreenMediaControls):
TheOverflowButtonshould be the last right container button to be dropped.
- Modules/modern-media-controls/media/media-controller.js:
(MediaController.prototype.showMediaControlsContextMenu):
Provide a way for callers to provide additional options.
- page/MediaControlsContextMenuItem.h:
(WebCore::MediaControlsContextMenuItem::encode const):
(WebCore::MediaControlsContextMenuItem::decode):
Drive-by: RenameisCheckedtocheckedto matchContextMenuItem.
- Modules/modern-media-controls/controls/tracks-button.js:
(TracksButton.prototype.get contextMenuOptions):
Drive-by: Rename object keys for clarity.
- page/ChromeClient.h:
Be more explicit with compiler flags.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::mediaControlsScript):
- Modules/modern-media-controls/images/macOS/Overflow.svg:
Rework this "..." icon to be ">>" to match similar icons elsewhere on macOS.
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit:
- Shared/ContextMenuContextData.h:
- Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::ContextMenuContextData):
MoveWebKit::ContextMenuContextData::TypetoWebCore::ContextmenuContext::Typeso that
it can be used in WebCore as well.
- Shared/WebContextMenuItemData.h:
- Shared/WebContextMenuItemData.cpp:
(WebKit::WebContextMenuItemData::WebContextMenuItemData):
(WebKit::WebContextMenuItemData::core const):
(WebKit::WebContextMenuItemData::encode const):
(WebKit::WebContextMenuItemData::decode):
(WebKit::WebContextMenuItemData::indentationLevel const): Added.
Provide a way to eventually set the-[NSMenuItem setIndentationLevel:].
- UIProcess/WebContextMenuProxy.h:
- UIProcess/mac/WebContextMenuProxyMac.h:
- UIProcess/mac/WebContextMenuProxyMac.mm:
(-[WKMenuDelegate initWithMenuProxy:]): Added.
(-[WKMenuDelegate menuWillOpen:]): Added.
(-[WKMenuDelegate menuDidClose:]): Added.
(WebKit::WebContextMenuProxyMac::getContextMenuItem):
(WebKit::WebContextMenuProxyMac::useContextMenuItems):
(WebKit::WebContextMenuProxyMac::platformMenu const): Added.
(WebKit::contentsOfContextMenuItem): Added.
(WebKit::WebContextMenuProxyMac::platformData const): Added.
Add support for-[NSMenuItem setIndentationLevel:].
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _contentsOfUserInterfaceItem:]):
(-[WKWebView _didShowContextMenu]): Added.
(-[WKWebView _didDismissContextMenu]): Added.
- UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h:
- UIProcess/API/ios/WKWebViewTestingIOS.mm:
(-[WKWebView _didShowContextMenu]): Deleted.
(-[WKWebView _didDismissContextMenu]): Deleted.
Move these methods so they can be used on macOS too.
- UIProcess/PageClient.h:
(WebKit::PageClient::didShowContextMenu): Added.
(WebKit::PageClient::didDismissContextMenu): Added.
- UIProcess/mac/PageClientImplMac.h:
- UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::didShowContextMenu): Added.
(WebKit::PageClientImpl::didDismissContextMenu): Added.
Add support fordidShowContextMenu/didDismissContextMenufor tests.
- UIProcess/API/mac/WKWebViewTestingMac.mm:
(-[WKWebView _activeMenu]):
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::contentsOfUserInterfaceItem): Added.
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::platformActiveContextMenu const): Added.
Add support forcontentsOfUserInterfaceItemfor tests.
- UIProcess/WebPageProxy.messages.in:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.cpp:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
- UIProcess/ios/WKActionSheetAssistant.h:
- UIProcess/ios/WKActionSheetAssistant.mm:
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.cpp:
Be more explicit with compiler flags.
Source/WTF:
- wtf/PlatformEnableCocoa.h:
Turn on
ENABLE_MEDIA_CONTROLS_CONTEXT_MENUSfor macOS.
Tools:
- WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
- WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView _didShowContextMenu]):
(-[TestRunnerWKWebView _didDismissContextMenu]):
(-[TestRunnerWKWebView resetInteractionCallbacks]):
- WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
- WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::setDidShowContextMenuCallback): Added.
(WTR::UIScriptControllerCocoa::setDidDismissContextMenuCallback): Added.
(WTR::UIScriptControllerCocoa::isShowingContextMenu const): Added.
- WebKitTestRunner/ios/UIScriptControllerIOS.h:
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::setDidShowContextMenuCallback): Deleted.
(WTR::UIScriptControllerIOS::setDidDismissContextMenuCallback): Deleted.
(WTR::UIScriptControllerIOS::isShowingContextMenu const): Deleted.
Move these methods so they can be used on macOS too.
LayoutTests:
- media/modern-media-controls/tracks-support/auto-text-track.html: Added.
- media/modern-media-controls/tracks-support/auto-text-track-expected.txt: Added.
- media/modern-media-controls/tracks-support/click-track-in-contextmenu.html: Added.
- media/modern-media-controls/tracks-support/click-track-in-contextmenu-expected.txt: Added.
- media/modern-media-controls/tracks-support/hidden-tracks.html: Added.
- media/modern-media-controls/tracks-support/hidden-tracks-expected.txt: Added.
- media/modern-media-controls/tracks-support/off-text-track.html: Added.
- media/modern-media-controls/tracks-support/off-text-track-expected.txt: Added.
- media/modern-media-controls/tracks-support/show-contextmenu-then-double-click-on-tracks-button.html: Added.
- media/modern-media-controls/tracks-support/show-contextmenu-then-double-click-on-tracks-button-expected.txt: Added.
- media/modern-media-controls/tracks-support/text-track-selected-via-media-api.html: Added.
- media/modern-media-controls/tracks-support/text-track-selected-via-media-api-expected.txt: Added.
- media/modern-media-controls/tracks-support/ios/tracks-support-auto-text-track.html: Removed.
- media/modern-media-controls/tracks-support/ios/tracks-support-auto-text-track-expected.txt: Removed.
- media/modern-media-controls/tracks-support/ios/tracks-support-click-track-in-contextmenu.html: Removed.
- media/modern-media-controls/tracks-support/ios/tracks-support-click-track-in-contextmenu-expected.txt: Removed.
- media/modern-media-controls/tracks-support/ios/tracks-support-hidden-tracks.html: Removed.
- media/modern-media-controls/tracks-support/ios/tracks-support-hidden-tracks-expected.txt: Removed.
- media/modern-media-controls/tracks-support/ios/tracks-support-off-text-track.html: Removed.
- media/modern-media-controls/tracks-support/ios/tracks-support-off-text-track-expected.txt: Removed.
- media/modern-media-controls/tracks-support/ios/tracks-support-show-contextmenu-then-double-click-on-tracks-button.html: Removed.
- media/modern-media-controls/tracks-support/ios/tracks-support-show-contextmenu-then-double-click-on-tracks-button-expected.txt: Removed.
- media/modern-media-controls/tracks-support/ios/tracks-support-text-track-selected-via-media-api.html: Removed.
- media/modern-media-controls/tracks-support/ios/tracks-support-text-track-selected-via-media-api-expected.txt: Removed.
Move the iOS tracks support tests out of an iOS folder since macOS now also uses a contextmenu.
- media/modern-media-controls/resources/media-controls-loader.js:
- media/modern-media-controls/resources/media-controls-utils.js:
(showTracksPanel): Deleted.
- media/modern-media-controls/media-controller/media-controller-click-on-video-background-to-dismiss-tracks-panel-should-not-toggle-playback.html: Removed.
- media/modern-media-controls/media-controller/media-controller-click-on-video-background-to-dismiss-tracks-panel-should-not-toggle-playback-expected.txt: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel.html: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-expected.txt: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it.html: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it-expected.txt: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-hide.html: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-hide-expected.txt: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-hide-click-outside.html: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-hide-click-outside-expected.txt: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-hide-esc-key.html: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-hide-esc-key-expected.txt: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-population.html: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-population-expected.txt: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-position-and-size.html: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-position-and-size-expected.txt: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-prevent-controls-bar-from-fading.html: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-prevent-controls-bar-from-fading-expected.txt: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-prevent-default-on-keydown.html: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-prevent-default-on-keydown-expected.txt: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-right-x.html: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-right-x-expected.txt: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-select-track-with-keyboard.html: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-select-track-with-keyboard-expected.txt: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-select-track-with-mouse.html: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-select-track-with-mouse-expected.txt: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-up-click-outside-media-does-not-dimiss-media-controls-when-media-is-paused.html: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-up-click-outside-media-does-not-dimiss-media-controls-when-media-is-paused-expected.txt: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-up-click-over-media-does-not-dimiss-media-controls-when-media-is-playing.html: Removed.
- media/modern-media-controls/tracks-panel/tracks-panel-up-click-over-media-does-not-dimiss-media-controls-when-media-is-playing-expected.txt: Removed.
- media/modern-media-controls/tracks-support/mac/tracks-support-auto-text-track.html: Removed.
- media/modern-media-controls/tracks-support/mac/tracks-support-auto-text-track-expected.txt: Removed.
- media/modern-media-controls/tracks-support/mac/tracks-support-click-track-in-panel.html: Removed.
- media/modern-media-controls/tracks-support/mac/tracks-support-click-track-in-panel-expected.txt: Removed.
- media/modern-media-controls/tracks-support/mac/tracks-support-hidden-tracks.html: Removed.
- media/modern-media-controls/tracks-support/mac/tracks-support-hidden-tracks-expected.txt: Removed.
- media/modern-media-controls/tracks-support/mac/tracks-support-off-text-track.html: Removed.
- media/modern-media-controls/tracks-support/mac/tracks-support-off-text-track-expected.txt: Removed.
- media/modern-media-controls/tracks-support/mac/tracks-support-show-and-populate-panel.html: Removed.
- media/modern-media-controls/tracks-support/mac/tracks-support-show-and-populate-panel-expected.txt: Removed.
- media/modern-media-controls/tracks-support/mac/tracks-support-show-panel-after-dragging-controls.html: Removed.
- media/modern-media-controls/tracks-support/mac/tracks-support-show-panel-after-dragging-controls-expected.txt: Removed.
- media/modern-media-controls/tracks-support/mac/tracks-support-show-panel-fullscreen.html: Removed.
- media/modern-media-controls/tracks-support/mac/tracks-support-show-panel-fullscreen-expected.txt: Removed.
- media/modern-media-controls/tracks-support/mac/tracks-support-show-panel-then-double-click-on-tracks-button.html: Removed.
- media/modern-media-controls/tracks-support/mac/tracks-support-show-panel-then-double-click-on-tracks-button-expected.txt: Removed.
- media/modern-media-controls/tracks-support/mac/tracks-support-text-track-selected-via-media-api.html: Removed.
- media/modern-media-controls/tracks-support/mac/tracks-support-text-track-selected-via-media-api-expected.txt: Removed.
Remove everything related to
TracksPanelnow that macOS also uses a contextmenu.
- media/modern-media-controls/tracks-support/captions-offset-with-controls-bar.html: Renamed from LayoutTests/media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar.html.
- media/modern-media-controls/tracks-support/captions-offset-with-controls-bar-expected.txt: Renamed from LayoutTests/media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar-expected.txt.
- media/modern-media-controls/tracks-support/no-tracks.html: Renamed from LayoutTests/media/modern-media-controls/tracks-support/tracks-support-no-tracks.html.
- media/modern-media-controls/tracks-support/no-tracks-expected.txt: Renamed from LayoutTests/media/modern-media-controls/tracks-support/tracks-support-no-tracks-expected.txt.
Renamed these tests to remove the redundant "tracks-support".
- media/modern-media-controls/tracks-support/tracks-support-audio-tracks.html: Removed.
- media/modern-media-controls/tracks-support/tracks-support-audio-tracks-expected.txt: Removed.
- media/modern-media-controls/tracks-support/tracks-support-text-tracks.html: Removed.
- media/modern-media-controls/tracks-support/tracks-support-text-tracks-expected.txt: Removed.
These tests are covered by the other added/renamed tests above.
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles-expected.txt:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles.html:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles-expected.txt:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor.html:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor-expected.txt:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin.html:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin-expected.txt:
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-placard.html:
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-slider-visibility.html:
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-dropping-controls-expected.txt:
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-shows-start-button.html:
Update existing tests to accomodate the
OverflowButton.
- resources/ui-helper.js:
(window.UIHelper.chooseMenuAction): Added.
(window.UIHelper.async chooseMenuAction): Deleted.
UseUIScriptController.prototype.chooseMenuActioninstead of a combination of
UIScriptController.prototype.rectForMenuActionandUIScriptController.prototype.activateAt
sinceUIScriptController::chooseMenuActionbasically does that anyways.
- TestExpectations:
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 2:40 PM Changeset in webkit [274520] by
-
- 9 edits in trunk
Runtime-disabled CSS features still still appear enabled via two-arg CSS.supports()
https://bugs.webkit.org/show_bug.cgi?id=223141
Reviewed by Antti Koivisto.
Source/WebCore:
Fix the CSS.supports(property, value) entrypoint to check for runtime-disabled
CSS properties.
Move isPropertyRuntimeDisabled() to CSSParserContext, and call it from the
appropriate DOMCSSNamespace::supports() entrypoint.
Tested by fast/css/overscroll-behavior-invalidate-if-disabled.html
- css/DOMCSSNamespace.cpp:
(WebCore::DOMCSSNamespace::supports):
- css/parser/CSSParserContext.cpp:
(WebCore::CSSParserContext::isPropertyRuntimeDisabled const):
- css/parser/CSSParserContext.h:
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeDeclaration):
(WebCore::CSSParserImpl::isPropertyRuntimeDisabled const): Deleted.
- css/parser/CSSParserImpl.h:
LayoutTests:
- fast/css/overscroll-behavior-invalidate-if-disabled-expected.txt:
- fast/css/overscroll-behavior-invalidate-if-disabled.html:
- 2:30 PM Changeset in webkit [274519] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Fix Nicosia build without CSS_SCROLL_SNAP after r274495.
- page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp:
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::handleWheelEvent):
Add feature guards.
- 2:27 PM Changeset in webkit [274518] by
-
- 3 edits1 move4 adds3 deletes in trunk
Make WebGL conformance test update script more usable and consistent
https://bugs.webkit.org/show_bug.cgi?id=223112
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-03-16
Reviewed by Kenneth Russell.
Tools:
Moves the script LayoutTests/webgl/generate-webgl-tests over
unused and stale Tools/Scripts/update-webgl-conformance-tests
Fixes the script to:
- to support generation of the test driver .html files with webglVersion=2
- copy the webgl conformance test files once to webgl/resources/webgl_test_files. Previously they were copied twice, 1.0.3/resources/.. and 2.0.0/resources
- to support copying all the tests at the same time. Previously each individual suites (1.0.3, 2.0.0) would be copied in different invocations, leading to errors and omissions to run when something changes, such as the templates.
- supports generation of the directories from scratch, so that no stale files such as expectations, driver .html files or test suite content is left.
- automatically filter files that do not need to be copied (deqp/compiler.jar, ...)
- try to adopt a style somewhat consistent with other WebKit python scripts
- copy to upcoming 1.0.4 and 2.0.1 instead of old 1.0.3/2.0.0.
- Scripts/update-webgl-conformance-tests:
- Scripts/webkitpy/to_be_moved/init.py: Removed.
- Scripts/webkitpy/to_be_moved/update_webgl_conformance_tests.py: Removed.
- Scripts/webkitpy/to_be_moved/update_webgl_conformance_tests_unittest.py: Removed.
- Scripts/webkitpy/update_webgl_conformance_tests_lib/main.py: Added.
(_make_ignore_fnmatch_rule_matcher):
(_make_ignore_fnmatch_rule_matcher.match_rules):
(_copy_tree):
(_WebGLTest):
(_parse_webgl_tests):
(_filter_webgl_test_paths_for_suite_version):
(_generate_webkit_webgl_tests):
(_find_expectations_for_removed_tests):
(main):
- Scripts/webkitpy/update_webgl_conformance_tests_lib/webgl-expectation-template.txt: Renamed from LayoutTests/webgl/resources/webgl-expectation-template.txt.
- Scripts/webkitpy/update_webgl_conformance_tests_lib/webgl-test-driver-template.html: Renamed from LayoutTests/webgl/resources/webgl-wrapper-template.html.
- Scripts/webkitpy/update_webgl_conformance_tests_lib/webkit-webgl-test-harness-template.js: Added.
(window.layoutTestController.window.console.log):
(window.layoutTestController.window.console.error):
(list):
(log):
(window.webglTestHarness.reportResults):
(window.webglTestHarness.notifyFinished):
LayoutTests:
Move the script over the existing but unused Tools/Scripts/update-webgl-conformance-tests.
- webgl/generate-webgl-tests: Removed.
- 2:21 PM Changeset in webkit [274517] by
-
- 2 edits in trunk/LayoutTests
[BigSur arm64] compositing/z-order/rebuild-sibling-of-layer-with-foreground-layer.html is a flakey image failure
https://bugs.webkit.org/show_bug.cgi?id=223265
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 2:17 PM Changeset in webkit [274516] by
-
- 2 edits in trunk/Source/WebKit
[Swift] Ambiguous use of 'closeAllMediaPresentations'
https://bugs.webkit.org/show_bug.cgi?id=223275
<rdar://problem/75447989>
Reviewed by Tim Horton.
We added back deprecated media playback control APIs in
https://trac.webkit.org/changeset/273186/webkit after a name change
to support early adoptors. Importing these methods to Swift causes
a method redefinition error because the completion handler in both
cases is nullable. We should ignore the deprecated APIs for Swift.
- UIProcess/API/Cocoa/WKWebView.h:
- 2:11 PM Changeset in webkit [274515] by
-
- 2 edits in trunk/LayoutTests
[ macOS debug arm64 ] ASSERTION FAILED: count >= 1 ./rendering/RenderMultiColumnSet.cpp(450) : unsigned int WebCore::RenderMultiColumnSet::columnCount() const
https://bugs.webkit.org/show_bug.cgi?id=223144
Unreviewed test gardening.
- platform/mac/TestExpectations: updating expectations to crash while test is being reviewed.
- 2:01 PM Changeset in webkit [274514] by
-
- 2 edits in trunk/LayoutTests
[ BigSur wk2 arm64 ] 4 webrtc/ Layout-tests are consistently timing out
https://bugs.webkit.org/show_bug.cgi?id=223043
Uneviewed test gadening.
- platform/mac/TestExpectations: Re-updating expectations for one test that started timing out when marked as Failure.
- 1:57 PM Changeset in webkit [274513] by
-
- 31 edits in trunk
PCM: Test infrastructure for sending attribution reports to attribution website too
https://bugs.webkit.org/show_bug.cgi?id=223238
<rdar://problem/75462031>
Reviewed by Brent Fulgham.
setPrivateClickMeasurementAttributionReportURLForTesting() now is named
setPrivateClickMeasurementAttributionReportURLsForTesting() in the layers that
eventually reach WebKit::PrivateClickMeasurementManager. It takes two URLs
attributionReportSourceURL and attributionReportAttributeOnURL and sets them
in a new struct AttributionReportTestConfig.
Source/WebKit:
No new tests. This patch just adds test infrastructure for a coming patch.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::setPrivateClickMeasurementAttributionReportURLsForTesting):
(WebKit::NetworkProcess::setPrivateClickMeasurementAttributionReportURLForTesting): Deleted.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::setPrivateClickMeasurementAttributionReportURLsForTesting):
(WebKit::NetworkSession::setPrivateClickMeasurementAttributionReportURLForTesting): Deleted.
- NetworkProcess/NetworkSession.h:
- NetworkProcess/PrivateClickMeasurementManager.cpp:
(WebKit::PrivateClickMeasurementManager::fireConversionRequestImpl):
(WebKit::PrivateClickMeasurementManager::setAttributionReportURLsForTesting):
(WebKit::PrivateClickMeasurementManager::setAttributionReportURLForTesting): Deleted.
- NetworkProcess/PrivateClickMeasurementManager.h:
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPrivateClickMeasurementAttributionReportURLsForTesting):
(WKPageSetPrivateClickMeasurementAttributionReportURLForTesting): Deleted.
- UIProcess/API/C/WKPagePrivate.h:
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _setPrivateClickMeasurementAttributionReportURLsForTesting:attributeOnURL:completionHandler:]):
(-[WKWebView _setPrivateClickMeasurementAttributionReportURLForTesting:completionHandler:]): Deleted.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setPrivateClickMeasurementAttributionReportURLsForTesting):
(WebKit::WebPageProxy::setPrivateClickMeasurementAttributionReportURLForTesting): Deleted.
- UIProcess/WebPageProxy.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::TEST):
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setPrivateClickMeasurementAttributionReportURLsForTesting):
(WTR::TestRunner::setPrivateClickMeasurementAttributionReportURLForTesting): Deleted.
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::setPrivateClickMeasurementAttributionReportURLsForTesting):
(WTR::TestController::setPrivateClickMeasurementAttributionReportURLForTesting): Deleted.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
LayoutTests:
- http/tests/contentextensions/block-private-click-measurement.html:
- http/tests/privateClickMeasurement/conversion-disabled-in-ephemeral-session.html:
- http/tests/privateClickMeasurement/expired-attribution-report-gets-sent-on-session-start.html:
- http/tests/privateClickMeasurement/resources/getConversionData.php:
- http/tests/privateClickMeasurement/resources/util.js:
(tearDownAndFinish):
- http/tests/privateClickMeasurement/send-attribution-conversion-request.html:
- http/tests/privateClickMeasurement/store-private-click-measurement-with-source-nonce.html:
- platform/mac-wk2/TestExpectations:
This was marked as an old flaky failure and tracked in rdar://63357481.
I've kept my eye on it and it does not seem flaky anymore. Removed failure
expectation to get better test coverage.
- 1:51 PM Changeset in webkit [274512] by
-
- 4 edits in trunk/Tools
[git-webkit] Showing help instead of raising an exception with no command
https://bugs.webkit.org/show_bug.cgi?id=223235
<rdar://problem/75480951>
Reviewed by Ryosuke Niwa.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/program/init.py:
(main):
- 1:50 PM Changeset in webkit [274511] by
-
- 2 edits in trunk/LayoutTests
Many media/media-fragments/ tests are crashing due to other tests that run before them.
https://bugs.webkit.org/show_bug.cgi?id=223277
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 1:39 PM Changeset in webkit [274510] by
-
- 2 edits in branches/safari-611.1.21.1-branch/Source/WebCore/PAL
Cherry-pick r274023. rdar://problem/75052309
[Win] Fix compile error
https://bugs.webkit.org/show_bug.cgi?id=222802
<rdar://problem/75052309>
Reviewed by Dean Jackson.
Declare CTFontTransformOptions if associated header file has not been included.
- pal/spi/win/CoreTextSPIWin.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@274023 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:05 PM Changeset in webkit [274509] by
-
- 2 edits in trunk/Source/WebCore
Web Automation: Web Share menu being open causes hang in
Automation.isShowingJavaScriptDialog
https://bugs.webkit.org/show_bug.cgi?id=223267
Reviewed by BJ Burg.
The Web Share menu should automatically resolve if the page is being controlled by automation and all other
conditions for display are met (we have no reason to reject the promise) in order to prevent hanging an
automation session on a menu that can not be interacted with.
- page/Navigator.cpp:
(WebCore::Navigator::showShareData):
- 12:47 PM Changeset in webkit [274508] by
-
- 3 edits in trunk/LayoutTests
[ macOS Debug ] 2 imported/w3c/web-platform-tests/xhr/ are flakey text failures
Nhttps://bugs.webkit.org/show_bug.cgi?id=223271
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations: Updated expectations to Pass Fail for BigSur Debug wk1.
- platform/mac/TestExpectations: Updated expectations to Pass Fail for BigSur Debug.
- 12:10 PM Changeset in webkit [274507] by
-
- 2 edits in trunk/LayoutTests
[MacOS wk2] imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-updating.html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=222210
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations: Removing Debug filter from expectation to cover flakiness on EWS.
- 12:03 PM Changeset in webkit [274506] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
Unreviewed, reverting r274499.
https://bugs.webkit.org/show_bug.cgi?id=223268
Not a correct fix
Reverted changeset:
"[WebView _touchEventRegions] needs to take the web lock"
https://bugs.webkit.org/show_bug.cgi?id=223266
https://trac.webkit.org/changeset/274499
- 12:02 PM Changeset in webkit [274505] by
-
- 3 edits1 move1 delete in trunk/JSTests
Unreviewed, reverting r274405.
https://bugs.webkit.org/show_bug.cgi?id=223187
Test is failing now
Reverted changeset:
"[JSC] Run one Mozilla test explicitly under PST since this
test does not work when we are moving from PST to PDT"
https://bugs.webkit.org/show_bug.cgi?id=223158
https://trac.webkit.org/changeset/274405
- 12:00 PM Changeset in webkit [274504] by
-
- 2 edits in trunk/Source/WebKit
The WebContent process crashes when launching Safari
https://bugs.webkit.org/show_bug.cgi?id=223264
<rdar://75482851>
Reviewed by Brent Fulgham.
The WebContent process crashes when launching Safari on older OSes, because of unavailable sandbox features.
- WebProcess/com.apple.WebProcess.sb.in:
- 11:46 AM Changeset in webkit [274503] by
-
- 18 edits2 deletes in branches/safari-611.1.21.0-branch/Source/WebKit
Cherry-pick r274462. rdar://problem/75485320
Unreviewed, revert r272629 as it caused regressions in some apps
https://bugs.webkit.org/show_bug.cgi?id=223232
<rdar://75440378>
- SourcesCocoa.txt:
- UIProcess/API/Cocoa/WKWebView.mm:
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/Cocoa/PageClientImplCocoa.h:
- UIProcess/Cocoa/PageClientImplCocoa.mm:
- UIProcess/Cocoa/WKBlankOverlayView.h: Removed.
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didCommitLoadForFrame): (WebKit::WebPageProxy::runJavaScriptAlert): (WebKit::WebPageProxy::runJavaScriptConfirm): (WebKit::WebPageProxy::runJavaScriptPrompt):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::didCommitLayerTree):
- UIProcess/mac/WebPageProxyMac.mm:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didCommitLoad):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: (WebKit::TiledCoreAnimationDrawingArea::updateRendering):
- WebProcess/WebPage/mac/WebPageMac.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@274462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:46 AM Changeset in webkit [274502] by
-
- 18 edits2 deletes in branches/safari-611.1.21.1-branch/Source/WebKit
Cherry-pick r274462. rdar://problem/75485338
Unreviewed, revert r272629 as it caused regressions in some apps
https://bugs.webkit.org/show_bug.cgi?id=223232
<rdar://75440378>
- SourcesCocoa.txt:
- UIProcess/API/Cocoa/WKWebView.mm:
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/Cocoa/PageClientImplCocoa.h:
- UIProcess/Cocoa/PageClientImplCocoa.mm:
- UIProcess/Cocoa/WKBlankOverlayView.h: Removed.
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didCommitLoadForFrame): (WebKit::WebPageProxy::runJavaScriptAlert): (WebKit::WebPageProxy::runJavaScriptConfirm): (WebKit::WebPageProxy::runJavaScriptPrompt):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::didCommitLayerTree):
- UIProcess/mac/WebPageProxyMac.mm:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didCommitLoad):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: (WebKit::TiledCoreAnimationDrawingArea::updateRendering):
- WebProcess/WebPage/mac/WebPageMac.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@274462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:44 AM Changeset in webkit [274501] by
-
- 4 edits in trunk/Source/WebCore
Attempt to restore highlights after paint to account for newly loaded content.
https://bugs.webkit.org/show_bug.cgi?id=223191
rdar://74722200
Reviewed by Tim Horton.
- Modules/highlight/AppHighlightStorage.cpp:
(WebCore::AppHighlightStorage::restoreUnrestoredAppHighlights):
- Modules/highlight/AppHighlightStorage.h:
- page/Page.cpp:
(WebCore::Page::doAfterUpdateRendering):
- 11:39 AM Changeset in webkit [274500] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
REGRESSION (r272300): [iOS] ASSERTION FAILED: Unsafe to ref/deref from different threads under WebViewLayerFlushScheduler::layerFlushCallback
https://bugs.webkit.org/show_bug.cgi?id=222712
<rdar://problem/75022845>
Reviewed by Simon Fraser.
We are scheduling a layer flush from a layerFlushCallback and so rescheduling the RunLoopObserver.
This is fine in itself but becomes a problem when the main thread web lock auto-unlock observer
runs before that observer. Then that layer flush runs without the web lock held and messes up
ref/deref main thread asserts (isMainThread() returns false when the web lock is not held).
- WebView/WebViewData.mm:
(WebViewLayerFlushScheduler::layerFlushCallback):
Fix by explicitly taking the lock.
- 11:35 AM Changeset in webkit [274499] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
[WebView _touchEventRegions] needs to take the web lock
https://bugs.webkit.org/show_bug.cgi?id=223266
Reviewed by Simon Fraser.
Clicking anything in UIWebView test app in debug build hits thread assert immediately.
- WebView/WebView.mm:
(-[WebView _touchEventRegions]):
- 11:22 AM Changeset in webkit [274498] by
-
- 1 copy in tags/Safari-612.1.6.3
Tag Safari-612.1.6.3.
- 11:12 AM Changeset in webkit [274497] by
-
- 8 edits in branches/safari-612.1.6-branch/Source
Versioning.
WebKit-7612.1.6.3
- 11:08 AM Changeset in webkit [274496] by
-
- 2 edits in trunk/Tools
EWS is not showing filtered errors view
https://bugs.webkit.org/show_bug.cgi?id=223251
Reviewed by Jonathan Bedard.
- CISupport/ews-build/steps.py:
(BuildLogLineObserver.outLineReceived): Use for loop instead of map.
- 11:03 AM Changeset in webkit [274495] by
-
- 3 edits in trunk/Source/WebCore
[Nicosia] Add support for scroll-snap when handling wheel events
https://bugs.webkit.org/show_bug.cgi?id=223255
Patch by Martin Robinson <mrobinson@igalia.com> on 2021-03-16
Reviewed by Žan Doberšek.
No new tests. This fixes css3/scroll-snap/scroll-snap-wheel-event.html
for Nicosia ports.
- page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp:
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::handleWheelEvent):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::pageScaleFactor):
- page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.h:
- 10:56 AM Changeset in webkit [274494] by
-
- 2 edits in trunk/Tools
[ews] Remove old Python 2 related code - part 2
https://bugs.webkit.org/show_bug.cgi?id=222975
Reviewed by Jonathan Bedard.
- CISupport/ews-build/steps_unittest.py:
- 10:55 AM Changeset in webkit [274493] by
-
- 2 edits in trunk/LayoutTests
[GPUP] Some web audio WPT tests fail when media in GPU Process is enabled
https://bugs.webkit.org/show_bug.cgi?id=221696
Unreviewed test gardening.
- platform/wk2/TestExpectations:
- 10:43 AM Changeset in webkit [274492] by
-
- 2 edits in trunk/LayoutTests
[GPUP] Some modern-media-controls tests are flaky when media in GPU Process is enabled
https://bugs.webkit.org/show_bug.cgi?id=221685
Unreviewed test gardening.
- platform/wk2/TestExpectations:
- 10:41 AM Changeset in webkit [274491] by
-
- 6 edits in trunk/Source
Terminate network process when making new WebProcessPool in Lutron App
https://bugs.webkit.org/show_bug.cgi?id=223194
<rdar://74674915>
Reviewed by Geoff Garen.
Source/WebCore:
- platform/RuntimeApplicationChecks.h:
- platform/cocoa/RuntimeApplicationChecksCocoa.mm:
(WebCore::IOSApplication::isLutron):
- platform/cocoa/VersionChecks.h:
Source/WebKit:
The Lutron App uses allocation of a new WKProcessPool as a way to stop using old session cookies.
Since r267763 we keep the session cookies for the lifetime of a WKWebsiteDataStore instead of making a new process for each WKProcessPool.
Add a quirk for this app until they update to use a new WKWebsiteDataStore or use WKHTTPCookieStore API to clear the cookies properly.
I manually verified this causes the logging out to succeed.
- UIProcess/WebProcessPool.cpp:
- 10:33 AM Changeset in webkit [274490] by
-
- 2 edits in trunk/Source/WebKit
Add internal additions for WebAuthn compatibility
https://bugs.webkit.org/show_bug.cgi?id=223168
<rdar://problem/74890060>
Reviewed by Brent Fulgham.
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(shouldUseAlternateQuery):
(alternateQueryForRPID):
(WebKit::LocalAuthenticatorInternal::getExistingCredentials):
- 10:30 AM Changeset in webkit [274489] by
-
- 2 edits1 add1 delete in trunk/LayoutTests
[LayoutTests] Convert http/tests/quicklook convert PHP to Python
https://bugs.webkit.org/show_bug.cgi?id=223212
<rdar://problem/75444850>
Reviewed by Jonathan Bedard.
- http/tests/quicklook/csp-header-ignored.html:
- http/tests/quicklook/resources/word-document-with-csp-block-frame-ancestors.php: Removed.
- http/tests/quicklook/resources/word-document-with-csp-block-frame-ancestors.py: Added.
- 10:20 AM Changeset in webkit [274488] by
-
- 2 edits in trunk/LayoutTests
[ macOS ARM64 ] webgl/2.0.0/conformance2/textures/misc/tex-mipmap-levels.html is constantly text failing
https://bugs.webkit.org/show_bug.cgi?id=223259
Uneviewed test gardening.
- platform/mac/TestExpectations: Updating expectations to Failure until test can be reviewed.
- 10:08 AM Changeset in webkit [274487] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Scroll event is fired before webkitfullscreenchange event when an element enters fullscreen
https://bugs.webkit.org/show_bug.cgi?id=223221
Reviewed by Eric Carlson.
Defer the "scroll" event until the "webkitfullscreenchange" event is fired
when an element enters fullscreen. We have to do that because some sites use
"scroll" event handler to remove elements out of visible area, which may
conflict with the entering fullscreen process.
No new tests. We cannot test this patch with a layout test because
InjectedBundlePageFullScreenClientin WKTR does not support testing the
fullscreen implementation in the UI process, which is related to the "scroll"
event. We cannot add an API test on iOS for it either because the test binary
is not a real "app" (webkit.org/b/212654).
- UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController enterFullScreen]):
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
- 9:57 AM Changeset in webkit [274486] by
-
- 6 edits in trunk
Add signpost for injected bundle creation
https://bugs.webkit.org/show_bug.cgi?id=223068
Reviewed by Alex Christensen.
Source/WebKit:
Emit signposts for creation of injected bundle.
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::create):
Source/WTF:
Add trace point codes for start and end of injected bundle creation.
- wtf/SystemTracing.h:
Tools:
Add injected bundle signposts to .plist file.
- Tracing/SystemTracePoints.plist:
- 9:53 AM Changeset in webkit [274485] by
-
- 3 edits in trunk/Source/WebCore
[Cocoa] YouTube audio stalls occasionally
https://bugs.webkit.org/show_bug.cgi?id=223233
<rdar://75057532>
Reviewed by Eric Carlson.
In r273513, we added support for parsing of audio frames which spanned
appends. But in so doing, left in a bug where the size and starting byte
offset of those audio frames was miscalculated. Previously, the starting
byte offset was reset during each pass through consumeFrameData(), and the
size of the m_packetData was increased by the full packet size each pass
as well, leading to both an incorrect starting point for the frame and an
incorrect overall size of the combined packet data. This lead to a decoding
error when the parser hit the empty frame bytes after the last successful
partial parse.
Now, we will add explicit tracking of the current frame's starting byte
offset as well as the frame's size, reset after each successful full frame
parse.
- platform/graphics/cocoa/SourceBufferParserWebM.cpp:
(WebCore::SourceBufferParserWebM::AudioTrackData::consumeFrameData):
- platform/graphics/cocoa/SourceBufferParserWebM.h:
- 9:44 AM Changeset in webkit [274484] by
-
- 2 edits in trunk/LayoutTests
[ BigSur wk2 arm64 ] 4 webrtc/ Layout-tests are consistently timing out
https://bugs.webkit.org/show_bug.cgi?id=223043
Uneviewed test gadening.
- platform/mac/TestExpectations: Temporarily updating test expectations for 18 web/rtc tests that only have issues on Apple Silicon Macs, until they can be resolved.
- 9:34 AM Changeset in webkit [274483] by
-
- 5 edits in trunk/Tools
[webkitscmpy] Decode multiple commit representations
https://bugs.webkit.org/show_bug.cgi?id=223224
<rdar://problem/75455129>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:
(Commit.from_json): Decode old results database style commit representations.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/commit_unittest.py:
- 9:21 AM Changeset in webkit [274482] by
-
- 2 edits in trunk/Source/WebCore
Protect DOMFileSystem when hopping to a background thread
https://bugs.webkit.org/show_bug.cgi?id=223246
Reviewed by Chris Dumez.
Make sure to ref when hopping to background thread and hop back to main thread to unref.
- Modules/entriesapi/DOMFileSystem.cpp:
(WebCore::DOMFileSystem::getParent):
(WebCore::DOMFileSystem::getEntry):
- 9:05 AM Changeset in webkit [274481] by
-
- 4 edits in trunk/Tools
[prepare-ChangeLog] Assigning a multiline comment to a variable breaks change detection
https://bugs.webkit.org/show_bug.cgi?id=223225
Patch by Dean Johnson <dean_johnson@apple.com> on 2021-03-16
Reviewed by Jonathan Bedard.
- Scripts/prepare-ChangeLog:
(get_function_line_ranges_for_python): Remove '' prefix from regex so we match multiline
strings assigned to variables.
- Scripts/webkitperl/prepare-ChangeLog_unittest/resources/python_unittests-expected.txt:
- Scripts/webkitperl/prepare-ChangeLog_unittest/resources/python_unittests.py: Add multiline string
variable definition, which previously would cause prepare-ChangeLog to parse the remainder of the file
as a multiline comment. Also add a new test to ensure it's not skipped by multiline logic.
(Class8.init):
(Class9):
- 8:10 AM Changeset in webkit [274480] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Fix GTK build with TREE_DEBUGGING enabled after r274216
- rendering/InlineBox.h: Export several symbols to fix linking failures.
- 8:05 AM Changeset in webkit [274479] by
-
- 12 edits in trunk/Source
[GTK][WPE] Stop using g_memdup
https://bugs.webkit.org/show_bug.cgi?id=223189
Reviewed by Philippe Normand.
Source/WebCore:
Add gstBufferNewWrappedFast() to create a GstBuffer wrapping data allocated with fast malloc and use it when
possible in combination with fastMemDup() instead of g_memdup().
- platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::gstBufferNewWrappedFast):
- platform/graphics/gstreamer/GStreamerCommon.h:
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(CachedResourceStreamingClient::dataReceived):
- platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.cpp:
(WebCore::RealtimeIncomingAudioSourceLibWebRTC::OnData):
- platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp:
Source/WebKit:
- UIProcess/API/glib/WebKitWebResource.cpp:
(webkit_web_resource_get_data_finish): Use g_malloc + memcpy instead of g_memdup.
- UIProcess/API/glib/WebKitWebView.cpp:
(webkit_web_view_save_finish): Use fastMemDup instead g_memdup.
Source/WTF:
Add fastMemDup() to replace g_memdup() that is now deprecated in GLib because of the possibility of overflow
when converting from size_t to unsigned int. There's a replacement in GLib already, but we would need to depend
on very new GLib version, so better use fastMemDup() when possible. In cases where we still need to use GLib
allocator, we can simply call g_malloc() + memcpy().
- wtf/FastMalloc.cpp:
(WTF::fastMemDup):
- wtf/FastMalloc.h:
- 8:04 AM Changeset in webkit [274478] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer][MSE] fix video freeze in NASA TV feed
https://bugs.webkit.org/show_bug.cgi?id=214625
Reviewed by Alicia Boya Garcia.
Initial seek should not be marked as a real seek as it is not
getting seek-datas from GStreamer and therefore it can mess up
with pipeline branches becoming empty after getting an enough-data
because the need-data is expecting seek-datas to complete that
seek that is never going to happen.
A couple of debug output lines were fixed for the same price.
- platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
(webKitMediaSrcPrepareInitialSeek):
- 7:38 AM Changeset in webkit [274477] by
-
- 9 edits in trunk
[css-grid] Replace the use of -1 with WTF::nullopt
https://bugs.webkit.org/show_bug.cgi?id=222376
Patch by Ziran Sun <Ziran Sun> on 2021-03-16
Reviewed by Javier Fernandez.
LayoutTests/imported/w3c:
Update failed expectations of the failing test.
- web-platform-tests/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-001-expected.txt:
Source/WebCore:
This change replaces -1 with nullopt in grid to indicate indefinite for funtions that
return an Optional type. This change has exposed an issue when resolving replaced element
definiteness as a grid-item with respect to aspect-ratio. The fix is that when checking for
hasReplacedLogicalHeight(), for fixed item we should just return true while for percent or
calculated items we keep the check as it is.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::replacedMinMaxLogicalHeightComputesAsNone const):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::placeItemsOnGrid const):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::performGridItemsPreLayout const):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded const):
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithm::estimatedGridAreaBreadthForChild const):
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithm::gridAreaBreadthForChild const):
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithm::minSizeForChild const):
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithmStrategy::minLogicalSizeForChild const):
- 7:25 AM WebKitGTK/2.28.x edited by
- (diff)
- 7:25 AM WebKitGTK/2.32.x edited by
- (diff)
- 7:22 AM Changeset in webkit [274476] by
-
- 8 edits in trunk
[CMake] Build fails on RISC-V with GCC 11
https://bugs.webkit.org/show_bug.cgi?id=222959
Patch by Khem Raj <raj.khem@gmail.com> on 2021-03-16
Reviewed by Carlos Alberto Lopez Perez.
.:
Check for 1 byte atomic operations along with 64bit ones, some
architevtures (e.g. RISCV) operations on less than 4 bytes are not lock-free
- Source/cmake/WebKitCompilerFlags.cmake:
Source/JavaScriptCore:
Use renamed variable ATOMICS_REQUIRE_LIBATOMIC instead of ATOMIC_INT64_REQUIRES_LIBATOMIC
- CMakeLists.txt:
Source/WebKit:
Use renamed ATOMICS_REQUIRE_LIBATOMIC instead of ATOMIC_INT64_REQUIRES_LIBATOMIC.
- CMakeLists.txt:
Source/WTF:
Link with libatomic if ATOMICS_REQUIRE_LIBATOMIC is set.
- wtf/CMakeLists.txt:
- 7:03 AM Changeset in webkit [274475] by
-
- 3 edits in trunk/Tools
[EWS] run-layout-tests-without-patch step should only retry the tests that failed on the previous steps.
https://bugs.webkit.org/show_bug.cgi?id=219500
Reviewed by Aakash Jain.
On the step to retry running the layout tests without patch only
run the subset of tests that failed on the previous steps.
But only do that if the previous steps didn't exceed the test
failure limit and the patch doesn't modify the TestExpectations files.
This helps to speed up the test times on the EWS when the patch
doesn't pass on the first try.
- CISupport/ews-build/steps.py:
(RunWebKitTests.start):
- 6:52 AM Changeset in webkit [274474] by
-
- 4 edits2 adds in trunk
[GTK] Add GTK4 tests expectations
https://bugs.webkit.org/show_bug.cgi?id=222907
Reviewed by Carlos Garcia Campos.
Tools:
Check whether we are using a GTK4 build to automatically enable the
platform/gtk4 expectations. This is done checking the
presence of either libwebkit2gtk-4.0.so or libwebkit2gtk-5.0.so, so it
works on binary-only deployments like the testing bots.
- Scripts/webkitpy/port/gtk.py:
(GtkPort._search_paths):
(GtkPort._is_gtk4_build):
- Scripts/webkitpy/port/gtk_unittest.py:
(GtkPortTest.test_gtk4_expectations_binary_only):
(GtkPortTest.test_gtk3_expectations_binary_only):
(GtkPortTest.test_gtk_expectations_both_binaries):
LayoutTests:
- platform/gtk4/TestExpectations: Added.
- 6:42 AM Changeset in webkit [274473] by
-
- 4 edits in trunk/Source/WebCore
[iOS][FCR] Add pressed state for button-like controls
https://bugs.webkit.org/show_bug.cgi?id=223208
<rdar://problem/72399087>
Reviewed by Wenson Hsieh.
Add a pressed state for buttons, checkboxes, radio buttons, select
elements and date inputs. The pressed state has a 75% opacity level
relative to the default state.
- css/html.css:
Explicitly set the default active style to opacity: initial to ensure
styles are adjusted when the element is pressed. Note that we do not
set the default to 75% to avoid unexpected application of the new
style.
(input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]::file-selector-button:active, button:active):
(input:matches([type="checkbox"], [type="radio"]):active):
(select:active):
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
The style adjustment is only performed if the -webkit-appearance property
is not set to none. This ensures we do not override the opacity for
custom styled form controls.
(WebCore::RenderThemeIOS::adjustPressedStyle const):
(WebCore::RenderThemeIOS::adjustCheckboxStyle const):
(WebCore::RenderThemeIOS::adjustRadioStyle const):
(WebCore::RenderThemeIOS::adjustMenuListButtonStyle const):
(WebCore::RenderThemeIOS::adjustButtonStyle const):
- 5:20 AM Changeset in webkit [274472] by
-
- 3 edits2 adds in trunk
Crash in makeBoundaryPoint via ReplaceSelectionCommand::insertedContentRange
https://bugs.webkit.org/show_bug.cgi?id=221509
Patch by Frederic Wang <fwang@igalia.com> on 2021-03-16
Reviewed by Ryosuke Niwa.
Source/WebCore:
WebCore::ReplaceSelectionCommand::doApply() saves start/end positions of inserted content
into m_startOfInsertedContent and m_endOfInsertedContent. At the end, it calls
ReplaceSelectionCommand::completeHTMLReplacement() which in turn may deep clone part of the
inserted content, in order to apply style. This then result in the start/end anchor nodes
becoming orphan, causing nullptr dereference later in the code. Ideally, the anchor nodes
should be moved to the cloned nodes but this patch only works around the issue by resetting
the start/end positions.
Test: fast/editing/replace-selection-and-apply-style-crash.html
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::completeHTMLReplacement): If one of the anchor nodes
became orphan, just clear m_startOfInsertedContent and m_endOfInsertedContent.
LayoutTests:
Add a regression test.
- fast/editing/replace-selection-and-apply-style-crash-expected.txt: Added.
- fast/editing/replace-selection-and-apply-style-crash.html: Added.
- 2:04 AM Changeset in webkit [274471] by
-
- 4 edits in trunk/Source
[SOUP] Fix SOUP3 debug build
https://bugs.webkit.org/show_bug.cgi?id=223237
Reviewed by Carlos Garcia Campos.
Source/WebCore:
- platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupMessageBody const):
Source/WebKit:
- NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::acceptCertificateCallback):
- 1:45 AM Changeset in webkit [274470] by
-
- 6 edits in trunk/Source/WebCore
Protect this in all PlatformOpenXR queue->dispatch() calls
https://bugs.webkit.org/show_bug.cgi?id=223211
Reviewed by Chris Dumez.
The OpenXR WorkQueue may outlive OpenXRDevice so queue->dispatch() calls without protecting this are unsafe.
- Modules/webxr/WebXRSystem.cpp:
(WebCore::WebXRSystem::ensureImmersiveXRDeviceIsSelected):
- platform/xr/PlatformXR.h:
- platform/xr/openxr/OpenXRInstance.cpp:
(PlatformXR::Instance::Impl::~Impl):
(PlatformXR::Instance::enumerateImmersiveXRDevices):
- platform/xr/openxr/PlatformXROpenXR.cpp:
(PlatformXR::OpenXRDevice::create):
(PlatformXR::OpenXRDevice::OpenXRDevice):
(PlatformXR::OpenXRDevice::initialize):
(PlatformXR::OpenXRDevice::initializeTrackingAndRendering):
(PlatformXR::OpenXRDevice::shutDownTrackingAndRendering):
(PlatformXR::OpenXRDevice::requestFrame):
(PlatformXR::OpenXRDevice::waitUntilStopping):
- platform/xr/openxr/PlatformXROpenXR.h:
- 1:25 AM Changeset in webkit [274469] by
-
- 13 edits in trunk
Add a new delegate for geolocation permission
https://bugs.webkit.org/show_bug.cgi?id=223183
Reviewed by Eric Carlson.
Source/WebCore:
Add strings for a default geolocation prompt.
Covered by API tests.
- en.lproj/Localizable.strings:
Source/WebKit:
Refactoring to reuse media capture prompt for geolocation with updated prompt strings.
Introduce a new permission delegate for geolocation which provides both the top level origin as well as frame info.
The decision handler can get grant, deny or prompt.
In case of prompt, we use the updated prompt to get grant or deny decision from the user.
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/Cocoa/MediaPermissionUtilities.mm:
(WebKit::alertMessageText):
(WebKit::allowButtonText):
(WebKit::doNotAllowButtonText):
(WebKit::alertForPermission):
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::decidePolicyForGeolocationPermissionRequest):
- UIProcess/MediaPermissionUtilities.h:
- UIProcess/SpeechRecognitionPermissionManager.cpp:
(WebKit::SpeechRecognitionPermissionManager::decideByDefaultAction):
- UIProcess/UserMediaPermissionRequestProxy.cpp:
(WebKit::UserMediaPermissionRequestProxy::prompt):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[GeolocationDelegateNew _webView:requestGeolocationPermissionForOrigin:initiatedByFrame:decisionHandler:]):
(testDidResignInputElementStrongPasswordAppearanceAfterEvaluatingJavaScript): Deleted.
(tabEvent): Deleted.
(synthesizeTab): Deleted.
(synthesizeWheelEvents): Deleted.
- 1:07 AM Changeset in webkit [274468] by
-
- 2 edits in trunk/LayoutTests
[ macOs Wk1 ] http/wpt/filereader/filereader-stop.html is a flakey text failure
https://bugs.webkit.org/show_bug.cgi?id=222749
<rdar://problem/75045013>
Reviewed by Alex Christensen.
- http/wpt/filereader/filereader-stop.html:
Update test to register the event handlers for the second load, not the first one.