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">