Compact style mutation (#464)
* Don't store the full style attribute change, as small mutations to single style properties result in storage of a rewrite for the full style attribute, which may be very large. Had an example of a website using http://schillmania.com/projects/snowstorm/ where many direct style changes were happening every second across many 'snowflake' elements, with each attribute change looking like: "style":"color: rgb(255, 255, 255); position: absolute; width: 8px; height: 8px; font-family: arial, verdana; overflow: hidden; font-weight: normal; z-index: 0; display: block; bottom: auto; opacity: 1; padding: 0px; margin: 0px; font-size: 10px; line-height: 10px; text-align: center; vertical-align: baseline; left: 242.807px; top: 85.7332px;" even though maybe just the left/top position had been changed * More compact storage for the much more common attribute value without an `!important` flag - saves 6 chars per style attr in the json :) * Fix bug: attributes weren't getting removed after changes to treatment of 'style' attributes
This commit is contained in:
@@ -7428,14 +7428,24 @@ exports[`select2 1`] = `
|
||||
\\"id\\": 36,
|
||||
\\"attributes\\": {
|
||||
\\"id\\": \\"select2-drop\\",
|
||||
\\"style\\": \\"left: Npx; width: Npx; top: Npx; bottom: auto; display: block;\\",
|
||||
\\"style\\": {
|
||||
\\"left\\": \\"Npx\\",
|
||||
\\"width\\": \\"Npx\\",
|
||||
\\"top\\": \\"Npx\\",
|
||||
\\"bottom\\": \\"auto\\",
|
||||
\\"display\\": \\"block\\",
|
||||
\\"position\\": false,
|
||||
\\"visibility\\": false
|
||||
},
|
||||
\\"class\\": \\"select2-drop select2-display-none select2-with-searchbox select2-drop-active\\"
|
||||
}
|
||||
},
|
||||
{
|
||||
\\"id\\": 70,
|
||||
\\"attributes\\": {
|
||||
\\"style\\": \\"\\"
|
||||
\\"style\\": {
|
||||
\\"display\\": false
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -7850,6 +7860,28 @@ exports[`select2 1`] = `
|
||||
\\"type\\": 0,
|
||||
\\"id\\": 70
|
||||
}
|
||||
},
|
||||
{
|
||||
\\"type\\": 3,
|
||||
\\"data\\": {
|
||||
\\"source\\": 0,
|
||||
\\"texts\\": [],
|
||||
\\"attributes\\": [
|
||||
{
|
||||
\\"id\\": 36,
|
||||
\\"attributes\\": {
|
||||
\\"style\\": {
|
||||
\\"color\\": [
|
||||
\\"black\\",
|
||||
\\"important\\"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
\\"removes\\": [],
|
||||
\\"adds\\": []
|
||||
}
|
||||
}
|
||||
]"
|
||||
`;
|
||||
|
||||
Reference in New Issue
Block a user