* SUMMARY Setting serializes Infinity as null. According to the ECMA-262 spec (page 473 Note 4): "Finite numbers are stringified as if by calling ToString(number). NaN and Infinity regardless of sign are represented as the String null." There isn't a need for serializing NaN at the moment. TimelineRuler however, needs to serialize Infinity in order to persist the "nothing is selected" ruler selection state, which is represented by a selection interval of [0, Infinity). *NOTES This can be added by augmenting JSON.stringify in Utilities.js, or by adding a special case in WebInspector.Setting.
<rdar://problem/24802960>
We could also store that "entire range selected" state as a bool and restore [0, Infinity] on load from settings.
(In reply to comment #2) > We could also store that "entire range selected" state as a bool and restore > [0, Infinity] on load from settings. That is a possible solution. I'll try this, as well as MAX_VALUE as an alternative to Infinity in TimelineRuler code go with the cleaner solution.
Using Number.MAX_VALUE instead of Infinity solved the issue.