• littledan's avatar
    Base the right RegExp brand checks on Symbol.match · e99d2929
    littledan authored
    The ES2015 specification requires that String.prototype.startsWith,
    String.prototype.endsWith and String.prototype.includes use the IsRegExp
    internal algorithm to determine whether to throw a TypeError to prevent
    a RegExp from being accidentally cast to a String for those methods.
    That internal algorithm checks the presence/truthiness of Symbol.match
    to make its determination. This patch switches the builtins to use
    this correct test, rather than checking for the [[RegExpMatcher]]
    internal slot as the builtins previously did.
    
    R=yangguo
    
    Review URL: https://codereview.chromium.org/1762183002
    
    Cr-Commit-Position: refs/heads/master@{#34547}
    e99d2929
string.js 24.6 KB