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 // MalwareDOMDetails iterates over a document's frames and gathers | 5 // MalwareDOMDetails iterates over a document's frames and gathers |
6 // interesting URLs such as those of scripts and frames. When done, it sends | 6 // interesting URLs such as those of scripts and frames. When done, it sends |
7 // them to the MalwareDetails that requested them. | 7 // them to the MalwareDetails that requested them. |
8 | 8 |
9 #ifndef CHROME_RENDERER_SAFE_BROWSING_MALWARE_DOM_DETAILS_H_ | 9 #ifndef CHROME_RENDERER_SAFE_BROWSING_MALWARE_DOM_DETAILS_H_ |
10 #define CHROME_RENDERER_SAFE_BROWSING_MALWARE_DOM_DETAILS_H_ | 10 #define CHROME_RENDERER_SAFE_BROWSING_MALWARE_DOM_DETAILS_H_ |
11 | 11 |
12 #include <vector> | 12 #include <vector> |
13 | 13 |
14 #include "base/basictypes.h" | 14 #include "base/basictypes.h" |
15 #include "base/compiler_specific.h" | 15 #include "base/compiler_specific.h" |
16 #include "content/public/renderer/render_view_observer.h" | 16 #include "content/public/renderer/render_view_observer.h" |
17 | 17 |
18 struct SafeBrowsingHostMsg_MalwareDOMDetails_Node; | 18 struct SafeBrowsingHostMsg_MalwareDOMDetails_Node; |
19 | 19 |
20 namespace safe_browsing { | 20 namespace safe_browsing { |
21 | 21 |
22 // There is one MalwareDOMDetails per RenderView. | 22 // There is one MalwareDOMDetails per RenderView. |
23 class MalwareDOMDetails : public content::RenderViewObserver { | 23 class MalwareDOMDetails : public content::RenderViewObserver { |
24 public: | 24 public: |
25 // An upper limit on the number of nodes we collect. Not const for the test. | 25 // An upper limit on the number of nodes we collect. Not const for the test. |
26 static uint32 kMaxNodes; | 26 static uint32 kMaxNodes; |
27 | 27 |
28 static MalwareDOMDetails* Create(content::RenderView* render_view); | 28 static MalwareDOMDetails* Create(content::RenderView* render_view); |
29 virtual ~MalwareDOMDetails(); | 29 ~MalwareDOMDetails() override; |
30 | 30 |
31 // Begins extracting resource urls for the page currently loaded in | 31 // Begins extracting resource urls for the page currently loaded in |
32 // this object's RenderView. | 32 // this object's RenderView. |
33 // Exposed for testing. | 33 // Exposed for testing. |
34 void ExtractResources( | 34 void ExtractResources( |
35 std::vector<SafeBrowsingHostMsg_MalwareDOMDetails_Node>* resources); | 35 std::vector<SafeBrowsingHostMsg_MalwareDOMDetails_Node>* resources); |
36 | 36 |
37 private: | 37 private: |
38 // Creates a MalwareDOMDetails for the specified RenderView. | 38 // Creates a MalwareDOMDetails for the specified RenderView. |
39 // The MalwareDOMDetails should be destroyed prior to destroying | 39 // The MalwareDOMDetails should be destroyed prior to destroying |
40 // the RenderView. | 40 // the RenderView. |
41 explicit MalwareDOMDetails(content::RenderView* render_view); | 41 explicit MalwareDOMDetails(content::RenderView* render_view); |
42 | 42 |
43 // RenderViewObserver implementation. | 43 // RenderViewObserver implementation. |
44 virtual bool OnMessageReceived(const IPC::Message& message) override; | 44 bool OnMessageReceived(const IPC::Message& message) override; |
45 | 45 |
46 void OnGetMalwareDOMDetails(); | 46 void OnGetMalwareDOMDetails(); |
47 | 47 |
48 DISALLOW_COPY_AND_ASSIGN(MalwareDOMDetails); | 48 DISALLOW_COPY_AND_ASSIGN(MalwareDOMDetails); |
49 }; | 49 }; |
50 | 50 |
51 } // namespace safe_browsing | 51 } // namespace safe_browsing |
52 | 52 |
53 #endif // CHROME_RENDERER_SAFE_BROWSING_MALWARE_DOM_DETAILS_H_ | 53 #endif // CHROME_RENDERER_SAFE_BROWSING_MALWARE_DOM_DETAILS_H_ |
OLD | NEW |