Make `gn refs out/foo //out/foo/gn` work.

It would be good if we could use `gn refs` to tell us which
target generated a given executable. The docs suggested that
refs should do this, but it doesn't appear to do so.

Bug: 837876
Change-Id: I45f45bb3346ed21ede83fbacdea2207f1322ad69
Reviewed-on: https://chromium-review.googlesource.com/1033506
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Brett Wilson <brettw@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#555134}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3d36fd0d000ced51aa0a2848b1df0b2cd36cc4c5
diff --git a/tools/gn/command_refs.cc b/tools/gn/command_refs.cc
index ee0a40f..ad1eb6e 100644
--- a/tools/gn/command_refs.cc
+++ b/tools/gn/command_refs.cc
@@ -155,12 +155,17 @@
   if (target->action_values().script().value() == file.value())
     return true;
 
-  std::vector<SourceFile> outputs;
-  target->action_values().GetOutputsAsSourceFiles(target, &outputs);
-  for (const auto& cur_file : outputs) {
+  std::vector<SourceFile> output_sources;
+  target->action_values().GetOutputsAsSourceFiles(target, &output_sources);
+  for (const auto& cur_file : output_sources) {
     if (cur_file == file)
       return true;
   }
+
+  for (const auto& cur_file : target->computed_outputs()) {
+    if (cur_file.AsSourceFile(target->settings()->build_settings()) == file)
+      return true;
+  }
   return false;
 }