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)) {