Index: src/FilterEngine.cpp |
=================================================================== |
--- a/src/FilterEngine.cpp |
+++ b/src/FilterEngine.cpp |
@@ -140,30 +140,30 @@ bool Filter::IsListed() |
for (std::vector<FilterPtr>::iterator it = filterEngine.listedFilters.begin(); |
it != filterEngine.listedFilters.end(); ++it) |
{ |
if (it->get() == this) |
return true; |
} |
return false; |
#else |
- JsValuePtr func = jsEngine.Evaluate("API.isListedFilter"); |
+ JsValuePtr func = jsEngine->Evaluate("API.isListedFilter"); |
JsValueList params; |
params.push_back(shared_from_this()); |
return func->Call(params)->AsBool(); |
#endif |
} |
void Filter::AddToList() |
{ |
#if FILTER_ENGINE_STUBS |
if (!IsListed()) |
filterEngine.listedFilters.push_back(shared_from_this()); |
#else |
- JsValuePtr func = jsEngine.Evaluate("API.addFilterToList"); |
+ JsValuePtr func = jsEngine->Evaluate("API.addFilterToList"); |
JsValueList params; |
params.push_back(shared_from_this()); |
func->Call(params); |
#endif |
} |
void Filter::RemoveFromList() |
{ |
@@ -172,17 +172,17 @@ void Filter::RemoveFromList() |
it != filterEngine.listedFilters.end();) |
{ |
if (it->get() == this) |
it = filterEngine.listedFilters.erase(it); |
else |
it++; |
} |
#else |
- JsValuePtr func = jsEngine.Evaluate("API.removeFilterFromList"); |
+ JsValuePtr func = jsEngine->Evaluate("API.removeFilterFromList"); |
JsValueList params; |
params.push_back(shared_from_this()); |
func->Call(params); |
#endif |
} |
bool Filter::operator==(const Filter& filter) const |
{ |
@@ -208,30 +208,30 @@ bool Subscription::IsListed() |
for (std::vector<SubscriptionPtr>::iterator it = filterEngine.listedSubscriptions.begin(); |
it != filterEngine.listedSubscriptions.end(); ++it) |
{ |
if (it->get() == this) |
return true; |
} |
return false; |
#else |
- JsValuePtr func = jsEngine.Evaluate("API.isListedFilter"); |
+ JsValuePtr func = jsEngine->Evaluate("API.isListedFilter"); |
JsValueList params; |
params.push_back(shared_from_this()); |
return func->Call(params)->AsBool(); |
#endif |
} |
void Subscription::AddToList() |
{ |
#if FILTER_ENGINE_STUBS |
if (!IsListed()) |
filterEngine.listedSubscriptions.push_back(shared_from_this()); |
#else |
- JsValuePtr func = jsEngine.Evaluate("API.addSubscriptionToList"); |
+ JsValuePtr func = jsEngine->Evaluate("API.addSubscriptionToList"); |
JsValueList params; |
params.push_back(shared_from_this()); |
func->Call(params); |
#endif |
} |
void Subscription::RemoveFromList() |
{ |
@@ -240,56 +240,56 @@ void Subscription::RemoveFromList() |
it != filterEngine.listedSubscriptions.end();) |
{ |
if (it->get() == this) |
it = filterEngine.listedSubscriptions.erase(it); |
else |
it++; |
} |
#else |
- JsValuePtr func = jsEngine.Evaluate("API.removeSubscriptionFromList"); |
+ JsValuePtr func = jsEngine->Evaluate("API.removeSubscriptionFromList"); |
JsValueList params; |
params.push_back(shared_from_this()); |
func->Call(params); |
#endif |
} |
void Subscription::UpdateFilters() |
{ |
#if !FILTER_ENGINE_STUBS |
- JsValuePtr func = jsEngine.Evaluate("API.updateSubscription"); |
+ JsValuePtr func = jsEngine->Evaluate("API.updateSubscription"); |
JsValueList params; |
params.push_back(shared_from_this()); |
func->Call(params); |
#endif |
} |
bool Subscription::IsUpdating() |
{ |
#if FILTER_ENGINE_STUBS |
return false; |
#else |
- JsValuePtr func = jsEngine.Evaluate("API.isSubscriptionUpdating"); |
+ JsValuePtr func = jsEngine->Evaluate("API.isSubscriptionUpdating"); |
JsValueList params; |
params.push_back(shared_from_this()); |
JsValuePtr result = func->Call(params); |
return result->AsBool(); |
#endif |
} |
bool Subscription::operator==(const Subscription& subscription) const |
{ |
return GetProperty("url", "") == subscription.GetProperty("url", ""); |
} |
-FilterEngine::FilterEngine(JsEngine& jsEngine) : jsEngine(jsEngine) |
+FilterEngine::FilterEngine(JsEnginePtr jsEngine) : jsEngine(jsEngine) |
{ |
#if !FILTER_ENGINE_STUBS |
for (int i = 0; jsSources[i] && jsSources[i + 1]; i += 2) |
- jsEngine.Evaluate(jsSources[i + 1], jsSources[i]); |
+ jsEngine->Evaluate(jsSources[i + 1], jsSources[i]); |
#endif |
} |
FilterPtr FilterEngine::GetFilter(const std::string& text) |
{ |
#if FILTER_ENGINE_STUBS |
// Via http://stackoverflow.com/questions/216823/whats-the-best-way-to-trim-stdstring |
std::string trimmed(text); |
@@ -299,61 +299,61 @@ FilterPtr FilterEngine::GetFilter(const |
std::map<std::string, FilterPtr>::const_iterator it = knownFilters.find(trimmed); |
if (it != knownFilters.end()) |
return it->second; |
FilterPtr result(new Filter(*this, trimmed)); |
knownFilters[trimmed] = result; |
return result; |
#else |
- JsValuePtr func = jsEngine.Evaluate("API.getFilterFromText"); |
+ JsValuePtr func = jsEngine->Evaluate("API.getFilterFromText"); |
JsValueList params; |
- params.push_back(jsEngine.NewValue(text)); |
+ params.push_back(jsEngine->NewValue(text)); |
return FilterPtr(new Filter(func->Call(params))); |
#endif |
} |
SubscriptionPtr FilterEngine::GetSubscription(const std::string& url) |
{ |
#if FILTER_ENGINE_STUBS |
std::map<std::string, SubscriptionPtr>::const_iterator it = knownSubscriptions.find(url); |
if (it != knownSubscriptions.end()) |
return it->second; |
SubscriptionPtr result(new Subscription(*this, url)); |
knownSubscriptions[url] = result; |
return result; |
#else |
- JsValuePtr func = jsEngine.Evaluate("API.getSubscriptionFromUrl"); |
+ JsValuePtr func = jsEngine->Evaluate("API.getSubscriptionFromUrl"); |
JsValueList params; |
- params.push_back(jsEngine.NewValue(url)); |
+ params.push_back(jsEngine->NewValue(url)); |
return SubscriptionPtr(new Subscription(func->Call(params))); |
#endif |
} |
const std::vector<FilterPtr> FilterEngine::GetListedFilters() const |
{ |
#if FILTER_ENGINE_STUBS |
return listedFilters; |
#else |
- JsValuePtr func = jsEngine.Evaluate("API.getListedFilters"); |
+ JsValuePtr func = jsEngine->Evaluate("API.getListedFilters"); |
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(*it))); |
return result; |
#endif |
} |
const std::vector<SubscriptionPtr> FilterEngine::GetListedSubscriptions() const |
{ |
#if FILTER_ENGINE_STUBS |
return listedSubscriptions; |
#else |
- JsValuePtr func = jsEngine.Evaluate("API.getListedSubscriptions"); |
+ JsValuePtr func = jsEngine->Evaluate("API.getListedSubscriptions"); |
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(*it))); |
return result; |
#endif |
} |
@@ -384,21 +384,21 @@ AdblockPlus::FilterPtr FilterEngine::Mat |
//For test on http://simple-adblock.com/faq/testing-your-adblocker/ |
if (url.find("adbanner.gif") != std::string::npos) |
return GetFilter("adbanner.gif"); |
else if (url.find("notbanner.gif") != std::string::npos) |
return GetFilter("@@notbanner.gif"); |
else |
return AdblockPlus::FilterPtr(); |
#else |
- JsValuePtr func = jsEngine.Evaluate("API.checkFilterMatch"); |
+ JsValuePtr func = jsEngine->Evaluate("API.checkFilterMatch"); |
JsValueList params; |
- params.push_back(jsEngine.NewValue(url)); |
- params.push_back(jsEngine.NewValue(contentType)); |
- params.push_back(jsEngine.NewValue(documentUrl)); |
+ params.push_back(jsEngine->NewValue(url)); |
+ params.push_back(jsEngine->NewValue(contentType)); |
+ params.push_back(jsEngine->NewValue(documentUrl)); |
JsValuePtr result = func->Call(params); |
if (!result->IsNull()) |
return FilterPtr(new Filter(result)); |
else |
return FilterPtr(); |
#endif |
} |
@@ -408,18 +408,18 @@ std::vector<std::string> FilterEngine::G |
std::vector<std::string> selectors; |
selectors.push_back("#ad"); |
selectors.push_back(".ad"); |
//For test on http://simple-adblock.com/faq/testing-your-adblocker/ |
if (domain == "simple-adblock.com") |
selectors.push_back(".ad_300x250"); |
return selectors; |
#else |
- JsValuePtr func = jsEngine.Evaluate("API.getElementHidingSelectors"); |
+ JsValuePtr func = jsEngine->Evaluate("API.getElementHidingSelectors"); |
JsValueList params; |
- params.push_back(jsEngine.NewValue(domain)); |
+ params.push_back(jsEngine->NewValue(domain)); |
JsValueList result = func->Call(params)->AsList(); |
std::vector<std::string> selectors; |
for (JsValueList::iterator it = result.begin(); it != result.end(); ++it) |
selectors.push_back((*it)->AsString()); |
return selectors; |
#endif |
} |