| LEFT | RIGHT | 
| (no file at all) |  | 
|    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 160 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  171 } |  171 } | 
|  172  |  172  | 
|  173 bool Subscription::IsAA() const |  173 bool Subscription::IsAA() const | 
|  174 { |  174 { | 
|  175   return jsEngine->Evaluate("API.isAASubscription").Call(*this).AsBool(); |  175   return jsEngine->Evaluate("API.isAASubscription").Call(*this).AsBool(); | 
|  176 } |  176 } | 
|  177  |  177  | 
|  178 bool Subscription::operator==(const Subscription& subscription) const |  178 bool Subscription::operator==(const Subscription& subscription) const | 
|  179 { |  179 { | 
|  180   return GetProperty("url").AsString() == subscription.GetProperty("url").AsStri
     ng(); |  180   return GetProperty("url").AsString() == subscription.GetProperty("url").AsStri
     ng(); | 
|  181 } |  | 
|  182  |  | 
|  183 namespace |  | 
|  184 { |  | 
|  185   class Sync |  | 
|  186   { |  | 
|  187   public: |  | 
|  188     Sync() |  | 
|  189       :initialized(false) |  | 
|  190     { |  | 
|  191  |  | 
|  192     } |  | 
|  193     void Wait() |  | 
|  194     { |  | 
|  195       std::unique_lock<std::mutex> lock(mutex); |  | 
|  196       while (!initialized) |  | 
|  197         cv.wait(lock); |  | 
|  198     } |  | 
|  199     void Set() |  | 
|  200     { |  | 
|  201       { |  | 
|  202         std::unique_lock<std::mutex> lock(mutex); |  | 
|  203         initialized = true; |  | 
|  204       } |  | 
|  205       cv.notify_all(); |  | 
|  206     } |  | 
|  207   private: |  | 
|  208     std::mutex mutex; |  | 
|  209     std::condition_variable cv; |  | 
|  210     bool initialized; |  | 
|  211   }; |  | 
|  212 } |  181 } | 
|  213  |  182  | 
|  214 FilterEngine::FilterEngine(const JsEnginePtr& jsEngine) |  183 FilterEngine::FilterEngine(const JsEnginePtr& jsEngine) | 
|  215   : jsEngine(jsEngine), firstRun(false), updateCheckId(0) |  184   : jsEngine(jsEngine), firstRun(false), updateCheckId(0) | 
|  216 { |  185 { | 
|  217 } |  186 } | 
|  218  |  187  | 
|  219 void FilterEngine::CreateAsync(const JsEnginePtr& jsEngine, |  188 void FilterEngine::CreateAsync(const JsEnginePtr& jsEngine, | 
|  220   const FilterEngine::OnCreatedCallback& onCreated, |  189   const FilterEngine::OnCreatedCallback& onCreated, | 
|  221   const FilterEngine::CreationParameters& params) |  190   const FilterEngine::CreationParameters& params) | 
| (...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  636     FilterPtr filter = GetWhitelistingFilter(currentUrl, contentTypeMask, parent
     Url); |  605     FilterPtr filter = GetWhitelistingFilter(currentUrl, contentTypeMask, parent
     Url); | 
|  637     if (filter) |  606     if (filter) | 
|  638     { |  607     { | 
|  639       return filter; |  608       return filter; | 
|  640     } |  609     } | 
|  641     currentUrl = parentUrl; |  610     currentUrl = parentUrl; | 
|  642   } |  611   } | 
|  643   while (urlIterator != documentUrls.end()); |  612   while (urlIterator != documentUrls.end()); | 
|  644   return FilterPtr(); |  613   return FilterPtr(); | 
|  645 } |  614 } | 
| LEFT | RIGHT |