Bug 159450 - REGRESSION(r200769): animations are no longer overridden
Summary: REGRESSION(r200769): animations are no longer overridden
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Animations (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Dean Jackson
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2016-07-05 19:27 PDT by Dean Jackson
Modified: 2016-07-16 23:38 PDT (History)
10 users (show)

See Also:


Attachments
Demo (490 bytes, text/html)
2016-07-05 19:33 PDT, Ryosuke Niwa
no flags Details
test (500 bytes, text/html)
2016-07-05 19:42 PDT, Dean Jackson
no flags Details
Reduction for AMP (569 bytes, text/html)
2016-07-05 20:05 PDT, Ryosuke Niwa
no flags Details
Patch (8.09 KB, patch)
2016-07-06 19:41 PDT, Dean Jackson
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews101 for mac-yosemite (807.18 KB, application/zip)
2016-07-06 20:28 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews107 for mac-yosemite-wk2 (875.06 KB, application/zip)
2016-07-06 20:32 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews116 for mac-yosemite (1.44 MB, application/zip)
2016-07-06 20:38 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews124 for ios-simulator-wk2 (658.48 KB, application/zip)
2016-07-06 20:39 PDT, Build Bot
no flags Details
Patch (9.92 KB, patch)
2016-07-07 17:09 PDT, Dean Jackson
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dean Jackson 2016-07-05 19:27:04 PDT
https://trac.webkit.org/changeset/200769 has introduced a regression on AMP content.

Making a test case now.
Comment 1 Radar WebKit Bug Importer 2016-07-05 19:27:20 PDT
<rdar://problem/27188180>
Comment 2 Ryosuke Niwa 2016-07-05 19:31:02 PDT
The problem appears to the code change in MutableStyleProperties::setProperty.  We’re no longer overriding prefixing variant, and this manifests in 8s animation of the content being visiblity: hidden not be overriden.

Effectively, AMP has the following rules:
body {
    -webkit-animation: -amp-start 8s steps(1,end) 0s 1 normal both;
    animation: -amp-start 8s steps(1,end) 0s 1 normal both;
}

body {
    animation: none;
}

And animation: none is no longer taking effect so we’re delayin the display of contenets for 8s now.
Comment 3 Ryosuke Niwa 2016-07-05 19:31:45 PDT
<rdar://problem/27120570>
Comment 4 Ryosuke Niwa 2016-07-05 19:33:06 PDT
Created attachment 282841 [details]
Demo
Comment 5 Dean Jackson 2016-07-05 19:41:59 PDT
<rdar://problem/27120570>
Comment 6 Dean Jackson 2016-07-05 19:42:35 PDT
Created attachment 282843 [details]
test
Comment 7 Ryosuke Niwa 2016-07-05 19:45:05 PDT
e.g. http://www.macrumors.com/2016/06/30/apple-tidal-acquisition-talks/amp/ and https://ampbyexample.com takes 8s to load :(
Comment 8 Ryosuke Niwa 2016-07-05 20:05:41 PDT
Created attachment 282845 [details]
Reduction for AMP
Comment 9 Ryosuke Niwa 2016-07-05 20:41:20 PDT
Hm... it looks like we might be confusing the style resolver here. Because "animation: none" doesn't set -webkit-animation-*, the earlier values of -webkit-animation-* are persisting.  We might need to teach the style resolver to ignore prefixed properties when unprefixed properties are specified.
Comment 10 Dean Jackson 2016-07-06 19:41:40 PDT
Created attachment 282982 [details]
Patch
Comment 11 WebKit Commit Bot 2016-07-06 19:43:12 PDT
Attachment 282982 [details] did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:9:  You should remove the 'No new tests' and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 12 Build Bot 2016-07-06 20:28:55 PDT
Comment on attachment 282982 [details]
Patch

Attachment 282982 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/1638872

New failing tests:
transitions/transitions-parsing.html
animations/animation-shorthand-removed.html
fast/css/shorthand-omitted-initial-value-overrides-shorthand.html
Comment 13 Build Bot 2016-07-06 20:28:59 PDT
Created attachment 282984 [details]
Archive of layout-test-results from ews101 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-yosemite  Platform: Mac OS X 10.10.5
Comment 14 Build Bot 2016-07-06 20:32:18 PDT
Comment on attachment 282982 [details]
Patch

Attachment 282982 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/1638876

New failing tests:
animations/animation-shorthand-removed.html
fast/css/shorthand-omitted-initial-value-overrides-shorthand.html
transitions/transitions-parsing.html
Comment 15 Build Bot 2016-07-06 20:32:22 PDT
Created attachment 282985 [details]
Archive of layout-test-results from ews107 for mac-yosemite-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews107  Port: mac-yosemite-wk2  Platform: Mac OS X 10.10.5
Comment 16 Build Bot 2016-07-06 20:38:26 PDT
Comment on attachment 282982 [details]
Patch

Attachment 282982 [details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/1638878

New failing tests:
transitions/transitions-parsing.html
animations/animation-shorthand-removed.html
fast/css/shorthand-omitted-initial-value-overrides-shorthand.html
Comment 17 Build Bot 2016-07-06 20:38:30 PDT
Created attachment 282986 [details]
Archive of layout-test-results from ews116 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews116  Port: mac-yosemite  Platform: Mac OS X 10.10.5
Comment 18 Build Bot 2016-07-06 20:39:33 PDT
Comment on attachment 282982 [details]
Patch

Attachment 282982 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/1638884

New failing tests:
transitions/transitions-parsing.html
animations/animation-shorthand-removed.html
fast/css/shorthand-omitted-initial-value-overrides-shorthand.html
Comment 19 Build Bot 2016-07-06 20:39:37 PDT
Created attachment 282987 [details]
Archive of layout-test-results from ews124 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews124  Port: ios-simulator-wk2  Platform: Mac OS X 10.11.4
Comment 20 Dean Jackson 2016-07-07 17:09:15 PDT
Created attachment 283093 [details]
Patch
Comment 21 Dean Jackson 2016-07-07 17:21:49 PDT
Committed r202950: <http://trac.webkit.org/changeset/202950>
Comment 22 Antti Koivisto 2016-07-07 17:27:50 PDT
Comment on attachment 283093 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=283093&action=review

> Source/WebCore/css/CSSParser.cpp:3843
> +        // We can't use ShorthandScope here as we can already be inside one (e.g we are parsing CSSTransition).
> +        m_currentShorthand = prefixingVariantForPropertyId(m_currentShorthand);
> +        addProperty(prefixingVariant, WTFMove(value), important, implicit);
> +        m_currentShorthand = prefixingVariantForPropertyId(m_currentShorthand);

I don't understand this code. Why are we repeating the same operation before and after addProperty?

Also isn't the whole point of FooScopes that they can nest?
Comment 23 mitz 2016-07-16 23:38:33 PDT
(In reply to comment #21)
> Committed r202950: <http://trac.webkit.org/changeset/202950>

This caused bug 159861.