Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: compiled/ElemHideBase.h

Issue 29333474: Issue 4125 - [emscripten] Convert filter classes to C++ (Closed)
Patch Set: Merged filter parsing and normalization Created Feb. 4, 2016, 3:01 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « compiled/CommentFilter.cpp ('k') | compiled/ElemHideBase.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: compiled/ElemHideBase.h
===================================================================
new file mode 100644
--- /dev/null
+++ b/compiled/ElemHideBase.h
@@ -0,0 +1,55 @@
+#ifndef ADBLOCK_PLUS_ELEM_HIDE_BASE_H
+#define ADBLOCK_PLUS_ELEM_HIDE_BASE_H
+
+#include <cstddef>
+
+#include "ActiveFilter.h"
+
+struct ElemHideBaseData
+{
+ String::size_type mDomainsEnd;
+ String::size_type mSelectorStart;
+
+ bool HasDomains() const
+ {
+ return mDomainsEnd != 0;
+ }
+
+ String GetDomainsSource(String& text) const
+ {
+ return String(text, 0, mDomainsEnd);
+ }
+
+ const String GetDomainsSource(const String& text) const
+ {
+ return String(text, 0, mDomainsEnd);
+ }
+
+ String GetSelector(String& text) const
+ {
+ return String(text, mSelectorStart);
+ }
+
+ const String GetSelector(const String& text) const
+ {
+ return String(text, mSelectorStart);
+ }
+};
+
+struct ElemHideData;
+
+class ElemHideBase : public ActiveFilter, protected ElemHideBaseData
+{
+public:
+ ElemHideBase(const String& text, const ElemHideBaseData& data);
+ static Type Parse(String& text, ElemHideData& data);
+
+ EMSCRIPTEN_KEEPALIVE const String GetSelector() const
+ {
+ return ElemHideBaseData::GetSelector(mText);
+ }
+
+ EMSCRIPTEN_KEEPALIVE String GetSelectorDomain() const;
+};
+
+#endif
« no previous file with comments | « compiled/CommentFilter.cpp ('k') | compiled/ElemHideBase.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld