summaryrefslogtreecommitdiffstats
path: root/base/file_util.h
Commit message (Collapse)AuthorAgeFilesLines
* Adaptively use temp dir instead of /dev/shm for executable shmem file on Linuxmcgrathr@chromium.org2011-12-061-2/+5
| | | | | | | | | | | | | | | | | On some Linux systems, files from /dev/shm cannot have PROT_EXEC applied to their mappings. This depends on picayune setup details that vary between distributions and kernels and could vary between installations. So just use an empirical test of whether it works or not, and fall back to using generic temporary space instead of /dev/shm for the executable case if needed. BUG= http://code.google.com/p/chromium/issues/detail?id=103377 TEST= SharedMemory.AnonymousExecutable with /dev/shm mounted noexec R=mark@chromium.org Review URL: http://codereview.chromium.org/8800025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113228 0039d316-1c4b-4281-b951-d872f2087c98
* Replace most LOG/CHECK statements with DLOG/DCHECK statements in base.brettw@chromium.org2011-10-261-1/+1
| | | | | | | | | | | [ Reland of 107042 http://codereview.chromium.org/8368009 ] I tried hard not to change CHECKs that had side effects. I kept fatal checks that seemed security or debugging-info (in crash reports) sensitive, and ones that seems particularly well-conceived. Review URL: http://codereview.chromium.org/8341026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107434 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 107042 - Replace most LOG/CHECK statements with DLOG/DCHECK ↵brettw@chromium.org2011-10-251-1/+1
| | | | | | | | | | | | | | statements in base. I tried hard not to change CHECKs that had side effects. I kept fatal checks that seemed security or debugging-info (in crash reports) sensitive, and ones that seems particularly well-conceived. Review URL: http://codereview.chromium.org/8368009 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/8351025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107051 0039d316-1c4b-4281-b951-d872f2087c98
* Replace most LOG/CHECK statements with DLOG/DCHECK statements in base.brettw@chromium.org2011-10-251-1/+1
| | | | | | | | | I tried hard not to change CHECKs that had side effects. I kept fatal checks that seemed security or debugging-info (in crash reports) sensitive, and ones that seems particularly well-conceived. Review URL: http://codereview.chromium.org/8368009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107042 0039d316-1c4b-4281-b951-d872f2087c98
* Update write checks for external extension file on mac.skerner@chromium.org2011-10-171-3/+7
| | | | | | | | | | BUG=100565 TEST=VerifyPathControlledByUserTest.* Review URL: http://codereview.chromium.org/8318011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105923 0039d316-1c4b-4281-b951-d872f2087c98
* Fix line endings in base/file_util.h.grt@chromium.org2011-10-141-633/+633
| | | | | | | | | | BUG=none TEST=none TBR=skerner@chromium.org Review URL: http://codereview.chromium.org/8302010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105569 0039d316-1c4b-4281-b951-d872f2087c98
* Add external extensions json source in proper mac location.skerner@google.com2011-09-221-0/+26
| | | | | | | | | | | The old path will be deprecated once developers have migrated. BUG=67203 TEST=FileUtilTest.IsPathControledByAdmin Review URL: http://codereview.chromium.org/7718021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102274 0039d316-1c4b-4281-b951-d872f2087c98
* Make BaseFile member functions return net::Error's.ahendrickson@chromium.org2011-09-041-613/+607
| | | | | | | | | | | | | | | | | | Moving towards giving the user feedback when a file system error occurs during a download. Split from CL 7134019. rdsmith: downloads phajdan.jr: downloads, base wtc: net brettw: base BUG=None TEST=None Review URL: http://codereview.chromium.org/7778003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99579 0039d316-1c4b-4281-b951-d872f2087c98
* Move test utilities into test_file_util.*.ahendrickson@chromium.org2011-09-021-55/+0
| | | | | | | | | | | | | Split from CL 7134019. brettw: base. BUG=None TEST=None Review URL: http://codereview.chromium.org/7740081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99416 0039d316-1c4b-4281-b951-d872f2087c98
* base: Rename FileEnumerator::FILE_TYPE to FileEnumerator::FileType.tfarina@chromium.org2011-08-151-4/+4
| | | | | | | | | | | | | | enum types should be named using CamelCase as class and function names, not using MACRO_STYLE. BUG=None TEST=None R=evan@chromium.org Review URL: http://codereview.chromium.org/7618037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96766 0039d316-1c4b-4281-b951-d872f2087c98
* Rename BASE_API to BASE_EXPORT.darin@chromium.org2011-08-051-101/+103
| | | | | | | R=rvargas Review URL: http://codereview.chromium.org/7461141 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95618 0039d316-1c4b-4281-b951-d872f2087c98
* Adding FileUtilProxy::Entry::{size,last_modified_time},tzik@chromium.org2011-07-191-0/+2
| | | | | | | | | | | | and FileEnumerator::{GetFilesize,GetLastModifiedTime}. BUG=89134 TEST=None Review URL: http://codereview.chromium.org/7355013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92975 0039d316-1c4b-4281-b951-d872f2087c98
* Adding missing inclusionstzik@chromium.org2011-06-181-0/+1
| | | | | | | | | | BUG=None TEST='LoggingTest.*,FileUtilTest.*,PlatformFile.*,StringNumberConversionsTest.*,Time,TimeTicks,TimeDelta' Review URL: http://codereview.chromium.org/7108033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89595 0039d316-1c4b-4281-b951-d872f2087c98
* Disallow links from being seen by the extensions via the fileapi.rkc@chromium.org2011-05-311-0/+3
| | | | | | | | | | | | This change is more of a hack at the moment, ideally we need to refactor file_util (and maybe a bit of file_path) to provide better ways to handle symlinks. This fix prevents exploits reading arbitary files either through handled extension calls or our component extension. BUG=chromium-os:15826 TEST=Verified that links do not show up when reading a directory in the file browser UI. Tests that specifically check for this will follow in subsequent checkins. Review URL: http://codereview.chromium.org/7085005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87389 0039d316-1c4b-4281-b951-d872f2087c98
* linux: components buildevan@chromium.org2011-05-021-3/+3
| | | | | | | | Reapply r83630, r83629, r83583, and fix the one compile error. TBR=rvargas git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83740 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 83629 - linux components: expose more BASE_API used by Chrome itselfmaf@chromium.org2011-04-301-3/+3
| | | | | | | | | Review URL: http://codereview.chromium.org/6902177 TBR=evan@chromium.org Review URL: http://codereview.chromium.org/6903159 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83635 0039d316-1c4b-4281-b951-d872f2087c98
* linux components: expose more BASE_API used by Chrome itselfevan@chromium.org2011-04-291-3/+3
| | | | | | Review URL: http://codereview.chromium.org/6902177 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83629 0039d316-1c4b-4281-b951-d872f2087c98
* linux: components support for base/evan@chromium.org2011-04-291-3/+4
| | | | | | | | This builds base_unittests using libbase as a component. Review URL: http://codereview.chromium.org/6904109 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83583 0039d316-1c4b-4281-b951-d872f2087c98
* Move some files from base to base/memory.levin@chromium.org2011-03-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | raw_scoped_refptr_mismatch_checker.h ref_counted.cc ref_counted.h ref_counted_memory.cc ref_counted_memory.h ref_counted_unittest.cc scoped_callback_factory.h scoped_comptr_win.h scoped_handle.h scoped_native_library.cc scoped_native_library.h scoped_native_library_unittest.cc scoped_nsobject.h scoped_open_process.h scoped_ptr.h scoped_ptr_unittest.cc scoped_temp_dir.cc scoped_temp_dir.h scoped_temp_dir_unittest.cc scoped_vector.h singleton.h singleton_objc.h singleton_unittest.cc linked_ptr.h linked_ptr_unittest.cc weak_ptr.cc weak_ptr.h weak_ptr_unittest.cc BUG=None TEST=Compile Review URL: http://codereview.chromium.org/6714032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79524 0039d316-1c4b-4281-b951-d872f2087c98
* Base: A few more files using BASE_API (for base.dll)rvargas@google.com2011-03-251-80/+95
| | | | | | | | BUG=76996 TEST=none Review URL: http://codereview.chromium.org/6733031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79426 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for the cgroups config we have in chromeosdavemoore@chromium.org2011-03-241-0/+1
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/6713089 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79308 0039d316-1c4b-4281-b951-d872f2087c98
* While enumerating plugins under the MozillaPlugins registry key, we should ↵ananta@chromium.org2011-03-041-1/+11
| | | | | | | | | | | | | | | | | | ignore 64 bit plugins. We validate whether a plugin is a 32 bit dll by reading its PE image. This fixes bug http://code.google.com/p/chromium/issues/detail?id=73032 Added support for the win32 version of the MemoryMappedFile helper class in base to map a file as an image section. BUG=73032 TEST=As described in the bug at this point. Review URL: http://codereview.chromium.org/6611028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76934 0039d316-1c4b-4281-b951-d872f2087c98
* Make MemoryMappedFile::IsValid consttommi@chromium.org2011-02-231-1/+1
| | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/6574005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75794 0039d316-1c4b-4281-b951-d872f2087c98
* Start sorting methods in class declarations.erg@google.com2011-01-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | A lot of our headers are a mess and aren't organized. Impose the following order on files in the base/ directory: class Blah { each public/protected/private section: typedefs; enums; static constants; ctors; dtors; methods; overridden virtual methods; data members; }; BUG=68682 TEST=compiles Review URL: http://codereview.chromium.org/6081007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70749 0039d316-1c4b-4281-b951-d872f2087c98
* Some additions to support symlinks better on platforms that support them.gspencer@chromium.org2010-11-301-0/+8
| | | | | | | | | BUG=none TEST=Ran new unit test, passed trybots. Review URL: http://codereview.chromium.org/5349007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67631 0039d316-1c4b-4281-b951-d872f2087c98
* Un-recursify FileEnumerator::Next().dumi@chromium.org2010-10-141-4/+2
| | | | | | | | | | BUG=58368 TEST=file_util_unittest.cc passes Review URL: http://codereview.chromium.org/3751001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62677 0039d316-1c4b-4281-b951-d872f2087c98
* Remove logging for issue 35198.skerner@chromium.org2010-09-241-8/+0
| | | | | | | | | | | Remove switch --issue35198-logging . BUG=56664 TEST=Install an extension on all platforms. Review URL: http://codereview.chromium.org/3427019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60471 0039d316-1c4b-4281-b951-d872f2087c98
* Add a TouchFile() function that takes a FilePath argument.dumi@chromium.org2010-09-231-2/+7
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3496005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60381 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Add a TouchFile function that operates on FilePaths + fixing a bug"maruel@chromium.org2010-09-231-7/+2
| | | | | | | | | | | | This reverts commit 60322. TBR=dumi TEST=none BUG=none Review URL: http://codereview.chromium.org/3439019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60327 0039d316-1c4b-4281-b951-d872f2087c98
* Add a TouchFile function that operates on FilePaths + fixing a bugdumi@chromium.org2010-09-231-2/+7
| | | | | | | | | | | related to FILE_WRITE_ATTRIBUTES on Windows. BUG=none TEST=FileUtilTest::TouchFile Review URL: http://codereview.chromium.org/3404018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60322 0039d316-1c4b-4281-b951-d872f2087c98
* Moving file_util::FileInfo to base::PlatformFileInfo, and adding thedumi@chromium.org2010-09-031-15/+1
| | | | | | | | | | | | last_accessed and creation_time fields. BUG=none TEST=none Review URL: http://codereview.chromium.org/3347005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58454 0039d316-1c4b-4281-b951-d872f2087c98
* linux: add UMA stat for the file system where the prefs are storedevan@chromium.org2010-08-201-2/+22
| | | | | | | | | | | | | I'd like to see how common it is to use a network file system for your home directory. This would help evaluate how important it is to support these users. See also: http://groups.google.com/a/chromium.org/group/chromium-dev/browse_thread/thread/b43d2905f079fa1c Review URL: http://codereview.chromium.org/3187011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56786 0039d316-1c4b-4281-b951-d872f2087c98
* Factor out NormalizeToNativeFilePath from NormalizeFilePathcpu@chromium.org2010-08-041-0/+8
| | | | | | | | | | | | - Also do some cleaning up, fixing invalid usage of ScopedHandle BUG=50774 TEST=existing unit tests suffice Review URL: http://codereview.chromium.org/3043050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54918 0039d316-1c4b-4281-b951-d872f2087c98
* Remove some debug switches:skerner@chromium.org2010-07-301-5/+0
| | | | | | | | | | | | | | --issue35198-crxdir-browser --issue35198-permission They were used to understand issue 35198. They are no longer needed. There is one more switch, --issue35198-logging, that is not being removed in this CL. The logging it adds may still be useful. BUG=50604 TEST=manual Review URL: http://codereview.chromium.org/3052023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54323 0039d316-1c4b-4281-b951-d872f2087c98
* Shuffle some of the functions in file_util.h.agl@chromium.org2010-07-301-13/+10
| | | | | | (A followup from r54316.) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54321 0039d316-1c4b-4281-b951-d872f2087c98
* Fix some bad uses of GetTempDir.agl@chromium.org2010-07-301-0/+2
| | | | | | | | | | | (Just a first step. I can't remove GetTempDir yet though.) BUG=none TEST=unit tests http://codereview.chromium.org/3075008/show git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54316 0039d316-1c4b-4281-b951-d872f2087c98
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-261-0/+1
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
* Changing the pre-reading of chrome.dll to read it as an image section ↵ananta@chromium.org2010-07-031-0/+9
| | | | | | | | | | | | | | | | | | | instead. XP ignores pages read as data while mapping image sections. This shows a reasonable improvement in cold startup performance on XP. This change only comes into effect for headless mode which enables us to try out the effect on the perf bots and for chrome frame processes. Code mostly written by Amit. Added a chrome frame perf tests which measures LoadLibrary in cold mode with pre-reading. Bug=45510 Review URL: http://codereview.chromium.org/2805064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51594 0039d316-1c4b-4281-b951-d872f2087c98
* Loosen permission on extension temp dir when a flag is used.skerner@chromium.org2010-07-011-0/+5
| | | | | | | | | | | | | | | | | | | Issue 35198 can not be reproduced locally. To enable users to do experiments, three command line flags are added to chrome: --issue35198-crxdir-browser: Have the browser process create the directory in which the extension will be unzipped. --issue35198-logging: Enable log messages from directory creation in the utility process to be moved to the browser process. --issue35198-permission: Use the most permissive file permissions possible on the extension unpack directory. BUG=35198 TEST=manual Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=51231 Review URL: http://codereview.chromium.org/2802018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51416 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 51231 - Loosen permission on extension temp dir when a flag is used.skerner@chromium.org2010-06-301-2/+1
| | | | | | | | | | | | | | | | | | | | Issue 35198 can not be reproduced locally. To enable users to do experiments, three command line flags are added to chrome: --issue35198-crxdir-browser: Have the browser process create the directory in which the extension will be unzipped. --issue35198-logging: Enable log messages from directory creation in the utility process to be moved to the browser process. --issue35198-permission: Use the most permissive file permissions possible on the extension unpack directory. BUG=35198 TEST=manual Review URL: http://codereview.chromium.org/2802018 TBR=skerner@chromium.org Review URL: http://codereview.chromium.org/2861039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51238 0039d316-1c4b-4281-b951-d872f2087c98
* Loosen permission on extension temp dir when a flag is used.skerner@chromium.org2010-06-301-1/+2
| | | | | | | | | | | | | | | | | Issue 35198 can not be reproduced locally. To enable users to do experiments, three command line flags are added to chrome: --issue35198-crxdir-browser: Have the browser process create the directory in which the extension will be unzipped. --issue35198-logging: Enable log messages from directory creation in the utility process to be moved to the browser process. --issue35198-permission: Use the most permissive file permissions possible on the extension unpack directory. BUG=35198 TEST=manual Review URL: http://codereview.chromium.org/2802018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51231 0039d316-1c4b-4281-b951-d872f2087c98
* Clang: Do not ignore result of HANDLE_EINTR.thakis@chromium.org2010-06-231-1/+3
| | | | | | Review URL: http://codereview.chromium.org/2805026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50556 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 49983 - patchthakis@chromium.org2010-06-161-3/+1
| | | | | | | TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/2847011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50001 0039d316-1c4b-4281-b951-d872f2087c98
* patchthakis@chromium.org2010-06-161-1/+3
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49983 0039d316-1c4b-4281-b951-d872f2087c98
* If CreateDirectory() fails during extension unpacking, log the exact OS call ↵skerner@chromium.org2010-06-141-0/+8
| | | | | | | | | | | | | that failed. This change is designed to help understand bug 35198, which we can not reproduce locally. BUG=35198 TEST=manual Review URL: http://codereview.chromium.org/2714016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49703 0039d316-1c4b-4281-b951-d872f2087c98
* Add histograms to track the size of the profile data.rvargas@google.com2010-06-111-0/+9
| | | | | | | | | | BUG=16705 TEST=FileUtilTest.FileAndDirectorySize Review URL: http://codereview.chromium.org/2778006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49606 0039d316-1c4b-4281-b951-d872f2087c98
* Give the extension unpacker process a junction/symlink free path to the ↵skerner@chromium.org2010-06-091-6/+7
| | | | | | | | | | | unpack directory. BUG=35198,13044 TEST=FileUtilTest.NormalizeFilePathBasic,FileUtilTest. NormalizeFilePathReparsePoints,FileUtilTest.NormalizeFilePathSymlinks Review URL: http://codereview.chromium.org/2088006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49337 0039d316-1c4b-4281-b951-d872f2087c98
* file_util: Convert the wstring version of IsDirectoryEmpty to FilePath.tfarina@chromium.org2010-05-261-4/+4
| | | | | | | | | BUG=24672 TEST=compiles Review URL: http://codereview.chromium.org/2153002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48237 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: Infrastructure for serialization of OS fonts over IPC.jeremy@chromium.org2010-05-231-2/+2
| | | | | | | | | BUG=29729 TEST=All unit tests should pass. Review URL: http://codereview.chromium.org/2131005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48002 0039d316-1c4b-4281-b951-d872f2087c98
* page cycler: Use buffer-cache priming code on all systems.evan@chromium.org2010-05-191-0/+2
| | | | | | | | | | | I noticed that the first time I run the page cycler the test numbers are worse, probably because the test pages are not in cache. We already have this code on Mac and I don't see why it shouldn't apply to all systems. Review URL: http://codereview.chromium.org/2096005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47650 0039d316-1c4b-4281-b951-d872f2087c98