| 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) | 
| { |