OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 (function(global, utils) { | 5 (function(global, utils) { |
6 | 6 |
7 "use strict"; | 7 "use strict"; |
8 | 8 |
9 %CheckIsBootstrapping(); | 9 %CheckIsBootstrapping(); |
10 | 10 |
11 // ------------------------------------------------------------------- | 11 // ------------------------------------------------------------------- |
12 // Imports | 12 // Imports |
13 | 13 |
14 var GlobalJSON = global.JSON; | 14 var GlobalJSON = global.JSON; |
15 var InternalArray = utils.InternalArray; | 15 var InternalArray = utils.InternalArray; |
| 16 var MathMax; |
| 17 var MathMin; |
16 var ObjectHasOwnProperty; | 18 var ObjectHasOwnProperty; |
17 var toStringTagSymbol = utils.ImportNow("to_string_tag_symbol"); | 19 var toStringTagSymbol = utils.ImportNow("to_string_tag_symbol"); |
18 | 20 |
19 utils.Import(function(from) { | 21 utils.Import(function(from) { |
| 22 MathMax = from.MathMax; |
| 23 MathMin = from.MathMin; |
20 ObjectHasOwnProperty = from.ObjectHasOwnProperty; | 24 ObjectHasOwnProperty = from.ObjectHasOwnProperty; |
21 }); | 25 }); |
22 | 26 |
23 // ------------------------------------------------------------------- | 27 // ------------------------------------------------------------------- |
24 | 28 |
25 function Revive(holder, name, reviver) { | 29 function Revive(holder, name, reviver) { |
26 var val = holder[name]; | 30 var val = holder[name]; |
27 if (IS_OBJECT(val)) { | 31 if (IS_OBJECT(val)) { |
28 if (IS_ARRAY(val)) { | 32 if (IS_ARRAY(val)) { |
29 var length = val.length; | 33 var length = val.length; |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 if (IS_OBJECT(space)) { | 208 if (IS_OBJECT(space)) { |
205 // Unwrap 'space' if it is wrapped | 209 // Unwrap 'space' if it is wrapped |
206 if (IS_NUMBER_WRAPPER(space)) { | 210 if (IS_NUMBER_WRAPPER(space)) { |
207 space = TO_NUMBER(space); | 211 space = TO_NUMBER(space); |
208 } else if (IS_STRING_WRAPPER(space)) { | 212 } else if (IS_STRING_WRAPPER(space)) { |
209 space = TO_STRING(space); | 213 space = TO_STRING(space); |
210 } | 214 } |
211 } | 215 } |
212 var gap; | 216 var gap; |
213 if (IS_NUMBER(space)) { | 217 if (IS_NUMBER(space)) { |
214 space = MAX_SIMPLE(0, MIN_SIMPLE(TO_INTEGER(space), 10)); | 218 space = MathMax(0, MathMin(TO_INTEGER(space), 10)); |
215 gap = %_SubString(" ", 0, space); | 219 gap = %_SubString(" ", 0, space); |
216 } else if (IS_STRING(space)) { | 220 } else if (IS_STRING(space)) { |
217 if (space.length > 10) { | 221 if (space.length > 10) { |
218 gap = %_SubString(space, 0, 10); | 222 gap = %_SubString(space, 0, 10); |
219 } else { | 223 } else { |
220 gap = space; | 224 gap = space; |
221 } | 225 } |
222 } else { | 226 } else { |
223 gap = ""; | 227 gap = ""; |
224 } | 228 } |
(...skipping 16 matching lines...) Expand all Loading... |
241 function JsonSerializeAdapter(key, object) { | 245 function JsonSerializeAdapter(key, object) { |
242 var holder = {}; | 246 var holder = {}; |
243 holder[key] = object; | 247 holder[key] = object; |
244 // No need to pass the actual holder since there is no replacer function. | 248 // No need to pass the actual holder since there is no replacer function. |
245 return JSONSerialize(key, holder, UNDEFINED, new InternalArray(), "", ""); | 249 return JSONSerialize(key, holder, UNDEFINED, new InternalArray(), "", ""); |
246 } | 250 } |
247 | 251 |
248 %InstallToContext(["json_serialize_adapter", JsonSerializeAdapter]); | 252 %InstallToContext(["json_serialize_adapter", JsonSerializeAdapter]); |
249 | 253 |
250 }) | 254 }) |
OLD | NEW |