| Index: compiled/filter/ActiveFilter.h |
| =================================================================== |
| --- a/compiled/filter/ActiveFilter.h |
| +++ b/compiled/filter/ActiveFilter.h |
| @@ -16,36 +16,35 @@ |
| */ |
| #pragma once |
| #include <emscripten.h> |
| #include "Filter.h" |
| #include "../StringMap.h" |
| +#include "../FilterNotifier.h" |
| -#define FILTER_PROPERTY(type, name, getter, setter) \ |
| +#define FILTER_PROPERTY(type, name, topic, getter, setter) \ |
| private:\ |
| type name;\ |
| public:\ |
| type EMSCRIPTEN_KEEPALIVE getter() const\ |
| {\ |
| return name;\ |
| }\ |
| void EMSCRIPTEN_KEEPALIVE setter(type value)\ |
| {\ |
| if (name != value)\ |
| {\ |
| - type oldvalue = name;\ |
| name = value;\ |
| - DependentString action(u"filter."_str #name);\ |
| - EM_ASM_ARGS({\ |
| - var filter = new (exports[Filter_mapping[$2]])($1);\ |
| - FilterNotifier.triggerListeners(readString($0), filter, $3, $4);\ |
| - }, &action, this, mType, value, oldvalue);\ |
| + if (FilterNotifier::Topic::topic != FilterNotifier::Topic::NONE)\ |
| + {\ |
| + FilterNotifier::FilterChange(FilterNotifier::Topic::topic, this);\ |
| + }\ |
| }\ |
| } |
| class ActiveFilter : public Filter |
| { |
| protected: |
| typedef StringMap<bool> DomainMap; |
| typedef StringSet SitekeySet; |
| @@ -54,17 +53,19 @@ protected: |
| virtual DomainMap* GetDomains() const; |
| virtual SitekeySet* GetSitekeys() const; |
| mutable std::unique_ptr<DomainMap> mDomains; |
| mutable std::unique_ptr<SitekeySet> mSitekeys; |
| private: |
| bool mIgnoreTrailingDot; |
| public: |
| explicit ActiveFilter(Type type, const String& text, bool ignoreTrailingDot); |
| - FILTER_PROPERTY(bool, mDisabled, GetDisabled, SetDisabled); |
| - FILTER_PROPERTY(unsigned int, mHitCount, GetHitCount, SetHitCount); |
| - FILTER_PROPERTY(unsigned int, mLastHit, GetLastHit, SetLastHit); |
| + FILTER_PROPERTY(bool, mDisabled, FILTER_DISABLED, GetDisabled, SetDisabled); |
| + FILTER_PROPERTY(unsigned int, mHitCount, FILTER_HITCOUNT, |
| + GetHitCount, SetHitCount); |
| + FILTER_PROPERTY(unsigned int, mLastHit, FILTER_LASTHIT, |
| + GetLastHit, SetLastHit); |
| bool EMSCRIPTEN_KEEPALIVE IsActiveOnDomain(DependentString& docDomain, |
| const String& sitekey) const; |
| bool EMSCRIPTEN_KEEPALIVE IsActiveOnlyOnDomain(DependentString& docDomain) const; |
| bool EMSCRIPTEN_KEEPALIVE IsGeneric() const; |
| OwnedString EMSCRIPTEN_KEEPALIVE Serialize() const; |
| }; |