function _forceHtmlModeToAttrContinuedState(stream, htmlState) {
      /*
       * Detect quote type by checking current token last char (use last char instead of
       * first char, because last char also works for multi-lined char value
       * while first char only works for the first line)
       * case it's part of a multi-lined attr value, and is not the last line yet
       * (i.e., no quote at the end) nothing needs to be done as it's already in the proper state.
       * OPEN: the logic breaks down if the last character of the line happens to be a quote
       * , but not the ending quote.
       * E.g., the single quote in the following example is just part of the value
       *  <p  title="foo bar
       *  something '
       *  def">
       * To properly handle it, we need to know the quote type for the current attribute value.
       * However, the quote type is not exposed by the underlying html tokenizer.
       */
      const cont = attrContinuedState[stream.string[stream.pos - 1]];
      if (cont) {
        htmlState.state = cont[0];
        htmlState[kTokenize] = cont[1];
      }
    }
Force html tokenizer to treat next token as attribute value.

Use case:
- html tokenizer encounters an js expression inside a complete attribute value
e.g., the value in class="foo ${someOtherClass()} bar"
- the html tokenizer would next expect another attribute or >
- but since we locally process the js expression, and then pass the remaining text
  back to html tokenizer, e.g.  bar", in the above example
- we want html tokenizer process it as part of attribute value
- this function forces the tokenizer to do so.

The use case and the solution are both analogous to forceJsModeToQuasi(),
which handles tokenizing a single-line string template.