Bug 1297306 - part5:create enum constructors for EnumTable. r=baku

Enable nsAttrValue::EnumTable to be initialized with enum. So, we could get rid
of the castings in EnumTable. Fix EnumTable initialization comment.

For those untyped enumerations, declare them with uint8_t, as to other typed
enumerations with type size larger than int16_t, force casting to int16_t.

Use {nullptr,0} instead of {0} to represent the last entry.

MozReview-Commit-ID: 7Dma3Apkmxj
This commit is contained in:
Jeremy Chen
2016-09-07 10:20:17 +08:00
parent 43a4f4efc9
commit c22b72adf2
26 changed files with 76 additions and 54 deletions

View File

@@ -67,7 +67,7 @@ static constexpr nsAttrValue::EnumTable kKindTable[] = {
{ "descriptions", static_cast<int16_t>(TextTrackKind::Descriptions) },
{ "chapters", static_cast<int16_t>(TextTrackKind::Chapters) },
{ "metadata", static_cast<int16_t>(TextTrackKind::Metadata) },
{ 0 }
{ nullptr, 0 }
};
// Invalid values are treated as "metadata" in ParseAttribute, but if no value