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

Side by Side Diff: components/safe_browsing/browser/threat_details.h

Issue 2836103002: Componentize safe_browsing: move threat_details* to component. (Closed)
Patch Set: fix spelling and typos Created 3 years, 7 months 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #ifndef CHROME_BROWSER_SAFE_BROWSING_THREAT_DETAILS_H_ 5 #ifndef COMPONENTS_SAFE_BROWSING_BROWSER_THREAT_DETAILS_H_
6 #define CHROME_BROWSER_SAFE_BROWSING_THREAT_DETAILS_H_ 6 #define COMPONENTS_SAFE_BROWSING_BROWSER_THREAT_DETAILS_H_
7 7
8 // A class that encapsulates the detailed threat reports sent when 8 // A class that encapsulates the detailed threat reports sent when
9 // users opt-in to do so from the safe browsing warning page. 9 // users opt-in to do so from the safe browsing warning page.
10 10
11 // An instance of this class is generated when a safe browsing warning page 11 // An instance of this class is generated when a safe browsing warning page
12 // is shown (SafeBrowsingBlockingPage). 12 // is shown (SafeBrowsingBlockingPage).
13 13
14 #include <memory> 14 #include <memory>
15 #include <string> 15 #include <string>
16 #include <unordered_set> 16 #include <unordered_set>
(...skipping 29 matching lines...) Expand all
46 class ThreatDetailsRedirectsCollector; 46 class ThreatDetailsRedirectsCollector;
47 class ThreatDetailsFactory; 47 class ThreatDetailsFactory;
48 48
49 using ResourceMap = 49 using ResourceMap =
50 base::hash_map<std::string, 50 base::hash_map<std::string,
51 std::unique_ptr<ClientSafeBrowsingReportRequest::Resource>>; 51 std::unique_ptr<ClientSafeBrowsingReportRequest::Resource>>;
52 52
53 // Maps a key of an HTML element to its corresponding HTMLElement proto message. 53 // Maps a key of an HTML element to its corresponding HTMLElement proto message.
54 // HTML Element keys have the form "<frame_id>-<node_id>", where |frame_id| is 54 // HTML Element keys have the form "<frame_id>-<node_id>", where |frame_id| is
55 // the FrameTree NodeID of the render frame containing the element, and 55 // the FrameTree NodeID of the render frame containing the element, and
56 // |node_id| is a seqeuntial ID for the element generated by the renderer. 56 // |node_id| is a sequential ID for the element generated by the renderer.
57 using ElementMap = base::hash_map<std::string, std::unique_ptr<HTMLElement>>; 57 using ElementMap = base::hash_map<std::string, std::unique_ptr<HTMLElement>>;
58 58
59 // Maps a URL to some HTML Elements. Used to maintain parent/child relationship 59 // Maps a URL to some HTML Elements. Used to maintain parent/child relationship
60 // for HTML Elements across IFrame boundaries. 60 // for HTML Elements across IFrame boundaries.
61 // The key is the string URL set as the src attribute of an iframe. The value is 61 // The key is the string URL set as the src attribute of an iframe. The value is
62 // the HTMLElement proto that represents the iframe element with that URL. 62 // the HTMLElement proto that represents the iframe element with that URL.
63 // The HTMLElement protos are not owned by this map. 63 // The HTMLElement protos are not owned by this map.
64 using UrlToDomElementMap = base::hash_map<std::string, HTMLElement*>; 64 using UrlToDomElementMap = base::hash_map<std::string, HTMLElement*>;
65 65
66 // Maps a URL to some Element IDs. Used to maintain parent/child relationship 66 // Maps a URL to some Element IDs. Used to maintain parent/child relationship
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 const std::vector<SafeBrowsingHostMsg_ThreatDOMDetails_Node>& params); 166 const std::vector<SafeBrowsingHostMsg_ThreatDOMDetails_Node>& params);
167 167
168 void AddRedirectUrlList(const std::vector<GURL>& urls); 168 void AddRedirectUrlList(const std::vector<GURL>& urls);
169 169
170 // Adds an HTML Element to the DOM structure. 170 // Adds an HTML Element to the DOM structure.
171 // |frame_tree_node_id| is the unique ID of the render frame the element came 171 // |frame_tree_node_id| is the unique ID of the render frame the element came
172 // from. |frame_url| is the URL that the render frame was handling. 172 // from. |frame_url| is the URL that the render frame was handling.
173 // |element_node_id| is a unique ID of the element within the render frame. 173 // |element_node_id| is a unique ID of the element within the render frame.
174 // |tag_name| is the tag of the element. |parent_element_node_id| is the 174 // |tag_name| is the tag of the element. |parent_element_node_id| is the
175 // unique ID of the parent element with the render frame. |attributes| 175 // unique ID of the parent element with the render frame. |attributes|
176 // containes the names and values of the element's attributes.|resource| is 176 // contains the names and values of the element's attributes.|resource| is
177 // set if this element is a resource. 177 // set if this element is a resource.
178 void AddDomElement(const int frame_tree_node_id, 178 void AddDomElement(const int frame_tree_node_id,
179 const std::string& frame_url, 179 const std::string& frame_url,
180 const int element_node_id, 180 const int element_node_id,
181 const std::string& tag_name, 181 const std::string& tag_name,
182 const int parent_element_node_id, 182 const int parent_element_node_id,
183 const std::vector<AttributeNameValue>& attributes, 183 const std::vector<AttributeNameValue>& attributes,
184 const ClientSafeBrowsingReportRequest::Resource* resource); 184 const ClientSafeBrowsingReportRequest::Resource* resource);
185 185
186 scoped_refptr<BaseUIManager> ui_manager_; 186 scoped_refptr<BaseUIManager> ui_manager_;
(...skipping 28 matching lines...) Expand all
215 bool did_proceed_; 215 bool did_proceed_;
216 216
217 // How many times this user has visited this page before. 217 // How many times this user has visited this page before.
218 int num_visits_; 218 int num_visits_;
219 219
220 // Keeps track of whether we have an ambiguous DOM in this report. This can 220 // Keeps track of whether we have an ambiguous DOM in this report. This can
221 // happen when the HTML Elements returned by a render frame can't be 221 // happen when the HTML Elements returned by a render frame can't be
222 // associated with a parent Element in the parent frame. 222 // associated with a parent Element in the parent frame.
223 bool ambiguous_dom_; 223 bool ambiguous_dom_;
224 224
225 // The factory used to instanciate SafeBrowsingBlockingPage objects. 225 // The factory used to instantiate SafeBrowsingBlockingPage objects.
226 // Usefull for tests, so they can provide their own implementation of 226 // Useful for tests, so they can provide their own implementation of
227 // SafeBrowsingBlockingPage. 227 // SafeBrowsingBlockingPage.
228 static ThreatDetailsFactory* factory_; 228 static ThreatDetailsFactory* factory_;
229 229
230 // Used to collect details from the HTTP Cache. 230 // Used to collect details from the HTTP Cache.
231 scoped_refptr<ThreatDetailsCacheCollector> cache_collector_; 231 scoped_refptr<ThreatDetailsCacheCollector> cache_collector_;
232 232
233 // Used to collect redirect urls from the history service 233 // Used to collect redirect urls from the history service
234 scoped_refptr<ThreatDetailsRedirectsCollector> redirects_collector_; 234 scoped_refptr<ThreatDetailsRedirectsCollector> redirects_collector_;
235 235
236 FRIEND_TEST_ALL_PREFIXES(ThreatDetailsTest, HistoryServiceUrls); 236 FRIEND_TEST_ALL_PREFIXES(ThreatDetailsTest, HistoryServiceUrls);
(...skipping 15 matching lines...) Expand all
252 virtual ThreatDetails* CreateThreatDetails( 252 virtual ThreatDetails* CreateThreatDetails(
253 BaseUIManager* ui_manager, 253 BaseUIManager* ui_manager,
254 content::WebContents* web_contents, 254 content::WebContents* web_contents,
255 const security_interstitials::UnsafeResource& unsafe_resource, 255 const security_interstitials::UnsafeResource& unsafe_resource,
256 net::URLRequestContextGetter* request_context_getter, 256 net::URLRequestContextGetter* request_context_getter,
257 history::HistoryService* history_service) = 0; 257 history::HistoryService* history_service) = 0;
258 }; 258 };
259 259
260 } // namespace safe_browsing 260 } // namespace safe_browsing
261 261
262 #endif // CHROME_BROWSER_SAFE_BROWSING_THREAT_DETAILS_H_ 262 #endif // COMPONENTS_SAFE_BROWSING_BROWSER_THREAT_DETAILS_H_
OLDNEW
« no previous file with comments | « components/safe_browsing/browser/DEPS ('k') | components/safe_browsing/browser/threat_details.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698