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

Unified Diff: src/plugin/PluginFilter.cpp

Issue 5316782940225536: Issue 1557 - Update to the recent libadblockplus to reduce additional updates in the logic later. (Closed)
Patch Set: fix accoring to comments Created Jan. 13, 2015, 12:59 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
Index: src/plugin/PluginFilter.cpp
diff --git a/src/plugin/PluginFilter.cpp b/src/plugin/PluginFilter.cpp
index 7bbd8fa461428d66ae94029091fc359e0b66615c..4f110a3fdabb400ef1cdf38e409233ec067bca5e 100644
--- a/src/plugin/PluginFilter.cpp
+++ b/src/plugin/PluginFilter.cpp
@@ -12,6 +12,7 @@
#include "..\shared\CriticalSection.h"
#include "..\shared\Utils.h"
+#include "..\shared\ContentType.h"
// The filters are described at http://adblockplus.org/en/filters
@@ -271,7 +272,8 @@ CFilter::CFilter(const CFilter& filter)
}
-CFilter::CFilter() : m_isMatchCase(false), m_isFirstParty(false), m_isThirdParty(false), m_contentType(CFilter::contentTypeAny),
+CFilter::CFilter() : m_isMatchCase(false), m_isFirstParty(false),
+ m_isThirdParty(false), m_contentType(AdblockPlus::FilterEngine::ContentType::CONTENT_TYPE_OTHER),
m_isFromStart(false), m_isFromEnd(false), m_hitCount(0)
{
}
@@ -455,18 +457,7 @@ bool CFilterElementHide::IsMatchFilterElementHide(IHTMLElement* pEl) const
CPluginFilter::CPluginFilter(const CString& dataPath) : m_dataPath(dataPath)
{
- m_contentMapText[CFilter::contentTypeDocument] = "DOCUMENT";
- m_contentMapText[CFilter::contentTypeObject] = "OBJECT";
- m_contentMapText[CFilter::contentTypeObjectSubrequest] = "OBJECT_SUBREQUEST";
- m_contentMapText[CFilter::contentTypeImage] = "IMAGE";
- m_contentMapText[CFilter::contentTypeScript] = "SCRIPT";
- m_contentMapText[CFilter::contentTypeOther] = "OTHER";
- m_contentMapText[CFilter::contentTypeUnknown] = "OTHER";
- m_contentMapText[CFilter::contentTypeSubdocument] = "SUBDOCUMENT";
- m_contentMapText[CFilter::contentTypeStyleSheet] = "STYLESHEET";
- m_contentMapText[CFilter::contentTypeXmlHttpRequest] = "XMLHTTPREQUEST";
-
- ClearFilters();
+ ClearFilters();
}
@@ -536,7 +527,7 @@ bool CPluginFilter::AddFilterElementHide(CString filterText)
bool CPluginFilter::IsElementHidden(const std::wstring& tag, IHTMLElement* pEl, const std::wstring& domain, const std::wstring& indent) const
{
- CString tagCString = to_CString(tag);
+ CString tagCString = ToCString(tag);
CString id;
CComBSTR bstrId;
@@ -703,9 +694,9 @@ void CPluginFilter::ClearFilters()
}
}
-bool CPluginFilter::ShouldBlock(const std::wstring& src, int contentType, const std::wstring& domain, bool addDebug) const
+bool CPluginFilter::ShouldBlock(const std::wstring& src, AdblockPlus::FilterEngine::ContentType contentType, const std::wstring& domain, bool addDebug) const
{
- CString srcCString = to_CString(src);
+ CString srcCString = ToCString(src);
// We should not block the empty string, so all filtering does not make sense
// Therefore we just return
@@ -716,33 +707,23 @@ bool CPluginFilter::ShouldBlock(const std::wstring& src, int contentType, const
CPluginSettings* settings = CPluginSettings::GetInstance();
- CString type;
+ CPluginClient* client = CPluginClient::GetInstance();
+ bool result = client->Matches(ToWstring(srcCString), contentType, domain);
+
+#ifdef ENABLE_DEBUG_RESULT
if (addDebug)
{
- type = "OTHER";
-
- std::map<int,CString>::const_iterator it = m_contentMapText.find(contentType);
- if (it != m_contentMapText.end())
+ std::wstring type = ToUtf16String(ContentTypeToString(contentType));
+ if (result)
{
- type = it->second;
+ DEBUG_FILTER("Filter::ShouldBlock " + type + " YES");
+ CPluginDebug::DebugResultBlocking(ToCString(type), srcCString, domain);
}
- }
-
- CPluginClient* client = CPluginClient::GetInstance();
- if (client->Matches(to_wstring(srcCString), to_wstring(type), domain))
- {
- if (addDebug)
+ else
{
- DEBUG_FILTER("Filter::ShouldBlock " + type + " YES")
-
-#ifdef ENABLE_DEBUG_RESULT
- CPluginDebug::DebugResultBlocking(type, srcCString, domain);
-#endif
+ CPluginDebug::DebugResultIgnoring(ToCString(type), srcCString, domain);
}
- return true;
}
-#ifdef ENABLE_DEBUG_RESULT
- CPluginDebug::DebugResultIgnoring(type, srcCString, domain);
#endif
- return false;
+ return result;
}

Powered by Google App Engine
This is Rietveld