OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 477 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
488 | 488 |
489 float toFloat(v8::Handle<v8::Value> value, ExceptionState& exceptionState) | 489 float toFloat(v8::Handle<v8::Value> value, ExceptionState& exceptionState) |
490 { | 490 { |
491 TONATIVE_DEFAULT_EXCEPTIONSTATE(v8::Local<v8::Number>, numberObject, value->
ToNumber(), exceptionState, 0); | 491 TONATIVE_DEFAULT_EXCEPTIONSTATE(v8::Local<v8::Number>, numberObject, value->
ToNumber(), exceptionState, 0); |
492 return numberObject->NumberValue(); | 492 return numberObject->NumberValue(); |
493 } | 493 } |
494 | 494 |
495 String toByteString(v8::Handle<v8::Value> value, ExceptionState& exceptionState) | 495 String toByteString(v8::Handle<v8::Value> value, ExceptionState& exceptionState) |
496 { | 496 { |
497 // From the Web IDL spec: http://heycam.github.io/webidl/#es-ByteString | 497 // From the Web IDL spec: http://heycam.github.io/webidl/#es-ByteString |
| 498 if (value.IsEmpty()) |
| 499 return String(); |
498 | 500 |
499 // 1. Let x be ToString(v) | 501 // 1. Let x be ToString(v) |
500 TONATIVE_DEFAULT_EXCEPTIONSTATE(v8::Local<v8::String>, stringObject, value->
ToString(), exceptionState, String()); | 502 TONATIVE_DEFAULT_EXCEPTIONSTATE(v8::Local<v8::String>, stringObject, value->
ToString(), exceptionState, String()); |
501 String x = toCoreString(stringObject); | 503 String x = toCoreString(stringObject); |
502 | 504 |
503 // 2. If the value of any element of x is greater than 255, then throw a Typ
eError. | 505 // 2. If the value of any element of x is greater than 255, then throw a Typ
eError. |
504 if (!x.containsOnlyLatin1()) { | 506 if (!x.containsOnlyLatin1()) { |
505 exceptionState.throwTypeError("Value is not a valid ByteString."); | 507 exceptionState.throwTypeError("Value is not a valid ByteString."); |
506 return String(); | 508 return String(); |
507 } | 509 } |
508 | 510 |
509 // 3. Return an IDL ByteString value whose length is the length of x, and wh
ere the | 511 // 3. Return an IDL ByteString value whose length is the length of x, and wh
ere the |
510 // value of each element is the value of the corresponding element of x. | 512 // value of each element is the value of the corresponding element of x. |
511 // Blink: A ByteString is simply a String with a range constrained per the a
bove, so | 513 // Blink: A ByteString is simply a String with a range constrained per the a
bove, so |
512 // this is the identity operation. | 514 // this is the identity operation. |
513 return x; | 515 return x; |
514 } | 516 } |
515 | 517 |
| 518 String toScalarValueString(v8::Handle<v8::Value> value, ExceptionState& exceptio
nState) |
| 519 { |
| 520 // From the Encoding standard (with a TODO to move to Web IDL): |
| 521 // http://encoding.spec.whatwg.org/#type-scalarvaluestring |
| 522 if (value.IsEmpty()) |
| 523 return String(); |
| 524 TONATIVE_DEFAULT_EXCEPTIONSTATE(v8::Local<v8::String>, stringObject, value->
ToString(), exceptionState, String()); |
| 525 |
| 526 // ScalarValueString is identical to DOMString except that "convert a |
| 527 // DOMString to a sequence of Unicode characters" is used subsequently |
| 528 // when converting to an IDL value |
| 529 String x = toCoreString(stringObject); |
| 530 return x.toScalarValueString(); |
| 531 } |
| 532 |
516 PassRefPtrWillBeRawPtr<XPathNSResolver> toXPathNSResolver(v8::Handle<v8::Value>
value, v8::Isolate* isolate) | 533 PassRefPtrWillBeRawPtr<XPathNSResolver> toXPathNSResolver(v8::Handle<v8::Value>
value, v8::Isolate* isolate) |
517 { | 534 { |
518 RefPtrWillBeRawPtr<XPathNSResolver> resolver = nullptr; | 535 RefPtrWillBeRawPtr<XPathNSResolver> resolver = nullptr; |
519 if (V8XPathNSResolver::hasInstance(value, isolate)) | 536 if (V8XPathNSResolver::hasInstance(value, isolate)) |
520 resolver = V8XPathNSResolver::toNative(v8::Handle<v8::Object>::Cast(valu
e)); | 537 resolver = V8XPathNSResolver::toNative(v8::Handle<v8::Object>::Cast(valu
e)); |
521 else if (value->IsObject()) | 538 else if (value->IsObject()) |
522 resolver = V8CustomXPathNSResolver::create(value->ToObject(), isolate); | 539 resolver = V8CustomXPathNSResolver::create(value->ToObject(), isolate); |
523 return resolver; | 540 return resolver; |
524 } | 541 } |
525 | 542 |
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
806 PassRefPtr<TraceEvent::ConvertableToTraceFormat> devToolsTraceEventData(Executio
nContext* context, v8::Handle<v8::Function> function, v8::Isolate* isolate) | 823 PassRefPtr<TraceEvent::ConvertableToTraceFormat> devToolsTraceEventData(Executio
nContext* context, v8::Handle<v8::Function> function, v8::Isolate* isolate) |
807 { | 824 { |
808 int scriptId = 0; | 825 int scriptId = 0; |
809 String resourceName; | 826 String resourceName; |
810 int lineNumber = 1; | 827 int lineNumber = 1; |
811 GetDevToolsFunctionInfo(function, isolate, scriptId, resourceName, lineNumbe
r); | 828 GetDevToolsFunctionInfo(function, isolate, scriptId, resourceName, lineNumbe
r); |
812 return InspectorFunctionCallEvent::data(context, scriptId, resourceName, lin
eNumber); | 829 return InspectorFunctionCallEvent::data(context, scriptId, resourceName, lin
eNumber); |
813 } | 830 } |
814 | 831 |
815 } // namespace WebCore | 832 } // namespace WebCore |
OLD | NEW |