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