Add start property that is used by the <ol> tag
Property was missing
Josh Yudaken committed
Apr 9, 2014 at 17:49 UTC
5c9d616735c4c5c31fb68b789c8c6f3afeae9592
3 files changed
+18
-5
src/browser/ui/dom/DOMProperty.js
+13
-3
@@ -32,7 +32,8 @@ var DOMPropertyInjection = {
32
MUST_USE_PROPERTY: 0x2,
33
HAS_SIDE_EFFECTS: 0x4,
34
HAS_BOOLEAN_VALUE: 0x8,
35
- HAS_POSITIVE_NUMERIC_VALUE: 0x10,
35
+ HAS_NUMERIC_VALUE: 0x10,
36
+ HAS_POSITIVE_NUMERIC_VALUE: 0x20 | 0x10,
37
38
/**
39
* Inject some specialized knowledge about the DOM. This takes a config object
@@ -110,6 +111,8 @@ var DOMPropertyInjection = {
111
propConfig & DOMPropertyInjection.HAS_SIDE_EFFECTS;
112
DOMProperty.hasBooleanValue[propName] =
113
propConfig & DOMPropertyInjection.HAS_BOOLEAN_VALUE;
114
+ DOMProperty.hasNumericValue[propName] =
115
+ propConfig & DOMPropertyInjection.HAS_NUMERIC_VALUE;
116
DOMProperty.hasPositiveNumericValue[propName] =
117
propConfig & DOMPropertyInjection.HAS_POSITIVE_NUMERIC_VALUE;
118
@@ -127,8 +130,8 @@ var DOMPropertyInjection = {
130
);
131
invariant(
132
!DOMProperty.hasBooleanValue[propName] ||
130
- !DOMProperty.hasPositiveNumericValue[propName],
131
- 'DOMProperty: Cannot have both boolean and positive numeric value: %s',
133
+ !DOMProperty.hasNumericValue[propName],
134
+ 'DOMProperty: Cannot have both boolean and numeric value: %s',
135
propName
136
);
137
}
@@ -214,6 +217,13 @@ var DOMProperty = {
217
*/
218
hasBooleanValue: {},
219
220
+ /**
221
+ * Whether the property must be numeric or parse as a
222
+ * numeric and should be removed when set to a falsey value.
223
+ * @type {Object}
224
+ */
225
+ hasNumericValue: {},
226
+
227
/**
228
* Whether the property must be positive numeric or parse as a positive
229
* numeric and should be removed when set to a falsey value.
src/browser/ui/dom/DOMPropertyOperations.js
+3
-2
@@ -27,8 +27,9 @@ var warning = require('warning');
27
28
function shouldIgnoreValue(name, value) {
29
return value == null ||
30
- DOMProperty.hasBooleanValue[name] && !value ||
31
- DOMProperty.hasPositiveNumericValue[name] && (isNaN(value) || value < 1);
30
+ (DOMProperty.hasBooleanValue[name] && !value) ||
31
+ (DOMProperty.hasNumericValue[name] && isNaN(value)) ||
32
+ (DOMProperty.hasPositiveNumericValue[name] && (value < 1));
33
}
34
35
var processAttributeNameAndPrefix = memoizeStringOnly(function(name) {
src/browser/ui/dom/DefaultDOMPropertyConfig.js
+2
@@ -26,6 +26,7 @@ var MUST_USE_ATTRIBUTE = DOMProperty.injection.MUST_USE_ATTRIBUTE;
26
var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY;
27
var HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE;
28
var HAS_SIDE_EFFECTS = DOMProperty.injection.HAS_SIDE_EFFECTS;
29
+var HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE;
30
var HAS_POSITIVE_NUMERIC_VALUE =
31
DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE;
32
@@ -116,6 +117,7 @@ var DefaultDOMPropertyConfig = {
117
src: null,
118
srcDoc: MUST_USE_PROPERTY,
119
srcSet: null,
120
+ start: HAS_NUMERIC_VALUE,
121
step: null,
122
style: null,
123
tabIndex: null,