Index: compiled/ElemHideBase.cpp |
=================================================================== |
--- a/compiled/ElemHideBase.cpp |
+++ b/compiled/ElemHideBase.cpp |
@@ -1,10 +1,9 @@ |
#include "ElemHideBase.h" |
-#include "CSSPropertyFilter.h" |
#include "StringScanner.h" |
namespace |
{ |
void NormalizeWhitespace(DependentString& text, String::size_type& domainsEnd, |
String::size_type& selectorStart) |
{ |
// For element hiding filters we only want to remove spaces preceding the |
@@ -28,17 +27,17 @@ namespace |
text[pos - delta] = text[pos]; |
} |
selectorStart -= delta; |
text.reset(text, 0, len - delta); |
} |
} |
-ElemHideBase::ElemHideBase(Type type, const String& text, const ElemHideBaseData& data) |
+ElemHideBase::ElemHideBase(Type type, const String& text, const ElemHideData& data) |
: ActiveFilter(type, text, false), mData(data) |
{ |
if (mData.HasDomains()) |
ParseDomains(mData.GetDomainsSource(mText), u','); |
} |
Filter::Type ElemHideBase::Parse(DependentString& text, ElemHideData& data) |
{ |
@@ -100,42 +99,18 @@ Filter::Type ElemHideBase::Parse(Depende |
// We are done validating, now we can normalize whitespace and the domain part |
if (seenSpaces) |
NormalizeWhitespace(text, data.mDomainsEnd, data.mSelectorStart); |
DependentString(text, 0, data.mDomainsEnd).toLower(); |
if (exception) |
return Type::ELEMHIDEEXCEPTION; |
- do |
- { |
- // Is this a CSS property rule maybe? |
- DependentString searchString(u"[-abp-properties="_str); |
- data.mPrefixEnd = text.find(searchString, data.mSelectorStart); |
- if (data.mPrefixEnd == text.npos || |
- data.mPrefixEnd + searchString.length() + 1 >= text.length()) |
- { |
- break; |
- } |
- |
- data.mRegexpStart = data.mPrefixEnd + searchString.length() + 1; |
- char16_t quotation = text[data.mRegexpStart - 1]; |
- if (quotation != u'\'' && quotation != u'"') |
- break; |
- |
- data.mRegexpEnd = text.find(quotation, data.mRegexpStart); |
- if (data.mRegexpEnd == text.npos || data.mRegexpEnd + 1 >= text.length() || |
- text[data.mRegexpEnd + 1] != u']') |
- { |
- break; |
- } |
- |
- data.mSuffixStart = data.mRegexpEnd + 2; |
- return Type::CSSPROPERTY; |
- } while (false); |
+ if (text.find(u"[-abp-properties="_str, data.mSelectorStart) != text.npos) |
sergei
2017/03/24 11:59:26
Nit: issue says "[-abp-properties" but here we use
Wladimir Palant
2017/03/25 18:48:19
Nice catch. Actually, what I wrote in the issue ma
Wladimir Palant
2017/03/27 07:58:00
The conclusion is: I've modified the issue, and we
|
+ return Type::ELEMHIDEEMULATION; |
return Type::ELEMHIDE; |
} |
OwnedString ElemHideBase::GetSelectorDomain() const |
{ |
/* TODO this is inefficient */ |
OwnedString result; |