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-2015 Eyeo GmbH | 3 * Copyright (C) 2006-2015 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 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
292 * structure, e.g. because it is a proxy, it can be approximated | 292 * structure, e.g. because it is a proxy, it can be approximated |
293 * using `ReferrerMapping`. | 293 * using `ReferrerMapping`. |
294 * @return Matching filter, or a `null` if there was no match. | 294 * @return Matching filter, or a `null` if there was no match. |
295 * @throw `std::invalid_argument`, if an invalid `contentType` was supplied. | 295 * @throw `std::invalid_argument`, if an invalid `contentType` was supplied. |
296 */ | 296 */ |
297 FilterPtr Matches(const std::string& url, | 297 FilterPtr Matches(const std::string& url, |
298 ContentType contentType, | 298 ContentType contentType, |
299 const std::vector<std::string>& documentUrls) const; | 299 const std::vector<std::string>& documentUrls) const; |
300 | 300 |
301 /** | 301 /** |
| 302 * Checks if the supplied URL is whitelisted. |
| 303 * @param url URL to match. |
| 304 * @param documentUrls Chain of documents requesting the resource, starting |
| 305 * with the current resource's parent frame, ending with the |
| 306 * top-level frame. |
| 307 * If the application is not capable of identifying the frame |
| 308 * structure, e.g. because it is a proxy, it can be approximated |
| 309 * using `ReferrerMapping`. |
| 310 * @return `true` if the URL is whitelisted. |
| 311 * @throw `std::invalid_argument`, if an invalid `contentType` was supplied. |
| 312 */ |
| 313 bool IsDocumentWhitelisted(const std::string& url, |
| 314 const std::vector<std::string>& documentUrls) const; |
| 315 |
| 316 /** |
| 317 * Checks if the element hiding is whitelisted for the supplied URL. |
| 318 * @param url URL to match. |
| 319 * @param documentUrls Chain of documents requesting the resource, starting |
| 320 * with the current resource's parent frame, ending with the |
| 321 * top-level frame. |
| 322 * If the application is not capable of identifying the frame |
| 323 * structure, e.g. because it is a proxy, it can be approximated |
| 324 * using `ReferrerMapping`. |
| 325 * @return `true` if element hiding is whitelisted for the supplied URL. |
| 326 * @throw `std::invalid_argument`, if an invalid `contentType` was supplied. |
| 327 */ |
| 328 bool IsElemhideWhitelisted(const std::string& url, |
| 329 const std::vector<std::string>& documentUrls) const; |
| 330 |
| 331 /** |
302 * Retrieves CSS selectors for all element hiding filters active on the | 332 * Retrieves CSS selectors for all element hiding filters active on the |
303 * supplied domain. | 333 * supplied domain. |
304 * @param domain Domain to retrieve CSS selectors for. | 334 * @param domain Domain to retrieve CSS selectors for. |
305 * @return List of CSS selectors. | 335 * @return List of CSS selectors. |
306 */ | 336 */ |
307 std::vector<std::string> GetElementHidingSelectors(const std::string& domain
) const; | 337 std::vector<std::string> GetElementHidingSelectors(const std::string& domain
) const; |
308 | 338 |
309 /** | 339 /** |
310 * Retrieves a preference value. | 340 * Retrieves a preference value. |
311 * @param pref Preference name. | 341 * @param pref Preference name. |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
402 void InitDone(JsValueList& params); | 432 void InitDone(JsValueList& params); |
403 FilterPtr CheckFilterMatch(const std::string& url, | 433 FilterPtr CheckFilterMatch(const std::string& url, |
404 ContentType contentType, | 434 ContentType contentType, |
405 const std::string& documentUrl) const; | 435 const std::string& documentUrl) const; |
406 void UpdateAvailable(UpdateAvailableCallback callback, JsValueList& params); | 436 void UpdateAvailable(UpdateAvailableCallback callback, JsValueList& params); |
407 void UpdateCheckDone(const std::string& eventName, | 437 void UpdateCheckDone(const std::string& eventName, |
408 UpdateCheckDoneCallback callback, JsValueList& params); | 438 UpdateCheckDoneCallback callback, JsValueList& params); |
409 void FilterChanged(FilterChangeCallback callback, JsValueList& params); | 439 void FilterChanged(FilterChangeCallback callback, JsValueList& params); |
410 void ShowNotification(const ShowNotificationCallback& callback, | 440 void ShowNotification(const ShowNotificationCallback& callback, |
411 const JsValueList& params); | 441 const JsValueList& params); |
| 442 std::string GetWhitelistingFilter(const std::string& url, |
| 443 const std::string& parent, ContentType contentType) const; |
| 444 std::string GetWhitelistingFilter(const std::string& urlArg, |
| 445 const std::vector<std::string>& documentUrls, |
| 446 ContentType contentType) const; |
412 }; | 447 }; |
413 } | 448 } |
414 | 449 |
415 #endif | 450 #endif |
OLD | NEW |