summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--base/base.gypi4
-rw-r--r--base/files/file_path_watcher_linux.cc1
-rw-r--r--base/location.cc (renamed from base/tracked.cc)70
-rw-r--r--base/location.h (renamed from base/tracked.h)76
-rw-r--r--base/message_loop.h2
-rw-r--r--base/message_loop_proxy.cc1
-rw-r--r--base/message_loop_proxy.h4
-rw-r--r--base/message_loop_proxy_impl.cc2
-rw-r--r--base/observer_list_threadsafe.h1
-rw-r--r--base/synchronization/waitable_event_watcher_posix.cc1
-rw-r--r--base/task.h3
-rw-r--r--base/test/thread_test_helper.cc2
-rw-r--r--base/threading/worker_pool.h5
-rw-r--r--base/threading/worker_pool_posix.h2
-rw-r--r--base/threading/worker_pool_unittest.cc6
-rw-r--r--base/timer.h1
-rw-r--r--base/tracked_objects.h29
-rw-r--r--base/tracked_objects_unittest.cc14
-rw-r--r--chrome/browser/mac/keystone_glue.mm1
-rw-r--r--chrome/browser/metrics/metrics_reporting_scheduler.h1
-rw-r--r--chrome/browser/prefs/pref_model_associator.cc2
-rw-r--r--chrome/browser/sync/abstract_profile_sync_service_test.cc2
-rw-r--r--chrome/browser/sync/api/sync_error.cc2
-rw-r--r--chrome/browser/sync/api/sync_error_unittest.cc2
-rw-r--r--chrome/browser/sync/api/syncable_service_mock.h2
-rw-r--r--chrome/browser/sync/engine/apply_updates_command.cc2
-rw-r--r--chrome/browser/sync/engine/apply_updates_command_unittest.cc2
-rw-r--r--chrome/browser/sync/engine/build_and_process_conflict_sets_command.cc2
-rw-r--r--chrome/browser/sync/engine/conflict_resolver.cc2
-rw-r--r--chrome/browser/sync/engine/post_commit_message_command.cc2
-rw-r--r--chrome/browser/sync/engine/process_commit_response_command.cc2
-rw-r--r--chrome/browser/sync/engine/process_commit_response_command_unittest.cc2
-rw-r--r--chrome/browser/sync/engine/process_updates_command.cc2
-rw-r--r--chrome/browser/sync/engine/sync_scheduler.cc2
-rw-r--r--chrome/browser/sync/engine/syncer.cc2
-rw-r--r--chrome/browser/sync/engine/syncer_unittest.cc4
-rw-r--r--chrome/browser/sync/engine/syncer_util.cc2
-rw-r--r--chrome/browser/sync/engine/verify_updates_command.cc2
-rw-r--r--chrome/browser/sync/engine/verify_updates_command_unittest.cc2
-rw-r--r--chrome/browser/sync/glue/autofill_change_processor.cc2
-rw-r--r--chrome/browser/sync/glue/autofill_model_associator.cc2
-rw-r--r--chrome/browser/sync/glue/autofill_profile_syncable_service.cc3
-rw-r--r--chrome/browser/sync/glue/autofill_profile_syncable_service_unittest.cc3
-rw-r--r--chrome/browser/sync/glue/bookmark_change_processor.cc2
-rw-r--r--chrome/browser/sync/glue/bookmark_model_associator.cc2
-rw-r--r--chrome/browser/sync/glue/data_type_controller.h2
-rw-r--r--chrome/browser/sync/glue/data_type_manager_mock.cc2
-rw-r--r--chrome/browser/sync/glue/generic_change_processor.cc2
-rw-r--r--chrome/browser/sync/glue/model_associator_mock.h2
-rw-r--r--chrome/browser/sync/glue/password_change_processor.cc2
-rw-r--r--chrome/browser/sync/glue/password_model_associator.cc2
-rw-r--r--chrome/browser/sync/glue/session_model_associator.cc2
-rw-r--r--chrome/browser/sync/glue/sync_backend_host.cc2
-rw-r--r--chrome/browser/sync/glue/theme_change_processor.cc2
-rw-r--r--chrome/browser/sync/glue/theme_model_associator.cc2
-rw-r--r--chrome/browser/sync/glue/typed_url_change_processor.cc2
-rw-r--r--chrome/browser/sync/glue/typed_url_model_associator.cc2
-rw-r--r--chrome/browser/sync/internal_api/syncapi_unittest.cc2
-rw-r--r--chrome/browser/sync/js/js_sync_manager_observer.cc2
-rw-r--r--chrome/browser/sync/js/js_sync_manager_observer_unittest.cc2
-rw-r--r--chrome/browser/sync/js/js_transaction_observer.cc2
-rw-r--r--chrome/browser/sync/profile_sync_service.h2
-rw-r--r--chrome/browser/sync/profile_sync_service_autofill_unittest.cc2
-rw-r--r--chrome/browser/sync/profile_sync_service_bookmark_unittest.cc2
-rw-r--r--chrome/browser/sync/profile_sync_service_harness.cc2
-rw-r--r--chrome/browser/sync/profile_sync_service_password_unittest.cc2
-rw-r--r--chrome/browser/sync/profile_sync_service_preference_unittest.cc2
-rw-r--r--chrome/browser/sync/profile_sync_service_session_unittest.cc2
-rw-r--r--chrome/browser/sync/profile_sync_service_typed_url_unittest.cc2
-rw-r--r--chrome/browser/sync/sessions/sync_session_unittest.cc2
-rw-r--r--chrome/browser/sync/sync_js_controller.cc2
-rw-r--r--chrome/browser/sync/syncable/syncable.cc2
-rw-r--r--chrome/browser/sync/syncable/syncable.h2
-rw-r--r--chrome/browser/sync/syncable/syncable_mock.cc2
-rw-r--r--chrome/browser/sync/syncable/syncable_unittest.cc2
-rw-r--r--chrome/browser/sync/test/engine/mock_connection_manager.cc2
-rw-r--r--chrome/browser/sync/test/engine/test_directory_setter_upper.cc2
-rw-r--r--chrome/browser/sync/unrecoverable_error_handler.h4
-rw-r--r--chrome/browser/sync/util/logging.cc2
-rw-r--r--chrome/browser/sync/util/weak_handle.cc2
-rw-r--r--chrome/browser/sync/util/weak_handle.h1
-rw-r--r--chrome/browser/sync/util/weak_handle_unittest.cc2
-rw-r--r--chrome/profile_import/profile_import_thread.cc1
-rw-r--r--chrome_frame/chrome_frame_delegate.h2
-rw-r--r--chrome_frame/external_tab.cc4
-rw-r--r--chrome_frame/external_tab_test.cc4
-rw-r--r--chrome_frame/task_marshaller.cc3
-rw-r--r--content/browser/in_process_webkit/dom_storage_message_filter.h1
-rw-r--r--content/browser/renderer_host/render_widget_host_view_win.h1
-rw-r--r--crypto/openssl_util.h2
-rw-r--r--ipc/ipc_channel_posix.cc1
-rw-r--r--ipc/ipc_channel_proxy.cc1
-rw-r--r--ipc/ipc_logging.cc3
-rw-r--r--ipc/ipc_sync_channel.cc1
-rw-r--r--ipc/ipc_sync_message_filter.cc1
-rw-r--r--media/video/capture/video_capture_proxy.cc1
-rw-r--r--net/base/dnsrr_resolver.cc1
-rw-r--r--net/base/keygen_handler_unittest.cc1
-rw-r--r--net/base/origin_bound_cert_service.cc1
-rw-r--r--net/base/test_root_certs_openssl.cc2
-rw-r--r--net/disk_cache/file_posix.cc1
-rw-r--r--net/disk_cache/in_flight_io.cc1
-rw-r--r--net/dns/watching_file_reader.cc2
-rw-r--r--net/http/http_cache.cc1
-rw-r--r--net/http/http_cache.h1
-rw-r--r--net/proxy/network_delegate_error_observer.cc1
-rw-r--r--net/proxy/polling_proxy_config_service.cc1
-rw-r--r--net/url_request/url_request_context_getter.cc1
-rw-r--r--remoting/client/plugin/pepper_xmpp_proxy.cc1
-rw-r--r--remoting/host/json_host_config.cc3
-rw-r--r--remoting/host/plugin/policy_hack/nat_policy.cc4
-rw-r--r--remoting/protocol/buffered_socket_writer.cc3
-rw-r--r--remoting/protocol/connection_to_client.cc1
-rw-r--r--remoting/protocol/connection_to_host.cc1
-rw-r--r--remoting/protocol/input_sender.cc1
-rw-r--r--remoting/protocol/jingle_session.cc1
-rw-r--r--remoting/protocol/message_reader.cc1
-rw-r--r--webkit/appcache/appcache_group.h1
-rw-r--r--webkit/database/database_quota_client.cc1
-rw-r--r--webkit/fileapi/file_system_quota_util.cc1
120 files changed, 162 insertions, 252 deletions
diff --git a/base/base.gypi b/base/base.gypi
index c6ea838..6860c2d2 100644
--- a/base/base.gypi
+++ b/base/base.gypi
@@ -119,6 +119,8 @@
'lazy_instance.cc',
'lazy_instance.h',
'linked_list.h',
+ 'location.cc',
+ 'location.h',
'logging.cc',
'logging.h',
'logging_win.cc',
@@ -308,8 +310,6 @@
'time_win.cc',
'timer.cc',
'timer.h',
- 'tracked.cc',
- 'tracked.h',
'tracked_objects.cc',
'tracked_objects.h',
'tuple.h',
diff --git a/base/files/file_path_watcher_linux.cc b/base/files/file_path_watcher_linux.cc
index 2dfd54bd..c85202c 100644
--- a/base/files/file_path_watcher_linux.cc
+++ b/base/files/file_path_watcher_linux.cc
@@ -21,6 +21,7 @@
#include "base/file_util.h"
#include "base/hash_tables.h"
#include "base/lazy_instance.h"
+#include "base/location.h"
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
#include "base/message_loop.h"
diff --git a/base/tracked.cc b/base/location.cc
index 517591b..cda5159 100644
--- a/base/tracked.cc
+++ b/base/location.cc
@@ -7,22 +7,16 @@
#if defined(COMPILER_MSVC)
// MSDN says to #include <intrin.h>, but that breaks the VS2005 build.
extern "C" {
-void* _ReturnAddress();
+ void* _ReturnAddress();
}
#endif
-#include "base/tracked.h"
-
+#include "base/location.h"
#include "base/string_number_conversions.h"
#include "base/stringprintf.h"
-#include "base/tracked_objects.h"
-
-using base::TimeTicks;
namespace tracked_objects {
-//------------------------------------------------------------------------------
-
Location::Location(const char* function_name,
const char* file_name,
int line_number,
@@ -90,64 +84,4 @@ BASE_EXPORT const void* GetProgramCounter() {
return NULL;
}
-//------------------------------------------------------------------------------
-
-#if !defined(TRACK_ALL_TASK_OBJECTS)
-
-Tracked::Tracked() : birth_program_counter_(NULL) {}
-Tracked::~Tracked() {}
-
-void Tracked::SetBirthPlace(const Location& from_here) {
- birth_program_counter_ = from_here.program_counter();
-}
-
-const Location Tracked::GetBirthPlace() const {
- static Location kNone("NoFunctionName", "NeedToSetBirthPlace", -1, NULL);
- return kNone;
-}
-bool Tracked::MissingBirthPlace() const { return false; }
-void Tracked::ResetBirthTime() {}
-
-#else
-
-Tracked::Tracked()
- : tracked_births_(NULL),
- tracked_birth_time_(TimeTicks::Now()) {
-}
-
-Tracked::~Tracked() {
- if (!ThreadData::IsActive() || !tracked_births_)
- return;
- ThreadData::current()->TallyADeath(*tracked_births_,
- TimeTicks::Now() - tracked_birth_time_);
-}
-
-void Tracked::SetBirthPlace(const Location& from_here) {
- if (!ThreadData::IsActive())
- return;
- if (tracked_births_)
- tracked_births_->ForgetBirth();
- ThreadData* current_thread_data = ThreadData::current();
- if (!current_thread_data)
- return; // Shutdown started, and this thread wasn't registered.
- tracked_births_ = current_thread_data->TallyABirth(from_here);
-
- birth_program_counter_ = from_here.program_counter();
-}
-
-const Location Tracked::GetBirthPlace() const {
- static Location kNone("UnknownFunctionName", "UnknownFile", -1, NULL);
- return tracked_births_ ? tracked_births_->location() : kNone;
-}
-
-void Tracked::ResetBirthTime() {
- tracked_birth_time_ = TimeTicks::Now();
-}
-
-bool Tracked::MissingBirthPlace() const {
- return !tracked_births_ || tracked_births_->location().line_number() == -1;
-}
-
-#endif // !defined(TRACK_ALL_TASK_OBJECTS)
-
} // namespace tracked_objects
diff --git a/base/tracked.h b/base/location.h
index 337f3e0..fab8f4f 100644
--- a/base/tracked.h
+++ b/base/location.h
@@ -2,27 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-//------------------------------------------------------------------------------
-// Tracked is the base class for all tracked objects. During construction, it
-// registers the fact that an instance was created, and at destruction time, it
-// records that event. The instance may be tagged with a name, which is refered
-// to as its Location. The Location is a file and line number, most
-// typically indicated where the object was constructed. In some cases, as the
-// object's significance is refined (for example, a Task object is augmented to
-// do additonal things), its Location may be redefined to that later location.
-
-// Tracking includes (for each instance) recording the birth thread, death
-// thread, and duration of life (from construction to destruction). All this
-// data is accumulated and filtered for review at about:objects.
-
-#ifndef BASE_TRACKED_H_
-#define BASE_TRACKED_H_
-#pragma once
+#ifndef BASE_LOCATION_H_
+#define BASE_LOCATION_H_
#include <string>
#include "base/base_export.h"
-#include "base/time.h"
#ifndef NDEBUG
#ifndef TRACK_ALL_TASK_OBJECTS
@@ -32,10 +17,8 @@
namespace tracked_objects {
-//------------------------------------------------------------------------------
// Location provides basic info where of an object was constructed, or was
// significantly brought to life.
-
class BASE_EXPORT Location {
public:
// Constructor should be called with a long-lived char*, such as __FILE__.
@@ -85,66 +68,13 @@ class BASE_EXPORT Location {
BASE_EXPORT const void* GetProgramCounter();
-//------------------------------------------------------------------------------
// Define a macro to record the current source location.
-
#define FROM_HERE tracked_objects::Location( \
__FUNCTION__, \
__FILE__, \
__LINE__, \
tracked_objects::GetProgramCounter()) \
-
-//------------------------------------------------------------------------------
-
-
-class Births;
-
-class BASE_EXPORT Tracked {
- public:
- Tracked();
- virtual ~Tracked();
-
- // Used to record the FROM_HERE location of a caller.
- void SetBirthPlace(const Location& from_here);
- const Location GetBirthPlace() const;
-
- // When a task sits around a long time, such as in a timer, or object watcher,
- // this method should be called when the task becomes active, and its
- // significant lifetime begins (and its waiting to be woken up has passed).
- void ResetBirthTime();
-
- bool MissingBirthPlace() const;
-
-#if defined(TRACK_ALL_TASK_OBJECTS)
- base::TimeTicks tracked_birth_time() const { return tracked_birth_time_; }
-#else
- base::TimeTicks tracked_birth_time() const { return base::TimeTicks::Now(); }
-#endif // defined(TRACK_ALL_TASK_OBJECTS)
-
- // Returns null if SetBirthPlace has not been called.
- const void* get_birth_program_counter() const {
- return birth_program_counter_;
- }
-
- private:
-#if defined(TRACK_ALL_TASK_OBJECTS)
-
- // Pointer to instance were counts of objects with the same birth location
- // (on the same thread) are stored.
- Births* tracked_births_;
- // The time this object was constructed. If its life consisted of a long
- // waiting period, and then it became active, then this value is generally
- // reset before the object begins it active life.
- base::TimeTicks tracked_birth_time_;
-
-#endif // defined(TRACK_ALL_TASK_OBJECTS)
-
- const void* birth_program_counter_;
-
- DISALLOW_COPY_AND_ASSIGN(Tracked);
-};
-
} // namespace tracked_objects
-#endif // BASE_TRACKED_H_
+#endif // BASE_LOCATION_H_
diff --git a/base/message_loop.h b/base/message_loop.h
index 4742b5f..ab4978a 100644
--- a/base/message_loop.h
+++ b/base/message_loop.h
@@ -12,6 +12,7 @@
#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/callback.h"
+#include "base/location.h"
#include "base/memory/ref_counted.h"
#include "base/message_loop_proxy.h"
#include "base/message_pump.h"
@@ -19,7 +20,6 @@
#include "base/synchronization/lock.h"
#include "base/task.h"
#include "base/time.h"
-#include "base/tracked.h"
#if defined(OS_WIN)
// We need this to declare base::MessagePumpWin::Dispatcher, which we should
diff --git a/base/message_loop_proxy.cc b/base/message_loop_proxy.cc
index 7433e25..c821704 100644
--- a/base/message_loop_proxy.cc
+++ b/base/message_loop_proxy.cc
@@ -5,6 +5,7 @@
#include "base/message_loop_proxy.h"
#include "base/bind.h"
+#include "base/location.h"
namespace base {
diff --git a/base/message_loop_proxy.h b/base/message_loop_proxy.h
index 89da97d..d783b4e 100644
--- a/base/message_loop_proxy.h
+++ b/base/message_loop_proxy.h
@@ -12,6 +12,10 @@
#include "base/memory/ref_counted.h"
#include "base/task.h"
+namespace tracked_objects {
+class Location;
+} // namespace tracked_objects
+
namespace base {
struct MessageLoopProxyTraits;
diff --git a/base/message_loop_proxy_impl.cc b/base/message_loop_proxy_impl.cc
index 6b52351..b826916 100644
--- a/base/message_loop_proxy_impl.cc
+++ b/base/message_loop_proxy_impl.cc
@@ -3,6 +3,8 @@
// found in the LICENSE file.
#include "base/message_loop_proxy_impl.h"
+
+#include "base/location.h"
#include "base/threading/thread_restrictions.h"
namespace base {
diff --git a/base/observer_list_threadsafe.h b/base/observer_list_threadsafe.h
index 22cc951..9dbc041 100644
--- a/base/observer_list_threadsafe.h
+++ b/base/observer_list_threadsafe.h
@@ -11,6 +11,7 @@
#include "base/basictypes.h"
#include "base/callback_old.h"
+#include "base/location.h"
#include "base/logging.h"
#include "base/memory/ref_counted.h"
#include "base/message_loop.h"
diff --git a/base/synchronization/waitable_event_watcher_posix.cc b/base/synchronization/waitable_event_watcher_posix.cc
index 0d6ff26..cdb7df690 100644
--- a/base/synchronization/waitable_event_watcher_posix.cc
+++ b/base/synchronization/waitable_event_watcher_posix.cc
@@ -4,6 +4,7 @@
#include "base/synchronization/waitable_event_watcher.h"
+#include "base/location.h"
#include "base/message_loop.h"
#include "base/synchronization/lock.h"
#include "base/synchronization/waitable_event.h"
diff --git a/base/task.h b/base/task.h
index 3ff0640..4a33de0 100644
--- a/base/task.h
+++ b/base/task.h
@@ -10,7 +10,6 @@
#include "base/debug/alias.h"
#include "base/memory/raw_scoped_refptr_mismatch_checker.h"
#include "base/memory/weak_ptr.h"
-#include "base/tracked.h"
#include "base/tuple.h"
namespace base {
@@ -22,7 +21,7 @@ const size_t kDeadTask = 0xDEAD7A53;
// A task is a generic runnable thingy, usually used for running code on a
// different thread or for scheduling future tasks off of the message loop.
-class BASE_EXPORT Task : public tracked_objects::Tracked {
+class BASE_EXPORT Task {
public:
Task();
virtual ~Task();
diff --git a/base/test/thread_test_helper.cc b/base/test/thread_test_helper.cc
index e79ca92..b762d97 100644
--- a/base/test/thread_test_helper.cc
+++ b/base/test/thread_test_helper.cc
@@ -4,6 +4,8 @@
#include "base/test/thread_test_helper.h"
+#include "base/location.h"
+
namespace base {
ThreadTestHelper::ThreadTestHelper(MessageLoopProxy* target_thread)
diff --git a/base/threading/worker_pool.h b/base/threading/worker_pool.h
index 384dcd1..697cc7c 100644
--- a/base/threading/worker_pool.h
+++ b/base/threading/worker_pool.h
@@ -8,10 +8,13 @@
#include "base/base_export.h"
#include "base/callback.h"
-#include "base/tracked.h"
class Task;
+namespace tracked_objects {
+class Location;
+} // namespace tracked_objects
+
namespace base {
// This is a facility that runs tasks that don't require a specific thread or
diff --git a/base/threading/worker_pool_posix.h b/base/threading/worker_pool_posix.h
index b1930e6..990f50a 100644
--- a/base/threading/worker_pool_posix.h
+++ b/base/threading/worker_pool_posix.h
@@ -30,12 +30,12 @@
#include "base/basictypes.h"
#include "base/callback.h"
+#include "base/location.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "base/synchronization/condition_variable.h"
#include "base/synchronization/lock.h"
#include "base/threading/platform_thread.h"
-#include "base/tracked.h"
class Task;
diff --git a/base/threading/worker_pool_unittest.cc b/base/threading/worker_pool_unittest.cc
index f044e10..2d2b055 100644
--- a/base/threading/worker_pool_unittest.cc
+++ b/base/threading/worker_pool_unittest.cc
@@ -1,10 +1,12 @@
-// Copyright (c) 2008 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/threading/worker_pool.h"
+
+#include "base/location.h"
#include "base/task.h"
#include "base/synchronization/waitable_event.h"
-#include "base/threading/worker_pool.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/platform_test.h"
diff --git a/base/timer.h b/base/timer.h
index 30cb109..4f443a2 100644
--- a/base/timer.h
+++ b/base/timer.h
@@ -48,6 +48,7 @@
// should be able to tell the difference.
#include "base/base_export.h"
+#include "base/location.h"
#include "base/logging.h"
#include "base/task.h"
#include "base/time.h"
diff --git a/base/tracked_objects.h b/base/tracked_objects.h
index 6044408..508099a 100644
--- a/base/tracked_objects.h
+++ b/base/tracked_objects.h
@@ -11,8 +11,9 @@
#include <vector>
#include "base/base_export.h"
+#include "base/location.h"
+#include "base/time.h"
#include "base/synchronization/lock.h"
-#include "base/tracked.h"
#include "base/threading/thread_local_storage.h"
// TrackedObjects provides a database of stats about objects (generally Tasks)
@@ -57,23 +58,24 @@
// freely accessed by any thread at any time (i.e., only the statistic needs to
// be handled carefully, and it is ONLY read or written by the birth thread).
//
-// Having now either constructed or found the Births instance described above, a
-// pointer to the Births instance is then embedded in a base class of the
-// instance we're tracking (usually a Task). This fact alone is very useful in
+// For Tasks, having now either constructed or found the Births instance
+// described above, a pointer to the Births instance is then recorded into the
+// PendingTask structure in MessageLoop. This fact alone is very useful in
// debugging, when there is a question of where an instance came from. In
-// addition, the birth time is also embedded in the base class Tracked (see
-// tracked.h), and used to later evaluate the lifetime duration.
-// As a result of the above embedding, we can (for any tracked instance) find
-// out its location of birth, and thread of birth, without using any locks, as
-// all that data is constant across the life of the process.
+// addition, the birth time is also recorded and used to later evaluate the
+// lifetime duration of the whole Task. As a result of the above embedding, we
+// can find out a Task's location of birth, and thread of birth, without using
+// any locks, as all that data is constant across the life of the process.
+//
+// This can also be done for any other object as well by calling
+// TallyABirthIfActive() and TallyADeathIfActive() as appropriate.
//
// The amount of memory used in the above data structures depends on how many
// threads there are, and how many Locations of construction there are.
// Fortunately, we don't use memory that is the product of those two counts, but
// rather we only need one Births instance for each thread that constructs an
-// instance at a Location. In many cases, instances (such as Tasks) are only
-// created on one thread, so the memory utilization is actually fairly
-// restrained.
+// instance at a Location. In many cases, instances are only created on one
+// thread, so the memory utilization is actually fairly restrained.
//
// Lastly, when an instance is deleted, the final tallies of statistics are
// carefully accumulated. That tallying wrties into slots (members) in a
@@ -147,9 +149,8 @@
// are 64bit quantities, and are not atomicly accessed (reset or incremented
// etc.). For basic profiling, this will work "most of the time," and should be
// sufficient... but storing away DataCollections is the "right way" to do this.
-//
-class MessageLoop;
+class MessageLoop;
namespace tracked_objects {
diff --git a/base/tracked_objects_unittest.cc b/base/tracked_objects_unittest.cc
index e7d07a7..e10659d4 100644
--- a/base/tracked_objects_unittest.cc
+++ b/base/tracked_objects_unittest.cc
@@ -7,6 +7,7 @@
#include "base/tracked_objects.h"
#include "base/message_loop.h"
+#include "base/time.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace tracked_objects {
@@ -52,17 +53,13 @@ TEST_F(TrackedObjectsTest, MinimalStartupShutdown) {
ThreadData::ShutdownSingleThreadedCleanup();
}
-class NoopTracked : public tracked_objects::Tracked {
-};
-
TEST_F(TrackedObjectsTest, TinyStartupShutdown) {
if (!ThreadData::StartTracking(true))
return;
// Instigate tracking on a single tracked object, or our thread.
const Location& location = FROM_HERE;
- NoopTracked tracked;
- tracked.SetBirthPlace(location);
+ ThreadData::TallyABirthIfActive(location);
const ThreadData* data = ThreadData::first();
ASSERT_TRUE(data);
@@ -78,9 +75,10 @@ TEST_F(TrackedObjectsTest, TinyStartupShutdown) {
// Now instigate a birth, and a death.
- NoopTracked* new_tracked = new NoopTracked;
- new_tracked->SetBirthPlace(location);
- delete new_tracked;
+ const Births* second_birth = ThreadData::TallyABirthIfActive(location);
+ ThreadData::TallyADeathIfActive(
+ second_birth,
+ base::TimeDelta::FromSeconds(1) /* Bogus duration. */);
birth_map.clear();
data->SnapshotBirthMap(&birth_map);
diff --git a/chrome/browser/mac/keystone_glue.mm b/chrome/browser/mac/keystone_glue.mm
index 2b34466..9013703 100644
--- a/chrome/browser/mac/keystone_glue.mm
+++ b/chrome/browser/mac/keystone_glue.mm
@@ -10,6 +10,7 @@
#include <vector>
#include "base/file_util.h"
+#include "base/location.h"
#include "base/logging.h"
#include "base/mac/mac_util.h"
#include "base/mac/scoped_nsautorelease_pool.h"
diff --git a/chrome/browser/metrics/metrics_reporting_scheduler.h b/chrome/browser/metrics/metrics_reporting_scheduler.h
index 7774ec5..6392634 100644
--- a/chrome/browser/metrics/metrics_reporting_scheduler.h
+++ b/chrome/browser/metrics/metrics_reporting_scheduler.h
@@ -9,6 +9,7 @@
#include "base/basictypes.h"
#include "base/callback.h"
#include "base/task.h"
+#include "base/time.h"
// Scheduler task to drive a MetricsService object's uploading.
class MetricsReportingScheduler {
diff --git a/chrome/browser/prefs/pref_model_associator.cc b/chrome/browser/prefs/pref_model_associator.cc
index 88c9640..17fa1307 100644
--- a/chrome/browser/prefs/pref_model_associator.cc
+++ b/chrome/browser/prefs/pref_model_associator.cc
@@ -6,8 +6,8 @@
#include "base/auto_reset.h"
#include "base/json/json_reader.h"
+#include "base/location.h"
#include "base/logging.h"
-#include "base/tracked.h"
#include "base/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/browser/sync/api/sync_change.h"
diff --git a/chrome/browser/sync/abstract_profile_sync_service_test.cc b/chrome/browser/sync/abstract_profile_sync_service_test.cc
index 2c9de3e..19cb8fa 100644
--- a/chrome/browser/sync/abstract_profile_sync_service_test.cc
+++ b/chrome/browser/sync/abstract_profile_sync_service_test.cc
@@ -4,7 +4,7 @@
#include "chrome/browser/sync/abstract_profile_sync_service_test.h"
-#include "base/tracked.h"
+#include "base/location.h"
#include "chrome/browser/sync/internal_api/write_transaction.h"
#include "chrome/browser/sync/protocol/sync.pb.h"
#include "chrome/browser/sync/syncable/directory_manager.h"
diff --git a/chrome/browser/sync/api/sync_error.cc b/chrome/browser/sync/api/sync_error.cc
index 6ffa495..453a920 100644
--- a/chrome/browser/sync/api/sync_error.cc
+++ b/chrome/browser/sync/api/sync_error.cc
@@ -4,8 +4,8 @@
#include "chrome/browser/sync/api/sync_error.h"
+#include "base/location.h"
#include "base/logging.h"
-#include "base/tracked.h"
SyncError::SyncError() {
Clear();
diff --git a/chrome/browser/sync/api/sync_error_unittest.cc b/chrome/browser/sync/api/sync_error_unittest.cc
index 6e2d9a8..1a2489f 100644
--- a/chrome/browser/sync/api/sync_error_unittest.cc
+++ b/chrome/browser/sync/api/sync_error_unittest.cc
@@ -6,7 +6,7 @@
#include <string>
-#include "base/tracked.h"
+#include "base/location.h"
#include "testing/gtest/include/gtest/gtest.h"
using std::string;
diff --git a/chrome/browser/sync/api/syncable_service_mock.h b/chrome/browser/sync/api/syncable_service_mock.h
index e1e6bf7..2575183 100644
--- a/chrome/browser/sync/api/syncable_service_mock.h
+++ b/chrome/browser/sync/api/syncable_service_mock.h
@@ -6,7 +6,7 @@
#define CHROME_BROWSER_SYNC_API_SYNCABLE_SERVICE_MOCK_H_
#pragma once
-#include "base/tracked.h"
+#include "base/location.h"
#include "chrome/browser/sync/api/syncable_service.h"
#include "chrome/browser/sync/api/sync_change.h"
#include "testing/gmock/include/gmock/gmock.h"
diff --git a/chrome/browser/sync/engine/apply_updates_command.cc b/chrome/browser/sync/engine/apply_updates_command.cc
index 40ce3ec..6d1f958 100644
--- a/chrome/browser/sync/engine/apply_updates_command.cc
+++ b/chrome/browser/sync/engine/apply_updates_command.cc
@@ -4,7 +4,7 @@
#include "chrome/browser/sync/engine/apply_updates_command.h"
-#include "base/tracked.h"
+#include "base/location.h"
#include "chrome/browser/sync/engine/update_applicator.h"
#include "chrome/browser/sync/sessions/sync_session.h"
#include "chrome/browser/sync/syncable/directory_manager.h"
diff --git a/chrome/browser/sync/engine/apply_updates_command_unittest.cc b/chrome/browser/sync/engine/apply_updates_command_unittest.cc
index 8672a26..6214f34 100644
--- a/chrome/browser/sync/engine/apply_updates_command_unittest.cc
+++ b/chrome/browser/sync/engine/apply_updates_command_unittest.cc
@@ -5,8 +5,8 @@
#include <string>
#include "base/format_macros.h"
+#include "base/location.h"
#include "base/stringprintf.h"
-#include "base/tracked.h"
#include "chrome/browser/sync/engine/apply_updates_command.h"
#include "chrome/browser/sync/engine/nigori_util.h"
#include "chrome/browser/sync/engine/syncer.h"
diff --git a/chrome/browser/sync/engine/build_and_process_conflict_sets_command.cc b/chrome/browser/sync/engine/build_and_process_conflict_sets_command.cc
index cd02684..11f0aec 100644
--- a/chrome/browser/sync/engine/build_and_process_conflict_sets_command.cc
+++ b/chrome/browser/sync/engine/build_and_process_conflict_sets_command.cc
@@ -11,7 +11,7 @@
#include "base/basictypes.h"
#include "base/format_macros.h"
-#include "base/tracked.h"
+#include "base/location.h"
#include "chrome/browser/sync/engine/syncer_util.h"
#include "chrome/browser/sync/engine/update_applicator.h"
#include "chrome/browser/sync/sessions/sync_session.h"
diff --git a/chrome/browser/sync/engine/conflict_resolver.cc b/chrome/browser/sync/engine/conflict_resolver.cc
index 918b45f..25c2e18 100644
--- a/chrome/browser/sync/engine/conflict_resolver.cc
+++ b/chrome/browser/sync/engine/conflict_resolver.cc
@@ -8,8 +8,8 @@
#include <map>
#include <set>
+#include "base/location.h"
#include "base/metrics/histogram.h"
-#include "base/tracked.h"
#include "chrome/browser/sync/engine/syncer.h"
#include "chrome/browser/sync/engine/syncer_util.h"
#include "chrome/browser/sync/protocol/service_constants.h"
diff --git a/chrome/browser/sync/engine/post_commit_message_command.cc b/chrome/browser/sync/engine/post_commit_message_command.cc
index abc4ee1..c9b4af4 100644
--- a/chrome/browser/sync/engine/post_commit_message_command.cc
+++ b/chrome/browser/sync/engine/post_commit_message_command.cc
@@ -6,7 +6,7 @@
#include <vector>
-#include "base/tracked.h"
+#include "base/location.h"
#include "chrome/browser/sync/engine/syncer_proto_util.h"
#include "chrome/browser/sync/engine/syncproto.h"
#include "chrome/browser/sync/sessions/sync_session.h"
diff --git a/chrome/browser/sync/engine/process_commit_response_command.cc b/chrome/browser/sync/engine/process_commit_response_command.cc
index e5c73a7..49f1fbf 100644
--- a/chrome/browser/sync/engine/process_commit_response_command.cc
+++ b/chrome/browser/sync/engine/process_commit_response_command.cc
@@ -9,7 +9,7 @@
#include <vector>
#include "base/basictypes.h"
-#include "base/tracked.h"
+#include "base/location.h"
#include "chrome/browser/sync/engine/syncer_proto_util.h"
#include "chrome/browser/sync/engine/syncer_util.h"
#include "chrome/browser/sync/engine/syncproto.h"
diff --git a/chrome/browser/sync/engine/process_commit_response_command_unittest.cc b/chrome/browser/sync/engine/process_commit_response_command_unittest.cc
index a428622..2f5846c 100644
--- a/chrome/browser/sync/engine/process_commit_response_command_unittest.cc
+++ b/chrome/browser/sync/engine/process_commit_response_command_unittest.cc
@@ -4,8 +4,8 @@
#include <vector>
+#include "base/location.h"
#include "base/stringprintf.h"
-#include "base/tracked.h"
#include "chrome/browser/sync/engine/mock_model_safe_workers.h"
#include "chrome/browser/sync/engine/process_commit_response_command.h"
#include "chrome/browser/sync/protocol/bookmark_specifics.pb.h"
diff --git a/chrome/browser/sync/engine/process_updates_command.cc b/chrome/browser/sync/engine/process_updates_command.cc
index 33d3399..b0aa54b 100644
--- a/chrome/browser/sync/engine/process_updates_command.cc
+++ b/chrome/browser/sync/engine/process_updates_command.cc
@@ -7,7 +7,7 @@
#include <vector>
#include "base/basictypes.h"
-#include "base/tracked.h"
+#include "base/location.h"
#include "chrome/browser/sync/engine/syncer.h"
#include "chrome/browser/sync/engine/syncer_proto_util.h"
#include "chrome/browser/sync/engine/syncer_util.h"
diff --git a/chrome/browser/sync/engine/sync_scheduler.cc b/chrome/browser/sync/engine/sync_scheduler.cc
index d7d68ab..14991e6 100644
--- a/chrome/browser/sync/engine/sync_scheduler.cc
+++ b/chrome/browser/sync/engine/sync_scheduler.cc
@@ -8,10 +8,10 @@
#include <cstring>
#include "base/compiler_specific.h"
+#include "base/location.h"
#include "base/logging.h"
#include "base/message_loop.h"
#include "base/rand_util.h"
-#include "base/tracked.h"
#include "chrome/browser/sync/engine/syncer.h"
#include "chrome/browser/sync/protocol/sync.pb.h"
#include "chrome/browser/sync/protocol/proto_enum_conversions.h"
diff --git a/chrome/browser/sync/engine/syncer.cc b/chrome/browser/sync/engine/syncer.cc
index f9fa720..cf7cd97 100644
--- a/chrome/browser/sync/engine/syncer.cc
+++ b/chrome/browser/sync/engine/syncer.cc
@@ -4,9 +4,9 @@
#include "chrome/browser/sync/engine/syncer.h"
+#include "base/location.h"
#include "base/message_loop.h"
#include "base/time.h"
-#include "base/tracked.h"
#include "chrome/browser/sync/engine/apply_updates_command.h"
#include "chrome/browser/sync/engine/build_and_process_conflict_sets_command.h"
#include "chrome/browser/sync/engine/build_commit_command.h"
diff --git a/chrome/browser/sync/engine/syncer_unittest.cc b/chrome/browser/sync/engine/syncer_unittest.cc
index d4242ed..1fd48e4 100644
--- a/chrome/browser/sync/engine/syncer_unittest.cc
+++ b/chrome/browser/sync/engine/syncer_unittest.cc
@@ -14,10 +14,10 @@
#include "base/callback.h"
#include "base/compiler_specific.h"
+#include "base/location.h"
#include "base/memory/scoped_ptr.h"
-#include "base/stringprintf.h"
#include "base/string_number_conversions.h"
-#include "base/tracked.h"
+#include "base/stringprintf.h"
#include "build/build_config.h"
#include "chrome/browser/sync/engine/conflict_resolver.h"
#include "chrome/browser/sync/engine/get_commit_ids_command.h"
diff --git a/chrome/browser/sync/engine/syncer_util.cc b/chrome/browser/sync/engine/syncer_util.cc
index 5d64bdd..ba21c3a 100644
--- a/chrome/browser/sync/engine/syncer_util.cc
+++ b/chrome/browser/sync/engine/syncer_util.cc
@@ -9,7 +9,7 @@
#include <string>
#include <vector>
-#include "base/tracked.h"
+#include "base/location.h"
#include "chrome/browser/sync/engine/conflict_resolver.h"
#include "chrome/browser/sync/engine/nigori_util.h"
#include "chrome/browser/sync/engine/syncer_proto_util.h"
diff --git a/chrome/browser/sync/engine/verify_updates_command.cc b/chrome/browser/sync/engine/verify_updates_command.cc
index fe83446..8d233e2 100644
--- a/chrome/browser/sync/engine/verify_updates_command.cc
+++ b/chrome/browser/sync/engine/verify_updates_command.cc
@@ -4,7 +4,7 @@
#include "chrome/browser/sync/engine/verify_updates_command.h"
-#include "base/tracked.h"
+#include "base/location.h"
#include "chrome/browser/sync/engine/syncer.h"
#include "chrome/browser/sync/engine/syncer_proto_util.h"
#include "chrome/browser/sync/engine/syncer_types.h"
diff --git a/chrome/browser/sync/engine/verify_updates_command_unittest.cc b/chrome/browser/sync/engine/verify_updates_command_unittest.cc
index a6fa195..c2d3eda 100644
--- a/chrome/browser/sync/engine/verify_updates_command_unittest.cc
+++ b/chrome/browser/sync/engine/verify_updates_command_unittest.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "base/tracked.h"
+#include "base/location.h"
#include "chrome/browser/sync/engine/verify_updates_command.h"
#include "chrome/browser/sync/protocol/bookmark_specifics.pb.h"
#include "chrome/browser/sync/sessions/sync_session.h"
diff --git a/chrome/browser/sync/glue/autofill_change_processor.cc b/chrome/browser/sync/glue/autofill_change_processor.cc
index 8fe62de..54ce987 100644
--- a/chrome/browser/sync/glue/autofill_change_processor.cc
+++ b/chrome/browser/sync/glue/autofill_change_processor.cc
@@ -7,8 +7,8 @@
#include <string>
#include <vector>
+#include "base/location.h"
#include "base/string_util.h"
-#include "base/tracked.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/autofill/personal_data_manager.h"
#include "chrome/browser/profiles/profile.h"
diff --git a/chrome/browser/sync/glue/autofill_model_associator.cc b/chrome/browser/sync/glue/autofill_model_associator.cc
index d941bd7..fb45817 100644
--- a/chrome/browser/sync/glue/autofill_model_associator.cc
+++ b/chrome/browser/sync/glue/autofill_model_associator.cc
@@ -7,10 +7,10 @@
#include <functional>
#include <vector>
+#include "base/location.h"
#include "base/string_number_conversions.h"
#include "base/task.h"
#include "base/time.h"
-#include "base/tracked.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/autofill/autofill_profile.h"
#include "chrome/browser/profiles/profile.h"
diff --git a/chrome/browser/sync/glue/autofill_profile_syncable_service.cc b/chrome/browser/sync/glue/autofill_profile_syncable_service.cc
index 7be1e7b..aef0e43 100644
--- a/chrome/browser/sync/glue/autofill_profile_syncable_service.cc
+++ b/chrome/browser/sync/glue/autofill_profile_syncable_service.cc
@@ -4,8 +4,8 @@
#include "chrome/browser/sync/glue/autofill_profile_syncable_service.h"
+#include "base/location.h"
#include "base/logging.h"
-#include "base/tracked.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/sync/api/sync_error.h"
@@ -414,4 +414,3 @@ AutofillProfileSyncableService::DataBundle::~DataBundle() {
}
} // namespace browser_sync
-
diff --git a/chrome/browser/sync/glue/autofill_profile_syncable_service_unittest.cc b/chrome/browser/sync/glue/autofill_profile_syncable_service_unittest.cc
index 577b1a4..dc9433e 100644
--- a/chrome/browser/sync/glue/autofill_profile_syncable_service_unittest.cc
+++ b/chrome/browser/sync/glue/autofill_profile_syncable_service_unittest.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "base/tracked.h"
+#include "base/location.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/sync/glue/autofill_profile_syncable_service.h"
#include "chrome/browser/sync/internal_api/read_node_mock.h"
@@ -262,4 +262,3 @@ TEST_F(AutofillProfileSyncableServiceTest, ActOnChange) {
}
} // namespace browser_sync
-
diff --git a/chrome/browser/sync/glue/bookmark_change_processor.cc b/chrome/browser/sync/glue/bookmark_change_processor.cc
index 8ac8ec3..3735201 100644
--- a/chrome/browser/sync/glue/bookmark_change_processor.cc
+++ b/chrome/browser/sync/glue/bookmark_change_processor.cc
@@ -7,9 +7,9 @@
#include <stack>
#include <vector>
+#include "base/location.h"
#include "base/string16.h"
#include "base/string_util.h"
-#include "base/tracked.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/bookmarks/bookmark_model.h"
#include "chrome/browser/bookmarks/bookmark_utils.h"
diff --git a/chrome/browser/sync/glue/bookmark_model_associator.cc b/chrome/browser/sync/glue/bookmark_model_associator.cc
index faa377b..4e1f26b 100644
--- a/chrome/browser/sync/glue/bookmark_model_associator.cc
+++ b/chrome/browser/sync/glue/bookmark_model_associator.cc
@@ -8,9 +8,9 @@
#include "base/command_line.h"
#include "base/hash_tables.h"
+#include "base/location.h"
#include "base/message_loop.h"
#include "base/task.h"
-#include "base/tracked.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/bookmarks/bookmark_model.h"
#include "chrome/browser/profiles/profile.h"
diff --git a/chrome/browser/sync/glue/data_type_controller.h b/chrome/browser/sync/glue/data_type_controller.h
index 3108310..27b0460 100644
--- a/chrome/browser/sync/glue/data_type_controller.h
+++ b/chrome/browser/sync/glue/data_type_controller.h
@@ -10,7 +10,7 @@
#include <map>
#include "base/callback.h"
-#include "base/tracked.h"
+#include "base/location.h"
#include "chrome/browser/sync/engine/model_safe_worker.h"
#include "chrome/browser/sync/syncable/model_type.h"
#include "chrome/browser/sync/unrecoverable_error_handler.h"
diff --git a/chrome/browser/sync/glue/data_type_manager_mock.cc b/chrome/browser/sync/glue/data_type_manager_mock.cc
index fa088ff..be50dbb 100644
--- a/chrome/browser/sync/glue/data_type_manager_mock.cc
+++ b/chrome/browser/sync/glue/data_type_manager_mock.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "base/tracked.h"
+#include "base/location.h"
#include "chrome/browser/sync/glue/data_type_manager_mock.h"
#include "chrome/common/chrome_notification_types.h"
diff --git a/chrome/browser/sync/glue/generic_change_processor.cc b/chrome/browser/sync/glue/generic_change_processor.cc
index c55a222..8a064af2 100644
--- a/chrome/browser/sync/glue/generic_change_processor.cc
+++ b/chrome/browser/sync/glue/generic_change_processor.cc
@@ -4,7 +4,7 @@
#include "chrome/browser/sync/glue/generic_change_processor.h"
-#include "base/tracked.h"
+#include "base/location.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/sync/api/syncable_service.h"
#include "chrome/browser/sync/api/sync_change.h"
diff --git a/chrome/browser/sync/glue/model_associator_mock.h b/chrome/browser/sync/glue/model_associator_mock.h
index 3474eff..6208233 100644
--- a/chrome/browser/sync/glue/model_associator_mock.h
+++ b/chrome/browser/sync/glue/model_associator_mock.h
@@ -6,7 +6,7 @@
#define CHROME_BROWSER_SYNC_GLUE_MODEL_ASSOCIATOR_MOCK_H__
#pragma once
-#include "base/tracked.h"
+#include "base/location.h"
#include "chrome/browser/sync/api/sync_error.h"
#include "chrome/browser/sync/glue/model_associator.h"
#include "testing/gmock/include/gmock/gmock.h"
diff --git a/chrome/browser/sync/glue/password_change_processor.cc b/chrome/browser/sync/glue/password_change_processor.cc
index 325b486..715bdfb 100644
--- a/chrome/browser/sync/glue/password_change_processor.cc
+++ b/chrome/browser/sync/glue/password_change_processor.cc
@@ -6,8 +6,8 @@
#include <string>
+#include "base/location.h"
#include "base/string_util.h"
-#include "base/tracked.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/password_manager/password_store_change.h"
#include "chrome/browser/password_manager/password_store.h"
diff --git a/chrome/browser/sync/glue/password_model_associator.cc b/chrome/browser/sync/glue/password_model_associator.cc
index b853b3f..fecea08 100644
--- a/chrome/browser/sync/glue/password_model_associator.cc
+++ b/chrome/browser/sync/glue/password_model_associator.cc
@@ -6,8 +6,8 @@
#include <set>
+#include "base/location.h"
#include "base/stl_util.h"
-#include "base/tracked.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/password_manager/password_store.h"
#include "chrome/browser/sync/api/sync_error.h"
diff --git a/chrome/browser/sync/glue/session_model_associator.cc b/chrome/browser/sync/glue/session_model_associator.cc
index f0c985f..d9becf5 100644
--- a/chrome/browser/sync/glue/session_model_associator.cc
+++ b/chrome/browser/sync/glue/session_model_associator.cc
@@ -8,9 +8,9 @@
#include <set>
#include <utility>
+#include "base/location.h"
#include "base/logging.h"
#include "base/sys_info.h"
-#include "base/tracked.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/sessions/session_service_factory.h"
diff --git a/chrome/browser/sync/glue/sync_backend_host.cc b/chrome/browser/sync/glue/sync_backend_host.cc
index 73c42a0..5f663ca 100644
--- a/chrome/browser/sync/glue/sync_backend_host.cc
+++ b/chrome/browser/sync/glue/sync_backend_host.cc
@@ -13,9 +13,9 @@
#include "base/command_line.h"
#include "base/compiler_specific.h"
#include "base/file_util.h"
+#include "base/location.h"
#include "base/task.h"
#include "base/threading/thread_restrictions.h"
-#include "base/tracked.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/net/gaia/token_service.h"
#include "chrome/browser/prefs/pref_service.h"
diff --git a/chrome/browser/sync/glue/theme_change_processor.cc b/chrome/browser/sync/glue/theme_change_processor.cc
index 586a412..2b6a77d 100644
--- a/chrome/browser/sync/glue/theme_change_processor.cc
+++ b/chrome/browser/sync/glue/theme_change_processor.cc
@@ -4,8 +4,8 @@
#include "chrome/browser/sync/glue/theme_change_processor.h"
+#include "base/location.h"
#include "base/logging.h"
-#include "base/tracked.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/sync/glue/theme_util.h"
#include "chrome/browser/sync/internal_api/change_record.h"
diff --git a/chrome/browser/sync/glue/theme_model_associator.cc b/chrome/browser/sync/glue/theme_model_associator.cc
index 6b9ee5a..b854cbf 100644
--- a/chrome/browser/sync/glue/theme_model_associator.cc
+++ b/chrome/browser/sync/glue/theme_model_associator.cc
@@ -5,8 +5,8 @@
#include "chrome/browser/sync/glue/theme_model_associator.h"
#include "base/basictypes.h"
+#include "base/location.h"
#include "base/logging.h"
-#include "base/tracked.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/sync/api/sync_error.h"
#include "chrome/browser/sync/glue/sync_backend_host.h"
diff --git a/chrome/browser/sync/glue/typed_url_change_processor.cc b/chrome/browser/sync/glue/typed_url_change_processor.cc
index 15043ba..5845b8c 100644
--- a/chrome/browser/sync/glue/typed_url_change_processor.cc
+++ b/chrome/browser/sync/glue/typed_url_change_processor.cc
@@ -4,8 +4,8 @@
#include "chrome/browser/sync/glue/typed_url_change_processor.h"
+#include "base/location.h"
#include "base/string_util.h"
-#include "base/tracked.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/history/history_backend.h"
#include "chrome/browser/history/history_notifications.h"
diff --git a/chrome/browser/sync/glue/typed_url_model_associator.cc b/chrome/browser/sync/glue/typed_url_model_associator.cc
index cdfd779..2b55709 100644
--- a/chrome/browser/sync/glue/typed_url_model_associator.cc
+++ b/chrome/browser/sync/glue/typed_url_model_associator.cc
@@ -7,8 +7,8 @@
#include <algorithm>
#include <set>
+#include "base/location.h"
#include "base/logging.h"
-#include "base/tracked.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/history/history_backend.h"
#include "chrome/browser/sync/api/sync_error.h"
diff --git a/chrome/browser/sync/internal_api/syncapi_unittest.cc b/chrome/browser/sync/internal_api/syncapi_unittest.cc
index 529867e..7295966 100644
--- a/chrome/browser/sync/internal_api/syncapi_unittest.cc
+++ b/chrome/browser/sync/internal_api/syncapi_unittest.cc
@@ -12,12 +12,12 @@
#include "base/basictypes.h"
#include "base/compiler_specific.h"
#include "base/format_macros.h"
+#include "base/location.h"
#include "base/memory/scoped_ptr.h"
#include "base/message_loop.h"
#include "base/scoped_temp_dir.h"
#include "base/string_number_conversions.h"
#include "base/stringprintf.h"
-#include "base/tracked.h"
#include "base/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/browser/password_manager/encryptor.h"
diff --git a/chrome/browser/sync/js/js_sync_manager_observer.cc b/chrome/browser/sync/js/js_sync_manager_observer.cc
index 71fc1fbb..34eb060 100644
--- a/chrome/browser/sync/js/js_sync_manager_observer.cc
+++ b/chrome/browser/sync/js/js_sync_manager_observer.cc
@@ -6,8 +6,8 @@
#include <cstddef>
+#include "base/location.h"
#include "base/logging.h"
-#include "base/tracked.h"
#include "base/values.h"
#include "chrome/browser/sync/internal_api/change_record.h"
#include "chrome/browser/sync/js/js_arg_list.h"
diff --git a/chrome/browser/sync/js/js_sync_manager_observer_unittest.cc b/chrome/browser/sync/js/js_sync_manager_observer_unittest.cc
index 4073a28..c1c80d9 100644
--- a/chrome/browser/sync/js/js_sync_manager_observer_unittest.cc
+++ b/chrome/browser/sync/js/js_sync_manager_observer_unittest.cc
@@ -7,8 +7,8 @@
#include <cstddef>
#include "base/basictypes.h"
+#include "base/location.h"
#include "base/message_loop.h"
-#include "base/tracked.h"
#include "base/values.h"
#include "chrome/browser/sync/internal_api/read_node.h"
#include "chrome/browser/sync/internal_api/read_transaction.h"
diff --git a/chrome/browser/sync/js/js_transaction_observer.cc b/chrome/browser/sync/js/js_transaction_observer.cc
index c0d5b62..1cda1a0 100644
--- a/chrome/browser/sync/js/js_transaction_observer.cc
+++ b/chrome/browser/sync/js/js_transaction_observer.cc
@@ -6,9 +6,9 @@
#include <string>
+#include "base/location.h"
#include "base/logging.h"
#include "base/string_number_conversions.h"
-#include "base/tracked.h"
#include "base/values.h"
#include "chrome/browser/sync/js/js_event_details.h"
#include "chrome/browser/sync/js/js_event_handler.h"
diff --git a/chrome/browser/sync/profile_sync_service.h b/chrome/browser/sync/profile_sync_service.h
index 318f459..f0ac2c9 100644
--- a/chrome/browser/sync/profile_sync_service.h
+++ b/chrome/browser/sync/profile_sync_service.h
@@ -11,6 +11,7 @@
#include "base/basictypes.h"
#include "base/compiler_specific.h"
#include "base/gtest_prod_util.h"
+#include "base/location.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/observer_list.h"
@@ -18,7 +19,6 @@
#include "base/task.h"
#include "base/time.h"
#include "base/timer.h"
-#include "base/tracked.h"
#include "chrome/browser/prefs/pref_member.h"
#include "chrome/browser/sync/engine/model_safe_worker.h"
#include "chrome/browser/sync/glue/data_type_controller.h"
diff --git a/chrome/browser/sync/profile_sync_service_autofill_unittest.cc b/chrome/browser/sync/profile_sync_service_autofill_unittest.cc
index c886e47..3f6a175 100644
--- a/chrome/browser/sync/profile_sync_service_autofill_unittest.cc
+++ b/chrome/browser/sync/profile_sync_service_autofill_unittest.cc
@@ -9,6 +9,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "base/callback.h"
+#include "base/location.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "base/message_loop.h"
@@ -16,7 +17,6 @@
#include "base/synchronization/waitable_event.h"
#include "base/task.h"
#include "base/time.h"
-#include "base/tracked.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/autofill/autofill_common_test.h"
#include "chrome/browser/sync/abstract_profile_sync_service_test.h"
diff --git a/chrome/browser/sync/profile_sync_service_bookmark_unittest.cc b/chrome/browser/sync/profile_sync_service_bookmark_unittest.cc
index 9fe877c..1faafef 100644
--- a/chrome/browser/sync/profile_sync_service_bookmark_unittest.cc
+++ b/chrome/browser/sync/profile_sync_service_bookmark_unittest.cc
@@ -12,12 +12,12 @@
#include "base/command_line.h"
#include "base/file_path.h"
#include "base/file_util.h"
+#include "base/location.h"
#include "base/memory/scoped_ptr.h"
#include "base/message_loop.h"
#include "base/string16.h"
#include "base/string_number_conversions.h"
#include "base/string_util.h"
-#include "base/tracked.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/bookmarks/bookmark_model.h"
#include "chrome/browser/sync/abstract_profile_sync_service_test.h"
diff --git a/chrome/browser/sync/profile_sync_service_harness.cc b/chrome/browser/sync/profile_sync_service_harness.cc
index ba88bed..1caa66d 100644
--- a/chrome/browser/sync/profile_sync_service_harness.cc
+++ b/chrome/browser/sync/profile_sync_service_harness.cc
@@ -15,11 +15,11 @@
#include "base/base64.h"
#include "base/compiler_specific.h"
#include "base/json/json_writer.h"
+#include "base/location.h"
#include "base/logging.h"
#include "base/memory/ref_counted.h"
#include "base/message_loop.h"
#include "base/task.h"
-#include "base/tracked.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/sync/sessions/session_state.h"
#include "chrome/browser/sync/signin_manager.h"
diff --git a/chrome/browser/sync/profile_sync_service_password_unittest.cc b/chrome/browser/sync/profile_sync_service_password_unittest.cc
index 241fd9e..16e1a2f 100644
--- a/chrome/browser/sync/profile_sync_service_password_unittest.cc
+++ b/chrome/browser/sync/profile_sync_service_password_unittest.cc
@@ -6,11 +6,11 @@
#include "testing/gtest/include/gtest/gtest.h"
+#include "base/location.h"
#include "base/synchronization/waitable_event.h"
#include "base/task.h"
#include "base/test/test_timeouts.h"
#include "base/time.h"
-#include "base/tracked.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/password_manager/password_store.h"
#include "chrome/browser/prefs/pref_service.h"
diff --git a/chrome/browser/sync/profile_sync_service_preference_unittest.cc b/chrome/browser/sync/profile_sync_service_preference_unittest.cc
index bd9558b..6f0decc 100644
--- a/chrome/browser/sync/profile_sync_service_preference_unittest.cc
+++ b/chrome/browser/sync/profile_sync_service_preference_unittest.cc
@@ -6,10 +6,10 @@
#include <string>
#include "base/json/json_reader.h"
+#include "base/location.h"
#include "base/stl_util.h"
#include "base/string_piece.h"
#include "base/task.h"
-#include "base/tracked.h"
#include "chrome/browser/prefs/pref_model_associator.h"
#include "chrome/browser/prefs/scoped_user_pref_update.h"
#include "chrome/browser/sync/abstract_profile_sync_service_test.h"
diff --git a/chrome/browser/sync/profile_sync_service_session_unittest.cc b/chrome/browser/sync/profile_sync_service_session_unittest.cc
index fd28aa3..6200948 100644
--- a/chrome/browser/sync/profile_sync_service_session_unittest.cc
+++ b/chrome/browser/sync/profile_sync_service_session_unittest.cc
@@ -5,12 +5,12 @@
#include <map>
#include <string>
+#include "base/location.h"
#include "base/memory/scoped_ptr.h"
#include "base/message_loop.h"
#include "base/scoped_temp_dir.h"
#include "base/stl_util.h"
#include "base/task.h"
-#include "base/tracked.h"
#include "chrome/browser/sessions/session_service_factory.h"
#include "chrome/browser/sessions/session_service.h"
#include "chrome/browser/sessions/session_service_test_helper.h"
diff --git a/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc b/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc
index d99fe0e..26d05f4 100644
--- a/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc
+++ b/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc
@@ -6,11 +6,11 @@
#include "testing/gtest/include/gtest/gtest.h"
+#include "base/location.h"
#include "base/memory/ref_counted.h"
#include "base/string16.h"
#include "base/threading/thread.h"
#include "base/time.h"
-#include "base/tracked.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/history/history_backend.h"
#include "chrome/browser/history/history_notifications.h"
diff --git a/chrome/browser/sync/sessions/sync_session_unittest.cc b/chrome/browser/sync/sessions/sync_session_unittest.cc
index 34c91de..e80fb21 100644
--- a/chrome/browser/sync/sessions/sync_session_unittest.cc
+++ b/chrome/browser/sync/sessions/sync_session_unittest.cc
@@ -5,8 +5,8 @@
#include "chrome/browser/sync/sessions/sync_session.h"
#include "base/compiler_specific.h"
+#include "base/location.h"
#include "base/memory/ref_counted.h"
-#include "base/tracked.h"
#include "chrome/browser/sync/engine/conflict_resolver.h"
#include "chrome/browser/sync/engine/mock_model_safe_workers.h"
#include "chrome/browser/sync/engine/syncer_types.h"
diff --git a/chrome/browser/sync/sync_js_controller.cc b/chrome/browser/sync/sync_js_controller.cc
index 4843060..3f45b4e1 100644
--- a/chrome/browser/sync/sync_js_controller.cc
+++ b/chrome/browser/sync/sync_js_controller.cc
@@ -4,7 +4,7 @@
#include "chrome/browser/sync/sync_js_controller.h"
-#include "base/tracked.h"
+#include "base/location.h"
#include "chrome/browser/sync/js/js_backend.h"
#include "chrome/browser/sync/js/js_event_details.h"
diff --git a/chrome/browser/sync/syncable/syncable.cc b/chrome/browser/sync/syncable/syncable.cc
index a279e51..d28ef59 100644
--- a/chrome/browser/sync/syncable/syncable.cc
+++ b/chrome/browser/sync/syncable/syncable.cc
@@ -30,6 +30,7 @@
#include "base/compiler_specific.h"
#include "base/file_util.h"
#include "base/hash_tables.h"
+#include "base/location.h"
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
#include "base/perftimer.h"
@@ -37,7 +38,6 @@
#include "base/string_number_conversions.h"
#include "base/string_util.h"
#include "base/time.h"
-#include "base/tracked.h"
#include "base/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/browser/sync/protocol/proto_value_conversions.h"
diff --git a/chrome/browser/sync/syncable/syncable.h b/chrome/browser/sync/syncable/syncable.h
index e0fbe1d..bebf9a9 100644
--- a/chrome/browser/sync/syncable/syncable.h
+++ b/chrome/browser/sync/syncable/syncable.h
@@ -19,12 +19,12 @@
#include "base/basictypes.h"
#include "base/file_path.h"
#include "base/gtest_prod_util.h"
+#include "base/location.h"
#include "base/logging.h"
#include "base/memory/ref_counted.h"
#include "base/observer_list_threadsafe.h"
#include "base/synchronization/lock.h"
#include "base/time.h"
-#include "base/tracked.h"
#include "chrome/browser/sync/protocol/sync.pb.h"
#include "chrome/browser/sync/syncable/blob.h"
#include "chrome/browser/sync/syncable/dir_open_result.h"
diff --git a/chrome/browser/sync/syncable/syncable_mock.cc b/chrome/browser/sync/syncable/syncable_mock.cc
index da5e891..701c7bf 100644
--- a/chrome/browser/sync/syncable/syncable_mock.cc
+++ b/chrome/browser/sync/syncable/syncable_mock.cc
@@ -4,7 +4,7 @@
#include "chrome/browser/sync/syncable/syncable_mock.h"
-#include "base/tracked.h"
+#include "base/location.h"
MockDirectory::MockDirectory() {
InitKernel("myk", &delegate_);
diff --git a/chrome/browser/sync/syncable/syncable_unittest.cc b/chrome/browser/sync/syncable/syncable_unittest.cc
index 004e739..c79442c 100644
--- a/chrome/browser/sync/syncable/syncable_unittest.cc
+++ b/chrome/browser/sync/syncable/syncable_unittest.cc
@@ -23,13 +23,13 @@
#include "base/compiler_specific.h"
#include "base/file_path.h"
#include "base/file_util.h"
+#include "base/location.h"
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
#include "base/scoped_temp_dir.h"
#include "base/stringprintf.h"
#include "base/synchronization/condition_variable.h"
#include "base/threading/platform_thread.h"
-#include "base/tracked.h"
#include "base/values.h"
#include "chrome/browser/sync/engine/syncproto.h"
#include "chrome/browser/sync/protocol/bookmark_specifics.pb.h"
diff --git a/chrome/browser/sync/test/engine/mock_connection_manager.cc b/chrome/browser/sync/test/engine/mock_connection_manager.cc
index 22e11c0..f2e96c0 100644
--- a/chrome/browser/sync/test/engine/mock_connection_manager.cc
+++ b/chrome/browser/sync/test/engine/mock_connection_manager.cc
@@ -8,8 +8,8 @@
#include <map>
+#include "base/location.h"
#include "base/stringprintf.h"
-#include "base/tracked.h"
#include "chrome/browser/sync/engine/syncer_proto_util.h"
#include "chrome/browser/sync/protocol/bookmark_specifics.pb.h"
#include "chrome/browser/sync/test/engine/test_id_factory.h"
diff --git a/chrome/browser/sync/test/engine/test_directory_setter_upper.cc b/chrome/browser/sync/test/engine/test_directory_setter_upper.cc
index 44eeb19..4123540 100644
--- a/chrome/browser/sync/test/engine/test_directory_setter_upper.cc
+++ b/chrome/browser/sync/test/engine/test_directory_setter_upper.cc
@@ -6,8 +6,8 @@
#include "base/compiler_specific.h"
#include "base/file_util.h"
+#include "base/location.h"
#include "base/string_util.h"
-#include "base/tracked.h"
#include "chrome/browser/sync/syncable/directory_manager.h"
#include "chrome/browser/sync/syncable/syncable.h"
#include "testing/gtest/include/gtest/gtest.h"
diff --git a/chrome/browser/sync/unrecoverable_error_handler.h b/chrome/browser/sync/unrecoverable_error_handler.h
index c8471ef..6274279 100644
--- a/chrome/browser/sync/unrecoverable_error_handler.h
+++ b/chrome/browser/sync/unrecoverable_error_handler.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -8,7 +8,7 @@
#include <string>
-#include "base/tracked.h"
+#include "base/location.h"
namespace browser_sync {
diff --git a/chrome/browser/sync/util/logging.cc b/chrome/browser/sync/util/logging.cc
index 2951f8c..9601f58 100644
--- a/chrome/browser/sync/util/logging.cc
+++ b/chrome/browser/sync/util/logging.cc
@@ -4,7 +4,7 @@
#include "chrome/browser/sync/util/logging.h"
-#include "base/tracked.h"
+#include "base/location.h"
namespace browser_sync {
diff --git a/chrome/browser/sync/util/weak_handle.cc b/chrome/browser/sync/util/weak_handle.cc
index 71acad6..5246fa7 100644
--- a/chrome/browser/sync/util/weak_handle.cc
+++ b/chrome/browser/sync/util/weak_handle.cc
@@ -6,8 +6,8 @@
#include <sstream>
+#include "base/location.h"
#include "base/message_loop_proxy.h"
-#include "base/tracked.h"
namespace browser_sync {
diff --git a/chrome/browser/sync/util/weak_handle.h b/chrome/browser/sync/util/weak_handle.h
index 39be3e8..2ce3d80 100644
--- a/chrome/browser/sync/util/weak_handle.h
+++ b/chrome/browser/sync/util/weak_handle.h
@@ -54,6 +54,7 @@
#include "base/bind.h"
#include "base/callback.h"
#include "base/compiler_specific.h"
+#include "base/location.h"
#include "base/logging.h"
#include "base/memory/ref_counted.h"
#include "base/memory/weak_ptr.h"
diff --git a/chrome/browser/sync/util/weak_handle_unittest.cc b/chrome/browser/sync/util/weak_handle_unittest.cc
index 107f2da..e23b71e 100644
--- a/chrome/browser/sync/util/weak_handle_unittest.cc
+++ b/chrome/browser/sync/util/weak_handle_unittest.cc
@@ -6,10 +6,10 @@
#include "base/bind.h"
#include "base/compiler_specific.h"
+#include "base/location.h"
#include "base/memory/weak_ptr.h"
#include "base/message_loop.h"
#include "base/threading/thread.h"
-#include "base/tracked.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
diff --git a/chrome/profile_import/profile_import_thread.cc b/chrome/profile_import/profile_import_thread.cc
index d98a2b0..5a211fb 100644
--- a/chrome/profile_import/profile_import_thread.cc
+++ b/chrome/profile_import/profile_import_thread.cc
@@ -7,6 +7,7 @@
#include <stddef.h>
#include <algorithm>
+#include "base/location.h"
#include "base/message_loop.h"
#include "base/threading/thread.h"
#include "base/values.h"
diff --git a/chrome_frame/chrome_frame_delegate.h b/chrome_frame/chrome_frame_delegate.h
index 582365b..d2e9921 100644
--- a/chrome_frame/chrome_frame_delegate.h
+++ b/chrome_frame/chrome_frame_delegate.h
@@ -13,6 +13,7 @@
#include <vector>
#include "base/file_path.h"
+#include "base/location.h"
#include "base/synchronization/lock.h"
#include "base/task.h"
#include "chrome/common/automation_constants.h"
@@ -139,7 +140,6 @@ template <class T> class TaskMarshallerThroughWindowsMessages
TaskMarshallerThroughWindowsMessages() {}
virtual void PostTask(const tracked_objects::Location& from_here,
Task* task) {
- task->SetBirthPlace(from_here);
T* this_ptr = static_cast<T*>(this);
if (this_ptr->IsWindow()) {
this_ptr->AddRef();
diff --git a/chrome_frame/external_tab.cc b/chrome_frame/external_tab.cc
index 6be47a7..38e74aa 100644
--- a/chrome_frame/external_tab.cc
+++ b/chrome_frame/external_tab.cc
@@ -2,9 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome_frame/external_tab.h"
#include "base/lazy_instance.h"
-#include "base/tracked.h"
+#include "base/location.h"
+#include "chrome_frame/external_tab.h"
#include "base/task.h"
#include "base/synchronization/waitable_event.h"
#include "chrome/common/automation_messages.h"
diff --git a/chrome_frame/external_tab_test.cc b/chrome_frame/external_tab_test.cc
index 63834a0..9a30508 100644
--- a/chrome_frame/external_tab_test.cc
+++ b/chrome_frame/external_tab_test.cc
@@ -2,10 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome_frame/external_tab.h"
+#include "base/location.h"
#include "base/task.h"
#include "base/threading/thread.h"
-#include "base/tracked.h"
+#include "chrome_frame/external_tab.h"
// #include "base/synchronization/waitable_event.h"
diff --git a/chrome_frame/task_marshaller.cc b/chrome_frame/task_marshaller.cc
index 4b257a6..f597262 100644
--- a/chrome_frame/task_marshaller.cc
+++ b/chrome_frame/task_marshaller.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -17,7 +17,6 @@ TaskMarshallerThroughMessageQueue::~TaskMarshallerThroughMessageQueue() {
void TaskMarshallerThroughMessageQueue::PostTask(
const tracked_objects::Location& from_here, Task* task) {
DCHECK(wnd_ != NULL);
- task->SetBirthPlace(from_here);
lock_.Acquire();
bool has_work = !pending_tasks_.empty();
pending_tasks_.push(task);
diff --git a/content/browser/in_process_webkit/dom_storage_message_filter.h b/content/browser/in_process_webkit/dom_storage_message_filter.h
index 108d12e..6cef6f4 100644
--- a/content/browser/in_process_webkit/dom_storage_message_filter.h
+++ b/content/browser/in_process_webkit/dom_storage_message_filter.h
@@ -8,7 +8,6 @@
#include "base/memory/ref_counted.h"
#include "base/process.h"
-#include "base/tracked.h"
#include "content/browser/browser_message_filter.h"
#include "content/browser/in_process_webkit/dom_storage_area.h"
#include "content/browser/in_process_webkit/webkit_context.h"
diff --git a/content/browser/renderer_host/render_widget_host_view_win.h b/content/browser/renderer_host/render_widget_host_view_win.h
index d2047f3..74e58a6 100644
--- a/content/browser/renderer_host/render_widget_host_view_win.h
+++ b/content/browser/renderer_host/render_widget_host_view_win.h
@@ -17,6 +17,7 @@
#include "base/memory/scoped_ptr.h"
#include "base/memory/scoped_vector.h"
#include "base/task.h"
+#include "base/time.h"
#include "base/win/scoped_comptr.h"
#include "content/browser/accessibility/browser_accessibility_manager.h"
#include "content/browser/renderer_host/render_widget_host_view.h"
diff --git a/crypto/openssl_util.h b/crypto/openssl_util.h
index d1f3d1f..6c1d73b 100644
--- a/crypto/openssl_util.h
+++ b/crypto/openssl_util.h
@@ -7,7 +7,7 @@
#pragma once
#include "base/basictypes.h"
-#include "base/tracked.h"
+#include "base/location.h"
namespace crypto {
diff --git a/ipc/ipc_channel_posix.cc b/ipc/ipc_channel_posix.cc
index 27c62f5..1b52b65 100644
--- a/ipc/ipc_channel_posix.cc
+++ b/ipc/ipc_channel_posix.cc
@@ -20,6 +20,7 @@
#include "base/file_path.h"
#include "base/file_util.h"
#include "base/global_descriptors_posix.h"
+#include "base/location.h"
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/singleton.h"
diff --git a/ipc/ipc_channel_proxy.cc b/ipc/ipc_channel_proxy.cc
index fa4d69e..44933ae 100644
--- a/ipc/ipc_channel_proxy.cc
+++ b/ipc/ipc_channel_proxy.cc
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/location.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "ipc/ipc_channel_proxy.h"
diff --git a/ipc/ipc_logging.cc b/ipc/ipc_logging.cc
index 138e6ac..2dbd567 100644
--- a/ipc/ipc_logging.cc
+++ b/ipc/ipc_logging.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -9,6 +9,7 @@
#endif
#include "base/command_line.h"
+#include "base/location.h"
#include "base/logging.h"
#include "base/message_loop.h"
#include "base/process_util.h"
diff --git a/ipc/ipc_sync_channel.cc b/ipc/ipc_sync_channel.cc
index c135ef3..8fe5c37 100644
--- a/ipc/ipc_sync_channel.cc
+++ b/ipc/ipc_sync_channel.cc
@@ -5,6 +5,7 @@
#include "ipc/ipc_sync_channel.h"
#include "base/lazy_instance.h"
+#include "base/location.h"
#include "base/logging.h"
#include "base/threading/thread_local.h"
#include "base/synchronization/waitable_event.h"
diff --git a/ipc/ipc_sync_message_filter.cc b/ipc/ipc_sync_message_filter.cc
index c7a184c..f307573 100644
--- a/ipc/ipc_sync_message_filter.cc
+++ b/ipc/ipc_sync_message_filter.cc
@@ -4,6 +4,7 @@
#include "ipc/ipc_sync_message_filter.h"
+#include "base/location.h"
#include "base/logging.h"
#include "base/message_loop_proxy.h"
#include "base/synchronization/waitable_event.h"
diff --git a/media/video/capture/video_capture_proxy.cc b/media/video/capture/video_capture_proxy.cc
index efd2bef..0ee5393 100644
--- a/media/video/capture/video_capture_proxy.cc
+++ b/media/video/capture/video_capture_proxy.cc
@@ -4,6 +4,7 @@
#include "media/video/capture/video_capture_proxy.h"
+#include "base/location.h"
#include "base/message_loop_proxy.h"
namespace {
diff --git a/net/base/dnsrr_resolver.cc b/net/base/dnsrr_resolver.cc
index e0d43d9..a38ce40 100644
--- a/net/base/dnsrr_resolver.cc
+++ b/net/base/dnsrr_resolver.cc
@@ -12,6 +12,7 @@
#include <windns.h>
#endif
+#include "base/location.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/singleton.h"
#include "base/message_loop.h"
diff --git a/net/base/keygen_handler_unittest.cc b/net/base/keygen_handler_unittest.cc
index 52c7edf..f926311 100644
--- a/net/base/keygen_handler_unittest.cc
+++ b/net/base/keygen_handler_unittest.cc
@@ -8,6 +8,7 @@
#include "build/build_config.h"
#include "base/base64.h"
+#include "base/location.h"
#include "base/logging.h"
#include "base/task.h"
#include "base/threading/worker_pool.h"
diff --git a/net/base/origin_bound_cert_service.cc b/net/base/origin_bound_cert_service.cc
index 4f53fc3..8f7c4cb 100644
--- a/net/base/origin_bound_cert_service.cc
+++ b/net/base/origin_bound_cert_service.cc
@@ -7,6 +7,7 @@
#include <limits>
#include "base/compiler_specific.h"
+#include "base/location.h"
#include "base/logging.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
diff --git a/net/base/test_root_certs_openssl.cc b/net/base/test_root_certs_openssl.cc
index 6016e33..e01d5c9 100644
--- a/net/base/test_root_certs_openssl.cc
+++ b/net/base/test_root_certs_openssl.cc
@@ -7,8 +7,8 @@
#include <openssl/err.h>
#include <openssl/x509v3.h>
+#include "base/location.h"
#include "base/logging.h"
-#include "base/tracked.h"
#include "crypto/openssl_util.h"
#include "net/base/x509_certificate.h"
diff --git a/net/disk_cache/file_posix.cc b/net/disk_cache/file_posix.cc
index b767c17..6785a43 100644
--- a/net/disk_cache/file_posix.cc
+++ b/net/disk_cache/file_posix.cc
@@ -6,6 +6,7 @@
#include <fcntl.h>
+#include "base/location.h"
#include "base/logging.h"
#include "base/threading/worker_pool.h"
#include "net/base/net_errors.h"
diff --git a/net/disk_cache/in_flight_io.cc b/net/disk_cache/in_flight_io.cc
index 6f4b37c..5f0ea02 100644
--- a/net/disk_cache/in_flight_io.cc
+++ b/net/disk_cache/in_flight_io.cc
@@ -4,6 +4,7 @@
#include "net/disk_cache/in_flight_io.h"
+#include "base/location.h"
#include "base/logging.h"
namespace disk_cache {
diff --git a/net/dns/watching_file_reader.cc b/net/dns/watching_file_reader.cc
index 633f3aa..2a550bd 100644
--- a/net/dns/watching_file_reader.cc
+++ b/net/dns/watching_file_reader.cc
@@ -5,6 +5,7 @@
#include "net/dns/watching_file_reader.h"
#include "base/bind.h"
+#include "base/location.h"
#include "base/message_loop_proxy.h"
#include "base/threading/worker_pool.h"
@@ -134,4 +135,3 @@ void WatchingFileReader::OnReadJobFinished() {
}
} // namespace net
-
diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
index 738a539..91ba1f3 100644
--- a/net/http/http_cache.cc
+++ b/net/http/http_cache.cc
@@ -14,6 +14,7 @@
#include "base/callback.h"
#include "base/format_macros.h"
+#include "base/location.h"
#include "base/memory/ref_counted.h"
#include "base/message_loop.h"
#include "base/pickle.h"
diff --git a/net/http/http_cache.h b/net/http/http_cache.h
index e9f0e11..c756185 100644
--- a/net/http/http_cache.h
+++ b/net/http/http_cache.h
@@ -26,6 +26,7 @@
#include "base/memory/weak_ptr.h"
#include "base/message_loop_proxy.h"
#include "base/task.h"
+#include "base/time.h"
#include "base/threading/non_thread_safe.h"
#include "net/base/cache_type.h"
#include "net/base/completion_callback.h"
diff --git a/net/proxy/network_delegate_error_observer.cc b/net/proxy/network_delegate_error_observer.cc
index 6ffbe84..d4f6cfb 100644
--- a/net/proxy/network_delegate_error_observer.cc
+++ b/net/proxy/network_delegate_error_observer.cc
@@ -4,6 +4,7 @@
#include "net/proxy/network_delegate_error_observer.h"
+#include "base/location.h"
#include "base/message_loop_proxy.h"
#include "net/base/net_errors.h"
#include "net/base/network_delegate.h"
diff --git a/net/proxy/polling_proxy_config_service.cc b/net/proxy/polling_proxy_config_service.cc
index 339fda6..e1b921a 100644
--- a/net/proxy/polling_proxy_config_service.cc
+++ b/net/proxy/polling_proxy_config_service.cc
@@ -4,6 +4,7 @@
#include "net/proxy/polling_proxy_config_service.h"
+#include "base/location.h"
#include "base/memory/scoped_ptr.h"
#include "base/message_loop_proxy.h"
#include "base/observer_list.h"
diff --git a/net/url_request/url_request_context_getter.cc b/net/url_request/url_request_context_getter.cc
index a9790d9..b4ff367 100644
--- a/net/url_request/url_request_context_getter.cc
+++ b/net/url_request/url_request_context_getter.cc
@@ -4,6 +4,7 @@
#include "net/url_request/url_request_context_getter.h"
+#include "base/location.h"
#include "base/message_loop_proxy.h"
#include "net/url_request/url_request_context.h"
diff --git a/remoting/client/plugin/pepper_xmpp_proxy.cc b/remoting/client/plugin/pepper_xmpp_proxy.cc
index 9400c0b7a..f167e6e 100644
--- a/remoting/client/plugin/pepper_xmpp_proxy.cc
+++ b/remoting/client/plugin/pepper_xmpp_proxy.cc
@@ -5,6 +5,7 @@
#include "remoting/client/plugin/pepper_xmpp_proxy.h"
#include "base/bind.h"
+#include "base/location.h"
#include "base/message_loop_proxy.h"
#include "remoting/client/plugin/chromoting_scriptable_object.h"
diff --git a/remoting/host/json_host_config.cc b/remoting/host/json_host_config.cc
index 36b39f2e..2d2c884 100644
--- a/remoting/host/json_host_config.cc
+++ b/remoting/host/json_host_config.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -7,6 +7,7 @@
#include "base/file_util.h"
#include "base/json/json_reader.h"
#include "base/json/json_writer.h"
+#include "base/location.h"
#include "base/message_loop_proxy.h"
#include "base/synchronization/lock.h"
#include "base/task.h"
diff --git a/remoting/host/plugin/policy_hack/nat_policy.cc b/remoting/host/plugin/policy_hack/nat_policy.cc
index c32ed37..df1a1dc 100644
--- a/remoting/host/plugin/policy_hack/nat_policy.cc
+++ b/remoting/host/plugin/policy_hack/nat_policy.cc
@@ -9,9 +9,11 @@
#include "base/bind.h"
#include "base/compiler_specific.h"
-#include "base/message_loop_proxy.h"
+#include "base/location.h"
#include "base/memory/weak_ptr.h"
+#include "base/message_loop_proxy.h"
#include "base/synchronization/waitable_event.h"
+#include "base/time.h"
#include "base/values.h"
namespace remoting {
diff --git a/remoting/protocol/buffered_socket_writer.cc b/remoting/protocol/buffered_socket_writer.cc
index d993a37..c89a50e 100644
--- a/remoting/protocol/buffered_socket_writer.cc
+++ b/remoting/protocol/buffered_socket_writer.cc
@@ -1,9 +1,10 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "remoting/protocol/buffered_socket_writer.h"
+#include "base/location.h"
#include "base/message_loop_proxy.h"
#include "base/stl_util.h"
#include "net/base/net_errors.h"
diff --git a/remoting/protocol/connection_to_client.cc b/remoting/protocol/connection_to_client.cc
index f0cbc6a..c83e161 100644
--- a/remoting/protocol/connection_to_client.cc
+++ b/remoting/protocol/connection_to_client.cc
@@ -5,6 +5,7 @@
#include "remoting/protocol/connection_to_client.h"
#include "base/bind.h"
+#include "base/location.h"
#include "base/message_loop_proxy.h"
#include "google/protobuf/message.h"
#include "net/base/io_buffer.h"
diff --git a/remoting/protocol/connection_to_host.cc b/remoting/protocol/connection_to_host.cc
index 8452808..a816ac3 100644
--- a/remoting/protocol/connection_to_host.cc
+++ b/remoting/protocol/connection_to_host.cc
@@ -6,6 +6,7 @@
#include "base/bind.h"
#include "base/callback.h"
+#include "base/location.h"
#include "base/message_loop_proxy.h"
#include "remoting/base/constants.h"
#include "remoting/jingle_glue/host_resolver.h"
diff --git a/remoting/protocol/input_sender.cc b/remoting/protocol/input_sender.cc
index 2d725c6..b02956a 100644
--- a/remoting/protocol/input_sender.cc
+++ b/remoting/protocol/input_sender.cc
@@ -8,6 +8,7 @@
#include "remoting/protocol/input_sender.h"
#include "base/task.h"
+#include "base/time.h"
#include "remoting/proto/event.pb.h"
#include "remoting/proto/internal.pb.h"
#include "remoting/protocol/buffered_socket_writer.h"
diff --git a/remoting/protocol/jingle_session.cc b/remoting/protocol/jingle_session.cc
index 4f7f83f..01ea806 100644
--- a/remoting/protocol/jingle_session.cc
+++ b/remoting/protocol/jingle_session.cc
@@ -5,6 +5,7 @@
#include "remoting/protocol/jingle_session.h"
#include "base/bind.h"
+#include "base/location.h"
#include "base/message_loop_proxy.h"
#include "base/rand_util.h"
#include "base/stl_util.h"
diff --git a/remoting/protocol/message_reader.cc b/remoting/protocol/message_reader.cc
index be9c455..f2902e0 100644
--- a/remoting/protocol/message_reader.cc
+++ b/remoting/protocol/message_reader.cc
@@ -6,6 +6,7 @@
#include "base/bind.h"
#include "base/callback.h"
+#include "base/location.h"
#include "net/base/io_buffer.h"
#include "net/base/net_errors.h"
#include "net/socket/socket.h"
diff --git a/webkit/appcache/appcache_group.h b/webkit/appcache/appcache_group.h
index c762a53..236b43d 100644
--- a/webkit/appcache/appcache_group.h
+++ b/webkit/appcache/appcache_group.h
@@ -13,6 +13,7 @@
#include "base/memory/scoped_ptr.h"
#include "base/observer_list.h"
#include "base/task.h"
+#include "base/time.h"
#include "googleurl/src/gurl.h"
namespace appcache {
diff --git a/webkit/database/database_quota_client.cc b/webkit/database/database_quota_client.cc
index 52f1fd5..f72910d 100644
--- a/webkit/database/database_quota_client.cc
+++ b/webkit/database/database_quota_client.cc
@@ -6,6 +6,7 @@
#include <vector>
+#include "base/location.h"
#include "base/memory/scoped_ptr.h"
#include "base/message_loop_proxy.h"
#include "net/base/completion_callback.h"
diff --git a/webkit/fileapi/file_system_quota_util.cc b/webkit/fileapi/file_system_quota_util.cc
index 3d0fab4..9dff5d4 100644
--- a/webkit/fileapi/file_system_quota_util.cc
+++ b/webkit/fileapi/file_system_quota_util.cc
@@ -5,6 +5,7 @@
#include "webkit/fileapi/file_system_quota_util.h"
#include "base/compiler_specific.h"
+#include "base/location.h"
#include "base/message_loop_proxy.h"
namespace fileapi {