Commit 716ed445 authored by Kent Tamura's avatar Kent Tamura Committed by Commit Bot

Add UseCounters for effective usage of each of -webkit-user-modify values.

This is a follow-up CL of http://crrev.com/c/1335069.

Bug: 687843
Change-Id: I873dba8174a99c031e34f3e1f32672c6d275aea4
Reviewed-on: https://chromium-review.googlesource.com/c/1337143
Commit-Queue: Kent Tamura <tkent@chromium.org>
Reviewed-by: default avatarYoshifumi Inoue <yosin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609177}
parent 6889d626
......@@ -2087,6 +2087,9 @@ enum WebFeature {
kLegacyTLSVersionInSubresource = 2635,
kLegacyTLSVersionInSubframeMainResource = 2636,
kRTCMaxAudioBufferSize = 2637,
kWebKitUserModifyReadWriteEffective = 2638,
kWebKitUserModifyReadOnlyEffective = 2639,
kWebKitUserModifyPlainTextEffective = 2640,
// Add new features immediately above this line. Don't change assigned
// numbers of any item, and don't reuse removed slots.
......
......@@ -178,22 +178,36 @@ bool IsRootEditableElementWithCounting(const Element& element) {
const auto* style = element.GetComputedStyle();
if (!style)
return is_editable;
auto user_modify = style->UserModify();
const AtomicString& ce_value = element.FastGetAttribute(kContenteditableAttr);
if (ce_value.IsNull() || DeprecatedEqualIgnoringCase(ce_value, "false")) {
if (style->UserModify() != EUserModify::kReadOnly)
UseCounter::Count(doc, WebFeature::kWebKitUserModifyEffective);
if (style->UserModify() == EUserModify::kReadWritePlaintextOnly)
if (user_modify == EUserModify::kReadWritePlaintextOnly) {
UseCounter::Count(doc, WebFeature::kPlainTextEditingEffective);
UseCounter::Count(doc, WebFeature::kWebKitUserModifyPlainTextEffective);
UseCounter::Count(doc, WebFeature::kWebKitUserModifyEffective);
} else if (user_modify == EUserModify::kReadWrite) {
UseCounter::Count(doc, WebFeature::kWebKitUserModifyReadWriteEffective);
UseCounter::Count(doc, WebFeature::kWebKitUserModifyEffective);
}
} else if (ce_value.IsEmpty() ||
DeprecatedEqualIgnoringCase(ce_value, "true")) {
if (style->UserModify() != EUserModify::kReadWrite)
UseCounter::Count(doc, WebFeature::kWebKitUserModifyEffective);
if (style->UserModify() == EUserModify::kReadWritePlaintextOnly)
if (user_modify == EUserModify::kReadWritePlaintextOnly) {
UseCounter::Count(doc, WebFeature::kPlainTextEditingEffective);
} else if (DeprecatedEqualIgnoringCase(ce_value, "plaintext-only")) {
if (style->UserModify() != EUserModify::kReadWritePlaintextOnly)
UseCounter::Count(doc, WebFeature::kWebKitUserModifyPlainTextEffective);
UseCounter::Count(doc, WebFeature::kWebKitUserModifyEffective);
} else if (user_modify == EUserModify::kReadOnly) {
UseCounter::Count(doc, WebFeature::kWebKitUserModifyReadOnlyEffective);
UseCounter::Count(doc, WebFeature::kWebKitUserModifyEffective);
}
} else if (DeprecatedEqualIgnoringCase(ce_value, "plaintext-only")) {
UseCounter::Count(doc, WebFeature::kPlainTextEditingEffective);
if (user_modify == EUserModify::kReadWrite) {
UseCounter::Count(doc, WebFeature::kWebKitUserModifyReadWriteEffective);
UseCounter::Count(doc, WebFeature::kWebKitUserModifyEffective);
} else if (user_modify == EUserModify::kReadOnly) {
UseCounter::Count(doc, WebFeature::kWebKitUserModifyReadOnlyEffective);
UseCounter::Count(doc, WebFeature::kWebKitUserModifyEffective);
}
}
return is_editable;
}
......
......@@ -20786,6 +20786,9 @@ Called by update_net_error_codes.py.-->
<int value="2635" label="LegacyTLSVersionInSubresource"/>
<int value="2636" label="LegacyTLSVersionInSubframeMainResource"/>
<int value="2637" label="RTCMaxAudioBufferSize"/>
<int value="2638" label="WebKitUserModifyReadWriteEffective"/>
<int value="2639" label="WebKitUserModifyReadOnlyEffective"/>
<int value="2640" label="WebKitUserModifyPlainTextEffective"/>
</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