Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Starred by 3 users
Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Feature


Sign in to add a comment
Clean up and/or generate ComputedStyle
Project Member Reported by sashab@chromium.org, Jul 13 2016 Back to list
The ComputedStyle object provides an interface between style and the rest of the Blink engine. Right now it is a confusing mess of logic and data, with methods organized in an way that made sense 10 years ago when properties were few and WebKit supported multiple browsers but is no longer useful for developers. The current design makes it hard to reason about improvements to ComputedStyle and makes it easy to make mistakes since code and logic duplication is high. This is frustrating for developers and slows down innovation to our engine.

Cleaning up ComputedStyle involves a few ideas:
 1. Renaming methods and fields to conform to Blink's style guidelines
 2. Moving towards a property-centric design, with getters/setters sorted and organised by property
 3. Moving as much property logic out of ComputedStyle as possible, leaving just a highly-optimized container
 4. Finding a way to make ComputedStyle generic and generating field storage at compile or runtime
 5. Thinking of ways to optimize ComputedStyle for memory and inherited changes, e.g.:
    (a) Packing fields better
    (b) Data-driven field layout in memory (less pointer hops for more frequently accessed data, even a live cache)
    (c) Re-thinking style sharing to share pieces of ComputedStyle
    (d) Rather than storing the whole style, storing only diffs from a parent/ancestor element
    (e) Storing pointers to expressions as well as resolved values
    (f) Storing pointers to where a property was inherited from
    (g) Store the layout-dependent properties (for example) separately to the other properties
    (h) etc.

As a parallel goal, we should also aim to make ComputedStyle const after style resolution.

Other than 5, these should be mostly mechanical changes that make it easier to analyze and reason about ComputedStyle and pave the way to more complex optimizations and improvements.

Design doc: https://docs.google.com/document/d/1LcH2GAI_0_c4MtBUjYqcokQASXne-DFDy4fZ3Apy25I/edit#
 
Comment 1 by sashab@chromium.org, Jul 14 2016
Cc: meade@chromium.org
Comment 2 by sashab@chromium.org, Jul 15 2016
Cc: -bugsnash@chromium.org sashab@chromium.org
Owner: bugsnash@chromium.org
Oops, meant to assign this to bugs sorry. :)
Status: Assigned
Comment 4 by sashab@chromium.org, Jul 19 2016
Cc: -sashab@chromium.org bugsnash@chromium.org
Owner: sashab@chromium.org
Project Member Comment 5 by bugdroid1@chromium.org, Jul 29 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a64e4958441c43f0bafc5c71d54fd259589598b1

commit a64e4958441c43f0bafc5c71d54fd259589598b1
Author: sashab <sashab@chromium.org>
Date: Fri Jul 29 08:06:57 2016

Organize public ComputedStyle methods by property

Organized ComputedStyle public methods by property. This is part of a
larger effort to clean up ComputedStyle and ultimately generate it. Also
added a comment to the top of ComputedStyle explaining the new style, as
well as TODOs to classes used by ComputedStyle to merge their logic into
ComputedStyle.

BUG=628043

Review-Url: https://codereview.chromium.org/2174703002
Cr-Commit-Position: refs/heads/master@{#408603}

[modify] https://crrev.com/a64e4958441c43f0bafc5c71d54fd259589598b1/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/a64e4958441c43f0bafc5c71d54fd259589598b1/third_party/WebKit/Source/core/style/SVGComputedStyle.h
[modify] https://crrev.com/a64e4958441c43f0bafc5c71d54fd259589598b1/third_party/WebKit/Source/core/style/StyleBackgroundData.h
[modify] https://crrev.com/a64e4958441c43f0bafc5c71d54fd259589598b1/third_party/WebKit/Source/core/style/StyleBoxData.h
[modify] https://crrev.com/a64e4958441c43f0bafc5c71d54fd259589598b1/third_party/WebKit/Source/core/style/StyleInheritedData.h
[modify] https://crrev.com/a64e4958441c43f0bafc5c71d54fd259589598b1/third_party/WebKit/Source/core/style/StyleRareInheritedData.h
[modify] https://crrev.com/a64e4958441c43f0bafc5c71d54fd259589598b1/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.h
[modify] https://crrev.com/a64e4958441c43f0bafc5c71d54fd259589598b1/third_party/WebKit/Source/core/style/StyleSurroundData.h
[modify] https://crrev.com/a64e4958441c43f0bafc5c71d54fd259589598b1/third_party/WebKit/Source/core/style/StyleVisualData.h

Project Member Comment 6 by bugdroid1@chromium.org, Aug 9 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9418458ddfa80b213daa5357bfe21372dbd7565c

commit 9418458ddfa80b213daa5357bfe21372dbd7565c
Author: sashab <sashab@chromium.org>
Date: Tue Aug 09 23:56:31 2016

Changed ComputedStyle's EVisibility to be an enum class and fixed naming

Changed ComputedStyle's EVisibility to be an enum class and fixed naming
to be consistent with Blink style. This is part of a larger effort to
convert ComputedStyle's enums to enum classes.

Design doc:
https://docs.google.com/document/d/1BfjMEXIzvY1WZEn_nESBxyqkazkfa0sBSEvm-F89YwM/edit#

BUG=628043

Review-Url: https://codereview.chromium.org/2181953004
Cr-Commit-Position: refs/heads/master@{#410880}

[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/animation/CSSVisibilityInterpolationType.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/animation/animatable/AnimatableValueTestHelper.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/animation/animatable/AnimatableValueTestHelperTest.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/animation/animatable/AnimatableVisibility.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/dom/DocumentStatisticsCollector.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/editing/EditingUtilities.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/editing/VisibleUnits.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/editing/iterators/SimplifiedBackwardsTextIterator.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/editing/iterators/TextIterator.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/html/HTMLAreaElement.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/html/forms/InputType.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/layout/LayoutBlock.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/layout/LayoutDeprecatedFlexibleBox.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/layout/LayoutInline.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/layout/LayoutPart.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/layout/LayoutText.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/layout/LayoutTreeAsText.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/layout/svg/LayoutSVGImage.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceClipper.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceMasker.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/layout/svg/LayoutSVGShape.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/layout/svg/LayoutSVGText.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/layout/svg/SVGLayoutSupport.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/layout/svg/line/SVGInlineTextBox.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/BlockPainter.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/BoxPainter.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/DetailsMarkerPainter.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/FieldsetPainter.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/FileUploadControlPainter.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/InlineFlowBoxPainter.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/ListMarkerPainter.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/MultiColumnSetPainter.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/ObjectPainter.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/PaintLayer.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/ReplacedPainter.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/RootInlineBoxPainter.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/SVGContainerPainter.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/SVGImagePainter.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/SVGInlineTextBoxPainter.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/SVGShapePainter.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/TableCellPainter.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/paint/TablePainter.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/core/svg/SVGUseElement.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/modules/accessibility/AXMediaControls.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/modules/accessibility/AXObject.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/modules/plugins/PluginOcclusionSupport.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/web/PopupMenuImpl.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/web/WebFrameContentDumper.cpp
[modify] https://crrev.com/9418458ddfa80b213daa5357bfe21372dbd7565c/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp

Project Member Comment 7 by bugdroid1@chromium.org, Aug 18 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/040825f25fe910d965b7f1a7521f6f4efa3ef6c4

commit 040825f25fe910d965b7f1a7521f6f4efa3ef6c4
Author: sashab <sashab@chromium.org>
Date: Thu Aug 18 06:23:01 2016

Removed Wrap-Flow and Wrap-Through from ComputedStyle

Removed Wrap-Flow and Wrap-Through from ComputedStyle's
StyleRareInheritedData, since they are no longer used. Also removed some
additional unused ComputedStyle initial value methods.

BUG=628043

Review-Url: https://codereview.chromium.org/2223133004
Cr-Commit-Position: refs/heads/master@{#412757}

[modify] https://crrev.com/040825f25fe910d965b7f1a7521f6f4efa3ef6c4/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/040825f25fe910d965b7f1a7521f6f4efa3ef6c4/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/040825f25fe910d965b7f1a7521f6f4efa3ef6c4/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[modify] https://crrev.com/040825f25fe910d965b7f1a7521f6f4efa3ef6c4/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp
[modify] https://crrev.com/040825f25fe910d965b7f1a7521f6f4efa3ef6c4/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.h

Description: Show this description
Project Member Comment 9 by bugdroid1@chromium.org, Sep 22 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8439075a9356236aa3f893f67f23faab867baccf

commit 8439075a9356236aa3f893f67f23faab867baccf
Author: sashab <sashab@chromium.org>
Date: Thu Sep 22 23:53:29 2016

Add a generated ComputedStyleBase class that ComputedStyle extends

Add a generated ComputedStyleBase class that ComputedStyle extends from,
as well as a generated ComputedStyleBaseConstants file that
ComputedStyleConstants includes. Moved the 'visibility' field to be
generated in ComputedStyleBase and it's type, the EVisibility enum, to
be generated as well.

This patch adds the 'keyword_only' field to CSSProperties.in, which is
used to detect keyword-only properties that can be stored as bitfields,
as well as enough generation code to generate enum bitfields. Other
field types, as well as support for custom storage and methods, will be
added in future patches.

This is the beginning of an effort to move properties across to
ComputedStyleBase and then, eventually, remove ComputedStyle and rename
the base to ComputedStyle.

Design doc:
https://docs.google.com/document/d/1sWf_kCtVSokx8oDJZwTrUk2JNqrgTZDV0Z-jsy6tWxg/edit

BUG=628043

Review-Url: https://codereview.chromium.org/2187493004
Cr-Commit-Position: refs/heads/master@{#420508}

[modify] https://crrev.com/8439075a9356236aa3f893f67f23faab867baccf/third_party/WebKit/Source/build/scripts/css_properties.py
[add] https://crrev.com/8439075a9356236aa3f893f67f23faab867baccf/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[add] https://crrev.com/8439075a9356236aa3f893f67f23faab867baccf/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.cpp.tmpl
[add] https://crrev.com/8439075a9356236aa3f893f67f23faab867baccf/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[add] https://crrev.com/8439075a9356236aa3f893f67f23faab867baccf/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBaseConstants.h.tmpl
[modify] https://crrev.com/8439075a9356236aa3f893f67f23faab867baccf/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/8439075a9356236aa3f893f67f23faab867baccf/third_party/WebKit/Source/core/css/CSSProperties.in
[modify] https://crrev.com/8439075a9356236aa3f893f67f23faab867baccf/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/8439075a9356236aa3f893f67f23faab867baccf/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/8439075a9356236aa3f893f67f23faab867baccf/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/8439075a9356236aa3f893f67f23faab867baccf/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 10 by bugdroid1@chromium.org, Sep 23 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/333a7dd429e44a6562112fc29c667474fa2e92f9

commit 333a7dd429e44a6562112fc29c667474fa2e92f9
Author: sashab <sashab@chromium.org>
Date: Fri Sep 23 01:41:03 2016

Changed EFloat to an enum class

Changed EFloat to an enum class and gave it an unsigned underlying type.
This is pre-work to move it to be generated in ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2354843002
Cr-Commit-Position: refs/heads/master@{#420536}

[modify] https://crrev.com/333a7dd429e44a6562112fc29c667474fa2e92f9/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/333a7dd429e44a6562112fc29c667474fa2e92f9/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp
[modify] https://crrev.com/333a7dd429e44a6562112fc29c667474fa2e92f9/third_party/WebKit/Source/core/layout/FloatingObjects.cpp
[modify] https://crrev.com/333a7dd429e44a6562112fc29c667474fa2e92f9/third_party/WebKit/Source/core/layout/LayoutBlock.cpp
[modify] https://crrev.com/333a7dd429e44a6562112fc29c667474fa2e92f9/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
[modify] https://crrev.com/333a7dd429e44a6562112fc29c667474fa2e92f9/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp
[modify] https://crrev.com/333a7dd429e44a6562112fc29c667474fa2e92f9/third_party/WebKit/Source/core/layout/TextAutosizer.cpp
[modify] https://crrev.com/333a7dd429e44a6562112fc29c667474fa2e92f9/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/333a7dd429e44a6562112fc29c667474fa2e92f9/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 11 by bugdroid1@chromium.org, Sep 23 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7fbbe61b09447cc20ef89c3f1b21bde45b6c8bac

commit 7fbbe61b09447cc20ef89c3f1b21bde45b6c8bac
Author: sashab <sashab@chromium.org>
Date: Fri Sep 23 01:53:03 2016

Renamed EFloat members to match keywords

Renamed EFloat members to match its keywords (none, left, right). This
is pre-work to move it to be generated in ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2358473002
Cr-Commit-Position: refs/heads/master@{#420540}

[modify] https://crrev.com/7fbbe61b09447cc20ef89c3f1b21bde45b6c8bac/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/7fbbe61b09447cc20ef89c3f1b21bde45b6c8bac/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp
[modify] https://crrev.com/7fbbe61b09447cc20ef89c3f1b21bde45b6c8bac/third_party/WebKit/Source/core/layout/FloatingObjects.cpp
[modify] https://crrev.com/7fbbe61b09447cc20ef89c3f1b21bde45b6c8bac/third_party/WebKit/Source/core/layout/LayoutBlock.cpp
[modify] https://crrev.com/7fbbe61b09447cc20ef89c3f1b21bde45b6c8bac/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
[modify] https://crrev.com/7fbbe61b09447cc20ef89c3f1b21bde45b6c8bac/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp
[modify] https://crrev.com/7fbbe61b09447cc20ef89c3f1b21bde45b6c8bac/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/7fbbe61b09447cc20ef89c3f1b21bde45b6c8bac/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 12 by bugdroid1@chromium.org, Sep 29 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3c28edb5c5e9778fabb3642537b8138d5f5f1b83

commit 3c28edb5c5e9778fabb3642537b8138d5f5f1b83
Author: sashab <sashab@chromium.org>
Date: Thu Sep 29 05:07:31 2016

Added isComputedStyle::isDisplayTableType() and made it static

Removed EDisplay FIRST_TABLE_DISPLAY and LAST_TABLE_DISPLAY from
EDisplay, and moved them to a static function isDisplayTableType() on
ComputedStyle. Also made the similar functions like this static
functions, since they should have been static all along.

BUG=628043

Review-Url: https://codereview.chromium.org/2365263002
Cr-Commit-Position: refs/heads/master@{#421749}

[modify] https://crrev.com/3c28edb5c5e9778fabb3642537b8138d5f5f1b83/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/3c28edb5c5e9778fabb3642537b8138d5f5f1b83/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/3c28edb5c5e9778fabb3642537b8138d5f5f1b83/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 13 by bugdroid1@chromium.org, Sep 29 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5af0857297fe1299a2ecc4bc150c21f12f2c0750

commit 5af0857297fe1299a2ecc4bc150c21f12f2c0750
Author: sashab <sashab@chromium.org>
Date: Thu Sep 29 05:17:07 2016

Added support for non-inherited flags in ComputedStyleBase

Added support for non-inherited flags to be generated in
ComputedStyleBase. Also moved Float and its enum EFloat to be generated.

BUG=628043

Review-Url: https://codereview.chromium.org/2351993002
Cr-Commit-Position: refs/heads/master@{#421754}

[modify] https://crrev.com/5af0857297fe1299a2ecc4bc150c21f12f2c0750/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/5af0857297fe1299a2ecc4bc150c21f12f2c0750/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.cpp.tmpl
[modify] https://crrev.com/5af0857297fe1299a2ecc4bc150c21f12f2c0750/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/5af0857297fe1299a2ecc4bc150c21f12f2c0750/third_party/WebKit/Source/core/css/CSSProperties.in
[modify] https://crrev.com/5af0857297fe1299a2ecc4bc150c21f12f2c0750/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/5af0857297fe1299a2ecc4bc150c21f12f2c0750/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/5af0857297fe1299a2ecc4bc150c21f12f2c0750/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 14 by bugdroid1@chromium.org, Sep 30 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/524f39aaebe8cae07b34925fca8a981e93432d92

commit 524f39aaebe8cae07b34925fca8a981e93432d92
Author: sashab <sashab@chromium.org>
Date: Fri Sep 30 04:09:29 2016

Changed EDisplay to an enum class and renamed its members to be keywords

Changed EDisplay to an enum class and gave it an unsigned underlying
type. Also renamed its members to match its keywords (e.g. inline,
block, listItem)  This is pre-work to move EDisplay to be generated in
ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2370673002
Cr-Commit-Position: refs/heads/master@{#422023}

[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/animation/css/CSSAnimations.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/dom/DocumentStatisticsCollector.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/dom/PseudoElement.h
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/dom/Text.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/editing/EditingUtilities.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/html/HTMLFormElement.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/html/HTMLImageFallbackHelper.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/html/HTMLOptionElement.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/html/HTMLRTElement.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/html/HTMLRubyElement.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/html/HTMLSelectElement.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/html/forms/MultipleFieldsTemporalInputTypeView.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/html/shadow/TextControlInnerElements.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutBlock.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutBlock.h
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutFullScreen.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutInline.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutMultiColumnSet.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutMultiColumnSpannerPlaceholder.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutPagedFlowThread.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutRubyRun.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutScrollbar.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutTable.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutTableCol.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutTableCol.h
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutTableRow.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutTableSection.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutTextControlMultiLine.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutTextControlSingleLine.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutTextTrackContainer.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/LayoutTheme.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/TextAutosizer.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/line/InlineFlowBox.h
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceClipper.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceMasker.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/core/svg/SVGGElement.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/modules/accessibility/AXObject.cpp
[modify] https://crrev.com/524f39aaebe8cae07b34925fca8a981e93432d92/third_party/WebKit/Source/web/PopupMenuImpl.cpp

Project Member Comment 15 by bugdroid1@chromium.org, Sep 30 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fdc8d0ce1cd52ee647079b8a71d6871a87cf1fdc

commit fdc8d0ce1cd52ee647079b8a71d6871a87cf1fdc
Author: sashab <sashab@chromium.org>
Date: Fri Sep 30 04:39:36 2016

Changed ECaptionSide to an enum class and renamed its members to keywords

Changed ECaptionSide to an enum class and gave it an unsigned underlying
type so it can be stored in a bitfield in the future. Also renamed its
members to match its keywords from CSSValueKeywords.in. This is pre-work
to move ECaptionSide to be generated in ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2366263002
Cr-Commit-Position: refs/heads/master@{#422029}

[modify] https://crrev.com/fdc8d0ce1cd52ee647079b8a71d6871a87cf1fdc/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/fdc8d0ce1cd52ee647079b8a71d6871a87cf1fdc/third_party/WebKit/Source/core/layout/LayoutTable.cpp
[modify] https://crrev.com/fdc8d0ce1cd52ee647079b8a71d6871a87cf1fdc/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/fdc8d0ce1cd52ee647079b8a71d6871a87cf1fdc/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 16 by bugdroid1@chromium.org, Sep 30 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/058937513b328bdf63adfec95f0bfa8cc2c25f99

commit 058937513b328bdf63adfec95f0bfa8cc2c25f99
Author: sashab <sashab@chromium.org>
Date: Fri Sep 30 14:21:32 2016

Changed EEmptyCells to an enum class and renamed its members to keywords

Changed EEmptyCells to an enum class and gave it an unsigned underlying
type. Also renamed its members to match its keywords from
CSSValueKeywords.in. This is pre-work to move EEmptyCells to be
generated in ComputedStyleBase.

BUG=628043
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2367273003
Cr-Commit-Position: refs/heads/master@{#422106}

[modify] https://crrev.com/058937513b328bdf63adfec95f0bfa8cc2c25f99/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/058937513b328bdf63adfec95f0bfa8cc2c25f99/third_party/WebKit/Source/core/paint/TableCellPainter.cpp
[modify] https://crrev.com/058937513b328bdf63adfec95f0bfa8cc2c25f99/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/058937513b328bdf63adfec95f0bfa8cc2c25f99/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[modify] https://crrev.com/058937513b328bdf63adfec95f0bfa8cc2c25f99/third_party/WebKit/Source/modules/accessibility/AXTable.cpp

Project Member Comment 17 by bugdroid1@chromium.org, Oct 5 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/063379e6b1aa01de3f305c5343925d9d926e8cd0

commit 063379e6b1aa01de3f305c5343925d9d926e8cd0
Author: sashab <sashab@chromium.org>
Date: Wed Oct 05 01:26:22 2016

Changed EListStylePosition to an enum class and renamed its members to keywords

Changed EListStylePosition to an enum class and gave it an unsigned underlying
type so it can be stored in a bitfield in the future. Also renamed its
members to match its keywords from CSSValueKeywords.in. This is pre-work
to move EListStylePosition to be generated in ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2380233002
Cr-Commit-Position: refs/heads/master@{#423038}

[modify] https://crrev.com/063379e6b1aa01de3f305c5343925d9d926e8cd0/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/063379e6b1aa01de3f305c5343925d9d926e8cd0/third_party/WebKit/Source/core/layout/LayoutListMarker.cpp
[modify] https://crrev.com/063379e6b1aa01de3f305c5343925d9d926e8cd0/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/063379e6b1aa01de3f305c5343925d9d926e8cd0/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 18 by bugdroid1@chromium.org, Nov 14 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6789581214e5edc19182733d7c01742cbe8467e5

commit 6789581214e5edc19182733d7c01742cbe8467e5
Author: sashab <sashab@chromium.org>
Date: Mon Nov 14 05:49:14 2016

Move empty-cells to be generated in ComputedStyleBase

Move the inherited property empty-cells and its enum, EEmptyCells, to be
generated in ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2363383002
Cr-Commit-Position: refs/heads/master@{#431834}

[modify] https://crrev.com/6789581214e5edc19182733d7c01742cbe8467e5/third_party/WebKit/Source/core/css/CSSProperties.in
[modify] https://crrev.com/6789581214e5edc19182733d7c01742cbe8467e5/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/6789581214e5edc19182733d7c01742cbe8467e5/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/6789581214e5edc19182733d7c01742cbe8467e5/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Blockedon: 665272
Description: Show this description
Project Member Comment 21 by bugdroid1@chromium.org, Nov 16 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ff0c1a487b941b11478790642d92e94a1e765248

commit ff0c1a487b941b11478790642d92e94a1e765248
Author: sashab <sashab@chromium.org>
Date: Wed Nov 16 06:11:44 2016

Changed EListStyleType to an enum class and renamed its members to keywords

Changed EListStyleType to an enum class and gave it an unsigned
underlying type. Also renamed its members to match its keywords from
CSSValueKeywords.in.

Changing it to an enum class enforces better namespacing and code
practices. Adding the unsigned underlying type is pre-work for when the
class is eventually stored as an enum bitfield (it would be done in this
patch, except a presubmit warning already exists that prevents that. The
presubmit warning needs to be updated before that change can occur.)

This is also pre-work to move EListStyleType to be generated in
ComputedStyleBase.

BUG=628043
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2367293002
Cr-Commit-Position: refs/heads/master@{#432376}

[modify] https://crrev.com/ff0c1a487b941b11478790642d92e94a1e765248/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/ff0c1a487b941b11478790642d92e94a1e765248/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/ff0c1a487b941b11478790642d92e94a1e765248/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
[modify] https://crrev.com/ff0c1a487b941b11478790642d92e94a1e765248/third_party/WebKit/Source/core/layout/LayoutListItem.cpp
[modify] https://crrev.com/ff0c1a487b941b11478790642d92e94a1e765248/third_party/WebKit/Source/core/layout/LayoutListMarker.cpp
[modify] https://crrev.com/ff0c1a487b941b11478790642d92e94a1e765248/third_party/WebKit/Source/core/layout/ListMarkerText.cpp
[modify] https://crrev.com/ff0c1a487b941b11478790642d92e94a1e765248/third_party/WebKit/Source/core/paint/ListMarkerPainter.cpp
[modify] https://crrev.com/ff0c1a487b941b11478790642d92e94a1e765248/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/ff0c1a487b941b11478790642d92e94a1e765248/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 22 by bugdroid1@chromium.org, Nov 17 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8ecb25cb8788703f601a88c5fa6d7e640a698966

commit 8ecb25cb8788703f601a88c5fa6d7e640a698966
Author: sashab <sashab@chromium.org>
Date: Thu Nov 17 03:29:19 2016

Changed ECursor to an enum class and renamed its members to keywords

Changed ECursor to an enum class and gave it an unsigned underlying
type. Also renamed its members to match its keywords from
CSSValueKeywords.in.

Changing it to an enum class enforces better namespacing and code
practices. Adding the unsigned underlying type is pre-work for when the
class is eventually stored as an enum bitfield (it would be done in this
patch, except a presubmit warning already exists that prevents that. The
presubmit warning needs to be updated before that change can occur.)

This is also pre-work to move ECursor to be generated in
ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2505853002
Cr-Commit-Position: refs/heads/master@{#432724}

[modify] https://crrev.com/8ecb25cb8788703f601a88c5fa6d7e640a698966/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/8ecb25cb8788703f601a88c5fa6d7e640a698966/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
[modify] https://crrev.com/8ecb25cb8788703f601a88c5fa6d7e640a698966/third_party/WebKit/Source/core/input/EventHandler.cpp
[modify] https://crrev.com/8ecb25cb8788703f601a88c5fa6d7e640a698966/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/8ecb25cb8788703f601a88c5fa6d7e640a698966/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[modify] https://crrev.com/8ecb25cb8788703f601a88c5fa6d7e640a698966/third_party/WebKit/Source/web/WebViewImpl.cpp

Project Member Comment 23 by bugdroid1@chromium.org, Nov 17 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8ecb25cb8788703f601a88c5fa6d7e640a698966

commit 8ecb25cb8788703f601a88c5fa6d7e640a698966
Author: sashab <sashab@chromium.org>
Date: Thu Nov 17 03:29:19 2016

Changed ECursor to an enum class and renamed its members to keywords

Changed ECursor to an enum class and gave it an unsigned underlying
type. Also renamed its members to match its keywords from
CSSValueKeywords.in.

Changing it to an enum class enforces better namespacing and code
practices. Adding the unsigned underlying type is pre-work for when the
class is eventually stored as an enum bitfield (it would be done in this
patch, except a presubmit warning already exists that prevents that. The
presubmit warning needs to be updated before that change can occur.)

This is also pre-work to move ECursor to be generated in
ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2505853002
Cr-Commit-Position: refs/heads/master@{#432724}

[modify] https://crrev.com/8ecb25cb8788703f601a88c5fa6d7e640a698966/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/8ecb25cb8788703f601a88c5fa6d7e640a698966/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
[modify] https://crrev.com/8ecb25cb8788703f601a88c5fa6d7e640a698966/third_party/WebKit/Source/core/input/EventHandler.cpp
[modify] https://crrev.com/8ecb25cb8788703f601a88c5fa6d7e640a698966/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/8ecb25cb8788703f601a88c5fa6d7e640a698966/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[modify] https://crrev.com/8ecb25cb8788703f601a88c5fa6d7e640a698966/third_party/WebKit/Source/web/WebViewImpl.cpp

Project Member Comment 24 by bugdroid1@chromium.org, Nov 18 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5d6e4ab16eadee1c051891651cebc1473a07bfc0

commit 5d6e4ab16eadee1c051891651cebc1473a07bfc0
Author: sashab <sashab@chromium.org>
Date: Fri Nov 18 03:10:06 2016

Changed ETextAlign to an enum class and renamed its members to keywords

Changed ETextAlign to an enum class and gave it an unsigned underlying
type. Also renamed its members to match its keywords from
CSSValueKeywords.in.

Changing it to an enum class enforces better namespacing and code
practices. Adding the unsigned underlying type is pre-work for when the
class is eventually stored as an enum bitfield (it would be done in this
patch, except a presubmit warning already exists that prevents that. The
presubmit warning needs to be updated before that change can occur.)

This is also pre-work to move ETextAlign to be generated in
ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2507383002
Cr-Commit-Position: refs/heads/master@{#433044}

[modify] https://crrev.com/5d6e4ab16eadee1c051891651cebc1473a07bfc0/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/5d6e4ab16eadee1c051891651cebc1473a07bfc0/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp
[modify] https://crrev.com/5d6e4ab16eadee1c051891651cebc1473a07bfc0/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
[modify] https://crrev.com/5d6e4ab16eadee1c051891651cebc1473a07bfc0/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
[modify] https://crrev.com/5d6e4ab16eadee1c051891651cebc1473a07bfc0/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp
[modify] https://crrev.com/5d6e4ab16eadee1c051891651cebc1473a07bfc0/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/5d6e4ab16eadee1c051891651cebc1473a07bfc0/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
[modify] https://crrev.com/5d6e4ab16eadee1c051891651cebc1473a07bfc0/third_party/WebKit/Source/core/layout/LayoutFieldset.cpp
[modify] https://crrev.com/5d6e4ab16eadee1c051891651cebc1473a07bfc0/third_party/WebKit/Source/core/layout/LayoutMenuList.cpp
[modify] https://crrev.com/5d6e4ab16eadee1c051891651cebc1473a07bfc0/third_party/WebKit/Source/core/layout/LayoutRubyBase.cpp
[modify] https://crrev.com/5d6e4ab16eadee1c051891651cebc1473a07bfc0/third_party/WebKit/Source/core/layout/LayoutRubyRun.cpp
[modify] https://crrev.com/5d6e4ab16eadee1c051891651cebc1473a07bfc0/third_party/WebKit/Source/core/layout/LayoutRubyText.cpp
[modify] https://crrev.com/5d6e4ab16eadee1c051891651cebc1473a07bfc0/third_party/WebKit/Source/core/layout/LayoutText.cpp
[modify] https://crrev.com/5d6e4ab16eadee1c051891651cebc1473a07bfc0/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/5d6e4ab16eadee1c051891651cebc1473a07bfc0/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[modify] https://crrev.com/5d6e4ab16eadee1c051891651cebc1473a07bfc0/third_party/WebKit/Source/web/WebFormControlElement.cpp

Project Member Comment 25 by bugdroid1@chromium.org, Nov 21 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/521551f2e6bd230ff54adf9fdcdc4fd837598fd1

commit 521551f2e6bd230ff54adf9fdcdc4fd837598fd1
Author: sashab <sashab@chromium.org>
Date: Mon Nov 21 04:59:32 2016

Changed EWhiteSpace to an enum class and renamed its members to keywords

Changed EWhiteSpace to an enum class and gave it an unsigned underlying
type. Also renamed its members to match its keywords from
CSSValueKeywords.in.

Changing it to an enum class enforces better namespacing and code
practices. Adding the unsigned underlying type is pre-work for when the
class is eventually stored as an enum bitfield (it would be done in this
patch, except a presubmit warning already exists that prevents that. The
presubmit warning needs to be updated before that change can occur.)

This is also pre-work to move EWhiteSpace to be generated in
ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2508743002
Cr-Commit-Position: refs/heads/master@{#433476}

[modify] https://crrev.com/521551f2e6bd230ff54adf9fdcdc4fd837598fd1/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/521551f2e6bd230ff54adf9fdcdc4fd837598fd1/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp
[modify] https://crrev.com/521551f2e6bd230ff54adf9fdcdc4fd837598fd1/third_party/WebKit/Source/core/dom/Text.cpp
[modify] https://crrev.com/521551f2e6bd230ff54adf9fdcdc4fd837598fd1/third_party/WebKit/Source/core/editing/iterators/TextIterator.cpp
[modify] https://crrev.com/521551f2e6bd230ff54adf9fdcdc4fd837598fd1/third_party/WebKit/Source/core/layout/LayoutBlock.cpp
[modify] https://crrev.com/521551f2e6bd230ff54adf9fdcdc4fd837598fd1/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp
[modify] https://crrev.com/521551f2e6bd230ff54adf9fdcdc4fd837598fd1/third_party/WebKit/Source/core/layout/LayoutText.cpp
[modify] https://crrev.com/521551f2e6bd230ff54adf9fdcdc4fd837598fd1/third_party/WebKit/Source/core/layout/LayoutTextControlSingleLine.cpp
[modify] https://crrev.com/521551f2e6bd230ff54adf9fdcdc4fd837598fd1/third_party/WebKit/Source/core/layout/LayoutTheme.cpp
[modify] https://crrev.com/521551f2e6bd230ff54adf9fdcdc4fd837598fd1/third_party/WebKit/Source/core/layout/LayoutThemeMac.mm
[modify] https://crrev.com/521551f2e6bd230ff54adf9fdcdc4fd837598fd1/third_party/WebKit/Source/core/layout/line/BreakingContext.cpp
[modify] https://crrev.com/521551f2e6bd230ff54adf9fdcdc4fd837598fd1/third_party/WebKit/Source/core/layout/line/BreakingContextInlineHeaders.h
[modify] https://crrev.com/521551f2e6bd230ff54adf9fdcdc4fd837598fd1/third_party/WebKit/Source/core/layout/svg/LayoutSVGInlineText.cpp
[modify] https://crrev.com/521551f2e6bd230ff54adf9fdcdc4fd837598fd1/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/521551f2e6bd230ff54adf9fdcdc4fd837598fd1/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 26 by bugdroid1@chromium.org, Nov 21 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dfd37d2b7b9be6fcc2da32d58ee83a1bcaad0990

commit dfd37d2b7b9be6fcc2da32d58ee83a1bcaad0990
Author: sashab <sashab@chromium.org>
Date: Mon Nov 21 05:06:09 2016

Changed PrintColorAdjust to an enum class and renamed its members

Changed PrintColorAdjust to an enum class and gave it an unsigned
underlying type. Also renamed its members to match its keywords from
CSSValueKeywords.in, and removed PrintColorAdjustBits which will be
generated.

Changing it to an enum class enforces better namespacing and code
practices. Adding the unsigned underlying type is pre-work for when the
class is eventually stored as an enum bitfield (it would be done in this
patch, except a presubmit warning already exists that prevents that. The
presubmit warning needs to be updated before that change can occur.)

This is also pre-work to move PrintColorAdjust to be generated in
ComputedStyleBase.

BUG=628043
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2514273002
Cr-Commit-Position: refs/heads/master@{#433477}

[modify] https://crrev.com/dfd37d2b7b9be6fcc2da32d58ee83a1bcaad0990/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/dfd37d2b7b9be6fcc2da32d58ee83a1bcaad0990/third_party/WebKit/Source/core/paint/BoxPainter.cpp
[modify] https://crrev.com/dfd37d2b7b9be6fcc2da32d58ee83a1bcaad0990/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/dfd37d2b7b9be6fcc2da32d58ee83a1bcaad0990/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 27 by bugdroid1@chromium.org, Nov 21 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0ce4167b0c7c65b94600703fc7f9f166b2f2b042

commit 0ce4167b0c7c65b94600703fc7f9f166b2f2b042
Author: sashab <sashab@chromium.org>
Date: Mon Nov 21 05:50:46 2016

Move caption-side to be generated in ComputedStyleBase

Move the inherited property caption-side and its enum, ECaptionSide, to
be generated in ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2366273002
Cr-Commit-Position: refs/heads/master@{#433479}

[modify] https://crrev.com/0ce4167b0c7c65b94600703fc7f9f166b2f2b042/third_party/WebKit/Source/core/css/CSSProperties.in
[modify] https://crrev.com/0ce4167b0c7c65b94600703fc7f9f166b2f2b042/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/0ce4167b0c7c65b94600703fc7f9f166b2f2b042/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/0ce4167b0c7c65b94600703fc7f9f166b2f2b042/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 28 by bugdroid1@chromium.org, Nov 22 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/24335db82807d6544f5c3e3f8ae01c6796ca16c9

commit 24335db82807d6544f5c3e3f8ae01c6796ca16c9
Author: sashab <sashab@chromium.org>
Date: Tue Nov 22 02:55:52 2016

Changed ETextTransform to an enum class and renamed its members

Changed ETextTransform to an enum class and gave it an unsigned
underlying type. Also renamed its members to match its keywords from
CSSValueKeywords.in.

Changing it to an enum class enforces better namespacing and code
practices. Adding the unsigned underlying type is pre-work for when the
class is eventually stored as an enum bitfield (it would be done in this
patch, except a presubmit warning already exists that prevents that. The
presubmit warning needs to be updated before that change can occur.)

This is also pre-work to move ETextTransform to be generated in
ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2516263002
Cr-Commit-Position: refs/heads/master@{#433758}

[modify] https://crrev.com/24335db82807d6544f5c3e3f8ae01c6796ca16c9/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/24335db82807d6544f5c3e3f8ae01c6796ca16c9/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/24335db82807d6544f5c3e3f8ae01c6796ca16c9/third_party/WebKit/Source/core/layout/LayoutText.cpp
[modify] https://crrev.com/24335db82807d6544f5c3e3f8ae01c6796ca16c9/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/24335db82807d6544f5c3e3f8ae01c6796ca16c9/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[modify] https://crrev.com/24335db82807d6544f5c3e3f8ae01c6796ca16c9/third_party/WebKit/Source/web/PopupMenuImpl.cpp

Project Member Comment 29 by bugdroid1@chromium.org, Nov 22 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0385165cc191fe42f960c852357744ca1ecae1f0

commit 0385165cc191fe42f960c852357744ca1ecae1f0
Author: sashab <sashab@chromium.org>
Date: Tue Nov 22 04:17:41 2016

Changed EBoxDirection to an enum class and renamed its members to keywords

Changed EBoxDirection to an enum class and gave it an unsigned
underlying type. Also renamed its members to match its keywords from
CSSValueKeywords.in.

Changing it to an enum class enforces better namespacing and code
practices. Adding the unsigned underlying type is pre-work for when the
class is eventually stored as an enum bitfield (it would be done in this
patch, except a presubmit warning already exists that prevents that. The
presubmit warning needs to be updated before that change can occur.)

This is also pre-work to move EBoxDirection to be generated in
ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2521463002
Cr-Commit-Position: refs/heads/master@{#433786}

[modify] https://crrev.com/0385165cc191fe42f960c852357744ca1ecae1f0/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/0385165cc191fe42f960c852357744ca1ecae1f0/third_party/WebKit/Source/core/layout/LayoutDeprecatedFlexibleBox.cpp
[modify] https://crrev.com/0385165cc191fe42f960c852357744ca1ecae1f0/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/0385165cc191fe42f960c852357744ca1ecae1f0/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 30 by bugdroid1@chromium.org, Nov 23 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/af7430f8e9a58ad90cc5b5153a650862b4d19a87

commit af7430f8e9a58ad90cc5b5153a650862b4d19a87
Author: sashab <sashab@chromium.org>
Date: Wed Nov 23 04:29:43 2016

Move list-style-position to be generated in ComputedStyleBase

Move the inherited property list-style-position and its enum,
EListStylePosition, to be generated in ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2506033003
Cr-Commit-Position: refs/heads/master@{#434115}

[modify] https://crrev.com/af7430f8e9a58ad90cc5b5153a650862b4d19a87/third_party/WebKit/Source/core/css/CSSProperties.in
[modify] https://crrev.com/af7430f8e9a58ad90cc5b5153a650862b4d19a87/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/af7430f8e9a58ad90cc5b5153a650862b4d19a87/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/af7430f8e9a58ad90cc5b5153a650862b4d19a87/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 31 by bugdroid1@chromium.org, Nov 28 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ae3bbc4f69ea52e4b505c8fcaffe4d4dca484c0c

commit ae3bbc4f69ea52e4b505c8fcaffe4d4dca484c0c
Author: sashab <sashab@chromium.org>
Date: Mon Nov 28 04:33:13 2016

Changed EBorderCollapse to an enum class and renamed its members

Changed EBorderCollapse to an enum class and gave it an unsigned
underlying type. Also renamed its members to match its keywords from
CSSValueKeywords.in.

Changing it to an enum class enforces better namespacing and code
practices. Adding the unsigned underlying type is pre-work for when the
class is eventually stored as an enum bitfield (it would be done in this
patch, except a presubmit warning already exists that prevents that. The
presubmit warning needs to be updated before that change can occur.)

This is also pre-work to move EBorderCollapse to be generated in
ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2528573002
Cr-Commit-Position: refs/heads/master@{#434602}

[modify] https://crrev.com/ae3bbc4f69ea52e4b505c8fcaffe4d4dca484c0c/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/ae3bbc4f69ea52e4b505c8fcaffe4d4dca484c0c/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/ae3bbc4f69ea52e4b505c8fcaffe4d4dca484c0c/third_party/WebKit/Source/core/layout/LayoutTable.h
[modify] https://crrev.com/ae3bbc4f69ea52e4b505c8fcaffe4d4dca484c0c/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/ae3bbc4f69ea52e4b505c8fcaffe4d4dca484c0c/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 32 by bugdroid1@chromium.org, Nov 30 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2146072b9a357b2a16d8a947a1754f7b104d5a5e

commit 2146072b9a357b2a16d8a947a1754f7b104d5a5e
Author: sashab <sashab@chromium.org>
Date: Wed Nov 30 09:10:19 2016

Move text-transform to be generated in ComputedStyleBase

Move the inherited property text-transform and its enum, ETextTransform,
to be generated in ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2528283002
Cr-Commit-Position: refs/heads/master@{#435193}

[modify] https://crrev.com/2146072b9a357b2a16d8a947a1754f7b104d5a5e/third_party/WebKit/Source/core/css/CSSProperties.in
[modify] https://crrev.com/2146072b9a357b2a16d8a947a1754f7b104d5a5e/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/2146072b9a357b2a16d8a947a1754f7b104d5a5e/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/2146072b9a357b2a16d8a947a1754f7b104d5a5e/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 33 by bugdroid1@chromium.org, Dec 1 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f3cfe7729123c2dd2dcba3048b57696f325cf5a1

commit f3cfe7729123c2dd2dcba3048b57696f325cf5a1
Author: sashab <sashab@chromium.org>
Date: Thu Dec 01 04:13:03 2016

Added initial_keyword flag to CSSProperties.in

Added initial_keyword flag to CSSProperties.in, which specifies the
initial value for keyword-only properties generated in ComputedStyle.

BUG=628043

Review-Url: https://codereview.chromium.org/2538493005
Cr-Commit-Position: refs/heads/master@{#435549}

[modify] https://crrev.com/f3cfe7729123c2dd2dcba3048b57696f325cf5a1/third_party/WebKit/Source/build/scripts/css_properties.py
[modify] https://crrev.com/f3cfe7729123c2dd2dcba3048b57696f325cf5a1/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/f3cfe7729123c2dd2dcba3048b57696f325cf5a1/third_party/WebKit/Source/core/css/CSSProperties.in

Project Member Comment 34 by bugdroid1@chromium.org, Dec 5 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7288d286aaf11b6c4a6da25b8dc6209f64908f97

commit 7288d286aaf11b6c4a6da25b8dc6209f64908f97
Author: napper <napper@chromium.org>
Date: Mon Dec 05 04:35:39 2016

Changed EPointerEvents to an enum class and renamed its members to keywords

Changed EPointerEvents to an enum class and gave it an unsigned
underlying type.

Changing it to an enum class enforces better namespacing and code
practices. Adding the unsigned underlying type is pre-work for when the
class is eventually stored as an enum bitfield (it would be done in this
patch, except a presubmit warning already exists that prevents that. The
presubmit warning needs to be updated before that change can occur.)

This is also pre-work to move EPointerEvents to be generated in
ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2542843002
Cr-Commit-Position: refs/heads/master@{#436232}

[modify] https://crrev.com/7288d286aaf11b6c4a6da25b8dc6209f64908f97/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/7288d286aaf11b6c4a6da25b8dc6209f64908f97/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/7288d286aaf11b6c4a6da25b8dc6209f64908f97/third_party/WebKit/Source/core/layout/PointerEventsHitRules.cpp
[modify] https://crrev.com/7288d286aaf11b6c4a6da25b8dc6209f64908f97/third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.cpp
[modify] https://crrev.com/7288d286aaf11b6c4a6da25b8dc6209f64908f97/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/7288d286aaf11b6c4a6da25b8dc6209f64908f97/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[modify] https://crrev.com/7288d286aaf11b6c4a6da25b8dc6209f64908f97/third_party/WebKit/Source/core/svg/SVGSVGElement.cpp
[modify] https://crrev.com/7288d286aaf11b6c4a6da25b8dc6209f64908f97/third_party/WebKit/Source/web/WebRemoteFrameImpl.cpp

Project Member Comment 35 by bugdroid1@chromium.org, Dec 5 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5fcf8dbc81c32665ab015b7f0cf303f3427a3d93

commit 5fcf8dbc81c32665ab015b7f0cf303f3427a3d93
Author: sashab <sashab@chromium.org>
Date: Mon Dec 05 04:39:40 2016

Changed Order to an enum class and renamed its members

Changed Order to an enum class and gave it an unsigned underlying type.
Also renamed it from Order to EOrder to match the other ComputedStyle
enums, and renamed its members to match its keywords from
CSSValueKeywords.in. Also removed the '= 0' value setter for Logical and
the one callsite where this was used (implicit int conversion is not
allowed for enum classes anyway).

Changing it to an enum class enforces better namespacing and code
practices. Adding the unsigned underlying type is pre-work for when the
class is eventually stored as an enum bitfield (it would be done in this
patch, except a presubmit warning already exists that prevents that. The
presubmit warning needs to be updated before that change can occur.)

This is also pre-work to move EOrder to be generated in
ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2546333002
Cr-Commit-Position: refs/heads/master@{#436233}

[modify] https://crrev.com/5fcf8dbc81c32665ab015b7f0cf303f3427a3d93/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/5fcf8dbc81c32665ab015b7f0cf303f3427a3d93/third_party/WebKit/Source/core/css/CSSProperties.in
[modify] https://crrev.com/5fcf8dbc81c32665ab015b7f0cf303f3427a3d93/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/5fcf8dbc81c32665ab015b7f0cf303f3427a3d93/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/5fcf8dbc81c32665ab015b7f0cf303f3427a3d93/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/5fcf8dbc81c32665ab015b7f0cf303f3427a3d93/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp
[modify] https://crrev.com/5fcf8dbc81c32665ab015b7f0cf303f3427a3d93/third_party/WebKit/Source/core/layout/TextRunConstructor.cpp
[modify] https://crrev.com/5fcf8dbc81c32665ab015b7f0cf303f3427a3d93/third_party/WebKit/Source/core/layout/line/InlineFlowBox.cpp
[modify] https://crrev.com/5fcf8dbc81c32665ab015b7f0cf303f3427a3d93/third_party/WebKit/Source/core/layout/line/InlineIterator.h
[modify] https://crrev.com/5fcf8dbc81c32665ab015b7f0cf303f3427a3d93/third_party/WebKit/Source/core/layout/line/InlineTextBox.cpp
[modify] https://crrev.com/5fcf8dbc81c32665ab015b7f0cf303f3427a3d93/third_party/WebKit/Source/core/layout/svg/line/SVGInlineTextBox.cpp
[modify] https://crrev.com/5fcf8dbc81c32665ab015b7f0cf303f3427a3d93/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/5fcf8dbc81c32665ab015b7f0cf303f3427a3d93/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 36 by bugdroid1@chromium.org, Dec 6 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2e622f7aad97866963d8784950fa8a72555519d5

commit 2e622f7aad97866963d8784950fa8a72555519d5
Author: napper <napper@chromium.org>
Date: Tue Dec 06 02:59:34 2016

Renamed members of EPointerEvents to match CSSValueKeywords.in.

Renamed members of EPointerEvents to match the keywords to the
values in CSSValueKeywords.in. This is a rename only - there are
no logic changes.

This is pre-work to move EPointerEvents to be generated in
ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2554673002
Cr-Commit-Position: refs/heads/master@{#436503}

[modify] https://crrev.com/2e622f7aad97866963d8784950fa8a72555519d5/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/2e622f7aad97866963d8784950fa8a72555519d5/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/2e622f7aad97866963d8784950fa8a72555519d5/third_party/WebKit/Source/core/layout/PointerEventsHitRules.cpp
[modify] https://crrev.com/2e622f7aad97866963d8784950fa8a72555519d5/third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.cpp
[modify] https://crrev.com/2e622f7aad97866963d8784950fa8a72555519d5/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/2e622f7aad97866963d8784950fa8a72555519d5/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[modify] https://crrev.com/2e622f7aad97866963d8784950fa8a72555519d5/third_party/WebKit/Source/core/svg/SVGSVGElement.cpp
[modify] https://crrev.com/2e622f7aad97866963d8784950fa8a72555519d5/third_party/WebKit/Source/web/WebRemoteFrameImpl.cpp

Project Member Comment 37 by bugdroid1@chromium.org, Dec 6 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d6b2bca0a7e2347eebb2749d8723c10efb9b6778

commit d6b2bca0a7e2347eebb2749d8723c10efb9b6778
Author: napper <napper@chromium.org>
Date: Tue Dec 06 04:31:18 2016

Move border-collapse to be generated in ComputedStyleBase

Move the inherited property caption-side and its enum, EBorderCollapse,
to be generated in ComputedStyleBase. Also removed the explicit value
setters for EBorderCollapse and the one callsite where this was used
(implicit int conversion is not allowed for enum classes anyway).

BUG=628043

Review-Url: https://codereview.chromium.org/2550343002
Cr-Commit-Position: refs/heads/master@{#436523}

[modify] https://crrev.com/d6b2bca0a7e2347eebb2749d8723c10efb9b6778/third_party/WebKit/Source/core/css/CSSProperties.in
[modify] https://crrev.com/d6b2bca0a7e2347eebb2749d8723c10efb9b6778/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/d6b2bca0a7e2347eebb2749d8723c10efb9b6778/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/d6b2bca0a7e2347eebb2749d8723c10efb9b6778/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 38 by bugdroid1@chromium.org, Dec 6 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3dd00af7d6f27106b11f718190331d290a9f9240

commit 3dd00af7d6f27106b11f718190331d290a9f9240
Author: sashab <sashab@chromium.org>
Date: Tue Dec 06 04:37:42 2016

Added support for isInherited flags to ComputedStyleBase

Added support for isInherited flags to ComputedStyleBase, and moved
visibilityIsInherited to ComputedStyleBase. This involved adding
additional code to generate the new inherited flag fields, as well as
adding a version of propagateIndependentInheritedProperties() to
ComputedStyleBase.

Visibility was already a generated field, but the inherited flag of its
generation was not yet being generated in ComputedStyleBase, so this
patch moves that field to be generated as well.

BUG=628043

Review-Url: https://codereview.chromium.org/2547403002
Cr-Commit-Position: refs/heads/master@{#436527}

[modify] https://crrev.com/3dd00af7d6f27106b11f718190331d290a9f9240/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/3dd00af7d6f27106b11f718190331d290a9f9240/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.cpp.tmpl
[modify] https://crrev.com/3dd00af7d6f27106b11f718190331d290a9f9240/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/3dd00af7d6f27106b11f718190331d290a9f9240/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/3dd00af7d6f27106b11f718190331d290a9f9240/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 39 by bugdroid1@chromium.org, Dec 7 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/472c0e40aeb583e2638eb45c79f7ae931d10bceb

commit 472c0e40aeb583e2638eb45c79f7ae931d10bceb
Author: napper <napper@chromium.org>
Date: Wed Dec 07 05:02:36 2016

Made border-collapse property independent.

Made border-collapse property independent. Also updated
independent-inheritance-fast-path.html to include borderCollapse.

Tested using independent-inheritance-fast-path.html.

BUG=628043

Review-Url: https://codereview.chromium.org/2553703003
Cr-Commit-Position: refs/heads/master@{#436867}

[modify] https://crrev.com/472c0e40aeb583e2638eb45c79f7ae931d10bceb/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html
[modify] https://crrev.com/472c0e40aeb583e2638eb45c79f7ae931d10bceb/third_party/WebKit/Source/core/css/CSSProperties.in
[modify] https://crrev.com/472c0e40aeb583e2638eb45c79f7ae931d10bceb/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 40 by bugdroid1@chromium.org, Dec 8 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/66e559603ea31d8aad74779fae2e1b6d375833eb

commit 66e559603ea31d8aad74779fae2e1b6d375833eb
Author: sashab <sashab@chromium.org>
Date: Thu Dec 08 01:18:48 2016

Cleaned up make_computed_style_base.py to be better self-documenting

Cleaned up make_computed_style_base.py to have more explicit
dependencies between fields, explain fields and field families, and
generally be better self-documented.

BUG=628043

Review-Url: https://codereview.chromium.org/2549373002
Cr-Commit-Position: refs/heads/master@{#437107}

[modify] https://crrev.com/66e559603ea31d8aad74779fae2e1b6d375833eb/third_party/WebKit/Source/build/scripts/make_computed_style_base.py

Cc: -bugsnash@chromium.org
Project Member Comment 42 by bugdroid1@chromium.org, Dec 8 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b6cb04f1dbef1277a5a51b3ae3f5e6cb0341a614

commit b6cb04f1dbef1277a5a51b3ae3f5e6cb0341a614
Author: napper <napper@chromium.org>
Date: Thu Dec 08 20:35:36 2016

Move white-space to be generated in ComputedStyleBase.

Move white-space to be generated in ComputedStyleBase. Also removed the
explicit value setters for EWhiteSpace. Also updated
SameSizeAsComputedStyle() to reflect the change in inherited data
bitfield size. This CL has reduced the size of ComputedStyle by 8 bytes.

BUG=628043

Review-Url: https://codereview.chromium.org/2555423002
Cr-Commit-Position: refs/heads/master@{#437322}

[modify] https://crrev.com/b6cb04f1dbef1277a5a51b3ae3f5e6cb0341a614/third_party/WebKit/Source/core/css/CSSProperties.in
[modify] https://crrev.com/b6cb04f1dbef1277a5a51b3ae3f5e6cb0341a614/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/b6cb04f1dbef1277a5a51b3ae3f5e6cb0341a614/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/b6cb04f1dbef1277a5a51b3ae3f5e6cb0341a614/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 43 by bugdroid1@chromium.org, Dec 9 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7c4945f1f56993bbeec9cf73141d1d5ccf932061

commit 7c4945f1f56993bbeec9cf73141d1d5ccf932061
Author: sashab <sashab@chromium.org>
Date: Fri Dec 09 02:20:12 2016

Made empty-cells property independent.

Made empty-cells property independent. Also updated
independent-inheritance-fast-path.html to include emptyCells.

Tested using independent-inheritance-fast-path.html.

BUG=628043

Review-Url: https://codereview.chromium.org/2555103003
Cr-Commit-Position: refs/heads/master@{#437434}

[modify] https://crrev.com/7c4945f1f56993bbeec9cf73141d1d5ccf932061/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html
[modify] https://crrev.com/7c4945f1f56993bbeec9cf73141d1d5ccf932061/third_party/WebKit/Source/core/css/CSSProperties.in

Project Member Comment 44 by bugdroid1@chromium.org, Dec 9 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c2ff63fad7483656ea28d0d9e35267add5fd29f6

commit c2ff63fad7483656ea28d0d9e35267add5fd29f6
Author: sashab <sashab@chromium.org>
Date: Fri Dec 09 03:46:46 2016

Removed property object from make_computed_style_base.py templates

Removed references to the property object from templates used in
make_computed_style_base.py. This is important pre-work for adding
fields that don't have a property object associated with them, but even
if those aren't added, reducing the amount of information sent to the
templates makes the code easier to follow and understand.

BUG=628043

Review-Url: https://codereview.chromium.org/2554243002
Cr-Commit-Position: refs/heads/master@{#437456}

[modify] https://crrev.com/c2ff63fad7483656ea28d0d9e35267add5fd29f6/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/c2ff63fad7483656ea28d0d9e35267add5fd29f6/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.cpp.tmpl
[modify] https://crrev.com/c2ff63fad7483656ea28d0d9e35267add5fd29f6/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl

Project Member Comment 45 by bugdroid1@chromium.org, Dec 9 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c262d7951ee6e85df9221f8004e57b9783bd2bbc

commit c262d7951ee6e85df9221f8004e57b9783bd2bbc
Author: sashab <sashab@chromium.org>
Date: Fri Dec 09 06:49:49 2016

Made caption-side property independent.

Made caption-side property independent. Also updated
independent-inheritance-fast-path.html to include captionSide.

Tested using independent-inheritance-fast-path.html.

BUG=628043

Review-Url: https://codereview.chromium.org/2563443006
Cr-Commit-Position: refs/heads/master@{#437486}

[modify] https://crrev.com/c262d7951ee6e85df9221f8004e57b9783bd2bbc/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html
[modify] https://crrev.com/c262d7951ee6e85df9221f8004e57b9783bd2bbc/third_party/WebKit/Source/core/css/CSSProperties.in

Project Member Comment 46 by bugdroid1@chromium.org, Dec 12 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a642f81bd7da2c6b02bd288c443c8e42416baa58

commit a642f81bd7da2c6b02bd288c443c8e42416baa58
Author: sashab <sashab@chromium.org>
Date: Mon Dec 12 03:17:49 2016

Sort fields in ComputedStyleBase in decreasing order of size

Sort fields in ComputedStyleBase in decreasing order of size. This is
a micro optimization that improves field alignment and minimizes wasted
memory space.

From Intel on 'Coding for Performance':
https://software.intel.com/en-us/articles/coding-for-performance-data-alignment-and-structures
"One can try to minimize this memory wastage by ordering the structure
elements such that the widest (largest) element comes first, followed by
the second widest, and so on."

Another good explanation article:
https://msdn.microsoft.com/en-us/library/ewwyfdbe.aspx

BUG=628043

Review-Url: https://codereview.chromium.org/2558733002
Cr-Commit-Position: refs/heads/master@{#437813}

[modify] https://crrev.com/a642f81bd7da2c6b02bd288c443c8e42416baa58/third_party/WebKit/Source/build/scripts/make_computed_style_base.py

Project Member Comment 47 by bugdroid1@chromium.org, Dec 13 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/06340ec1a7ea945a8c0442be9cb4cb154e32aa6b

commit 06340ec1a7ea945a8c0442be9cb4cb154e32aa6b
Author: sashab <sashab@chromium.org>
Date: Tue Dec 13 03:00:14 2016

Made list-style-position property independent.

Made list-style-position property independent. Also updated
independent-inheritance-fast-path.html to include listStylePosition.

Tested using independent-inheritance-fast-path.html.

BUG=628043

Review-Url: https://codereview.chromium.org/2566923002
Cr-Commit-Position: refs/heads/master@{#438008}

[modify] https://crrev.com/06340ec1a7ea945a8c0442be9cb4cb154e32aa6b/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html
[modify] https://crrev.com/06340ec1a7ea945a8c0442be9cb4cb154e32aa6b/third_party/WebKit/Source/core/css/CSSProperties.in

Project Member Comment 48 by bugdroid1@chromium.org, Dec 13 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a0c2bf8d4b53aaace5bb38f4b7cb7078c7c2bf2d

commit a0c2bf8d4b53aaace5bb38f4b7cb7078c7c2bf2d
Author: sashab <sashab@chromium.org>
Date: Tue Dec 13 03:23:29 2016

Renamed 'type' to 'storage_type' in make_computed_style_base.py

Renamed the Field attribute 'type' to 'storage_type' in
make_computed_style_base.py and the ComputedStyleBase template files.

This is pre-work for when Fields can have both an internal storage and
external type (new attribute 'external_type'), and these types need to
be distinguished without being confusing.

BUG=628043

Review-Url: https://codereview.chromium.org/2563853002
Cr-Commit-Position: refs/heads/master@{#438022}

[modify] https://crrev.com/a0c2bf8d4b53aaace5bb38f4b7cb7078c7c2bf2d/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/a0c2bf8d4b53aaace5bb38f4b7cb7078c7c2bf2d/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl

Project Member Comment 49 by bugdroid1@chromium.org, Dec 13 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ad2fe04892fed522eb67cd054f8696a5cfb1ba3f

commit ad2fe04892fed522eb67cd054f8696a5cfb1ba3f
Author: sashab <sashab@chromium.org>
Date: Tue Dec 13 06:02:23 2016

Changed EOverflowAnchor to an enum class and renamed its members

Changed EOverflowAnchor to an enum class and gave it an unsigned
underlying type.

Changing it to an enum class enforces better namespacing and code
practices. Adding the unsigned underlying type is pre-work for when the
class is eventually stored as an enum bitfield (it would be done in this
patch, except a presubmit warning already exists that prevents that. The
presubmit warning needs to be updated before that change can occur.)

This is also pre-work to move EOverflowAnchor to be generated in
ComputedStyleBase.

BUG=628043
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2561973002
Cr-Commit-Position: refs/heads/master@{#438072}

[modify] https://crrev.com/ad2fe04892fed522eb67cd054f8696a5cfb1ba3f/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/ad2fe04892fed522eb67cd054f8696a5cfb1ba3f/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/ad2fe04892fed522eb67cd054f8696a5cfb1ba3f/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/ad2fe04892fed522eb67cd054f8696a5cfb1ba3f/third_party/WebKit/Source/core/layout/ScrollAnchor.cpp
[modify] https://crrev.com/ad2fe04892fed522eb67cd054f8696a5cfb1ba3f/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
[modify] https://crrev.com/ad2fe04892fed522eb67cd054f8696a5cfb1ba3f/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/ad2fe04892fed522eb67cd054f8696a5cfb1ba3f/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 50 by bugdroid1@chromium.org, Dec 14 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/79511bbcbf12f6d3bb2b32ae7d1ead9a679e6a21

commit 79511bbcbf12f6d3bb2b32ae7d1ead9a679e6a21
Author: sashab <sashab@chromium.org>
Date: Wed Dec 14 00:55:42 2016

Generate storage for -webkit-box-direction in ComputedStyleBase

Moved the inherited property -webkit-box-direction and its enum,
EBoxDirection, to be generated in ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2563353002
Cr-Commit-Position: refs/heads/master@{#438368}

[modify] https://crrev.com/79511bbcbf12f6d3bb2b32ae7d1ead9a679e6a21/third_party/WebKit/Source/core/css/CSSProperties.in
[modify] https://crrev.com/79511bbcbf12f6d3bb2b32ae7d1ead9a679e6a21/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/79511bbcbf12f6d3bb2b32ae7d1ead9a679e6a21/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/79511bbcbf12f6d3bb2b32ae7d1ead9a679e6a21/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 51 by bugdroid1@chromium.org, Dec 14 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5fb8c41aea7e2a5a7ec8f33a3c6bee46eb86d95d

commit 5fb8c41aea7e2a5a7ec8f33a3c6bee46eb86d95d
Author: sashab <sashab@chromium.org>
Date: Wed Dec 14 06:23:45 2016

Change ComputedStyle::setWritingMode() to return void instead of bool

Change ComputedStyle::setWritingMode() to return void instead of bool,
and updated the 2 callsites that use this functionality to match.

There is overhead from checking whether writingMode has changed and
returning instead of setting the value, and this patch removes that
overhead for callers that don't need this functionality.

Also, this is pre-work to generating writing-mode in ComputedStyleBase,
which aims to make all properties regular and share the same getter and
setter patterns where possible.

BUG=628043

Review-Url: https://codereview.chromium.org/2567963002
Cr-Commit-Position: refs/heads/master@{#438448}

[modify] https://crrev.com/5fb8c41aea7e2a5a7ec8f33a3c6bee46eb86d95d/third_party/WebKit/Source/core/css/resolver/StyleResolverState.h
[modify] https://crrev.com/5fb8c41aea7e2a5a7ec8f33a3c6bee46eb86d95d/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/5fb8c41aea7e2a5a7ec8f33a3c6bee46eb86d95d/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 52 by bugdroid1@chromium.org, Dec 14 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/604db4a0dc2613b803899d22ccfe76ed262c6207

commit 604db4a0dc2613b803899d22ccfe76ed262c6207
Author: napper <napper@chromium.org>
Date: Wed Dec 14 07:53:20 2016

Move the inherited property pointer-events and its enum, EPointerEvents,
to be generated in ComputedStyleBase. Also removed the explicit value
setters for EPointerEvents, and the now empty compareEqualIndependent()
method.

BUG=628043

Review-Url: https://codereview.chromium.org/2563753003
Cr-Commit-Position: refs/heads/master@{#438457}

[modify] https://crrev.com/604db4a0dc2613b803899d22ccfe76ed262c6207/third_party/WebKit/Source/core/css/CSSProperties.in
[modify] https://crrev.com/604db4a0dc2613b803899d22ccfe76ed262c6207/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/604db4a0dc2613b803899d22ccfe76ed262c6207/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/604db4a0dc2613b803899d22ccfe76ed262c6207/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 53 by bugdroid1@chromium.org, Dec 14 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c72f1a22b9c407f6e1132fe43682b15e2de221fe

commit c72f1a22b9c407f6e1132fe43682b15e2de221fe
Author: sashab <sashab@chromium.org>
Date: Wed Dec 14 07:54:35 2016

Changed EOverflow to an enum class and renamed its members

Changed EOverflow to an enum class and gave it an unsigned underlying
type.

Changing it to an enum class enforces better namespacing and code
practices. Adding the unsigned underlying type is pre-work for when the
class is eventually stored as an enum bitfield (it would be done in this
patch, except a presubmit warning already exists that prevents that. The
presubmit warning needs to be updated before that change can occur.)

This is also pre-work to move EOverflow to be generated in
ComputedStyleBase.

BUG=628043
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2569013006
Cr-Commit-Position: refs/heads/master@{#438458}

[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/editing/commands/EditorCommand.cpp
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/layout/LayoutBox.h
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/layout/LayoutFlexibleBox.cpp
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/layout/LayoutGrid.cpp
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/layout/LayoutTableSection.cpp
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/layout/LayoutTextControl.cpp
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/layout/LayoutTextControlSingleLine.cpp
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/layout/TextAutosizer.cpp
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.cc
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/layout/svg/SVGLayoutSupport.cpp
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/page/SpatialNavigation.cpp
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[modify] https://crrev.com/c72f1a22b9c407f6e1132fe43682b15e2de221fe/third_party/WebKit/Source/core/style/ComputedStyleTest.cpp

Project Member Comment 54 by bugdroid1@chromium.org, Dec 15 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/52fa8397a15c91bf315303370bbffcf05f807f8d

commit 52fa8397a15c91bf315303370bbffcf05f807f8d
Author: napper <napper@chromium.org>
Date: Thu Dec 15 03:11:54 2016

Moved -webkit-print-color-adjust property to be generated.

Moved -webkit-print-color-adjust property to be generated, so now the
getter/setter methods for print-color-adjust are generated. This means that
getPrintColorAdjust() has been renamed to printColorAdjust(). Also renamed
PrintColorAdjust enum to EPrintColorAdjust for consistency with other
generated enums.

BUG=628043
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2570463002
Cr-Commit-Position: refs/heads/master@{#438723}

[modify] https://crrev.com/52fa8397a15c91bf315303370bbffcf05f807f8d/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/52fa8397a15c91bf315303370bbffcf05f807f8d/third_party/WebKit/Source/core/css/CSSProperties.in
[modify] https://crrev.com/52fa8397a15c91bf315303370bbffcf05f807f8d/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/52fa8397a15c91bf315303370bbffcf05f807f8d/third_party/WebKit/Source/core/paint/BoxPainter.cpp
[modify] https://crrev.com/52fa8397a15c91bf315303370bbffcf05f807f8d/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/52fa8397a15c91bf315303370bbffcf05f807f8d/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/52fa8397a15c91bf315303370bbffcf05f807f8d/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 55 by bugdroid1@chromium.org, Dec 15 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1198e2d38d4f0d66852a11c6f2453fe067de3296

commit 1198e2d38d4f0d66852a11c6f2453fe067de3296
Author: sashab <sashab@chromium.org>
Date: Thu Dec 15 04:47:48 2016

Made -webkit-box-direction property independent.

Made -webkit-box-direction property independent. Also updated
independent-inheritance-fast-path.html to include webkitBoxDirection.

Also updated make_computed_style_base.py to use 'name_for_methods'
instead of 'upper_camel_name' so that Webkit is removed from the front
of the name when generating method names.

Tested using independent-inheritance-fast-path.html.

BUG=628043

Review-Url: https://codereview.chromium.org/2574063002
Cr-Commit-Position: refs/heads/master@{#438746}

[modify] https://crrev.com/1198e2d38d4f0d66852a11c6f2453fe067de3296/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html
[modify] https://crrev.com/1198e2d38d4f0d66852a11c6f2453fe067de3296/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/1198e2d38d4f0d66852a11c6f2453fe067de3296/third_party/WebKit/Source/core/css/CSSProperties.in

Project Member Comment 56 by bugdroid1@chromium.org, Dec 15 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8b4b629e3b72663debb34643c16f4b32787bbfdf

commit 8b4b629e3b72663debb34643c16f4b32787bbfdf
Author: napper <napper@chromium.org>
Date: Thu Dec 15 08:10:10 2016

Moved text-align to be generated in ComputedStyleBase.

Move the inherited property text-align and its enum, ETextAlign,
to be generated in ComputedStyleBase. Also moved getter / setter /
initial value methods to be generated in ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2577973002
Cr-Commit-Position: refs/heads/master@{#438781}

[modify] https://crrev.com/8b4b629e3b72663debb34643c16f4b32787bbfdf/third_party/WebKit/Source/core/css/CSSProperties.in
[modify] https://crrev.com/8b4b629e3b72663debb34643c16f4b32787bbfdf/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/8b4b629e3b72663debb34643c16f4b32787bbfdf/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/8b4b629e3b72663debb34643c16f4b32787bbfdf/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 57 by bugdroid1@chromium.org, Dec 15 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e316115a42ac56384c89562cd1923014a850290b

commit e316115a42ac56384c89562cd1923014a850290b
Author: napper <napper@chromium.org>
Date: Thu Dec 15 09:59:14 2016

Made -webkit-print-color-adjust property independent.

Made -webkit-print-color-adjust property independent. Also updated
independent-inheritance-fast-path.html to include webkitPrintColorAdjust.
Also minor cleanup of make_computed_style_base.py, including removing a
redundant if and assignment to property_name.

Tested using independent-inheritance-fast-path.html.

BUG=628043

Review-Url: https://codereview.chromium.org/2578903002
Cr-Commit-Position: refs/heads/master@{#438797}

[modify] https://crrev.com/e316115a42ac56384c89562cd1923014a850290b/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html
[modify] https://crrev.com/e316115a42ac56384c89562cd1923014a850290b/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/e316115a42ac56384c89562cd1923014a850290b/third_party/WebKit/Source/core/css/CSSProperties.in

Project Member Comment 58 by bugdroid1@chromium.org, Dec 21 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2f0c2019085dfcf95005bb54b9eb483893e8cb1d

commit 2f0c2019085dfcf95005bb54b9eb483893e8cb1d
Author: sashab <sashab@chromium.org>
Date: Wed Dec 21 04:12:14 2016

Changed EVerticalAlign to an enum class and renamed its members

Changed EVerticalAlign to an enum class and gave it an unsigned
underlying type.

Changing it to an enum class enforces better namespacing and code
practices. Adding the unsigned underlying type is pre-work for when the
class is eventually stored as an enum bitfield (it would be done in this
patch, except a presubmit warning already exists that prevents that. The
presubmit warning needs to be updated before that change can occur.)

This is also pre-work to move EVerticalAlign to be generated in
ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2578403002
Cr-Commit-Position: refs/heads/master@{#440009}

[modify] https://crrev.com/2f0c2019085dfcf95005bb54b9eb483893e8cb1d/third_party/WebKit/Source/core/animation/LengthPropertyFunctions.cpp
[modify] https://crrev.com/2f0c2019085dfcf95005bb54b9eb483893e8cb1d/third_party/WebKit/Source/core/animation/css/CSSAnimatableValueFactory.cpp
[modify] https://crrev.com/2f0c2019085dfcf95005bb54b9eb483893e8cb1d/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/2f0c2019085dfcf95005bb54b9eb483893e8cb1d/third_party/WebKit/Source/core/css/CSSPropertyEquality.cpp
[modify] https://crrev.com/2f0c2019085dfcf95005bb54b9eb483893e8cb1d/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/2f0c2019085dfcf95005bb54b9eb483893e8cb1d/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
[modify] https://crrev.com/2f0c2019085dfcf95005bb54b9eb483893e8cb1d/third_party/WebKit/Source/core/layout/LayoutInline.cpp
[modify] https://crrev.com/2f0c2019085dfcf95005bb54b9eb483893e8cb1d/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp
[modify] https://crrev.com/2f0c2019085dfcf95005bb54b9eb483893e8cb1d/third_party/WebKit/Source/core/layout/LayoutTableCell.h
[modify] https://crrev.com/2f0c2019085dfcf95005bb54b9eb483893e8cb1d/third_party/WebKit/Source/core/layout/LayoutTableSection.cpp
[modify] https://crrev.com/2f0c2019085dfcf95005bb54b9eb483893e8cb1d/third_party/WebKit/Source/core/layout/line/InlineFlowBox.cpp
[modify] https://crrev.com/2f0c2019085dfcf95005bb54b9eb483893e8cb1d/third_party/WebKit/Source/core/layout/line/RootInlineBox.cpp
[modify] https://crrev.com/2f0c2019085dfcf95005bb54b9eb483893e8cb1d/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/2f0c2019085dfcf95005bb54b9eb483893e8cb1d/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 59 by bugdroid1@chromium.org, Dec 21 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592

commit 6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592
Author: sashab <sashab@chromium.org>
Date: Wed Dec 21 06:24:40 2016

Changed TextDirection to an enum class and renamed its members

Changed TextDirection to an enum class and gave it an unsigned
underlying type. Also renamed its members to use proper CamelCase
instead of all-caps.

Changing it to an enum class enforces better namespacing and code
practices. Adding the unsigned underlying type is pre-work for when the
class is eventually stored as an enum bitfield (it would be done in this
patch, except a presubmit warning already exists that prevents that. The
presubmit warning needs to be updated before that change can occur.)

Unlike the other enums in ComputedStyleBase, TextDirection will not be
generated. Instead, the enum from platform/ will be included and used.

This patch has no logic changes -- only renames, braces added to long
if-statements, static_casts to unsigned where the old enum type was
implicitly converted, and ASSERTs changed to DCHECKs.

BUG=628043
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2555923002
Cr-Commit-Position: refs/heads/master@{#440043}

[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/css/CSSProperty.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/editing/EditingUtilities.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/editing/EditingUtilitiesTest.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/editing/SelectionModifier.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/editing/VisibleUnits.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/html/HTMLElement.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/html/HTMLFormControlElement.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/html/HTMLFormControlElementTest.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/html/HTMLImageFallbackHelper.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/html/HTMLInputElement.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/html/TextControlElement.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/html/forms/MultipleFieldsTemporalInputTypeView.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/html/forms/RadioInputType.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/html/forms/RangeInputType.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/html/shadow/TextControlInnerElements.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/html/track/vtt/VTTCue.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/HitTestResult.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/LayoutDeprecatedFlexibleBox.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/LayoutFlexibleBox.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/LayoutMenuList.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/LayoutReplaced.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/LayoutSliderContainer.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/LayoutText.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/LayoutTextTest.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/LayoutThemeMac.mm
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/TextAutosizer.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/TextRunConstructor.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/line/AbstractInlineTextBox.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/line/BreakingContextInlineHeaders.h
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/line/InlineBox.h
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/line/InlineIterator.h
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/line/InlineTextBox.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/ng/ng_absolute_utils.cc
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/ng/ng_absolute_utils_test.cc
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/ng/ng_bidi_paragraph.cc
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm_test.cc
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.cc
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.cc
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_test.cc
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/ng/ng_fragment_base.h
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.cc
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/ng/ng_inline_node.h
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/ng/ng_inline_node_test.cc
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/ng/ng_layout_inline_items_builder.cc
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/ng/ng_layout_inline_items_builder_test.cc
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/ng/ng_length_utils_test.cc
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/ng/ng_text_layout_algorithm.cc
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/ng/ng_units.cc
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/ng/ng_units_test.cc
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/layout/svg/LayoutSVGInlineText.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/page/ChromeClient.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/paint/InlineFlowBoxPainter.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/paint/ThemePainterDefault.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/paint/ThemePainterMac.mm
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/core/testing/Internals.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/platform/DragImage.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/platform/exported/WebTextRun.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/platform/fonts/Font.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShaperTest.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaper.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaperTest.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/platform/fonts/shaping/ShapeCache.h
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.h
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBuffer.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/platform/text/BidiCharacterRun.h
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/platform/text/BidiResolver.h
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/platform/text/BidiResolverTest.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/platform/text/BidiTextRun.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/platform/text/Character.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/platform/text/TextDirection.h
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/platform/text/TextRun.h
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/web/ExternalPopupMenu.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/Source/web/PopupMenuImpl.cpp
[modify] https://crrev.com/6ed7bd96eb762abd8c2ea7821ee5ec9d5948a592/third_party/WebKit/public/web/WebTextDirection.h

Project Member Comment 60 by bugdroid1@chromium.org, Dec 22 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a5b97bd742ab2fbf7946c15aef175fe72ffaebae

commit a5b97bd742ab2fbf7946c15aef175fe72ffaebae
Author: sashab <sashab@chromium.org>
Date: Thu Dec 22 02:39:19 2016

Replaced usages of WritingMode to use inline utility functions instead

Replaced simple usages of WritingMode to use inline utility functions
instead of the enums directly. This is preparing to rename the values of
WritingMode to match the writing-mode keywords, which are less self-
documenting.

BUG=628043

Review-Url: https://codereview.chromium.org/2595833002
Cr-Commit-Position: refs/heads/master@{#440317}

[modify] https://crrev.com/a5b97bd742ab2fbf7946c15aef175fe72ffaebae/third_party/WebKit/Source/core/css/CSSProperty.cpp
[modify] https://crrev.com/a5b97bd742ab2fbf7946c15aef175fe72ffaebae/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/a5b97bd742ab2fbf7946c15aef175fe72ffaebae/third_party/WebKit/Source/core/layout/LayoutFlexibleBox.cpp
[modify] https://crrev.com/a5b97bd742ab2fbf7946c15aef175fe72ffaebae/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp
[modify] https://crrev.com/a5b97bd742ab2fbf7946c15aef175fe72ffaebae/third_party/WebKit/Source/core/layout/LayoutVTTCue.cpp

Project Member Comment 61 by bugdroid1@chromium.org, Dec 22 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/983b113dc5903d650ca0804e35caffb79f003d0e

commit 983b113dc5903d650ca0804e35caffb79f003d0e
Author: sashab <sashab@chromium.org>
Date: Thu Dec 22 05:04:31 2016

Changed WritingMode to an enum class and renamed its members

Changed WritingMode to an enum class and gave it an unsigned underlying
type. Also renamed its members to match the CSS keywords they
represent (although these names are not as self-documenting as they
were previously, so pre-work in crrev.com/2595833002 replaced as many
callsites as possible with helper functions with more descriptive
names).

Changing it to an enum class enforces better namespacing and code
practices. Adding the unsigned underlying type is pre-work for when the
class is eventually stored as an enum bitfield (it would be done in this
patch, except a presubmit warning already exists that prevents that. The
presubmit warning needs to be updated before that change can occur.)

This is also pre-work to allow WritingMode to be used by generated
fields in ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2591373003
Cr-Commit-Position: refs/heads/master@{#440343}

[modify] https://crrev.com/983b113dc5903d650ca0804e35caffb79f003d0e/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/983b113dc5903d650ca0804e35caffb79f003d0e/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp
[modify] https://crrev.com/983b113dc5903d650ca0804e35caffb79f003d0e/third_party/WebKit/Source/core/layout/LayoutDetailsMarker.cpp
[modify] https://crrev.com/983b113dc5903d650ca0804e35caffb79f003d0e/third_party/WebKit/Source/core/layout/LayoutFlexibleBox.cpp
[modify] https://crrev.com/983b113dc5903d650ca0804e35caffb79f003d0e/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm_test.cc
[modify] https://crrev.com/983b113dc5903d650ca0804e35caffb79f003d0e/third_party/WebKit/Source/core/layout/ng/ng_length_utils_test.cc
[modify] https://crrev.com/983b113dc5903d650ca0804e35caffb79f003d0e/third_party/WebKit/Source/core/layout/ng/ng_writing_mode.cc
[modify] https://crrev.com/983b113dc5903d650ca0804e35caffb79f003d0e/third_party/WebKit/Source/core/layout/shapes/BoxShapeTest.cpp
[modify] https://crrev.com/983b113dc5903d650ca0804e35caffb79f003d0e/third_party/WebKit/Source/core/layout/shapes/ShapeOutsideInfo.cpp
[modify] https://crrev.com/983b113dc5903d650ca0804e35caffb79f003d0e/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/983b113dc5903d650ca0804e35caffb79f003d0e/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/983b113dc5903d650ca0804e35caffb79f003d0e/third_party/WebKit/Source/platform/LengthBox.cpp
[modify] https://crrev.com/983b113dc5903d650ca0804e35caffb79f003d0e/third_party/WebKit/Source/platform/geometry/LayoutRectOutsets.cpp
[modify] https://crrev.com/983b113dc5903d650ca0804e35caffb79f003d0e/third_party/WebKit/Source/platform/geometry/LayoutRectOutsetsTest.cpp
[modify] https://crrev.com/983b113dc5903d650ca0804e35caffb79f003d0e/third_party/WebKit/Source/platform/text/WritingMode.h

Project Member Comment 62 by bugdroid1@chromium.org, Jan 3 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/072f5a503cddfe46f59dfdc03cee69a328ca9e57

commit 072f5a503cddfe46f59dfdc03cee69a328ca9e57
Author: sashab <sashab@chromium.org>
Date: Tue Jan 03 05:33:41 2017

Added functionality in ComputedStyleBase to use platform/ types

Added functionality in ComputedStyleBase to use platform/ types that
conform to naming guidelines.

Also converted the direction property to be used by this new generator,
which uses the external enum type platform/text/TextDirection.

BUG=628043

Review-Url: https://codereview.chromium.org/2563913002
Cr-Commit-Position: refs/heads/master@{#441091}

[modify] https://crrev.com/072f5a503cddfe46f59dfdc03cee69a328ca9e57/third_party/WebKit/Source/build/scripts/css_properties.py
[modify] https://crrev.com/072f5a503cddfe46f59dfdc03cee69a328ca9e57/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/072f5a503cddfe46f59dfdc03cee69a328ca9e57/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/072f5a503cddfe46f59dfdc03cee69a328ca9e57/third_party/WebKit/Source/core/css/CSSProperties.in
[modify] https://crrev.com/072f5a503cddfe46f59dfdc03cee69a328ca9e57/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/072f5a503cddfe46f59dfdc03cee69a328ca9e57/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 63 by bugdroid1@chromium.org, Jan 4 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/45275e78b2a5100be570bb8ca1e79989b9db00ff

commit 45275e78b2a5100be570bb8ca1e79989b9db00ff
Author: sashab <sashab@chromium.org>
Date: Wed Jan 04 00:52:49 2017

Generated writing-mode in ComputedStyleBase

Moved writing-mode to be generated in ComputedStyleBase, which uses the
external type platform/text/WritingMode. Also added functionality to
add 'get' to the front of getters that have names that will conflict
with type names once the Blink rename has happened (and all methods
start with a capital letter).

BUG=628043

Review-Url: https://codereview.chromium.org/2609133002
Cr-Commit-Position: refs/heads/master@{#441271}

[modify] https://crrev.com/45275e78b2a5100be570bb8ca1e79989b9db00ff/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/45275e78b2a5100be570bb8ca1e79989b9db00ff/third_party/WebKit/Source/core/css/CSSProperties.in
[modify] https://crrev.com/45275e78b2a5100be570bb8ca1e79989b9db00ff/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/45275e78b2a5100be570bb8ca1e79989b9db00ff/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 64 by bugdroid1@chromium.org, Jan 5 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b319a2f99e630380875c015a50fd20d5dd41ac3a

commit b319a2f99e630380875c015a50fd20d5dd41ac3a
Author: sashab <sashab@chromium.org>
Date: Thu Jan 05 06:01:20 2017

Improved bitfield packing behavior in ComputedStyleBase

Improved bitfield packing behavior in ComputedStyleBase to greedily
group fields into buckets of 32 bits, and place those fields adjacently.
This prevents against padding bits added from the naive implementation
of just sorting the fields in decreasing order of size.

Also added an ASSERT_SIZE to ComputedStyleBase to ensure this packing
has produced the optimal solution.

BUG=628043

Review-Url: https://codereview.chromium.org/2611633003
Cr-Commit-Position: refs/heads/master@{#441594}

[modify] https://crrev.com/b319a2f99e630380875c015a50fd20d5dd41ac3a/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/b319a2f99e630380875c015a50fd20d5dd41ac3a/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.cpp.tmpl

Project Member Comment 65 by bugdroid1@chromium.org, Jan 10 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d8b62ea53246ab528786b9a8d312d0a3733e46e9

commit d8b62ea53246ab528786b9a8d312d0a3733e46e9
Author: napper <napper@chromium.org>
Date: Tue Jan 10 05:43:57 2017

Made text-align property independent.

Made text-align property independent. Also updated
independent-inheritance-fast-path.html to include textAlign.

Tested using independent-inheritance-fast-path.html.

BUG=628043

Review-Url: https://codereview.chromium.org/2628503002
Cr-Commit-Position: refs/heads/master@{#442500}

[modify] https://crrev.com/d8b62ea53246ab528786b9a8d312d0a3733e46e9/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html
[modify] https://crrev.com/d8b62ea53246ab528786b9a8d312d0a3733e46e9/third_party/WebKit/Source/core/css/CSSProperties.in

Project Member Comment 66 by bugdroid1@chromium.org, Jan 10 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eb5e40651ca7d137d9b4840a61ce050b5ac04f12

commit eb5e40651ca7d137d9b4840a61ce050b5ac04f12
Author: sashab <sashab@chromium.org>
Date: Tue Jan 10 06:15:10 2017

Removed ComputedStyle::inheritUnicodeBidiFrom

Removed ComputedStyle::inheritUnicodeBidiFrom, which only had one
callsite in ComputedStyle.cpp, and replaced the callsite with the
method's implementation.

BUG=628043

Review-Url: https://codereview.chromium.org/2624703002
Cr-Commit-Position: refs/heads/master@{#442514}

[modify] https://crrev.com/eb5e40651ca7d137d9b4840a61ce050b5ac04f12/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/eb5e40651ca7d137d9b4840a61ce050b5ac04f12/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 67 by bugdroid1@chromium.org, Jan 10 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7be243c1bc4d31b76d2ce7ea120057c9f5e662bd

commit 7be243c1bc4d31b76d2ce7ea120057c9f5e662bd
Author: napper <napper@chromium.org>
Date: Tue Jan 10 08:02:47 2017

Made text-transform property independent.

Made text-transform property independent. Also updated
independent-inheritance-fast-path.html to include textTransform.

Tested using independent-inheritance-fast-path.html.

BUG=628043

Review-Url: https://codereview.chromium.org/2619813004
Cr-Commit-Position: refs/heads/master@{#442530}

[modify] https://crrev.com/7be243c1bc4d31b76d2ce7ea120057c9f5e662bd/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html
[modify] https://crrev.com/7be243c1bc4d31b76d2ce7ea120057c9f5e662bd/third_party/WebKit/Source/core/css/CSSProperties.in

Project Member Comment 68 by bugdroid1@chromium.org, Jan 10 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fba6c12e687130b2c3fe4d812d51e52592e701e1

commit fba6c12e687130b2c3fe4d812d51e52592e701e1
Author: napper <napper@chromium.org>
Date: Tue Jan 10 19:37:36 2017

Moved -webkit-rtl-ordering to be generated in ComputedStyleBase.

Move the inherited property -webkit-rtl-ordering and its enum, EOrder,
to be generated in ComputedStyleBase, and updated enum values to the
new k-prefix style. Also moved getter / setter /
initial value methods to be generated in ComputedStyleBase, and changed
the naming from RTLOrdering to RtlOrdering to be consistent with the
naming of other methods.

BUG=628043

Review-Url: https://codereview.chromium.org/2622623003
Cr-Commit-Position: refs/heads/master@{#442659}

[modify] https://crrev.com/fba6c12e687130b2c3fe4d812d51e52592e701e1/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/fba6c12e687130b2c3fe4d812d51e52592e701e1/third_party/WebKit/Source/core/css/CSSProperties.in
[modify] https://crrev.com/fba6c12e687130b2c3fe4d812d51e52592e701e1/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/fba6c12e687130b2c3fe4d812d51e52592e701e1/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/fba6c12e687130b2c3fe4d812d51e52592e701e1/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/fba6c12e687130b2c3fe4d812d51e52592e701e1/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp
[modify] https://crrev.com/fba6c12e687130b2c3fe4d812d51e52592e701e1/third_party/WebKit/Source/core/layout/TextRunConstructor.cpp
[modify] https://crrev.com/fba6c12e687130b2c3fe4d812d51e52592e701e1/third_party/WebKit/Source/core/layout/line/InlineFlowBox.cpp
[modify] https://crrev.com/fba6c12e687130b2c3fe4d812d51e52592e701e1/third_party/WebKit/Source/core/layout/line/InlineIterator.h
[modify] https://crrev.com/fba6c12e687130b2c3fe4d812d51e52592e701e1/third_party/WebKit/Source/core/layout/line/InlineTextBox.cpp
[modify] https://crrev.com/fba6c12e687130b2c3fe4d812d51e52592e701e1/third_party/WebKit/Source/core/layout/svg/line/SVGInlineTextBox.cpp
[modify] https://crrev.com/fba6c12e687130b2c3fe4d812d51e52592e701e1/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/fba6c12e687130b2c3fe4d812d51e52592e701e1/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/fba6c12e687130b2c3fe4d812d51e52592e701e1/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 69 by bugdroid1@chromium.org, Jan 11 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a22b359aaf415967f333e0a24adcf422e40a4024

commit a22b359aaf415967f333e0a24adcf422e40a4024
Author: napper <napper@chromium.org>
Date: Wed Jan 11 05:19:18 2017

Made -webkit-rtl-ordering property independent.

Made -webkit-rtl-ordering property independent. Also updated
independent-inheritance-fast-path.html to include webkitRtlOrdering.

Tested using independent-inheritance-fast-path.html.

BUG=628043

Review-Url: https://codereview.chromium.org/2626893002
Cr-Commit-Position: refs/heads/master@{#442808}

[modify] https://crrev.com/a22b359aaf415967f333e0a24adcf422e40a4024/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html
[modify] https://crrev.com/a22b359aaf415967f333e0a24adcf422e40a4024/third_party/WebKit/Source/core/css/CSSProperties.in

Project Member Comment 70 by bugdroid1@chromium.org, Jan 11 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bcbe36cce42ae13bee7b03a6e037237676959935

commit bcbe36cce42ae13bee7b03a6e037237676959935
Author: sashab <sashab@chromium.org>
Date: Wed Jan 11 23:08:00 2017

Renamed EUnicodeBidi to just UnicodeBidi

Renamed EUnicodeBidi to just UnicodeBidi to match the name of the file,
UnicodeBidi.h. This is pre-work to allow UnicodeBidi to be used by
generated fields in ComputedStyleBase, and also better matches the
style guidelines (class names should have the same name as the file).

BUG=628043

Review-Url: https://codereview.chromium.org/2620873002
Cr-Commit-Position: refs/heads/master@{#443041}

[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/core/css/CSSProperties.in
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/core/editing/VisibleUnits.cpp
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/core/layout/BidiRunForLine.cpp
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/core/layout/LayoutMenuList.cpp
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/core/layout/LayoutText.cpp
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/core/layout/LayoutTextControl.cpp
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/core/layout/TextRunConstructor.cpp
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/core/layout/line/InlineIterator.h
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/core/layout/ng/ng_bidi_paragraph.cc
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/core/layout/ng/ng_layout_inline_items_builder.cc
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/core/layout/ng/ng_layout_inline_items_builder_test.cc
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/core/layout/svg/LayoutSVGInlineText.cpp
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/platform/text/UnicodeBidi.h
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/web/ExternalPopupMenu.cpp
[modify] https://crrev.com/bcbe36cce42ae13bee7b03a6e037237676959935/third_party/WebKit/Source/web/PopupMenuImpl.cpp

Project Member Comment 71 by bugdroid1@chromium.org, Jan 12 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/19df4a657a408440594776000848d096feffe5d7

commit 19df4a657a408440594776000848d096feffe5d7
Author: napper <napper@chromium.org>
Date: Thu Jan 12 01:09:52 2017

Revert of Made text-align property independent. (patchset #2 id:20001 of https://codereview.chromium.org/2628503002/ )

Reason for revert:
Misaligned text elements found in manual testing.

BUG=680009

Original issue's description:
> Made text-align property independent.
>
> Made text-align property independent. Also updated
> independent-inheritance-fast-path.html to include textAlign.
>
> Tested using independent-inheritance-fast-path.html.
>
> BUG=628043
>
> Review-Url: https://codereview.chromium.org/2628503002
> Cr-Commit-Position: refs/heads/master@{#442500}
> Committed: https://chromium.googlesource.com/chromium/src/+/d8b62ea53246ab528786b9a8d312d0a3733e46e9

TBR=sashab@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=628043

Review-Url: https://codereview.chromium.org/2627833003
Cr-Commit-Position: refs/heads/master@{#443101}

[modify] https://crrev.com/19df4a657a408440594776000848d096feffe5d7/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html
[modify] https://crrev.com/19df4a657a408440594776000848d096feffe5d7/third_party/WebKit/Source/core/css/CSSProperties.in

Project Member Comment 72 by bugdroid1@chromium.org, Jan 13 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5db4d106559db54bf67baf7dc6cce91b41dca812

commit 5db4d106559db54bf67baf7dc6cce91b41dca812
Author: napper <napper@chromium.org>
Date: Fri Jan 13 00:29:11 2017

Fixed text-align keywords in CSSProperties.in.

Fixed text-align keywords in CSSProperties.in to match the values in
CSSValueKeywords.in. This will not actually change the generated values
at this time since "webkitLeft", and "-webkit-left" will both result
in the enum value "kWebkitLeft" being generated. However, long term
it is important that the values exactly match those in
CSSValueKeywords.in.

BUG=628043

Review-Url: https://codereview.chromium.org/2631473002
Cr-Commit-Position: refs/heads/master@{#443410}

[modify] https://crrev.com/5db4d106559db54bf67baf7dc6cce91b41dca812/third_party/WebKit/Source/core/css/CSSProperties.in

Project Member Comment 73 by bugdroid1@chromium.org, Jan 13 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b3ed3fda96b01e3447617f65c660c2eb6eeabdab

commit b3ed3fda96b01e3447617f65c660c2eb6eeabdab
Author: napper <napper@chromium.org>
Date: Fri Jan 13 03:54:05 2017

Updated independent-inheritance-fast-path.html to test all keywords.

Updated independent-inheritance-fast-path.html to test all keywords
instead of just testing a single keyword. Updated the independent
properties table to include all keywords for the independent properties.

BUG=628043

Review-Url: https://codereview.chromium.org/2620383008
Cr-Commit-Position: refs/heads/master@{#443482}

[modify] https://crrev.com/b3ed3fda96b01e3447617f65c660c2eb6eeabdab/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html

Project Member Comment 74 by bugdroid1@chromium.org, Jan 17 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/38cfdb247bfbe1d7438173ce3cf46e19394ca53e

commit 38cfdb247bfbe1d7438173ce3cf46e19394ca53e
Author: napper <napper@chromium.org>
Date: Tue Jan 17 03:38:58 2017

Changed EInsideLink to an enum class with an unsigned type.

Changed EInsideLink to an enum class with an unsigned type, and added
'k' prefix to enum values as per the style convention.

Changing it to an enum class enforces better namespacing and code
practices. Adding the unsigned underlying type is pre-work for when the
class is eventually stored as an enum bitfield.

This is also pre-work to move EInsideLink to be generated in
ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2633633003
Cr-Commit-Position: refs/heads/master@{#443980}

[modify] https://crrev.com/38cfdb247bfbe1d7438173ce3cf46e19394ca53e/third_party/WebKit/Source/core/css/resolver/ElementResolveContext.cpp
[modify] https://crrev.com/38cfdb247bfbe1d7438173ce3cf46e19394ca53e/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/38cfdb247bfbe1d7438173ce3cf46e19394ca53e/third_party/WebKit/Source/core/dom/VisitedLinkState.cpp
[modify] https://crrev.com/38cfdb247bfbe1d7438173ce3cf46e19394ca53e/third_party/WebKit/Source/core/dom/VisitedLinkState.h
[modify] https://crrev.com/38cfdb247bfbe1d7438173ce3cf46e19394ca53e/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourcePaintServer.cpp
[modify] https://crrev.com/38cfdb247bfbe1d7438173ce3cf46e19394ca53e/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/38cfdb247bfbe1d7438173ce3cf46e19394ca53e/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/38cfdb247bfbe1d7438173ce3cf46e19394ca53e/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[modify] https://crrev.com/38cfdb247bfbe1d7438173ce3cf46e19394ca53e/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp

Project Member Comment 75 by bugdroid1@chromium.org, Jan 18 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dabe54f6a65efa95a6587d88c2745fac3188c80c

commit dabe54f6a65efa95a6587d88c2745fac3188c80c
Author: sashab <sashab@chromium.org>
Date: Wed Jan 18 04:59:57 2017

Changed EBoxSizing to an enum class and renamed its members

Changed EBoxSizing to an enum class and gave it an unsigned underlying
type. Also renamed its members to match the CSS keywords they
represent, and added the 'k' prefix in line with the Blink rename to
match Chromium style.

Changing it to an enum class enforces better namespacing and code
practices. Adding the unsigned underlying type is pre-work for when the
class is eventually stored as an enum bitfield (it would be done in this
patch, except a presubmit warning already exists that prevents that. The
presubmit warning needs to be updated before that change can occur.)

This is also pre-work to allow EBoxSizing to be used by generated
fields in ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2625553005
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2635143002
Cr-Commit-Position: refs/heads/master@{#444278}

[modify] https://crrev.com/dabe54f6a65efa95a6587d88c2745fac3188c80c/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/dabe54f6a65efa95a6587d88c2745fac3188c80c/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/dabe54f6a65efa95a6587d88c2745fac3188c80c/third_party/WebKit/Source/core/layout/LayoutBlock.cpp
[modify] https://crrev.com/dabe54f6a65efa95a6587d88c2745fac3188c80c/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/dabe54f6a65efa95a6587d88c2745fac3188c80c/third_party/WebKit/Source/core/layout/LayoutTable.cpp
[modify] https://crrev.com/dabe54f6a65efa95a6587d88c2745fac3188c80c/third_party/WebKit/Source/core/layout/LayoutTableCell.h
[modify] https://crrev.com/dabe54f6a65efa95a6587d88c2745fac3188c80c/third_party/WebKit/Source/core/layout/ng/ng_absolute_utils_test.cc
[modify] https://crrev.com/dabe54f6a65efa95a6587d88c2745fac3188c80c/third_party/WebKit/Source/core/layout/ng/ng_length_utils.cc
[modify] https://crrev.com/dabe54f6a65efa95a6587d88c2745fac3188c80c/third_party/WebKit/Source/core/layout/ng/ng_length_utils_test.cc
[modify] https://crrev.com/dabe54f6a65efa95a6587d88c2745fac3188c80c/third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp
[modify] https://crrev.com/dabe54f6a65efa95a6587d88c2745fac3188c80c/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
[modify] https://crrev.com/dabe54f6a65efa95a6587d88c2745fac3188c80c/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/dabe54f6a65efa95a6587d88c2745fac3188c80c/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[modify] https://crrev.com/dabe54f6a65efa95a6587d88c2745fac3188c80c/third_party/WebKit/Source/core/style/StyleBoxData.cpp

Project Member Comment 76 by bugdroid1@chromium.org, Jan 20 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b5695963741c4d95f87de36114abe737b5bdb0a1

commit b5695963741c4d95f87de36114abe737b5bdb0a1
Author: amoylan <amoylan@chromium.org>
Date: Fri Jan 20 04:18:45 2017

Standardize ECursor enum value names

This includes two updates to value names in the ECursor enum that
are required in preparation for this enum to be automatically
generated in future:
* Use k-prefix
* Rename Cross -> Crosshair

BUG=628043

Review-Url: https://codereview.chromium.org/2640713002
Cr-Commit-Position: refs/heads/master@{#444981}

[modify] https://crrev.com/b5695963741c4d95f87de36114abe737b5bdb0a1/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/b5695963741c4d95f87de36114abe737b5bdb0a1/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
[modify] https://crrev.com/b5695963741c4d95f87de36114abe737b5bdb0a1/third_party/WebKit/Source/core/input/EventHandler.cpp
[modify] https://crrev.com/b5695963741c4d95f87de36114abe737b5bdb0a1/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/b5695963741c4d95f87de36114abe737b5bdb0a1/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[modify] https://crrev.com/b5695963741c4d95f87de36114abe737b5bdb0a1/third_party/WebKit/Source/web/WebViewImpl.cpp

Comment 77 by shend@chromium.org, Jan 25 2017
Blockedon: 684966
Comment 78 by shend@chromium.org, Jan 29 2017
Blockedon: 686585
Project Member Comment 79 by bugdroid1@chromium.org, Jan 31 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7f4313ab6f2a84dffb7394c6311afa8e1e0a5667

commit 7f4313ab6f2a84dffb7394c6311afa8e1e0a5667
Author: shend <shend@chromium.org>
Date: Tue Jan 31 03:07:06 2017

Change setIsLink to conform with other nonproperty setters.

In ComputedStyle, there are a few fields that are not CSS properties.
They are mostly boolean fields, with getters and setters. The setters
take no arguments and simply sets the boolean field to true. One
exception is the isLink field, whose setter takes an argument and assigns
the field to the argument (like a normal setter). However, we only use
the setter as 'setIsLink(true)'. This patch changes the setIsLink setter
to conform to the other nonproperty setters.

This is prework for generating nonproperty fields in ComputedStyle. This
patch allows us to generate the setter for isLink like the other
nonproperty fields.

BUG=628043

Review-Url: https://codereview.chromium.org/2665603002
Cr-Commit-Position: refs/heads/master@{#447173}

[modify] https://crrev.com/7f4313ab6f2a84dffb7394c6311afa8e1e0a5667/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/7f4313ab6f2a84dffb7394c6311afa8e1e0a5667/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 80 by bugdroid1@chromium.org, Jan 31 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/660b3866aba5c7195935ba0987ee3af9ea5a0649

commit 660b3866aba5c7195935ba0987ee3af9ea5a0649
Author: shend <shend@chromium.org>
Date: Tue Jan 31 07:48:46 2017

Moved clear property to be generated in ComputedStyleBase.

Move the inherited property clear and its enum, EClear,
to be generated in ComputedStyleBase. Also moved getter / setter /
initial value methods to be generated in ComputedStyleBase.

This also reduces the size of ComputedStyle by 8 bytes.

BUG=628043

Review-Url: https://codereview.chromium.org/2656733002
Cr-Commit-Position: refs/heads/master@{#447206}

[modify] https://crrev.com/660b3866aba5c7195935ba0987ee3af9ea5a0649/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/660b3866aba5c7195935ba0987ee3af9ea5a0649/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/660b3866aba5c7195935ba0987ee3af9ea5a0649/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/660b3866aba5c7195935ba0987ee3af9ea5a0649/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Cc: -meade@chromium.org sashab@chromium.org
Owner: meade@chromium.org
Status: Started
Transitioning to meade@ as new owner.
Project Member Comment 82 by bugdroid1@chromium.org, Feb 3
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/14a1ac0a3d3be32ac70c9cf16b8f9405355e5d79

commit 14a1ac0a3d3be32ac70c9cf16b8f9405355e5d79
Author: shend <shend@chromium.org>
Date: Fri Feb 03 04:34:57 2017

Moved table-layout property to be generated in ComputedStyleBase.

Move the property table-layout and its enum, ETableLayout,
to be generated in ComputedStyleBase. Also moved getter / setter /
initial value methods to be generated in ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2669433002
Cr-Commit-Position: refs/heads/master@{#447937}

[modify] https://crrev.com/14a1ac0a3d3be32ac70c9cf16b8f9405355e5d79/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/14a1ac0a3d3be32ac70c9cf16b8f9405355e5d79/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/14a1ac0a3d3be32ac70c9cf16b8f9405355e5d79/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/14a1ac0a3d3be32ac70c9cf16b8f9405355e5d79/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Blockedon: 689330
Project Member Comment 84 by bugdroid1@chromium.org, Feb 7
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/25b1de1a5da3dbe754e4461cdd5c7ca2b3502ab6

commit 25b1de1a5da3dbe754e4461cdd5c7ca2b3502ab6
Author: shend <shend@chromium.org>
Date: Tue Feb 07 23:13:42 2017

Change ComputedStyle::setUnique to take bool parameter.

Currently setUnique() takes no arguments and sets the corresponding
nonproperty flag to be true. However, this is different to the
traditional setters of property fields, where they set the field to an
argument value. Instead of handling setUnique as a special case in the
generator, we change setUnique to a normal setter that takes a boolean
parameter. This decision was discussed in crrev.com/2667543002.

This is prework for generating 'unique'.

BUG=628043

Review-Url: https://codereview.chromium.org/2677843002
Cr-Commit-Position: refs/heads/master@{#448774}

[modify] https://crrev.com/25b1de1a5da3dbe754e4461cdd5c7ca2b3502ab6/third_party/WebKit/Source/core/css/ElementRuleCollector.cpp
[modify] https://crrev.com/25b1de1a5da3dbe754e4461cdd5c7ca2b3502ab6/third_party/WebKit/Source/core/css/SelectorChecker.cpp
[modify] https://crrev.com/25b1de1a5da3dbe754e4461cdd5c7ca2b3502ab6/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp
[modify] https://crrev.com/25b1de1a5da3dbe754e4461cdd5c7ca2b3502ab6/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
[modify] https://crrev.com/25b1de1a5da3dbe754e4461cdd5c7ca2b3502ab6/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/25b1de1a5da3dbe754e4461cdd5c7ca2b3502ab6/third_party/WebKit/Source/core/html/forms/MultipleFieldsTemporalInputTypeView.cpp
[modify] https://crrev.com/25b1de1a5da3dbe754e4461cdd5c7ca2b3502ab6/third_party/WebKit/Source/core/html/shadow/DateTimeEditElement.cpp
[modify] https://crrev.com/25b1de1a5da3dbe754e4461cdd5c7ca2b3502ab6/third_party/WebKit/Source/core/html/shadow/TextControlInnerElements.cpp
[modify] https://crrev.com/25b1de1a5da3dbe754e4461cdd5c7ca2b3502ab6/third_party/WebKit/Source/core/layout/LayoutTextControlMultiLine.cpp
[modify] https://crrev.com/25b1de1a5da3dbe754e4461cdd5c7ca2b3502ab6/third_party/WebKit/Source/core/layout/LayoutTextControlSingleLine.cpp
[modify] https://crrev.com/25b1de1a5da3dbe754e4461cdd5c7ca2b3502ab6/third_party/WebKit/Source/core/layout/TextAutosizer.cpp
[modify] https://crrev.com/25b1de1a5da3dbe754e4461cdd5c7ca2b3502ab6/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 85 by bugdroid1@chromium.org, Feb 8
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b66eb61f525f914b1b478b56e7b4792db7b4c4e5

commit b66eb61f525f914b1b478b56e7b4792db7b4c4e5
Author: shend <shend@chromium.org>
Date: Wed Feb 08 07:01:23 2017

Support generating enums shared by multiple ComputedStyle fields.

When we generate fields in ComputedStyleBase, we generate both a new
enum type and a corresponding member variable with that type. So every
generated enum can only have one corresponding member. Unfortunately,
there are some enums (like EOverflow) that are shared by several
members.

The current solution is to explicitly specify the type_name flag, which
allows multiple fields to have the same enum type name. However, the
script currently will break if there's two fields with the same name
but different keywords.

This patch prevents such name conflicts by checking that enums with the
same name have the exact same keywords.

This is prework for generating the overflow-x and overflow-y fields
in ComputedStyle.

BUG=628043

Review-Url: https://codereview.chromium.org/2669973002
Cr-Commit-Position: refs/heads/master@{#448926}

[modify] https://crrev.com/b66eb61f525f914b1b478b56e7b4792db7b4c4e5/third_party/WebKit/Source/build/scripts/make_computed_style_base.py

Project Member Comment 86 by bugdroid1@chromium.org, Feb 9
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/446e9444ff7dd64a3afff530b5224069d14f72a5

commit 446e9444ff7dd64a3afff530b5224069d14f72a5
Author: amoylan <amoylan@chromium.org>
Date: Thu Feb 09 23:56:29 2017

Remove BreakAlways from EBreak enum

This change is the first step in preparing EBreak for automatic
generation.

The EBreak enum currently has three kinds of values:
* Values applicable to break-before & break-after property
* A subset of these applicable to break-inline
* A single value BreakAlways applicable to neither and only used
  temporarily in the code path for computing values for the properties
  page-break-before|after|inline and
  -webkit-column-break-before|after|inline.

This change removes the last bullet point. The next stage will split the
other two into separate enum classes with standardized naming.

Reasons to feel confident about removing BreakAlways:
* There are existing DCHECKs ensuring that it is never set in
  ComputedStyle (removed in this CL).
* CSSValueAlways (the only thing that maps to it) is excluded from the
  list of allowed values for break-before|after|inline in
  CSSParserFastPaths.cpp.
* For the legacy properties (page|-webkit-column)-break-(before|after),
  CSSPropertyParser.cpp converts CSSValueAlways to either CSSValuePage
  or CSSValueColumn as appropriate (and CSSValueInvalid for
  *-inside properties).

I have replaced the temporary use of BreakAlways within
ComputedStyleCSSValueMapping.cpp with an equivalent direct conversion to
appropriate CSSValues. (This seems more consistent with the rest of
ComputedStyleCSSValueMapping.cpp anyway.)

BUG=628043

Review-Url: https://codereview.chromium.org/2677033002
Cr-Commit-Position: refs/heads/master@{#449474}

[modify] https://crrev.com/446e9444ff7dd64a3afff530b5224069d14f72a5/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/446e9444ff7dd64a3afff530b5224069d14f72a5/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/446e9444ff7dd64a3afff530b5224069d14f72a5/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/446e9444ff7dd64a3afff530b5224069d14f72a5/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 87 by bugdroid1@chromium.org, Feb 10
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7b2c17a81e500d85c26b4836eb88c62095b6f109

commit 7b2c17a81e500d85c26b4836eb88c62095b6f109
Author: shend <shend@chromium.org>
Date: Fri Feb 10 01:04:02 2017

Moved overflow-x and overflow-y to be generated in ComputedStyleBase.

Move the property overflow-x and overflow-y to be generated in
ComputedStyleBase. Both properties share the same enum type, which is
generated in ComputedStyleBaseConstants. Also moved getter / setter /
initial value methods to be generated in ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2673533002
Cr-Commit-Position: refs/heads/master@{#449499}

[modify] https://crrev.com/7b2c17a81e500d85c26b4836eb88c62095b6f109/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/7b2c17a81e500d85c26b4836eb88c62095b6f109/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/7b2c17a81e500d85c26b4836eb88c62095b6f109/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/7b2c17a81e500d85c26b4836eb88c62095b6f109/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Labels: Objective Update-Monthly
Project Member Comment 89 by bugdroid1@chromium.org, Feb 13
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cc78776e3214ce8cd60288796a20baf7f98e7b52

commit cc78776e3214ce8cd60288796a20baf7f98e7b52
Author: amoylan <amoylan@chromium.org>
Date: Mon Feb 13 00:39:39 2017

Split EBreak enum into EBreakBetween & EBreakInside

This change splits EBreak into two enums that are ready for automatic
generation.

Before this change:
* The EBreak enum includes all values applicable to break-before &
  break-after properties.
* A subset of these values are applicable to break-inside & this
  subset is enforced with some asserts.

After this change:
* EBreakBetween includes all values applicable to break-before &
  break-after.
* EBreakInside includes values applicable to break-inside.

Client code working with EBreak has been made specific to the
appropriate new enum. I burrowed upwards through the call chain using
code search to find out / verify whether each client was using EBreak to
store EBreakBetween-like values (most often), EBreakInside-like values
(sometimes), or both (rarely).

I chose the name "EBreakBetween" because the main clients in /layout use
"Between" for the same thing.

BUG=628043

Review-Url: https://codereview.chromium.org/2682573002
Cr-Commit-Position: refs/heads/master@{#449903}

[modify] https://crrev.com/cc78776e3214ce8cd60288796a20baf7f98e7b52/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/cc78776e3214ce8cd60288796a20baf7f98e7b52/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/cc78776e3214ce8cd60288796a20baf7f98e7b52/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/cc78776e3214ce8cd60288796a20baf7f98e7b52/third_party/WebKit/Source/core/layout/ColumnBalancer.cpp
[modify] https://crrev.com/cc78776e3214ce8cd60288796a20baf7f98e7b52/third_party/WebKit/Source/core/layout/ColumnBalancer.h
[modify] https://crrev.com/cc78776e3214ce8cd60288796a20baf7f98e7b52/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
[modify] https://crrev.com/cc78776e3214ce8cd60288796a20baf7f98e7b52/third_party/WebKit/Source/core/layout/LayoutBlockFlow.h
[modify] https://crrev.com/cc78776e3214ce8cd60288796a20baf7f98e7b52/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/cc78776e3214ce8cd60288796a20baf7f98e7b52/third_party/WebKit/Source/core/layout/LayoutBox.h
[modify] https://crrev.com/cc78776e3214ce8cd60288796a20baf7f98e7b52/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/cc78776e3214ce8cd60288796a20baf7f98e7b52/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 90 by bugdroid1@chromium.org, Feb 13
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/062539120d0c3585f8a0a393246c5b98e0cd26f7

commit 062539120d0c3585f8a0a393246c5b98e0cd26f7
Author: shend <shend@chromium.org>
Date: Mon Feb 13 08:22:20 2017

Revert of Change ComputedStyle::setUnique to take bool parameter. (patchset #1 id:1 of https://codereview.chromium.org/2677843002/ )

Reason for revert:
After discussion, it makes more sense for setUnique to take no arguments.

Original issue's description:
> Change ComputedStyle::setUnique to take bool parameter.
>
> Currently setUnique() takes no arguments and sets the corresponding
> nonproperty flag to be true. However, this is different to the
> traditional setters of property fields, where they set the field to an
> argument value. Instead of handling setUnique as a special case in the
> generator, we change setUnique to a normal setter that takes a boolean
> parameter. This decision was discussed in crrev.com/2667543002.
>
> This is prework for generating 'unique'.
>
> BUG=628043
>
> Review-Url: https://codereview.chromium.org/2677843002
> Cr-Commit-Position: refs/heads/master@{#448774}
> Committed: https://chromium.googlesource.com/chromium/src/+/25b1de1a5da3dbe754e4461cdd5c7ca2b3502ab6

TBR=sashab@chromium.org,esprehn@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=628043

Review-Url: https://codereview.chromium.org/2689983002
Cr-Commit-Position: refs/heads/master@{#449918}

[modify] https://crrev.com/062539120d0c3585f8a0a393246c5b98e0cd26f7/third_party/WebKit/Source/core/css/ElementRuleCollector.cpp
[modify] https://crrev.com/062539120d0c3585f8a0a393246c5b98e0cd26f7/third_party/WebKit/Source/core/css/SelectorChecker.cpp
[modify] https://crrev.com/062539120d0c3585f8a0a393246c5b98e0cd26f7/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp
[modify] https://crrev.com/062539120d0c3585f8a0a393246c5b98e0cd26f7/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
[modify] https://crrev.com/062539120d0c3585f8a0a393246c5b98e0cd26f7/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/062539120d0c3585f8a0a393246c5b98e0cd26f7/third_party/WebKit/Source/core/html/forms/MultipleFieldsTemporalInputTypeView.cpp
[modify] https://crrev.com/062539120d0c3585f8a0a393246c5b98e0cd26f7/third_party/WebKit/Source/core/html/shadow/DateTimeEditElement.cpp
[modify] https://crrev.com/062539120d0c3585f8a0a393246c5b98e0cd26f7/third_party/WebKit/Source/core/html/shadow/TextControlInnerElements.cpp
[modify] https://crrev.com/062539120d0c3585f8a0a393246c5b98e0cd26f7/third_party/WebKit/Source/core/layout/LayoutTextControlMultiLine.cpp
[modify] https://crrev.com/062539120d0c3585f8a0a393246c5b98e0cd26f7/third_party/WebKit/Source/core/layout/LayoutTextControlSingleLine.cpp
[modify] https://crrev.com/062539120d0c3585f8a0a393246c5b98e0cd26f7/third_party/WebKit/Source/core/layout/TextAutosizer.cpp
[modify] https://crrev.com/062539120d0c3585f8a0a393246c5b98e0cd26f7/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 91 by bugdroid1@chromium.org, Feb 13
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1b4d28430e901f64aa5727490a3768bb25f3139e

commit 1b4d28430e901f64aa5727490a3768bb25f3139e
Author: amoylan <amoylan@chromium.org>
Date: Mon Feb 13 22:36:57 2017

Automatically generate EBreakBetween & EBreakInside

The change updates CSSProperties.json5 to cause the EBreakBetween &
EBreakInside enums to be automatically generated in
ComputedStyleBase.cpp.

The manual definition of these enums and any relevant getters, setters,
initializers, and comparitors in ComputedStyle.h/cpp are removed.

BUG=628043

Review-Url: https://codereview.chromium.org/2681833004
Cr-Commit-Position: refs/heads/master@{#450124}

[modify] https://crrev.com/1b4d28430e901f64aa5727490a3768bb25f3139e/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/1b4d28430e901f64aa5727490a3768bb25f3139e/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/1b4d28430e901f64aa5727490a3768bb25f3139e/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/1b4d28430e901f64aa5727490a3768bb25f3139e/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 92 by bugdroid1@chromium.org, Feb 14
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c0a8bdbcd693f00a522afa34e5bdceb3129bb1da

commit c0a8bdbcd693f00a522afa34e5bdceb3129bb1da
Author: shend <shend@chromium.org>
Date: Tue Feb 14 00:40:02 2017

Add Jinja2 macro for adding trailing strings.

There's a lot of repetitive code in ComputedStyleBase.h.tmpl to handle
formatting. For example, the member initialiser list in the generated
constructor needs a trailing comma for every member except the last one.
This patch moves such code into a generic macro in macros.tmpl, which
which makes it available for other templates.

This will be used more frequently when we start introducing more
complexity to the ComputedStyle templates.

BUG=628043

Review-Url: https://codereview.chromium.org/2680123002
Cr-Commit-Position: refs/heads/master@{#450173}

[modify] https://crrev.com/c0a8bdbcd693f00a522afa34e5bdceb3129bb1da/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/c0a8bdbcd693f00a522afa34e5bdceb3129bb1da/third_party/WebKit/Source/build/scripts/templates/macros.tmpl

Project Member Comment 93 by bugdroid1@chromium.org, Feb 14
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dfb72e700f9603d638fb9510d9c2f015c26cb8e8

commit dfb72e700f9603d638fb9510d9c2f015c26cb8e8
Author: shend <shend@chromium.org>
Date: Tue Feb 14 04:12:27 2017

Moved nonproperty 'unique' to be generated in ComputedStyleBase.

Currently we are generating some CSS property fields in ComputedStyle.
This patch allows the code generator to generate nonproperty fields as
well. Nonproperty fields are member variables in ComputedStyle that
are not actually CSS properties (e.g. m_isLink, m_unique). Property
fields are mostly enums, whereas most nonproperty fields are boolean
flags.

To show that this is working, this patch move the nonproperty field
'unique' to be generated in ComputedStyleBase. Also moved getter /
setter methods to be generated in ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2667543002
Cr-Commit-Position: refs/heads/master@{#450238}

[modify] https://crrev.com/dfb72e700f9603d638fb9510d9c2f015c26cb8e8/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/dfb72e700f9603d638fb9510d9c2f015c26cb8e8/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/dfb72e700f9603d638fb9510d9c2f015c26cb8e8/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/dfb72e700f9603d638fb9510d9c2f015c26cb8e8/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 94 by bugdroid1@chromium.org, Feb 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e3c137153d7e9995c53612e071d3afe094de39e2

commit e3c137153d7e9995c53612e071d3afe094de39e2
Author: shend <shend@chromium.org>
Date: Mon Feb 20 00:06:41 2017

Clean up type handling in make_computed_style_base.py.

Currently, the way we specify the types of fields in ComputedStyleBase
is confusing and inconsistent. This makes it difficult to extend the
generator to support non-enum types like ints and platform types.

This patch renames:
- storage_type -> type_name (not really storage related)
- storage_type_path -> field_type_path (not really storage related)
- field_family -> field_role (family is vague, role is better IMO)
- keyword_only -> field_template (field_template generalises
  keyword_only to more than just enums).

so that, as of this patch:
- Every field picks a 'template' which for now can only be 'keyword',
  but can be 'primitive' or 'external' when we support those later.
  This affects what the generated API for that field looks like.
- Every field has a 'type_name', which is the actual C++ type used in
  the generated code. For 'keyword' fields, this is the enum name.
  For 'primitive', it'll be int/bool etc. Previously, 'storage_type'
  was same as 'type_name', which means templates could not tell
  whether the field is a enum or something else.

This patch does not change behaviour.

BUG=628043

Review-Url: https://codereview.chromium.org/2692803002
Cr-Commit-Position: refs/heads/master@{#451534}

[modify] https://crrev.com/e3c137153d7e9995c53612e071d3afe094de39e2/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/e3c137153d7e9995c53612e071d3afe094de39e2/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/e3c137153d7e9995c53612e071d3afe094de39e2/third_party/WebKit/Source/core/css/CSSProperties.json5

Project Member Comment 95 by bugdroid1@chromium.org, Feb 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/97670d39c3a534c68f5ec0131c6baefbccc99602

commit 97670d39c3a534c68f5ec0131c6baefbccc99602
Author: shend <shend@chromium.org>
Date: Mon Feb 20 03:36:34 2017

Only include unique files in generated ComputedStyleBase.h

Currently files included in ComputedStyleBase.h can be duplicated. When
we introduce platform types, we expect lots of duplicate includes.
Duplicates don't won't break things, but does slow down compilation.
This patch makes sure that the include files are unique and sorted
alphabetically.

As a nice side-effect, we can remove type_path from the Field class
since it's only used to obtain the include files.

BUG=628043

Review-Url: https://codereview.chromium.org/2692943006
Cr-Commit-Position: refs/heads/master@{#451554}

[modify] https://crrev.com/97670d39c3a534c68f5ec0131c6baefbccc99602/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/97670d39c3a534c68f5ec0131c6baefbccc99602/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl

Project Member Comment 96 by bugdroid1@chromium.org, Feb 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f6f56fb3cadf1933dbc1b9f3419f13399287bc5d

commit f6f56fb3cadf1933dbc1b9f3419f13399287bc5d
Author: shend <shend@chromium.org>
Date: Mon Feb 20 22:40:16 2017

Remove ComputedStyleBase::setBitsDefault().

ComputedStyle::setBitDefaults() resets its members to their initial
value. Since part of ComputedStyle is generated in ComputedStyleBase,
this method also calls ComputedStyleBase::setBitDefaults(), which resets
the generated members as well.

However, ComputedStyle::setBitDefaults() is only called in the
ComputedStyle constructors, so the generated members are initialised
once in the ComputedStyleBase constructor (since its a base class), and
then re-initialised a second time by a setBitDefaults() call in the
constructor body.

This patch removes ComputedStyleBase::setBitDefaults() so that
generated members are only initialised once, not twice. It also renames
ComputedStyle::setBitDefaults() to initializeBitDefaults() so it's
clearer that it's meant to be used inside the constructor.

BUG=628043

Review-Url: https://codereview.chromium.org/2699843002
Cr-Commit-Position: refs/heads/master@{#451666}

[modify] https://crrev.com/f6f56fb3cadf1933dbc1b9f3419f13399287bc5d/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/f6f56fb3cadf1933dbc1b9f3419f13399287bc5d/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/f6f56fb3cadf1933dbc1b9f3419f13399287bc5d/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 97 by bugdroid1@chromium.org, Feb 27
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/92131be1f24ca5fa037afb835c4df358269a113c

commit 92131be1f24ca5fa037afb835c4df358269a113c
Author: shend <shend@chromium.org>
Date: Mon Feb 27 21:34:55 2017

Remove inheritance on SameSizeAsComputedStyle.

Currently there is a static assert that checks the size of ComputedStyle
against a comparison struct of known size. However, the comparison
struct inherits from ComputedStyleBase, so the size of ComputedStyleBase
is hidden from view. This patch explicitly declares the size of
ComputedStyleBase in the comparison struct so that we can get a better
sense of how big ComputedStyle is.

BUG=628043

Review-Url: https://codereview.chromium.org/2716813002
Cr-Commit-Position: refs/heads/master@{#453345}

[modify] https://crrev.com/92131be1f24ca5fa037afb835c4df358269a113c/third_party/WebKit/Source/core/style/ComputedStyle.cpp

Project Member Comment 98 by bugdroid1@chromium.org, Feb 28
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/21ca7c7f71295c31a418e6dfe5dc03148e7bb9b9

commit 21ca7c7f71295c31a418e6dfe5dc03148e7bb9b9
Author: rune <rune@opera.com>
Date: Tue Feb 28 01:06:47 2017

Use independent property inheritance fast-path for text-align.

This was originally attempted in [1], but the custom function for
applying text-align values did not clear the inherited bit.

Added a test to the framework to catch the case for trying to propagate
a value down to a descendant with the property explicitly set.

[1] https://codereview.chromium.org/2628503002/

R=sashab@chromium.org,napper@chromium.org
BUG=628043,686585

Review-Url: https://codereview.chromium.org/2715213003
Cr-Commit-Position: refs/heads/master@{#453430}

[modify] https://crrev.com/21ca7c7f71295c31a418e6dfe5dc03148e7bb9b9/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html
[modify] https://crrev.com/21ca7c7f71295c31a418e6dfe5dc03148e7bb9b9/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/21ca7c7f71295c31a418e6dfe5dc03148e7bb9b9/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp

Project Member Comment 99 by bugdroid1@chromium.org, Mar 1
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3597c98b66546aa1dd3dea707570a3384dc7b922

commit 3597c98b66546aa1dd3dea707570a3384dc7b922
Author: alancutter <alancutter@chromium.org>
Date: Wed Mar 01 03:38:29 2017

Minor tweak to ComputedStyleBase.h.tmpl formatting

This patch changes the generated ComputedStyleBase.h code from:
    return true &&
        m_listStyleType == o.m_listStyleType &&
        m_textAlign == o.m_textAlign &&
        m_writingMode == o.m_writingMode &&
        m_direction == o.m_direction
    ;
to:
    return (
        m_listStyleType == o.m_listStyleType &&
        m_textAlign == o.m_textAlign &&
        m_writingMode == o.m_writingMode &&
        m_direction == o.m_direction
    );

BUG=628043

Review-Url: https://codereview.chromium.org/2718323002
Cr-Commit-Position: refs/heads/master@{#453828}

[modify] https://crrev.com/3597c98b66546aa1dd3dea707570a3384dc7b922/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl

Project Member Comment 100 by bugdroid1@chromium.org, Mar 1
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2f8222f7704a78f4a3ada84c1fdd915b6da2b219

commit 2f8222f7704a78f4a3ada84c1fdd915b6da2b219
Author: shend <shend@chromium.org>
Date: Wed Mar 01 15:12:49 2017

Moved nonproperties 'affectedBy*' to be generated in ComputedStyleBase.

Move the nonproperty fields:
- affectedByFocus
- affectedByHover
- affectedByActive
- affectedByDrag
to be generated in ComputedStyleBase.  Also moved getter / setter
methods to be generated in ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2669453002
Cr-Commit-Position: refs/heads/master@{#453935}

[modify] https://crrev.com/2f8222f7704a78f4a3ada84c1fdd915b6da2b219/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/2f8222f7704a78f4a3ada84c1fdd915b6da2b219/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 101 by bugdroid1@chromium.org, Mar 2
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/600391d1b460f14000ea7035144f1d5d3460a9a5

commit 600391d1b460f14000ea7035144f1d5d3460a9a5
Author: shend <shend@chromium.org>
Date: Thu Mar 02 15:42:25 2017

Remove non-generated member 'm_unique' from ComputedStyle.

In a previous patch (crrev.com/2667543002), the nonproperty 'unique'
became generated in ComputedStyleBase. However, the original handwritten
'unique' was not removed from ComputedStyle, so we currently have two
declarations of 'unique', one of which is not used.

This patch removes the handwritten version which is unused.

BUG=628043

Review-Url: https://codereview.chromium.org/2725853003
Cr-Commit-Position: refs/heads/master@{#454269}

[modify] https://crrev.com/600391d1b460f14000ea7035144f1d5d3460a9a5/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 102 by bugdroid1@chromium.org, Mar 2
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/37a76369eb0ad7176c613023f29a16fde58f8b97

commit 37a76369eb0ad7176c613023f29a16fde58f8b97
Author: shend <shend@chromium.org>
Date: Thu Mar 02 16:00:21 2017

Generate nonproperty 'variableReference' in ComputedStyleBase.

Move the nonproperty field 'variableReference' to be generated in
ComputedStyleBase. Also moved getter / setter methods to be generated in
ComputedStyleBase.

Note that this renames m_variableReference to something much longer.
This shouldn't affect anything since the member is private and only used
within the generated class.

BUG=628043

Review-Url: https://codereview.chromium.org/2676513002
Cr-Commit-Position: refs/heads/master@{#454271}

[modify] https://crrev.com/37a76369eb0ad7176c613023f29a16fde58f8b97/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/37a76369eb0ad7176c613023f29a16fde58f8b97/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/37a76369eb0ad7176c613023f29a16fde58f8b97/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 103 by bugdroid1@chromium.org, Mar 3
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c26572689b73d3ecee94cd96257f4822d6e21950

commit c26572689b73d3ecee94cd96257f4822d6e21950
Author: shend <shend@chromium.org>
Date: Fri Mar 03 05:39:37 2017

Generate nonproperty 'explicitInheritance' in ComputedStyleBase.

Move the nonproperty field 'explicitInheritance' to be generated in
ComputedStyleBase. Also moved getter / setter methods to be generated in
ComputedStyleBase.

Note that this renames m_explicitInheritance to something much longer.
This shouldn't affect anything since the member is private and only used
within the generated class.

Also, after this patch, ComputedStyle returns to its original size.

BUG=628043

Review-Url: https://codereview.chromium.org/2672703002
Cr-Commit-Position: refs/heads/master@{#454520}

[modify] https://crrev.com/c26572689b73d3ecee94cd96257f4822d6e21950/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/c26572689b73d3ecee94cd96257f4822d6e21950/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/c26572689b73d3ecee94cd96257f4822d6e21950/third_party/WebKit/Source/core/style/ComputedStyle.h

Cc: meade@chromium.org
Owner: shend@chromium.org
Description: Show this description
Project Member Comment 106 by bugdroid1@chromium.org, Mar 9
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/483a632594b00e8cbaa061aeb86c9f9fd965e2ba

commit 483a632594b00e8cbaa061aeb86c9f9fd965e2ba
Author: shend <shend@chromium.org>
Date: Thu Mar 09 00:16:53 2017

Remove unused equality operator from ComputedStyleBase.

ComputedStyleBase::operator== is generated incorrectly since it includes
nonproperty fields as well. Fortunately, the equality operator is never
called anywhere, so it didn't cause any issues. This patch removes this
operator so that we don't accidentally use it in the future.

ComputedStyle has a correct equality implementation that should be used
instead.

BUG=628043

Review-Url: https://codereview.chromium.org/2736563002
Cr-Commit-Position: refs/heads/master@{#455606}

[modify] https://crrev.com/483a632594b00e8cbaa061aeb86c9f9fd965e2ba/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl

Project Member Comment 107 by bugdroid1@chromium.org, Mar 10
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6ce2feb35c970fe7d9557c851c016c6d6c8b1d39

commit 6ce2feb35c970fe7d9557c851c016c6d6c8b1d39
Author: shend <shend@chromium.org>
Date: Fri Mar 10 17:45:34 2017

Move field-dependent code in ComputedStyleBase to Jinja macros.

When we're generating fields in ComputedStyleBase, there are cases
where the generated code depends on the field template. For example,
keyword fields may have different getters than platform type fields.
Instead of doing if-else statements inside the template which makes
it quite ugly, this patch moves that logic out into their own files
as Jinja macros. Each file defines Jinja macros that specify how a
field should be generated.

This patch adds a 'keyword' template for enums, 'flag' template for
bools, and 'monotonic_flag' for nonproperty flags that can't be set
to false.

Link to generated code:
https://gist.github.com/anonymous/93f5d3907e3515d0b50adf0107f3000e

Link to diff (see differences in 'initialUnique' and 'resetUnique'):
https://www.diffchecker.com/mikllVbf

BUG=628043

Review-Url: https://codereview.chromium.org/2693933003
Cr-Commit-Position: refs/heads/master@{#456095}

[modify] https://crrev.com/6ce2feb35c970fe7d9557c851c016c6d6c8b1d39/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/6ce2feb35c970fe7d9557c851c016c6d6c8b1d39/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[add] https://crrev.com/6ce2feb35c970fe7d9557c851c016c6d6c8b1d39/third_party/WebKit/Source/build/scripts/templates/fields/base.tmpl
[add] https://crrev.com/6ce2feb35c970fe7d9557c851c016c6d6c8b1d39/third_party/WebKit/Source/build/scripts/templates/fields/flag.tmpl
[add] https://crrev.com/6ce2feb35c970fe7d9557c851c016c6d6c8b1d39/third_party/WebKit/Source/build/scripts/templates/fields/keyword.tmpl
[add] https://crrev.com/6ce2feb35c970fe7d9557c851c016c6d6c8b1d39/third_party/WebKit/Source/build/scripts/templates/fields/monotonic_flag.tmpl
[modify] https://crrev.com/6ce2feb35c970fe7d9557c851c016c6d6c8b1d39/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/6ce2feb35c970fe7d9557c851c016c6d6c8b1d39/third_party/WebKit/Source/core/css/CSSProperties.json5

Project Member Comment 108 by bugdroid1@chromium.org, Mar 10
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/db0b85bc46d4602f7b275001f26cbf6052267d35

commit db0b85bc46d4602f7b275001f26cbf6052267d35
Author: shend <shend@chromium.org>
Date: Fri Mar 10 21:53:09 2017

Add TODO to deprecate ComputedStyle::operator==.

ComputedStyle::operator== excludes some data members in the comparison,
and it's not clear what members are compared and what are not. Ideally,
the equality operator would be replaced with a named method that better
describes which data members are compared.

BUG=628043

Review-Url: https://codereview.chromium.org/2740953003
Cr-Commit-Position: refs/heads/master@{#456177}

[modify] https://crrev.com/db0b85bc46d4602f7b275001f26cbf6052267d35/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 109 by bugdroid1@chromium.org, Mar 14
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fc3b987e456edc71cb5b4286ce0fa90599468468

commit fc3b987e456edc71cb5b4286ce0fa90599468468
Author: shend <shend@chromium.org>
Date: Tue Mar 14 21:21:49 2017

Combine ComputedStyle default ctor with initial style ctor.

ComputedStyle has two constructors. The default constructor initialises
all the fields and copies the DataRefs from initialStyle(). The other
constructor creates the initial style, which initialises all the fields
and also allocates the memory for each of the DataRefs.

Having two constructors makes it more difficult to maintain and think
about, so this patch removes the default constructor, which can be
implemented instead by copying from the initial style.

BUG=628043

Review-Url: https://codereview.chromium.org/2735283002
Cr-Commit-Position: refs/heads/master@{#456836}

[modify] https://crrev.com/fc3b987e456edc71cb5b4286ce0fa90599468468/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/fc3b987e456edc71cb5b4286ce0fa90599468468/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 110 by bugdroid1@chromium.org, Mar 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/335e4d5926d1360df2a0f973a760ae9a9abe054a

commit 335e4d5926d1360df2a0f973a760ae9a9abe054a
Author: shend <shend@chromium.org>
Date: Wed Mar 15 02:08:09 2017

Moved nonproperty isLink to be generated in ComputedStyleBase.

Move the nonproperty field isLink to be generated in ComputedStyleBase.
Also moved getter / setter methods to be generated in ComputedStyleBase.

Diff: https://gist.github.com/76592244b306fb4f5c953e0f67687d53/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2657423004
Cr-Commit-Position: refs/heads/master@{#456948}

[modify] https://crrev.com/335e4d5926d1360df2a0f973a760ae9a9abe054a/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/335e4d5926d1360df2a0f973a760ae9a9abe054a/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 111 by bugdroid1@chromium.org, Mar 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/44a3e217dedd16eea0ac435e1444e7980586f634

commit 44a3e217dedd16eea0ac435e1444e7980586f634
Author: shend <shend@chromium.org>
Date: Wed Mar 15 04:31:16 2017

Simplify ComputedStyleBase::inheritedEqual.

Currently ComputedStyleBase::inheritedEqual just does a pairwise compare
over all inherited properties. A more concise implementation is to use
the existing independentInheritedEqual and nonIndependentInheritedEqual
methods. This is what ComputedStyle does. We can switch to a more
efficient when we can think of one.

BUG=628043

Review-Url: https://codereview.chromium.org/2741103003
Cr-Commit-Position: refs/heads/master@{#456995}

[modify] https://crrev.com/44a3e217dedd16eea0ac435e1444e7980586f634/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl

Project Member Comment 112 by bugdroid1@chromium.org, Mar 16
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ffd34d347dc1889ae692610c4d35cc2fc97ca9c0

commit ffd34d347dc1889ae692610c4d35cc2fc97ca9c0
Author: shend <shend@chromium.org>
Date: Thu Mar 16 22:13:33 2017

Make ComputedStyleBase abstract.

Currently ComputedStyleBase can be instantiated, and a ComputedStyle can
be deleted via a pointer to ComputedStyleBase. Both of these could cause
issues since ComputedStyleBase should be an abstract class.

This patch moves the ComputedStyleBase constructor and destructor to be
protected so that only ComputedStyle can call them.

BUG=628043

Review-Url: https://codereview.chromium.org/2739553003
Cr-Commit-Position: refs/heads/master@{#457579}

[modify] https://crrev.com/ffd34d347dc1889ae692610c4d35cc2fc97ca9c0/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl

Project Member Comment 113 by bugdroid1@chromium.org, Mar 17
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9fa493ef60bc0a4d61858f644b1095cf2a0f6a52

commit 9fa493ef60bc0a4d61858f644b1095cf2a0f6a52
Author: shend <shend@chromium.org>
Date: Fri Mar 17 00:55:11 2017

Use default copy constructor for ComputedStyleBase.

The current copy constructor ComputedStyleBase doesn't do anything
special. This patch removes it so we can just let C++ generate the
default copy constructor instead. When we have opportunities for faster
copy in the future (e.g. using memcpy), we will generate the copy
constructor explicitly.

BUG=628043

Review-Url: https://codereview.chromium.org/2744693002
Cr-Commit-Position: refs/heads/master@{#457637}

[modify] https://crrev.com/9fa493ef60bc0a4d61858f644b1095cf2a0f6a52/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl

Project Member Comment 114 by bugdroid1@chromium.org, Mar 17
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d56884370eecac968f54c5826958938d7c8f1a4c

commit d56884370eecac968f54c5826958938d7c8f1a4c
Author: shend <shend@chromium.org>
Date: Fri Mar 17 05:26:06 2017

Use CSSProperties.json5 format for nonproperties as well.

This patch modifies make_computed_style_base.py so that hardcoded
nonproperties use the same JSON format as CSSProperties.json5. The
list of dicts in NONPROPERTY_FIELDS has the same format and meaning
as the data in CSSProperties.json5.

This allows us to specify different templates for nonproperties.

This is prework for combining the code logic for properties and
nonproperties.

BUG=628043

Review-Url: https://codereview.chromium.org/2745023002
Cr-Commit-Position: refs/heads/master@{#457694}

[modify] https://crrev.com/d56884370eecac968f54c5826958938d7c8f1a4c/third_party/WebKit/Source/build/scripts/make_computed_style_base.py

Project Member Comment 115 by bugdroid1@chromium.org, Mar 19
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8f1b6debc47bc4c5e528fe56a7941c36b04c7f1a

commit 8f1b6debc47bc4c5e528fe56a7941c36b04c7f1a
Author: shend <shend@chromium.org>
Date: Sun Mar 19 23:47:51 2017

Remove ComputedStyle::initializeBitDefaults().

Previously, the data members in ComputedStyle were initialized using
a method called initializeBitDefaults(). This was to avoid duplicating
code for the two constructors in ComputedStyle. Now that there is only
one constructor in ComputedStyle (that initializes the initial style),
we can remove this method.

This patch replaces the initializeBitDefaults() method with proper
initializer lists in ComputedStyle, InheritedData and NonInheritedData.
It also removes the initial style tag from the ComputedStyle
constructor since we no longer have to differentiate between two
constructors.

BUG=628043

Review-Url: https://codereview.chromium.org/2755043002
Cr-Commit-Position: refs/heads/master@{#458006}

[modify] https://crrev.com/8f1b6debc47bc4c5e528fe56a7941c36b04c7f1a/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/8f1b6debc47bc4c5e528fe56a7941c36b04c7f1a/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 116 by bugdroid1@chromium.org, Mar 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9101b588bd21687dac9f733f817d283dcac0d1de

commit 9101b588bd21687dac9f733f817d283dcac0d1de
Author: shend <shend@chromium.org>
Date: Mon Mar 20 02:17:45 2017

Move cursor property to be generated in ComputedStyleBase.

Move the inherited property 'cursor' and its enum, ECursor,
to be generated in ComputedStyleBase. Also moved getter / setter /
initial value methods to be generated in ComputedStyleBase. Finally
replaced handwritten conversion between CSSValueID and ECursor with
generated code.

Note that this renames m_cursorStyle to m_cursor to match
the name of the getter/setter. This shouldn't affect anything
since the member is private and only used within the generated
class.

The changes in generated code is triggered by adding the 'keyword'
field_template to the cursor property in CSSProperties.json5.

Diff: https://gist.github.com/darrnshn/2a3770b1721a7354110633a5ea6fcec1/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2742253002
Cr-Commit-Position: refs/heads/master@{#458012}

[modify] https://crrev.com/9101b588bd21687dac9f733f817d283dcac0d1de/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/9101b588bd21687dac9f733f817d283dcac0d1de/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/9101b588bd21687dac9f733f817d283dcac0d1de/third_party/WebKit/Source/core/css/CSSValueIDMappings.h
[modify] https://crrev.com/9101b588bd21687dac9f733f817d283dcac0d1de/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/9101b588bd21687dac9f733f817d283dcac0d1de/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 117 by bugdroid1@chromium.org, Mar 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2b588924dbe2205d5f52f4cb453d8d2dc20afb0b

commit 2b588924dbe2205d5f52f4cb453d8d2dc20afb0b
Author: shend <shend@chromium.org>
Date: Mon Mar 20 21:28:18 2017

Add 'storage_only' template to make_computed_style_base.py.

As part of generating ComputedStyle, we would like to move all fields to
from ComputedStyle to ComputedStyleBase. Currently there are several
fields which remain in ComputedStyle because their interfaces are
difficult to generate.

The problem is that the current state of ComputedStyle is undesirable.
For example, the fact that some fields are in ComputedStyle and some are
in ComputedStyleBase can increase memory usage. Although we would like
to generate the interfaces for those fields properly, this will take a
long time. So trying to generate the interfaces for the remaining fields
may block progress.

This patch introduces the 'storage_only' field template, which only
generates the storage part of the field. This allows us to move the
remaining fields to ComputedStyleBase and have handwritten interfaces.

This is temporary. We would like to eventually replace 'storage_only'
with proper templates that generate actual interfaces. But for the
time being, moving all the storage to ComputedStyleBase first is a
priority.

To test this, we move the storage of 'm_emptyState' to be generated in
ComputedStyleBase, but keeping the handwritten interface in
ComputedStyle. This property is hard to generate because it has custom
logic in its setter.

BUG=628043

Review-Url: https://codereview.chromium.org/2742263002
Cr-Commit-Position: refs/heads/master@{#458193}

[modify] https://crrev.com/2b588924dbe2205d5f52f4cb453d8d2dc20afb0b/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/2b588924dbe2205d5f52f4cb453d8d2dc20afb0b/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[add] https://crrev.com/2b588924dbe2205d5f52f4cb453d8d2dc20afb0b/third_party/WebKit/Source/build/scripts/templates/fields/storage_only.tmpl
[modify] https://crrev.com/2b588924dbe2205d5f52f4cb453d8d2dc20afb0b/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/2b588924dbe2205d5f52f4cb453d8d2dc20afb0b/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 118 by bugdroid1@chromium.org, Mar 21
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/937b793358b743d046d2038b9fe979056f660465

commit 937b793358b743d046d2038b9fe979056f660465
Author: shend <shend@chromium.org>
Date: Tue Mar 21 22:15:23 2017

Remove non-generated member 'm_emptyState' from ComputedStyle.

In a previous patch (crrev.com/2742263002), the member 'm_emptyState'
became generated in ComputedStyleBase. However, the original handwritten
'm_emptyState' was not removed from ComputedStyle due to a bad merge.

This patch removes the handwritten version which is unused.

BUG=628043

Review-Url: https://codereview.chromium.org/2761263002
Cr-Commit-Position: refs/heads/master@{#458577}

[modify] https://crrev.com/937b793358b743d046d2038b9fe979056f660465/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 119 by bugdroid1@chromium.org, Mar 22
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a6bfb94ddcb95eef883d62b3d65de8e13192e90c

commit a6bfb94ddcb95eef883d62b3d65de8e13192e90c
Author: shend <shend@chromium.org>
Date: Wed Mar 22 05:10:50 2017

Move naming related code in make_computed_style_base to name_utilities.

Currently make_computed_style_base is sprinkled with a lot of code
related to variable names and method names. These are common pieces of
logic that can be reused by other generators as well.

This patch tidies up make_computed_style_base by moving naming logic
to name_utilities.py.

BUG=628043

Review-Url: https://codereview.chromium.org/2756113002
Cr-Commit-Position: refs/heads/master@{#458635}

[modify] https://crrev.com/a6bfb94ddcb95eef883d62b3d65de8e13192e90c/third_party/WebKit/Source/build/scripts/css_properties.py
[modify] https://crrev.com/a6bfb94ddcb95eef883d62b3d65de8e13192e90c/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/a6bfb94ddcb95eef883d62b3d65de8e13192e90c/third_party/WebKit/Source/build/scripts/name_utilities.py

Project Member Comment 120 by bugdroid1@chromium.org, Mar 22
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a0ca178033ce1a45919921fa67a050b808d706de

commit a0ca178033ce1a45919921fa67a050b808d706de
Author: shend <shend@chromium.org>
Date: Wed Mar 22 22:44:11 2017

Simplify handling of names in make_computed_style_base.py.

There is a lot of duplicate code in make_computed_style_base.py used to
handle names. This patch refactors the code so that the Field class
handles most of the naming logic.

BUG=628043

Review-Url: https://codereview.chromium.org/2762573005
Cr-Commit-Position: refs/heads/master@{#458906}

[modify] https://crrev.com/a0ca178033ce1a45919921fa67a050b808d706de/third_party/WebKit/Source/build/scripts/make_computed_style_base.py

Project Member Comment 121 by bugdroid1@chromium.org, Mar 23
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bc0808a25d54a0138ce2d61e838191a5b1f4f3e0

commit bc0808a25d54a0138ce2d61e838191a5b1f4f3e0
Author: shend <shend@chromium.org>
Date: Thu Mar 23 21:34:57 2017

Unify logic for properties and nonproperties in computed_style_base.py

As nonproperty fields get more complex, the logic to create nonproperty
fields becomes very similar to property fields. This patch merges the
two code paths so that properties and nonproperties share as much logic
as possible.

BUG=628043

Review-Url: https://codereview.chromium.org/2766933002
Cr-Commit-Position: refs/heads/master@{#459231}

[modify] https://crrev.com/bc0808a25d54a0138ce2d61e838191a5b1f4f3e0/third_party/WebKit/Source/build/scripts/make_computed_style_base.py

Project Member Comment 122 by bugdroid1@chromium.org, Mar 24
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6b815d45f10ca1b8fb208647f2a0576bdf31e006

commit 6b815d45f10ca1b8fb208647f2a0576bdf31e006
Author: shend <shend@chromium.org>
Date: Fri Mar 24 00:06:47 2017

Generate the storage of pseudoBits and styleType in ComputedStyleBase.

In ComputedStyle, pseudoBits and styleType are two data members used for
storing psuedoelement styles. Their interface is difficult to generate
because:
1) They share the same enum, but not all enum values are valid for
   styleType.
2) pseudoBits is a bit set, which we can't generate yet.

This patch uses the 'storage_only' template to move the storage of both
fields to ComputedStyleBase first, and keep the interfaces handwritten.

This is prework for either generating those fields properly or removing
pseudo style information from ComputedStyle entirely.

Diff of generated files: https://gist.github.com/darrnshn/1044b3bd2822c62072ab6f0e22f43104/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2755053002
Cr-Commit-Position: refs/heads/master@{#459290}

[modify] https://crrev.com/6b815d45f10ca1b8fb208647f2a0576bdf31e006/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/6b815d45f10ca1b8fb208647f2a0576bdf31e006/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/6b815d45f10ca1b8fb208647f2a0576bdf31e006/third_party/WebKit/Source/build/scripts/templates/fields/storage_only.tmpl
[modify] https://crrev.com/6b815d45f10ca1b8fb208647f2a0576bdf31e006/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/6b815d45f10ca1b8fb208647f2a0576bdf31e006/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 123 by bugdroid1@chromium.org, Mar 24
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8a7ed1bc6c96fa8ce4da4c7d80eb064a74265aff

commit 8a7ed1bc6c96fa8ce4da4c7d80eb064a74265aff
Author: shend <shend@chromium.org>
Date: Fri Mar 24 00:31:01 2017

Generate inherited nonproperties insideLink and hasSimpleUnderline.

This patch moves insideLink and hasSimpleUnderline to be generated in
ComputedStyleBase. Both are inherited nonproperties. To generate them,
this patch allows nonproperties to be inherited and have arbitrary
field_templates.

Since these are the last two remaining inherited fields stored directly
in ComputedStyle, this patch also removes the InheritedData struct from
ComputedStyle.

Diff of generated code:
https://gist.github.com/darrnshn/81e60b88825691200d681a1927040167/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2759343002
Cr-Commit-Position: refs/heads/master@{#459301}

[modify] https://crrev.com/8a7ed1bc6c96fa8ce4da4c7d80eb064a74265aff/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/8a7ed1bc6c96fa8ce4da4c7d80eb064a74265aff/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.cpp.tmpl
[modify] https://crrev.com/8a7ed1bc6c96fa8ce4da4c7d80eb064a74265aff/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/8a7ed1bc6c96fa8ce4da4c7d80eb064a74265aff/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/8a7ed1bc6c96fa8ce4da4c7d80eb064a74265aff/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/8a7ed1bc6c96fa8ce4da4c7d80eb064a74265aff/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 124 by bugdroid1@chromium.org, Mar 27
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4efed9fa047ba47f6f4849a597c49a741fafbd18

commit 4efed9fa047ba47f6f4849a597c49a741fafbd18
Author: shend <shend@chromium.org>
Date: Mon Mar 27 00:11:53 2017

Moved display property to be generated in ComputedStyleBase.

Move the noninherited property display and its enum, EDisplay,
to be generated in ComputedStyleBase. Also moved getter / setter /
initial value methods to be generated in ComputedStyleBase.

Note that this renames m_effectiveDisplay to m_display to match
the name of the getter/setter. This shouldn't affect anything
since the member is private and only used within the generated
class.

BUG=628043

Review-Url: https://codereview.chromium.org/2672693002
Cr-Commit-Position: refs/heads/master@{#459683}

[modify] https://crrev.com/4efed9fa047ba47f6f4849a597c49a741fafbd18/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/4efed9fa047ba47f6f4849a597c49a741fafbd18/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/4efed9fa047ba47f6f4849a597c49a741fafbd18/third_party/WebKit/Source/core/css/CSSValueIDMappings.h
[modify] https://crrev.com/4efed9fa047ba47f6f4849a597c49a741fafbd18/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/4efed9fa047ba47f6f4849a597c49a741fafbd18/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/4efed9fa047ba47f6f4849a597c49a741fafbd18/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 125 by bugdroid1@chromium.org, Mar 27
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eef3d4234dc4399e0b1192dd9af1e74b590d36ee

commit eef3d4234dc4399e0b1192dd9af1e74b590d36ee
Author: shend <shend@chromium.org>
Date: Mon Mar 27 07:17:38 2017

Document why ComputedStyle constructor and destructor are protected.

In a previous patch https://codereview.chromium.org/2739553003, the
constructor and destructor of ComputedStyle were moved to be protected,
but it was not clear in the code why this was done. This patch adds a
comment explain it.

BUG=628043

Review-Url: https://codereview.chromium.org/2775153002
Cr-Commit-Position: refs/heads/master@{#459713}

[modify] https://crrev.com/eef3d4234dc4399e0b1192dd9af1e74b590d36ee/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl

Project Member Comment 126 by bugdroid1@chromium.org, Mar 28
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/564f08807c0a1721eabe2a76f20d42020d94cf48

commit 564f08807c0a1721eabe2a76f20d42020d94cf48
Author: shend <shend@chromium.org>
Date: Tue Mar 28 22:10:57 2017

Generate nonproperty originalDisplay in ComputedStyleBase.

The nonproperty originalDisplay has the same behaviour as
effectiveDisplay. It is used to save the value of effectiveDisplay
before we mutate ComputedStyle. This patch moves this field to be
generated in ComputedStyleBase.

Diff of generated files:
https://gist.github.com/darrnshn/fbb2854779c4c6e232036b86bed581e4/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2766973002
Cr-Commit-Position: refs/heads/master@{#460220}

[modify] https://crrev.com/564f08807c0a1721eabe2a76f20d42020d94cf48/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/564f08807c0a1721eabe2a76f20d42020d94cf48/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/564f08807c0a1721eabe2a76f20d42020d94cf48/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 127 by bugdroid1@chromium.org, Mar 29
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/18d53b4dbb62b07ff63391b11519ab4b8332a93b

commit 18d53b4dbb62b07ff63391b11519ab4b8332a93b
Author: shend <shend@chromium.org>
Date: Wed Mar 29 05:13:53 2017

Generate keyword part of vertical-align property in ComputedStyleBase.

The vertical-align property can either have a keyword value or a length
value. The two values are stored separately in ComputedStyle. The
keyword part is stored directly in ComputedStyle, but the length part is
stored in StyleBoxData. Hence, generating this property is quite
difficult.

This patch generates just the keyword part of vertical-align. To make it
clear that this is not generating the whole of vertical-align properly,
we generate it as a 'storage_only' nonproperty.

Diff of generated files:
https://gist.github.com/3e52ce1e0e38fd208196ed0621f6c0b3/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2775573002
Cr-Commit-Position: refs/heads/master@{#460283}

[modify] https://crrev.com/18d53b4dbb62b07ff63391b11519ab4b8332a93b/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/18d53b4dbb62b07ff63391b11519ab4b8332a93b/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/18d53b4dbb62b07ff63391b11519ab4b8332a93b/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 128 by bugdroid1@chromium.org, Mar 31
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/73670040884ced3d736cde3c452a1fab82e68f70

commit 73670040884ced3d736cde3c452a1fab82e68f70
Author: shend <shend@chromium.org>
Date: Fri Mar 31 00:46:35 2017

Add support for generating external types in ComputedStyleBase.

Many members in ComputedStyle are platform types like Length or
LengthBox. We currently can't generate them because they cannot be
bitfields. This patch does several things:
1) Generate different code based on whether a field is a bitfield or not.
   This allows us to store external types without packing.
2) Add a new field template 'external' which creates getter/setters that
   return/accept references and do not do any static_casts. This allows
   us to expose external types efficiently.
3) Change "initial-keyword" to "default-value" in CSSProperties.json5 to
   make keyword fields consistent with external fields.

BUG=628043

Review-Url: https://codereview.chromium.org/2697953004
Cr-Commit-Position: refs/heads/master@{#460958}

[modify] https://crrev.com/73670040884ced3d736cde3c452a1fab82e68f70/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/73670040884ced3d736cde3c452a1fab82e68f70/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.cpp.tmpl
[modify] https://crrev.com/73670040884ced3d736cde3c452a1fab82e68f70/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/73670040884ced3d736cde3c452a1fab82e68f70/third_party/WebKit/Source/build/scripts/templates/fields/base.tmpl
[add] https://crrev.com/73670040884ced3d736cde3c452a1fab82e68f70/third_party/WebKit/Source/build/scripts/templates/fields/external.tmpl
[add] https://crrev.com/73670040884ced3d736cde3c452a1fab82e68f70/third_party/WebKit/Source/build/scripts/templates/fields/field.tmpl
[modify] https://crrev.com/73670040884ced3d736cde3c452a1fab82e68f70/third_party/WebKit/Source/build/scripts/templates/fields/monotonic_flag.tmpl
[modify] https://crrev.com/73670040884ced3d736cde3c452a1fab82e68f70/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/73670040884ced3d736cde3c452a1fab82e68f70/third_party/WebKit/Source/core/css/CSSProperties.json5

Project Member Comment 129 by bugdroid1@chromium.org, Mar 31
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e12d70fb8a80561804cf6b033cb355ca6fc74aed

commit e12d70fb8a80561804cf6b033cb355ca6fc74aed
Author: shend <shend@chromium.org>
Date: Fri Mar 31 05:42:12 2017

Add utility for joining names in generated code.

One common task in code generators is to append/prepend a suffix/prefix
to a name. For example, in make_computed_style_base.py, we prepend the
prefix 'set' to a name to form a setter name. Currently, we simply
concatenate the two strings together and then pass it through a name
utility like CamelCase that makes sure the final name is in the right
format. However, this is fragile, because if the name was in lower camel
case, say 'fooBar', then the concatenation is 'setfooBar', and now
'setfoo' is one word so using a name utility like CamelCase would only
produce 'SetfooBar' and not 'SetFooBar'.

This patch adds a utility function called join_name, which takes
multiple names and combines them into one name irrespective of their
individual formats.

BUG=628043

Review-Url: https://codereview.chromium.org/2785013002
Cr-Commit-Position: refs/heads/master@{#461050}

[modify] https://crrev.com/e12d70fb8a80561804cf6b033cb355ca6fc74aed/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/e12d70fb8a80561804cf6b033cb355ca6fc74aed/third_party/WebKit/Source/build/scripts/name_utilities.py

Project Member Comment 130 by bugdroid1@chromium.org, Apr 3
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/542dc4c9f70f7c9e1a3ec096c6b62bceceb5e47f

commit 542dc4c9f70f7c9e1a3ec096c6b62bceceb5e47f
Author: shend <shend@chromium.org>
Date: Mon Apr 03 01:11:03 2017

Split StyleSurroundData::offset into separate members.

In generating ComputedStyle, every generated data member must
correspond to a CSS property (whether long hand or short hand).
StyleSurroundData is part of ComputedStyle and we would like to generate
it as well. Unfortunately, the 'left', 'right', 'top' and 'bottom' CSS
properties are grouped as one data member 'offset', which does not
actually correspond to either a long or short hand CSS property, unlike
'margin' and 'padding'. Thus, we cannot generate this data member
directly.

This patch splits 'offset' into 'left', 'right', 'top' and 'bottom'
so that every data member in StyleSurroundData corresponds to a CSS
property. This allows us to generate it in a later patch.

BUG=628043

Review-Url: https://codereview.chromium.org/2705143002
Cr-Commit-Position: refs/heads/master@{#461356}

[modify] https://crrev.com/542dc4c9f70f7c9e1a3ec096c6b62bceceb5e47f/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/542dc4c9f70f7c9e1a3ec096c6b62bceceb5e47f/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/542dc4c9f70f7c9e1a3ec096c6b62bceceb5e47f/third_party/WebKit/Source/core/style/StyleSurroundData.cpp
[modify] https://crrev.com/542dc4c9f70f7c9e1a3ec096c6b62bceceb5e47f/third_party/WebKit/Source/core/style/StyleSurroundData.h
[modify] https://crrev.com/542dc4c9f70f7c9e1a3ec096c6b62bceceb5e47f/third_party/WebKit/Source/platform/LengthBox.cpp
[modify] https://crrev.com/542dc4c9f70f7c9e1a3ec096c6b62bceceb5e47f/third_party/WebKit/Source/platform/LengthBox.h

Project Member Comment 131 by bugdroid1@chromium.org, Apr 3
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a7b895068b5c1ec56ae5097b3310a6d5d013732f

commit a7b895068b5c1ec56ae5097b3310a6d5d013732f
Author: shend <shend@chromium.org>
Date: Mon Apr 03 03:05:28 2017

Rename members of StyleSurroundData and ComputedStyle.

This patch renames:
- StyleSurroundData::margin -> m_margin
- StyleSurroundData::padding -> m_padding
- StyleSurroundData::border -> m_border
- ComputedStyle::paddingBox() -> ComputedStyle::padding()
- ComputedStyle::setPaddingBox() -> ComputedStyle::setPadding()

This is prework for generating StyleSurroundData.

BUG=628043

Review-Url: https://codereview.chromium.org/2787183002
Cr-Commit-Position: refs/heads/master@{#461364}

[modify] https://crrev.com/a7b895068b5c1ec56ae5097b3310a6d5d013732f/third_party/WebKit/Source/core/layout/LayoutTheme.cpp
[modify] https://crrev.com/a7b895068b5c1ec56ae5097b3310a6d5d013732f/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/a7b895068b5c1ec56ae5097b3310a6d5d013732f/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/a7b895068b5c1ec56ae5097b3310a6d5d013732f/third_party/WebKit/Source/core/style/StyleSurroundData.cpp
[modify] https://crrev.com/a7b895068b5c1ec56ae5097b3310a6d5d013732f/third_party/WebKit/Source/core/style/StyleSurroundData.h

Project Member Comment 132 by bugdroid1@chromium.org, Apr 4
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/de33c94cc211c5ee1994ce3fa0d43abc355a4e9c

commit de33c94cc211c5ee1994ce3fa0d43abc355a4e9c
Author: shend <shend@chromium.org>
Date: Tue Apr 04 08:02:26 2017

Implement RefCountedCopyable<T>.

Currently, subclasses of RefCounted<T> must explicitly handwrite their
copy constructors because RefCounted<T> has a deleted copy constructor.
This is tedious for subclasses that have a lot of members (e.g.
StyleRareNonInheritedData).

RefCountedCopyable<T> is a base class for ref-counted classes that
want to be copyable as well. RefCountedCopyable<T> implements a
protected copy constructor that resets the ref count to zero. Because
the copy constructor is protected, the compiler is able to generate a
default copy constructor for subclasses.

This patch moves StyleBoxData to RefCountedCopyable as an example.

BUG=628043

Review-Url: https://codereview.chromium.org/2781313004
Cr-Commit-Position: refs/heads/master@{#461656}

[modify] https://crrev.com/de33c94cc211c5ee1994ce3fa0d43abc355a4e9c/third_party/WebKit/Source/core/style/StyleBoxData.cpp
[modify] https://crrev.com/de33c94cc211c5ee1994ce3fa0d43abc355a4e9c/third_party/WebKit/Source/core/style/StyleBoxData.h
[modify] https://crrev.com/de33c94cc211c5ee1994ce3fa0d43abc355a4e9c/third_party/WebKit/Source/platform/wtf/RefCounted.h

Project Member Comment 133 by bugdroid1@chromium.org, Apr 5
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fe7b8a3b74de1097ffc1ff819c6b2109dcb6800b

commit fe7b8a3b74de1097ffc1ff819c6b2109dcb6800b
Author: shend <shend@chromium.org>
Date: Wed Apr 05 02:53:24 2017

Make ComputedStyle generation deterministic.

Since Python dicts are unordered, it is possible that, when we generate
ComputedStyle with no changes to CSSProperties, the generated code is
different (e.g. different order of enum declarations). This is bad
when we start showing diffs for generated code.

This patch enforces an ordering on the generate code so that the
generated code should always be the same given the same input. Namely:

- Enum type declarations are ordered in alphabetical order by name.
- Fields are ordered first by size (for packing), and then in
  alphabetical order by name when there's a tie.

BUG=628043

Review-Url: https://codereview.chromium.org/2686473004
Cr-Commit-Position: refs/heads/master@{#461956}

[modify] https://crrev.com/fe7b8a3b74de1097ffc1ff819c6b2109dcb6800b/third_party/WebKit/Source/build/scripts/make_computed_style_base.py

Project Member Comment 134 by bugdroid1@chromium.org, Apr 5
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5b97f21d9cd473b57b8ce169f75d9cdc135184fc

commit 5b97f21d9cd473b57b8ce169f75d9cdc135184fc
Author: shend <shend@chromium.org>
Date: Wed Apr 05 23:09:28 2017

Remove mutable from ComputedStyle by const_cast.

This patch removes mutable from ComputedStyle::hasViewportUnits and
hasRemUnits. The only case where this mutability is required is in
CSSToLengthConversionData, where resolving a viewport/rem unit would
set those two members to true on a const ComputedStyle. Instead of
having mutable in ComputedStyle, which is hard to generate, we perform
const_cast on the computed style in CSSToLengthConversionData. This is
safe as all computed styles are initially nonconst.

This patch does not change any behaviour.

This is prework for generating the two fields in ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2793193004
Cr-Commit-Position: refs/heads/master@{#462258}

[modify] https://crrev.com/5b97f21d9cd473b57b8ce169f75d9cdc135184fc/third_party/WebKit/Source/core/css/CSSToLengthConversionData.cpp
[modify] https://crrev.com/5b97f21d9cd473b57b8ce169f75d9cdc135184fc/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 135 by bugdroid1@chromium.org, Apr 5
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/369fddb8128986e11c9485342635999297d97e96

commit 369fddb8128986e11c9485342635999297d97e96
Author: shend <shend@chromium.org>
Date: Wed Apr 05 23:29:14 2017

Remove default argument on ComputedStyle::setHasViewportUnits().

Currently ComputedStyle::setHasViewportUnits() takes a boolean argument,
which defaults to true. We would like to generate this field in a future
patch, but we can't generate this type of setter yet. This patch removes
the default argument on setHasViewportUnits() so that this setter can be
generated without changing the generator. All the callers are updated to
explicitly specify an argument as well.

This is prework for generating setHasViewportUnits.

BUG=628043

Review-Url: https://codereview.chromium.org/2767853002
Cr-Commit-Position: refs/heads/master@{#462270}

[modify] https://crrev.com/369fddb8128986e11c9485342635999297d97e96/third_party/WebKit/Source/core/css/CSSToLengthConversionData.cpp
[modify] https://crrev.com/369fddb8128986e11c9485342635999297d97e96/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 136 by bugdroid1@chromium.org, Apr 5
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/369fddb8128986e11c9485342635999297d97e96

commit 369fddb8128986e11c9485342635999297d97e96
Author: shend <shend@chromium.org>
Date: Wed Apr 05 23:29:14 2017

Remove default argument on ComputedStyle::setHasViewportUnits().

Currently ComputedStyle::setHasViewportUnits() takes a boolean argument,
which defaults to true. We would like to generate this field in a future
patch, but we can't generate this type of setter yet. This patch removes
the default argument on setHasViewportUnits() so that this setter can be
generated without changing the generator. All the callers are updated to
explicitly specify an argument as well.

This is prework for generating setHasViewportUnits.

BUG=628043

Review-Url: https://codereview.chromium.org/2767853002
Cr-Commit-Position: refs/heads/master@{#462270}

[modify] https://crrev.com/369fddb8128986e11c9485342635999297d97e96/third_party/WebKit/Source/core/css/CSSToLengthConversionData.cpp
[modify] https://crrev.com/369fddb8128986e11c9485342635999297d97e96/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 137 by bugdroid1@chromium.org, Apr 6
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e8890d72e9824fce593382d5eb23210e4d7db177

commit e8890d72e9824fce593382d5eb23210e4d7db177
Author: shend <shend@chromium.org>
Date: Thu Apr 06 03:34:09 2017

Generalise 'flag' template to 'primitive' when generating ComputedStyle.

Currently we have 'flag' fields which represent boolean fields inside
ComputedStyle. We can generalise this to not only booleans, but any
primitive value such as int or float. This patch renames the 'flag'
template to 'primitive' and adds a special case for 'bool' fields which
allows them to be packed as a single bit.

This is prework for generating fields that are stored as ints or floats.

This patch does not affect generated code.

BUG=628043

Review-Url: https://codereview.chromium.org/2793843002
Cr-Commit-Position: refs/heads/master@{#462344}

[modify] https://crrev.com/e8890d72e9824fce593382d5eb23210e4d7db177/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/e8890d72e9824fce593382d5eb23210e4d7db177/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[rename] https://crrev.com/e8890d72e9824fce593382d5eb23210e4d7db177/third_party/WebKit/Source/build/scripts/templates/fields/primitive.tmpl
[modify] https://crrev.com/e8890d72e9824fce593382d5eb23210e4d7db177/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/e8890d72e9824fce593382d5eb23210e4d7db177/third_party/WebKit/Source/core/css/CSSProperties.json5

Project Member Comment 138 by bugdroid1@chromium.org, Apr 6
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/25809e1270b9eb4103f1efcc089c781df8465e39

commit 25809e1270b9eb4103f1efcc089c781df8465e39
Author: shend <shend@chromium.org>
Date: Thu Apr 06 06:58:14 2017

Generate ComputedStyle::hasViewportUnits and hasRemUnits.

This patch moves hasViewportUnits and hasRemUnits to be generated in
ComputedStyleBase. Both are noninherited nonproperties.

hasRemUnits is generated as a monotonic_flag field, but
hasViewportUnits needs to be a boolean flag field because there are
places where it gets set to false.

Since these are the two remaining noninherited fields stored directly
in ComputedStyle, this patch also removes the NonInheritedData struct
from ComputedStyle.

Diff of generated files:
https://gist.github.com/47fd74b4a54917d0413367227dcb962a/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2797963002
Cr-Commit-Position: refs/heads/master@{#462377}

[modify] https://crrev.com/25809e1270b9eb4103f1efcc089c781df8465e39/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/25809e1270b9eb4103f1efcc089c781df8465e39/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/25809e1270b9eb4103f1efcc089c781df8465e39/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 139 by bugdroid1@chromium.org, Apr 12
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/83e9ff4b5ed44bf5c2196f3bdfdde63a07c6072e

commit 83e9ff4b5ed44bf5c2196f3bdfdde63a07c6072e
Author: shend <shend@chromium.org>
Date: Wed Apr 12 01:21:31 2017

Allow ComputedStyleBase property fields to be storage_only.

Currently the 'storage_only' template can only be applied to nonproperty
fields because 'storage_only' is not a valid value for 'template' in
CSSProperties.json5. However, there are cases when we want a property
field to be 'storage_only' (e.g. for color related properties whose
getters are very complex).

This patch adds 'storage_only' as a valid template option in
CSSProperties.json5.

BUG=628043

Review-Url: https://codereview.chromium.org/2801523002
Cr-Commit-Position: refs/heads/master@{#463874}

[modify] https://crrev.com/83e9ff4b5ed44bf5c2196f3bdfdde63a07c6072e/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/83e9ff4b5ed44bf5c2196f3bdfdde63a07c6072e/third_party/WebKit/Source/core/css/CSSProperties.json5

Project Member Comment 140 by bugdroid1@chromium.org, Apr 12
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dea75f9603af994dd10370ddd25a0dc6af7b93cd

commit dea75f9603af994dd10370ddd25a0dc6af7b93cd
Author: shend <shend@chromium.org>
Date: Wed Apr 12 08:03:36 2017

Separate CSSValueID mappings generator from ComputedStyleBase generator.

We currently generate mappings between CSSValueID and platform enums
inside the ComputedStyleBase generator. However, because such mappings
do not exist for nonproperty fields, it no longer makes sense for us
to generate these mappings inside make_computed_style_base.py.

This patch moves the generator for CSSValueIDMappingsGenerated to
its own file, so that it is not affected by nonproperty fields.

BUG=628043

Review-Url: https://codereview.chromium.org/2794853002
Cr-Commit-Position: refs/heads/master@{#463955}

[modify] https://crrev.com/dea75f9603af994dd10370ddd25a0dc6af7b93cd/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[add] https://crrev.com/dea75f9603af994dd10370ddd25a0dc6af7b93cd/third_party/WebKit/Source/build/scripts/make_css_value_id_mappings.py
[modify] https://crrev.com/dea75f9603af994dd10370ddd25a0dc6af7b93cd/third_party/WebKit/Source/core/BUILD.gn

Project Member Comment 141 by bugdroid1@chromium.org, Apr 12
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2b7de53bdbe24c3d8088d23862abdd35de67f711

commit 2b7de53bdbe24c3d8088d23862abdd35de67f711
Author: jdoerrie <jdoerrie@chromium.org>
Date: Wed Apr 12 08:40:29 2017

Revert of Separate CSSValueID mappings generator from ComputedStyleBase generator. (patchset #3 id:40001 of https://codereview.chromium.org/2794853002/ )

Reason for revert:
Broke compilation on Google Chrome Mac bot

BUG=710778

Original issue's description:
> Separate CSSValueID mappings generator from ComputedStyleBase generator.
>
> We currently generate mappings between CSSValueID and platform enums
> inside the ComputedStyleBase generator. However, because such mappings
> do not exist for nonproperty fields, it no longer makes sense for us
> to generate these mappings inside make_computed_style_base.py.
>
> This patch moves the generator for CSSValueIDMappingsGenerated to
> its own file, so that it is not affected by nonproperty fields.
>
> BUG=628043
>
> Review-Url: https://codereview.chromium.org/2794853002
> Cr-Commit-Position: refs/heads/master@{#463955}
> Committed: https://chromium.googlesource.com/chromium/src/+/dea75f9603af994dd10370ddd25a0dc6af7b93cd

TBR=bugsnash@chromium.org,meade@chromium.org,shend@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=628043

Review-Url: https://codereview.chromium.org/2812823004
Cr-Commit-Position: refs/heads/master@{#463966}

[modify] https://crrev.com/2b7de53bdbe24c3d8088d23862abdd35de67f711/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[delete] https://crrev.com/2122b4d005c760e6acef72c241c3d91821140dbf/third_party/WebKit/Source/build/scripts/make_css_value_id_mappings.py
[modify] https://crrev.com/2b7de53bdbe24c3d8088d23862abdd35de67f711/third_party/WebKit/Source/core/BUILD.gn

Blockedon: 710938
Project Member Comment 143 by bugdroid1@chromium.org, Apr 13
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f6d6371a3b819d5ad6a31f25cca18e952e28d621

commit f6d6371a3b819d5ad6a31f25cca18e952e28d621
Author: shend <shend@chromium.org>
Date: Thu Apr 13 04:59:51 2017

Separate CSSValueID mappings generator from ComputedStyleBase generator.

We currently generate mappings between CSSValueID and platform enums
inside the ComputedStyleBase generator. However, because such mappings
do not exist for nonproperty fields, it no longer makes sense for us
to generate these mappings inside make_computed_style_base.py.

This patch moves the generator for CSSValueIDMappingsGenerated to
its own file, so that it is not affected by nonproperty fields.

BUG=628043

Review-Url: https://codereview.chromium.org/2794853002
Cr-Original-Commit-Position: refs/heads/master@{#463955}
Committed: https://chromium.googlesource.com/chromium/src/+/dea75f9603af994dd10370ddd25a0dc6af7b93cd
Review-Url: https://codereview.chromium.org/2794853002
Cr-Commit-Position: refs/heads/master@{#464303}

[modify] https://crrev.com/f6d6371a3b819d5ad6a31f25cca18e952e28d621/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[add] https://crrev.com/f6d6371a3b819d5ad6a31f25cca18e952e28d621/third_party/WebKit/Source/build/scripts/make_css_value_id_mappings.py
[modify] https://crrev.com/f6d6371a3b819d5ad6a31f25cca18e952e28d621/third_party/WebKit/Source/core/BUILD.gn

Project Member Comment 144 by bugdroid1@chromium.org, Apr 13
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ff28dbc9cb80d5f00fd39c3bd780c7cd83d8089a

commit ff28dbc9cb80d5f00fd39c3bd780c7cd83d8089a
Author: shend <shend@chromium.org>
Date: Thu Apr 13 05:16:40 2017

Filter out shorthands for make_computed_style_base.py.

This patch filters out shorthands from the input of
make_computed_style_base. This is to explictly prevent shorthands being
treated like CSS properties in ComputedStyle.

Currently there are no shorthands being generated as properties, so this
patch does not affect behaviour.

BUG=628043

Review-Url: https://codereview.chromium.org/2809053002
Cr-Commit-Position: refs/heads/master@{#464307}

[modify] https://crrev.com/ff28dbc9cb80d5f00fd39c3bd780c7cd83d8089a/third_party/WebKit/Source/build/scripts/make_computed_style_base.py

Project Member Comment 145 by bugdroid1@chromium.org, Apr 13
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/68c508188787079d0400260ee4dff6ef6814c40c

commit 68c508188787079d0400260ee4dff6ef6814c40c
Author: shend <shend@chromium.org>
Date: Thu Apr 13 05:38:36 2017

Split initial methods of left/right/top/bottom on ComputedStyle.

Currently the left, right, top and bottom share the same method for
the initial value: initialOffset(). This makes it difficult to generate
because the generator will generate four copies of initialOffset(),
causing a name conflict.

This patch splits the initialOffset() method into four separate methods,
one for each property.

Diff of generated files:
https://gist.github.com/darrnshn/88a94abf4e37e26b7fdcc4126beb11fa/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2815033002
Cr-Commit-Position: refs/heads/master@{#464313}

[modify] https://crrev.com/68c508188787079d0400260ee4dff6ef6814c40c/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/68c508188787079d0400260ee4dff6ef6814c40c/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 146 by bugdroid1@chromium.org, Apr 18
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/00ef28764c3fcbc09c08259a871a481cb2b34d89

commit 00ef28764c3fcbc09c08259a871a481cb2b34d89
Author: shend <shend@chromium.org>
Date: Tue Apr 18 02:38:37 2017

Add snake_case name utility.

With the Blink rename, member variables use snake case followed by an
underscore. This patch adds snake_case to name utilities so that this
logic is clearer and can be reused.

BUG=628043

Review-Url: https://codereview.chromium.org/2813483002
Cr-Commit-Position: refs/heads/master@{#465112}

[modify] https://crrev.com/00ef28764c3fcbc09c08259a871a481cb2b34d89/third_party/WebKit/Source/build/scripts/name_utilities.py

Cc: -sashab@chromium.org
Project Member Comment 148 by bugdroid1@chromium.org, Apr 18
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/20be06ee11375df67a4bcdb0e9716fbb343f2e48

commit 20be06ee11375df67a4bcdb0e9716fbb343f2e48
Author: shend <shend@chromium.org>
Date: Tue Apr 18 02:53:47 2017

Use getters for StyleSurroundData members in ComputedStyle.cpp

In ComputedStyle, we directly access StyleSurroundData members via the
m_surround pointer (e.g. m_surround->m_border), but this assumes that
these members will always be stored in StyleSurroundData. As part of
clockwork, we may change where these members are stored, so this patch
uses getter methods instead, which are independent of where these
members are stored.

Places not affected by this patch:
- Getters/setters, since these will be eventually generated.
- When the surround pointer is used directly (e.g. for fast
  comparisons), since these are unavoidable.
- Modifying variables via m_surround.access(), since they're
  setters not getters. Setters will be refactored in a separate
  patch.

BUG=628043

Review-Url: https://codereview.chromium.org/2785343002
Cr-Commit-Position: refs/heads/master@{#465119}

[modify] https://crrev.com/20be06ee11375df67a4bcdb0e9716fbb343f2e48/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/20be06ee11375df67a4bcdb0e9716fbb343f2e48/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 149 by bugdroid1@chromium.org, Apr 18
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/20e570ab5950d95673078e4edd1653faf97812b0

commit 20e570ab5950d95673078e4edd1653faf97812b0
Author: shend <shend@chromium.org>
Date: Tue Apr 18 03:58:41 2017

Make NinePieceImageData use RefCountedCopyable.

NinePieceImageData is RefCounted and copyable. This patch makes it
inherit from RefCountedCopyable so that it can use the compiler
generated copy constructor.

BUG=628043

Review-Url: https://codereview.chromium.org/2808703002
Cr-Commit-Position: refs/heads/master@{#465133}

[modify] https://crrev.com/20e570ab5950d95673078e4edd1653faf97812b0/third_party/WebKit/Source/core/style/NinePieceImage.cpp
[modify] https://crrev.com/20e570ab5950d95673078e4edd1653faf97812b0/third_party/WebKit/Source/core/style/NinePieceImage.h

Project Member Comment 150 by bugdroid1@chromium.org, Apr 19
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c0abb68d248b76ecae92ad893db3886edd3aa59d

commit c0abb68d248b76ecae92ad893db3886edd3aa59d
Author: shend <shend@chromium.org>
Date: Wed Apr 19 04:32:44 2017

Split initial methods of margin on ComputedStyle.

Currently the margin properties share the same method for the initial
value: initialMargin(). This makes it difficult to generate
because the generator will generate four copies of initialMargin(),
causing a name conflict.

This patch splits the initialMargin() method into four separate methods,
one for each property.

BUG=628043

Review-Url: https://codereview.chromium.org/2825663002
Cr-Commit-Position: refs/heads/master@{#465490}

[modify] https://crrev.com/c0abb68d248b76ecae92ad893db3886edd3aa59d/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/c0abb68d248b76ecae92ad893db3886edd3aa59d/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 151 by bugdroid1@chromium.org, Apr 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6a3a1f8d359249a0c9abd5e9630c14a63afebf66

commit 6a3a1f8d359249a0c9abd5e9630c14a63afebf66
Author: shend <shend@chromium.org>
Date: Thu Apr 20 00:34:51 2017

Remove json5_generator.Writer parameters with specification None.

There are a few places where the parameter specification is None. This
is intended to indicate that this parameter has no restrictions on its
values. However, in actual JSON files, this is expressed by using an
empty dictionary '{}' instead of None. This patch changes None to '{}'
to be consistent with JSON files.

BUG=628043

Review-Url: https://codereview.chromium.org/2806153002
Cr-Commit-Position: refs/heads/master@{#465825}

[modify] https://crrev.com/6a3a1f8d359249a0c9abd5e9630c14a63afebf66/third_party/WebKit/Source/build/scripts/json5_generator.py
[modify] https://crrev.com/6a3a1f8d359249a0c9abd5e9630c14a63afebf66/third_party/WebKit/Source/build/scripts/make_event_factory.py
[modify] https://crrev.com/6a3a1f8d359249a0c9abd5e9630c14a63afebf66/third_party/WebKit/Source/build/scripts/make_names.py

Project Member Comment 152 by bugdroid1@chromium.org, Apr 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8879a4bb7e30c99c71fe7a68936a168f7204462a

commit 8879a4bb7e30c99c71fe7a68936a168f7204462a
Author: shend <shend@chromium.org>
Date: Thu Apr 20 00:42:03 2017

Split initial methods of padding on ComputedStyle.

Currently the padding properties share the same method for the initial
value: initialPadding(). This makes it difficult to generate
because the generator will generate four copies of initialPadding(),
causing a name conflict.

This patch splits the initialPadding() method into four separate methods,
one for each property.

BUG=628043

Review-Url: https://codereview.chromium.org/2825653002
Cr-Commit-Position: refs/heads/master@{#465827}

[modify] https://crrev.com/8879a4bb7e30c99c71fe7a68936a168f7204462a/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/8879a4bb7e30c99c71fe7a68936a168f7204462a/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 153 by bugdroid1@chromium.org, Apr 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3852131aac93102979746cc4fe4fd28ff0729903

commit 3852131aac93102979746cc4fe4fd28ff0729903
Author: shend <shend@chromium.org>
Date: Thu Apr 20 02:52:27 2017

Don't use return_type macro on base initial methods in ComputedStyle.

There is a Jinja macro called return_type that takes a field, and
returns the ref version of field.type_name if the field is not a
bitfield. However, this macro is being used as the return type for
initial methods like InitialWidth(). This is is bad because if the
field is not a bitfield, then we would generate some code like:

static const Width& InitialPosition() {
   return Length();
}

instead of the correct:

static Width InitialPosition() {
   return Length();
}

BUG=628043

Review-Url: https://codereview.chromium.org/2830973002
Cr-Commit-Position: refs/heads/master@{#465871}

[modify] https://crrev.com/3852131aac93102979746cc4fe4fd28ff0729903/third_party/WebKit/Source/build/scripts/templates/fields/base.tmpl

Project Member Comment 154 by bugdroid1@chromium.org, Apr 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ecbdd0c68e34edbb28283db17f52cb3fa7f95afc

commit ecbdd0c68e34edbb28283db17f52cb3fa7f95afc
Author: shend <shend@chromium.org>
Date: Thu Apr 20 03:00:27 2017

Don't decode move setter on external fields in ComputedStyle.

External fields such as 'width' have non bitfield types such as Length.
We generate move setters for these fields that take its argument by
rvalue reference:

void SetWidth(Length&& v) {
  width_ = std::move(v);
}

However, in the Jinja template, we use the Jinja macro decode on the
value v. The decode macro tries to perform a static_cast if the field
is a bitfield. But since external fields can never be a bitfield, this
is a no-op.

This patch removes the call to the decode macro.

BUG=628043

Review-Url: https://codereview.chromium.org/2830793003
Cr-Commit-Position: refs/heads/master@{#465876}

[modify] https://crrev.com/ecbdd0c68e34edbb28283db17f52cb3fa7f95afc/third_party/WebKit/Source/build/scripts/templates/fields/external.tmpl

Project Member Comment 155 by bugdroid1@chromium.org, Apr 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c695cc71ebc3348aa9db521f7f4324502a0134e3

commit c695cc71ebc3348aa9db521f7f4324502a0134e3
Author: shend <shend@chromium.org>
Date: Thu Apr 20 03:44:49 2017

Remove 'name' parameter from CSSPropertyAPIMethods.json5.

In the parameters section of CSSPropertyAPIMethods.json5, there is an
entry for 'name'. However, 'name' is a special parameter that is
used by the json5 reader. In this case, the 'name' entry is superfluous.
This patch removes the 'name' entry and adds an assert to prevent
future uses of 'name'.

BUG=628043

Review-Url: https://codereview.chromium.org/2806163002
Cr-Commit-Position: refs/heads/master@{#465891}

[modify] https://crrev.com/c695cc71ebc3348aa9db521f7f4324502a0134e3/third_party/WebKit/Source/build/scripts/json5_generator.py
[modify] https://crrev.com/c695cc71ebc3348aa9db521f7f4324502a0134e3/third_party/WebKit/Source/core/css/properties/CSSPropertyAPIMethods.json5

Project Member Comment 156 by bugdroid1@chromium.org, Apr 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/efefb24c1c0d9c7af36c2af86933e5e6e312c5a8

commit efefb24c1c0d9c7af36c2af86933e5e6e312c5a8
Author: shend <shend@chromium.org>
Date: Thu Apr 20 08:11:58 2017

Extract default naming logic in StyleBuilderWriter to a method.

Currently, StyleBuilderWriter augments its input with attributes related
to naming, which are used in its subclasses. However, this logic is in
the StyleBuilderWriter constructor, which makes it difficult to invok .
For example, it's difficult for a subclass to read a separate JSON file
and apply this naming logic on it.

This patch moves the naming logic out into a separate method that
subclasses can invoke at anytime. The separate method assumes the
existence of keys like 'getter' and 'custom_all', which do not exist
in NONPROPERTIES. Instead of going through all those keys and setting
their value to None, we just use a defaultdict so that any access to
missing keys returns None.

To show that it's working, we apply the same naming logic on both
properties and nonproperties in make_computed_style_base, despite the
two being stored separately.

BUG=628043

Review-Url: https://codereview.chromium.org/2811253002
Cr-Commit-Position: refs/heads/master@{#465944}

[modify] https://crrev.com/efefb24c1c0d9c7af36c2af86933e5e6e312c5a8/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/efefb24c1c0d9c7af36c2af86933e5e6e312c5a8/third_party/WebKit/Source/build/scripts/make_style_builder.py

Project Member Comment 157 by bugdroid1@chromium.org, Apr 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c8b65a9c8a99a53561f8fd337f98e0bf5ac98f96

commit c8b65a9c8a99a53561f8fd337f98e0bf5ac98f96
Author: nainar <nainar@chromium.org>
Date: Thu Apr 20 11:37:06 2017

Use generated getters/setters in ComputedStyle instead of directly accessing fields

Use generated getters/setters from
https://codereview.chromium.org/2786883002 in ComputedStyle instead of directly
accessing fields.

It also marks all generated fields as private to ensure no direct usage.

BUG=628043

Review-Url: https://codereview.chromium.org/2830573002
Cr-Commit-Position: refs/heads/master@{#465973}

[modify] https://crrev.com/c8b65a9c8a99a53561f8fd337f98e0bf5ac98f96/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/c8b65a9c8a99a53561f8fd337f98e0bf5ac98f96/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/c8b65a9c8a99a53561f8fd337f98e0bf5ac98f96/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 158 by bugdroid1@chromium.org, Apr 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/abefb698e5e6ad81853ffdd0560c9efa4740464d

commit abefb698e5e6ad81853ffdd0560c9efa4740464d
Author: shend <shend@chromium.org>
Date: Thu Apr 20 22:34:42 2017

Allow (non)property fields to be hardcoded in make_computed_style_base.

Currently we divide ComputedStyle fields into two groups: properties
and nonproperties. Properties represent actual CSS properties and are
read from CSSProperties.json5. Nonproperties represent fields that do
not correspond to a CSS property and are read from a hardcoded list in
the generator script.

However, some fields act like properties, but do not correspond to
CSS properties (e.g. margin is a combination of four properties, but it
itself is not a CSS property). These need to be stored in the hardcoded
list. But since everything in the hardcoded list is considered a
nonproperty, this will not generate the right code.

Hence, this patch changes the hardcoded list to be rather a list of
"extra" fields which can be property or nonproperty fields. To
distinguish between properties and nonproperties, we introduce a
has_custom_compare_and_copy parameter. If true, the field is a
nonproperty.

This is prework for replacing the concept of nonproperties with
has_custom_compare_and_copy entirely.

This patch does not affect existing behaviour.

BUG=628043

Review-Url: https://codereview.chromium.org/2811273003
Cr-Commit-Position: refs/heads/master@{#466166}

[modify] https://crrev.com/abefb698e5e6ad81853ffdd0560c9efa4740464d/third_party/WebKit/Source/build/scripts/make_computed_style_base.py

Project Member Comment 159 by bugdroid1@chromium.org, Apr 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3c3d810d9753f4c0138a84e0a4965880866304ed

commit 3c3d810d9753f4c0138a84e0a4965880866304ed
Author: shend <shend@chromium.org>
Date: Thu Apr 20 22:55:42 2017

Make json5_generator.Writer always take a list of files.

The json5_generator.Writer constructor has a convenient interface where
you can specify either the name of a single file you want to read from,
or a list of files. However, this requires a branch in Writer that
checks if the argument is a string or a list, which is not Pythonic.

This patch makes Writer always take a list of files.

BUG=628043

Review-Url: https://codereview.chromium.org/2815773003
Cr-Commit-Position: refs/heads/master@{#466175}

[modify] https://crrev.com/3c3d810d9753f4c0138a84e0a4965880866304ed/third_party/WebKit/Source/build/scripts/json5_generator.py
[modify] https://crrev.com/3c3d810d9753f4c0138a84e0a4965880866304ed/third_party/WebKit/Source/build/scripts/make_css_property_apis.py

Project Member Comment 160 by bugdroid1@chromium.org, Apr 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4187e7d068935829eb5a914b7f3f2b8144e3bb98

commit 4187e7d068935829eb5a914b7f3f2b8144e3bb98
Author: shend <shend@chromium.org>
Date: Thu Apr 20 23:01:35 2017

Move hardcoded extra fields to its own JSON5 file.

For extra fields in ComputedStyle, we have been hardcoding their
values in the generator script. However, this is ugly and not
sustainable. This patch moves them into its own JSON file.

This patch does not change generated code.

BUG=628043

Review-Url: https://codereview.chromium.org/2788353002
Cr-Commit-Position: refs/heads/master@{#466178}

[modify] https://crrev.com/4187e7d068935829eb5a914b7f3f2b8144e3bb98/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/4187e7d068935829eb5a914b7f3f2b8144e3bb98/third_party/WebKit/Source/core/BUILD.gn
[add] https://crrev.com/4187e7d068935829eb5a914b7f3f2b8144e3bb98/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5

Project Member Comment 161 by bugdroid1@chromium.org, Apr 21
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/786615ba373b0e7a6e488364c49f2cf56942de3f

commit 786615ba373b0e7a6e488364c49f2cf56942de3f
Author: shend <shend@chromium.org>
Date: Fri Apr 21 02:26:14 2017

Split StyleSurroundData::margin into four individual Lengths.

In StyleSurroundData, the margin longhand properties are stored in a
single LengthBox. This makes it difficult to generate because the
generator assumes that properties don't share storage.

This patch splits the LengthBox margin into four Lengths: margin_left,
margin_right, margin_top, margin_bottom. This enables us to generate
the margin properties properly.

This patch also adds a MarginEqual helper function to check if two
margins have the same value.

BUG=628043

Review-Url: https://codereview.chromium.org/2824973002
Cr-Commit-Position: refs/heads/master@{#466233}

[modify] https://crrev.com/786615ba373b0e7a6e488364c49f2cf56942de3f/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/786615ba373b0e7a6e488364c49f2cf56942de3f/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/786615ba373b0e7a6e488364c49f2cf56942de3f/third_party/WebKit/Source/core/style/StyleSurroundData.cpp
[modify] https://crrev.com/786615ba373b0e7a6e488364c49f2cf56942de3f/third_party/WebKit/Source/core/style/StyleSurroundData.h
[modify] https://crrev.com/786615ba373b0e7a6e488364c49f2cf56942de3f/third_party/WebKit/Source/platform/LengthBox.cpp
[modify] https://crrev.com/786615ba373b0e7a6e488364c49f2cf56942de3f/third_party/WebKit/Source/platform/LengthBox.h

Project Member Comment 162 by bugdroid1@chromium.org, Apr 21
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a83d36d99006b177f36fccbe214fdc3614ec8486

commit a83d36d99006b177f36fccbe214fdc3614ec8486
Author: shend <shend@chromium.org>
Date: Fri Apr 21 04:09:47 2017

Clean up ComputedStyle field templates.

This patch reduces code duplication by making the macros in field.tmpl
and base.tmpl more generic and granular.

- Rename argument_type(field) -> const_ref(field)
- Rename return_type(field) -> nonconst_ref(field)
- Split base.decl_public_methods into:
  - base.decl_initial_method
  - base.decl_getter_method
  - base.decl_setter_method
  - base.decl_resetter_method
- Split base.decl_protected_methods into:
  - base.decl_mutable_method
  - base.decl_internal_getter_method
  - base.decl_internal_setter_method

Diff of generated files:
https://gist.github.com/darrnshn/a4f1071f9901d5d4b321ebd166c10dfa/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2829213002
Cr-Commit-Position: refs/heads/master@{#466255}

[modify] https://crrev.com/a83d36d99006b177f36fccbe214fdc3614ec8486/third_party/WebKit/Source/build/scripts/templates/fields/base.tmpl
[modify] https://crrev.com/a83d36d99006b177f36fccbe214fdc3614ec8486/third_party/WebKit/Source/build/scripts/templates/fields/external.tmpl
[modify] https://crrev.com/a83d36d99006b177f36fccbe214fdc3614ec8486/third_party/WebKit/Source/build/scripts/templates/fields/field.tmpl
[modify] https://crrev.com/a83d36d99006b177f36fccbe214fdc3614ec8486/third_party/WebKit/Source/build/scripts/templates/fields/keyword.tmpl
[modify] https://crrev.com/a83d36d99006b177f36fccbe214fdc3614ec8486/third_party/WebKit/Source/build/scripts/templates/fields/monotonic_flag.tmpl
[modify] https://crrev.com/a83d36d99006b177f36fccbe214fdc3614ec8486/third_party/WebKit/Source/build/scripts/templates/fields/primitive.tmpl
[modify] https://crrev.com/a83d36d99006b177f36fccbe214fdc3614ec8486/third_party/WebKit/Source/build/scripts/templates/fields/storage_only.tmpl

Project Member Comment 163 by bugdroid1@chromium.org, Apr 24
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7d5e129a2deae3313aa912575ff90faba8583b61

commit 7d5e129a2deae3313aa912575ff90faba8583b61
Author: nainar <nainar@chromium.org>
Date: Mon Apr 24 02:58:23 2017

Split StyleSurroundData::padding into four individual Lengths.

In StyleSurroundData, the padding longhand properties are stored in a
single LengthBox. This makes it difficult to generate because the
generator assumes that properties don't share storage.

This patch splits the LengthBox padding into four Lengths:
padding_{left/right/top/bottom}. This enables us to generate
the padding properties properly.

This patch also adds PaddingEqual helper functions to check if two
margins have the same value and changes the callsites to
ComputedStyle::Padding() to cater for the fact that the LengthBox has
been broken into its individual Length components.

BUG=628043

Review-Url: https://codereview.chromium.org/2834603003
Cr-Commit-Position: refs/heads/master@{#466582}

[modify] https://crrev.com/7d5e129a2deae3313aa912575ff90faba8583b61/third_party/WebKit/Source/core/layout/LayoutTheme.cpp
[modify] https://crrev.com/7d5e129a2deae3313aa912575ff90faba8583b61/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/7d5e129a2deae3313aa912575ff90faba8583b61/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/7d5e129a2deae3313aa912575ff90faba8583b61/third_party/WebKit/Source/core/style/StyleSurroundData.cpp
[modify] https://crrev.com/7d5e129a2deae3313aa912575ff90faba8583b61/third_party/WebKit/Source/core/style/StyleSurroundData.h
[modify] https://crrev.com/7d5e129a2deae3313aa912575ff90faba8583b61/third_party/WebKit/Source/platform/Theme.cpp
[modify] https://crrev.com/7d5e129a2deae3313aa912575ff90faba8583b61/third_party/WebKit/Source/platform/Theme.h
[modify] https://crrev.com/7d5e129a2deae3313aa912575ff90faba8583b61/third_party/WebKit/Source/platform/mac/ThemeMac.h
[modify] https://crrev.com/7d5e129a2deae3313aa912575ff90faba8583b61/third_party/WebKit/Source/platform/mac/ThemeMac.mm

Project Member Comment 164 by bugdroid1@chromium.org, Apr 26
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cb7ad92fe2a8bd9561264169b6765c75e82eea23

commit cb7ad92fe2a8bd9561264169b6765c75e82eea23
Author: shend <shend@chromium.org>
Date: Wed Apr 26 00:59:12 2017

Give consistent names to subgroups of ComputedStyle.

ComputedStyle has several DataRef members that are named inconsistently.
This patch changes the following names:
- surround_ -> surround_data_
- box_ -> box_data_
- visual_ -> visual_data_
- background_ -> background_data_

This makes the members consistent, so that they can be easily generated.

BUG=628043

Review-Url: https://codereview.chromium.org/2834543007
Cr-Commit-Position: refs/heads/master@{#467189}

[modify] https://crrev.com/cb7ad92fe2a8bd9561264169b6765c75e82eea23/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/cb7ad92fe2a8bd9561264169b6765c75e82eea23/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 165 by bugdroid1@chromium.org, Apr 26
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2692eeb5bf7dd77e68141dd9d80ff40f24c170f2

commit 2692eeb5bf7dd77e68141dd9d80ff40f24c170f2
Author: shend <shend@chromium.org>
Date: Wed Apr 26 05:16:14 2017

Generate subgroup StyleSurroundData in ComputedStyle.

StyleSurroundData is a class that contains the values of the offset,
margin, padding and border properties. This patch generates this class
as a nested class inside ComputedStyle. We add an extra key in
CSSProperties.json5 called 'field_group' that specifies the name of the
group that the field is in. Fields with the same field_group are grouped
together into a nested class.

A few caveats:
- Causes perf regression because it doesn't exploit sharing of groups.
  The fix is in a dependent patch (to avoid bloating this CL). We
  will land the fix right after this patch is landed.
  https://codereview.chromium.org/2826633002
- We generate 'border' as 'storage_only', because it is a shorthand
  and not a CSS property.
- Subgroups are currently generated as nested classes of ComputedStyle,
  but this makes the code difficult to read. This may change in the
  future (such as putting subgroups in a ::detail namespace).
- We don't ASSERT_SIZE on subgroups yet.

Diff of generated files:
https://gist.github.com/darrnshn/876c8171fd134b373f28ca23e821d28f/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2786883002
Cr-Commit-Position: refs/heads/master@{#467239}

[modify] https://crrev.com/2692eeb5bf7dd77e68141dd9d80ff40f24c170f2/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/2692eeb5bf7dd77e68141dd9d80ff40f24c170f2/third_party/WebKit/Source/build/scripts/name_utilities.py
[modify] https://crrev.com/2692eeb5bf7dd77e68141dd9d80ff40f24c170f2/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.cpp.tmpl
[modify] https://crrev.com/2692eeb5bf7dd77e68141dd9d80ff40f24c170f2/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/2692eeb5bf7dd77e68141dd9d80ff40f24c170f2/third_party/WebKit/Source/build/scripts/templates/fields/base.tmpl
[modify] https://crrev.com/2692eeb5bf7dd77e68141dd9d80ff40f24c170f2/third_party/WebKit/Source/build/scripts/templates/fields/external.tmpl
[modify] https://crrev.com/2692eeb5bf7dd77e68141dd9d80ff40f24c170f2/third_party/WebKit/Source/build/scripts/templates/fields/field.tmpl
[add] https://crrev.com/2692eeb5bf7dd77e68141dd9d80ff40f24c170f2/third_party/WebKit/Source/build/scripts/templates/fields/group.tmpl
[modify] https://crrev.com/2692eeb5bf7dd77e68141dd9d80ff40f24c170f2/third_party/WebKit/Source/build/scripts/templates/fields/monotonic_flag.tmpl
[modify] https://crrev.com/2692eeb5bf7dd77e68141dd9d80ff40f24c170f2/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/2692eeb5bf7dd77e68141dd9d80ff40f24c170f2/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/2692eeb5bf7dd77e68141dd9d80ff40f24c170f2/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/2692eeb5bf7dd77e68141dd9d80ff40f24c170f2/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/2692eeb5bf7dd77e68141dd9d80ff40f24c170f2/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/2692eeb5bf7dd77e68141dd9d80ff40f24c170f2/third_party/WebKit/Source/core/style/ComputedStyle.h
[delete] https://crrev.com/b546eb97eb9f5c8683f0560a625208d5217a3d16/third_party/WebKit/Source/core/style/StyleSurroundData.cpp
[delete] https://crrev.com/b546eb97eb9f5c8683f0560a625208d5217a3d16/third_party/WebKit/Source/core/style/StyleSurroundData.h

Project Member Comment 166 by bugdroid1@chromium.org, Apr 26
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/51ad943c5fac355ab0166e1f47a104e8bc0b3bc6

commit 51ad943c5fac355ab0166e1f47a104e8bc0b3bc6
Author: shend <shend@chromium.org>
Date: Wed Apr 26 05:26:24 2017

Exploit sharing when comparing and copying groups in ComputedStyle.

Groups inside ComputedStyle, such as StyleSurroundData, are stored as
pointers. When we copy the StyleSurroundData of a ComputedStyle, instead
of copying each member inside StyleSurroundData, we can copy the pointer
itself and do a copy when we write to it (copy-on-write). Similarly,
when we compare two StyleSurroundData pointers, we can first check if
they're pointing to the same object. If so, then we know that the two
StyleSurroundDatas are equal without having to compare each member
inside StyleSurroundData.

This patch introduces two macros: fieldwise_compare and fieldwise_copy,
which generate the code to do this optimisation. These macros take a
a list of fields to compare/copy and generate the cheapest set of code
for that task, taking advantage of group sharing.

This patch removes the perf cost of:
https://codereview.chromium.org/2786883002

by generating the exact same code as what was originally handwritten.

Diff of generated code:
https://gist.github.com/darrnshn/fe97404e680016753030fc788fcf24ff/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2826633002
Cr-Commit-Position: refs/heads/master@{#467243}

[modify] https://crrev.com/51ad943c5fac355ab0166e1f47a104e8bc0b3bc6/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/51ad943c5fac355ab0166e1f47a104e8bc0b3bc6/third_party/WebKit/Source/build/scripts/template_expander.py
[modify] https://crrev.com/51ad943c5fac355ab0166e1f47a104e8bc0b3bc6/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.cpp.tmpl
[modify] https://crrev.com/51ad943c5fac355ab0166e1f47a104e8bc0b3bc6/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/51ad943c5fac355ab0166e1f47a104e8bc0b3bc6/third_party/WebKit/Source/build/scripts/templates/fields/field.tmpl

Project Member Comment 167 by bugdroid1@chromium.org, Apr 26
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1d9e0b92b0a9552cd17b3956232842484415da31

commit 1d9e0b92b0a9552cd17b3956232842484415da31
Author: shend <shend@chromium.org>
Date: Wed Apr 26 07:32:15 2017

Make generated field groups inherit from RefCountedCopyable.

Currently generated groups such as StyleSurroundData inherit from
RefCounted, which means we have to explicitly specify a copy
constructor. Inheriting from RefCountedCopyable instead means we can
just use the compiler generated copy constructor.

Diff of generated files:
https://gist.github.com/darrnshn/b3f3492858caedc6359a0507dc173dff/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2799363002
Cr-Commit-Position: refs/heads/master@{#467262}

[modify] https://crrev.com/1d9e0b92b0a9552cd17b3956232842484415da31/third_party/WebKit/Source/build/scripts/templates/fields/group.tmpl

Project Member Comment 168 by bugdroid1@chromium.org, Apr 27
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9cd2845fb2b733d9d3852839d47f4dc93bdec090

commit 9cd2845fb2b733d9d3852839d47f4dc93bdec090
Author: shend <shend@chromium.org>
Date: Thu Apr 27 03:08:44 2017

Generate StyleBackgroundData in ComputedStyleBase.

This patch generates the following fields as part of a group:
- background ('storage_only' of type FillLayer)
- background_color ('storage_only' of type Color)

Since both fields correspond to shorthands, we specify them in
ComputedStyleExtraFields.json5.

Diff of generated files:
https://gist.github.com/darrnshn/48a62d4ef7efe9f7a8c2b707eb57644f/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2841433002
Cr-Commit-Position: refs/heads/master@{#467561}

[modify] https://crrev.com/9cd2845fb2b733d9d3852839d47f4dc93bdec090/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/9cd2845fb2b733d9d3852839d47f4dc93bdec090/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/9cd2845fb2b733d9d3852839d47f4dc93bdec090/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/9cd2845fb2b733d9d3852839d47f4dc93bdec090/third_party/WebKit/Source/core/style/ComputedStyle.h
[delete] https://crrev.com/5ecb75c280ef3f9b1840a19305d6d9b5482ffe76/third_party/WebKit/Source/core/style/StyleBackgroundData.cpp
[delete] https://crrev.com/5ecb75c280ef3f9b1840a19305d6d9b5482ffe76/third_party/WebKit/Source/core/style/StyleBackgroundData.h

Project Member Comment 169 by bugdroid1@chromium.org, Apr 27
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a1db173fa4473293335929920dcb90c13f2390d4

commit a1db173fa4473293335929920dcb90c13f2390d4
Author: shend <shend@chromium.org>
Date: Thu Apr 27 05:52:41 2017

Rename StyleInheritedData members.

This patch renames:
- ComputedStyle::style_inherited_data_ -> ComputedStyle::inherited_data_
  (to be consistent with the other data refs like box_data_)
- Members of StyleInheritedData to have trailing underscore.

so that StyleInheritedData can be generated without name changes showing
up in the diff.

BUG=628043

Review-Url: https://codereview.chromium.org/2845463003
Cr-Commit-Position: refs/heads/master@{#467595}

[modify] https://crrev.com/a1db173fa4473293335929920dcb90c13f2390d4/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/a1db173fa4473293335929920dcb90c13f2390d4/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/a1db173fa4473293335929920dcb90c13f2390d4/third_party/WebKit/Source/core/style/StyleInheritedData.cpp
[modify] https://crrev.com/a1db173fa4473293335929920dcb90c13f2390d4/third_party/WebKit/Source/core/style/StyleInheritedData.h

Project Member Comment 170 by bugdroid1@chromium.org, Apr 27
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e965dad365db87339dfcfdf7d2d98c7eff17712c

commit e965dad365db87339dfcfdf7d2d98c7eff17712c
Author: shend <shend@chromium.org>
Date: Thu Apr 27 06:25:42 2017

Split initial methods of (/max/min)(width/height) on ComputedStyle.

Currently:
- width and height share the same initial method InitialSize
- minWidth and minHeight share the same initial method InitialMinSize
- maxWidth and maxHeight share the same initial method InitialMaxSize

This patch makes each of those properties use its own initial method so
that they can be more easily generated (the generator does not support
sharing of initial methods).

Diff of generated files:
https://gist.github.com/d058699c786d95762067b28ccfbc1774/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2841353002
Cr-Commit-Position: refs/heads/master@{#467603}

[modify] https://crrev.com/e965dad365db87339dfcfdf7d2d98c7eff17712c/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/e965dad365db87339dfcfdf7d2d98c7eff17712c/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/e965dad365db87339dfcfdf7d2d98c7eff17712c/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/e965dad365db87339dfcfdf7d2d98c7eff17712c/third_party/WebKit/Source/core/style/StyleBoxData.cpp

Project Member Comment 171 by bugdroid1@chromium.org, Apr 27
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2b61f1cbbd44c6ada5f7022ff3a55493f54836f5

commit 2b61f1cbbd44c6ada5f7022ff3a55493f54836f5
Author: shend <shend@chromium.org>
Date: Thu Apr 27 06:31:11 2017

Remove public methods on StyleBoxData and rename member.

This patch does two things:
- Remove public methods on StyleBoxData. This is because these methods
  will no longer exist once we generate StyleBoxData.
- Rename vertical_align_ -> vertical_align_length_, to differentiate it
  from the keyword part of vertical-align (also called vertical_align_,
  stored in ComputedStyleBase)

This is preparation for generating StyleBoxData.

BUG=628043

Review-Url: https://codereview.chromium.org/2844163002
Cr-Commit-Position: refs/heads/master@{#467606}

[modify] https://crrev.com/2b61f1cbbd44c6ada5f7022ff3a55493f54836f5/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/2b61f1cbbd44c6ada5f7022ff3a55493f54836f5/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/2b61f1cbbd44c6ada5f7022ff3a55493f54836f5/third_party/WebKit/Source/core/style/StyleBoxData.cpp
[modify] https://crrev.com/2b61f1cbbd44c6ada5f7022ff3a55493f54836f5/third_party/WebKit/Source/core/style/StyleBoxData.h

Project Member Comment 172 by bugdroid1@chromium.org, Apr 27
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2c6e211f16b282ce819a1c63e78ec2bfba7280f5

commit 2c6e211f16b282ce819a1c63e78ec2bfba7280f5
Author: shend <shend@chromium.org>
Date: Thu Apr 27 07:27:27 2017

Remove unused includes of StyleInheritedData.

Before we can generate StyleInheritedData, we must first remove any
references to it outside of ComputedStyle. A lot of files include the
header file for StyleInheritedData, but do not use it. This will cause
a compile error when we remove the file to generate it instead.

This patch removes the unused includes, as lead-up to generating
StyleInheritedData.

BUG=628043

Review-Url: https://codereview.chromium.org/2844613002
Cr-Commit-Position: refs/heads/master@{#467616}

[modify] https://crrev.com/2c6e211f16b282ce819a1c63e78ec2bfba7280f5/third_party/WebKit/Source/core/css/CSSCalculationValueTest.cpp
[modify] https://crrev.com/2c6e211f16b282ce819a1c63e78ec2bfba7280f5/third_party/WebKit/Source/core/css/CSSMatrix.cpp
[modify] https://crrev.com/2c6e211f16b282ce819a1c63e78ec2bfba7280f5/third_party/WebKit/Source/core/css/resolver/StyleResolverState.h
[modify] https://crrev.com/2c6e211f16b282ce819a1c63e78ec2bfba7280f5/third_party/WebKit/Source/core/html/HTMLTitleElement.cpp
[modify] https://crrev.com/2c6e211f16b282ce819a1c63e78ec2bfba7280f5/third_party/WebKit/Source/core/html/forms/DateTimeEditElement.cpp
[modify] https://crrev.com/2c6e211f16b282ce819a1c63e78ec2bfba7280f5/third_party/WebKit/Source/core/layout/LayoutFullScreen.h
[modify] https://crrev.com/2c6e211f16b282ce819a1c63e78ec2bfba7280f5/third_party/WebKit/Source/core/layout/LayoutInline.cpp
[modify] https://crrev.com/2c6e211f16b282ce819a1c63e78ec2bfba7280f5/third_party/WebKit/Source/core/layout/LayoutTable.cpp
[modify] https://crrev.com/2c6e211f16b282ce819a1c63e78ec2bfba7280f5/third_party/WebKit/Source/core/layout/LayoutTableRow.cpp
[modify] https://crrev.com/2c6e211f16b282ce819a1c63e78ec2bfba7280f5/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp

Project Member Comment 173 by bugdroid1@chromium.org, Apr 28
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a0d005f4f1d364bb312aeb25cbbea0d82a980a26

commit a0d005f4f1d364bb312aeb25cbbea0d82a980a26
Author: shend <shend@chromium.org>
Date: Fri Apr 28 01:52:33 2017

Use generated copy and compare for OriginalDisplay in ComputedStyle.

The original_display_ field in ComputedStyle currently has generated
storage, but not copy and compare. This patch makes it use generated
copy and compare. Previously, 'has_custom_compare_and_copy' was set
to true, so the generator did not generate a compare and copy for
OriginalDisplay. By removing that line, we fall back to the default
value of false, which means the generator will now generate a
compare and copy.

This patch does not change behaviour, as the newly generated code is
the same as the code being removed.

Diff of generated files:
https://gist.github.com/darrnshn/942c8c2b4a5e42fe9b5c214388f0901f/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2831933003
Cr-Commit-Position: refs/heads/master@{#467818}

[modify] https://crrev.com/a0d005f4f1d364bb312aeb25cbbea0d82a980a26/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/a0d005f4f1d364bb312aeb25cbbea0d82a980a26/third_party/WebKit/Source/core/style/ComputedStyle.cpp

Project Member Comment 174 by bugdroid1@chromium.org, Apr 28
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b68f094954f3a2173d54f748535c62528e1a6f35

commit b68f094954f3a2173d54f748535c62528e1a6f35
Author: shend <shend@chromium.org>
Date: Fri Apr 28 03:35:02 2017

Use generated copy and compare for VerticalAlign in ComputedStyle.

The vertical_align_ field in ComputedStyle currently has generated
storage, but not copy and compare. This patch makes it use generated
copy and compare. We are able to do this now because we have added
the 'has_custom_compare_and_copy' parameter in a previous patch.

Diff of generated files:
https://gist.github.com/183fa3073f5de347a685b1834913ee2e/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2834583004
Cr-Commit-Position: refs/heads/master@{#467874}

[modify] https://crrev.com/b68f094954f3a2173d54f748535c62528e1a6f35/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/b68f094954f3a2173d54f748535c62528e1a6f35/third_party/WebKit/Source/core/style/ComputedStyle.cpp

Project Member Comment 175 by bugdroid1@chromium.org, May 1
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a7bdae0c8fc2af8615d676c546cef735a131a8f1

commit a7bdae0c8fc2af8615d676c546cef735a131a8f1
Author: shend <shend@chromium.org>
Date: Mon May 01 04:12:53 2017

Remove the concept of 'nonproperties' from ComputedStyle generator.

When we generate ComputedStyle, we differentiate between properties
(which are meant to correspond to CSS properties) and nonproperties
(everything else). However, this terminology is confusing:

- Some nonproperties are derived from real CSS properties (e.g.
  hasSimpleUnderline).
- The generator code contains a lot of "for property_ in nonproperties"
  which is quite confusing.
- The name does not reveal the actual difference between properties
  and nonproperties in terms of code generation.

This patch removes the field role of 'nonproperty' in favour of the
parameter 'has_custom_compare_and_copy'. So there are only two field
roles: 'property' (which includes flags like 'unique' and 'emptyState')
and 'inherited_flag'.

BUG=628043

Review-Url: https://codereview.chromium.org/2830983003
Cr-Commit-Position: refs/heads/master@{#468279}

[modify] https://crrev.com/a7bdae0c8fc2af8615d676c546cef735a131a8f1/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/a7bdae0c8fc2af8615d676c546cef735a131a8f1/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.cpp.tmpl
[modify] https://crrev.com/a7bdae0c8fc2af8615d676c546cef735a131a8f1/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl

Project Member Comment 176 by bugdroid1@chromium.org, May 1
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e8abebbc560bc64554c06e0480c2c9e75b0d3d32

commit e8abebbc560bc64554c06e0480c2c9e75b0d3d32
Author: shend <shend@chromium.org>
Date: Mon May 01 05:53:20 2017

Add heuristic to order non bit fields in ComputedStyleBase.

Currently, when we generate non bit fields, we order them in
alphabetical order. This may result in unnecessary padding, e.g.

struct {
  char a;
  /* char padding[3] */
  int b;
  char c;
  /* char padding[3] */
};

See [1] for an explanation.

This patch defines an ordering on field types so that we can sort
non bit fields from largest alignment size to smallest. This heuristic
minimises the padding most of the time:

struct {
  int b;
  char a;
  char c;
  /* char padding[2] */
};

This is purely a memory optimisation, not speed. It does not take into
account data access patterns and cache locality. We use the data from
[2] to define the order of types.

With this heuristic, some of the generated code has changed, but it is
unlikely to have changed the size of any structs.

Diff of generated files:
https://gist.github.com/darrnshn/81d146c2696ef100d56309e5b4b529ff/revisions

[1] http://www.drdobbs.com/cpp/padding-and-rearranging-structure-member/240007649?pgno=2
[2] https://codereview.chromium.org/2841413002

BUG=628043

Review-Url: https://codereview.chromium.org/2844223002
Cr-Commit-Position: refs/heads/master@{#468293}

[modify] https://crrev.com/e8abebbc560bc64554c06e0480c2c9e75b0d3d32/third_party/WebKit/Source/build/scripts/make_computed_style_base.py

Project Member Comment 177 by bugdroid1@chromium.org, May 2
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0784842ece8911097e2675e08666b44896ee7ab2

commit 0784842ece8911097e2675e08666b44896ee7ab2
Author: shend <shend@chromium.org>
Date: Tue May 02 04:30:44 2017

Revert of Generate StyleBackgroundData in ComputedStyleBase. (patchset #2 id:20001 of https://codereview.chromium.org/2841433002/ )

Reason for revert:
testing

Original issue's description:
> Generate StyleBackgroundData in ComputedStyleBase.
>
> This patch generates the following fields as part of a group:
> - background ('storage_only' of type FillLayer)
> - background_color ('storage_only' of type Color)
>
> Since both fields correspond to shorthands, we specify them in
> ComputedStyleExtraFields.json5.
>
> Diff of generated files:
> https://gist.github.com/darrnshn/48a62d4ef7efe9f7a8c2b707eb57644f/revisions
>
> BUG=628043
>
> Review-Url: https://codereview.chromium.org/2841433002
> Cr-Commit-Position: refs/heads/master@{#467561}
> Committed: https://chromium.googlesource.com/chromium/src/+/9cd2845fb2b733d9d3852839d47f4dc93bdec090

TBR=nainar@chromium.org,rune@opera.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=628043

Review-Url: https://codereview.chromium.org/2849123002
Cr-Commit-Position: refs/heads/master@{#468557}

[modify] https://crrev.com/0784842ece8911097e2675e08666b44896ee7ab2/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/0784842ece8911097e2675e08666b44896ee7ab2/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/0784842ece8911097e2675e08666b44896ee7ab2/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/0784842ece8911097e2675e08666b44896ee7ab2/third_party/WebKit/Source/core/style/ComputedStyle.h
[add] https://crrev.com/0784842ece8911097e2675e08666b44896ee7ab2/third_party/WebKit/Source/core/style/StyleBackgroundData.cpp
[add] https://crrev.com/0784842ece8911097e2675e08666b44896ee7ab2/third_party/WebKit/Source/core/style/StyleBackgroundData.h

Project Member Comment 178 by bugdroid1@chromium.org, May 3
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b70096349a396a97f3cc663c316f7ff259102c40

commit b70096349a396a97f3cc663c316f7ff259102c40
Author: shend <shend@chromium.org>
Date: Wed May 03 06:30:29 2017

Clean up StyleBackgroundData.

This patch:
- Removes its getters.
- Makes it inherit from RefCountedCopyable.
- Renames color_ to background_color

This is to set up for generating StyleBackgroundData.

BUG=628043

Review-Url: https://codereview.chromium.org/2854183003
Cr-Commit-Position: refs/heads/master@{#468905}

[modify] https://crrev.com/b70096349a396a97f3cc663c316f7ff259102c40/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/b70096349a396a97f3cc663c316f7ff259102c40/third_party/WebKit/Source/core/style/StyleBackgroundData.cpp
[modify] https://crrev.com/b70096349a396a97f3cc663c316f7ff259102c40/third_party/WebKit/Source/core/style/StyleBackgroundData.h

Project Member Comment 179 by bugdroid1@chromium.org, May 3
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9c87e10d5fb83551260b6c48de694eb7946b98a8

commit 9c87e10d5fb83551260b6c48de694eb7946b98a8
Author: nainar <nainar@chromium.org>
Date: Wed May 03 06:39:50 2017

Move LengthSizes border-*-radius out of BorderData

In StyleSurroundData, the border longhand properties are stored in a
single BorderData. This makes it difficult to generate because the
generator assumes that properties don't share storage.

This patch splits the LenthSize objects maintaining the border-*-radius
into individual properties stored directly on the surround group
instead.

Generated files diff here: https://gist.github.com/nainar/3192118aab7de3831137a4ae2cc73958/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2850173003
Cr-Commit-Position: refs/heads/master@{#468907}

[modify] https://crrev.com/9c87e10d5fb83551260b6c48de694eb7946b98a8/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/9c87e10d5fb83551260b6c48de694eb7946b98a8/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/9c87e10d5fb83551260b6c48de694eb7946b98a8/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/9c87e10d5fb83551260b6c48de694eb7946b98a8/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/9c87e10d5fb83551260b6c48de694eb7946b98a8/third_party/WebKit/Source/core/layout/LayoutTableBoxComponent.cpp
[modify] https://crrev.com/9c87e10d5fb83551260b6c48de694eb7946b98a8/third_party/WebKit/Source/core/style/BorderData.h
[modify] https://crrev.com/9c87e10d5fb83551260b6c48de694eb7946b98a8/third_party/WebKit/Source/core/style/CachedUAStyle.h
[modify] https://crrev.com/9c87e10d5fb83551260b6c48de694eb7946b98a8/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/9c87e10d5fb83551260b6c48de694eb7946b98a8/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 180 by bugdroid1@chromium.org, May 3
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fa4d44124befc9b262884ea7af6e53b87f0baf03

commit fa4d44124befc9b262884ea7af6e53b87f0baf03
Author: shend <shend@chromium.org>
Date: Wed May 03 07:07:17 2017

Omit .Get() on calls to DataEquivalent in StyleRareInheritedData.

StyleRareInheritedData contains a few members stored as RefPtr<> or
Persistent<>. To compare these members, we can't use == because that
performs a pointer comparison, so instead we use a helper method called
DataEquivalent that checks both the pointer and the data itself.

For some members, DataEquivalent is being used like this:

  DataEquivalent(foo.Get(), o.foo.Get())

However, DataEquivalent is overloaded for RefPtr and Persistent, so we
can do this instead:

  DataEquivalent(foo, o.foo)

This patch removes .Get() calls on DataEquivalent to take advantage of
the overloads.

BUG=628043

Review-Url: https://codereview.chromium.org/2852873002
Cr-Commit-Position: refs/heads/master@{#468914}

[modify] https://crrev.com/fa4d44124befc9b262884ea7af6e53b87f0baf03/third_party/WebKit/Source/core/style/StyleRareInheritedData.cpp

Project Member Comment 181 by bugdroid1@chromium.org, May 3
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b79cca1258ae31a889df207ce5f2548cf0f540d5

commit b79cca1258ae31a889df207ce5f2548cf0f540d5
Author: shend <shend@chromium.org>
Date: Wed May 03 11:13:36 2017

Move StyleBackgroundData.cpp to be inline in StyleBackgroundData.h

This patch removes StyleBackgroundData.cpp, and moves all its contents
to be inline in StyleBackgroundData.h

This is prework for generating StyleBackgroundData.

BUG=628043

Review-Url: https://codereview.chromium.org/2860663002
Cr-Commit-Position: refs/heads/master@{#468937}

[modify] https://crrev.com/b79cca1258ae31a889df207ce5f2548cf0f540d5/third_party/WebKit/Source/core/style/BUILD.gn
[delete] https://crrev.com/41da09b543495010a2836b82ee7273d298183d47/third_party/WebKit/Source/core/style/StyleBackgroundData.cpp
[modify] https://crrev.com/b79cca1258ae31a889df207ce5f2548cf0f540d5/third_party/WebKit/Source/core/style/StyleBackgroundData.h

Project Member Comment 182 by bugdroid1@chromium.org, May 3
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0e30fd46d65b9955fa61a528efae5bf43adec2b5

commit 0e30fd46d65b9955fa61a528efae5bf43adec2b5
Author: shend <shend@chromium.org>
Date: Wed May 03 13:12:49 2017

Move StyleBackgroundData.h to a nested class in ComputedStyle.

This patch removes StyleBackgroundData.h, moving its contents to a
nested class inside ComputedStyle.

BUG=628043

Review-Url: https://codereview.chromium.org/2860483003
Cr-Commit-Position: refs/heads/master@{#468953}

[modify] https://crrev.com/0e30fd46d65b9955fa61a528efae5bf43adec2b5/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/0e30fd46d65b9955fa61a528efae5bf43adec2b5/third_party/WebKit/Source/core/style/ComputedStyle.h
[delete] https://crrev.com/656ba920a74cb5e83d65712d1f97b3cdde335197/third_party/WebKit/Source/core/style/StyleBackgroundData.h

Project Member Comment 183 by bugdroid1@chromium.org, May 5
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8976caef37205d31c6b73aec7f008a652671f076

commit 8976caef37205d31c6b73aec7f008a652671f076
Author: shend <shend@chromium.org>
Date: Fri May 05 01:31:19 2017

Generate StyleBackgroundData in ComputedStyleBase.

This patch generates the following fields as part of a group:
- background ('storage_only' of type FillLayer)
- background_color ('storage_only' of type Color)

Since both fields correspond to shorthands, we specify them in
ComputedStyleExtraFields.json5.

All deleted code are correspondingly generated in
ComputedStyleBase, apart from the line

  background_data_(o.background_data_)

which is implicit in the compiler generated ComputedStyleBase
copy constructor.

Diff of generated files:
https://gist.github.com/darrnshn/c2d2e7f7429b6281987c8f1ff6e2c313/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2861623002
Cr-Commit-Position: refs/heads/master@{#469566}

[modify] https://crrev.com/8976caef37205d31c6b73aec7f008a652671f076/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/8976caef37205d31c6b73aec7f008a652671f076/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/8976caef37205d31c6b73aec7f008a652671f076/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 184 by bugdroid1@chromium.org, May 8
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/60bc5e0281871949b67b8d7d3a2f0bc3db72f98c

commit 60bc5e0281871949b67b8d7d3a2f0bc3db72f98c
Author: shend <shend@chromium.org>
Date: Mon May 08 09:45:11 2017

Generate StyleVisualData in ComputedStyleBase.

This patch generates the following fields as part of a group:
- clip ('storage_only' of type LengthBox)
- HasAutoClip ('storage_only' of type bool)
- text-decoration ('storage_only' of enum type TextDecoration)
- zoom ('storage_only' of type float)

Since HasAutoClip doesn't correspond to a CSS property, we specify
it in ComputedStyleExtraFields.json5.

Furthermore, text-decoration is a keyword CSS property, but it
can take on any subset of values from a set of keywords. We can't
generate this kind of fields yet. Instead of complicating this
patch with the generation of text-decoration, we will specify it as
a storage_only field in ComputedStyleExtraFields.json5 with a
field size of 4 bits (we can't specify it in CSSProperties.json5
since that file doesn't support field sizes).

A future patch will generate text-decoration properly.

Diff of generated files:
https://gist.github.com/b3420eb4c3d0514cd4f1f936181fedb6/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2841453002
Cr-Commit-Position: refs/heads/master@{#469939}

[modify] https://crrev.com/60bc5e0281871949b67b8d7d3a2f0bc3db72f98c/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/60bc5e0281871949b67b8d7d3a2f0bc3db72f98c/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/60bc5e0281871949b67b8d7d3a2f0bc3db72f98c/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/60bc5e0281871949b67b8d7d3a2f0bc3db72f98c/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/60bc5e0281871949b67b8d7d3a2f0bc3db72f98c/third_party/WebKit/Source/core/style/ComputedStyle.h
[delete] https://crrev.com/fb894618a7d0a2145e16513223e18f8f2d50b1bf/third_party/WebKit/Source/core/style/StyleVisualData.cpp
[delete] https://crrev.com/fb894618a7d0a2145e16513223e18f8f2d50b1bf/third_party/WebKit/Source/core/style/StyleVisualData.h

Project Member Comment 185 by bugdroid1@chromium.org, May 9
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5a563421457c31c1bb6cdac72c899db056f1adc7

commit 5a563421457c31c1bb6cdac72c899db056f1adc7
Author: nainar <nainar@chromium.org>
Date: Tue May 09 10:04:48 2017

Move border-*-width out of BorderValue and store on SurroundData in ComputedStyle instead

This patch moves the storage of border-*-width away from BorderValue.
We instead store them on the generated SurroundData group on
ComputedStyle instead.

Since BorderValue is used by other classes such as OutlineValue and
MultiColData we have changed BorderData to store the
border-*-(style/color) information on BorderColorAndStyle which is the
BorderValue class without the border-*-width information.

The long term intention is to move all information away from
BorderColorAndStyle - it is a temporary class to store information as
we generate border-*-* iteratively.

Please note that we convert BorderColorAndStyle to a BorderValue when we
send information over to the Layout system to make the interfacing easy.
This will be changed to creating a new BorderValue from the individual
values in the long run or something along those lines
(pending discussion.)

Generated diff: https://gist.github.com/nainar/296dda6afe541b6ca6da18a2923d0ef9/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2861773004
Cr-Commit-Position: refs/heads/master@{#470272}

[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.cpp.tmpl
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/layout/LayoutTable.cpp
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/layout/LayoutTable.h
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/layout/LayoutTableBoxComponent.cpp
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/layout/LayoutTableCell.h
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/layout/LayoutTableCol.cpp
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/layout/LayoutTableCol.h
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/layout/LayoutTableRow.cpp
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/layout/LayoutTableRow.h
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/layout/LayoutTableSection.cpp
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/layout/LayoutTableSection.h
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/style/BUILD.gn
[add] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/style/BorderColorAndStyle.h
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/style/BorderData.h
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/style/BorderValue.h
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/style/CachedUAStyle.h
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[modify] https://crrev.com/5a563421457c31c1bb6cdac72c899db056f1adc7/third_party/WebKit/Source/core/style/OutlineValue.h

Project Member Comment 186 by bugdroid1@chromium.org, May 11
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fc17a86b6a7a678a7125b0caa7c0aa1c1bee6713

commit fc17a86b6a7a678a7125b0caa7c0aa1c1bee6713
Author: shend <shend@chromium.org>
Date: Thu May 11 08:03:51 2017

Move StyleBoxData.cpp to be inline in StyleBoxData.h.

This patch removes StyleBoxData.cpp, and moves all its contents to be
inline in StyleBoxData.h

This is prework for generating StyleBoxData.

BUG=628043

Review-Url: https://codereview.chromium.org/2857873003
Cr-Commit-Position: refs/heads/master@{#470868}

[modify] https://crrev.com/fc17a86b6a7a678a7125b0caa7c0aa1c1bee6713/third_party/WebKit/Source/core/style/BUILD.gn
[delete] https://crrev.com/cb4e6a04496ddfff77976950c620fb3448abcd96/third_party/WebKit/Source/core/style/StyleBoxData.cpp
[modify] https://crrev.com/fc17a86b6a7a678a7125b0caa7c0aa1c1bee6713/third_party/WebKit/Source/core/style/StyleBoxData.h

Project Member Comment 187 by bugdroid1@chromium.org, May 11
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e8e5df6b838075a0dc6e584853f1f795ac5af0b3

commit e8e5df6b838075a0dc6e584853f1f795ac5af0b3
Author: shend <shend@chromium.org>
Date: Thu May 11 08:13:34 2017

Check if value changed when setting nested fields in ComputedStyleBase.

Many of the setters in ComputedStyle use a macro called SET_VAR, which
sets the value of a field stored in a subgroup on ComputedStyle. SET_VAR
first checks if the new value is different to the old value. Only when
the value changes does it modify the field using the Access() method on
the subgroup. Since Access() could potentially do a copy, we would like
to call it as rarely as possible. Hence, SET_VAR is an optimisation that
skips a call to Access() when it is not necessary.

For example, the setter for the 'left' property might look like:

void SetLeft(const Length& v) {
  if (surround_data_->left_ != v)
    surround_data_->Access()->left_ = v;
}

As we can see, we only call Access() when the values are different,
potentially saving a copy.

However, the generated setters on ComputedStyleBase do not perform this
optimisation. This patch changes the generator to use the same
optimisation in ComputedStyleBase.

No behavioural changes are expected, but there should be less memory
allocations in ComputedStyle.

Diff of generated files:
https://gist.github.com/darrnshn/47e96b81c2ade55cb337fd658f0d6785/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2879493003
Cr-Commit-Position: refs/heads/master@{#470873}

[modify] https://crrev.com/e8e5df6b838075a0dc6e584853f1f795ac5af0b3/third_party/WebKit/Source/build/scripts/templates/fields/base.tmpl
[modify] https://crrev.com/e8e5df6b838075a0dc6e584853f1f795ac5af0b3/third_party/WebKit/Source/build/scripts/templates/fields/external.tmpl
[modify] https://crrev.com/e8e5df6b838075a0dc6e584853f1f795ac5af0b3/third_party/WebKit/Source/build/scripts/templates/fields/field.tmpl
[modify] https://crrev.com/e8e5df6b838075a0dc6e584853f1f795ac5af0b3/third_party/WebKit/Source/build/scripts/templates/fields/monotonic_flag.tmpl

Project Member Comment 188 by bugdroid1@chromium.org, May 11
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7201468ffddd08c6893769c4a0616df7e9bedcad

commit 7201468ffddd08c6893769c4a0616df7e9bedcad
Author: nainar <nainar@chromium.org>
Date: Thu May 11 10:44:13 2017

Store border-*-color on SurroundData in ComputedStyle not BorderColorAndStyle

This patch moves the storage of border-*-color away from BorderColorAndStyle.
We instead store them on the generated SurroundData group on
ComputedStyle instead.

Since BorderValue is used by other classes such as OutlineValue and
MultiColData we have changed BorderData to store the
border-*-style information on BorderStyle which is the
BorderValue class without the border-*-(width/color) information.

The long term intention is to move all information away from
BorderStyle - it is a temporary class to store information as
we generate border-*-* iteratively.

Please note that we convert BorderStyle to a BorderValue when we
send information over to the Layout system to make the interfacing easy.
This will be changed to creating a new BorderValue from the individual
values in the long run or something along those lines
(pending discussion.)

Diff: https://gist.github.com/cf8735baa30e27a2dc945b6485c85a74/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2869043002
Cr-Commit-Position: refs/heads/master@{#470907}

[modify] https://crrev.com/7201468ffddd08c6893769c4a0616df7e9bedcad/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/7201468ffddd08c6893769c4a0616df7e9bedcad/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/7201468ffddd08c6893769c4a0616df7e9bedcad/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/7201468ffddd08c6893769c4a0616df7e9bedcad/third_party/WebKit/Source/core/layout/LayoutTableBoxComponent.cpp
[modify] https://crrev.com/7201468ffddd08c6893769c4a0616df7e9bedcad/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/7201468ffddd08c6893769c4a0616df7e9bedcad/third_party/WebKit/Source/core/style/BorderData.h
[rename] https://crrev.com/7201468ffddd08c6893769c4a0616df7e9bedcad/third_party/WebKit/Source/core/style/BorderStyle.h
[modify] https://crrev.com/7201468ffddd08c6893769c4a0616df7e9bedcad/third_party/WebKit/Source/core/style/BorderValue.h
[modify] https://crrev.com/7201468ffddd08c6893769c4a0616df7e9bedcad/third_party/WebKit/Source/core/style/CachedUAStyle.h
[modify] https://crrev.com/7201468ffddd08c6893769c4a0616df7e9bedcad/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/7201468ffddd08c6893769c4a0616df7e9bedcad/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 189 by bugdroid1@chromium.org, May 11
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c16f9ff9695525a663e586c269685624e403d674

commit c16f9ff9695525a663e586c269685624e403d674
Author: shend <shend@chromium.org>
Date: Thu May 11 11:13:58 2017

Move StyleBoxData.h to a nested class in ComputedStyle.

This patch removes StyleBoxData.h, moving its contents to a nested class
inside ComputedStyle.

BUG=628043

Review-Url: https://codereview.chromium.org/2854333002
Cr-Commit-Position: refs/heads/master@{#470916}

[modify] https://crrev.com/c16f9ff9695525a663e586c269685624e403d674/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/c16f9ff9695525a663e586c269685624e403d674/third_party/WebKit/Source/core/style/ComputedStyle.h
[delete] https://crrev.com/c3daf2708acac918554319be74a152821bb7feec/third_party/WebKit/Source/core/style/StyleBoxData.h

Project Member Comment 190 by bugdroid1@chromium.org, May 11
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/409ff448dc2fdf77c1de19b39cfafd8780066136

commit 409ff448dc2fdf77c1de19b39cfafd8780066136
Author: shend <shend@chromium.org>
Date: Thu May 11 22:30:38 2017

Update SameSizeAsComputedStyle to reflect new changes.

SameSizeAsComputedStyle is meant to be tracking the data layout of
ComputedStyle. Recently, we've moved three DataRefs from ComputedStyle
to ComputedStyleBase without updating the size assert. This was a
silent issue because we changed only the layout, not the size.

This patch updates SameSizeAsComputedStyle to reflect the current state
of ComputedStyle.

BUG=628043

Review-Url: https://codereview.chromium.org/2863423002
Cr-Commit-Position: refs/heads/master@{#471092}

[modify] https://crrev.com/409ff448dc2fdf77c1de19b39cfafd8780066136/third_party/WebKit/Source/core/style/ComputedStyle.cpp

Project Member Comment 191 by bugdroid1@chromium.org, May 11
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2389662b9fb0735446c5c8235bcdc1b0ff505366

commit 2389662b9fb0735446c5c8235bcdc1b0ff505366
Author: shend <shend@chromium.org>
Date: Thu May 11 22:36:01 2017

Make ComputedStyle::InheritFrom group independent.

In ComputedStyle::InheritFrom, we assume that the UserModify() field is
always stored in RareInheritedData. After we generate the user-modify
property, we might want to change where it is stored, so UserModify may
no longer be in RareInheritedData. This patch rearranges the logic in
the function so that UserModify can be stored in any subgroup without
breaking the code. There are no changes in behaviour.

BUG=628043

Review-Url: https://codereview.chromium.org/2829773003
Cr-Commit-Position: refs/heads/master@{#471095}

[modify] https://crrev.com/2389662b9fb0735446c5c8235bcdc1b0ff505366/third_party/WebKit/Source/core/style/ComputedStyle.cpp

Project Member Comment 192 by bugdroid1@chromium.org, May 12
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a1ca535f232d0b1910a5041dd6167d6ebe08a0ea

commit a1ca535f232d0b1910a5041dd6167d6ebe08a0ea
Author: shend <shend@chromium.org>
Date: Fri May 12 03:04:39 2017

Generate StyleBoxData in ComputedStyleBase.

This patch generates the following fields as part of a group:
- width and height ('storage_only' of type Length)
- min-width and min-height ('storage_only' of type Length)
- max-width and max-height ('storage_only' of type Length)
- VerticalAlignLength ('storage_only' of type Length)
- z-index ('storage_only' of type int)
- HasAutoZIndex ('storage_only' of type bool)
- box-sizing ('storage_only' of type EBoxSizing)
- box-decoration-break ('storage_only' of type EBoxSizing)

A few CSS properties are specified in ComputedStyleExtraFields.json5
rather than CSSProperties.json5:
- VerticalAlignLength, since we can't generate unions yet.
- box-sizing, will specify in CSSProperties.json5 in a separate patch
- box-decoration-break, will specify in CSSProperties.json5 in a
  separate patch

Future patches will also:
- Change (/min/max)(width/height) to be external fields so their
  getters/setters can be generated.
- Change box-sizing to be a keyword field so their getters/setters can
  be generated.
- Change box-decoration-break to be a keyword field so their
  getters/setters can be generated.

Diff of generated files:
https://gist.github.com/85b78bfcaf9ec0d78ea33eea24a49d9f/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2844183002
Cr-Commit-Position: refs/heads/master@{#471202}

[modify] https://crrev.com/a1ca535f232d0b1910a5041dd6167d6ebe08a0ea/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/a1ca535f232d0b1910a5041dd6167d6ebe08a0ea/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/a1ca535f232d0b1910a5041dd6167d6ebe08a0ea/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/a1ca535f232d0b1910a5041dd6167d6ebe08a0ea/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 193 by bugdroid1@chromium.org, May 12
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8ddfef7806bcbedb9582efc385088603b200d2d9

commit 8ddfef7806bcbedb9582efc385088603b200d2d9
Author: shend <shend@chromium.org>
Date: Fri May 12 04:44:00 2017

Move StyleRareInheritedData accessors to be inline in ComputedStyle.

Currently, ComputedStyle has getters and setters to some members in
StyleRareInheritedData. These getters and setters simply delegate to
getters and setters on StyleRareInheritedData. When we generate
StyleRareInheritedData, the generator does not generate these
getters and setters. Hence, this patch simply moves these accessors to
be inline in the getters/setters in ComputedStyle.

This is preparation for generating StyleRareInheritedData.

BUG=628043

Review-Url: https://codereview.chromium.org/2871463002
Cr-Commit-Position: refs/heads/master@{#471223}

[modify] https://crrev.com/8ddfef7806bcbedb9582efc385088603b200d2d9/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/8ddfef7806bcbedb9582efc385088603b200d2d9/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/8ddfef7806bcbedb9582efc385088603b200d2d9/third_party/WebKit/Source/core/style/StyleRareInheritedData.h

Project Member Comment 194 by bugdroid1@chromium.org, May 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/762e2d87addf15f32ac5bda17b1ad9a8fb25dee2

commit 762e2d87addf15f32ac5bda17b1ad9a8fb25dee2
Author: shend <shend@chromium.org>
Date: Mon May 15 03:04:28 2017

Move AppliedTextDecorationList to its own file.

When we generate external types like Length in ComputedStyle, we specify
the path to the type (e.g. "platform/Length"). We then deduce the name
of the type from the path ("Length"). This means that the type must be
stored in a file with the same name.

This patch moves AppliedTextDecorationList to its own file so that it
can be generated.

BUG=628043

Review-Url: https://codereview.chromium.org/2884553002
Cr-Commit-Position: refs/heads/master@{#471653}

[add] https://crrev.com/762e2d87addf15f32ac5bda17b1ad9a8fb25dee2/third_party/WebKit/Source/core/style/AppliedTextDecorationList.h
[modify] https://crrev.com/762e2d87addf15f32ac5bda17b1ad9a8fb25dee2/third_party/WebKit/Source/core/style/StyleRareInheritedData.h

Project Member Comment 195 by bugdroid1@chromium.org, May 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/79e3cc6d695903af9f32b770fd80f67e878587e7

commit 79e3cc6d695903af9f32b770fd80f67e878587e7
Author: shend <shend@chromium.org>
Date: Mon May 15 03:21:29 2017

Move CursorList to its own file.

When we generate external types like Length in ComputedStyle, we specify
the path to the type (e.g. "platform/Length"). We then deduce the name
of the type from the path ("Length"). This means that the type must be
stored in a file with the same name.

This patch moves CursorList to its own file so that it can be generated.

BUG=628043

Review-Url: https://codereview.chromium.org/2880963002
Cr-Commit-Position: refs/heads/master@{#471654}

[add] https://crrev.com/79e3cc6d695903af9f32b770fd80f67e878587e7/third_party/WebKit/Source/core/style/CursorList.h
[modify] https://crrev.com/79e3cc6d695903af9f32b770fd80f67e878587e7/third_party/WebKit/Source/core/style/StyleRareInheritedData.h

Project Member Comment 196 by bugdroid1@chromium.org, May 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9d45549ee7fdd99b2c8d536c1c18dd0e008dce5a

commit 9d45549ee7fdd99b2c8d536c1c18dd0e008dce5a
Author: nainar <nainar@chromium.org>
Date: Mon May 15 03:42:16 2017

Revert of Move CursorList to its own file. (patchset #2 id:20001 of https://codereview.chromium.org/2880963002/ )

Reason for revert:
Reverting since the BUILD file wasn't updated. Author is aware

Original issue's description:
> Move CursorList to its own file.
>
> When we generate external types like Length in ComputedStyle, we specify
> the path to the type (e.g. "platform/Length"). We then deduce the name
> of the type from the path ("Length"). This means that the type must be
> stored in a file with the same name.
>
> This patch moves CursorList to its own file so that it can be generated.
>
> BUG=628043
>
> Review-Url: https://codereview.chromium.org/2880963002
> Cr-Commit-Position: refs/heads/master@{#471654}
> Committed: https://chromium.googlesource.com/chromium/src/+/79e3cc6d695903af9f32b770fd80f67e878587e7

TBR=suzyh@chromium.org,shend@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=628043

Review-Url: https://codereview.chromium.org/2878353002
Cr-Commit-Position: refs/heads/master@{#471655}

[delete] https://crrev.com/79e3cc6d695903af9f32b770fd80f67e878587e7/third_party/WebKit/Source/core/style/CursorList.h
[modify] https://crrev.com/9d45549ee7fdd99b2c8d536c1c18dd0e008dce5a/third_party/WebKit/Source/core/style/StyleRareInheritedData.h

Project Member Comment 197 by bugdroid1@chromium.org, May 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/79f466d744b7c279c939c27877ae261d02f966b2

commit 79f466d744b7c279c939c27877ae261d02f966b2
Author: nainar <nainar@chromium.org>
Date: Mon May 15 03:43:27 2017

Revert of Move AppliedTextDecorationList to its own file. (patchset #2 id:20001 of https://codereview.chromium.org/2884553002/ )

Reason for revert:
Reverting since the BUILD file wasn't updated. Author is aware

Original issue's description:
> Move AppliedTextDecorationList to its own file.
>
> When we generate external types like Length in ComputedStyle, we specify
> the path to the type (e.g. "platform/Length"). We then deduce the name
> of the type from the path ("Length"). This means that the type must be
> stored in a file with the same name.
>
> This patch moves AppliedTextDecorationList to its own file so that it
> can be generated.
>
> BUG=628043
>
> Review-Url: https://codereview.chromium.org/2884553002
> Cr-Commit-Position: refs/heads/master@{#471653}
> Committed: https://chromium.googlesource.com/chromium/src/+/762e2d87addf15f32ac5bda17b1ad9a8fb25dee2

TBR=suzyh@chromium.org,shend@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=628043

Review-Url: https://codereview.chromium.org/2880963003
Cr-Commit-Position: refs/heads/master@{#471656}

[delete] https://crrev.com/9d45549ee7fdd99b2c8d536c1c18dd0e008dce5a/third_party/WebKit/Source/core/style/AppliedTextDecorationList.h
[modify] https://crrev.com/79f466d744b7c279c939c27877ae261d02f966b2/third_party/WebKit/Source/core/style/StyleRareInheritedData.h

Project Member Comment 198 by bugdroid1@chromium.org, May 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fe5ff7fddaf55aa6edfdad13f192089d25e7e3a8

commit fe5ff7fddaf55aa6edfdad13f192089d25e7e3a8
Author: shend <shend@chromium.org>
Date: Mon May 15 04:09:59 2017

Generate getters/setters for (/min/max)(width/height).

Currently, width, height, min-width, max-width, min-height, max-height
are generated as 'storage_only' fields, so they have no generated public
getters/setters. This patch changes them to 'external' fields so that
their getters/setters can be generated as well.

Diff of generated files:
https://gist.github.com/darrnshn/da85715450bd51e48cb1384a9ee9b1bb/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2846153002
Cr-Commit-Position: refs/heads/master@{#471661}

[modify] https://crrev.com/fe5ff7fddaf55aa6edfdad13f192089d25e7e3a8/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/fe5ff7fddaf55aa6edfdad13f192089d25e7e3a8/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 199 by bugdroid1@chromium.org, May 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e0255eded6d4fb960323b8aa66065783ea9ae5e1

commit e0255eded6d4fb960323b8aa66065783ea9ae5e1
Author: shend <shend@chromium.org>
Date: Mon May 15 04:18:38 2017

Generate enum/getters/setters/mappings for box-sizing.

Currently, the box-sizing property is a 'storage_only' field, so
it has no generated public getters/setters. This patch changes it to a
'keyword' field so that their getters/setters can be generated as well.
We also generate the EBoxSizing enum and use the generated CSSValueID
<-> EBoxSizing mappings.

Diff of generated files:
https://gist.github.com/darrnshn/cb6f24173e65563f8a2c755a4db10836/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2853433003
Cr-Commit-Position: refs/heads/master@{#471665}

[modify] https://crrev.com/e0255eded6d4fb960323b8aa66065783ea9ae5e1/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/e0255eded6d4fb960323b8aa66065783ea9ae5e1/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/e0255eded6d4fb960323b8aa66065783ea9ae5e1/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/e0255eded6d4fb960323b8aa66065783ea9ae5e1/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/e0255eded6d4fb960323b8aa66065783ea9ae5e1/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 200 by bugdroid1@chromium.org, May 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b7a5c55bb3f841ff77446c65edfe56bcc1f893a4

commit b7a5c55bb3f841ff77446c65edfe56bcc1f893a4
Author: shend <shend@chromium.org>
Date: Mon May 15 05:24:24 2017

Clean up StyleInheritedData.

In preparation to generate StyleInheritedData, this patch removes the
StyleInherited destructor and copy constructor, since they are generated
by the compiler anyway.

BUG=628043

Review-Url: https://codereview.chromium.org/2880173002
Cr-Commit-Position: refs/heads/master@{#471672}

[modify] https://crrev.com/b7a5c55bb3f841ff77446c65edfe56bcc1f893a4/third_party/WebKit/Source/core/style/StyleInheritedData.cpp
[modify] https://crrev.com/b7a5c55bb3f841ff77446c65edfe56bcc1f893a4/third_party/WebKit/Source/core/style/StyleInheritedData.h

Project Member Comment 201 by bugdroid1@chromium.org, May 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/85a9925c6310cf115ea694e08d1ad332bfc1e09a

commit 85a9925c6310cf115ea694e08d1ad332bfc1e09a
Author: shend <shend@chromium.org>
Date: Mon May 15 05:31:31 2017

Generate enum/getters/setters/mappings for box-decoration-break.

Currently, the box-decoration-break property is a 'storage_only' field,
so it has no generated public getters/setters. This patch changes it to
a 'keyword' field so that its getters/setters can be generated as well.
We also generate the EBoxDecorationBreak enum and use the generated
CSSValueID <-> EBoxDecorationBreak mappings.

Diff of generated files:
https://gist.github.com/3e209733463b455cb70fb4f1c95435c9/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2844083005
Cr-Commit-Position: refs/heads/master@{#471675}

[modify] https://crrev.com/85a9925c6310cf115ea694e08d1ad332bfc1e09a/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/85a9925c6310cf115ea694e08d1ad332bfc1e09a/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/85a9925c6310cf115ea694e08d1ad332bfc1e09a/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/85a9925c6310cf115ea694e08d1ad332bfc1e09a/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/85a9925c6310cf115ea694e08d1ad332bfc1e09a/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 202 by bugdroid1@chromium.org, May 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1d5c7897e427cf28b15c6c4aa995f2fe7d16162c

commit 1d5c7897e427cf28b15c6c4aa995f2fe7d16162c
Author: shend <shend@chromium.org>
Date: Mon May 15 05:48:19 2017

Move AppliedTextDecorationList to its own file.

When we generate external types like Length in ComputedStyle, we specify
the path to the type (e.g. "platform/Length"). We then deduce the name
of the type from the path ("Length"). This means that the type must be
stored in a file with the same name.

This patch moves AppliedTextDecorationList to its own file so that it
can be generated.

BUG=628043

Review-Url: https://codereview.chromium.org/2884553002
Cr-Original-Commit-Position: refs/heads/master@{#471653}
Committed: https://chromium.googlesource.com/chromium/src/+/762e2d87addf15f32ac5bda17b1ad9a8fb25dee2
Review-Url: https://codereview.chromium.org/2884553002
Cr-Commit-Position: refs/heads/master@{#471677}

[add] https://crrev.com/1d5c7897e427cf28b15c6c4aa995f2fe7d16162c/third_party/WebKit/Source/core/style/AppliedTextDecorationList.h
[modify] https://crrev.com/1d5c7897e427cf28b15c6c4aa995f2fe7d16162c/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/1d5c7897e427cf28b15c6c4aa995f2fe7d16162c/third_party/WebKit/Source/core/style/StyleRareInheritedData.h

Project Member Comment 203 by bugdroid1@chromium.org, May 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9f9fcf0ea74f3184b59b09dc5a3ef9f684e3af64

commit 9f9fcf0ea74f3184b59b09dc5a3ef9f684e3af64
Author: shend <shend@chromium.org>
Date: Mon May 15 06:26:20 2017

Move CursorList to its own file.

When we generate external types like Length in ComputedStyle, we specify
the path to the type (e.g. "platform/Length"). We then deduce the name
of the type from the path ("Length"). This means that the type must be
stored in a file with the same name.

This patch moves CursorList to its own file so that it can be generated.

BUG=628043

Review-Url: https://codereview.chromium.org/2880963002
Cr-Original-Commit-Position: refs/heads/master@{#471654}
Committed: https://chromium.googlesource.com/chromium/src/+/79e3cc6d695903af9f32b770fd80f67e878587e7
Review-Url: https://codereview.chromium.org/2880963002
Cr-Commit-Position: refs/heads/master@{#471682}

[modify] https://crrev.com/9f9fcf0ea74f3184b59b09dc5a3ef9f684e3af64/third_party/WebKit/Source/core/style/BUILD.gn
[add] https://crrev.com/9f9fcf0ea74f3184b59b09dc5a3ef9f684e3af64/third_party/WebKit/Source/core/style/CursorList.h
[modify] https://crrev.com/9f9fcf0ea74f3184b59b09dc5a3ef9f684e3af64/third_party/WebKit/Source/core/style/StyleRareInheritedData.h

Project Member Comment 204 by bugdroid1@chromium.org, May 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c0cd99cb52e33e76170b3bb7936233fbb85fa3ad

commit c0cd99cb52e33e76170b3bb7936233fbb85fa3ad
Author: shend <shend@chromium.org>
Date: Mon May 15 07:56:17 2017

Move StyleInheritedData.cpp to be inline in StyleInheritedData.h.

This patch removes StyleInheritedData.cpp, and moves all its contents to be
inline in StyleInheritedData.h

This is prework for generating StyleInheritedData.

BUG=628043

Review-Url: https://codereview.chromium.org/2883803002
Cr-Commit-Position: refs/heads/master@{#471691}

[modify] https://crrev.com/c0cd99cb52e33e76170b3bb7936233fbb85fa3ad/third_party/WebKit/Source/core/style/BUILD.gn
[delete] https://crrev.com/5893160c627b1b9e36c451ce7542c76254b844d6/third_party/WebKit/Source/core/style/StyleInheritedData.cpp
[modify] https://crrev.com/c0cd99cb52e33e76170b3bb7936233fbb85fa3ad/third_party/WebKit/Source/core/style/StyleInheritedData.h

Project Member Comment 205 by bugdroid1@chromium.org, May 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dc8b3ef5667dfec73a697d1115e19832ea6341bb

commit dc8b3ef5667dfec73a697d1115e19832ea6341bb
Author: shend <shend@chromium.org>
Date: Mon May 15 23:51:36 2017

Move TextJustify to its own file.

When we generate external types like Length in ComputedStyle, we specify
the path to the type (e.g. "platform/Length"). We then deduce the name
of the type from the path ("Length"). This means that the type must be
stored in a file with the same name.

This patch moves TextJustify to its own file so that it
can be generated.

BUG=628043

Review-Url: https://codereview.chromium.org/2883813002
Cr-Commit-Position: refs/heads/master@{#471948}

[modify] https://crrev.com/dc8b3ef5667dfec73a697d1115e19832ea6341bb/third_party/WebKit/Source/platform/BUILD.gn
[add] https://crrev.com/dc8b3ef5667dfec73a697d1115e19832ea6341bb/third_party/WebKit/Source/platform/text/TextJustify.h
[modify] https://crrev.com/dc8b3ef5667dfec73a697d1115e19832ea6341bb/third_party/WebKit/Source/platform/text/TextRun.h

Project Member Comment 206 by bugdroid1@chromium.org, May 16
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8a949f82ddc941825c2b3f6529e6ca95f7f7ed0a

commit 8a949f82ddc941825c2b3f6529e6ca95f7f7ed0a
Author: shend <shend@chromium.org>
Date: Tue May 16 06:04:28 2017

Rename StyleRareInheritedData::indent_ to text_indent_.

This patch renames StyleRareInheritedData::indent_ to text_indent_ to
match the name of the CSS property that it represents.

Link to text-indent spec:
https://drafts.csswg.org/css-text-3/#text-indent

BUG=628043

Review-Url: https://codereview.chromium.org/2882373002
Cr-Commit-Position: refs/heads/master@{#472027}

[modify] https://crrev.com/8a949f82ddc941825c2b3f6529e6ca95f7f7ed0a/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/8a949f82ddc941825c2b3f6529e6ca95f7f7ed0a/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/8a949f82ddc941825c2b3f6529e6ca95f7f7ed0a/third_party/WebKit/Source/core/style/StyleRareInheritedData.cpp
[modify] https://crrev.com/8a949f82ddc941825c2b3f6529e6ca95f7f7ed0a/third_party/WebKit/Source/core/style/StyleRareInheritedData.h

Project Member Comment 207 by bugdroid1@chromium.org, May 16
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/885a5dea20c9790ed62081a7909b8f675da54eac

commit 885a5dea20c9790ed62081a7909b8f675da54eac
Author: shend <shend@chromium.org>
Date: Tue May 16 22:47:22 2017

Cleanup StyleRareInheritedData.

This patch changes StyleRareInheritedData to make it easier to generate:
- Remove unused destructor
- Replace explicit copy constructor with RefCountedCopyable
- Replace forward declarations with #includes.

This is in preparation for generating StyleRareInheritedData. While this
patch may increase compile times, we would have to pay this cost anyway
when we generate StyleRareInheritedData in ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2881003002
Cr-Commit-Position: refs/heads/master@{#472234}

[modify] https://crrev.com/885a5dea20c9790ed62081a7909b8f675da54eac/third_party/WebKit/Source/core/style/StyleRareInheritedData.cpp
[modify] https://crrev.com/885a5dea20c9790ed62081a7909b8f675da54eac/third_party/WebKit/Source/core/style/StyleRareInheritedData.h

Project Member Comment 208 by bugdroid1@chromium.org, May 17
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4dd6c898328f6315866a1cd0f3377c63531305ea

commit 4dd6c898328f6315866a1cd0f3377c63531305ea
Author: shend <shend@chromium.org>
Date: Wed May 17 08:11:53 2017

Move StyleInheritedData.h to a nested class in ComputedStyle.

This patch removes StyleInheritedData.h, moving its contents to a nested
class inside ComputedStyle.

BUG=628043

Review-Url: https://codereview.chromium.org/2882123002
Cr-Commit-Position: refs/heads/master@{#472380}

[modify] https://crrev.com/4dd6c898328f6315866a1cd0f3377c63531305ea/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/4dd6c898328f6315866a1cd0f3377c63531305ea/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/4dd6c898328f6315866a1cd0f3377c63531305ea/third_party/WebKit/Source/core/style/ComputedStyle.h
[delete] https://crrev.com/d5e13bff12f02c4dc487d87451b329754ce1c1cc/third_party/WebKit/Source/core/style/StyleInheritedData.h

Project Member Comment 209 by bugdroid1@chromium.org, May 17
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ae9de50e595b29c947d00c8f652e8ac3ab41f768

commit ae9de50e595b29c947d00c8f652e8ac3ab41f768
Author: shend <shend@chromium.org>
Date: Wed May 17 11:50:17 2017

Move RareInheritedData (Quotes|Shadow)DataEquivalent to ComputedStyle.

Currently, RareInheritedData has two helper functions:
QuotesDataEquivalent and ShadowDataEquivalent. When we generate
RareInheritedData, these helpers will no longer exist, so we need
to move them to CopmutedStyle.

This patch moves RareInheritedData::QuotesDataEquivalent and
RareInheritedData::ShadowDataEquivalent to ComputedStyle. It also
renames ShadowDataEquivalent to TextShadowDataEquivalent since it is
comparing text-shadow.

BUG=628043

Review-Url: https://codereview.chromium.org/2884153002
Cr-Commit-Position: refs/heads/master@{#472425}

[modify] https://crrev.com/ae9de50e595b29c947d00c8f652e8ac3ab41f768/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/ae9de50e595b29c947d00c8f652e8ac3ab41f768/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/ae9de50e595b29c947d00c8f652e8ac3ab41f768/third_party/WebKit/Source/core/style/StyleRareInheritedData.cpp
[modify] https://crrev.com/ae9de50e595b29c947d00c8f652e8ac3ab41f768/third_party/WebKit/Source/core/style/StyleRareInheritedData.h

Project Member Comment 210 by bugdroid1@chromium.org, May 17
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1f524da250c870845b077299d2a0ebda85bf90d9

commit 1f524da250c870845b077299d2a0ebda85bf90d9
Author: shend <shend@chromium.org>
Date: Wed May 17 22:38:45 2017

Add generated InheritedDataShared in ComputedStyleBase.

ComputedStyle::InheritedDataShared is a handwritten function that
compares subgroup pointers. This makes it difficult to change the group
that a field belongs to, as it might break the correctness of the
function.

This patch adds a generated function InheritedDataShared in
ComputedStyleBase that works no matter where fields are stored.

There are no behavioural changes in this patch.

Diff of generated files:
https://gist.github.com/darrnshn/a88dd2eaf35380e4e24d18384fb3c4b4/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2879123002
Cr-Commit-Position: refs/heads/master@{#472593}

[modify] https://crrev.com/1f524da250c870845b077299d2a0ebda85bf90d9/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/1f524da250c870845b077299d2a0ebda85bf90d9/third_party/WebKit/Source/build/scripts/templates/fields/field.tmpl
[modify] https://crrev.com/1f524da250c870845b077299d2a0ebda85bf90d9/third_party/WebKit/Source/core/style/ComputedStyle.cpp

Cc: -esprehn@chromium.org
Project Member Comment 212 by bugdroid1@chromium.org, May 17
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/48dacf962778b8fb9c0d8b49921d21c9163ba88c

commit 48dacf962778b8fb9c0d8b49921d21c9163ba88c
Author: shend <shend@chromium.org>
Date: Wed May 17 23:21:25 2017

Generate StyleInheritedData in ComputedStyleBase.

This patch generates the following fields as part of a group:
- horizontal-border-spacing (short)
- vertical-border-spacing (short)
- line-height (Length)
- font (Font)
- color (Color)
- VisitedLinkColor (Color)
- TextAutoSizingMultiplier (float)

All fields are generated as storage_only in this patch, but future patches
may change that.

Diff of generated files:
https://gist.github.com/darrnshn/28f4f79881e6474913f87257fed006a4/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2840503002
Cr-Commit-Position: refs/heads/master@{#472598}

[modify] https://crrev.com/48dacf962778b8fb9c0d8b49921d21c9163ba88c/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/48dacf962778b8fb9c0d8b49921d21c9163ba88c/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/48dacf962778b8fb9c0d8b49921d21c9163ba88c/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/48dacf962778b8fb9c0d8b49921d21c9163ba88c/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/48dacf962778b8fb9c0d8b49921d21c9163ba88c/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 213 by bugdroid1@chromium.org, May 17
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/01d27a05ed3a1e5c29015632e463eb938306adbe

commit 01d27a05ed3a1e5c29015632e463eb938306adbe
Author: shend <shend@chromium.org>
Date: Wed May 17 23:43:42 2017

Generate getters/setters for border-spacing.

Currently, the border-spacing properties: border-horizontal-spacing and
border-vertical-spacing are 'storage_only' fields, so they don't have
generated public getters/setters. This patch changes them to 'primitive'
so that their getters/setters can be generated as well.

Diff of generated files:
https://gist.github.com/darrnshn/7f153ab5b642e1a9dd7fb9e0573adaa9/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2845233002
Cr-Commit-Position: refs/heads/master@{#472602}

[modify] https://crrev.com/01d27a05ed3a1e5c29015632e463eb938306adbe/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/01d27a05ed3a1e5c29015632e463eb938306adbe/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/01d27a05ed3a1e5c29015632e463eb938306adbe/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 214 by bugdroid1@chromium.org, May 18
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c09d13d92f688a3110968dbc2ecad29be8d24e80

commit c09d13d92f688a3110968dbc2ecad29be8d24e80
Author: shend <shend@chromium.org>
Date: Thu May 18 07:19:28 2017

Replace CSSTransitionData::Create(CSSTransition) with clone method.

To copy a CSSTransitionData, we use CSSTransitionData::Create(o).
However, this interface is inconsistent with many other classes that
instead provide a clone method to do the same thing. This patch replaces
the Create method with a Clone method to be consistent.

BUG=628043

Review-Url: https://codereview.chromium.org/2886373002
Cr-Commit-Position: refs/heads/master@{#472720}

[modify] https://crrev.com/c09d13d92f688a3110968dbc2ecad29be8d24e80/third_party/WebKit/Source/core/animation/css/CSSTransitionData.h
[modify] https://crrev.com/c09d13d92f688a3110968dbc2ecad29be8d24e80/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp

Project Member Comment 215 by bugdroid1@chromium.org, May 18
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2cc0e2bbd1160f43d3400c6cc7c67c5a92a62aff

commit 2cc0e2bbd1160f43d3400c6cc7c67c5a92a62aff
Author: shend <shend@chromium.org>
Date: Thu May 18 08:14:25 2017

Add internal move setter for storage_only fields in ComputedStyle

This patch adds a protected rvalue reference setter for storage_only
fields in ComputedStyle. This will allow handwritten setters to take
advantage of move semantics (e.g. Length fields, pointer fields).

Diff of generated files:
https://gist.github.com/b5c155dcd25ab8a89259e1b33f5ece0b/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2885333002
Cr-Commit-Position: refs/heads/master@{#472736}

[modify] https://crrev.com/2cc0e2bbd1160f43d3400c6cc7c67c5a92a62aff/third_party/WebKit/Source/build/scripts/templates/fields/storage_only.tmpl

Project Member Comment 216 by bugdroid1@chromium.org, May 18
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e82ba08821352cde479db52f3b9379ea23d2b54b

commit e82ba08821352cde479db52f3b9379ea23d2b54b
Author: shend <shend@chromium.org>
Date: Thu May 18 09:29:52 2017

Remove unused handwritten StyleInheritedData in ComputedStyle.

In an earlier patch [1], we generated StyleInheritedData in
ComputedStyleBase. Unfortunately, we did not remove the corresponding
handwritten StyleInheritedData in ComputedStyle. This follow up patch
removes the unused handwritten nested class.

[1] https://codereview.chromium.org/2840503002

BUG=628043

Review-Url: https://codereview.chromium.org/2886363003
Cr-Commit-Position: refs/heads/master@{#472752}

[modify] https://crrev.com/e82ba08821352cde479db52f3b9379ea23d2b54b/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 217 by bugdroid1@chromium.org, May 19
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b72ebe3be808b64ca15ebff036511450b4a8fcff

commit b72ebe3be808b64ca15ebff036511450b4a8fcff
Author: nainar <nainar@chromium.org>
Date: Fri May 19 00:53:00 2017

Store border-*-style on SurroundData in ComputedStyle

This patch moves the storage of border-*-style away from BorderStyle.
We instead store them on the generated SurroundData group on
ComputedStyle instead.

We generate a BorderValue to pass to Layout in
ComputedStyle from all the border information stored
there.

Diff: https://gist.github.com/nainar/fd091fc658aebc3f5676f16e545e975a/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2880573002
Cr-Commit-Position: refs/heads/master@{#472999}

[modify] https://crrev.com/b72ebe3be808b64ca15ebff036511450b4a8fcff/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/b72ebe3be808b64ca15ebff036511450b4a8fcff/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/b72ebe3be808b64ca15ebff036511450b4a8fcff/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
[modify] https://crrev.com/b72ebe3be808b64ca15ebff036511450b4a8fcff/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/b72ebe3be808b64ca15ebff036511450b4a8fcff/third_party/WebKit/Source/core/layout/LayoutTableBoxComponent.cpp
[modify] https://crrev.com/b72ebe3be808b64ca15ebff036511450b4a8fcff/third_party/WebKit/Source/core/style/BorderData.h
[modify] https://crrev.com/b72ebe3be808b64ca15ebff036511450b4a8fcff/third_party/WebKit/Source/core/style/BorderValue.h
[modify] https://crrev.com/b72ebe3be808b64ca15ebff036511450b4a8fcff/third_party/WebKit/Source/core/style/CachedUAStyle.h
[modify] https://crrev.com/b72ebe3be808b64ca15ebff036511450b4a8fcff/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/b72ebe3be808b64ca15ebff036511450b4a8fcff/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/b72ebe3be808b64ca15ebff036511450b4a8fcff/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 218 by bugdroid1@chromium.org, May 19
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5e2a9eb0941bd44c21096357eedee2c6e4985ac2

commit 5e2a9eb0941bd44c21096357eedee2c6e4985ac2
Author: shend <shend@chromium.org>
Date: Fri May 19 01:23:29 2017

Generate getters/setters for VisitedLinkColor.

Currently, the VisitedLinkColor property is a 'storage_only' field, so
it has no generated public getters/setters. This patch changes it to an
'external' field so that their getters/setters can be generated as well.

Diff of generated files:
https://gist.github.com/darrnshn/66f19ed3bd09d0744ffc292f3210b479/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2844253004
Cr-Commit-Position: refs/heads/master@{#473013}

[modify] https://crrev.com/5e2a9eb0941bd44c21096357eedee2c6e4985ac2/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/5e2a9eb0941bd44c21096357eedee2c6e4985ac2/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/5e2a9eb0941bd44c21096357eedee2c6e4985ac2/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 219 by bugdroid1@chromium.org, May 19
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9f0d5e6a0694f57b9a0df2c0336f506bcf5de9e1

commit 9f0d5e6a0694f57b9a0df2c0336f506bcf5de9e1
Author: shend <shend@chromium.org>
Date: Fri May 19 02:06:39 2017

Do not use overridden getter names for internal getters.

Currently, we append the word 'internal' to the name of a field's getter
to form the name of the internal getter. However, there are cases where
this forms a bad name. For example, the getter for 'line-height' is
overridden to be SpecifiedLineHeight, which contains complex logic.
This means that the internal getter will be called
SpecifiedLineHeightInternal. This is bad because the internal getter
does not have any logic to do with specified line height. A more apt
name would be just LineHeightInternal.

This patch changes the internal getters to be <field name> + 'internal'.

Diff of generated files:
https://gist.github.com/780cea9912e024f157a97fba24ee5a0e/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2890743003
Cr-Commit-Position: refs/heads/master@{#473031}

[modify] https://crrev.com/9f0d5e6a0694f57b9a0df2c0336f506bcf5de9e1/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/9f0d5e6a0694f57b9a0df2c0336f506bcf5de9e1/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 220 by bugdroid1@chromium.org, May 19
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6ba38ebb11493db01fdd044a9a7cefbc332bc31e

commit 6ba38ebb11493db01fdd044a9a7cefbc332bc31e
Author: shend <shend@chromium.org>
Date: Fri May 19 02:57:35 2017

Replace CSSAnimationData::Create(CSSAnimation) with clone method.

To copy a CSSAnimationData, we use CSSAnimationData::Create(o).
However, this interface is inconsistent with many other classes that
instead provide a clone method to do the same thing. This patch replaces
the Create method with a Clone method to be consistent.

BUG=628043

Review-Url: https://codereview.chromium.org/2886893007
Cr-Commit-Position: refs/heads/master@{#473049}

[modify] https://crrev.com/6ba38ebb11493db01fdd044a9a7cefbc332bc31e/third_party/WebKit/Source/core/animation/css/CSSAnimationData.h
[modify] https://crrev.com/6ba38ebb11493db01fdd044a9a7cefbc332bc31e/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp

Project Member Comment 221 by bugdroid1@chromium.org, May 19
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/08b8ccad61fb9dd45f25aac7aab06dd8bbdb1856

commit 08b8ccad61fb9dd45f25aac7aab06dd8bbdb1856
Author: nainar <nainar@chromium.org>
Date: Fri May 19 13:13:23 2017

Store border-image-* on SurroundData in ComputedStyle

This patch moves the storage of border-image-* away from BorderStyle.
We instead store them on the generated SurroundData group on
ComputedStyle instead.

We generate a BorderValue to pass to Layout in
ComputedStyle from all the border information stored
there.

Diff: https://gist.github.com/a0eeb1d1383e4b502604b449867f9619/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2891003002
Cr-Commit-Position: refs/heads/master@{#473173}

[modify] https://crrev.com/08b8ccad61fb9dd45f25aac7aab06dd8bbdb1856/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/08b8ccad61fb9dd45f25aac7aab06dd8bbdb1856/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/08b8ccad61fb9dd45f25aac7aab06dd8bbdb1856/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/08b8ccad61fb9dd45f25aac7aab06dd8bbdb1856/third_party/WebKit/Source/core/style/BUILD.gn
[delete] https://crrev.com/b6fa2c513e2b0f9275b13fa48eda48c5351d6c1b/third_party/WebKit/Source/core/style/BorderData.h
[modify] https://crrev.com/08b8ccad61fb9dd45f25aac7aab06dd8bbdb1856/third_party/WebKit/Source/core/style/CachedUAStyle.h
[modify] https://crrev.com/08b8ccad61fb9dd45f25aac7aab06dd8bbdb1856/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/08b8ccad61fb9dd45f25aac7aab06dd8bbdb1856/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 222 by bugdroid1@chromium.org, May 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1e84b2ec2023742abc275f116a4ac54fdea6ebac

commit 1e84b2ec2023742abc275f116a4ac54fdea6ebac
Author: nainar <nainar@chromium.org>
Date: Sat May 20 03:00:27 2017

Generate getters/setters for border-image.

Currently, the border-image property is a 'storage_only' field, so
it has no generated public getters/setters. This patch changes it to an
'external' field so that their getters/setters can be generated as well.

Diff: https://gist.github.com/dc683ef590e3d4e88e1ed7f3a54ff16f/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2888323002
Cr-Commit-Position: refs/heads/master@{#473403}

[modify] https://crrev.com/1e84b2ec2023742abc275f116a4ac54fdea6ebac/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/1e84b2ec2023742abc275f116a4ac54fdea6ebac/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/1e84b2ec2023742abc275f116a4ac54fdea6ebac/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 223 by bugdroid1@chromium.org, May 23
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eca71d2d20a47358b8e0b7931b70d796264acbe1

commit eca71d2d20a47358b8e0b7931b70d796264acbe1
Author: shend <shend@chromium.org>
Date: Tue May 23 10:51:56 2017

Move StyleRareInheritedData.cpp to be inline in StyleRareInheritedData.h

This patch removes StyleRareInheritedData.cpp, and moves all its contents to be
inline in StyleRareInheritedData.h

This is prework for generating StyleRareInheritedData.

BUG=628043

Review-Url: https://codereview.chromium.org/2885033006
Cr-Commit-Position: refs/heads/master@{#473854}

[modify] https://crrev.com/eca71d2d20a47358b8e0b7931b70d796264acbe1/third_party/WebKit/Source/core/style/BUILD.gn
[delete] https://crrev.com/f22c112e0e74aa001c68b93b95824a8a5b554921/third_party/WebKit/Source/core/style/StyleRareInheritedData.cpp
[modify] https://crrev.com/eca71d2d20a47358b8e0b7931b70d796264acbe1/third_party/WebKit/Source/core/style/StyleRareInheritedData.h

Project Member Comment 224 by bugdroid1@chromium.org, May 23
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2945762ef57ed4d63f04c0744ff5eff70115e7af

commit 2945762ef57ed4d63f04c0744ff5eff70115e7af
Author: shend <shend@chromium.org>
Date: Tue May 23 22:23:54 2017

Move StyleRareInheritedData.h to a nested class in ComputedStyle.

This patch removes StyleRareInheritedData.h, moving its contents to a
nested class inside ComputedStyle.

BUG=628043

Review-Url: https://codereview.chromium.org/2886383002
Cr-Commit-Position: refs/heads/master@{#474083}

[modify] https://crrev.com/2945762ef57ed4d63f04c0744ff5eff70115e7af/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/2945762ef57ed4d63f04c0744ff5eff70115e7af/third_party/WebKit/Source/core/style/ComputedStyle.h
[delete] https://crrev.com/ad4e51a7f1fba29cbfa755b3dfa6b0d2a283ea4c/third_party/WebKit/Source/core/style/StyleRareInheritedData.h

Project Member Comment 225 by bugdroid1@chromium.org, May 24
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/43a17a2ec583e217c93c9895cfe90388b7c8ed2e

commit 43a17a2ec583e217c93c9895cfe90388b7c8ed2e
Author: shend <shend@chromium.org>
Date: Wed May 24 05:48:46 2017

Replace NinePieceImage.setMaskDefault with static method.

For NinePieceImages that are used as masks, we currently create a
default NinePieceImage and then call setMaskDefault on it. This is
unnecessarily complicated. Instead, we could just have a static method
on NinePieceImage that creates a mask NinePieceImage. This patch adds
a static method NinePieceImage::MaskDefaults() that returns a
NinePieceImage with its members initialised to mask defaults.

BUG=628043

Review-Url: https://codereview.chromium.org/2901433002
Cr-Commit-Position: refs/heads/master@{#474177}

[modify] https://crrev.com/43a17a2ec583e217c93c9895cfe90388b7c8ed2e/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp
[modify] https://crrev.com/43a17a2ec583e217c93c9895cfe90388b7c8ed2e/third_party/WebKit/Source/core/style/NinePieceImage.h
[modify] https://crrev.com/43a17a2ec583e217c93c9895cfe90388b7c8ed2e/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp
[modify] https://crrev.com/43a17a2ec583e217c93c9895cfe90388b7c8ed2e/third_party/WebKit/Source/core/style/StyleReflection.h

Project Member Comment 226 by bugdroid1@chromium.org, May 24
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/03e6bc737f164bf673e4676f1e673eb669525288

commit 03e6bc737f164bf673e4676f1e673eb669525288
Author: nainar <nainar@chromium.org>
Date: Wed May 24 06:08:45 2017

Use LayoutUnit for all border-*-width logic

This patch uses LayoutUnit for the logic of converting back and
forth between the stored int and the returned float value
instead of having this logic in main ComputedStyle.

Diff: https://gist.github.com/nainar/5d4e8db04884cb0dccb4874a0b23ef0d/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2904453002
Cr-Commit-Position: refs/heads/master@{#474181}

[modify] https://crrev.com/03e6bc737f164bf673e4676f1e673eb669525288/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/03e6bc737f164bf673e4676f1e673eb669525288/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/03e6bc737f164bf673e4676f1e673eb669525288/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 227 by bugdroid1@chromium.org, May 24
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aae42e696973ff14132cb94ef1cc304c2deb0f9b

commit aae42e696973ff14132cb94ef1cc304c2deb0f9b
Author: shend <shend@chromium.org>
Date: Wed May 24 06:10:15 2017

Move StyleRareNonInheritedData::has* methods to ComputedStyle.

When we generate StyleRareNonInheritedData, we would no longer have
handwritten helper functions on the class. Hence, we need to move all
the helper functions on StyleRareNonInheritedData to ComputedStyle.

This patch concerns three helper functions in ComputedStyle:
- HasFilters: Moved to ComputedStyle.
- HasBackdropFilters: Deleted as it was unused.
- HasOpacity: Same helper already exists on ComputedStyle, deleted.

BUG=628043

Review-Url: https://codereview.chromium.org/2887293002
Cr-Commit-Position: refs/heads/master@{#474182}

[modify] https://crrev.com/aae42e696973ff14132cb94ef1cc304c2deb0f9b/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/aae42e696973ff14132cb94ef1cc304c2deb0f9b/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/aae42e696973ff14132cb94ef1cc304c2deb0f9b/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp
[modify] https://crrev.com/aae42e696973ff14132cb94ef1cc304c2deb0f9b/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.h

Project Member Comment 228 by bugdroid1@chromium.org, May 24
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b69b3599eedc856b722158672add9095a518440c

commit b69b3599eedc856b722158672add9095a518440c
Author: nainar <nainar@chromium.org>
Date: Wed May 24 09:40:28 2017

Move LayoutUnit to correct alignment

LayoutUnit only contains an int so it alignment belongs on the same
line as an int

BUG=628043

Review-Url: https://codereview.chromium.org/2904843002
Cr-Commit-Position: refs/heads/master@{#474225}

[modify] https://crrev.com/b69b3599eedc856b722158672add9095a518440c/third_party/WebKit/Source/build/scripts/make_computed_style_base.py

Project Member Comment 229 by bugdroid1@chromium.org, May 24
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/77a0c5f701d4bf72cb998c69496a65725fbb719e

commit 77a0c5f701d4bf72cb998c69496a65725fbb719e
Author: shend <shend@chromium.org>
Date: Wed May 24 10:24:09 2017

Add operator== to CSSAnimationData.

This patch adds an operator== to CSSAnimationData that is used by
ComputedStyle to check equality for style resolve. Note this is
different to a full, memberwise equality.

BUG=628043

Review-Url: https://codereview.chromium.org/2904443002
Cr-Commit-Position: refs/heads/master@{#474241}

[modify] https://crrev.com/77a0c5f701d4bf72cb998c69496a65725fbb719e/third_party/WebKit/Source/core/animation/css/CSSAnimationData.h
[modify] https://crrev.com/77a0c5f701d4bf72cb998c69496a65725fbb719e/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp

Project Member Comment 230 by bugdroid1@chromium.org, May 24
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e452a38ed13a4b9c472196221494d228a8be7f30

commit e452a38ed13a4b9c472196221494d228a8be7f30
Author: shend <shend@chromium.org>
Date: Wed May 24 20:43:50 2017

Change ContentData::operator== to iterate through whole list.

ContentData is a class that has a linked list structure. To compare two
ContentDatas, ComputedStyle iterates through the two lists and checks
that each element is equal using operator==, which calls through to
ContentData::Equals.

Instead of leaving the iteration logic in ComputedStyle, this patch
moves it to operator==, so that operator== iterates through the two
linked lists and compares each element using ContentData::Equals. This
allows ComputedStyle to just use operator== on ContentData.

This transformation causes no behavioural changes as ContentData's
operator== was only used by ComputedStyle.

BUG=628043

Review-Url: https://codereview.chromium.org/2904723002
Cr-Commit-Position: refs/heads/master@{#474408}

[modify] https://crrev.com/e452a38ed13a4b9c472196221494d228a8be7f30/third_party/WebKit/Source/core/style/ContentData.h
[modify] https://crrev.com/e452a38ed13a4b9c472196221494d228a8be7f30/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp

Project Member Comment 231 by bugdroid1@chromium.org, May 25
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e66a502427e1744331aef5edf65c417dc244ae0c

commit e66a502427e1744331aef5edf65c417dc244ae0c
Author: shend <shend@chromium.org>
Date: Thu May 25 01:24:30 2017

Generate StyleRareInheritedData in ComputedStyleBase.

This patch generates StyleRareInheritedData in ComputedStyleBase. Because some
fields are stored as smart pointers, we have to introduce a new parameter
in the JSON file called "pointer_type_name", which is the name of the
smart pointer type. As with the handwritten code, pointer fields are
compared using DataEquivalent, not ==.

All fields are generated as storage_only in this patch, but future patches
may change that.

Diff of generated files:
https://gist.github.com/darrnshn/4ffa0198d36f4e0ff56ee0fc3b12619a/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2887333003
Cr-Commit-Position: refs/heads/master@{#474510}

[modify] https://crrev.com/e66a502427e1744331aef5edf65c417dc244ae0c/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/e66a502427e1744331aef5edf65c417dc244ae0c/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/e66a502427e1744331aef5edf65c417dc244ae0c/third_party/WebKit/Source/build/scripts/templates/fields/field.tmpl
[modify] https://crrev.com/e66a502427e1744331aef5edf65c417dc244ae0c/third_party/WebKit/Source/build/scripts/templates/fields/group.tmpl
[modify] https://crrev.com/e66a502427e1744331aef5edf65c417dc244ae0c/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/e66a502427e1744331aef5edf65c417dc244ae0c/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/e66a502427e1744331aef5edf65c417dc244ae0c/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/e66a502427e1744331aef5edf65c417dc244ae0c/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 232 by bugdroid1@chromium.org, May 25
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b2f8ce3799042b20855abda1cf3a62cdd8180f45

commit b2f8ce3799042b20855abda1cf3a62cdd8180f45
Author: shend <shend@chromium.org>
Date: Thu May 25 04:42:03 2017

Add operator== to CSSTransitionData.

This patch adds an operator== to CSSTransitionData that is used by
ComputedStyle to check equality for style resolve. Note this is
different to a full, memberwise equality.

BUG=628043

Review-Url: https://codereview.chromium.org/2899053006
Cr-Commit-Position: refs/heads/master@{#474551}

[modify] https://crrev.com/b2f8ce3799042b20855abda1cf3a62cdd8180f45/third_party/WebKit/Source/core/animation/css/CSSTransitionData.h
[modify] https://crrev.com/b2f8ce3799042b20855abda1cf3a62cdd8180f45/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp

Project Member Comment 233 by bugdroid1@chromium.org, May 25
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/da75ab7764c7e666793460ec09acacdf0dbb3172

commit da75ab7764c7e666793460ec09acacdf0dbb3172
Author: shend <shend@chromium.org>
Date: Thu May 25 06:32:58 2017

Generate getters/setters for line-height-step.

Currently, the line-height-step property is a 'storage_only' field, so
it has no generated public getters/setters. This patch changes it to an
'primitive' field so that their getters/setters can be generated as well.

Diff of generated files:
https://gist.github.com/darrnshn/c7aa4490604c306177cacf258e2038f4/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2895143002
Cr-Commit-Position: refs/heads/master@{#474585}

[modify] https://crrev.com/da75ab7764c7e666793460ec09acacdf0dbb3172/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/da75ab7764c7e666793460ec09acacdf0dbb3172/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 234 by bugdroid1@chromium.org, May 25
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b1187d4dc292bec2734979125c72c26394c5c768

commit b1187d4dc292bec2734979125c72c26394c5c768
Author: shend <shend@chromium.org>
Date: Thu May 25 06:37:46 2017

Generate getters/setters for subtree_is_sticky.

Currently, the subtree_is_sticky field is 'storage_only', so
it has no generated public getters/setters. This patch changes it to a
'primitive' field so that its getters/setters can be generated as well.

Diff of generated files:
https://gist.github.com/darrnshn/27b4a61fe64a79395888bf7f2b973fe0/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2897893002
Cr-Commit-Position: refs/heads/master@{#474586}

[modify] https://crrev.com/b1187d4dc292bec2734979125c72c26394c5c768/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/b1187d4dc292bec2734979125c72c26394c5c768/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 235 by bugdroid1@chromium.org, May 25
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d1573db133006bac1f7f43a90b93be8e64b721de

commit d1573db133006bac1f7f43a90b93be8e64b721de
Author: shend <shend@chromium.org>
Date: Thu May 25 06:45:05 2017

Generate getters/setters for tab-size.

Currently, the tab-size property is a 'storage_only' field, so
it has no generated public getters/setters. This patch changes it to an
'external' field so that its getters/setters can be generated as well.

Diff of generated files:
https://gist.github.com/darrnshn/03ba56c31ca25cf9d6b254b7e47dd5e4/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2897833003
Cr-Commit-Position: refs/heads/master@{#474587}

[modify] https://crrev.com/d1573db133006bac1f7f43a90b93be8e64b721de/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/d1573db133006bac1f7f43a90b93be8e64b721de/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 236 by bugdroid1@chromium.org, May 25
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0ae95b2247726145ecab341fd01c12b4bb2dfb04

commit 0ae95b2247726145ecab341fd01c12b4bb2dfb04
Author: shend <shend@chromium.org>
Date: Thu May 25 06:57:26 2017

Generate getters/setters for orphans and widows.

Currently, the orphans and widows property are 'storage_only' fields, so
they have no generated public getters/setters. This patch changes them to
'primitive' fields so that their getters/setters can be generated as well.

Diff of generated files:
https://gist.github.com/darrnshn/f98f90a4ed74459ade6a99d568ae0b6c/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2895153002
Cr-Commit-Position: refs/heads/master@{#474591}

[modify] https://crrev.com/0ae95b2247726145ecab341fd01c12b4bb2dfb04/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/0ae95b2247726145ecab341fd01c12b4bb2dfb04/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 237 by bugdroid1@chromium.org, May 25
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8e06b59b53c3e02a64471ca3fb40f2e592b3d90d

commit 8e06b59b53c3e02a64471ca3fb40f2e592b3d90d
Author: shend <shend@chromium.org>
Date: Thu May 25 08:26:31 2017

Generate enum/getters/setters/mappings for overflow-wrap.

Currently, the overflow-wrap property is a 'storage_only' field,
so it has no generated public getters/setters. This patch changes it to
a 'keyword' field so that its getters/setters can be generated as well.
We also generate the EOverflowWrap enum and use the generated
CSSValueID <-> EOverflowWrap mappings.

Diff of generated files:
https://gist.github.com/darrnshn/a1552b74d38cbb5d95479dd09fa8dd42/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2899643002
Cr-Commit-Position: refs/heads/master@{#474606}

[modify] https://crrev.com/8e06b59b53c3e02a64471ca3fb40f2e592b3d90d/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/8e06b59b53c3e02a64471ca3fb40f2e592b3d90d/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/8e06b59b53c3e02a64471ca3fb40f2e592b3d90d/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 238 by bugdroid1@chromium.org, May 25
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1a15411c6cb0dcc1d3108f00179ff88f8a7368f3

commit 1a15411c6cb0dcc1d3108f00179ff88f8a7368f3
Author: shend <shend@chromium.org>
Date: Thu May 25 08:53:22 2017

Rename StyleNonInheritedVariables::Copy to Clone.

This patch renames StyleNonInheritedVariables::Copy to Clone to match
convention.

BUG=628043

Review-Url: https://codereview.chromium.org/2905493003
Cr-Commit-Position: refs/heads/master@{#474610}

[modify] https://crrev.com/1a15411c6cb0dcc1d3108f00179ff88f8a7368f3/third_party/WebKit/Source/core/style/StyleNonInheritedVariables.h
[modify] https://crrev.com/1a15411c6cb0dcc1d3108f00179ff88f8a7368f3/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp

Project Member Comment 239 by bugdroid1@chromium.org, May 26
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ea2ef980b38e4a7f741f9f8220f48841ddd71df7

commit ea2ef980b38e4a7f741f9f8220f48841ddd71df7
Author: shend <shend@chromium.org>
Date: Fri May 26 05:31:17 2017

Replace pointers in ComputedStyle::*DataEquivalent functions with refs.

Currently, there are a few *DataEquivalent functions in ComputedStyle
that take a pointer. All these functions assume that the pointers are
not null, so we can simply replace them with references.

BUG=628043

Review-Url: https://codereview.chromium.org/2905793002
Cr-Commit-Position: refs/heads/master@{#474924}

[modify] https://crrev.com/ea2ef980b38e4a7f741f9f8220f48841ddd71df7/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/ea2ef980b38e4a7f741f9f8220f48841ddd71df7/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 240 by bugdroid1@chromium.org, May 26
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e076f00974fd76585a9a922d3674144d577271c5

commit e076f00974fd76585a9a922d3674144d577271c5
Author: shend <shend@chromium.org>
Date: Fri May 26 05:42:07 2017

Replace "field_type_path" with "include_paths" in CSSProperties.json5.

In CSSProperties.json5, to deal with type_names that are defined in
other files, we use the "field_type_path" parameter. For example, if we
wanted to use "Length" as the type_name, we can specify
"field_type_path" as "platform/Length" and the generator will
automatically include "platform/Length.h". We would also deduce that
the type_name is Length. However, this does not cater for type_names
like "Vector<String>", where multiple files need to be included.

This patch generalises "field_type_path" to "include_paths", which is
simply a list of files containing definitions for the types in
type_name. Since "include_paths" can contain multiple files, we can no
longer deduce the type_name, so we have to explicitly specify the
type_name.

BUG=628043

Review-Url: https://codereview.chromium.org/2904483003
Cr-Commit-Position: refs/heads/master@{#474928}

[modify] https://crrev.com/e076f00974fd76585a9a922d3674144d577271c5/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/e076f00974fd76585a9a922d3674144d577271c5/third_party/WebKit/Source/build/scripts/make_css_value_id_mappings.py
[modify] https://crrev.com/e076f00974fd76585a9a922d3674144d577271c5/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/e076f00974fd76585a9a922d3674144d577271c5/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5

Project Member Comment 241 by bugdroid1@chromium.org, May 26
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c1148176d6794fff0fd8dba2b9f7ed71ec52fed8

commit c1148176d6794fff0fd8dba2b9f7ed71ec52fed8
Author: shend <shend@chromium.org>
Date: Fri May 26 06:06:48 2017

Generate enum/getters/setters/mappings for speak.

Currently, the speak property is a 'storage_only' field,
so it has no generated public getters/setters. This patch changes it to
a 'keyword' field so that its getters/setters can be generated as well.
We also generate the ESpeak enum and use the generated
CSSValueID <-> ESpeak mappings.

Diff of generated files:
https://gist.github.com/aba737ebdcd44f1ee7c05cf332c64324/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2896723003
Cr-Commit-Position: refs/heads/master@{#474936}

[modify] https://crrev.com/c1148176d6794fff0fd8dba2b9f7ed71ec52fed8/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/c1148176d6794fff0fd8dba2b9f7ed71ec52fed8/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/c1148176d6794fff0fd8dba2b9f7ed71ec52fed8/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 242 by bugdroid1@chromium.org, May 26
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ba14aca6388c04464822fb5ce91604b92c3d92a4

commit ba14aca6388c04464822fb5ce91604b92c3d92a4
Author: shend <shend@chromium.org>
Date: Fri May 26 06:59:53 2017

Generate enum/getters/setters/mappings for word-break.

Currently, the word-break property is a 'storage_only' field,
so it has no generated public getters/setters. This patch changes it to
a 'keyword' field so that its getters/setters can be generated as well.
We also generate the EWordBreak enum and use the generated
CSSValueID <-> EWordBreak mappings.

Diff of generated files:
https://gist.github.com/0d411e2cb2db07f1d076383656211816/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2898363002
Cr-Commit-Position: refs/heads/master@{#474949}

[modify] https://crrev.com/ba14aca6388c04464822fb5ce91604b92c3d92a4/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/ba14aca6388c04464822fb5ce91604b92c3d92a4/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/ba14aca6388c04464822fb5ce91604b92c3d92a4/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 243 by bugdroid1@chromium.org, May 26
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/99af26c7d6c7f9d7843ab1f55b265556aabd6497

commit 99af26c7d6c7f9d7843ab1f55b265556aabd6497
Author: shend <shend@chromium.org>
Date: Fri May 26 07:49:47 2017

Move RareNonInheritedData::*DataEquivalent to ComputedStyle.

When we generate RareNonInheritedData, we would no longer generate
helper methods like ReflectionDataEquivalent. These need to be
handwritten in ComputedStyle. This patch moves these helper methods
from RareNonInheritedData to ComputedStyle.

This is preparation for generating RareNonInheritedData.

BUG=628043

Review-Url: https://codereview.chromium.org/2907713002
Cr-Commit-Position: refs/heads/master@{#474958}

[modify] https://crrev.com/99af26c7d6c7f9d7843ab1f55b265556aabd6497/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/99af26c7d6c7f9d7843ab1f55b265556aabd6497/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/99af26c7d6c7f9d7843ab1f55b265556aabd6497/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp
[modify] https://crrev.com/99af26c7d6c7f9d7843ab1f55b265556aabd6497/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.h

Project Member Comment 244 by bugdroid1@chromium.org, May 29
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8cb8d28de8f2c439a50307ddc142c533c5b79e2c

commit 8cb8d28de8f2c439a50307ddc142c533c5b79e2c
Author: shend <shend@chromium.org>
Date: Mon May 29 00:20:37 2017

DCHECK style is cacheable in ComputedStyle::CopyNonInheritedFromCached.

In ComputedStyle::CopyNonInheritedFromCached, we copy computed values
of non inherited properties from another ComputedStyle to the current
ComputedStyle. There are several DCHECKS in this function to make
sure that the style we're copying from is cacheable.

This patch replaces those DCHECKS with a single DCHECK on a new
function called MatchedPropertiesCache::IsStyleCacheable.

BUG=628043

Review-Url: https://codereview.chromium.org/2895283003
Cr-Commit-Position: refs/heads/master@{#475267}

[modify] https://crrev.com/8cb8d28de8f2c439a50307ddc142c533c5b79e2c/third_party/WebKit/Source/core/css/resolver/MatchedPropertiesCache.cpp
[modify] https://crrev.com/8cb8d28de8f2c439a50307ddc142c533c5b79e2c/third_party/WebKit/Source/core/css/resolver/MatchedPropertiesCache.h
[modify] https://crrev.com/8cb8d28de8f2c439a50307ddc142c533c5b79e2c/third_party/WebKit/Source/core/style/ComputedStyle.cpp

Project Member Comment 245 by bugdroid1@chromium.org, May 29
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bc9f245e0196fd1597d504f0e6edcd1e868a45e3

commit bc9f245e0196fd1597d504f0e6edcd1e868a45e3
Author: shend <shend@chromium.org>
Date: Mon May 29 02:04:35 2017

Generate getters/setters for Highlight.

Currently, the Highlight property is a 'storage_only' field, so
it has no generated public getters/setters. This patch changes it to an
'external' field so that their getters/setters can be generated as well.

Diff of generated files:
https://gist.github.com/darrnshn/6568c64622c1f975f9c2124712625460/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2895133002
Cr-Commit-Position: refs/heads/master@{#475275}

[modify] https://crrev.com/bc9f245e0196fd1597d504f0e6edcd1e868a45e3/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/bc9f245e0196fd1597d504f0e6edcd1e868a45e3/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 246 by bugdroid1@chromium.org, May 29
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9453f30a545c2125da8fc2aac5aa9b329c6fe438

commit 9453f30a545c2125da8fc2aac5aa9b329c6fe438
Author: shend <shend@chromium.org>
Date: Mon May 29 05:06:58 2017

Split has_custom_compare_and_copy in ComputedStyleExtraFields.json5.

There are some fields in ComputedStyleBase that do not appear in
CopyNonInheritedFromCached and NonInheritedEqual. The way we prevented
these fields from being generated in these functions is through a
parameter called has_custom_compare_and_copy in ComputedStyleExtraFields
.json5. When it is true, we do not generate code for these fields
inside those functions.

However, some fields, such as HasViewportUnits, do not appear in
NonInheritedEqual but appear in CopyNonInheritedFromCached, or vice
versa. Setting has_custom_compare_and_copy to true would've removed
generated code for both functions, which is not ideal.

This patch splits has_custom_compare_and_copy into custom_copy and
custom_compare. This allows a field to have no generated compare or
copy, or have neither.

This patch also sets the fields HasViewportUnits and HasRemUnits
to have generated copy but not compare, allowing us to remove the
corresponding handwritten code in ComputedStyle.

Diff of generated files:
https://gist.github.com/darrnshn/2dcf377d46be349720616e66f4bec1a4/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2900253002
Cr-Commit-Position: refs/heads/master@{#475289}

[modify] https://crrev.com/9453f30a545c2125da8fc2aac5aa9b329c6fe438/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/9453f30a545c2125da8fc2aac5aa9b329c6fe438/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/9453f30a545c2125da8fc2aac5aa9b329c6fe438/third_party/WebKit/Source/build/scripts/templates/fields/field.tmpl
[modify] https://crrev.com/9453f30a545c2125da8fc2aac5aa9b329c6fe438/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/9453f30a545c2125da8fc2aac5aa9b329c6fe438/third_party/WebKit/Source/core/style/ComputedStyle.cpp

Project Member Comment 247 by bugdroid1@chromium.org, May 29
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a848cb705b2c3764f9ec2099ba3b2525e450f746

commit a848cb705b2c3764f9ec2099ba3b2525e450f746
Author: shend <shend@chromium.org>
Date: Mon May 29 10:52:36 2017

Generate methods for Hyphens and HyphenationString in ComputedStyleBase.

This patch generates getters/setters/mapping for Hyphens and
HyphenationString.

Diff of generated files:
https://gist.github.com/darrnshn/7e96b6fcf479bc4828bcd64200ddabde/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2912683002
Cr-Commit-Position: refs/heads/master@{#475333}

[modify] https://crrev.com/a848cb705b2c3764f9ec2099ba3b2525e450f746/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/a848cb705b2c3764f9ec2099ba3b2525e450f746/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/a848cb705b2c3764f9ec2099ba3b2525e450f746/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/a848cb705b2c3764f9ec2099ba3b2525e450f746/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 248 by bugdroid1@chromium.org, May 30
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/de1b3604290f911cf4fc76988ee4d5b11a4f07f9

commit de1b3604290f911cf4fc76988ee4d5b11a4f07f9
Author: nainar <nainar@chromium.org>
Date: Tue May 30 05:50:47 2017

Retain is_current_color information in BorderValue constructor

This CL fixes the BorderValue constructor to retain the is_current_color
information which it was losing due to us resolving the StyleColor to
Color but still using it as a StyleColor. This meant we didn't have
the is_current_color information.

This fixes a bug in the code where we are losing information when
constructing BorderValue.

A unit test is also added to the effect.

BUG=628043

Review-Url: https://codereview.chromium.org/2913663002
Cr-Commit-Position: refs/heads/master@{#475433}

[modify] https://crrev.com/de1b3604290f911cf4fc76988ee4d5b11a4f07f9/third_party/WebKit/Source/core/style/BorderValue.h
[modify] https://crrev.com/de1b3604290f911cf4fc76988ee4d5b11a4f07f9/third_party/WebKit/Source/core/style/BorderValueTest.cpp

Project Member Comment 249 by bugdroid1@chromium.org, May 30
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/67dc05043dfa234b336708114248949e601be0e3

commit 67dc05043dfa234b336708114248949e601be0e3
Author: shend <shend@chromium.org>
Date: Tue May 30 06:11:44 2017

Remove unused overflow-wrap getters/setters.

This patch removes unused getters/setters for overflow-wrap in
ComputedStyle.

BUG=628043

Review-Url: https://codereview.chromium.org/2912883002
Cr-Commit-Position: refs/heads/master@{#475437}

[modify] https://crrev.com/67dc05043dfa234b336708114248949e601be0e3/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 250 by bugdroid1@chromium.org, May 30
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cc3ce27bea5c64c7f049adf2b6c378a5b0009242

commit cc3ce27bea5c64c7f049adf2b6c378a5b0009242
Author: shend <shend@chromium.org>
Date: Tue May 30 06:33:49 2017

Remove unused speak getters/setters in ComputedStyle.

This patch removes unused getters/setters for speak in
ComputedStyle.

BUG=628043

Review-Url: https://codereview.chromium.org/2915493003
Cr-Commit-Position: refs/heads/master@{#475443}

[modify] https://crrev.com/cc3ce27bea5c64c7f049adf2b6c378a5b0009242/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 251 by bugdroid1@chromium.org, May 30
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e6fa9ad53a68ce6204ade3cb16b0d8cf7090858a

commit e6fa9ad53a68ce6204ade3cb16b0d8cf7090858a
Author: shend <shend@chromium.org>
Date: Tue May 30 07:05:37 2017

Make StyleRareNonInheritedData::draggable_regions a bit field.

This patch changes the enum field draggable_regions in
StyleRareNonInheritedData a bit field so that it can be generated as
a keyword field.

The field is stored as an unsigned so that it can pack efficiently
on Windows.

BUG=628043

Review-Url: https://codereview.chromium.org/2912673002
Cr-Commit-Position: refs/heads/master@{#475448}

[modify] https://crrev.com/e6fa9ad53a68ce6204ade3cb16b0d8cf7090858a/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/e6fa9ad53a68ce6204ade3cb16b0d8cf7090858a/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp
[modify] https://crrev.com/e6fa9ad53a68ce6204ade3cb16b0d8cf7090858a/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.h

Project Member Comment 252 by bugdroid1@chromium.org, May 30
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/06c4e174ed940045202174b231ff02225088395d

commit 06c4e174ed940045202174b231ff02225088395d
Author: shend <shend@chromium.org>
Date: Tue May 30 07:15:55 2017

Remove unused word-break getters/setters.

This patch removes unused getters/setters for word-break in
ComputedStyle.

BUG=628043

Review-Url: https://codereview.chromium.org/2910113003
Cr-Commit-Position: refs/heads/master@{#475450}

[modify] https://crrev.com/06c4e174ed940045202174b231ff02225088395d/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 253 by bugdroid1@chromium.org, May 30
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fe4dab40075a213e695cd2a3a503356c2e6e8333

commit fe4dab40075a213e695cd2a3a503356c2e6e8333
Author: nainar <nainar@chromium.org>
Date: Tue May 30 08:14:45 2017

Generate getters/setters for text-stroke-width.

Currently, the text-stroke-width property is a 'storage_only' field, so
it has no generated public getters/setters. This patch changes it to an
'primitive' field so that its getters/setters can be generated as well.

BUG=628043

Review-Url: https://codereview.chromium.org/2907343002
Cr-Commit-Position: refs/heads/master@{#475461}

[modify] https://crrev.com/fe4dab40075a213e695cd2a3a503356c2e6e8333/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/fe4dab40075a213e695cd2a3a503356c2e6e8333/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 254 by bugdroid1@chromium.org, May 30
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a4026e4cc7c9a518e6153065cb0b19d8f1b288c0

commit a4026e4cc7c9a518e6153065cb0b19d8f1b288c0
Author: shend <shend@chromium.org>
Date: Tue May 30 08:23:11 2017

Remove unused text-security getters/setters.

This patch removes unused getters/setters for text-security in
ComputedStyle.

BUG=628043

Review-Url: https://codereview.chromium.org/2913713002
Cr-Commit-Position: refs/heads/master@{#475464}

[modify] https://crrev.com/a4026e4cc7c9a518e6153065cb0b19d8f1b288c0/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 255 by bugdroid1@chromium.org, May 30
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dbe5728de7fe5209b8590934f52af68c619a1cd1

commit dbe5728de7fe5209b8590934f52af68c619a1cd1
Author: nainar <nainar@chromium.org>
Date: Tue May 30 08:36:17 2017

Generate getters/setters for TapHighlightColor.

Currently, the TapHighlightColor property is a 'storage_only' field, so
it has no generated public getters/setters. This patch changes it to an
'external' field so that its getters/setters can be generated as well.

Diff: https://gist.github.com/nainar/7b476927a266bee61d682c2dc0527ed2/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2915533002
Cr-Commit-Position: refs/heads/master@{#475466}

[modify] https://crrev.com/dbe5728de7fe5209b8590934f52af68c619a1cd1/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/dbe5728de7fe5209b8590934f52af68c619a1cd1/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/dbe5728de7fe5209b8590934f52af68c619a1cd1/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 256 by bugdroid1@chromium.org, May 30
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/36d3ee32727627fb3bde2990eb43de8c85879183

commit 36d3ee32727627fb3bde2990eb43de8c85879183
Author: shend <shend@chromium.org>
Date: Tue May 30 10:42:46 2017

Move PageSizeAuto to ComputedStyleConstants.h.

StyleRareNonInheritedData.h has an enum called PageSizeAuto. When we
generate StyleRareNonInheritedData.h, this enum can no longer be defined
in that file. This patch moves PageSizeAuto to ComputedStyleConstants.h
so that we can continue to ues it after we've generated
StyleRareNonInheritedData.

BUG=628043

Review-Url: https://codereview.chromium.org/2907073002
Cr-Commit-Position: refs/heads/master@{#475488}

[modify] https://crrev.com/36d3ee32727627fb3bde2990eb43de8c85879183/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[modify] https://crrev.com/36d3ee32727627fb3bde2990eb43de8c85879183/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.h

Project Member Comment 257 by bugdroid1@chromium.org, May 30
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8ec54cc76d19e49895fb195b71db7dabf3c6a3d6

commit 8ec54cc76d19e49895fb195b71db7dabf3c6a3d6
Author: shend <shend@chromium.org>
Date: Tue May 30 11:28:05 2017

Generate methods for text-indent properties in ComputedStyleBase.

This patch generates getters/setters/mapping for TextIndent,
TextIndentLine, TextIndentType.

Diff of generated files:
https://gist.github.com/218a9decdab88fe8ca06b0222b1fe5ff/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2911873002
Cr-Commit-Position: refs/heads/master@{#475491}

[modify] https://crrev.com/8ec54cc76d19e49895fb195b71db7dabf3c6a3d6/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/8ec54cc76d19e49895fb195b71db7dabf3c6a3d6/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/8ec54cc76d19e49895fb195b71db7dabf3c6a3d6/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/8ec54cc76d19e49895fb195b71db7dabf3c6a3d6/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 258 by bugdroid1@chromium.org, May 30
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f003932c6720ec1b62d30928d25ebc6bd9c73de9

commit f003932c6720ec1b62d30928d25ebc6bd9c73de9
Author: nainar <nainar@chromium.org>
Date: Tue May 30 11:29:29 2017

Generate enum/getters/setters/mappings for text-align-last.

Currently, the text-align-last property is a 'storage_only' field,
so it has no generated public getters/setters. This patch changes it to
a 'keyword' field so that its getters/setters can be generated as well.
We also generate the ETextAlignLast enum and use the generated
CSSValueID <-> ETextAlignLast mappings.

Diff: https://gist.github.com/7ebcc52951f3abdb9e1fd8f23bdb3e71/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2915543002
Cr-Commit-Position: refs/heads/master@{#475493}

[modify] https://crrev.com/f003932c6720ec1b62d30928d25ebc6bd9c73de9/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/f003932c6720ec1b62d30928d25ebc6bd9c73de9/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/f003932c6720ec1b62d30928d25ebc6bd9c73de9/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/f003932c6720ec1b62d30928d25ebc6bd9c73de9/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp
[modify] https://crrev.com/f003932c6720ec1b62d30928d25ebc6bd9c73de9/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/f003932c6720ec1b62d30928d25ebc6bd9c73de9/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 259 by bugdroid1@chromium.org, May 30
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f0b43318558028fe42bc12bf1d1096849d205455

commit f0b43318558028fe42bc12bf1d1096849d205455
Author: nainar <nainar@chromium.org>
Date: Tue May 30 11:30:26 2017

Generate getters/setters for TextSizeAdjust.

Currently, the TextSizeAdjust property is a 'storage_only' field, so
it has no generated public getters/setters. This patch changes it to an
'external' field so that its getters/setters can be generated as well.

Diff: https://gist.github.com/nainar/649eeb3c1dc02dc231fb5f9a75da44ac/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2909233002
Cr-Commit-Position: refs/heads/master@{#475494}

[modify] https://crrev.com/f0b43318558028fe42bc12bf1d1096849d205455/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/f0b43318558028fe42bc12bf1d1096849d205455/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 260 by bugdroid1@chromium.org, May 31
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4345e38cd114d781b630039d2cc0f18c7514f626

commit 4345e38cd114d781b630039d2cc0f18c7514f626
Author: shend <shend@chromium.org>
Date: Wed May 31 04:05:33 2017

Explicitly generate ComputedStyleBase subgroup copy constructors.

We currently use the default copy constructor for subgroups under
ComputedStyleBase like StyleSurroundData. We've been able to do so
because all fields had default copying behaviour. Now we want to
generate StyleRareNonInheritedData, which has std::unique_ptr fields
that cannot be copied by default. This means we have to explicitly
generate user-defined copy constructors for these subgroups.

This is in preparation for supporting custom copying behaviour for
fields.

Diff of generated files:
https://gist.github.com/darrnshn/1c51e498c11b2798fbc962390a009060/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2911373002
Cr-Commit-Position: refs/heads/master@{#475788}

[modify] https://crrev.com/4345e38cd114d781b630039d2cc0f18c7514f626/third_party/WebKit/Source/build/scripts/templates/fields/group.tmpl

Project Member Comment 261 by bugdroid1@chromium.org, May 31
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/13eccd8f81e732469a8db4cd1540a80825c709b3

commit 13eccd8f81e732469a8db4cd1540a80825c709b3
Author: shend <shend@chromium.org>
Date: Wed May 31 04:27:45 2017

Generate methods for TextEmphasis properties in ComputedStyleBase.

This patch generates getters/setters/mapping for TextEmphasisFill,
TextEmphasisPosition, TextEmphasisCustomMark.

BUG=628043

Review-Url: https://codereview.chromium.org/2904403002
Cr-Commit-Position: refs/heads/master@{#475800}

[modify] https://crrev.com/13eccd8f81e732469a8db4cd1540a80825c709b3/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/13eccd8f81e732469a8db4cd1540a80825c709b3/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/13eccd8f81e732469a8db4cd1540a80825c709b3/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/13eccd8f81e732469a8db4cd1540a80825c709b3/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 262 by bugdroid1@chromium.org, May 31
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/22b71109df3859c446a21a1fefccec0d70b5d52c

commit 22b71109df3859c446a21a1fefccec0d70b5d52c
Author: shend <shend@chromium.org>
Date: Wed May 31 05:37:15 2017

Rename StyleRareNonInheritedData members.

This patch renames some StyleRareNonInheritedData members so that they
match the format expected by the generator.

BUG=628043

Review-Url: https://codereview.chromium.org/2911403002
Cr-Commit-Position: refs/heads/master@{#475814}

[modify] https://crrev.com/22b71109df3859c446a21a1fefccec0d70b5d52c/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/22b71109df3859c446a21a1fefccec0d70b5d52c/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/22b71109df3859c446a21a1fefccec0d70b5d52c/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp
[modify] https://crrev.com/22b71109df3859c446a21a1fefccec0d70b5d52c/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.h

Project Member Comment 263 by bugdroid1@chromium.org, May 31
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4e4c61cfefb77952159dae7efab12914e9f4e56f

commit 4e4c61cfefb77952159dae7efab12914e9f4e56f
Author: shend <shend@chromium.org>
Date: Wed May 31 05:50:44 2017

Generate enum/getters/setters/mappings for ruby-position.

Currently, the ruby-position property is a 'storage_only' field,
so it has no generated public getters/setters. This patch changes it to
a 'keyword' field so that its getters/setters can be generated as well.
We also generate the ERubyPosition enum and use the generated
CSSValueID <-> ERubyPosition mappings.

BUG=628043

Review-Url: https://codereview.chromium.org/2915683002
Cr-Commit-Position: refs/heads/master@{#475817}

[modify] https://crrev.com/4e4c61cfefb77952159dae7efab12914e9f4e56f/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/4e4c61cfefb77952159dae7efab12914e9f4e56f/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/4e4c61cfefb77952159dae7efab12914e9f4e56f/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/4e4c61cfefb77952159dae7efab12914e9f4e56f/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 264 by bugdroid1@chromium.org, May 31
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/51bbe33ffd7411539815a5f7e554b39b5e26eefd

commit 51bbe33ffd7411539815a5f7e554b39b5e26eefd
Author: shend <shend@chromium.org>
Date: Wed May 31 06:39:20 2017

Generate enum/getters/setters/mappings for line-break.

Currently, the line-break property is a 'storage_only' field,
so it has no generated public getters/setters. This patch changes it to
a 'keyword' field so that its getters/setters can be generated as well.
We also generate the ELineBreak enum and use the generated
CSSValueID <-> ELineBreak mappings.

BUG=628043

Review-Url: https://codereview.chromium.org/2911383002
Cr-Commit-Position: refs/heads/master@{#475830}

[modify] https://crrev.com/51bbe33ffd7411539815a5f7e554b39b5e26eefd/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/51bbe33ffd7411539815a5f7e554b39b5e26eefd/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/51bbe33ffd7411539815a5f7e554b39b5e26eefd/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/51bbe33ffd7411539815a5f7e554b39b5e26eefd/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 265 by bugdroid1@chromium.org, May 31
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/adccf92c92a9fa6094191e3938b3bd42948751fd

commit adccf92c92a9fa6094191e3938b3bd42948751fd
Author: shend <shend@chromium.org>
Date: Wed May 31 10:22:42 2017

Generate enum/getters/setters/mappings for user-select.

Currently, the user-select property is a 'storage_only' field,
so it has no generated public getters/setters. This patch changes it to
a 'keyword' field so that its getters/setters can be generated as well.
We also generate the EUserSelect enum and use the generated
CSSValueID <-> EUserSelect mappings.

Diff of generated files:
https://gist.github.com/darrnshn/55f9abda5310dd37a0b60386f23e0e4a/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2911963004
Cr-Commit-Position: refs/heads/master@{#475867}

[modify] https://crrev.com/adccf92c92a9fa6094191e3938b3bd42948751fd/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/adccf92c92a9fa6094191e3938b3bd42948751fd/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/adccf92c92a9fa6094191e3938b3bd42948751fd/third_party/WebKit/Source/core/css/CSSValueIDMappings.h
[modify] https://crrev.com/adccf92c92a9fa6094191e3938b3bd42948751fd/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/adccf92c92a9fa6094191e3938b3bd42948751fd/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 266 by bugdroid1@chromium.org, May 31
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/960ae7f16addc69a2369cda1d8462f0b1850a77e

commit 960ae7f16addc69a2369cda1d8462f0b1850a77e
Author: nainar <nainar@chromium.org>
Date: Wed May 31 11:29:50 2017

Generate enum/getters/setters/mappings for text-combine-upright.

Currently, the text-combine-upright/{webkit,epub}-combine property is a
'storage_only' field, so it has no generated public getters/setters.
This patch changes it to a 'keyword' field so that its getters/setters
can be generated as well. We also generate the ETextCombine enum and
use the generated CSSValueID <-> ETextCombine mappings.

Diff: https://gist.github.com/nainar/c2f36a25584d2f298ab9090fe308c6e5/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2916523002
Cr-Commit-Position: refs/heads/master@{#475877}

[modify] https://crrev.com/960ae7f16addc69a2369cda1d8462f0b1850a77e/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/960ae7f16addc69a2369cda1d8462f0b1850a77e/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/960ae7f16addc69a2369cda1d8462f0b1850a77e/third_party/WebKit/Source/core/css/CSSValueIDMappings.h
[modify] https://crrev.com/960ae7f16addc69a2369cda1d8462f0b1850a77e/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/960ae7f16addc69a2369cda1d8462f0b1850a77e/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/960ae7f16addc69a2369cda1d8462f0b1850a77e/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 267 by bugdroid1@chromium.org, May 31
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f3833029711d581ebebedaeaf3412b2463c857ea

commit f3833029711d581ebebedaeaf3412b2463c857ea
Author: nainar <nainar@chromium.org>
Date: Wed May 31 11:52:01 2017

Generate enum/getters/setters/mappings for text-orientation.

Currently, the text-orientation property is a 'storage_only' field,
so it has no generated public getters/setters. This patch changes it to
a 'keyword' field so that its getters/setters can be generated as well.
We also generate the ETextOrientation enum and use the generated
CSSValueID <-> ETextOrientation mappings.

Diff: https://gist.github.com/nainar/257662e77043a84cf3def269576e534a/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2913723002
Cr-Commit-Position: refs/heads/master@{#475880}

[modify] https://crrev.com/f3833029711d581ebebedaeaf3412b2463c857ea/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/f3833029711d581ebebedaeaf3412b2463c857ea/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/f3833029711d581ebebedaeaf3412b2463c857ea/third_party/WebKit/Source/core/css/CSSValueIDMappings.h
[modify] https://crrev.com/f3833029711d581ebebedaeaf3412b2463c857ea/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/f3833029711d581ebebedaeaf3412b2463c857ea/third_party/WebKit/Source/core/css/resolver/FontBuilder.cpp
[modify] https://crrev.com/f3833029711d581ebebedaeaf3412b2463c857ea/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
[modify] https://crrev.com/f3833029711d581ebebedaeaf3412b2463c857ea/third_party/WebKit/Source/core/css/resolver/StyleResolverState.h
[modify] https://crrev.com/f3833029711d581ebebedaeaf3412b2463c857ea/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/f3833029711d581ebebedaeaf3412b2463c857ea/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 268 by bugdroid1@chromium.org, May 31
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/09c379de358b916213f0591a5214b60e76dfb224

commit 09c379de358b916213f0591a5214b60e76dfb224
Author: shend <shend@chromium.org>
Date: Wed May 31 12:13:24 2017

Make CounterDirectiveMap a class and implement a Clone() method.

CounterDirectiveMap is currently a typedef of a HashMap, which means
it can't be extended with the Clone method that is required by
StyleRareNonInheritedData when it becomes generated. This patch
makes it into a class and adds a Clone method so that it can be
copied by a generated StyleRareNonInheritedData.

BUG=628043

Review-Url: https://codereview.chromium.org/2907063002
Cr-Commit-Position: refs/heads/master@{#475884}

[modify] https://crrev.com/09c379de358b916213f0591a5214b60e76dfb224/third_party/WebKit/Source/core/style/CounterDirectives.cpp
[modify] https://crrev.com/09c379de358b916213f0591a5214b60e76dfb224/third_party/WebKit/Source/core/style/CounterDirectives.h
[modify] https://crrev.com/09c379de358b916213f0591a5214b60e76dfb224/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp

Project Member Comment 269 by bugdroid1@chromium.org, May 31
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9a4d00a687e0cf0ea029a68b2dd44f5814d539d0

commit 9a4d00a687e0cf0ea029a68b2dd44f5814d539d0
Author: nainar <nainar@chromium.org>
Date: Wed May 31 13:34:07 2017

Replace call sites to BorderValue functions to save the BorderValue construction cost

Currently we construct BorderValues via functions
ComputedStyle::Border{Left,Right,Start,End} only to access two methods
at most (Style and Width) or perform comparison. This patch splits out
the accessors for Style and Width and adds comparison functions to
ComputedStyle to save this construction cost.

We haven't removed the callsites in Layout land that return a
BorderValue and are saving it for a future patch to reduce complexity.

BUG=628043, 721287

Review-Url: https://codereview.chromium.org/2906253003
Cr-Commit-Position: refs/heads/master@{#475896}

[modify] https://crrev.com/9a4d00a687e0cf0ea029a68b2dd44f5814d539d0/third_party/WebKit/Source/core/layout/CollapsedBorderValue.h
[modify] https://crrev.com/9a4d00a687e0cf0ea029a68b2dd44f5814d539d0/third_party/WebKit/Source/core/layout/LayoutTable.cpp
[modify] https://crrev.com/9a4d00a687e0cf0ea029a68b2dd44f5814d539d0/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp
[modify] https://crrev.com/9a4d00a687e0cf0ea029a68b2dd44f5814d539d0/third_party/WebKit/Source/core/layout/LayoutTableSection.cpp
[modify] https://crrev.com/9a4d00a687e0cf0ea029a68b2dd44f5814d539d0/third_party/WebKit/Source/core/layout/LayoutTreeAsText.cpp
[modify] https://crrev.com/9a4d00a687e0cf0ea029a68b2dd44f5814d539d0/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/9a4d00a687e0cf0ea029a68b2dd44f5814d539d0/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 270 by bugdroid1@chromium.org, Jun 1
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b4e5b1d42138414abcef8816f6af08fbebdbccd2

commit b4e5b1d42138414abcef8816f6af08fbebdbccd2
Author: shend <shend@chromium.org>
Date: Thu Jun 01 01:50:50 2017

Generate enum/getters/setters/mappings for user-modify.

Currently, the user-modify property is a 'storage_only' field,
so it has no generated public getters/setters. This patch changes it to
a 'keyword' field so that its getters/setters can be generated as well.
We also generate the EUserModify enum and use the generated
CSSValueID <-> EUserModify mappings.

Diff of generated files:
https://gist.github.com/21e3b6343b06a190a48ab3e22c9e10bc/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2912923003
Cr-Commit-Position: refs/heads/master@{#476141}

[modify] https://crrev.com/b4e5b1d42138414abcef8816f6af08fbebdbccd2/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/b4e5b1d42138414abcef8816f6af08fbebdbccd2/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/b4e5b1d42138414abcef8816f6af08fbebdbccd2/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/b4e5b1d42138414abcef8816f6af08fbebdbccd2/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 271 by bugdroid1@chromium.org, Jun 2
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/88112f9e6ce26835980ae32867c5cdbbe36840a5

commit 88112f9e6ce26835980ae32867c5cdbbe36840a5
Author: shend <shend@chromium.org>
Date: Fri Jun 02 04:10:57 2017

Move StyleMultiColData::RuleWidth to ComputedStyle.

When we generate StyleMultiColData, we would no longer have the
RuleWidth method because it is handwritten on StyleMultiColData.
This patch moves RuleWidth to be inline in ComputedStyle so that we
can generate StyleMultiColData.

BUG=628043

Review-Url: https://codereview.chromium.org/2916843002
Cr-Commit-Position: refs/heads/master@{#476560}

[modify] https://crrev.com/88112f9e6ce26835980ae32867c5cdbbe36840a5/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/88112f9e6ce26835980ae32867c5cdbbe36840a5/third_party/WebKit/Source/core/style/StyleMultiColData.h

Project Member Comment 272 by bugdroid1@chromium.org, Jun 2
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4dd1ce7526c926a0a05909a90cc303f56d29c26f

commit 4dd1ce7526c926a0a05909a90cc303f56d29c26f
Author: shend <shend@chromium.org>
Date: Fri Jun 02 04:23:33 2017

Move ScrollSnapPoints to its own file.

This patch moves ScrollSnapPoints to its own file so that we do not
lose its definition when we generate StyleScrollSnapData.

BUG=628043

Review-Url: https://codereview.chromium.org/2913403002
Cr-Commit-Position: refs/heads/master@{#476561}

[modify] https://crrev.com/4dd1ce7526c926a0a05909a90cc303f56d29c26f/third_party/WebKit/Source/core/style/BUILD.gn
[add] https://crrev.com/4dd1ce7526c926a0a05909a90cc303f56d29c26f/third_party/WebKit/Source/core/style/ScrollSnapPoints.h
[modify] https://crrev.com/4dd1ce7526c926a0a05909a90cc303f56d29c26f/third_party/WebKit/Source/core/style/StyleScrollSnapData.cpp
[modify] https://crrev.com/4dd1ce7526c926a0a05909a90cc303f56d29c26f/third_party/WebKit/Source/core/style/StyleScrollSnapData.h

Project Member Comment 273 by bugdroid1@chromium.org, Jun 2
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/399dd8b1e55cfa495e75fcf03b3e65ef3188c82b

commit 399dd8b1e55cfa495e75fcf03b3e65ef3188c82b
Author: shend <shend@chromium.org>
Date: Fri Jun 02 05:15:49 2017

Add missing data members in StyleRareNonInheritedData copy constructor.

Two data members are missing from the StyleRareNonInheritedData copy
constructor. This can be problematic because StyleRareNonInheritedData
is stored with copy-on-write semantics: when two ComputedStyles share
the same StyleRareNonInheritedData, modifying one of them will create
a copy without copying those two data members.

This patch adds callback_selectors and paint_images into the copy
constructor.

BUG=628043

Review-Url: https://codereview.chromium.org/2893243002
Cr-Commit-Position: refs/heads/master@{#476577}

[modify] https://crrev.com/399dd8b1e55cfa495e75fcf03b3e65ef3188c82b/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp

Project Member Comment 274 by bugdroid1@chromium.org, Jun 2
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9e887928f5fc67b86d3d2bf951c3022caaa2314e

commit 9e887928f5fc67b86d3d2bf951c3022caaa2314e
Author: shend <shend@chromium.org>
Date: Fri Jun 02 05:29:00 2017

Make PaintImages a class and implement a Clone() method.

Currently we use Vector<Persistent<StyleImage>> to represent a list
of paint images. When we generate StyleRareNonInheritedData, we need
this type to have a Clone method because it is stored inside a
std::unique_ptr. This patch makes this type its own class so that
it can be extended with a Clone method.

BUG=628043

Review-Url: https://codereview.chromium.org/2911343002
Cr-Commit-Position: refs/heads/master@{#476580}

[modify] https://crrev.com/9e887928f5fc67b86d3d2bf951c3022caaa2314e/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/9e887928f5fc67b86d3d2bf951c3022caaa2314e/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[add] https://crrev.com/9e887928f5fc67b86d3d2bf951c3022caaa2314e/third_party/WebKit/Source/core/style/PaintImages.h
[modify] https://crrev.com/9e887928f5fc67b86d3d2bf951c3022caaa2314e/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp
[modify] https://crrev.com/9e887928f5fc67b86d3d2bf951c3022caaa2314e/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.h

Project Member Comment 275 by bugdroid1@chromium.org, Jun 2
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/359a15605f7907df8909b75dfac49dfd5d98f6ae

commit 359a15605f7907df8909b75dfac49dfd5d98f6ae
Author: shend <shend@chromium.org>
Date: Fri Jun 02 05:44:08 2017

Generate enum/getters/setters/mappings for image-rendering.

Currently, the image-rendering property is a 'storage_only' field,
so it has no generated public getters/setters. This patch changes it to
a 'keyword' field so that its getters/setters can be generated as well.
We also generate the ImageRendering enum and use the generated
CSSValueID <-> ImageRendering mappings.

We also rename ImageRendering::kOptimizeContrast to
kWebkitOptimizeContrast to match the keywords.

Diff of generated files:
https://gist.github.com/51d00263e744ea52b3b8cc419f54314f/revisions

BUG=628043
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2922483004
Cr-Commit-Position: refs/heads/master@{#476585}

[modify] https://crrev.com/359a15605f7907df8909b75dfac49dfd5d98f6ae/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/359a15605f7907df8909b75dfac49dfd5d98f6ae/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/359a15605f7907df8909b75dfac49dfd5d98f6ae/third_party/WebKit/Source/core/layout/ImageQualityController.cpp
[modify] https://crrev.com/359a15605f7907df8909b75dfac49dfd5d98f6ae/third_party/WebKit/Source/core/paint/HTMLCanvasPainter.cpp
[modify] https://crrev.com/359a15605f7907df8909b75dfac49dfd5d98f6ae/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/359a15605f7907df8909b75dfac49dfd5d98f6ae/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 276 by bugdroid1@chromium.org, Jun 2
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e7c31a19402ec496651ee9c6b0177234fda7d600

commit e7c31a19402ec496651ee9c6b0177234fda7d600
Author: shend <shend@chromium.org>
Date: Fri Jun 02 08:37:13 2017

Move fixed point constants from ComputedStyleConstants to BorderValue.

This patch moves these constants because they are no longer used by
ComputedStyle nor ComputedStyleBase, but only by BorderValue.

BUG=628043

Review-Url: https://codereview.chromium.org/2913233003
Cr-Commit-Position: refs/heads/master@{#476602}

[modify] https://crrev.com/e7c31a19402ec496651ee9c6b0177234fda7d600/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/e7c31a19402ec496651ee9c6b0177234fda7d600/third_party/WebKit/Source/core/style/BorderValue.h
[modify] https://crrev.com/e7c31a19402ec496651ee9c6b0177234fda7d600/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 277 by bugdroid1@chromium.org, Jun 5
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f7b7f0ee69149ccc0bf5a903d6086b114626dda8

commit f7b7f0ee69149ccc0bf5a903d6086b114626dda8
Author: shend <shend@chromium.org>
Date: Mon Jun 05 22:18:58 2017

Rename RareInheritedData::variables and RareNonInheritedData::variables.

When we generate fields in ComputedStyleBase, the name of the fields
must be distinct. Sometimes, existing handwritten data members share
the same name because they are stored on different groups. This may not
be true when they become generated. Hence, we have to rename these
members with a distinct name.

This patch renames:
- StyleRareInheritedData::variables_ -> inherited_variables_
- StyleRareNonInheritedData::variables_ -> non_inherited_variables_

There are no changes in behaviour.

BUG=628043

Review-Url: https://codereview.chromium.org/2920133003
Cr-Commit-Position: refs/heads/master@{#477098}

[modify] https://crrev.com/f7b7f0ee69149ccc0bf5a903d6086b114626dda8/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/f7b7f0ee69149ccc0bf5a903d6086b114626dda8/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/f7b7f0ee69149ccc0bf5a903d6086b114626dda8/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp
[modify] https://crrev.com/f7b7f0ee69149ccc0bf5a903d6086b114626dda8/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.h

Project Member Comment 278 by bugdroid1@chromium.org, Jun 5
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/525a0e6f0d79296a4da4f109f7a704ebbcf7f20a

commit 525a0e6f0d79296a4da4f109f7a704ebbcf7f20a
Author: shend <shend@chromium.org>
Date: Mon Jun 05 22:50:32 2017

Make ComputedStyleBase internal pointer setters move-only.

This patch removes the const ref overload for setters on pointer types.
This means that the internal setter can only be used with an rvalue ref.

This has two consequences:
- We can generate code that works for RefPtrs and std::unique_ptrs
  (since std::unique_ptrs are not copyable, the const ref overload is
   meaningless [*]).
- RefPtrs are passed to internal setters using std::move, which avoids
  ref churn.

[*] Whilst we could make the const ref overload copy the unique_ptr, we
feel that this implicit copying behaviour is bad.

Diff of generated files:
https://gist.github.com/darrnshn/d809ec84cd6418bb1f65ca6dae986630/revisions

This patch does not change behaviour, only the internal API for
ComputedStyleBase.

BUG=628043

Review-Url: https://codereview.chromium.org/2923493003
Cr-Commit-Position: refs/heads/master@{#477111}

[modify] https://crrev.com/525a0e6f0d79296a4da4f109f7a704ebbcf7f20a/third_party/WebKit/Source/build/scripts/templates/fields/storage_only.tmpl
[modify] https://crrev.com/525a0e6f0d79296a4da4f109f7a704ebbcf7f20a/third_party/WebKit/Source/core/style/ComputedStyle.cpp

Project Member Comment 279 by bugdroid1@chromium.org, Jun 6
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ba2889de7991c1f5162cd12dd6cc6e4de3bc3ac0

commit ba2889de7991c1f5162cd12dd6cc6e4de3bc3ac0
Author: shend <shend@chromium.org>
Date: Tue Jun 06 05:48:54 2017

Make ComputedStyleBase use DataCopy when copying pointer fields.

ComputedStyleBase has a constructor that copies every field using the
default copy behaviour. However, when we generate RareNonInheritedData,
some of the pointer fields require special copying behaviour (e.g.
those stored in a std::unique_ptr). To inject custom copying behaviour,
we copy pointer fields with a new function called MemberCopy. MemberCopy
is a function that takes a variable of some type and returns a copy of
it. It can be overloaded to have custom copying behaviour for some type.
Since ComputedStyleBase currently has no special copying behaviour,
we simply overload MemberCopy with RefPtr and Persistent to use the
default copying behaviour.

When we generate RareNonInheritedData, we will need to introduce
overloads for std::unique_ptr and DataPersistent.

This patch does not introduce changes in behaviour.

Diff of generated files:
https://gist.github.com/7a2b410da029e4ed71af5509c511cba2/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2921543002
Cr-Commit-Position: refs/heads/master@{#477206}

[modify] https://crrev.com/ba2889de7991c1f5162cd12dd6cc6e4de3bc3ac0/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/ba2889de7991c1f5162cd12dd6cc6e4de3bc3ac0/third_party/WebKit/Source/build/scripts/templates/fields/group.tmpl
[modify] https://crrev.com/ba2889de7991c1f5162cd12dd6cc6e4de3bc3ac0/third_party/WebKit/Source/core/style/BUILD.gn
[add] https://crrev.com/ba2889de7991c1f5162cd12dd6cc6e4de3bc3ac0/third_party/WebKit/Source/core/style/MemberCopy.h

Project Member Comment 280 by bugdroid1@chromium.org, Jun 6
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/61e48d3a97f36c56ad4c9b0d694d4ae52f458a87

commit 61e48d3a97f36c56ad4c9b0d694d4ae52f458a87
Author: Darren Shen <shend@chromium.org>
Date: Tue Jun 06 06:15:42 2017

Rename DataRefs in RareNonInheritedData.

The generator will generate DataRefs with the _data_ suffix in the name.
This patch renames the handwritten DataRefs in RareNonInheritedData to
conform to this style.

Bug: 628043
Change-Id: I66e0991eb6767fc3da9895c4372ec921b9efb9e5
Reviewed-on: https://chromium-review.googlesource.com/525274
Commit-Queue: Naina Raisinghani <nainar@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: Naina Raisinghani <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#477209}
[modify] https://crrev.com/61e48d3a97f36c56ad4c9b0d694d4ae52f458a87/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/61e48d3a97f36c56ad4c9b0d694d4ae52f458a87/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/61e48d3a97f36c56ad4c9b0d694d4ae52f458a87/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp
[modify] https://crrev.com/61e48d3a97f36c56ad4c9b0d694d4ae52f458a87/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.h

Project Member Comment 281 by bugdroid1@chromium.org, Jun 6
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d68f294b5c23f5b973d9391007c872751cfe49b3

commit d68f294b5c23f5b973d9391007c872751cfe49b3
Author: Darren Shen <shend@chromium.org>
Date: Tue Jun 06 07:56:56 2017

Rename StyleWillChangeData members.

When we generate fields in ComputedStyleBase, the name of the fields
must be distinct. Sometimes, existing handwritten data members share
the same name because they are stored on different groups. This may not
be true when they become generated. Hence, we have to rename these
members with a distinct name.

This patch adds the "will_change" prefix to the names of all the
StyleWillChange data members.

There are no changes in behaviour.

Bug=628043

Change-Id: I5f7d484a2afedb4aa64e33dd1ea2665a2dc44611
Reviewed-on: https://chromium-review.googlesource.com/525252
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: Eddy Mead <meade@chromium.org>
Cr-Commit-Position: refs/heads/master@{#477230}
[modify] https://crrev.com/d68f294b5c23f5b973d9391007c872751cfe49b3/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/d68f294b5c23f5b973d9391007c872751cfe49b3/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/d68f294b5c23f5b973d9391007c872751cfe49b3/third_party/WebKit/Source/core/style/StyleWillChangeData.cpp
[modify] https://crrev.com/d68f294b5c23f5b973d9391007c872751cfe49b3/third_party/WebKit/Source/core/style/StyleWillChangeData.h

Project Member Comment 282 by bugdroid1@chromium.org, Jun 6
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2f1f18582cf8be66116d77c6ba20aba98768facd

commit 2f1f18582cf8be66116d77c6ba20aba98768facd
Author: shend <shend@chromium.org>
Date: Tue Jun 06 10:03:19 2017

Remove extraneous "data_" on RareNonInheritedData member.

Renames deprecated_flexible_box_data_data_ to
deprecated_flexible_box_data_.

BUG=628043

Review-Url: https://codereview.chromium.org/2922323002
Cr-Commit-Position: refs/heads/master@{#477251}

[modify] https://crrev.com/2f1f18582cf8be66116d77c6ba20aba98768facd/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/2f1f18582cf8be66116d77c6ba20aba98768facd/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/2f1f18582cf8be66116d77c6ba20aba98768facd/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp
[modify] https://crrev.com/2f1f18582cf8be66116d77c6ba20aba98768facd/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.h

Project Member Comment 283 by bugdroid1@chromium.org, Jun 6
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c5ccd757d6645405106fffc4c79f9697a7ec4da3

commit c5ccd757d6645405106fffc4c79f9697a7ec4da3
Author: Darren Shen <shend@chromium.org>
Date: Tue Jun 06 22:26:14 2017

Generate methods for SubtreeWillChangeContents in ComputedStyleBase.

This patch generates getters/setters for SubtreeWillChangeContents.

Diff of generated files:
https://gist.github.com/46ddf3dfedfbbc8a990e1c3acff6507d/revisions

Bug: 628043
Change-Id: I411be4511953bb15e9b626439179a8ea8ca1684a
Reviewed-on: https://chromium-review.googlesource.com/525214
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: Naina Raisinghani <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#477437}
[modify] https://crrev.com/c5ccd757d6645405106fffc4c79f9697a7ec4da3/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/c5ccd757d6645405106fffc4c79f9697a7ec4da3/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 284 by bugdroid1@chromium.org, Jun 6
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/97bec63d0193db10f8e31fdad38ea8886d73e00f

commit 97bec63d0193db10f8e31fdad38ea8886d73e00f
Author: Darren Shen <shend@chromium.org>
Date: Tue Jun 06 23:45:40 2017

Generate enum/getters/setters/mappings for text-underline-position.

Currently, the text-underline-position property is a 'storage_only' field,
so it has no generated public getters/setters. This patch changes it to
a 'keyword' field so that its getters/setters can be generated as well.
We also generate the TextUnderlinePosition enum and use the generated
CSSValueID <-> TextUnderlinePosition mappings.

Diff of generated files:
https://gist.github.com/660ef70abac1536136fccb33ecf0905a/revisions

Bug: 628043
Change-Id: Ida488dc25572ad5ede5c5f97a7f44a375de4f29b
Reviewed-on: https://chromium-review.googlesource.com/525272
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: Rune Lillesveen <rune@opera.com>
Reviewed-by: Naina Raisinghani <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#477466}
[modify] https://crrev.com/97bec63d0193db10f8e31fdad38ea8886d73e00f/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/97bec63d0193db10f8e31fdad38ea8886d73e00f/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/97bec63d0193db10f8e31fdad38ea8886d73e00f/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/97bec63d0193db10f8e31fdad38ea8886d73e00f/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 285 by bugdroid1@chromium.org, Jun 7
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/93dba2909d46c4ec7dbb94fe666480a7486b7f39

commit 93dba2909d46c4ec7dbb94fe666480a7486b7f39
Author: shend <shend@chromium.org>
Date: Wed Jun 07 08:21:04 2017

Remove template parameter on ComputedStyleBase.

In a previous patch, we made ComputedStyleBase a template class. This
allowed ComputedStyle to pass itself as a template parameter so that
ComputedStyleBase can access methods on ComputedStyle.

However, this meant that all the ComputedStyleBase code were in a
single header file. Whenever it calls a non-inlined function declared
without CORE_EXPORT, it would cause a linker error. This is because
ComputedStyleBase functions were being inlined in different translation
units that did not have the necessary symbols.

Whilst we could make an explicit instantiation of ComputedStyleBase
with ComputedStyle, it is much easier to go back to the original .h/cpp
split. To make this work, we forward declare ComputedStyle in
ComputedStyleBase.h. Whenever we call methods on ComputedStyle, we do
that in ComputedStyleBase.cpp. We also have to make diffing functions
static functions that took two ComputedStyles instead of an "other"
ComputedStyleBase.

This patch does not change behaviour.

Diff of generated files:
https://gist.github.com/darrnshn/18645fc5c36cc74e00f2724be2079f0a/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2919343002
Cr-Commit-Position: refs/heads/master@{#477580}

[modify] https://crrev.com/93dba2909d46c4ec7dbb94fe666480a7486b7f39/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[add] https://crrev.com/93dba2909d46c4ec7dbb94fe666480a7486b7f39/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.cpp.tmpl
[modify] https://crrev.com/93dba2909d46c4ec7dbb94fe666480a7486b7f39/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/93dba2909d46c4ec7dbb94fe666480a7486b7f39/third_party/WebKit/Source/build/scripts/templates/fields/field.tmpl
[modify] https://crrev.com/93dba2909d46c4ec7dbb94fe666480a7486b7f39/third_party/WebKit/Source/build/scripts/templates/fields/group.tmpl
[modify] https://crrev.com/93dba2909d46c4ec7dbb94fe666480a7486b7f39/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/93dba2909d46c4ec7dbb94fe666480a7486b7f39/third_party/WebKit/Source/core/css/ComputedStyleDiffFunctions.json5
[modify] https://crrev.com/93dba2909d46c4ec7dbb94fe666480a7486b7f39/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/93dba2909d46c4ec7dbb94fe666480a7486b7f39/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 286 by bugdroid1@chromium.org, Jun 8
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6fdc5809ac78b966c6dc873e936efaa365f873f5

commit 6fdc5809ac78b966c6dc873e936efaa365f873f5
Author: Darren Shen <shend@chromium.org>
Date: Thu Jun 08 04:02:47 2017

Move NamedGridLinesMap and OrderedNamedGridLines to their own files.

StyleGridData.h contains two typedefs: NamedGridLinesMap and
OrderedNamedGridLines. When we generate StyleGridData, StyleGridData.h
will be deleted, so those two typedefs can't stay in that file. This
patch moves the typedefs to their own files so that they still work
after we delete StyleGridData.h.

Bug: 628043
Change-Id: I7590b267ae532d23cf808117a096ff52a377c655
Reviewed-on: https://chromium-review.googlesource.com/527733
Reviewed-by: Bugs Nash <bugsnash@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#477879}
[modify] https://crrev.com/6fdc5809ac78b966c6dc873e936efaa365f873f5/third_party/WebKit/Source/core/style/BUILD.gn
[add] https://crrev.com/6fdc5809ac78b966c6dc873e936efaa365f873f5/third_party/WebKit/Source/core/style/NamedGridLinesMap.h
[add] https://crrev.com/6fdc5809ac78b966c6dc873e936efaa365f873f5/third_party/WebKit/Source/core/style/OrderedNamedGridLines.h
[modify] https://crrev.com/6fdc5809ac78b966c6dc873e936efaa365f873f5/third_party/WebKit/Source/core/style/StyleGridData.h

Project Member Comment 287 by bugdroid1@chromium.org, Jun 8
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/59f59f22c954b04d3282a566c4c64eac2cf49ee8

commit 59f59f22c954b04d3282a566c4c64eac2cf49ee8
Author: Darren Shen <shend@chromium.org>
Date: Thu Jun 08 06:16:06 2017

Add public operator== to TransformOperations.

Currently, the equality operator on the following classes are private:
- TranslateTransformOperation
- RotateTransformOperation
- ScaleTransformOperation

So two Translate/Rotate/ScaleTransformOperations cannot be directly
compared. We need to first static_cast them both into TransformOperation
and use the public equality operator on TransformOperation. The equality
operator on TransformOperation is a pure virtual function that just
calls the private equality operators on Translate/Rotate/
ScaleTransformOperations anyway.

To make comparing two Translate/Rotate/ScaleTransformOperations easier,
this patch adds public equality operators to each of those files.
Each of these equality operators only compare with the same type and
simply call the private equality operators.

This allows two Translate/Rotate/ScaleTransformOperations of the same
type to be compared without needing static_cast to a TransformOperation.

Alternatively we could make the private equality operators public, but
I assume there was some reason that they were private. If there's no
particular reason then just making them public is probably better.

This patch also makes a change in StyleTransformData to show that it
works.

Bug: 628043
Change-Id: Ie74931a04f829e5f74348feeca17a75e68046f99
Reviewed-on: https://chromium-review.googlesource.com/527836
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#477911}
[modify] https://crrev.com/59f59f22c954b04d3282a566c4c64eac2cf49ee8/third_party/WebKit/Source/core/style/StyleTransformData.cpp
[modify] https://crrev.com/59f59f22c954b04d3282a566c4c64eac2cf49ee8/third_party/WebKit/Source/platform/transforms/RotateTransformOperation.h
[modify] https://crrev.com/59f59f22c954b04d3282a566c4c64eac2cf49ee8/third_party/WebKit/Source/platform/transforms/ScaleTransformOperation.h
[modify] https://crrev.com/59f59f22c954b04d3282a566c4c64eac2cf49ee8/third_party/WebKit/Source/platform/transforms/TranslateTransformOperation.h

Project Member Comment 288 by bugdroid1@chromium.org, Jun 8
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/80fa201c33eb5854193f652ea64adc68620ce70d

commit 80fa201c33eb5854193f652ea64adc68620ce70d
Author: shend <shend@chromium.org>
Date: Thu Jun 08 07:54:57 2017

Remove unused include in CSSSelectorWatch.

StyleRareNonInheritedData.h will no longer exist once we generate it.
This removes an unused include of StyleRareNonInheritedData.h.

BUG=628043

Review-Url: https://codereview.chromium.org/2926243002
Cr-Commit-Position: refs/heads/master@{#477921}

[modify] https://crrev.com/80fa201c33eb5854193f652ea64adc68620ce70d/third_party/WebKit/Source/core/dom/CSSSelectorWatch.cpp

Project Member Comment 289 by bugdroid1@chromium.org, Jun 8
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/020c1992c67d99bd0a6d994ce6d14d450a639ed7

commit 020c1992c67d99bd0a6d994ce6d14d450a639ed7
Author: Darren Shen <shend@chromium.org>
Date: Thu Jun 08 08:20:59 2017

Move Has3DTransform to ComputedStyle.

When we generate StyleTransformData, we would no longer have the
Has3DTransform method because it is handwritten on StyleTransform.
This patch moves Has3DTransform to be inline in ComputedStyle so that we
can generate StyleTransformData.

Bug: 628043
Change-Id: Ie636886293ca39ff0f643066879ca1dfa90f22d8
Reviewed-on: https://chromium-review.googlesource.com/526814
Reviewed-by: Eddy Mead <meade@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#477924}
[modify] https://crrev.com/020c1992c67d99bd0a6d994ce6d14d450a639ed7/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/020c1992c67d99bd0a6d994ce6d14d450a639ed7/third_party/WebKit/Source/core/style/StyleTransformData.cpp
[modify] https://crrev.com/020c1992c67d99bd0a6d994ce6d14d450a639ed7/third_party/WebKit/Source/core/style/StyleTransformData.h

Project Member Comment 290 by bugdroid1@chromium.org, Jun 8
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7e6d5f46eea93a97d69d6d5194c163353c528a99

commit 7e6d5f46eea93a97d69d6d5194c163353c528a99
Author: Darren Shen <shend@chromium.org>
Date: Thu Jun 08 10:49:41 2017

Generate getters/setters/mappings for text-justify.

Currently, the text-justify property is a 'storage_only' field,
so it has no generated public getters/setters. This patch changes it to
a 'keyword' field so that its getters/setters can be generated as well.

TextJustify is in platform/text, so we can't generate the enum itself.
However, we can also generate the CSSValueID <-> TextJustify mappings.

Diff of generated files:
https://gist.github.com/darrnshn/3defc5f6001a21f272ab77a06a4520f7/revisions

Bug: 628043
Change-Id: I158f503cf747957434bc6a0580ec5922480d154e
Reviewed-on: https://chromium-review.googlesource.com/527842
Reviewed-by: Alan Cutter <alancutter@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#477938}
[modify] https://crrev.com/7e6d5f46eea93a97d69d6d5194c163353c528a99/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/7e6d5f46eea93a97d69d6d5194c163353c528a99/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/7e6d5f46eea93a97d69d6d5194c163353c528a99/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 291 by bugdroid1@chromium.org, Jun 9
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cc04b79cdd8f1ab0f4d96ce6985ed2b290572cc7

commit cc04b79cdd8f1ab0f4d96ce6985ed2b290572cc7
Author: Darren Shen <shend@chromium.org>
Date: Fri Jun 09 03:33:36 2017

Pack enums in StyleGridItemData as bit fields.

This patch changes StyleGridItemData::auto_repeat_columns_type_ and
auto_repeat_rows_type_ into bit fields. It also moves the declaration of
grid_auto_flow_ to be with the other bit fields so that they can be
packed together.

This reduces the size of StyleGridItemData by 8 bytes.

Bug: 628043
Change-Id: Ic1fad688f72c15278c240ebdb0eacac2d42c9e66
Reviewed-on: https://chromium-review.googlesource.com/527738
Reviewed-by: Eddy Mead <meade@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#478184}
[modify] https://crrev.com/cc04b79cdd8f1ab0f4d96ce6985ed2b290572cc7/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/cc04b79cdd8f1ab0f4d96ce6985ed2b290572cc7/third_party/WebKit/Source/core/style/StyleGridData.cpp
[modify] https://crrev.com/cc04b79cdd8f1ab0f4d96ce6985ed2b290572cc7/third_party/WebKit/Source/core/style/StyleGridData.h

Project Member Comment 292 by bugdroid1@chromium.org, Jun 13
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3adbcbaa43c1d5069da92d154a7382943c5a2881

commit 3adbcbaa43c1d5069da92d154a7382943c5a2881
Author: shend <shend@chromium.org>
Date: Tue Jun 13 03:19:34 2017

Change DataPersistent constructor to allow one line initialisation.

Currently, DataPersistent objects must be initialised twice: once via
the constructor that sets it to nullptr and once more via the Init()
method that sets it to a nonnull value.

This patch changes the default constructor to do Init() instead and
adds an extra constructor that sets it to nullptr. This way, we can
initialise DataPersistent objects in one line (useful for constructor
initializer lists).

BUG=628043

Review-Url: https://codereview.chromium.org/2935893002
Cr-Commit-Position: refs/heads/master@{#478883}

[modify] https://crrev.com/3adbcbaa43c1d5069da92d154a7382943c5a2881/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/3adbcbaa43c1d5069da92d154a7382943c5a2881/third_party/WebKit/Source/core/style/DataPersistent.h

Project Member Comment 293 by bugdroid1@chromium.org, Jun 13
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/26be5c373bf2361010a3c06929d342a530043634

commit 26be5c373bf2361010a3c06929d342a530043634
Author: shend <shend@chromium.org>
Date: Tue Jun 13 05:27:33 2017

Remove explicit template parameters when calling DataEquivalent.

Because of crbug.com/729447, specifying explicit template parameters
in a call to a function that is overloaded on a garbage collected type
causes a [blink-gc] error. As part of generating RareNonInheritedData,
we need to add overloads for DataRef in DataEquivalent, so we need to
remove code where DataEquivalent is called with explicit template
parameters.

This patch replaces explicit template parameters with static_casts
instead. This workaround will allow us to continue with generating
RareNonInheritedData.

BUG=628043

Review-Url: https://codereview.chromium.org/2922163002
Cr-Commit-Position: refs/heads/master@{#478908}

[modify] https://crrev.com/26be5c373bf2361010a3c06929d342a530043634/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp

Project Member Comment 294 by bugdroid1@chromium.org, Jun 13
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f88c5b041d56422d91ee46d144833efa3d152f42

commit f88c5b041d56422d91ee46d144833efa3d152f42
Author: shend <shend@chromium.org>
Date: Tue Jun 13 07:17:10 2017

Refactor make_computed_style_base.py Field class to link to a Group.

In make_computed_style_base.py:
- A field should know what Group it's in.
- A group should know what fields it has.

However, there is a circular dependency here. Previously, this has
been resolved by storing duplicate Group information in Field, so that
we can retrieve the necessary group information from Field, but not the
actual Group instance.

As we store more information on Groups, more duplicate information need
to be stored in Field, which makes this current solution ugly. A better
approach would be to store a reference to the actual Group instance in
Field.

This patch makes it so that when we create a Group with a set of fields,
we link the corresponding fields back to the Group.

This patch doesn't change behaviour nor generated code.

BUG=628043

Review-Url: https://codereview.chromium.org/2938553002
Cr-Commit-Position: refs/heads/master@{#478920}

[modify] https://crrev.com/f88c5b041d56422d91ee46d144833efa3d152f42/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/f88c5b041d56422d91ee46d144833efa3d152f42/third_party/WebKit/Source/build/scripts/templates/fields/external.tmpl
[modify] https://crrev.com/f88c5b041d56422d91ee46d144833efa3d152f42/third_party/WebKit/Source/build/scripts/templates/fields/field.tmpl
[modify] https://crrev.com/f88c5b041d56422d91ee46d144833efa3d152f42/third_party/WebKit/Source/build/scripts/templates/fields/storage_only.tmpl

Project Member Comment 295 by bugdroid1@chromium.org, Jun 13
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b8a5e4f08664ade94cc12c72cec6e208e03fad2d

commit b8a5e4f08664ade94cc12c72cec6e208e03fad2d
Author: shend <shend@chromium.org>
Date: Tue Jun 13 08:22:46 2017

Make RareNonInheritedData use MemberCopy and DataEquivalent.

When we generate RareNonInheritedData, the generated code will use
MemberCopy and DataEquivalent on all pointer fields. This patch first
changes the handwritten RareNonInheritedData to use these functions
in preparation for generating RareNonInheritedData.

Note that we have temporary overloads for DataRef. These will no longer
be needed once all subgroups of RareNonInheritedData are generated.

BUG=628043

Review-Url: https://codereview.chromium.org/2926053002
Cr-Commit-Position: refs/heads/master@{#478934}

[modify] https://crrev.com/b8a5e4f08664ade94cc12c72cec6e208e03fad2d/third_party/WebKit/Source/core/style/DataEquivalency.h
[modify] https://crrev.com/b8a5e4f08664ade94cc12c72cec6e208e03fad2d/third_party/WebKit/Source/core/style/MemberCopy.h
[modify] https://crrev.com/b8a5e4f08664ade94cc12c72cec6e208e03fad2d/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp

Project Member Comment 296 by bugdroid1@chromium.org, Jun 13
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3d43d6284ad6298b1487e5648cf43e46c44ba3a9

commit 3d43d6284ad6298b1487e5648cf43e46c44ba3a9
Author: shend <shend@chromium.org>
Date: Tue Jun 13 21:00:43 2017

Generate StyleRareNonInheritedData in ComputedStyleBase.

This patch generates the fields stored directly on
StyleRareNonInheritedData. This group is special in that it has nested
subgroups such as StyleWillChangeData and StyleTransformData.

Important changes to note:

- name_utilities.py: split_name is changed to consider "3D" as one word
  instead of two. This is so that the name for transform-style-3D is
  formatted correctly.

- CSSProperties.json5: Added new pointer types std::unique_ptr and
  DataPersistent. Added DataRef temporarily as a valid pointer type so
  that the fields for nested groups like StyleWillChangeData can be
  generated, without generating the nested group itself. This is to
  keep the CL small. DataRef will be removed as a valid pointer type
  once all the subgroups are generated.

- DataPersistent.h: Added move assignment so that the internal move
  setter for DataPersistent fields can be generated.

- group.tmpl: Comparisons are not generated for a few fields. See
  https://www.diffchecker.com/u0H0SvNe for which fields are not
  compared. This change makes groups ignore these fields when
  generating operator==.

This patch does not change behaviour.

Diff of generated files:
https://gist.github.com/781ba773a43594145ee79cfa270614d6/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2923333002
Cr-Commit-Position: refs/heads/master@{#479146}

[modify] https://crrev.com/3d43d6284ad6298b1487e5648cf43e46c44ba3a9/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/3d43d6284ad6298b1487e5648cf43e46c44ba3a9/third_party/WebKit/Source/build/scripts/name_utilities.py
[modify] https://crrev.com/3d43d6284ad6298b1487e5648cf43e46c44ba3a9/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/3d43d6284ad6298b1487e5648cf43e46c44ba3a9/third_party/WebKit/Source/build/scripts/templates/fields/group.tmpl
[modify] https://crrev.com/3d43d6284ad6298b1487e5648cf43e46c44ba3a9/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/3d43d6284ad6298b1487e5648cf43e46c44ba3a9/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/3d43d6284ad6298b1487e5648cf43e46c44ba3a9/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/3d43d6284ad6298b1487e5648cf43e46c44ba3a9/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/3d43d6284ad6298b1487e5648cf43e46c44ba3a9/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/3d43d6284ad6298b1487e5648cf43e46c44ba3a9/third_party/WebKit/Source/core/style/DataPersistent.h
[delete] https://crrev.com/0195aa151800b8f38cb736aa350047f491b5d4ff/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp
[delete] https://crrev.com/0195aa151800b8f38cb736aa350047f491b5d4ff/third_party/WebKit/Source/core/style/StyleRareNonInheritedData.h

Project Member Comment 297 by bugdroid1@chromium.org, Jun 14
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/356875c293ba3f33b0c5fd1b203bf91c2078a004

commit 356875c293ba3f33b0c5fd1b203bf91c2078a004
Author: Darren Shen <shend@chromium.org>
Date: Wed Jun 14 07:48:02 2017

Handle expression joining with Jinja joiner in ComputedStyle templates.

When generating ComputedStyle, we often have to generate patterns like:

   foo &&
   bar &&
   baz

So far, we've been doing this using the print_if macro, which allows us
to print the && only if we are not at the last iteration:

   {% for item in list %}
       {{item}}{{print_if(not loop.last, " &&")}}
   {% endfor %}

However, when there's multiple loops involved, this breaks down, e.g.:

   {% for item in list_a %}
       {{item}}{{print_if(not loop.last, " &&")}}
   {% endfor %}
   {% for item in list_b %}
       {{item}}{{print_if(not loop.last, " &&")}}
   {% endfor %}

This could print something like:

   foo &&
   bar
   baz

Currently, we solve this by always ending with && and closing off the
last && with the identity value:

   foo &&
   bar &&
   baz &&
   true

However, this is ugly, and does not work when there's no identity value,
e.g. the commas in C++ constructor initializer lists.

Fortunately, Jinja has a builtin solution: joiner. A joiner is an object
that will print a value everytime it's invoked, except the first time.
By creating a joiner before the loops, we can invoke it every time we
need to print a new line. Note that this means the joiner string is now
a prefix, not a suffix:

   foo
   && bar
   && baz

This patch changes ComputedStyle related templates to use joiners. For
recursive macros, we have to pass the state of the joiner on as an
extra optional argument.

This patch does not change behaviour.

Diff of generated files:
https://gist.github.com/darrnshn/480933b282092bb35ea9f0469f82ceff/revisions

Bug: 628043
Change-Id: I7134ba4cf7e444ed96035bc38983a0057454f37d
Reviewed-on: https://chromium-review.googlesource.com/535296
Reviewed-by: Naina Raisinghani <nainar@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479319}
[modify] https://crrev.com/356875c293ba3f33b0c5fd1b203bf91c2078a004/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.cpp.tmpl
[modify] https://crrev.com/356875c293ba3f33b0c5fd1b203bf91c2078a004/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/356875c293ba3f33b0c5fd1b203bf91c2078a004/third_party/WebKit/Source/build/scripts/templates/fields/field.tmpl
[modify] https://crrev.com/356875c293ba3f33b0c5fd1b203bf91c2078a004/third_party/WebKit/Source/build/scripts/templates/fields/group.tmpl

Project Member Comment 298 by bugdroid1@chromium.org, Jun 14
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/27bb7f3635c1e38ede195f0c2c6ceac231ee6632

commit 27bb7f3635c1e38ede195f0c2c6ceac231ee6632
Author: Darren Shen <shend@chromium.org>
Date: Wed Jun 14 08:24:47 2017

Allow nested subgroups in ComputedStyleBase and generate WillChangeData.

This patch allows the 'field_group' parameter in CSSProperties.json5 and
ComputedStyleExtraFields.json5 to specify nested groups:

   field_group: "foo->bar"

This will add a DataRef on StyleFooData that points to StyleBarData.
'->' was chosen as the separator. '.' was considered too subtle and '/'
was considered ambiguous with 'or'.

To show that this is working, this patch generates StyleWillChangeData,
which is a nested subgroup under StyleRareNonInheritedData.

Note that supporting diffing of nested groups is done in a subsequent
patch.

Example demo CL:
https://chromium-review.googlesource.com/c/535196/

Diff of generated files:
https://gist.github.com/96a9cbe4f8d5baed540a12a1cfebafb5/revisions

Bug: 628043
Change-Id: Ie623fb36c86068b84e464c40826ca42f6ea87690
Reviewed-on: https://chromium-review.googlesource.com/535193
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: Naina Raisinghani <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479327}
[modify] https://crrev.com/27bb7f3635c1e38ede195f0c2c6ceac231ee6632/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/27bb7f3635c1e38ede195f0c2c6ceac231ee6632/third_party/WebKit/Source/build/scripts/templates/fields/external.tmpl
[modify] https://crrev.com/27bb7f3635c1e38ede195f0c2c6ceac231ee6632/third_party/WebKit/Source/build/scripts/templates/fields/field.tmpl
[modify] https://crrev.com/27bb7f3635c1e38ede195f0c2c6ceac231ee6632/third_party/WebKit/Source/build/scripts/templates/fields/group.tmpl
[modify] https://crrev.com/27bb7f3635c1e38ede195f0c2c6ceac231ee6632/third_party/WebKit/Source/build/scripts/templates/fields/storage_only.tmpl
[modify] https://crrev.com/27bb7f3635c1e38ede195f0c2c6ceac231ee6632/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/27bb7f3635c1e38ede195f0c2c6ceac231ee6632/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/27bb7f3635c1e38ede195f0c2c6ceac231ee6632/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/27bb7f3635c1e38ede195f0c2c6ceac231ee6632/third_party/WebKit/Source/core/style/ComputedStyle.h
[delete] https://crrev.com/110abc75b89d7c3b499454df9c70cbfaff3a316a/third_party/WebKit/Source/core/style/StyleWillChangeData.cpp
[delete] https://crrev.com/110abc75b89d7c3b499454df9c70cbfaff3a316a/third_party/WebKit/Source/core/style/StyleWillChangeData.h

Project Member Comment 299 by bugdroid1@chromium.org, Jun 14
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/50d98ef2e59718c2e28410dbec001702aa215449

commit 50d98ef2e59718c2e28410dbec001702aa215449
Author: Darren Shen <shend@chromium.org>
Date: Wed Jun 14 11:26:41 2017

Support nested groups in diff functions in ComputedStyle.

This patch changes how diff functions are generated so that they work
even when there are nested groups.

This patch does not change existing generated code.

Bug: 628043
Change-Id: Ice96c072d135cf44ed4a9faf2339f5b6f70ff2ed
Reviewed-on: https://chromium-review.googlesource.com/535376
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: Naina Raisinghani <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479349}
[modify] https://crrev.com/50d98ef2e59718c2e28410dbec001702aa215449/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/50d98ef2e59718c2e28410dbec001702aa215449/third_party/WebKit/Source/build/scripts/templates/fields/field.tmpl

Project Member Comment 300 by bugdroid1@chromium.org, Jun 14
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0923b5913aa087a0ffd8695a49aae2931e0e5c56

commit 0923b5913aa087a0ffd8695a49aae2931e0e5c56
Author: nainar <nainar@chromium.org>
Date: Wed Jun 14 11:43:41 2017

Generate enum/getters/setters/mappings for isolation.

Currently, the isolation property is a 'storage_only' field, so it has
no generated public getters/setters.

This patch changes it to a 'keyword' field so that its getters/setters
can be generated as well. We also generate the EIsolation enum and
use the generated CSSValueID <-> EIsolation mappings.

Diff: https://gist.github.com/3920a62cb3b9844256b997d6a4e06672/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2941623004
Cr-Commit-Position: refs/heads/master@{#479352}

[modify] https://crrev.com/0923b5913aa087a0ffd8695a49aae2931e0e5c56/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/0923b5913aa087a0ffd8695a49aae2931e0e5c56/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/0923b5913aa087a0ffd8695a49aae2931e0e5c56/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/0923b5913aa087a0ffd8695a49aae2931e0e5c56/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 301 by bugdroid1@chromium.org, Jun 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/423cc7273a44b929beeb58bd22da768229297c96

commit 423cc7273a44b929beeb58bd22da768229297c96
Author: Naina Raisinghani <nainar@chromium.org>
Date: Thu Jun 15 03:01:39 2017

Generate enum/getters/setters/mappings for object-fit and generate getters/setters for object-position.

Currently, the object-fit property is a 'storage_only' field, so
it has no generated public getters/setters.

This patch changes it to a 'keyword' field so that its getters/setters
can be generated as well. We also generate the EObjectFit enum and
use the generated CSSValueID <-> EObjectFit mappings.

Currently, the object-position property is a 'storage_only' field, so
it has no generated public getters/setters. This patch changes it to an
'external' field so that its getters/setters can be generated as well.

Diff: https://gist.github.com/nainar/4f424629173252c98fe47d6b8b5b86af/revisions

BUG=628043

Change-Id: Ibf632aac9ea8d54d2c3f3cf2245dd0b7f2675c03
Reviewed-on: https://chromium-review.googlesource.com/536295
Reviewed-by: Darren Shen <shend@chromium.org>
Commit-Queue: Naina Raisinghani <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479589}
[modify] https://crrev.com/423cc7273a44b929beeb58bd22da768229297c96/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/423cc7273a44b929beeb58bd22da768229297c96/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/423cc7273a44b929beeb58bd22da768229297c96/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/423cc7273a44b929beeb58bd22da768229297c96/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 302 by bugdroid1@chromium.org, Jun 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/38d06b44e7f1cb70363415fa193ab279b91e564c

commit 38d06b44e7f1cb70363415fa193ab279b91e564c
Author: Naina Raisinghani <nainar@chromium.org>
Date: Thu Jun 15 04:48:31 2017

Generate enum/getters/setters/mappings for margin-*-collapse.

Currently, the margin-*-collapse property is a 'storage_only' field, so
it has no generated public getters/setters.

This patch changes it to a 'keyword' field so that its getters/setters
can be generated as well. We also generate the EMarginCollapse enum and
use the generated CSSValueID <-> EMarginCollapse mappings.

Diff: https://gist.github.com/nainar/885b33371967b71d827c7ae7dab14ea0/revisions

BUG=628043

Change-Id: I4d9f96a1fbe47d0bc1e1deeeea2c25b5a2217094
Reviewed-on: https://chromium-review.googlesource.com/535379
Commit-Queue: nainar <nainar@chromium.org>
Reviewed-by: Rune Lillesveen <rune@opera.com>
Cr-Commit-Position: refs/heads/master@{#479607}
[modify] https://crrev.com/38d06b44e7f1cb70363415fa193ab279b91e564c/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/38d06b44e7f1cb70363415fa193ab279b91e564c/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/38d06b44e7f1cb70363415fa193ab279b91e564c/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/38d06b44e7f1cb70363415fa193ab279b91e564c/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 303 by bugdroid1@chromium.org, Jun 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/75219aa3cd4094db50896b96d3f83892412d2fd2

commit 75219aa3cd4094db50896b96d3f83892412d2fd2
Author: Darren Shen <shend@chromium.org>
Date: Thu Jun 15 05:18:19 2017

Generate DeprecatedFlexBoxData.

This patch generates all DeprecatedFlexBoxData fields as storage_only.

Diff of generated files:
https://gist.github.com/956f78371ca06e83de179a23e64c8293/revisions

Bug: 628043
Change-Id: Ia22d92dc9c990960efdcfd8ae4b8bb1b79feff80
Reviewed-on: https://chromium-review.googlesource.com/535213
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479611}
[modify] https://crrev.com/75219aa3cd4094db50896b96d3f83892412d2fd2/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/75219aa3cd4094db50896b96d3f83892412d2fd2/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/75219aa3cd4094db50896b96d3f83892412d2fd2/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/75219aa3cd4094db50896b96d3f83892412d2fd2/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/75219aa3cd4094db50896b96d3f83892412d2fd2/third_party/WebKit/Source/core/style/ComputedStyle.h
[delete] https://crrev.com/06b859c5dac92e22ea6db5c59643ce574d58ea3c/third_party/WebKit/Source/core/style/StyleDeprecatedFlexibleBoxData.cpp
[delete] https://crrev.com/06b859c5dac92e22ea6db5c59643ce574d58ea3c/third_party/WebKit/Source/core/style/StyleDeprecatedFlexibleBoxData.h

Project Member Comment 304 by bugdroid1@chromium.org, Jun 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e9239a14ce2e6a4f2b26cb85807d0194c816e009

commit e9239a14ce2e6a4f2b26cb85807d0194c816e009
Author: Naina Raisinghani <nainar@chromium.org>
Date: Thu Jun 15 06:39:09 2017

Generate getters/setters for shape-margin.

Currently, the shape-margin property is a 'storage_only' field, so
it has no generated public getters/setters. This patch changes it to an
'external' field so that its getters/setters can be generated as well.

Diff: https://gist.github.com/nainar/d696bdebcf5347bd1a96d77f5a253f6f/revisions

BUG=628043

Change-Id: I1d85de05b8c03f8353c162d5df436f58ef594124
Reviewed-on: https://chromium-review.googlesource.com/536216
Reviewed-by: Darren Shen <shend@chromium.org>
Commit-Queue: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479625}
[modify] https://crrev.com/e9239a14ce2e6a4f2b26cb85807d0194c816e009/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/e9239a14ce2e6a4f2b26cb85807d0194c816e009/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 305 by bugdroid1@chromium.org, Jun 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e53cffd276ef2726cfe0df78615bc79177bd063d

commit e53cffd276ef2726cfe0df78615bc79177bd063d
Author: Darren Shen <shend@chromium.org>
Date: Thu Jun 15 10:06:02 2017

Generate FlexBoxData.

This patch generates all FlexBoxData fields as storage_only.

Diff of generated files:
https://gist.github.com/8ad3b03a2696bd4766f95abbf967a1c8/revisions

Bug: 628043
Change-Id: Ie3b865e9359bb46ace74b0de797dfd75c81a0f9e
Reviewed-on: https://chromium-review.googlesource.com/535254
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479658}
[modify] https://crrev.com/e53cffd276ef2726cfe0df78615bc79177bd063d/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/e53cffd276ef2726cfe0df78615bc79177bd063d/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/e53cffd276ef2726cfe0df78615bc79177bd063d/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/e53cffd276ef2726cfe0df78615bc79177bd063d/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/e53cffd276ef2726cfe0df78615bc79177bd063d/third_party/WebKit/Source/core/style/ComputedStyle.h
[delete] https://crrev.com/cc4e237ab9cb5020459e544187ba2a556a628fd0/third_party/WebKit/Source/core/style/StyleFlexibleBoxData.cpp
[delete] https://crrev.com/cc4e237ab9cb5020459e544187ba2a556a628fd0/third_party/WebKit/Source/core/style/StyleFlexibleBoxData.h

Project Member Comment 306 by bugdroid1@chromium.org, Jun 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/494e8730794eb377f15e8f023fb124e055eb0762

commit 494e8730794eb377f15e8f023fb124e055eb0762
Author: Darren Shen <shend@chromium.org>
Date: Thu Jun 15 12:06:44 2017

Generate MultiColData.

This patch generates all MultiColData fields as storage_only.

Diff of generated files:
https://gist.github.com/48720d874591f7d95dc83c5b4458c040/revisions

Bug: 628043
Change-Id: I265f6fcc1355a86afc3dd62f473130d462fb83d3
Reviewed-on: https://chromium-review.googlesource.com/535215
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479672}
[modify] https://crrev.com/494e8730794eb377f15e8f023fb124e055eb0762/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/494e8730794eb377f15e8f023fb124e055eb0762/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/494e8730794eb377f15e8f023fb124e055eb0762/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/494e8730794eb377f15e8f023fb124e055eb0762/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/494e8730794eb377f15e8f023fb124e055eb0762/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/494e8730794eb377f15e8f023fb124e055eb0762/third_party/WebKit/Source/core/style/ComputedStyle.h
[delete] https://crrev.com/dc3a1ab1e79d4d5dced497aaabd8aab9cbabcd67/third_party/WebKit/Source/core/style/StyleMultiColData.cpp
[delete] https://crrev.com/dc3a1ab1e79d4d5dced497aaabd8aab9cbabcd67/third_party/WebKit/Source/core/style/StyleMultiColData.h

Project Member Comment 307 by bugdroid1@chromium.org, Jun 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/571b8d3fcad47720903171102cfdf3a20f068848

commit 571b8d3fcad47720903171102cfdf3a20f068848
Author: Darren Shen <shend@chromium.org>
Date: Thu Jun 15 12:15:22 2017

Generate TransformData.

This patch generates all TransformData fields as storage_only.

Diff of generated files:
https://gist.github.com/22c8a49ad024df52ce24281dad373521/revisions

Bug: 628043
Change-Id: I3b45a2e353a7e31011dcec6fac9c90fd5b298fd2
Reviewed-on: https://chromium-review.googlesource.com/535334
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479675}
[modify] https://crrev.com/571b8d3fcad47720903171102cfdf3a20f068848/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/571b8d3fcad47720903171102cfdf3a20f068848/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/571b8d3fcad47720903171102cfdf3a20f068848/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/571b8d3fcad47720903171102cfdf3a20f068848/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/571b8d3fcad47720903171102cfdf3a20f068848/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/571b8d3fcad47720903171102cfdf3a20f068848/third_party/WebKit/Source/core/style/ComputedStyle.h
[delete] https://crrev.com/14c3371a8f2bb2ea82fd8c4fa5c36851b59325dc/third_party/WebKit/Source/core/style/StyleTransformData.cpp
[delete] https://crrev.com/14c3371a8f2bb2ea82fd8c4fa5c36851b59325dc/third_party/WebKit/Source/core/style/StyleTransformData.h

Project Member Comment 308 by bugdroid1@chromium.org, Jun 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b69a85f33fa9bf1e5ce2a0d9df7c88fcd4b38bb5

commit b69a85f33fa9bf1e5ce2a0d9df7c88fcd4b38bb5
Author: Darren Shen <shend@chromium.org>
Date: Thu Jun 15 22:24:40 2017

Generate GridItemData.

This patch generates all GridItemData fields as storage_only.

Diff of generated files:
https://gist.github.com/5cb077833e916d7c9cbc7b828f2870d9/revisions

Bug: 628043
Change-Id: I9ad401c3961f6e762c7ba6969cbe99390264d471
Reviewed-on: https://chromium-review.googlesource.com/535239
Reviewed-by: nainar <nainar@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479867}
[modify] https://crrev.com/b69a85f33fa9bf1e5ce2a0d9df7c88fcd4b38bb5/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/b69a85f33fa9bf1e5ce2a0d9df7c88fcd4b38bb5/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/b69a85f33fa9bf1e5ce2a0d9df7c88fcd4b38bb5/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/b69a85f33fa9bf1e5ce2a0d9df7c88fcd4b38bb5/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/b69a85f33fa9bf1e5ce2a0d9df7c88fcd4b38bb5/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/b69a85f33fa9bf1e5ce2a0d9df7c88fcd4b38bb5/third_party/WebKit/Source/core/style/ComputedStyle.h
[delete] https://crrev.com/a5bf048e717e80507172beb199d2cc0907ecc472/third_party/WebKit/Source/core/style/StyleGridItemData.cpp
[delete] https://crrev.com/a5bf048e717e80507172beb199d2cc0907ecc472/third_party/WebKit/Source/core/style/StyleGridItemData.h

Project Member Comment 309 by bugdroid1@chromium.org, Jun 16
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a4895082bc9c7bdf8edad60db81ccaf763e1bf03

commit a4895082bc9c7bdf8edad60db81ccaf763e1bf03
Author: Darren Shen <shend@chromium.org>
Date: Fri Jun 16 03:06:20 2017

Generate ScrollSnapData.

This patch generates all ScrollSnapData fields as storage_only. It also
moves ScrollSnap related classes to their own file.

Diff: https://gist.github.com/4a73c6ab214a2f1762692b27a6ab6d84/revisions

Bug: 628043
Change-Id: I1f146083b3218e8a7a9f90958c5a8cd5c365d330
Reviewed-on: https://chromium-review.googlesource.com/537753
Reviewed-by: nainar <nainar@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479935}
[modify] https://crrev.com/a4895082bc9c7bdf8edad60db81ccaf763e1bf03/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/a4895082bc9c7bdf8edad60db81ccaf763e1bf03/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/a4895082bc9c7bdf8edad60db81ccaf763e1bf03/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/a4895082bc9c7bdf8edad60db81ccaf763e1bf03/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.h
[modify] https://crrev.com/a4895082bc9c7bdf8edad60db81ccaf763e1bf03/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/a4895082bc9c7bdf8edad60db81ccaf763e1bf03/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/a4895082bc9c7bdf8edad60db81ccaf763e1bf03/third_party/WebKit/Source/core/style/ComputedStyle.h
[add] https://crrev.com/a4895082bc9c7bdf8edad60db81ccaf763e1bf03/third_party/WebKit/Source/core/style/ScrollSnap.h
[delete] https://crrev.com/b5f6e75bb57e1b0d2f3df63975000195327959d9/third_party/WebKit/Source/core/style/StyleScrollSnapData.cpp
[delete] https://crrev.com/b5f6e75bb57e1b0d2f3df63975000195327959d9/third_party/WebKit/Source/core/style/StyleScrollSnapData.h

Project Member Comment 310 by bugdroid1@chromium.org, Jun 16
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/59cc03b75a3bf464f615d5f230f47bbb0251892e

commit 59cc03b75a3bf464f615d5f230f47bbb0251892e
Author: Darren Shen <shend@chromium.org>
Date: Fri Jun 16 04:14:30 2017

Generate accessors for WillChange{Contents, Position, Properties}.

This patch changes the following storage_only fields to have a different
field template:
- WillChangeContents -> primitive
- WillChangePosition -> primitive
- WillChangeProperties -> external

This generates accessors for these three fields.

Diff of generated files:
https://gist.github.com/3dace3c035b90f4b096055ecbe1be3e3/revisions

Bug: 628043
Change-Id: I4e503183ca10196103ff51d539aeed7711e48354
Reviewed-on: https://chromium-review.googlesource.com/536617
Reviewed-by: nainar <nainar@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479945}
[modify] https://crrev.com/59cc03b75a3bf464f615d5f230f47bbb0251892e/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/59cc03b75a3bf464f615d5f230f47bbb0251892e/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 311 by bugdroid1@chromium.org, Jun 16
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/25a2fbbcff72016d5c50e8723e56d565d43f3071

commit 25a2fbbcff72016d5c50e8723e56d565d43f3071
Author: Darren Shen <shend@chromium.org>
Date: Fri Jun 16 04:40:34 2017

Generate GridData.

This patch generates all GridData fields as storage_only.

Since this is the last subgroup of RareNonInheritedData, we can also
remove DataRef overloads on DataEquivalent and MemberCopy, which were
temporarily introduced to generate the DataRef data members on
RareNonInheritedData.

Diff: https://gist.github.com/891fde9a2ad406482752b3e9c9177b0c/revisions

Bug: 628043
Change-Id: Ibb9926df07653427fb2881fa7ce012a29c03ee95
Reviewed-on: https://chromium-review.googlesource.com/538372
Reviewed-by: nainar <nainar@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479948}
[modify] https://crrev.com/25a2fbbcff72016d5c50e8723e56d565d43f3071/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/25a2fbbcff72016d5c50e8723e56d565d43f3071/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/25a2fbbcff72016d5c50e8723e56d565d43f3071/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/25a2fbbcff72016d5c50e8723e56d565d43f3071/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/25a2fbbcff72016d5c50e8723e56d565d43f3071/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/25a2fbbcff72016d5c50e8723e56d565d43f3071/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/25a2fbbcff72016d5c50e8723e56d565d43f3071/third_party/WebKit/Source/core/style/DataEquivalency.h
[modify] https://crrev.com/25a2fbbcff72016d5c50e8723e56d565d43f3071/third_party/WebKit/Source/core/style/MemberCopy.h
[delete] https://crrev.com/7928288383ccd59cd7037ad0a341645b2dc2475c/third_party/WebKit/Source/core/style/StyleGridData.cpp
[delete] https://crrev.com/7928288383ccd59cd7037ad0a341645b2dc2475c/third_party/WebKit/Source/core/style/StyleGridData.h

Project Member Comment 312 by bugdroid1@chromium.org, Jun 16
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/73351842a2c5ac44f922996874465039c1a8bc2b

commit 73351842a2c5ac44f922996874465039c1a8bc2b
Author: Naina Raisinghani <nainar@chromium.org>
Date: Fri Jun 16 05:50:13 2017

Generate accessors for BoxFlex{,Group}.

This patch changes the following storage_only fields to primitives:
BoxFlex{,Group}.

Diff: https://gist.github.com/nainar/ceadf28b8a152809e102df5e0de42c9a/revisions

Bug: 628043
Change-Id: Ia81bb5ec22a57a2f3a9dcb35021b5a5112b0bb6b
Reviewed-on: https://chromium-review.googlesource.com/536583
Reviewed-by: Darren Shen <shend@chromium.org>
Commit-Queue: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479960}
[modify] https://crrev.com/73351842a2c5ac44f922996874465039c1a8bc2b/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/73351842a2c5ac44f922996874465039c1a8bc2b/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 313 by bugdroid1@chromium.org, Jun 16
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/799caf960951cd65edca1e44c59d16f9769cd2bb

commit 799caf960951cd65edca1e44c59d16f9769cd2bb
Author: Darren Shen <shend@chromium.org>
Date: Fri Jun 16 07:06:40 2017

Generate enum/getters/setters/mappings for user-drag

Currently, the user-drag property is a 'storage_only' field, so
it has no generated public getters/setters.

This patch changes it to a 'keyword' field so that its getters/setters
can be generated as well. We also generate the EUserDrag enum and
use the generated CSSValueID <-> EUserDrag mappings.

Diff: https://gist.github.com/62b80577a855251fb6f37dcf096c29fb/revisions

Bug: 628043
Change-Id: I439066be43a5515ba117e1cee52c1f0f178d5b13
Reviewed-on: https://chromium-review.googlesource.com/536218
Reviewed-by: nainar <nainar@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479977}
[modify] https://crrev.com/799caf960951cd65edca1e44c59d16f9769cd2bb/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/799caf960951cd65edca1e44c59d16f9769cd2bb/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/799caf960951cd65edca1e44c59d16f9769cd2bb/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/799caf960951cd65edca1e44c59d16f9769cd2bb/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 314 by bugdroid1@chromium.org, Jun 16
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5eb4cc9529a8a099a5f4b99fab6ad94f80bd9a14

commit 5eb4cc9529a8a099a5f4b99fab6ad94f80bd9a14
Author: Naina Raisinghani <nainar@chromium.org>
Date: Fri Jun 16 07:49:48 2017

Generate enum/getters/setters for transform-style.

Currently, the transform-style (named TransformStyle3D internally)
property is a 'storage_only' field, so it has no generated public
getters/setters.

This patch changes it to a 'keyword' field so that its getters/setters
can be generated as well. We also generate the ETransformStyle3D enum.
Although there are generated CSSValueID <-> ETransformStyle3D mappings,
they are not used because the handwritten code don't have them.

Diff: https://gist.github.com/nainar/56e680b491980fcb82332c616ab47c65/revisions

Bug: 628043
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I95ffd60c4edcc155b1b58a87f8f9380a22bc8b18
Reviewed-on: https://chromium-review.googlesource.com/536222
Reviewed-by: Darren Shen <shend@chromium.org>
Reviewed-by: meade_UTC10 <meade@chromium.org>
Commit-Queue: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479984}
[modify] https://crrev.com/5eb4cc9529a8a099a5f4b99fab6ad94f80bd9a14/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/5eb4cc9529a8a099a5f4b99fab6ad94f80bd9a14/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/5eb4cc9529a8a099a5f4b99fab6ad94f80bd9a14/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/5eb4cc9529a8a099a5f4b99fab6ad94f80bd9a14/third_party/WebKit/Source/core/layout/compositing/CompositingReasonFinder.cpp
[modify] https://crrev.com/5eb4cc9529a8a099a5f4b99fab6ad94f80bd9a14/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
[modify] https://crrev.com/5eb4cc9529a8a099a5f4b99fab6ad94f80bd9a14/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/5eb4cc9529a8a099a5f4b99fab6ad94f80bd9a14/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/5eb4cc9529a8a099a5f4b99fab6ad94f80bd9a14/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[modify] https://crrev.com/5eb4cc9529a8a099a5f4b99fab6ad94f80bd9a14/third_party/WebKit/Source/core/style/ComputedStyleTest.cpp

Project Member Comment 315 by bugdroid1@chromium.org, Jun 16
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e1b10b8ab263cdf7846de378f2782985c3dd07eb

commit e1b10b8ab263cdf7846de378f2782985c3dd07eb
Author: Naina Raisinghani <nainar@chromium.org>
Date: Fri Jun 16 07:57:00 2017

Generate enum/getters/setters/mappings for PageSizeType and generate getters/setters for PageSize.

Currently, the PageSizeType property is a 'storage_only' field, so
it has no generated public getters/setters.

This patch changes it to a 'keyword' field so that its getters/setters
can be generated as well. We also generate the EPageSizeType enum and
use the generated CSSValueID <-> EPageSizeType mappings.

Currently, the PageSize property is a 'storage_only' field, so
it has no generated public getters/setters. This patch changes it to an
'external' field so that its getters/setters can be generated as well.

Diff: https://gist.github.com/nainar/9f0f24e428c1371b82650892ba276982/revisions

BUG=628043

Change-Id: I6410b091cbe49fefe2d6147be081a9b600c49e51
Reviewed-on: https://chromium-review.googlesource.com/536214
Reviewed-by: Darren Shen <shend@chromium.org>
Reviewed-by: meade_UTC10 <meade@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479987}
[modify] https://crrev.com/e1b10b8ab263cdf7846de378f2782985c3dd07eb/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/e1b10b8ab263cdf7846de378f2782985c3dd07eb/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
[modify] https://crrev.com/e1b10b8ab263cdf7846de378f2782985c3dd07eb/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/e1b10b8ab263cdf7846de378f2782985c3dd07eb/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/e1b10b8ab263cdf7846de378f2782985c3dd07eb/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp

Project Member Comment 316 by bugdroid1@chromium.org, Jun 16
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a47de419e1bfe822c253788aaeb3c07f29854339

commit a47de419e1bfe822c253788aaeb3c07f29854339
Author: Markus Heintz <markusheintz@chromium.org>
Date: Fri Jun 16 09:16:05 2017

Revert "Generate enum/getters/setters/mappings for PageSizeType and generate getters/setters for PageSize."

This reverts commit e1b10b8ab263cdf7846de378f2782985c3dd07eb.

Reason for revert: 
seems to cause compile issues on  https://build.chromium.org/p/chromium.chromiumos/builders/ChromiumOS%20x86-generic%20Compile

Original change's description:
> Generate enum/getters/setters/mappings for PageSizeType and generate getters/setters for PageSize.
> 
> Currently, the PageSizeType property is a 'storage_only' field, so
> it has no generated public getters/setters.
> 
> This patch changes it to a 'keyword' field so that its getters/setters
> can be generated as well. We also generate the EPageSizeType enum and
> use the generated CSSValueID <-> EPageSizeType mappings.
> 
> Currently, the PageSize property is a 'storage_only' field, so
> it has no generated public getters/setters. This patch changes it to an
> 'external' field so that its getters/setters can be generated as well.
> 
> Diff: https://gist.github.com/nainar/9f0f24e428c1371b82650892ba276982/revisions
> 
> BUG=628043
> 
> Change-Id: I6410b091cbe49fefe2d6147be081a9b600c49e51
> Reviewed-on: https://chromium-review.googlesource.com/536214
> Reviewed-by: Darren Shen <shend@chromium.org>
> Reviewed-by: meade_UTC10 <meade@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Commit-Queue: nainar <nainar@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#479987}

TBR=haraken@chromium.org,nainar@chromium.org,meade@chromium.org,shend@chromium.org

Change-Id: I6f6856f8b34f5b137dae2d31a2d7dfdb6c21df89
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 628043
Reviewed-on: https://chromium-review.googlesource.com/538632
Reviewed-by: Markus Heintz <markusheintz@chromium.org>
Commit-Queue: Markus Heintz <markusheintz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479998}
[modify] https://crrev.com/a47de419e1bfe822c253788aaeb3c07f29854339/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/a47de419e1bfe822c253788aaeb3c07f29854339/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
[modify] https://crrev.com/a47de419e1bfe822c253788aaeb3c07f29854339/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/a47de419e1bfe822c253788aaeb3c07f29854339/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/a47de419e1bfe822c253788aaeb3c07f29854339/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp

Project Member Comment 317 by bugdroid1@chromium.org, Jun 16
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ff467ab4028bc7439d748ebf14394a81a801742b

commit ff467ab4028bc7439d748ebf14394a81a801742b
Author: Darren Shen <shend@chromium.org>
Date: Fri Jun 16 09:42:16 2017

Generate getters/setters for animation related running flags.

This patch generates getters/setters for:
- RunningOpacityAnimationOnCompositor
- RunningTransformAnimationOnCompositor
- RunningFilterAnimationOnCompositor
- RunningBackdropFilterAnimationOnCompositor

Diff: https://gist.github.com/66c13b8c1e3834ccd34283af242f137d/revisions

Bug: 628043
Change-Id: I78be0a724e9fe1666d681ee31297ffff510f1a89
Reviewed-on: https://chromium-review.googlesource.com/536536
Reviewed-by: nainar <nainar@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#480004}
[modify] https://crrev.com/ff467ab4028bc7439d748ebf14394a81a801742b/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/ff467ab4028bc7439d748ebf14394a81a801742b/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 318 by bugdroid1@chromium.org, Jun 17
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c614d37c43ee55267cdf9c758f910cc54ce346b9

commit c614d37c43ee55267cdf9c758f910cc54ce346b9
Author: Darren Shen <shend@chromium.org>
Date: Sat Jun 17 09:47:08 2017

Generate enum/getters/setters/mappings for text-overflow

Currently, the text-overflow property is a 'storage_only' field, so
it has no generated public getters/setters.

This patch changes it to a 'keyword' field so that its getters/setters
can be generated as well. We also generate the ETextOverflow enum and
use the generated CSSValueID <-> ETextOverflow mappings.

Diff of generated files:
https://gist.github.com/e1fab4f5465cda4efbc79c15ec5e2bfe/revisions

Bug: 628043
Change-Id: I43b2808181780dd4ad7c90200c1f84884b4629c3
Reviewed-on: https://chromium-review.googlesource.com/536217
Reviewed-by: nainar <nainar@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#480284}
[modify] https://crrev.com/c614d37c43ee55267cdf9c758f910cc54ce346b9/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/c614d37c43ee55267cdf9c758f910cc54ce346b9/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/c614d37c43ee55267cdf9c758f910cc54ce346b9/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/c614d37c43ee55267cdf9c758f910cc54ce346b9/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 319 by bugdroid1@chromium.org, Jun 17
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1b6c0c88d47632077dc341bbdccdbcf4c6756868

commit 1b6c0c88d47632077dc341bbdccdbcf4c6756868
Author: Naina Raisinghani <nainar@chromium.org>
Date: Sat Jun 17 10:06:00 2017

Generate {enum/getters/,}setters/mappings for {text-decoration-style,text-decoration-color}.

Currently, the text-decoration-style property is a 'storage_only' field, so
it has no generated public getters/setters.

This patch changes it to a 'keyword' field so that its getters/setters
can be generated as well. We also generate the ETextDecorationStyle enum and
use the generated CSSValueID <-> ETextDecorationStyle mappings.

Currently, the text-decoration-color property is a 'storage_only' field, so
it has no generated public getters/setters. This patch changes it to an
'external' field so that its getters/setters can be generated as well.

Diff: https://gist.github.com/nainar/49078d95b56a6df0beb6e03ecb75a0f9/revisions

BUG=628043

Change-Id: I7b1e280c5dfca8ebdf37256f772248bda3135be6
Reviewed-on: https://chromium-review.googlesource.com/536534
Reviewed-by: Darren Shen <shend@chromium.org>
Commit-Queue: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#480297}
[modify] https://crrev.com/1b6c0c88d47632077dc341bbdccdbcf4c6756868/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/1b6c0c88d47632077dc341bbdccdbcf4c6756868/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/1b6c0c88d47632077dc341bbdccdbcf4c6756868/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/1b6c0c88d47632077dc341bbdccdbcf4c6756868/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 320 by bugdroid1@chromium.org, Jun 19
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f67c99422c89423538b74def4c562a7df324fc1a

commit f67c99422c89423538b74def4c562a7df324fc1a
Author: Darren Shen <shend@chromium.org>
Date: Mon Jun 19 01:35:14 2017

Generate enum/getters/setters for -webkit-app-region.

Currently, the -webkit-app-region (named DraggableRegionMode internally)
property is a 'storage_only' field, so it has no generated public
getters/setters.

This patch changes it to a 'keyword' field so that its getters/setters
can be generated as well. We also generate the EDraggableRegionMode enum.
Although there are generated CSSValueID <-> EDraggableRegionMode mappings,
they are not used because the handwritten code don't have them.

Diff: https://gist.github.com/306bffcc27ca5a1ae5f1b2019750cd60/revisions

Bug: 628043
Change-Id: I5c4f4d5e007ddd45702ada4bcbc28773f9a46318
Reviewed-on: https://chromium-review.googlesource.com/536676
Reviewed-by: nainar <nainar@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#480328}
[modify] https://crrev.com/f67c99422c89423538b74def4c562a7df324fc1a/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/f67c99422c89423538b74def4c562a7df324fc1a/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/f67c99422c89423538b74def4c562a7df324fc1a/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/f67c99422c89423538b74def4c562a7df324fc1a/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 321 by bugdroid1@chromium.org, Jun 19
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b3b8908c9617ca98898ce767c67dacd5a41a8a51

commit b3b8908c9617ca98898ce767c67dacd5a41a8a51
Author: Naina Raisinghani <nainar@chromium.org>
Date: Mon Jun 19 01:48:46 2017

Generate enum/getters/setters/mappings for resize

Currently, the resize property is a 'storage_only' field, so
it has no generated public getters/setters.

This patch changes it to a 'keyword' field so that its getters/setters
can be generated as well. We also generate the EResize enum and
use the generated CSSValueID <-> EResize mappings.

Diff: https://gist.github.com/nainar/de2cc565a04bae3e08b4ab5df1c981a7/revisions

BUG=628043

Change-Id: I939599a958396b2dc2e056afbe3d7bfe2207e4ff
Reviewed-on: https://chromium-review.googlesource.com/536573
Commit-Queue: nainar <nainar@chromium.org>
Reviewed-by: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#480330}
[modify] https://crrev.com/b3b8908c9617ca98898ce767c67dacd5a41a8a51/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/b3b8908c9617ca98898ce767c67dacd5a41a8a51/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/b3b8908c9617ca98898ce767c67dacd5a41a8a51/third_party/WebKit/Source/core/css/CSSValueIDMappings.h
[modify] https://crrev.com/b3b8908c9617ca98898ce767c67dacd5a41a8a51/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/b3b8908c9617ca98898ce767c67dacd5a41a8a51/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 322 by bugdroid1@chromium.org, Jun 19
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cd4e730743d522affeae07a1280792359f7856b1

commit cd4e730743d522affeae07a1280792359f7856b1
Author: Naina Raisinghani <nainar@chromium.org>
Date: Mon Jun 19 04:16:45 2017

Generate enum/getters/setters/mappings for PageSizeType and generate getters/setters for PageSize.

Currently, the PageSizeType property is a 'storage_only' field, so
it has no generated public getters/setters.

This patch changes it to a 'keyword' field so that its getters/setters
can be generated as well. We also generate the EPageSizeType enum and
use the generated CSSValueID <-> EPageSizeType mappings.

Currently, the PageSize property is a 'storage_only' field, so
it has no generated public getters/setters. This patch changes it to an
'external' field so that its getters/setters can be generated as well.

Diff: https://gist.github.com/nainar/56c531266c03e887ba3d94fdcb5d4dbe/revisions

BUG=628043

Change-Id: Ifbd64f6d98bff06be6e46ce5ae7e3a5ceeb081a3
Reviewed-on: https://chromium-review.googlesource.com/538396
Reviewed-by: Darren Shen <shend@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#480343}
[modify] https://crrev.com/cd4e730743d522affeae07a1280792359f7856b1/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/cd4e730743d522affeae07a1280792359f7856b1/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
[modify] https://crrev.com/cd4e730743d522affeae07a1280792359f7856b1/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/cd4e730743d522affeae07a1280792359f7856b1/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/cd4e730743d522affeae07a1280792359f7856b1/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[modify] https://crrev.com/cd4e730743d522affeae07a1280792359f7856b1/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp

Project Member Comment 323 by bugdroid1@chromium.org, Jun 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d98c08f75e5c26f49a9e05e9d0946a2f6d29d3f0

commit d98c08f75e5c26f49a9e05e9d0946a2f6d29d3f0
Author: shend <shend@chromium.org>
Date: Tue Jun 20 22:22:02 2017

Generate enum/getters/setters/mappings for flex-direction

Currently, the flex-direction property is a 'storage_only' field, so
it has no generated public getters/setters.

This patch changes it to a 'keyword' field so that its getters/setters
can be generated as well. We also generate the EFlexDirection enum and
use the generated CSSValueID <-> EFlexDirection mappings.

Diff: https://gist.github.com/297d38d32b4b097536e73f7c1bd1b3d7/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2942393002
Cr-Original-Commit-Position: refs/heads/master@{#480688}
Committed: https://chromium.googlesource.com/chromium/src/+/d6df17438f4c6ae0a69e5650f63d0cd6c8d72a00
Review-Url: https://codereview.chromium.org/2942393002
Cr-Commit-Position: refs/heads/master@{#480993}

[modify] https://crrev.com/d98c08f75e5c26f49a9e05e9d0946a2f6d29d3f0/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/d98c08f75e5c26f49a9e05e9d0946a2f6d29d3f0/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/d98c08f75e5c26f49a9e05e9d0946a2f6d29d3f0/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/d98c08f75e5c26f49a9e05e9d0946a2f6d29d3f0/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 324 by bugdroid1@chromium.org, Jun 21
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6e7c6ec4df78665f215e1a267fc89590a8205563

commit 6e7c6ec4df78665f215e1a267fc89590a8205563
Author: shend <shend@chromium.org>
Date: Wed Jun 21 01:49:28 2017

Generate enum/getters/setters/mappings for flex-wrap

Currently, the flex-wrap property is a 'storage_only' field, so
it has no generated public getters/setters.

This patch changes it to a 'keyword' field so that its getters/setters
can be generated as well. We also generate the EFlexWrap enum and
use the generated CSSValueID <-> EFlexWrap mappings.

Diff: https://gist.github.com/cf118a1b16d0d7f12b32dbf644be638a/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2944193002
Cr-Commit-Position: refs/heads/master@{#481078}

[modify] https://crrev.com/6e7c6ec4df78665f215e1a267fc89590a8205563/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/6e7c6ec4df78665f215e1a267fc89590a8205563/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/6e7c6ec4df78665f215e1a267fc89590a8205563/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/6e7c6ec4df78665f215e1a267fc89590a8205563/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 325 by bugdroid1@chromium.org, Jun 21
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a20289ff3503b8203af4f9f8a3ce5f30953bbf01

commit a20289ff3503b8203af4f9f8a3ce5f30953bbf01
Author: shend <shend@chromium.org>
Date: Wed Jun 21 03:26:51 2017

Generate getters/setters for remaining flex-* properties.

This patch changes the following storage_only fields to be primitive
or external fields:
- flex-basis
- flex-grow
- flex-shrink

so that their getters/setters can be generated.

Diff: https://gist.github.com/cdc56f6747da1a925498c52831557fa2/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2943413003
Cr-Commit-Position: refs/heads/master@{#481102}

[modify] https://crrev.com/a20289ff3503b8203af4f9f8a3ce5f30953bbf01/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/a20289ff3503b8203af4f9f8a3ce5f30953bbf01/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 326 by bugdroid1@chromium.org, Jun 21
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/34fa46a73b746e90588095275dd336f4614ed54b

commit 34fa46a73b746e90588095275dd336f4614ed54b
Author: Darren Shen <shend@chromium.org>
Date: Wed Jun 21 07:20:41 2017

Generate getters/setters for various flag fields in ComputedStyle.

This patch changes the following storage_only fields to be primitive
fields:
- SelfOrAncestorHasDirAutoAttribute
- HasCurrentOpacityAnimation
- HasCurrentTransformAnimation
- HasCurrentFilterAnimation
- HasCurrentBackdropFilterAnimation
- IsStackingContext
- RequiresAcceleratedCompositingForExternalReasons
- HasInlineTransform
- HasCompositorProxy
- HasAuthorBackground
- HasAuthorBorder

so that their getter/setters can be generated.

Diff: https://gist.github.com/643df772b40578c4a5b74da8a5feaa20/revisions

Bug: 628043
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I3320d353989400bcc30dea114fd8ad0b83dfbea8
Reviewed-on: https://chromium-review.googlesource.com/538521
Reviewed-by: nainar <nainar@chromium.org>
Reviewed-by: meade_UTC10 <meade@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481132}
[modify] https://crrev.com/34fa46a73b746e90588095275dd336f4614ed54b/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/34fa46a73b746e90588095275dd336f4614ed54b/third_party/WebKit/Source/core/paint/PaintLayerTest.cpp
[modify] https://crrev.com/34fa46a73b746e90588095275dd336f4614ed54b/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/34fa46a73b746e90588095275dd336f4614ed54b/third_party/WebKit/Source/core/style/ComputedStyleTest.cpp

Project Member Comment 327 by bugdroid1@chromium.org, Jun 22
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d19bc447bbbd4147acade9a1c9243c49ce5a51f4

commit d19bc447bbbd4147acade9a1c9243c49ce5a51f4
Author: Darren Shen <shend@chromium.org>
Date: Thu Jun 22 00:05:47 2017

Generate getters/setters for scroll-snap-align.

Currently, the scroll-snap-align property is a 'storage_only' field, so
it has no generated public getters/setters.

This patch changes it to a 'external' field so that its getters/setters
can be generated as well.

Bug: 628043
Change-Id: I797cfd07c76742fc542dab4cceadefd81a7d42fc
Reviewed-on: https://chromium-review.googlesource.com/542216
Reviewed-by: nainar <nainar@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481363}
[modify] https://crrev.com/d19bc447bbbd4147acade9a1c9243c49ce5a51f4/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/d19bc447bbbd4147acade9a1c9243c49ce5a51f4/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 328 by bugdroid1@chromium.org, Jun 22
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7be23cd3d8fc0d05f84c76768072f32f4e51cba0

commit 7be23cd3d8fc0d05f84c76768072f32f4e51cba0
Author: Darren Shen <shend@chromium.org>
Date: Thu Jun 22 06:30:14 2017

Generate getters/setters for alignment properties.

Currently, alignment properties are stored as 'storage_only' fields,
which means they don't have generated getters/setters.

This patch changes them to 'external' fields so that their getters
and setters can be generated as well.

Diff: https://gist.github.com/df1b29ac0e0f5220e52fc3f75785a0bf/revisions

Bug: 628043
Change-Id: Ia41027088f283e90d22d0e556a24a723c62ad9d6
Reviewed-on: https://chromium-review.googlesource.com/541241
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481462}
[modify] https://crrev.com/7be23cd3d8fc0d05f84c76768072f32f4e51cba0/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/7be23cd3d8fc0d05f84c76768072f32f4e51cba0/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 329 by bugdroid1@chromium.org, Jun 22
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f50e2dcfad8c3e03eb9445243e4b5e8fccf15b87

commit f50e2dcfad8c3e03eb9445243e4b5e8fccf15b87
Author: Naina Raisinghani <nainar@chromium.org>
Date: Thu Jun 22 06:49:11 2017

Split ColumnRule field in ComputedStyle.

Currently, column-rule related properties are being stored as a single
BorderValue called ColumnRule. However, it is possible to split
ColumnRule into its constituent fields and generate each of them
individually.

There should be no performance impact from this patch.

Diff: https://gist.github.com/3b5a55b0cedff7b4d7b9c1b196faf5a9/revisions

Bug: 628043
Change-Id: I04fe9e7f3c9221614870f7de0b2f1c05c023ee4a
Reviewed-on: https://chromium-review.googlesource.com/544415
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481468}
[modify] https://crrev.com/f50e2dcfad8c3e03eb9445243e4b5e8fccf15b87/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/f50e2dcfad8c3e03eb9445243e4b5e8fccf15b87/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/f50e2dcfad8c3e03eb9445243e4b5e8fccf15b87/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 330 by bugdroid1@chromium.org, Jun 22
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e7c136536251cfcf2d8b56d5c28bbf4919759e2d

commit e7c136536251cfcf2d8b56d5c28bbf4919759e2d
Author: Darren Shen <shend@chromium.org>
Date: Thu Jun 22 06:58:06 2017

Revert "Split ColumnRule field in ComputedStyle."

This reverts commit f50e2dcfad8c3e03eb9445243e4b5e8fccf15b87.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Split ColumnRule field in ComputedStyle.
> 
> Currently, column-rule related properties are being stored as a single
> BorderValue called ColumnRule. However, it is possible to split
> ColumnRule into its constituent fields and generate each of them
> individually.
> 
> There should be no performance impact from this patch.
> 
> Diff: https://gist.github.com/3b5a55b0cedff7b4d7b9c1b196faf5a9/revisions
> 
> Bug: 628043
> Change-Id: I04fe9e7f3c9221614870f7de0b2f1c05c023ee4a
> Reviewed-on: https://chromium-review.googlesource.com/544415
> Commit-Queue: Darren Shen <shend@chromium.org>
> Reviewed-by: nainar <nainar@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#481468}

TBR=nainar@chromium.org,shend@chromium.org

Change-Id: I6a21392b25ada865384bb358f5bfd1205fd20488
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 628043
Reviewed-on: https://chromium-review.googlesource.com/544442
Reviewed-by: Darren Shen <shend@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481469}
[modify] https://crrev.com/e7c136536251cfcf2d8b56d5c28bbf4919759e2d/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/e7c136536251cfcf2d8b56d5c28bbf4919759e2d/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/e7c136536251cfcf2d8b56d5c28bbf4919759e2d/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 331 by bugdroid1@chromium.org, Jun 22
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9379b78ca98d9dac36aaf1d27b5341942df413f3

commit 9379b78ca98d9dac36aaf1d27b5341942df413f3
Author: Vaclav Brozek <vabr@chromium.org>
Date: Thu Jun 22 07:01:43 2017

Revert "Split ColumnRule field in ComputedStyle."

This reverts commit f50e2dcfad8c3e03eb9445243e4b5e8fccf15b87.

Reason for revert: This seems to have broken https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Mac%20Builder/builds/210181

Original change's description:
> Split ColumnRule field in ComputedStyle.
> 
> Currently, column-rule related properties are being stored as a single
> BorderValue called ColumnRule. However, it is possible to split
> ColumnRule into its constituent fields and generate each of them
> individually.
> 
> There should be no performance impact from this patch.
> 
> Diff: https://gist.github.com/3b5a55b0cedff7b4d7b9c1b196faf5a9/revisions
> 
> Bug: 628043
> Change-Id: I04fe9e7f3c9221614870f7de0b2f1c05c023ee4a
> Reviewed-on: https://chromium-review.googlesource.com/544415
> Commit-Queue: Darren Shen <shend@chromium.org>
> Reviewed-by: nainar <nainar@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#481468}

TBR=nainar@chromium.org,shend@chromium.org

Change-Id: I73d7f15c27af4f1e6222d0ca56d50c9983a12bfc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 628043
Reviewed-on: https://chromium-review.googlesource.com/544815
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Commit-Queue: Vaclav Brozek <vabr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481470}

More info about the reasons for the above revert:
Broken build:
https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Mac%20Builder/builds/210181

Relevant log:
[456/4958] ACTION //third_party/WebKit/Source/core:make_core_generated_computed_style_base(//build/toolchain/mac:clang_x64)
FAILED: gen/blink/core/ComputedStyleBase.h gen/blink/core/ComputedStyleBase.cpp gen/blink/core/ComputedStyleBaseConstants.h 
python ../../third_party/WebKit/Source/build/scripts/make_computed_style_base.py ../../third_party/WebKit/Source/core/css/CSSProperties.json5 ../../third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5 ../../third_party/WebKit/Source/core/css/ComputedStyleDiffFunctions.json5 --output_dir gen/blink/core --gperf gperf
Traceback (most recent call last):
  File "../../third_party/WebKit/Source/build/scripts/make_computed_style_base.py", line 545, in <module>
    json5_generator.Maker(ComputedStyleBaseWriter).main()
  File "/b/c/b/mac_layout/src/third_party/WebKit/Source/build/scripts/json5_generator.py", line 248, in main
    writer = self._writer_class(args.files)
  File "../../third_party/WebKit/Source/build/scripts/make_computed_style_base.py", line 508, in __init__
    ).name_dictionaries, self._root_group)
  File "../../third_party/WebKit/Source/build/scripts/make_computed_style_base.py", line 260, in _create_diff_groups_map
    "Please check that there's an entry for '" + name + "' in CSSProperties.json5 or ComputedStyleExtraFields.json5")
AssertionError: The field 'ColumnRule' isn't a defined field on ComputedStyle. Please check that there's an entry for 'ColumnRule' in CSSProperties.json5 or ComputedStyleExtraFields.json5
Project Member Comment 333 by bugdroid1@chromium.org, Jun 22
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/223c981c98e3ceb907115d2601c7c6a565295899

commit 223c981c98e3ceb907115d2601c7c6a565295899
Author: Darren Shen <shend@chromium.org>
Date: Thu Jun 22 23:28:05 2017

Split ColumnRule field in ComputedStyle.

Currently, column-rule related properties are being stored as a single
BorderValue called ColumnRule. However, it is possible to split
ColumnRule into its constituent fields and generate each of them
individually.

There should be no performance impact from this patch.

Diff: https://gist.github.com/955fa418e240be79c0521d7d53e26ca7/revisions

Bug: 628043
Change-Id: I31db806f2fc427eb996ba78ef56dce17e5bc83d5
Reviewed-on: https://chromium-review.googlesource.com/544479
Reviewed-by: nainar <nainar@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481717}
[modify] https://crrev.com/223c981c98e3ceb907115d2601c7c6a565295899/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/223c981c98e3ceb907115d2601c7c6a565295899/third_party/WebKit/Source/core/css/ComputedStyleDiffFunctions.json5
[modify] https://crrev.com/223c981c98e3ceb907115d2601c7c6a565295899/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/223c981c98e3ceb907115d2601c7c6a565295899/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/223c981c98e3ceb907115d2601c7c6a565295899/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 334 by bugdroid1@chromium.org, Jun 23
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ae7bd7622227407c94abdc105b38e7f7159bbe92

commit ae7bd7622227407c94abdc105b38e7f7159bbe92
Author: Darren Shen <shend@chromium.org>
Date: Fri Jun 23 00:58:26 2017

Prevent field_size from being specified on keyword fields.

Currently, there are a few keyword fields that also specify field_size.
This is misleading, because the size for keyword fields are
automatically calculated from the number of keywords, so field_size is
ignored.

This patch removes any references to field_size in keyword fields. It
also adds an assert in make_computed_style_base to prevent this from
happening in the future.

This patch does not change generated code.

Bug: 628043
Change-Id: Ie9e6bb17d084d8dc96811b2ab2ab76c0c8849e0e
Reviewed-on: https://chromium-review.googlesource.com/540935
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: Bugs Nash <bugsnash@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481754}
[modify] https://crrev.com/ae7bd7622227407c94abdc105b38e7f7159bbe92/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/ae7bd7622227407c94abdc105b38e7f7159bbe92/third_party/WebKit/Source/core/css/CSSProperties.json5

Project Member Comment 335 by bugdroid1@chromium.org, Jun 23
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/451b82cdd84a6f640362ff52f207ea43f668bd11

commit 451b82cdd84a6f640362ff52f207ea43f668bd11
Author: Darren Shen <shend@chromium.org>
Date: Fri Jun 23 03:32:16 2017

Remove the need for field_size for storage_only when type_name is bool.

Currently, all boolean storage_only fields in ComputedStyle need to
specify field_size: 1. This is kind of redundant, because it will never
be any other value.

This patch removes the need to specifiy field_size for boolean
storage_only fields.

This does not change generated code.

Bug: 628043
Change-Id: Iccba6c299847c35e3a4c2fd19d4d2f9e85e3e62d
Reviewed-on: https://chromium-review.googlesource.com/544475
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481804}
[modify] https://crrev.com/451b82cdd84a6f640362ff52f207ea43f668bd11/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/451b82cdd84a6f640362ff52f207ea43f668bd11/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5

Project Member Comment 336 by bugdroid1@chromium.org, Jun 24
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8e45f57004eba039e573e2596714e3f143815737

commit 8e45f57004eba039e573e2596714e3f143815737
Author: Darren Shen <shend@chromium.org>
Date: Sat Jun 24 02:53:31 2017

Remove unused type_name declarations in CSSProperties.json5.

The type_name for fields in CSSProperties.json5 are automatically
deduced to be 'E' + <name of field>. Explicitly specifying type_name
would override this. However, there are some fields where the type_name
specified is the same as the default, so they don't do anything. This
patch removes them.

This patch does not change generated code.

Bug: 628043
Change-Id: I8641c003a83c43e350b5e1f92fcba91bced8b771
Reviewed-on: https://chromium-review.googlesource.com/544366
Reviewed-by: nainar <nainar@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482126}
[modify] https://crrev.com/8e45f57004eba039e573e2596714e3f143815737/third_party/WebKit/Source/core/css/CSSProperties.json5

Project Member Comment 337 by bugdroid1@chromium.org, Jun 24
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b2543b5d009a924286be4144384890f82d8cc180

commit b2543b5d009a924286be4144384890f82d8cc180
Author: Darren Shen <shend@chromium.org>
Date: Sat Jun 24 17:19:43 2017

Add include_paths to all the required fields in style JSON files.

This patch adds any missing include_paths to all the fields in
CSSProperties.json5 and ComputedStyleExtraFields.json5.

Bug: 628043
Change-Id: I8bbf3e4e9c8794319cc12c3cc246713e2750bec3
Reviewed-on: https://chromium-review.googlesource.com/544412
Reviewed-by: nainar <nainar@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482151}
[modify] https://crrev.com/b2543b5d009a924286be4144384890f82d8cc180/third_party/WebKit/Source/core/css/CSSProperties.json5

Project Member Comment 338 by bugdroid1@chromium.org, Jun 26
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a1744a232492c4cc012fc2c6c0b11b7a0ed0b8cf

commit a1744a232492c4cc012fc2c6c0b11b7a0ed0b8cf
Author: Darren Shen <shend@chromium.org>
Date: Mon Jun 26 00:44:05 2017

Remove unused functions and macros in ComputedStyle.h

This patch removes compareEqual and SET_* macros in ComputedStyle.h.

Bug: 628043
Change-Id: I437291d2772a842acc88e6b7f3f41d80273e5790
Reviewed-on: https://chromium-review.googlesource.com/544725
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482179}
[modify] https://crrev.com/a1744a232492c4cc012fc2c6c0b11b7a0ed0b8cf/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 339 by bugdroid1@chromium.org, Jun 26
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2a648e1a4e315410950c444b6e118a4a3262872f

commit 2a648e1a4e315410950c444b6e118a4a3262872f
Author: Naina Raisinghani <nainar@chromium.org>
Date: Mon Jun 26 07:16:07 2017

Add ComputedStyle.md to explain generation of ComputedStyle

Bug: 628043
Change-Id: Ib5904a40a8a4c6d04224cae70b18cfc2b50090a3
Reviewed-on: https://chromium-review.googlesource.com/546797
Reviewed-by: Darren Shen <shend@chromium.org>
Commit-Queue: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482208}
[add] https://crrev.com/2a648e1a4e315410950c444b6e118a4a3262872f/third_party/WebKit/Source/core/style/ComputedStyle.md

Project Member Comment 340 by bugdroid1@chromium.org, Jun 27
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/380d8aa4d0fee556f19c7176809cfca1414149cb

commit 380d8aa4d0fee556f19c7176809cfca1414149cb
Author: Darren Shen <shend@chromium.org>
Date: Tue Jun 27 05:59:34 2017

Move some extra fields to CSSProperties.json5.

This patch moves some extra fields from ComputedStyleExtraFields.json5
to CSSProperties.json5.

This does not change generated code (apart from trivial renames).

Bug: 628043
Change-Id: I30cbc4b71d734630987441e4f29b6f37c69dad40
Reviewed-on: https://chromium-review.googlesource.com/549735
Reviewed-by: nainar <nainar@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482546}
[modify] https://crrev.com/380d8aa4d0fee556f19c7176809cfca1414149cb/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/380d8aa4d0fee556f19c7176809cfca1414149cb/third_party/WebKit/Source/core/css/ComputedStyleDiffFunctions.json5
[modify] https://crrev.com/380d8aa4d0fee556f19c7176809cfca1414149cb/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/380d8aa4d0fee556f19c7176809cfca1414149cb/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 341 by bugdroid1@chromium.org, Jun 28
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/06083fbf5d49b0dce17d6b86cb82b79dd3305005

commit 06083fbf5d49b0dce17d6b86cb82b79dd3305005
Author: Darren Shen <shend@chromium.org>
Date: Wed Jun 28 07:29:26 2017

Change non-null pointers to refs and sprinkle DCHECKS in ComputedStyle.

This patch changes pointers that cannot be null to references. It also
adds DCHECKS to callers when they dereference a non-null pointer.

Bug: 628043
Change-Id: Ia48bb9057ef4ab6dbeef37f9981eb7fbd0fe4e2b
Reviewed-on: https://chromium-review.googlesource.com/551116
Reviewed-by: Bugs Nash <bugsnash@chromium.org>
Reviewed-by: meade_UTC10 <meade@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482913}
[modify] https://crrev.com/06083fbf5d49b0dce17d6b86cb82b79dd3305005/third_party/WebKit/Source/core/layout/LayoutBlock.cpp
[modify] https://crrev.com/06083fbf5d49b0dce17d6b86cb82b79dd3305005/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
[modify] https://crrev.com/06083fbf5d49b0dce17d6b86cb82b79dd3305005/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/06083fbf5d49b0dce17d6b86cb82b79dd3305005/third_party/WebKit/Source/core/layout/LayoutGrid.cpp
[modify] https://crrev.com/06083fbf5d49b0dce17d6b86cb82b79dd3305005/third_party/WebKit/Source/core/layout/LayoutInline.cpp
[modify] https://crrev.com/06083fbf5d49b0dce17d6b86cb82b79dd3305005/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/06083fbf5d49b0dce17d6b86cb82b79dd3305005/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/06083fbf5d49b0dce17d6b86cb82b79dd3305005/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 342 by bugdroid1@chromium.org, Jun 29
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/df2edf98823c4d28a8f5c8a70a5ab84e214c564b

commit df2edf98823c4d28a8f5c8a70a5ab84e214c564b
Author: Darren Shen <shend@chromium.org>
Date: Thu Jun 29 01:59:33 2017

Remove DCHECK(Style()) calls and use StyleRef() instead.

This patch removes the DCHECKs added in [1], and replaces them with
StyleRef() calls which already perform the DCHECK. This makes the code
look cleaner.

[1] https://chromium-review.googlesource.com/c/551116/

Bug: 628043
Change-Id: I125890524d09abb35e0e1b224b6e2518d88894cb
Reviewed-on: https://chromium-review.googlesource.com/553797
Reviewed-by: Rune Lillesveen <rune@opera.com>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#483255}
[modify] https://crrev.com/df2edf98823c4d28a8f5c8a70a5ab84e214c564b/third_party/WebKit/Source/core/layout/LayoutBlock.cpp
[modify] https://crrev.com/df2edf98823c4d28a8f5c8a70a5ab84e214c564b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
[modify] https://crrev.com/df2edf98823c4d28a8f5c8a70a5ab84e214c564b/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/df2edf98823c4d28a8f5c8a70a5ab84e214c564b/third_party/WebKit/Source/core/layout/LayoutGrid.cpp
[modify] https://crrev.com/df2edf98823c4d28a8f5c8a70a5ab84e214c564b/third_party/WebKit/Source/core/layout/LayoutInline.cpp
[modify] https://crrev.com/df2edf98823c4d28a8f5c8a70a5ab84e214c564b/third_party/WebKit/Source/core/layout/LayoutObject.h

Project Member Comment 343 by bugdroid1@chromium.org, Jun 30
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f63145fd1ebc971aa9d5cb0b8b734f0c3b6bc4ac

commit f63145fd1ebc971aa9d5cb0b8b734f0c3b6bc4ac
Author: Naina Raisinghani <nainar@chromium.org>
Date: Fri Jun 30 02:51:39 2017

Add pointer field_template to CSSProperties.json5

This patch adds the field template 'pointer' to CSSProperties.json5.
It also moves fields that are RefPtrs from storage_only to pointer.

This allows us to generate their public accessors and remove more
handwritten code.

Diff: https://gist.github.com/nainar/dbc92f104f6b35cc09fd29497d3fac3d/revisions

Bug: 628043
Change-Id: Iae7424742b5b49e9a59ce5aaa99caae8621295e5
Reviewed-on: https://chromium-review.googlesource.com/554400
Commit-Queue: nainar <nainar@chromium.org>
Reviewed-by: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#483605}
[modify] https://crrev.com/f63145fd1ebc971aa9d5cb0b8b734f0c3b6bc4ac/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/f63145fd1ebc971aa9d5cb0b8b734f0c3b6bc4ac/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/f63145fd1ebc971aa9d5cb0b8b734f0c3b6bc4ac/third_party/WebKit/Source/build/scripts/templates/fields/field.tmpl
[add] https://crrev.com/f63145fd1ebc971aa9d5cb0b8b734f0c3b6bc4ac/third_party/WebKit/Source/build/scripts/templates/fields/pointer.tmpl
[modify] https://crrev.com/f63145fd1ebc971aa9d5cb0b8b734f0c3b6bc4ac/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/f63145fd1ebc971aa9d5cb0b8b734f0c3b6bc4ac/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/f63145fd1ebc971aa9d5cb0b8b734f0c3b6bc4ac/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member Comment 344 by bugdroid1@chromium.org, Jul 4
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3cbb82af46309fd12ccbe36fd6434844ddf645a1

commit 3cbb82af46309fd12ccbe36fd6434844ddf645a1
Author: shend <shend@chromium.org>
Date: Tue Jul 04 01:19:40 2017

Add keyword_subset field template and generate text-decoration-line.

This patch adds support for generating 'keyword_subset' fields in
ComputedStyleBase. 'keyword_subset' fields can take on a subset of
keywords. For example, the text-decoration-line property can be any
combination of underline, overline, line-through or blink.

To support 'keyword_subset', we create a new class in the generator
called Enum to represent both 'keyword' and 'keyword_subset' enums.
In ComputedStyleBaseConstants.h.tmpl, we generate different code
depending on whether the enum is a set or not. Unlike 'keyword' enums,
a 'keyword_subset' enum has explicit values and supports bitwise operators.

Diff of generated files:
https://gist.github.com/darrnshn/70d7a9e1ef02aee205b5c1d42d4df3bb/revisions

BUG=628043

Review-Url: https://codereview.chromium.org/2914613002
Cr-Commit-Position: refs/heads/master@{#484037}

[modify] https://crrev.com/3cbb82af46309fd12ccbe36fd6434844ddf645a1/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/3cbb82af46309fd12ccbe36fd6434844ddf645a1/third_party/WebKit/Source/build/scripts/make_css_value_id_mappings.py
[modify] https://crrev.com/3cbb82af46309fd12ccbe36fd6434844ddf645a1/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/3cbb82af46309fd12ccbe36fd6434844ddf645a1/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBaseConstants.h.tmpl
[add] https://crrev.com/3cbb82af46309fd12ccbe36fd6434844ddf645a1/third_party/WebKit/Source/build/scripts/templates/fields/multi_keyword.tmpl
[modify] https://crrev.com/3cbb82af46309fd12ccbe36fd6434844ddf645a1/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/3cbb82af46309fd12ccbe36fd6434844ddf645a1/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/3cbb82af46309fd12ccbe36fd6434844ddf645a1/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/3cbb82af46309fd12ccbe36fd6434844ddf645a1/third_party/WebKit/Source/core/style/ComputedStyleConstants.h

Project Member Comment 345 by bugdroid1@chromium.org, Jul 6
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fae5c575bc1dd1686af81d1558e6ee8b3d38870d

commit fae5c575bc1dd1686af81d1558e6ee8b3d38870d
Author: Darren Shen <shend@chromium.org>
Date: Thu Jul 06 02:51:45 2017

Replace DataPersistent with DataRefs in ComputedStyle.

Currently, there are two fields of type DataPersistent in ComputedStyle:
filter and backdrop-filter. DataPersistent acts as a wrapper around
Persistent that has copy-on-write semantics (cheap shallow copies).

Previously, filter was stored like:

    class StyleRareNonInheritedData {
      // ...
      DataPersistent<StyleFilterData> filter_;
    };

    class DataPersistent {
      std::unique_ptr<Persistent<StyleFilterData>> data_;
    };

After this patch, it will look like:

    class StyleRareNonInheritedData {
      // ...
      DataRef<StyleFilterOpsData> filter_ops_;
    };

    class FilterOpsData : RefCounted<FilterOpsData> {
      Persistent<StyleFilterData> filter_;
    };

As we can see, this patch essentially wraps Persistent in a ref-counted
FilterOpsData class (which is generated).

The main differences that this patch introduces is what happens
when we do a shallow vs deep copy.

Before:
  Shallow copy:
    Allocate a new Persistent<StyleFilterData>.
  Deep copy:
    Allocate and copy a new StyleFilterData.

With patch:
  Shallow copy:
    No allocations (increment ref).
  Deep copy:
    Allocate a new StyleFilterOpsData.
    Allocate and copy a new StyleFilterData.

In summary, there are two main differences:
- Before, we allocated a Persistent, but with this patch we allocate a
  StyleFilterOpsData.
- Before, a shallow copy allocated a Persistent (which requires thread
  related logic), but with this patch, this allocation is delayed to
  deep copy.

Hence, this patch essentially moves a heap allocation from shallow to
deep copy. Since shallow copies occur more often than deep, this
should not harm performance.

We are also able to remove the DataPersistent class because it is no
longer useful.

Diff of generated files:
https://gist.github.com/d8aa34402e30e764c6d331d786c6fcdd/revisions

Bug: 628043
Change-Id: Idc745555da232e0c903d1646d50dbc0e1393024c
Reviewed-on: https://chromium-review.googlesource.com/554590
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: Alan Cutter <alancutter@chromium.org>
Reviewed-by: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#484447}
[modify] https://crrev.com/fae5c575bc1dd1686af81d1558e6ee8b3d38870d/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/fae5c575bc1dd1686af81d1558e6ee8b3d38870d/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.h.tmpl
[modify] https://crrev.com/fae5c575bc1dd1686af81d1558e6ee8b3d38870d/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/fae5c575bc1dd1686af81d1558e6ee8b3d38870d/third_party/WebKit/Source/core/css/ComputedStyleDiffFunctions.json5
[modify] https://crrev.com/fae5c575bc1dd1686af81d1558e6ee8b3d38870d/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/fae5c575bc1dd1686af81d1558e6ee8b3d38870d/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/fae5c575bc1dd1686af81d1558e6ee8b3d38870d/third_party/WebKit/Source/core/style/DataEquivalency.h
[delete] https://crrev.com/93fc3e41c9acda3fe3b2abca635f995f18889d8f/third_party/WebKit/Source/core/style/DataPersistent.h
[modify] https://crrev.com/fae5c575bc1dd1686af81d1558e6ee8b3d38870d/third_party/WebKit/Source/core/style/MemberCopy.h

Project Member Comment 346 by bugdroid1@chromium.org, Jul 18
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eab874dad7231044ad1e07bcc2d2989515c192ed

commit eab874dad7231044ad1e07bcc2d2989515c192ed
Author: Darren Shen <shend@chromium.org>
Date: Tue Jul 18 00:05:03 2017

Simplify name joining in make_computed_style_base.py.

Currently, when we wish to combine several strings together to form
the name for a class or data member for example, we have to use
join_name, which would combine the strings correctly in a space
separated format, followed by something like class_member_name that
formats the result into the correct style.

This patch allows things like class_member_name to take a list of
names, and join_name internally.

This does not change behaviour.

Bug: 628043
Change-Id: Iae966e45b9dc80a14bb57cf477af580fb64c85fc
Reviewed-on: https://chromium-review.googlesource.com/532676
Reviewed-by: nainar <nainar@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487296}
[modify] https://crrev.com/eab874dad7231044ad1e07bcc2d2989515c192ed/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
[modify] https://crrev.com/eab874dad7231044ad1e07bcc2d2989515c192ed/third_party/WebKit/Source/build/scripts/name_utilities.py

Project Member Comment 347 by bugdroid1@chromium.org, Jul 19
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/68011185cd0c3ab4f7b4276bee89cfd5c82c6813

commit 68011185cd0c3ab4f7b4276bee89cfd5c82c6813
Author: Minh-Duc Nguyen <nmduc@google.com>
Date: Wed Jul 19 03:38:41 2017

Fix call to all_fields instead of field

The current code has a minor bug on the generator that call
the wrong attribute field in the condition. Fix to
all_fields

Bug: 628043
Change-Id: Ib0339e0ad0a84d495acfac2a991eec48a2244c29
Reviewed-on: https://chromium-review.googlesource.com/575296
Reviewed-by: nainar <nainar@chromium.org>
Reviewed-by: Darren Shen <shend@chromium.org>
Reviewed-by: meade_UTC10 <meade@chromium.org>
Commit-Queue: Minh-Duc Nguyen <nmduc@google.com>
Cr-Commit-Position: refs/heads/master@{#487739}
[modify] https://crrev.com/68011185cd0c3ab4f7b4276bee89cfd5c82c6813/third_party/WebKit/Source/build/scripts/templates/fields/field.tmpl

Sign in to add a comment