| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 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 | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 #include "modules/speech/SpeechRecognitionResultList.h" | 57 #include "modules/speech/SpeechRecognitionResultList.h" |
| 58 #include "wtf/MathExtras.h" | 58 #include "wtf/MathExtras.h" |
| 59 | 59 |
| 60 namespace WebCore { | 60 namespace WebCore { |
| 61 | 61 |
| 62 Dictionary::Dictionary() | 62 Dictionary::Dictionary() |
| 63 : m_isolate(0) | 63 : m_isolate(0) |
| 64 { | 64 { |
| 65 } | 65 } |
| 66 | 66 |
| 67 Dictionary::Dictionary(v8::Isolate* isolate) |
| 68 : m_options(v8::Object::New(isolate)) |
| 69 , m_isolate(isolate) |
| 70 { |
| 71 } |
| 72 |
| 67 Dictionary::Dictionary(const v8::Handle<v8::Value>& options, v8::Isolate* isolat
e) | 73 Dictionary::Dictionary(const v8::Handle<v8::Value>& options, v8::Isolate* isolat
e) |
| 68 : m_options(options) | 74 : m_options(options) |
| 69 , m_isolate(isolate) | 75 , m_isolate(isolate) |
| 70 { | 76 { |
| 71 ASSERT(m_isolate); | 77 ASSERT(m_isolate); |
| 72 } | 78 } |
| 73 | 79 |
| 74 Dictionary::~Dictionary() | 80 Dictionary::~Dictionary() |
| 75 { | 81 { |
| 76 } | 82 } |
| (...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 582 bool Dictionary::get(const String& key, RefPtr<Headers>& value) const | 588 bool Dictionary::get(const String& key, RefPtr<Headers>& value) const |
| 583 { | 589 { |
| 584 v8::Local<v8::Value> v8Value; | 590 v8::Local<v8::Value> v8Value; |
| 585 if (!getKey(key, v8Value)) | 591 if (!getKey(key, v8Value)) |
| 586 return false; | 592 return false; |
| 587 | 593 |
| 588 value = V8Headers::toNativeWithTypeCheck(m_isolate, v8Value); | 594 value = V8Headers::toNativeWithTypeCheck(m_isolate, v8Value); |
| 589 return true; | 595 return true; |
| 590 } | 596 } |
| 591 | 597 |
| 598 bool Dictionary::set(const String& key, const v8::Handle<v8::Value>& value) |
| 599 { |
| 600 if (isUndefinedOrNull()) |
| 601 return false; |
| 602 v8::Local<v8::Object> options = m_options->ToObject(); |
| 603 ASSERT(!options.IsEmpty()); |
| 604 |
| 605 return options->Set(v8String(m_isolate, key), value); |
| 606 } |
| 607 |
| 608 bool Dictionary::set(const String& key, const String& value) |
| 609 { |
| 610 return set(key, v8String(m_isolate, value)); |
| 611 } |
| 612 |
| 613 bool Dictionary::set(const String& key, unsigned value) |
| 614 { |
| 615 return set(key, v8::Integer::NewFromUnsigned(m_isolate, value)); |
| 616 } |
| 617 |
| 618 bool Dictionary::set(const String& key, const Dictionary& value) |
| 619 { |
| 620 return set(key, value.v8Value()); |
| 621 } |
| 622 |
| 592 bool Dictionary::convert(ConversionContext& context, const String& key, Dictiona
ry& value) const | 623 bool Dictionary::convert(ConversionContext& context, const String& key, Dictiona
ry& value) const |
| 593 { | 624 { |
| 594 ConversionContextScope scope(context); | 625 ConversionContextScope scope(context); |
| 595 | 626 |
| 596 v8::Local<v8::Value> v8Value; | 627 v8::Local<v8::Value> v8Value; |
| 597 if (!getKey(key, v8Value)) | 628 if (!getKey(key, v8Value)) |
| 598 return true; | 629 return true; |
| 599 | 630 |
| 600 if (v8Value->IsObject()) | 631 if (v8Value->IsObject()) |
| 601 return get(key, value); | 632 return get(key, value); |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 757 | 788 |
| 758 return *this; | 789 return *this; |
| 759 } | 790 } |
| 760 | 791 |
| 761 void Dictionary::ConversionContext::throwTypeError(const String& detail) | 792 void Dictionary::ConversionContext::throwTypeError(const String& detail) |
| 762 { | 793 { |
| 763 exceptionState().throwTypeError(detail); | 794 exceptionState().throwTypeError(detail); |
| 764 } | 795 } |
| 765 | 796 |
| 766 } // namespace WebCore | 797 } // namespace WebCore |
| OLD | NEW |