OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/incident_reporting/download_metadata_mana
ger.h" | 5 #include "chrome/browser/safe_browsing/incident_reporting/download_metadata_mana
ger.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 base::FilePath GetMetadataPath() const { | 115 base::FilePath GetMetadataPath() const { |
116 return profile_.GetPath().Append(FILE_PATH_LITERAL("DownloadMetadata")); | 116 return profile_.GetPath().Append(FILE_PATH_LITERAL("DownloadMetadata")); |
117 } | 117 } |
118 | 118 |
119 // Returns a new ClientDownloadRequest for the given download URL. | 119 // Returns a new ClientDownloadRequest for the given download URL. |
120 static scoped_ptr<ClientDownloadRequest> MakeTestRequest(const char* url) { | 120 static scoped_ptr<ClientDownloadRequest> MakeTestRequest(const char* url) { |
121 scoped_ptr<ClientDownloadRequest> request(new ClientDownloadRequest()); | 121 scoped_ptr<ClientDownloadRequest> request(new ClientDownloadRequest()); |
122 request->set_url(url); | 122 request->set_url(url); |
123 request->mutable_digests(); | 123 request->mutable_digests(); |
124 request->set_length(kTestDownloadLength); | 124 request->set_length(kTestDownloadLength); |
125 return request.Pass(); | 125 return request; |
126 } | 126 } |
127 | 127 |
128 // Returns a new DownloadMetdata for the given download id. | 128 // Returns a new DownloadMetdata for the given download id. |
129 static scoped_ptr<DownloadMetadata> GetTestMetadata(uint32_t download_id) { | 129 static scoped_ptr<DownloadMetadata> GetTestMetadata(uint32_t download_id) { |
130 scoped_ptr<DownloadMetadata> metadata(new DownloadMetadata()); | 130 scoped_ptr<DownloadMetadata> metadata(new DownloadMetadata()); |
131 metadata->set_download_id(download_id); | 131 metadata->set_download_id(download_id); |
132 ClientIncidentReport_DownloadDetails* details = | 132 ClientIncidentReport_DownloadDetails* details = |
133 metadata->mutable_download(); | 133 metadata->mutable_download(); |
134 details->set_download_time_msec(kTestDownloadTimeMsec); | 134 details->set_download_time_msec(kTestDownloadTimeMsec); |
135 details->set_allocated_download(MakeTestRequest(kTestUrl).release()); | 135 details->set_allocated_download(MakeTestRequest(kTestUrl).release()); |
136 return metadata.Pass(); | 136 return metadata; |
137 } | 137 } |
138 | 138 |
139 // Writes a test DownloadMetadata file for the given download id to the | 139 // Writes a test DownloadMetadata file for the given download id to the |
140 // test profile directory. | 140 // test profile directory. |
141 void WriteTestMetadataFileForItem(uint32_t download_id) { | 141 void WriteTestMetadataFileForItem(uint32_t download_id) { |
142 std::string data; | 142 std::string data; |
143 ASSERT_TRUE(GetTestMetadata(download_id)->SerializeToString(&data)); | 143 ASSERT_TRUE(GetTestMetadata(download_id)->SerializeToString(&data)); |
144 ASSERT_TRUE(base::WriteFile(GetMetadataPath(), data.data(), data.size())); | 144 ASSERT_TRUE(base::WriteFile(GetMetadataPath(), data.data(), data.size())); |
145 } | 145 } |
146 | 146 |
147 // Writes a test DownloadMetadata file for kTestDownloadId to the test profile | 147 // Writes a test DownloadMetadata file for kTestDownloadId to the test profile |
148 // directory. | 148 // directory. |
149 void WriteTestMetadataFile() { | 149 void WriteTestMetadataFile() { |
150 WriteTestMetadataFileForItem(kTestDownloadId); | 150 WriteTestMetadataFileForItem(kTestDownloadId); |
151 } | 151 } |
152 | 152 |
153 // Returns the DownloadMetadata read from the test profile's directory. | 153 // Returns the DownloadMetadata read from the test profile's directory. |
154 scoped_ptr<DownloadMetadata> ReadTestMetadataFile() const { | 154 scoped_ptr<DownloadMetadata> ReadTestMetadataFile() const { |
155 std::string data; | 155 std::string data; |
156 if (!base::ReadFileToString(GetMetadataPath(), &data)) | 156 if (!base::ReadFileToString(GetMetadataPath(), &data)) |
157 return scoped_ptr<DownloadMetadata>(); | 157 return scoped_ptr<DownloadMetadata>(); |
158 scoped_ptr<DownloadMetadata> result(new DownloadMetadata); | 158 scoped_ptr<DownloadMetadata> result(new DownloadMetadata); |
159 EXPECT_TRUE(result->ParseFromString(data)); | 159 EXPECT_TRUE(result->ParseFromString(data)); |
160 return result.Pass(); | 160 return result; |
161 } | 161 } |
162 | 162 |
163 // Runs all tasks posted to the test thread's message loop. | 163 // Runs all tasks posted to the test thread's message loop. |
164 void RunAllTasks() { base::MessageLoop::current()->RunUntilIdle(); } | 164 void RunAllTasks() { base::MessageLoop::current()->RunUntilIdle(); } |
165 | 165 |
166 // Adds a DownloadManager for the test profile. The DownloadMetadataManager's | 166 // Adds a DownloadManager for the test profile. The DownloadMetadataManager's |
167 // observer is stashed for later use. Only call once per call to | 167 // observer is stashed for later use. Only call once per call to |
168 // ShutdownDownloadManager. | 168 // ShutdownDownloadManager. |
169 void AddDownloadManager() { | 169 void AddDownloadManager() { |
170 ASSERT_EQ(nullptr, dm_observer_); | 170 ASSERT_EQ(nullptr, dm_observer_); |
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
609 // Allow everything to load into steady-state. | 609 // Allow everything to load into steady-state. |
610 RunAllTasks(); | 610 RunAllTasks(); |
611 | 611 |
612 // Open the zero-id item. | 612 // Open the zero-id item. |
613 zero_item_->NotifyObserversDownloadOpened(); | 613 zero_item_->NotifyObserversDownloadOpened(); |
614 | 614 |
615 ShutdownDownloadManager(); | 615 ShutdownDownloadManager(); |
616 } | 616 } |
617 | 617 |
618 } // namespace safe_browsing | 618 } // namespace safe_browsing |
OLD | NEW |