| Index: src/FilterEngine.cpp |
| diff --git a/src/FilterEngine.cpp b/src/FilterEngine.cpp |
| index 4fa69715c5d1a84934f301e686f9e0cd610cee0e..5c1a495619c76e0b51a886b9116807789b135c9a 100644 |
| --- a/src/FilterEngine.cpp |
| +++ b/src/FilterEngine.cpp |
| @@ -57,19 +57,19 @@ Filter::Type Filter::GetType() const |
| bool Filter::IsListed() const |
| { |
| JsValuePtr func = jsEngine->Evaluate("API.isListedFilter"); |
| - return func->Call(shared_from_this())->AsBool(); |
| + return func->Call(*this).AsBool(); |
| } |
| void Filter::AddToList() |
| { |
| JsValuePtr func = jsEngine->Evaluate("API.addFilterToList"); |
| - func->Call(shared_from_this()); |
| + func->Call(*this); |
| } |
| void Filter::RemoveFromList() |
| { |
| JsValuePtr func = jsEngine->Evaluate("API.removeFilterFromList"); |
| - func->Call(shared_from_this()); |
| + func->Call(*this); |
| } |
| bool Filter::operator==(const Filter& filter) const |
| @@ -87,32 +87,31 @@ Subscription::Subscription(JsValue&& value) |
| bool Subscription::IsListed() const |
| { |
| JsValuePtr func = jsEngine->Evaluate("API.isListedSubscription"); |
| - return func->Call(shared_from_this())->AsBool(); |
| + return func->Call(*this).AsBool(); |
| } |
| void Subscription::AddToList() |
| { |
| JsValuePtr func = jsEngine->Evaluate("API.addSubscriptionToList"); |
| - func->Call(shared_from_this()); |
| + func->Call(*this); |
| } |
| void Subscription::RemoveFromList() |
| { |
| JsValuePtr func = jsEngine->Evaluate("API.removeSubscriptionFromList"); |
| - func->Call(shared_from_this()); |
| + func->Call(*this); |
| } |
| void Subscription::UpdateFilters() |
| { |
| JsValuePtr func = jsEngine->Evaluate("API.updateSubscription"); |
| - func->Call(shared_from_this()); |
| + func->Call(*this); |
| } |
| bool Subscription::IsUpdating() const |
| { |
| JsValuePtr func = jsEngine->Evaluate("API.isSubscriptionUpdating"); |
| - JsValuePtr result = func->Call(shared_from_this()); |
| - return result->AsBool(); |
| + return func->Call(*this).AsBool(); |
| } |
| bool Subscription::operator==(const Subscription& subscription) const |
| @@ -275,19 +274,19 @@ bool FilterEngine::IsFirstRun() const |
| FilterPtr FilterEngine::GetFilter(const std::string& text) const |
| { |
| JsValuePtr func = jsEngine->Evaluate("API.getFilterFromText"); |
| - return FilterPtr(new Filter(std::move(*func->Call(jsEngine->NewValue(text))))); |
| + return FilterPtr(new Filter(func->Call(*jsEngine->NewValue(text)))); |
| } |
| SubscriptionPtr FilterEngine::GetSubscription(const std::string& url) const |
| { |
| JsValuePtr func = jsEngine->Evaluate("API.getSubscriptionFromUrl"); |
| - return SubscriptionPtr(new Subscription(std::move(*func->Call(jsEngine->NewValue(url))))); |
| + return SubscriptionPtr(new Subscription(func->Call(*jsEngine->NewValue(url)))); |
| } |
| std::vector<FilterPtr> FilterEngine::GetListedFilters() const |
| { |
| JsValuePtr func = jsEngine->Evaluate("API.getListedFilters"); |
| - JsValueList values = func->Call()->AsList(); |
| + JsValueList values = func->Call().AsList(); |
| std::vector<FilterPtr> result; |
| for (JsValueList::iterator it = values.begin(); it != values.end(); it++) |
| result.push_back(FilterPtr(new Filter(std::move(**it)))); |
| @@ -297,7 +296,7 @@ std::vector<FilterPtr> FilterEngine::GetListedFilters() const |
| std::vector<SubscriptionPtr> FilterEngine::GetListedSubscriptions() const |
| { |
| JsValuePtr func = jsEngine->Evaluate("API.getListedSubscriptions"); |
| - JsValueList values = func->Call()->AsList(); |
| + JsValueList values = func->Call().AsList(); |
| std::vector<SubscriptionPtr> result; |
| for (JsValueList::iterator it = values.begin(); it != values.end(); it++) |
| result.push_back(SubscriptionPtr(new Subscription(std::move(**it)))); |
| @@ -307,7 +306,7 @@ std::vector<SubscriptionPtr> FilterEngine::GetListedSubscriptions() const |
| std::vector<SubscriptionPtr> FilterEngine::FetchAvailableSubscriptions() const |
| { |
| JsValuePtr func = jsEngine->Evaluate("API.getRecommendedSubscriptions"); |
| - JsValueList values = func->Call()->AsList(); |
| + JsValueList values = func->Call().AsList(); |
| std::vector<SubscriptionPtr> result; |
| for (JsValueList::iterator it = values.begin(); it != values.end(); it++) |
| result.push_back(SubscriptionPtr(new Subscription(std::move(**it)))); |
| @@ -390,9 +389,9 @@ AdblockPlus::FilterPtr FilterEngine::CheckFilterMatch(const std::string& url, |
| params.push_back(jsEngine->NewValue(url)); |
| params.push_back(jsEngine->NewValue(contentTypeMask)); |
| params.push_back(jsEngine->NewValue(documentUrl)); |
| - JsValuePtr result = func->Call(params); |
| - if (!result->IsNull()) |
| - return FilterPtr(new Filter(std::move(*result))); |
| + JsValue result = func->Call(params); |
| + if (!result.IsNull()) |
| + return FilterPtr(new Filter(std::move(result))); |
| else |
| return FilterPtr(); |
| } |
| @@ -400,7 +399,7 @@ AdblockPlus::FilterPtr FilterEngine::CheckFilterMatch(const std::string& url, |
| std::vector<std::string> FilterEngine::GetElementHidingSelectors(const std::string& domain) const |
| { |
| JsValuePtr func = jsEngine->Evaluate("API.getElementHidingSelectors"); |
| - JsValueList result = func->Call(jsEngine->NewValue(domain))->AsList(); |
| + JsValueList result = func->Call(*jsEngine->NewValue(domain)).AsList(); |
| std::vector<std::string> selectors; |
| for (const auto& r: result) |
| selectors.push_back(r->AsString()); |
| @@ -410,7 +409,7 @@ std::vector<std::string> FilterEngine::GetElementHidingSelectors(const std::stri |
| JsValuePtr FilterEngine::GetPref(const std::string& pref) const |
| { |
| JsValuePtr func = jsEngine->Evaluate("API.getPref"); |
| - return func->Call(jsEngine->NewValue(pref)); |
| + return std::make_shared<JsValue>(func->Call(*jsEngine->NewValue(pref))); |
| } |
| void FilterEngine::SetPref(const std::string& pref, JsValuePtr value) |
| @@ -426,7 +425,7 @@ void FilterEngine::SetPref(const std::string& pref, JsValuePtr value) |
| std::string FilterEngine::GetHostFromURL(const std::string& url) const |
| { |
| JsValuePtr func = jsEngine->Evaluate("API.getHostFromUrl"); |
| - return func->Call(jsEngine->NewValue(url))->AsString(); |
| + return func->Call(*jsEngine->NewValue(url)).AsString(); |
| } |
| void FilterEngine::SetUpdateAvailableCallback( |
| @@ -524,7 +523,7 @@ int FilterEngine::CompareVersions(const std::string& v1, const std::string& v2) |
| params.push_back(jsEngine->NewValue(v1)); |
| params.push_back(jsEngine->NewValue(v2)); |
| JsValuePtr func = jsEngine->Evaluate("API.compareVersions"); |
| - return func->Call(params)->AsInt(); |
| + return func->Call(params).AsInt(); |
| } |
| FilterPtr FilterEngine::GetWhitelistingFilter(const std::string& url, |