Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(274)

Unified Diff: third_party/WebKit/Source/core/editing/EditingStyle.cpp

Issue 2399663003: Reflow comments in //third_party/WebKit/Source/core/editing (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/editing/EditingStyle.cpp
diff --git a/third_party/WebKit/Source/core/editing/EditingStyle.cpp b/third_party/WebKit/Source/core/editing/EditingStyle.cpp
index 8359dc9b6ce5414182f96bff3264f0bf9262564a..70589eceaab327bf6aa9a0be860ad286cc23bf83 100644
--- a/third_party/WebKit/Source/core/editing/EditingStyle.cpp
+++ b/third_party/WebKit/Source/core/editing/EditingStyle.cpp
@@ -73,7 +73,8 @@ static const CSSPropertyID& textDecorationPropertyForEditing() {
}
// Editing style properties must be preserved during editing operation.
-// e.g. when a user inserts a new paragraph, all properties listed here must be copied to the new paragraph.
+// e.g. when a user inserts a new paragraph, all properties listed here must be
+// copied to the new paragraph.
// NOTE: Use either allEditingProperties() or inheritableEditingProperties() to
// respect runtime enabling of properties.
static const CSSPropertyID staticEditingProperties[] = {
@@ -198,8 +199,8 @@ class HTMLElementEquivalent : public GarbageCollected<HTMLElementEquivalent> {
const HTMLQualifiedName& tagName);
const CSSPropertyID m_propertyID;
const Member<CSSIdentifierValue> m_identifierValue;
- const HTMLQualifiedName*
- m_tagName; // We can store a pointer because HTML tag names are const global.
+ // We can store a pointer because HTML tag names are const global.
+ const HTMLQualifiedName* m_tagName;
};
HTMLElementEquivalent::HTMLElementEquivalent(CSSPropertyID id)
@@ -302,8 +303,8 @@ class HTMLAttributeEquivalent : public HTMLElementEquivalent {
const HTMLQualifiedName& tagName,
const QualifiedName& attrName);
HTMLAttributeEquivalent(CSSPropertyID, const QualifiedName& attrName);
- const QualifiedName&
- m_attrName; // We can store a reference because HTML attribute names are const global.
+ // We can store a reference because HTML attribute names are const global.
+ const QualifiedName& m_attrName;
};
HTMLAttributeEquivalent::HTMLAttributeEquivalent(
@@ -612,7 +613,8 @@ EditingStyle* EditingStyle::copy() const {
return copy;
}
-// This is the list of CSS properties that apply specially to block-level elements.
+// This is the list of CSS properties that apply specially to block-level
+// elements.
static const CSSPropertyID staticBlockProperties[] = {
CSSPropertyBreakAfter,
CSSPropertyBreakBefore,
@@ -793,9 +795,10 @@ TriState EditingStyle::triStateOfStyle(
CSSComputedStyleDeclaration* nodeStyle =
CSSComputedStyleDeclaration::create(&node);
if (nodeStyle) {
- // If the selected element has <sub> or <sup> ancestor element, apply the corresponding
- // style(vertical-align) to it so that document.queryCommandState() works with the style.
- // See bug http://crbug.com/582225.
+ // If the selected element has <sub> or <sup> ancestor element, apply
+ // the corresponding style(vertical-align) to it so that
+ // document.queryCommandState() works with the style. See bug
+ // http://crbug.com/582225.
if (m_isVerticalAlign &&
getIdentifierValue(nodeStyle, CSSPropertyVerticalAlign) ==
CSSValueBaseline) {
@@ -806,8 +809,9 @@ TriState EditingStyle::triStateOfStyle(
verticalAlign->convertTo<EVerticalAlign>());
}
- // Pass EditingStyle::DoNotIgnoreTextOnlyProperties without checking if node.isTextNode()
- // because the node can be an element node. See bug http://crbug.com/584939.
+ // Pass EditingStyle::DoNotIgnoreTextOnlyProperties without checking if
+ // node.isTextNode() because the node can be an element node. See bug
+ // http://crbug.com/584939.
TriState nodeState = triStateOfStyle(
nodeStyle, EditingStyle::DoNotIgnoreTextOnlyProperties);
if (nodeIsStart) {
@@ -841,7 +845,8 @@ bool EditingStyle::conflictsWithInlineStyleOfElement(
for (unsigned i = 0; i < propertyCount; ++i) {
CSSPropertyID propertyID = m_mutableStyle->propertyAt(i).id();
- // We don't override whitespace property of a tab span because that would collapse the tab into a space.
+ // We don't override whitespace property of a tab span because that would
+ // collapse the tab into a space.
if (propertyID == CSSPropertyWhiteSpace && isTabHTMLSpanElement(element))
continue;
@@ -950,8 +955,9 @@ htmlAttributeEquivalents() {
HTMLAttributeEquivalents,
(new HeapVector<Member<HTMLAttributeEquivalent>>));
if (!HTMLAttributeEquivalents.size()) {
- // elementIsStyledSpanOrHTMLEquivalent depends on the fact each HTMLAttriuteEquivalent matches exactly one attribute
- // of exactly one element except dirAttr.
+ // elementIsStyledSpanOrHTMLEquivalent depends on the fact each
+ // HTMLAttriuteEquivalent matches exactly one attribute of exactly one
+ // element except dirAttr.
HTMLAttributeEquivalents.append(HTMLAttributeEquivalent::create(
CSSPropertyColor, HTMLNames::fontTag, HTMLNames::colorAttr));
HTMLAttributeEquivalents.append(HTMLAttributeEquivalent::create(
@@ -992,7 +998,8 @@ bool EditingStyle::extractConflictingImplicitStyleOfAttributes(
Vector<QualifiedName>& conflictingAttributes,
ShouldExtractMatchingStyle shouldExtractMatchingStyle) const {
DCHECK(element);
- // HTMLAttributeEquivalent::addToStyle doesn't support unicode-bidi and direction properties
+ // HTMLAttributeEquivalent::addToStyle doesn't support unicode-bidi and
+ // direction properties
if (extractedStyle)
DCHECK_EQ(shouldPreserveWritingDirection, PreserveWritingDirection);
if (!m_mutableStyle)
@@ -1004,7 +1011,8 @@ bool EditingStyle::extractConflictingImplicitStyleOfAttributes(
for (const auto& attribute : HTMLAttributeEquivalents) {
const HTMLAttributeEquivalent* equivalent = attribute.get();
- // unicode-bidi and direction are pushed down separately so don't push down with other styles.
+ // unicode-bidi and direction are pushed down separately so don't push down
+ // with other styles.
if (shouldPreserveWritingDirection == PreserveWritingDirection &&
equivalent->attributeName() == HTMLNames::dirAttr)
continue;
@@ -1050,8 +1058,10 @@ bool EditingStyle::elementIsStyledSpanOrHTMLEquivalent(
}
AttributeCollection attributes = element->attributes();
- if (attributes.isEmpty())
- return elementIsSpanOrElementEquivalent; // span, b, etc... without any attributes
+ if (attributes.isEmpty()) {
+ // span, b, etc... without any attributes
+ return elementIsSpanOrElementEquivalent;
+ }
unsigned matchedAttributes = 0;
const HeapVector<Member<HTMLAttributeEquivalent>>& HTMLAttributeEquivalents =
@@ -1062,8 +1072,10 @@ bool EditingStyle::elementIsStyledSpanOrHTMLEquivalent(
matchedAttributes++;
}
- if (!elementIsSpanOrElementEquivalent && !matchedAttributes)
- return false; // element is not a span, a html element equivalent, or font element.
+ if (!elementIsSpanOrElementEquivalent && !matchedAttributes) {
+ // element is not a span, a html element equivalent, or font element.
+ return false;
+ }
if (element->getAttribute(HTMLNames::classAttr) == AppleStyleSpanClass)
matchedAttributes++;
@@ -1090,8 +1102,9 @@ void EditingStyle::prepareToApplyAt(
if (!m_mutableStyle)
return;
- // ReplaceSelectionCommand::handleStyleSpans() requires that this function only removes the editing style.
- // If this function was modified in the future to delete all redundant properties, then add a boolean value to indicate
+ // ReplaceSelectionCommand::handleStyleSpans() requires that this function
+ // only removes the editing style. If this function was modified in the future
+ // to delete all redundant properties, then add a boolean value to indicate
// which one of editingStyleAtPosition or computedStyle is called.
EditingStyle* editingStyleAtPosition =
EditingStyle::create(position, EditingPropertiesInEffect);
@@ -1243,7 +1256,8 @@ EditingStyle* EditingStyle::wrappingStyleForAnnotatedSerialization(
firstPositionInOrBeforeNode(context), isMailHTMLBlockquoteElement,
CanCrossEditingBoundary)));
- // Call collapseTextDecorationProperties first or otherwise it'll copy the value over from in-effect to text-decorations.
+ // Call collapseTextDecorationProperties first or otherwise it'll copy the
+ // value over from in-effect to text-decorations.
wrappingStyle->collapseTextDecorationProperties();
return wrappingStyle;
@@ -1254,7 +1268,8 @@ EditingStyle* EditingStyle::wrappingStyleForSerialization(
DCHECK(context);
EditingStyle* wrappingStyle = EditingStyle::create();
- // When not annotating for interchange, we only preserve inline style declarations.
+ // When not annotating for interchange, we only preserve inline style
+ // declarations.
for (Node& node : NodeTraversal::inclusiveAncestorsOf(*context)) {
if (node.isDocumentNode())
break;
@@ -1311,8 +1326,8 @@ void EditingStyle::mergeStyle(const StylePropertySet* style,
property.isImportant());
continue;
}
- value =
- nullptr; // text-decoration: none is equivalent to not having the property
+ // text-decoration: none is equivalent to not having the property
+ value = nullptr;
}
if (mode == OverrideValues || (mode == DoNotOverrideValues && !value))
@@ -1340,8 +1355,8 @@ void EditingStyle::mergeStyleFromRules(Element* element) {
styleFromMatchedRulesForElement(
element,
StyleResolver::AuthorCSSRules | StyleResolver::CrossOriginCSSRules);
- // Styles from the inline style declaration, held in the variable "style", take precedence
- // over those from matched rules.
+ // Styles from the inline style declaration, held in the variable "style",
+ // take precedence over those from matched rules.
if (m_mutableStyle)
styleFromMatchedRules->mergeAndOverrideOnConflict(m_mutableStyle.get());
@@ -1352,9 +1367,11 @@ void EditingStyle::mergeStyleFromRules(Element* element) {
void EditingStyle::mergeStyleFromRulesForSerialization(Element* element) {
mergeStyleFromRules(element);
- // The property value, if it's a percentage, may not reflect the actual computed value.
+ // The property value, if it's a percentage, may not reflect the actual
+ // computed value.
// For example: style="height: 1%; overflow: visible;" in quirksmode
- // FIXME: There are others like this, see <rdar://problem/5195123> Slashdot copy/paste fidelity problem
+ // FIXME: There are others like this, see <rdar://problem/5195123> Slashdot
+ // copy/paste fidelity problem
CSSComputedStyleDeclaration* computedStyleForElement =
CSSComputedStyleDeclaration::create(element);
MutableStylePropertySet* fromComputedStyle =
@@ -1401,7 +1418,8 @@ void EditingStyle::removeStyleFromRulesAndContext(Element* element,
element->document().updateStyleAndLayoutIgnorePendingStylesheetsForNode(
element);
- // 1. Remove style from matched rules because style remain without repeating it in inline style declaration
+ // 1. Remove style from matched rules because style remain without repeating
+ // it in inline style declaration
MutableStylePropertySet* styleFromMatchedRules =
styleFromMatchedRulesForElement(element,
StyleResolver::AllButEmptyCSSRules);
@@ -1426,8 +1444,9 @@ void EditingStyle::removeStyleFromRulesAndContext(Element* element,
computedStyle->m_mutableStyle->ensureCSSStyleDeclaration());
}
- // 3. If this element is a span and has display: inline or float: none, remove them unless they are overriden by rules.
- // These rules are added by serialization code to wrap text nodes.
+ // 3. If this element is a span and has display: inline or float: none, remove
+ // them unless they are overriden by rules. These rules are added by
+ // serialization code to wrap text nodes.
if (isStyleSpanOrSpanWithOnlyStyleAttribute(element)) {
if (!styleFromMatchedRules->getPropertyCSSValue(CSSPropertyDisplay) &&
getIdentifierValue(m_mutableStyle.get(), CSSPropertyDisplay) ==
@@ -1518,10 +1537,13 @@ EditingStyle* EditingStyle::styleAtSelectionStart(
Position position = adjustedSelectionStartForStyleComputation(selection);
- // If the pos is at the end of a text node, then this node is not fully selected.
- // Move it to the next deep equivalent position to avoid removing the style from this node.
- // e.g. if pos was at Position("hello", 5) in <b>hello<div>world</div></b>, we want Position("world", 0) instead.
- // We only do this for range because caret at Position("hello", 5) in <b>hello</b>world should give you font-weight: bold.
+ // If the pos is at the end of a text node, then this node is not fully
+ // selected. Move it to the next deep equivalent position to avoid removing
+ // the style from this node.
+ // e.g. if pos was at Position("hello", 5) in <b>hello<div>world</div></b>, we
+ // want Position("world", 0) instead.
+ // We only do this for range because caret at Position("hello", 5) in
+ // <b>hello</b>world should give you font-weight: bold.
Node* positionNode = position.computeContainerNode();
if (selection.isRange() && positionNode && positionNode->isTextNode() &&
position.computeOffsetInContainerNode() ==
@@ -1537,23 +1559,25 @@ EditingStyle* EditingStyle::styleAtSelectionStart(
style->mergeTypingStyle(&element->document());
// If |element| has <sub> or <sup> ancestor element, apply the corresponding
- // style(vertical-align) to it so that document.queryCommandState() works with the style.
- // See bug http://crbug.com/582225.
+ // style(vertical-align) to it so that document.queryCommandState() works with
+ // the style. See bug http://crbug.com/582225.
CSSValueID valueID =
getIdentifierValue(styleToCheck, CSSPropertyVerticalAlign);
if (valueID == CSSValueSub || valueID == CSSValueSuper) {
CSSComputedStyleDeclaration* elementStyle =
CSSComputedStyleDeclaration::create(element);
- // Find the ancestor that has CSSValueSub or CSSValueSuper as the value of CSS vertical-align property.
+ // Find the ancestor that has CSSValueSub or CSSValueSuper as the value of
+ // CSS vertical-align property.
if (getIdentifierValue(elementStyle, CSSPropertyVerticalAlign) ==
CSSValueBaseline &&
hasAncestorVerticalAlignStyle(*element, valueID))
style->m_mutableStyle->setProperty(CSSPropertyVerticalAlign, valueID);
}
- // If background color is transparent, traverse parent nodes until we hit a different value or document root
- // Also, if the selection is a range, ignore the background color at the start of selection,
- // and find the background color of the common ancestor.
+ // If background color is transparent, traverse parent nodes until we hit a
+ // different value or document root Also, if the selection is a range, ignore
+ // the background color at the start of selection, and find the background
+ // color of the common ancestor.
if (shouldUseBackgroundColorInEffect &&
(selection.isRange() ||
hasTransparentBackgroundColor(style->m_mutableStyle.get()))) {
@@ -1626,8 +1650,8 @@ WritingDirection EditingStyle::textDirectionForSelection(
}
DCHECK(node);
- // The selection is either a caret with no typing attributes or a range in which no embedding is added, so just use the start position
- // to decide.
+ // The selection is either a caret with no typing attributes or a range in
+ // which no embedding is added, so just use the start position to decide.
Node* block = enclosingBlock(node);
WritingDirection foundDirection = NaturalWritingDirection;
@@ -1666,7 +1690,8 @@ WritingDirection EditingStyle::textDirectionForSelection(
if (foundDirection != NaturalWritingDirection)
return NaturalWritingDirection;
- // In the range case, make sure that the embedding element persists until the end of the range.
+ // In the range case, make sure that the embedding element persists until
+ // the end of the range.
if (selection.isRange() && !end.anchorNode()->isDescendantOf(element))
return NaturalWritingDirection;
@@ -1687,7 +1712,8 @@ static void reconcileTextDecorationProperties(MutableStylePropertySet* style) {
style->getPropertyCSSValue(CSSPropertyWebkitTextDecorationsInEffect);
const CSSValue* textDecoration =
style->getPropertyCSSValue(textDecorationPropertyForEditing());
- // We shouldn't have both text-decoration and -webkit-text-decorations-in-effect because that wouldn't make sense.
+ // We shouldn't have both text-decoration and
+ // -webkit-text-decorations-in-effect because that wouldn't make sense.
DCHECK(!textDecorationsInEffect || !textDecoration);
if (textDecorationsInEffect) {
style->setProperty(textDecorationPropertyForEditing(),
@@ -1696,7 +1722,8 @@ static void reconcileTextDecorationProperties(MutableStylePropertySet* style) {
textDecoration = textDecorationsInEffect;
}
- // If text-decoration is set to "none", remove the property because we don't want to add redundant "text-decoration: none".
+ // If text-decoration is set to "none", remove the property because we don't
+ // want to add redundant "text-decoration: none".
if (textDecoration && !textDecoration->isValueList())
style->removeProperty(textDecorationPropertyForEditing());
}
@@ -1723,12 +1750,14 @@ StyleChange::StyleChange(EditingStyle* style, const Position& position)
if (!document->frame()->editor().shouldStyleWithCSS())
extractTextStyles(document, mutableStyle, computedStyle->isMonospaceFont());
- // Changing the whitespace style in a tab span would collapse the tab into a space.
+ // Changing the whitespace style in a tab span would collapse the tab into a
+ // space.
if (isTabHTMLSpanElementTextNode(position.anchorNode()) ||
isTabHTMLSpanElement((position.anchorNode())))
mutableStyle->removeProperty(CSSPropertyWhiteSpace);
- // If unicode-bidi is present in mutableStyle and direction is not, then add direction to mutableStyle.
+ // If unicode-bidi is present in mutableStyle and direction is not, then add
+ // direction to mutableStyle.
// FIXME: Shouldn't this be done in getPropertiesNotIn?
if (mutableStyle->getPropertyCSSValue(CSSPropertyUnicodeBidi) &&
!style->style()->getPropertyCSSValue(CSSPropertyDirection))
@@ -1769,8 +1798,10 @@ void StyleChange::extractTextStyles(Document* document,
m_applyItalic = true;
}
- // Assuming reconcileTextDecorationProperties has been called, there should not be -webkit-text-decorations-in-effect
- // Furthermore, text-decoration: none has been trimmed so that text-decoration property is always a CSSValueList.
+ // Assuming reconcileTextDecorationProperties has been called, there should
+ // not be -webkit-text-decorations-in-effect
+ // Furthermore, text-decoration: none has been trimmed so that text-decoration
+ // property is always a CSSValueList.
const CSSValue* textDecoration =
style->getPropertyCSSValue(textDecorationPropertyForEditing());
if (textDecoration && textDecoration->isValueList()) {
@@ -1807,15 +1838,16 @@ void StyleChange::extractTextStyles(Document* document,
}
m_applyFontFace = style->getPropertyValue(CSSPropertyFontFamily);
- // Remove double quotes for Outlook 2007 compatibility. See https://bugs.webkit.org/show_bug.cgi?id=79448
+ // Remove double quotes for Outlook 2007 compatibility. See
+ // https://bugs.webkit.org/show_bug.cgi?id=79448
m_applyFontFace.replace('"', "");
style->removeProperty(CSSPropertyFontFamily);
if (const CSSValue* fontSize =
style->getPropertyCSSValue(CSSPropertyFontSize)) {
if (!fontSize->isPrimitiveValue() && !fontSize->isIdentifierValue()) {
- style->removeProperty(
- CSSPropertyFontSize); // Can't make sense of the number. Put no font size.
+ // Can't make sense of the number. Put no font size.
+ style->removeProperty(CSSPropertyFontSize);
} else if (int legacyFontSize = legacyFontSizeFromCSSValue(
document, fontSize, isMonospaceFont,
UseLegacyFontSizeOnlyIfPixelValuesMatch)) {
@@ -1847,8 +1879,9 @@ static bool fontWeightIsBold(const CSSValue* fontWeight) {
if (!fontWeight->isIdentifierValue())
return false;
- // Because b tag can only bold text, there are only two states in plain html: bold and not bold.
- // Collapse all other values to either one of these two states for editing purposes.
+ // Because b tag can only bold text, there are only two states in plain html:
+ // bold and not bold. Collapse all other values to either one of these two
+ // states for editing purposes.
switch (toCSSIdentifierValue(fontWeight)->getValueID()) {
case CSSValue100:
case CSSValue200:
@@ -1960,7 +1993,8 @@ int legacyFontSizeFromCSSValue(Document* document,
clampTo<int>(primitiveValue.getDoubleValue() * conversion);
int legacyFontSize =
FontSize::legacyFontSize(document, pixelFontSize, isMonospaceFont);
- // Use legacy font size only if pixel value matches exactly to that of legacy font size.
+ // Use legacy font size only if pixel value matches exactly to that of
+ // legacy font size.
if (mode == AlwaysUseLegacyFontSize ||
FontSize::fontSizeForKeyword(document, legacyFontSize,
isMonospaceFont) == pixelFontSize)
« no previous file with comments | « third_party/WebKit/Source/core/editing/EditingStyle.h ('k') | third_party/WebKit/Source/core/editing/EditingUtilities.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698