Bug 1455576 part 4 - Remove CSS_PROPERTY_PARSE_FUNCTION and CSS_PROPERTY_VALUE_PARSER_FUNCTION flags. r=emilio

These are the only remaining flags that we don't generate from Servo
side. We can now assert flags are equal and switch kFlagsTable to use
ServoCSSPropList.h instead.

MozReview-Commit-ID: 6RhXeCf6DgK

--HG--
extra : rebase_source : 604eb046b4cc56db2e6ee2d35441000a74575368
extra : source : cdd19a8641a86d2460107e6c0f50a9d27c7bdb6c
This commit is contained in:
Xidorn Quan 2018-04-26 09:01:02 +10:00
Родитель cd1312cc66
Коммит 8171839f2c
3 изменённых файлов: 142 добавлений и 165 удалений

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -183,10 +183,6 @@ CheckServoCSSPropList()
#undef CSS_PROP_LONGHAND #undef CSS_PROP_LONGHAND
}; };
const uint32_t kServoFlags =
CSS_PROPERTY_ENABLED_MASK | CSS_PROPERTY_INTERNAL |
CSS_PROPERTY_PARSE_INACCESSIBLE | CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
CSS_PROPERTY_CAN_ANIMATE_ON_COMPOSITOR;
bool mismatch = false; bool mismatch = false;
for (size_t i = 0; i < eCSSProperty_COUNT_with_aliases; i++) { for (size_t i = 0; i < eCSSProperty_COUNT_with_aliases; i++) {
auto& geckoData = sGeckoProps[i]; auto& geckoData = sGeckoProps[i];
@ -198,7 +194,7 @@ CheckServoCSSPropList()
mismatch = true; mismatch = true;
continue; continue;
} }
if ((geckoData.mFlags & kServoFlags) != servoData.mFlags) { if (geckoData.mFlags != servoData.mFlags) {
printf_stderr("Flags of %s mismatch\n", name); printf_stderr("Flags of %s mismatch\n", name);
mismatch = true; mismatch = true;
} }
@ -2354,12 +2350,11 @@ bool nsCSSProps::GetColorName(int32_t aPropValue, nsCString &aStr)
} }
const uint32_t nsCSSProps::kFlagsTable[eCSSProperty_COUNT] = { const uint32_t nsCSSProps::kFlagsTable[eCSSProperty_COUNT] = {
#define CSS_PROP(name_, id_, method_, flags_, ...) flags_, #define CSS_PROP_LONGHAND(name_, id_, method_, flags_, ...) flags_,
#include "nsCSSPropList.h" #define CSS_PROP_SHORTHAND(name_, id_, method_, flags_, ...) flags_,
#undef CSS_PROP #include "mozilla/ServoCSSPropList.h"
#define CSS_PROP_SHORTHAND(name_, id_, method_, flags_, pref_) flags_,
#include "nsCSSPropList.h"
#undef CSS_PROP_SHORTHAND #undef CSS_PROP_SHORTHAND
#undef CSS_PROP_LONGHAND
}; };
static const nsCSSPropertyID gAllSubpropTable[] = { static const nsCSSPropertyID gAllSubpropTable[] = {

Просмотреть файл

@ -129,14 +129,6 @@
// we can verify that every property sets one of the values. // we can verify that every property sets one of the values.
#define CSS_PROPERTY_PARSE_PROPERTY_MASK (7<<9) #define CSS_PROPERTY_PARSE_PROPERTY_MASK (7<<9)
#define CSS_PROPERTY_PARSE_INACCESSIBLE (1<<9) #define CSS_PROPERTY_PARSE_INACCESSIBLE (1<<9)
#define CSS_PROPERTY_PARSE_FUNCTION (2<<9)
// See CSSParserImpl::ParseSingleValueProperty and comment above
// CSS_PROPERTY_PARSE_FUNCTION (which is different).
#define CSS_PROPERTY_VALUE_PARSER_FUNCTION (1<<12)
static_assert((CSS_PROPERTY_PARSE_PROPERTY_MASK &
CSS_PROPERTY_VALUE_PARSER_FUNCTION) == 0,
"didn't leave enough room for the parse property constants");
// There's a free bit here. // There's a free bit here.