| Index: src/Utils.cpp |
| =================================================================== |
| --- a/src/Utils.cpp |
| +++ b/src/Utils.cpp |
| @@ -22,38 +22,46 @@ |
| #include <Windows.h> |
| #include <Shlwapi.h> |
| #endif |
| #include "Utils.h" |
| using namespace AdblockPlus; |
| -std::string Utils::Slurp(std::istream& stream) |
| -{ |
| - std::stringstream content; |
| - content << stream.rdbuf(); |
| - return content.str(); |
| -} |
| - |
| std::string Utils::FromV8String(const v8::Handle<v8::Value>& value) |
| { |
| v8::String::Utf8Value stringValue(value); |
| if (stringValue.length()) |
| return std::string(*stringValue, stringValue.length()); |
| else |
| return std::string(); |
| } |
| +std::vector<char> Utils::BufferFromV8String(const v8::Handle<v8::Value>& value) |
| +{ |
| + v8::String::Utf8Value stringValue(value); |
| + if (stringValue.length()) |
| + return std::vector<char>(*stringValue, *stringValue + stringValue.length()); |
| + else |
| + return std::vector<char>(); |
| +} |
| + |
| v8::Local<v8::String> Utils::ToV8String(v8::Isolate* isolate, const std::string& str) |
| { |
| return v8::String::NewFromUtf8(isolate, str.c_str(), |
| v8::String::NewStringType::kNormalString, str.length()); |
| } |
| +v8::Local<v8::String> Utils::ToV8String(v8::Isolate* isolate, const std::vector<char>& str) |
| +{ |
| + return v8::String::NewFromUtf8(isolate, str.data(), |
| + v8::String::NewStringType::kNormalString, str.size()); |
| +} |
| + |
| void Utils::ThrowExceptionInJS(v8::Isolate* isolate, const std::string& str) |
| { |
| isolate->ThrowException(Utils::ToV8String(isolate, str)); |
| } |
| #ifdef _WIN32 |
| std::wstring Utils::ToUtf16String(const std::string& str) |
| { |