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

Side by Side Diff: chrome/browser/safe_browsing/malware_details.h

Issue 9030010: Move most of the remaining users of WebContentsObserver::tab_contents() to use web_contents(). (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 8 years, 12 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 | Annotate | Revision Log
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_MALWARE_DETAILS_H_ 5 #ifndef CHROME_BROWSER_SAFE_BROWSING_MALWARE_DETAILS_H_
6 #define CHROME_BROWSER_SAFE_BROWSING_MALWARE_DETAILS_H_ 6 #define CHROME_BROWSER_SAFE_BROWSING_MALWARE_DETAILS_H_
7 #pragma once 7 #pragma once
8 8
9 // A class that encapsulates the detailed malware reports sent when 9 // A class that encapsulates the detailed malware reports sent when
10 // users opt-in to do so from the malware warning page. 10 // users opt-in to do so from the malware warning page.
(...skipping 26 matching lines...) Expand all
37 std::string, 37 std::string,
38 linked_ptr<safe_browsing::ClientMalwareReportRequest::Resource> > ResourceMap; 38 linked_ptr<safe_browsing::ClientMalwareReportRequest::Resource> > ResourceMap;
39 } 39 }
40 40
41 class MalwareDetails : public base::RefCountedThreadSafe<MalwareDetails>, 41 class MalwareDetails : public base::RefCountedThreadSafe<MalwareDetails>,
42 public content::WebContentsObserver { 42 public content::WebContentsObserver {
43 public: 43 public:
44 // Constructs a new MalwareDetails instance, using the factory. 44 // Constructs a new MalwareDetails instance, using the factory.
45 static MalwareDetails* NewMalwareDetails( 45 static MalwareDetails* NewMalwareDetails(
46 SafeBrowsingService* sb_service, 46 SafeBrowsingService* sb_service,
47 TabContents* tab_contents, 47 content::WebContents* web_contents,
48 const SafeBrowsingService::UnsafeResource& resource); 48 const SafeBrowsingService::UnsafeResource& resource);
49 49
50 // Makes the passed |factory| the factory used to instanciate 50 // Makes the passed |factory| the factory used to instanciate
51 // SafeBrowsingBlockingPage objects. Useful for tests. 51 // SafeBrowsingBlockingPage objects. Useful for tests.
52 static void RegisterFactory(MalwareDetailsFactory* factory) { 52 static void RegisterFactory(MalwareDetailsFactory* factory) {
53 factory_ = factory; 53 factory_ = factory;
54 } 54 }
55 55
56 // The SafeBrowsingBlockingPage calls this from the IO thread when 56 // The SafeBrowsingBlockingPage calls this from the IO thread when
57 // the user is leaving the blocking page and has opted-in to sending 57 // the user is leaving the blocking page and has opted-in to sending
58 // the report. We start the redirection urls collection from history service 58 // the report. We start the redirection urls collection from history service
59 // in UI thread; then do cache collection back in IO thread. 59 // in UI thread; then do cache collection back in IO thread.
60 // When we are done, we send the report. 60 // When we are done, we send the report.
61 void FinishCollection(); 61 void FinishCollection();
62 62
63 void OnCacheCollectionReady(); 63 void OnCacheCollectionReady();
64 64
65 void OnRedirectionCollectionReady(); 65 void OnRedirectionCollectionReady();
66 66
67 // content::WebContentsObserver implementation. 67 // content::WebContentsObserver implementation.
68 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; 68 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
69 69
70 protected: 70 protected:
71 friend class MalwareDetailsFactoryImpl; 71 friend class MalwareDetailsFactoryImpl;
72 72
73 MalwareDetails(SafeBrowsingService* sb_service, 73 MalwareDetails(SafeBrowsingService* sb_service,
74 TabContents* tab_contents, 74 content::WebContents* web_contents,
75 const SafeBrowsingService::UnsafeResource& resource); 75 const SafeBrowsingService::UnsafeResource& resource);
76 76
77 virtual ~MalwareDetails(); 77 virtual ~MalwareDetails();
78 78
79 // Called on the IO thread with the DOM details. 79 // Called on the IO thread with the DOM details.
80 virtual void AddDOMDetails( 80 virtual void AddDOMDetails(
81 const std::vector<SafeBrowsingHostMsg_MalwareDOMDetails_Node>& params); 81 const std::vector<SafeBrowsingHostMsg_MalwareDOMDetails_Node>& params);
82 82
83 Profile* profile_; 83 Profile* profile_;
84 84
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 DISALLOW_COPY_AND_ASSIGN(MalwareDetails); 146 DISALLOW_COPY_AND_ASSIGN(MalwareDetails);
147 }; 147 };
148 148
149 // Factory for creating MalwareDetails. Useful for tests. 149 // Factory for creating MalwareDetails. Useful for tests.
150 class MalwareDetailsFactory { 150 class MalwareDetailsFactory {
151 public: 151 public:
152 virtual ~MalwareDetailsFactory() { } 152 virtual ~MalwareDetailsFactory() { }
153 153
154 virtual MalwareDetails* CreateMalwareDetails( 154 virtual MalwareDetails* CreateMalwareDetails(
155 SafeBrowsingService* sb_service, 155 SafeBrowsingService* sb_service,
156 TabContents* tab_contents, 156 content::WebContents* web_contents,
157 const SafeBrowsingService::UnsafeResource& unsafe_resource) = 0; 157 const SafeBrowsingService::UnsafeResource& unsafe_resource) = 0;
158 }; 158 };
159 159
160 #endif // CHROME_BROWSER_SAFE_BROWSING_MALWARE_DETAILS_H_ 160 #endif // CHROME_BROWSER_SAFE_BROWSING_MALWARE_DETAILS_H_
OLDNEW
« no previous file with comments | « chrome/browser/safe_browsing/client_side_detection_host.cc ('k') | chrome/browser/safe_browsing/malware_details.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698