New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 772772 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit 21 days ago
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac , Fuchsia
Pri: 3
Type: Bug



Sign in to add a comment

Serialized style has initial for longhands omitted from shorthand

Project Member Reported by ericwilligers@chromium.org, Oct 9 2017

Issue description

See 'Ambiguous shorthand values test' in transitions/transitions-parsing.html

  style.transition = "ease";
  assert_equals(style.transitionProperty, 'all');

fails: expected "all" but got "initial"

 
Components: -Blink>Animation Blink>CSS
Summary: Serialized style has initial for longhands omitted from shorthand (was: CSS Transitions: fails to parse potentially ambiguous shorthand)
This is more general, it affects other shorthands too.

document.body.style.outline = 'red';
document.body.style.outlineWidth
  "medium" in Firefox
  "initial" in Blink

Chrome, Safari:
- initial

Edge, Firefox:
- all

Browsers agree on the computed value (all, i.e. the longhand's initial value).


https://drafts.csswg.org/css-cascade/#shorthand
When values are omitted from a shorthand form, unless otherwise defined, each “missing” sub-property is assigned its initial value.

where "initial value" links to: 

https://drafts.csswg.org/css-cascade/#initial-value
Each property has an initial value, defined in the property’s definition table.

Labels: Code-Parser ApproachableBug
Labels: -Update-Quarterly
Project Member

Comment 5 by bugdroid1@chromium.org, Apr 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fc5e023b4b8ffa25a611c7181eda449f8fa4e896

commit fc5e023b4b8ffa25a611c7181eda449f8fa4e896
Author: Rob Buis <rob.buis@samsung.com>
Date: Mon Apr 16 23:12:47 2018

Make animation/transition use real initial values for its longhands

Make animation/transition use real initial values for its longhands, instead
of just "initial". In order to support this add a method InitialValue to
the Longhand class and implement it for every longhand that is part
of the animation or transition shorthand.

Behavior matches Firefox.

Bug:  386459 ,  772772 

Change-Id: I102107e8cb9ef0682c01c1156ec926dbb419c49c
Reviewed-on: https://chromium-review.googlesource.com/986502
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Rob Buis <rob.buis@samsung.com>
Cr-Commit-Position: refs/heads/master@{#551163}
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/WebKit/LayoutTests/animations/animations-csstext.html
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/WebKit/LayoutTests/animations/animations-parsing-005.html
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/WebKit/LayoutTests/fast/css/shorthand-mismatched-list-crash-expected.txt
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/WebKit/LayoutTests/fast/css/shorthand-mismatched-list-crash.html
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/WebKit/LayoutTests/fast/css/transform-inline-style-expected.txt
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/WebKit/LayoutTests/fast/css/transform-inline-style-remove-expected.txt
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/WebKit/LayoutTests/http/tests/devtools/elements/styles-4/styles-keyframes-expected.txt
[delete] https://crrev.com/dcb058f1067a04bb70b41ad66b4de5f48909b3e0/third_party/WebKit/LayoutTests/transitions/transitions-parsing-005-expected.txt
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/WebKit/LayoutTests/transitions/transitions-parsing-005.html
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/CSSProperties.json5
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/CSSPropertyMethods.json5
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhand.h
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/animation_delay_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/animation_direction_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/animation_duration_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/animation_fill_mode_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/animation_iteration_count_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/animation_name_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/animation_play_state_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/animation_timing_function_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/transition_delay_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/transition_duration_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/transition_property_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/transition_timing_function_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/resolver/css_to_style_map.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fc5e023b4b8ffa25a611c7181eda449f8fa4e896

commit fc5e023b4b8ffa25a611c7181eda449f8fa4e896
Author: Rob Buis <rob.buis@samsung.com>
Date: Mon Apr 16 23:12:47 2018

Make animation/transition use real initial values for its longhands

Make animation/transition use real initial values for its longhands, instead
of just "initial". In order to support this add a method InitialValue to
the Longhand class and implement it for every longhand that is part
of the animation or transition shorthand.

Behavior matches Firefox.

Bug:  386459 ,  772772 

Change-Id: I102107e8cb9ef0682c01c1156ec926dbb419c49c
Reviewed-on: https://chromium-review.googlesource.com/986502
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Rob Buis <rob.buis@samsung.com>
Cr-Commit-Position: refs/heads/master@{#551163}
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/WebKit/LayoutTests/animations/animations-csstext.html
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/WebKit/LayoutTests/animations/animations-parsing-005.html
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/WebKit/LayoutTests/fast/css/shorthand-mismatched-list-crash-expected.txt
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/WebKit/LayoutTests/fast/css/shorthand-mismatched-list-crash.html
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/WebKit/LayoutTests/fast/css/transform-inline-style-expected.txt
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/WebKit/LayoutTests/fast/css/transform-inline-style-remove-expected.txt
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/WebKit/LayoutTests/http/tests/devtools/elements/styles-4/styles-keyframes-expected.txt
[delete] https://crrev.com/dcb058f1067a04bb70b41ad66b4de5f48909b3e0/third_party/WebKit/LayoutTests/transitions/transitions-parsing-005-expected.txt
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/WebKit/LayoutTests/transitions/transitions-parsing-005.html
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/CSSProperties.json5
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/CSSPropertyMethods.json5
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhand.h
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/animation_delay_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/animation_direction_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/animation_duration_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/animation_fill_mode_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/animation_iteration_count_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/animation_name_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/animation_play_state_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/animation_timing_function_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/transition_delay_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/transition_duration_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/transition_property_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/properties/longhands/transition_timing_function_custom.cc
[modify] https://crrev.com/fc5e023b4b8ffa25a611c7181eda449f8fa4e896/third_party/blink/renderer/core/css/resolver/css_to_style_map.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Apr 20 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fa1a40ae240b768f36d3a98ae028f4a35acc01e1

commit fa1a40ae240b768f36d3a98ae028f4a35acc01e1
Author: Rob Buis <rob.buis@samsung.com>
Date: Fri Apr 20 12:14:00 2018

Make border-image use real initial values for its longhands

Make border-image use real initial values for its longhands, instead
of just "initial".

Note that this fixes the problems left by r551310.

Behavior matches Firefox.

Bug:  825568 ,  772772 

Change-Id: Ic4eda9db5ec370059578ca87e1512fae5b373cbd
Reviewed-on: https://chromium-review.googlesource.com/1013806
Commit-Queue: Rob Buis <rob.buis@samsung.com>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#552306}
[delete] https://crrev.com/0d41b261e10706d8eed652f198778864401b5ae0/third_party/WebKit/LayoutTests/external/wpt/css/css-backgrounds/parsing/border-image-valid-expected.txt
[modify] https://crrev.com/fa1a40ae240b768f36d3a98ae028f4a35acc01e1/third_party/WebKit/LayoutTests/external/wpt/css/css-backgrounds/parsing/border-image-valid.html
[modify] https://crrev.com/fa1a40ae240b768f36d3a98ae028f4a35acc01e1/third_party/WebKit/LayoutTests/fast/css/border-image-shorthand-initialize-longhands.html
[modify] https://crrev.com/fa1a40ae240b768f36d3a98ae028f4a35acc01e1/third_party/WebKit/LayoutTests/fast/css/border-image-value-grammar-expected.txt
[modify] https://crrev.com/fa1a40ae240b768f36d3a98ae028f4a35acc01e1/third_party/WebKit/LayoutTests/fast/css/border-image-value-grammar.html
[modify] https://crrev.com/fa1a40ae240b768f36d3a98ae028f4a35acc01e1/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-border-image-expected.txt
[modify] https://crrev.com/fa1a40ae240b768f36d3a98ae028f4a35acc01e1/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-border-image.html
[modify] https://crrev.com/fa1a40ae240b768f36d3a98ae028f4a35acc01e1/third_party/WebKit/LayoutTests/fast/css/parse-border-image-repeat-null-crash-expected.txt
[modify] https://crrev.com/fa1a40ae240b768f36d3a98ae028f4a35acc01e1/third_party/blink/renderer/core/css/CSSProperties.json5
[modify] https://crrev.com/fa1a40ae240b768f36d3a98ae028f4a35acc01e1/third_party/blink/renderer/core/css/properties/longhands/border_image_outset_custom.cc
[modify] https://crrev.com/fa1a40ae240b768f36d3a98ae028f4a35acc01e1/third_party/blink/renderer/core/css/properties/longhands/border_image_repeat_custom.cc
[modify] https://crrev.com/fa1a40ae240b768f36d3a98ae028f4a35acc01e1/third_party/blink/renderer/core/css/properties/longhands/border_image_slice_custom.cc
[modify] https://crrev.com/fa1a40ae240b768f36d3a98ae028f4a35acc01e1/third_party/blink/renderer/core/css/properties/longhands/border_image_source_custom.cc
[modify] https://crrev.com/fa1a40ae240b768f36d3a98ae028f4a35acc01e1/third_party/blink/renderer/core/css/properties/longhands/border_image_width_custom.cc
[modify] https://crrev.com/fa1a40ae240b768f36d3a98ae028f4a35acc01e1/third_party/blink/renderer/core/css/properties/shorthands/border_image_custom.cc
[modify] https://crrev.com/fa1a40ae240b768f36d3a98ae028f4a35acc01e1/third_party/blink/renderer/core/css/style_property_serializer.cc

Comment 8 by rwlb...@gmail.com, May 7 2018

Owner: rob.buis@chromium.org
Status: Assigned (was: Available)

Comment 9 by rb...@igalia.com, May 8 2018

Owner: rb...@igalia.com

Comment 10 by e...@chromium.org, Jun 28 2018

Status: Fixed (was: Assigned)
Marking as fixed as per comment 7.

Sign in to add a comment