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/safe_browsing_service.h" | 5 #include "chrome/browser/safe_browsing/safe_browsing_service.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/callback.h" | 9 #include "base/callback.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 1348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1359 AddPrefService(profile->GetPrefs()); | 1359 AddPrefService(profile->GetPrefs()); |
1360 break; | 1360 break; |
1361 } | 1361 } |
1362 case chrome::NOTIFICATION_PROFILE_DESTROYED: { | 1362 case chrome::NOTIFICATION_PROFILE_DESTROYED: { |
1363 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1363 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
1364 Profile* profile = content::Source<Profile>(source).ptr(); | 1364 Profile* profile = content::Source<Profile>(source).ptr(); |
1365 if (!profile->IsOffTheRecord()) | 1365 if (!profile->IsOffTheRecord()) |
1366 RemovePrefService(profile->GetPrefs()); | 1366 RemovePrefService(profile->GetPrefs()); |
1367 break; | 1367 break; |
1368 } | 1368 } |
1369 case chrome::NOTIFICATION_PREF_CHANGED: { | |
1370 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | |
1371 std::string* pref = content::Details<std::string>(details).ptr(); | |
1372 DCHECK(*pref == prefs::kSafeBrowsingEnabled); | |
1373 RefreshState(); | |
1374 break; | |
1375 } | |
1376 default: | 1369 default: |
1377 NOTREACHED(); | 1370 NOTREACHED(); |
1378 } | 1371 } |
1379 } | 1372 } |
1380 | 1373 |
| 1374 void SafeBrowsingService::OnPreferenceChanged(PrefServiceBase* service, |
| 1375 const std::string& pref_name) { |
| 1376 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 1377 DCHECK(pref_name == prefs::kSafeBrowsingEnabled); |
| 1378 RefreshState(); |
| 1379 } |
| 1380 |
1381 bool SafeBrowsingService::IsWhitelisted(const UnsafeResource& resource) { | 1381 bool SafeBrowsingService::IsWhitelisted(const UnsafeResource& resource) { |
1382 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1382 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
1383 // Check if the user has already ignored our warning for this render_view | 1383 // Check if the user has already ignored our warning for this render_view |
1384 // and domain. | 1384 // and domain. |
1385 for (size_t i = 0; i < white_listed_entries_.size(); ++i) { | 1385 for (size_t i = 0; i < white_listed_entries_.size(); ++i) { |
1386 const WhiteListedEntry& entry = white_listed_entries_[i]; | 1386 const WhiteListedEntry& entry = white_listed_entries_[i]; |
1387 if (entry.render_process_host_id == resource.render_process_host_id && | 1387 if (entry.render_process_host_id == resource.render_process_host_id && |
1388 entry.render_view_id == resource.render_view_id && | 1388 entry.render_view_id == resource.render_view_id && |
1389 // Threat type must be the same or in the case of phishing they can | 1389 // Threat type must be the same or in the case of phishing they can |
1390 // either be client-side phishing URL or a SafeBrowsing phishing URL. | 1390 // either be client-side phishing URL or a SafeBrowsing phishing URL. |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1440 Stop(); | 1440 Stop(); |
1441 | 1441 |
1442 if (csd_service_.get()) | 1442 if (csd_service_.get()) |
1443 csd_service_->SetEnabledAndRefreshState(enable); | 1443 csd_service_->SetEnabledAndRefreshState(enable); |
1444 if (download_service_.get()) { | 1444 if (download_service_.get()) { |
1445 download_service_->SetEnabled( | 1445 download_service_->SetEnabled( |
1446 enable && !CommandLine::ForCurrentProcess()->HasSwitch( | 1446 enable && !CommandLine::ForCurrentProcess()->HasSwitch( |
1447 switches::kDisableImprovedDownloadProtection)); | 1447 switches::kDisableImprovedDownloadProtection)); |
1448 } | 1448 } |
1449 } | 1449 } |
OLD | NEW |