Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Animation using padding-block doesnt override set padding style #15738

Conversation

graouts
Copy link
Contributor

@graouts graouts commented Jul 11, 2023

f438e85

Animation using padding-block doesnt override set padding style
https://bugs.webkit.org/show_bug.cgi?id=258813
rdar://112023856

Reviewed by Tim Nguyen.

We did not support animating the padding-block shorthand. To do so we must do two things:

1. in CSSPropertyAnimation.cpp we must actually mark that shorthand as animatable.
2. in transitionMatchesProperty() we must support the possibility that a property
   is a shorthand for logical properties.

I suppose we could make transitionMatchesProperty() re-entrant in some way such that shorthands
of shorthands could also work, but this will do for now.

We also add animation support for padding-inline since it's a closely-related shorthand.

* LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/padding-block-interpolation-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/padding-block-interpolation.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/padding-inline-interpolation-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/padding-inline-interpolation.html: Added.
* Source/WebCore/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
* Source/WebCore/style/Styleable.cpp:
(WebCore::transitionMatchesProperty):

Canonical link: https://commits.webkit.org/265956@main

d83ab18

Misc iOS, tvOS & watchOS macOS Linux Windows
✅ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe ✅ 🛠 wincairo
✅ 🧪 bindings ✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug ✅ 🧪 wpe-wk2
✅ 🧪 webkitperl ✅ 🧪 ios-wk2 ✅ 🧪 api-mac ✅ 🛠 gtk
✅ 🧪 ios-wk2-wpt ✅ 🧪 mac-wk1 🧪 gtk-wk2
✅ 🧪 api-ios ✅ 🧪 mac-wk2 ✅ 🧪 api-gtk
✅ 🛠 tv ✅ 🧪 mac-AS-debug-wk2
✅ 🛠 tv-sim ✅ 🧪 mac-wk2-stress
✅ 🛠 watch
✅ 🛠 🧪 unsafe-merge ✅ 🛠 watch-sim

@graouts graouts self-assigned this Jul 11, 2023
@graouts graouts added the Animations Bugs related to CSS + SVG animations and transitions label Jul 11, 2023
@graouts graouts requested a review from anttijk July 11, 2023 13:42
@graouts graouts force-pushed the bug-258813-padding-block-animation-support branch from 0627ebc to abab906 Compare July 11, 2023 13:44
@graouts graouts force-pushed the bug-258813-padding-block-animation-support branch from abab906 to d83ab18 Compare July 11, 2023 16:54
https://bugs.webkit.org/show_bug.cgi?id=259078
rdar://97212284

Reviewed by Brent Fulgham.

I checked several apps:
1. MobileSafari
2. SafariViewController in App A
3. SafariViewController in App B
4. WKWebView in App C

I printed the database paths in these 4 apps for:
1. IndexedDB
2. LocalStorage
3. ITP

In all cases, the database paths were distinct (not shared between apps).
As a result, it should be safe to suspend while any of these 3 database
files are locked. No other process should access it while we're suspended.

For these 3 database files, I now use the `com.apple.runningboard.can-suspend-locked`
file attribute to allow suspension while locked instead of killing the
process.

* Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
* Source/WebCore/platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::open):
* Source/WebCore/platform/sql/SQLiteDatabase.h:
(WebCore::SQLiteDatabase::open):
* Source/WebKit/NetworkProcess/DatabaseUtilities.cpp:
(WebKit::DatabaseUtilities::openDatabaseAndCreateSchemaIfNecessary):
* Source/WebKit/NetworkProcess/storage/SQLiteStorageArea.cpp:
(WebKit::SQLiteStorageArea::prepareDatabase):

Canonical link: https://commits.webkit.org/265951@main
@graouts graouts requested a review from nt1m July 11, 2023 16:55
youennf and others added 4 commits July 11, 2023 10:27
https://bugs.webkit.org/show_bug.cgi?id=259058
rdar://112018159

Reviewed by Tim Nguyen and Eric Carlson.

Skipping HEVC tests until we have proper support.

* LayoutTests/TestExpectations:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/README.md:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/encoded-video-chunk.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/encoded-video-chunk.any.js:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/encoded-video-chunk.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.html:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.js:
(promise_setup.async const):
(promise_setup):
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.worker.html:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.worker_h265_annexb-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.worker_h265_hevc-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any_h265_annexb-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any_h265_hevc-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/h265.annexb: Added.
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/h265.mp4: Added.
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any.html:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any.js:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any.worker.html:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any.worker_h265_annexb-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any.worker_h265_hevc-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any_h265_annexb-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any_h265_hevc-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.any.js:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/w3c-import.log:
* LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.any-expected.txt:

Canonical link: https://commits.webkit.org/265952@main
…e may overflow unexpectedly

https://bugs.webkit.org/show_bug.cgi?id=259110

Reviewed by Antti Koivisto.

This code incorrectly assumed 0 as empty hash map value for float type (while it is inf).

It causes the available space grow infinite when not all (nested) inline-boxes have
the decoration-break property set (e.g. <span class=has_decoration_break><span>some content here</span></span>)
as the inner inline-box is not in the hashmap (and inlineBoxListWithClonedDecorationEnd.get() returns inf).

* LayoutTests/fast/inline/nested-inline-boxes-with-decoration-clone-expected.html: Added.
* LayoutTests/fast/inline/nested-inline-boxes-with-decoration-clone.html: Added.
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::availableWidth):

Canonical link: https://commits.webkit.org/265953@main
https://bugs.webkit.org/show_bug.cgi?id=259114
rdar://112087736

Reviewed by Aakash Jain.

* Tools/Scripts/upload-file-to-url: Import webkitpy to enable autoinstaller.

Canonical link: https://commits.webkit.org/265954@main
https://bugs.webkit.org/show_bug.cgi?id=259116

Reviewed by Nikolas Zimmermann.

This env var is more clear in its purpose. WKDEV_SDK was used
by another script but was never an ideal choice.

* Tools/Scripts/webkitdirs.pm:
(shouldUseFlatpak):

Canonical link: https://commits.webkit.org/265955@main
@graouts graouts added the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Jul 11, 2023
https://bugs.webkit.org/show_bug.cgi?id=258813
rdar://112023856

Reviewed by Tim Nguyen.

We did not support animating the padding-block shorthand. To do so we must do two things:

1. in CSSPropertyAnimation.cpp we must actually mark that shorthand as animatable.
2. in transitionMatchesProperty() we must support the possibility that a property
   is a shorthand for logical properties.

I suppose we could make transitionMatchesProperty() re-entrant in some way such that shorthands
of shorthands could also work, but this will do for now.

We also add animation support for padding-inline since it's a closely-related shorthand.

* LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/padding-block-interpolation-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/padding-block-interpolation.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/padding-inline-interpolation-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/padding-inline-interpolation.html: Added.
* Source/WebCore/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
* Source/WebCore/style/Styleable.cpp:
(WebCore::transitionMatchesProperty):

Canonical link: https://commits.webkit.org/265956@main
@webkit-commit-queue
Copy link
Collaborator

Committed 265956@main (f438e85): https://commits.webkit.org/265956@main

Reviewed commits have been landed. Closing PR #15738 and removing active labels.

@webkit-commit-queue webkit-commit-queue removed the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Jul 11, 2023
@webkit-commit-queue webkit-commit-queue merged commit f438e85 into WebKit:main Jul 11, 2023
@graouts graouts deleted the bug-258813-padding-block-animation-support branch July 11, 2023 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Animations Bugs related to CSS + SVG animations and transitions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants