| --- a/base/trace_event/trace_event.h |
| +++ b/base/trace_event/trace_event.h |
| @@ -5,6 +5,43 @@ |
| #ifndef BASE_TRACE_EVENT_TRACE_EVENT_H_ |
| #define BASE_TRACE_EVENT_TRACE_EVENT_H_ |
| |
| +// Replace with stub implementation. |
| +#if 1 |
| +#include "base/trace_event/common/trace_event_common.h" |
| +#include "base/trace_event/heap_profiler.h" |
| + |
| +// To avoid -Wunused-* errors, eat expression by macro. |
| +namespace libchrome_internal { |
| +template <typename... Args> void Ignore(Args&&... args) {} |
| +} |
| +#define INTERNAL_IGNORE(...) \ |
| + (false ? libchrome_internal::Ignore(__VA_ARGS__) : (void) 0) |
| + |
| +// Body is effectively empty. |
| +#define INTERNAL_TRACE_EVENT_ADD_SCOPED(...) INTERNAL_IGNORE(__VA_ARGS__) |
| +#define INTERNAL_TRACE_TASK_EXECUTION(...) |
| +#define INTERNAL_TRACE_EVENT_ADD_SCOPED_WITH_FLOW(...) \ |
| + INTERNAL_IGNORE(__VA_ARGS__) |
| +#define TRACE_ID_MANGLE(val) (val) |
| + |
| +namespace base { |
| +namespace trace_event { |
| + |
| +class TraceLog { |
| + public: |
| + static TraceLog* GetInstance() { |
| + static TraceLog instance; |
| + return &instance; |
| + } |
| + |
| + pid_t process_id() { return 0; } |
| + void SetCurrentThreadBlocksMessageLoop() {} |
| +}; |
| + |
| +} // namespace trace_event |
| +} // namespace base |
| +#else |
| + |
| // This header file defines implementation details of how the trace macros in |
| // trace_event_common.h collect and store trace events. Anything not |
| // implementation-specific should go in trace_event_common.h instead of here. |
| @@ -1115,4 +1152,5 @@ template<typename IDType> class TraceSco |
| } // namespace trace_event |
| } // namespace base |
| |
| +#endif |
| #endif // BASE_TRACE_EVENT_TRACE_EVENT_H_ |
| --- a/base/trace_event/heap_profiler.h |
| +++ b/base/trace_event/heap_profiler.h |
| @@ -5,6 +5,22 @@ |
| #ifndef BASE_TRACE_EVENT_HEAP_PROFILER_H |
| #define BASE_TRACE_EVENT_HEAP_PROFILER_H |
| |
| +// Replace with stub implementation. |
| +#if 1 |
| +#define TRACE_HEAP_PROFILER_API_SCOPED_TASK_EXECUTION \ |
| + trace_event_internal::HeapProfilerScopedTaskExecutionTracker |
| + |
| +namespace trace_event_internal { |
| + |
| +class HeapProfilerScopedTaskExecutionTracker { |
| + public: |
| + explicit HeapProfilerScopedTaskExecutionTracker(const char*) {} |
| +}; |
| + |
| +} // namespace trace_event_internal |
| + |
| +#else |
| + |
| #include "base/compiler_specific.h" |
| #include "base/trace_event/heap_profiler_allocation_context_tracker.h" |
| |
| @@ -86,4 +102,5 @@ class BASE_EXPORT HeapProfilerScopedIgno |
| |
| } // namespace trace_event_internal |
| |
| +#endif |
| #endif // BASE_TRACE_EVENT_HEAP_PROFILER_H |
| --- a/base/test/test_pending_task.h |
| +++ b/base/test/test_pending_task.h |
| @@ -10,7 +10,8 @@ |
| #include "base/callback.h" |
| #include "base/location.h" |
| #include "base/time/time.h" |
| -#include "base/trace_event/trace_event_argument.h" |
| +// Unsupported in libchrome. |
| +// #include "base/trace_event/trace_event_argument.h" |
| |
| namespace base { |
| |
| @@ -58,10 +59,13 @@ struct TestPendingTask { |
| TimeDelta delay; |
| TestNestability nestability; |
| |
| +// Unsupported in libchrome. |
| +#if 0 |
| // Functions for using test pending task with tracing, useful in unit |
| // testing. |
| void AsValueInto(base::trace_event::TracedValue* state) const; |
| std::unique_ptr<base::trace_event::ConvertableToTraceFormat> AsValue() const; |
| +#endif |
| std::string ToString() const; |
| |
| private: |
| --- a/base/test/test_pending_task.cc |
| +++ b/base/test/test_pending_task.cc |
| @@ -38,6 +38,8 @@ bool TestPendingTask::ShouldRunBefore(co |
| |
| TestPendingTask::~TestPendingTask() {} |
| |
| +// Unsupported in libchrome. |
| +#if 0 |
| void TestPendingTask::AsValueInto(base::trace_event::TracedValue* state) const { |
| state->SetInteger("run_at", GetTimeToRun().ToInternalValue()); |
| state->SetString("posting_function", location.ToString()); |
| @@ -61,10 +63,14 @@ TestPendingTask::AsValue() const { |
| AsValueInto(state.get()); |
| return std::move(state); |
| } |
| +#endif |
| |
| std::string TestPendingTask::ToString() const { |
| std::string output("TestPendingTask("); |
| +// Unsupported in libchrome. |
| +#if 0 |
| AsValue()->AppendAsTraceFormat(&output); |
| +#endif |
| output += ")"; |
| return output; |
| } |
| ---- a/base/threading/thread_id_name_manager.cc |
| +++ b/base/threading/thread_id_name_manager.cc |
| @@ -12,7 +12,8 @@ |
| #include "base/no_destructor.h" |
| #include "base/strings/string_util.h" |
| #include "base/threading/thread_local.h" |
| -#include "base/trace_event/heap_profiler_allocation_context_tracker.h" |
| +// Unsupported in libchrome. |
| +// #include "base/trace_event/heap_profiler_allocation_context_tracker.h" |
| |
| namespace base { |
| namespace { |
| @@ -94,8 +95,9 @@ void ThreadIdNameManager::SetName(const std::string& name) { |
| // call GetName(which holds a lock) during the first allocation because it can |
| // cause a deadlock when the first allocation happens in the |
| // ThreadIdNameManager itself when holding the lock. |
| - trace_event::AllocationContextTracker::SetCurrentThreadName( |
| - leaked_str->c_str()); |
| + // Unsupported in libchrome. |
| + // trace_event::AllocationContextTracker::SetCurrentThreadName( |
| + // leaked_str->c_str()); |
| } |
| |
| const char* ThreadIdNameManager::GetName(PlatformThreadId id) { |
| --- a/base/memory/shared_memory_posix.cc |
| +++ b/base/memory/shared_memory_posix.cc |
| @@ -16,7 +16,8 @@ |
| #include "base/logging.h" |
| #include "base/macros.h" |
| #include "base/memory/shared_memory_helper.h" |
| -#include "base/memory/shared_memory_tracker.h" |
| +// Unsupported in libchrome. |
| +// #include "base/memory/shared_memory_tracker.h" |
| #include "base/posix/eintr_wrapper.h" |
| #include "base/posix/safe_strerror.h" |
| #include "base/process/process_metrics.h" |
| @@ -302,7 +305,8 @@ bool SharedMemory::MapAt(off_t offset, size_t bytes) { |
| DCHECK_EQ(0U, |
| reinterpret_cast<uintptr_t>(memory_) & |
| (SharedMemory::MAP_MINIMUM_ALIGNMENT - 1)); |
| - SharedMemoryTracker::GetInstance()->IncrementMemoryUsage(*this); |
| + // Unsupported in libchrome. |
| + // SharedMemoryTracker::GetInstance()->IncrementMemoryUsage(*this); |
| } else { |
| memory_ = nullptr; |
| } |
| @@ -314,7 +318,8 @@ bool SharedMemory::Unmap() { |
| if (!memory_) |
| return false; |
| |
| - SharedMemoryTracker::GetInstance()->DecrementMemoryUsage(*this); |
| + // Unsupported in libchrome. |
| + // SharedMemoryTracker::GetInstance()->DecrementMemoryUsage(*this); |
| munmap(memory_, mapped_size_); |
| memory_ = nullptr; |
| mapped_size_ = 0; |