| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 | 84 |
| 85 var locales = arguments[1]; | 85 var locales = arguments[1]; |
| 86 var options = arguments[2]; | 86 var options = arguments[2]; |
| 87 var collator = cachedOrNewService('collator', locales, options); | 87 var collator = cachedOrNewService('collator', locales, options); |
| 88 return compare(collator, this, that); | 88 return compare(collator, this, that); |
| 89 }, | 89 }, |
| 90 writable: true, | 90 writable: true, |
| 91 configurable: true, | 91 configurable: true, |
| 92 enumerable: false | 92 enumerable: false |
| 93 }); | 93 }); |
| 94 %FunctionSetName(String.prototype.localeCompare, 'localeCompare'); |
| 94 %FunctionRemovePrototype(String.prototype.localeCompare); | 95 %FunctionRemovePrototype(String.prototype.localeCompare); |
| 96 %SetNativeFlag(String.prototype.localeCompare); |
| 95 | 97 |
| 96 | 98 |
| 97 /** | 99 /** |
| 98 * Formats a Number object (this) using locale and options values. | 100 * Formats a Number object (this) using locale and options values. |
| 99 * If locale or options are omitted, defaults are used. | 101 * If locale or options are omitted, defaults are used. |
| 100 */ | 102 */ |
| 101 Object.defineProperty(Number.prototype, 'toLocaleString', { | 103 Object.defineProperty(Number.prototype, 'toLocaleString', { |
| 102 value: function() { | 104 value: function() { |
| 103 if (%_IsConstructCall()) { | 105 if (%_IsConstructCall()) { |
| 104 throw new TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); | 106 throw new TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); |
| 105 } | 107 } |
| 106 | 108 |
| 107 if (!(this instanceof Number) && typeof(this) !== 'number') { | 109 if (!(this instanceof Number) && typeof(this) !== 'number') { |
| 108 throw new TypeError('Method invoked on an object that is not Number.'); | 110 throw new TypeError('Method invoked on an object that is not Number.'); |
| 109 } | 111 } |
| 110 | 112 |
| 111 var locales = arguments[0]; | 113 var locales = arguments[0]; |
| 112 var options = arguments[1]; | 114 var options = arguments[1]; |
| 113 var numberFormat = cachedOrNewService('numberformat', locales, options); | 115 var numberFormat = cachedOrNewService('numberformat', locales, options); |
| 114 return formatNumber(numberFormat, this); | 116 return formatNumber(numberFormat, this); |
| 115 }, | 117 }, |
| 116 writable: true, | 118 writable: true, |
| 117 configurable: true, | 119 configurable: true, |
| 118 enumerable: false | 120 enumerable: false |
| 119 }); | 121 }); |
| 122 %FunctionSetName(Number.prototype.toLocaleString, 'toLocaleString'); |
| 120 %FunctionRemovePrototype(Number.prototype.toLocaleString); | 123 %FunctionRemovePrototype(Number.prototype.toLocaleString); |
| 124 %SetNativeFlag(Number.prototype.toLocaleString); |
| 121 | 125 |
| 122 | 126 |
| 123 /** | 127 /** |
| 124 * Returns actual formatted date or fails if date parameter is invalid. | 128 * Returns actual formatted date or fails if date parameter is invalid. |
| 125 */ | 129 */ |
| 126 function toLocaleDateTime(date, locales, options, required, defaults, service) { | 130 function toLocaleDateTime(date, locales, options, required, defaults, service) { |
| 127 if (!(date instanceof Date)) { | 131 if (!(date instanceof Date)) { |
| 128 throw new TypeError('Method invoked on an object that is not Date.'); | 132 throw new TypeError('Method invoked on an object that is not Date.'); |
| 129 } | 133 } |
| 130 | 134 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 154 | 158 |
| 155 var locales = arguments[0]; | 159 var locales = arguments[0]; |
| 156 var options = arguments[1]; | 160 var options = arguments[1]; |
| 157 return toLocaleDateTime( | 161 return toLocaleDateTime( |
| 158 this, locales, options, 'any', 'all', 'dateformatall'); | 162 this, locales, options, 'any', 'all', 'dateformatall'); |
| 159 }, | 163 }, |
| 160 writable: true, | 164 writable: true, |
| 161 configurable: true, | 165 configurable: true, |
| 162 enumerable: false | 166 enumerable: false |
| 163 }); | 167 }); |
| 168 %FunctionSetName(Date.prototype.toLocaleString, 'toLocaleString'); |
| 164 %FunctionRemovePrototype(Date.prototype.toLocaleString); | 169 %FunctionRemovePrototype(Date.prototype.toLocaleString); |
| 170 %SetNativeFlag(Date.prototype.toLocaleString); |
| 165 | 171 |
| 166 | 172 |
| 167 /** | 173 /** |
| 168 * Formats a Date object (this) using locale and options values. | 174 * Formats a Date object (this) using locale and options values. |
| 169 * If locale or options are omitted, defaults are used - only date is present | 175 * If locale or options are omitted, defaults are used - only date is present |
| 170 * in the output. | 176 * in the output. |
| 171 */ | 177 */ |
| 172 Object.defineProperty(Date.prototype, 'toLocaleDateString', { | 178 Object.defineProperty(Date.prototype, 'toLocaleDateString', { |
| 173 value: function() { | 179 value: function() { |
| 174 if (%_IsConstructCall()) { | 180 if (%_IsConstructCall()) { |
| 175 throw new TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); | 181 throw new TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); |
| 176 } | 182 } |
| 177 | 183 |
| 178 var locales = arguments[0]; | 184 var locales = arguments[0]; |
| 179 var options = arguments[1]; | 185 var options = arguments[1]; |
| 180 return toLocaleDateTime( | 186 return toLocaleDateTime( |
| 181 this, locales, options, 'date', 'date', 'dateformatdate'); | 187 this, locales, options, 'date', 'date', 'dateformatdate'); |
| 182 }, | 188 }, |
| 183 writable: true, | 189 writable: true, |
| 184 configurable: true, | 190 configurable: true, |
| 185 enumerable: false | 191 enumerable: false |
| 186 }); | 192 }); |
| 193 %FunctionSetName(Date.prototype.toLocaleDateString, 'toLocaleDateString'); |
| 187 %FunctionRemovePrototype(Date.prototype.toLocaleDateString); | 194 %FunctionRemovePrototype(Date.prototype.toLocaleDateString); |
| 195 %SetNativeFlag(Date.prototype.toLocaleDateString); |
| 188 | 196 |
| 189 | 197 |
| 190 /** | 198 /** |
| 191 * Formats a Date object (this) using locale and options values. | 199 * Formats a Date object (this) using locale and options values. |
| 192 * If locale or options are omitted, defaults are used - only time is present | 200 * If locale or options are omitted, defaults are used - only time is present |
| 193 * in the output. | 201 * in the output. |
| 194 */ | 202 */ |
| 195 Object.defineProperty(Date.prototype, 'toLocaleTimeString', { | 203 Object.defineProperty(Date.prototype, 'toLocaleTimeString', { |
| 196 value: function() { | 204 value: function() { |
| 197 if (%_IsConstructCall()) { | 205 if (%_IsConstructCall()) { |
| 198 throw new TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); | 206 throw new TypeError(ORDINARY_FUNCTION_CALLED_AS_CONSTRUCTOR); |
| 199 } | 207 } |
| 200 | 208 |
| 201 var locales = arguments[0]; | 209 var locales = arguments[0]; |
| 202 var options = arguments[1]; | 210 var options = arguments[1]; |
| 203 return toLocaleDateTime( | 211 return toLocaleDateTime( |
| 204 this, locales, options, 'time', 'time', 'dateformattime'); | 212 this, locales, options, 'time', 'time', 'dateformattime'); |
| 205 }, | 213 }, |
| 206 writable: true, | 214 writable: true, |
| 207 configurable: true, | 215 configurable: true, |
| 208 enumerable: false | 216 enumerable: false |
| 209 }); | 217 }); |
| 218 %FunctionSetName(Date.prototype.toLocaleTimeString, 'toLocaleTimeString'); |
| 210 %FunctionRemovePrototype(Date.prototype.toLocaleTimeString); | 219 %FunctionRemovePrototype(Date.prototype.toLocaleTimeString); |
| 220 %SetNativeFlag(Date.prototype.toLocaleTimeString); |
| OLD | NEW |