| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 
| 3  * Copyright (C) 2006-2015 Eyeo GmbH | 3  * Copyright (C) 2006-2015 Eyeo GmbH | 
| 4  * | 4  * | 
| 5  * Adblock Plus is free software: you can redistribute it and/or modify | 5  * Adblock Plus is free software: you can redistribute it and/or modify | 
| 6  * it under the terms of the GNU General Public License version 3 as | 6  * it under the terms of the GNU General Public License version 3 as | 
| 7  * published by the Free Software Foundation. | 7  * published by the Free Software Foundation. | 
| 8  * | 8  * | 
| 9  * Adblock Plus is distributed in the hope that it will be useful, | 9  * Adblock Plus is distributed in the hope that it will be useful, | 
| 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| (...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 372 // ===== CustomSinkStartPolicy ===== | 372 // ===== CustomSinkStartPolicy ===== | 
| 373 | 373 | 
| 374 template <class Protocol, class Sink> | 374 template <class Protocol, class Sink> | 
| 375 inline HRESULT CustomSinkStartPolicy<Protocol, Sink>::OnStart(LPCWSTR szUrl, | 375 inline HRESULT CustomSinkStartPolicy<Protocol, Sink>::OnStart(LPCWSTR szUrl, | 
| 376         IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, | 376         IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, | 
| 377         DWORD grfPI, HANDLE_PTR dwReserved, | 377         DWORD grfPI, HANDLE_PTR dwReserved, | 
| 378         IInternetProtocol* pTargetProtocol) | 378         IInternetProtocol* pTargetProtocol) | 
| 379 { | 379 { | 
| 380         ATLASSERT(pTargetProtocol != 0); | 380         ATLASSERT(pTargetProtocol != 0); | 
| 381 | 381 | 
| 382         bool handled = false; |  | 
| 383         Sink* pSink = GetSink(static_cast<const Protocol*>(this)); | 382         Sink* pSink = GetSink(static_cast<const Protocol*>(this)); | 
| 384         HRESULT hr = pSink->OnStart(szUrl, pOIProtSink, pOIBindInfo, grfPI, | 383         HRESULT hr = pSink->OnStart(szUrl, pOIProtSink, pOIBindInfo, grfPI, | 
| 385 »       »       dwReserved, pTargetProtocol, handled); | 384 »       »       dwReserved, pTargetProtocol); | 
| 386 | 385 | 
| 387         CComPtr<IInternetProtocolSink> spSink; | 386         CComPtr<IInternetProtocolSink> spSink; | 
| 388         CComPtr<IInternetBindInfo> spBindInfo; | 387         CComPtr<IInternetBindInfo> spBindInfo; | 
| 389         if (SUCCEEDED(hr)) | 388         if (SUCCEEDED(hr)) | 
| 390         { | 389         { | 
| 391                 hr = pSink->QueryInterface(IID_IInternetProtocolSink, reinterpre
     t_cast<void**>(&spSink)); | 390                 hr = pSink->QueryInterface(IID_IInternetProtocolSink, reinterpre
     t_cast<void**>(&spSink)); | 
| 392                 ATLASSERT(SUCCEEDED(hr) && spSink != 0); | 391                 ATLASSERT(SUCCEEDED(hr) && spSink != 0); | 
| 393         } | 392         } | 
| 394         if (SUCCEEDED(hr)) | 393         if (SUCCEEDED(hr)) | 
| 395         { | 394         { | 
| 396                 hr = pSink->QueryInterface(IID_IInternetBindInfo, reinterpret_ca
     st<void**>(&spBindInfo)); | 395                 hr = pSink->QueryInterface(IID_IInternetBindInfo, reinterpret_ca
     st<void**>(&spBindInfo)); | 
| 397                 ATLASSERT(SUCCEEDED(hr) && spBindInfo != 0); | 396                 ATLASSERT(SUCCEEDED(hr) && spBindInfo != 0); | 
| 398         } | 397         } | 
| 399 »       if (SUCCEEDED(hr) && !handled) | 398 »       if (SUCCEEDED(hr)) | 
| 400         { | 399         { | 
| 401                 hr = pTargetProtocol->Start(szUrl, spSink, spBindInfo, grfPI, dw
     Reserved); | 400                 hr = pTargetProtocol->Start(szUrl, spSink, spBindInfo, grfPI, dw
     Reserved); | 
| 402         } | 401         } | 
| 403         if (E_ABORT == hr && pSink->m_isCustomResponse) | 402         if (E_ABORT == hr && pSink->m_isCustomResponse) | 
| 404         { | 403         { | 
| 405                 static_cast<Protocol*>(this)->m_shouldSupplyCustomContent = true
     ; | 404                 static_cast<Protocol*>(this)->m_shouldSupplyCustomContent = true
     ; | 
| 406                 pSink->m_spInternetProtocolSink->ReportProgress(BINDSTATUS_MIMET
     YPEAVAILABLE, L"text/html"); | 405                 pSink->m_spInternetProtocolSink->ReportProgress(BINDSTATUS_MIMET
     YPEAVAILABLE, L"text/html"); | 
| 407                 pSink->m_spInternetProtocolSink->ReportData(BSCF_FIRSTDATANOTIFI
     CATION, 0, static_cast<ULONG>(g_blockedByABPPage.size())); | 406                 pSink->m_spInternetProtocolSink->ReportData(BSCF_FIRSTDATANOTIFI
     CATION, 0, static_cast<ULONG>(g_blockedByABPPage.size())); | 
| 408                 return S_OK; | 407                 return S_OK; | 
| 409         } | 408         } | 
| (...skipping 17 matching lines...) Expand all  Loading... | 
| 427 template <class Protocol, class Sink> | 426 template <class Protocol, class Sink> | 
| 428 inline Protocol* CustomSinkStartPolicy<Protocol, Sink>::GetProtocol( | 427 inline Protocol* CustomSinkStartPolicy<Protocol, Sink>::GetProtocol( | 
| 429         const Sink* pSink) | 428         const Sink* pSink) | 
| 430 { | 429 { | 
| 431         return Protocol::ComObjectClass::GetProtocol(pSink); | 430         return Protocol::ComObjectClass::GetProtocol(pSink); | 
| 432 } | 431 } | 
| 433 | 432 | 
| 434 } // end namespace PassthroughAPP | 433 } // end namespace PassthroughAPP | 
| 435 | 434 | 
| 436 #endif // PASSTHROUGHAPP_SINKPOLICY_INL | 435 #endif // PASSTHROUGHAPP_SINKPOLICY_INL | 
| OLD | NEW | 
|---|