Commit 2a391fb3 authored by Dave Tapuska's avatar Dave Tapuska Committed by Commit Bot

Add ability to track usage of the hrefTranslate attribute via use counter.

Read the attribute based on the origin trial being enabled otherwise
even if it wasn't the attribute would get set on the navigation param.
In the same branch count the usage as this will be useful for the origin
trial.

BUG=872777

Change-Id: I1cc4eeba4051cf45c65e54f7dad02ec1114ecb1a
Reviewed-on: https://chromium-review.googlesource.com/c/1334198
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: default avatarDavid Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608039}
parent 1a055a9b
......@@ -2078,6 +2078,7 @@ enum WebFeature {
kCSSUnknownNamespacePrefixInSelector = 2626,
kPageLifeCycleFreeze = 2627,
kDefaultInCustomIdent = 2628,
kHTMLAnchorElementHrefTranslateAttribute = 2629,
// Add new features immediately above this line. Don't change assigned
// numbers of any item, and don't reuse removed slots.
......
......@@ -44,6 +44,7 @@
#include "third_party/blink/renderer/core/loader/frame_load_request.h"
#include "third_party/blink/renderer/core/loader/navigation_policy.h"
#include "third_party/blink/renderer/core/loader/ping_loader.h"
#include "third_party/blink/renderer/core/origin_trials/origin_trials.h"
#include "third_party/blink/renderer/core/page/chrome_client.h"
#include "third_party/blink/renderer/core/page/page.h"
#include "third_party/blink/renderer/core/trustedtypes/trusted_types_util.h"
......@@ -430,7 +431,12 @@ void HTMLAnchorElement::HandleClick(Event& event) {
}
if (HasRel(kRelationNoOpener))
frame_request.SetShouldSetOpener(kNeverSetOpener);
frame_request.SetHrefTranslate(FastGetAttribute(kHreftranslateAttr));
if (origin_trials::HrefTranslateEnabled(&GetDocument()) &&
hasAttribute(kHreftranslateAttr)) {
frame_request.SetHrefTranslate(FastGetAttribute(kHreftranslateAttr));
UseCounter::Count(GetDocument(),
WebFeature::kHTMLAnchorElementHrefTranslateAttribute);
}
frame_request.SetTriggeringEventInfo(
event.isTrusted() ? WebTriggeringEventInfo::kFromTrustedEvent
: WebTriggeringEventInfo::kFromUntrustedEvent);
......
......@@ -20763,6 +20763,7 @@ Called by update_net_error_codes.py.-->
<int value="2626" label="CSSUnknownNamespacePrefixInSelector"/>
<int value="2627" label="PageLifeCycleFreeze"/>
<int value="2628" label="DefaultInCustomIdent"/>
<int value="2629" label="HTMLAnchorElementHrefTranslateAttribute"/>
</enum>
<enum name="FeaturePolicyFeature">
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment