Timeline
May 5, 2021:
- 11:43 PM Changeset in webkit [277069] by
-
- 11 edits in trunk/Source/WebCore
AppHighlight scrolls should be smooth
https://bugs.webkit.org/show_bug.cgi?id=225395
Reviewed by Simon Fraser.
Leverage smooth scrolling experimental feature to allow AppHighlight scrolls
to be smooth.
- Modules/highlight/AppHighlightStorage.cpp:
(WebCore::AppHighlightStorage::attemptToRestoreHighlightAndScroll):
- editing/Editor.cpp:
(WebCore::TemporarySelectionChange::setSelection):
- editing/Editor.h:
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::updateAndRevealSelection):
(WebCore::FrameSelection::revealSelection):
- editing/FrameSelection.h:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::scrollTo const):
- page/ScrollBehavior.cpp:
(WebCore::useSmoothScrolling):
- platform/ScrollTypes.h:
- 8:37 PM Changeset in webkit [277068] by
-
- 15 edits in trunk/Source
Introduce VM::hasPendingTerminationException() to make code a little more terse.
https://bugs.webkit.org/show_bug.cgi?id=225412
Reviewed by Michael Saboff.
Source/JavaScriptCore:
This is purely a refactoring patch. There is no behavior change.
- interpreter/Interpreter.cpp:
(JSC::Interpreter::executeProgram):
- jit/JITOperations.cpp:
- runtime/ExceptionScope.h:
(JSC::ExceptionScope::assertNoExceptionExceptTermination):
(JSC::ExceptionScope::releaseAssertNoExceptionExceptTermination):
- runtime/JSObject.h:
(JSC::JSObject::get const):
- runtime/LazyPropertyInlines.h:
(JSC::ElementType>::callFunc):
- runtime/VM.cpp:
(JSC::VM::throwException):
- runtime/VM.h:
(JSC::VM::hasPendingTerminationException const):
- runtime/VMTraps.cpp:
(JSC::VMTraps::deferTerminationSlow):
Source/WebCore:
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::handleResponseOnStreamingAction):
- bindings/js/JSDOMPromise.cpp:
(WebCore::DOMPromise::whenPromiseIsSettled):
- bindings/js/JSDOMPromiseDeferred.cpp:
(WebCore::DeferredPromise::reject):
- bindings/js/ReadableStream.cpp:
(WebCore::invokeReadableStreamFunction):
(WebCore::ReadableStream::lock):
(WebCore::checkReadableStream):
- bindings/js/ReadableStreamDefaultController.cpp:
(WebCore::invokeReadableStreamDefaultControllerFunction):
(WebCore::ReadableStreamDefaultController::error):
(WebCore::ReadableStreamDefaultController::enqueue):
- 7:34 PM Changeset in webkit [277067] by
-
- 2 edits in trunk/Source/WebCore
[macOS] Use system colors for ActiveButtonText
https://bugs.webkit.org/show_bug.cgi?id=225375
<rdar://problem/75863443>
Reviewed by Tim Horton.
Currently, the ActiveButtonText color keyword returns a hardcoded value
on macOS. This behavior is problematic since AppKit can make changes to
the button style, leaving us with illegible text when a button is
pressed.
To fix, return a system color for ActiveButtonText, so that our pressed
buttons are consistent with the rest of the system.
- rendering/RenderThemeMac.mm:
(WebCore::activeButtonTextColor):
AppKit determines the pressed (active) text color using the cell's
interiorBackgroundStyle. There is not a single system color exposed for
the pressed text color, so it must be determined dynamically.
Unfortunately, this requires us to create an NSButtonCell to determine
the appropriate color. However, this logic is relatively inexpensive,
since we cache exposed system colors.
(WebCore::RenderThemeMac::systemColor const):
Remove the hardcoded value.
- 7:01 PM Changeset in webkit [277066] by
-
- 2 edits in trunk/LayoutTests
[ BigSur wk2 arm64 ] http/tests/inspector/network/resource-sizes-network.html is a flakey text failure
https://bugs.webkit.org/show_bug.cgi?id=225430
Unrviewed test gardening.
Updating expectations to flaky (Pass Failure) while test is reviewed.
- platform/mac-wk2/TestExpectations:
- 6:05 PM Changeset in webkit [277065] by
-
- 1 copy in tags/Safari-611.3.1
Tag Safari-611.3.1.
- 5:35 PM Changeset in webkit [277064] by
-
- 8 edits in branches/safari-611-branch/Source
Versioning.
WebKit-7611.3.1
- 5:30 PM Changeset in webkit [277063] by
-
- 2 edits in trunk/Tools
[build.webkit.org] Add new post-commit builder WPE-Linux-64-bit-Release-Non-Unified-Build
https://bugs.webkit.org/show_bug.cgi?id=225385
Reviewed by Aakash Jain.
This new post-commit builder will build WPE with Unified builds disabled.
By default, builders build WebKit using Unified sources to speed up
time compilation. Unfortunately, unified source compilation may hide
compilation errors sometimes. A common hidden error are missing headers
in some source files. This hidden compilation errors might be discovered
later when a group of source files are stashed together in a different
manner.
Having a Non-Unified source post-commit builder will help to detect
regressions in unified source compilation for a certain WebKit port,
in this case WPE Release. Usually when these regressions happen they
tend to happen too in other ports such as WebKitGTK, Win or PlayStation.
- CISupport/build-webkit-org/config.json:
- 5:27 PM Changeset in webkit [277062] by
-
- 1 copy in tags/Safari-612.1.12.3
Tag Safari-612.1.12.3.
- 5:22 PM Changeset in webkit [277061] by
-
- 6 edits1 delete in trunk/Tools
[run-api-tests] Use webkitcorepy's TaskPool
https://bugs.webkit.org/show_bug.cgi?id=225221
<rdar://problem/77352465>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py:
(TaskPool.enter): Ensure that mock has been imported before spawning child processes.
- Scripts/run-api-tests: Moved from webkitpy/api_tests/run_api_tests.py.
- Scripts/webkitpy/api_tests/run_api_tests.py: Moved to run-api-tests.
- Scripts/webkitpy/api_tests/runner.py:
(_Worker): Representation of Worker process.
(_Worker.setup): Pass port object to worker process.
(_Worker.teardown): Un-set port object on worker process.
(_Worker.init): Construct object to hold a Worker process's variables.
(_Worker._run_single_test): Log test results, post results to parent.
(_Worker.run): Run shard with and post results to parent process.
(setup_shard): Run setup in Worker process.
(run_shard): Run test shard in Worker process.
(report_result): Receive result in the parent process.
((teardown_shard): Tear down Worker process.
(Runner.init):
(Runner.command_for_port):
(Runner._shard_tests): Split tests into shards to be efficiently run.
(Runner.run): Use TaskPool to run tests in sub processes.
(Runner.callback): Save results in parent process.
(Runner.result_map_by_status):
(Runner.handle): Deleted.
(_Worker._run_shard_with_binary): Deleted.
(_Worker.post): Deleted.
(_Worker.handle): Deleted.
- 5:19 PM Changeset in webkit [277060] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Unreviewed test gardening. Gardened latest test failures.
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear.https.html
is failing after r277031.
fast/canvas/canvas-composite-text-alpha.html is an image failure after r277024.
- platform/glib/TestExpectations:
- 5:19 PM Changeset in webkit [277059] by
-
- 2 edits in branches/safari-611-branch/Source/WebKit
Merge Cherry-pick r276618. rdar://problem/77326484
- 5:19 PM Changeset in webkit [277058] by
-
- 3 edits in branches/safari-611-branch/Source/WebKit
Merge Cherry-pick r276852. rdar://problem/77468295
- 5:18 PM Changeset in webkit [277057] by
-
- 4 edits in branches/safari-611-branch/Source
Merge Cherry-pick r276742. rdar://problem/77326513
- 5:18 PM Changeset in webkit [277056] by
-
- 5 edits2 adds in branches/safari-611-branch
Merge Cherry-pick r276688. rdar://problem//77326513
- 5:09 PM Changeset in webkit [277055] by
-
- 5 edits in trunk/Source/WebKit
Remove network website data when a user clears an individual domain
https://bugs.webkit.org/show_bug.cgi?id=225350
<rdar://problem/76029480>
Reviewed by Brent Fulgham.
Convert parameters to Optional values now that we use the function
for individual domains.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
We should check all possible website data entries and delete
network domain data if any of them contain a domain.
- NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::removeNetworkWebsiteData):
- NetworkProcess/cocoa/NetworkSessionCocoa.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::removeNetworkWebsiteData):
- 4:53 PM Changeset in webkit [277054] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/active-processing.https.html is a flaky text failure
https://bugs.webkit.org/show_bug.cgi?id=225421
Unreviewed test gardening.
Marking test as flaky (Pass Failure), while under review.
- platform/mac/TestExpectations:
- 4:38 PM Changeset in webkit [277053] by
-
- 14 edits8 adds in trunk/LayoutTests
Re-sync css/css-animations WPTs
https://bugs.webkit.org/show_bug.cgi?id=225404
Reviewed by Myles C. Maxfield.
LayoutTests/imported/w3c:
- resources/resource-files.json:
- web-platform-tests/css/css-animations/nested-scale-animations-expected.html: Added.
- web-platform-tests/css/css-animations/nested-scale-animations.html: Added.
- web-platform-tests/css/css-animations/svg-transform-animation-expected.html: Added.
- web-platform-tests/css/css-animations/svg-transform-animation.html: Added.
- web-platform-tests/css/css-animations/transform-animation-under-large-scale-expected.html: Added.
- web-platform-tests/css/css-animations/transform-animation-under-large-scale.html: Added.
- web-platform-tests/css/css-animations/translation-animation-subpixel-offset-expected.html: Added.
- web-platform-tests/css/css-animations/translation-animation-subpixel-offset.html: Added.
- web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative.html:
- web-platform-tests/css/css-animations/event-dispatch.tentative-expected.txt:
- web-platform-tests/css/css-animations/event-dispatch.tentative.html:
- web-platform-tests/css/css-animations/parsing/animation-invalid-expected.txt:
- web-platform-tests/css/css-animations/parsing/animation-invalid.html:
- web-platform-tests/css/css-animations/parsing/animation-shorthand-expected.txt:
- web-platform-tests/css/css-animations/parsing/animation-shorthand.html:
- web-platform-tests/css/css-animations/support/testcommon.js:
(armTimeoutWhenReady):
- web-platform-tests/css/css-animations/w3c-import.log:
LayoutTests:
- TestExpectations:
- tests-options.json:
- 4:23 PM Changeset in webkit [277052] by
-
- 3 edits in trunk/Source/WebKit
Reduce sandbox telemetry
https://bugs.webkit.org/show_bug.cgi?id=225417
<rdar://77489628>
Reviewed by Darin Adler.
Remove sandbox telemetry which is no longer needed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- WebProcess/com.apple.WebProcess.sb.in:
- 4:19 PM Changeset in webkit [277051] by
-
- 2 edits in trunk/LayoutTests
[MacOS wk2] http/tests/cache/disk-cache/disk-cache-remove-several-pending-writes.html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=223531
Unreviewed test gardening.
Removed debug from a previous test expectation for this bug.
- platform/mac-wk2/TestExpectations:
- 4:06 PM Changeset in webkit [277050] by
-
- 3 edits in trunk/Source/WebCore
Remove unused DisplayList::Recorder::ContextState::wasUsedForDrawing
https://bugs.webkit.org/show_bug.cgi?id=225381
Reviewed by Simon Fraser.
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::canAppendItemOfType):
(WebCore::DisplayList::Recorder::restore):
- platform/graphics/displaylists/DisplayListRecorder.h:
- 4:01 PM Changeset in webkit [277049] by
-
- 5 edits in branches/safari-612.1.13-branch
Cherry-pick r277044. rdar://problem/77579966
Sampled Page Top Color: don't snapshot if the hit test location is an image or has an animation
https://bugs.webkit.org/show_bug.cgi?id=225338
Reviewed by Tim Horton.
Source/WebCore:
Tests: SampledPageTopColor.HitTestHTMLImage
SampledPageTopColor.HitTestCSSBackgroundImage
SampledPageTopColor.HitTestCSSAnimation
- dom/Document.h:
- dom/Document.cpp:
(WebCore::isValidPageSampleLocation): Added.
(WebCore::samplePageColor): Added.
(WebCore::Document::determineSampledPageTopColor):
(WebCore::Document::isHitTestLocationThirdPartyFrame): Deleted.
Refactor
isHitTestLocationThirdPartyFrame
(and thepixelColor
lambda) intostatic
functions that are right aboveDocument::determineSampledPageTopColor
for clarity and to allow for more flexibility. In order to check if the hit test node is an image (including having a CSSbackground-image
) or has a CSS animation (or CSS transition), it's necessary to continue to hit test beyond one node as the image and/or node with the CSS animation may be an ancestor (or unrelatedposition: absolute
node) to theHitTestResult::innerNode
.`
<div style="background-image: url(...)">
<button>Lorum ipsum ... </button>
</div>
`
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/SampledPageTopColor.mm: (TEST.SampledPageTopColor.HitTestHTMLImage): (TEST.SampledPageTopColor.HitTestCSSBackgroundImage): (TEST.SampledPageTopColor.HitTestCSSAnimation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:01 PM Changeset in webkit [277048] by
-
- 2 edits in branches/safari-612.1.13-branch/Source/WebKit
Cherry-pick r277026. rdar://problem/77579962
REGRESSION (r276633): ASSERTION FAILED: !forbidMallocUseScopeCount disableMallocRestrictionScopeCount https://bugs.webkit.org/show_bug.cgi?id=225374
<rdar://problem/77533237>
Reviewed by Chris Dumez.
Disable memory allocation checks in speech recognition code path.
No change of behavior.
- WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp: (WebKit::SpeechRecognitionRealtimeMediaSourceManager::Source::storageChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277026 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:46 PM Changeset in webkit [277047] by
-
- 6 edits in trunk/Source/WebCore
Rename DisplayList::Recorder::appendDrawGraphsItemWithCachedFont.
https://bugs.webkit.org/show_bug.cgi?id=225382
Reviewed by Simon Fraser.
It appends a DrawGlyphsItem, not a DrawGraphsItem.
- platform/graphics/displaylists/DisplayListDrawGlyphsRecorderCoreText.cpp:
(WebCore::DisplayList::DrawGlyphsRecorder::recordDrawGlyphs):
(WebCore::DisplayList::DrawGlyphsRecorder::drawGlyphs):
- platform/graphics/displaylists/DisplayListDrawGlyphsRecorderHarfBuzz.cpp:
(WebCore::DisplayList::DrawGlyphsRecorder::drawGlyphs):
- platform/graphics/displaylists/DisplayListDrawGlyphsRecorderWin.cpp:
(WebCore::DisplayList::DrawGlyphsRecorder::drawGlyphs):
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::appendDrawGlyphsItemWithCachedFont):
- platform/graphics/displaylists/DisplayListRecorder.h:
- 3:30 PM Changeset in webkit [277046] by
-
- 2 edits in trunk/Source/WebCore
Fix copy paste error in Recorder::canAppendItemOfType.
https://bugs.webkit.org/show_bug.cgi?id=225380
Reviewed by Simon Fraser.
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::canAppendItemOfType):
- 3:22 PM Changeset in webkit [277045] by
-
- 15 edits in trunk/Source
Sampled Page Top Color: tie into existing TCADA/RLTT systems so that the value is kept in sync with painting
https://bugs.webkit.org/show_bug.cgi?id=225405
Reviewed by Tim Horton.
Instead of sending an IPC to the UIProcess whenever the logic to determine the sampled page
top color finishes, wait to dispatch the IPC until we're about to render (just like theme
color and page extended background color). On macOS, this means the IPC is dispatched inside
TiledCoreAnimationDrawingArea::updateRendering
. On iOS, theColor
is included as part of
theRemoteLayerTreeTransaction
.
Source/WebCore:
- dom/Document.cpp:
(WebCore::Document::determineSampledPageTopColor):
- page/ChromeClient.h:
(WebCore::ChromeClient::sampledPageTopColorChanged const): Renamed from
didSamplePageTopColor
.
Source/WebKit:
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::sampledPageTopColorChanged const): Renamed from
didSamplePageTopColor
.
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::sampledPageTopColorChanged): Added.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::willCommitLayerTree):
(WebKit::WebPage::flushPendingSampledPageTopColorChange): Added.
(WebKit::WebPage::didSamplePageTopColor): Deleted.
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updateRendering):
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
(WebKit::RemoteLayerTreeTransaction::sampledPageTopColor const): Added.
(WebKit::RemoteLayerTreeTransaction::setSampledPageTopColor): Added.
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::encode const):
(WebKit::RemoteLayerTreeTransaction::decode):
- UIProcess/WebPageProxy.messages.in:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::sampledPageTopColorChanged): Renamed from
didSamplePageTopColor
.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::didCommitLayerTree):
- 2:53 PM Changeset in webkit [277044] by
-
- 5 edits in trunk
Sampled Page Top Color: don't snapshot if the hit test location is an image or has an animation
https://bugs.webkit.org/show_bug.cgi?id=225338
Reviewed by Tim Horton.
Source/WebCore:
Tests: SampledPageTopColor.HitTestHTMLImage
SampledPageTopColor.HitTestCSSBackgroundImage
SampledPageTopColor.HitTestCSSAnimation
- dom/Document.h:
- dom/Document.cpp:
(WebCore::isValidPageSampleLocation): Added.
(WebCore::samplePageColor): Added.
(WebCore::Document::determineSampledPageTopColor):
(WebCore::Document::isHitTestLocationThirdPartyFrame): Deleted.
RefactorisHitTestLocationThirdPartyFrame
(and thepixelColor
lambda) intostatic
functions that are right aboveDocument::determineSampledPageTopColor
for clarity and to
allow for more flexibility. In order to check if the hit test node is an image (including
having a CSSbackground-image
) or has a CSS animation (or CSS transition), it's necessary
to continue to hit test beyond one node as the image and/or node with the CSS animation may
be an ancestor (or unrelatedposition: absolute
node) to theHitTestResult::innerNode
.
`
<div style="background-image: url(...)">
<button>Lorum ipsum ... </button>
</div>
`
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/SampledPageTopColor.mm:
(TEST.SampledPageTopColor.HitTestHTMLImage):
(TEST.SampledPageTopColor.HitTestCSSBackgroundImage):
(TEST.SampledPageTopColor.HitTestCSSAnimation):
- 2:52 PM Changeset in webkit [277043] by
-
- 4 edits in trunk/Tools
[build.webkit.org] Add a build step to set appropriate permissions on uploaded test results
https://bugs.webkit.org/show_bug.cgi?id=225415
Reviewed by Dewei Zhu.
- CISupport/build-webkit-org/factories.py:
(TestFactory.init): Added the build-step.
- CISupport/build-webkit-org/steps.py:
(ExtractTestResults.resultDirectoryURL):
(SetPermissions): Build step to set permissions on uploaded test result directory.
- 2:33 PM Changeset in webkit [277042] by
-
- 2 edits in trunk/LayoutTests
[BigSur WK1] imported/w3c/web-platform-tests/media-source/mediasource-config-change-webm-v* is consistently failing
https://bugs.webkit.org/show_bug.cgi?id=221300
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 2:05 PM Changeset in webkit [277041] by
-
- 2 edits in trunk/LayoutTests
Skip fast/canvas/CanvasRenderingContext2DSettings-colorSpace-enabled.html on windows
until the preference has been hooked up.
- platform/win/TestExpectations:
- 1:44 PM Changeset in webkit [277040] by
-
- 10 edits in branches/safari-612.1.13-branch
Cherry-pick r277030. rdar://problem/77573075
Sampled Page Top Color: take additional snapshots further down the page to see if the sampled top color is more than just a tiny strip
https://bugs.webkit.org/show_bug.cgi?id=225323
Reviewed by Beth Dakin.
Source/WebCore:
Add a
SampledPageTopColorMinHeight
setting that controls how far down the sampled page top
color needs to extend in order for us to not bail. If the value > 0, we take an additional
snapshot at (0, SampledPageTopColorMinHeight) and (width, SampledPageTopColorMinHeight),
comparing each to the snapshot directly above (e.g. (0, SampledPageTopColorMinHeight) is
compared to (0, 0)) using theSampledPageTopColorMaxDifference
. Depending on the value, if
the color across the top of the page is only a small strip, these extra snapshot comparisons
will prevent a resulting color from being derived.
Tests: SampledPageTopColor.VerticalGradientBelowMaxDifference
SampledPageTopColor.VerticalGradientAboveMaxDifference
- dom/Document.cpp: (WebCore::Document::determineSampledPageTopColor):
Source/WebKit:
Add a
SampledPageTopColorMinHeight
setting that controls how far down the sampled page top
color needs to extend in order for us to not bail. If the value > 0, we take an additional
snapshot at (0, SampledPageTopColorMinHeight) and (width, SampledPageTopColorMinHeight),
comparing each to the snapshot directly above (e.g. (0, SampledPageTopColorMinHeight) is
compared to (0, 0)) using theSampledPageTopColorMaxDifference
. Depending on the value, if
the color across the top of the page is only a small strip, these extra snapshot comparisons
will prevent a resulting color from being derived.
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _setSampledPageTopColorMinHeight:]): Added. (-[WKWebViewConfiguration _sampledPageTopColorMinHeight]): Added.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setupPageConfiguration:]):
Provide SPI to configure the
SampledPageTopColorMinHeight
preference when creating theWKWebView
.
Source/WTF:
Add a
SampledPageTopColorMinHeight
setting that controls how far down the sampled page top
color needs to extend in order for us to not bail. If the value > 0, we take an additional
snapshot at (0, SampledPageTopColorMinHeight) and (width, SampledPageTopColorMinHeight),
comparing each to the snapshot directly above (e.g. (0, SampledPageTopColorMinHeight) is
compared to (0, 0)) using theSampledPageTopColorMaxDifference
. Depending on the value, if
the color across the top of the page is only a small strip, these extra snapshot comparisons
will prevent a resulting color from being derived.
- Scripts/Preferences/WebPreferences.yaml:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/SampledPageTopColor.mm: (createWebViewWithSampledPageTopColorMaxDifference): (createHTMLGradientWithColorStops): (TEST.SampledPageTopColor.ZeroMaxDifference): (TEST.SampledPageTopColor.NegativeMaxDifference): (TEST.SampledPageTopColor.SolidColor): (TEST.SampledPageTopColor.DifferentColorsWithoutOutlierBelowMaxDifference): (TEST.SampledPageTopColor.DifferentColorsWithLeftOutlierAboveMaxDifference): (TEST.SampledPageTopColor.DifferentColorsWithMiddleOutlierAboveMaxDifference): (TEST.SampledPageTopColor.DifferentColorsWithRightOutlierAboveMaxDifference): (TEST.SampledPageTopColor.DifferentColorsIndividuallyAboveMaxDifference): (TEST.SampledPageTopColor.DifferentColorsCumulativelyAboveMaxDifference): (TEST.SampledPageTopColor.VerticalGradientBelowMaxDifference): Added. (TEST.SampledPageTopColor.VerticalGradientAboveMaxDifference): Added. (TEST.SampledPageTopColor.DISABLED_DisplayP3): (TEST.SampledPageTopColor.ExperimentalUseSampledPageTopColorForScrollAreaBackgroundColor):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:41 PM Changeset in webkit [277039] by
-
- 5 edits in trunk
Invalid media query keyword values should not be parsable
https://bugs.webkit.org/show_bug.cgi?id=225282
Reviewed by Dean Jackson.
Updated WPT expectations.
LayoutTests/imported/w3c:
- web-platform-tests/css/mediaqueries/prefers-color-scheme-expected.txt:
- web-platform-tests/css/mediaqueries/prefers-reduced-motion-expected.txt:
Source/WebCore:
- css/MediaQueryExpression.cpp:
(WebCore::isValidValueForIdentMediaFeature):
(WebCore::featureWithValidIdent):
- 1:34 PM Changeset in webkit [277038] by
-
- 5 edits in trunk/Source
Add WebKitAdditions stubs for new NetworkLoadMetrics
https://bugs.webkit.org/show_bug.cgi?id=225406
<rdar://77563372>
Reviewed by Jer Noble.
Source/WebCore:
I also removed some dead code and added static asserts that do what the dead code was intended to do.
- platform/network/NetworkLoadMetrics.h:
(WebCore::NetworkLoadMetrics::isolatedCopy const):
(WebCore::NetworkLoadMetrics::operator== const):
(WebCore::NetworkLoadMetrics::encode const):
(WebCore::NetworkLoadMetrics::decode):
(WTF::Persistence::Coder<Optional<WebCore::NetworkLoadPriority>>::encode): Deleted.
(WTF::Persistence::Coder<Optional<WebCore::NetworkLoadPriority>>::decode): Deleted.
- platform/network/cocoa/WebCoreNSURLSession.mm:
Source/WebKit:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]):
- 1:34 PM Changeset in webkit [277037] by
-
- 3 edits in trunk/LayoutTests
[ macOS/iOS Debug ] http/wpt/crypto/unwrap-rsa-key-crash.any.html (layout-test) is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=225315
Unreviewed test gardening.
Removing prior expectations.
- platform/ios-simulator/TestExpectations:
- platform/mac/TestExpectations:
- 1:19 PM Changeset in webkit [277036] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
[LibWebRTC][WPE][GTK] do not use system installed vpx headers when building webrtc
https://bugs.webkit.org/show_bug.cgi?id=225401
Reviewed by Philippe Normand.
Use vpx headers from Source/ThirdParty/libwebrtc instead of those from the host system.
- CMakeLists.txt: expose libvpx headers to webrtc
- 12:37 PM Changeset in webkit [277035] by
-
- 3 edits in trunk/JSTests
Update tests to use collectExtraSamplingProfilerData instead of collectSamplingProfilerDataForJSCShell
https://bugs.webkit.org/show_bug.cgi?id=225398
Reviewed by Mark Lam.
I forgot to update the tests to use the new option name.
- stress/sampling-profiler-code-origin.js:
- stress/sampling-profiler-richards.js:
- 12:08 PM Changeset in webkit [277034] by
-
- 2 edits in trunk/Source/WebKit
Separated layers need to be configured
https://bugs.webkit.org/show_bug.cgi?id=225378
Reviewed by Tim Horton.
Configure a layer as it becomes separated. The actual code will
come from WebKitAdditions.
- Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
(configureSeparatedLayer):
(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
- 11:47 AM Changeset in webkit [277033] by
-
- 5 edits in trunk/Source/WebKit
Add and adopt RemoteLayerBackingStore::Type (instead of "accelerates drawing" bit)
https://bugs.webkit.org/show_bug.cgi?id=225384
Reviewed by Anders Carlsson.
No new tests, no behavior change, just refactoring.
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
(WebKit::RemoteLayerBackingStore::type const):
(WebKit::RemoteLayerBackingStore::acceleratesDrawing const): Deleted.
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::ensureBackingStore):
(WebKit::RemoteLayerBackingStore::encode const):
(WebKit::RemoteLayerBackingStore::decode):
(WebKit::RemoteLayerBackingStore::pixelFormat const):
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
(WebKit::RemoteLayerBackingStore::setBufferVolatility):
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:
(WebKit::nameForBackingStoreType):
(WebKit::operator<<):
- WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::updateBackingStore):
In preparation for adding another backing store type, refactor RemoteLayerBackingStore
to have a type enum instead of an "accelerates drawing" bit.
- 11:43 AM Changeset in webkit [277032] by
-
- 9 edits in trunk/Source/WebKit
[Cocoa] Remove access to the unused 'nvram' system command
https://bugs.webkit.org/show_bug.cgi?id=225370
<rdar://problem/66583129>
Reviewed by Per Arne Vollan.
Add a 'deny' rule for nvram, since we don't use it and have no reason to access it.
- GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb:
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
- WebProcess/com.apple.WebProcess.sb.in:
- 11:34 AM Changeset in webkit [277031] by
-
- 22 edits5 adds2 deletes in trunk
[MSE][GStreamer] WebKitMediaSrc rework v2
https://bugs.webkit.org/show_bug.cgi?id=225192
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
This patch (re)introduces a new source element for the MSE playback
pipeline. This is an iteration on the previous work on r249205 that
had to be reverted in r251365 because of flaky playbin3 bugs.
This new version avoids these pitfalls by avoiding flushes in
situations where they are avoidable and known to expose bugs.
This re-land shares many of the advantages that motivated the first
patch: seeks massively oversimplified and greater control by no longer
relying on appsrc. It can handle flushes of individual streams
natively.
Work has also gone into decoupling the state of the frame queue from
the state of WebKitMediaSrc so that the backend can survive
transitions from PAUSED to READY and back which
MediaPlayerPrivateGStreamer creates when playback ends. This latter
effort is not complete, and instead this version adds a special case
to inhibit downwards and back upwards transitions, avoiding any
issues.
It is expected that at this point this new backend is at least as
stable as the previous one. No LayoutTest has got worsened
expectations from adding this backend and some have improved.
- platform/GStreamer.cmake:
- platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp:
(webKitGLVideoSinkFinalize):
(webKitGLVideoSinkSetMediaPlayerPrivate):
- platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
(WTF::adoptGRef):
(WTF::refGPtr<GstMiniObject>):
(WTF::derefGPtr<GstMiniObject>):
- platform/graphics/gstreamer/GRefPtrGStreamer.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::doSeek):
(WebCore::MediaPlayerPrivateGStreamer::updateTracks):
(WebCore::MediaPlayerPrivateGStreamer::handleStreamCollectionMessage):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::didEnd):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
(WebCore::MediaPlayerPrivateGStreamer::invalidateCachedPosition):
- platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
(WebCore::TrackPrivateBaseGStreamer::setInitialCaps):
(WebCore::TrackPrivateBaseGStreamer::initialCaps):
- platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::parseDemuxerSrcPadCaps):
(WebCore::AppendPipeline::appsinkCapsChanged):
(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsinkFromStreamingThread):
(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsink):
- platform/graphics/gstreamer/mse/AppendPipeline.h:
(WebCore::AppendPipeline::demuxerSrcPadCaps):
- platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(WebCore::MediaPlayerPrivateGStreamerMSE::~MediaPlayerPrivateGStreamerMSE):
(WebCore::MediaPlayerPrivateGStreamerMSE::load):
(WebCore::MediaPlayerPrivateGStreamerMSE::play):
(WebCore::MediaPlayerPrivateGStreamerMSE::pause):
(WebCore::MediaPlayerPrivateGStreamerMSE::seek):
(WebCore::MediaPlayerPrivateGStreamerMSE::doSeek):
(WebCore::MediaPlayerPrivateGStreamerMSE::setReadyState):
(WebCore::MediaPlayerPrivateGStreamerMSE::propagateReadyStateToPlayer):
(WebCore::MediaPlayerPrivateGStreamerMSE::asyncStateChangeDone):
(WebCore::MediaPlayerPrivateGStreamerMSE::sourceSetup):
(WebCore::MediaPlayerPrivateGStreamerMSE::updateStates):
(WebCore::MediaPlayerPrivateGStreamerMSE::unblockDurationChanges):
(WebCore::MediaPlayerPrivateGStreamerMSE::durationChanged):
(WebCore::MediaPlayerPrivateGStreamerMSE::trackDetected):
(WebCore::MediaPlayerPrivateGStreamerMSE::startSource):
- platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
(WebCore::MediaPlayerPrivateGStreamerMSE::hasAllTracks const):
(WebCore::MediaPlayerPrivateGStreamerMSE::webKitMediaSrc):
- platform/graphics/gstreamer/mse/MediaSourcePrivateGStreamer.cpp:
(WebCore::MediaSourcePrivateGStreamer::addSourceBuffer):
(WebCore::MediaSourcePrivateGStreamer::markEndOfStream):
(WebCore::MediaSourcePrivateGStreamer::unmarkEndOfStream):
(WebCore::MediaSourcePrivateGStreamer::waitForSeekCompleted):
(WebCore::MediaSourcePrivateGStreamer::seekCompleted):
(WebCore::MediaSourcePrivateGStreamer::startPlaybackIfHasAllTracks):
- platform/graphics/gstreamer/mse/MediaSourcePrivateGStreamer.h:
- platform/graphics/gstreamer/mse/MediaSourceTrackGStreamer.cpp: Added.
(WebCore::MediaSourceTrackGStreamer::MediaSourceTrackGStreamer):
(WebCore::MediaSourceTrackGStreamer::~MediaSourceTrackGStreamer):
(WebCore::MediaSourceTrackGStreamer::create):
(WebCore::MediaSourceTrackGStreamer::isReadyForMoreSamples):
(WebCore::MediaSourceTrackGStreamer::notifyWhenReadyForMoreSamples):
(WebCore::MediaSourceTrackGStreamer::enqueueObject):
(WebCore::MediaSourceTrackGStreamer::clearQueue):
(WebCore::MediaSourceTrackGStreamer::remove):
- platform/graphics/gstreamer/mse/MediaSourceTrackGStreamer.h: Added.
- platform/graphics/gstreamer/mse/PlaybackPipeline.h: Removed.
- platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:
(WebCore::SourceBufferPrivateGStreamer::removedFromMediaSource):
(WebCore::SourceBufferPrivateGStreamer::flush):
(WebCore::SourceBufferPrivateGStreamer::enqueueSample):
(WebCore::SourceBufferPrivateGStreamer::isReadyForMoreSamples):
(WebCore::SourceBufferPrivateGStreamer::notifyClientWhenReadyForMoreSamples):
(WebCore::SourceBufferPrivateGStreamer::allSamplesInTrackEnqueued):
(WebCore::SourceBufferPrivateGStreamer::didReceiveInitializationSegment):
- platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.h:
- platform/graphics/gstreamer/mse/TrackQueue.cpp: Added.
(WebCore::TrackQueue::TrackQueue):
(WebCore::TrackQueue::enqueueObject):
(WebCore::TrackQueue::clear):
(WebCore::TrackQueue::flush):
(WebCore::TrackQueue::notifyWhenLowLevel):
(WebCore::TrackQueue::pop):
(WebCore::TrackQueue::notifyWhenNotEmpty):
(WebCore::TrackQueue::resetNotEmptyHandler):
(WebCore::TrackQueue::checkLowLevel):
(WebCore::TrackQueue::durationEnqueued const):
- platform/graphics/gstreamer/mse/TrackQueue.h: Added.
(WebCore::TrackQueue::isFull const):
(WebCore::TrackQueue::isEmpty const):
(WebCore::TrackQueue::hasNotEmptyHandler const):
- platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
(WebKitMediaSrcPrivate::streamByName):
(WebKitMediaSrcPrivate::isStarted):
(WTF::adoptGRef):
(WTF::refGPtr<WebKitMediaSrcPad>):
(WTF::derefGPtr<WebKitMediaSrcPad>):
(webkit_media_src_pad_class_init):
(Stream::Stream):
(Stream::StreamingMembers::StreamingMembers):
(findPipeline):
(gstStreamType):
(streamTypeToString):
(webkit_media_src_class_init):
(webkit_media_src_init):
(webKitMediaSrcFinalize):
(webKitMediaSrcEmitStreams):
(webKitMediaSrcTearDownStream):
(webKitMediaSrcActivateMode):
(webKitMediaSrcPadLinked):
(webKitMediaSrcLoop):
(webKitMediaSrcStreamFlush):
(webKitMediaSrcFlush):
(webKitMediaSrcSeek):
(countStreamsOfType):
(webKitMediaSrcGetProperty):
(webKitMediaSrcChangeState):
(webKitMediaSrcSendEvent):
(webKitMediaSrcUriGetType):
(webKitMediaSrcGetProtocols):
(webKitMediaSrcGetUri):
(webKitMediaSrcSetUri):
(webKitMediaSrcUriHandlerInit):
- platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.h:
- platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamerPrivate.h: Removed.
Tools:
WebKitMediaSrc is a GObject class and needs to follow some GObject
conventions that conflict with WebKit's. Make the checker aware of
this.
- Scripts/webkitpy/style/checker.py:
LayoutTests:
Update expectations.
- platform/glib/TestExpectations:
- platform/glib/imported/w3c/web-platform-tests/media-source/mediasource-append-buffer-expected.txt: Added.
- 11:17 AM Changeset in webkit [277030] by
-
- 10 edits in trunk
Sampled Page Top Color: take additional snapshots further down the page to see if the sampled top color is more than just a tiny strip
https://bugs.webkit.org/show_bug.cgi?id=225323
Reviewed by Beth Dakin.
Source/WebCore:
Add a
SampledPageTopColorMinHeight
setting that controls how far down the sampled page top
color needs to extend in order for us to not bail. If the value > 0, we take an additional
snapshot at (0, SampledPageTopColorMinHeight) and (width, SampledPageTopColorMinHeight),
comparing each to the snapshot directly above (e.g. (0, SampledPageTopColorMinHeight) is
compared to (0, 0)) using theSampledPageTopColorMaxDifference
. Depending on the value, if
the color across the top of the page is only a small strip, these extra snapshot comparisons
will prevent a resulting color from being derived.
Tests: SampledPageTopColor.VerticalGradientBelowMaxDifference
SampledPageTopColor.VerticalGradientAboveMaxDifference
- dom/Document.cpp:
(WebCore::Document::determineSampledPageTopColor):
Source/WebKit:
Add a
SampledPageTopColorMinHeight
setting that controls how far down the sampled page top
color needs to extend in order for us to not bail. If the value > 0, we take an additional
snapshot at (0, SampledPageTopColorMinHeight) and (width, SampledPageTopColorMinHeight),
comparing each to the snapshot directly above (e.g. (0, SampledPageTopColorMinHeight) is
compared to (0, 0)) using theSampledPageTopColorMaxDifference
. Depending on the value, if
the color across the top of the page is only a small strip, these extra snapshot comparisons
will prevent a resulting color from being derived.
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _setSampledPageTopColorMinHeight:]): Added.
(-[WKWebViewConfiguration _sampledPageTopColorMinHeight]): Added.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setupPageConfiguration:]):
Provide SPI to configure theSampledPageTopColorMinHeight
preference when creating theWKWebView
.
Source/WTF:
Add a
SampledPageTopColorMinHeight
setting that controls how far down the sampled page top
color needs to extend in order for us to not bail. If the value > 0, we take an additional
snapshot at (0, SampledPageTopColorMinHeight) and (width, SampledPageTopColorMinHeight),
comparing each to the snapshot directly above (e.g. (0, SampledPageTopColorMinHeight) is
compared to (0, 0)) using theSampledPageTopColorMaxDifference
. Depending on the value, if
the color across the top of the page is only a small strip, these extra snapshot comparisons
will prevent a resulting color from being derived.
- Scripts/Preferences/WebPreferences.yaml:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/SampledPageTopColor.mm:
(createWebViewWithSampledPageTopColorMaxDifference):
(createHTMLGradientWithColorStops):
(TEST.SampledPageTopColor.ZeroMaxDifference):
(TEST.SampledPageTopColor.NegativeMaxDifference):
(TEST.SampledPageTopColor.SolidColor):
(TEST.SampledPageTopColor.DifferentColorsWithoutOutlierBelowMaxDifference):
(TEST.SampledPageTopColor.DifferentColorsWithLeftOutlierAboveMaxDifference):
(TEST.SampledPageTopColor.DifferentColorsWithMiddleOutlierAboveMaxDifference):
(TEST.SampledPageTopColor.DifferentColorsWithRightOutlierAboveMaxDifference):
(TEST.SampledPageTopColor.DifferentColorsIndividuallyAboveMaxDifference):
(TEST.SampledPageTopColor.DifferentColorsCumulativelyAboveMaxDifference):
(TEST.SampledPageTopColor.VerticalGradientBelowMaxDifference): Added.
(TEST.SampledPageTopColor.VerticalGradientAboveMaxDifference): Added.
(TEST.SampledPageTopColor.DISABLED_DisplayP3):
(TEST.SampledPageTopColor.ExperimentalUseSampledPageTopColorForScrollAreaBackgroundColor):
- 11:12 AM Changeset in webkit [277029] by
-
- 2 edits2 adds in trunk/LayoutTests
[LayoutTests] http/tests/css/object-fit-delayed-img-svg.html yields errors due to missing scripts
https://bugs.webkit.org/show_bug.cgi?id=225246
<rdar://problem/77397227>
Reviewed by Jonathan Bedard.
- http/tests/css/object-fit-delayed-img-svg.html:
- http/tests/css/resources/circle.svg: Added.
- http/tests/css/resources/delayedCircle.py: Added.
- 10:58 AM Changeset in webkit [277028] by
-
- 3 edits2 adds in trunk
No need to error a fetch body stream if its request or response is stopped
https://bugs.webkit.org/show_bug.cgi?id=225347
Reviewed by Geoffrey Garen.
Source/WebCore:
Test: http/wpt/fetch/fetch-response-body-stop-in-worker.html
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::stop):
Nullify the source before we error it.
LayoutTests:
- http/wpt/fetch/fetch-response-body-stop-in-worker-expected.txt: Added.
- http/wpt/fetch/fetch-response-body-stop-in-worker.html: Added.
- 10:28 AM Changeset in webkit [277027] by
-
- 10 edits in trunk/Source/JavaScriptCore
Enable incremental sweeping of GCAwareJITStubRoutines.
https://bugs.webkit.org/show_bug.cgi?id=225376
Reviewed by Filip Pizlo.
This patch makes the following changes:
- Enhance JITStubRoutineSet::deleteUnmarkedJettisonedStubRoutines() to be able to run in an incremental time slice.
- Added JITStubRoutineSet::notifyHaveRoutinesToDelete() so that GCAwareJITStubRoutine::observeZeroRefCount() can flag that the GC may have some dead GCAwareJITStubRoutines to delete.
- Added JITStubRoutineSet::mayHaveRoutinesToDelete() so that clients can do a cheap check ahead of time to determine if there's work to do, and avoid calling JITStubRoutineSet::deleteUnmarkedJettisonedStubRoutines() altogether if not needed.
- Added Heap::mayHaveJITStubRoutinesToDelete() and Heap::deleteDeadJITStubRoutines() as wrappers around JITStubRoutineSet::mayHaveRoutinesToDelete() and JITStubRoutineSet::deleteUnmarkedJettisonedStubRoutines() because the use of the JITStubRoutineSet is a heap internal implementation detail.
- Enhanced the IncrementalSweeper to also call Heap::deleteDeadJITStubRoutines() if needed.
- Enhanced Heap::sweepSynchronously() to also call Heap::deleteDeadJITStubRoutines() if needed.
- Time slices for Heap::deleteDeadJITStubRoutines() is currently set at the
current values:
- max of 1 ms (1/10 of the IncreamentalSweeper's time slice) when invoked from the IncreamentalSweeper.
- max of 5 ms when invoked from Heap::deleteUnmarkedCompiledCode().
- unlimited time (with a sanity check) when called from Heap::sweepSynchronously().
The choices of 1ms and 5ms were picked to not be too long, but would still delete
the bulk of the dead GCAwareJITStubRoutines quickly enough based on data from my
instrumented runs the CLI version of JetStream2.
I think these hardcoded values will do for now. If need be, we can try something
more sophisticated later.
- CMakeLists.txt:
- heap/Heap.cpp:
(JSC::Heap::deleteUnmarkedCompiledCode):
(JSC::Heap::sweepSynchronously):
- heap/Heap.h:
- heap/HeapInlines.h:
(JSC::Heap::mayHaveJITStubRoutinesToDelete):
(JSC::Heap::deleteDeadJITStubRoutines):
- heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::doSweep):
- heap/JITStubRoutineSet.cpp:
(JSC::JITStubRoutineSet::deleteUnmarkedJettisonedStubRoutines):
- heap/JITStubRoutineSet.h:
(JSC::JITStubRoutineSet::mayHaveRoutinesToDelete):
(JSC::JITStubRoutineSet::notifyHaveRoutinesToDelete):
(JSC::JITStubRoutineSet::deleteUnmarkedJettisonedStubRoutines):
- jit/GCAwareJITStubRoutine.cpp:
(JSC::GCAwareJITStubRoutine::observeZeroRefCount):
- jit/JITStubRoutine.h:
(JSC::JITStubRoutine::createSelfManagedRoutine): Deleted.
- 10:00 AM Changeset in webkit [277026] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r276633): ASSERTION FAILED: !forbidMallocUseScopeCount disableMallocRestrictionScopeCount https://bugs.webkit.org/show_bug.cgi?id=225374
<rdar://problem/77533237>
Reviewed by Chris Dumez.
Disable memory allocation checks in speech recognition code path.
No change of behavior.
- WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp:
(WebKit::SpeechRecognitionRealtimeMediaSourceManager::Source::storageChanged):
- 9:45 AM Changeset in webkit [277025] by
-
- 1 edit in branches/safari-612.1.12-branch/Source/WebCore/html/HTMLElement.h
Unreviewed build fix. rdar://problem/77530347
Undefined symbols:
"WebCore::HTMLElement::isInsideImageOverlay(WebCore::SimpleRange const&)"
- 9:36 AM Changeset in webkit [277024] by
-
- 24 edits3 copies6 adds in trunk
Add preliminary support for specifying a color space for 2D canvas
https://bugs.webkit.org/show_bug.cgi?id=225286
Reviewed by Dean Jackson.
Source/WebCore:
Tests: fast/canvas/CanvasRenderingContext2DSettings-colorSpace-disabled.html
fast/canvas/CanvasRenderingContext2DSettings-colorSpace-enabled.html
fast/canvas/canvas-color-space-display-p3.html
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
Add new files.
- html/canvas/CanvasRenderingContext2DSettings.idl:
- html/canvas/CanvasRenderingContext2DSettings.h:
Add a new setting blocked member to the CanvasRenderingContext2DSettings
dictionary for specifying a color space.
- html/canvas/PredefinedColorSpace.cpp: Added.
- html/canvas/PredefinedColorSpace.h: Added.
- html/canvas/PredefinedColorSpace.idl: Added.
Add a new IDL enumeration to represent the possible color spaces supported.
For ports that don't support DisplayP3, trying to use it will result in
type error from JS.
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::reset):
Add checks for color space and pixel format to 2d context reset optimation.
This can happen if the image buffer is allocated prior to the context being
requested (such as via canvas.toDataURL() or canvas.toBlob()).
(WebCore::HTMLCanvasElement::createImageBuffer const):
Pass the correct color space and pixel format (though
the later is always BGRA8 at the moment) to the ImageBuffer
create function to make a backing store in the right format.
- html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::createBufferForPainting const):
- html/HTMLVideoElement.h:
Pass color space and pixel format through to ensure the helper
buffer matches the correct color space.
- html/ImageBitmap.cpp:
(WebCore::ImageBitmap::createPromise):
Pass the existing defaults to HTMLVideoElement::createBufferForPainting.
In the future, ImageBitmap will also gain color space and pixel
format specificity and this will be updated.
- html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::pixelFormat const):
(WebCore::CanvasRenderingContext::colorSpace const):
- html/canvas/CanvasRenderingContext.h:
Add virtual base implementations of colorSpace and pixelFormat
which CanvasRenderingContext2D can override to return the
values specified in the CanvasRenderingContext2DSettings.
- html/canvas/CanvasRenderingContext2D.h:
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::fontProxy const):
Fix incorrect formatting.
(WebCore::CanvasRenderingContext2D::pixelFormat const):
(WebCore::CanvasRenderingContext2D::colorSpace const):
Add overrides, return m_settings.colorSpace for colorSpace.
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::drawImage):
(WebCore::CanvasRenderingContext2DBase::createCompositingBuffer):
(WebCore::CanvasRenderingContext2DBase::createPattern):
(WebCore::CanvasRenderingContext2DBase::drawTextUnchecked):
Pass along the colorSpace and pixelFormat when creating buffers.
- html/shadow/DateTimeSymbolicFieldElement.cpp:
Add missing includes that are now needed.
Source/WTF:
Add new experimental feature, CanvasColorSpaceEnabled, which blocks
access to the new ability to specify color spaces for 2D canvas.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
Tools:
- DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
Add CanvasColorSpaceEnabled for windows.
LayoutTests:
Add basic tests for color space in canvas support.
- fast/canvas/CanvasRenderingContext2DSettings-colorSpace-disabled-expected.txt: Added.
- fast/canvas/CanvasRenderingContext2DSettings-colorSpace-disabled.html: Added.
- fast/canvas/CanvasRenderingContext2DSettings-colorSpace-enabled-expected.txt: Added.
- fast/canvas/CanvasRenderingContext2DSettings-colorSpace-enabled.html: Added.
- fast/canvas/canvas-color-space-display-p3-expected.html: Added.
- fast/canvas/canvas-color-space-display-p3.html: Added.
- 9:33 AM Changeset in webkit [277023] by
-
- 7 edits5 deletes in trunk/LayoutTests
Update WPT OffscreenCanvas tests to respect [EnforceRange]
https://bugs.webkit.org/show_bug.cgi?id=225391
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Synchronise with upstream WPT OffscreenCanvas tests.
- web-platform-tests/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.tiny-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.tiny.html: Removed.
- web-platform-tests/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.tiny.worker-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.tiny.worker.html: Removed.
- web-platform-tests/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.tiny.worker.js: Removed.
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.idl-expected.txt:
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.idl.html:
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.idl.worker-expected.txt:
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.idl.worker.js:
(t.step):
LayoutTests:
WPT html/canvas/offscreen/pixel-manipulation/2d.imageData.get.tiny.html
passes after updating.
- platform/glib/TestExpectations:
- 9:19 AM WebKitGTK/2.32.x edited by
- (diff)
- 9:18 AM Changeset in webkit [277022] by
-
- 4 edits in releases/WebKitGTK/webkit-2.32
Merge r277014 - [SOUP] Wrong cookie timestamp in case of long expire time
https://bugs.webkit.org/show_bug.cgi?id=225389
Reviewed by Adrian Perez de Castro.
Source/WebCore:
There's an overflow when converting the dates in both libsoup2 and libsoup3, but for two different reasons. In
the case of libsoup2 we are using an int for the conversion of milliseconds to seconds which is not enough. In
the case of libsoup3 we are passing the value in milliseconds to g_date_time_new_from_unix_utc() that expects
seconds.
- platform/network/soup/CookieSoup.cpp:
(WebCore::msToSoupDate): Use int64_t instead of int for the cast.
(WebCore::Cookie::toSoupCookie const): Convert the value to seconds.
Tools:
Add a test case.
- TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
(testCookieManagerLongExpires):
(beforeAll):
- 9:18 AM Changeset in webkit [277021] by
-
- 2 edits in releases/WebKitGTK/webkit-2.32
Merge r277015 - USE_64KB_PAGE_BLOCK build option is broken
https://bugs.webkit.org/show_bug.cgi?id=225393
Patch by Michael Catanzaro <Michael Catanzaro> on 2021-05-05
Reviewed by Adrian Perez de Castro.
Call SET_AND_EXPOSE_TO_BUILD().
- Source/cmake/WebKitFeatures.cmake:
- 8:07 AM Changeset in webkit [277020] by
-
- 7 edits in trunk
imported/w3c/web-platform-tests/media-source/mediasource-activesourcebuffers.html is a flakey
https://bugs.webkit.org/show_bug.cgi?id=225386
rdar://74704447
Reviewed by Eric Carlson.
Source/WebKit:
When enabling/disabling a track, the web content process would send a message to the GPU process which in turn
would send a message back to the content process, notifying that the track configuration had changed, that would
then enable/disable again the track.
If the content process in between those IPC messages had modified the track (such as via JS call), it was
possible for the track status to get lost once the GPU message above got actioned.
Having the GPU process notify that a track configuration got changed when it was originally triggered by the
content process is unnecessary. We modify the RemoteAudioTrack and RemoteVideoTrack so that if the change came
from the web process, the GPU process doesn't send a message back with information that could already be obsolete.
No new tests. Fix an assertion failure in tests.
- GPUProcess/media/RemoteAudioTrackProxy.cpp:
(WebKit::RemoteAudioTrackProxy::enabledChanged):
- GPUProcess/media/RemoteAudioTrackProxy.h:
- GPUProcess/media/RemoteVideoTrackProxy.cpp:
(WebKit::RemoteVideoTrackProxy::selectedChanged):
- GPUProcess/media/RemoteVideoTrackProxy.h:
LayoutTests:
- platform/mac-wk2/TestExpectations: Remove
- 8:02 AM Changeset in webkit [277019] by
-
- 2 edits in trunk/Tools
Unreviewed, reverting r276985.
This test is still failing on Apple Silicon
Reverted changeset:
"Unreviewed, try and re-enable
AppleLanguagesTest.UpdateAppleLanguages on Apple Silicon."
https://commits.webkit.org/r276985
- 7:48 AM Changeset in webkit [277018] by
-
- 2 edits in trunk/Tools
REGRESSION (r272414?): [macOS] TestWebKitAPI.GPUProcess.CrashWhilePlayingVideo is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=221742
<rdar://problem/74220428>
Reviewed by Youenn Fablet.
Make sure the video is looping so that it cannot stop playing before the end of the test.
This is a speculative fix since I haven't been able to reproduce the issue.
- TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
- 7:11 AM Changeset in webkit [277017] by
-
- 3 edits in trunk/Tools/buildstream
[Flatpak SDK] Update libwpe and wpebackend-fdo
https://bugs.webkit.org/show_bug.cgi?id=225358
Patch by Philippe Normand <pnormand@igalia.com> on 2021-05-05
Reviewed by Adrian Perez de Castro.
- elements/sdk/libwpe.bst: Update to version 1.10.
- elements/sdk/wpebackend-fdo.bst: Update to 1.9.91, soon to be 1.10.
- 6:55 AM Changeset in webkit [277016] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer][WebRTC] Wrap incoming audio buffers, complying with fastMalloc restrictions
https://bugs.webkit.org/show_bug.cgi?id=225351
Patch by Philippe Normand <pnormand@igalia.com> on 2021-05-05
Reviewed by Xabier Rodriguez-Calvar.
The audio thread should avoid calling fastMalloc for performance reasons, so audio buffers
are now wrapped in GStreamer buffers and passed as read-only memories to the observers.
- platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.cpp:
(WebCore::RealtimeIncomingAudioSourceLibWebRTC::OnData):
- 6:40 AM WebKitGTK/2.32.x edited by
- (diff)
- 6:39 AM Changeset in webkit [277015] by
-
- 2 edits in trunk
USE_64KB_PAGE_BLOCK build option is broken
https://bugs.webkit.org/show_bug.cgi?id=225393
Patch by Michael Catanzaro <Michael Catanzaro> on 2021-05-05
Reviewed by Adrian Perez de Castro.
Call SET_AND_EXPOSE_TO_BUILD().
- Source/cmake/WebKitFeatures.cmake:
- 6:24 AM Changeset in webkit [277014] by
-
- 4 edits in trunk
[SOUP] Wrong cookie timestamp in case of long expire time
https://bugs.webkit.org/show_bug.cgi?id=225389
Reviewed by Adrian Perez de Castro.
Source/WebCore:
There's an overflow when converting the dates in both libsoup2 and libsoup3, but for two different reasons. In
the case of libsoup2 we are using an int for the conversion of milliseconds to seconds which is not enough. In
the case of libsoup3 we are passing the value in milliseconds to g_date_time_new_from_unix_utc() that expects
seconds.
- platform/network/soup/CookieSoup.cpp:
(WebCore::msToSoupDate): Use int64_t instead of int for the cast.
(WebCore::Cookie::toSoupCookie const): Convert the value to seconds.
Tools:
Add a test case.
- TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
(testCookieManagerLongExpires):
(beforeAll):
- 6:21 AM WebKitGTK/2.32.x edited by
- (diff)
- 6:19 AM WebKitGTK/2.32.x edited by
- (diff)
- 6:14 AM Changeset in webkit [277013] by
-
- 8 edits in trunk/Source/WebCore
Use WeakHashSet instead of HashSet of raw pointes in Document and SVGDocumentExtensions
https://bugs.webkit.org/show_bug.cgi?id=225390
Reviewed by Antti Koivisto.
Replaced Document's m_documentSuspensionCallbackElements and m_articleElements as well as
SVGDocumentExtensions's m_timeContainers and m_svgFontFaceElements with WeakHashSet.
Also moved m_svgUseElements from Document to SVGDocumentExtensions as a WeakHashSet.
This patch also deletes Document::m_mediaStreamStateChangeElements which was never used,
m_mainArticleElement a WeakPtr instead of a raw pointer, replaces SVGDocumentExtensions's
m_rebuildElements, which is a temporary Vector used during tree mutations, with a Vector
of Refs instead of raw pointers.
No new tests since there should be no observable behavior differences.
- dom/Document.cpp:
(WebCore::Document::~Document): The release assert is moved to ~SVGDocumentExtensions.
(WebCore::Document::resolveStyle):
(WebCore::Document::suspend):
(WebCore::Document::resume):
(WebCore::Document::registerForDocumentSuspensionCallbacks):
(WebCore::Document::unregisterForDocumentSuspensionCallbacks):
(WebCore::Document::addSVGUseElement): Moved to SVGDocumentExtensions.
(WebCore::Document::removeSVGUseElement): Ditto.
(WebCore::Document::registerArticleElement):
(WebCore::Document::unregisterArticleElement):
(WebCore::Document::updateMainArticleElementAfterLayout):
(WebCore::Document::prepareCanvasesForDisplayIfNeeded):
(WebCore::Document::clearCanvasPreparation):
(WebCore::Document::canvasChanged):
(WebCore::Document::canvasDestroyed):
- dom/Document.h:
(WebCore::Document:: const const): Deleted.
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::~HTMLCanvasElement):
(WebCore::HTMLCanvasElement::didMoveToNewDocument):
(WebCore::HTMLCanvasElement::removedFromAncestor):
- style/StyleResolver.cpp:
(WebCore::Style::Resolver::addCurrentSVGFontFaceRules):
- svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::~SVGDocumentExtensions): Moved the release assertion
from ~Document.
(WebCore::SVGDocumentExtensions::addTimeContainer):
(WebCore::SVGDocumentExtensions::removeTimeContainer):
(WebCore::SVGDocumentExtensions::addUseElementWithPendingShadowTreeUpdate): Moved here
Document::addSVGUseElement.
(WebCore::SVGDocumentExtensions::removeUseElementWithPendingShadowTreeUpdate): Ditto.
(WebCore::SVGDocumentExtensions::startAnimations):
(WebCore::SVGDocumentExtensions::pauseAnimations):
(WebCore::SVGDocumentExtensions::unpauseAnimations):
(WebCore::SVGDocumentExtensions::dispatchLoadEventToOutermostSVGElements):
(WebCore::SVGDocumentExtensions::rebuildElements):
(WebCore::SVGDocumentExtensions::clearTargetDependencies):
(WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget):
(WebCore::SVGDocumentExtensions::registerSVGFontFaceElement):
(WebCore::SVGDocumentExtensions::unregisterSVGFontFaceElement):
- svg/SVGDocumentExtensions.h:
(WebCore::SVGDocumentExtensions::useElementsWithPendingShadowTreeUpdate const): Added.
(WebCore::SVGDocumentExtensions::svgFontFaceElements const):
- svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::insertedIntoAncestor):
(WebCore::SVGUseElement::removedFromAncestor):
(WebCore::SVGUseElement::updateShadowTree):
(WebCore::SVGUseElement::invalidateShadowTree):
- 5:47 AM Changeset in webkit [277012] by
-
- 2 edits in trunk
Fix typo in comment in WebKitFeatures.cmake
https://bugs.webkit.org/show_bug.cgi?id=225392
Unreviewed.
Patch by Michael Catanzaro <Michael Catanzaro> on 2021-05-05
- Source/cmake/WebKitFeatures.cmake:
- 5:43 AM WebKitGTK/2.32.x edited by
- (diff)
- 2:49 AM Changeset in webkit [277011] by
-
- 6 edits in trunk
OffscreenCanvas should preserve context transform after transferToImageBitmap
https://bugs.webkit.org/show_bug.cgi?id=225304
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline transferToImageBitmap tests.
- web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap-expected.txt:
- web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.w-expected.txt:
Source/WebCore:
transferToImageBitmap should not affect the state of the canvas
context. Instead of returning the actual canvas buffer, to which the
drawing context is tightly bound, return a copy and clear the
original.
No new tests, rebaselined existing tests.
- html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::transferToImageBitmap):
(WebCore::OffscreenCanvas::takeImageBuffer const):
- html/canvas/CanvasRenderingContext2DBase.h:
- 1:53 AM Changeset in webkit [277010] by
-
- 8 edits in trunk/Source/WebKit
Dynamically pass capture sandbox extensions to GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=225319
Reviewed by Eric Carlson.
Make sure to send the sandbox extensions for all WKWebView applications.
We do so once we are ready to start capture since TCC access should have been granted at that point.
Manually tested.
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::initializeGPUProcess):
(WebKit::GPUProcess::updateSandboxAccess):
- GPUProcess/GPUProcess.h:
- GPUProcess/GPUProcess.messages.in:
- GPUProcess/GPUProcessCreationParameters.cpp:
(WebKit::GPUProcessCreationParameters::encode const):
(WebKit::GPUProcessCreationParameters::decode):
- GPUProcess/GPUProcessCreationParameters.h:
- UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::GPUProcessProxy):
(WebKit::GPUProcessProxy::updateSandboxAccess):
(WebKit::GPUProcessProxy::updateCaptureAccess):
(WebKit::isSafari): Deleted.
(WebKit::shouldCreateCameraSandboxExtension): Deleted.
(WebKit::shouldCreateMicrophoneSandboxExtension): Deleted.
- UIProcess/GPU/GPUProcessProxy.h:
- 12:17 AM Changeset in webkit [277009] by
-
- 2 edits in releases/WebKitGTK/webkit-2.32/Source/WebCore/platform/gtk/po
Merge r277005 - Updated Swedish translation
https://bugs.webkit.org/show_bug.cgi?id=225309
Patch by Anders Jonsson <anders.jonsson@norsjovallen.se> on 2021-05-04
Rubber-stamped by Carlos Garcia Campos.
- sv.po:
May 4, 2021:
- 11:56 PM Changeset in webkit [277008] by
-
- 2 edits in releases/WebKitGTK/webkit-2.32/Source/WebKit
Merge r276430 - [GTK] Build error: Couldn't find include 'Soup-2.4.gir'
https://bugs.webkit.org/show_bug.cgi?id=224926
Reviewed by Philippe Normand.
Use the right soup API version when generating the introspection.
- PlatformGTK.cmake:
- 11:56 PM Changeset in webkit [277007] by
-
- 8 edits in releases/WebKitGTK/webkit-2.32
Merge r276429 - [GTK][WPE] Bump libsoup3 version to 2.99.4
https://bugs.webkit.org/show_bug.cgi?id=224925
Reviewed by Philippe Normand.
.:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
Source/WebCore:
Update to use the new API.
- platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::ResourceResponse):
- platform/network/soup/SoupVersioning.h:
(soup_message_get_tls_peer_certificate):
(soup_message_get_tls_peer_certificate_errors):
(soup_message_get_tls_certificate): Deleted.
(soup_message_get_tls_certificate_errors): Deleted.
Tools/buildstream:
- elements/sdk/libsoup3.bst:
LayoutTests:
Remove expectations for tests that should be passing now.
- platform/glib/TestExpectations:
- 11:56 PM Changeset in webkit [277006] by
-
- 6 edits in releases/WebKitGTK/webkit-2.32
Merge r275759 - [GTK][WPE] Bump libsoup3 version to 2.99.3
https://bugs.webkit.org/show_bug.cgi?id=224362
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-04-09
Reviewed by Žan Doberšek.
.:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
Source/WebCore:
- platform/network/soup/GUniquePtrSoup.h:
- platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::platformSuggestedFilename const):
- 10:52 PM Changeset in webkit [277005] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
Updated Swedish translation
https://bugs.webkit.org/show_bug.cgi?id=225309
Patch by Anders Jonsson <anders.jonsson@norsjovallen.se> on 2021-05-04
Rubber-stamped by Carlos Garcia Campos.
- sv.po:
- 10:46 PM Changeset in webkit [277004] by
-
- 5 edits137 adds in trunk/LayoutTests
Import webstorage WPTs
https://bugs.webkit.org/show_bug.cgi?id=225369
Patch by Tyler Wilcock <Tyler Wilcock> on 2021-05-04
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Import tip-of-tree webstorage WPTs with:
Tools/Scripts/import-w3c-tests -t web-platform-tests/webstorage
This patch also sets the baseline results for the newly imported tests.
- resources/import-expectations.json:
- web-platform-tests/webstorage/META.yml: Added.
- web-platform-tests/webstorage/README.md: Added.
- web-platform-tests/webstorage/defineProperty.window-expected.txt: Added.
- web-platform-tests/webstorage/defineProperty.window.html: Added.
- web-platform-tests/webstorage/defineProperty.window.js: Added.
(string_appeared_here.forEach.):
(string_appeared_here.forEach):
- web-platform-tests/webstorage/document-domain-expected.txt: Added.
- web-platform-tests/webstorage/document-domain.html: Added.
- web-platform-tests/webstorage/eventTestHarness.js: Added.
(iframe.contentWindow.onstorage):
(runAfterNStorageEvents):
(onTimeout):
(countStorageEvents):
(clearStorage):
- web-platform-tests/webstorage/event_basic-expected.txt: Added.
- web-platform-tests/webstorage/event_basic.html: Added.
- web-platform-tests/webstorage/event_basic.js: Added.
(testStorages.):
(testStorages):
- web-platform-tests/webstorage/event_body_attribute-expected.txt: Added.
- web-platform-tests/webstorage/event_body_attribute.html: Added.
- web-platform-tests/webstorage/event_body_attribute.js: Added.
(testStorages.):
(testStorages):
- web-platform-tests/webstorage/event_case_sensitive-expected.txt: Added.
- web-platform-tests/webstorage/event_case_sensitive.html: Added.
- web-platform-tests/webstorage/event_case_sensitive.js: Added.
(testStorages.):
(testStorages):
- web-platform-tests/webstorage/event_constructor.window-expected.txt: Added.
- web-platform-tests/webstorage/event_constructor.window.html: Added.
- web-platform-tests/webstorage/event_constructor.window.js: Added.
(test):
- web-platform-tests/webstorage/event_initstorageevent.window-expected.txt: Added.
- web-platform-tests/webstorage/event_initstorageevent.window.html: Added.
- web-platform-tests/webstorage/event_initstorageevent.window.js: Added.
(test):
- web-platform-tests/webstorage/event_local_key-expected.txt: Added.
- web-platform-tests/webstorage/event_local_key.html: Added.
- web-platform-tests/webstorage/event_local_newvalue-expected.txt: Added.
- web-platform-tests/webstorage/event_local_newvalue.html: Added.
- web-platform-tests/webstorage/event_local_oldvalue-expected.txt: Added.
- web-platform-tests/webstorage/event_local_oldvalue.html: Added.
- web-platform-tests/webstorage/event_local_removeitem-expected.txt: Added.
- web-platform-tests/webstorage/event_local_removeitem.html: Added.
- web-platform-tests/webstorage/event_local_storagearea-expected.txt: Added.
- web-platform-tests/webstorage/event_local_storagearea.html: Added.
- web-platform-tests/webstorage/event_local_url-expected.txt: Added.
- web-platform-tests/webstorage/event_local_url.html: Added.
- web-platform-tests/webstorage/event_no_duplicates-expected.txt: Added.
- web-platform-tests/webstorage/event_no_duplicates.html: Added.
- web-platform-tests/webstorage/event_session_key-expected.txt: Added.
- web-platform-tests/webstorage/event_session_key.html: Added.
- web-platform-tests/webstorage/event_session_newvalue-expected.txt: Added.
- web-platform-tests/webstorage/event_session_newvalue.html: Added.
- web-platform-tests/webstorage/event_session_oldvalue-expected.txt: Added.
- web-platform-tests/webstorage/event_session_oldvalue.html: Added.
- web-platform-tests/webstorage/event_session_removeitem-expected.txt: Added.
- web-platform-tests/webstorage/event_session_removeitem.html: Added.
- web-platform-tests/webstorage/event_session_storagearea-expected.txt: Added.
- web-platform-tests/webstorage/event_session_storagearea.html: Added.
- web-platform-tests/webstorage/event_session_url-expected.txt: Added.
- web-platform-tests/webstorage/event_session_url.html: Added.
- web-platform-tests/webstorage/event_setattribute-expected.txt: Added.
- web-platform-tests/webstorage/event_setattribute.html: Added.
- web-platform-tests/webstorage/event_setattribute.js: Added.
(testStorages.):
(testStorages):
- web-platform-tests/webstorage/missing_arguments.window-expected.txt: Added.
- web-platform-tests/webstorage/missing_arguments.window.html: Added.
- web-platform-tests/webstorage/missing_arguments.window.js: Added.
(tests):
(tests.forEach):
- web-platform-tests/webstorage/resources/event_body_handler.html: Added.
- web-platform-tests/webstorage/resources/event_setattribute_handler.html: Added.
- web-platform-tests/webstorage/resources/local_change_item_iframe.html: Added.
- web-platform-tests/webstorage/resources/local_set_item_clear_iframe.html: Added.
- web-platform-tests/webstorage/resources/local_set_item_iframe.html: Added.
- web-platform-tests/webstorage/resources/local_set_item_remove_iframe.html: Added.
- web-platform-tests/webstorage/resources/session_change_item_iframe.html: Added.
- web-platform-tests/webstorage/resources/session_set_item_clear_iframe.html: Added.
- web-platform-tests/webstorage/resources/session_set_item_iframe.html: Added.
- web-platform-tests/webstorage/resources/session_set_item_remove_iframe.html: Added.
- web-platform-tests/webstorage/resources/storage_local_window_open_second.html: Added.
- web-platform-tests/webstorage/resources/storage_session_window_noopener_second.html: Added.
- web-platform-tests/webstorage/resources/storage_session_window_open_second.html: Added.
- web-platform-tests/webstorage/resources/w3c-import.log: Added.
- web-platform-tests/webstorage/set.window-expected.txt: Added.
- web-platform-tests/webstorage/set.window.html: Added.
- web-platform-tests/webstorage/set.window.js: Added.
(string_appeared_here.forEach.):
(string_appeared_here.forEach):
- web-platform-tests/webstorage/storage_builtins.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_builtins.window.html: Added.
- web-platform-tests/webstorage/storage_builtins.window.js: Added.
(string_appeared_here.forEach.):
(string_appeared_here.forEach):
- web-platform-tests/webstorage/storage_clear.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_clear.window.html: Added.
- web-platform-tests/webstorage/storage_clear.window.js: Added.
(string_appeared_here.forEach):
- web-platform-tests/webstorage/storage_enumerate.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_enumerate.window.html: Added.
- web-platform-tests/webstorage/storage_enumerate.window.js: Added.
(string_appeared_here.forEach):
- web-platform-tests/webstorage/storage_functions_not_overwritten.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_functions_not_overwritten.window.html: Added.
- web-platform-tests/webstorage/storage_functions_not_overwritten.window.js: Added.
(string_appeared_here.forEach.):
(string_appeared_here.forEach):
- web-platform-tests/webstorage/storage_getitem.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_getitem.window.html: Added.
- web-platform-tests/webstorage/storage_getitem.window.js: Added.
(string_appeared_here.forEach.):
(string_appeared_here.forEach):
- web-platform-tests/webstorage/storage_in.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_in.window.html: Added.
- web-platform-tests/webstorage/storage_in.window.js: Added.
(string_appeared_here.forEach):
- web-platform-tests/webstorage/storage_indexing.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_indexing.window.html: Added.
- web-platform-tests/webstorage/storage_indexing.window.js: Added.
(string_appeared_here.forEach.):
(string_appeared_here.forEach):
- web-platform-tests/webstorage/storage_key.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_key.window.html: Added.
- web-platform-tests/webstorage/storage_key.window.js: Added.
(string_appeared_here.forEach.):
(string_appeared_here.forEach):
- web-platform-tests/webstorage/storage_key_empty_string.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_key_empty_string.window.html: Added.
- web-platform-tests/webstorage/storage_key_empty_string.window.js: Added.
(string_appeared_here.forEach):
- web-platform-tests/webstorage/storage_length.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_length.window.html: Added.
- web-platform-tests/webstorage/storage_length.window.js: Added.
(string_appeared_here.forEach):
- web-platform-tests/webstorage/storage_local_setitem_quotaexceedederr.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_local_setitem_quotaexceedederr.window.html: Added.
- web-platform-tests/webstorage/storage_local_setitem_quotaexceedederr.window.js: Added.
(test):
- web-platform-tests/webstorage/storage_local_window_open.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_local_window_open.window.html: Added.
- web-platform-tests/webstorage/storage_local_window_open.window.js: Added.
(async_test):
- web-platform-tests/webstorage/storage_removeitem.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_removeitem.window.html: Added.
- web-platform-tests/webstorage/storage_removeitem.window.js: Added.
(string_appeared_here.forEach):
- web-platform-tests/webstorage/storage_session_setitem_quotaexceedederr.window.html: Added.
- web-platform-tests/webstorage/storage_session_setitem_quotaexceedederr.window.js: Added.
(test):
- web-platform-tests/webstorage/storage_session_window_noopener.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_session_window_noopener.window.html: Added.
- web-platform-tests/webstorage/storage_session_window_noopener.window.js: Added.
(async_test):
- web-platform-tests/webstorage/storage_session_window_open.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_session_window_open.window.html: Added.
- web-platform-tests/webstorage/storage_session_window_open.window.js: Added.
(async_test):
- web-platform-tests/webstorage/storage_set_value_enumerate.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_set_value_enumerate.window.html: Added.
- web-platform-tests/webstorage/storage_set_value_enumerate.window.js: Added.
(string_appeared_here.forEach.):
(string_appeared_here.forEach):
- web-platform-tests/webstorage/storage_setitem.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_setitem.window.html: Added.
- web-platform-tests/webstorage/storage_setitem.window.js: Added.
(string_appeared_here.forEach.):
(string_appeared_here.forEach):
- web-platform-tests/webstorage/storage_string_conversion.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_string_conversion.window.html: Added.
- web-platform-tests/webstorage/storage_string_conversion.window.js: Added.
(string_appeared_here.forEach.):
(string_appeared_here.forEach):
- web-platform-tests/webstorage/storage_supported_property_names.window-expected.txt: Added.
- web-platform-tests/webstorage/storage_supported_property_names.window.html: Added.
- web-platform-tests/webstorage/storage_supported_property_names.window.js: Added.
(string_appeared_here.forEach):
- web-platform-tests/webstorage/symbol-props.window-expected.txt: Added.
- web-platform-tests/webstorage/symbol-props.window.html: Added.
- web-platform-tests/webstorage/symbol-props.window.js: Added.
(string_appeared_here.forEach.):
(string_appeared_here.forEach):
- web-platform-tests/webstorage/w3c-import.log: Added.
LayoutTests:
Import tip-of-tree webstorage WPTs with:
Tools/Scripts/import-w3c-tests -t web-platform-tests/webstorage
Skip 2 newly imported tests that consistently crash / timeout.
- tests-options.json:
Mark 4 newly imported tests as slow.
- 10:41 PM Changeset in webkit [277003] by
-
- 7 edits in trunk/Source
[GPUP] Implement SourceBufferPrivateRemote::bufferFull()
https://bugs.webkit.org/show_bug.cgi?id=224139
Reviewed by Jer Noble.
Source/WebCore:
- platform/graphics/SourceBufferPrivate.h:
(WebCore::SourceBufferPrivate::setBufferFull): This function will be used
bySourceBufferPrivateRemote::evictCodedFrames()
andSourceBufferPrivateRemote::reenqueueMediaIfNeeded()
.
Source/WebKit:
Modify two IPC messages to implement
SourceBufferPrivateRemote::bufferFull()
.
- GPUProcess/media/RemoteSourceBufferProxy.cpp:
(WebKit::RemoteSourceBufferProxy::evictCodedFrames):
(WebKit::RemoteSourceBufferProxy::reenqueueMediaIfNeeded):
- GPUProcess/media/RemoteSourceBufferProxy.h:
- GPUProcess/media/RemoteSourceBufferProxy.messages.in:
- WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:
(WebKit::SourceBufferPrivateRemote::evictCodedFrames):
(WebKit::SourceBufferPrivateRemote::reenqueueMediaIfNeeded):
- 10:38 PM Changeset in webkit [277002] by
-
- 4 edits in trunk/LayoutTests
[GTK] Unreviewed test gardening. Mark imported/w3c/web-platform-tests/worklets/paint-worklet-csp.https.html as flaky crash.
Also clean latest tests passing and mark 'open-features-tokenization-screenx-screeny.html' as flaky timeout.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 9:38 PM Changeset in webkit [277001] by
-
- 10 edits2 adds in trunk
REGRESSION(iOS 14): Author shadow DOM invalidated unnecessarily on pseudo element change
https://bugs.webkit.org/show_bug.cgi?id=222187
<rdar://problem/74801314>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Hovering the element causes us to invalidate the entire author shadow tree style.
The invalidation is triggered by the user agent stylesheet having some :hover rules targeting pseudo
elements. This should not require invalidation except for those specific elements and only for
UA shadow trees.
This patch optimizes the case and avoids unnecessary invalidations.
Test: fast/shadow-dom/shadow-style-invalidation-pseudo-element.html
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::handleFocusEvent):
(WebCore::HTMLInputElement::handleBlurEvent):
(WebCore::HTMLInputElement::invalidateStyleOnFocusChangeIfNeeded):
Input elements with 'text-overflow:ellipsis' (which is affected by focus) were relying
on spurious invalidations that we now optimize away. Invalidate properly.
- html/HTMLInputElement.h:
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::collectMatchingShadowPseudoElementRules):
- style/RuleSet.cpp:
(WebCore::Style::RuleSet::evaluateDynamicMediaQueryRules):
(WebCore::Style::RuleSet::hasShadowPseudoElementRules const): Deleted.
Handle ::cue separately.
- style/RuleSet.h:
(WebCore::Style::RuleSet::cuePseudoRules const):
(WebCore::Style::RuleSet::hasShadowPseudoElementRules const):
- style/StyleInvalidationFunctions.h:
(WebCore::Style::traverseRuleFeatures):
- style/StyleInvalidator.cpp:
(WebCore::Style::Invalidator::collectRuleInformation):
(WebCore::Style::Invalidator::invalidateShadowPseudoElements):
Narrowly invalidate user agent shadow tree pseudo elements.
(WebCore::Style::Invalidator::invalidateInShadowTreeIfNeeded):
- style/StyleInvalidator.h:
LayoutTests:
- fast/shadow-dom/shadow-style-invalidation-pseudo-element-expected.txt: Added.
- fast/shadow-dom/shadow-style-invalidation-pseudo-element.html: Added.
- 7:45 PM Changeset in webkit [277000] by
-
- 2 edits in trunk/LayoutTests
[WPE] Unreviewed test gardening. Gardened several WebXR tests that are crashing in Debug.
- platform/wpe/TestExpectations:
- 6:23 PM Changeset in webkit [276999] by
-
- 5 edits in trunk
WebKit must treat 'webgl' and 'webgl2' as distinct context types
https://bugs.webkit.org/show_bug.cgi?id=222758
Patch by Kenneth Russell <kbr@chromium.org> on 2021-05-04
Reviewed by Dean Jackson.
Source/WebCore:
Update both the regular getContext and CSS context code paths with
checks distinguishing WebGL 1.0 and 2.0 contexts.
Covered by existing WebGL 2.0 conformance tests.
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::getContextWebGL):
LayoutTests:
Revised the two copies of the WebGL 2.0 context-type-test with
strengthened checks taken from upstream KhronosGroup/WebGL.
- webgl/2.0.0/resources/webgl_test_files/conformance2/context/context-type-test-2.html:
- webgl/resources/webgl_test_files/conformance2/context/context-type-test-2.html:
- 5:42 PM Changeset in webkit [276998] by
-
- 4 edits in trunk
PCM: Find a way to validate source_secret_token and source_secret_token_signature
https://bugs.webkit.org/show_bug.cgi?id=224321
<rdar://problem/76695542>
Reviewed by John Wilander.
Source/WebKit:
Covered by exisiting tests.
- NetworkProcess/PrivateClickMeasurementManager.cpp:
(WebKit::PrivateClickMeasurementManager::getTokenPublicKey):
(WebKit::PrivateClickMeasurementManager::getSignedUnlinkableToken):
Reverts r236878.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::TEST):
Uses RSA-PSS with SHA-384 to verify the signature.
- 5:00 PM Changeset in webkit [276997] by
-
- 4 edits in trunk/Tools
[webkitscmpy] Scope classes used in TaskPool to object
https://bugs.webkit.org/show_bug.cgi?id=225361
<rdar://problem/77514131>
Reviewed by Dewei Zhu.
The classes used by TaskPool must be stand-alone because they are passed between processes.
However, it makes sense that those classes are scoped to the TaskPool object since their
usage should always be associated with the TaskPool object
- Scripts/libraries/webkitcorepy/setup.py:
- Scripts/libraries/webkitcorepy/webkitcorepy/init.py:
- Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py:
(_Message): Renamed from Message.
(_Task): Renamed from Task.
(_Result): Renamed from Result.
(_Log): Renamed from Log.
(_Print): Renamed from Print.
(_State): Renamed from State.
(_ChildException): Renamed from ChildException.
(_BiDirectionalQueue): Renamed from BiDirectionalQueue.
(_Process): Renamed from Process.
(TaskPool):
(TaskPool.do):
(Message): Renamed to _Message..
(Task): Renamed to _Task.
(Result): Renamed to _Result.
(Log): Renamed to _Log.
(Print): Renamed to _Print.
(State): Renamed to _State.
(ChildException): Renamed to _ChildException.
(BiDirectionalQueue): Renamed to _BiDirectionalQueue.
(Process): Renamed to _Process.
- 4:58 PM Changeset in webkit [276996] by
-
- 1 copy in tags/Safari-612.1.11.9
Tag Safari-612.1.11.9.
- 4:58 PM Changeset in webkit [276995] by
-
- 1 delete in tags/Safari-612.1.11.9
Delete tag.
- 4:51 PM Changeset in webkit [276994] by
-
- 8 edits in branches/safari-612.1.11-branch/Source
Versioning.
WebKit-7612.1.11.9
- 4:50 PM Changeset in webkit [276993] by
-
- 14 edits1 copy3 adds in trunk/Source
[Media in GPU Process] Move AudioSessionRoutingArbitratorProxy to the GPU process
https://bugs.webkit.org/show_bug.cgi?id=217535
<rdar://problem/70152548>
Reviewed by Eric Carlson.
Source/WebCore:
Add a new shared object, SharedRoutingArbitrator, to be used both in the UIProcess (when media
in the GPU process is not enabled) and the GPUProcess (when it is).
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/audio/AudioSession.h:
- platform/audio/mac/SharedRoutingArbitrator.h: Added.
- platform/audio/mac/SharedRoutingArbitrator.mm: Added.
(WebCore::SharedRoutingArbitrator::Token::create):
(WebCore::SharedRoutingArbitrator::sharedInstance):
(WebCore::SharedRoutingArbitrator::isInRoutingArbitrationForToken):
(WebCore::SharedRoutingArbitrator::beginRoutingArbitrationForToken):
(WebCore::SharedRoutingArbitrator::endRoutingArbitrationForToken):
Source/WebKit:
Add a new, local-only object which can aggregate changes to the audio routing.
The UIProcess version of this object spans a process boundary, but this new
object can operate locally without an XPC communication channel. As part of this
change, the "SharedArbitrator" in AudioSessionRoutingArbitratorProxyCocoa has been
moved into WebCore to be used both there and in this new object.
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::GPUConnectionToWebProcess):
(WebKit::GPUConnectionToWebProcess::didClose):
- GPUProcess/GPUConnectionToWebProcess.h:
- GPUProcess/mac/LocalAudioSessionRoutingArbitrator.cpp: Added.
(WebKit::LocalAudioSessionRoutingArbitrator::create):
(WebKit::LocalAudioSessionRoutingArbitrator::LocalAudioSessionRoutingArbitrator):
(WebKit::LocalAudioSessionRoutingArbitrator::~LocalAudioSessionRoutingArbitrator):
(WebKit::LocalAudioSessionRoutingArbitrator::processDidTerminate):
(WebKit::LocalAudioSessionRoutingArbitrator::beginRoutingArbitrationWithCategory):
(WebKit::LocalAudioSessionRoutingArbitrator::leaveRoutingAbritration):
- GPUProcess/mac/LocalAudioSessionRoutingArbitrator.h:
- SourcesCocoa.txt:
- UIProcess/Media/AudioSessionRoutingArbitratorProxy.h:
- UIProcess/Media/cocoa/AudioSessionRoutingArbitratorProxyCocoa.mm:
(WebKit::AudioSessionRoutingArbitratorProxy::AudioSessionRoutingArbitratorProxy):
(WebKit::AudioSessionRoutingArbitratorProxy::processDidTerminate):
(WebKit::AudioSessionRoutingArbitratorProxy::beginRoutingArbitrationWithCategory):
(WebKit::AudioSessionRoutingArbitratorProxy::endRoutingArbitration):
(): Deleted.
(WebKit::SharedArbitrator::sharedInstance): Deleted.
(WebKit::SharedArbitrator::isInRoutingArbitrationForArbitrator): Deleted.
(WebKit::SharedArbitrator::beginRoutingArbitrationForArbitrator): Deleted.
(WebKit::SharedArbitrator::endRoutingArbitrationForArbitrator): Deleted.
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/media/RemoteAudioSession.cpp:
(WebKit::RemoteAudioSession::setCategory):
- 4:35 PM Changeset in webkit [276992] by
-
- 16 edits1 copy in branches/safari-612.1.12-branch/Source
Cherry-pick r276947. rdar://problem/77510833
Allow AppHighlight visibility to be toggled
https://bugs.webkit.org/show_bug.cgi?id=225276
Reviewed by Wenson Hsieh.
Source/WebCore:
Add supporting infrastructure to allow highlights to be turned on and off.
This is done with a simple state and a forced repaint on the areas that have highlights.
- Modules/highlight/Highlight.cpp: (WebCore::Highlight::forceRepaint):
- Modules/highlight/Highlight.h:
- Modules/highlight/HighlightRegister.cpp: (WebCore::HighlightRegister::setActive):
- Modules/highlight/HighlightRegister.h: (WebCore::HighlightRegister::isActive):
- rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::collectMarkedTextsForHighlights const):
- rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::calculateHighlightColor const):
Source/WebKit:
Add supporting infrastructure to allow highlights to be turned on and off.
- Scripts/webkit/messages.py: (headers_for_type):
- UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::restoreAppHighlightsAndScrollToIndex): (WebKit::WebPageProxy::setAppHighlightsActive):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView canPerformAction:withSender:]): (-[WKContentView targetForAction:withSender:]):
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::setAppHighlightsActive):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276947 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:35 PM Changeset in webkit [276991] by
-
- 16 edits2 adds in branches/safari-612.1.12-branch
Cherry-pick r276871. rdar://problem/77530347
App highlight UI should be disabled when selecting text in image overlays
https://bugs.webkit.org/show_bug.cgi?id=225260
rdar://77359313
Reviewed by Tim Horton.
Source/WebCore:
When both app highlights and image extraction are enabled, parts of the app highlights feature don't play well
with highlights created for text selections inside an image overlay. For the time being, address this by
disabling app highlights in image overlays.
These changes are exercised by a new API test on iOS, and a new layout test for macOS.
Tests: WebKit.AppHighlightsInImageOverlays
fast/images/image-extraction/mac/image-overlay-text-disables-app-highlight-menu-items.html
- page/ContextMenuController.cpp: (WebCore::ContextMenuController::populate):
Don't add app highlight menu items in the case where we've selected text in an image overlay.
- testing/Internals.cpp: (WebCore::Internals::appHighlightContextMenuItemTitles const):
Add an internal testing hook to expose the localized names of the app highlight menu items to layout tests.
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit:
Add a bit to
EditorState
to indicate when a ranged selection is inside an image overlay.
- Shared/EditorState.cpp: (WebKit::EditorState::encode const): (WebKit::EditorState::decode):
- Shared/EditorState.h:
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView shouldAllowAppHighlightCreation]): (-[WKContentView canPerformAction:withSender:]): (-[WKContentView targetForAction:withSender:]):
Make
-targetForAction:withSender:
returnself
only if we have a ranged selection that is not inside an image
overlay. Interestingly, UIKit doesn't seem to consult-canPerformAction:withSender:
for actions that are added
through-[UIMenuController setMenuItems:]
, so we add the check here instead of inside-canPerformAction:
above.
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::editorState const):
Set the new bit here. Note that this (importantly) doesn't trigger layout, because
VisibleSelection::range
just returns a (potentially uncanonicalized)SimpleRange
. For the purposes of checking whether the selection
is inside an image overlay, this is sufficient.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm:
Add a new API test to verify the behavior of
-targetForAction:withSender:
inWKContentView
.
- WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): (WTR::TestOptions::keyTypeMapping):
- WebKitTestRunner/TestOptions.h: (WTR::TestOptions::appHighlightsEnabled const):
- WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView):
Add support for a new
TestOption
that enables app highlights. See the new layout test for more information.
LayoutTests:
Add a new layout test to verify that the app higlight context menu items don't show up on macOS when right
clicking.
- fast/images/image-extraction/mac/image-overlay-text-disables-app-highlight-menu-items-expected.txt: Added.
- fast/images/image-extraction/mac/image-overlay-text-disables-app-highlight-menu-items.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276871 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:35 PM Changeset in webkit [276990] by
-
- 16 edits1 delete in branches/safari-612.1.12-branch/Source
Revert "Cherry-pick r276947. rdar://problem/77510833"
This reverts commit r276976.
- 4:35 PM Changeset in webkit [276989] by
-
- 2 edits in trunk/LayoutTests
[Big Sur] platform/mac-bigsur/media/media-source/media-source-webm-vorbis-partial.html is consistently failing
https://bugs.webkit.org/show_bug.cgi?id=222495
Unreviewed test fix.
- media/media-source/media-source-webm-vorbis-partial.html: Fix relative file path.
- 4:21 PM Changeset in webkit [276988] by
-
- 3 edits in trunk/LayoutTests
webrtc/video-vp8-videorange.html is faling on macmini8,1
https://bugs.webkit.org/show_bug.cgi?id=225345
rdar://77403100
Reviewed by Eric Carlson.
On some hardware, compositing may render slightly differently.
We add a small fuzz factor when comparing the YUV component values.
Such difference in results would be visually indistinguishible.
- platform/mac/TestExpectations: Remove test entry.
- webrtc/video-vp8-videorange.html:
- 4:20 PM Changeset in webkit [276987] by
-
- 2 edits in trunk/Source/WebKit
Remove internal NetworkSessionCocoa additions
https://bugs.webkit.org/show_bug.cgi?id=225365
<rdar://problem/75693914>
Reviewed by Per Arne Vollan.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
- 3:37 PM Changeset in webkit [276986] by
-
- 6 edits2 adds in trunk
Blob contentType with charset renders html as plain text
https://bugs.webkit.org/show_bug.cgi?id=225226
Reviewed by Alex Christensen.
Source/WebCore:
Our code would use the Blob's Content-Type (media type) as a MIME type internally. As a result, if the Blob's
media type would contain anything besides the MIME type (e.g. a charget), then it would lead to failures.
Test: fast/files/blob-with-charget-as-main-resource.html
- platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::notifyResponseOnSuccess):
- platform/network/HTTPParsers.h:
Source/WebKit:
Our code would use the Blob's Content-Type (media type) as a MIME type internally. As a result, if the Blob's
media type would contain anything besides the MIME type (e.g. a charget), then it would lead to failures.
- NetworkProcess/NetworkDataTaskBlob.cpp:
(WebKit::NetworkDataTaskBlob::dispatchDidReceiveResponse):
LayoutTests:
Add layout test coverage.
- fast/files/blob-with-charget-as-main-resource-expected.html: Added.
- fast/files/blob-with-charget-as-main-resource.html: Added.
- 3:29 PM Changeset in webkit [276985] by
-
- 2 edits in trunk/Tools
Unreviewed, try and re-enable AppleLanguagesTest.UpdateAppleLanguages on Apple Silicon.
The test has been updated and it may be passing now or at least fail with a more useful output.
- TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:
- 2:40 PM Changeset in webkit [276984] by
-
- 3 edits3 adds in trunk
Handle clamping of heights for images affected by background-size and EXIF orientation correctly
https://bugs.webkit.org/show_bug.cgi?id=221005
<rdar://problem/73692426>
Reviewed by Simon Fraser.
Source/WebCore:
GraphicsContext::drawPlatformImage handles requests with source rects
whose heights are greater than the image (which can happen due to
rounding issues) by clamping the source rect. This clamping incorrectly
looks at the CGImage's height, which for an image rotated 90deg due to
EXIF orientation metadata, is the wrong dimension.
Test: fast/images/image-orientation-background-size-bug.html
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawPlatformImage):
LayoutTests:
- fast/images/image-orientation-background-size-bug-expected.html: Added.
- fast/images/image-orientation-background-size-bug.html: Added.
- fast/images/resources/green-504x378-90deg.jpg: Added. This is a
solid green 504x378 JPEG with an EXIF orientation tag requiring a
90deg rotation.
- 2:32 PM Changeset in webkit [276983] by
-
- 4 edits in trunk
localStorage changes aren't reflected between WKWebViews using WKWebViewConfiguration._groupIdentifier
https://bugs.webkit.org/show_bug.cgi?id=225344
<rdar://77496721>
Reviewed by Brady Eidson.
Source/WebKit:
When we switched from using _pageGroup to _groupIdentifier, we also broke localStorage by making a new pageGroupID for each WKWebView.
This is the low-risk solution to this problem that remembers what pageGroupID we used for this same identifier, creating the effect of
using the same StorageNamespaceIdentifier for each _groupIdentifier like we did when we used _pageGroup.
See the comment in StorageAreaMap::dispatchLocalStorageEvent.
The higher-risk solution that needs to be done but probably shouldn't be merged to a branch at this point is to remove StorageNamespaceIdentifier.
I plan to do that in a follow-up patch.
- UIProcess/WebPageGroup.cpp:
(WebKit::pageGroupData):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:
(TEST):
- 2:13 PM WebKitGTK/2.32.x edited by
- (diff)
- 1:48 PM Changeset in webkit [276982] by
-
- 13 edits in trunk/Source/WebKitLegacy
Remove unused references to PageGroup from WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=225359
Patch by Alex Christensen <achristensen@webkit.org> on 2021-05-04
Reviewed by Sihui Liu.
Source/WebKitLegacy:
- Storage/StorageTracker.cpp:
Source/WebKitLegacy/mac:
- History/WebHistory.mm:
- History/WebHistoryInternal.h:
- Storage/WebStorageManager.mm:
- WebView/WebView.mm:
Source/WebKitLegacy/win:
- WebCoreSupport/WebPlatformStrategies.cpp:
- WebHistory.cpp:
- WebHistory.h:
- WebKitDLL.cpp:
- WebView.cpp:
- 1:44 PM Changeset in webkit [276981] by
-
- 3 edits in trunk/Source/WebCore
[Cocoa] Cache the value of MediaPlayerPrivateAVFoundationObjC::assetStatus()
https://bugs.webkit.org/show_bug.cgi?id=225262
Reviewed by Eric Carlson.
Calling into assetStatus() requires querying the load state and value of nine different
AVAsset properties, which adds up if assetStatus() is called often. Once the assetStatus()
value reaches the Loaded state, cache that property, and that of the AVAsset.playable
property, so subsequent queries are just an ivar lookup.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus const):
- 1:32 PM Changeset in webkit [276980] by
-
- 2 edits in releases/WebKitGTK/webkit-2.32/Source/WebKit
Merge r276954 - [GTK] segmentation fault in WebKit::IconDatabase::loadIconForPageURL
https://bugs.webkit.org/show_bug.cgi?id=225279
Patch by Jim Mason <jmason@ibinx.com> on 2021-05-04
Reviewed by Carlos Garcia Campos.
- UIProcess/API/glib/IconDatabase.cpp:
(WebKit::IconDatabase::loadIconForPageURL):
(WebKit::IconDatabase::setIconForPageURL):
- 1:27 PM Changeset in webkit [276979] by
-
- 2 edits in trunk/Source/WebKit
[Cocoa] Allow HTMLMediaElement preload > "metadata" on iPad by default
https://bugs.webkit.org/show_bug.cgi?id=223802
Reviewed by Eric Carlson.
Align default iPad WebKit behavior for media element preload with Mac WebKit behavior.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
- 12:29 PM Changeset in webkit [276978] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION (r276883): [Debug] ASSERTION FAILED: index != notFound in WebCore::PlatformMediaSessionManager::setCurrentSession()
https://bugs.webkit.org/show_bug.cgi?id=225332
<rdar://problem/77476145>
Reviewed by Eric Carlson.
PlatformMediaSessionManager will throw an assert if the session being set as "current" via
sessionWillBeginPlayback() isn't active; we activate the session immediately after this line
inside lazyInitialize(), but this looks to be too late. A similar problem may occur in
HTMLMediaElement::playInternal(), so activate the session there too.
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::lazyInitialize):
(WebCore::AudioContext::willBeginPlayback):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::playInternal):
- 12:25 PM Changeset in webkit [276977] by
-
- 3 edits in releases/WebKitGTK/webkit-2.32/Source/WebCore
Merge r276915 - [GTK] Build with VIDEO=OFF fails
https://bugs.webkit.org/show_bug.cgi?id=225316
Patch by Philippe Normand <pnormand@igalia.com> on 2021-05-03
Reviewed by Adrian Perez de Castro.
- platform/audio/PlatformMediaSession.cpp:
(WebCore::isPlayingAudio): Guard against invalid media types, when video is disabled we can
safely return false here as well.
- platform/graphics/opengl/GraphicsContextGLOpenGL.h: Include what we use (UniqueRef).
- 12:25 PM WebKitGTK/2.32.x edited by
- (diff)
- 12:11 PM Changeset in webkit [276976] by
-
- 16 edits1 copy in branches/safari-612.1.12-branch/Source
Cherry-pick r276947. rdar://problem/77510833
Allow AppHighlight visibility to be toggled
https://bugs.webkit.org/show_bug.cgi?id=225276
Reviewed by Wenson Hsieh.
Source/WebCore:
Add supporting infrastructure to allow highlights to be turned on and off.
This is done with a simple state and a forced repaint on the areas that have highlights.
- Modules/highlight/Highlight.cpp: (WebCore::Highlight::forceRepaint):
- Modules/highlight/Highlight.h:
- Modules/highlight/HighlightRegister.cpp: (WebCore::HighlightRegister::setActive):
- Modules/highlight/HighlightRegister.h: (WebCore::HighlightRegister::isActive):
- rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::collectMarkedTextsForHighlights const):
- rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::calculateHighlightColor const):
Source/WebKit:
Add supporting infrastructure to allow highlights to be turned on and off.
- Scripts/webkit/messages.py: (headers_for_type):
- UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::restoreAppHighlightsAndScrollToIndex): (WebKit::WebPageProxy::setAppHighlightsActive):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView canPerformAction:withSender:]): (-[WKContentView targetForAction:withSender:]):
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::setAppHighlightsActive):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276947 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:03 PM Changeset in webkit [276975] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: add assertion for
WI.View
re-entrancy
https://bugs.webkit.org/show_bug.cgi?id=224678
Reviewed by Joseph Pecoraro.
Add
console.assert
(which are removed from production builds) around each critical
WI.View
subclass member function to prevent reentrancy.
initialLayout
sizeDidChange
layout
didLayoutSubtree
This is important because
WI.View.prototype._layoutSubtree
sets any related state after
calling any of the above (e.g._didInitialLayout
afterinitialLayout
), meaning that any
checks for the related state (which sometimes control whether the function is called, such
as in the case ofinitialLayout
) would think that the function hadn't been called yet. See
r276170 for an example of how this can happen and the potential problems it can cause.
- UserInterface/Views/View.js:
(WI.View.prototype._layoutSubtree):
- UserInterface/Base/Utilities.js:
(WI.setReentrantCheck): Added.
(WI.clearReentrantCheck): Added.
- 11:51 AM Changeset in webkit [276974] by
-
- 6 edits in trunk/Source
Don't iterate NetworkProcessProxy::m_websiteDataStores
https://bugs.webkit.org/show_bug.cgi?id=225337
<rdar://77233103>
Patch by Alex Christensen <achristensen@webkit.org> on 2021-05-04
Reviewed by Geoffrey Garen.
Source/WebKit:
There is evidence that this collection is mutated while iterating, and there are a lot of ways that might happen.
Instead, keep a Vector<Ref<WebsiteDataStore>>.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::networkProcessDidTerminate):
- UIProcess/Network/NetworkProcessProxyCocoa.mm:
(WebKit::NetworkProcessProxy::XPCEventHandler::handleXPCEvent const):
Source/WTF:
- wtf/Vector.h:
(WTF::copyToVectorOf):
Use a universal reference instead of const&.
- wtf/WeakHashSet.h:
WeakHashSet iteration returns T&, and we need this instead of WeakPtr<T> to be able to return a Ref from a map function.
- 11:43 AM Changeset in webkit [276973] by
-
- 8 edits in trunk/Source/WebKit
[GPUP] Use MonotonicTime for elapsed time
https://bugs.webkit.org/show_bug.cgi?id=225329
<rdar://problem/77472811>
Reviewed by Simon Fraser.
No new tests, no change of behavior.
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::mediaPlayerPlaybackStateChanged):
(WebKit::RemoteMediaPlayerProxy::updateCachedState):
(WebKit::RemoteMediaPlayerProxy::performTaskAtMediaTime):
(WebKit::RemoteMediaPlayerProxy::setVideoPlaybackMetricsUpdateInterval):
(WebKit::RemoteMediaPlayerProxy::maybeUpdateCachedVideoMetrics):
(WebKit::RemoteMediaPlayerProxy::updateCachedVideoMetrics):
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::pause):
(WebKit::MediaPlayerPrivateRemote::currentMediaTime const):
(WebKit::MediaPlayerPrivateRemote::playbackStateChanged):
(WebKit::MediaPlayerPrivateRemote::updateCachedState):
(WebKit::MediaPlayerPrivateRemote::videoPlaybackQualityMetrics):
(WebKit::MediaPlayerPrivateRemote::performTaskAtMediaTime):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in:
- WebProcess/GPU/media/RemoteMediaPlayerState.h:
(WebKit::RemoteMediaPlayerState::encode const):
(WebKit::RemoteMediaPlayerState::decode):
- 11:34 AM Changeset in webkit [276972] by
-
- 4 edits in trunk/Source/WebKit
REGRESSION: [ iOS ] 11 http/wpt/webauthn/ tests are crashing
https://bugs.webkit.org/show_bug.cgi?id=225225
rdar://77074618
Reviewed by Brent Fulgham.
Covered by exisiting tests.
- UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::AuthenticatorManager::runPresenter):
(WebKit::AuthenticatorManager::runPresenterInternal):
- UIProcess/WebAuthentication/AuthenticatorManager.h:
- UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.h:
Disables the modern UI in the mock testing environment.
- 11:19 AM Changeset in webkit [276971] by
-
- 5 edits in trunk
ASSERTION FAILED: contentSize >= 0 in WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax
https://bugs.webkit.org/show_bug.cgi?id=222711
<rdar://problem/75022692>
Reviewed by Alan Bujtas.
Source/WebCore:
Flexbox code was computing negative content sizes for FrameSet children because RenderFrameSet lacked
a implementation of computePreferredLogicalWidths(). Added basic preferred width computation
to RenderBox so that FrameSet and any other potential new RenderBox child could benefit from it.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computePreferredLogicalWidths): Added a basic implementation that calls
computePreferredLogicalWidths(minWidth,maxWidth,borderAndPadding) and clears the flag.
- rendering/RenderBox.h:
(WebCore::RenderBox::computePreferredLogicalWidths): Deleted default implementation.
LayoutTests:
- TestExpectations: Unskipped a test that is passing now.
- 11:14 AM Changeset in webkit [276970] by
-
- 3 edits in trunk/Tools
[ews] Ensure file handles are not leaked in unit tests
https://bugs.webkit.org/show_bug.cgi?id=225360
Reviewed by Jonathan Bedard.
- CISupport/ews-build/email_unittest.py:
(EmailsDotJSONTest.test_valid_emails_json):
(EmailsDotJSONTest.test_emails_json_required_categories_present):
- CISupport/ews-build/loadConfig_unittest.py:
(ConfigDotJSONTest.get_config):
- 11:04 AM Changeset in webkit [276969] by
-
- 4 edits in trunk/Source/WebKit
[iOS] Use async API to take RunningBoard assertions
https://bugs.webkit.org/show_bug.cgi?id=225324
<rdar://76972252>
Reviewed by Geoffrey Garen.
Use async [RBSAssertion acquireWithInvalidationHandler:] API to take process assertions
instead of the synchronous [RBSAssertion acquireWithError:] API. This avoids risking
hanging the main thread for too long.
Note that [RBSAssertion isValid] returns false until the assertion is taken so I am
using our own "isValid" boolean to indicate if the RBSAssertion was invalidated or
or not. We use this flag to decide if we need to take the assertion again. We wouldn't
want to re-take the assertion simply because it is still in the process of being
acquired.
- UIProcess/ProcessAssertion.cpp:
(WebKit::ProcessAssertion::isValid const): Deleted.
- UIProcess/ProcessAssertion.h:
(WebKit::ProcessAssertion::isValid const):
- UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager init]):
(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):
(-[WKProcessAssertionBackgroundTaskManager assertion:didInvalidateWithError:]):
(-[WKProcessAssertionBackgroundTaskManager _releaseBackgroundTask]):
(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAssertion::~ProcessAssertion):
(WebKit::ProcessAssertion::processAssertionWasInvalidated):
(-[WKProcessAssertionBackgroundTaskManager _hasBackgroundTask]): Deleted.
(-[WKRBSAssertionDelegate dealloc]): Deleted.
(-[WKRBSAssertionDelegate assertionWillInvalidate:]): Deleted.
(-[WKRBSAssertionDelegate assertion:didInvalidateWithError:]): Deleted.
(WebKit::ProcessAssertion::isValid const): Deleted.
- 10:41 AM Changeset in webkit [276968] by
-
- 8 edits in branches/safari-612.1.12-branch/Source
Versioning.
WebKit-7612.1.12.3
- 10:33 AM Changeset in webkit [276967] by
-
- 2 edits in trunk/Tools
Unreviewed, adding myself as a reviewer.
- Scripts/webkitpy/common/config/contributors.json:
- 10:14 AM Changeset in webkit [276966] by
-
- 6 edits2 adds in trunk
REGRESSION (r260360): animation-wide timing function does not apply to 2-keyframe transform Web Animation
https://bugs.webkit.org/show_bug.cgi?id=225301
<rdar://problem/77452933>
Reviewed by Dean Jackson.
Source/WebCore:
Core Animation has a limitation where an animation-wide cubic timing function with y values outside of the [0-1]
range are not applied correctly since those values are clipped. This is not the case with similar timing functions
applied to a keyframe interval. This is known issue covered by bug 215918.
We worked around this limitation for CSS Transitions in bug 215826. Indeed, in this case we know that the animation
has a single interval and no keyframe-specific timing function, so GraphicsLayerCA would check whether the Animation
object originated from a CSS Transition and set the animation-wide timing function on the generated AnimationValue.
With this patch we generalize this approach to any animation, no matter its origin, that has a single keyframe
interval with no timing function or a timing function that has a linear effect. To do this, we first check in
GraphicsLayerCA::addAnimation*() whether we are dealing with an animation that has an animation-wide cubic timing
function outside of the [0-1] range. If that is not the case, we return early and indicate that this animation
cannot be run accelerated.
If instead that is the case, we pass a new boolean flag down through the call stack to setupAnimation() and
timingFunctionForAnimationValue() where we choose to use the animation-wide timing function on the first keyframe
rather than the animation itself.
Test: webanimations/accelerated-web-animation-with-single-interval-and-easing-y-axis-above-1.html
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::backingAnimationForCompositedRenderer const):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::timingFunctionIsCubicTimingFunctionWithYValueOutOfRange):
(WebCore::keyframeValueListHasSingleIntervalWithLinearOrEquivalentTimingFunction):
(WebCore::GraphicsLayerCA::addAnimation):
(WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
(WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
(WebCore::GraphicsLayerCA::createBasicAnimation):
(WebCore::GraphicsLayerCA::createKeyframeAnimation):
(WebCore::GraphicsLayerCA::createSpringAnimation):
(WebCore::GraphicsLayerCA::setupAnimation):
(WebCore::GraphicsLayerCA::timingFunctionForAnimationValue):
(WebCore::GraphicsLayerCA::setAnimationKeyframes):
(WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
(WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
- platform/graphics/ca/GraphicsLayerCA.h:
LayoutTests:
Add a test that runs a JS-orignated animation with a single interval and an animation-wide cubic timing
function with y values outside of the [0-1] range.
- platform/win/TestExpectations:
- webanimations/accelerated-web-animation-with-single-interval-and-easing-y-axis-above-1-expected.html: Added.
- webanimations/accelerated-web-animation-with-single-interval-and-easing-y-axis-above-1.html: Added.
- 10:14 AM Changeset in webkit [276965] by
-
- 2 edits in trunk/Source/WTF
Drop std::filesystem logic in PlatformJSCOnly.cmake
https://bugs.webkit.org/show_bug.cgi?id=225355
Reviewed by Alex Christensen.
Drop std::filesystem logic in PlatformJSCOnly.cmake as it is no longer needed after r276946.
- wtf/PlatformJSCOnly.cmake:
- 10:09 AM Changeset in webkit [276964] by
-
- 5 edits in trunk/LayoutTests
[Metal ANGLE] Update readpixel, sub, whole, and occlusionQuery tests to passing
https://bugs.webkit.org/show_bug.cgi?id=225217
Tests are passing on bots, but checked in expected test results include failures.
Reviewed by Dean Jackson.
- webgl/2.0.0/deqp/functional/gles3/fboinvalidate/sub-expected.txt:
- webgl/2.0.0/deqp/functional/gles3/fboinvalidate/whole-expected.txt:
- webgl/2.0.0/deqp/functional/gles3/occlusionquery_strict-expected.txt:
- webgl/2.0.0/deqp/functional/gles3/readpixel-expected.txt:
- 10:03 AM Changeset in webkit [276963] by
-
- 16 edits1 copy in branches/safari-612.1.13-branch/Source
Cherry-pick r276947. rdar://problem/77511661
Allow AppHighlight visibility to be toggled
https://bugs.webkit.org/show_bug.cgi?id=225276
Reviewed by Wenson Hsieh.
Source/WebCore:
Add supporting infrastructure to allow highlights to be turned on and off.
This is done with a simple state and a forced repaint on the areas that have highlights.
- Modules/highlight/Highlight.cpp: (WebCore::Highlight::forceRepaint):
- Modules/highlight/Highlight.h:
- Modules/highlight/HighlightRegister.cpp: (WebCore::HighlightRegister::setActive):
- Modules/highlight/HighlightRegister.h: (WebCore::HighlightRegister::isActive):
- rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::collectMarkedTextsForHighlights const):
- rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::calculateHighlightColor const):
Source/WebKit:
Add supporting infrastructure to allow highlights to be turned on and off.
- Scripts/webkit/messages.py: (headers_for_type):
- UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::restoreAppHighlightsAndScrollToIndex): (WebKit::WebPageProxy::setAppHighlightsActive):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView canPerformAction:withSender:]): (-[WKContentView targetForAction:withSender:]):
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::setAppHighlightsActive):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276947 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:02 AM Changeset in webkit [276962] by
-
- 5 edits2 copies in trunk/Source/WebCore
[WebXR] Move WebXROpaqueFramebuffer to its own file
https://bugs.webkit.org/show_bug.cgi?id=225334
Reviewed by Sam Weinig.
Move WebXROpaqueFramebuffer out of WebXRWebGLLayer.
- Modules/webxr/WebXROpaqueFramebuffer.cpp: Copied from Source/WebCore/Modules/webxr/WebXRWebGLLayer.cpp.
(WebCore::WebXROpaqueFramebuffer::create):
(WebCore::WebXROpaqueFramebuffer::WebXROpaqueFramebuffer):
(WebCore::WebXROpaqueFramebuffer::~WebXROpaqueFramebuffer):
(WebCore::WebXROpaqueFramebuffer::startFrame):
(WebCore::WebXROpaqueFramebuffer::endFrame):
(WebCore::WebXROpaqueFramebuffer::setupFramebuffer):
- Modules/webxr/WebXROpaqueFramebuffer.h: Copied from Source/WebCore/Modules/webxr/WebXRWebGLLayer.h.
(WebCore::WebXROpaqueFramebuffer::handle const):
(WebCore::WebXROpaqueFramebuffer::framebuffer const):
(WebCore::WebXROpaqueFramebuffer::width const):
(WebCore::WebXROpaqueFramebuffer::height const):
- Modules/webxr/WebXRWebGLLayer.cpp:
(WebCore::WebXROpaqueFramebuffer::create): Deleted.
(WebCore::WebXROpaqueFramebuffer::WebXROpaqueFramebuffer): Deleted.
(WebCore::WebXROpaqueFramebuffer::~WebXROpaqueFramebuffer): Deleted.
(WebCore::WebXROpaqueFramebuffer::startFrame): Deleted.
(WebCore::WebXROpaqueFramebuffer::endFrame): Deleted.
(WebCore::WebXROpaqueFramebuffer::setupFramebuffer): Deleted.
- Modules/webxr/WebXRWebGLLayer.h:
(WebCore::WebXROpaqueFramebuffer::handle const): Deleted.
(WebCore::WebXROpaqueFramebuffer::framebuffer const): Deleted.
(WebCore::WebXROpaqueFramebuffer::width const): Deleted.
(WebCore::WebXROpaqueFramebuffer::height const): Deleted.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- 9:43 AM Changeset in webkit [276961] by
-
- 3 edits in branches/safari-612.1.13-branch/Source/WebCore
Cherry-pick r276893. rdar://problem/77510428
REGRESSION (r276633): fast/mediastream/media-stream-track-interrupted.html is consistently timing out
https://bugs.webkit.org/show_bug.cgi?id=225204
<rdar://problem/77338070>
Reviewed by Eric Carlson.
Reverting to RecursiveLock since resuming a unit will make it notify to unmute sources.
Sources will want to restart audio, thus restarting the unit synchronously.
This triggers the unit to tell its clients that it is restarting, which creates a dead lock.
We should probably update the code to change this, but as a short term fix, we revert to a RecursiveLock.
Covered by fast/mediastream/media-stream-track-interrupted.html no longer timing out.
- platform/mediastream/mac/BaseAudioSharedUnit.cpp: (WebCore::BaseAudioSharedUnit::audioSamplesAvailable):
- platform/mediastream/mac/BaseAudioSharedUnit.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276893 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:37 AM Changeset in webkit [276960] by
-
- 1 copy in branches/safari-612.1.13-branch
New branch.
- 9:14 AM Changeset in webkit [276959] by
-
- 2 edits in trunk/Source/WebCore
[WebXR] Remove renamed IDL files in Xcode project
https://bugs.webkit.org/show_bug.cgi?id=225331
Reviewed by Sam Weinig.
The Xcode project had a bunch of references to files that were
renamed a while ago.
- WebCore.xcodeproj/project.pbxproj:
- 8:26 AM Changeset in webkit [276958] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Sources: Inconsistent selection in source tree when grouped by path
https://bugs.webkit.org/show_bug.cgi?id=225317
Reviewed by Devin Rousso.
Ensure origin tree elements for different domains in the Sources Tab behave as folder tree elements
in that they can be individually selected without triggering rendering of any resource.
In essence, restore behavior prior to https://trac.webkit.org/changeset/248912/webkit
The only exception is for document resources. Clicking on the origin tree element associated with a document resource,
triggers rendering of the corresponding document.
- UserInterface/Views/OriginTreeElement.js:
(WI.OriginTreeElement):
- UserInterface/Views/SourcesNavigationSidebarPanel.js:
(WI.SourcesNavigationSidebarPanel.prototype._addResource):
- 8:02 AM Changeset in webkit [276957] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, unskipped a test which works fine.
- 7:26 AM Changeset in webkit [276956] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, fix-up bug URL after r276955
- platform/glib/TestExpectations:
- 7:01 AM Changeset in webkit [276955] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, GLIB WebRTC gardening
- platform/glib/TestExpectations: Flag test as crashing in debug bots.
- 6:48 AM WebKitGTK/2.32.x edited by
- (diff)
- 5:38 AM Changeset in webkit [276954] by
-
- 2 edits in trunk/Source/WebKit
[GTK] segmentation fault in WebKit::IconDatabase::loadIconForPageURL
https://bugs.webkit.org/show_bug.cgi?id=225279
Patch by Jim Mason <jmason@ibinx.com> on 2021-05-04
Reviewed by Carlos Garcia Campos.
- UIProcess/API/glib/IconDatabase.cpp:
(WebKit::IconDatabase::loadIconForPageURL):
(WebKit::IconDatabase::setIconForPageURL):
- 4:13 AM Changeset in webkit [276953] by
-
- 9 edits in trunk
[WebRTC][GStreamer] fast/mediastream/resize-trim.html is failing
https://bugs.webkit.org/show_bug.cgi?id=192888
Patch by Philippe Normand <pnormand@igalia.com> on 2021-05-04
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
The test was failing because the GStreamer mock video source was producing garbled frames
and the pixel test in the canvas was failing to detect gray. The frame was garbled because
the test asked "exact" video width that was inferior to the capture video width and we were
not taking this into account when creating a MediaSample from the video frame.
MediaSampleGStreamer::createImageSample() can now optionally resize the video frame
according to the destinationSize, if it was specified.
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::toMediaSample):
- platform/graphics/gstreamer/MediaSampleGStreamer.cpp:
(WebCore::MediaSampleGStreamer::createImageSample):
- platform/graphics/gstreamer/MediaSampleGStreamer.h:
(WebCore::MediaSampleGStreamer::createImageSample):
- platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp:
(WebCore::MockRealtimeVideoSourceGStreamer::updateSampleBuffer):
- platform/mock/MockRealtimeVideoSource.h:
LayoutTests:
- platform/glib/TestExpectations: Unflag test.
- resources/platform-helper.js: Remove EFL cruft.
(videoCanvasPixelComparisonTolerance):
(isEfl): Deleted.
- 3:04 AM Changeset in webkit [276952] by
-
- 25 edits in trunk/Source
Use OptionSet for MediaProducer::MediaStateFlags
https://bugs.webkit.org/show_bug.cgi?id=225227
Reviewed by Eric Carlson.
Source/WebCore:
Update code to use a safer MediaProducer::MediaStateFlags type.
No change of behavior, this is a refactoring.
- Modules/airplay/WebMediaSessionManager.cpp:
(WebCore::flagsAreSet):
(WebCore::mediaProducerStateString):
(WebCore::WebMediaSessionManager::showPlaybackTargetPicker):
(WebCore::WebMediaSessionManager::clientStateDidChange):
(WebCore::WebMediaSessionManager::configurePlaybackTargetClients):
(WebCore::WebMediaSessionManager::configurePlaybackTargetMonitoring):
(WebCore::WebMediaSessionManager::configureWatchdogTimer):
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::mediaState const):
- Modules/mediastream/MediaStream.h:
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::sourceCaptureState):
(WebCore::MediaStreamTrack::captureState):
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::mediaState const):
(WebCore::AudioContext::visibilityStateChanged):
- dom/Document.cpp:
(WebCore::Document::willBeRemovedFromFrame):
(WebCore::Document::updateIsPlayingMedia):
- dom/Document.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction const):
(WebCore::HTMLMediaElement::mediaState const):
- html/HTMLMediaElement.h:
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::playbackStateChangePermitted const):
- page/MediaProducer.h:
(WebCore::MediaProducer::isCapturing):
- page/Page.cpp:
(WebCore::Page::updateIsPlayingMedia):
- page/Page.h:
- testing/Internals.cpp:
(WebCore::Internals::pageMediaState):
Source/WebKit:
Update code according safer MediaProducer::MediaStateFlags type.
- UIProcess/API/C/WKPage.cpp:
(WKPageGetMediaState):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView cameraCaptureState]):
(-[WKWebView microphoneCaptureState]):
- UIProcess/Cocoa/MediaUtilities.mm:
(WebKit::toWKMediaCaptureStateDeprecated):
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::captureStateChanged):
- UIProcess/UserMediaPermissionRequestManagerProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updateActivityState):
(WebKit::WebPageProxy::setMuted):
(WebKit::WebPageProxy::updatePlayingMediaDidChange):
(WebKit::WebPageProxy::updateReportedMediaCaptureState):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/Plugins/PluginView.h:
(WebKit::PluginView::mediaState const):
- 1:00 AM Changeset in webkit [276951] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix GTK and WPE builds after r276947
- Headers.cmake: Add missing header 'Modules/highlight/HighlightVisibility.h'.
- 12:42 AM Changeset in webkit [276950] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer][Debug] Allow fastMallocs in audio threads
https://bugs.webkit.org/show_bug.cgi?id=225306
Patch by Philippe Normand <pnormand@igalia.com> on 2021-05-04
Reviewed by Adrian Perez de Castro.
For the time being the GStreamer ports need to allocate audio buffers for WebRTC. This
deserves deeper investigation to avoid the allocations but for now the bots need to be fixed
ASAP.
- platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.cpp:
(WebCore::RealtimeIncomingAudioSourceLibWebRTC::OnData):
- platform/mediastream/libwebrtc/LibWebRTCAudioModule.cpp:
(WebCore::LibWebRTCAudioModule::pollAudioData):
May 3, 2021:
- 11:34 PM Changeset in webkit [276949] by
-
- 17 edits in trunk/Source/WebCore
ASSERTION FAILED: !m_needExceptionCheck while converting IDLSequence<T>
https://bugs.webkit.org/show_bug.cgi?id=223789
Patch by Frédéric Wang <fwang@igalia.com> on 2021-05-03
Reviewed by Mark Lam.
Add RETURN_IF_EXCEPTION after various toJS<T> calls since they can throw exception
for some types T.
- bindings/js/JSDOMConvertSequences.h:
(WebCore::JSConverter<IDLSequence<T>>::convert): Add RETURN_IF_EXCEPTION before appending
the result of toJS<T>.
(WebCore::JSConverter<IDLFrozenArray<T>>::convert): Ditto.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent): Add a throw scope and add RETURN_IF_EXCEPTION
before setting a dictionary value. Change the potentially unused variable.
(GenerateDefaultToJSONOperationDefinition): Add a RETURN_IF_EXCEPTION before setting a
value of the JSON object.
(NativeToJSValueMayThrow): Add "IDLDictionaryMember" as a possible context for which
exception may be thrown.
- bindings/scripts/test/JS/JSExposedToWorkerAndWindow.cpp:
(WebCore::convertDictionaryToJS): Update expectation.
- bindings/scripts/test/JS/JSTestDefaultToJSON.cpp:
(WebCore::jsTestDefaultToJSONPrototypeFunction_toJSONBody): Ditto.
- bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.cpp:
(WebCore::jsTestDefaultToJSONFilteredByExposedPrototypeFunction_toJSONBody): Ditto.
- bindings/scripts/test/JS/JSTestDefaultToJSONInherit.cpp:
(WebCore::jsTestDefaultToJSONInheritPrototypeFunction_toJSONBody): Ditto.
- bindings/scripts/test/JS/JSTestDefaultToJSONInheritFinal.cpp:
(WebCore::jsTestDefaultToJSONInheritFinalPrototypeFunction_toJSONBody): Ditto.
- bindings/scripts/test/JS/JSTestDerivedDictionary.cpp:
(WebCore::convertDictionaryToJS): Ditto.
- bindings/scripts/test/JS/JSTestDerivedDictionary2.cpp:
(WebCore::convertDictionaryToJS): Ditto.
- bindings/scripts/test/JS/JSTestDictionaryWithOnlyConditionalMembers.cpp:
(WebCore::convertDictionaryToJS): Ditto.
- bindings/scripts/test/JS/JSTestEmptyDictionary.cpp:
(WebCore::convertDictionaryToJS): Ditto.
- bindings/scripts/test/JS/JSTestInheritedDictionary.cpp:
(WebCore::convertDictionaryToJS): Ditto.
- bindings/scripts/test/JS/JSTestInheritedDictionary2.cpp:
(WebCore::convertDictionaryToJS): Ditto.
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::jsTestNodePrototypeFunction_toJSONBody): Ditto.
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convertDictionaryToJS): Ditto.
- bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp:
(WebCore::convertDictionaryToJS): Ditto.
- 11:33 PM Changeset in webkit [276948] by
-
- 7 edits in trunk
[GPUP] Move GPUProcess WebGL to Experimental Feature
https://bugs.webkit.org/show_bug.cgi?id=222836
rdar://75048190
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-05-03
Reviewed by Brent Fulgham.
Move the setting for WebGL in GPU process
to experimental features but disable it by default,
even on layout tests.
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- Scripts/Preferences/WebPreferencesInternal.yaml:
Tools:
- DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
- Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
- WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
- 10:54 PM Changeset in webkit [276947] by
-
- 16 edits1 copy in trunk/Source
Allow AppHighlight visibility to be toggled
https://bugs.webkit.org/show_bug.cgi?id=225276
Reviewed by Wenson Hsieh.
Source/WebCore:
Add supporting infrastructure to allow highlights to be turned on and off.
This is done with a simple state and a forced repaint on the areas that have highlights.
- Modules/highlight/Highlight.cpp:
(WebCore::Highlight::forceRepaint):
- Modules/highlight/Highlight.h:
- Modules/highlight/HighlightRegister.cpp:
(WebCore::HighlightRegister::setActive):
- Modules/highlight/HighlightRegister.h:
(WebCore::HighlightRegister::isActive):
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::collectMarkedTextsForHighlights const):
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::calculateHighlightColor const):
Source/WebKit:
Add supporting infrastructure to allow highlights to be turned on and off.
- Scripts/webkit/messages.py:
(headers_for_type):
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::restoreAppHighlightsAndScrollToIndex):
(WebKit::WebPageProxy::setAppHighlightsActive):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView canPerformAction:withSender:]):
(-[WKContentView targetForAction:withSender:]):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setAppHighlightsActive):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 10:25 PM Changeset in webkit [276946] by
-
- 2 edits in trunk/Source/WTF
REGRESSION(r276879) Add libstdc++fs to wtf libraries when using experimental fs headers
https://bugs.webkit.org/show_bug.cgi?id=225341
Reviewed by Chris Dumez.
After r276879, Filesystem.cpp uses std::filesystem directly. So,
expose the need for stdc++fs like was done in r268708 when std::fs was
used in WTR.
- wtf/CMakeLists.txt:
- 9:08 PM Changeset in webkit [276945] by
-
- 5 edits in trunk/Source
Use ImageBuffer scaling in RemoteLayerBackingStore, rather than handling scale in the class
https://bugs.webkit.org/show_bug.cgi?id=225081
Reviewed by Said Abou-Hallawa.
No new tests, no behavior change.
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::backingStoreSize const): Deleted.
Make use of ImageBuffer's scaling support instead of scaling ourselves.
This will be helpful for future patches where the backing store's ImageBuffer
needs to know the presentation size, not just the backing store size.
We also do the back->front copy in scaled space now, which simplifies the code a bit.
We have to explicitly specify the source and destination rect for the copy, because
GraphicsContext::drawImageBuffer's implicit source rect is computed using
ImageBuffer::logicalSize(), which is a *truncated* IntSize.
- WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
(WebKit::ImageBufferShareableBitmapBackend::ImageBufferShareableBitmapBackend):
Apply the device scale factor to the GraphicsContext that ImageBufferShareableBitmapBackend
adopts from ShareableBitmap. We don't need to flip because ShareableBitmap does that,
but it doesn't know anything about scales at all.
- 9:04 PM Changeset in webkit [276944] by
-
- 2 edits in trunk/Source/WebCore
Remove the quirk to disable "return to element fullscreen from picture-in-picture" for wowhead.com
https://bugs.webkit.org/show_bug.cgi?id=225322
Reviewed by Sam Weinig.
The quirk can be removed since wowhead.com has fixed the issue on the page.
Manually tested.
- page/Quirks.cpp:
(WebCore::Quirks::blocksReturnToFullscreenFromPictureInPictureQuirk const):
- 9:03 PM Changeset in webkit [276943] by
-
- 5 edits in trunk/Source/WebCore
Small cleanups in MediaPlayerPrivateMediaSourceAVFObjC and MediaPlayerPrivateAVFoundationObjC
https://bugs.webkit.org/show_bug.cgi?id=225330
Reviewed by Eric Carlson.
Since we have removed
MediaPlayerPrivate::copyVideoTextureToPlatformTexture()
in r273213,
some headers inMediaPlayerPrivateAVFoundationObjC
andMediaPlayerPrivateMediaSourceAVFObjC
can be removed as well. This patch also has some small cleanups.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
- platform/graphics/cocoa/WebCoreDecompressionSession.h:
- 7:37 PM Changeset in webkit [276942] by
-
- 3 edits1 add in trunk
Fix syntax error message for AUTOPLUSPLUS token.
https://bugs.webkit.org/show_bug.cgi?id=225308
rdar://76830934
Reviewed by Saam Barati.
JSTests:
- stress/prefix-plusplus-syntax-error-should-say-plusplus.js: Added.
Source/JavaScriptCore:
For the record, it's not easy to tell from the code why AUTOPLUSPLUS is needed.
It's needed to distinguish this:
`
statement ++ stuff ++ is a postfix operator applied tostatement
.
`
from this:
`
statement
++stuff The\n
before the ++ makes it a prefix operator applied tostuff
`.
`
If we merely tokenize the ++ as a PLUSPLUS token, then it's unclear whether it acts
as a postfix or prefix token in the 2nd case above.
This is why the correct fix is not to get rid of the AUTOPLUSPLUS token, but to
teach the syntax error message to be aware of the AUTOPLUSPLUS token.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseUnaryExpression):
- 7:03 PM Changeset in webkit [276941] by
-
- 2 edits in trunk/Source/WebKit
Web Inspector: [Cocoa] Grid overlay area names aren't centered within areas.
https://bugs.webkit.org/show_bug.cgi?id=225176
Reviewed by Devin Rousso.
Grid area names were changed to be centered in their area in r275519. On iOS, the label was changed to treat the
provided point as the center, but the label was still being anchored in the top-left corner. This patch corrects
that by using the center of the area as the anchor point for the label.
- UIProcess/Inspector/ios/WKInspectorHighlightView.mm:
(-[WKInspectorHighlightView _createGridOverlayLayer:scale:]):
- 6:12 PM Changeset in webkit [276940] by
-
- 2 edits in trunk/Source/WebCore
Crash in WebCore::nextBoundary()
https://bugs.webkit.org/show_bug.cgi?id=225326
Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2021-05-03
Reviewed by Ryosuke Niwa.
nextBoundary() creates a CharacterIterator and calls range() on it
without first checking if atEnd() has been reached, which can lead
to a null pointer dereference.
- editing/VisibleUnits.cpp:
(WebCore::nextBoundary):
- 6:02 PM Changeset in webkit [276939] by
-
- 1 copy in tags/Safari-611.2.7.1.3
Tag Safari-611.2.7.1.3.
- 5:38 PM Changeset in webkit [276938] by
-
- 1 copy in tags/Safari-611.2.7.0.2
Tag Safari-611.2.7.0.2.
- 5:29 PM Changeset in webkit [276937] by
-
- 1 copy in tags/Safari-612.1.12.2
Tag Safari-612.1.12.2.
- 4:53 PM Changeset in webkit [276936] by
-
- 4 edits in trunk
Restore pre-r276879 behavior for FileSystem::moveFile()
https://bugs.webkit.org/show_bug.cgi?id=225307
Reviewed by Sam Weinig.
Source/WTF:
Update FileSystem::moveFile() so that it now supports again moving a file across different
volumes by copying the file over and then deleting the source file.
I have verified locally that the function is now able to move a file to a different volumes.
Sadly, I don't think having an API test is feasible here as it requires pre-determined
volumes to be available.
- wtf/FileSystem.cpp:
(WTF::FileSystemImpl::moveFile):
Tools:
Add API test to make sure that FileSystem::moveFile() is able to move directories since this
was the case prior to r276879.
- TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
- 4:41 PM Changeset in webkit [276935] by
-
- 4 edits in trunk/Tools
[webkitpy] Support pickling platforminfo
https://bugs.webkit.org/show_bug.cgi?id=225230
<rdar://problem/77384913>
Rubber-stamped by Aakash Jain.
- Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.init): Define default arguments.
(PlatformInfo.display_name): Use default platform module if platform_module undefined.
(PlatformInfo._win_version_str): Ditto.
- Scripts/webkitpy/common/system/platforminfo_unittest.py:
(TestPlatformInfo.test_real_code):
- Scripts/webkitpy/common/system/systemhost.py:
(SystemHost.init): Use default platforminfo sys and platform modules.
- 4:25 PM Changeset in webkit [276934] by
-
- 1 copy in tags/Safari-612.1.11.8
Tag Safari-612.1.11.8.
- 4:20 PM Changeset in webkit [276933] by
-
- 8 edits in branches/safari-612.1.11-branch/Source
Revert "Versioning."
This reverts commit r276930
- 3:53 PM Changeset in webkit [276932] by
-
- 4 edits in trunk
WKWebView: WKURLSchemeHandler request don't have Range headers for custom scheme videos
https://bugs.webkit.org/show_bug.cgi?id=203302
<rdar://63750321>
Reviewed by Jer Noble and Geoff Garen.
Source/WebCore:
- platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::WebCoreAVFResourceLoader::startLoading):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
- 3:29 PM Changeset in webkit [276931] by
-
- 1 copy in tags/Safari-612.1.11.9
Tag Safari-612.1.11.9.
- 3:21 PM Changeset in webkit [276930] by
-
- 8 edits in branches/safari-612.1.11-branch/Source
Versioning.
WebKit-7612.1.11.9
- 3:02 PM Changeset in webkit [276929] by
-
- 2 edits in branches/safari-611.2.7.1-branch/Source/WebKit
Cherry-pick r276514. rdar://problem/77473523
Web Inspector: [Cocoa] WKInspectorResourceURLSchemeHandler needs to serialize cleanup actions
https://bugs.webkit.org/show_bug.cgi?id=224986
<rdar://76768454>
Reviewed by Devin Rousso.
- UIProcess/Inspector/mac/WKInspectorResourceURLSchemeHandler.mm: (-[WKInspectorResourceURLSchemeHandler webView:startURLSchemeTask:]): Do cleanup on the main queue so that it can be serialized with reads.
(-[WKInspectorResourceURLSchemeHandler webView:stopURLSchemeTask:]):
Ensure that all removals from the map are processed before doing a lookup.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276514 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:59 PM Changeset in webkit [276928] by
-
- 8 edits in branches/safari-611.2.7.1-branch/Source
Versioning.
WebKit-7611.2.7.1.3
- 2:38 PM Changeset in webkit [276927] by
-
- 2 edits in trunk/Source/WebKit
Add macOS Safari sandbox exception for com.apple.CFNetwork preferences
https://bugs.webkit.org/show_bug.cgi?id=225184
<rdar://69305108>
Patch by Zhenchao Li <zhenchao_li@apple.com> on 2021-05-03
Reviewed by Per Arne Vollan
rdar://69305108 Add macOS Safari sandbox exception for com.apple.CFNetwork preferences
- Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- 2:37 PM Changeset in webkit [276926] by
-
- 2 edits in trunk/Source/WebCore
[iOS][FCR] Missing fill color on slider ticks
https://bugs.webkit.org/show_bug.cgi?id=225318
<rdar://problem/77100313>
Reviewed by Wenson Hsieh.
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintSliderTicks):
Slider ticks should fill in blue as the knob passes them.
- 2:24 PM Changeset in webkit [276925] by
-
- 2 edits in trunk/Source/WTF
Unreviewed attempt to fix JSCOnly build with recent clang after r276879
https://bugs.webkit.org/show_bug.cgi?id=225327
- wtf/PlatformJSCOnly.cmake:
- 2:21 PM Changeset in webkit [276924] by
-
- 3 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
Reviewed by Ryosuke Niwa.
WK1 repaint tests are sensitive to the timing of paints, which are controlled by
WebViewLayerFlushScheduler layerFlushCallback() timing, which in turn is affected by the
state of -[NSWindow autodisplay], which DumpRenderTree sets to NO, but we flip to YES
when we see composited layers (which canvas triggers).
To avoid this fragile mess, have the test trigger compositing early on by making the 2D
canvas context, then wait for a frame before the repaint part of the test.
- fast/repaint/canvas-object-fit.html:
- platform/mac-wk1/TestExpectations:
- 2:11 PM Changeset in webkit [276923] by
-
- 2 edits in trunk/Tools
REGRESSION(r275810): [WebKitTestRunner] fast/text/basic/004.html fails after running fast/layoutformattingcontext tests
https://bugs.webkit.org/show_bug.cgi?id=225087
Reviewed by Don Olmstead.
fast/layoutformattingcontext tests enable some internal debug
settings by using the test file header. These settings weren't
reset after running the tests.
r275810 changed resetPreferencesToConsistentValues not to call
WKPreferencesResetAllInternalDebugFeatures.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
Call WKPreferencesResetAllInternalDebugFeatures.
- 1:34 PM Changeset in webkit [276922] by
-
- 2 edits in trunk/LayoutTests/imported/w3c
REGRESSION(r266511): [ macOS iOS wk2 ] imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-restartIce.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=216159
Unreviewed test gardening.
Rebaseline this test as the output has changed since it was marked
failing. We will need to monitor results to see if it is still flaky.
- web-platform-tests/webrtc/RTCPeerConnection-restartIce.https-expected.txt:
- 1:22 PM Changeset in webkit [276921] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, reverting r276913.
Commit can cause double release
Reverted changeset:
"Transfer ownership to ARC in
speechSynthesisGetDefaultVoiceIdentifierForLocale"
https://bugs.webkit.org/show_bug.cgi?id=225312
https://commits.webkit.org/r276913
- 1:17 PM Changeset in webkit [276920] by
-
- 2 edits in trunk/LayoutTests
[ Big Sur ] webrtc/video-vp8-videorange.html is faling on macmini8,1
https://bugs.webkit.org/show_bug.cgi?id=225257
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 1:13 PM Changeset in webkit [276919] by
-
- 2 edits in trunk/Source/WebKit
[iOS][FCR] Grouped <select> options should appear inline in the menu
https://bugs.webkit.org/show_bug.cgi?id=225314
<rdar://problem/76785797>
Reviewed by Wenson Hsieh.
Currently, <select> options within an <optgroup> element are presented
within an expandable/collapsible submenu. However, to better match the
visual style across the rest of the system, the grouped options should
appear inline in the root menu, and groups should be separated by a
visual separator.
Covered by existing tests. A testing-only method was updated to reflect
the changes.
- UIProcess/ios/forms/WKFormSelectPicker.mm:
(-[WKSelectPicker createMenu]):
Used UIMenuOptionsDisplayInline to present submenus inline in the root
menu. This option separates submenus using a visual separator.
Since inline submenus do not support a title, and <optgroup> elements
can be labeled, the group title is displayed as a disabled action at
the top of the submenu.
Removed logic to promote the grouped submenu to the root menu in the
case where only one submenu contains all options, since the submenu
now appears inline, and an additional tap is no longer necessary to
view the options.
(-[WKSelectPicker actionForOptionIndex:]):
Updated this testing-only method to account for the potential existence
of an additional action representing a group title.
- 12:58 PM Changeset in webkit [276918] by
-
- 13 edits in trunk/Source
[macCatalyst] "Enter Full Screen" button in media controls disappears
https://bugs.webkit.org/show_bug.cgi?id=225210
<rdar://problem/77010150>
Reviewed by Eric Carlson.
In order for the "Enter Full Screen" media controls button to stay visible the
<video>
must returntrue
forHTMLMediaElement::webkitSupportsFullscreen
, which calls into
MediaPlayerPrivate::supportsFullscreen
. On macOS and iOS, this will always returntrue
because of
ENABLE(FULLSCREEN_API)
, but on macCatalyst that's not enabled, so we instead
useDeprecatedGlobalSettings::avKitEnabled
, but this is only set in the WebProcess (and
WK1). With the GPUProcess enabled, this value is not set, so theRemoteMediaPlayerProxy
will instead getfalse
.
This patch removes
DeprecatedGlobalSettings::avKitEnabled
since it's enabled on WK1 and
non-GPUProcess WK2, and the related iOS-only SPI appears to not be used anywhere internally,
instead having callsites just checkHAVE(AVKIT)
.
Source/WebCore:
- page/DeprecatedGlobalSettings.h:
(WebCore::DeprecatedGlobalSettings::setAVKitEnabled): Deleted.
(WebCore::DeprecatedGlobalSettings::avKitEnabled): Deleted.
- page/DeprecatedGlobalSettings.cpp:
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen const):
Source/WebKit:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- WebProcess/cocoa/VideoFullscreenManager.mm:
(WebKit::VideoFullscreenManager::supportsVideoFullscreen const):
Source/WebKitLegacy/mac:
- WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::supportsVideoFullscreen):
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferencesPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences avKitEnabled]): Deleted.
(-[WebPreferences setAVKitEnabled:]): Deleted.
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
- 12:56 PM Changeset in webkit [276917] by
-
- 3 edits in branches/safari-611.2.7.0-branch/Source/WebKit
Cherry-pick r276852. rdar://problem/77468295
prefers-reduced-motion is not reactive on iOS
https://bugs.webkit.org/show_bug.cgi?id=222381
<rdar://75933915>
Reviewed by Brent Fulgham.
With CFPrefs direct mode, there is a race between the notification that an accessibility preference has been changed
by the user, and the the in-memory Accessibility preference cache in the WebContent process. We resolve this by using
new SPI to clear the cached Accessibility settings when we are notified of an accessibility change so they always
reflect the user's most recent setting.
- Platform/spi/Cocoa/AccessibilitySupportSPI.h:
- WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::setPreferenceValue):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276852 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:53 PM Changeset in webkit [276916] by
-
- 8 edits in branches/safari-611.2.7.0-branch/Source
Versioning.
WebKit-7611.2.7.0.2
- 12:15 PM Changeset in webkit [276915] by
-
- 3 edits in trunk/Source/WebCore
[GTK] Build with VIDEO=OFF fails
https://bugs.webkit.org/show_bug.cgi?id=225316
Patch by Philippe Normand <pnormand@igalia.com> on 2021-05-03
Reviewed by Adrian Perez de Castro.
- platform/audio/PlatformMediaSession.cpp:
(WebCore::isPlayingAudio): Guard against invalid media types, when video is disabled we can
safely return false here as well.
- platform/graphics/opengl/GraphicsContextGLOpenGL.h: Include what we use (UniqueRef).
- 12:00 PM Changeset in webkit [276914] by
-
- 2 edits in trunk/Tools
Add committer status for "Tim Nguyen" in contributors.json
https://bugs.webkit.org/show_bug.cgi?id=225320
Unreviewed.
- Scripts/webkitpy/common/config/contributors.json:
- 11:51 AM Changeset in webkit [276913] by
-
- 2 edits in trunk/Source/WebCore
Transfer ownership to ARC in speechSynthesisGetDefaultVoiceIdentifierForLocale
https://bugs.webkit.org/show_bug.cgi?id=225312
<rdar://problem/77458746>
Reviewed by Chris Fleizach.
To fix memory leak of defaultVoiceURI.
- platform/mac/PlatformSpeechSynthesizerMac.mm:
(WebCore::speechSynthesisGetDefaultVoiceIdentifierForLocale):
- 11:35 AM Changeset in webkit [276912] by
-
- 3 edits in trunk/Tools
editing/selection/ios/become-key-window-when-focusing-editable-area.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=225274
rdar://77042575
Reviewed by Tim Horton.
This test is timing out on recent versions of iOS because the
-becomeKeyWindow
subclassing hook is no longer
invoked when calling-makeKeyWindow
, in the case where theUIWindow
was already the key window. The iOS
version of WebKitTestRunner on iOS was dependent on this behavior becausesetWindowIsKey(false)
on
PlatformWebView
did not actually cause the test runner window to resign from being the key window. Instead, it
only set the boolean flagPlatformWebView::m_windowIsKey
, whichWebKitTestRunnerWindow
then uses to override
the value of-[WebKitTestRunnerWindow isKeyWindow]
(effectively side-stepping platform key window state).
We can fix this by refactoring
PlatformWebView::setWindowIsKey
to actually make theWebKitTestRunnerWindow
resign key window when callingsetWindowIsKey(false)
. Compared to macOS, doing this on iOS is a bit tricky
since-[UIWindow resignKeyWindow]
is purely a subclassing hook that is invoked when the window loses its
status as the key window. However, we can work around this limitation by creating a separateUIWindow
and
making that window key instead (which implicitly makes our currentWebKitTestRunnerWindow
resign key window).
- WebKitTestRunner/PlatformWebView.h:
- WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::setWindowIsKey):
Install the other
UIWindow
and make it key in order to resign the current key window. Note that this window is
placed just offscreen, so that simulated taps and other gestures will continue to go to the original window.
(-[WebKitTestRunnerWindow isKeyWindow]): Deleted.
Stop overriding the platform key window state with the simulated test runner state, since we now correctly
update platform key window state when settingm_windowIsKey
. This adjustment is also necessary to ensure that
we actually end up in the!isKey && m_window.keyWindow
case above.
- 11:22 AM Changeset in webkit [276911] by
-
- 4 edits in trunk/Tools
[webkitcorepy] Pass logging level to child processes
https://bugs.webkit.org/show_bug.cgi?id=225311
<rdar://problem/77457646>
Reviewed by Stephanie Lewis.
- Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py:
(Process.main): Set root logging level.
(TaskPool.init): Pass logging level to child process.
- 11:14 AM Changeset in webkit [276910] by
-
- 3 edits in branches/safari-612.1.12-branch/Source/WebKit
Cherry-pick r276826. rdar://problem/77463493
Remove some unneeded code.
https://bugs.webkit.org/show_bug.cgi?id=225216
Reviewed by Wenson Hsieh.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView setUpAppHighlightMenusIfNeeded]): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276826 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:00 AM Changeset in webkit [276909] by
-
- 3 edits in trunk/LayoutTests
macOS/iOS Debug ] http/wpt/crypto/unwrap-rsa-key-crash.any.html (layout-test) is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=225315
Unreviewed test gardening.
Updating test expectations to Pass Crash due to slowing down EWS.
- platform/ios-simulator/TestExpectations:
- platform/mac/TestExpectations:
- 10:43 AM WebKitGTK/2.32.x edited by
- (diff)
- 10:36 AM Changeset in webkit [276908] by
-
- 5 edits in trunk
Remove "no-preference" value for prefers-color-scheme media query
https://bugs.webkit.org/show_bug.cgi?id=212952
Patch by Tim Nguyen <ntim@apple.com> on 2021-05-03
Reviewed by Antti Koivisto.
WPT parsing tests still fail due to: https://bugs.webkit.org/show_bug.cgi?id=225282
Updated evaluation tests to usenot (prefers-color-scheme)
instead.
Source/WebCore:
- css/MediaQueryEvaluator.cpp:
(WebCore::prefersColorSchemeEvaluate):
LayoutTests:
- css-dark-mode/older-systems/prefers-color-scheme.html:
- css-dark-mode/prefers-color-scheme.html:
- 10:28 AM Changeset in webkit [276907] by
-
- 3 edits in trunk
[GLIB] REGRESSION(r276879): Several tests are crashing or failing
https://bugs.webkit.org/show_bug.cgi?id=225292
Reviewed by Carlos Alberto Lopez Perez.
- wtf/FileSystem.cpp:
(WTF::FileSystemImpl::fileIsDirectory): Return false if path is empty.
- 10:23 AM Changeset in webkit [276906] by
-
- 7 edits in trunk
Restore pre-r276879 behavior for FileSystem::deleteFile() and FileSystem::deleteEmptyDirectory()
https://bugs.webkit.org/show_bug.cgi?id=225289
Reviewed by Darin Adler.
Source/JavaScriptCore:
Fix build.
- Configurations/JavaScriptCore.xcconfig:
Source/WTF:
Restore pre-r276879 behavior for FileSystem::deleteFile() and FileSystem::deleteEmptyDirectory() to
reduce the risk of regressions. In particular, calling FileSystem::deleteFile() on an empty directory
now fails and calling FileSystem::deleteEmptyDirectory() on a non-directory now fails.
I have also gotten rid of the macOS-specific implementation of deleteEmptyDirectory() and merged the
needed behavior (Dealing with .DS_Store files) to the generic function.
- wtf/FileSystem.cpp:
(WTF::FileSystemImpl::deleteFile):
(WTF::FileSystemImpl::deleteEmptyDirectory):
- wtf/mac/FileSystemMac.mm:
(WTF::FileSystem::deleteEmptyDirectory): Deleted.
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
- 10:13 AM Changeset in webkit [276905] by
-
- 7 edits in trunk
[Metal ANGLE]: Fix conversions tests and remove failing test expectations
https://bugs.webkit.org/show_bug.cgi?id=225261
<rdar://77349615>
bool conversion workaround was being applied to all shaders. Correct shader translation to generate
better conversion code on platforms that don't need a workaround.
Conversions for basic types like vec2, ivec2, uvec2 were only using the first components when workaround
was active. Correct swizzle logic to get all components when doing a conversion.
Reviewed by Dean Jackson.
Source/ThirdParty/ANGLE:
- src/compiler/translator/TranslatorMetalDirect/AddExplicitTypeCasts.cpp:
- src/compiler/translator/TranslatorMetalDirect/AstHelpers.cpp:
(sh::CoerceSimple):
- src/compiler/translator/TranslatorMetalDirect/AstHelpers.h:
LayoutTests:
- webgl/2.0.0/deqp/data/gles2/shaders/conversions-expected.txt:
- webgl/2.0.0/deqp/data/gles3/shaders/conversions-expected.txt:
- 10:08 AM Changeset in webkit [276904] by
-
- 8 edits1 add in trunk/Source/WebCore
Move Style::ScopeOrdinal to a header of its own
https://bugs.webkit.org/show_bug.cgi?id=225302
Reviewed by Alan Bujtas.
Se we don't need to include StyleScope.h everywhere via Animation.h.
- WebCore.xcodeproj/project.pbxproj:
- animation/KeyframeEffect.cpp:
- css/DOMCSSRegisterCustomProperty.cpp:
- platform/animation/Animation.h:
- style/ElementRuleCollector.h:
- style/StyleScope.h:
(WebCore::Style::operator++): Deleted.
- style/StyleScopeOrdinal.h: Added.
(WebCore::Style::operator++):
- 9:38 AM Changeset in webkit [276903] by
-
- 31 edits2 adds in branches/safari-612.1.12-branch
Cherry-pick r276853. rdar://problem/77458363
[iOS] Add a heuristic to determine whether a synthetic click triggered any meaningful changes
https://bugs.webkit.org/show_bug.cgi?id=225240
rdar://77221196
Reviewed by Tim Horton.
Source/WebCore:
Add plumbing for a
ChromeClient
hook that's called when a mousedown or mouseup event is either prevented by
the page, or handled with a default event handler on the element (e.g. when clicking a link).
Test: fast/events/ios/did-not-handle-meaningful-click.html
- page/ChromeClient.h: (WebCore::ChromeClient::didHandleOrPreventMouseDownOrMouseUpEvent):
- page/EventHandler.cpp: (WebCore::EventHandler::handleMousePressEvent): (WebCore::EventHandler::handleMouseDoubleClickEvent): (WebCore::EventHandler::handleMouseReleaseEvent):
Source/WebKit:
Add a simple heuristic to inform WKWebView iOS clients when a tap either failed to result in a synthetic click,
or resulted in a synthetic click that (probably) didn't have any "meaningful side effects". While this notion of
"meaningfulness" isn't well defined, the idea behind the heuristic is that it should distinguish between taps on
clickable elements like buttons or links that trigger some noticable change on the page, vs. taps on both
clickable or non-clickable elements that do not trigger any changes on the page.
For instance on a news-article-like page, this delegate method should be invoked when tapping on paragraph text
in the article, even if there is a click handler over the entire article or even body element. However, tapping
a link or a button on the same page should not cause this delegate method to be invoked. Additionally, if the
page explicitly prevents default behavior during a synthetic mouse event, this method should also *not* be
invoked.
This behavior is roughly similar to the existing delegate method
-_webView:didNotHandleTapAsClickAtPoint:
,
except that this variant allows for more wiggle room around what constitutes a "meaningful" interaction with the
page.
- UIProcess/API/APIUIClient.h: (API::UIClient::didNotHandleTapAsMeaningfulClickAtPoint):
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h:
- UIProcess/API/ios/WKWebViewTestingIOS.mm: (-[WKWebView _didNotHandleTapAsMeaningfulClickAtPoint:]):
See Tools/ChangeLog for more details about this testing hook.
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::setDelegate): (WebKit::UIDelegate::UIClient::didNotHandleTapAsMeaningfulClickAtPoint):
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::didNotHandleTapAsMeaningfulClickAtPoint):
- UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::didNotHandleTapAsMeaningfulClickAtPoint):
- WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::didHandleOrPreventMouseDownOrMouseUpEvent):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.h: (WebKit::WebPage::didHandleOrPreventMouseDownOrMouseUpEvent):
- WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::isProbablyMeaningfulClick):
Implement the core of the heuristic here. For now, it just examines the size of the click target. This isn't
going to satisfy the case where a page installs a click event handler on the body element (or a similar
element that encapsulates most of the page) and then performs hit-testing in their script, but it's somewhere to
start.
(WebKit::WebPage::completeSyntheticClick):
(WebKit::WebPage::attemptSyntheticClick):
(WebKit::WebPage::didHandleOrPreventMouseDownOrMouseUpEvent):
(WebKit::WebPage::handleTwoFingerTapAtPoint):
(WebKit::WebPage::commitPotentialTapFailed):
Tools:
Add test runner plumbing to test the new heuristic. Note that we can't just utilize the
WKUIDelegatePrivate
method directly, since we end up overriding the web view'sUIClient
viaWKPageSetPageUIClient
, so the call
tom_uiClient->didNotHandleTapAsMeaningfulClickAtPoint(point);
ends up being a no-op.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::didReceiveMessageToPage):
- WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::installDidNotHandleTapAsMeaningfulClickCallback): (WTR::TestRunner::callDidNotHandleTapAsMeaningfulClickCallback):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp: (WTR::TestController::didNotHandleTapAsMeaningfulClick):
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didNotHandleTapAsMeaningfulClick):
- WebKitTestRunner/TestInvocation.h:
- WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: (-[TestRunnerWKWebView _didNotHandleTapAsMeaningfulClickAtPoint:]):
LayoutTests:
- fast/events/ios/did-not-handle-meaningful-click-expected.txt: Added.
- fast/events/ios/did-not-handle-meaningful-click.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276853 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:58 AM Changeset in webkit [276902] by
-
- 4 edits2 adds in trunk
[Multi-column] Remove spanner placeholder when the spanner becomes nested
https://bugs.webkit.org/show_bug.cgi?id=225248
<rdar://77326189>
Reviewed by Antti Koivisto.
Source/WebCore:
Columns spanners (and their subtrees) are moved out of the RenderMultiColumnFlow subtree next to their RenderMultiColumnSet renderers.
Placeholder renderers are inserted at the original position e.g.
<div id=A style="column-count: 2;"><div id=B><div id=C style="column-span: all;"></div></div></div>
RenderBlockFlow (A) (<div column-count: 2>)
RenderMultiColumnFlow
RenderBlockFlow (B) (<div>)
RenderBlockFlow (C) (<div>)
RenderMultiColumnSpannerPlaceholder (placeholder for D)
RenderBlockFlow (D) (<div column-span: all>)
RenderMultiColumnSet
Now if (C) becomes a column spanner, we need to move the descendant spanner (D) back to its original position and move the subtree out starting from the outermost spanner (C).
RenderTreeUdpater normally solves this by tearing down the new spanner (and its subtree) when the 'column-spanner' property changes.
However this spanner property is essentially ignored for floats and out-of-flow boxes (we don't make them spanning the columns) and changing "float" and/or "position" makes
spanners active.
Test: fast/multicol/span/float-becomes-spanner-crash.html
- style/StyleChange.cpp:
(WebCore::Style::determineChange):
LayoutTests:
- TestExpectations:
- fast/multicol/span/float-becomes-spanner-crash-expected.txt: Added.
- fast/multicol/span/float-becomes-spanner-crash.html: Added.
- 8:58 AM Changeset in webkit [276901] by
-
- 9 edits2 adds in trunk
[iOS] Crash when tapping fields on cycle.travel
https://bugs.webkit.org/show_bug.cgi?id=225259
<rdar://problem/77386417>
Reviewed by Wenson Hsieh.
Source/WebKit:
The From/To fields on cycle.travel have a click handler that presents
a popover. The popover is presented by changing its display property
from "none" to "block", and contains an input element with the "autofocus"
attribute. After changing the popover element's display property, the
page focuses another element by calling focus().
In WebKit, focusing an element sends an IPC message from the WebProcess
to the UIProcess, so that UIProcess knows of the focused element and
can present the necessary UI. All relevant information about the element
is encoded in a FocusedElementInformation struct, which is populated by
WebPage::getFocusedElementInformation.
Prior to populating the FocusedElementInformation,
getFocusedElementInformation performs a layout if needed,
so that the information sent to the UIProcess is up-to-date. In this
instance, a layout is needed after the popover element's display
property is changed. Then, since the page immediately focuses another
element after the display change, WebKit calls
getFocusedElementInformation prior to the layout being performed.
getFocusedElementInformation then sees that a layout is needed, and
triggers the pending layout.
Now, since since the popover contains an element with "autofocus",
another element is focused as a post-layout task. This means that the
layout triggered by getFocusedElementInformation changes the focused
element. r256401 added an early return in this case, to prevent a null
pointer deref.
An early return in getFocusedElementInformation leaves the passed-in
FocusedElementInformation in an inconsistent state. In particular,
the FocusedElementInformation's elementContext is left with invalid
identifiers. Currently, all callers of getFocusedElementInformation do
not check whether the information is in a valid state. Consequently,
the caller (in this case, WebPage::elementDidFocus) proceeds to send
an IPC message with the FocusedElementInformation as one of the
arguments. Then, a release assert is hit as sending IPC messages with
invalid arguments is unsafe.
To fix, make getFocusedElementInformation return an optional
FocusedElementInformation, rather than populating a parameter that
could be left in an invalid state. Then, any early returns can return
WTF::nullopt, to signify that we were unable to generate a valid
FocusedElementInformation. Finally, whenever the method returns
nullopt, we do not send the IPC message (or in another case, send a
message with nullopt).
Test: fast/forms/focus-change-after-layout-update-during-focus-crash.html
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView updateCurrentFocusedElementInformation:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::requestFocusedElementInformation):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::elementDidFocus):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestFocusedElementInformation):
(WebKit::WebPage::focusedElementInformation):
LayoutTests:
- fast/forms/focus-change-after-layout-update-during-focus-crash-expected.txt: Added.
- fast/forms/focus-change-after-layout-update-during-focus-crash.html: Added.
- 8:54 AM Changeset in webkit [276900] by
-
- 9 edits in trunk/Source/JavaScriptCore
Add some missing exception checks before some jsCasts.
https://bugs.webkit.org/show_bug.cgi?id=225264
rdar://77381608
Reviewed by Saam Barati.
Introducing JSObject::getAs() and JSValue::getAs() convenience methods that will
check for an exception before doing a jsCast on the get result. We only need this
to placate the assertion in jsCast in the event a pending exception exists at the
time of the jsCast. If ASSERTs are not enabled, this will be a no-op. All clients
that use jsCast this way (and now use getAs instead) will already be doing an
exception check immediately after. Hence, they are already doing the right thing
in terms of handling exceptions. We're only placating the jsCast assertion here.
- runtime/AbstractModuleRecord.cpp:
(JSC::AbstractModuleRecord::hostResolveImportedModule):
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::getAs const):
- runtime/JSInternalPromise.cpp:
(JSC::JSInternalPromise::then):
- runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::dependencyKeysIfEvaluated):
(JSC::JSModuleLoader::provideFetch):
(JSC::JSModuleLoader::loadAndEvaluateModule):
(JSC::JSModuleLoader::loadModule):
(JSC::JSModuleLoader::linkAndEvaluateModule):
(JSC::JSModuleLoader::requestImportModule):
- runtime/JSObject.h:
(JSC::JSObject::getAs const):
- runtime/JSPromise.cpp:
(JSC::JSPromise::createDeferredData):
- runtime/VM.h:
- 8:02 AM Changeset in webkit [276899] by
-
- 30 edits in trunk
Remove default parameter values for color space and pixel format from ImageBuffer::create to make it clear everwhere we are explicitly requesting SRGB/BGRA8 buffers
https://bugs.webkit.org/show_bug.cgi?id=225288
Reviewed by Anders Carlsson.
Source/WebCore:
To make it super clear exactly what type of ImageBuffers we are creating, this
removes the default parameters for the scale, color space and pixel format from
the ImageBuffer::create() functions.
This allows us to easily see exactly where we are creating 8-bit sRGB buffers
and potentially losing non-sRGB and wide (> 8-bit) source data. In practice, many
of these sites are wrong and should be updated to use a color space and pixel
format matching the source they are going to be copying/buffering.
I did not update the ImageBuffer::createCompatibleBuffer, as it is less clear what
to do about them, or what exactly is meant by "compatible", as it seems to be
inconsistent from one to the other.
Ultimately, if we want to make it easy to create an ImageBuffer that has the same
underlying characteristics of whatever a GraphicsContext is drawing to, we will need
to update GraphicsContext to be able to provide scale, color space and pixel format
information directly. This will probably require some new mechanism for representing
color space that can either be a DestinationColorSpace or a platform specific color
space object (e.g. CGColorSpaceRef).
- Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:
(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::sanitizeDataIfNeeded):
- Modules/mediasession/MediaMetadata.cpp:
(WebCore::ArtworkImageLoader::notifyFinished):
- css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::image):
- html/ImageBitmap.cpp:
(WebCore::ImageBitmap::createImageBuffer):
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::createCompositingBuffer):
- html/canvas/ImageBitmapRenderingContext.cpp:
(WebCore::ImageBitmapRenderingContext::setOutputBitmap):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::LRUImageBufferCache::imageBuffer):
- html/shadow/MediaControlTextTrackContainerElement.cpp:
(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
- inspector/InspectorCanvas.cpp:
(WebCore::InspectorCanvas::indexForData):
(WebCore::InspectorCanvas::buildArrayForCanvasPattern):
- page/FrameSnapshotting.cpp:
(WebCore::snapshotFrameRectWithClip):
- page/PageConsoleClient.cpp:
(WebCore::PageConsoleClient::screenshot):
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::preTransformedNativeImageForCurrentFrame):
- platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::drawPattern):
- platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::createCompatibleBuffer):
- platform/graphics/ImageBuffer.h:
- platform/graphics/ShadowBlur.cpp:
(WebCore::ScratchBuffer::getScratchBuffer):
(WebCore::ShadowBlur::drawRectShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):
(WebCore::ShadowBlur::drawShadowLayer):
- platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:
(WebCore::FilterEffectRendererCoreImage::renderToImageBuffer):
- platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::imageBufferResult):
(WebCore::FilterEffect::convertImageDataToColorSpace):
(WebCore::FilterEffect::convertImageBufferToColorSpace):
(WebCore::FilterEffect::createImageBufferResult):
- platform/graphics/nicosia/texmap/NicosiaGCGLLayer.cpp:
(Nicosia::GCGLLayer::swapBuffersIfNeeded):
- platform/graphics/texmap/BitmapTexture.cpp:
(WebCore::BitmapTexture::updateContents):
- platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::imageBuffer const):
- rendering/CSSFilter.cpp:
(WebCore::CSSFilter::allocateBackingStoreIfNeeded):
- rendering/shapes/Shape.cpp:
(WebCore::Shape::createRasterShape):
- rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::createImageBuffer):
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::nativeImage):
Source/WebKitLegacy/mac:
- WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::imageForCurrentSharingServicePickerItem):
Pass arguments explicitly that were previously default values.
Tools:
- TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST):
Pass arguments explicitly that were previously default values.
- 7:04 AM Changeset in webkit [276898] by
-
- 2 edits in trunk/Tools
Remove unused gtk_im_multicontext_get_slave from valgrind/suppressions.txt
https://bugs.webkit.org/show_bug.cgi?id=225300
Reviewed by Žan Doberšek.
- Scripts/valgrind/suppressions.txt:
- 5:51 AM ASanWebKit edited by
- (diff)
- 5:29 AM Changeset in webkit [276897] by
-
- 2 edits in trunk/Source/WebKit
[GTK][WPE] Properly reset WebKitWebView's responsiveness flag
https://bugs.webkit.org/show_bug.cgi?id=225291
Reviewed by Alicia Boya Garcia.
Reset the web process responsiveness flag whenever the web process is terminated.
- UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewWebProcessTerminated):
(webkit_web_view_terminate_web_process):
- 4:00 AM Changeset in webkit [276896] by
-
- 24 edits2 adds in trunk
[WASM-Function-References] Add call_ref instruction
https://bugs.webkit.org/show_bug.cgi?id=222903
Patch by Dmitry Bezhetskov <dbezhetskov> on 2021-05-03
Reviewed by Yusuke Suzuki.
JSTests:
Add basic tests for new call_ref instruction:
https://github.com/WebAssembly/function-references/blob/master/proposals/function-references/Overview.md.
Add tests for calling same-instance wasm function, foreign-instance
wasm function and for calling imported js function.
- wasm.yaml:
- wasm/function-references/call_ref.js: Added.
(module):
(async basics):
(async indirectCall):
(async importHostCall):
- wasm/wasm.json:
Source/JavaScriptCore:
Add support for call_ref instruction from the typed function
references proposal: https://github.com/WebAssembly/function-references/blob/master/proposals/function-references/Overview.md.
call_ref calls the given function references from the stack
and it does almost the same stuff as call_indirect but
it doesn't check signatures because wasm types system guaranties
correctness.
- bytecode/BytecodeList.rb:
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- llint/LowLevelInterpreter.asm:
- llint/WebAssembly.asm:
- runtime/Gate.h:
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::addCallIndirect):
(JSC::Wasm::AirIRGenerator::addCallRef):
(JSC::Wasm::AirIRGenerator::emitIndirectCall):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::emitIndirectCall):
(JSC::Wasm::B3IRGenerator::addCallIndirect):
(JSC::Wasm::B3IRGenerator::addCallRef):
- wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::parseExpression):
(JSC::Wasm::FunctionParser<Context>::parseUnreachableExpression):
- wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::LLIntGenerator::addCallRef):
- wasm/WasmSlowPaths.cpp:
(JSC::LLInt::doWasmCallRef):
(JSC::LLInt::WASM_SLOW_PATH_DECL):
- wasm/WasmSlowPaths.h:
- wasm/js/JSWebAssemblyTable.cpp:
- wasm/js/WebAssemblyFunction.cpp:
(JSC::WebAssemblyFunction::WebAssemblyFunction):
- wasm/js/WebAssemblyFunction.h:
- wasm/js/WebAssemblyFunctionBase.cpp:
(JSC::WebAssemblyFunctionBase::WebAssemblyFunctionBase):
- wasm/js/WebAssemblyFunctionBase.h:
(JSC::WebAssemblyFunctionBase::offsetOfEntrypointLoadLocation):
- wasm/js/WebAssemblyWrapperFunction.cpp:
(JSC::WebAssemblyWrapperFunction::WebAssemblyWrapperFunction):
- wasm/js/WebAssemblyWrapperFunction.h:
- wasm/wasm.json:
- 2:29 AM Changeset in webkit [276895] by
-
- 7 edits in trunk
Decoding an SVG off the main thread causes a crash
https://bugs.webkit.org/show_bug.cgi?id=206055
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline OffscreenCanvas SVG tests.
- web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.worker-expected.txt:
Source/WebCore:
Use BitmapImage::create instead of Image::create in ImageBitmap. This
bypasses use of SVGImage and PDFDocumentImage, which are not safe to
use off the main thread.
No new tests, rebaselined existing tests.
- html/ImageBitmap.cpp:
(WebCore::ImageBitmap::createFromBuffer):
Use BitmapImage instead of Image.
- platform/graphics/Image.cpp:
(WebCore::Image::create):
Add main-thread assert on Image creation.
LayoutTests:
Enable OffscreenCanvas SVG tests.
- platform/glib/TestExpectations:
- 2:24 AM Changeset in webkit [276894] by
-
- 2 edits in trunk/Source/WebCore
getPropertyValue for url path doesn't return the "#" character
https://bugs.webkit.org/show_bug.cgi?id=215409
Patch by Rob Buis <rbuis@igalia.com> on 2021-05-03
Reviewed by Youenn Fablet.
Address post review comments.
- css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::svgPropertyValue):
- 1:16 AM Changeset in webkit [276893] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION (r276633): fast/mediastream/media-stream-track-interrupted.html is consistently timing out
https://bugs.webkit.org/show_bug.cgi?id=225204
<rdar://problem/77338070>
Reviewed by Eric Carlson.
Reverting to RecursiveLock since resuming a unit will make it notify to unmute sources.
Sources will want to restart audio, thus restarting the unit synchronously.
This triggers the unit to tell its clients that it is restarting, which creates a dead lock.
We should probably update the code to change this, but as a short term fix, we revert to a RecursiveLock.
Covered by fast/mediastream/media-stream-track-interrupted.html no longer timing out.
- platform/mediastream/mac/BaseAudioSharedUnit.cpp:
(WebCore::BaseAudioSharedUnit::audioSamplesAvailable):
- platform/mediastream/mac/BaseAudioSharedUnit.h:
- 1:12 AM Changeset in webkit [276892] by
-
- 16 edits in trunk
Use OptionSet for MediaProducer::MutedStateFlags
https://bugs.webkit.org/show_bug.cgi?id=224550
<rdar://problem/76960294>
Reviewed by Eric Carlson.
Source/WebCore:
Refactoring to improve type safety.
No change of behavior.
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::updateCaptureAccordingToMutedState):
(WebCore::MediaStreamTrack::updateToPageMutedState):
- page/MediaProducer.h:
- page/Page.h:
(WebCore::Page::isAudioMuted const):
(WebCore::Page::isMediaCaptureMuted const):
- testing/Internals.cpp:
(WebCore::Internals::setPageMuted):
Source/WebKit:
Update to use new OptionSet MediaProducer::MutedStateFlags.
Fix a potential bug in case the page is video capture muted, covered by updated API test.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::decode):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetMuted):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView setMicrophoneCaptureState:completionHandler:]):
(-[WKWebView setCameraCaptureState:completionHandler:]):
(-[WKWebView _setPageMuted:]):
- UIProcess/API/glib/WebKitWebView.cpp:
(webkit_web_view_set_is_muted):
- UIProcess/Cocoa/MediaUtilities.mm:
(WebKit::toWKMediaMutedState):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updateActivityState):
- UIProcess/WebPageProxy.h:
Tools:
- TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(TestWebKitAPI::TEST):
- 12:49 AM Changeset in webkit [276891] by
-
- 3 edits in trunk/LayoutTests
[GLIB][GTK] Unreviewed test gardening. Updated expectations with latest failures from GTK release bot.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- 12:02 AM Changeset in webkit [276890] by
-
- 2 edits in trunk/Source/WebKit
IPC::Semaphore operations ASSERT when the semaphore has been destroyed
https://bugs.webkit.org/show_bug.cgi?id=225142
<rdar://problem/76178000>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-05-03
Reviewed by Chris Dumez.
Add KERN_TERMINATED to the expected return values of semaphore_{signal,wait,timedwait} calls.
- Platform/IPC/darwin/IPCSemaphoreDarwin.cpp:
(IPC::Semaphore::signal):
(IPC::Semaphore::wait):
(IPC::Semaphore::waitFor):
May 2, 2021:
- 8:11 PM Changeset in webkit [276889] by
-
- 1 edit139 adds in trunk/Websites/browserbench.org
Copy PerformanceTests/MotionMark to WebSites/browserbench.org/MotionMark1.2
https://bugs.webkit.org/show_bug.cgi?id=225287
Reviewed by Maciej Stachowiak and Ryosuke Niwa.
This patch copies the files, and also updates the version in WebSites/browserbench.org
to "1.2." It also updates the "about" page to include a description of the changes.
No existing links have been updated to point to this new version.
- MotionMark1.2/about.html: Added.
- MotionMark1.2/developer.html: Added.
- MotionMark1.2/index.html: Added.
- MotionMark1.2/resources/debug-runner/d3.min.js: Added.
- MotionMark1.2/resources/runner/benchmark-runner.js: Added.
(BenchmarkRunnerState.Utilities.createClass):
(this.next.currentSuite):
(this.next.currentTest):
(this.next.isFirstTest):
(this.next.next):
(this.next.frame.onload):
(this.next.prepareCurrentTest):
(this.next):
(BenchmarkRunner.Utilities.createClass):
(_appendFrame):
(_removeFrame):
(_runBenchmarkAndRecordResults):
(step):
(runAllSteps):
(this._runNextIteration):
(runMultipleIterations):
(_finalize):
- MotionMark1.2/resources/runner/crystal.svg: Added.
- MotionMark1.2/resources/runner/lines.svg: Added.
- MotionMark1.2/resources/runner/logo.svg: Added.
- MotionMark1.2/resources/runner/motionmark.css: Added.
(html,):
(body):
(body.showing-intro,):
(body.showing-test-container):
(body.images-loaded):
(@media screen and (min-width: 667px) body):
(@media screen and (min-width: 667px) body.showing-intro,):
(@media screen and (min-width: 1025px) body.showing-intro,):
(::selection):
(.hidden):
(section):
(section.selected):
(.logo):
(.logo svg):
(.logo div):
(body.images-loaded .logo svg):
(@media screen and (min-width: 667px) .logo svg):
(@media screen and (min-width: 667px) .logo div):
(section .body):
(section .body p):
(@media screen and (min-width: 667px) section .body):
(@media screen and (min-width: 667px) section button):
(button):
(body.images-loaded button):
(button:hover):
(button:active):
(button:disabled):
(@media print button):
(.portrait-orientation-check):
(@media screen and (max-device-width: 1025px) and (orientation: portrait) .portrait-orientation-check):
(@media screen and (max-device-width: 1025px) and (orientation: portrait) .landscape-orientation-check):
(@keyframes background-fade):
(@keyframes background-color):
(12%, 20%):
(22%, 30%):
(32%, 40%):
(42%, 50%):
(52%, 60%):
(62%, 70%):
(72%, 80%):
(82%, 90%):
(92%, 100%):
(@keyframes foreground-color):
(#intro, #about):
(#intro):
(body.images-loaded #intro):
(#about .body):
(#about li):
(#about button):
(#about h3):
(#about #log):
(#about #log li):
(@media screen and (min-width: 667px) #about .body):
(@media screen and (min-width: 667px) #about ol, #about ul):
(#intro a, #about a,):
(.frame-container):
(.frame-container > iframe):
(body.small .frame-container):
(body.medium .frame-container):
(body.large .frame-container):
(#results):
(#results .body):
(#results .score-container):
(#results .table-container):
(#results .table-container > div):
(#results .score):
(#results .confidence):
(#results table):
(#results table td,):
(#results table td.suites-separator):
(#results table tr:nth-child(even)):
(#results #results-header):
(#results #results-score):
(#results #results-data span):
(#results #results-header td,):
(#results #results-score td,):
(#results #results-score td):
(@media screen and (min-width: 667px) #results .score,):
(.detail span):
(body.small .detail .small,):
(#overlay):
(@supports (-webkit-backdrop-filter: blur(10px))):
(#overlay > div):
(#overlay > div div):
- MotionMark1.2/resources/runner/motionmark.js: Added.
(ResultsDashboard.Utilities.createClass):
(this._processData.push):
(this._processData._processData):
(this._processData.findRegression):
(this._processData.):
(this._processData.calculateScore):
(this._processData.get data):
(this._processData.get results):
(this._processData.get options):
(this._processData.get version):
(this._processData._getResultsProperty):
(this._processData.get score):
(this._processData.get scoreLowerBound):
(this._processData.get scoreUpperBound):
(this._processData):
(ResultsTable.Utilities.createClass):
(this.clear.clear):
(this.clear._addHeader):
(this.clear._addBody):
(this.clear._addEmptyRow):
(this.clear):
(this.clear._addIteration):
(this.clear.showIterations):
(window.benchmarkRunnerClient.initialize):
(window.benchmarkRunnerClient.willStartFirstIteration):
(window.benchmarkRunnerClient.didRunSuites):
(window.benchmarkRunnerClient.didRunTest):
(window.benchmarkRunnerClient.didFinishLastIteration):
(window.sectionsManager.showSection):
(window.sectionsManager.setSectionVersion):
(window.sectionsManager.setSectionScore):
(window.sectionsManager.populateTable):
(window.benchmarkController.initialize):
(window.benchmarkController.determineCanvasSize):
(window.benchmarkController.addOrientationListenerIfNecessary):
(window.benchmarkController._orientationChanged):
(window.benchmarkController.updateStartButtonState):
(window.benchmarkController._startBenchmark):
(window.benchmarkController.startBenchmark):
(window.benchmarkController.showResults):
(window.benchmarkController.handleKeyPress):
(window.benchmarkController.hideDebugInfo):
(window.benchmarkController.data.onclick):
(window.benchmarkController.button.onclick):
(window.benchmarkController.showDebugInfo):
(window.benchmarkController.selectResults):
- MotionMark1.2/resources/runner/tests.js: Added.
(Headers.details.text):
(Suite):
(suiteFromName):
- MotionMark1.2/resources/statistics.js: Added.
(Pseudo.resetRandomSeed):
(Pseudo.random):
(Statistics.sampleMean):
(Statistics.unbiasedSampleStandardDeviation):
(Statistics.geometricMean):
(Statistics.cdf):
(Statistics.erf):
(Statistics.largestDeviationPercentage):
(Experiment.Utilities.createClass):
(this.reset.reset):
(this.reset.get sampleCount):
(this.reset.sample):
(this.reset.mean):
(this.reset.standardDeviation):
(this.reset.cdf):
(this.reset.percentage):
(this.reset.concern):
(this.reset.score):
(this.reset):
(Regression.Utilities.createClass):
(valueAt):
(setBest):
(_calculateRegression):
(bootstrap):
- MotionMark1.2/resources/strings.js: Added.
- MotionMark1.2/tests/3d/resources/webgl.js: Added.
(Stage.call.initialize):
(Stage.call._getFunctionSource):
(Stage.call._resetIfNecessary):
(Stage.call.tune):
(Stage.call.animate):
(Stage.call.complexity):
(Stage.call):
- MotionMark1.2/tests/3d/resources/webgpu.js: Added.
(constant.float.uniforms.register):
(Stage.call.initialize):
(Stage.call._getFunctionSource):
(Stage.call._resetIfNecessary):
(Stage.call.tune):
(Stage.call.animate):
(Stage.call.complexity):
(Stage.call):
(new.WebGLStage.waitUntilReady):
(new.WebGLStage):
- MotionMark1.2/tests/3d/triangles-webgl.html: Added.
- MotionMark1.2/tests/3d/triangles-webgpu.html: Added.
- MotionMark1.2/tests/bouncing-particles/bouncing-canvas-images.html: Added.
- MotionMark1.2/tests/bouncing-particles/bouncing-canvas-shapes.html: Added.
- MotionMark1.2/tests/bouncing-particles/bouncing-css-images.html: Added.
- MotionMark1.2/tests/bouncing-particles/bouncing-css-shapes.html: Added.
- MotionMark1.2/tests/bouncing-particles/bouncing-svg-images.html: Added.
- MotionMark1.2/tests/bouncing-particles/bouncing-svg-shapes.html: Added.
- MotionMark1.2/tests/bouncing-particles/bouncing-tagged-images.html: Added.
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-canvas-images.js: Added.
(_draw):
(BouncingCanvasParticlesStage.call.initialize):
(BouncingCanvasParticlesStage.call.createParticle):
(BouncingCanvasParticlesStage.call):
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-canvas-particles.js: Added.
(applyRotation):
(applyClipping):
(_draw):
(animate):
(BouncingParticlesStage.call.initialize):
(BouncingParticlesStage.call.animate):
(BouncingParticlesStage.call):
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: Added.
(this._color1.Stage.randomColor._applyFill):
(this._color1.Stage.randomColor._drawShape):
(this._color1.Stage.randomColor._draw):
(this._color1.Stage.randomColor):
(BouncingCanvasParticlesStage.call.initialize):
(BouncingCanvasParticlesStage.call.createParticle):
(BouncingCanvasParticlesStage.call):
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-css-images.js: Added.
(this._move._move):
(this._move.animate):
(this._move):
(BouncingParticlesStage.call.initialize):
(BouncingParticlesStage.call.createParticle):
(BouncingParticlesStage.call.particleWillBeRemoved):
(BouncingParticlesStage.call):
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-css-shapes.js: Added.
(switch):
(this._move._createSpan):
(this._move._move):
(this._move.animate):
(this._move):
(BouncingParticlesStage.call.initialize):
(BouncingParticlesStage.call.createParticle):
(BouncingParticlesStage.call.particleWillBeRemoved):
(BouncingParticlesStage.call):
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-particles.js: Added.
(BouncingParticle):
(BouncingParticle.prototype.get center):
(BouncingParticle.prototype.animate):
(initialize):
(parseShapeParameters):
(animate):
(tune):
(complexity):
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-svg-images.js: Added.
(BouncingSvgParticlesStage.call.initialize):
(BouncingSvgParticlesStage.call.createParticle):
(BouncingSvgParticlesStage.call):
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-svg-particles.js: Added.
(_applyClipping):
(_move):
(animate):
(BouncingParticlesStage.call._createDefs):
(BouncingParticlesStage.call._ensureDefsIsCreated):
(BouncingParticlesStage.call._createClipStar):
(BouncingParticlesStage.call.ensureClipStarIsCreated):
(BouncingParticlesStage.call.particleWillBeRemoved):
(BouncingParticlesStage.call):
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-svg-shapes.js: Added.
(this._move._createShape):
(this._move._applyFill):
(this._move):
(BouncingSvgParticlesStage.call.initialize):
(BouncingSvgParticlesStage.call.createGradient):
(BouncingSvgParticlesStage.call.createParticle):
(BouncingSvgParticlesStage.call.particleWillBeRemoved):
(BouncingSvgParticlesStage.call):
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-tagged-images.js: Added.
(this._move._move):
(this._move.animate):
(this._move):
(BouncingParticlesStage.call.):
(BouncingParticlesStage.call.initialize):
(BouncingParticlesStage.call.img.onload):
(BouncingParticlesStage.call._loadImage):
(BouncingParticlesStage.call.createParticle):
(BouncingParticlesStage.call.particleWillBeRemoved):
(BouncingParticlesStage.call):
(new.BouncingTaggedImagesStage.waitUntilReady):
(new.BouncingTaggedImagesStage):
- MotionMark1.2/tests/bouncing-particles/resources/image1.jpg: Added.
- MotionMark1.2/tests/bouncing-particles/resources/image2.jpg: Added.
- MotionMark1.2/tests/bouncing-particles/resources/image3.jpg: Added.
- MotionMark1.2/tests/bouncing-particles/resources/image4.jpg: Added.
- MotionMark1.2/tests/bouncing-particles/resources/image5.jpg: Added.
- MotionMark1.2/tests/dom/compositing-transforms.html: Added.
- MotionMark1.2/tests/dom/focus.html: Added.
- MotionMark1.2/tests/dom/leaves.html: Added.
- MotionMark1.2/tests/dom/multiply.html: Added.
- MotionMark1.2/tests/dom/particles.html: Added.
- MotionMark1.2/tests/dom/resources/compositing-transforms.js: Added.
(this._move._move):
(this._move.animate):
(this._move):
(BouncingParticlesStage.call.initialize):
(BouncingParticlesStage.call.createParticle):
(BouncingParticlesStage.call.particleWillBeRemoved):
(BouncingParticlesStage.call):
- MotionMark1.2/tests/dom/resources/dom-particles.js: Added.
(Particle.call.reset):
(Particle.call.move):
(Particle.call):
(ParticlesStage.call.initialize):
(ParticlesStage.call.createParticle):
(ParticlesStage.call.willRemoveParticle):
(ParticlesStage.call):
- MotionMark1.2/tests/dom/resources/focus.js: Added.
(FocusElement.Utilities.createClass):
(hide):
(show):
(animate):
(Stage.call.initialize):
(Stage.call.complexity):
(Stage.call.tune):
(Stage.call.animate):
(Stage.call.getBlurValue):
(Stage.call.getOpacityValue):
(Stage.call):
- MotionMark1.2/tests/dom/resources/leaves.js: Added.
(SuperLeaf.call.move):
(SuperLeaf.call):
(switch):
- MotionMark1.2/tests/dom/resources/multiply.js: Added.
(switch):
- MotionMark1.2/tests/master/canvas-stage.html: Added.
- MotionMark1.2/tests/master/design.html: Added.
- MotionMark1.2/tests/master/focus.html: Added.
- MotionMark1.2/tests/master/image-data.html: Added.
- MotionMark1.2/tests/master/leaves.html: Added.
- MotionMark1.2/tests/master/multiply.html: Added.
- MotionMark1.2/tests/master/resources/canvas-stage.js: Added.
(initialize):
(tune):
(animate):
(complexity):
- MotionMark1.2/tests/master/resources/canvas-tests.js: Added.
(CanvasLineSegment.Utilities.createClass):
(draw):
(CanvasArc.Utilities.createClass):
(CanvasLinePoint.Utilities.createClass):
(randomPoint):
(SimpleCanvasStage.call.initialize):
(SimpleCanvasStage.call.animate):
(SimpleCanvasStage.call):
(switch):
- MotionMark1.2/tests/master/resources/compass.svg: Added.
- MotionMark1.2/tests/master/resources/compass100.png: Added.
- MotionMark1.2/tests/master/resources/console.svg: Added.
- MotionMark1.2/tests/master/resources/console100.png: Added.
- MotionMark1.2/tests/master/resources/contribute.svg: Added.
- MotionMark1.2/tests/master/resources/contribute100.png: Added.
- MotionMark1.2/tests/master/resources/debugger.svg: Added.
- MotionMark1.2/tests/master/resources/debugger100.png: Added.
- MotionMark1.2/tests/master/resources/design.js: Added.
(initialize):
(tune):
(animate):
(complexity):
- MotionMark1.2/tests/master/resources/focus.js: Added.
(FocusElement.Utilities.createClass):
(this.animate.hide):
(this.animate.show):
(this.animate.animate):
(this.animate):
(Stage.call.initialize):
(Stage.call.complexity):
(Stage.call.tune):
(Stage.call.animate):
(Stage.call):
- MotionMark1.2/tests/master/resources/image-data.js: Added.
(initialize):
(_loadImage):
(tune):
(_createTestElement):
(_refreshElement):
(animate):
(_getRandomNeighboringPixelIndex):
(complexity):
(new.ImageDataStage.waitUntilReady):
(new.ImageDataStage):
- MotionMark1.2/tests/master/resources/inspector.svg: Added.
- MotionMark1.2/tests/master/resources/inspector100.png: Added.
- MotionMark1.2/tests/master/resources/layout.svg: Added.
- MotionMark1.2/tests/master/resources/layout100.png: Added.
- MotionMark1.2/tests/master/resources/leaves.js: Added.
(Particle.call.reset):
(Particle.call.animate):
(Particle.call.move):
(Particle.call):
(initialize):
(img.onload):
(_loadImage):
(animate):
(createParticle):
(willRemoveParticle):
(new.ParticlesStage.waitUntilReady):
(new.ParticlesStage):
- MotionMark1.2/tests/master/resources/multiply.js: Added.
(initialize):
(_addTile):
(complexity):
(tune):
(animate):
- MotionMark1.2/tests/master/resources/particles.js: Added.
(Particle):
(Particle.prototype.reset):
(Particle.prototype.animate):
(Particle.prototype.move):
(animate):
(tune):
(complexity):
- MotionMark1.2/tests/master/resources/performance.svg: Added.
- MotionMark1.2/tests/master/resources/performance100.png: Added.
- MotionMark1.2/tests/master/resources/script.svg: Added.
- MotionMark1.2/tests/master/resources/script100.png: Added.
- MotionMark1.2/tests/master/resources/shortcuts.svg: Added.
- MotionMark1.2/tests/master/resources/shortcuts100.png: Added.
- MotionMark1.2/tests/master/resources/standards.svg: Added.
- MotionMark1.2/tests/master/resources/standards100.png: Added.
- MotionMark1.2/tests/master/resources/storage.svg: Added.
- MotionMark1.2/tests/master/resources/storage100.png: Added.
- MotionMark1.2/tests/master/resources/styles.svg: Added.
- MotionMark1.2/tests/master/resources/styles100.png: Added.
- MotionMark1.2/tests/master/resources/suits.js: Added.
(this.initialize.initialize):
(this.initialize.reset):
(this.initialize.move):
(this.initialize):
(ParticlesStage.call.initialize):
(ParticlesStage.call.createParticle):
(ParticlesStage.call.willRemoveParticle):
(ParticlesStage.call):
- MotionMark1.2/tests/master/resources/timeline.svg: Added.
- MotionMark1.2/tests/master/resources/timeline100.png: Added.
- MotionMark1.2/tests/master/suits.html: Added.
- MotionMark1.2/tests/resources/main.js: Added.
(Sampler.Utilities.createClass):
(record):
(processSamples):
(Controller.Utilities.createClass):
(set isFrameLengthEstimatorEnabled):
(start):
(recordFirstSample):
(mark):
(containsMark):
(filterOutOutliers):
(_measureAndResetInterval):
(update):
(registerFrameTime):
(intervalHasConcluded):
(didFinishInterval):
(tune):
(shouldStop):
(results):
(_processComplexitySamples):
(_processMarks):
(_processControllerSamples):
(_getComplexity):
(_getFrameLength):
(Stage.Utilities.createClass):
(Stage.Utilities.createClass.initialize):
(Stage.Utilities.createClass.get element):
(Stage.Utilities.createClass.get size):
(Stage.Utilities.createClass.complexity):
(Stage.Utilities.createClass.tune):
(Stage.Utilities.createClass.animate):
(Stage.Utilities.createClass.clear):
(random):
(randomBool):
(randomSign):
(randomInt):
(randomPosition):
(randomSquareSize):
(randomVelocity):
(randomAngle):
(randomColor):
(randomStyleMixBlendMode):
(randomStyleFilter):
(randomElementInArray):
(rotatingColor):
(dateFractionalValue):
(dateCounterValue):
(randomRotater):
(Rotater.Utilities.createClass):
(get interval):
(next):
(degree):
(rotateZ):
(rotate):
(Benchmark.Utilities.createClass):
(get stage):
(get timestamp):
(backgroundColor):
(run):
(waitUntilReady):
(_animateLoop):
- MotionMark1.2/tests/resources/math.js: Added.
(this._gain.error.sample):
(this._gain.error.reset):
(this._gain.error):
(PIDController.Utilities.createClass):
(_yPosition):
(_distanceUltimate):
(_distance):
(_gainIncrement):
(_updateStage):
(_tuneP):
(_tunePID):
(_tune):
(_saturate):
(tune):
- MotionMark1.2/tests/resources/stage.css: Added.
(html):
(body):
(#stage):
(#center-text):
- MotionMark1.2/tests/resources/star.svg: Added.
- MotionMark1.2/tests/resources/yin-yang.png: Added.
- MotionMark1.2/tests/resources/yin-yang.svg: Added.
- MotionMark1.2/tests/simple/resources/simple-canvas-paths.js: Added.
(CanvasLineSegment.Utilities.createClass):
(this._lineWidth.Stage.randomInt.draw):
(this._lineWidth.Stage.randomInt):
(CanvasLinePoint.Utilities.createClass):
(draw):
(CanvasQuadraticSegment.Utilities.createClass):
(CanvasQuadraticPoint.Utilities.createClass):
(CanvasBezierSegment.Utilities.createClass):
(CanvasBezierPoint.Utilities.createClass):
(CanvasArcToSegment.Utilities.createClass):
(CanvasArcToSegmentFill.Utilities.createClass):
(CanvasArcToSegment.call.draw):
(CanvasArcToSegment.call):
(CanvasArcSegment.Utilities.createClass):
(CanvasArcSegmentFill.Utilities.createClass):
(CanvasArcSegment.call.draw):
(CanvasArcSegment.call):
(CanvasRect.Utilities.createClass):
(CanvasRectFill.Utilities.createClass):
(CanvasRect.call.draw):
(CanvasRect.call):
(CanvasEllipse.Utilities.createClass):
(CanvasEllipseFill.Utilities.createClass):
(CanvasEllipse.call.draw):
(CanvasEllipse.call):
(CanvasStroke.Utilities.createClass):
(this._object.new.draw):
(this._object.new):
(CanvasFill.Utilities.createClass):
(SimpleCanvasStage.call.animate):
(SimpleCanvasStage.call):
(SimpleCanvasStage.call.initialize):
(SimpleCanvasPathStrokeStage.call.initialize):
(SimpleCanvasPathStrokeStage.call):
(initialize):
(animate):
(switch):
- MotionMark1.2/tests/simple/resources/simple-canvas.js: Added.
(tune):
(animate):
(complexity):
- MotionMark1.2/tests/simple/resources/tiled-canvas-image.js: Added.
(CanvasImageTile.Utilities.createClass):
(getImageData):
(putImageData):
(Stage.call.initialize):
(Stage.call._setupTiles):
(Stage.call._nextTilePosition):
(Stage.call.tune):
(Stage.call._drawBackground):
(Stage.call.animate):
(Stage.call.complexity):
(Stage.call):
- MotionMark1.2/tests/simple/simple-canvas-paths.html: Added.
- MotionMark1.2/tests/simple/tiled-canvas-image.html: Added.
- MotionMark1.2/tests/svg/suits.html: Added.
- MotionMark1.2/tests/svg/suits.js: Added.
(this.initialize.move):
(this.initialize):
(this.initialize.reset):
(switch):
- MotionMark1.2/tests/template/resources/template-canvas.js: Added.
(TemplateCanvasObject):
(TemplateCanvasObject.prototype._draw):
(TemplateCanvasObject.prototype.animate):
(Stage.call.initialize):
(Stage.call.tune):
(Stage.call.animate):
(Stage.call):
(new.TemplateCanvasStage.waitUntilReady):
(new.TemplateCanvasStage):
- MotionMark1.2/tests/template/resources/template-css.js: Added.
(Stage.call.initialize):
(Stage.call.tune):
(Stage.call.animate):
(Stage.call):
- MotionMark1.2/tests/template/resources/template-svg.js: Added.
(Stage.call.initialize):
(Stage.call.tune):
(Stage.call.animate):
(Stage.call):
- MotionMark1.2/tests/template/template-canvas.html: Added.
- MotionMark1.2/tests/template/template-css.html: Added.
- MotionMark1.2/tests/template/template-svg.html: Added.
- MotionMark1.2/tests/text/design-6.html: Added.
- MotionMark1.2/tests/text/design-6.js: Added.
(switch):
(dataset.forEach):
- MotionMark1.2/tests/text/design.html: Added.
- MotionMark1.2/tests/text/design.js: Added.
(switch):
(dataset.forEach):
- 12:08 PM Changeset in webkit [276888] by
-
- 3 edits2 adds in trunk
getPropertyValue for url path doesn't return the "#" character
https://bugs.webkit.org/show_bug.cgi?id=215409
Patch by Rob Buis <rbuis@igalia.com> on 2021-05-02
Reviewed by Sam Weinig.
Source/WebCore:
Adapt url serializing in SVG to match Firefox and Chrome.
Test: svg/css/computed-style-url-serializing.html
- css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::svgPropertyValue):
LayoutTests:
Add test for this.
- svg/css/computed-style-url-serializing-expected.txt: Added.
- svg/css/computed-style-url-serializing.html: Added.
- 12:01 PM Changeset in webkit [276887] by
-
- 8 edits in trunk/Source
Add support for DestinationColorSpace::DisplayP3 in preparation for DisplayP3 canvas
https://bugs.webkit.org/show_bug.cgi?id=225280
Reviewed by Anders Carlsson.
Add new ENABLE_DESTINATION_COLOR_SPACE_DISPLAY_P3 macro to declare which ports
support P3 backing stores. Currently, only the Apple/Cocoa ports support it.
Source/WebCore:
When ENABLE(DESTINATION_COLOR_SPACE_DISPLAY_P3), also define ColorSpaceDestination::DisplayP3.
This is not currently used, but will be in subsequent changes.
- platform/graphics/ColorConversion.cpp:
(WebCore::converColorComponents):
- platform/graphics/ColorSpace.cpp:
(WebCore::operator<<):
- platform/graphics/ColorSpace.h:
(WebCore::callWithColorType):
- platform/graphics/cg/ColorSpaceCG.h:
(WebCore::cachedCGColorSpace):
Source/WTF:
- wtf/PlatformEnable.h:
- wtf/PlatformEnableCocoa.h:
- 9:59 AM Changeset in webkit [276886] by
-
- 5 edits49 copies6 adds4 deletes in trunk/Source/WebCore
[LFC] Rename block(inline/table/flex)formattingContext directories to block(inline/table/flex)
https://bugs.webkit.org/show_bug.cgi?id=225275
Reviewed by Antti Koivisto.
The formattingContext postfix is redundant as they are all under the /formattingContexts directory.
- CMakeLists.txt:
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- 9:45 AM Changeset in webkit [276885] by
-
- 12 edits3 deletes in trunk/LayoutTests
Consider removing imported/w3c/canvas and canvas/philip (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=225269
Reviewed by Simon Fraser.
Remove imported/w3c/canvas/* and canvas/philip/* and related expecations
and results. They are out of date copies of tests now bundled as part of
WPT in imported/w3c/web-platform-tests/html/canvas/element and are no
longer useful.
Part 2 removes the remaining copy in imported/w3c/canvas.
LayoutTests/imported/w3c:
- canvas: Removed.
LayoutTests:
- TestExpectations:
- platform/gtk/TestExpectations:
- platform/gtk/imported/w3c/canvas: Removed.
- platform/ios-wk1/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- platform/mac/imported/w3c/canvas: Removed.
- platform/win/TestExpectations:
- platform/wpe/TestExpectations:
- 9:36 AM Changeset in webkit [276884] by
-
- 11 edits5 deletes in trunk/LayoutTests
Consider removing imported/w3c/canvas and canvas/philip (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=225269
Reviewed by Simon Fraser.
Remove imported/w3c/canvas/* and canvas/philip/* and related expecations
and results. They are out of date copies of tests now bundled as part of
WPT in imported/w3c/web-platform-tests/html/canvas/element and are no
longer useful.
Part 1 just removes canvas/philip to make it more reasonable to review
and land.
- canvas/philip: Removed.
- http/tests/canvas/philip: Removed.
- platform/gtk/TestExpectations:
- platform/ios-wk1/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac-wk2/canvas/philip: Removed.
- platform/mac/TestExpectations:
- platform/mac/canvas/philip: Removed.
- platform/win/TestExpectations:
- platform/win/canvas/philip: Removed.
- platform/wincairo/TestExpectations:
- platform/wpe/TestExpectations:
- 9:04 AM Changeset in webkit [276883] by
-
- 5 edits in trunk/Source/WebCore
[Perf] Creation of many video elements slows over time
https://bugs.webkit.org/show_bug.cgi?id=225273
Reviewed by Eric Carlson.
In PerformanceTests/Media/VideoElementCreation.html, 1000 video elements are created
per test, and the test reports how long each batch of 1000 element took to create. A
typical run shows the amount of time to run each batch slows over time. The underlying
cause appears to be the cost it takes to iterate over each MediaElementSession inside
PlatformMediaSessionManager and subclasses.
Before a HTMLMediaElement has a src (or after it's emptied) there's no reason for its
MediaElementSession to be tracked by the PlatformMediaSessionManager. It can't play,
pause, be interrupted, or accept remote control commands. So PlatformMediaSession will
be changed so that it does not add itself to the list of its manager's sessions at
creation time; instead a new method, setActive(bool), is added and will be called at
an appropriate time by its clients, HTMLMediaElement and AudioContext.
HTMLMediaElement will activate its mediaSession just before creating its MediaPlayer
inside prepareForLoad() or loadNextSourceChild(), and will deactivate after tearing
down its MediaPlayer inside mediaLoadingFailed().
AudioContext will activate its mediaSession during its own initialization, and deactivate
inside close().
Before this change, on this machine, VideoElementCreation.html showed an incresing time
to video element creation, levelling out at ~400ms per 1000 elements. After this change,
VideoElelementCreation.html shows a constant time to video element creation, averaging
between 4ms and 7ms per 1000 elements.
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::close):
(WebCore::AudioContext::lazyInitialize):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::prepareForLoad):
(WebCore::HTMLMediaElement::mediaLoadingFailed):
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::PlatformMediaSession):
(WebCore::PlatformMediaSession::~PlatformMediaSession):
(WebCore::PlatformMediaSession::setActive):
- platform/audio/PlatformMediaSession.h:
May 1, 2021:
- 10:22 PM Changeset in webkit [276882] by
-
- 6 edits in trunk
Share style resolvers between author shadow trees with identical style
https://bugs.webkit.org/show_bug.cgi?id=225187
<rdar://problem/77317178>
Reviewed by Sam Weinig.
Source/WebCore:
Style resolvers own style resolution and invalidation rule sets, matched declarations cache, and other things.
With complex stylesheets that can be lot of data. We currently create a style resolver for each author
shadow tree. With web components it is common for a page to have large number of instances of the same
component, and so shadow trees with identical style.
We already deduplicate shadow tree stylesheets (including inline stylesheets based on string equality).
With this patch we'll use these stylesheets as keys for sharing the full style resolvers as well.
- style/StyleScope.cpp:
(WebCore::Style::Scope::createOrFindSharedShadowTreeResolver):
Expand the existing support for sharing between user agent shadow trees and author shadow trees with
empty style. Look up shareable resolvers from a map.
(WebCore::Style::Scope::unshareShadowTreeResolverBeforeMutation):
(WebCore::Style::Scope::makeResolverSharingKey):
Make a key from the active stylesheets and a bit indicating the shadow tree type.
(WebCore::Style::Scope::releaseMemory):
(WebCore::Style::Scope::didChangeStyleSheetEnvironment):
- style/StyleScope.h:
LayoutTests:
- fast/shadow-dom/style-resolver-sharing-expected.txt:
- fast/shadow-dom/style-resolver-sharing.html:
- 8:39 PM Changeset in webkit [276881] by
-
- 4 edits1 add in trunk/Source/WebCore
Move PixelFormat into its own file
https://bugs.webkit.org/show_bug.cgi?id=225272
Reviewed by Darin Adler.
PixelFormat is going to be useful for non-ImageBuffer specific reasons
soon, so let's move it to its own header.
- Headers.cmake:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/ImageBufferBackend.h:
- platform/graphics/PixelFormat.h: Added.
- 8:09 PM Changeset in webkit [276880] by
-
- 58 edits in trunk/Source
Use SortedArrayMap in a few more places
https://bugs.webkit.org/show_bug.cgi?id=225251
Reviewed by Sam Weinig.
Source/WebCore:
- Modules/encryptedmedia/CDM.h: Removed unneeded includes.
- Modules/indexeddb/server/IDBServer.h: Ditto.
- contentextensions/ContentExtensionActions.h: Ditto.
- css/CSSVariableData.h: Ditto.
- dom/FullscreenManager.h: Ditto.
- dom/ScriptElement.cpp:
(WebCore::isLegacySupportedJavaScriptLanguage): Use SortedArraySet.
(WebCore::ScriptElement::executeClassicScript): Fixed typo.
(WebCore::ScriptElement::executeModuleScript): Ditto.
- inspector/InspectorAuditResourcesObject.cpp: Removed unneeded includes.
- inspector/agents/InspectorNetworkAgent.cpp: Ditto.
- loader/appcache/ApplicationCacheGroup.cpp: Ditto.
- page/UserContentProvider.h: Ditto.
- page/ios/DOMTimerHoldingTank.cpp: Ditto.
- page/scrolling/ScrollingCoordinator.h: Ditto.
- page/scrolling/ScrollingTreeNode.h: Added forward declaration
that used to be inherited from another file where it's not needed.
- platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
(WebCore::GameControllerGamepadProvider::willHandleVendorAndProduct):
Use a switch statement.
- platform/gamepad/mac/HIDGamepadElement.h: Removed unneeded includes.
- platform/graphics/FontPlatformData.cpp: Ditto.
- platform/graphics/HEVCUtilities.cpp: Ditto.
- platform/graphics/IntRectHash.h: Ditto.
- platform/graphics/MIMETypeCache.cpp:
(WebCore::MIMETypeCache::isStaticContainerType): Renamed; this replaces
the old staticContainerTypeList function and just returns false.
- platform/graphics/MIMETypeCache.h: Replaced the staticContainerTypeList
fucntion with an isStaticContainerType function. Also made it, and one
other function, private.
- platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.h: Updated
for the change to MIMETypeCache.
- platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.mm:
(WebCore::AVAssetMIMETypeCache::isStaticContainerType): Use SortedArraySet.
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
Removed unneeded includes.
- platform/graphics/coreimage/FilterEffectRendererCoreImage.h: Ditto.
- platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp: Ditto.
- platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h: Ditto.
- platform/mediastream/mac/CoreAudioCaptureDeviceManager.h: Ditto.
- platform/mediastream/mac/CoreAudioCaptureSource.h: Ditto.
- platform/network/cf/FormDataStreamCFNet.cpp: Ditto.
- platform/network/mac/UTIUtilities.mm:
(WebCore::UTIFromUnknownMIMEType): Use SortedArrayMap. Also fixed a regression
from r271533 where we accidentally deleted the MIME type model/vnd.reality.
- rendering/ComplexLineLayout.cpp:
(WebCore::setLogicalWidthForTextRun): Use a range-based for loop.
- rendering/updating/RenderTreeUpdater.h: Removed unneeded includes.
- storage/StorageNamespaceProvider.h: Ditto.
- storage/StorageQuotaManager.h: Ditto.
- style/StyleUpdate.h: Ditto.
- svg/SVGFitToViewBox.h: Ditto.
- svg/SVGTests.cpp:
(WebCore::SVGTests::isValid const): Use SortedArraySet.
(WebCore::SVGTests::hasFeatureForLegacyBindings): Ditto.
Source/WebKit:
- NetworkProcess/NetworkLoad.cpp: Removed unneeded includes.
- NetworkProcess/NetworkResourceLoadMap.h: Ditto.
- Shared/SharedStringHashStore.h: Ditto.
- UIProcess/API/APIPageConfiguration.h: Ditto.
- UIProcess/API/Cocoa/WKWebsiteDataRecord.mm: Ditto.
- UIProcess/API/Cocoa/_WKInspector.mm: Ditto.
- UIProcess/Automation/SimulatedInputDispatcher.h: Ditto.
- UIProcess/Inspector/WebInspectorUIProxy.cpp: Ditto.
- UIProcess/Plugins/mac/PluginInfoStoreMac.mm: Ditto.
- UIProcess/WebPageGroup.h: Ditto.
- UIProcess/WebPasteboardProxy.h: Ditto.
- UIProcess/WebPreferences.h: Ditto.
- WebProcess/Geolocation/WebGeolocationManager.h: Ditto.
- WebProcess/WebPage/WebBackForwardListProxy.h: Ditto.
Source/WTF:
- wtf/SortedArrayMap.h: Added support for types that don't have a parse member function.
- wtf/cocoa/MainThreadCocoa.mm: Removed unneeded includes.
- wtf/text/AtomStringImpl.cpp: Ditto.
- wtf/text/AtomStringTable.cpp: Ditto.
- 7:36 PM Changeset in webkit [276879] by
-
- 14 edits1 delete in trunk
Start leveraging std::filesystem in WTF::FileSystem
https://bugs.webkit.org/show_bug.cgi?id=225255
Reviewed by Sam Weinig.
Source/JavaScriptCore:
Unexport some symbols to fix build.
- Configurations/JavaScriptCore.xcconfig:
Source/WTF:
Start leveraging std::filesystem in WTF::FileSystem to reduce the amount of
platform-specific code.
- WTF.xcodeproj/project.pbxproj:
- wtf/FileSystem.cpp:
(WTF::FileSystemImpl::fileExists):
(WTF::FileSystemImpl::deleteFile):
(WTF::FileSystemImpl::deleteEmptyDirectory):
(WTF::FileSystemImpl::moveFile):
(WTF::FileSystemImpl::getFileSize):
(WTF::FileSystemImpl::fileIsDirectory):
(WTF::FileSystemImpl::makeAllDirectories):
(WTF::FileSystemImpl::getVolumeFreeSpace):
(WTF::FileSystemImpl::createSymbolicLink):
(WTF::FileSystemImpl::hardLink):
(WTF::FileSystemImpl::hardLinkOrCopyFile):
(WTF::FileSystemImpl::deleteNonEmptyDirectory):
- wtf/FileSystem.h:
- wtf/cocoa/FileSystemCocoa.mm:
(WTF::FileSystemImpl::createTemporaryDirectory):
- wtf/glib/FileSystemGlib.cpp:
- wtf/posix/FileSystemPOSIX.cpp:
- wtf/win/FileSystemWin.cpp:
- wtf/PlatformJSCOnly.cmake:
GNU implementation prior to 9.1 requires linking with -lstdc++fs and LLVM implementation
prior to LLVM 9.0 requires linking with -lc++fs.
- wtf/StdFilesystem.cpp: Removed.
- wtf/StdFilesystem.h:
Drop our own copy of std::filesystem as all the operating system we support now have
support for this.
Tools:
Add API test coverage for the FileSystem API that was modified.
- TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::FileSystemTest::tempFilePath const):
(TestWebKitAPI::FileSystemTest::tempFileSymlinkPath const):
(TestWebKitAPI::FileSystemTest::tempEmptyFolderPath const):
(TestWebKitAPI::FileSystemTest::tempEmptyFolderSymlinkPath const):
(TestWebKitAPI::FileSystemTest::tempEmptyFilePath const):
(TestWebKitAPI::FileSystemTest::spaceContainingFilePath const):
(TestWebKitAPI::FileSystemTest::bangContainingFilePath const):
(TestWebKitAPI::FileSystemTest::quoteContainingFilePath const):
(TestWebKitAPI::TEST_F):
- 6:32 PM Changeset in webkit [276878] by
-
- 2 edits in trunk/Tools
start-local-buildbot-server should fail gracefully for Python 2
https://bugs.webkit.org/show_bug.cgi?id=225268
Reviewed by Alexey Proskuryakov.
- CISupport/start-local-buildbot-server:
- 1:40 PM Changeset in webkit [276877] by
-
- 27 edits in trunk
Update operations in CanvasImageData.idl to use long rather than float as per spec
https://bugs.webkit.org/show_bug.cgi?id=225263
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- canvas/2d.imageData.create2.tiny-expected.txt:
- canvas/2d.imageData.get.tiny-expected.txt:
Update results, which now don't pass, to match the spec behavior.
- web-platform-tests/html/canvas/element/pixel-manipulation/2d.imageData.create2.double-expected.txt:
- web-platform-tests/html/canvas/element/pixel-manipulation/2d.imageData.create2.zero-expected.txt:
- web-platform-tests/html/canvas/element/pixel-manipulation/2d.imageData.get.double-expected.txt:
- web-platform-tests/html/canvas/element/pixel-manipulation/2d.imageData.get.large.crash-expected.txt:
- web-platform-tests/html/canvas/element/pixel-manipulation/2d.imageData.get.rounding-expected.txt:
- web-platform-tests/html/canvas/element/pixel-manipulation/2d.imageData.get.zero-expected.txt:
Update results, which now pass!
Source/WebCore:
Use
[EnforceRange] long
to match the current HTML spec.
- html/canvas/CanvasImageData.idl:
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::createImageData const):
(WebCore::CanvasRenderingContext2DBase::getImageData const):
(WebCore::CanvasRenderingContext2DBase::putImageData):
- html/canvas/CanvasRenderingContext2DBase.h:
LayoutTests:
- canvas/philip/tests/2d.imageData.create2.tiny-expected.txt:
- canvas/philip/tests/2d.imageData.get.tiny-expected.txt:
Update results, which now don't pass, to match the spec behavior.
- fast/canvas/canvas-2d-imageData-create-nonfinite-expected.txt:
- fast/canvas/canvas-crash.html:
- fast/canvas/canvas-getImageData-invalid-expected.txt:
- fast/canvas/canvas-getImageData-invalid-result-buffer-crash.html:
- fast/canvas/canvas-getImageData-invalid.html:
- fast/canvas/canvas-getImageData-large-crash-expected.txt:
- fast/canvas/canvas-getImageData-rounding-expected.txt:
- fast/canvas/canvas-getImageData-rounding.html:
- fast/canvas/canvas-putImageData-expected.txt:
- fast/canvas/canvas-putImageData.js:
- fast/canvas/resources/canvas-2d-imageData-create-nonfinite.js:
Update tests and results to match spec behavior.
- 12:55 PM Changeset in webkit [276876] by
-
- 5 edits49 copies4 moves7 adds4 deletes in trunk/Source/WebCore
[LFC] Move formatting contexts to layout/formattingContexts directory
https://bugs.webkit.org/show_bug.cgi?id=225270
Reviewed by Antti Koivisto.
- CMakeLists.txt:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- 11:06 AM Changeset in webkit [276875] by
-
- 17 edits in trunk/Source
Make destination color space enumeration match supported destination color spaces for the port
https://bugs.webkit.org/show_bug.cgi?id=225237
Reviewed by Simon Fraser.
Add ENABLE_DESTINATION_COLOR_SPACE_LINEAR_SRGB and enabled it for all ports
except the Apple Windows port, which is the only one doesn't have any support
for it.
Source/WebCore:
Removes existing behavior of returning SRGB when LinearSRGB was requested in
the Apple Windows port. Now, the callers are responisble for dealing with a
ports lack of support of LinearSRGB, making it very clear at those call sites
that something is different and wrong.
- platform/graphics/Color.cpp:
- platform/graphics/Color.h:
- platform/graphics/ColorConversion.cpp:
- platform/graphics/ColorConversion.h:
Add new functions to perform color conversion to and from an color space
denoted by the ColorSpace or DestinationColorSpace enum. Previously, we
only had convient ways to convert if the color was strongly typed (and this
is implemented using that mechanism). This is useful when converting for
final ouput, such in as the caller in FELighting::drawLighting.
- platform/graphics/cg/ColorSpaceCG.h:
- platform/graphics/ColorSpace.cpp:
- platform/graphics/ColorSpace.h:
- platform/graphics/filters/FELighting.cpp:
- platform/graphics/filters/FilterEffect.h:
- rendering/CSSFilter.cpp:
- rendering/svg/RenderSVGResourceFilter.cpp:
- rendering/svg/RenderSVGResourceMasker.cpp:
Wrap uses of DestinationColorSpace::LinearSRGB in ENABLE(DESTINATION_COLOR_SPACE_LINEAR_SRGB).
Source/WTF:
- wtf/PlatformEnable.h:
- wtf/PlatformEnableCocoa.h:
- wtf/PlatformEnableWinApple.h:
- 10:15 AM Changeset in webkit [276874] by
-
- 6 edits in trunk/Source/WebCore
Generated JS bindings for JSValue -> IDL dictionary don't take into account runtime settings
https://bugs.webkit.org/show_bug.cgi?id=225271
Reviewed by Alexey Shvayka.
While we did account for Settings/RuntimeEnabledFeatures/etc when converting from a
dictionary to a JSValue, we forgot to add code to skip trying to read the properties
in on ingestion.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent):
Match convertDictionaryToJS and add guard + indent if the property has a runtime flag.
- bindings/scripts/test/JS/JSTestDerivedDictionary.cpp:
(WebCore::convertDictionary<TestDerivedDictionary>):
- bindings/scripts/test/JS/JSTestDerivedDictionary2.cpp:
(WebCore::convertDictionary<TestDerivedDictionary2::Dictionary>):
- bindings/scripts/test/JS/JSTestInheritedDictionary.cpp:
(WebCore::convertDictionary<TestInheritedDictionary>):
- bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp:
(WebCore::convertDictionary<DictionaryImplName>):
Update test results.
- 6:27 AM Changeset in webkit [276873] by
-
- 2 edits in trunk/Tools
Disable search engine crawling on build.webkit.org webpages
https://bugs.webkit.org/show_bug.cgi?id=225252
Reviewed by Jonathan Bedard.
Referencec: https://developers.google.com/search/docs/advanced/robots/create-robots-txt
- CISupport/build-webkit-org/public_html/robots.txt:
- 5:54 AM Changeset in webkit [276872] by
-
- 3 edits2 adds in trunk
[RenderTreeBuilder] Reset the "children inline" state when merging anonymous table boxes
https://bugs.webkit.org/show_bug.cgi?id=225266
<rdar://77327951>
Reviewed by Simon Fraser.
Source/WebCore:
This patch fixes the case when we end up moving block level boxes to an anonymous table box (cell, row) which previously
had inline level boxes only (it happens when the destination ("to") table box has no in-flow children).
Test: fast/table/merge-anonymous-table-cells-with-block-children.html
- rendering/updating/RenderTreeBuilderTable.cpp:
(WebCore::RenderTreeBuilder::Table::collapseAndDetachAnonymousNextSibling):
LayoutTests:
- fast/table/merge-anonymous-table-cells-with-block-children-expected.txt: Added.
- fast/table/merge-anonymous-table-cells-with-block-children.html: Added.