Left: | ||
Right: |
OLD | NEW |
---|---|
1 #include "PluginStdAfx.h" | 1 #include "PluginStdAfx.h" |
2 | 2 |
3 #include "PluginFilter.h" | 3 #include "PluginFilter.h" |
4 #include "PluginSettings.h" | 4 #include "PluginSettings.h" |
5 #include "PluginClient.h" | 5 #include "PluginClient.h" |
6 #include "PluginClientFactory.h" | 6 #include "PluginClientFactory.h" |
7 #include "PluginMutex.h" | 7 #include "PluginMutex.h" |
8 #include "PluginSettings.h" | 8 #include "PluginSettings.h" |
9 #include "PluginSystem.h" | 9 #include "PluginSystem.h" |
10 #include "PluginClass.h" | 10 #include "PluginClass.h" |
(...skipping 628 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
639 CPluginDebug::DebugResultHiding(tagCString, "-", tagIt->second.m_filte rText); | 639 CPluginDebug::DebugResultHiding(tagCString, "-", tagIt->second.m_filte rText); |
640 #endif | 640 #endif |
641 return true; | 641 return true; |
642 } | 642 } |
643 } | 643 } |
644 } | 644 } |
645 | 645 |
646 return false; | 646 return false; |
647 } | 647 } |
648 | 648 |
649 bool CPluginFilter::LoadHideFilters(std::vector<std::wstring> filters) | 649 bool CPluginFilter::LoadHideFilters(const std::vector<std::wstring>& filters) |
650 { | 650 { |
651 ClearFilters(); | 651 ClearFilters(); |
652 m_hideFilters = filters; | |
652 bool isRead = false; | 653 bool isRead = false; |
653 CPluginClient* client = CPluginClient::GetInstance(); | 654 CPluginClient* client = CPluginClient::GetInstance(); |
654 | 655 |
655 // Parse hide string | 656 // Parse hide string |
656 int pos = 0; | 657 int pos = 0; |
657 CriticalSection::Lock filterEngineLock(s_criticalSectionFilterMap); | 658 CriticalSection::Lock filterEngineLock(s_criticalSectionFilterMap); |
658 { | 659 { |
659 for (std::vector<std::wstring>::iterator it = filters.begin(); it < filters. end(); ++it) | 660 for (std::vector<std::wstring>::const_iterator it = filters.begin(); it < fi lters.end(); ++it) |
660 { | 661 { |
661 CString filter((*it).c_str()); | 662 CString filter((*it).c_str()); |
662 // If the line is not commented out | 663 // If the line is not commented out |
663 if (!filter.Trim().IsEmpty() && filter.GetAt(0) != '!' && filter.GetAt(0) != '[') | 664 if (!filter.Trim().IsEmpty() && filter.GetAt(0) != '!' && filter.GetAt(0) != '[') |
664 { | 665 { |
665 int filterType = 0; | 666 int filterType = 0; |
666 | 667 |
667 // See http://adblockplus.org/en/filters for further documentation | 668 // See http://adblockplus.org/en/filters for further documentation |
668 | 669 |
669 try | 670 try |
(...skipping 23 matching lines...) Expand all Loading... | |
693 for (int j = 0; j < 2; j++) | 694 for (int j = 0; j < 2; j++) |
694 { | 695 { |
695 m_filterMap[i][j].clear(); | 696 m_filterMap[i][j].clear(); |
696 } | 697 } |
697 m_filterMapDefault[i].clear(); | 698 m_filterMapDefault[i].clear(); |
698 } | 699 } |
699 | 700 |
700 m_elementHideTags.clear(); | 701 m_elementHideTags.clear(); |
701 m_elementHideTagsId.clear(); | 702 m_elementHideTagsId.clear(); |
702 m_elementHideTagsClass.clear(); | 703 m_elementHideTagsClass.clear(); |
704 m_hideFilters.clear(); | |
703 } | 705 } |
704 } | 706 } |
705 | 707 |
706 bool CPluginFilter::ShouldBlock(const std::wstring& src, int contentType, const std::wstring& domain, bool addDebug) const | 708 bool CPluginFilter::ShouldBlock(const std::wstring& src, int contentType, const std::wstring& domain, bool addDebug) const |
707 { | 709 { |
708 CString srcCString = to_CString(src); | 710 CString srcCString = to_CString(src); |
709 | 711 |
710 // We should not block the empty string, so all filtering does not make sense | 712 // We should not block the empty string, so all filtering does not make sense |
711 // Therefore we just return | 713 // Therefore we just return |
712 if (srcCString.Trim().IsEmpty()) | 714 if (srcCString.Trim().IsEmpty()) |
(...skipping 26 matching lines...) Expand all Loading... | |
739 CPluginDebug::DebugResultBlocking(type, srcCString, domain); | 741 CPluginDebug::DebugResultBlocking(type, srcCString, domain); |
740 #endif | 742 #endif |
741 } | 743 } |
742 return true; | 744 return true; |
743 } | 745 } |
744 #ifdef ENABLE_DEBUG_RESULT | 746 #ifdef ENABLE_DEBUG_RESULT |
745 CPluginDebug::DebugResultIgnoring(type, srcCString, domain); | 747 CPluginDebug::DebugResultIgnoring(type, srcCString, domain); |
746 #endif | 748 #endif |
747 return false; | 749 return false; |
748 } | 750 } |
751 | |
752 const std::vector<std::wstring>& CPluginFilter::getHideFilters() const | |
753 { | |
754 DWORD res = WaitForSingleObject(hideFiltersLoadedEvent, ENGINE_STARTUP_TIMEOUT ); | |
Oleksandr
2015/02/04 20:59:57
It's hard to understand this from the scattered re
sergei
2015/04/13 08:06:58
`hideFiltersLoadedEvent` is not introduced in thes
| |
755 return m_hideFilters; | |
756 } | |
OLD | NEW |