| Left: | ||
| Right: |
| LEFT | RIGHT |
|---|---|
| 1 #include "PluginStdAfx.h" | 1 #include "PluginStdAfx.h" |
| 2 | 2 |
| 3 #include "PluginFilter.h" | 3 #include "PluginFilter.h" |
| 4 | 4 |
| 5 #include "COM_Value.h" | 5 #include "COM_Value.h" |
| 6 #if (defined PRODUCT_ADBLOCKPLUS) | 6 #if (defined PRODUCT_ADBLOCKPLUS) |
| 7 #include "PluginSettings.h" | 7 #include "PluginSettings.h" |
| 8 #include "PluginClient.h" | 8 #include "PluginClient.h" |
| 9 #include "PluginClientFactory.h" | 9 #include "PluginClientFactory.h" |
| 10 #endif | 10 #endif |
| 11 | 11 |
| 12 #include "PluginMutex.h" | 12 #include "PluginMutex.h" |
| 13 #include "PluginSettings.h" | 13 #include "PluginSettings.h" |
| 14 #include "PluginSystem.h" | 14 #include "PluginSystem.h" |
| 15 #include "PluginClass.h" | 15 #include "PluginClass.h" |
| 16 #include "mlang.h" | 16 #include "mlang.h" |
| 17 | 17 |
| 18 #include "..\shared\CriticalSection.h" | 18 #include "..\shared\CriticalSection.h" |
| 19 | 19 |
| 20 // The filters are described at http://adblockplus.org/en/filters | 20 // The filters are described at http://adblockplus.org/en/filters |
| 21 | 21 |
| 22 static CriticalSection s_criticalSectionFilterMap; | 22 static CriticalSection s_criticalSectionFilterMap; |
| 23 | 23 |
| 24 // ============================================================================ | 24 // ============================================================================ |
| 25 // CFilterElementHideAttrSelector | 25 // CFilterElementHideAttrSelector |
| 26 // ============================================================================ | 26 // ============================================================================ |
| 27 | 27 |
| 28 CFilterElementHideAttrSelector::CFilterElementHideAttrSelector() : m_type(TYPE_N ONE), m_pos(POS_NONE), m_attr(L"") | 28 CFilterElementHideAttrSelector::CFilterElementHideAttrSelector() : m_type(TYPE_N ONE), m_pos(POS_NONE) |
|
sergei
2014/07/28 09:18:26
CString should have a default constructor, just re
Eric
2014/07/29 16:59:27
Done.
| |
| 29 { | 29 { |
| 30 } | 30 } |
| 31 | 31 |
| 32 CFilterElementHideAttrSelector::CFilterElementHideAttrSelector(const CFilterElem entHideAttrSelector& filter) | 32 CFilterElementHideAttrSelector::CFilterElementHideAttrSelector(const CFilterElem entHideAttrSelector& filter) |
| 33 { | 33 { |
| 34 m_type = filter.m_type; | 34 m_type = filter.m_type; |
| 35 m_pos = filter.m_pos; | 35 m_pos = filter.m_pos; |
| 36 m_attr = filter.m_attr; | 36 m_attr = filter.m_attr; |
| 37 | 37 |
| 38 m_value = filter.m_value; | 38 m_value = filter.m_value; |
| (...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 517 bool CPluginFilter::IsElementHidden(const CString& tag, IHTMLElement* pEl, const CString& domain, const CString& indent) const | 517 bool CPluginFilter::IsElementHidden(const CString& tag, IHTMLElement* pEl, const CString& domain, const CString& indent) const |
| 518 { | 518 { |
| 519 CString id; | 519 CString id; |
| 520 AdblockPlus::COM::BSTR_Argument result; | 520 AdblockPlus::COM::BSTR_Argument result; |
| 521 if (SUCCEEDED(pEl->get_id(&result))) | 521 if (SUCCEEDED(pEl->get_id(&result))) |
| 522 { | 522 { |
| 523 id = to_CString(result); | 523 id = to_CString(result); |
| 524 } | 524 } |
| 525 | 525 |
| 526 CString classNames; | 526 CString classNames; |
| 527 // reuse of 'result' is not an error, since address-of operator permits it | 527 // reuse of 'result' is not an error, since address-of operator permits it |
|
sergei
2014/07/28 09:18:26
It's too specific and requires additional comment
Eric
2014/07/29 16:59:27
It will also disappear by itself, since these are
sergei
2014/07/30 10:10:54
Sorry, not clear.
Eric
2014/07/30 14:14:42
What is your question?
| |
| 528 if (SUCCEEDED(pEl->get_className(&result))) | 528 if (SUCCEEDED(pEl->get_className(&result))) |
| 529 { | 529 { |
| 530 classNames = to_CString(result); | 530 classNames = to_CString(result); |
| 531 } | 531 } |
| 532 | 532 |
| 533 CriticalSection::Lock filterEngineLock(s_criticalSectionFilterMap); | 533 CriticalSection::Lock filterEngineLock(s_criticalSectionFilterMap); |
| 534 { | 534 { |
| 535 CString domainTest = domain; | 535 CString domainTest = domain; |
| 536 | 536 |
| 537 // Search tag/id filters | 537 // Search tag/id filters |
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 720 DEBUG_FILTER("Filter::ShouldBlock " + type + " YES") | 720 DEBUG_FILTER("Filter::ShouldBlock " + type + " YES") |
| 721 | 721 |
| 722 #ifdef ENABLE_DEBUG_RESULT | 722 #ifdef ENABLE_DEBUG_RESULT |
| 723 CPluginDebug::DebugResultBlocking(type, src, domain); | 723 CPluginDebug::DebugResultBlocking(type, src, domain); |
| 724 #endif | 724 #endif |
| 725 } | 725 } |
| 726 return true; | 726 return true; |
| 727 } | 727 } |
| 728 return false; | 728 return false; |
| 729 } | 729 } |
| LEFT | RIGHT |