1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// found in the LICENSE file.
4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#ifndef CHROME_BROWSER_SAFE_BROWSING_PATH_SANITIZER_H_
6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#define CHROME_BROWSER_SAFE_BROWSING_PATH_SANITIZER_H_
7116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "base/files/file_path.h"
9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "base/macros.h"
10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
11116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace safe_browsing {
12116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
13116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// A helper class to sanitize any number of file paths by replacing the portion
14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// that represents the current user's home directory with "~".
15116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass PathSanitizer {
16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch public:
17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  PathSanitizer();
18116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
19116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  const base::FilePath& GetHomeDirectory() const;
20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  void StripHomeDirectory(base::FilePath* file_path) const;
22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private:
24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  base::FilePath home_path_;
25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  DISALLOW_COPY_AND_ASSIGN(PathSanitizer);
27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch};
28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}  // namespace safe_browsing
30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#endif  // CHROME_BROWSER_SAFE_BROWSING_PATH_SANITIZER_H_
32