| Index: src/plugin/AdblockPlusClient.cpp |
| =================================================================== |
| --- a/src/plugin/AdblockPlusClient.cpp |
| +++ b/src/plugin/AdblockPlusClient.cpp |
| @@ -96,6 +96,20 @@ |
| } |
| return result; |
| } |
| + |
| + Communication::InputBuffer CallAdblockPlusEngineProcedure(Communication::OutputBuffer& message) |
| + { |
| + std::auto_ptr<Communication::Pipe> pipe = OpenAdblockPlusEnginePipe(); |
| + pipe->WriteMessage(message); |
| + return pipe->ReadMessage(); |
| + } |
| + |
| + Communication::InputBuffer CallAdblockPlusEngineProcedure(Communication::ProcType proc) |
| + { |
| + Communication::OutputBuffer message; |
| + message << proc; |
| + return CallAdblockPlusEngineProcedure(message); |
| + } |
| } |
| CAdblockPlusClient* CAdblockPlusClient::s_instance = NULL; |
| @@ -187,19 +201,24 @@ |
| return isHidden; |
| } |
| -bool CAdblockPlusClient::IsUrlWhiteListed(const CString& url) |
| +bool CAdblockPlusClient::IsWhitelistedUrl(const std::string& url) |
|
Wladimir Palant
2013/06/25 18:03:58
I would actually expect to see std::wstring here -
Felix Dahlke
2013/06/26 09:32:55
Yes, that seems to make more sense, since the plug
Wladimir Palant
2013/06/27 05:55:02
Yes, the other methods seem wrong as well. I'm fin
|
| { |
| - bool isWhitelisted = CPluginClientBase::IsUrlWhiteListed(url); |
| - if (isWhitelisted == false && !url.IsEmpty()) |
| + Communication::OutputBuffer request; |
| + request << Communication::PROC_IS_WHITELISTED_URL << url; |
| + |
| + try |
| { |
| - m_criticalSectionFilter.Lock(); |
| - { |
| - isWhitelisted = m_filter.get() && m_filter->ShouldWhiteList(url); |
| - } |
| - m_criticalSectionFilter.Unlock(); |
| + Communication::InputBuffer response = CallAdblockPlusEngineProcedure(request); |
| + |
| + bool isWhitelisted; |
| + response >> isWhitelisted; |
| + return isWhitelisted; |
| } |
| - |
| - return isWhitelisted; |
| + catch (const std::exception& e) |
| + { |
| + DEBUG_GENERAL(e.what()); |
| + return false; |
| + } |
| } |
| int CAdblockPlusClient::GetIEVersion() |
| @@ -223,20 +242,6 @@ |
| return (int)(version[0] - 48); |
| } |
| -Communication::InputBuffer CallAdblockPlusEngineProcedure(Communication::OutputBuffer& message) |
| -{ |
| - std::auto_ptr<Communication::Pipe> pipe = OpenAdblockPlusEnginePipe(); |
| - pipe->WriteMessage(message); |
| - return pipe->ReadMessage(); |
| -} |
| - |
| -Communication::InputBuffer CallAdblockPlusEngineProcedure(Communication::ProcType proc) |
| -{ |
| - Communication::OutputBuffer message; |
| - message << proc; |
| - return CallAdblockPlusEngineProcedure(message); |
| -} |
| - |
| bool CAdblockPlusClient::Matches(const std::string& url, const std::string& contentType, const std::string& domain) |
| { |
| Communication::OutputBuffer request; |