| Index: src/plugin/PluginWbPassThrough.cpp |
| =================================================================== |
| --- a/src/plugin/PluginWbPassThrough.cpp |
| +++ b/src/plugin/PluginWbPassThrough.cpp |
| @@ -58,14 +58,15 @@ |
| return CFilter::contentTypeAny; |
| } |
| -int WBPassthruSink::GetContentTypeFromURL(const CString& src) |
| +int WBPassthruSink::GetContentTypeFromURL(const std::wstring& src) |
| { |
| - CString srcExt = src; |
| + CString srcLegacy = ToCString(src); |
| + CString srcExt = srcLegacy; |
| int pos = 0; |
| - if ((pos = src.Find('?')) > 0) |
| + if ((pos = srcLegacy.Find('?')) > 0) |
| { |
| - srcExt = src.Left(pos); |
| + srcExt = srcLegacy.Left(pos); |
| } |
| int lastDotIndex = srcExt.ReverseFind('.'); |
| @@ -99,7 +100,7 @@ |
| return CFilter::contentTypeAny; |
| } |
| -int WBPassthruSink::GetContentType(const CString& mimeType, const std::wstring& domain, const CString& src) |
| +int WBPassthruSink::GetContentType(const CString& mimeType, const std::wstring& domain, const std::wstring& src) |
| { |
| // No referer or mime type |
| // BINDSTRING_XDR_ORIGIN works only for IE v8+ |
| @@ -126,9 +127,9 @@ |
| { |
| m_pTargetProtocol = pTargetProtocol; |
| bool isBlocked = false; |
| - CString src = szUrl; |
| - DEBUG_GENERAL(src); |
| - CPluginClient::UnescapeUrl(src); |
| + std::wstring src(szUrl); |
| + DEBUG_GENERAL(ToCString(src)); |
| + UnescapeUrl(src); |
| // call the impl of the base class as soon as possible because it initializes the base class |
| // members, used by this method. It queries for the required interfaces. |
| @@ -175,13 +176,13 @@ |
| if (tab && client) |
| { |
| - CString documentUrl = tab->GetDocumentUrl(); |
| + std::wstring documentUrl = tab->GetDocumentUrl(); |
| // Page is identical to document => don't block |
| if (documentUrl == src) |
| { |
| // fall through |
| } |
| - else if (CPluginSettings::GetInstance()->IsPluginEnabled() && !client->IsWhitelistedUrl(std::wstring(documentUrl))) |
| + else if (CPluginSettings::GetInstance()->IsPluginEnabled() && !client->IsWhitelistedUrl(documentUrl)) |
| { |
| m_boundDomain = tab->GetDocumentUrl(); |
| m_contentType = CFilter::contentTypeAny; |
| @@ -229,7 +230,7 @@ |
| // obtain the "request type" in our terminology. |
| if (nullptr != client |
| && CFilter::EContentType::contentTypeAny != m_contentType |
| - && client->ShouldBlock(static_cast<const wchar_t*>(src), m_contentType, m_boundDomain, true)) |
| + && client->ShouldBlock(src, m_contentType, m_boundDomain, true)) |
| { |
| isBlocked = true; |
| } |