| Index: src/JsValue.cpp |
| =================================================================== |
| --- a/src/JsValue.cpp |
| +++ b/src/JsValue.cpp |
| @@ -200,46 +200,46 @@ std::string AdblockPlus::JsValue::GetCla |
| if (!IsObject()) |
| throw new std::runtime_error("Cannot get constructor of a non-object"); |
| const JsContext context(jsEngine); |
| v8::Local<v8::Object> obj = v8::Local<v8::Object>::Cast(UnwrapValue()); |
| return Utils::FromV8String(obj->GetConstructorName()); |
| } |
| -AdblockPlus::JsValuePtr AdblockPlus::JsValue::Call(const JsValueList& params, JsValuePtr thisPtr) const |
| +AdblockPlus::JsValuePtr AdblockPlus::JsValue::Call(const JsConstValueList& params, JsValuePtr thisPtr) const |
| { |
| if (!IsFunction()) |
| throw new std::runtime_error("Attempting to call a non-function"); |
| const JsContext context(jsEngine); |
| if (!thisPtr) |
| { |
| v8::Local<v8::Context> localContext = v8::Local<v8::Context>::New( |
| jsEngine->GetIsolate(), *jsEngine->context); |
| thisPtr = JsValuePtr(new JsValue(jsEngine, localContext->Global())); |
| } |
| if (!thisPtr->IsObject()) |
| throw new std::runtime_error("`this` pointer has to be an object"); |
| v8::Local<v8::Object> thisObj = v8::Local<v8::Object>::Cast(thisPtr->UnwrapValue()); |
| std::vector<v8::Handle<v8::Value>> argv; |
| - for (JsValueList::const_iterator it = params.begin(); it != params.end(); ++it) |
| - argv.push_back((*it)->UnwrapValue()); |
| + for (const auto param : params) |
| + argv.push_back(param->UnwrapValue()); |
| const v8::TryCatch tryCatch; |
| v8::Local<v8::Function> func = v8::Local<v8::Function>::Cast(UnwrapValue()); |
| v8::Local<v8::Value> result = func->Call(thisObj, argv.size(), |
| argv.size() ? &argv.front() : 0); |
| if (tryCatch.HasCaught()) |
| throw JsError(tryCatch.Exception(), tryCatch.Message()); |
| return JsValuePtr(new JsValue(jsEngine, result)); |
| } |
| AdblockPlus::JsValuePtr AdblockPlus::JsValue::Call(const JsValue& arg) const |
| { |
| const JsContext context(jsEngine); |
| - JsValueList params; |
| + JsConstValueList params; |
| params.push_back(JsValuePtr(new JsValue(arg.jsEngine, arg.UnwrapValue()))); |
| return Call(params); |
| } |