summaryrefslogtreecommitdiffstats
path: root/base
Commit message (Collapse)AuthorAgeFilesLines
* add missing header dependencyensonic@google.com2011-11-081-1/+2
| | | | | | | | | | | R=tony BUG= TEST= Review URL: http://codereview.chromium.org/8200001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109055 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of Revert 108752 - Support tracking of IPC messages as tasks in profilerjar@chromium.org2011-11-0811-198/+401
| | | | | | | | | | | | | | | | | | | | | | | | This is a relanding of all the cleanup found in the original CL, without the hooks to actually monitor the IPC calls. I'm trying to find out what caused the ASAN bot failures by landing piecemeal (per discussion with Joi). The original CL was: Support tracking of IPC messages as tasks in profiler Also started to do more cleanup, including creating a base/profiler directory, and moving parts of the over-sized tracked_objects.* into that directory. r=rtenneti Review URL: http://codereview.chromium.org/8480014 But this CL is: TBR=joi Review URL: http://codereview.chromium.org/8499022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109040 0039d316-1c4b-4281-b951-d872f2087c98
* Disable EnableTerminationOnHeapCorruption() on Mac under AddressSanitizer.glider@chromium.org2011-11-081-0/+5
| | | | | | Review URL: http://codereview.chromium.org/8503013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109023 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 109010 - Merge FileUtilProxy and FileSystemFileUtilProxy using ↵joi@chromium.org2011-11-082-39/+19
| | | | | | | | | | | | | | PostTaskAndReply: Delete/Touch/Truncate/Copy/Move BUG=none TEST=test_shell_tests:FileSystem* Review URL: http://codereview.chromium.org/8424007 TBR=kinuko@chromium.org Review URL: http://codereview.chromium.org/8497012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109015 0039d316-1c4b-4281-b951-d872f2087c98
* Merge FileUtilProxy and FileSystemFileUtilProxy using PostTaskAndReply: ↵kinuko@chromium.org2011-11-082-19/+39
| | | | | | | | | | | Delete/Touch/Truncate/Copy/Move BUG=none TEST=test_shell_tests:FileSystem* Review URL: http://codereview.chromium.org/8424007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109010 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 108752 - Support tracking of IPC messages as tasks in profilerjoi@chromium.org2011-11-0811-401/+198
| | | | | | | | | | | | | | Also started to do more cleanup, including creating a base/profiler directory, and moving parts of the over-sized tracked_objects.* into that directory. r=rtenneti Review URL: http://codereview.chromium.org/8480014 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/8496008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109004 0039d316-1c4b-4281-b951-d872f2087c98
* A couple comment updatesjoth@chromium.org2011-11-082-1/+2
| | | | | | | | | | | | | Add a comment to worker pool, as on first reading it I thought there was a bug with name going out of scope. + a minor fix the thread.h BUG=None TEST=None Review URL: http://codereview.chromium.org/8463004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109002 0039d316-1c4b-4281-b951-d872f2087c98
* More sanity unittests to make sure AddressSanitizer is instrumenting the code.glider@chromium.org2011-11-081-1/+26
| | | | | | Review URL: http://codereview.chromium.org/8491013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108994 0039d316-1c4b-4281-b951-d872f2087c98
* Retry: Merge FileUtilProxy and FileSystemFileUtilProxy using ↵kinuko@chromium.org2011-11-082-27/+100
| | | | | | | | | | | | | PostTaskAndReply: CreateOrOpen/Close Original reviewed issue: http://codereview.chromium.org/8424006/ BUG=none TEST=test_shell_tests:*FileSystem* Review URL: http://codereview.chromium.org/8499005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108991 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a few typos in tracked_objects.hisherman@chromium.org2011-11-081-14/+14
| | | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/8478016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108988 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 107835 (since the underlying issue has been identified and fixed) - ↵eroman@chromium.org2011-11-082-47/+0
| | | | | | | | | | | | | Temporary instrumentation to help understand lock errors on mac debug bots. BUG=102161 Review URL: http://codereview.chromium.org/8414031 TBR=eroman@chromium.org Review URL: http://codereview.chromium.org/8497002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108963 0039d316-1c4b-4281-b951-d872f2087c98
* fix typo introduced in CR# 8341026robert.nagy@gmail.com2011-11-081-1/+1
| | | | | | | | | | BUG= TEST= Review URL: http://codereview.chromium.org/8490020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108952 0039d316-1c4b-4281-b951-d872f2087c98
* Add missing BASE_EXPORT to fix buildjoth@chromium.org2011-11-071-1/+2
| | | | | | | | | | | | In follow up to http://src.chromium.org/viewvc/chrome?view=rev&revision=108853 BUG=None TEST=http://chromegw.corp.google.com/i/chromium/builders/Linux%20Builder%20%28dbg%29%28shared%29 goes green TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/8491010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108855 0039d316-1c4b-4281-b951-d872f2087c98
* Thin out the Singeton template codejoth@chromium.org2011-11-073-22/+53
| | | | | | | | | | | | - hides platform_thread.h from users of singelton - knock 4KB off the release binary size BUG=None TEST=Nothing breaks Review URL: http://codereview.chromium.org/8475007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108853 0039d316-1c4b-4281-b951-d872f2087c98
* Minor cleanup: Make method private that is only used for testingjar@chromium.org2011-11-062-17/+27
| | | | | | | r=rtenneti Review URL: http://codereview.chromium.org/8484003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108817 0039d316-1c4b-4281-b951-d872f2087c98
* Remove calls to g_thread_init().willchan@chromium.org2011-11-051-1/+0
| | | | | | | | | | | | Linux CPU profiles indicate that at least 2.7% of CPU usage is spent in glib atomic operations. This used to be necessary in the browser process due to loading plugins which may invoke gtk/glib. Plugin loading has been moved out of process now, so this should no longer be necessary. I also removed dbus_g_thread_init() which *should* be safe too, although it's possible that we have unknown dbus-glib use off the UI thread. BUG=none TEST=none Review URL: http://codereview.chromium.org/8474012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108767 0039d316-1c4b-4281-b951-d872f2087c98
* Copy WebKit's DEFINE_STATIC_LOCAL to base/basictypes.hthakis@chromium.org2011-11-051-0/+7
| | | | | | | | | | | | Use it to remove 3 exit time destructors and 1 static initializer. BUG=101600,94925 TEST=none Review URL: http://codereview.chromium.org/8474010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108765 0039d316-1c4b-4281-b951-d872f2087c98
* Support tracking of IPC messages as tasks in profilerjar@chromium.org2011-11-0511-198/+401
| | | | | | | | | | | Also started to do more cleanup, including creating a base/profiler directory, and moving parts of the over-sized tracked_objects.* into that directory. r=rtenneti Review URL: http://codereview.chromium.org/8480014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108752 0039d316-1c4b-4281-b951-d872f2087c98
* Minor perf and size optimization - don't do asserts in release buildjoth@chromium.org2011-11-042-0/+6
| | | | | | | | | | | Avoiding the pthread_getspecific call on every pointer access seems worth it (and it reduces templated code size) BUG=None TEST=None Review URL: http://codereview.chromium.org/8465010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108678 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up some API in trace_event_analyzer.h and add some getters.jbates@chromium.org2011-11-043-29/+126
| | | | | | Review URL: http://codereview.chromium.org/8438058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108672 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 108639 - again it seems to have broken Mac layout testskinuko@chromium.org2011-11-042-100/+27
| | | | | | | | | | | | | | | | Original issue with review is: http://codereview.chromium.org/8424006/ BUG=none TEST=test_shell_tests:\*FileSystem\* TBR=willchan, caseq Review URL: http://codereview.chromium.org/8466003 TBR=kinuko@chromium.org Review URL: http://codereview.chromium.org/8466007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108643 0039d316-1c4b-4281-b951-d872f2087c98
* Original issue with review is:kinuko@chromium.org2011-11-042-27/+100
| | | | | | | | | | | | http://codereview.chromium.org/8424006/ BUG=none TEST=test_shell_tests:\*FileSystem\* TBR=willchan, caseq Review URL: http://codereview.chromium.org/8466003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108639 0039d316-1c4b-4281-b951-d872f2087c98
* Remove 2 unused definitions from base/basictypes.hthakis@chromium.org2011-11-041-12/+0
| | | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/8334037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108626 0039d316-1c4b-4281-b951-d872f2087c98
* Change three LazyInstances I added earlier to be leaky.thakis@chromium.org2011-11-042-4/+9
| | | | | | | | | | | | | | | | Without this, they were still be cleaned up at exit, which is unnecessary and slow, and some threads might not even have an AtExitManager. With this, we leak 2 Locks and 1 ThreadLocalBoolean at exit. BUG=101600 TEST=none Review URL: http://codereview.chromium.org/8450015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108605 0039d316-1c4b-4281-b951-d872f2087c98
* Remove 1 exit time destructor and 1 static initializer from watchdog.ccthakis@chromium.org2011-11-042-30/+33
| | | | | | | | | | | | | | This file will now leak a lock at exit time. Also move the static data from the .h to the .cc file. BUG=101600, 94925 TEST=none Review URL: http://codereview.chromium.org/8453001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108597 0039d316-1c4b-4281-b951-d872f2087c98
* Support max of profiled times as well as sum and averagejar@chromium.org2011-11-043-48/+176
| | | | | | | r=rtenneti Review URL: http://codereview.chromium.org/8438062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108593 0039d316-1c4b-4281-b951-d872f2087c98
* 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