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 514 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
525 if (!id.IsEmpty()) | 525 if (!id.IsEmpty()) |
526 { | 526 { |
527 std::pair<TFilterElementHideTagsNamed::const_iterator, TFilterElementHideT agsNamed::const_iterator> idItEnum = | 527 std::pair<TFilterElementHideTagsNamed::const_iterator, TFilterElementHideT agsNamed::const_iterator> idItEnum = |
528 m_elementHideTagsId.equal_range(std::make_pair(tagCString, id)); | 528 m_elementHideTagsId.equal_range(std::make_pair(tagCString, id)); |
529 for (TFilterElementHideTagsNamed::const_iterator idIt = idItEnum.first; id It != idItEnum.second; idIt ++) | 529 for (TFilterElementHideTagsNamed::const_iterator idIt = idItEnum.first; id It != idItEnum.second; idIt ++) |
530 { | 530 { |
531 if (idIt->second.IsMatchFilterElementHide(pEl)) | 531 if (idIt->second.IsMatchFilterElementHide(pEl)) |
532 { | 532 { |
533 #ifdef ENABLE_DEBUG_RESULT | 533 #ifdef ENABLE_DEBUG_RESULT |
534 DEBUG_HIDE_EL(indent + "HideEl::Found (tag/id) filter:" + idIt->second .m_filterText) | 534 DEBUG_HIDE_EL(indent + "HideEl::Found (tag/id) filter:" + idIt->second .m_filterText) |
535 CPluginDebug::DebugResultHiding(tagCString, "id:" + id, idIt->second .m_filterText); | 535 CPluginDebug::DebugResultHiding(tagCString, L"id:" + id, idIt->secon d.m_filterText); |
536 #endif | 536 #endif |
537 return true; | 537 return true; |
538 } | 538 } |
539 } | 539 } |
540 | 540 |
541 // Search general id | 541 // Search general id |
542 idItEnum = m_elementHideTagsId.equal_range(std::make_pair("", id)); | 542 idItEnum = m_elementHideTagsId.equal_range(std::make_pair("", id)); |
543 for (TFilterElementHideTagsNamed::const_iterator idIt = idItEnum.first; id It != idItEnum.second; idIt ++) | 543 for (TFilterElementHideTagsNamed::const_iterator idIt = idItEnum.first; id It != idItEnum.second; idIt ++) |
544 { | 544 { |
545 if (idIt->second.IsMatchFilterElementHide(pEl)) | 545 if (idIt->second.IsMatchFilterElementHide(pEl)) |
546 { | 546 { |
547 #ifdef ENABLE_DEBUG_RESULT | 547 #ifdef ENABLE_DEBUG_RESULT |
548 DEBUG_HIDE_EL(indent + "HideEl::Found (?/id) filter:" + idIt->second.m _filterText) | 548 DEBUG_HIDE_EL(indent + "HideEl::Found (?/id) filter:" + idIt->second.m _filterText) |
549 CPluginDebug::DebugResultHiding(tagCString, "id:" + id, idIt->second .m_filterText); | 549 CPluginDebug::DebugResultHiding(tagCString, L"id:" + id, idIt->secon d.m_filterText); |
550 #endif | 550 #endif |
551 return true; | 551 return true; |
552 } | 552 } |
553 } | 553 } |
554 } | 554 } |
555 | 555 |
556 // Search tag/className filters | 556 // Search tag/className filters |
557 if (!classNames.IsEmpty()) | 557 if (!classNames.IsEmpty()) |
558 { | 558 { |
559 int pos = 0; | 559 int pos = 0; |
560 CString className = classNames.Tokenize(L" \t\n\r", pos); | 560 CString className = classNames.Tokenize(L" \t\n\r", pos); |
561 while (pos >= 0) | 561 while (pos >= 0) |
562 { | 562 { |
563 std::pair<TFilterElementHideTagsNamed::const_iterator, TFilterElementHid eTagsNamed::const_iterator> classItEnum = | 563 std::pair<TFilterElementHideTagsNamed::const_iterator, TFilterElementHid eTagsNamed::const_iterator> classItEnum = |
564 m_elementHideTagsClass.equal_range(std::make_pair(tagCString, classNam e)); | 564 m_elementHideTagsClass.equal_range(std::make_pair(tagCString, classNam e)); |
565 | 565 |
566 for (TFilterElementHideTagsNamed::const_iterator classIt = classItEnum.f irst; classIt != classItEnum.second; ++classIt) | 566 for (TFilterElementHideTagsNamed::const_iterator classIt = classItEnum.f irst; classIt != classItEnum.second; ++classIt) |
567 { | 567 { |
568 if (classIt->second.IsMatchFilterElementHide(pEl)) | 568 if (classIt->second.IsMatchFilterElementHide(pEl)) |
569 { | 569 { |
570 #ifdef ENABLE_DEBUG_RESULT | 570 #ifdef ENABLE_DEBUG_RESULT |
571 DEBUG_HIDE_EL(indent + "HideEl::Found (tag/class) filter:" + classIt ->second.m_filterText) | 571 DEBUG_HIDE_EL(indent + "HideEl::Found (tag/class) filter:" + classIt ->second.m_filterText) |
572 CPluginDebug::DebugResultHiding(tagCString, "class:" + className, classIt->second.m_filterText); | 572 CPluginDebug::DebugResultHiding(tagCString, L"class:" + className, classIt->second.m_filterText); |
573 #endif | 573 #endif |
574 return true; | 574 return true; |
575 } | 575 } |
576 } | 576 } |
577 | 577 |
578 // Search general class name | 578 // Search general class name |
579 classItEnum = m_elementHideTagsClass.equal_range(std::make_pair("", clas sName)); | 579 classItEnum = m_elementHideTagsClass.equal_range(std::make_pair("", clas sName)); |
580 for (TFilterElementHideTagsNamed::const_iterator classIt = classItEnum.f irst; classIt != classItEnum.second; ++ classIt) | 580 for (TFilterElementHideTagsNamed::const_iterator classIt = classItEnum.f irst; classIt != classItEnum.second; ++ classIt) |
581 { | 581 { |
582 if (classIt->second.IsMatchFilterElementHide(pEl)) | 582 if (classIt->second.IsMatchFilterElementHide(pEl)) |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
665 } | 665 } |
666 | 666 |
667 m_elementHideTags.clear(); | 667 m_elementHideTags.clear(); |
668 m_elementHideTagsId.clear(); | 668 m_elementHideTagsId.clear(); |
669 m_elementHideTagsClass.clear(); | 669 m_elementHideTagsClass.clear(); |
670 } | 670 } |
671 } | 671 } |
672 | 672 |
673 bool CPluginFilter::ShouldBlock(const std::wstring& src, int contentType, const std::wstring& domain, bool addDebug) const | 673 bool CPluginFilter::ShouldBlock(const std::wstring& src, int contentType, const std::wstring& domain, bool addDebug) const |
674 { | 674 { |
675 CString srcCString = to_CString(src); | 675 CString srcCString = ToCString(src); |
676 srcCString.Trim(); | |
Oleksandr
2015/01/05 11:55:40
We have TrimString function in shared/Utils.h for
Eric
2015/01/05 16:18:26
Done.
| |
677 std::wstring srcTrimmed = ToWstring(srcCString); | |
676 | 678 |
677 // We should not block the empty string, so all filtering does not make sense | 679 // We should not block the empty string, so all filtering does not make sense |
678 // Therefore we just return | 680 // Therefore we just return |
679 if (srcCString.Trim().IsEmpty()) | 681 if (srcTrimmed.empty()) |
680 { | 682 { |
681 return false; | 683 return false; |
682 } | 684 } |
683 | |
684 CPluginSettings* settings = CPluginSettings::GetInstance(); | 685 CPluginSettings* settings = CPluginSettings::GetInstance(); |
685 | 686 |
686 CString type; | 687 CString type; |
687 if (addDebug) | 688 if (addDebug) |
688 { | 689 { |
689 type = "OTHER"; | 690 type = "OTHER"; |
690 | 691 |
691 std::map<int,CString>::const_iterator it = m_contentMapText.find(contentType ); | 692 std::map<int,CString>::const_iterator it = m_contentMapText.find(contentType ); |
692 if (it != m_contentMapText.end()) | 693 if (it != m_contentMapText.end()) |
693 { | 694 { |
694 type = it->second; | 695 type = it->second; |
695 } | 696 } |
696 } | 697 } |
697 | 698 |
698 CPluginClient* client = CPluginClient::GetInstance(); | 699 CPluginClient* client = CPluginClient::GetInstance(); |
699 if (client->Matches(to_wstring(srcCString), to_wstring(type), domain)) | 700 if (client->Matches(srcTrimmed, to_wstring(type), domain)) |
700 { | 701 { |
701 if (addDebug) | 702 if (addDebug) |
702 { | 703 { |
703 DEBUG_FILTER("Filter::ShouldBlock " + type + " YES") | 704 DEBUG_FILTER("Filter::ShouldBlock " + type + " YES") |
704 | 705 |
705 #ifdef ENABLE_DEBUG_RESULT | 706 #ifdef ENABLE_DEBUG_RESULT |
706 CPluginDebug::DebugResultBlocking(type, srcCString, domain); | 707 CPluginDebug::DebugResultBlocking(type, srcTrimmed, domain); |
707 #endif | 708 #endif |
708 } | 709 } |
709 return true; | 710 return true; |
710 } | 711 } |
711 #ifdef ENABLE_DEBUG_RESULT | 712 #ifdef ENABLE_DEBUG_RESULT |
712 CPluginDebug::DebugResultIgnoring(type, src, domain); | 713 CPluginDebug::DebugResultIgnoring(type, src, domain); |
713 #endif | 714 #endif |
714 return false; | 715 return false; |
715 } | 716 } |
OLD | NEW |