code: function after_attribute_name_state(c) {
      switch(c) {
      case 0x0009: // CHARACTER TABULATION (tab)
      case 0x000A: // LINE FEED (LF)
      case 0x000C: // FORM FEED (FF)
      case 0x0020: // SPACE
        /* Ignore the character. */
        break;
      case 0x002F: // SOLIDUS
        // Keep in sync with before_attribute_name_state.
        addAttribute(attrnamebuf);
        tokenizer = self_closing_start_tag_state;
        break;
      case 0x003D: // EQUALS SIGN
        tokenizer = before_attribute_value_state;
        break;
      case 0x003E: // GREATER-THAN SIGN
        // Keep in sync with before_attribute_name_state.
        tokenizer = data_state;
        addAttribute(attrnamebuf);
        emitTag();
        break;
      case -1: // EOF
        // Keep in sync with before_attribute_name_state.
        addAttribute(attrnamebuf);
        emitEOF();
        break;
      default:
        addAttribute(attrnamebuf);
        beginAttrName();
        reconsume(c, attribute_name_state);
        break;
      }
    }
docs: There is an active attribute in attrnamebuf, but not yet in attrvaluebuf.