• Andrew Balholm's avatar
    html: store the current insertion mode in the parser · 631a575f
    Andrew Balholm authored
    Currently, the state transition functions in the HTML parser
    return the next insertion mode and whether the token is consumed.
    This works well except for when one insertion mode needs to use
    the rules for another insertion mode. Then the useTheRulesFor
    function needs to patch things up. This requires comparing functions
    for equality, which is going to stop working.
    
    Adding a field to the parser structure to store the current
    insertion mode eliminates the need for useTheRulesFor;
    one insertion mode function can now just call the other
    directly. The insertion mode will be changed only if it needs to be.
    
    This CL is an alternative to CL 5372078.
    
    R=nigeltao, rsc
    CC=golang-dev
    https://golang.org/cl/5372079
    631a575f
parse.go 30.8 KB