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

Unified Diff: PerformanceTests/ShadowDOM/StyleSheetInsert.html

Issue 28553005: Avoid parsing css text if there are identical inline style blocks. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Added StyleSheetContentsCache class Created 7 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
« no previous file with comments | « no previous file | Source/core/core.gypi » ('j') | Source/core/css/StyleSheetContentsCache.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: PerformanceTests/ShadowDOM/StyleSheetInsert.html
diff --git a/PerformanceTests/ShadowDOM/StyleSheetInsert.html b/PerformanceTests/ShadowDOM/StyleSheetInsert.html
new file mode 100644
index 0000000000000000000000000000000000000000..24b595887235949fff23dcea1acf7cca7ca48eeb
--- /dev/null
+++ b/PerformanceTests/ShadowDOM/StyleSheetInsert.html
@@ -0,0 +1,41 @@
+<!doctype html>
+<html>
+<head>
+<script src="../resources/runner.js"></script>
+</head>
+<body><iframe></iframe>
+</body>
+<script>
+function setup() {
+ var frame = document.getElementsByTagName("iframe")[0];
+ var testDoc = frame.contentDocument;
+ var docText = "<head>";
+ docText += "<template id='templateA'><style>@host{:scope{display:block}}ul.canaryisdev li:nth-of-type(4)::after{content:'canary/dev'}ul.canaryisdev li:nth-of-type(5)::after{content:'beta'}ul.canaryisdev li:nth-of-type(6)::after{content:'stable'}ul.canaryisdev li:nth-of-type(7)::after{content:''}ul.betaisdev li:nth-of-type(4)::after{content:'canary'}ul.betaisdev li:nth-of-type(5)::after{content:'dev/beta'}ul.betaisdev li:nth-of-type(6)::after{content:'stable'}ul.betaisdev li:nth-of-type(7)::after{content:''}ul li{cursor:pointer;padding:3px 0}ul li::before{-webkit-transition:all 500ms ease;-moz-transition:all 500ms ease;-o-transition:all 500ms ease;transition:all 500ms ease;content:'';margin-right:5px;border-left:3px solid transparent}ul li::after{font-size:75%;margin-left:10px}ul li:first-of-type,ul li:nth-of-type(2),ul li:nth-of-type(3){font-size:75%;font-style:italic}ul li:nth-of-type(3){border-bottom:1px solid #d4d4d4;padding-bottom:10px;margin-bottom:5px}ul li:nth-of-type(4)::after{content:'canary'}ul li:nth-of-type(5)::after{content:'dev'}ul li:nth-of-type(6)::after{content:'beta'}ul li:nth-of-type(7)::after{content:'stable'}ul li[selected]{font-weight:600;color:#366597}ul li[selected]::before{border-color:#366597}</style><div>TemplateA</div></template>";
+ docText += "<template id='templateB'><style>@host{:scope{display:block;padding:1px}}.milestone-marker{text-align:right;text-transform:uppercase;margin-top:10px;font-weight:600;font-size:14px;color:#366597}@media only screen and (max-width: 700px){[data-first-of-milestone]:after{font-size:12px;font-weight:normal;top:-22px;opacity:1;text-transform:uppercase}}</style><div>TemplateB</div></template>";
+ docText += "</head><body>";
+ docText += "<div id='sandbox'></div></body>";
+ testDoc.body.innerHTML = docText;
+ return testDoc;
+}
+
+PerfTestRunner.measureTime({run:function() {
+ var testDoc = setup();
+ var start = PerfTestRunner.now();
+ var sandbox = testDoc.getElementById('sandbox');
+ var templateA = testDoc.getElementById('templateA');
+ var templateB = testDoc.getElementById('templateB');
+ for (var i = 0; i < 100; i++) {
+ var elementA = testDoc.createElement("div");
+ var shadowRootForA = elementA.createShadowRoot();
+ shadowRootForA.appendChild(templateA.content.cloneNode());
+ sandbox.appendChild(elementA);
+
+ var elementB = testDoc.createElement("div");
+ var shadowRootForB = elementB.createShadowRoot();
+ shadowRootForB.appendChild(templateB.content.cloneNode());
+ sandbox.appendChild(elementB);
+ }
+ return PerfTestRunner.now() - start;
+}});
+</script>
+</html>
« no previous file with comments | « no previous file | Source/core/core.gypi » ('j') | Source/core/css/StyleSheetContentsCache.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698