| LEFT | RIGHT | 
|   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 | 
|  11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|  12  * GNU General Public License for more details. |  12  * GNU General Public License for more details. | 
|  13  * |  13  * | 
|  14  * You should have received a copy of the GNU General Public License |  14  * You should have received a copy of the GNU General Public License | 
|  15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. |  15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
|  16  */ |  16  */ | 
|  17  |  17  | 
|  18 #ifndef ADBLOCK_PLUS_JS_ERROR_H |  18 #ifndef ADBLOCK_PLUS_JS_ERROR_H | 
|  19 #define ADBLOCK_PLUS_JS_ERROR_H |  19 #define ADBLOCK_PLUS_JS_ERROR_H | 
|  20  |  20  | 
|  21 #include <sstream> |  21 #include <sstream> | 
|  22 #include <stdexcept> |  22 #include <stdexcept> | 
|  23 #include <v8.h> |  23 #include <v8.h> | 
|  24  |  24  | 
|  25 namespace AdblockPlus |  25 namespace AdblockPlus | 
|  26 { |  26 { | 
|  27   class JsError : public std::runtime_error |  27   class JsError : public std::runtime_error | 
|  28   { |  28   { | 
|  29   public: |  29   public: | 
|  30     JsError(v8::Isolate* isolate, const v8::Local<v8::Value>& exception, |  30     JsError(v8::Isolate* isolate, | 
 |  31             const v8::Local<v8::Value>& exception, | 
|  31             const v8::Local<v8::Message>& message); |  32             const v8::Local<v8::Message>& message); | 
|  32     JsError(const char* message, const char* filename, int line); |  33     JsError(const char* message, const char* filename, int line); | 
|  33  |  34     static std::string ExceptionToString(v8::Isolate* isolate, const v8::Local<v
    8::Value>& exception, | 
|  34     static std::string ExceptionToString(v8::Isolate* isolate, |  | 
|  35       const v8::Local<v8::Value>& exception, |  | 
|  36       const v8::Local<v8::Message>& message); |  35       const v8::Local<v8::Message>& message); | 
|  37     static std::string ErrorToString(const char* message, |  36     static std::string ErrorToString(const char* message, | 
|  38       const char* filename, int line); |  37       const char* filename, int line); | 
|  39   }; |  38   }; | 
|  40 } |  39 } | 
|  41  |  40  | 
|  42 #endif |  41 #endif | 
| LEFT | RIGHT |