Lines Matching refs:check

45 // Records disposition information about the check.  |hit| should be
166 const SafeBrowsingCheck& check) {
167 DCHECK_EQ(check.urls.size(), check.url_results.size());
168 DCHECK_EQ(check.full_hashes.size(), check.full_hash_results.size());
169 if (!check.urls.empty()) {
170 DCHECK(check.full_hashes.empty());
171 switch (check.check_type) {
174 DCHECK_EQ(1u, check.urls.size());
176 check.urls[0], check.url_results[0], check.url_metadata[0]);
179 DCHECK_EQ(check.urls.size(), check.url_results.size());
181 check.urls,
182 *std::max_element(check.url_results.begin(),
183 check.url_results.end()));
188 } else if (!check.full_hashes.empty()) {
189 switch (check.check_type) {
192 for (size_t i = 0; i < check.full_hashes.size(); ++i) {
194 safe_browsing_util::SBFullHashToString(check.full_hashes[i]);
195 if (check.full_hash_results[i] == SB_THREAT_TYPE_EXTENSION)
291 // We need to check the database for url prefix, and later may fetch the url
293 SafeBrowsingCheck* check =
301 check,
303 check));
320 SafeBrowsingCheck* check = new SafeBrowsingCheck(
328 check,
331 check));
437 SafeBrowsingCheck* check = new SafeBrowsingCheck(std::vector<GURL>(1, url),
442 check->need_get_hash = cache_hits.empty();
443 check->prefix_hits.swap(prefix_hits);
444 check->cache_hits.swap(cache_hits);
445 checks_.insert(check);
449 base::Bind(&SafeBrowsingDatabaseManager::OnCheckDone, this, check));
459 // thread calls us back, we'll clean up the check.
465 // check before the database has finished loading.
478 SafeBrowsingCheck* check,
486 // If the service has been shut down, |check| should have been deleted.
487 DCHECK(checks_.find(check) != checks_.end());
491 DCHECK(!check->start.is_null());
493 base::TimeTicks::Now() - check->start);
495 std::vector<SBPrefix> prefixes = check->prefix_hits;
496 OnHandleGetHashResults(check, full_hashes); // 'check' is deleted here.
646 // Flush the database thread. Any in-progress database check results will be
667 SafeBrowsingCheck* check = *it;
668 if (check->client)
669 check->client->OnSafeBrowsingResult(*check);
726 void SafeBrowsingDatabaseManager::OnCheckDone(SafeBrowsingCheck* check) {
732 // If the service has been shut down, |check| should have been deleted.
733 DCHECK(checks_.find(check) != checks_.end());
735 if (check->client && check->need_get_hash) {
744 if (check->prefix_hits.size() == 1) {
745 SBPrefix prefix = check->prefix_hits[0];
749 it->second.push_back(check);
755 requestors.push_back(check);
761 check->start = base::TimeTicks::Now();
764 bool is_download = check->check_type == safe_browsing_util::BINURL;
766 check->prefix_hits,
769 check),
774 bool is_threat = HandleOneCheck(check, check->cache_hits);
828 // below will add the check back to the queue, and we'll infinite-loop.
831 QueuedCheck check = queued_checks_.front();
832 DCHECK(!check.start.is_null());
834 base::TimeTicks::Now() - check.start);
838 if (check.client && CheckBrowseUrl(check.url, check.client)) {
839 SafeBrowsingCheck sb_check(std::vector<GURL>(1, check.url),
841 check.client,
842 check.check_type,
843 check.expected_threats);
844 check.client->OnSafeBrowsingResult(sb_check);
910 SafeBrowsingCheck* check,
913 safe_browsing_util::ListType check_type = check->check_type;
914 SBPrefix prefix = check->prefix_hits[0];
916 if (check->prefix_hits.size() > 1 || it == gethash_requests_.end()) {
917 const bool hit = HandleOneCheck(check, full_hashes);
936 SafeBrowsingCheck* check,
939 DCHECK(check);
954 for (size_t i = 0; i < check->urls.size(); ++i) {
957 GetUrlThreatType(check->urls[i], full_hashes, &threat_index);
959 IsExpectedThreat(threat, check->expected_threats)) {
960 check->url_results[i] = threat;
961 check->url_metadata[i] = full_hashes[threat_index].metadata;
966 for (size_t i = 0; i < check->full_hashes.size(); ++i) {
967 SBThreatType threat = GetHashThreatType(check->full_hashes[i], full_hashes);
969 IsExpectedThreat(threat, check->expected_threats)) {
970 check->full_hash_results[i] = threat;
975 SafeBrowsingCheckDone(check);
980 SafeBrowsingCheck* check) {
987 if (!database_->ContainsDownloadUrl(check->urls, &prefix_hits)) {
992 check));
996 check->need_get_hash = true;
997 check->prefix_hits.clear();
998 check->prefix_hits = prefix_hits;
1001 base::Bind(&SafeBrowsingDatabaseManager::OnCheckDone, this, check));
1005 SafeBrowsingCheck* check) {
1010 for (std::vector<SBFullHash>::iterator it = check->full_hashes.begin();
1011 it != check->full_hashes.end(); ++it) {
1014 database_->ContainsExtensionPrefixes(prefixes, &check->prefix_hits);
1016 if (check->prefix_hits.empty()) {
1022 check));
1025 check->need_get_hash = true;
1029 base::Bind(&SafeBrowsingDatabaseManager::OnCheckDone, this, check));
1033 void SafeBrowsingDatabaseManager::TimeoutCallback(SafeBrowsingCheck* check) {
1035 DCHECK(check);
1040 DCHECK(checks_.find(check) != checks_.end());
1041 if (check->client) {
1042 check->client->OnSafeBrowsingResult(*check);
1043 check->client = NULL;
1048 SafeBrowsingCheck* check) {
1050 SafeBrowsingCheckDone(check);
1054 SafeBrowsingCheck* check) {
1056 DCHECK(check);
1062 DCHECK(checks_.find(check) != checks_.end());
1063 if (check->client)
1064 check->client->OnSafeBrowsingResult(*check);
1065 checks_.erase(check);
1066 delete check;
1070 SafeBrowsingCheck* check,
1073 check->timeout_factory_.reset(
1075 checks_.insert(check);
1081 check->timeout_factory_->GetWeakPtr(), check),