OLD | NEW |
1 #pragma once | 1 #pragma once |
2 | 2 |
3 #include <cstddef> | 3 #include <cstddef> |
4 | 4 |
5 #include "Filter.h" | 5 #include "Filter.h" |
6 #include "ElemHideBase.h" | 6 #include "ElemHideBase.h" |
7 | 7 |
8 struct CSSPropertyFilterData | 8 class ElemHideEmulationFilter : public ElemHideBase |
9 { | 9 { |
10 String::size_type mPrefixEnd; | 10 public: |
11 String::size_type mRegexpStart; | 11 explicit ElemHideEmulationFilter(const String& text, |
12 String::size_type mRegexpEnd; | 12 const ElemHideData& data); |
13 String::size_type mSuffixStart; | |
14 | |
15 const DependentString GetSelectorPrefix(const String& text, | |
16 String::size_type selectorStart) const | |
17 { | |
18 return DependentString(text, selectorStart, mPrefixEnd - selectorStart); | |
19 } | |
20 | |
21 const DependentString GetRegExpSource(const String& text) const | |
22 { | |
23 return DependentString(text, mRegexpStart, mRegexpEnd - mRegexpStart); | |
24 } | |
25 | |
26 const DependentString GetSelectorSuffix(const String& text) const | |
27 { | |
28 return DependentString(text, mSuffixStart); | |
29 } | |
30 }; | 13 }; |
31 | |
32 struct ElemHideData : ElemHideBaseData, CSSPropertyFilterData | |
33 { | |
34 }; | |
35 | |
36 class CSSPropertyFilter: public ElemHideBase | |
37 { | |
38 protected: | |
39 CSSPropertyFilterData mPropertyData; | |
40 public: | |
41 explicit CSSPropertyFilter(const String& text, const ElemHideData& data); | |
42 EMSCRIPTEN_KEEPALIVE OwnedString GetRegExpString() const; | |
43 EMSCRIPTEN_KEEPALIVE const DependentString GetSelectorPrefix() const | |
44 { | |
45 return mPropertyData.GetSelectorPrefix(mText, mData.mSelectorStart); | |
46 } | |
47 EMSCRIPTEN_KEEPALIVE const DependentString GetSelectorSuffix() const | |
48 { | |
49 return mPropertyData.GetSelectorSuffix(mText); | |
50 } | |
51 }; | |
OLD | NEW |