lib/input.js
function activate(that, el) {  // Try to find appropriate wrap and call `setActive()` {{{2
//  console.log('ACTIVATE', el && el.tagName);

  if (that.scrollTimer) {
    clearTimeout(that.scrollTimer);
    that.scrollTimer = undefined;
    return;
  }

  while (el && el !== document.body) {
    if (canActivate(el)) {
      return setActive(that, el.ose);
    }

    el = el.parentElement;
  }

  return setActive(that, undefined);
}
function activate(that, el) {  // Try to find appropriate wrap and call `setActive()` {{{2
//  console.log('ACTIVATE', el && el.tagName);

  if (that.scrollTimer) {
    clearTimeout(that.scrollTimer);
    that.scrollTimer = undefined;
    return;
  }

  while (el && el !== document.body) {
    if (canActivate(el)) {
      return setActive(that, el.ose);
    }

    el = el.parentElement;
  }

  return setActive(that, undefined);
}
Private {{{1