| 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; | 
| } | 
|  |