[Content Extensions] Add a way to match a domain but not subdomains
authorachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 26 Jun 2015 00:57:25 +0000 (00:57 +0000)
committerachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 26 Jun 2015 00:57:25 +0000 (00:57 +0000)
commit42637c100d19a6249f7fef44ca7b02472aa37654
tree83f439aeecf8a7e850592f23506f52b4c95ca6cb
parent405649e8d21cea40550aa8ad078affc90c59aa83
[Content Extensions] Add a way to match a domain but not subdomains
https://bugs.webkit.org/show_bug.cgi?id=146241
rdar://problem/21557754

Reviewed by Darin Adler.

Source/WebCore:

This patch makes it possible to have a trigger with an if-domain apply to sub2.sub1.webkit.org
but not sub1.webkit.org by making the domains default to only applying to the domain and not subdomains.
To make a domain apply to a domain and any subdomains, the domain must begin with a '*'.

* contentextensions/CombinedURLFilters.cpp:
(WebCore::ContentExtensions::CombinedURLFilters::addDomain):
(WebCore::ContentExtensions::CombinedURLFilters::addPattern):
Make domains apply only to the exact domain unless there is a * at the beginning,
in which case they apply to the domain and any subdomains.

Tools:

* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F):
Update subdomain test because of changed behavior and add test for new '*' functionality.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185973 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/contentextensions/CombinedURLFilters.cpp
Tools/ChangeLog
Tools/TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp