50 (function() {{ |
50 (function() {{ |
51 var e = document.elementFromPoint({0}, {1}); |
51 var e = document.elementFromPoint({0}, {1}); |
52 if (!e) |
52 if (!e) |
53 return; |
53 return; |
54 function isMediaElement(e) {{ |
54 function isMediaElement(e) {{ |
55 return e.tagName == 'AUDIO' || e.tagName == 'VIDEO'; |
55 return e.tagName.toLowerCase() == 'audio' || |
|
56 e.tagName.toLowerCase() == 'video'; |
56 }} |
57 }} |
57 function isEditableElement(e) {{ |
58 function isEditableElement(e) {{ |
58 if (e.isContentEditable) |
59 if (e.isContentEditable) |
59 return true; |
60 return true; |
60 if (e.tagName == 'INPUT' || e.tagName == 'TEXTAREA') |
61 if (e.tagName.toLowerCase() == 'input' || |
|
62 e.tagName.toLowerCase() == 'textarea') |
61 return e.getAttribute('readonly') != 'readonly'; |
63 return e.getAttribute('readonly') != 'readonly'; |
62 return false; |
64 return false; |
63 }} |
65 }} |
64 function isSelected(e) {{ |
66 function isSelected(e) {{ |
65 var selection = window.getSelection(); |
67 var selection = window.getSelection(); |
81 mediaMuted: false, |
83 mediaMuted: false, |
82 tagName: e.tagName.toLowerCase() |
84 tagName: e.tagName.toLowerCase() |
83 }}; |
85 }}; |
84 var r = e.getBoundingClientRect(); |
86 var r = e.getBoundingClientRect(); |
85 res.boundingRect = [r.top, r.left, r.width, r.height]; |
87 res.boundingRect = [r.top, r.left, r.width, r.height]; |
86 if (e.tagName == 'IMG') |
88 if (e.tagName.toLowerCase() == 'img') |
87 res.imageUrl = e.getAttribute('src'); |
89 res.imageUrl = e.getAttribute('src'); |
88 if (e.tagName == 'A') {{ |
90 if (e.tagName.toLowerCase() == 'a') {{ |
89 res.linkTitle = e.text; |
91 res.linkTitle = e.text; |
90 res.linkUrl = e.getAttribute('href'); |
92 res.linkUrl = e.getAttribute('href'); |
91 }} |
93 }} |
92 while (e) {{ |
94 while (e) {{ |
93 if (res.linkTitle == '' && e.tagName == 'A') |
95 if (res.linkTitle == '' && e.tagName.toLowerCase() == 'a') |
94 res.linkTitle = e.text; |
96 res.linkTitle = e.text; |
95 if (res.linkUrl == '' && e.tagName == 'A') |
97 if (res.linkUrl == '' && e.tagName.toLowerCase() == 'a') |
96 res.linkUrl = e.getAttribute('href'); |
98 res.linkUrl = e.getAttribute('href'); |
97 if (res.mediaUrl == '' && isMediaElement(e)) {{ |
99 if (res.mediaUrl == '' && isMediaElement(e)) {{ |
98 res.mediaUrl = e.currentSrc; |
100 res.mediaUrl = e.currentSrc; |
99 res.mediaPaused = e.paused; |
101 res.mediaPaused = e.paused; |
100 res.mediaMuted = e.muted; |
102 res.mediaMuted = e.muted; |