#ifndef CHROME_RENDERER_SAFE_BROWSING_MALWARE_DOM_DETAILS_H_
#define CHROME_RENDERER_SAFE_BROWSING_MALWARE_DOM_DETAILS_H_
#include <vector>
#include "base/basictypes.h"
#include "base/compiler_specific.h"
#include "content/public/renderer/render_view_observer.h"
namespace blink {
class WebElement;
}
struct SafeBrowsingHostMsg_MalwareDOMDetails_Node;
namespace safe_browsing {
class MalwareDOMDetails : public content::RenderViewObserver {
public:
static uint32 kMaxNodes;
static MalwareDOMDetails* Create(content::RenderView* render_view);
virtual ~MalwareDOMDetails();
void ExtractResources(
std::vector<SafeBrowsingHostMsg_MalwareDOMDetails_Node>* resources);
private:
explicit MalwareDOMDetails(content::RenderView* render_view);
virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
void OnGetMalwareDOMDetails();
void HandleElement(
const blink::WebElement& element,
SafeBrowsingHostMsg_MalwareDOMDetails_Node* parent_node,
std::vector<SafeBrowsingHostMsg_MalwareDOMDetails_Node>* resources);
DISALLOW_COPY_AND_ASSIGN(MalwareDOMDetails);
};
}
#endif