) {
        childTrack.detach();
      }
    },

    updateContents_() {
    },

    /**
     * Wrapper function around draw() that performs transformations on the
     * context necessary for the track's contents to be drawn in the right place
     * given the current pan and zoom.
     */
    drawTrack(type) {
      const ctx = this.context();

      const pixelRatio = window.devicePixelRatio || 1;
      const bounds = this.getBoundingClientRect();
      const canvasBounds = ctx.canvas.getBoundingClientRe