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 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 { | 70 { |
71 JsValue func = jsEngine->Evaluate("API.removeFilterFromList"); | 71 JsValue func = jsEngine->Evaluate("API.removeFilterFromList"); |
72 func.Call(*this); | 72 func.Call(*this); |
73 } | 73 } |
74 | 74 |
75 bool Filter::operator==(const Filter& filter) const | 75 bool Filter::operator==(const Filter& filter) const |
76 { | 76 { |
77 return GetProperty("text").AsString() == filter.GetProperty("text").AsString()
; | 77 return GetProperty("text").AsString() == filter.GetProperty("text").AsString()
; |
78 } | 78 } |
79 | 79 |
| 80 Subscription::Subscription(const Subscription& subscription) |
| 81 : JsValue(subscription) |
| 82 { |
| 83 } |
| 84 |
| 85 Subscription::Subscription(Subscription&& subscription) |
| 86 : JsValue(std::move(subscription)) |
| 87 { |
| 88 } |
| 89 |
80 Subscription::Subscription(JsValue&& value) | 90 Subscription::Subscription(JsValue&& value) |
81 : JsValue(std::move(value)) | 91 : JsValue(std::move(value)) |
82 { | 92 { |
83 if (!IsObject()) | 93 if (!IsObject()) |
84 throw std::runtime_error("JavaScript value is not an object"); | 94 throw std::runtime_error("JavaScript value is not an object"); |
85 } | 95 } |
86 | 96 |
| 97 Subscription& Subscription::operator=(const Subscription& subscription) |
| 98 { |
| 99 *this = subscription; |
| 100 return *this; |
| 101 } |
| 102 |
87 bool Subscription::IsListed() const | 103 bool Subscription::IsListed() const |
88 { | 104 { |
89 JsValue func = jsEngine->Evaluate("API.isListedSubscription"); | 105 JsValue func = jsEngine->Evaluate("API.isListedSubscription"); |
90 return func.Call(*this).AsBool(); | 106 return func.Call(*this).AsBool(); |
91 } | 107 } |
92 | 108 |
93 void Subscription::AddToList() | 109 void Subscription::AddToList() |
94 { | 110 { |
95 JsValue func = jsEngine->Evaluate("API.addSubscriptionToList"); | 111 JsValue func = jsEngine->Evaluate("API.addSubscriptionToList"); |
96 func.Call(*this); | 112 func.Call(*this); |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 { | 291 { |
276 return firstRun; | 292 return firstRun; |
277 } | 293 } |
278 | 294 |
279 Filter FilterEngine::GetFilter(const std::string& text) const | 295 Filter FilterEngine::GetFilter(const std::string& text) const |
280 { | 296 { |
281 JsValue func = jsEngine->Evaluate("API.getFilterFromText"); | 297 JsValue func = jsEngine->Evaluate("API.getFilterFromText"); |
282 return Filter(func.Call(jsEngine->NewValue(text))); | 298 return Filter(func.Call(jsEngine->NewValue(text))); |
283 } | 299 } |
284 | 300 |
285 SubscriptionPtr FilterEngine::GetSubscription(const std::string& url) const | 301 Subscription FilterEngine::GetSubscription(const std::string& url) const |
286 { | 302 { |
287 JsValue func = jsEngine->Evaluate("API.getSubscriptionFromUrl"); | 303 JsValue func = jsEngine->Evaluate("API.getSubscriptionFromUrl"); |
288 return SubscriptionPtr(new Subscription(func.Call(jsEngine->NewValue(url)))); | 304 return Subscription(func.Call(jsEngine->NewValue(url))); |
289 } | 305 } |
290 | 306 |
291 std::vector<Filter> FilterEngine::GetListedFilters() const | 307 std::vector<Filter> FilterEngine::GetListedFilters() const |
292 { | 308 { |
293 JsValue func = jsEngine->Evaluate("API.getListedFilters"); | 309 JsValue func = jsEngine->Evaluate("API.getListedFilters"); |
294 JsValueList values = func.Call().AsList(); | 310 JsValueList values = func.Call().AsList(); |
295 std::vector<Filter> result; | 311 std::vector<Filter> result; |
296 for (JsValueList::iterator it = values.begin(); it != values.end(); it++) | 312 for (JsValueList::iterator it = values.begin(); it != values.end(); it++) |
297 result.push_back(Filter(std::move(*it))); | 313 result.push_back(Filter(std::move(*it))); |
298 return result; | 314 return result; |
299 } | 315 } |
300 | 316 |
301 std::vector<SubscriptionPtr> FilterEngine::GetListedSubscriptions() const | 317 std::vector<Subscription> FilterEngine::GetListedSubscriptions() const |
302 { | 318 { |
303 JsValue func = jsEngine->Evaluate("API.getListedSubscriptions"); | 319 JsValue func = jsEngine->Evaluate("API.getListedSubscriptions"); |
304 JsValueList values = func.Call().AsList(); | 320 JsValueList values = func.Call().AsList(); |
305 std::vector<SubscriptionPtr> result; | 321 std::vector<Subscription> result; |
306 for (JsValueList::iterator it = values.begin(); it != values.end(); it++) | 322 for (JsValueList::iterator it = values.begin(); it != values.end(); it++) |
307 result.push_back(SubscriptionPtr(new Subscription(std::move(*it)))); | 323 result.push_back(Subscription(std::move(*it))); |
308 return result; | 324 return result; |
309 } | 325 } |
310 | 326 |
311 std::vector<SubscriptionPtr> FilterEngine::FetchAvailableSubscriptions() const | 327 std::vector<Subscription> FilterEngine::FetchAvailableSubscriptions() const |
312 { | 328 { |
313 JsValue func = jsEngine->Evaluate("API.getRecommendedSubscriptions"); | 329 JsValue func = jsEngine->Evaluate("API.getRecommendedSubscriptions"); |
314 JsValueList values = func.Call().AsList(); | 330 JsValueList values = func.Call().AsList(); |
315 std::vector<SubscriptionPtr> result; | 331 std::vector<Subscription> result; |
316 for (JsValueList::iterator it = values.begin(); it != values.end(); it++) | 332 for (JsValueList::iterator it = values.begin(); it != values.end(); it++) |
317 result.push_back(SubscriptionPtr(new Subscription(std::move(*it)))); | 333 result.push_back(Subscription(std::move(*it))); |
318 return result; | 334 return result; |
319 } | 335 } |
320 | 336 |
321 void FilterEngine::SetAAEnabled(bool enabled) | 337 void FilterEngine::SetAAEnabled(bool enabled) |
322 { | 338 { |
323 jsEngine->Evaluate("API.setAASubscriptionEnabled").Call(jsEngine->NewValue(ena
bled)); | 339 jsEngine->Evaluate("API.setAASubscriptionEnabled").Call(jsEngine->NewValue(ena
bled)); |
324 } | 340 } |
325 | 341 |
326 bool FilterEngine::IsAAEnabled() const | 342 bool FilterEngine::IsAAEnabled() const |
327 { | 343 { |
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
573 FilterPtr filter = GetWhitelistingFilter(currentUrl, contentTypeMask, parent
Url); | 589 FilterPtr filter = GetWhitelistingFilter(currentUrl, contentTypeMask, parent
Url); |
574 if (filter) | 590 if (filter) |
575 { | 591 { |
576 return filter; | 592 return filter; |
577 } | 593 } |
578 currentUrl = parentUrl; | 594 currentUrl = parentUrl; |
579 } | 595 } |
580 while (urlIterator != documentUrls.end()); | 596 while (urlIterator != documentUrls.end()); |
581 return FilterPtr(); | 597 return FilterPtr(); |
582 } | 598 } |
OLD | NEW |