Fix inline display to work with shadow dom
Change-Id: I8c9612b1721ca6ce0dc6c612ad721938e8bbcbff
diff --git a/src/main/resources/static/gr-imagare-inline.js b/src/main/resources/static/gr-imagare-inline.js
index 3001252..903b53e 100644
--- a/src/main/resources/static/gr-imagare-inline.js
+++ b/src/main/resources/static/gr-imagare-inline.js
@@ -67,7 +67,10 @@
});
this._messageAddedObserver.observe(
- document.getElementsByTagName('gr-messages-list')[0],
+ // TODO(Thomas): The util methods were removed in change 270988, which
+ // will break this code in newer Gerrit versions (3.3+). At this point
+ // the plugin should implement the querySelector(All)-methods itself.
+ util.querySelector(document.body, 'gr-messages-list'),
{
childList: true,
});
@@ -128,20 +131,20 @@
},
_getMessages() {
- let messageList = document.getElementsByTagName('gr-messages-list')[0];
+ let messageList = util.querySelector(document.body, 'gr-messages-list');
if (messageList) {
- return messageList.getElementsByTagName('gr-message');
+ return util.querySelectorAll(messageList, 'gr-message');
}
},
_getLinksFromMessage(message) {
let links = [];
- let linkedTexts = message.getElementsByTagName('gr-linked-text');
+ let linkedTexts = util.querySelectorAll(message, 'gr-linked-text');
for (const e of linkedTexts) {
- let aTags = e.getElementsByTagName('a');
+ let aTags = util.querySelectorAll(e, 'a');
if (aTags && aTags.length > 0){
for (const a of aTags){
- if (a.getElementsByTagName('img').length > 0) {
+ if (util.querySelectorAll(a, 'img').length > 0) {
continue;
}
if (!a.href.match(this._pattern)) {