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 { ...@@ -2087,6 +2087,9 @@ enum WebFeature {
kLegacyTLSVersionInSubresource = 2635, kLegacyTLSVersionInSubresource = 2635,
kLegacyTLSVersionInSubframeMainResource = 2636, kLegacyTLSVersionInSubframeMainResource = 2636,
kRTCMaxAudioBufferSize = 2637, kRTCMaxAudioBufferSize = 2637,
kWebKitUserModifyReadWriteEffective = 2638,
kWebKitUserModifyReadOnlyEffective = 2639,
kWebKitUserModifyPlainTextEffective = 2640,
// Add new features immediately above this line. Don't change assigned // Add new features immediately above this line. Don't change assigned
// numbers of any item, and don't reuse removed slots. // numbers of any item, and don't reuse removed slots.
......
...@@ -178,22 +178,36 @@ bool IsRootEditableElementWithCounting(const Element& element) { ...@@ -178,22 +178,36 @@ bool IsRootEditableElementWithCounting(const Element& element) {
const auto* style = element.GetComputedStyle(); const auto* style = element.GetComputedStyle();
if (!style) if (!style)
return is_editable; return is_editable;
auto user_modify = style->UserModify();
const AtomicString& ce_value = element.FastGetAttribute(kContenteditableAttr); const AtomicString& ce_value = element.FastGetAttribute(kContenteditableAttr);
if (ce_value.IsNull() || DeprecatedEqualIgnoringCase(ce_value, "false")) { if (ce_value.IsNull() || DeprecatedEqualIgnoringCase(ce_value, "false")) {
if (style->UserModify() != EUserModify::kReadOnly) if (user_modify == EUserModify::kReadWritePlaintextOnly) {
UseCounter::Count(doc, WebFeature::kWebKitUserModifyEffective);
if (style->UserModify() == EUserModify::kReadWritePlaintextOnly)
UseCounter::Count(doc, WebFeature::kPlainTextEditingEffective); 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() || } else if (ce_value.IsEmpty() ||
DeprecatedEqualIgnoringCase(ce_value, "true")) { DeprecatedEqualIgnoringCase(ce_value, "true")) {
if (style->UserModify() != EUserModify::kReadWrite) if (user_modify == EUserModify::kReadWritePlaintextOnly) {
UseCounter::Count(doc, WebFeature::kWebKitUserModifyEffective);
if (style->UserModify() == EUserModify::kReadWritePlaintextOnly)
UseCounter::Count(doc, WebFeature::kPlainTextEditingEffective); UseCounter::Count(doc, WebFeature::kPlainTextEditingEffective);
} else if (DeprecatedEqualIgnoringCase(ce_value, "plaintext-only")) { UseCounter::Count(doc, WebFeature::kWebKitUserModifyPlainTextEffective);
if (style->UserModify() != EUserModify::kReadWritePlaintextOnly)
UseCounter::Count(doc, WebFeature::kWebKitUserModifyEffective); 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); 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; return is_editable;
} }
......
...@@ -20786,6 +20786,9 @@ Called by update_net_error_codes.py.--> ...@@ -20786,6 +20786,9 @@ Called by update_net_error_codes.py.-->
<int value="2635" label="LegacyTLSVersionInSubresource"/> <int value="2635" label="LegacyTLSVersionInSubresource"/>
<int value="2636" label="LegacyTLSVersionInSubframeMainResource"/> <int value="2636" label="LegacyTLSVersionInSubframeMainResource"/>
<int value="2637" label="RTCMaxAudioBufferSize"/> <int value="2637" label="RTCMaxAudioBufferSize"/>
<int value="2638" label="WebKitUserModifyReadWriteEffective"/>
<int value="2639" label="WebKitUserModifyReadOnlyEffective"/>
<int value="2640" label="WebKitUserModifyPlainTextEffective"/>
</enum> </enum>
<enum name="FeaturePolicyFeature"> <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