Skip to content
This repository was archived by the owner on Feb 24, 2021. It is now read-only.
Open
2,273 changes: 216 additions & 2,057 deletions Recipe.min.js

Large diffs are not rendered by default.

532 changes: 274 additions & 258 deletions cssUsage.src.js

Large diffs are not rendered by default.

2,845 changes: 2,845 additions & 0 deletions package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@
"mocha": "^2.2.5",
"requirejs": "^2.1.18"
}
}
}
47 changes: 47 additions & 0 deletions src/recipes/WebP.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/*
RECIPE: WebP
-------------------------------------------------------------
Author: ADYOUN
Description: Looking for WebP images
*/

function strcmp(a, b)
{
if (a.length != b.length)
{
return false;
}

for (var i = 0; i < a.length; i++)
{
if (a[i] != b[i])
{
return false;
}
}

return true;
}

void function() {
window.CSSUsage.StyleWalker.recipesToRun.push( function WebP( element, results) {
if (strcmp(element.nodeName, "IMG") || strcmp(element.nodeName, "SOURCE"))
{
var key = "webp";
var properties = [ "src", "srcset" ];
var extension = ".webp";

for (var i = 0; i < properties.length; i++)
{
var imgSrc = element[properties[i]];
if (imgSrc && imgSrc.length > extension.length && strcmp(imgSrc.substr(imgSrc.length - extension.length).toLowerCase(), extension))
{
results[key] = results[key] || { count: 0, };
results[key].count++;
}
}
}

return results;
});
}();
42 changes: 42 additions & 0 deletions src/recipes/negative-background-position.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/*
RECIPE: negative_background_position
-------------------------------------------------------------
Author: ADYOUN
Description: Looking for cases where background-position has a negative value
*/

void function() {
window.CSSUsage.StyleWalker.recipesToRun.push( function negative_background_position( element, results) {
if (element.CSSUsage)
{
var properties = [ "background-position-x", "background-position-y" ];
var found = false;

for (var i = 0; i < properties.length; i++)
{
if (found)
{
break;
}

if (element.CSSUsage[properties[i]])
{
var bpValues = element.CSSUsage[properties[i]].valuesArray;
for (var j = 0; j < bpValues.length; j++)
{
if (bpValues[j][0] == '-')
{
var key = "negative_background_position";
results[key] = results[key] || { count: 0, };
results[key].count++;
found = true;
break;
}
}
}
}
}

return results;
});
}();
23 changes: 23 additions & 0 deletions tests/recipes/negative-background-position.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Negative Background Position Test</title>
<link type="text/css" href="../test-page/style.css" media="all" rel="stylesheet" />
<style>
.neg_bgp {
color: red;
background-position: bottom -10px right;
position: fixed;
}
</style>
<script src="../../Recipe.min.js"></script>
</head>
<body>
<div class="wrapper">
<h1>Negative Background Position Test</h1>
<div id="nested-div" class="neg_bgp" height="300" width = "300">
<p>Here's some text</p>
</div>
</div>
</body>
</html>