Home | History | Annotate | Download | only in extensions

Lines Matching defs:string

28 #include "externalize-string-extension.h"
53 typedef SimpleStringResource<char, v8::String::ExternalAsciiStringResource>
55 typedef SimpleStringResource<uc16, v8::String::ExternalStringResource>
65 v8::Isolate* isolate, v8::Handle<v8::String> str) {
66 if (strcmp(*v8::String::Utf8Value(str), "externalizeString") == 0) {
69 ASSERT(strcmp(*v8::String::Utf8Value(str), "isAsciiString") == 0);
78 args.GetIsolate()->ThrowException(v8::String::NewFromUtf8(
80 "First parameter to externalizeString() must be a string."));
88 args.GetIsolate()->ThrowException(v8::String::NewFromUtf8(
95 Handle<String> string = Utils::OpenHandle(*args[0].As<v8::String>());
96 if (string->IsExternalString()) {
97 args.GetIsolate()->ThrowException(v8::String::NewFromUtf8(
102 if (string->IsOneByteRepresentation() && !force_two_byte) {
103 uint8_t* data = new uint8_t[string->length()];
104 String::WriteToFlat(*string, data, 0, string->length());
106 reinterpret_cast<char*>(data), string->length());
107 result = string->MakeExternal(resource);
108 if (result && !string->IsInternalizedString()) {
110 isolate->heap()->external_string_table()->AddString(*string);
114 uc16* data = new uc16[string->length()];
115 String::WriteToFlat(*string, data, 0, string->length());
117 data, string->length());
118 result = string->MakeExternal(resource);
119 if (result && !string->IsInternalizedString()) {
121 isolate->heap()->external_string_table()->AddString(*string);
126 args.GetIsolate()->ThrowException(v8::String::NewFromUtf8(
136 args.GetIsolate()->ThrowException(v8::String::NewFromUtf8(
138 "isAsciiString() requires a single string argument."));
142 Utils::OpenHandle(*args[0].As<v8::String>())->IsOneByteRepresentation();