Timeline
Mar 14, 2021:
- 1:16 AM Changeset in webkit [274397] by
-
- 3 edits in trunk
[GLIB] Keep GPUProcess disabled when using experimental features
https://bugs.webkit.org/show_bug.cgi?id=223155
Reviewed by Philippe Normand.
At least two recent GPUProcess-related revisions caused issues in
GLIB, causing serious regressions in the bots. Disabling it for now
until we improve its support.
Revisions:
r274327 - 2D Canvas enabled by default in GPUProcess
r272842 - Media enabled by default in GPUProcess
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
Mar 13, 2021:
- 11:20 PM Changeset in webkit [274408] by
-
- 9 edits in trunk
Match other browsers by interpolating colors in floating point space rather than uint8_t space
https://bugs.webkit.org/show_bug.cgi?id=223165
Reviewed by Antoine Quint.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-backgrounds/animations/background-color-interpolation-expected.txt:
- web-platform-tests/css/css-backgrounds/animations/box-shadow-interpolation-expected.txt:
- web-platform-tests/css/css-transitions/animations/text-shadow-interpolation-expected.txt:
- web-platform-tests/css/css-ui/animation/caret-color-interpolation-expected.txt:
- web-platform-tests/css/css-ui/outline-017-expected.txt:
Update color interpolation results.
Source/WebCore:
- platform/graphics/ColorBlending.cpp:
(WebCore::blend):
(WebCore::blendWithoutPremultiply):
Rather than blending the components as uint8_t channels, match other browsers by blending
them as float channels. I have not yet determined if a spec says this, but matching other
browsers makes sense and fixes a bunch of WPT results. I will follow up with the CSS WG to
determine where/if this is/should be specified.
- platform/graphics/ColorUtilities.cpp:
(WebCore::unpremultiplied):
Avoid division by zero.
- 5:57 PM Changeset in webkit [274407] by
-
- 6 edits in trunk
[Win][WK1] Add a new API IWebPreferences::startBatchingUpdates to defer WebPreferencesChangedNotification
https://bugs.webkit.org/show_bug.cgi?id=223109
Reviewed by Sam Weinig.
Source/WebKitLegacy/win:
Some JS tests are timing out for Windows WebKit1 Debug build since
r274111. Those tests generate very large pages. r274111 resets
WebPreferences to the initial state. Changing a preference causes
relayout. Thus, resetting preferences caused layouts repeatedly.
r274040 (Bug 218024) added _batchUpdatePreferencesInBlock to
WebPreferences for Mac WebKit1 to defer the notification.
- Interfaces/IWebPreferencesPrivate.idl:
- WebPreferences.cpp:
(WebPreferences::postPreferencesChangesNotification):
(WebPreferences::startBatchingUpdates): Added.
(WebPreferences::stopBatchingUpdates): Added.
- WebPreferences.h:
Tools:
- DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebViewToConsistentStateBeforeTesting):
- 3:18 PM Changeset in webkit [274406] by
-
- 4 edits in trunk/Source/JavaScriptCore
REGRESSION (r274308): Two assertions in JSGlobalObject::defineOwnProperty() are failing
https://bugs.webkit.org/show_bug.cgi?id=223134
Reviewed by Yusuke Suzuki.
This patch:
- Simplifies exception check after validateAndApplyPropertyDescriptor() as it conditionally throws on failure.
- Creates new SymbolTableEntry when global variable is redefined as read-only because setAttributes() performs pack(), which doesn't support fat entries.
Due to #2, symbolTableGet() overload is simplified to return fast entry, and
setAttributes() is removed as unused.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::defineOwnProperty):
- runtime/JSSymbolTableObject.h:
(JSC::symbolTableGet):
- runtime/SymbolTable.h:
(JSC::SymbolTableEntry::getAttributes const):
(JSC::SymbolTableEntry::setAttributes): Deleted.
- 3:12 PM Changeset in webkit [274405] by
-
- 3 edits1 move1 add in trunk/JSTests
[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
Reviewed by Mark Lam.
This mozilla test is broken: it fails when we are close to the point moving from PST to PDT / from PDT to PST.
We should always run this test under PST to avoid this DST related flakiness.
We explicitly set TZ=PST for this test to ensure that this runs under PST (not PDT). TZ environment variable is
recognized by system frameworks and some libraries including tzdata and ICU.
- complex.yaml:
- complex/mozilla-ecma-Date-15.9.5.14.js: Renamed from JSTests/mozilla/ecma/Date/15.9.5.14.js.
(test):
- complex/mozilla-shell.js: Added.
(AddTestCase):
(TestCase):
(startTest):
(test):
(getTestCaseResult):
(writeTestCaseResult):
(writeFormattedResult):
(writeLineToLog):
(writeHeaderToLog):
(stopTest):
(getFailedCases):
(getTimeZoneDiff):
(adjustResultArray):
(Day):
(DaysInYear):
(TimeInYear):
(DayNumber):
(TimeWithinDay):
(YearNumber):
(TimeFromYear):
(DayFromYear):
(InLeapYear):
(YearFromTime):
(MonthFromTime):
(DayWithinYear):
(DateFromTime):
(WeekDay):
(UTC):
(DaylightSavingTA):
(GetFirstSundayInApril):
(GetLastSundayInOctober):
(GetSecondSundayInMarch):
(GetFirstSundayInNovember):
(LocalTime):
(MakeTime):
(MakeDay):
(TimeInMonth):
(TimeClip):
(ToInteger):
(Enumerate):
(GetContext):
(OptLevel):
- mozilla/mozilla-tests.yaml:
- 2:19 PM Changeset in webkit [274404] by
-
- 5 edits3 adds in trunk
Prevent dynamic import in service worker
https://bugs.webkit.org/show_bug.cgi?id=222308
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Covering service-worker case.
- web-platform-tests/service-workers/service-worker/import-module-scripts.https-expected.txt:
Source/WebCore:
dynamic-import should be always rejected if script is executed in Worklets or ServiceWorkers.
This is recently changed in the spec https://github.com/whatwg/html/pull/6395.
- bindings/js/ScriptModuleLoader.cpp:
(WebCore::isWorkletOrServiceWorker):
(WebCore::ScriptModuleLoader::importModule):
LayoutTests:
Covering worklet case.
- http/wpt/webaudio/the-audio-api/the-audioworklet-interface/dynamic-import-is-prohibited.https-expected.txt: Added.
- http/wpt/webaudio/the-audio-api/the-audioworklet-interface/dynamic-import-is-prohibited.https.html: Added.
- http/wpt/webaudio/the-audio-api/the-audioworklet-interface/processors/dynamic-import-is-prohibited.js: Added.
(DynamicImportIsProhibitedProcessor.prototype.process):
(DynamicImportIsProhibitedProcessor):
- 1:47 PM Changeset in webkit [274403] by
-
- 2 edits in trunk/Source/WebCore
Cancel image loader events after first dispatch
https://bugs.webkit.org/show_bug.cgi?id=218556
Patch by Rob Buis <rbuis@igalia.com> on 2021-03-14
Reviewed by Darin Adler.
Address post review comments.
- dom/EventSender.h:
(WebCore::EventSender<T>::dispatchPendingEvents):
- 1:26 PM Changeset in webkit [274402] by
-
- 2 edits in trunk/Source/JavaScriptCore
[Big Sur arm64] testb3 crashing
https://bugs.webkit.org/show_bug.cgi?id=222815
Reviewed by Mark Lam.
Fix dmb ish and dmb ishst's formats.
- b3/testb3_6.cpp:
(testMemoryFence):
(testStoreFence):
(testLoadFence):
- 1:22 PM Changeset in webkit [274401] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] ARM64 branchAtomicWeakCAS should not use sign-extension
https://bugs.webkit.org/show_bug.cgi?id=222813
Reviewed by Mark Lam.
ARM64 branchAtomicWeakCAS implementation should not use sign-extension. Instead, it should use zero-extension.
This is because loadLinkAcq (ldaxr) will load a value with zero-extension. If we use sign-extension, we will
encounter the state where LL/SC never succeeds just because we are comparing sign-extended value and zero-extended
value. This implementation is aligned to how X86 implementation works: X86 only cares the effective bit width of branchAtomicWeakCAS.
This is already tested by stress/atomics-store-result-int52.js.
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::zeroExtend):
(JSC::MacroAssemblerARM64::atomicStrongCAS):
(JSC::MacroAssemblerARM64::atomicRelaxedStrongCAS):
(JSC::MacroAssemblerARM64::branchAtomicWeakCAS):
(JSC::MacroAssemblerARM64::branchAtomicRelaxedWeakCAS):
(JSC::MacroAssemblerARM64::signExtend): Deleted.
(JSC::MacroAssemblerARM64::signExtend<8>): Deleted.
(JSC::MacroAssemblerARM64::signExtend<16>): Deleted.
- 11:46 AM Changeset in webkit [274400] by
-
- 3 edits in trunk/Source/JavaScriptCore
GCSegmentedArray's size() and isEmpty() methods should be const.
https://bugs.webkit.org/show_bug.cgi?id=223156
Reviewed by Keith Miller.
- heap/GCSegmentedArray.h:
- heap/GCSegmentedArrayInlines.h:
(JSC::GCSegmentedArray<T>::isEmpty const):
(JSC::GCSegmentedArray<T>::size const):
(JSC::GCSegmentedArray<T>::isEmpty): Deleted.
(JSC::GCSegmentedArray<T>::size): Deleted.
- 11:19 AM Changeset in webkit [274399] by
-
- 4 edits2 adds in trunk
[JSC] wasm atomic wait offset is not index
https://bugs.webkit.org/show_bug.cgi?id=223159
Reviewed by Mark Lam.
JSTests:
- wasm.yaml:
- wasm/threads-spec-tests/resources/wait-large.wast: Added.
- wasm/threads-spec-tests/wait-large.wast.js: Added.
Source/JavaScriptCore:
While JS Atomics.wait's argument is "index" in the typed-array, argument of wasm wait and notify is address.
But we are handling it as an index incorrectly.
This patch uses it as an address.
- wasm/WasmOperations.cpp:
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
- 7:46 AM Changeset in webkit [274398] by
-
- 3 edits in trunk/Source/WebCore
RenderLineBreak should stay inline level box even when display property says otherwise.
https://bugs.webkit.org/show_bug.cgi?id=223151
<rdar://74339837>
Reviewed by Antti Koivisto.
In this patch we make sure that the RenderLineBreak object always stays inline.
While the display property applies to all elements (https://drafts.csswg.org/css-display/#the-display-properties), the line
break element (<br>) seems to be an exception and all browsers handle <br style="display: block"> still as an inline level element.
Renderers can (and do see RenderSVGInline::updateFromStyle) diverge from this computed display value and say they always want to
be inline level boxes. This is ensured by RenderObject::setInline/isInline function pair.
Initially there were 2 setInline() calls:
One in RenderObject::setStyle(). It dealt with "block to inline" transition and
one call in RenderBox::setStyle().
In these functions we simply set the renderer's "inInline" bit to the computed style value (setInline(style.isDisplayInlineType)).
However derived renderer classes were able to override it by implementing the ::setStyle function and
explicitly set the "isInline" bit to true/false.
Over the years the second (RenderBox::setStyle) call transitioned to RenderBoxModelObject::updateFromStyle()
and the first (RenderObject::setStyle) call got moved to normalizeTreeAfterStyleChange() and their order got flipped.
Derived renderer classes can still explicitly set the "isInline" bit by implementing the ::updateFromStyle() function
(this is similar to what we had with ::setStyle).
However since the order is flipped, the "setInline()" call in normalizeTreeAfterStyleChange() now runs after
updateFromStyle() and it may re-reset the "isInline" bit back to the computed value (hence the FIXME).
The "setInline" call in normalizeTreeAfterStyleChange() is not needed anymore since the "isInline" bit is already updated by
the time we get here (as opposed to when it was initially introduced in RenderObject::setStyle, see above).
- rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::updateFromStyle):
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange):
Mar 13, 2021:
- 10:51 PM Changeset in webkit [274396] by
-
- 3 edits3 adds in trunk
[iOS] Selecting the first word in an image overlay may select text in the previous line
https://bugs.webkit.org/show_bug.cgi?id=223153
Reviewed by Tim Horton.
Source/WebCore:
Add a (collapsible) newline at the start of each line of text in an image overlay, so that
wordRangeFromPositionwill not include content from the previous line when selecting the first word in a
line inside an image overlay.
Test: fast/images/image-extraction/ios/select-word-in-image-overlay.html
- html/HTMLElement.cpp:
(WebCore::HTMLElement::updateWithImageExtractionResult):
LayoutTests:
Add a layout test to verify the behavior change.
- fast/images/image-extraction/ios/select-word-in-image-overlay-expected.txt: Added.
- fast/images/image-extraction/ios/select-word-in-image-overlay.html: Added.
- 7:32 PM Changeset in webkit [274395] by
-
- 8 edits3 adds in trunk
Add support for accessibility image overlays in layout tests
https://bugs.webkit.org/show_bug.cgi?id=223146
Reviewed by Tim Horton.
Source/WebCore:
Introduce an internal testing hook to install image overlay content, for layout and API tests.
Test: fast/images/image-extraction/basic-image-overlay.html
- dom/DOMPointReadOnly.h:
- dom/DOMPointReadOnly.idl:
Additionally add WebCore export macros to
DOMPointReadOnly, so that Internals code can this class.
- testing/Internals.cpp:
(WebCore::Internals::installImageOverlay):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Add a very basic test to ensure that image overlay content can be installed.
- TestExpectations:
- fast/images/image-extraction/basic-image-overlay-expected-mismatch.html: Added.
- fast/images/image-extraction/basic-image-overlay.html: Added.
- 7:22 PM Changeset in webkit [274394] by
-
- 3 edits in trunk/Tools
Move LayoutTestFinder.split_into_chunks to Manager._split_into_chunks
https://bugs.webkit.org/show_bug.cgi?id=223137
Reviewed by Jonathan Bedard.
- Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder.split_into_chunks):
- Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._split_into_chunks):
(Manager._prepare_lists):
- 6:47 PM Changeset in webkit [274393] by
-
- 21 edits7 deletes in trunk
Unreviewed, reverting r274379.
https://bugs.webkit.org/show_bug.cgi?id=223154
Some LayoutTests are crashing
Reverted changeset:
"Cache cross-origin methods / accessors of Window and Location
per lexical global object"
https://bugs.webkit.org/show_bug.cgi?id=222739
https://trac.webkit.org/changeset/274379
- 1:55 PM Changeset in webkit [274392] by
-
- 3 edits in trunk/LayoutTests
[ macOS Wk2 ] http/tests/security/contentSecurityPolicy/report-only-connect-src-xmlhttprequest-redirect-to-blocked.php is constantly text failing
https://bugs.webkit.org/show_bug.cgi?id=223079
<rdar://problem/75323779>
Reviewed by Jonathan Bedard.
- http/tests/security/contentSecurityPolicy/report-only-connect-src-xmlhttprequest-redirect-to-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/report-only-connect-src-xmlhttprequest-redirect-to-blocked.php:
- 12:00 PM Changeset in webkit [274391] by
-
- 6 edits3 adds in trunk
Fix interpolation of clip CSS property
https://bugs.webkit.org/show_bug.cgi?id=223126
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Import interpolation tests for clip. These tests pass completely
with 42 PASS results compared to prior to the source changes.
- web-platform-tests/css/css-masking/animations/clip-interpolation-expected.txt: Added.
- web-platform-tests/css/css-masking/animations/clip-interpolation.html: Added.
Source/WebCore:
Test: imported/w3c/web-platform-tests/css/css-masking/animations/clip-interpolation.html
While we already had support for interpolating the clip property, we had a couple of small
issues to fix to pass the entire WPT test dedicated to testing that feature:
- we must allow negative values
- we must serialize the value to "auto" if all four values are "auto"
- animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
LayoutTests:
Rebase a test that used the old, incorrect computed value for "clip" with
four "auto" values.
- fast/css/computed-clip-with-auto-rect-expected.txt:
- 11:08 AM Changeset in webkit [274390] by
-
- 15 edits in trunk
[GPUP][MSE] MediaSource::buffered and MediaSource::activeSourceBuffers do not update in the same run loop as MediaSource::endOfStream()
https://bugs.webkit.org/show_bug.cgi?id=221293
Reviewed by Jer Noble.
Source/WebCore:
Currently, both
SourceBufferandSourceBufferPrivateown anm_buffered
and we need to synchronize them with a callback. When we runSourceBufferPrivate
in the GPU process, the synchronization might be delayed, e.g., function
SourceBuffer::readyStateChanged()will trigger an update tom_buffered
but its new value won't be available for the Web process in the same
run loop.
To fix this issue, this patch removes
SourceBuffer::m_bufferedas well
the callback to synchronize it. When we runSourceBufferPrivatein the GPU
process,SourceBufferPrivateRemotesynchronizes itsm_bufferedwith
SourceBufferPrivatethrough a synchronous IPC message.
No new tests. Fix a test failure:
- imported/w3c/web-platform-tests/media-source/mediasource-buffered.html
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::SourceBuffer):
(WebCore::SourceBuffer::buffered const):
(WebCore::SourceBuffer::sourceBufferPrivateBufferedRangesChanged): Deleted.
- Modules/mediasource/SourceBuffer.h:
- platform/graphics/SourceBufferPrivate.cpp:
(WebCore::SourceBufferPrivate::setBufferedRanges):
(WebCore::SourceBufferPrivate::updateBufferedFromTrackBuffers):
- platform/graphics/SourceBufferPrivate.h:
(WebCore::SourceBufferPrivate::buffered const):
- platform/graphics/SourceBufferPrivateClient.h:
Source/WebKit:
When a Web process needs to "pull" the latest value of
m_bufferedfrom the
GPU process (updateBufferedFromTrackBuffers), we need to use a synchronous
IPC message.
When the GPU process needs to "push" the latest value of
m_bufferedto
a Web process, we can use an asynchronous message, e.g,RemoveCodedFrames
andSourceBufferPrivateAppendComplete.
- GPUProcess/media/RemoteSourceBufferProxy.cpp:
(WebKit::RemoteSourceBufferProxy::sourceBufferPrivateAppendComplete):
(WebKit::RemoteSourceBufferProxy::updateBufferedFromTrackBuffers):
(WebKit::RemoteSourceBufferProxy::removeCodedFrames):
(WebKit::RemoteSourceBufferProxy::sourceBufferPrivateBufferedRangesChanged): Deleted.
- GPUProcess/media/RemoteSourceBufferProxy.h:
- GPUProcess/media/RemoteSourceBufferProxy.messages.in:
- WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:
(WebKit::SourceBufferPrivateRemote::updateBufferedFromTrackBuffers):
(WebKit::SourceBufferPrivateRemote::removeCodedFrames):
(WebKit::SourceBufferPrivateRemote::sourceBufferPrivateAppendComplete):
(WebKit::SourceBufferPrivateRemote::sourceBufferPrivateBufferedRangesChanged): Deleted.
- WebProcess/GPU/media/SourceBufferPrivateRemote.h:
- WebProcess/GPU/media/SourceBufferPrivateRemote.messages.in:
LayoutTests:
- platform/mac/TestExpectations:
- 8:26 AM Changeset in webkit [274389] by
-
- 10 edits in trunk/LayoutTests
[css-flexbox] Fix incorrect relative path
https://bugs.webkit.org/show_bug.cgi?id=223120
Patch by Rob Buis <rbuis@igalia.com> on 2021-03-13
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Fix incorrect relative path, because of this the comparisons
were not accurate, causing failures where the rendering was correct.
- web-platform-tests/css/css-flexbox/align-baseline-expected.html:
- web-platform-tests/css/css-flexbox/align-content_flex-start-expected.html:
- web-platform-tests/css/css-flexbox/align-content_space-between-expected.html:
- web-platform-tests/css/css-flexbox/align-self-015-expected.html:
- web-platform-tests/css/css-flexbox/auto-margins-003-expected.html:
- web-platform-tests/css/css-flexbox/flex-item-vertical-align-expected.html:
- web-platform-tests/css/css-flexbox/stretch-input-in-column-expected.html:
LayoutTests:
Enable tests that pass now.
- 8:20 AM Changeset in webkit [274388] by
-
- 5 edits in trunk/Tools
[build.webkit.org] run buildbot checkconfig in services ews
https://bugs.webkit.org/show_bug.cgi?id=222687
Reviewed by Jonathan Bedard.
- CISupport/ews-build/steps.py:
(RunBuildbotCheckConfigForEWS): Renamed from RunEWSBuildbotCheckConfig.
(RunBuildbotCheckConfigForBuildWebKit): Build step to run buildbot checkconfig for build.webkit.org
- CISupport/ews-build/factories.py:
(ServicesFactory.init): Added build step to run buildbot checkconfig for build.webkit.org
- CISupport/ews-build/steps_unittest.py: Added and updated unit-tests.
- CISupport/ews-build/factories_unittest.py: Updated unit-tests.
- 8:09 AM Changeset in webkit [274387] by
-
- 2 edits in trunk/Source/WebCore
Mark the line dirty when list marker goes from inline to block
https://bugs.webkit.org/show_bug.cgi?id=223132
Reviewed by Antti Koivisto.
This patch ensures that the line layout has a chance to clean up the inline boxes when the marker goes from inline to block.
Instead of deleting the inline box wrapper (InlineElement) here let's
- mark both the renderer and the line dirty and let the inline layout code run its normal cleanup process on dirty lines.
- detach the inline box wrapper from the now-block list marker.
- rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::styleDidChange):
- rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::verticalPositionForBox):
- 7:06 AM Changeset in webkit [274386] by
-
- 6 edits in trunk/Source
Unreviewed, fix build warnings after r273204 and r274323
Source/WebCore:
- storage/StorageQuotaManager.cpp:
(WebCore::StorageQuotaManager::tryGrantRequest): Use portable uint64_t format specifier.
Source/WebKit:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::storageQuotaManager): Use portable uint64_t format specifier.
- Platform/IPC/StreamConnectionWorkQueue.cpp:
(IPC::StreamConnectionWorkQueue::StreamConnectionWorkQueue):
- Platform/IPC/StreamConnectionWorkQueue.h: Make m_name COCOA specific to avoid
unused-member on other platforms.
- 6:27 AM WebKitGTK/2.32.x edited by
- (diff)
- 3:11 AM Changeset in webkit [274385] by
-
- 33 edits2 moves1 add2 deletes in trunk
Update RTCRtpScriptTransform to the latest version of the spec
https://bugs.webkit.org/show_bug.cgi?id=222982
Reviewed by Eric Carlson.
Source/WebCore:
Move from AudioWorklet model to an event based model as per latest specification.
RTCRtpScriptTransformer concentrates all the API and is exposed to worker using a new rtctransform event.
Add support for options parameter provided in RTCRtpScriptTransform constructor.
Covered by existing tests.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/mediastream/RTCRtpScriptTransform.cpp:
(WebCore::RTCRtpScriptTransform::create):
(WebCore::RTCRtpScriptTransform::setTransformer):
- Modules/mediastream/RTCRtpScriptTransform.h:
- Modules/mediastream/RTCRtpScriptTransform.idl:
- Modules/mediastream/RTCRtpScriptTransformProvider.idl:
- Modules/mediastream/RTCRtpScriptTransformer.cpp:
(WebCore::RTCRtpScriptTransformer::create):
(WebCore::RTCRtpScriptTransformer::RTCRtpScriptTransformer):
(WebCore::RTCRtpScriptTransformer::readable):
(WebCore::RTCRtpScriptTransformer::writable):
(WebCore::RTCRtpScriptTransformer::start):
(WebCore::RTCRtpScriptTransformer::requestKeyFrame):
(WebCore::RTCRtpScriptTransformer::options):
- Modules/mediastream/RTCRtpScriptTransformer.h:
(WebCore::RTCRtpScriptTransformer::startPendingActivity):
- Modules/mediastream/RTCRtpScriptTransformer.idl:
- Modules/mediastream/RTCRtpScriptTransformerConstructor.h: Removed.
- Modules/mediastream/RTCRtpScriptTransformerConstructor.idl: Removed.
- Modules/mediastream/RTCRtpScriptTransformerContext.h: Removed.
- Modules/mediastream/RTCRtpScriptTransformerContext.idl: Removed.
- Modules/mediastream/RTCTransformEvent.cpp: Added.
- Modules/mediastream/RTCTransformEvent.h: Added.
- Modules/mediastream/RTCTransformEvent.idl: Added.
- Modules/model-element/HTMLModelElement.cpp:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/ReadableStream.h:
(WebCore::toJS):
- bindings/js/WebCoreBuiltinNames.h:
- bindings/js/WritableStream.h:
(WebCore::toJS):
- dom/EventNames.h:
- dom/EventNames.in:
- workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::prepareForDestruction):
(WebCore::DedicatedWorkerGlobalScope::createRTCRtpScriptTransformer):
- workers/DedicatedWorkerGlobalScope.h:
- workers/Worker.cpp:
(WebCore::Worker::createRTCRtpScriptTransformer):
- workers/Worker.h:
LayoutTests:
- http/wpt/webrtc/audio-script-transform.html:
- http/wpt/webrtc/context-transform.js:
(MockRTCRtpTransformer):
(MockRTCRtpTransformer.prototype.start):
(MockRTCRtpTransformer.prototype.process):
(onrtctransform):
- http/wpt/webrtc/no-transform.js:
- http/wpt/webrtc/no-webrtc-transform-expected.txt:
- http/wpt/webrtc/no-webrtc-transform.html:
- http/wpt/webrtc/script-transform.js:
(onrtctransform.process):
(onrtctransform):
- http/wpt/webrtc/sframe-transform.js:
(onrtctransform):
- http/wpt/webrtc/video-script-transform.html:
- 3:03 AM Changeset in webkit [274384] by
-
- 3 edits in trunk/LayoutTests/imported/w3c
Unreviewed. Merge the changes to the perspective interpolation test that resulted
from https://github.com/web-platform-tests/wpt/pull/28036 and update the expectations
now that we pass this test entirely with 16 new PASS results.
- web-platform-tests/css/css-transforms/animation/perspective-interpolation-expected.txt:
- web-platform-tests/css/css-transforms/animation/perspective-interpolation.html:
- 2:57 AM Changeset in webkit [274383] by
-
- 3 edits6 adds in trunk
Fix interpolation of orphans and widows CSS properties
https://bugs.webkit.org/show_bug.cgi?id=223124
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Import interpolation tests for orphans and widows. These tests pass completely
weith 44 PASS results compared to prior to the source changes.
- web-platform-tests/css/css-break/animation/orphans-interpolation-expected.txt: Added.
- web-platform-tests/css/css-break/animation/orphans-interpolation.html: Added.
- web-platform-tests/css/css-break/animation/widows-interpolation-expected.txt: Added.
- web-platform-tests/css/css-break/animation/widows-interpolation.html: Added.
Source/WebCore:
The orphans and widows properties must be positive integers, so we add a dedicated
wrapper for these properties.
Tests: imported/w3c/web-platform-tests/css/css-break/animation/orphans-interpolation.html
imported/w3c/web-platform-tests/css/css-break/animation/widows-interpolation.html
- animation/CSSPropertyAnimation.cpp:
(WebCore::PositivePropertyWrapper::PositivePropertyWrapper):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- 1:36 AM Changeset in webkit [274382] by
-
- 4 edits in trunk/Source/WebCore
Non-unified builds can't compile JSWebGLRenderingContext.cpp: error: member access into incomplete type 'WebCore::WebGLSampler'
https://bugs.webkit.org/show_bug.cgi?id=223142
Reviewed by Youenn Fablet.
- html/canvas/WebGLRenderingContextBase.h: Added some missing header inclusions.
- html/canvas/WebGLTransformFeedback.cpp:
- html/canvas/WebGLTransformFeedback.h: Fixed a recursive header inclusion with WebGL2RenderingContext.h.
- 1:31 AM Changeset in webkit [274381] by
-
- 8 edits2 adds in trunk
Add basic (non-momentum) wheel event handling for scroll snap
https://bugs.webkit.org/show_bug.cgi?id=222594
Source/WebCore:
Reviewed by Simon Fraser.
Test: css3/scroll-snap/scroll-snap-wheel-event.html
Enable scroll snapping for basic wheel events on GTK+ and WPE. The Mac port
has special wheel handling due to momentum scrolling. Other scroll-snap-enabled
ports can just use a basic version.
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::scroll): Accept a bitmask of options now. This
will allow using this method when handling wheel events that do not animate.
(WebCore::ScrollAnimator::handleWheelEvent): Trigger ::scroll with
scroll snapping enabled and pass the appropriate option to disable animations.
(WebCore::ScrollAnimator::processWheelEventForScrollSnap): Deleted.
- platform/ScrollAnimator.h:
(WebCore::ScrollAnimator::ScrollAnimator::processWheelEventForScrollSnap): Made
this a method that can be overridden by subclasses.
- platform/mac/ScrollAnimatorMac.h: Added processWheelEventForScrollSnap.
- platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::scroll): Pay attention to the NeverAnimate bitmask now.
(WebCore::ScrollAnimatorMac::processWheelEventForScrollSnap): Added.
LayoutTests:
Reviewed by Simon Fraser.
- css3/scroll-snap/scroll-snap-wheel-event-expected.txt: Added.
- css3/scroll-snap/scroll-snap-wheel-event.html: Added.
- platform/ios-wk2/TestExpectations: Skip new test because it uses mouse event simulation.
Move existing classification to better section as well.
- platform/mac-wk1/fast/scrolling/latching/scroll-snap-latching-expected.txt: Rebased this previous failing test.
- 1:03 AM Changeset in webkit [274380] by
-
- 6 edits in trunk/Source
Adopt DDMacAction instead of DDAction on macOS
https://bugs.webkit.org/show_bug.cgi?id=223145
<rdar://problem/70127512>
Reviewed by Megan Gardner.
Source/WebCore/PAL:
- pal/spi/mac/DataDetectorsSPI.h:
Source/WebKit:
- Platform/mac/MenuUtilities.mm:
(WebKit::actionForMenuItem):
(WebKit::menuItemForTelephoneNumber):
(WebKit::menuForTelephoneNumber):
Adopt the new class name, when available.
Source/WTF:
- wtf/PlatformHave.h:
- 1:02 AM Changeset in webkit [274379] 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:
- Add WeakGCMap::ensure() to avoid double hashing and clean up JSObject::getOwnPropertyDescriptor().
- 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: