New issue
Advanced search Search tips

Issue 752745 link

Starred by 3 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task

Blocking:
issue 668012



Sign in to add a comment

Don't use CSSPropertyID for CSS descriptors

Project Member Reported by rjwright@chromium.org, Aug 5 2017

Issue description

Parts of the CSS engine use CSSPropertyIDs to identify CSS descriptors

(e.g. see the

name: "width"

entry in https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/css/CSSProperties.json5).

CSS descriptors are often handled similarly to CSS properties, but a descriptor and a property with the same name (e.g. width) are not the same entity. Descriptors are values given to at-rules. Having them share a CSSPropertyID is confusing and could lead to errors.
 
Description: Show this description
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 7 2017

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

commit e6f54b66953e30e4c07a9f30a226a9da71037307
Author: Alan Cutter <alancutter@chromium.org>
Date: Mon Aug 07 03:38:13 2017

Update CSSProperyID descriptor TODO to point to crbug.com/752745

Bug: 752745
Change-Id: Ieef2d9cb8891f18fff025714f66597449cb61c76
Reviewed-on: https://chromium-review.googlesource.com/602092
Reviewed-by: Renée Wright <rjwright@chromium.org>
Commit-Queue: Renée Wright <rjwright@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492262}
[modify] https://crrev.com/e6f54b66953e30e4c07a9f30a226a9da71037307/third_party/WebKit/Source/core/css/CSSProperties.json5

Cc: bugsnash@chromium.org

Comment 4 by meade@chromium.org, Oct 19 2017

Owner: meade@chromium.org
Status: Assigned (was: Available)
Project Member

Comment 5 by bugdroid1@chromium.org, Nov 6 2017

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

commit fbc8ea4b69a6bb6c1ae8c1169130d31ee1a970d2
Author: Eddy Mead <meade@chromium.org>
Date: Mon Nov 06 05:44:57 2017

Move CSSPropertyNames.cpp template into a jinja template file

This will help us eventually move gperf code into a common location.

Diff between string template and jinja template:
https://www.diffchecker.com/086dDizU

Bug: 752745
Change-Id: I2b278ff4be26331ab074eee294a92a1635ed7bc6
Reviewed-on: https://chromium-review.googlesource.com/750441
Commit-Queue: meade_UTC10 <meade@chromium.org>
Reviewed-by: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514092}
[modify] https://crrev.com/fbc8ea4b69a6bb6c1ae8c1169130d31ee1a970d2/third_party/WebKit/Source/build/scripts/make_css_property_names.py
[add] https://crrev.com/fbc8ea4b69a6bb6c1ae8c1169130d31ee1a970d2/third_party/WebKit/Source/build/scripts/templates/CSSPropertyNames.cpp.tmpl
[modify] https://crrev.com/fbc8ea4b69a6bb6c1ae8c1169130d31ee1a970d2/third_party/WebKit/Source/core/BUILD.gn

Project Member

Comment 6 by bugdroid1@chromium.org, Nov 6 2017

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

commit 8c187aca591375ac9e0b795d497b3f2ccfe2b6cf
Author: Eddy Mead <meade@chromium.org>
Date: Mon Nov 06 08:39:07 2017

Move jinja-gperf template expansion into gperf.py

Bug: 752745
Change-Id: Ide15412e8bb8397ca40e3b238c6eec56abb84c1a
Reviewed-on: https://chromium-review.googlesource.com/750483
Commit-Queue: meade_UTC10 <meade@chromium.org>
Reviewed-by: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514099}
[modify] https://crrev.com/8c187aca591375ac9e0b795d497b3f2ccfe2b6cf/third_party/WebKit/Source/build/scripts/gperf.py
[modify] https://crrev.com/8c187aca591375ac9e0b795d497b3f2ccfe2b6cf/third_party/WebKit/Source/build/scripts/make_css_property_names.py

Comment 8 by meade@chromium.org, Nov 22 2017

Blocking: 668012
Project Member

Comment 9 by bugdroid1@chromium.org, Dec 5 2017

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

commit 0ec0451c51ef1dfb026b5cba65eb2e8af3277810
Author: Eddy Mead <meade@chromium.org>
Date: Tue Dec 05 09:17:48 2017

Use new AtRuleDescriptorID instead of CSSPropertyID for @font-face

This CL:
- creates a new generator that creates AtRuleDescriptors.h/cpp
in a very similar way to CSSPropertyNames.h/cpp.
- creates a new "AtRuleDescriptorParser" to hold all the @rule parsing
logic.
- creates a new method in CSSParserToken that parses it as an
AtRuleDescriptorID.
- adds new templated methods in CSSPropertyValueSet to handle
AtRuleDescriptorIDs.
- updates the relevant parsing methods

For now, descriptors appear both as AtRuleDescriptorIDs and in
CSSPropertyID. This means I don't need to refactor CSSPropertyValueSet
yet.

Bug: 752745
Change-Id: I81df46b43cdac0835c918764254834873d45591f
Reviewed-on: https://chromium-review.googlesource.com/754762
Commit-Queue: meade_UTC10 <meade@chromium.org>
Reviewed-by: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521646}
[add] https://crrev.com/0ec0451c51ef1dfb026b5cba65eb2e8af3277810/third_party/WebKit/Source/build/scripts/core/css/parser/make_atrule_names.py
[add] https://crrev.com/0ec0451c51ef1dfb026b5cba65eb2e8af3277810/third_party/WebKit/Source/build/scripts/core/css/parser/templates/AtRuleDescriptors.cpp.tmpl
[add] https://crrev.com/0ec0451c51ef1dfb026b5cba65eb2e8af3277810/third_party/WebKit/Source/build/scripts/core/css/parser/templates/AtRuleDescriptors.h.tmpl
[modify] https://crrev.com/0ec0451c51ef1dfb026b5cba65eb2e8af3277810/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/0ec0451c51ef1dfb026b5cba65eb2e8af3277810/third_party/WebKit/Source/core/css/BUILD.gn
[modify] https://crrev.com/0ec0451c51ef1dfb026b5cba65eb2e8af3277810/third_party/WebKit/Source/core/css/CSSPropertyValueSet.cpp
[modify] https://crrev.com/0ec0451c51ef1dfb026b5cba65eb2e8af3277810/third_party/WebKit/Source/core/css/FontFace.cpp
[modify] https://crrev.com/0ec0451c51ef1dfb026b5cba65eb2e8af3277810/third_party/WebKit/Source/core/css/FontFace.h
[add] https://crrev.com/0ec0451c51ef1dfb026b5cba65eb2e8af3277810/third_party/WebKit/Source/core/css/parser/AtRuleDescriptorParser.cpp
[add] https://crrev.com/0ec0451c51ef1dfb026b5cba65eb2e8af3277810/third_party/WebKit/Source/core/css/parser/AtRuleDescriptorParser.h
[add] https://crrev.com/0ec0451c51ef1dfb026b5cba65eb2e8af3277810/third_party/WebKit/Source/core/css/parser/AtRuleNames.json5
[modify] https://crrev.com/0ec0451c51ef1dfb026b5cba65eb2e8af3277810/third_party/WebKit/Source/core/css/parser/CSSParserImpl.cpp
[modify] https://crrev.com/0ec0451c51ef1dfb026b5cba65eb2e8af3277810/third_party/WebKit/Source/core/css/parser/CSSParserToken.cpp
[modify] https://crrev.com/0ec0451c51ef1dfb026b5cba65eb2e8af3277810/third_party/WebKit/Source/core/css/parser/CSSParserToken.h
[modify] https://crrev.com/0ec0451c51ef1dfb026b5cba65eb2e8af3277810/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp

Labels: -Update-Quarterly
Project Member

Comment 11 by bugdroid1@chromium.org, Dec 7 2017

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

commit 951544c9d4f42ebae1262e91a03fe660e09146c5
Author: Eddy Mead <meade@chromium.org>
Date: Thu Dec 07 09:15:34 2017

