summaryrefslogtreecommitdiffstats
path: root/base
Commit message (Collapse)AuthorAgeFilesLines
* posix: refactor duplicated path-handling codeevan@chromium.org2009-11-217-64/+27
| | | | | | | | | We had the same code in three headers, and an "if FREEBSD" in a _linux.cc file. Review URL: http://codereview.chromium.org/414063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32722 0039d316-1c4b-4281-b951-d872f2087c98
* Don't use logging from the OOM killers; it allocates memory.avi@google.com2009-11-211-9/+9
| | | | | | | | | BUG=none TEST=watch crash logs; the OOM killer functions should never be called from another OOM killer function. Review URL: http://codereview.chromium.org/411006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32717 0039d316-1c4b-4281-b951-d872f2087c98
* Remove old files.nsylvain@chromium.org2009-11-207-297/+0
| | | | | | Review URL: http://codereview.chromium.org/425008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32711 0039d316-1c4b-4281-b951-d872f2087c98
* Use AutoReset (formerly ScopedBool) where possible.pkasting@chromium.org2009-11-205-33/+44
| | | | | | | | | | This frequently saves a tiny bit of code, but even when it doesn't I think it's more future-proof (less error-prone). BUG=none TEST=none Review URL: http://codereview.chromium.org/399096 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32708 0039d316-1c4b-4281-b951-d872f2087c98
* Forces T*s to scoped_refptr<T> when PostTask()ing to a function expecting ↵jamesr@chromium.org2009-11-201-0/+18
| | | | | | | | scoped_refptr<T> Review URL: http://codereview.chromium.org/418007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32706 0039d316-1c4b-4281-b951-d872f2087c98
* Don't do work in the SharedIOBuffer constructor; use an Init method instead. ↵hawk@chromium.org2009-11-201-4/+2
| | | | | | | | | | | | This eliminates instances of allocated-but-invalid SharedIOBuffers. Also clean up some CHECKs and TODOs associated with the bug. The upshot is that we no longer crash in AsyncResourceHandler::OnResponseCompleted() when we can't allocate shared memory. We now crash (properly, I believe) in the renderer process if the shared memory that failed to allocate was the TransportDIB, since the renderer can't communicate with the browser without it. BUG=16371 TEST=none Review URL: http://codereview.chromium.org/391009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32701 0039d316-1c4b-4281-b951-d872f2087c98
* linux: fix a warning in the process_util unittestevan@chromium.org2009-11-201-1/+4
| | | | | | Review URL: http://codereview.chromium.org/422003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32648 0039d316-1c4b-4281-b951-d872f2087c98
* posix: use PLOG to print useful error messagesevan@chromium.org2009-11-201-6/+3
| | | | | | | | Rather than printing errno, this macro prints useful error messages. Review URL: http://codereview.chromium.org/420006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32642 0039d316-1c4b-4281-b951-d872f2087c98
* Add compiler-specific "examine printf format" attributes to printfs.evan@chromium.org2009-11-2010-43/+103
| | | | | | | | | | | | Functions that take a printf-style format get a new annotation, which produces a bunch of compiler warnings when you use printf impoperly. This change adds the annotations and fixes the warnings. We now must use PRId64 for 64-bit numbers and the PRIsz for size_t. Review URL: http://codereview.chromium.org/339059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32600 0039d316-1c4b-4281-b951-d872f2087c98
* Set prop app id for chromium/application shortcut.xiyuan@chromium.org2009-11-195-86/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a follow up change after andrew's patch for win7 shortcut to properly set app id for chromium/application shortcut. - Move PKEY_AppUserModel_ID and code to set it from app/win_util.cc to base/win_util.cc as SetAppIdForPropertyStore to share with file_util shortcut code; - Add an app_id args to file_util's CreateShortcutLink and UpdateShortcutLink; - Update code that calls the above two function in installer and UserDataManager so that the chromium shortcuts are created with proper app id (except the uninstall shortcut which is not tagged with any app id). - Move ComputeApplicationNameFromURL from Browser to web_app namespace and use it as app id for application shortcut. This makes pinned shortcut and browser window use the same app id and Win7 correctly groups them; - Rename ComputeApplicationNameFromURL to GenerateApplicationNameFromURL per Ben's comments; - Add a DCHECK in SetAppIdForPropertyStore to ensure app id is less than 128 chars and contains no space per msdn; - Change default app id from IDS_PRODUCT_NAME to chrome::kBrowserAppName BUG=28104 TEST=On Win7, pinned shortcut should no longer be separated from running instance of chrome for both chrome and web application. Review URL: http://codereview.chromium.org/399045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32508 0039d316-1c4b-4281-b951-d872f2087c98
* Isolate tests by running AtExit callbacks between them.phajdan.jr@chromium.org2009-11-198-31/+76
| | | | | | | | | | | | | | | | | | | | For now, this is only for base_unittests. The plan is to enable it for all unit tests. This should finally fix mysterious problems cause by Singletons surviving after one test etc. This change also adapts LazyInstance so that it can be reused after being destroyed. It is used very frequently, for example each time a MessageLoop is used. It is also worth noting that we had some problems in the past related to the MessageLoop being destroyed and re-instantiated in the same test executable. This patch should also fix that. TEST=none BUG=12710 Review URL: http://codereview.chromium.org/372057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32507 0039d316-1c4b-4281-b951-d872f2087c98
* Refactors RenderWidget to extract a PaintAggregator class.darin@chromium.org2009-11-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | After this change, I plan on changing the PaintAggregator algorithm. Some things to note: 1- Previously, it was possible to send overlapping ViewHostMsg_PaintRect and ViewHostMsg_ScrollRect messages. This happened when scrolling a page since the scrollbar would need to be repainted while the contents of the page are being scrolled. With this CL, this overlapping behavior is a bit more explicit. 2- There was a TODO about view_size clipping that I've eliminated. I was able to eliminate it because I realized that it is correct to clip the rects passed by didInvalidateRect and didScrollRect to the size of the RenderWidget. Apparently WebKit can sometimes invalidate regions outside the view. R=brettw BUG=25905 TEST=none Review URL: http://codereview.chromium.org/403005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32496 0039d316-1c4b-4281-b951-d872f2087c98
* file_util: Fix some callers of CreateNewTempDirectory to remove the ↵evan@chromium.org2009-11-192-16/+0
| | | | | | | | | | | | | deprecated version. BUG=None TEST=unit_tests Patch from Thiago Farina <thiago.farina@gmail.com>. Review URL: http://codereview.chromium.org/385112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32487 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the unused ProcessFilter destructor.evan@chromium.org2009-11-191-1/+0
| | | | | | | | | | | Adding some code elsewhere was causing pure call errors related to this code, but only for Release builds on gcc 4.2.4. My gcc 4.4.1 computer was fine. I know better than to claim it's a compiler bug, but this destructor is unused anyway so this change is harmless. Review URL: http://codereview.chromium.org/402080 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32483 0039d316-1c4b-4281-b951-d872f2087c98
* No need to run out of memory test under valgrind - they will obviously leak, ↵vandebo@chromium.org2009-11-181-0/+4
| | | | | | | | | | | but we don't care. BUG=28179 TEST=none Review URL: http://codereview.chromium.org/404036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32437 0039d316-1c4b-4281-b951-d872f2087c98
* Moved bits.h from O3D to Chrome base.apatrick@google.com2009-11-183-0/+97
| | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/373001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32428 0039d316-1c4b-4281-b951-d872f2087c98
* For Linux, override malloc and friends so that we can detect and then stop ↵vandebo@chromium.org2009-11-182-1/+193
| | | | | | | | | | | on out of memory. BUG=27222 TEST=new base unittests Review URL: http://codereview.chromium.org/391044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32395 0039d316-1c4b-4281-b951-d872f2087c98
* linux: StackTrace test isn't expected to work in Release builds anymoreevan@chromium.org2009-11-181-0/+7
| | | | | | | | | | Dropping the exception unwind data cut our executable size considerably, but it means we can't get stack traces anymore in Release builds, so stop this test early in that case. Review URL: http://codereview.chromium.org/399069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32346 0039d316-1c4b-4281-b951-d872f2087c98
* Launch processes asynchronously so as not to block the UI thread. For now, ↵jam@chromium.org2009-11-181-4/+2
| | | | | | | | | renderer only, I'll take care of plugin/worker/utility processes in a followup change. (relanding 32203) BUG=6844 Review URL: http://codereview.chromium.org/397031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32264 0039d316-1c4b-4281-b951-d872f2087c98
* Fix race conditions where an object's constructor uses PostTask on itself. ↵jam@chromium.org2009-11-171-0/+7
| | | | | | | | | This isn't safe since the posted task can execute before the constructor returns, leading to destruction of the object. BUG=27944 Review URL: http://codereview.chromium.org/399016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32213 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac/Linux] Fix WordIterator::GetWord() for UTF-16 surrogate pairs.shess@chromium.org2009-11-172-0/+63
| | | | | | | | | | | | | | | | For systems where !defined(WCHART_T_IS_UTF16), WordIterator transforms the input into UChar data. But GetWord() was using the resulting offsets as indices into the original string, so it could return incorrect data and/or attempt to index off the end of the input. This changes GetWord() to do do the inverse conversion from Init() for those systems. BUG=27698 TEST=See bug. Review URL: http://codereview.chromium.org/399010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32199 0039d316-1c4b-4281-b951-d872f2087c98
* Implement web app shortcuts natively per issue 25528xiyuan@chromium.org2009-11-172-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Implement a CreateApplicationShortcutView similar to the current Gears-based one; - Add a few profile prefs to persist user's last checked shortcut locations - Implement a web_app::CreateShortcut that stores icon under "<profile>/Web Applications" in a similar layout as gears (i.e. <host>/<scheme_port>/<web_app_title>.ico) and calls file_util code to creates shortcut on Windows; - Add Win7 taskbar pin/unpin support function to file_util; - Update TabContents to replace gears with new code; Note: - Gears dialog is modaless but this one is a modal dialog. - Gear's icon store is not migrated because gears icons could still be used by shortcuts created by gears and thus we could not delete them even after migration. And we are not using the local ico files in the dialog even if they exists. - New CreateApplicationShortcutView is included when TOOLKIT_VIEW is defined. However on platforms other than Windows, the actual CreateShortCut code is not implemented. Right now it calls ShellIntegration's CreateDesktopShort if OS_LINUX is defined and NOTREACHED() for other platforms. BUG=25528 TEST=Verify the new UI provides the same functionality as gears under XP/Vista and support pinning on Win 7. Review URL: http://codereview.chromium.org/372012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32165 0039d316-1c4b-4281-b951-d872f2087c98
* TBR: willchanwillchan@chromium.org2009-11-172-10/+20
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32159 0039d316-1c4b-4281-b951-d872f2087c98
* Experiment: enable TCMalloc on Linux by default.willchan@chromium.org2009-11-172-20/+10
| | | | | | | | | Will revert after looking at the Linux memory bot and perf cycler. TBR=willchan Review URL: http://codereview.chromium.org/403002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32158 0039d316-1c4b-4281-b951-d872f2087c98
* reland 31875. Revert was:estade@chromium.org2009-11-164-49/+45
| | | | | | | | | | | | | | ------ Revert 31875 to see whether it fixes reliability bot. BUG=25677 TEST=None ------ TBR=huanr Review URL: http://codereview.chromium.org/397017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32112 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: fix uninit warnings when building -Os.agl@chromium.org2009-11-161-1/+1
| | | | | | http://codereview.chromium.org/401002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32105 0039d316-1c4b-4281-b951-d872f2087c98
* Add another variant of the PrependInteger UMR stack.erikkay@chromium.org2009-11-161-0/+20
| | | | | | | | | BUG=18795 TBR=idana Review URL: http://codereview.chromium.org/401003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32081 0039d316-1c4b-4281-b951-d872f2087c98
* linux: Remove NOTIMPL cluttering test outputevan@chromium.org2009-11-161-1/+0
| | | | | | | | BUG=27222 Review URL: http://codereview.chromium.org/395009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32078 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 31875 to see whether it fixes reliability bot.huanr@chromium.org2009-11-164-45/+49
| | | | | | | | | BUG=25677 TEST=None Review URL: http://codereview.chromium.org/397014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32074 0039d316-1c4b-4281-b951-d872f2087c98
* More safe browsing cleanup work:pkasting@chromium.org2009-11-142-0/+25
| | | | | | | | | | | | * Remove |resetting_| from the safe browsing service, it doesn't do anything useful. * Add appropriate locks in a few places in the database that were missing them. * Prevent potential infinite recursion in the database at one spot. BUG=none TEST=none Review URL: http://codereview.chromium.org/391060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31979 0039d316-1c4b-4281-b951-d872f2087c98
* Log warnings, not errors, if we can't fetch memory status forsgk@google.com2009-11-132-6/+9
| | | | | | | | | commit charge reporting. Fix if-blocks around returning 0. BUG=none TEST=none Review URL: http://codereview.chromium.org/386031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31964 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid leaking hash_object_ in SignatureCreator on Windows.dkegel@google.com2009-11-131-1/+0
| | | | | | | | TEST=valgrind wine base_unittests SIgnatureCreatorTest.* BUG=none Review URL: http://codereview.chromium.org/391040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31946 0039d316-1c4b-4281-b951-d872f2087c98
* Split *AndAdjustOffset() functions into their own header, to restore ↵pkasting@chromium.org2009-11-1310-294/+505
| | | | | | | | | | utf_string_conversions.h to a simple, readable state. BUG=4010 TEST=none Review URL: http://codereview.chromium.org/387012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31928 0039d316-1c4b-4281-b951-d872f2087c98
* Use renderer spellchecker for windows.estade@chromium.org2009-11-134-49/+45
| | | | | | | BUG=25677 Review URL: http://codereview.chromium.org/372075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31875 0039d316-1c4b-4281-b951-d872f2087c98
* Print allocation callstacks to LOG(ERROR) rather than std err, since ↵eroman@chromium.org2009-11-121-1/+1
| | | | | | | | otherwise it doesn't show up inline in the log file. Review URL: http://codereview.chromium.org/391029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31822 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure OOM is a killer on the Mac.avi@chromium.org2009-11-123-0/+101
| | | | | | | | | BUG=http://crbug.com/12673 TEST=as in bug Review URL: http://codereview.chromium.org/385054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31819 0039d316-1c4b-4281-b951-d872f2087c98
* [GTTF] Make WatchdogTest.DisarmTest faster by about 2sphajdan.jr@chromium.org2009-11-121-1/+1
| | | | | | | | | | | by really making the alarm instantly go off. TEST=none BUG=none Review URL: http://codereview.chromium.org/377029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31774 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 31765 - Experiment: enable TCMalloc on Linux by default.willchan@chromium.org2009-11-122-10/+20
| | | | | | | | | | | | Will revert after looking at the Linux memory bot and perf cycler. TBR=willchan Review URL: http://codereview.chromium.org/386016 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/384074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31769 0039d316-1c4b-4281-b951-d872f2087c98
* Experiment: enable TCMalloc on Linux by default.willchan@chromium.org2009-11-122-20/+10
| | | | | | | | | Will revert after looking at the Linux memory bot and perf cycler. TBR=willchan Review URL: http://codereview.chromium.org/386016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31765 0039d316-1c4b-4281-b951-d872f2087c98
* linux: implement some SysInfo bits to reduce NOTIMPL spewevan@chromium.org2009-11-122-7/+29
| | | | | | | | | | Also added basic tests for these functions. BUG=21732 Review URL: http://codereview.chromium.org/384070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31762 0039d316-1c4b-4281-b951-d872f2087c98
* posix: move mac-specific code into mac-specific fileevan@chromium.org2009-11-122-63/+71
| | | | | | | | No functional change, just cleanup. Review URL: http://codereview.chromium.org/384069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31758 0039d316-1c4b-4281-b951-d872f2087c98
* Implement the memory leak annotations for heap leak checker.willchan@chromium.org2009-11-113-1/+51
| | | | | | | | | | | | | leak_annotations.h provides the ANNOTATE_SCOPED_MEMORY_LEAK macro that can be used for annotating known memory leaks in the tests. Those will be ignored by the heap leak checker. Patch contributed by ramosian.glider@gmail.com. Original review at http://codereview.chromium.org/346038/show Review URL: http://codereview.chromium.org/385049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31721 0039d316-1c4b-4281-b951-d872f2087c98
* linux: TCMalloc-based C++ heap profiler.willchan@chromium.org2009-11-111-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Requires compiling with linux_use_tcmalloc=1. When enabled by --heap-profiler flag in test_shell exposes chromium.HeapProfiler object to JavaScript. The object has three methods: o start() -- starts profiling o dump() -- dumps data accumulated since start() to file named like chromium-YYYY-MM-DD-TS.heap o stop() -- stops profiling. Output can be analyzed by third_party/tcmalloc/tcmalloc/src/pprof. For example: $ third_party/tcmalloc/tcmalloc/src/pprof \ sconsbuild/Release/test_shell \ chromium-2009-11-06-1234567890.heap See http://code.google.com/p/google-perftools/ for details on how to use pprof. Patch contributed by vitalyr@chromium.org. Original review at http://codereview.chromium.org/377010/show. TBR=vitalyr Review URL: http://codereview.chromium.org/390015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31688 0039d316-1c4b-4281-b951-d872f2087c98
* For the immediate milestone, exclude History and Thumbnails from being ↵mrossetti@chromium.org2009-11-113-0/+45
| | | | | | | | | | | backed up by Time Machine. The bug describes appropriate long-term solutions to this problem. BUG=259595 TEST=Launch Chrome. Inspect the following files found in ~/Library/Application Support/Chromium/Default/: a) History, b) History-journal, c) Thumbnails, and d) Thumbnails-journal and verify that they are not being backed up by Time Machine. Review URL: http://codereview.chromium.org/387016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31644 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac] ScopedSendingEvent finds NSApp by itself.shess@chromium.org2009-11-102-4/+5
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/385009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31595 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up recent string conversion function changes, part 1: Remove ↵pkasting@chromium.org2009-11-106-256/+39
| | | | | | | | | | | | unnecessary code. Thanks to a change in escape.cc I can basically revert the ICU conversions back to what they used to be; I can also get rid of half the conversions immediately since they aren't used. This does not split out the "adjust" versions of the UTF conversions into their own header/implementation; that's coming in the next patch. BUG=4010 TEST=none Review URL: http://codereview.chromium.org/380007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31533 0039d316-1c4b-4281-b951-d872f2087c98
* [GTTF] Make DirectoryWatcher tests faster by about 15 seconds.phajdan.jr@chromium.org2009-11-091-4/+10
| | | | | | | | | TEST=Covered by base_unittests. BUG=none Review URL: http://codereview.chromium.org/371062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31451 0039d316-1c4b-4281-b951-d872f2087c98
* Expand the purify suppressions for PrivateKeyInfoCodec.willchan@chromium.org2009-11-091-6/+2
| | | | | | Review URL: http://codereview.chromium.org/372062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31439 0039d316-1c4b-4281-b951-d872f2087c98
* More memory stats code cleanup:sgk@chromium.org2009-11-094-0/+111
| | | | | | | | | | | | Move GetSystemCommitCharge() into bsae\process_util*. Kill PrintChromeMemoryUsageInfo(), which was only used by reliability_tests.exe on Windows and whose stats are obsolete. Delete the now-unnecessary chrome\test\perf\mem_usage* files. BUG=none TEST=none Review URL: http://codereview.chromium.org/371025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31423 0039d316-1c4b-4281-b951-d872f2087c98
* Fix NSString conversions to treat a null NSString as a string of length 0, ↵mirandac@chromium.org2009-11-084-1/+28
| | | | | | | | | | | instead of crashing. This allows Cocoa to use null objects as empties, as is its wont, and we only run a check when needed. This CL also removes the now-superfluous checks for null NSStrings from BugReportWindowController. A cursory look through the code shows that there are many places where a check for null precedes a call to an NSString conversion; filed another bug against myself to go through and fix all of these (http://code.google.com/p/chromium/issues/detail?id=27055). Also filed a bug to expand unit tests for NSString conversion methods (http://code.google.com/p/chromium/issues/detail?id=27059). Review URL: http://codereview.chromium.org/371057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31408 0039d316-1c4b-4281-b951-d872f2087c98