| Left: | ||
| Right: |
| OLD | NEW |
|---|---|
| 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 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 380 { | 380 { |
| 381 CComPtr<IHTMLElement> pDomPredecessor; | 381 CComPtr<IHTMLElement> pDomPredecessor; |
| 382 HRESULT hr = S_FALSE; | 382 HRESULT hr = S_FALSE; |
| 383 switch (m_predecessor->m_type) | 383 switch (m_predecessor->m_type) |
| 384 { | 384 { |
| 385 case ETraverserComplexType::TRAVERSER_TYPE_PARENT: | 385 case ETraverserComplexType::TRAVERSER_TYPE_PARENT: |
| 386 hr = pEl->get_parentElement(&pDomPredecessor); | 386 hr = pEl->get_parentElement(&pDomPredecessor); |
| 387 break; | 387 break; |
| 388 case ETraverserComplexType::TRAVERSER_TYPE_IMMEDIATE: | 388 case ETraverserComplexType::TRAVERSER_TYPE_IMMEDIATE: |
| 389 hr = S_FALSE; | 389 hr = S_FALSE; |
| 390 CComQIPtr<IHTMLDOMNode> pDomNode = pEl; | 390 CComQIPtr<IHTMLDOMNode> pPrevSiblingNode = pEl; |
| 391 if (pDomNode) | 391 if (pPrevSiblingNode) |
| 392 { | 392 { |
| 393 CComPtr<IHTMLDOMNode> pPrevSiblingNode = pDomNode; | |
| 394 long type; | 393 long type; |
| 395 do | 394 do |
| 396 { | 395 { |
| 397 pPrevSiblingNode->get_previousSibling(&pPrevSiblingNode); | 396 IHTMLDOMNode* tmpNode; |
| 397 pPrevSiblingNode->get_previousSibling(&tmpNode); | |
| 398 pPrevSiblingNode.Attach(tmpNode); | |
|
Wladimir Palant
2013/10/08 10:30:38
For reference: this is the only place that needed
| |
| 398 if (pPrevSiblingNode) | 399 if (pPrevSiblingNode) |
| 399 { | 400 { |
| 400 hr = pPrevSiblingNode->get_nodeType(&type); | 401 hr = pPrevSiblingNode->get_nodeType(&type); |
| 401 if (hr != S_OK) | 402 if (hr != S_OK) |
| 402 pPrevSiblingNode = NULL; | 403 pPrevSiblingNode.Release(); |
| 403 } | 404 } |
| 404 } while (pPrevSiblingNode && type != 1); | 405 } while (pPrevSiblingNode && type != 1); |
| 405 | 406 |
| 406 if (pPrevSiblingNode) | 407 if (pPrevSiblingNode) |
| 407 hr = pPrevSiblingNode.QueryInterface(&pDomPredecessor); | 408 hr = pPrevSiblingNode.QueryInterface(&pDomPredecessor); |
| 408 else | 409 else |
| 409 return false; | 410 return false; |
| 410 } | 411 } |
|
Wladimir Palant
2013/10/08 10:30:38
I think that the logic here is still unnecessarily
Felix Dahlke
2013/10/10 08:52:45
Yes, that'd be better.
| |
| 411 break; | 412 break; |
| 412 } | 413 } |
| 413 if (hr != S_OK) | 414 if (hr != S_OK) |
| 414 return false; | 415 return false; |
| 415 return m_predecessor->IsMatchFilterElementHide(pDomPredecessor); | 416 return m_predecessor->IsMatchFilterElementHide(pDomPredecessor); |
| 416 } | 417 } |
| 417 | 418 |
| 418 return true; | 419 return true; |
| 419 } | 420 } |
| 420 | 421 |
| (...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 866 if (pos > 0 && domain.GetLength() + pos == subdomain.GetLength()) | 867 if (pos > 0 && domain.GetLength() + pos == subdomain.GetLength()) |
| 867 { | 868 { |
| 868 if (subdomain.GetAt(pos - 1) == '.') | 869 if (subdomain.GetAt(pos - 1) == '.') |
| 869 { | 870 { |
| 870 return true; | 871 return true; |
| 871 } | 872 } |
| 872 } | 873 } |
| 873 | 874 |
| 874 return false; | 875 return false; |
| 875 } | 876 } |
| OLD | NEW |