summaryrefslogtreecommitdiffstats
path: root/base
Commit message (Collapse)AuthorAgeFilesLines
* Temporary revert of r101474, will re-land tomorrow with a change to disable ↵joi@chromium.org2011-09-191-6/+1
| | | | | | | | | | | | | | | | | | | | use of precompiled headers in Release builds as our Canary builds are failing with out of memory messages. Original change description: Switch on use of precompiled headers for VS 2008. The precompiled header brings in more definitions of abs() for the base/time_win.cc file, and a hint to the compiler was needed to let VS 2008 build the file correctly. On VS 2008 only, the mini_installer target did not link correctly with precompiled headers enabled so this change disables them for that project. BUG=none TEST=it builds (esp. on Windows), existing tests pass Review URL: http://codereview.chromium.org/7910002 TBR=laforge@chromium.org Review URL: http://codereview.chromium.org/7945017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101836 0039d316-1c4b-4281-b951-d872f2087c98
* Fix duplicate rule for LASTCHANGEpiman@chromium.org2011-09-191-1/+1
| | | | | | | | | | BUG=None TEST=build it on linux (make/ninja), check no warning of duplicate rule Review URL: http://codereview.chromium.org/7920025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101793 0039d316-1c4b-4281-b951-d872f2087c98
* Base/Valgrind: Close the UStringSearch.jhawkins@chromium.org2011-09-192-8/+6
| | | | | | | | | | | | Fixes a leak. Also cleaned up a bit while I'm here. TBR=benjhayden,xji,rdsmith BUG=none TEST=Valgrind Review URL: http://codereview.chromium.org/7944007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101773 0039d316-1c4b-4281-b951-d872f2087c98
* Disable GetTerminationStatusExit on Windows.thakis@chromium.org2011-09-191-2/+2
| | | | | | | | | | | | Timed out here: http://build.chromium.org/p/tryserver.chromium/builders/win/builds/56264/steps/base_unittests/logs/stdio BUG=95058 TEST=none TBR=gspencer Review URL: http://codereview.chromium.org/7944001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101770 0039d316-1c4b-4281-b951-d872f2087c98
* Adds Find method to the ListValue class.pastarmovj@chromium.org2011-09-193-0/+36
| | | | | | | | | | | | | This method makes working with lists easierand will be needed from the refactored signed settings code. BUG=chromium-os:14054 TEST=base_unittest --gtest_filter=ValuesTest.List Review URL: http://codereview.chromium.org/7892052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101741 0039d316-1c4b-4281-b951-d872f2087c98
* Remove base/scoped_ptr.hakalin@chromium.org2011-09-182-14/+0
| | | | | | | | | | | Fix remaining users to use base/memory/scoped_ptr.h. BUG= TEST= Review URL: http://codereview.chromium.org/7930009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101715 0039d316-1c4b-4281-b951-d872f2087c98
* mac: Try to fix valgrind sanity tests 14 and 15.thakis@chromium.org2011-09-181-1/+4
| | | | | | | | | | | | | See http://code.google.com/p/chromium/issues/detail?id=96945#c4 Not the nicest patch, but it's what we get for writing tests that explicitly rely on undefined behavior with optimizations enabled. BUG=96945 TEST=valgrind sanity tests 14 and 15 go green on the mac memory bot Review URL: http://codereview.chromium.org/7931012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101700 0039d316-1c4b-4281-b951-d872f2087c98
* Prevent clang from optimizing away 2 variables.thakis@chromium.org2011-09-181-2/+4
| | | | | | | | | | | Hopefully fixes Memcheck sanity tests 12 and 13. BUG=96945 TEST=none Review URL: http://codereview.chromium.org/7931006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101698 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a trivial warning compiling basictypes.hmcgrathr@chromium.org2011-09-171-1/+1
| | | | | | | | | | | | Using Clang with -Werror balked at this unused parameter. C++ lets you just omit the name in that case. BUG= none TEST= none Review URL: http://codereview.chromium.org/7917011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101625 0039d316-1c4b-4281-b951-d872f2087c98
* Fix comment for PostTaskAndReply().willchan@chromium.org2011-09-161-1/+1
| | | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/7922015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101598 0039d316-1c4b-4281-b951-d872f2087c98
* Add ToString() method to tracked_objects::Locationakalin@chromium.org2011-09-162-0/+8
| | | | | | | | | | | | Remove ad-hoc functions in sync to do the same thing and use Location::ToString() instead. BUG= TEST= Review URL: http://codereview.chromium.org/7919013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101594 0039d316-1c4b-4281-b951-d872f2087c98
* Searching for downloads currently does a plain substring search, which does notvanlam@google.com2011-09-164-0/+229
| | | | | | | | | | | | | take into account different Unicode representations of characters. Used ICU API to handle this. BUG=chromium:71982 TEST=Check that MatchesQuery uses substring search taking into account Unicode normalization at primary level. Review URL: http://codereview.chromium.org/7782009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101548 0039d316-1c4b-4281-b951-d872f2087c98
* Switch on use of precompiled headers for VS 2008.joi@chromium.org2011-09-161-1/+6
| | | | | | | | | | | | | The precompiled header brings in more definitions of abs() for the base/time_win.cc file, and a hint to the compiler was needed to let VS 2008 build the file correctly. On VS 2008 only, the mini_installer target did not link correctly with precompiled headers enabled so this change disables them for that project. BUG=none TEST=it builds (esp. on Windows), existing tests pass Review URL: http://codereview.chromium.org/7910002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101474 0039d316-1c4b-4281-b951-d872f2087c98
* Some possible comment typos?rogerta@chromium.org2011-09-151-4/+1
| | | | | | | | | BUG=None TEST=None, only changes to comments Review URL: http://codereview.chromium.org/7888015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101409 0039d316-1c4b-4281-b951-d872f2087c98
* Fourth attempt at the following. Unreviewed, this was originally reviewed ↵pkasting@chromium.org2011-09-153-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | in http://codereview.chromium.org/7550002 . Clean up SSL false start blacklist code. Numerous changes, including: * Handle trailing dots in LastTwoLabels() as in http://codereview.chromium.org/7518035/ . Rename this function to LastTwoComponents() to match the terminology used in the RegistryControlledDomainService and elsewhere in Chrome. * Since callers are using std::string anyway, make the functions in the header take const std::string& instead of char*. This also allows doing string operations on them. * Use string operations (like find_last_of()) in place of hand-written algorithms, for brevity, clarity, and safety. * Avoid "unsigned", which the style guide forbids, and use allowed types like size_t, uint32, or int (depending on the situation). * Avoid #define and "using". * Use standard algorithms for similar reasons as using string ops. * Use file_util functions to significantly abbreviate file reading/writing code. * Use wmain() (on Windows) in combination with FilePath to avoid issues if the provided pathname has extended characters that don't flatten losslessly to the default codepage (thanks Darin for pointing out this issue). * Avoid casting where possible. Avoid some casts for printf()-style calls by using a string stream, which also allows for slightly less boilerplate. * Convert non-error uses of stderr to the chrome-standard VLOG(1). * Correctly handle hostnames with trailing dots in the input file. * In general, shorten code where possible. Because this adds a dependency on base, and ssl_false_start_blacklist_process has the "#host" specifier in net.gyp, bradnelson tells me that base and its dependencies need an explicit "host, target" toolchain list for the Linux builds to work correctly. It would be nice if we could avoid this but I guess gyp would have to be smarter or something. BUG=none TEST=none Review URL: http://codereview.chromium.org/7903016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101378 0039d316-1c4b-4281-b951-d872f2087c98
* ProcessUtilTest.GetTerminationStatusExit is flaky at best...mad@chromium.org2011-09-141-2/+2
| | | | | | | | BUG=95058 Review URL: http://codereview.chromium.org/7885011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101078 0039d316-1c4b-4281-b951-d872f2087c98
* micro optimize CommandLine.GetSwitchPrefixLengthjoth@chromium.org2011-09-132-2/+5
| | | | | | | | | | | | avoid searching the entire length of each switch for the -- prefix, as we know it can only exist at the start. BUG=None TEST=None Review URL: http://codereview.chromium.org/7866036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100918 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for filtering traces by categories. The TraceLog API is updated ↵jbates@chromium.org2011-09-123-29/+253
| | | | | | | | | | | to support included and excluded categories. This API is then plumbed through to the TraceController so that it can be used across all processes. BUG=96122 TEST=base_unittests Review URL: http://codereview.chromium.org/7867013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100777 0039d316-1c4b-4281-b951-d872f2087c98
* base: Get rid of references to gtk_util.* from base.gypi.tfarina@chromium.org2011-09-121-2/+0
| | | | | | | | | | | These entries were added at revision r51409, but they were moved to ui/gfx/ at revision r73530. R=sky@chromium.org,evan@chromium.org Review URL: http://codereview.chromium.org/7873008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100761 0039d316-1c4b-4281-b951-d872f2087c98
* Add ThreadRestrictions::AssertIOAllowed to platform_file_posix callsevan@chromium.org2011-09-121-0/+12
| | | | | | | | | | It wasn't clear to me in some codepaths whether these functions were being called on the correct thread. This assertion will help catch errors. Review URL: http://codereview.chromium.org/7867011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100736 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid long test_server timeouts by using action_timeout_msphajdan.jr@chromium.org2011-09-121-1/+1
| | | | | | | | | | | | | | | instead of action_max_timeout_ms. This increases action_timeout_ms a little bit, otherwise test_server becomes more flaky (fails to start in time). This effectively reduces the timeout for TestServer start from 45s to 10s. BUG=93770 Review URL: http://codereview.chromium.org/7744004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100706 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 100640 - Enable doubly linked lists by default.bxx@chromium.org2011-09-111-1/+4
| | | | | | | | | | | | BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/7865020 TBR=bxx@chromium.org Review URL: http://codereview.chromium.org/7796034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100642 0039d316-1c4b-4281-b951-d872f2087c98
* Enable doubly linked lists by default.bxx@chromium.org2011-09-111-4/+1
| | | | | | | | | BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/7865020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100640 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor Mac crash key reporting - move to base/mac/crash_logging.{h,mm}jeremy@chromium.org2011-09-113-0/+94
| | | | | | | | | | | | | | | | Breakpad support currently resides in chrome/app/breakpad_mac.* this makes it inaccessible to lower level code that would also like to set crash keys e.g. The sandboxing infrastructure. This CL refactors the crash key reporting code to reside in base/mac. Logging is also added to the Sandbox code to try to track down the cause of crbug.com/94758. BUG=95272, 94758 TEST=On official builds crash logs should contain crash keys e.g. OS version. Review URL: http://codereview.chromium.org/7849011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100626 0039d316-1c4b-4281-b951-d872f2087c98
* Make Callback.Equals() only work when comparing against the same type.ajwong@chromium.org2011-09-106-22/+84
| | | | | | | | | | | Previously, we were using the base class's comparator to check equality, which allows us to make comparisons across callbacks of different types. This disallows such a thing. BUG=none TEST=New no-compile test. Review URL: http://codereview.chromium.org/7780016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100565 0039d316-1c4b-4281-b951-d872f2087c98
* Create a "no compile" drivers script in python to unittest compile time asserts.ajwong@chromium.org2011-09-103-102/+235
| | | | | | | | | BUG=87341 TEST=enable some of the existing no-compile tests and run on try bots. Review URL: http://codereview.chromium.org/7458012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100564 0039d316-1c4b-4281-b951-d872f2087c98
* tcmalloc doubly-linked free-lists for thread cachesbxx@chromium.org2011-09-091-0/+6
| | | | | | | | | | | | | | | Added the ability for free lists to be built out of doubly-linked lists in tcalloc. TCMALLOC_USE_DOUBLYLINKED_FREELIST flag must be set in order for doubly-linked lists to be used. By default flag is only set in Debug builds. BUG=None TEST=None Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=99515 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=100074 Review URL: http://codereview.chromium.org/7671034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100525 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor ScopedJavaRefjoth@chromium.org2011-09-0914-160/+407
| | | | | | | | | | | | | - introduces JavaRef<> base class to allow passing refs without knowledge of their scope - makes the ScopedJavaLocalRef and ScopedJavaGlobalRef consistent, in name, in methods available, and in conversions allowed. Also updates some other minor base API changes whilst I'm in those files. BUG= TEST=doesn't break build... Review URL: http://codereview.chromium.org/7828084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100383 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 100074 - tcmalloc doubly-linked free-lists for thread cachesbxx@chromium.org2011-09-081-3/+0
| | | | | | | | | | | | | | | | Added the ability for free lists to be built out of doubly-linked lists in tcalloc. TCMALLOC_USE_DOUBLYLINKED_FREELIST flag must be set in order for doubly-linked lists to be used. BUG=None TEST=None Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=99515 Review URL: http://codereview.chromium.org/7671034 TBR=bxx@chromium.org Review URL: http://codereview.chromium.org/7845012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100087 0039d316-1c4b-4281-b951-d872f2087c98
* Add UTF16ToUTF8AndAdjustOffset() to base/.kinaba@chromium.org2011-09-083-3/+58
| | | | | | | | | | | | | | Currently, only UTF8ToUTF16 version is implemented. The converse version will be required for an upcoming patch for supporting input methods in PPAPI (crbug.com/59425), where WebKit strings (UTF16) with segmentation information must be converted to PPAPI strings (UTF8). BUG= TEST=base_unittests Review URL: http://codereview.chromium.org/7828092 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100079 0039d316-1c4b-4281-b951-d872f2087c98
* tcmalloc doubly-linked free-lists for thread cachesbxx@chromium.org2011-09-081-0/+3
| | | | | | | | | | | | | Added the ability for free lists to be built out of doubly-linked lists in tcalloc. TCMALLOC_USE_DOUBLYLINKED_FREELIST flag must be set in order for doubly-linked lists to be used. BUG=None TEST=None Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=99515 Review URL: http://codereview.chromium.org/7671034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100074 0039d316-1c4b-4281-b951-d872f2087c98
* Move launching in a job object logicphajdan.jr@chromium.org2011-09-072-3/+28
| | | | | | | | | | | from TestServer to LaunchProcess, so that I can re-use it in other places for experiments. BUG=none Review URL: http://codereview.chromium.org/7789018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100027 0039d316-1c4b-4281-b951-d872f2087c98
* Use precompiled headers for most large projects where the .gyp filejoi@chromium.org2011-09-071-0/+1
| | | | | | | | | | | | | | is not a third party file. On my machine, this speeds up a full recompile of the 'chrome' target in Debug mode by about 18%. BUG=none TEST=it builds, existing tests pass Review URL: http://codereview.chromium.org/7706011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99949 0039d316-1c4b-4281-b951-d872f2087c98
* aura: A few changes to have aura_demo compile and run on linux.sadrul@chromium.org2011-09-073-3/+3
| | | | | | | | | | | | | * Make 'aura' a component, and export Desktop and Window. * Events (Key and Mouse) from X Events. * Rip non-gtk bits out of gfx/gtk_util into gfx/linux_util BUG=93934,93933 TEST=none Review URL: http://codereview.chromium.org/7833016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99898 0039d316-1c4b-4281-b951-d872f2087c98
* Fix trace_event code to accept double-quote and backslash characters in ↵jbates@chromium.org2011-09-072-8/+11
| | | | | | | | | | | string values BUG=95602 TEST=base_unittests Review URL: http://codereview.chromium.org/7840017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99882 0039d316-1c4b-4281-b951-d872f2087c98
* Support for registering arbitrary Tasks with AtExitManager.apatrick@chromium.org2011-09-063-16/+26
| | | | | | | | Previously it was limitted to functions taling a single void* argument. Review URL: http://codereview.chromium.org/7831021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99856 0039d316-1c4b-4281-b951-d872f2087c98
* Don't DCHECK thread_policy_set() calls because they can fail during runtimecrogers@google.com2011-09-061-5/+21
| | | | | | | | BUG=95274 TEST=none Review URL: http://codereview.chromium.org/7789007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99826 0039d316-1c4b-4281-b951-d872f2087c98
* base/json: Make ReadHexDigits easier to read by using IsHexDigit() function.tfarina@chromium.org2011-09-061-3/+1
| | | | | | | | | | TEST=base_unittests --gtest_filter=JSON* R=tony@chromium.org Review URL: http://codereview.chromium.org/7833020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99774 0039d316-1c4b-4281-b951-d872f2087c98
* Added support to trace_event for passing static string arguments without copyjbates@chromium.org2011-09-063-50/+183
| | | | | | | | | | Occasionally you want to add some static string to a trace, such as the __FILE__ string, but don't want the overhead of a allocation/copy. This change let's you specify those as argument values via a new TraceValue type. You specify const char* types to get the no-copy behavior. std::string types are always copied. To force a const char*, specify TRACE_STR_COPY(str). TEST=trace_event_unittest.cc Review URL: http://codereview.chromium.org/7767014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99763 0039d316-1c4b-4281-b951-d872f2087c98
* [Linux] Make FilePathWatcher somewhat more symlink aware.craig.schlenter@chromium.org2011-09-052-33/+227
| | | | | | | | | | | This is still broken in a variety of ways. BUG=91561 TEST=updated FilePathWatcher tests and manual testing Review URL: http://codereview.chromium.org/7583034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99657 0039d316-1c4b-4281-b951-d872f2087c98
* Make BaseFile member functions return net::Error's.ahendrickson@chromium.org2011-09-042-637/+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
* Revert 99515 - tcmalloc doubly-linked free-lists for thread cachesbxx@chromium.org2011-09-031-3/+0
| | | | | | | | | | | | | | Added the ability for free lists to be built out of doubly-linked lists in tcalloc. TCMALLOC_USE_DOUBLYLINKED_FREELIST flag must be set in order for doubly-linked lists to be used. BUG=None TEST=None Review URL: http://codereview.chromium.org/7671034 TBR=bxx@chromium.org Review URL: http://codereview.chromium.org/7834009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99520 0039d316-1c4b-4281-b951-d872f2087c98
* tcmalloc doubly-linked free-lists for thread cachesbxx@chromium.org2011-09-031-0/+3
| | | | | | | | | | | Added the ability for free lists to be built out of doubly-linked lists in tcalloc. TCMALLOC_USE_DOUBLYLINKED_FREELIST flag must be set in order for doubly-linked lists to be used. BUG=None TEST=None Review URL: http://codereview.chromium.org/7671034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99515 0039d316-1c4b-4281-b951-d872f2087c98
* Add metrics to measure time elapsed between form load and form submission ↵isherman@chromium.org2011-09-021-0/+18
| | | | | | | | | | | with or without Autofill. BUG=none TEST=unit_tests --gtest_filter=AutofillMetricsTest.* Review URL: http://codereview.chromium.org/7740070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99447 0039d316-1c4b-4281-b951-d872f2087c98
* Move test utilities into test_file_util.*.ahendrickson@chromium.org2011-09-025-55/+80
| | | | | | | | | | | | | 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
* Update base/timer.h code to pass through Location from call sites. (reland) ↵jbates@chromium.org2011-09-024-20/+36
| | | | | | | | original CL w/LGTMs: http://codereview.chromium.org/7812036/ Review URL: http://codereview.chromium.org/7824041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99409 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Currently, base/timer.cc calls PostTask with FROM_HERE as the Location,mattm@chromium.org2011-09-024-36/+20
| | | | | | | | | | | | so the original code that created the delayed callback is lost." This reverts commit 4cf5cf73d319b69c32ad30af8954235755856455. (r99284) TBR=jbates@chromium.org Review URL: http://codereview.chromium.org/7825026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99290 0039d316-1c4b-4281-b951-d872f2087c98
* Currently, base/timer.cc calls PostTask with FROM_HERE as the Location, so ↵jbates@chromium.org2011-09-024-20/+36
| | | | | | | | | | the original code that created the delayed callback is lost. This change adds a tracked_objects::Location parameter to the APIs in base/timer.h so we can trace the PostTask callbacks. The other files are touched to add the FROM_HERE Location parameter. Review URL: http://codereview.chromium.org/7812036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99284 0039d316-1c4b-4281-b951-d872f2087c98
* Base: Change ReadPlatformFile to perform a bestrvargas@google.com2011-09-014-19/+42
| | | | | | | | | | | | | | | effort read of the requested data, and add another function (ReadPlatformFileNoBestEffort) that just forwards the call to the OS. Now ReadPlatformFile and WritePlatformFile behave the same way. BUG=none TEST=base_unittests Review URL: http://codereview.chromium.org/7821013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99264 0039d316-1c4b-4281-b951-d872f2087c98
* Synchronize the parent and child processes during launch, ensuring that themark@chromium.org2011-09-013-18/+169
| | | | | | | | | | | | | | | | | | | | | child doesn't try to check in with the Mach broker before the parent is ready. This resolves a race between the browser and its child processes. base::LaunchOptions gets a new member, synchronize, currently Mac-only although there's nothing Mac-specific about the implementation. When set, it allows base::LaunchProcess clients to request that the child process block until released by the new base::LaunchSynchronize call. When creating child processes, the child process launcher now requests this new synchronization behavior to give it a chance to set up the Mach broker to expect the child before the child tries to check in with it. BUG=94295 TEST=Chrome should work. You see fewer of this logged: Unknown process (pid) is sending Mach IPC messages! But you still might see some of these due to bug 94543. Review URL: http://codereview.chromium.org/7740036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99245 0039d316-1c4b-4281-b951-d872f2087c98