Skip to content

Commit

Permalink
Merged branch v1.5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
avaly committed Feb 23, 2011
2 parents fe7fc2d + 4a5ddaa commit c037621
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 19 deletions.
36 changes: 18 additions & 18 deletions chrome/content/html5validator.js
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ var html5validator = function()
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
// Turn the returned string into a JSON object
var response = eval('(' + xhr.responseText + ')');
var response = (xhr.responseText.length ? eval('(' + xhr.responseText + ')') : false);
if (!response) {
// No valid JSON object returned
updateStatusBar(0, 0, "errorContactingValidator");
Expand Down Expand Up @@ -378,25 +378,22 @@ var html5validator = function()
{
// On first click there are no cached results - validate, on following clicks - show cached results
if (doc.validatorCache && (doc.validatorCache['errors'] || doc.validatorCache['warnings']))
showValidationResults();
showValidationResults(doc.validatorCache['messages']);
else
validateDocHTML(window.content, true);
}
else
{
if (doc.validatorCache && (doc.validatorCache['errors'] || doc.validatorCache['warnings']))
showValidationResults();
showValidationResults(doc.validatorCache['messages']);
}
}
},

// Create a new document, open it in a new tab and display the cached validation results.
showValidationResults = function(messages)
{
var doc = getActiveDocument();
if (!doc || !doc.validatorCache) {
return;
}
log(messages);

// Create a new document in a new tab
var request = new XMLHttpRequest();
Expand All @@ -405,25 +402,28 @@ var html5validator = function()
request.send(null);
var generatedDocument = window.content.document;

docBody = generatedDocument.getElementsByTagName('body')[0];
docHead = generatedDocument.getElementsByTagName('head')[0];
var docBody = generatedDocument.getElementsByTagName('body')[0],
docHead = generatedDocument.getElementsByTagName('head')[0];

docTitle = 'Validation results for ' + doc.URL + ': ' + doc.validatorCache['errors'] + ' errors and ' + doc.validatorCache['warnings'] + ' warnings';
generatedDocument.title = docTitle;
docTitle = 'Validation results for ' + doc.URL + '<br/>';
docTitle += doc.validatorCache['errors'] + ' errors and ' + doc.validatorCache['warnings'] + ' warnings';
generatedDocument.title = docTitle.replace('<br/>', ': ');

// Some CSS for styling the results. Plenty of room for improvement here.
var docCSS = generatedDocument.createElement('style');
docCSS.appendChild(document.createTextNode('html {margin:0; padding:0; } body{ font: 100%/1.3 Arial, Helvetica, sans-serif; color:#222; background-color: #fff; margin: 1em; padding: 0;} h1 {font-size:1.5em;} li { margin:0 0 1px; padding:0.5em;} p,pre {margin:0;} .info {background:#cff;} .warning {background:#ffc;} .error {background:#fcc;} .type {text-transform:capitalize;}'));
docHead.appendChild(docCSS);
// Insert styling using CSS file from the extension
var linkCSS = generatedDocument.createElement('link');
linkCSS.href = 'chrome://html5validator/skin/results.css';
linkCSS.rel = 'stylesheet';
linkCSS.type = 'text/css';
docHead.appendChild(linkCSS);

// Create the HTML content of the body – a heading and the list of messages with some elements and class names to enable styling
var heading = docBody.appendChild(generatedDocument.createElement('h1'));
heading.appendChild(generatedDocument.createTextNode(docTitle));
heading.innerHTML = docTitle;

var errorList = docBody.appendChild(generatedDocument.createElement('ol'));
var message, li;
for (var i = 0, l = doc.validatorCache['messages'].length; i < l; i++) {
message = doc.validatorCache['messages'][i];
for (var i = 0, l = messages.length; i < l; i++) {
message = messages[i];
if (preferences.ignoreXHTMLErrors) {
// Do not show errors caused by an XHTML Doctype.
// Not foolproof but matches XHTML 1.0 Strict/Transitional and 1.1 as long as no XML declaration is used.
Expand Down
2 changes: 1 addition & 1 deletion install.rdf
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<Description about="urn:mozilla:install-manifest">
<em:id>html5validator@456bereastreet.com</em:id>
<em:name>HTML5 Validator</em:name>
<em:version>1.4.6</em:version>
<em:version>1.5.0</em:version>
<em:type>2</em:type>
<em:creator>Roger Johansson</em:creator>
<em:contributor>Valentin Agachi</em:contributor>
Expand Down
35 changes: 35 additions & 0 deletions skin/results.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
html {
margin: 0;
padding: 0;
}
body {
font: 100%/1.3 Arial, Helvetica, sans-serif;
color: #222;
background-color: #fff;
margin: 1em;
padding: 0;
}

h1 {
font-size: 1.5em;
}
li {
padding: .5em;
margin: 0 0 .2em;
}
p, pre {
margin: 0;
}

.info {
background: #cff;
}
.warning {
background: #ffc;
}
.error {
background: #fcc;
}
.type {
text-transform: capitalize;
}

0 comments on commit c037621

Please sign in to comment.