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