Kill headcount

This commit is contained in:
Zixaphir 2013-08-18 11:46:21 -07:00
parent 72e3fc2585
commit f0dad7d847
3 changed files with 10 additions and 73 deletions

View File

@ -12197,12 +12197,6 @@
}); });
} }
}, },
addSheet: function(_arg) {
var id, key, text;
key = _arg[0], text = _arg[1], id = _arg[2];
return Style[key] = $.addStyle(text, id);
},
setup: function() { setup: function() {
var i, item, items, theme; var i, item, items, theme;
@ -12213,14 +12207,11 @@
items = [['layoutCSS', Style.layout, 'layout'], ['themeCSS', Style.theme(theme), 'theme'], ['emojiCSS', Emoji.css(), 'emoji'], ['dynamicCSS', Style.dynamic(), 'dynamic'], ['icons', "", 'icons'], ['paddingSheet', "", 'padding'], ['mascot', "", 'mascotSheet']]; items = [['layoutCSS', Style.layout, 'layout'], ['themeCSS', Style.theme(theme), 'theme'], ['emojiCSS', Emoji.css(), 'emoji'], ['dynamicCSS', Style.dynamic(), 'dynamic'], ['icons', "", 'icons'], ['paddingSheet', "", 'padding'], ['mascot', "", 'mascotSheet']];
i = 0; i = 0;
while (item = items[i++]) { while (item = items[i++]) {
Style.addSheet(item); Style[item[0]] = $.addStyle(item[1], item[2]);
} }
$.addStyle(JSColor.css(), 'jsColor'); $.addStyle(JSColor.css(), 'jsColor');
if (d.head) { if (d.head) {
this.remStyle(); this.remStyle();
if (!Style.headCount) {
return this.cleanup();
}
} }
return this.observe(); return this.observe();
}, },
@ -12240,38 +12231,25 @@
wrapper: function() { wrapper: function() {
if (d.head) { if (d.head) {
Style.remStyle(); Style.remStyle();
if (!Style.headCount || d.readyState === 'complete') { if (d.readyState === 'complete') {
if (Style.observer) { if (Style.observer) {
Style.observer.disconnect(); return Style.observer.disconnect();
} else { } else {
$.off(d, 'DOMNodeInserted', Style.wrapper); return $.off(d, 'DOMNodeInserted', Style.wrapper);
} }
return Style.cleanup();
} }
} }
}, },
cleanup: function() {
delete Style.observe;
delete Style.wrapper;
delete Style.remStyle;
delete Style.headCount;
return delete Style.cleanup;
},
headCount: 12,
remStyle: function() { remStyle: function() {
var href, i, node, nodes; var href, i, node, nodes;
nodes = d.head.children; nodes = d.head.children;
i = nodes.length; i = nodes.length;
while (i--) { while (i--) {
if (!Style.headCount) {
return;
}
node = nodes[i]; node = nodes[i];
if (node.nodeName === 'STYLE' && node.id || (/stylesheet/.test(node.rel) && (/flags.*\.css$/.test(href = node.href) || href.slice(0, 4) === 'data')) || (/\.typeset/.test(node.textContent))) { if (node.nodeName === 'STYLE' && node.id || (/stylesheet/.test(node.rel) && (/flags.*\.css$/.test(href = node.href) || href.slice(0, 4) === 'data')) || (/\.typeset/.test(node.textContent))) {
continue; continue;
} }
Style.headCount--;
$.rm(node); $.rm(node);
} }
}, },

View File

