aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwlt_lain2013-05-09 03:28:06 -0700
committerwlt_lain2013-05-09 03:50:24 -0700
commit4101b2c7b7efedd9a12fb5097e4d960272a31d17 (patch)
tree14ecbfd88790e8aff1638c1547afb9c20f338d12
parentd85e6a3a1ff6f97644cfaaf395b629cd2ba30f9f (diff)
downloadvimperator-plugins-4101b2c7b7efedd9a12fb5097e4d960272a31d17.tar.bz2
修正:statusbar_panel.jsからE4X削除対応完了。ダブり表示問題対応。
-rw-r--r--statusbar_panel.js24
1 files changed, 13 insertions, 11 deletions
diff --git a/statusbar_panel.js b/statusbar_panel.js
index fe2a52b..4720ff7 100644
--- a/statusbar_panel.js
+++ b/statusbar_panel.js
@@ -6,7 +6,7 @@ let INFO = xml` //{{{
xmlns="http://vimperator.org/namespaces/liberator">
<author href="http://d.hatena.ne.jp/wlt/" email="wltlain@gmail.com">wlt</author>
<license href="http://www.opensource.org/licenses/mit-license.php">MIT License</license>
- <project name="vimperator" minVersion="2.3.1"/>
+ <project name="vimperator" minVersion="3.6"/>
<p>
ステータスバー(アドオンバー)にあるパネル(アイコン)をクリックするコマンドを提供します。
</p>
@@ -32,6 +32,7 @@ let INFO = xml` //{{{
</plugin>`;
//}}}
+// https://developer.mozilla.org/en-US/docs/DOM/event.button
let MOUSE_BUTTON_LEFT = 0;
let MOUSE_BUTTON_MIDDLE = 1;
let MOUSE_BUTTON_RIGHT = 2;
@@ -44,7 +45,7 @@ function getImages(panel) {
var anonymousNodes = document.getAnonymousNodes(panel);
for (let [k, anonymousNode] in Iterator(anonymousNodes)) {
let node;
- let result = document.evaluate('descendant-or-self::xul:image', anonymousNode, function() XUL.uri, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
+ let result = document.evaluate('descendant-or-self::xul:image', anonymousNode, function() XUL, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
while ((node = result.iterateNext())) images.push(node);
}
@@ -52,27 +53,28 @@ function getImages(panel) {
}
function makeIcon(panel) {
- var icon = xml`<image xmlns=${XUL.uri}/>`;
+ var icon = xml`<image xmlns=${XUL}/>`;
var image = getImages(panel)[0];
if (image) {
let style = window.getComputedStyle(image, null);
let src = image.src || style.listStyleImage.replace(/^url\("(.+)"\)$/, '$1');
if (src != '') {
- icon.setAttribute('style','list-style-image: url("' + src + '");' + '-moz-image-region: ' + style.MozImageRegion);
+ let style_attr = `list-style-image: url("${src}"); -moz-image-region: ${style.MozImageRegion}`;
+ icon = xml`<image xmlns=${XUL} style=${style_attr}/>`;
}
}
return icon;
}
function generateStatusbarpaneIDlList(filter) {
- var panels = document.getElementsByTagNameNS(XUL.uri, 'statusbarpanel');
- for ([k, p] in Iterator(panels)) {
- if (p.hidden != true) {
+ var panels = document.getElementsByTagNameNS(XUL, 'statusbarpanel');
+ for (let i = 0; i < panels.length; i++) {
+ if (panels[i].hidden != true) {
yield {
- text: p.id,
+ text: panels[i].id,
desc: 'statusbarpanel',
- icon: makeIcon(p)
+ icon: makeIcon(panels[i])
};
}
}
@@ -115,7 +117,7 @@ commands.addUserCommand(['statusbarpanel'],'click statusbar panel',
liberator.echoerr('No such statusbar panel: ' + id);
return;
}
- var button = MOUSE_BUTTON_LEFT;
+ var button;
switch (args['-button']) {
case 'm': button = MOUSE_BUTTON_MIDDLE; break;
case 'r': button = MOUSE_BUTTON_RIGHT; break;
@@ -139,7 +141,7 @@ commands.addUserCommand(['statusbarpanel'],'click statusbar panel',
context.keys = { text: 'text', description: 'desc', icon: 'icon' };
context.compare = CompletionContext.Sort.unsorted;
context.process = [function (item, text) {
- return xml`<span highlight="CompIcon">{item.icon ? item.icon : ``}</span><span class="td-strut"/>{text}`
+ return xml`<span highlight="CompIcon">${item.icon ? item.icon : ``}</span><span class="td-strut"/>${text}`
}];
var list = generateStatusbarpaneIDlList(arg);