| 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-2017 eyeo GmbH | 3  * Copyright (C) 2006-2017 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 25 matching lines...) Expand all  Loading... | 
| 36         throw std::runtime_error("Invalid string passed as first argument to GET
     "); | 36         throw std::runtime_error("Invalid string passed as first argument to GET
     "); | 
| 37 | 37 | 
| 38       { | 38       { | 
| 39         AdblockPlus::JsConstValuePtr headersObj = arguments[1]; | 39         AdblockPlus::JsConstValuePtr headersObj = arguments[1]; | 
| 40         if (!headersObj->IsObject()) | 40         if (!headersObj->IsObject()) | 
| 41           throw std::runtime_error("Second argument to GET must be an object"); | 41           throw std::runtime_error("Second argument to GET must be an object"); | 
| 42 | 42 | 
| 43         std::vector<std::string> properties = headersObj->GetOwnPropertyNames(); | 43         std::vector<std::string> properties = headersObj->GetOwnPropertyNames(); | 
| 44         for (const auto& header : properties) | 44         for (const auto& header : properties) | 
| 45         { | 45         { | 
| 46           std::string headerValue = headersObj->GetProperty(header)->AsString(); | 46           std::string headerValue = headersObj->GetProperty(header).AsString(); | 
| 47           if (header.length() && headerValue.length()) | 47           if (header.length() && headerValue.length()) | 
| 48             headers.push_back(std::pair<std::string, std::string>(header, header
     Value)); | 48             headers.push_back(std::pair<std::string, std::string>(header, header
     Value)); | 
| 49         } | 49         } | 
| 50       } | 50       } | 
| 51 | 51 | 
| 52       callback = arguments[2]; | 52       callback = arguments[2]; | 
| 53       if (!callback->IsFunction()) | 53       if (!callback->IsFunction()) | 
| 54         throw std::runtime_error("Third argument to GET must be a function"); | 54         throw std::runtime_error("Third argument to GET must be a function"); | 
| 55     } | 55     } | 
| 56 | 56 | 
| (...skipping 15 matching lines...) Expand all  Loading... | 
| 72       AdblockPlus::JsValuePtr resultObject = jsEngine->NewObject(); | 72       AdblockPlus::JsValuePtr resultObject = jsEngine->NewObject(); | 
| 73       resultObject->SetProperty("status", result.status); | 73       resultObject->SetProperty("status", result.status); | 
| 74       resultObject->SetProperty("responseStatus", result.responseStatus); | 74       resultObject->SetProperty("responseStatus", result.responseStatus); | 
| 75       resultObject->SetProperty("responseText", result.responseText); | 75       resultObject->SetProperty("responseText", result.responseText); | 
| 76 | 76 | 
| 77       AdblockPlus::JsValuePtr headersObject = jsEngine->NewObject(); | 77       AdblockPlus::JsValuePtr headersObject = jsEngine->NewObject(); | 
| 78       for (const auto& header : result.responseHeaders) | 78       for (const auto& header : result.responseHeaders) | 
| 79       { | 79       { | 
| 80         headersObject->SetProperty(header.first, header.second); | 80         headersObject->SetProperty(header.first, header.second); | 
| 81       } | 81       } | 
| 82       resultObject->SetProperty("responseHeaders", headersObject); | 82       resultObject->SetProperty("responseHeaders", *headersObject); | 
| 83 | 83 | 
| 84       AdblockPlus::JsConstValueList params; | 84       AdblockPlus::JsConstValueList params; | 
| 85       params.push_back(resultObject); | 85       params.push_back(resultObject); | 
| 86       callback->Call(params); | 86       callback->Call(params); | 
| 87     } | 87     } | 
| 88 | 88 | 
| 89   private: | 89   private: | 
| 90     AdblockPlus::JsEnginePtr jsEngine; | 90     AdblockPlus::JsEnginePtr jsEngine; | 
| 91     std::string url; | 91     std::string url; | 
| 92     AdblockPlus::HeaderList headers; | 92     AdblockPlus::HeaderList headers; | 
| (...skipping 15 matching lines...) Expand all  Loading... | 
| 108     { | 108     { | 
| 109       using AdblockPlus::Utils::ToV8String; | 109       using AdblockPlus::Utils::ToV8String; | 
| 110       v8::Isolate* isolate = arguments.GetIsolate(); | 110       v8::Isolate* isolate = arguments.GetIsolate(); | 
| 111       return v8::ThrowException(ToV8String(isolate, e.what())); | 111       return v8::ThrowException(ToV8String(isolate, e.what())); | 
| 112     } | 112     } | 
| 113     thread->Start(); | 113     thread->Start(); | 
| 114     return v8::Undefined(); | 114     return v8::Undefined(); | 
| 115   } | 115   } | 
| 116 } | 116 } | 
| 117 | 117 | 
| 118 AdblockPlus::JsValuePtr AdblockPlus::WebRequestJsObject::Setup( | 118 AdblockPlus::JsValue& AdblockPlus::WebRequestJsObject::Setup( | 
| 119     AdblockPlus::JsEngine& jsEngine, const AdblockPlus::JsValuePtr& obj) | 119     AdblockPlus::JsEngine& jsEngine, AdblockPlus::JsValue& obj) | 
| 120 { | 120 { | 
| 121   obj->SetProperty("GET", jsEngine.NewCallback(::GETCallback)); | 121   obj.SetProperty("GET", *jsEngine.NewCallback(::GETCallback)); | 
| 122   return obj; | 122   return obj; | 
| 123 } | 123 } | 
| OLD | NEW | 
|---|