aboutsummaryrefslogtreecommitdiffstats
path: root/google-plus-commando.js
diff options
context:
space:
mode:
authoranekos2011-08-27 12:54:50 +0900
committeranekos2011-08-27 12:54:50 +0900
commit67fc7568c2c4aabb4fefd2cfde2a3db064c2852c (patch)
tree33cffeeeaa64433cc44c4cdd0aa92354e7473cc3 /google-plus-commando.js
parentd08c43b6ff579d123ebae764c1f7e39f8e727fa6 (diff)
downloadvimperator-plugins-67fc7568c2c4aabb4fefd2cfde2a3db064c2852c.tar.bz2
共有ダイアログ関係修正
Diffstat (limited to 'google-plus-commando.js')
-rw-r--r--google-plus-commando.js37
1 files changed, 34 insertions, 3 deletions
diff --git a/google-plus-commando.js b/google-plus-commando.js
index 23f9d1f..6cbcb74 100644
--- a/google-plus-commando.js
+++ b/google-plus-commando.js
@@ -36,7 +36,7 @@ THE POSSIBILITY OF SUCH DAMAGE.
// INFO {{{
let INFO =
<>
- <plugin name="GooglePlusCommando" version="2.3.0"
+ <plugin name="GooglePlusCommando" version="2.3.1"
href="http://github.com/vimpr/vimperator-plugins/blob/master/google-plus-commando.js"
summary="The handy commands for Google+"
lang="en-US"
@@ -316,7 +316,10 @@ let g:gplus_commando_map_menu = "m"
next: cssRules.finder(/url\("\/\/ssl\.gstatic\.com\/s2\/oz\/images\/right-arrow2\.png"\)/)
},
dialog: {
- root: cssRules.finder(/0pt 4px 16px rgba\(0, 0, 0, 0.2\).*z-index: 1101/)
+ root: role('dialog', 'body > '),
+ //cssRules.find(/0pt 4px 16px rgba\(0, 0, 0, 0.2\).*-moz-border-right-color.*z-index: 1101/));
+ submit: 'td[valign="top"] > div[role="button"]:nth-child(1)',
+ cancel: 'td[valign="top"] > div[role="button"]:nth-child(2)'
},
frames: {
notifications: {
@@ -429,10 +432,37 @@ let g:gplus_commando_map_menu = "m"
};
}
+ function get3 (root) {
+ function button (editor, name)
+ editor.parentNode.querySelector(S.role('button', <>[id$=".{name}"]</>));
+
+ if (!root)
+ return;
+
+ let editors = A(root.querySelectorAll('div.editable')).filter(hasIFrame);
+ if (editors.length === 0)
+ return;
+ if (editors.length > 1)
+ throw 'Two and more editors were found.';
+
+ return {
+ editor: #1=(editors[0]),
+ button: {
+ submit: root.querySelector(S.dialog.submit),
+ cancel: root.querySelector(S.dialog.cancel),
+ }
+ };
+ }
+
let doc = content.document;
let win = document.commandDispatcher.focusedWindow;
- return get1(doc) || get2() || get1(Elements.frames.notifications.root.contentDocument);
+ return (
+ get1(doc) ||
+ get2() ||
+ get1(Elements.frames.notifications.root.contentDocument) ||
+ (Elements.dialog.root && get3(Elements.dialog.root))
+ );
},
/**
@@ -549,6 +579,7 @@ let g:gplus_commando_map_menu = "m"
return bs[n];
}
let self = {
+ get root () root,
get buttons () A(root.querySelectorAll(S.role('button'))),
get submit () nButton(0),
get cancel () nButton(1)