Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Side by Side Diff: chrome/browser/extensions/test_blacklist_state_fetcher.cc

Issue 49253005: Fetch extension blacklist states from SafeBrowsing server (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/extensions/test_blacklist_state_fetcher.h"
6
7 #include "base/stl_util.h"
8
9 namespace extensions {
10 namespace {
11
12 static const char kUrlPrefix[] = "https://prefix.com/foo";
13 static const char kBackupConnectUrlPrefix[] = "https://alt1-prefix.com/foo";
14 static const char kBackupHttpUrlPrefix[] = "https://alt2-prefix.com/foo";
15 static const char kBackupNetworkUrlPrefix[] = "https://alt3-prefix.com/foo";
16 static const char kClient[] = "unittest";
17 static const char kAppVer[] = "1.0";
18
19 SafeBrowsingProtocolConfig CreateSafeBrowsingProtocolConfig() {
20 SafeBrowsingProtocolConfig config;
21 config.client_name = kClient;
22 config.url_prefix = kUrlPrefix;
23 config.backup_connect_error_url_prefix = kBackupConnectUrlPrefix;
24 config.backup_http_error_url_prefix = kBackupHttpUrlPrefix;
25 config.backup_network_error_url_prefix = kBackupNetworkUrlPrefix;
26 config.version = kAppVer;
27 return config;
28 }
29
30 } // namespace
31
32 TestBlacklistStateFetcher::TestBlacklistStateFetcher(
33 BlacklistStateFetcher* fetcher) : fetcher_(fetcher) {
34 fetcher_->SetSafeBrowsingConfig(CreateSafeBrowsingProtocolConfig());
35 }
36
37 TestBlacklistStateFetcher::~TestBlacklistStateFetcher() {
38 }
39
40 void TestBlacklistStateFetcher::SetBlacklistVerdict(
41 const std::string& id, ClientCRXListInfoResponse_Verdict state) {
42 verdicts_[id] = state;
43 }
44
45 bool TestBlacklistStateFetcher::HandleFetcher(int fetcher_id) {
46 net::TestURLFetcher* url_fetcher = url_fetcher_factory_.GetFetcherByID(
47 fetcher_id);
48 if (!url_fetcher)
49 return false;
50
51 const std::string& request_str = url_fetcher->upload_data();
52 ClientCRXListInfoRequest request;
53 if (!request.ParseFromString(request_str))
54 return false;
55
56 std::string id = request.id();
57
58 ClientCRXListInfoResponse response;
59 if (ContainsKey(verdicts_, id))
60 response.set_verdict(verdicts_[id]);
61 else
62 response.set_verdict(ClientCRXListInfoResponse::NOT_IN_BLACKLIST);
63
64 std::string response_str;
65 response.SerializeToString(&response_str);
66
67 url_fetcher->set_status(net::URLRequestStatus());
68 url_fetcher->set_response_code(200);
69 url_fetcher->SetResponseString(response_str);
70 url_fetcher->delegate()->OnURLFetchComplete(url_fetcher);
71
72 return true;
73 }
74
75 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/test_blacklist_state_fetcher.h ('k') | chrome/browser/extensions/unpacked_installer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698