Separate out the four classes contained in CSSPropertyValueSet.h into four different files

Bug: 752745
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I43c650c37c33cb92d500e5e82d437f24faf6287a
Reviewed-on: https://chromium-review.googlesource.com/795515
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Eric Willigers <ericwilligers@chromium.org>
Reviewed-by: Bugs Nash <bugsnash@chromium.org>
Commit-Queue: meade_UTC10 <meade@chromium.org>
Cr-Commit-Position: refs/heads/master@{#522385}
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/animation/StringKeyframe.h
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/BUILD.gn
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/CSSCalculationValueTest.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/CSSPropertyValueSet.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/CSSPropertyValueSet.h
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/CSSSelectorWatch.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/FontFaceCacheTest.cpp
[add] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/ImmutableCSSPropertyValueSet.cpp
[add] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/ImmutableCSSPropertyValueSet.h
[add] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/MutableCSSPropertyValueSet.cpp
[add] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/MutableCSSPropertyValueSet.h
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/PropertySetCSSStyleDeclaration.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/StyleRule.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/StyleRule.h
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/cssom/InlineStylePropertyMap.cpp
[add] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/parser/CSSLazyPropertyParser.h
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/parser/CSSLazyPropertyParserImpl.h
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/parser/CSSParser.h
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/parser/CSSParserImpl.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/parser/CSSParserImpl.h
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/resolver/MatchResultTest.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/css/resolver/ViewportStyleResolver.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/dom/ElementData.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/dom/PresentationAttributeStyle.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/editing/EditingStyleTest.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/editing/Editor.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/editing/commands/ApplyStyleCommand.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/editing/commands/ApplyStyleCommandTest.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/editing/commands/EditorCommand.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/editing/commands/RemoveFormatCommand.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/editing/commands/ReplaceSelectionCommand.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/editing/serializers/StyledMarkupAccumulator.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/editing/serializers/StyledMarkupSerializer.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/html/HTMLElement.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/html/HTMLHRElement.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/html/HTMLPreElement.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/html/HTMLTableElement.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/html/HTMLTablePartElement.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/svg/SVGAnimateElement.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/core/svg/SVGElementRareData.cpp
[modify] https://crrev.com/951544c9d4f42ebae1262e91a03fe660e09146c5/third_party/WebKit/Source/modules/canvas/canvas2d/CanvasRenderingContext2D.cpp

Project Member

Comment 12 by bugdroid1@chromium.org, Dec 12 2017

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

commit aa9797217b7f06bb03dee3ca532b60c21703cc97
Author: Eddy Mead <meade@chromium.org>
Date: Tue Dec 12 08:43:52 2017

Remove unused code in AtRuleDescriptors generator template

Bug: 752745
Change-Id: Ia2e629af08666c101a5083980ab2345bc355ee6b
Reviewed-on: https://chromium-review.googlesource.com/821971
Reviewed-by: Renée Wright <rjwright@chromium.org>
Commit-Queue: meade_UTC10 <meade@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523376}
[modify] https://crrev.com/aa9797217b7f06bb03dee3ca532b60c21703cc97/third_party/WebKit/Source/build/scripts/core/css/parser/templates/AtRuleDescriptors.cpp.tmpl

Project Member

Comment 13 by bugdroid1@chromium.org, Dec 18 2017

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

commit cedfd986e1aba860a363c54e3367647b0ded5ec2
Author: Eric Willigers <ericwilligers@chromium.org>
Date: Mon Dec 18 00:52:27 2017

Revert "Separate out the four classes contained in CSSPropertyValueSet.h into four different files"

This reverts commit 951544c9d4f42ebae1262e91a03fe660e09146c5.

Reason for revert: Suspected performance regression.

