| Index: src/plugin/PluginFilter.cpp |
| =================================================================== |
| --- a/src/plugin/PluginFilter.cpp |
| +++ b/src/plugin/PluginFilter.cpp |
| @@ -1,20 +1,20 @@ |
| -/* |
| - * This file is part of Adblock Plus <https://adblockplus.org/>, |
| - * Copyright (C) 2006-2015 Eyeo GmbH |
| - * |
| - * Adblock Plus is free software: you can redistribute it and/or modify |
| - * it under the terms of the GNU General Public License version 3 as |
| - * published by the Free Software Foundation. |
| - * |
| - * Adblock Plus is distributed in the hope that it will be useful, |
| - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| - * GNU General Public License for more details. |
| - * |
| - * You should have received a copy of the GNU General Public License |
| - * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
| - */ |
| - |
| +/* |
| + * This file is part of Adblock Plus <https://adblockplus.org/>, |
| + * Copyright (C) 2006-2015 Eyeo GmbH |
| + * |
| + * Adblock Plus is free software: you can redistribute it and/or modify |
| + * it under the terms of the GNU General Public License version 3 as |
| + * published by the Free Software Foundation. |
| + * |
| + * Adblock Plus is distributed in the hope that it will be useful, |
| + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| + * GNU General Public License for more details. |
| + * |
| + * You should have received a copy of the GNU General Public License |
| + * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
| + */ |
| + |
| #include "PluginStdAfx.h" |
| #include "PluginFilter.h" |
| @@ -30,7 +30,6 @@ |
| #include "..\shared\CriticalSection.h" |
| #include "..\shared\Utils.h" |
| - |
| // The filters are described at http://adblockplus.org/en/filters |
| static CriticalSection s_criticalSectionFilterMap; |
| @@ -272,7 +271,6 @@ |
| CFilter::CFilter(const CFilter& filter) |
| { |
| - m_contentType = filter.m_contentType; |
| m_filterType = filter.m_filterType; |
| m_isFirstParty = filter.m_isFirstParty; |
| @@ -288,7 +286,8 @@ |
| } |
| -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_isFromStart(false), m_isFromEnd(false), m_hitCount(0) |
| { |
| } |
| @@ -472,18 +471,7 @@ |
| 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(); |
| } |
| @@ -720,7 +708,7 @@ |
| } |
| } |
| -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 |
| { |
| std::wstring srcTrimmed = TrimString(src); |
| @@ -730,35 +718,25 @@ |
| { |
| return false; |
| } |
| + |
| CPluginSettings* settings = CPluginSettings::GetInstance(); |
| - CString type; |
| + CPluginClient* client = CPluginClient::GetInstance(); |
| + bool result = client->Matches(srcTrimmed, 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(AdblockPlus::FilterEngine::ContentTypeToString(contentType)); |
| + if (result) |
| { |
| - type = it->second; |
| + CPluginDebug::DebugResultBlocking(ToCString(type), srcTrimmed, domain); |
| + } |
| + else |
| + { |
| + CPluginDebug::DebugResultIgnoring(ToCString(type), srcTrimmed, domain); |
| } |
| } |
| - |
| - CPluginClient* client = CPluginClient::GetInstance(); |
| - if (client->Matches(srcTrimmed, ToWstring(type), domain)) |
| - { |
| - if (addDebug) |
| - { |
| - DEBUG_FILTER("Filter::ShouldBlock " + type + " YES") |
| - |
| -#ifdef ENABLE_DEBUG_RESULT |
| - CPluginDebug::DebugResultBlocking(type, srcTrimmed, domain); |
| #endif |
| - } |
| - return true; |
| - } |
| -#ifdef ENABLE_DEBUG_RESULT |
| - CPluginDebug::DebugResultIgnoring(type, srcTrimmed, domain); |
| -#endif |
| - return false; |
| + return result; |
| } |