summaryrefslogtreecommitdiffstats
path: root/base
Commit message (Collapse)AuthorAgeFilesLines
* Remove 1 exit time destructor and 1 static initializer from ↵thakis@chromium.org2011-11-032-7/+20
| | | | | | | | | | | | platform_thead_(posix|mac) BUG=101600,94925 TEST=none Review URL: http://codereview.chromium.org/8436007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108579 0039d316-1c4b-4281-b951-d872f2087c98
* Remove 1 exit time destructor and 1 static initializer in trace_event.thakis@chromium.org2011-11-032-15/+15
| | | | | | | | | | | | Also remove USE_UNRELIABLE_NOW. BUG=101600,94925 TEST=none Review URL: http://codereview.chromium.org/8363056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108552 0039d316-1c4b-4281-b951-d872f2087c98
* Remove 2 exit time destructors and 2 static initializers.thakis@chromium.org2011-11-031-7/+11
| | | | | | | | | | BUG=101600,94925 TEST=none Review URL: http://codereview.chromium.org/8450008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108531 0039d316-1c4b-4281-b951-d872f2087c98
* Remove base::Thread::CleanUpAfterMessageLoopDestruction() because it is ↵rsesek@chromium.org2011-11-031-5/+0
| | | | | | | | | | | | unused and it does nothing. BUG=none TEST=none Review URL: http://codereview.chromium.org/8440055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108502 0039d316-1c4b-4281-b951-d872f2087c98
* Remove an unused include.thakis@chromium.org2011-11-031-1/+0
| | | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/8423068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108415 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 108352 - Try to see if disabling ALL tracking helps treejar@chromium.org2011-11-031-1/+1
| | | | | | | | | | r=viettrungluu Review URL: http://codereview.chromium.org/8351085 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/8423072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108401 0039d316-1c4b-4281-b951-d872f2087c98
* Try to see if disabling ALL tracking helps treejar@chromium.org2011-11-021-1/+1
| | | | | | | r=viettrungluu Review URL: http://codereview.chromium.org/8351085 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108352 0039d316-1c4b-4281-b951-d872f2087c98
* Thread::Stop() must be called before any subclass's destructor completes.joi@chromium.org2011-11-023-6/+17
| | | | | | | | | | | Update base::Thread documentation, fix all subclasses I could find that had a problem, and remove no-longer-necessary suppressions. BUG=102134 Review URL: http://codereview.chromium.org/8427007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108296 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 108258 - broke Mac LayoutTests.kinuko@chromium.org2011-11-022-100/+27
| | | | | | | | | | | | | | | | Merge FileUtilProxy and FileSystemFileUtilProxy using PostTaskAndReply: CreateOrOpen/Close Deprecating MessageProxyRelay class and getting rid of duplicated code. BUG=none TEST=test_shell_tests:\*FileSystem\* Review URL: http://codereview.chromium.org/8424006 TBR=kinuko@chromium.org Review URL: http://codereview.chromium.org/8423041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108274 0039d316-1c4b-4281-b951-d872f2087c98
* Moving the SignalingTask class to base/test.tommi@chromium.org2011-11-023-0/+53
| | | | | | | | | | | As requested in another review (http://codereview.chromium.org/8427031/diff/1009/content/renderer/media/webrtc_audio_device_unittest.cc#newcode132). so that it can be reused in content tests. TEST=none BUG=none Review URL: http://codereview.chromium.org/8438034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108271 0039d316-1c4b-4281-b951-d872f2087c98
* Merge FileUtilProxy and FileSystemFileUtilProxy using PostTaskAndReply: ↵kinuko@chromium.org2011-11-022-27/+100
| | | | | | | | | | | | | CreateOrOpen/Close Deprecating MessageProxyRelay class and getting rid of duplicated code. BUG=none TEST=test_shell_tests:\*FileSystem\* Review URL: http://codereview.chromium.org/8424006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108258 0039d316-1c4b-4281-b951-d872f2087c98
* Add FilePath::FromUTF8Unsafe() and FilePath::AsUTF8Unsafe().satorux@chromium.org2011-11-024-28/+86
| | | | | | | | | | | | | | The logic is moved from value_conversions.cc. FilePath::FromUTF8Unsafe() should only be used when you are sure that the input string is UTF-8. See the function comments for why they have "Unsafe" in their names. BUG=none TEST=base_unittests Review URL: http://codereview.chromium.org/8402008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108246 0039d316-1c4b-4281-b951-d872f2087c98
* Test 32bit time in tracked_objectjar@chromium.org2011-11-021-0/+98
| | | | | | | | | | | Be sure it is disabled or enabled as expected. Be sure it is using the same basic function as TimeTicks. r=rtenneti Review URL: http://codereview.chromium.org/8437018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108228 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: No need to dynamically allocate a couple class members in ↵thestig@chromium.org2011-11-021-25/+16
| | | | | | | | | | | mime_util_xdg.cc. Also convert a dynamically allocated class member to a scoper. BUG=none TEST=none Review URL: http://codereview.chromium.org/8372047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108197 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Use the existing desktop environment detection code in ↵thestig@chromium.org2011-11-011-6/+13
| | | | | | | | | | | mime_util_xdg.cc instead of its own version. Also fix a case where we look up bad icon names. BUG=none TEST=none Review URL: http://codereview.chromium.org/8431018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108185 0039d316-1c4b-4281-b951-d872f2087c98
* Add CHECK to catch places where BrowserProcessImpl's refcount goes to 0.willchan@chromium.org2011-11-012-0/+8
| | | | | | | | | | | | Specifically, catch it when MessageLoop is not running. BUG=96847 TEST=none Review URL: http://codereview.chromium.org/8343033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108177 0039d316-1c4b-4281-b951-d872f2087c98
* Make LazyInstance managed Locks leaky.thestig@chromium.org2011-11-011-2/+3
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/8430019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108159 0039d316-1c4b-4281-b951-d872f2087c98
* regex fixes in base.gypi for android files.jrg@chromium.org2011-11-011-11/+14
| | | | | | | | | | | | Follow-up from http://codereview.chromium.org/8387042/ BUG= TEST= Review URL: http://codereview.chromium.org/8387053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108135 0039d316-1c4b-4281-b951-d872f2087c98
* Prevent clang from optimizing away a variable.thakis@chromium.org2011-11-011-1/+2
| | | | | | | | | | | | | It looks like clang recently learned how to optimize away more stuff. This should hopefully fix Memcheck sanity test 1. BUG=102355 TEST=Bots on the memory.fyi waterfall go green Review URL: http://codereview.chromium.org/8429008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108095 0039d316-1c4b-4281-b951-d872f2087c98
* Enable default object tracking no Macjar@chromium.org2011-11-011-5/+0
| | | | | | | | | | | | | | | | | | We had trouble with base_unittests before, so we ifdef'ed out the larger landing. This tiny switch CL will turn it on for the Mac, but can be quickly reverted if there is a problem. Scott Hess was able to debug and identify the cause of the problem (yeah Scott!!!!). I think the code we landed corrects for the issue he identified, and this should prove it (or get reverted trying). r=rtenneti,shess bug=101856 Review URL: http://codereview.chromium.org/8387059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108072 0039d316-1c4b-4281-b951-d872f2087c98
* Enable tracking of objects by defaultjar@chromium.org2011-10-3113-393/+849
| | | | | | | | | | | | | | | | | | | This is a reland of accumulated patches including CLs 8414036, 8425010, 8425013, 8424013. It fully enables tracking of objects, as seen in about:tracking in teh release build. The problem this had in its initaial landing centered on Mac instability in base_unittest. We were encountering crash on exit of the tests, with a stack dump involving pthreads. r=rtenneti BUG=101856 Review URL: http://codereview.chromium.org/8429009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108026 0039d316-1c4b-4281-b951-d872f2087c98
* Enable ICU in Androidmichaelbai@google.com2011-10-311-50/+0
| | | | | | | | | BUG= TEST= Review URL: http://codereview.chromium.org/8387037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108003 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 107895 - Fully enable about:tracking by defaultjoth@chromium.org2011-10-3113-754/+368
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a re-land of: http://codereview.chromium.org/8391019/ Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107793 Original landing had trouble with message_loop_x.h, due to header include ordering. I pulled out the structure that was really needed by tracked_objects.h into a new file tracked_info.*. This allows tracked_objects to inlude this tracked_info, but not have to include the message_loop.h totality. I also removed a DCHECK that that was triggering on a test, and added yet one more file (browser_main.cc) where I removed a #ifdef for TRACKING_ALL_OBJECTS. The changes were minor, and I'm hoping to get clear perf runs with tihs landing, so I'm going to TBR it and reland early in the morning. Comments from original landing: Support is now controlled by the flag: --enable-tracking and the default is always on. To turn it off, use: --enable-tracking=0 All profiler code is compiled now in release and official builds (in addition to debug, where it was already active), but most entry points can be disabled (turned into no-ops) by a single const bool setting atop tracked_objects.cc (in case folks want to revert the perf-impact of this change). Transition to faster Now() service on Windows for the profiler use only. The TimeTicks::Now() function on Window uses locking to get a 64 bit time value. This CL transitions times used for profiling to more directly use a 32 bit Time interface, which is actually what drives the 64 bit TimeTicks. By using the smaller value, we avoid the need for locks, or even atomic operations for the most part in the tracking system. On linux, we just down-sample the standard TimeTicks to 32 bits for consistency (clean ability to snapshot asyncronously without atomics... but I should verify that such is helpful to performance). I've also put in yet more cleanup and refactoring. tbr=rtenneti bug=101856 Review URL: http://codereview.chromium.org/8414036 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/8430004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107961 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 107939 - Pile of nits for tracked object enablementjoth@chromium.org2011-10-311-36/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Re-land of Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107921 with supressions for induced (and planned) leaks) PLUS Removed one line of defensive coding where I set(NULL) the TLS slote at thread teardown. We're seeing strange failures on the base unittests, and they may be related to this. ] Be extra carful about handling races in access to status_. This will avoid generating a delta between a null time and a real time, when status is changing in/around the run of a task. This won't help with the benign race for checking status_, but it may help with unit test tsan complaints. Leak data aggressively, rather than cleaning up, to prevent any chance of a data access race between tracked object testing (which need a near-virgin global state, and hence must start by cleaning it up), and other tests, which may have lingering threaded actions, that still access some previously created task tracking data. Provide more options for flags to enable/disable tracking. These options might become useful if we changed the default to not do tracking. Allow for HTML generation even if the tracking has changed to being disabled. This is especially useful for looking at the tracked instances that were monitored after turning tracking on by default, but before the command line deactiated tracking. tbr=rtenneti bug=102327 Review URL: http://codereview.chromium.org/8425010 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/8430003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107960 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 107940 - Remove DCHECK that tickles TLS during shutdownjoth@chromium.org2011-10-311-0/+1
| | | | | | | | | | | | Repair busted tree. TBR=rtenneti Review URL: http://codereview.chromium.org/8425013 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/8430002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107959 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 107944 - Avoid all unnecessary calls to TLS during thread teardownjoth@chromium.org2011-10-311-0/+1
| | | | | | | | | | | | | | | | | | Mac base_unittests is still flaky.... Pthread is still sometimes crashing Mac on shutdown. I'm suspicious that my handlers are tickling it. This removes a DCHECK(), which checked status in TLS during the teardown. TBR=rtenneti Review URL: http://codereview.chromium.org/8424013 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/8431003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107958 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid all unnecessary calls to TLS during thread teardownjar@chromium.org2011-10-311-1/+0
| | | | | | | | | | | | | | | Mac base_unittests is still flaky.... Pthread is still sometimes crashing Mac on shutdown. I'm suspicious that my handlers are tickling it. This removes a DCHECK(), which checked status in TLS during the teardown. TBR=rtenneti Review URL: http://codereview.chromium.org/8424013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107944 0039d316-1c4b-4281-b951-d872f2087c98
* Remove DCHECK that tickles TLS during shutdownjar@chromium.org2011-10-311-1/+0
| | | | | | | | | Repair busted tree. TBR=rtenneti Review URL: http://codereview.chromium.org/8425013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107940 0039d316-1c4b-4281-b951-d872f2087c98
* Pile of nits for tracked object enablementjar@chromium.org2011-10-311-13/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Re-land of Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107921 with supressions for induced (and planned) leaks) PLUS Removed one line of defensive coding where I set(NULL) the TLS slote at thread teardown. We're seeing strange failures on the base unittests, and they may be related to this. ] Be extra carful about handling races in access to status_. This will avoid generating a delta between a null time and a real time, when status is changing in/around the run of a task. This won't help with the benign race for checking status_, but it may help with unit test tsan complaints. Leak data aggressively, rather than cleaning up, to prevent any chance of a data access race between tracked object testing (which need a near-virgin global state, and hence must start by cleaning it up), and other tests, which may have lingering threaded actions, that still access some previously created task tracking data. Provide more options for flags to enable/disable tracking. These options might become useful if we changed the default to not do tracking. Allow for HTML generation even if the tracking has changed to being disabled. This is especially useful for looking at the tracked instances that were monitored after turning tracking on by default, but before the command line deactiated tracking. tbr=rtenneti bug=102327 Review URL: http://codereview.chromium.org/8425010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107939 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 107928 - Pile of nits for tracked object enablementjar@chromium.org2011-10-311-36/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Re-land of Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107921 with supressions for induced (and planned) leaks) ] Be extra carful about handling races in access to status_. This will avoid generating a delta between a null time and a real time, when status is changing in/around the run of a task. This won't help with the benign race for checking status_, but it may help with unit test tsan complaints. Leak data aggressively, rather than cleaning up, to prevent any chance of a data access race between tracked object testing (which need a near-virgin global state, and hence must start by cleaning it up), and other tests, which may have lingering threaded actions, that still access some previously created task tracking data. Provide more options for flags to enable/disable tracking. These options might become useful if we changed the default to not do tracking. Allow for HTML generation even if the tracking has changed to being disabled. This is especially useful for looking at the tracked instances that were monitored after turning tracking on by default, but before the command line deactiated tracking. tbr=rtenneti bug=102327 Review URL: http://codereview.chromium.org/8414053 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/8422004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107931 0039d316-1c4b-4281-b951-d872f2087c98
* Pile of nits for tracked object enablementjar@chromium.org2011-10-311-12/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Re-land of Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107921 with supressions for induced (and planned) leaks) ] Be extra carful about handling races in access to status_. This will avoid generating a delta between a null time and a real time, when status is changing in/around the run of a task. This won't help with the benign race for checking status_, but it may help with unit test tsan complaints. Leak data aggressively, rather than cleaning up, to prevent any chance of a data access race between tracked object testing (which need a near-virgin global state, and hence must start by cleaning it up), and other tests, which may have lingering threaded actions, that still access some previously created task tracking data. Provide more options for flags to enable/disable tracking. These options might become useful if we changed the default to not do tracking. Allow for HTML generation even if the tracking has changed to being disabled. This is especially useful for looking at the tracked instances that were monitored after turning tracking on by default, but before the command line deactiated tracking. tbr=rtenneti bug=102327 Review URL: http://codereview.chromium.org/8414053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107928 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 107921 - Pile of nits for tracked object enablementjar@chromium.org2011-10-311-36/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Being extra conservative an leaking tracking data got the base_unittest heap_checkers too excited. I need a supresion to match what we already have in the browser runs to calm them... so I'll revert for now.] Be extra carful about handling races in access to status_. This will avoid generating a delta between a null time and a real time, when status is changing in/around the run of a task. This won't help with the benign race for checking status_, but it may help with unit test tsan complaints. Leak data aggressively, rather than cleaning up, to prevent any chance of a data access race between tracked object testing (which need a near-virgin global state, and hence must start by cleaning it up), and other tests, which may have lingering threaded actions, that still access some previously created task tracking data. Provide more options for flags to enable/disable tracking. These options might become useful if we changed the default to not do tracking. Allow for HTML generation even if the tracking has changed to being disabled. This is especially useful for looking at the tracked instances that were monitored after turning tracking on by default, but before the command line deactiated tracking. r=rtenneti bug=102327 Review URL: http://codereview.chromium.org/8414050 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/8414051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107922 0039d316-1c4b-4281-b951-d872f2087c98
* Pile of nits for tracked object enablementjar@chromium.org2011-10-311-12/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Be extra carful about handling races in access to status_. This will avoid generating a delta between a null time and a real time, when status is changing in/around the run of a task. This won't help with the benign race for checking status_, but it may help with unit test tsan complaints. Leak data aggressively, rather than cleaning up, to prevent any chance of a data access race between tracked object testing (which need a near-virgin global state, and hence must start by cleaning it up), and other tests, which may have lingering threaded actions, that still access some previously created task tracking data. Provide more options for flags to enable/disable tracking. These options might become useful if we changed the default to not do tracking. Allow for HTML generation even if the tracking has changed to being disabled. This is especially useful for looking at the tracked instances that were monitored after turning tracking on by default, but before the command line deactiated tracking. r=rtenneti bug=102327 Review URL: http://codereview.chromium.org/8414050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107921 0039d316-1c4b-4281-b951-d872f2087c98
* Revert log change to thread_local_win to fix an internal compiler error whenbrettw@chromium.org2011-10-311-1/+1
| | | | | | | | | doing official Chrome builds. TBR=1aforge Review URL: http://codereview.chromium.org/8424004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107910 0039d316-1c4b-4281-b951-d872f2087c98
* Fully enable about:tracking by defaultjar@chromium.org2011-10-3013-368/+754
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a re-land of: http://codereview.chromium.org/8391019/ Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107793 Original landing had trouble with message_loop_x.h, due to header include ordering. I pulled out the structure that was really needed by tracked_objects.h into a new file tracked_info.*. This allows tracked_objects to inlude this tracked_info, but not have to include the message_loop.h totality. I also removed a DCHECK that that was triggering on a test, and added yet one more file (browser_main.cc) where I removed a #ifdef for TRACKING_ALL_OBJECTS. The changes were minor, and I'm hoping to get clear perf runs with tihs landing, so I'm going to TBR it and reland early in the morning. Comments from original landing: Support is now controlled by the flag: --enable-tracking and the default is always on. To turn it off, use: --enable-tracking=0 All profiler code is compiled now in release and official builds (in addition to debug, where it was already active), but most entry points can be disabled (turned into no-ops) by a single const bool setting atop tracked_objects.cc (in case folks want to revert the perf-impact of this change). Transition to faster Now() service on Windows for the profiler use only. The TimeTicks::Now() function on Window uses locking to get a 64 bit time value. This CL transitions times used for profiling to more directly use a 32 bit Time interface, which is actually what drives the 64 bit TimeTicks. By using the smaller value, we avoid the need for locks, or even atomic operations for the most part in the tracking system. On linux, we just down-sample the standard TimeTicks to 32 bits for consistency (clean ability to snapshot asyncronously without atomics... but I should verify that such is helpful to performance). I've also put in yet more cleanup and refactoring. tbr=rtenneti bug=101856 Review URL: http://codereview.chromium.org/8414036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107895 0039d316-1c4b-4281-b951-d872f2087c98
* Expose the sandbox related code through the content API. I did a bit of ↵jam@chromium.org2011-10-295-20/+31
| | | | | | | | | | | | | cleanup while I was doing this. -got rid of SandboxInitWrapper, since I didn't see a need to expose given that we can just expose sandbox::SandboxInterfaceInfo -got rid of the duplicated code to initialize the broker -since I made MainFunctionParams only have the sandbox struct on Windows, I also made the mac specific auto release pool behind an ifdef as well. It seemed odd to make something so mac specific compile on all platforms to save some #ifdefs. BUG=98716 Review URL: http://codereview.chromium.org/8414020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107863 0039d316-1c4b-4281-b951-d872f2087c98
* add classes trace_analyzer::Query and TraceAnalyzer to improve testing (retry)jbates@chromium.org2011-10-296-20/+1693
| | | | | | | | | | | http://codereview.chromium.org/7981004/ BUG=95714 TEST=base_unittests Review URL: http://codereview.chromium.org/8418044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107861 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 107813 - add classes trace_analyzer::Query and TraceAnalyzer to make ↵jbates@chromium.org2011-10-296-1693/+20
| | | | | | | | | | | | | | | | it easy to search through trace data. This also adds a trace_analyzer::TraceEvent class that can be constructed from JSON data (via base::Value). TraceEvent mirrors base::debug::TraceEvent in a form that is lower performance and easier to use in test code. BUG=95714 TEST=base_unittests Review URL: http://codereview.chromium.org/7981004 TBR=jbates@chromium.org Review URL: http://codereview.chromium.org/8413063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107845 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 107830 - Fix BASE_EXPORT on QueryNodejbates@chromium.org2011-10-291-1/+1
| | | | | | | | | | | TBR=eroman Review URL: http://codereview.chromium.org/8400079 TBR=jbates@chromium.org Review URL: http://codereview.chromium.org/8400081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107843 0039d316-1c4b-4281-b951-d872f2087c98
* Temporary instrumentation to help understand lock errors on mac debug bots.eroman@chromium.org2011-10-292-0/+47
| | | | | | | | BUG=102161 Review URL: http://codereview.chromium.org/8414031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107835 0039d316-1c4b-4281-b951-d872f2087c98
* Fix BASE_EXPORT on QueryNodejbates@chromium.org2011-10-291-1/+1
| | | | | | | | TBR=eroman Review URL: http://codereview.chromium.org/8400079 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107830 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Change a static initializer to a LazyInstance, and add some typedefs.thestig@chromium.org2011-10-281-25/+30
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/8413052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107824 0039d316-1c4b-4281-b951-d872f2087c98
* add classes trace_analyzer::Query and TraceAnalyzer to make it easy to ↵jbates@chromium.org2011-10-286-20/+1693
| | | | | | | | | | | | | search through trace data. This also adds a trace_analyzer::TraceEvent class that can be constructed from JSON data (via base::Value). TraceEvent mirrors base::debug::TraceEvent in a form that is lower performance and easier to use in test code. BUG=95714 TEST=base_unittests Review URL: http://codereview.chromium.org/7981004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107813 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 107793 - Fully enable about:tracking by defaultjar@chromium.org2011-10-2810-561/+362
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support is now controlled by the flag: --enable-tracking and the default is always on. To turn it off, use: --enable-tracking=0 All profiler code is compiled now in release and official builds (in addition to debug, where it was already active), but most entry points can be disabled (turned into no-ops) by a single const bool setting atop tracked_objects.cc (in case folks want to revert the perf-impact of this change). Transition to faster Now() service on Windows for the profiler use only. The TimeTicks::Now() function on Window uses locking to get a 64 bit time value. This CL transitions times used for profiling to more directly use a 32 bit Time interface, which is actually what drives the 64 bit TimeTicks. By using the smaller value, we avoid the need for locks, or even atomic operations for the most part in the tracking system. On linux, we just down-sample the standard TimeTicks to 32 bits for consistency (clean ability to snapshot asyncronously without atomics... but I should verify that such is helpful to performance). I've also put in yet more cleanup and refactoring. r=rtenneti bug=101856 Review URL: http://codereview.chromium.org/8391019 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/8400073 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107799 0039d316-1c4b-4281-b951-d872f2087c98
* Fully enable about:tracking by defaultjar@chromium.org2011-10-2810-362/+561
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support is now controlled by the flag: --enable-tracking and the default is always on. To turn it off, use: --enable-tracking=0 All profiler code is compiled now in release and official builds (in addition to debug, where it was already active), but most entry points can be disabled (turned into no-ops) by a single const bool setting atop tracked_objects.cc (in case folks want to revert the perf-impact of this change). Transition to faster Now() service on Windows for the profiler use only. The TimeTicks::Now() function on Window uses locking to get a 64 bit time value. This CL transitions times used for profiling to more directly use a 32 bit Time interface, which is actually what drives the 64 bit TimeTicks. By using the smaller value, we avoid the need for locks, or even atomic operations for the most part in the tracking system. On linux, we just down-sample the standard TimeTicks to 32 bits for consistency (clean ability to snapshot asyncronously without atomics... but I should verify that such is helpful to performance). I've also put in yet more cleanup and refactoring. r=rtenneti bug=101856 Review URL: http://codereview.chromium.org/8391019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107793 0039d316-1c4b-4281-b951-d872f2087c98
* Replace most LOG/CHECK statements with DLOG/DCHECK statements in base.brettw@chromium.org2011-10-2656-240/+741
| | | | | | | | | | | [ 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
* rename file_path_watcher_mac to file_path_watcher_kqueuerobert.nagy@gmail.com2011-10-252-1/+12
| | | | | | | | | | | | | so that other platforms (*bsd) with kqueue can use it BUG= TEST= Review URL: http://codereview.chromium.org/8393013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107240 0039d316-1c4b-4281-b951-d872f2087c98
* base::Bind: Convert CloudPrintProxyService.jhawkins@chromium.org2011-10-251-4/+5
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/8368014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107235 0039d316-1c4b-4281-b951-d872f2087c98
* Clarify comments for |RemoveChars()| and |TrimString()| that the char array ↵asvitkine@chromium.org2011-10-251-3/+4
| | | | | | | | | | | param must be null terminated. TEST=none BUG=none Review URL: http://codereview.chromium.org/8396009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107198 0039d316-1c4b-4281-b951-d872f2087c98
* Remove static function pointerjoth@chromium.org2011-10-251-15/+8
| | | | | | | | | | | | | This save ~1720B from the size of debug chrome build. Also make the traits Delete method typesafe. BUG=None TEST=lazy_instance unittests Review URL: http://codereview.chromium.org/8393002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107170 0039d316-1c4b-4281-b951-d872f2087c98