OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/safe_browsing/local_database_manager.h" | 5 #include "chrome/browser/safe_browsing/local_database_manager.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 enable_extension_blacklist_(false), | 266 enable_extension_blacklist_(false), |
267 enable_ip_blacklist_(false), | 267 enable_ip_blacklist_(false), |
268 enable_unwanted_software_blacklist_(true), | 268 enable_unwanted_software_blacklist_(true), |
269 update_in_progress_(false), | 269 update_in_progress_(false), |
270 database_update_in_progress_(false), | 270 database_update_in_progress_(false), |
271 closing_database_(false), | 271 closing_database_(false), |
272 check_timeout_(base::TimeDelta::FromMilliseconds(kCheckTimeoutMs)) { | 272 check_timeout_(base::TimeDelta::FromMilliseconds(kCheckTimeoutMs)) { |
273 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 273 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
274 DCHECK(sb_service_.get() != NULL); | 274 DCHECK(sb_service_.get() != NULL); |
275 | 275 |
276 // Android only supports a subset of FULL_SAFE_BROWSING. | |
277 // TODO(shess): This shouldn't be OS-driven <http://crbug.com/394379> | |
278 #if !defined(OS_ANDROID) | |
279 base::CommandLine* cmdline = base::CommandLine::ForCurrentProcess(); | 276 base::CommandLine* cmdline = base::CommandLine::ForCurrentProcess(); |
280 enable_download_protection_ = | 277 enable_download_protection_ = |
281 !cmdline->HasSwitch(switches::kSbDisableDownloadProtection); | 278 !cmdline->HasSwitch(switches::kSbDisableDownloadProtection); |
282 | 279 |
283 // We only download the csd-whitelist if client-side phishing detection is | 280 // We only download the csd-whitelist if client-side phishing detection is |
284 // enabled. | 281 // enabled. |
285 enable_csd_whitelist_ = | 282 enable_csd_whitelist_ = |
286 !cmdline->HasSwitch(switches::kDisableClientSidePhishingDetection); | 283 !cmdline->HasSwitch(switches::kDisableClientSidePhishingDetection); |
287 | 284 |
288 // TODO(noelutz): remove this boolean variable since it should always be true | 285 // TODO(noelutz): remove this boolean variable since it should always be true |
289 // if SafeBrowsing is enabled. Unfortunately, we have no test data for this | 286 // if SafeBrowsing is enabled. Unfortunately, we have no test data for this |
290 // list right now. This means that we need to be able to disable this list | 287 // list right now. This means that we need to be able to disable this list |
291 // for the SafeBrowsing test to pass. | 288 // for the SafeBrowsing test to pass. |
292 enable_download_whitelist_ = enable_csd_whitelist_; | 289 enable_download_whitelist_ = enable_csd_whitelist_; |
293 | 290 |
294 // TODO(kalman): there really shouldn't be a flag for this. | 291 // TODO(kalman): there really shouldn't be a flag for this. |
295 enable_extension_blacklist_ = | 292 enable_extension_blacklist_ = |
296 !cmdline->HasSwitch(switches::kSbDisableExtensionBlacklist); | 293 !cmdline->HasSwitch(switches::kSbDisableExtensionBlacklist); |
297 | 294 |
298 // The client-side IP blacklist feature is tightly integrated with client-side | 295 // The client-side IP blacklist feature is tightly integrated with client-side |
299 // phishing protection for now. | 296 // phishing protection for now. |
300 enable_ip_blacklist_ = enable_csd_whitelist_; | 297 enable_ip_blacklist_ = enable_csd_whitelist_; |
301 #endif | |
302 } | 298 } |
303 | 299 |
304 LocalSafeBrowsingDatabaseManager::~LocalSafeBrowsingDatabaseManager() { | 300 LocalSafeBrowsingDatabaseManager::~LocalSafeBrowsingDatabaseManager() { |
305 // The DCHECK is disabled due to crbug.com/438754. | 301 // The DCHECK is disabled due to crbug.com/438754. |
306 // DCHECK_CURRENTLY_ON(BrowserThread::UI); | 302 // DCHECK_CURRENTLY_ON(BrowserThread::UI); |
307 | 303 |
308 // We should have already been shut down. If we're still enabled, then the | 304 // We should have already been shut down. If we're still enabled, then the |
309 // database isn't going to be closed properly, which could lead to corruption. | 305 // database isn't going to be closed properly, which could lead to corruption. |
310 DCHECK(!enabled_); | 306 DCHECK(!enabled_); |
311 } | 307 } |
(...skipping 864 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1176 check->weak_ptr_factory_->GetWeakPtr(), check)); | 1172 check->weak_ptr_factory_->GetWeakPtr(), check)); |
1177 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( | 1173 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( |
1178 FROM_HERE, base::Bind(&LocalSafeBrowsingDatabaseManager::TimeoutCallback, | 1174 FROM_HERE, base::Bind(&LocalSafeBrowsingDatabaseManager::TimeoutCallback, |
1179 check->weak_ptr_factory_->GetWeakPtr(), check), | 1175 check->weak_ptr_factory_->GetWeakPtr(), check), |
1180 check_timeout_); | 1176 check_timeout_); |
1181 } | 1177 } |
1182 | 1178 |
1183 bool LocalSafeBrowsingDatabaseManager::download_protection_enabled() const { | 1179 bool LocalSafeBrowsingDatabaseManager::download_protection_enabled() const { |
1184 return enable_download_protection_; | 1180 return enable_download_protection_; |
1185 } | 1181 } |
OLD | NEW |