| 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 19 matching lines...) Expand all  Loading... | 
| 30 { | 30 { | 
| 31   class FilterEngine; | 31   class FilterEngine; | 
| 32   typedef std::shared_ptr<FilterEngine> FilterEnginePtr; | 32   typedef std::shared_ptr<FilterEngine> FilterEnginePtr; | 
| 33 | 33 | 
| 34   /** | 34   /** | 
| 35    * Wrapper for an Adblock Plus filter object. | 35    * Wrapper for an Adblock Plus filter object. | 
| 36    * There are no accessors for most | 36    * There are no accessors for most | 
| 37    * [filter properties](https://adblockplus.org/jsdoc/adblockpluscore/Filter.ht
     ml), | 37    * [filter properties](https://adblockplus.org/jsdoc/adblockpluscore/Filter.ht
     ml), | 
| 38    * use `GetProperty()` to retrieve them by name. | 38    * use `GetProperty()` to retrieve them by name. | 
| 39    */ | 39    */ | 
| 40   class Filter : public JsValue, | 40   class Filter : public JsValue | 
| 41                  public std::enable_shared_from_this<Filter> |  | 
| 42   { | 41   { | 
|  | 42     friend class FilterEngine; | 
| 43   public: | 43   public: | 
|  | 44     Filter(const Filter& src); | 
|  | 45     Filter(Filter&& src); | 
|  | 46     Filter& operator=(const Filter& src); | 
|  | 47     Filter& operator=(Filter&& src); | 
|  | 48 | 
| 44     /** | 49     /** | 
| 45      * Filter types, see https://adblockplus.org/en/filters. | 50      * Filter types, see https://adblockplus.org/en/filters. | 
| 46      */ | 51      */ | 
| 47     enum Type {TYPE_BLOCKING, TYPE_EXCEPTION, | 52     enum Type {TYPE_BLOCKING, TYPE_EXCEPTION, | 
| 48                TYPE_ELEMHIDE, TYPE_ELEMHIDE_EXCEPTION, | 53                TYPE_ELEMHIDE, TYPE_ELEMHIDE_EXCEPTION, | 
| 49                TYPE_COMMENT, TYPE_INVALID}; | 54                TYPE_COMMENT, TYPE_INVALID}; | 
| 50 | 55 | 
| 51     /** | 56     /** | 
| 52      * Retrieves the type of this filter. | 57      * Retrieves the type of this filter. | 
| 53      * @return Type of this filter. | 58      * @return Type of this filter. | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
| 65      */ | 70      */ | 
| 66     void AddToList(); | 71     void AddToList(); | 
| 67 | 72 | 
| 68     /** | 73     /** | 
| 69      * Removes this filter from the list of custom filters. | 74      * Removes this filter from the list of custom filters. | 
| 70      */ | 75      */ | 
| 71     void RemoveFromList(); | 76     void RemoveFromList(); | 
| 72 | 77 | 
| 73     bool operator==(const Filter& filter) const; | 78     bool operator==(const Filter& filter) const; | 
| 74 | 79 | 
|  | 80   protected: | 
| 75     /** | 81     /** | 
| 76      * Creates a wrapper for an existing JavaScript filter object. | 82      * Creates a wrapper for an existing JavaScript filter object. | 
| 77      * Normally you shouldn't call this directly, but use | 83      * Normally you shouldn't call this directly, but use | 
| 78      * FilterEngine::GetFilter() instead. | 84      * FilterEngine::GetFilter() instead. | 
| 79      * @param value JavaScript filter object. | 85      * @param value JavaScript filter object. | 
| 80      */ | 86      */ | 
| 81     Filter(JsValue&& value); | 87     Filter(JsValue&& value); | 
| 82   }; | 88   }; | 
| 83 | 89 | 
| 84   /** | 90   /** | 
| 85    * Wrapper for a subscription object. | 91    * Wrapper for a subscription object. | 
| 86    * There are no accessors for most | 92    * There are no accessors for most | 
| 87    * [subscription properties](https://adblockplus.org/jsdoc/adblockpluscore/Sub
     scription.html), | 93    * [subscription properties](https://adblockplus.org/jsdoc/adblockpluscore/Sub
     scription.html), | 
| 88    * use `GetProperty()` to retrieve them by name. | 94    * use `GetProperty()` to retrieve them by name. | 
| 89    */ | 95    */ | 
| 90   class Subscription : public JsValue, | 96   class Subscription : public JsValue | 
| 91                        public std::enable_shared_from_this<Subscription> |  | 
| 92   { | 97   { | 
|  | 98     friend class FilterEngine; | 
| 93   public: | 99   public: | 
| 94     /** | 100     /** | 
|  | 101      * Copy constructor | 
|  | 102      */ | 
|  | 103     Subscription(const Subscription& src); | 
|  | 104 | 
|  | 105     /** | 
|  | 106      * Move constructor | 
|  | 107      */ | 
|  | 108     Subscription(Subscription&& src); | 
|  | 109 | 
|  | 110     /** | 
|  | 111      * Assignment operator | 
|  | 112      */ | 
|  | 113     Subscription& operator=(const Subscription& src); | 
|  | 114 | 
|  | 115     /** | 
|  | 116      * Move assignment operator | 
|  | 117      */ | 
|  | 118     Subscription& operator=(Subscription&& src); | 
|  | 119 | 
|  | 120     /** | 
|  | 121      * Checks if the subscription is disabled. | 
|  | 122      * @return `true` if this subscription is disabled. | 
|  | 123      */ | 
|  | 124     bool IsDisabled() const; | 
|  | 125 | 
|  | 126     /** | 
|  | 127      * Allows to enable or disable current subscription. | 
|  | 128      * @param `value` disabling the subscription if true and enabling if false. | 
|  | 129      *        If the previous state was the same then it has no effect. | 
|  | 130      */ | 
|  | 131     void SetDisabled(bool value); | 
|  | 132 | 
|  | 133     /** | 
| 95      * Checks if this subscription has been added to the list of subscriptions. | 134      * Checks if this subscription has been added to the list of subscriptions. | 
| 96      * @return `true` if this subscription has been added. | 135      * @return `true` if this subscription has been added. | 
| 97      */ | 136      */ | 
| 98     bool IsListed() const; | 137     bool IsListed() const; | 
| 99 | 138 | 
| 100     /** | 139     /** | 
| 101      * Adds this subscription to the list of subscriptions. | 140      * Adds this subscription to the list of subscriptions. | 
| 102      */ | 141      */ | 
| 103     void AddToList(); | 142     void AddToList(); | 
| 104 | 143 | 
| 105     /** | 144     /** | 
| 106      * Removes this subscription from the list of subscriptions. | 145      * Removes this subscription from the list of subscriptions. | 
| 107      */ | 146      */ | 
| 108     void RemoveFromList(); | 147     void RemoveFromList(); | 
| 109 | 148 | 
| 110     /** | 149     /** | 
| 111      * Updates this subscription, i.e.\ retrieves the current filters from the | 150      * Updates this subscription, i.e.\ retrieves the current filters from the | 
| 112      * subscription URL. | 151      * subscription URL. | 
| 113      */ | 152      */ | 
| 114     void UpdateFilters(); | 153     void UpdateFilters(); | 
| 115 | 154 | 
| 116     /** | 155     /** | 
| 117      * Checks if the subscription is currently being updated. | 156      * Checks if the subscription is currently being updated. | 
| 118      * @return `true` if the subscription is currently being updated. | 157      * @return `true` if the subscription is currently being updated. | 
| 119      */ | 158      */ | 
| 120     bool IsUpdating() const; | 159     bool IsUpdating() const; | 
| 121 | 160 | 
| 122     /** | 161     /** | 
| 123      * Indicates whether the subscription is acceptable ads subscription. | 162      * Indicates whether the subscription is the Acceptable Ads subscription. | 
| 124      * @return `true` if this subscription is acceptable ads subscription. | 163      * @return `true` if this subscription is the Acceptable Ads subscription. | 
| 125      */ | 164      */ | 
| 126     bool IsAA() const; | 165     bool IsAA() const; | 
| 127 | 166 | 
| 128     bool operator==(const Subscription& subscription) const; | 167     bool operator==(const Subscription& subscription) const; | 
| 129 | 168 | 
|  | 169   protected: | 
| 130     /** | 170     /** | 
| 131      * Creates a wrapper for an existing JavaScript subscription object. | 171      * Creates a wrapper for an existing JavaScript subscription object. | 
| 132      * Normally you shouldn't call this directly, but use | 172      * Normally you shouldn't call this directly, but use | 
| 133      * FilterEngine::GetSubscription() instead. | 173      * FilterEngine::GetSubscription() instead. | 
| 134      * @param value JavaScript subscription object. | 174      * @param value JavaScript subscription object. | 
| 135      */ | 175      */ | 
| 136     Subscription(JsValue&& value); | 176     Subscription(JsValue&& value); | 
| 137   }; | 177   }; | 
| 138 | 178 | 
| 139   /** | 179   /** | 
| 140    * Shared smart pointer to a `Filter` instance. | 180    * A smart pointer to a `Filter` instance. | 
| 141    */ | 181    */ | 
| 142   typedef std::shared_ptr<Filter> FilterPtr; | 182   typedef std::unique_ptr<Filter> FilterPtr; | 
| 143 |  | 
| 144   /** |  | 
| 145    * Shared smart pointer to a `Subscription` instance. |  | 
| 146    */ |  | 
| 147   typedef std::shared_ptr<Subscription> SubscriptionPtr; |  | 
| 148 | 183 | 
| 149   /** | 184   /** | 
| 150    * Main component of libadblockplus. | 185    * Main component of libadblockplus. | 
| 151    * It handles: | 186    * It handles: | 
| 152    * - Filter management and matching. | 187    * - Filter management and matching. | 
| 153    * - Subscription management and synchronization. | 188    * - Subscription management and synchronization. | 
| 154    * - Update checks for the application. | 189    * - Update checks for the application. | 
| 155    */ | 190    */ | 
| 156   class FilterEngine | 191   class FilterEngine | 
| 157   { | 192   { | 
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 199      */ | 234      */ | 
| 200     typedef std::function<void(const std::string&)> UpdateCheckDoneCallback; | 235     typedef std::function<void(const std::string&)> UpdateCheckDoneCallback; | 
| 201 | 236 | 
| 202     /** | 237     /** | 
| 203      * Callback type invoked when the filters change. | 238      * Callback type invoked when the filters change. | 
| 204      * The first parameter is the action event code (see | 239      * The first parameter is the action event code (see | 
| 205      * [FilterNotifier.triggerListeners](https://adblockplus.org/jsdoc/adblockpl
     uscore/FilterNotifier.html#.triggerListeners) | 240      * [FilterNotifier.triggerListeners](https://adblockplus.org/jsdoc/adblockpl
     uscore/FilterNotifier.html#.triggerListeners) | 
| 206      * for the full list). | 241      * for the full list). | 
| 207      * The second parameter is the filter/subscription object affected, if any. | 242      * The second parameter is the filter/subscription object affected, if any. | 
| 208      */ | 243      */ | 
| 209     typedef std::function<void(const std::string&, const JsValuePtr)> FilterChan
     geCallback; | 244     typedef std::function<void(const std::string&, JsValue&&)> FilterChangeCallb
     ack; | 
| 210 | 245 | 
| 211     /** | 246     /** | 
| 212      * Container of name-value pairs representing a set of preferences. | 247      * Container of name-value pairs representing a set of preferences. | 
| 213      */ | 248      */ | 
| 214     typedef std::map<std::string, AdblockPlus::JsValuePtr> Prefs; | 249     typedef std::map<std::string, AdblockPlus::JsValue> Prefs; | 
| 215 | 250 | 
| 216     /** | 251     /** | 
| 217      * Callback type invoked when a new notification should be shown. | 252      * Callback type invoked when a new notification should be shown. | 
| 218      * The parameter is the Notification object to be shown. | 253      * The parameter is the Notification object to be shown. | 
| 219      */ | 254      */ | 
| 220     typedef std::function<void(const NotificationPtr&)> ShowNotificationCallback
     ; | 255     typedef std::function<void(Notification&&)> ShowNotificationCallback; | 
| 221 | 256 | 
| 222     /** | 257     /** | 
| 223      * Callback function returning false when current connection is not | 258      * Callback function returning false when current connection is not | 
| 224      * allowedConnectionType, e.g. because it is a metered connection. | 259      * allowedConnectionType, e.g. because it is a metered connection. | 
| 225      */ | 260      */ | 
| 226     typedef std::function<bool(const std::string* allowedConnectionType)> IsConn
     ectionAllowedCallback; | 261     typedef std::function<bool(const std::string* allowedConnectionType)> IsConn
     ectionAllowedCallback; | 
| 227 | 262 | 
| 228     /** | 263     /** | 
| 229      * FilterEngine creation parameters. | 264      * FilterEngine creation parameters. | 
| 230      */ | 265      */ | 
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 278      * @return `true` if the application is running for the first time. | 313      * @return `true` if the application is running for the first time. | 
| 279      */ | 314      */ | 
| 280     bool IsFirstRun() const; | 315     bool IsFirstRun() const; | 
| 281 | 316 | 
| 282     /** | 317     /** | 
| 283      * Retrieves a filter object from its text representation. | 318      * Retrieves a filter object from its text representation. | 
| 284      * @param text Text representation of the filter, | 319      * @param text Text representation of the filter, | 
| 285      *        see https://adblockplus.org/en/filters. | 320      *        see https://adblockplus.org/en/filters. | 
| 286      * @return New `Filter` instance. | 321      * @return New `Filter` instance. | 
| 287      */ | 322      */ | 
| 288     FilterPtr GetFilter(const std::string& text) const; | 323     Filter GetFilter(const std::string& text) const; | 
| 289 | 324 | 
| 290     /** | 325     /** | 
| 291      * Retrieves a subscription object for the supplied URL. | 326      * Retrieves a subscription object for the supplied URL. | 
| 292      * @param url Subscription URL. | 327      * @param url Subscription URL. | 
| 293      * @return New `Subscription` instance. | 328      * @return New `Subscription` instance. | 
| 294      */ | 329      */ | 
| 295     SubscriptionPtr GetSubscription(const std::string& url) const; | 330     Subscription GetSubscription(const std::string& url) const; | 
| 296 | 331 | 
| 297     /** | 332     /** | 
| 298      * Retrieves the list of custom filters. | 333      * Retrieves the list of custom filters. | 
| 299      * @return List of custom filters. | 334      * @return List of custom filters. | 
| 300      */ | 335      */ | 
| 301     std::vector<FilterPtr> GetListedFilters() const; | 336     std::vector<Filter> GetListedFilters() const; | 
| 302 | 337 | 
| 303     /** | 338     /** | 
| 304      * Retrieves all subscriptions. | 339      * Retrieves all subscriptions. | 
| 305      * @return List of subscriptions. | 340      * @return List of subscriptions. | 
| 306      */ | 341      */ | 
| 307     std::vector<SubscriptionPtr> GetListedSubscriptions() const; | 342     std::vector<Subscription> GetListedSubscriptions() const; | 
| 308 | 343 | 
| 309     /** | 344     /** | 
| 310      * Retrieves all recommended subscriptions. | 345      * Retrieves all recommended subscriptions. | 
| 311      * @return List of recommended subscriptions. | 346      * @return List of recommended subscriptions. | 
| 312      */ | 347      */ | 
| 313     std::vector<SubscriptionPtr> FetchAvailableSubscriptions() const; | 348     std::vector<Subscription> FetchAvailableSubscriptions() const; | 
| 314 | 349 | 
| 315     /** | 350     /** | 
| 316      * Ensures that Acceptable Ads subscription is enabled or disabled. | 351      * Ensures that the Acceptable Ads subscription is enabled or disabled. | 
| 317      * @param enabled | 352      * @param enabled | 
| 318      *   - if the value is `true` | 353      *   - if the value is `true` | 
| 319      *     - ensure that the filter set includes an enabled AA subscription, | 354      *     - ensure that the filter set includes an enabled AA subscription, | 
| 320      *       adding it if needed and enabling it if disabled. | 355      *       adding it if needed and enabling it if disabled. | 
| 321      *   - if the value is `false` | 356      *   - if the value is `false` | 
| 322      *     - if an AA subscription is present, disable it. | 357      *     - if an AA subscription is present, disable it. | 
| 323      *     - if absent, do nothing. | 358      *     - if absent, do nothing. | 
| 324      */ | 359      */ | 
| 325     void SetAAEnabled(bool enabled); | 360     void SetAAEnabled(bool enabled); | 
| 326 | 361 | 
| 327     /** | 362     /** | 
| 328      * Checks whether Acceptable Ads subscription is enabled. | 363      * Checks whether the Acceptable Ads subscription is enabled. | 
| 329      * @return `true` if acceptable ads subscription is present and enabled. | 364      * @return `true` if the Acceptable Ads subscription is present and enabled. | 
| 330      */ | 365      */ | 
| 331     bool IsAAEnabled() const; | 366     bool IsAAEnabled() const; | 
| 332 | 367 | 
| 333     /** | 368     /** | 
| 334      * Retrieves the URL of Acceptable Ads subscription, what makes the URL | 369      * Retrieves the URL of the Acceptable Ads subscription, what makes the URL | 
| 335      * available even if subscription is not add yet. | 370      * available even if subscription is not added yet. | 
| 336      * @return Returns URL of Acceptable Ads. | 371      * @return Returns URL of the Acceptable Ads. | 
| 337      */ | 372      */ | 
| 338     std::string GetAAUrl() const; | 373     std::string GetAAUrl() const; | 
| 339 | 374 | 
| 340     /** | 375     /** | 
| 341      * Invokes the listener set via SetNotificationAvailableCallback() with the | 376      * Invokes the listener set via SetNotificationAvailableCallback() with the | 
| 342      * next notification to be shown. | 377      * next notification to be shown. | 
| 343      * @param url URL to match notifications to (optional). | 378      * @param url URL to match notifications to (optional). | 
| 344      */ | 379      */ | 
| 345     void ShowNextNotification(const std::string& url = std::string()); | 380     void ShowNextNotification(const std::string& url = std::string()) const; | 
| 346 | 381 | 
| 347     /** | 382     /** | 
| 348      * Sets the callback invoked when a notification should be shown. | 383      * Sets the callback invoked when a notification should be shown. | 
| 349      * @param callback Callback to invoke. | 384      * @param callback Callback to invoke. | 
| 350      */ | 385      */ | 
| 351     void SetShowNotificationCallback(const ShowNotificationCallback& value); | 386     void SetShowNotificationCallback(const ShowNotificationCallback& value); | 
| 352 | 387 | 
| 353     /** | 388     /** | 
| 354      * Removes the callback invoked when a notification should be shown. | 389      * Removes the callback invoked when a notification should be shown. | 
| 355      */ | 390      */ | 
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 421      * @param domain Domain to retrieve CSS selectors for. | 456      * @param domain Domain to retrieve CSS selectors for. | 
| 422      * @return List of CSS selectors. | 457      * @return List of CSS selectors. | 
| 423      */ | 458      */ | 
| 424     std::vector<std::string> GetElementHidingSelectors(const std::string& domain
     ) const; | 459     std::vector<std::string> GetElementHidingSelectors(const std::string& domain
     ) const; | 
| 425 | 460 | 
| 426     /** | 461     /** | 
| 427      * Retrieves a preference value. | 462      * Retrieves a preference value. | 
| 428      * @param pref Preference name. | 463      * @param pref Preference name. | 
| 429      * @return Preference value, or `null` if it doesn't exist. | 464      * @return Preference value, or `null` if it doesn't exist. | 
| 430      */ | 465      */ | 
| 431     JsValuePtr GetPref(const std::string& pref) const; | 466     JsValue GetPref(const std::string& pref) const; | 
| 432 | 467 | 
| 433     /** | 468     /** | 
| 434      * Sets a preference value. | 469      * Sets a preference value. | 
| 435      * @param pref Preference name. | 470      * @param pref Preference name. | 
| 436      * @param value New value of the preference. | 471      * @param value New value of the preference. | 
| 437      */ | 472      */ | 
| 438     void SetPref(const std::string& pref, JsValuePtr value); | 473     void SetPref(const std::string& pref, const JsValue& value); | 
| 439 | 474 | 
| 440     /** | 475     /** | 
| 441      * Extracts the host from a URL. | 476      * Extracts the host from a URL. | 
| 442      * @param url URL to extract the host from. | 477      * @param url URL to extract the host from. | 
| 443      * @return Extracted host. | 478      * @return Extracted host. | 
| 444      */ | 479      */ | 
| 445     std::string GetHostFromURL(const std::string& url) const; | 480     std::string GetHostFromURL(const std::string& url) const; | 
| 446 | 481 | 
| 447     /** | 482     /** | 
| 448      * Sets the callback invoked when an application update becomes available. | 483      * Sets the callback invoked when an application update becomes available. | 
| 449      * @param callback Callback to invoke. | 484      * @param callback Callback to invoke. | 
| 450      */ | 485      */ | 
| 451     void SetUpdateAvailableCallback(UpdateAvailableCallback callback); | 486     void SetUpdateAvailableCallback(const UpdateAvailableCallback& callback); | 
| 452 | 487 | 
| 453     /** | 488     /** | 
| 454      * Removes the callback invoked when an application update becomes | 489      * Removes the callback invoked when an application update becomes | 
| 455      * available. | 490      * available. | 
| 456      */ | 491      */ | 
| 457     void RemoveUpdateAvailableCallback(); | 492     void RemoveUpdateAvailableCallback(); | 
| 458 | 493 | 
| 459     /** | 494     /** | 
| 460      * Forces an immediate update check. | 495      * Forces an immediate update check. | 
| 461      * `FilterEngine` will automatically check for updates in regular intervals, | 496      * `FilterEngine` will automatically check for updates in regular intervals, | 
| 462      * so applications should only call this when the user triggers an update | 497      * so applications should only call this when the user triggers an update | 
| 463      * check manually. | 498      * check manually. | 
| 464      * @param callback Optional callback to invoke when the update check is | 499      * @param callback Optional callback to invoke when the update check is | 
| 465      *        finished. The string parameter will be empty when the update check | 500      *        finished. The string parameter will be empty when the update check | 
| 466      *        succeeded, or contain an error message if it failed. | 501      *        succeeded, or contain an error message if it failed. | 
| 467      *        Note that the callback will be invoked whether updates are | 502      *        Note that the callback will be invoked whether updates are | 
| 468      *        available or not - to react to updates being available, use | 503      *        available or not - to react to updates being available, use | 
| 469      *        `FilterEngine::SetUpdateAvailableCallback()`. | 504      *        `FilterEngine::SetUpdateAvailableCallback()`. | 
| 470      */ | 505      */ | 
| 471     void ForceUpdateCheck(const UpdateCheckDoneCallback& callback = UpdateCheckD
     oneCallback()); | 506     void ForceUpdateCheck(const UpdateCheckDoneCallback& callback = UpdateCheckD
     oneCallback()); | 
| 472 | 507 | 
| 473     /** | 508     /** | 
| 474      * Sets the callback invoked when the filters change. | 509      * Sets the callback invoked when the filters change. | 
| 475      * @param callback Callback to invoke. | 510      * @param callback Callback to invoke. | 
| 476      */ | 511      */ | 
| 477     void SetFilterChangeCallback(FilterChangeCallback callback); | 512     void SetFilterChangeCallback(const FilterChangeCallback& callback); | 
| 478 | 513 | 
| 479     /** | 514     /** | 
| 480      * Removes the callback invoked when the filters change. | 515      * Removes the callback invoked when the filters change. | 
| 481      */ | 516      */ | 
| 482     void RemoveFilterChangeCallback(); | 517     void RemoveFilterChangeCallback(); | 
| 483 | 518 | 
| 484     /** | 519     /** | 
| 485      * Stores the value indicating what connection types are allowed, it is | 520      * Stores the value indicating what connection types are allowed, it is | 
| 486      * passed to CreateParameters::isConnectionAllowed callback. | 521      * passed to CreateParameters::isConnectionAllowed callback. | 
| 487      * @param value Stored value. nullptr means removing of any previously | 522      * @param value Stored value. nullptr means removing of any previously | 
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 527     JsEnginePtr jsEngine; | 562     JsEnginePtr jsEngine; | 
| 528     bool firstRun; | 563     bool firstRun; | 
| 529     int updateCheckId; | 564     int updateCheckId; | 
| 530     static const std::map<ContentType, std::string> contentTypes; | 565     static const std::map<ContentType, std::string> contentTypes; | 
| 531 | 566 | 
| 532     explicit FilterEngine(const JsEnginePtr& jsEngine); | 567     explicit FilterEngine(const JsEnginePtr& jsEngine); | 
| 533 | 568 | 
| 534     FilterPtr CheckFilterMatch(const std::string& url, | 569     FilterPtr CheckFilterMatch(const std::string& url, | 
| 535                                ContentTypeMask contentTypeMask, | 570                                ContentTypeMask contentTypeMask, | 
| 536                                const std::string& documentUrl) const; | 571                                const std::string& documentUrl) const; | 
| 537     void UpdateAvailable(UpdateAvailableCallback callback, JsValueList& params); | 572     void FilterChanged(const FilterChangeCallback& callback, JsValueList&& param
     s) const; | 
| 538     void UpdateCheckDone(const std::string& eventName, |  | 
| 539                          UpdateCheckDoneCallback callback, JsValueList& params); |  | 
| 540     void FilterChanged(FilterChangeCallback callback, JsValueList& params); |  | 
| 541     void ShowNotification(const ShowNotificationCallback& callback, |  | 
| 542       const JsValueList& params); |  | 
| 543     FilterPtr GetWhitelistingFilter(const std::string& url, | 573     FilterPtr GetWhitelistingFilter(const std::string& url, | 
| 544       ContentTypeMask contentTypeMask, const std::string& documentUrl) const; | 574       ContentTypeMask contentTypeMask, const std::string& documentUrl) const; | 
| 545     FilterPtr GetWhitelistingFilter(const std::string& url, | 575     FilterPtr GetWhitelistingFilter(const std::string& url, | 
| 546       ContentTypeMask contentTypeMask, | 576       ContentTypeMask contentTypeMask, | 
| 547       const std::vector<std::string>& documentUrls) const; | 577       const std::vector<std::string>& documentUrls) const; | 
| 548   }; | 578   }; | 
| 549 } | 579 } | 
| 550 | 580 | 
| 551 #endif | 581 #endif | 
| OLD | NEW | 
|---|