Use new extension point for manipulating comments

This way the plugin does not need to scan all links of the page but
only links that appear within a comment.

Change-Id: I65cc581370d32a505249ab9bca8c5a1dd41545bd
Signed-off-by: Edwin Kempin <ekempin@google.com>
diff --git a/lib/gerrit/BUCK b/lib/gerrit/BUCK
index 38948b7..acb4718 100644
--- a/lib/gerrit/BUCK
+++ b/lib/gerrit/BUCK
@@ -1,12 +1,11 @@
 include_defs('//bucklets/maven_jar.bucklet')
 
-VER = '2.12-rc0'
-REPO = MAVEN_CENTRAL
+VER = '2.13-SNAPSHOT'
+REPO = MAVEN_LOCAL
 
 maven_jar(
   name = 'plugin-api',
   id = 'com.google.gerrit:gerrit-plugin-api:' + VER,
-  sha1 = '8fd408e0eedc5e891ac779ab26491fb377800e74',
   license = 'Apache2.0',
   attach_source = False,
   repository = REPO,
@@ -15,7 +14,6 @@
 maven_jar(
   name = 'gwtui-api',
   id = 'com.google.gerrit:gerrit-plugin-gwtui:' + VER,
-  sha1 = 'b2df95ec5181a64ee03bf9caaa73381a7c11fc88',
   license = 'Apache2.0',
   attach_source = False,
   repository = REPO,
diff --git a/src/main/resources/static/imagare.js b/src/main/resources/static/imagare.js
index 971becf..91bec6f 100644
--- a/src/main/resources/static/imagare.js
+++ b/src/main/resources/static/imagare.js
@@ -13,24 +13,20 @@
 // limitations under the License.
 
 Gerrit.install(function(self) {
-    function onHistory(t) {
-      if (!startsWith(t, "/c/")) {
-        return;
-      }
-
+    function onComment(e) {
       var prefs = getPrefsFromCookie();
       if (prefs !== null) {
-        convertImageLinks(prefs);
+        convertImageLinks(getLinks(e), prefs);
       } else {
         Gerrit.get('/accounts/self/' + self.getPluginName() + '~preference', function(prefs) {
           storePrefsInCookie(prefs);
-          convertImageLinks(prefs);
+          convertImageLinks(getLinks(e), prefs);
         });
       }
     }
 
-    function startsWith(s, p) {
-      return s.slice(0, p.length) == p;
+    function getLinks(e) {
+      return e.getElementsByTagName("a");
     }
 
     function storePrefsInCookie(prefs) {
@@ -64,20 +60,19 @@
       return self.getPluginName() + "~prefs";
     }
 
-    function convertImageLinks(prefs) {
+    function convertImageLinks(l, prefs) {
       if (!prefs.pattern) {
         return;
       }
 
       if ('TOOLTIP' === prefs.link_decoration) {
-        addTooltips(prefs.pattern);
+        addTooltips(l, prefs.pattern);
       } else if ('INLINE' === prefs.link_decoration) {
-        inlineImages(prefs.pattern);
+        inlineImages(l, prefs.pattern);
       }
     }
 
-    function inlineImages(pattern) {
-      var l = document.links;
+    function inlineImages(l, pattern) {
       for(var i = 0; i < l.length; i++) {
         if (l[i].href.match(pattern)) {
           var a = document.createElement('a');
@@ -92,7 +87,6 @@
     }
 
     function addTooltips(pattern) {
-      var l = document.links;
       for(var i = 0; i < l.length; i++) {
         if (l[i].href.match(pattern)) {
           l[i].onmouseover = function (evt) {
@@ -108,5 +102,5 @@
       }
     }
 
-    Gerrit.on('history', onHistory);
+    Gerrit.on('comment', onComment);
   });