Diff
Modified: trunk/LayoutTests/ChangeLog (87465 => 87466)
--- trunk/LayoutTests/ChangeLog 2011-05-27 04:14:46 UTC (rev 87465)
+++ trunk/LayoutTests/ChangeLog 2011-05-27 04:18:25 UTC (rev 87466)
@@ -1,3 +1,33 @@
+2011-05-26 Annie Sullivan <[email protected]>
+
+ Reviewed by Ryosuke Niwa.
+
+ Delete table in contentEditable/designMode produces odd contents
+ https://bugs.webkit.org/show_bug.cgi?id=57148
+
+ Add a test for the case given in the bug: deleting an unstyled table
+ should not leave behind a style span.
+
+ Rebaseline tests now that border-collapse, -webkit-border-horizontal-spacing,
+ and -webkit-border-vertical-spacing style spans are no longer added on
+ table and table cell deletion, and no longer applied when copying to the
+ clipboard.
+
+ * editing/deleting/5026848-2-expected.txt:
+ * editing/deleting/5026848-3-expected.txt:
+ * editing/deleting/5032066-expected.txt:
+ * editing/deleting/5115601-expected.txt:
+ * editing/deleting/5206311-2-expected.txt:
+ * editing/deleting/delete-block-table-expected.txt:
+ * editing/deleting/delete-last-char-in-table-expected.txt: Added.
+ * editing/deleting/delete-last-char-in-table.html: Added. New test for bug.
+ * editing/deleting/delete-select-all-001-expected.txt:
+ * editing/pasteboard/data-transfer-items-expected.txt:
+ * editing/pasteboard/onpaste-text-html-expected.txt:
+ * editing/selection/4895428-1-expected.txt:
+ * editing/selection/4895428-4-expected.txt:
+ * fast/events/ondrop-text-html-expected.txt:
+
2011-05-26 Ryosuke Niwa <[email protected]>
Reviewed by Simon Fraser.
Modified: trunk/LayoutTests/editing/deleting/5026848-2-expected.txt (87465 => 87466)
--- trunk/LayoutTests/editing/deleting/5026848-2-expected.txt 2011-05-27 04:14:46 UTC (rev 87465)
+++ trunk/LayoutTests/editing/deleting/5026848-2-expected.txt 2011-05-27 04:18:25 UTC (rev 87466)
@@ -16,10 +16,7 @@
| <td>
| contenteditable="true"
| "Editable <#selection-caret>"
-| <span>
-| class="Apple-style-span"
-| style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "
-| "content"
+| "content"
| "
"
| <td>
Modified: trunk/LayoutTests/editing/deleting/5026848-3-expected.txt (87465 => 87466)
--- trunk/LayoutTests/editing/deleting/5026848-3-expected.txt 2011-05-27 04:14:46 UTC (rev 87465)
+++ trunk/LayoutTests/editing/deleting/5026848-3-expected.txt 2011-05-27 04:18:25 UTC (rev 87466)
@@ -17,10 +17,7 @@
| <td>
| contenteditable="true"
| "Editable <#selection-caret>"
-| <span>
-| class="Apple-style-span"
-| style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "
-| "content"
+| "content"
| "
"
| <!-- The following cell should be removed, even though it contains non-editable pieces. -->
Modified: trunk/LayoutTests/editing/deleting/5032066-expected.txt (87465 => 87466)
--- trunk/LayoutTests/editing/deleting/5032066-expected.txt 2011-05-27 04:14:46 UTC (rev 87465)
+++ trunk/LayoutTests/editing/deleting/5032066-expected.txt 2011-05-27 04:18:25 UTC (rev 87466)
@@ -5,7 +5,4 @@
| <tr>
| <td>
| "All the content in this editable region <#selection-caret>"
-| <span>
-| class="Apple-style-span"
-| style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "
-| "should be in one table cell."
+| "should be in one table cell."
Modified: trunk/LayoutTests/editing/deleting/5115601-expected.txt (87465 => 87466)
--- trunk/LayoutTests/editing/deleting/5115601-expected.txt 2011-05-27 04:14:46 UTC (rev 87465)
+++ trunk/LayoutTests/editing/deleting/5115601-expected.txt 2011-05-27 04:18:25 UTC (rev 87466)
@@ -10,7 +10,4 @@
| <span>
| contenteditable="true"
| id="start"
-| <span>
-| class="Apple-style-span"
-| style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "
-| "<#selection-caret>This sentence should be inside the editable cell."
+| "<#selection-caret>This sentence should be inside the editable cell."
Modified: trunk/LayoutTests/editing/deleting/5206311-2-expected.txt (87465 => 87466)
--- trunk/LayoutTests/editing/deleting/5206311-2-expected.txt 2011-05-27 04:14:46 UTC (rev 87465)
+++ trunk/LayoutTests/editing/deleting/5206311-2-expected.txt 2011-05-27 04:18:25 UTC (rev 87466)
@@ -24,10 +24,7 @@
| "4"
| <td>
| class="start"
-| <span>
-| class="Apple-style-span"
-| style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "
-| "<#selection-caret>world!"
+| "<#selection-caret>world!"
| <br>
| <td>
| <br>
Modified: trunk/LayoutTests/editing/deleting/delete-block-table-expected.txt (87465 => 87466)
--- trunk/LayoutTests/editing/deleting/delete-block-table-expected.txt 2011-05-27 04:14:46 UTC (rev 87465)
+++ trunk/LayoutTests/editing/deleting/delete-block-table-expected.txt 2011-05-27 04:18:25 UTC (rev 87466)
@@ -4,5 +4,5 @@
Foo baz
bar buffalfter
execDeleteCommand: <div>Before</div> <table style="border:3px solid #aaa;"> <tbody><tr> <td> Foo </td> <td> baz </td> </tr> <tr> <td> bar </td> <td> buffalo </td> </tr> </tbody></table> <span id="start">fter</span>
-execDeleteCommand: <div>Before</div> <table style="border:3px solid #aaa;"> <tbody><tr> <td> Foo </td> <td> baz </td> </tr> <tr> <td> bar </td> <td> buffalo<span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; ">fter</span></td></tr></tbody></table>
-execDeleteCommand: <div>Before</div> <table style="border:3px solid #aaa;"> <tbody><tr> <td> Foo </td> <td> baz </td> </tr> <tr> <td> bar </td> <td> buffal<span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; ">fter</span></td></tr></tbody></table>
+execDeleteCommand: <div>Before</div> <table style="border:3px solid #aaa;"> <tbody><tr> <td> Foo </td> <td> baz </td> </tr> <tr> <td> bar </td> <td> buffalofter</td></tr></tbody></table>
+execDeleteCommand: <div>Before</div> <table style="border:3px solid #aaa;"> <tbody><tr> <td> Foo </td> <td> baz </td> </tr> <tr> <td> bar </td> <td> buffalfter</td></tr></tbody></table>
Added: trunk/LayoutTests/editing/deleting/delete-last-char-in-table-expected.txt (0 => 87466)
--- trunk/LayoutTests/editing/deleting/delete-last-char-in-table-expected.txt (rev 0)
+++ trunk/LayoutTests/editing/deleting/delete-last-char-in-table-expected.txt 2011-05-27 04:18:25 UTC (rev 87466)
@@ -0,0 +1,5 @@
+See bug 57148. When deleteing the last character in a table deletes the table, no styled spans should be left behind. To test manually, place cursor after "X" and do a backward delete. No styled span should be created.
+
+
+PASS
+execDeleteCommand: <br>
Added: trunk/LayoutTests/editing/deleting/delete-last-char-in-table.html (0 => 87466)
--- trunk/LayoutTests/editing/deleting/delete-last-char-in-table.html (rev 0)
+++ trunk/LayoutTests/editing/deleting/delete-last-char-in-table.html 2011-05-27 04:18:25 UTC (rev 87466)
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+<body>
+<p>See bug 57148. When deleteing the last character in a table deletes the table, no styled spans should be left behind.
+To test manually, place cursor after "X" and do a backward delete. No styled span should be created.</p>
+
+<div id="root" contenteditable class="editing">
+<table style="border-collapse:collapse"><tr><td id="cursor">X</td></tr></table>
+</div>
+
+<div id="result"></div>
+
+<script src=""
+<script>
+
+function editingTest() {
+ var cursorCell = document.getElementById("cursor");
+ execSetSelectionCommand(cursorCell.firstChild, 1, cursorCell.firstChild, 1);
+ execDeleteCommand();
+ var styledSpans = document.getElementsByTagName("span");
+ result.innerHTML = styledSpans.length == 0 ? "PASS" : "FAIL";
+}
+
+if (window.layoutTestController)
+ runDumpAsTextEditingTest();
+</script>
+</body>
+</html>
Modified: trunk/LayoutTests/editing/deleting/delete-select-all-001-expected.txt (87465 => 87466)
--- trunk/LayoutTests/editing/deleting/delete-select-all-001-expected.txt 2011-05-27 04:14:46 UTC (rev 87465)
+++ trunk/LayoutTests/editing/deleting/delete-select-all-001-expected.txt 2011-05-27 04:18:25 UTC (rev 87466)
@@ -1,2 +1,2 @@
-execDeleteCommand: <font class="Apple-style-span" size="3"><span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br></span></font>
+execDeleteCommand: <font class="Apple-style-span" size="3"><br></font>
Modified: trunk/LayoutTests/editing/pasteboard/data-transfer-items-expected.txt (87465 => 87466)
--- trunk/LayoutTests/editing/pasteboard/data-transfer-items-expected.txt 2011-05-27 04:14:46 UTC (rev 87465)
+++ trunk/LayoutTests/editing/pasteboard/data-transfer-items-expected.txt 2011-05-27 04:18:25 UTC (rev 87466)
@@ -20,6 +20,6 @@
DataTransferItem accessed outside event handler!
copy: items[0] value: Hello World!
copy: items[1] value: <b>Hello World!
-paste: items[0] value: <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">This file tests the basic functionality and properties of DataTransferItems. This test requires DRT.</span>
+paste: items[0] value: <span class="Apple-style-span" style="color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">This file tests the basic functionality and properties of DataTransferItems. This test requires DRT.</span>
paste: items[1] value: This file tests the basic functionality and properties of DataTransferItems. This test requires DRT.
Modified: trunk/LayoutTests/editing/pasteboard/onpaste-text-html-expected.txt (87465 => 87466)
--- trunk/LayoutTests/editing/pasteboard/onpaste-text-html-expected.txt 2011-05-27 04:14:46 UTC (rev 87465)
+++ trunk/LayoutTests/editing/pasteboard/onpaste-text-html-expected.txt 2011-05-27 04:18:25 UTC (rev 87466)
@@ -1,5 +1,5 @@
CONSOLE MESSAGE: line 21: text/plain: This test verifies that we can get text/html from the clipboard during an onpaste event.
-CONSOLE MESSAGE: line 23: text/html: <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">This test verifies that we can get text/html from the clipboard during an onpaste event.<span class="Apple-converted-space"> </span></span>
+CONSOLE MESSAGE: line 23: text/html: <span class="Apple-style-span" style="color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">This test verifies that we can get text/html from the clipboard during an onpaste event.<span class="Apple-converted-space"> </span></span>
This test verifies that we can get text/html from the clipboard during an onpaste event. This test requires DRT.
Paste content in this div.This test verifies that we can get text/html from the clipboard during an onpaste event.
PASS
Modified: trunk/LayoutTests/editing/selection/4895428-1-expected.txt (87465 => 87466)
--- trunk/LayoutTests/editing/selection/4895428-1-expected.txt 2011-05-27 04:14:46 UTC (rev 87465)
+++ trunk/LayoutTests/editing/selection/4895428-1-expected.txt 2011-05-27 04:18:25 UTC (rev 87466)
@@ -5,10 +5,7 @@
| contenteditable="true"
| id="source"
| style="border: 1px solid blue;"
-| <span>
-| class="Apple-style-span"
-| style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"
-| <br>
+| <br>
| "
"
| <div>
Modified: trunk/LayoutTests/editing/selection/4895428-4-expected.txt (87465 => 87466)
--- trunk/LayoutTests/editing/selection/4895428-4-expected.txt 2011-05-27 04:14:46 UTC (rev 87465)
+++ trunk/LayoutTests/editing/selection/4895428-4-expected.txt 2011-05-27 04:18:25 UTC (rev 87466)
@@ -7,10 +7,7 @@
| style="border: 1px solid blue;"
| "
"
-| <span>
-| class="Apple-style-span"
-| style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"
-| <br>
+| <br>
| "
"
| "
Modified: trunk/LayoutTests/fast/events/ondrop-text-html-expected.txt (87465 => 87466)
--- trunk/LayoutTests/fast/events/ondrop-text-html-expected.txt 2011-05-27 04:14:46 UTC (rev 87465)
+++ trunk/LayoutTests/fast/events/ondrop-text-html-expected.txt 2011-05-27 04:18:25 UTC (rev 87466)
@@ -1,4 +1,4 @@
CONSOLE MESSAGE: line 21: text/plain: This test verifies that we can get text/html from the drag object during an ondrop event.
-CONSOLE MESSAGE: line 23: text/html: <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">This test verifies that we can get text/html from the drag object during an ondrop event.<span class="Apple-converted-space"> </span></span>
+CONSOLE MESSAGE: line 23: text/html: <span class="Apple-style-span" style="color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">This test verifies that we can get text/html from the drag object during an ondrop event.<span class="Apple-converted-space"> </span></span>
This test verifies that we can get text/html from the drag object during an ondrop event. This test requires DRT.
PASS
Modified: trunk/Source/WebCore/ChangeLog (87465 => 87466)
--- trunk/Source/WebCore/ChangeLog 2011-05-27 04:14:46 UTC (rev 87465)
+++ trunk/Source/WebCore/ChangeLog 2011-05-27 04:18:25 UTC (rev 87466)
@@ -1,3 +1,24 @@
+2011-05-26 Annie Sullivan <[email protected]>
+
+ Reviewed by Ryosuke Niwa.
+
+ Delete table in contentEditable/designMode produces odd contents
+ https://bugs.webkit.org/show_bug.cgi?id=57148
+
+ Removes border-collapse, -webkit-border-horizontal-spacing, and
+ -webkit-border-vertical-spacing from the list of properties which
+ should be preserved during edit operations. Also renames this
+ list to editingInheritableProperties to be more clear about what
+ the list is for.
+
+ Test: editing/deleting/delete-last-char-in-table.html
+
+ * editing/EditingStyle.cpp: Removes border vertical/horizontal
+ spacing from editingStyleProperties.
+ * editing/EditingStyle.h: Renames OnlyInheritableProperties to
+ OnlyEditingInheritableProperties.
+ * editing/markup.cpp: Renames InheritablePropertiesAndBackgroundColorInEffect.
+
2011-05-26 Yuta Kitamura <[email protected]>
Reviewed by Kent Tamura.
Modified: trunk/Source/WebCore/editing/EditingStyle.cpp (87465 => 87466)
--- trunk/Source/WebCore/editing/EditingStyle.cpp 2011-05-27 04:14:46 UTC (rev 87465)
+++ trunk/Source/WebCore/editing/EditingStyle.cpp 2011-05-27 04:18:25 UTC (rev 87466)
@@ -49,10 +49,8 @@
// 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.
-// FIXME: The current editingStyleProperties contains all inheritableProperties but we may not need to preserve all inheritable properties
-static const int editingStyleProperties[] = {
+static const int editingInheritableProperties[] = {
// CSS inheritable properties
- CSSPropertyBorderCollapse,
CSSPropertyColor,
CSSPropertyFontFamily,
CSSPropertyFontSize,
@@ -68,19 +66,17 @@
CSSPropertyWhiteSpace,
CSSPropertyWidows,
CSSPropertyWordSpacing,
- CSSPropertyWebkitBorderHorizontalSpacing,
- CSSPropertyWebkitBorderVerticalSpacing,
CSSPropertyWebkitTextDecorationsInEffect,
CSSPropertyWebkitTextFillColor,
CSSPropertyWebkitTextSizeAdjust,
CSSPropertyWebkitTextStrokeColor,
CSSPropertyWebkitTextStrokeWidth,
};
-size_t numEditingStyleProperties = WTF_ARRAY_LENGTH(editingStyleProperties);
+size_t numEditingInheritableProperties = WTF_ARRAY_LENGTH(editingInheritableProperties);
static PassRefPtr<CSSMutableStyleDeclaration> copyEditingProperties(CSSStyleDeclaration* style)
{
- return style->copyPropertiesInSet(editingStyleProperties, numEditingStyleProperties);
+ return style->copyPropertiesInSet(editingInheritableProperties, numEditingInheritableProperties);
}
static PassRefPtr<CSSMutableStyleDeclaration> editingStyleFromComputedStyle(PassRefPtr<CSSComputedStyleDeclaration> style)
@@ -337,7 +333,7 @@
RefPtr<CSSComputedStyleDeclaration> computedStyleAtPosition = computedStyle(node);
m_mutableStyle = propertiesToInclude == AllProperties && computedStyleAtPosition ? computedStyleAtPosition->copy() : editingStyleFromComputedStyle(computedStyleAtPosition);
- if (propertiesToInclude == InheritablePropertiesAndBackgroundColorInEffect) {
+ if (propertiesToInclude == EditingInheritablePropertiesAndBackgroundColorInEffect) {
if (RefPtr<CSSValue> value = backgroundColorInEffect(node))
m_mutableStyle->setProperty(CSSPropertyBackgroundColor, value->cssText());
}
@@ -729,7 +725,7 @@
// 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.
- RefPtr<EditingStyle> style = EditingStyle::create(position, InheritablePropertiesAndBackgroundColorInEffect);
+ RefPtr<EditingStyle> style = EditingStyle::create(position, EditingInheritablePropertiesAndBackgroundColorInEffect);
RefPtr<CSSValue> unicodeBidi;
RefPtr<CSSValue> direction;
Modified: trunk/Source/WebCore/editing/EditingStyle.h (87465 => 87466)
--- trunk/Source/WebCore/editing/EditingStyle.h 2011-05-27 04:14:46 UTC (rev 87465)
+++ trunk/Source/WebCore/editing/EditingStyle.h 2011-05-27 04:18:25 UTC (rev 87466)
@@ -59,7 +59,7 @@
class EditingStyle : public RefCounted<EditingStyle> {
public:
- enum PropertiesToInclude { AllProperties, OnlyInheritableProperties, InheritablePropertiesAndBackgroundColorInEffect };
+ enum PropertiesToInclude { AllProperties, OnlyEditingInheritableProperties, EditingInheritablePropertiesAndBackgroundColorInEffect };
enum ShouldPreserveWritingDirection { PreserveWritingDirection, DoNotPreserveWritingDirection };
enum ShouldExtractMatchingStyle { ExtractMatchingStyle, DoNotExtractMatchingStyle };
static float NoFontDelta;
@@ -69,12 +69,12 @@
return adoptRef(new EditingStyle());
}
- static PassRefPtr<EditingStyle> create(Node* node, PropertiesToInclude propertiesToInclude = OnlyInheritableProperties)
+ static PassRefPtr<EditingStyle> create(Node* node, PropertiesToInclude propertiesToInclude = OnlyEditingInheritableProperties)
{
return adoptRef(new EditingStyle(node, propertiesToInclude));
}
- static PassRefPtr<EditingStyle> create(const Position& position, PropertiesToInclude propertiesToInclude = OnlyInheritableProperties)
+ static PassRefPtr<EditingStyle> create(const Position& position, PropertiesToInclude propertiesToInclude = OnlyEditingInheritableProperties)
{
return adoptRef(new EditingStyle(position, propertiesToInclude));
}
Modified: trunk/Source/WebCore/editing/markup.cpp (87465 => 87466)
--- trunk/Source/WebCore/editing/markup.cpp 2011-05-27 04:14:46 UTC (rev 87465)
+++ trunk/Source/WebCore/editing/markup.cpp 2011-05-27 04:18:25 UTC (rev 87466)
@@ -589,7 +589,7 @@
// Add a wrapper span with the styles that all of the nodes in the markup inherit.
ContainerNode* parentOfLastClosed = lastClosed ? lastClosed->parentNode() : 0;
if (parentOfLastClosed && parentOfLastClosed->renderer()) {
- RefPtr<EditingStyle> style = EditingStyle::create(parentOfLastClosed, EditingStyle::InheritablePropertiesAndBackgroundColorInEffect);
+ RefPtr<EditingStyle> style = EditingStyle::create(parentOfLastClosed, EditingStyle::EditingInheritablePropertiesAndBackgroundColorInEffect);
// Styles that Mail blockquotes contribute should only be placed on the Mail blockquote, to help
// us differentiate those styles from ones that the user has applied. This helps us