Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: src/plugin/PluginFilter.cpp

Issue 5163396739629056: Issue #1234 - Remove CString from ShouldBlock(), IsElementHidden() declarations (Closed)
Patch Set: Created Aug. 7, 2014, 2:20 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 #include "PluginStdAfx.h" 1 #include "PluginStdAfx.h"
2 2
3 #include "PluginFilter.h" 3 #include "PluginFilter.h"
4 4
5 #if (defined PRODUCT_ADBLOCKPLUS) 5 #if (defined PRODUCT_ADBLOCKPLUS)
6 #include "PluginSettings.h" 6 #include "PluginSettings.h"
7 #include "PluginClient.h" 7 #include "PluginClient.h"
8 #include "PluginClientFactory.h" 8 #include "PluginClientFactory.h"
9 #endif 9 #endif
10 10
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 std::pair<CString, CFilterElementHide> pair = std::make_pair(filter->m _tag, *filter); 497 std::pair<CString, CFilterElementHide> pair = std::make_pair(filter->m _tag, *filter);
498 m_elementHideTags.insert(pair); 498 m_elementHideTags.insert(pair);
499 } 499 }
500 } 500 }
501 } while (separatorChar != '\0'); 501 } while (separatorChar != '\0');
502 } 502 }
503 503
504 return true; 504 return true;
505 } 505 }
506 506
507 bool CPluginFilter::IsElementHidden(const CString& tag, IHTMLElement* pEl, const CString& domain, const CString& indent) const 507 bool CPluginFilter::IsElementHidden(const std::wstring& tag_wstring, IHTMLElemen t* pEl, const std::wstring& domain, const std::wstring& indent) const
Felix Dahlke 2014/09/30 13:30:15 Since "CString tag" is temporary and "const std::w
Eric 2014/09/30 17:56:40 I was trying to minimize the number of changed lin
508 { 508 {
509 CString tag = to_CString(tag_wstring);
510
509 CString id; 511 CString id;
510 CComBSTR bstrId; 512 CComBSTR bstrId;
511 if (SUCCEEDED(pEl->get_id(&bstrId)) && bstrId) 513 if (SUCCEEDED(pEl->get_id(&bstrId)) && bstrId)
512 { 514 {
513 id = bstrId; 515 id = bstrId;
514 } 516 }
515 517
516 CString classNames; 518 CString classNames;
517 CComBSTR bstrClassNames; 519 CComBSTR bstrClassNames;
518 if (SUCCEEDED(pEl->get_className(&bstrClassNames)) && bstrClassNames) 520 if (SUCCEEDED(pEl->get_className(&bstrClassNames)) && bstrClassNames)
519 { 521 {
520 classNames = bstrClassNames; 522 classNames = bstrClassNames;
521 } 523 }
522 524
523 CriticalSection::Lock filterEngineLock(s_criticalSectionFilterMap); 525 CriticalSection::Lock filterEngineLock(s_criticalSectionFilterMap);
524 { 526 {
525 CString domainTest = domain; 527 CString domainTest = to_CString(domain);
526 528
527 // Search tag/id filters 529 // Search tag/id filters
528 if (!id.IsEmpty()) 530 if (!id.IsEmpty())
529 { 531 {
530 std::pair<TFilterElementHideTagsNamed::const_iterator, TFilterElementHideT agsNamed::const_iterator> idItEnum = 532 std::pair<TFilterElementHideTagsNamed::const_iterator, TFilterElementHideT agsNamed::const_iterator> idItEnum =
531 m_elementHideTagsId.equal_range(std::make_pair(tag, id)); 533 m_elementHideTagsId.equal_range(std::make_pair(tag, id));
532 for (TFilterElementHideTagsNamed::const_iterator idIt = idItEnum.first; id It != idItEnum.second; idIt ++) 534 for (TFilterElementHideTagsNamed::const_iterator idIt = idItEnum.first; id It != idItEnum.second; idIt ++)
533 { 535 {
534 if (idIt->second.IsMatchFilterElementHide(pEl)) 536 if (idIt->second.IsMatchFilterElementHide(pEl))
535 { 537 {
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
672 } 674 }
673 m_filterMapDefault[i].clear(); 675 m_filterMapDefault[i].clear();
674 } 676 }
675 677
676 m_elementHideTags.clear(); 678 m_elementHideTags.clear();
677 m_elementHideTagsId.clear(); 679 m_elementHideTagsId.clear();
678 m_elementHideTagsClass.clear(); 680 m_elementHideTagsClass.clear();
679 } 681 }
680 } 682 }
681 683
682 bool CPluginFilter::ShouldBlock(CString src, int contentType, const CString& dom ain, bool addDebug) const 684 bool CPluginFilter::ShouldBlock(const std::wstring& src_wstring, int contentType , const std::wstring& domain_wstring, bool addDebug) const
683 { 685 {
686 CString src = to_CString(src_wstring);
687 CString domain = to_CString(domain_wstring);
688
684 // We should not block the empty string, so all filtering does not make sense 689 // We should not block the empty string, so all filtering does not make sense
685 // Therefore we just return 690 // Therefore we just return
686 if (src.Trim().IsEmpty()) 691 if (src.Trim().IsEmpty())
687 { 692 {
688 return false; 693 return false;
689 } 694 }
690 695
691 CPluginSettings* settings = CPluginSettings::GetInstance(); 696 CPluginSettings* settings = CPluginSettings::GetInstance();
692 697
693 CString type; 698 CString type;
(...skipping 16 matching lines...) Expand all
710 DEBUG_FILTER("Filter::ShouldBlock " + type + " YES") 715 DEBUG_FILTER("Filter::ShouldBlock " + type + " YES")
711 716
712 #ifdef ENABLE_DEBUG_RESULT 717 #ifdef ENABLE_DEBUG_RESULT
713 CPluginDebug::DebugResultBlocking(type, src, domain); 718 CPluginDebug::DebugResultBlocking(type, src, domain);
714 #endif 719 #endif
715 } 720 }
716 return true; 721 return true;
717 } 722 }
718 return false; 723 return false;
719 } 724 }
OLDNEW

Powered by Google App Engine
This is Rietveld