• littledan's avatar
    [intl] Add new semantics + compat fallback to Intl constructor · b0a09d78
    littledan authored
    ECMA 402 v2 made Intl constructors more strict in terms of how they would
    initialize objects, refusing to initialize objects which have already
    been constructed. However, when Chrome tried to ship these semantics,
    we ran into web compatibility issues.
    
    This patch tries to square the circle and implement the simpler v2 object
    semantics while including a compatibility workaround to allow objects to
    sort of be initialized later, storing the real underlying Intl object
    in a symbol-named property.
    
    The new semantics are described in this PR against the ECMA 402 spec:
    https://github.com/tc39/ecma402/pull/84
    
    BUG=v8:4360, v8:4870
    LOG=Y
    
    Review-Url: https://codereview.chromium.org/2582993002
    Cr-Commit-Position: refs/heads/master@{#41943}
    b0a09d78
ForOf.golden 21.9 KB