| 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 |