rem: cell.innerHTML = '&nbsp;'; 
add: cell.innerHTML = '<a href="javascript:controller.showLog(\'' + b[0] + '\',\'' + loc + '\');">L</a> <a href="javascript:controller.showDetails(\'' + b[0] + '\',\'' + loc + '\');">B</a>'; 
context:   updateView: function(aResult) {    YAHOO.widget.Logger.log('waterfallView.updateView called');    var head = document.getElementById('head');    head.innerHTML = '<th></th>';    this.content.innerHTML = '';    for each (var loc in controller.locales) {      var h = document.createElement('th');      h.className = 'wf-locale-head ' + view.getClass(loc);      h.textContent = loc;      head.appendChild(h);    }    var heads = head.childNodes;    var lastDate = -1;    function pad(aNumber, length) {      str = String(aNumber);      while (str.length < length) {        str = '0' + str;      }      return str;    };    for (var i = aResult.length - 1; i >= 0; i--) {      var wf = document.createElement('tr');      wf.className = 'waterfall-row';      wf.setAttribute('style','vertical-align: top;');      this.content.appendChild(wf);      var b = aResult[i];      var height = Math.floor((b[1][1] - b[1][0]) * this.scale);      var style = "height: " + height + "px;";      wf.setAttribute('style', style);      var cell = view.getCell();      cell.className = 'cell-label';      var d = this.getUTCDate(b[0]);      var label = pad(d.getUTCHours(), 2) + ':' +        pad(d.getUTCMinutes(), 2);      if (lastDate != d.getUTCDate()) {        lastDate = d.getUTCDate();        label = d.getUTCDate() +'/'+ (d.getUTCMonth()+1) + '<br>' + label;      }      cell.innerHTML = label +        '<br><a href="javascript:controller.showLog(\'' + b[0] + '\');">L</a>';      wf.appendChild(cell);      var locs = keys(b[2]);      var h = 1;      for each (loc in locs) {        if (h >= heads.length) {          YAHOO.widget.Logger.log("dropping result for " + loc);          continue;        }                while (heads[h].textContent < loc) {          // we don't have a result for this column in this build          cell = view.getCell();          cell.className = view.getClass(heads[h].textContent)          wf.appendChild(cell);          h++;          if (h >= heads.length) {            YAHOO.widget.Logger.log("dropping result for " + loc);            continue;          }        }        if (heads[h].textContent > loc) {          YAHOO.widget.Logger.log("dropping result for " + loc);          continue;        }        cell = view.getCell();        cell.innerHTML = '&nbsp;';        if (b[2][loc] & 2) {          cell.className = 'busted ';        }        else if (b[2][loc] & 1) {          cell.className = 'fair ';        }        else {          cell.className = 'good ';        }        cell.className += ' ' + view.getClass(loc);        wf.appendChild(cell);        h++;      }      if (i == 0) {        continue;      }      // XXX don't make output sparse      continue;      wf = document.createElement('tr');      wf.className = 'waterfall-row';      wf.setAttribute('style','vertical-align: top;');      this.content.appendChild(wf);      var b = aResult[i];      var height = Math.floor((b[1][0] - aResult[i-1][1][1]) * this.scale);      var style = "height: " + height + "px;";      wf.setAttribute('style', style);      //var cell = view.getCell();    }  },
meta: 10520	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/10520/6e1d7ac4db94597c22ff14b86ae795b6ed8de7c2/waterfall-code.js/buggy/testing/tests/l10n/web/waterfall-code.js