aboutsummaryrefslogtreecommitdiffstats
path: root/yslow.js
blob: c45ce428f72e968796a77835eed3a26386744332 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*
 * ==VimperatorPlugin==
 * @name            yslow.js
 * @description     optimize the indicator of YSlow add-on.
 * @description-ja  YSlow アドオンの表示をいい感じにする。
 * @author          janus_wel <janus_wel@fb3.so-net.ne.jp>
 * @version         0.10
 * @minversion      2.0pre
 * @maxversion      2.0pre
 * ==/VimperatorPlugin==
 *
 * LICENSE
 *  New BSD License
 *
 * USAGE
 *  this plugin change YSlow indicators to non-display.
 *  you can use value 'y' in option 'pageinfo'.
 *  it will display performances of current page.
 *
 * EXAMPLE
 *  default + YSlow
 *      :set pageinfo=gfmy
 *
 * */

( function () {

// add-on check
const doc = window.document;
if (!doc.getElementById('yslowStatusBar')) {
    liberator.log('yslow.js is need YSlow add-on: https://addons.mozilla.org/firefox/addon/5369', 0);
    return;
}

// register pageinfo
let grade = doc.getElementById('yslowStatusGrade');
let size  = doc.getElementById('yslowStatusSize');
let time  = doc.getElementById('yslowStatusTime');
liberator.modules.buffer.addPageInfoSection(
    'y',
    'YSlow Status',
    function (verbose) {
        if(verbose) {
            if (grade.value && grade.value !== 'YSlow') yield ['Grade', grade.value];
            if (size.value) yield ['Size', size.value];
            if (time.value) yield ['Time', time.value];
        }
        return;
    }
);

// hide elements
[
    grade,
    size,
    time,
].forEach(function (n) {
    n.setAttribute('style', 'display: none !important;');
});

} )();