| OLD | NEW |
| 1 #include "PluginStdAfx.h" | 1 #include "PluginStdAfx.h" |
| 2 | 2 |
| 3 #include "PluginWbPassThrough.h" | 3 #include "PluginWbPassThrough.h" |
| 4 #include "PluginClient.h" | 4 #include "PluginClient.h" |
| 5 #include "PluginClientFactory.h" | 5 #include "PluginClientFactory.h" |
| 6 #include "PluginFilter.h" | 6 #include "PluginFilter.h" |
| 7 #include "PluginSettings.h" | 7 #include "PluginSettings.h" |
| 8 #include "PluginClass.h" | 8 #include "PluginClass.h" |
| 9 #include "PluginSystem.h" | 9 #include "PluginSystem.h" |
| 10 #include <WinInet.h> | 10 #include <WinInet.h> |
| (...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 return m_spInternetProtocolSink ? m_spInternetProtocolSink->ReportProgress(ulS
tatusCode, szStatusText) : S_OK; | 356 return m_spInternetProtocolSink ? m_spInternetProtocolSink->ReportProgress(ulS
tatusCode, szStatusText) : S_OK; |
| 357 } | 357 } |
| 358 | 358 |
| 359 STDMETHODIMP WBPassthruSink::ReportResult(/* [in] */ HRESULT hrResult, /* [in] *
/ DWORD dwError, /* [in] */ LPCWSTR szResult) | 359 STDMETHODIMP WBPassthruSink::ReportResult(/* [in] */ HRESULT hrResult, /* [in] *
/ DWORD dwError, /* [in] */ LPCWSTR szResult) |
| 360 { | 360 { |
| 361 if (m_blockedInTransaction) | 361 if (m_blockedInTransaction) |
| 362 { | 362 { |
| 363 // Don't notify the client about aborting of the operation, thus don't call
BaseClass::ReportResult. | 363 // Don't notify the client about aborting of the operation, thus don't call
BaseClass::ReportResult. |
| 364 // Current method is called by the original protocol implementation and we a
re intercepting the | 364 // Current method is called by the original protocol implementation and we a
re intercepting the |
| 365 // call here and eating it, we will call the proper ReportResult later by ou
rself. | 365 // call here and eating it, we will call the proper ReportResult later by ou
rself. |
| 366 return S_OK; | 366 // NOTE: Feeding custom HTML to Flash, instead of original object subrequest |
| 367 // doesn't have much sense. It also can manifest in unwanted result |
| 368 // like video being blocked (See https://issues.adblockplus.org/ticket/1669) |
| 369 // So we report blocked object subrequests as failed, not just empty HTML. |
| 370 if (m_contentType != CFilter::contentTypeObjectSubrequest) |
| 371 { |
| 372 return S_OK; |
| 373 } |
| 367 } | 374 } |
| 368 return BaseClass::ReportResult(hrResult, dwError, szResult); | 375 return BaseClass::ReportResult(hrResult, dwError, szResult); |
| 369 } | 376 } |
| 370 | 377 |
| 371 | 378 |
| 372 WBPassthru::WBPassthru() | 379 WBPassthru::WBPassthru() |
| 373 : m_shouldSupplyCustomContent(false) | 380 : m_shouldSupplyCustomContent(false) |
| 374 { | 381 { |
| 375 } | 382 } |
| 376 | 383 |
| 377 STDMETHODIMP WBPassthru::Start(LPCWSTR szUrl, IInternetProtocolSink *pOIProtSink
, | 384 STDMETHODIMP WBPassthru::Start(LPCWSTR szUrl, IInternetProtocolSink *pOIProtSink
, |
| 378 IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved) | 385 IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved) |
| 379 { | 386 { |
| 380 ATLASSERT(m_spInternetProtocol != 0); | 387 ATLASSERT(m_spInternetProtocol != 0); |
| 381 if (!m_spInternetProtocol) | 388 if (!m_spInternetProtocol) |
| 382 { | 389 { |
| 383 return E_UNEXPECTED; | 390 return E_UNEXPECTED; |
| 384 } | 391 } |
| 385 | 392 |
| 386 return OnStart(szUrl, pOIProtSink, pOIBindInfo, grfPI, dwReserved, m_spInterne
tProtocol); | 393 return OnStart(szUrl, pOIProtSink, pOIBindInfo, grfPI, dwReserved, m_spInterne
tProtocol); |
| 387 } | 394 } |
| 388 | 395 |
| 389 STDMETHODIMP WBPassthru::Read(/* [in, out] */ void *pv,/* [in] */ ULONG cb,/* [o
ut] */ ULONG *pcbRead) | 396 STDMETHODIMP WBPassthru::Read(/* [in, out] */ void *pv,/* [in] */ ULONG cb,/* [o
ut] */ ULONG *pcbRead) |
| 390 { | 397 { |
| 391 WBPassthruSink* pSink = GetSink(); | 398 WBPassthruSink* pSink = GetSink(); |
| 392 return pSink->OnRead(pv, cb, pcbRead); | 399 return pSink->OnRead(pv, cb, pcbRead); |
| 393 } | 400 } |
| OLD | NEW |