summaryrefslogtreecommitdiffstats
path: root/base/file_util_posix.cc
Commit message (Collapse)AuthorAgeFilesLines
* Use the real Mac browser app's bundle identifier everywhere that a basemark@chromium.org2011-04-221-4/+11
| | | | | | | | | | | | | | | | | | | | | bundle identifier is needed on the Mac. This means that everything will use up using org.chromium.Chromium, com.google.Chrome, or com.google.Chrome.canary when it's important to get the base bundle identifier. .helper and .framework will not be appended. Note, however, that things that run inside the helper and use CFPreferences or NSUserDefaults will continue to write their defaults as org.chromium.Chromium.helper or com.google.Chrome.helper. Mostly this just affects the Flash plug-in's settings for the NSNav open dialog. There is no com.google.Chrome.canary.helper, but that's not expected to be a problem. This change ensures that Chromes, canaries, and Chromiums don't get in each other's way. BUG=79814 TEST=none Review URL: http://codereview.chromium.org/6896003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82626 0039d316-1c4b-4281-b951-d872f2087c98
* GTTF: Correctly handle fdopen failure in CreateAndOpenTemporaryFileInDirphajdan.jr@chromium.org2011-04-181-1/+4
| | | | | | | | | | This avoids a possible fd leak when fdopen fails. BUG=none Review URL: http://codereview.chromium.org/6882014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81977 0039d316-1c4b-4281-b951-d872f2087c98
* Fix clang build after landing http://codereview.chromium.org/6820030phajdan.jr@chromium.org2011-04-121-3/+3
| | | | | | | TBR=agl Review URL: http://codereview.chromium.org/6824070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81223 0039d316-1c4b-4281-b951-d872f2087c98
* Fix problems in src/base:phajdan.jr@chromium.org2011-04-121-10/+14
| | | | | | | | | | | | - de-facto ignored return value of PathService::Get in base_paths_mac.mm - missing EINTR handling in other files I was just reading the code looking for some issues. BUG=none Review URL: http://codereview.chromium.org/6820030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81220 0039d316-1c4b-4281-b951-d872f2087c98
* Move some files from base to base/memory.levin@chromium.org2011-03-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Pure pedantry: Replace all ".size() == 0" with ".empty()".erg@google.com2011-03-021-1/+1
| | | | | | | | | BUG=carnitas TEST=compiles; existing unit tests. Review URL: http://codereview.chromium.org/6602049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76467 0039d316-1c4b-4281-b951-d872f2087c98
* Order function definitions in base/ according to the header.erg@google.com2011-01-111-20/+20
| | | | | | | | | BUG=68682 TEST=compiles Review URL: http://codereview.chromium.org/6085015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70975 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/thread.h to base/threading, fix up callers to use the new location.brettw@chromium.org2011-01-011-1/+1
| | | | | | | | TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/6028009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70345 0039d316-1c4b-4281-b951-d872f2087c98
* Start using file_util symlink code, now that it's available.gspencer@chromium.org2010-12-031-2/+3
| | | | | | | | | | | | In CL http://codereview.chromium.org/5349007 I added some base API for manipulating symlinks (since I needed it for some ChromeOS code and noticed that other places could use it too), and this just starts using that API. BUG=none TEST=Ran ui_tests, passed trybots. Review URL: http://codereview.chromium.org/5286010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68181 0039d316-1c4b-4281-b951-d872f2087c98
* Some additions to support symlinks better on platforms that support them.gspencer@chromium.org2010-11-301-0/+23
| | | | | | | | | 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
* FBTF: Remove unneeded headers from base/ (part 9)thestig@chromium.org2010-11-201-2/+1
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/5091005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66873 0039d316-1c4b-4281-b951-d872f2087c98
* Original change: http://codereview.chromium.org/4856003/bulach@chromium.org2010-11-171-2/+2
| | | | | | | | | | | | | | | | (landing on behalf of kristianm) Suppress Android warnings Android generates warnings for comparing signed and unsigned numbers. The ones in this CL should be safe. BUG=62949 TEST=None Review URL: http://codereview.chromium.org/5035002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66420 0039d316-1c4b-4281-b951-d872f2087c98
* Thread IO safety: annotate file_util, and block IO thread from doing IOevan@chromium.org2010-10-231-0/+35
| | | | | | | | | | | | | | | - Mark functions in file_util_posix as requiring permission to perform disk actions. - Mark the IO thread as disallowed from performing disk actions. - Temporarily work around the protections in places where we currently have bugs. BUG=59847,59849,60207,60211,60394 TEST=no dchecks in debug builds Review URL: http://codereview.chromium.org/3872002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63636 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 63600 - Thread IO safety: annotate file_util, and block IO thread ↵isherman@chromium.org2010-10-231-35/+0
| | | | | | | | | | | | | | | | | | | | | | from doing IO Reverting because this breaks the ChromiumOS (dbg) builder. - Mark functions in file_util_posix as requiring permission to perform disk actions. - Mark the IO thread as disallowed from performing disk actions. - Temporarily work around the protections in places where we currently have bugs. BUG=59847,59849,60207,60211 TEST=no dchecks in debug builds Review URL: http://codereview.chromium.org/3872002 TBR=evan@chromium.org Review URL: http://codereview.chromium.org/3983005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63630 0039d316-1c4b-4281-b951-d872f2087c98
* Thread IO safety: annotate file_util, and block IO thread from doing IOevan@chromium.org2010-10-231-0/+35
| | | | | | | | | | | | | | | - Mark functions in file_util_posix as requiring permission to perform disk actions. - Mark the IO thread as disallowed from performing disk actions. - Temporarily work around the protections in places where we currently have bugs. BUG=59847,59849,60207,60211 TEST=no dchecks in debug builds Review URL: http://codereview.chromium.org/3872002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63600 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Thread IO safety: annotate file_util, and block IO thread from doing IO"evan@chromium.org2010-10-221-35/+0
| | | | | | This reverts commit r63580, build breakage. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63586 0039d316-1c4b-4281-b951-d872f2087c98
* Thread IO safety: annotate file_util, and block IO thread from doing IOevan@chromium.org2010-10-221-0/+35
| | | | | | | | | | | | | | | - Mark functions in file_util_posix as requiring permission to perform disk actions. - Mark the IO thread as disallowed from performing disk actions. - Temporarily work around the protections in places where we currently have bugs. BUG=59847,59849,60207,60211 TEST=no dchecks in debug builds Review URL: http://codereview.chromium.org/3872002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63580 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
* Removing sync from file_util::Delete for ChromeOS.gspencer@chromium.org2010-10-121-3/+0
| | | | | | | | | | | | | | | | | | | | | | This was added to address a problem with SD cards not always deleting files that were deleted from the ChromeOS file browser. Since it doesn't always fix the problem anyhow, and since the file browser isn't in beta, I'm removing the extra sync call, because it increases the time it takes to run recursive delete by about three orders of magnitude, and was slowing down some tests. I've filed bug http://code.google.com/p/chromium-os/issues/detail?id=7196 so we can address this at a later time. [This has already been reviewed and LGTM'd here: http://codereview.chromium.org/3697005/show] BUG=none TEST=ran base unittests Review URL: http://codereview.chromium.org/3706005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62245 0039d316-1c4b-4281-b951-d872f2087c98
* Add a TouchFile() function that takes a FilePath argument.dumi@chromium.org2010-09-231-7/+0
| | | | | | | | | 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-0/+7
| | | | | | | | | | | | 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-7/+0
| | | | | | | | | | | 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-1/+3
| | | | | | | | | | | | 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
* Remove some debug switches:skerner@chromium.org2010-07-301-8/+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
* posix: print error message when mkdtemp fails.evan@chromium.org2010-07-281-1/+3
| | | | | | | | Failure seen on the buildbots. It would help to know why. Review URL: http://codereview.chromium.org/3067013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54016 0039d316-1c4b-4281-b951-d872f2087c98
* Loosen permission on extension temp dir when a flag is used.skerner@chromium.org2010-07-011-0/+8
| | | | | | | | | | | | | | | | | | | 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-9/+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/+9
| | | | | | | | | | | | | | | | | 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
* Adding sync to be called on ChromeOS after a delete operation has. This ↵dhg@chromium.org2010-06-111-0/+3
| | | | | | | | | | ensures that if the user deleted something on a sd card, its synced right after. BUG=chromium-os:2661 TEST=none Review URL: http://codereview.chromium.org/2735013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49550 0039d316-1c4b-4281-b951-d872f2087c98
* Return NULL instead of false when appropriate.evan@chromium.org2010-06-101-1/+1
| | | | | | | | (Found by clang.) Review URL: http://codereview.chromium.org/2725010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49466 0039d316-1c4b-4281-b951-d872f2087c98
* Changing temporary files on posix to have a . in front so they are hidden on ↵dhg@chromium.org2010-06-101-3/+2
| | | | | | | | | | | linux systems (i.e. chromeos) BUG=chromium-os:3110 TEST=none Review URL: http://codereview.chromium.org/2662005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49413 0039d316-1c4b-4281-b951-d872f2087c98
* Give the extension unpacker process a junction/symlink free path to the ↵skerner@chromium.org2010-06-091-4/+25
| | | | | | | | | | | 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
* Use access instead of stat in PathExists and PathIsWritable.agl@chromium.org2010-05-171-13/+2
| | | | | | | | | | | | | | | | | | This change fixes the issue where PathIsWritable returns the wrong answer when called by the superuser. It also slightly simplifies the code. This fix is helpful for Chrome OS because Chrome OS uses PathIsWritable in backlight-tool TEST=Verified that this change fixes backlight-tool (part of the Chrome OS power manager). BUG=none Patch by davidjames http://codereview.chromium.org/2073005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47418 0039d316-1c4b-4281-b951-d872f2087c98
* Add include as recommended by the linux man page for realpath().skerner@chromium.org2010-05-121-0/+1
| | | | | | Review URL: http://codereview.chromium.org/1985018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47074 0039d316-1c4b-4281-b951-d872f2087c98
* Use realpath() to find the path to the extension unpack dir on posix systems.skerner@chromium.org2010-05-121-0/+10
| | | | | | | | | | | | | Extensions are unpacked by a sandboxed utility process. The sandbox forbids file access outside the directory the extension will be unpacked in. If the path to that directory contains a symbolic link, then unpacking will fail because following the link will cause file system access outside the sandbox path. Use realpath() to get a symlink free path to the directory where the extension will be unpacked. A similar issue exists on windows, with junctions instead of symlinks. This will be fixed in another change. BUG=13044,35198 TEST=FileUtilTest.RealPath Review URL: http://codereview.chromium.org/2001013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47032 0039d316-1c4b-4281-b951-d872f2087c98
* Unpack extensions inside chrome's profile directory.skerner@chromium.org2010-04-301-9/+28
| | | | | | | | | | | Other users of the temp directory will be altered in a subsequent CL. BUG=13044 TEST=SandboxedExtensionUnpackerTest.*, ScopedTempDir.UniqueTempDirUnderPath, FileUtilTest.CreateNewTempDirInDirTest, manual testing on win, linux, mac. Review URL: http://codereview.chromium.org/1582022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46078 0039d316-1c4b-4281-b951-d872f2087c98
* bsd: refactor XDG bits of linux_util into a shared file.evan@chromium.org2010-04-221-0/+20
| | | | | | | | | This allows the shared code to build on the BSDs without them needing to build _linux files. Review URL: http://codereview.chromium.org/1701005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45380 0039d316-1c4b-4281-b951-d872f2087c98
* bsd: move POSIXy functions back into file_util_posixevan@chromium.org2010-04-211-0/+62
| | | | | | | | | This is so the other non-Mac platforms don't need to build file_util_linux. Review URL: http://codereview.chromium.org/1732003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45242 0039d316-1c4b-4281-b951-d872f2087c98
* posix: stat() uses errno, not its return value, for errorsevan@chromium.org2010-03-251-1/+1
| | | | | | | | | | | | | l/stat() always return -1 on error, so we must examine errno if we want to handle errors specially. (This is only used for judging whether to print an error message, so it's not too harmful.) TEST=symlink to nowhere in a dir; Chrome should not complain about that symlink when enumerating files in the directory Review URL: http://codereview.chromium.org/1352001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42647 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: Handle race conditions in file_util::CreateDirectory where multiple ↵thestig@chromium.org2010-03-171-4/+10
| | | | | | | | | | processes tries to create the same file system tree simultaneously. BUG=38112 TEST=none Review URL: http://codereview.chromium.org/990002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41881 0039d316-1c4b-4281-b951-d872f2087c98
* BSD port changes for base/ (OS_POSIX/GTK instead of OS_LINUXpvalchev@google.com2010-03-101-1/+1
| | | | | | | | where applicable, missing includes, etc) Review URL: http://codereview.chromium.org/774001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41143 0039d316-1c4b-4281-b951-d872f2087c98
* Deprecate GetDirectoryFromPath on non-Windows.evan@chromium.org2010-02-231-12/+0
| | | | | | | | | | | Due to a bunch of changes I made last week, we now only need this in Windows-specific codepaths. BUG=24672 Review URL: http://codereview.chromium.org/654009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39715 0039d316-1c4b-4281-b951-d872f2087c98
* Solaris: Second set adding in Solaris as an OS optionevan@chromium.org2010-02-181-2/+2
| | | | | | | | | | TEST=compiles BUG=30101 Patch by James Choi <jchoi42@pha.jhu.edu>. Review URL: http://codereview.chromium.org/606075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39362 0039d316-1c4b-4281-b951-d872f2087c98
* Actually delete databases in CookiesTreeModel.jochen@chromium.org2010-02-181-1/+9
| | | | | | | | | BUG=34633 TEST=delete a database while it's opened in the renderer Review URL: http://codereview.chromium.org/600104 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39346 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure the parent directory always comes first when listing directories.estade@chromium.org2010-02-111-0/+5
| | | | | | | | | BUG=35288 TEST=see bug Review URL: http://codereview.chromium.org/596054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38854 0039d316-1c4b-4281-b951-d872f2087c98
* linux: check the return value passed through HANDLE_EINTRevan@chromium.org2010-02-021-6/+8
| | | | | | | | | | A smarter compiler (clang) can notice that we were not using the return values being passed through HANDLE_EINTR, which meant most frequently that we were missing checking the return value of close(). Review URL: http://codereview.chromium.org/569003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37786 0039d316-1c4b-4281-b951-d872f2087c98
* OpenBSD/FreeBSD ifdefs and GYP changes for base/pvalchev@google.com2010-01-251-2/+4
| | | | | | | | Based on original work by Sprewell and Ben Laurie on FreeBSD port Review URL: http://codereview.chromium.org/548129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37063 0039d316-1c4b-4281-b951-d872f2087c98
* Linux, Mac: Don't test parent directories when checking if a path is writable.agl@chromium.org2010-01-211-8/+2
| | | | | | | | | | | | | | This additional check has existed since the code was first written, but wtc queried it in [1] and noted that it doesn't match the Windows version. [1] http://codereview.chromium.org/541022/diff/1/3#newcode309 Removing this additional test doesn't break any unittests so it looks like we can match the Windows code here. http://codereview.chromium.org/545156 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36760 0039d316-1c4b-4281-b951-d872f2087c98
* Changes to base/ from a combination of FreeBSD and OpenBSD patches.evan@chromium.org2009-12-291-4/+5
| | | | | | Review URL: http://codereview.chromium.org/495002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35321 0039d316-1c4b-4281-b951-d872f2087c98
* Improve unit tests to verify that directories are listed before files in ↵vandebo@chromium.org2009-12-111-0/+4
| | | | | | | | | | | | | file:/// urls. And fix current regression. BUG=28420 TEST=improved unit tests Review URL: http://codereview.chromium.org/492015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34382 0039d316-1c4b-4281-b951-d872f2087c98