| Index: src/plugin/PluginSettings.cpp |
| =================================================================== |
| --- a/src/plugin/PluginSettings.cpp |
| +++ b/src/plugin/PluginSettings.cpp |
| @@ -22,6 +22,14 @@ |
| #include <knownfolders.h> |
| +namespace |
| +{ |
| + std::string CreateDomainWhitelistingFilter(CString domain) |
| + { |
| + return std::string("@@||").append(CW2A(domain)).append("^$document"); |
| + } |
| +} |
| + |
| class TSettings |
| { |
| DWORD processorId; |
| @@ -1270,33 +1278,27 @@ |
| { |
| DEBUG_SETTINGS("SettingsWhitelist::AddWhiteListedDomain domain:" + domain) |
| - bool isNewVersion = false; |
| - bool isForcingUpdateOnStart = false; |
| + RefreshWhitelist(); |
| + if (IsWhiteListedDomain(domain)) |
| + return; |
|
Wladimir Palant
2013/06/17 09:33:56
I think that this code block is unnecessary and me
Felix Dahlke
2013/06/17 11:19:01
Done.
|
| - CPluginSettingsWhitelistLock lock; |
| - if (lock.IsLocked()) |
| - { |
| - ReadWhitelist(false); |
| - |
| - std::string newDomain = CW2A(domain, CP_UTF8); |
| - |
| - //Domain already present? |
| - if (std::find(m_whitelistedDomains.begin(), m_whitelistedDomains.end(), newDomain) != m_whitelistedDomains.end()) |
| - { |
| - return; |
| - } |
| - s_criticalSectionLocal.Lock(); |
| - CPluginClient::GetInstance()->AddFilter(std::string("@@||").append(CW2A(domain)).append("^$document")); |
| - s_criticalSectionLocal.Unlock(); |
| - |
| - } |
| - |
| - if (isForcingUpdateOnStart) |
| - { |
| - ForceConfigurationUpdateOnStart(); |
| - } |
| + s_criticalSectionLocal.Lock(); |
|
Wladimir Palant
2013/06/17 09:33:56
Please remove the pointless critical section use h
Felix Dahlke
2013/06/17 11:19:01
Done.
|
| + CPluginClient::GetInstance()->AddFilter(CreateDomainWhitelistingFilter(domain)); |
| + s_criticalSectionLocal.Unlock(); |
| } |
| +void CPluginSettings::RemoveWhiteListedDomain(const CString& domain) |
| +{ |
| + DEBUG_SETTINGS("SettingsWhitelist::RemoveWhiteListedDomain domain:" + domain) |
| + |
| + RefreshWhitelist(); |
| + if (!IsWhiteListedDomain(domain)) |
| + return; |
|
Wladimir Palant
2013/06/17 09:33:56
I think that this code block is unnecessary and me
Felix Dahlke
2013/06/17 11:19:01
Done.
|
| + |
| + s_criticalSectionLocal.Lock(); |
|
Wladimir Palant
2013/06/17 09:33:56
Please remove the pointless critical section use h
Felix Dahlke
2013/06/17 11:19:01
Done.
|
| + CPluginClient::GetInstance()->RemoveFilter(CreateDomainWhitelistingFilter(domain)); |
| + s_criticalSectionLocal.Unlock(); |
| +} |
| bool CPluginSettings::IsWhiteListedDomain(const CString& domain) const |
| { |