OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 return v8::ThrowException(v8::Exception::SyntaxError( | 75 return v8::ThrowException(v8::Exception::SyntaxError( |
76 v8::String::New("Text input is required."))); | 76 v8::String::New("Text input is required."))); |
77 } | 77 } |
78 | 78 |
79 icu::BreakIterator* break_iterator = UnpackBreakIterator(args.Holder()); | 79 icu::BreakIterator* break_iterator = UnpackBreakIterator(args.Holder()); |
80 if (!break_iterator) { | 80 if (!break_iterator) { |
81 return ThrowUnexpectedObjectError(); | 81 return ThrowUnexpectedObjectError(); |
82 } | 82 } |
83 | 83 |
84 v8::Local<v8::String> text_value = args[0]->ToString(); | 84 v8::Local<v8::String> text_value = args[0]->ToString(); |
85 UnicodeString text(*v8::String::Value(text_value), | 85 const UChar* text = |
86 text_value->Length()); | 86 reinterpret_cast<const UChar*>(*v8::String::Value(text_value)); |
| 87 UnicodeString text(text, text_value->Length()); |
87 | 88 |
88 break_iterator->setText(text); | 89 break_iterator->setText(text); |
89 | 90 |
90 return v8::Undefined(); | 91 return v8::Undefined(); |
91 } | 92 } |
92 | 93 |
93 v8::Handle<v8::Value> BreakIterator::BreakIteratorFirst( | 94 v8::Handle<v8::Value> BreakIterator::BreakIteratorFirst( |
94 const v8::Arguments& args) { | 95 const v8::Arguments& args) { |
95 icu::BreakIterator* break_iterator = UnpackBreakIterator(args.Holder()); | 96 icu::BreakIterator* break_iterator = UnpackBreakIterator(args.Holder()); |
96 if (!break_iterator) { | 97 if (!break_iterator) { |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
220 // Set break iterator as internal field of the resulting JS object. | 221 // Set break iterator as internal field of the resulting JS object. |
221 wrapper->SetPointerInInternalField(0, break_iterator); | 222 wrapper->SetPointerInInternalField(0, break_iterator); |
222 | 223 |
223 // Make object handle weak so we can delete iterator once GC kicks in. | 224 // Make object handle weak so we can delete iterator once GC kicks in. |
224 wrapper.MakeWeak(NULL, DeleteBreakIterator); | 225 wrapper.MakeWeak(NULL, DeleteBreakIterator); |
225 | 226 |
226 return wrapper; | 227 return wrapper; |
227 } | 228 } |
228 | 229 |
229 } } // namespace v8::internal | 230 } } // namespace v8::internal |
OLD | NEW |