| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 
| 3  * Copyright (C) 2006-present eyeo GmbH | 3  * Copyright (C) 2006-present eyeo GmbH | 
| 4  * | 4  * | 
| 5  * Adblock Plus is free software: you can redistribute it and/or modify | 5  * Adblock Plus is free software: you can redistribute it and/or modify | 
| 6  * it under the terms of the GNU General Public License version 3 as | 6  * it under the terms of the GNU General Public License version 3 as | 
| 7  * published by the Free Software Foundation. | 7  * published by the Free Software Foundation. | 
| 8  * | 8  * | 
| 9  * Adblock Plus is distributed in the hope that it will be useful, | 9  * Adblock Plus is distributed in the hope that it will be useful, | 
| 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 43 | 43 | 
| 44 StringBuffer Utils::StringBufferFromV8String(v8::Isolate* isolate, const v8::Loc
     al<v8::Value>& value) | 44 StringBuffer Utils::StringBufferFromV8String(v8::Isolate* isolate, const v8::Loc
     al<v8::Value>& value) | 
| 45 { | 45 { | 
| 46   v8::String::Utf8Value stringValue(isolate, value); | 46   v8::String::Utf8Value stringValue(isolate, value); | 
| 47   if (stringValue.length()) | 47   if (stringValue.length()) | 
| 48     return IFileSystem::IOBuffer(*stringValue, *stringValue + stringValue.length
     ()); | 48     return IFileSystem::IOBuffer(*stringValue, *stringValue + stringValue.length
     ()); | 
| 49   else | 49   else | 
| 50     return IFileSystem::IOBuffer(); | 50     return IFileSystem::IOBuffer(); | 
| 51 } | 51 } | 
| 52 | 52 | 
| 53 v8::Local<v8::String> Utils::ToV8String(v8::Isolate* isolate, const std::string&
      str) | 53 v8::MaybeLocal<v8::String> Utils::ToV8String(v8::Isolate* isolate, const std::st
     ring& str) | 
| 54 { | 54 { | 
| 55   return v8::String::NewFromUtf8(isolate, str.c_str(), | 55   return v8::String::NewFromUtf8(isolate, str.c_str(), | 
| 56     v8::String::NewStringType::kNormalString, str.length()); | 56     v8::NewStringType::kNormal, str.length()); | 
| 57 } | 57 } | 
| 58 | 58 | 
| 59 v8::Local<v8::String> Utils::StringBufferToV8String(v8::Isolate* isolate, const 
     StringBuffer& str) | 59 v8::MaybeLocal<v8::String> Utils::StringBufferToV8String(v8::Isolate* isolate, c
     onst StringBuffer& str) | 
| 60 { | 60 { | 
| 61   return v8::String::NewFromUtf8(isolate, | 61   return v8::String::NewFromUtf8(isolate, | 
| 62     reinterpret_cast<const char*>(str.data()), | 62     reinterpret_cast<const char*>(str.data()), | 
| 63     v8::String::NewStringType::kNormalString, str.size()); | 63     v8::NewStringType::kNormal, str.size()); | 
| 64 } | 64 } | 
| 65 | 65 | 
| 66 void Utils::ThrowExceptionInJS(v8::Isolate* isolate, const std::string& str) | 66 void Utils::ThrowExceptionInJS(v8::Isolate* isolate, const std::string& str) | 
| 67 { | 67 { | 
| 68   isolate->ThrowException(Utils::ToV8String(isolate, str)); | 68   auto maybe = Utils::ToV8String(isolate, str); | 
|  | 69   if (maybe.IsEmpty()) | 
|  | 70   { | 
|  | 71     isolate->ThrowException( | 
|  | 72       Utils::ToV8String(isolate, "Unknown Exception").ToLocalChecked()); | 
|  | 73   } | 
|  | 74   else | 
|  | 75     isolate->ThrowException(maybe.ToLocalChecked()); | 
| 69 } | 76 } | 
| 70 | 77 | 
| 71 #ifdef _WIN32 | 78 #ifdef _WIN32 | 
| 72 std::wstring Utils::ToUtf16String(const std::string& str) | 79 std::wstring Utils::ToUtf16String(const std::string& str) | 
| 73 { | 80 { | 
| 74   size_t length = str.size(); | 81   size_t length = str.size(); | 
| 75   if (length == 0) | 82   if (length == 0) | 
| 76     return std::wstring(); | 83     return std::wstring(); | 
| 77 | 84 | 
| 78   DWORD utf16StringLength = MultiByteToWideChar(CP_UTF8, 0, str.c_str(), length,
      NULL, 0); | 85   DWORD utf16StringLength = MultiByteToWideChar(CP_UTF8, 0, str.c_str(), length,
      NULL, 0); | 
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 115     if (FAILED(hr)) | 122     if (FAILED(hr)) | 
| 116     { | 123     { | 
| 117       throw std::runtime_error("CanonizeUrl failed\n"); | 124       throw std::runtime_error("CanonizeUrl failed\n"); | 
| 118     } | 125     } | 
| 119   } | 126   } | 
| 120   return canonizedUrl; | 127   return canonizedUrl; | 
| 121 | 128 | 
| 122 } | 129 } | 
| 123 #endif | 130 #endif | 
| 124 | 131 | 
| OLD | NEW | 
|---|