tools/gn: forward declare some base types in trace.h

CommandLine and FilePath are being passed by reference, so they can be
forward declared and their header includes be moved to the source file
instead.

BUG=None
TEST=gn gen + gn_unittests
R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1492813002

Cr-Original-Commit-Position: refs/heads/master@{#363056}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7741ab4958dec364e2d5f43d678bda53fc2465fa
diff --git a/tools/gn/trace.cc b/tools/gn/trace.cc
index 4746310..5844293 100644
--- a/tools/gn/trace.cc
+++ b/tools/gn/trace.cc
@@ -9,6 +9,8 @@
 #include <sstream>
 #include <vector>
 
+#include "base/command_line.h"
+#include "base/files/file_path.h"
 #include "base/files/file_util.h"
 #include "base/json/string_escape.h"
 #include "base/logging.h"
diff --git a/tools/gn/trace.h b/tools/gn/trace.h
index e32f319..de8ab09 100644
--- a/tools/gn/trace.h
+++ b/tools/gn/trace.h
@@ -7,14 +7,17 @@
 
 #include <string>
 
-#include "base/command_line.h"
-#include "base/files/file_path.h"
 #include "base/macros.h"
 #include "base/threading/platform_thread.h"
 #include "base/time/time.h"
 
 class Label;
 
+namespace base {
+class CommandLine;
+class FilePath;
+}
+
 class TraceItem {
  public:
   enum Type {