| Index: src/plugin/PluginFilter.cpp |
| =================================================================== |
| --- a/src/plugin/PluginFilter.cpp |
| +++ b/src/plugin/PluginFilter.cpp |
| @@ -504,8 +504,10 @@ |
| return true; |
| } |
| -bool CPluginFilter::IsElementHidden(const CString& tag, IHTMLElement* pEl, const CString& domain, const CString& indent) const |
| +bool CPluginFilter::IsElementHidden(const std::wstring& tag, IHTMLElement* pEl, const std::wstring& domain, const std::wstring& indent) const |
| { |
| + CString tagCString = to_CString(tag); |
| + |
| CString id; |
| CComBSTR bstrId; |
| if (SUCCEEDED(pEl->get_id(&bstrId)) && bstrId) |
| @@ -522,20 +524,20 @@ |
| CriticalSection::Lock filterEngineLock(s_criticalSectionFilterMap); |
| { |
| - CString domainTest = domain; |
| + CString domainTest = to_CString(domain); |
| // Search tag/id filters |
| if (!id.IsEmpty()) |
| { |
| std::pair<TFilterElementHideTagsNamed::const_iterator, TFilterElementHideTagsNamed::const_iterator> idItEnum = |
| - m_elementHideTagsId.equal_range(std::make_pair(tag, id)); |
| + m_elementHideTagsId.equal_range(std::make_pair(tagCString, id)); |
| for (TFilterElementHideTagsNamed::const_iterator idIt = idItEnum.first; idIt != idItEnum.second; idIt ++) |
| { |
| if (idIt->second.IsMatchFilterElementHide(pEl)) |
| { |
| #ifdef ENABLE_DEBUG_RESULT |
| DEBUG_HIDE_EL(indent + "HideEl::Found (tag/id) filter:" + idIt->second.m_filterText) |
| - CPluginDebug::DebugResultHiding(tag, "id:" + id, idIt->second.m_filterText); |
| + CPluginDebug::DebugResultHiding(tagCString, "id:" + id, idIt->second.m_filterText); |
| #endif |
| return true; |
| } |
| @@ -549,7 +551,7 @@ |
| { |
| #ifdef ENABLE_DEBUG_RESULT |
| DEBUG_HIDE_EL(indent + "HideEl::Found (?/id) filter:" + idIt->second.m_filterText) |
| - CPluginDebug::DebugResultHiding(tag, "id:" + id, idIt->second.m_filterText); |
| + CPluginDebug::DebugResultHiding(tagCString, "id:" + id, idIt->second.m_filterText); |
| #endif |
| return true; |
| } |
| @@ -564,7 +566,7 @@ |
| while (pos >= 0) |
| { |
| std::pair<TFilterElementHideTagsNamed::const_iterator, TFilterElementHideTagsNamed::const_iterator> classItEnum = |
| - m_elementHideTagsClass.equal_range(std::make_pair(tag, className)); |
| + m_elementHideTagsClass.equal_range(std::make_pair(tagCString, className)); |
| for (TFilterElementHideTagsNamed::const_iterator classIt = classItEnum.first; classIt != classItEnum.second; ++classIt) |
| { |
| @@ -572,7 +574,7 @@ |
| { |
| #ifdef ENABLE_DEBUG_RESULT |
| DEBUG_HIDE_EL(indent + "HideEl::Found (tag/class) filter:" + classIt->second.m_filterText) |
| - CPluginDebug::DebugResultHiding(tag, "class:" + className, classIt->second.m_filterText); |
| + CPluginDebug::DebugResultHiding(tagCString, "class:" + className, classIt->second.m_filterText); |
| #endif |
| return true; |
| } |
| @@ -586,7 +588,7 @@ |
| { |
| #ifdef ENABLE_DEBUG_RESULT |
| DEBUG_HIDE_EL(indent + "HideEl::Found (?/class) filter:" + classIt->second.m_filterText) |
| - CPluginDebug::DebugResultHiding(tag, "class:" + className, classIt->second.m_filterText); |
| + CPluginDebug::DebugResultHiding(tagCString, "class:" + className, classIt->second.m_filterText); |
| #endif |
| return true; |
| } |
| @@ -599,14 +601,14 @@ |
| // Search tag filters |
| std::pair<TFilterElementHideTags::const_iterator, TFilterElementHideTags::const_iterator> tagItEnum |
| - = m_elementHideTags.equal_range(tag); |
| + = m_elementHideTags.equal_range(tagCString); |
| for (TFilterElementHideTags::const_iterator tagIt = tagItEnum.first; tagIt != tagItEnum.second; ++ tagIt) |
| { |
| if (tagIt->second.IsMatchFilterElementHide(pEl)) |
| { |
| #ifdef ENABLE_DEBUG_RESULT |
| DEBUG_HIDE_EL(indent + "HideEl::Found (tag) filter:" + tagIt->second.m_filterText) |
| - CPluginDebug::DebugResultHiding(tag, "-", tagIt->second.m_filterText); |
| + CPluginDebug::DebugResultHiding(tagCString, "-", tagIt->second.m_filterText); |
| #endif |
| return true; |
| } |
| @@ -679,11 +681,13 @@ |
| } |
| } |
| -bool CPluginFilter::ShouldBlock(CString src, int contentType, const CString& domain, bool addDebug) const |
| +bool CPluginFilter::ShouldBlock(const std::wstring& src, int contentType, const std::wstring& domain, bool addDebug) const |
| { |
| + CString srcCString = to_CString(src); |
| + |
| // We should not block the empty string, so all filtering does not make sense |
| // Therefore we just return |
| - if (src.Trim().IsEmpty()) |
| + if (srcCString.Trim().IsEmpty()) |
| { |
| return false; |
| } |
| @@ -703,14 +707,14 @@ |
| } |
| CPluginClient* client = CPluginClient::GetInstance(); |
| - if (client->Matches(std::wstring(src), std::wstring(type), std::wstring(domain))) |
| + if (client->Matches(to_wstring(srcCString), to_wstring(type), domain)) |
| { |
| if (addDebug) |
| { |
| DEBUG_FILTER("Filter::ShouldBlock " + type + " YES") |
| #ifdef ENABLE_DEBUG_RESULT |
| - CPluginDebug::DebugResultBlocking(type, src, domain); |
| + CPluginDebug::DebugResultBlocking(type, srcCString, to_CString(domain)); |
| #endif |
| } |
| return true; |