Original change's description:
> Separate out the four classes contained in CSSPropertyValueSet.h into four different files
>
> Bug: 752745
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
> Change-Id: I43c650c37c33cb92d500e5e82d437f24faf6287a
> Reviewed-on: https://chromium-review.googlesource.com/795515
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Reviewed-by: Eric Willigers <ericwilligers@chromium.org>
> Reviewed-by: Bugs Nash <bugsnash@chromium.org>
> Commit-Queue: meade_UTC10 <meade@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#522385}

TBR=ericwilligers@chromium.org,haraken@chromium.org,senorblanco@chromium.org,meade@chromium.org,bugsnash@chromium.org
BUG= 794983 ,752745

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I2a5cd1bde00080ad50c963f09627dcbeab5c6ba8
Reviewed-on: https://chromium-review.googlesource.com/831372
Commit-Queue: Eric Willigers <ericwilligers@chromium.org>
Reviewed-by: Eric Willigers <ericwilligers@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524633}
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/animation/StringKeyframe.h
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/css/BUILD.gn
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/css/CSSCalculationValueTest.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/css/CSSPropertyValueSet.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/css/CSSPropertyValueSet.h
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/css/CSSSelectorWatch.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/css/FontFaceCacheTest.cpp
[delete] https://crrev.com/63d294e5ae654a7d82d3c47368e4149b4b485590/third_party/WebKit/Source/core/css/ImmutableCSSPropertyValueSet.cpp
[delete] https://crrev.com/63d294e5ae654a7d82d3c47368e4149b4b485590/third_party/WebKit/Source/core/css/ImmutableCSSPropertyValueSet.h
[delete] https://crrev.com/63d294e5ae654a7d82d3c47368e4149b4b485590/third_party/WebKit/Source/core/css/MutableCSSPropertyValueSet.cpp
[delete] https://crrev.com/63d294e5ae654a7d82d3c47368e4149b4b485590/third_party/WebKit/Source/core/css/MutableCSSPropertyValueSet.h
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/css/PropertySetCSSStyleDeclaration.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/css/StyleRule.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/css/StyleRule.h
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/css/cssom/InlineStylePropertyMap.cpp
[delete] https://crrev.com/63d294e5ae654a7d82d3c47368e4149b4b485590/third_party/WebKit/Source/core/css/parser/CSSLazyPropertyParser.h
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/css/parser/CSSLazyPropertyParserImpl.h
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/css/parser/CSSParser.h
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/css/parser/CSSParserImpl.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/css/parser/CSSParserImpl.h
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/css/resolver/MatchResultTest.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/css/resolver/ViewportStyleResolver.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/dom/ElementData.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/dom/PresentationAttributeStyle.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/editing/EditingStyleTest.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/editing/Editor.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/editing/commands/ApplyStyleCommand.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/editing/commands/ApplyStyleCommandTest.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/editing/commands/EditorCommand.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/editing/commands/RemoveFormatCommand.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/editing/commands/ReplaceSelectionCommand.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/editing/serializers/StyledMarkupAccumulator.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/editing/serializers/StyledMarkupSerializer.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/html/HTMLElement.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/html/HTMLHRElement.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/html/HTMLPreElement.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/html/HTMLTableElement.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/html/HTMLTablePartElement.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/svg/SVGAnimateElement.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/core/svg/SVGElementRareData.cpp
[modify] https://crrev.com/cedfd986e1aba860a363c54e3367647b0ded5ec2/third_party/WebKit/Source/modules/canvas/canvas2d/CanvasRenderingContext2D.cpp

Comment 14 by meade@chromium.org, Jan 18 2018

Owner: e...@chromium.org
Handing this over to eae for future work.

Here's the design doc for how this should work (there is 1 CL on the commit queue towards this atm): https://docs.google.com/document/d/17HcRxEIoad4XnA-AMY_9GbHCVOik9gEuHE_k788R8tU/edit
Project Member

Comment 15 by bugdroid1@chromium.org, Jan 18 2018

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

commit 4e4f284da26ddd29261853bad70a67848bb00539
Author: Eddy Mead <meade@chromium.org>
Date: Thu Jan 18 07:25:01 2018

Replace CSSPropertyValueSet in @font-face related objects with a new AtRuleDescriptorValueSet.

