Remove use of synchronization/lock from tools/gn/trace

Change-Id: I89934759c3af480fb986c95eca2a3b08a3fc652c
Reviewed-on: https://gn-review.googlesource.com/1706
Reviewed-by: Brett Wilson <brettw@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
diff --git a/tools/gn/trace.cc b/tools/gn/trace.cc
index 63a8bf7..76fc00d 100644
--- a/tools/gn/trace.cc
+++ b/tools/gn/trace.cc
@@ -8,6 +8,7 @@
 
 #include <algorithm>
 #include <map>
+#include <mutex>
 #include <sstream>
 #include <vector>
 
@@ -18,7 +19,6 @@
 #include "base/logging.h"
 #include "base/macros.h"
 #include "base/strings/stringprintf.h"
-#include "base/synchronization/lock.h"
 #include "tools/gn/filesystem_utils.h"
 #include "tools/gn/label.h"
 
@@ -30,7 +30,7 @@
   // Trace items leaked intentionally.
 
   void Add(TraceItem* item) {
-    base::AutoLock lock(lock_);
+    std::lock_guard<std::mutex> lock(lock_);
     events_.push_back(item);
   }
 
@@ -38,7 +38,7 @@
   std::vector<TraceItem*> events() const { return events_; }
 
  private:
-  base::Lock lock_;
+  std::mutex lock_;
 
   std::vector<TraceItem*> events_;