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}
1 file changed