@ -12190,12 +12190,6 @@
}); });
} }
}, },
addSheet: function(_arg) {
var id, key, text;
key = _arg[0], text = _arg[1], id = _arg[2];
return Style[key] = $.addStyle(text, id);
},
setup: function() { setup: function() {
var i, item, items, theme; var i, item, items, theme;
@ -12206,14 +12200,11 @@
items = [['layoutCSS', Style.layout, 'layout'], ['themeCSS', Style.theme(theme), 'theme'], ['emojiCSS', Emoji.css(), 'emoji'], ['dynamicCSS', Style.dynamic(), 'dynamic'], ['icons', "", 'icons'], ['paddingSheet', "", 'padding'], ['mascot', "", 'mascotSheet']]; items = [['layoutCSS', Style.layout, 'layout'], ['themeCSS', Style.theme(theme), 'theme'], ['emojiCSS', Emoji.css(), 'emoji'], ['dynamicCSS', Style.dynamic(), 'dynamic'], ['icons', "", 'icons'], ['paddingSheet', "", 'padding'], ['mascot', "", 'mascotSheet']];
i = 0; i = 0;
while (item = items[i++]) { while (item = items[i++]) {
Style.addSheet(item); Style[item[0]] = $.addStyle(item[1], item[2]);
} }
$.addStyle(JSColor.css(), 'jsColor'); $.addStyle(JSColor.css(), 'jsColor');
if (d.head) { if (d.head) {
this.remStyle(); this.remStyle();
if (!Style.headCount) {
return this.cleanup();
}
} }
return this.observe(); return this.observe();
}, },
@ -12233,38 +12224,25 @@
wrapper: function() { wrapper: function() {
if (d.head) { if (d.head) {
Style.remStyle(); Style.remStyle();
if (!Style.headCount || d.readyState === 'complete') { if (d.readyState === 'complete') {
if (Style.observer) { if (Style.observer) {
Style.observer.disconnect(); return Style.observer.disconnect();
} else { } else {
$.off(d, 'DOMNodeInserted', Style.wrapper); return $.off(d, 'DOMNodeInserted', Style.wrapper);
} }
return Style.cleanup();
} }
} }
}, },
cleanup: function() {
delete Style.observe;
delete Style.wrapper;
delete Style.remStyle;
delete Style.headCount;
return delete Style.cleanup;
},
headCount: 12,
remStyle: function() { remStyle: function() {
var href, i, node, nodes; var href, i, node, nodes;
nodes = d.head.children; nodes = d.head.children;
i = nodes.length; i = nodes.length;
while (i--) { while (i--) {
if (!Style.headCount) {
return;
}
node = nodes[i]; node = nodes[i];
if (node.nodeName === 'STYLE' && node.id || (/stylesheet/.test(node.rel) && (/flags.*\.css$/.test(href = node.href) || href.slice(0, 4) === 'data')) || (/\.typeset/.test(node.textContent))) { if (node.nodeName === 'STYLE' && node.id || (/stylesheet/.test(node.rel) && (/flags.*\.css$/.test(href = node.href) || href.slice(0, 4) === 'data')) || (/\.typeset/.test(node.textContent))) {
continue; continue;
} }
Style.headCount--;
$.rm(node); $.rm(node);
} }
}, },

View File

@ -47,9 +47,6 @@ Style =
$.on exLink, "click", -> $.on exLink, "click", ->
setTimeout Rice.nodes, 100 setTimeout Rice.nodes, 100
addSheet: ([key, text, id]) ->
Style[key] = $.addStyle text, id
setup: -> setup: ->
theme = Themes[Conf['theme']] or Themes['Yotsuba B'] theme = Themes[Conf['theme']] or Themes['Yotsuba B']
Style.svg = $.el 'div', Style.svg = $.el 'div',
@ -67,15 +64,13 @@ Style =
i = 0 i = 0
while item = items[i++] while item = items[i++]
Style.addSheet item Style[item[0]] = $.addStyle item[1], item[2]
# Non-customizable # Non-customizable
$.addStyle JSColor.css(), 'jsColor' $.addStyle JSColor.css(), 'jsColor'
if d.head if d.head
@remStyle() @remStyle()
unless Style.headCount
return @cleanup()
@observe() @observe()
observe: -> observe: ->
@ -91,34 +86,21 @@ Style =
if d.head if d.head
Style.remStyle() Style.remStyle()
if not Style.headCount or d.readyState is 'complete' if d.readyState is 'complete'
if Style.observer if Style.observer
Style.observer.disconnect() Style.observer.disconnect()
else else
$.off d, 'DOMNodeInserted', Style.wrapper $.off d, 'DOMNodeInserted', Style.wrapper
Style.cleanup()
cleanup: ->
delete Style.observe
delete Style.wrapper
delete Style.remStyle
delete Style.headCount
delete Style.cleanup
headCount: 12
remStyle: -> remStyle: ->
nodes = d.head.children nodes = d.head.children
i = nodes.length i = nodes.length
while i-- while i--
return unless Style.headCount
node = nodes[i] node = nodes[i]
continue if node.nodeName is 'STYLE' and node.id or continue if node.nodeName is 'STYLE' and node.id or
(/stylesheet/.test(node.rel) and (/flags.*\.css$/.test(href = node.href) or href[..3] is 'data')) or (/stylesheet/.test(node.rel) and (/flags.*\.css$/.test(href = node.href) or href[..3] is 'data')) or
(/\.typeset/.test node.textContent) (/\.typeset/.test node.textContent)
Style.headCount--
$.rm node $.rm node
return return
@ -216,7 +198,6 @@ Style =
position position
if Conf["Icon Orientation"] is "horizontal" if Conf["Icon Orientation"] is "horizontal"
position = aligner( position = aligner(
2 2
[ [