Add a use counter for navigations targeted at _current

It's not in the spec, FF doesn't support it. Hopefully we can remove it.

Change-Id: Iaa9b78245d3513a2574570359f02922da09b5ed6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1536010
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Auto-Submit: Nate Chapin <japhet@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#644132}
diff --git a/third_party/blink/public/mojom/web_feature/web_feature.mojom b/third_party/blink/public/mojom/web_feature/web_feature.mojom
index e3e5c000..88a9834 100644
--- a/third_party/blink/public/mojom/web_feature/web_feature.mojom
+++ b/third_party/blink/public/mojom/web_feature/web_feature.mojom
@@ -2245,6 +2245,7 @@
   kRefreshHeader = 2832,
   kSearchEventFired = 2833,
   kIdleDetectionStart = 2834,
+  kTargetCurrent = 2835,
 
   // Add new features immediately above this line. Don't change assigned
   // numbers of any item, and don't reuse removed slots.
diff --git a/third_party/blink/renderer/core/page/frame_tree.cc b/third_party/blink/renderer/core/page/frame_tree.cc
index b69a663..966c569 100644
--- a/third_party/blink/renderer/core/page/frame_tree.cc
+++ b/third_party/blink/renderer/core/page/frame_tree.cc
@@ -181,6 +181,12 @@
   // Named frame lookup should always be relative to a local frame.
   DCHECK(IsA<LocalFrame>(this_frame_.Get()));
 
+  if (EqualIgnoringASCIICase(name, "_current")) {
+    UseCounter::Count(
+        blink::DynamicTo<blink::LocalFrame>(this_frame_.Get())->GetDocument(),
+        WebFeature::kTargetCurrent);
+  }
+
   if (EqualIgnoringASCIICase(name, "_self") ||
       EqualIgnoringASCIICase(name, "_current") || name.IsEmpty())
     return this_frame_;
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index 6b24c99..84db4e2 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -22611,6 +22611,7 @@
   <int value="2832" label="RefreshHeader"/>
   <int value="2833" label="SearchEventFired"/>
   <int value="2834" label="IdleDetectionStart"/>
+  <int value="2835" label="TargetCurrent"/>
 </enum>
 
 <enum name="FeaturePolicyFeature">