Adds:
- AtRuleDescriptorID -> String conversion.
- Hash functions for AtRuleDescriptorID so it can be used as the key for
a hash map.
- AtRuleCSSStyleDeclaration -> A subset of CSSStyleDeclaration used for
the FontFace.style.
attribute (spec: https://drafts.csswg.org/css-fonts-4/#om-fontface)
- A new serializer for @rules.
- Serialization round trip now requires the @font-face rule to have a
font-family name, requiring layout tests to be updated.
- Converted fast/css/font-face-src-escaped-parsing.html to use testharness.

Things left in temporary state to reduce size of CL:
- AtRuleCSSStyleDeclaration needs some methods that use CSSPropertyID to support
bindings and editing.
- AtRuleDescriptorValueSet::ParseDeclarationList still uses a temporary
CSSPropertyValueSet to avoid refactoring CSSParserImpl.

Generated code diff:
https://gist.github.com/wilddamon/78e9bb216bd04b94035147e4d0eaa414/revisions

Bug: 752745
Change-Id: I7fbcf90cabf4893e53923fb4f2ff32d95422f528
Reviewed-on: https://chromium-review.googlesource.com/813575
Reviewed-by: nainar <nainar@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Commit-Queue: meade_UTC10 <meade@chromium.org>
Cr-Commit-Position: refs/heads/master@{#530082}
[delete] https://crrev.com/f9801c7334fb6eb93dd609be8ed990ee231df8b4/third_party/WebKit/LayoutTests/css3/fonts/font-feature-settings-parsing-prefixed-expected.txt
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/LayoutTests/css3/fonts/font-feature-settings-parsing-prefixed.html
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/LayoutTests/fast/css/css-font-face-src-value-uri.html
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/LayoutTests/fast/css/font-face-src-escaped-parsing.html
[delete] https://crrev.com/f9801c7334fb6eb93dd609be8ed990ee231df8b4/third_party/WebKit/LayoutTests/fast/css/font-face-src-parsing-expected.txt
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/LayoutTests/fast/css/font-face-src-parsing.html
[add] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/LayoutTests/fast/css/font-face-style-attribute.html
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/LayoutTests/fast/css/fontface-cssText.html
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/build/scripts/core/css/parser/make_atrule_names.py
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/build/scripts/core/css/parser/templates/AtRuleDescriptors.cpp.tmpl
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/build/scripts/core/css/parser/templates/AtRuleDescriptors.h.tmpl
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/AbstractPropertySetCSSStyleDeclaration.h
[add] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/AtRuleCSSStyleDeclaration.cpp
[add] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/AtRuleCSSStyleDeclaration.h
[add] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/AtRuleDescriptorSerializer.cpp
[add] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/AtRuleDescriptorSerializer.h
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/BUILD.gn
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/CSSFontFaceRule.cpp
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/CSSFontFaceRule.h
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/CSSStyleDeclaration.h
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/FontFace.cpp
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/FontFace.h
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/FontFaceCacheTest.cpp
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/StyleAttributeMutationScope.cpp
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/StyleAttributeMutationScope.h
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/StyleRule.cpp
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/StyleRule.h
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/StyleSheetContents.cpp
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/parser/AtRuleDescriptorParser.cpp
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/parser/AtRuleDescriptorParser.h
[add] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/parser/AtRuleDescriptorValueSet.cpp
[add] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/parser/AtRuleDescriptorValueSet.h
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/css/parser/CSSParserImpl.cpp
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/frame/FrameSerializer.cpp
[modify] https://crrev.com/4e4f284da26ddd29261853bad70a67848bb00539/third_party/WebKit/Source/core/frame/FrameSerializer.h

Comment 16 by e...@chromium.org, Mar 5 2018

Cc: -meade@chromium.org -alancutter@chromium.org -bugsnash@chromium.org -rjwright@chromium.org e...@chromium.org futhark@chromium.org
Owner: ----
Status: Available (was: Assigned)

Sign in to add a comment