OLD | NEW |
---|---|
1 // Copyright 2011, Google Inc. | 1 // Copyright 2011, Google Inc. |
2 // All rights reserved. | 2 // 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 516 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
527 } | 527 } |
528 // NOTE: consider revisiting this once situation w/ optional arguments check s | 528 // NOTE: consider revisiting this once situation w/ optional arguments check s |
529 // in dart:html is clearer. | 529 // in dart:html is clearer. |
530 // The implementation below will convert null to undefined script value. Whi ch | 530 // The implementation below will convert null to undefined script value. Whi ch |
531 // is exactly what is desired if actual value wasn't specified at call site, | 531 // is exactly what is desired if actual value wasn't specified at call site, |
532 // but is most probably wrong if null was explicitly provided. On more posit ive | 532 // but is most probably wrong if null was explicitly provided. On more posit ive |
533 // side indexed db are converted to Dart null anyway, so it might be tricky | 533 // side indexed db are converted to Dart null anyway, so it might be tricky |
534 // to observe from user code. | 534 // to observe from user code. |
535 static ScriptValue dartToScriptValueWithNullCheck(Dart_Handle handle) | 535 static ScriptValue dartToScriptValueWithNullCheck(Dart_Handle handle) |
536 { | 536 { |
537 if (Dart_IsNull(handle)) { | |
538 V8ScriptState* scriptState = v8ScriptStateForCurrentIsolate(); | |
539 return ScriptValue(scriptState, v8::Undefined(scriptState->isolate() )); | |
vsm
2014/07/01 17:12:52
Did you consider a DartScriptValue wrapping undefi
rmacnak
2014/07/01 17:20:02
Right now a DartScriptValue never has an empty han
| |
540 } | |
537 return dartToScriptValue(handle); | 541 return dartToScriptValue(handle); |
538 } | 542 } |
539 static ScriptValue dartToScriptValueWithNullCheck(Dart_NativeArguments args, int index) | 543 static ScriptValue dartToScriptValueWithNullCheck(Dart_NativeArguments args, int index) |
540 { | 544 { |
541 Dart_Handle object = Dart_GetNativeArgument(args, index); | 545 Dart_Handle object = Dart_GetNativeArgument(args, index); |
542 return dartToScriptValueWithNullCheck(object); | 546 return dartToScriptValueWithNullCheck(object); |
543 } | 547 } |
544 static Dart_Handle scriptValueToDart(const ScriptValue&); | 548 static Dart_Handle scriptValueToDart(const ScriptValue&); |
545 static Dart_Handle scriptValueToDart(const ScriptPromise&); | 549 static Dart_Handle scriptValueToDart(const ScriptPromise&); |
546 | 550 |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
759 timerStop = currentTimeMS(); \ | 763 timerStop = currentTimeMS(); \ |
760 fprintf(stdout, "%s %.3f ms\n", msg, (timerStop - timerStart)); | 764 fprintf(stdout, "%s %.3f ms\n", msg, (timerStop - timerStart)); |
761 #else | 765 #else |
762 #define DART_START_TIMER() | 766 #define DART_START_TIMER() |
763 #define DART_RECORD_TIMER(msg) | 767 #define DART_RECORD_TIMER(msg) |
764 #endif | 768 #endif |
765 | 769 |
766 } // namespace WebCore | 770 } // namespace WebCore |
767 | 771 |
768 #endif // DartUtilities_h | 772 #endif // DartUtilities_h |
OLD | NEW |